diff options
1560 files changed, 35618 insertions, 16600 deletions
diff --git a/contrib/tesseract-langs.sh b/contrib/tesseract-langs.sh new file mode 100755 index 0000000000..50873c139b --- /dev/null +++ b/contrib/tesseract-langs.sh @@ -0,0 +1,92 @@ +#! /bin/sh + +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +PV='3.02' + +# Sometimes the software package has a minor version, but language +# packages have not. Example: +# software package: tesseract-ocr-3.02.02.tar.gz +# language package: tesseract-ocr-3.02.por.tar.gz +MINOR_PV=02 + +recipes_dir=$1 + +usage() { + echo "Usage: `basename $0` <recipes dir> [ <download dir> ]" +} + +if [ -z "$recipes_dir" ]; then + usage + exit 1 +fi +mkdir -p "$recipes_dir" + +file_list_uri='https://code.google.com/p/tesseract-ocr/downloads/list' +file_list=`mktemp` + +remove_dl_dir= +if [ -z "$2" ]; then + remove_dl_dir=1 + dl_dir=`mktemp -d` +else + dl_dir="$2" +fi + +mkdir -p $dl_dir + +tesseract_langs() { + wget -q -O "$file_list" "$file_list_uri" + + grep -E 'a href="detail\?name=tesseract-ocr-'${PV}'\.[^\.]+.tar.gz&can=2&q=">' "$file_list" | \ + sed -r -e 's/.*tesseract-ocr-'${PV}'\.*([^\.]+)\.tar\.gz.*/\1/' | \ + grep -Ev '('${MINOR_PV}'|'${MINOR_PV}'-doc-html)' | \ + sort -u +} + +download_lang_files() { + local langs="$1" + local uri + for lang in $langs; do + if [ ! -e "$dl_dir/tesseract-ocr-${PV}.${lang}.tar.gz" ]; then + uri="https://tesseract-ocr.googlecode.com/files/tesseract-ocr-${PV}.${lang}.tar.gz" + echo "Downloading $uri" + wget -q -P "$dl_dir" "$uri" + fi + done +} + +create_recipe() { + local lang=$1 + local tarball + + tarball="$dl_dir/tesseract-ocr-${PV}.${lang}.tar.gz" + + md5sum=`md5sum $tarball | awk '{print $1}'` + sha256sum=`sha256sum $tarball | awk '{print $1}'` + + cat > $recipes_dir/tesseract-lang-`echo ${lang} | sed s/_/-/g`_${PV}.bb <<EOF +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "$lang" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "${md5sum}" +SRC_URI[sha256sum] = "${sha256sum}" +EOF +} + + +LANGS=`tesseract_langs` + +download_lang_files "$LANGS" + +for lang in $LANGS; do + create_recipe $lang +done + +[ -n "$remove_dl_dir" ] && rm -rf $dl_dir +rm -f $file_list diff --git a/meta-efl/README b/meta-efl/README index f8b929e668..cfffc47238 100644 --- a/meta-efl/README +++ b/meta-efl/README @@ -5,6 +5,7 @@ branch: master revision: HEAD URI: git://github.com/openembedded/meta-oe.git +layers: meta-oe, meta-python branch: master revision: HEAD diff --git a/meta-efl/classes/efl.bbclass b/meta-efl/classes/efl.bbclass index d8cdd11111..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 :( @@ -21,6 +21,7 @@ do_install_prepend () { PACKAGES =+ "${PN}-themes" PACKAGES += "${PN}-tests" +PACKAGES += "${PN}-eolian" FILES_${PN} = "${libdir}/*.so.* \ ${libdir}/edje/modules/${PN}/*/module.so \ @@ -49,6 +50,10 @@ FILES_${PN}-dev += "${bindir}/${PN}-config \ ${libdir}/edje/modules/${PN}/*/module.la \ " +FILES_${PN}-eolian = " \ + ${datadir}/eolian/include \ +" + FILES_${PN}-staticdev += "${libdir}/${BPN}/*/*.a" FILES_${PN}-dbg += "${libdir}/${PN}/.debug \ diff --git a/meta-efl/conf/layer.conf b/meta-efl/conf/layer.conf index 5ed7bd676f..ed132aabba 100644 --- a/meta-efl/conf/layer.conf +++ b/meta-efl/conf/layer.conf @@ -8,6 +8,24 @@ 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" + +# RDEPENDS on update-alternatives provider opkg-utils +SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\ + exquisite-theme-illume->opkg-utils \ +" + +# RDEPENDS on e-wm +SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\ + e-wm-theme-illume-efenniht->e-wm \ + e-wm-theme-illume-neo->e-wm \ + e-wm-theme-b-and-w->e-wm \ +" diff --git a/meta-efl/recipes-devtools/python/python-efl.inc b/meta-efl/recipes-devtools/python/python-efl.inc index 0cfe2a5772..9780518898 100644 --- a/meta-efl/recipes-devtools/python/python-efl.inc +++ b/meta-efl/recipes-devtools/python/python-efl.inc @@ -31,7 +31,7 @@ do_install_append() { find ${D}${libdir}/${PYTHON_DIR}/site-packages -name \*.pyo -o -name \*.pyc | xargs rm -f } -PACKAGES += "python-ecore python-eldbus python-edje python-elementary python-emotion python-evas ${PN}-examples" +PACKAGES += "python-ecore python-eldbus python-edje python-elementary python-emotion python-evas python-ethumb ${PN}-examples" FILES_${PN} = " \ ${libdir}/${PYTHON_DIR}/site-packages/python_efl*egg-info \ @@ -47,6 +47,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 \ " FILES_python-eldbus = " \ ${libdir}/${PYTHON_DIR}/site-packages/e_dbus/ \ @@ -68,3 +69,7 @@ FILES_python-evas = " \ ${libdir}/${PYTHON_DIR}/site-packages/evas/ \ ${libdir}/${PYTHON_DIR}/site-packages/efl/evas.so \ " +FILES_python-ethumb = " \ + ${libdir}/${PYTHON_DIR}/site-packages/ethumb/ \ + ${libdir}/${PYTHON_DIR}/site-packages/efl/ethumb*so \ +" diff --git a/meta-efl/recipes-devtools/python/python-efl_1.12.0.bb b/meta-efl/recipes-devtools/python/python-efl_1.12.0.bb new file mode 100644 index 0000000000..8c7e5700bd --- /dev/null +++ b/meta-efl/recipes-devtools/python/python-efl_1.12.0.bb @@ -0,0 +1,4 @@ +require ${BPN}.inc + +SRC_URI[md5sum] = "090aa2b22447ea83a1aca9f284ce5288" +SRC_URI[sha256sum] = "bb9f30bf437b8e9ad5a4ba405795c1f8f840a37c660a6d47a2829587b32dbb67" diff --git a/meta-efl/recipes-devtools/python/python-efl_1.9.0.bb b/meta-efl/recipes-devtools/python/python-efl_1.9.0.bb deleted file mode 100644 index f34e428426..0000000000 --- a/meta-efl/recipes-devtools/python/python-efl_1.9.0.bb +++ /dev/null @@ -1,4 +0,0 @@ -require ${BPN}.inc - -SRC_URI[md5sum] = "c643d66157cac9b2892af8b6d1a803b1" -SRC_URI[sha256sum] = "f6d6fecca20df016acc79a12348ae0a0f6db82e6cceaf53c4b46d7ca72bb8f07" diff --git a/meta-efl/recipes-devtools/python/python-efl_git.bb b/meta-efl/recipes-devtools/python/python-efl_git.bb new file mode 100644 index 0000000000..83a01ac696 --- /dev/null +++ b/meta-efl/recipes-devtools/python/python-efl_git.bb @@ -0,0 +1,9 @@ +require ${BPN}.inc + +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.12" + +S = "${WORKDIR}/git" diff --git a/meta-efl/recipes-efl/e17/cpu/configure.patch b/meta-efl/recipes-efl/e17/cpu/configure.patch new file mode 100644 index 0000000000..87c85de9f8 --- /dev/null +++ b/meta-efl/recipes-efl/e17/cpu/configure.patch @@ -0,0 +1,13 @@ +Index: cpu/configure.ac +=================================================================== +--- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000 ++++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000 +@@ -10,7 +10,7 @@ + AC_CANONICAL_HOST + AC_ISC_POSIX + +-AM_INIT_AUTOMAKE(1.6) ++AM_INIT_AUTOMAKE([foreign]) + AM_CONFIG_HEADER(config.h) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + diff --git a/meta-efl/recipes-efl/e17/cpu_svn.bb b/meta-efl/recipes-efl/e17/cpu_svn.bb index c0ad6a42c6..14eb08f718 100644 --- a/meta-efl/recipes-efl/e17/cpu_svn.bb +++ b/meta-efl/recipes-efl/e17/cpu_svn.bb @@ -6,3 +6,5 @@ PV = "0.0.1+svnr${SRCREV}" PR = "${INC_PR}.0" require e-module.inc + +SRC_URI += "file://configure.patch" 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 08fe25fce6..45637f366e 100644 --- a/meta-efl/recipes-efl/e17/e-wm.inc +++ b/meta-efl/recipes-efl/e17/e-wm.inc @@ -1,15 +1,17 @@ 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)} \ ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam" +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" + EXTRA_OECONF = "\ --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \ @@ -21,6 +23,7 @@ EXTRA_OECONF = "\ do_configure_prepend() { autopoint || true + sed '/^ *EFL_PKG_CHECK_VAR/ s/systemduserunitdir/systemdsystemunitdir/g' -i ${S}/configure.ac } do_install_append() { @@ -70,6 +73,7 @@ PACKAGES =+ "\ ${PN}-config-netbook \ ${PN}-config-scaleable \ ${PN}-config-standard \ + ${PN}-config-tiling \ ${PN}-theme-default \ ${PN}-background-dark-gradient \ ${PN}-background-light-gradient \ @@ -96,6 +100,8 @@ RRECOMMENDS_${PN} = "\ ${PN}-other \ ${PN}-input-methods \ ${ESYSACTIONS} \ + efreet \ + evas-generic-loader-svg \ " FILES_${PN} = "\ @@ -124,6 +130,7 @@ FILES_${PN}-config-minimalist = "${datadir}/enlightenment/data/config/minimalist FILES_${PN}-config-netbook = "${datadir}/enlightenment/data/config/netbook" FILES_${PN}-config-scaleable = "${datadir}/enlightenment/data/config/scaleable" FILES_${PN}-config-standard = "${datadir}/enlightenment/data/config/standard" +FILES_${PN}-config-tiling = "${datadir}/enlightenment/data/config/tiling" FILES_${PN}-theme-default = "${datadir}/enlightenment/data/themes/default.edj" FILES_${PN}-theme-default = "${datadir}/enlightenment/data/themes/default.edj" FILES_${PN}-background-dark-gradient = "${datadir}/enlightenment/data/backgrounds/Dark_Gradient.edj" diff --git a/meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch b/meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch new file mode 100644 index 0000000000..e718ef3db3 --- /dev/null +++ b/meta-efl/recipes-efl/e17/e-wm/0001-Fix-incorrect-message-type.patch @@ -0,0 +1,28 @@ +From 0aef43c9cd1656413cf2eb3dc7c19b355ee7ed52 Mon Sep 17 00:00:00 2001 +From: Carlos Rafael Giani <dv@pseudoterminal.org> +Date: Sun, 1 Jun 2014 14:45:49 +0200 +Subject: [PATCH] Fix incorrect message type + +Upstream-Status: Pending + +Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> +--- + src/bin/e_desk.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c +index b156e19..77d7520 100644 +--- a/src/bin/e_desk.c ++++ b/src/bin/e_desk.c +@@ -221,7 +221,7 @@ e_desk_show(E_Desk *desk) + E_Event_Desk_Show *ev; + E_Event_Desk_Before_Show *eev; + E_Event_Desk_After_Show *eeev; +- Edje_Message_Float_Set *msg; ++ Edje_Message_Int_Set *msg; + Eina_List *l; + E_Shelf *es; + int was_zone = 0, x, y, dx = 0, dy = 0; +-- +1.8.3.2 + diff --git a/meta-efl/recipes-efl/e17/e-wm_0.18.7.bb b/meta-efl/recipes-efl/e17/e-wm_0.18.7.bb deleted file mode 100644 index 0e3972702e..0000000000 --- a/meta-efl/recipes-efl/e17/e-wm_0.18.7.bb +++ /dev/null @@ -1,20 +0,0 @@ -require ${BPN}.inc - -SRCNAME = "enlightenment" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -SRC_URI = "\ - ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ - file://enlightenment_start.oe \ - file://applications.menu \ -" - -SRC_URI[md5sum] = "499b92ef38347881c72729f1e066eb20" -SRC_URI[sha256sum] = "1b05a1d986643a6603b1c20ac87b6864325d0aea22a3d1d096f4063b4fba2f4d" - -do_configure_prepend() { - sed '/^ *EFL_PKG_CHECK_VAR/ s/systemduserunitdir/systemdsystemunitdir/g' -i ${S}/configure.ac -} - -PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" diff --git a/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb b/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb new file mode 100644 index 0000000000..6b4c9fc542 --- /dev/null +++ b/meta-efl/recipes-efl/e17/e-wm_0.18.8.bb @@ -0,0 +1,15 @@ +require ${BPN}.inc + +SRCNAME = "enlightenment" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +SRC_URI = "\ + ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ + file://enlightenment_start.oe \ + file://applications.menu \ + file://0001-Fix-incorrect-message-type.patch \ +" + +SRC_URI[md5sum] = "79c9f524e1d0510061c62c4b038a8ece" +SRC_URI[sha256sum] = "14c9bde4334d2f8b0776c6113d02b923ab159eea1cbf7013489e4f3bf37a51bb" 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 new file mode 100644 index 0000000000..18738781bd --- /dev/null +++ b/meta-efl/recipes-efl/e17/e-wm_git.bb @@ -0,0 +1,13 @@ +require ${BPN}.inc + +PV = "0.19.2+git${SRCPV}" +DEFAULT_PREFERENCE = "-2" + +SRC_URI = " \ + git://git.enlightenment.org/core/enlightenment.git;branch=enlightenment-0.19 \ + file://enlightenment_start.oe \ + file://applications.menu \ +" +S = "${WORKDIR}/git" + +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/elmdentica/configure.patch b/meta-efl/recipes-efl/e17/elmdentica/configure.patch new file mode 100644 index 0000000000..79a981b471 --- /dev/null +++ b/meta-efl/recipes-efl/e17/elmdentica/configure.patch @@ -0,0 +1,13 @@ +Index: elmdentica/configure.ac +=================================================================== +--- elmdentica.orig/configure.ac 2014-07-17 21:46:14.712566207 +0000 ++++ elmdentica/configure.ac 2014-07-17 21:51:34.960574935 +0000 +@@ -3,7 +3,7 @@ + AM_CONFIG_HEADER(config.h) + AC_CONFIG_MACRO_DIR([m4]) + +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([foreign]) + + AC_PROG_CC + AC_GNU_SOURCE diff --git a/meta-efl/recipes-efl/e17/elmdentica_svn.bb b/meta-efl/recipes-efl/e17/elmdentica_svn.bb index e7b61a528c..20a4849ba5 100644 --- a/meta-efl/recipes-efl/e17/elmdentica_svn.bb +++ b/meta-efl/recipes-efl/e17/elmdentica_svn.bb @@ -17,3 +17,5 @@ PV = "0.9.9+svnr${SRCPV}" SRCREV = "${EFL_SRCREV}" RDEPENDS_${PN} = "${PN}-themes" + +SRC_URI += "file://configure.patch" diff --git a/meta-efl/recipes-efl/e17/enjoy/configure.patch b/meta-efl/recipes-efl/e17/enjoy/configure.patch new file mode 100644 index 0000000000..6e0ed74610 --- /dev/null +++ b/meta-efl/recipes-efl/e17/enjoy/configure.patch @@ -0,0 +1,13 @@ +Index: git/configure.ac +=================================================================== +--- git.orig/configure.ac 2014-07-17 21:48:51.284570474 +0000 ++++ git/configure.ac 2014-07-17 21:53:39.104578318 +0000 +@@ -26,7 +26,7 @@ + AC_CANONICAL_HOST + AC_ISC_POSIX + +-AM_INIT_AUTOMAKE(1.6 dist-bzip2) ++AM_INIT_AUTOMAKE([dist-bzip2 foreign]) + AC_CONFIG_HEADERS(config.h) + _XTERM_COLORS + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) diff --git a/meta-efl/recipes-efl/e17/enjoy_git.bb b/meta-efl/recipes-efl/e17/enjoy_git.bb index bc3168e6a3..297cbd5236 100644 --- a/meta-efl/recipes-efl/e17/enjoy_git.bb +++ b/meta-efl/recipes-efl/e17/enjoy_git.bb @@ -22,6 +22,7 @@ inherit e gettext SRC_URI = " \ git://git.enlightenment.org/apps/enjoy.git \ file://0001-always-use-position-as-percent-and-define-a-1-second.patch \ + file://configure.patch \ " S = "${WORKDIR}/git" diff --git a/meta-efl/recipes-efl/e17/ephoto/configure.patch b/meta-efl/recipes-efl/e17/ephoto/configure.patch new file mode 100644 index 0000000000..59466f8af8 --- /dev/null +++ b/meta-efl/recipes-efl/e17/ephoto/configure.patch @@ -0,0 +1,13 @@ +Index: ephoto/configure.ac +=================================================================== +--- ephoto.orig/configure.ac 2014-07-17 21:48:51.028570467 +0000 ++++ ephoto/configure.ac 2014-07-17 21:52:56.120577146 +0000 +@@ -27,7 +27,7 @@ + AC_CANONICAL_HOST + AC_ISC_POSIX + +-AM_INIT_AUTOMAKE(1.6 dist-bzip2) ++AM_INIT_AUTOMAKE([dist-bzip2 foreign]) + AM_CONFIG_HEADER(src/bin/config.h) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + diff --git a/meta-efl/recipes-efl/e17/ephoto_svn.bb b/meta-efl/recipes-efl/e17/ephoto_svn.bb index cea6f39f8e..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" @@ -15,3 +15,5 @@ SRCNAME = "${PN}" # autotools-brokensep B = "${S}" + +SRC_URI += "file://configure.patch" 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/exalt-client/configure.patch b/meta-efl/recipes-efl/e17/exalt-client/configure.patch new file mode 100644 index 0000000000..d4ff801ce2 --- /dev/null +++ b/meta-efl/recipes-efl/e17/exalt-client/configure.patch @@ -0,0 +1,28 @@ +Index: exalt-client/configure.ac +=================================================================== +--- exalt-client.orig/configure.ac 2014-07-17 21:46:14.712566207 +0000 ++++ exalt-client/configure.ac 2014-07-17 21:47:56.880568991 +0000 +@@ -10,7 +10,7 @@ + AC_CANONICAL_HOST + AC_ISC_POSIX + +-AM_INIT_AUTOMAKE(1.8) ++AM_INIT_AUTOMAKE([foreign]) + AM_CONFIG_HEADER(config.h) + + AC_PROG_CC +@@ -29,7 +29,6 @@ + + m4_ifdef([AM_GNU_GETTEXT], [ + AM_GNU_GETTEXT([external]) +-po_makefile_in=po/Makefile.in + AM_CONDITIONAL([HAVE_PO], [true]) + ],[ + AM_CONDITIONAL([HAVE_PO], [false]) +@@ -101,6 +100,5 @@ + src/Makefile + module.desktop + e_modules-exalt-client.spec +-$po_makefile_in + ], [ + ]) diff --git a/meta-efl/recipes-efl/e17/exalt-client_svn.bb b/meta-efl/recipes-efl/e17/exalt-client_svn.bb index 2c7e5304b6..f70860154f 100644 --- a/meta-efl/recipes-efl/e17/exalt-client_svn.bb +++ b/meta-efl/recipes-efl/e17/exalt-client_svn.bb @@ -22,4 +22,4 @@ FILES_${PN}-staticdev += "${libdir}/enlightenment/modules/*/*/*.a" FILES_${PN}-dev += "${libdir}/enlightenment/modules/*/*/*.la" FILES_${PN}-dbg += "${libdir}/enlightenment/modules/*/*/.debug" - +SRC_URI += "file://configure.patch"
\ No newline at end of file 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/flame/configure.patch b/meta-efl/recipes-efl/e17/flame/configure.patch new file mode 100644 index 0000000000..87c85de9f8 --- /dev/null +++ b/meta-efl/recipes-efl/e17/flame/configure.patch @@ -0,0 +1,13 @@ +Index: cpu/configure.ac +=================================================================== +--- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000 ++++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000 +@@ -10,7 +10,7 @@ + AC_CANONICAL_HOST + AC_ISC_POSIX + +-AM_INIT_AUTOMAKE(1.6) ++AM_INIT_AUTOMAKE([foreign]) + AM_CONFIG_HEADER(config.h) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + diff --git a/meta-efl/recipes-efl/e17/flame_svn.bb b/meta-efl/recipes-efl/e17/flame_svn.bb index b674a5d13c..58c79a8409 100644 --- a/meta-efl/recipes-efl/e17/flame_svn.bb +++ b/meta-efl/recipes-efl/e17/flame_svn.bb @@ -11,3 +11,5 @@ do_configure_prepend() { sed -i -e /po/d ${S}/configure.ac sed -i -e s:\ po::g ${S}/Makefile.am } + +SRC_URI += "file://configure.patch" diff --git a/meta-efl/recipes-efl/e17/forecasts/configure.patch b/meta-efl/recipes-efl/e17/forecasts/configure.patch new file mode 100644 index 0000000000..87c85de9f8 --- /dev/null +++ b/meta-efl/recipes-efl/e17/forecasts/configure.patch @@ -0,0 +1,13 @@ +Index: cpu/configure.ac +=================================================================== +--- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000 ++++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000 +@@ -10,7 +10,7 @@ + AC_CANONICAL_HOST + AC_ISC_POSIX + +-AM_INIT_AUTOMAKE(1.6) ++AM_INIT_AUTOMAKE([foreign]) + AM_CONFIG_HEADER(config.h) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + diff --git a/meta-efl/recipes-efl/e17/forecasts_svn.bb b/meta-efl/recipes-efl/e17/forecasts_svn.bb index a030952239..473bdb9d48 100644 --- a/meta-efl/recipes-efl/e17/forecasts_svn.bb +++ b/meta-efl/recipes-efl/e17/forecasts_svn.bb @@ -7,6 +7,4 @@ PR = "${INC_PR}.0" require e-module.inc - - - +SRC_URI += "file://configure.patch" 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/places/configure.patch b/meta-efl/recipes-efl/e17/places/configure.patch new file mode 100644 index 0000000000..f8f48345c9 --- /dev/null +++ b/meta-efl/recipes-efl/e17/places/configure.patch @@ -0,0 +1,13 @@ +Index: places/configure.ac +=================================================================== +--- places.orig/configure.ac 2014-07-17 21:51:01.276574017 +0000 ++++ places/configure.ac 2014-07-17 21:52:07.096575810 +0000 +@@ -10,7 +10,7 @@ + AC_CANONICAL_HOST + AC_ISC_POSIX + +-AM_INIT_AUTOMAKE(1.8) ++AM_INIT_AUTOMAKE([foreign]) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + AM_CONFIG_HEADER(config.h) + diff --git a/meta-efl/recipes-efl/e17/places_svn.bb b/meta-efl/recipes-efl/e17/places_svn.bb index 6a6184be72..54f0e0154e 100644 --- a/meta-efl/recipes-efl/e17/places_svn.bb +++ b/meta-efl/recipes-efl/e17/places_svn.bb @@ -12,3 +12,5 @@ do_configure_prepend() { # Calls /usr/bin/eject for media RRECOMMENDS_${PN} += "eject" + +SRC_URI += "file://configure.patch" diff --git a/meta-efl/recipes-efl/e17/rain/configure.patch b/meta-efl/recipes-efl/e17/rain/configure.patch new file mode 100644 index 0000000000..87c85de9f8 --- /dev/null +++ b/meta-efl/recipes-efl/e17/rain/configure.patch @@ -0,0 +1,13 @@ +Index: cpu/configure.ac +=================================================================== +--- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000 ++++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000 +@@ -10,7 +10,7 @@ + AC_CANONICAL_HOST + AC_ISC_POSIX + +-AM_INIT_AUTOMAKE(1.6) ++AM_INIT_AUTOMAKE([foreign]) + AM_CONFIG_HEADER(config.h) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + diff --git a/meta-efl/recipes-efl/e17/rain_svn.bb b/meta-efl/recipes-efl/e17/rain_svn.bb index 0e990d52d4..cf67a4cd5d 100644 --- a/meta-efl/recipes-efl/e17/rain_svn.bb +++ b/meta-efl/recipes-efl/e17/rain_svn.bb @@ -12,3 +12,5 @@ do_configure_prepend() { sed -i -e /po/d ${S}/configure.ac sed -i -e s:\ po::g ${S}/Makefile.am } + +SRC_URI += "file://configure.patch" diff --git a/meta-efl/recipes-efl/e17/terminology.inc b/meta-efl/recipes-efl/e17/terminology.inc index 89c9ee5ff7..bec2c0a547 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=03f6c2cf2bef233fadf7d0769f5bfda7" +LICENSE = "MIT & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=9a8682b561bdfa219d59483a679ed80a" DEPENDS = "evas ecore edje elementary eina eet emotion" inherit e gettext diff --git a/meta-efl/recipes-efl/e17/terminology_0.4.0.bb b/meta-efl/recipes-efl/e17/terminology_0.4.0.bb deleted file mode 100644 index 83ceee84d5..0000000000 --- a/meta-efl/recipes-efl/e17/terminology_0.4.0.bb +++ /dev/null @@ -1,8 +0,0 @@ -require ${BPN}.inc - -SRC_URI = "\ - ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ -" - -SRC_URI[md5sum] = "5a2eee4849d4fa44db4caf743b3beb37" -SRC_URI[sha256sum] = "63f2d1fa584ecda6c4ef61b05b8956415feb955c4bb13c0872c11d98024dcfc6" diff --git a/meta-efl/recipes-efl/e17/terminology_0.7.0.bb b/meta-efl/recipes-efl/e17/terminology_0.7.0.bb new file mode 100644 index 0000000000..0744b09a67 --- /dev/null +++ b/meta-efl/recipes-efl/e17/terminology_0.7.0.bb @@ -0,0 +1,8 @@ +require ${BPN}.inc + +SRC_URI = "\ + ${E_RELEASES}/apps/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ +" + +SRC_URI[md5sum] = "e68d889f343886e11a8e4f4337486452" +SRC_URI[sha256sum] = "453f49911b090fffc1e5fe695022bd1c51325dde83b8cd3cca22899c604344f4" diff --git a/meta-efl/recipes-efl/e17/terminology_svn.bb b/meta-efl/recipes-efl/e17/terminology_svn.bb deleted file mode 100644 index 2518dbac92..0000000000 --- a/meta-efl/recipes-efl/e17/terminology_svn.bb +++ /dev/null @@ -1,9 +0,0 @@ -require ${BPN}.inc - -DEFAULT_PREFERENCE = "-1" -PV = "0.2.0+svnr${SRCPV}" -PR = "${INC_PR}.0" -SRCREV = "${EFL_SRCREV}" - -SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep" -S = "${WORKDIR}/${SRCNAME}" diff --git a/meta-efl/recipes-efl/e17/uptime/configure.patch b/meta-efl/recipes-efl/e17/uptime/configure.patch new file mode 100644 index 0000000000..87c85de9f8 --- /dev/null +++ b/meta-efl/recipes-efl/e17/uptime/configure.patch @@ -0,0 +1,13 @@ +Index: cpu/configure.ac +=================================================================== +--- cpu.orig/configure.ac 2014-07-17 20:39:48.000000000 +0000 ++++ cpu/configure.ac 2014-07-17 21:39:55.320555868 +0000 +@@ -10,7 +10,7 @@ + AC_CANONICAL_HOST + AC_ISC_POSIX + +-AM_INIT_AUTOMAKE(1.6) ++AM_INIT_AUTOMAKE([foreign]) + AM_CONFIG_HEADER(config.h) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + diff --git a/meta-efl/recipes-efl/e17/uptime_svn.bb b/meta-efl/recipes-efl/e17/uptime_svn.bb index a296a5ec75..5c9bfa9eab 100644 --- a/meta-efl/recipes-efl/e17/uptime_svn.bb +++ b/meta-efl/recipes-efl/e17/uptime_svn.bb @@ -7,6 +7,4 @@ PR = "${INC_PR}.0" require e-module.inc - - - +SRC_URI += "file://configure.patch" 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 929fc20f0c..d870fdbd49 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 @@ -19,14 +19,20 @@ PROVIDES += "ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldb # your own in terms of ensuring everything works if you do this EXTRA_OECONF = " \ --disable-physics \ - --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aaa \ + --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba \ " EXTRA_OECONF_append_class-target = " \ - --with-bin-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \ + --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 \ @@ -40,34 +46,36 @@ 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 lua-old" -PACKAGECONFIG_class-native = "lua-old" +PACKAGECONFIG ?= "opengl-es gstreamer1 pulseaudio luajit" +PACKAGECONFIG_class-native = "luajit" # sort of tri-state PACKAGECONFIG[opengl-full] = "--with-opengl=full,,virtual/libgl" PACKAGECONFIG[opengl-es] = "--with-opengl=es,,virtual/libgles2" PACKAGECONFIG[opengl-none] = "--with-opengl=none,," +# be aware when enabling this for efl-native, we don't provide gcc-native so you need to make +# sure that all your builders have g++ which supports -std=gnu++11 +PACKAGECONFIG[c++11] = "--enable-cxx-bindings,--disable-cxx-bindings" PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer" PACKAGECONFIG[gstreamer1] = "--enable-gstreamer1,--disable-gstreamer1,gstreamer1.0 gstreamer1.0-plugins-base" PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio" PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd" -# we don't have luajit-native now, so use old lua for -native and -# for target it's also currently failing with luajit -# | /OE/build/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/core2-64-oe-linux/gcc/x86_64-oe-linux/4.8.2/ld: /OE/build/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libluajit-5.1.a(lj_err.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC -# | /OE/build/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libluajit-5.1.a: error adding symbols: Bad value -# | collect2: error: ld returned 1 exit status -# | Makefile:12007: recipe for target 'lib/edje/libedje.la' failed PACKAGECONFIG[luajit] = "--disable-lua-old,--enable-lua-old,luajit" -PACKAGECONFIG[lua-old] = "--enable-lua-old,--disable-lua-old,lua5.1" +PACKAGECONFIG[lua-old] = "--enable-lua-old,--disable-lua-old,lua" +PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" +# currently we don't provide doxygen-native +PACKAGECONFIG[doc] = "--enable-doc,--disable-doc,doxygen-native" # new efl doesn't have option to disable eeze build and we don't want to provide udev-native just to build eeze-native we don't need do_configure_prepend_class-native() { sed -i 's/EFL_LIB_START_OPTIONAL(\[Eeze\], \[test "${have_linux}" = "yes"\])/EFL_LIB_START_OPTIONAL([Eeze], [test "${no-we-really-dont-want-native-eeze}" = "yes"])/g' ${S}/configure.ac } -PACKAGES =+ "edje-utils embryo-utils embryo-tests efreet-trash efreet-mime libeet libefreet ecore-audio ecore-input-evas ecore-input ecore-imf-evas ecore-imf ecore-file ecore-con ecore-ipc ecore-x ecore-evas libemotion eo ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldbus" +PACKAGES =+ "edje-utils embryo-utils embryo-tests efreet-trash efreet-mime libeet libefreet ecore-audio ecore-input-evas ecore-input ecore-imf-evas ecore-imf ecore-file ecore-con ecore-ipc ecore-x ecore-evas libemotion eo ecore edje eet eeze efreet eina eio embryo emotion ethumb evas eldbus elua" # upgrade path from 1.7 DEBIAN_NOAUTONAME_ecore-audio = "1" @@ -105,6 +113,7 @@ python populate_packages_prepend () { allow_dirs=True, recursive=False, extra_depends="" ) } +PACKAGES += "evas-loader-png evas-engine-software-generic evas-engine-fb" PACKAGES_DYNAMIC += "^evas-engine-.* ^evas-loader-.* ^evas-saver-.* ^evas-cserve2-.*" # PACKAGES_DYNAMIC + do_split_packages isn't used for all libe libs, @@ -153,6 +162,7 @@ FILES_ecore-ipc = "\ " FILES_ecore-x = "\ ${libdir}/libecore_x${SOLIBS} \ + ${libdir}/ecore_x/bin/v-*/ecore_x_vsync \ " FILES_ecore-evas = "\ ${libdir}/libecore_evas${SOLIBS} \ @@ -186,6 +196,7 @@ FILES_efreet = " \ " FILES_eet = " \ ${bindir}/eet \ + ${bindir}/vieet \ ${libdir}/libeet${SOLIBS} \ " FILES_emotion = " \ @@ -240,9 +251,14 @@ FILES_edje = " \ ${datadir}/edje \ ${datadir}/mime \ " +FILES_elua = " \ + ${bindir}/elua \ + ${datadir}/elua \ +" FILES_${PN}-dbg += " \ ${libdir}/efreet/*/.debug \ ${libdir}/ecore*/*/*/*/.debug \ + ${libdir}/ecore*/*/*/.debug \ ${libdir}/evas*/*/*/*/*/.debug \ ${libdir}/evas/cserve2/bin/*/.debug \ ${libdir}/eeze*/*/*/*/*/.debug \ 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..f34b9576f1 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 a7ee62a2e90a346bf9aaf9260c918d87e21cfba6 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 779763a..57d3601 100644 --- a/configure.ac +++ b/configure.ac -@@ -2769,7 +2769,6 @@ if test "x${want_x11_xlib}" = "xyes" ; then +@@ -3445,7 +3445,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.1.3 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..9847c07ff2 --- /dev/null +++ b/meta-efl/recipes-efl/efl/efl/0002-evas_3d-Add-Eet.h-includes.patch @@ -0,0 +1,51 @@ +From 9db1f2f9dfe785e3a42445b766e7f4736821264a 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/lib/evas/canvas/evas_3d_mesh_loader_eet.c | 1 + + src/lib/evas/canvas/evas_3d_mesh_saver_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/lib/evas/canvas/evas_3d_mesh_loader_eet.c b/src/lib/evas/canvas/evas_3d_mesh_loader_eet.c +index 26c3569..a93efca 100644 +--- a/src/lib/evas/canvas/evas_3d_mesh_loader_eet.c ++++ b/src/lib/evas/canvas/evas_3d_mesh_loader_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/lib/evas/canvas/evas_3d_mesh_saver_eet.c b/src/lib/evas/canvas/evas_3d_mesh_saver_eet.c +index c801ac1..0a4d269 100644 +--- a/src/lib/evas/canvas/evas_3d_mesh_saver_eet.c ++++ b/src/lib/evas/canvas/evas_3d_mesh_saver_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.1.3 + diff --git a/meta-efl/recipes-efl/efl/efl_1.12.2.bb b/meta-efl/recipes-efl/efl/efl_1.12.2.bb new file mode 100644 index 0000000000..0d5b09022f --- /dev/null +++ b/meta-efl/recipes-efl/efl/efl_1.12.2.bb @@ -0,0 +1,25 @@ +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 \ +" + +SRC_URI[md5sum] = "27b8578e5797ee2c484d886fb49704f2" +SRC_URI[sha256sum] = "dc4a3fe448e0a8019030fe7c045de30d9ac1e92033620fbfbefb761c3ba9ddce" + +# 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 +# collect2: error: ld returned 1 exit status +# x86_64-linux-libtool: install: error: relink `modules/evas/savers/tiff/module.la' with the above command before installing it +# Makefile:11031: recipe for target 'install-savertiffpkgLTLIBRARIES' failed +PARALLEL_MAKE_class-native = "" + +#EFL_RUN_IN_TREE=1 ../src/bin/eolian/eolian_gen --eo --legacy -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/eo -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/evas/canvas -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/edje -I/OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/ecore_audio --gc -o lib/evas/canvas/evas_line.eo.c /OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/lib/evas/canvas/evas_line.eo +#ERR<32439>:eolian_gen /OE/build/shr-core/tmp-eglibc/work/x86_64-linux/efl-native/2_1.10.0-r0/efl-1.10.0/src/bin/eolian/main.c:103 _generate_c_file() Couldnt open file lib/evas/canvas/evas_line.eo.c for writing +#Makefile:30738: recipe for target 'lib/evas/canvas/evas_line.eo.c' failed +#make[2]: *** [lib/evas/canvas/evas_line.eo.c] Error 1 +#Makefile:2163: recipe for target 'all-recursive' failed +# autotools-brokensep +B = "${S}" diff --git a/meta-efl/recipes-efl/efl/efl_1.9.3.bb b/meta-efl/recipes-efl/efl/efl_1.9.3.bb deleted file mode 100644 index 61e6a9e50e..0000000000 --- a/meta-efl/recipes-efl/efl/efl_1.9.3.bb +++ /dev/null @@ -1,17 +0,0 @@ -require ${BPN}.inc - -SRC_URI = "\ - ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ -" - -SRC_URI[md5sum] = "102acebaf453346d745b0974f736a5e6" -SRC_URI[sha256sum] = "46da18ce5ec6ded559dbf461ff58113f82937efb6e26a098a82b2f360e8faf88" - -# 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 -# collect2: error: ld returned 1 exit status -# x86_64-linux-libtool: install: error: relink `modules/evas/savers/tiff/module.la' with the above command before installing it -# Makefile:11031: recipe for target 'install-savertiffpkgLTLIBRARIES' failed -PARALLEL_MAKE_class-native = "" - -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 dd18abe2f2..f0a92dfe9a 100644 --- a/meta-efl/recipes-efl/efl/elementary.inc +++ b/meta-efl/recipes-efl/efl/elementary.inc @@ -11,12 +11,22 @@ EXTRA_OECONF_append_class-target = "\ --with-eet-eet=${STAGING_BINDIR_NATIVE}/eet \ --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" PACKAGECONFIG[eweather] = "--enable-eweather,--disable-eweather,libeweather" PACKAGECONFIG[ewebkit] = "--with-elementary-web-backend=ewebkit,--with-elementary-web-backend=none,webkit-efl" +# be aware when enabling this for efl-native, we don't provide gcc-native so you need to make +# sure that all your builders have g++ which supports -std=gnu++11 +PACKAGECONFIG[c++11] = "--enable-cxx-bindings,--disable-cxx-bindings" + +do_configure_prepend() { + # 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() { sed -i -e s:${STAGING_DIR_TARGET}::g \ diff --git a/meta-efl/recipes-efl/efl/elementary_1.9.3.bb b/meta-efl/recipes-efl/efl/elementary_1.12.2.bb index 4f24bafc8c..9e6f2eab11 100644 --- a/meta-efl/recipes-efl/efl/elementary_1.9.3.bb +++ b/meta-efl/recipes-efl/efl/elementary_1.12.2.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] = "cc75bb1c7c4c49de120ec33e413130ce" -SRC_URI[sha256sum] = "49f896066b72ba51eefd8e92f0b7e7b8e190b0dd26323b12cbd4f26216f578fb" +SRC_URI[md5sum] = "b01329104e8eb61be1581e24a1951eaf" +SRC_URI[sha256sum] = "b1b84dd061b6e93f38bbba4c91ea4c9b5de5d190828b5c00fb051a6e61834b62" # 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.12.0.bb b/meta-efl/recipes-efl/efl/emotion-generic-players_1.12.0.bb new file mode 100644 index 0000000000..1e1bb8f969 --- /dev/null +++ b/meta-efl/recipes-efl/efl/emotion-generic-players_1.12.0.bb @@ -0,0 +1,8 @@ +require ${BPN}.inc + +SRC_URI = "\ + ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ +" + +SRC_URI[md5sum] = "fb67cd4e0c6f13da9cdd864763217a59" +SRC_URI[sha256sum] = "2f2b3c60b113bb637c6b40b575ceffe4055aa424f4585c64ddef6638dbc2a0da" diff --git a/meta-efl/recipes-efl/efl/emotion-generic-players_1.9.0.bb b/meta-efl/recipes-efl/efl/emotion-generic-players_1.9.0.bb deleted file mode 100644 index 0337751975..0000000000 --- a/meta-efl/recipes-efl/efl/emotion-generic-players_1.9.0.bb +++ /dev/null @@ -1,8 +0,0 @@ -require ${BPN}.inc - -SRC_URI = "\ - ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ -" - -SRC_URI[md5sum] = "dc897ba540560fce0787bbff8455c022" -SRC_URI[sha256sum] = "d26546adf61db7521f9d46f2baedcb645af72497fc259e93907026970d42d794" diff --git a/meta-efl/recipes-efl/efl/engrave_svn.bb b/meta-efl/recipes-efl/efl/engrave_svn.bb index 3e35c9caf0..20da907714 100644 --- a/meta-efl/recipes-efl/efl/engrave_svn.bb +++ b/meta-efl/recipes-efl/efl/engrave_svn.bb @@ -2,10 +2,10 @@ SUMMARY = "Engrave is an Edje Editing Library" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=edf2d968b9eb026bfa82cccbd0e6f9f5" # also requires yacc and lex on host -DEPENDS = "evas ecore" +DEPENDS = "evas ecore flex" PV = "0.0.0+svnr${SRCPV}" SRCREV = "${EFL_SRCREV}" -inherit efl +inherit efl autotools-brokensep SRC_URI = "${E_SVN}/OLD;module=${SRCNAME};protocol=http;scmdata=keep" S = "${WORKDIR}/${SRCNAME}" 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.inc b/meta-efl/recipes-efl/efl/evas-generic-loaders.inc index e64fa88741..5cd9ec1882 100644 --- a/meta-efl/recipes-efl/efl/evas-generic-loaders.inc +++ b/meta-efl/recipes-efl/efl/evas-generic-loaders.inc @@ -1,6 +1,6 @@ DESCRIPTION = "Evas generic loaders" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=f3877fbaaa46306051a559814451883c" +LIC_FILES_CHKSUM = "file://COPYING;md5=a87563ed30add2b0e3460272d3138a00" DEPENDS = "eina poppler librsvg cairo" inherit efl @@ -67,4 +67,5 @@ FILES_evas-generic-pdf-loader-libreoffice += " \ FILES_${PN}-dbg += "${libdir}/evas/utils/.debug" +PACKAGES += "evas-generic-loader-svg" PACKAGES_DYNAMIC += "^evas-generic-loader-.* ^evas-generic-pdf-loader-.*" diff --git a/meta-efl/recipes-efl/efl/evas-generic-loaders_1.12.0.bb b/meta-efl/recipes-efl/efl/evas-generic-loaders_1.12.0.bb new file mode 100644 index 0000000000..c172895b5a --- /dev/null +++ b/meta-efl/recipes-efl/efl/evas-generic-loaders_1.12.0.bb @@ -0,0 +1,8 @@ +require ${BPN}.inc + +SRC_URI = "\ + ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ +" + +SRC_URI[md5sum] = "d60282b9cfad5336e75264767be07179" +SRC_URI[sha256sum] = "c531c82845b656cb8ea8e2db1e413509d9b4558450be6c5ee27da0cdc781376e" diff --git a/meta-efl/recipes-efl/efl/evas-generic-loaders_1.9.0.bb b/meta-efl/recipes-efl/efl/evas-generic-loaders_1.9.0.bb deleted file mode 100644 index 38d0518c10..0000000000 --- a/meta-efl/recipes-efl/efl/evas-generic-loaders_1.9.0.bb +++ /dev/null @@ -1,8 +0,0 @@ -require ${BPN}.inc - -SRC_URI = "\ - ${E_RELEASES}/libs/${SRCNAME}/${SRCNAME}-${SRCVER}.tar.gz \ -" - -SRC_URI[md5sum] = "bec6d27fc4afd2f5e4829da5aeccdc0b" -SRC_URI[sha256sum] = "9447839047b087b0293b2ed6c453249919f66e5c4f62e252a7b7e4f996c2ac5f" diff --git a/meta-efl/recipes-efl/efl/expedite.inc b/meta-efl/recipes-efl/efl/expedite.inc index 6a83be1212..60e85974cb 100644 --- a/meta-efl/recipes-efl/efl/expedite.inc +++ b/meta-efl/recipes-efl/efl/expedite.inc @@ -1,30 +1,24 @@ DESCRIPTION = "Expedite is a comprehensive benchmarking suite for Evas" -DEPENDS = "eet evas" -LICENSE = "MIT BSD" +DEPENDS = "eet evas libsdl" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=d70bc65d46237e4ef386beebe7d0fe5b" INC_PR = "r0" inherit e -PACKAGECONFIG ??= "" -PACKAGECONFIG[sdl] = "--enable-opengl-sdl,--disable-opengl-sdl,libsdl" - EXTRA_OECONF = "\ --x-includes=${STAGING_INCDIR}/X11 \ --x-libraries=${STAGING_LIBDIR} \ --enable-simple-x11 \ \ - --disable-opengl-glew \ --enable-software-x11 \ --enable-xrender-x11 \ --enable-software-16-x11 \ --enable-opengl-x11 \ --enable-fb \ --disable-software-ddraw \ - --disable-software-16-ddraw \ --disable-direct3d \ - --disable-software-sdl \ " FILES_${PN} += "${datadir}" diff --git a/meta-efl/recipes-efl/efl/imlib2_svn.bb b/meta-efl/recipes-efl/efl/imlib2_git.bb index 8bd803215a..355b3341f6 100644 --- a/meta-efl/recipes-efl/efl/imlib2_svn.bb +++ b/meta-efl/recipes-efl/efl/imlib2_git.bb @@ -1,15 +1,18 @@ SUMMARY = "A graphic library for file loading, saving, rendering, and manipulation" -LICENSE = "MIT BSD" +LICENSE = "MIT & BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35" -# can also depend on tiff34, ungif or gif, z, bz2, id3tag + DEPENDS = "freetype libpng jpeg virtual/libx11 libxext" PROVIDES = "virtual/imlib2" -PV = "1.4.5+svnr${SRCPV}" -SRCREV = "${EFL_SRCREV}" +PV = "1.4.6+gitr${SRCPV}" +SRCREV = "560a58e61778d84953944f744a025af6ce986334" inherit efl binconfig -SRC_URI = "${E_SVN}/trunk;module=${SRCNAME};protocol=http;scmdata=keep" -S = "${WORKDIR}/${SRCNAME}" +SRC_URI = "git://git.enlightenment.org/legacy/${BPN}.git" +S = "${WORKDIR}/git" + +# autotools-brokensep +B = "${S}" PACKAGECONFIG ??= "" PACKAGECONFIG[gif] = "--with-gif,--without-gif,giflib" diff --git a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb index 4e5ce789f2..5ead412ef7 100644 --- a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb +++ b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.bb @@ -11,9 +11,6 @@ require packagegroup-efl-sdk.inc PACKAGES = "${PN}" -RPROVIDES_${PN} += "task-efl-sdk" -RREPLACES_${PN} += "task-efl-sdk" -RCONFLICTS_${PN} += "task-efl-sdk" RDEPENDS_${PN} = "\ packagegroup-core-sdk \ ${SDK-EFL} \ diff --git a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc index 64c034cb06..f2b0456d44 100644 --- a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc +++ b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-sdk.inc @@ -2,7 +2,7 @@ SDK-EFL = " \ efl-dev \ elementary-dev \ edbus-dev \ - lua5.1-dev \ + luajit-dev \ " SDK-EXTRAS ?= "" diff --git a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb index 1bcac45f89..6a3f33dc68 100644 --- a/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb +++ b/meta-efl/recipes-efl/packagegroups/packagegroup-efl-standalone-sdk-target.bb @@ -11,9 +11,6 @@ require packagegroup-efl-sdk.inc PACKAGES = "${PN} ${PN}-dbg" -RPROVIDES_${PN} += "task-efl-standalone-sdk-target" -RREPLACES_${PN} += "task-efl-standalone-sdk-target" -RCONFLICTS_${PN} += "task-efl-standalone-sdk-target" RDEPENDS_${PN} = "\ packagegroup-core-standalone-sdk-target \ ${SDK-EFL} \ diff --git a/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb b/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb index 47f758a820..63ef0f6759 100644 --- a/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb +++ b/meta-efl/recipes-efl/packagegroups/packagegroup-x11-illume.bb @@ -11,9 +11,6 @@ inherit packagegroup allarch ETHEME ?= "e-wm-theme-default" ECONFIG ?= "e-wm-config-mobile" -RPROVIDES_${PN} += "task-x11-illume" -RREPLACES_${PN} += "task-x11-illume" -RCONFLICTS_${PN} += "task-x11-illume" RDEPENDS_${PN} = "\ packagegroup-core-x11-xserver \ packagegroup-core-x11-utils \ 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 864b9c914f..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/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 65418ca9a2..0000000000 --- a/meta-efl/recipes-efl/webkit/webkit-efl_2.3.4+svnr164189.bb +++ /dev/null @@ -1,12 +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 \ -" -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-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb b/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb index d07b1435f3..9ad5d4ff01 100644 --- a/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb +++ b/meta-efl/recipes-navigation/mcnavi/mcnavi_0.3.4.bb @@ -2,7 +2,7 @@ SUMMARY = "Free GPS navigation for car and outdoor with OpenStreetMap maps" HOMEPAGE = "http://www.gps-routes.info/index.php?name=Content&pa=showpage&pid=1" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a" -DEPENDS = "ecore evas imlib2 gpsd edje edje-native mysql5" +DEPENDS = "ecore evas imlib2 gpsd edje edje-native mysql5 intltool-native" SRC_URI = "http://www.gps-routes.info/debian/pool/main/m/mcnavi/mcnavi_${PV}.tar.gz" SRC_URI[md5sum] = "6860cde5c02a9f93c829da4b10e5a226" 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-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb index 2e7a6166ba..6957ea92bd 100644 --- a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb +++ b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb @@ -12,7 +12,7 @@ S = "${WORKDIR}/ntfs-3g_ntfsprogs-${PV}" SRC_URI[md5sum] = "2d6fb47ddf62b51733227126fe9227fe" SRC_URI[sha256sum] = "4b383f0074a3ab7683339d1f18222b107aaeb4983db119292c43c2b275cefb27" -inherit autotools +inherit autotools pkgconfig PACKAGECONFIG ??= "" PACKAGECONFIG[uuid] = "--with-uuid,--without-uuid,util-linux" diff --git a/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb b/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb index b46940e9bc..21fd7e93e2 100644 --- a/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb +++ b/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb @@ -15,15 +15,13 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/owfs/owfs-${PV}.tar.gz \ SRC_URI[md5sum] = "56ba145be208002e58775a7203369851" SRC_URI[sha256sum] = "9d22dbff72d235476688c02669f7171b23e21dffadf40bbdd3b8263908218424" -inherit autotools update-rc.d +inherit autotools-brokensep update-rc.d EXTRA_OECONF = " \ --with-fuseinclude=${STAGING_INCDIR} \ --with-fuselib=${STAGING_LIBDIR} \ --enable-owfs \ --enable-owhttpd \ - --enable-cache \ - --enable-mt \ --enable-w1 \ --disable-swig \ --disable-owtcl \ diff --git a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch new file mode 100644 index 0000000000..c80fed1879 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch @@ -0,0 +1,11 @@ +Index: git/configure.in +=================================================================== +--- git.orig/configure.in 2014-06-18 16:06:16.040721349 +0000 ++++ git/configure.in 2014-07-18 07:49:17.085552256 +0000 +@@ -1,5 +1,5 @@ + AC_INIT([SMBNetFS],[0.5.3а]) +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([foreign]) + AC_CONFIG_HEADERS([src/config.h]) + AC_PROG_CC + diff --git a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb index 350dad5be6..a0eddbc790 100644 --- a/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb +++ b/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb @@ -10,13 +10,14 @@ HOMEPAGE ="http://sourceforge.net/projects/smbnetfs" DEPENDS = "fuse samba" -inherit autotools gitpkgv +inherit autotools gitpkgv pkgconfig PKGV = "${GITPKGVTAG}" SRCREV = "ace1c519d45fe488b9b7e6cc77a2bcadb6c83464" -SRC_URI = "git://smbnetfs.git.sourceforge.net/gitroot/smbnetfs/smbnetfs;branch=master" +SRC_URI = "git://smbnetfs.git.sourceforge.net/gitroot/smbnetfs/smbnetfs;branch=master \ + file://configure.patch" PACKAGECONFIG ??= "" PACKAGECONFIG[gnome-keyring] = "--with-gnome-keyring=yes,--with-gnome-keyring=no,libgnome-keyring" diff --git a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb index 722d0ede98..459d1575e7 100644 --- a/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb +++ b/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb @@ -6,10 +6,10 @@ LICENSE = "GPLv2" DEPENDS = "glib-2.0 fuse" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI = "${SOURCEFORGE_MIRROR}/fuse/${P}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/fuse/${BP}.tar.gz" S = "${WORKDIR}/${P}" -inherit autotools +inherit autotools pkgconfig FILES_${PN} += "${libdir}/sshnodelay.so" diff --git a/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb new file mode 100644 index 0000000000..38ded9f68a --- /dev/null +++ b/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb @@ -0,0 +1,15 @@ +SUMMARY = "A FUSE based implemention of unionfs" +HOMEPAGE = "http://podgorny.cz/moin/UnionFsFuse" +SECTION = "console/network" +LICENSE = "BSD-3-Clause" +DEPENDS = "fuse" +LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32" + +SRC_URI = "http://podgorny.cz/unionfs-fuse/releases/${BP}.tar.xz" + +SRC_URI[md5sum] = "689c636484756f6f7a728ef354cbeac2" +SRC_URI[sha256sum] = "8d5c9dcb51ecb9a9b03890e16d17e37d602b0c1f23ed6a9ddec2b0f719c9f662" + +do_install() { + oe_runmake install DESTDIR=${D} PREFIX=${exec_prefix} +} diff --git a/meta-filesystems/recipes-support/fuse/fuse_2.9.3.bb b/meta-filesystems/recipes-support/fuse/fuse_2.9.3.bb index a76193263e..60fea873b5 100644 --- a/meta-filesystems/recipes-support/fuse/fuse_2.9.3.bb +++ b/meta-filesystems/recipes-support/fuse/fuse_2.9.3.bb @@ -19,7 +19,7 @@ SRC_URI[sha256sum] = "0beb83eaf2c5e50730fc553406ef124d77bc02c64854631bdfc86bfd64 inherit autotools pkgconfig -EXTRA_OECONF = "--disable-kernel-module" +DEPENDS = "gettext-native" PACKAGES =+ "fuse-utils-dbg fuse-utils libulockmgr libulockmgr-dev libulockmgr-dbg" diff --git a/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb b/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb index 9ad7fabfbd..5618f28a68 100644 --- a/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb +++ b/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb @@ -6,6 +6,6 @@ DEPENDS = "readline zlib" inherit cmake -SRC_URI = "http://icculus.org/${PN}/downloads/${PN}-${PV}.tar.bz2" +SRC_URI = "http://icculus.org/${BPN}/downloads/${BP}.tar.bz2" SRC_URI[md5sum] = "c2c727a8a8deb623b521b52d0080f613" SRC_URI[sha256sum] = "ca862097c0fb451f2cacd286194d071289342c107b6fe69079c079883ff66b69" diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch new file mode 100644 index 0000000000..5c35586899 --- /dev/null +++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch @@ -0,0 +1,29 @@ +Subject: [PATCH] aufs-util: add tool concept to Makefile for cross compiling + purpose + +In a cross compilation environment, c2sh, c2tmac and ver need to be created first. +Add a tools target to Makefile to allow for this. + +Upstream-Status: Pending + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 2f905ad..49c3cd5 100644 +--- a/Makefile ++++ b/Makefile +@@ -85,7 +85,7 @@ aufs.5: aufs.in.5 c2tmac + chmod a-w $@ + + c2sh c2tmac ver: CC = ${HOSTCC} +-.INTERMEDIATE: c2sh c2tmac ver ++tools: c2sh c2tmac ver + + Install = install -o root -g root -p + install_sbin: File = auibusy auplink mount.aufs umount.aufs +-- +1.7.9.5 + diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch new file mode 100644 index 0000000000..48727e6e22 --- /dev/null +++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch @@ -0,0 +1,37 @@ +From 244863eca77fcaa1187884836c3e28d6b6d1504a Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@windriver.com> +Date: Tue, 9 Apr 2013 18:50:34 -0700 +Subject: [PATCH] aufs-util: don't strip executables + +By default, aufs-util strips its binaries. This produces QA warnings +as follows: + + WARNING: File '/sbin/mount.aufs' from aufs-util was already stripped, this will prevent future debugging! + WARNING: File '/sbin/auplink' from aufs-util was already stripped, this will prevent future debugging! + WARNING: File '/sbin/umount.aufs' from aufs-util was already stripped, this will prevent future debugging! + WARNING: File '/sbin/auibusy' from aufs-util was already stripped, this will prevent future debugging! + WARNING: File '/usr/lib/libau.so.2.6' from aufs-util was already stripped, this will prevent future debugging! + +To prevent this, we remove -s from LDFLAGS. + +Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 2f905ad..e0c6dcd 100644 +--- a/Makefile ++++ b/Makefile +@@ -56,7 +56,7 @@ all: ver_test ${Man} ${Bin} ${Etc} + ver_test: ver + ./ver + +-${Bin}: LDFLAGS += -static -s ++${Bin}: LDFLAGS += -static + ${Bin}: LDLIBS = -L. -lautil + ${BinObj}: %.o: %.c ${LibUtilHdr} ${LibUtil} + +-- +1.7.10.4 + diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h new file mode 100644 index 0000000000..cb439baa4c --- /dev/null +++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h @@ -0,0 +1,210 @@ +/* + * Copyright (C) 2005-2013 Junjiro R. Okajima + * + * This program, aufs 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 St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef __AUFS_TYPE_H__ +#define __AUFS_TYPE_H__ + +#define AUFS_NAME "aufs" + +#include <stdint.h> +#include <sys/types.h> + +#include <linux/limits.h> + +#define AUFS_VERSION "3.8-20130325" + +/* todo? move this to linux-2.6.19/include/magic.h */ +#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') + +/* ---------------------------------------------------------------------- */ + +#ifdef CONFIG_AUFS_BRANCH_MAX_127 +typedef int8_t aufs_bindex_t; +#define AUFS_BRANCH_MAX 127 +#else +typedef int16_t aufs_bindex_t; +#ifdef CONFIG_AUFS_BRANCH_MAX_511 +#define AUFS_BRANCH_MAX 511 +#elif defined(CONFIG_AUFS_BRANCH_MAX_1023) +#define AUFS_BRANCH_MAX 1023 +#elif defined(CONFIG_AUFS_BRANCH_MAX_32767) +#define AUFS_BRANCH_MAX 32767 +#endif +#endif + + +/* ---------------------------------------------------------------------- */ + +#define AUFS_FSTYPE AUFS_NAME + +#define AUFS_ROOT_INO 2 +#define AUFS_FIRST_INO 11 + +#define AUFS_WH_PFX ".wh." +#define AUFS_WH_PFX_LEN ((int)sizeof(AUFS_WH_PFX) - 1) +#define AUFS_WH_TMP_LEN 4 +/* a limit for rmdir/rename a dir */ +#define AUFS_MAX_NAMELEN (NAME_MAX \ + - AUFS_WH_PFX_LEN * 2 /* doubly whiteouted */\ + - 1 /* dot */\ + - AUFS_WH_TMP_LEN) /* hex */ +#define AUFS_XINO_FNAME "." AUFS_NAME ".xino" +#define AUFS_XINO_DEFPATH "/tmp/" AUFS_XINO_FNAME +#define AUFS_XINO_TRUNC_INIT 64 /* blocks */ +#define AUFS_XINO_TRUNC_STEP 4 /* blocks */ +#define AUFS_DIRWH_DEF 3 +#define AUFS_RDCACHE_DEF 10 /* seconds */ +#define AUFS_RDCACHE_MAX 3600 /* seconds */ +#define AUFS_RDBLK_DEF 512 /* bytes */ +#define AUFS_RDHASH_DEF 32 +#define AUFS_WKQ_NAME AUFS_NAME "d" +#define AUFS_MFS_DEF_SEC 30 /* seconds */ +#define AUFS_MFS_MAX_SEC 3600 /* seconds */ +#define AUFS_PLINK_WARN 100 /* number of plinks */ + +/* pseudo-link maintenace under /proc */ +#define AUFS_PLINK_MAINT_NAME "plink_maint" +#define AUFS_PLINK_MAINT_DIR "fs/" AUFS_NAME +#define AUFS_PLINK_MAINT_PATH AUFS_PLINK_MAINT_DIR "/" AUFS_PLINK_MAINT_NAME + +#define AUFS_DIROPQ_NAME AUFS_WH_PFX ".opq" /* whiteouted doubly */ +#define AUFS_WH_DIROPQ AUFS_WH_PFX AUFS_DIROPQ_NAME + +#define AUFS_BASE_NAME AUFS_WH_PFX AUFS_NAME +#define AUFS_PLINKDIR_NAME AUFS_WH_PFX "plnk" +#define AUFS_ORPHDIR_NAME AUFS_WH_PFX "orph" + +/* doubly whiteouted */ +#define AUFS_WH_BASE AUFS_WH_PFX AUFS_BASE_NAME +#define AUFS_WH_PLINKDIR AUFS_WH_PFX AUFS_PLINKDIR_NAME +#define AUFS_WH_ORPHDIR AUFS_WH_PFX AUFS_ORPHDIR_NAME + +/* branch permissions and attributes */ +#define AUFS_BRPERM_RW "rw" +#define AUFS_BRPERM_RO "ro" +#define AUFS_BRPERM_RR "rr" +#define AUFS_BRRATTR_WH "wh" +#define AUFS_BRWATTR_NLWH "nolwh" + +/* ---------------------------------------------------------------------- */ + +/* ioctl */ +enum { + /* readdir in userspace */ + AuCtl_RDU, + AuCtl_RDU_INO, + + /* pathconf wrapper */ + AuCtl_WBR_FD, + + /* busy inode */ + AuCtl_IBUSY +}; + +/* borrowed from linux/include/linux/kernel.h */ +#ifndef ALIGN +#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1) +#define __ALIGN_MASK(x, mask) (((x)+(mask))&~(mask)) +#endif + +/* borrowed from linux/include/linux/compiler-gcc3.h */ +#ifndef __aligned +#define __aligned(x) __attribute__((aligned(x))) +#endif + + +struct au_rdu_cookie { + uint64_t h_pos; + int16_t bindex; + uint8_t flags; + uint8_t pad; + uint32_t generation; +} __aligned(8); + +struct au_rdu_ent { + uint64_t ino; + int16_t bindex; + uint8_t type; + uint8_t nlen; + uint8_t wh; + char name[0]; +} __aligned(8); + +static __inline__ int au_rdu_len(int nlen) +{ + /* include the terminating NULL */ + return ALIGN(sizeof(struct au_rdu_ent) + nlen + 1, + sizeof(uint64_t)); +} + +union au_rdu_ent_ul { + struct au_rdu_ent *e; + uint64_t ul; +}; + +enum { + AufsCtlRduV_SZ, + AufsCtlRduV_End +}; + +struct aufs_rdu { + /* input */ + union { + uint64_t sz; /* AuCtl_RDU */ + uint64_t nent; /* AuCtl_RDU_INO */ + }; + union au_rdu_ent_ul ent; + uint16_t verify[AufsCtlRduV_End]; + + /* input/output */ + uint32_t blk; + + /* output */ + union au_rdu_ent_ul tail; + /* number of entries which were added in a single call */ + uint64_t rent; + uint8_t full; + uint8_t shwh; + + struct au_rdu_cookie cookie; +} __aligned(8); + +/* ---------------------------------------------------------------------- */ + +struct aufs_wbr_fd { + uint32_t oflags; + int16_t brid; +} __aligned(8); + +/* ---------------------------------------------------------------------- */ + +struct aufs_ibusy { + uint64_t ino, h_ino; + int16_t bindex; +} __aligned(8); + +/* ---------------------------------------------------------------------- */ + +#define AuCtlType 'A' +#define AUFS_CTL_RDU _IOWR(AuCtlType, AuCtl_RDU, struct aufs_rdu) +#define AUFS_CTL_RDU_INO _IOWR(AuCtlType, AuCtl_RDU_INO, struct aufs_rdu) +#define AUFS_CTL_WBR_FD _IOW(AuCtlType, AuCtl_WBR_FD, \ + struct aufs_wbr_fd) +#define AUFS_CTL_IBUSY _IOWR(AuCtlType, AuCtl_IBUSY, struct aufs_ibusy) + +#endif /* __AUFS_TYPE_H__ */ diff --git a/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb new file mode 100644 index 0000000000..48c545660d --- /dev/null +++ b/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb @@ -0,0 +1,53 @@ +SUMMARY = "Tools for managing AUFS mounts" +SECTION = "base" +HOMEPAGE = "http://aufs.sourceforge.net/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" + +DEPENDS = "aufs-util-native" +DEPENDS_class-native = "" + +SRCREV = "f29056fe396d56fc2a06a96312feabaebbe14c59" +SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs3.9 \ + file://aufs-util-don-t-strip-executables.patch \ + file://aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch \ + file://aufs_type.h \ +" + +PV = "3.9+git${SRCPV}" + +S = "${WORKDIR}/git" + +do_configure_append () { + install -d ${S}/include/linux/ + cp ${WORKDIR}/aufs_type.h ${S}/include/linux/ +} + +do_configure_append_class-target () { + for i in ver c2sh c2tmac; do + cp ${STAGING_BINDIR_NATIVE}/aufs-util-${PV}/$i ./ + done +} + +do_compile () { + oe_runmake CPPFLAGS="-I${S}/include -I${S}/libau" +} + +do_compile_class-native () { + oe_runmake tools CPPFLAGS="-I${S}/include -I${S}/libau" +} + +do_install () { + oe_runmake 'DESTDIR=${D}' install_sbin install_ubin install_etc +} + +do_install_class-native () { + install -d ${D}${bindir}/aufs-util-${PV} + for i in ver c2sh c2tmac; do + install -m 755 $i ${D}${bindir}/aufs-util-${PV}/$i + done +} + +RRECOMMENDS_${PN} += "kernel-module-aufs" + +BBCLASSEXTEND = "native" 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-filesystems/recipes-utils/xfsprogs/xfsprogs_3.1.11.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.1.11.bb index 4c3f8fabee..fcf8f12bb2 100644 --- a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.1.11.bb +++ b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.1.11.bb @@ -6,7 +6,7 @@ LICENSE_libhandle = "LGPLv2.1" LIC_FILES_CHKSUM = "file://doc/COPYING;md5=dbdb5f4329b7e7145de650e9ecd4ac2a" DEPENDS = "util-linux" -SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${P}.tar.gz \ +SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${BP}.tar.gz \ file://remove-install-as-user.patch \ file://drop-configure-check-for-aio.patch \ " 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/cheese/cheese_2.30.1.bb b/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb index 611e83e84d..a54a3a220b 100644 --- a/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb +++ b/meta-gnome/recipes-apps/cheese/cheese_2.30.1.bb @@ -2,7 +2,7 @@ SUMMARY = "Take photos and videos with your webcam, with fun graphical effects" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf" -DEPENDS = "gtk+ gstreamer gst-plugins-base libcanberra udev librsvg gnome-desktop evolution-data-server" +DEPENDS = "gtk+ gstreamer gst-plugins-base libcanberra udev librsvg gnome-desktop evolution-data-server intltool-native" PR = "r2" diff --git a/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb b/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb index 6dc5159bee..d455f1447b 100644 --- a/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb +++ b/meta-gnome/recipes-apps/gnome-mplayer/gmtk_1.0.5.bb @@ -5,9 +5,9 @@ SECTION = "libs" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -DEPENDS = "gtk+ alsa-lib glib-2.0 virtual/libx11" +DEPENDS = "gtk+ alsa-lib glib-2.0 virtual/libx11 intltool-native pulseaudio gtk+3" -SRC_URI = "http://${PN}.googlecode.com/files/${P}.tar.gz" +SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz" SRC_URI[md5sum] = "e06e9ca8d61d74910343bb3ef4348f7f" SRC_URI[sha256sum] = "a07130d62719e8c1244f8405dd97445798df5204fc0f3f2f2b669b125114b468" 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 4be94c5582..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,12 +5,12 @@ 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" -SRC_URI = "http://${PN}.googlecode.com/files/${P}.tar.gz" +SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz" SRC_URI[md5sum] = "1d3ab24c5501b5528e357931ca4dc6da" SRC_URI[sha256sum] = "ac3c179345baecb4ca5237782aa33e83253a87bf8b42ce6eb3a9207a340f61b2" diff --git a/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb b/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb index 7dc09dac50..2b85ff4367 100644 --- a/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb +++ b/meta-gnome/recipes-apps/pinpoint/pinpoint_git.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \ DEPENDS = "gnome-common glib-2.0 gdk-pixbuf cogl-1.0 clutter-1.0 clutter-gst-1.0" -inherit autotools gettext +inherit autotools gettext pkgconfig SRC_URI = "git://git.gnome.org/pinpoint" diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/0001-remove-classes-and-properties-which-are-not-supporte.patch b/meta-gnome/recipes-connectivity/network-manager-applet/files/0001-remove-classes-and-properties-which-are-not-supporte.patch index b8ba181f57..4bd0e4ffa3 100644 --- a/meta-gnome/recipes-connectivity/network-manager-applet/files/0001-remove-classes-and-properties-which-are-not-supporte.patch +++ b/meta-gnome/recipes-connectivity/network-manager-applet/files/0001-remove-classes-and-properties-which-are-not-supporte.patch @@ -1,8 +1,7 @@ -From 023b17f53d888dfb45981b141ce4dc151ab140f0 Mon Sep 17 00:00:00 2001 +From c7d75ce38fa392c04c39a75e7b7e068666a7b1e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> -Date: Thu, 4 Apr 2013 20:23:00 +0200 -Subject: [PATCH] remove classes and properties which are not supported by - gtk+ +Date: Tue, 8 Apr 2014 15:22:54 +0200 +Subject: [PATCH] remove classes and properties which are not supported by gtk+ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -13,12 +12,11 @@ Upstream-Status: Inappropriate [configuration] Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> --- - src/connection-editor/ce-page-general.ui | 7 +------ - src/connection-editor/nm-connection-editor.ui | 2 +- - 2 files changed, 2 insertions(+), 7 deletions(-) + src/connection-editor/ce-page-general.ui | 3 --- + 1 file changed, 3 deletions(-) diff --git a/src/connection-editor/ce-page-general.ui b/src/connection-editor/ce-page-general.ui -index f505c14..a3e8d2b 100644 +index b05f0df..049432b 100644 --- a/src/connection-editor/ce-page-general.ui +++ b/src/connection-editor/ce-page-general.ui @@ -37,8 +37,6 @@ @@ -38,32 +36,6 @@ index f505c14..a3e8d2b 100644 <property name="use_underline">True</property> <property name="xalign">0</property> <property name="draw_indicator">True</property> -@@ -86,11 +83,9 @@ - </packing> - </child> - <child> -- <object class="GtkBox" id="box2"> -+ <object class="GtkVBox" id="box2"> - <property name="visible">True</property> - <property name="can_focus">False</property> -- <property name="valign">start</property> -- <property name="vexpand">True</property> - <property name="spacing">6</property> - <child> - <object class="GtkLabel" id="firewall_zone_label"> -diff --git a/src/connection-editor/nm-connection-editor.ui b/src/connection-editor/nm-connection-editor.ui -index 74ee266..6f1e166 100644 ---- a/src/connection-editor/nm-connection-editor.ui -+++ b/src/connection-editor/nm-connection-editor.ui -@@ -11,7 +11,7 @@ - <property name="icon_name">preferences-system-network</property> - <property name="type_hint">dialog</property> - <child internal-child="vbox"> -- <object class="GtkBox" id="dialog-vbox2"> -+ <object class="GtkVBox" id="dialog-vbox2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="orientation">vertical</property> -- -1.7.6.5 +1.8.3.1 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/files/icons/nm-signal-00.png b/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-00.png Binary files differdeleted file mode 100644 index 836e723a2f..0000000000 --- a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-00.png +++ /dev/null diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-100.png b/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-100.png Binary files differdeleted file mode 100644 index def2da969f..0000000000 --- a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-100.png +++ /dev/null diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-25.png b/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-25.png Binary files differdeleted file mode 100644 index 362960b8e7..0000000000 --- a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-25.png +++ /dev/null diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-50.png b/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-50.png Binary files differdeleted file mode 100644 index 1add41dcbd..0000000000 --- a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-50.png +++ /dev/null diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-75.png b/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-75.png Binary files differdeleted file mode 100644 index 6b509e804f..0000000000 --- a/meta-gnome/recipes-connectivity/network-manager-applet/files/icons/nm-signal-75.png +++ /dev/null diff --git a/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.0.bb b/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.10.bb index 6c0028322e..545b2cfd19 100644 --- a/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.0.bb +++ b/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_0.9.8.10.bb @@ -2,39 +2,37 @@ SUMMARY = "GTK+ applet for NetworkManager" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -DEPENDS = "gnome-bluetooth polkit-gnome libnotify networkmanager dbus-glib libglade gconf gnome-keyring libgnome-keyring iso-codes" +DEPENDS = "libnotify libsecret networkmanager dbus-glib gconf gnome-keyring libgnome-keyring iso-codes" -inherit gnome gtk-icon-cache +inherit gnomebase gtk-icon-cache GNOME_COMPRESS_TYPE = "xz" SRC_URI += " \ file://0001-remove-classes-and-properties-which-are-not-supporte.patch \ - file://images/* \ + 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] = "531ce56c51ec86c5d2dc4cbe58649583" -SRC_URI[archive.sha256sum] = "1afb6e736870ba95132bf0d211c46849e02a820ba3902a059a616be888053590" +SRC_URI[archive.md5sum] = "5148348c139229c6a753f815f3f11e1c" +SRC_URI[archive.sha256sum] = "46fee9a1e667d1826e6a94bb6bd2e6bdbde535fc995e534542f5f7e8b8dae0cb" # GTK2.x mode EXTRA_OECONF += " \ --with-gtkver=2 \ - --with-bluetooth=yes \ " +PACKAGECONFIG[bluetooth] = "--with-bluetooth,--without-bluetooth,gnome-bluetooth,gnome-bluetooth" +PACKAGECONFIG ??= "" + do_configure_append() { - rm config.log # Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror - for i in $(find ${S} -name "Makefile") ; do + for i in $(find ${B} -name "Makefile") ; do sed -i -e s:-Werror::g $i done } -do_install_append() { - install -m 0644 ${WORKDIR}/icons/* ${D}/usr/share/icons/hicolor/22x22/apps/ -} - RDEPENDS_${PN} =+ "networkmanager" -RRECOMMENDS_${PN} =+ "gnome-bluetooth gnome-keyring" +RRECOMMENDS_${PN} =+ "gnome-keyring" FILES_${PN} += " \ ${datadir}/nm-applet/ \ @@ -45,4 +43,3 @@ FILES_${PN} += "${libdir}/gnome-bluetooth/plugins/*.so" FILES_${PN}-dev += "${libdir}/gnome-bluetooth/plugins/libnma.la" FILES_${PN}-staticdev += "${libdir}/gnome-bluetooth/plugins/libnma.a" FILES_${PN}-dbg += "${libdir}/gnome-bluetooth/plugins/.debug/" - diff --git a/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb b/meta-gnome/recipes-connectivity/obex/obexd_0.48.bb index e7bff3f6f0..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" @@ -11,7 +13,7 @@ SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/obexd-${PV}.tar.gz \ SRC_URI[md5sum] = "d03cf9bad2983243837f4f6d76ef14a6" SRC_URI[sha256sum] = "eaa9d8d9542700e6750918d72a3ce00f8cf3a2771d3e2516efd1be5a05f78582" -inherit autotools-brokensep +inherit autotools-brokensep pkgconfig PACKAGES =+ "obex-client obex-plugins" diff --git a/meta-gnome/recipes-devtools/glade/glade3_%.bbappend b/meta-gnome/recipes-devtools/glade/glade3_%.bbappend new file mode 100644 index 0000000000..3abacfb866 --- /dev/null +++ b/meta-gnome/recipes-devtools/glade/glade3_%.bbappend @@ -0,0 +1 @@ +PACKAGECONFIG ??= "gnome" 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/abiword/abiword_3.0.0.bb b/meta-gnome/recipes-gnome/abiword/abiword_3.0.0.bb index 39780bb3d6..eb4bba2175 100644 --- a/meta-gnome/recipes-gnome/abiword/abiword_3.0.0.bb +++ b/meta-gnome/recipes-gnome/abiword/abiword_3.0.0.bb @@ -24,7 +24,7 @@ SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1] inherit autotools-brokensep pkgconfig -PACKAGECONFIG ??= "collab-backend-xmpp collab-backend-tcp collab-backend-service" +PACKAGECONFIG ??= "collab-backend-xmpp collab-backend-tcp" PACKAGECONFIG[spell] = "--enable-spell,--disable-spell,enchant" PACKAGECONFIG[collab-backend-xmpp] = "--enable-collab-backend-xmpp,--disable-collab-backend-xmpp,libgsf libxml2 loudmouth" PACKAGECONFIG[collab-backend-tcp] = "--enable-collab-backend-tcp,--disable-collab-backend-tcp,libgsf libxml2" diff --git a/meta-gnome/recipes-gnome/bonobo/libbonobo.inc b/meta-gnome/recipes-gnome/bonobo/libbonobo.inc index b876db4b3d..8b6007e86e 100644 --- a/meta-gnome/recipes-gnome/bonobo/libbonobo.inc +++ b/meta-gnome/recipes-gnome/bonobo/libbonobo.inc @@ -5,11 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ SECTION = "x11/gnome/libs" DEPENDS = "glib-2.0 orbit2 intltool-native libxml2 dbus dbus-glib" -inherit gnomebase - -SRC_URI += "file://gtk-doc.m4 \ - file://gtk-doc.make \ -" +inherit gnomebase gtk-doc ORBIT_IDL_SRC = "${STAGING_BINDIR_NATIVE}/orbit-idl-2" @@ -23,12 +19,6 @@ LEAD_SONAME = "libbonobo-2.so" PARALLEL_MAKE = "" -do_configure_prepend() { - install -d m4 - install ${WORKDIR}/gtk-doc.m4 m4/ - install ${WORKDIR}/gtk-doc.make ./ -} - do_compile() { oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}" } diff --git a/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb b/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb index 74dd90886e..6c2d67aa6a 100644 --- a/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb +++ b/meta-gnome/recipes-gnome/bonobo/libbonoboui_2.24.5.bb @@ -7,7 +7,7 @@ inherit gnomebase pkgconfig gtk-doc SRC_URI[archive.md5sum] = "853be8e28aaa4ce48ba60be7d9046bf4" SRC_URI[archive.sha256sum] = "fab5f2ac6c842d949861c07cb520afe5bee3dce55805151ce9cd01be0ec46fcd" -DEPENDS = "libgnomecanvas libbonobo libgnome glib-2.0 gconf libxml2 libglade" +DEPENDS = "libgnomecanvas libbonobo libgnome glib-2.0 gconf libxml2 libglade gnome-common intltool-native" FILES_${PN} += "${libdir}/libglade/2.0/*.so" FILES_${PN}-dev += "${libdir}/libglade/2.0/*.la ${datadir}/gnome-2.0/ui \ diff --git a/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb b/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb index 38b2789c7c..2b6f15e82f 100644 --- a/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb +++ b/meta-gnome/recipes-gnome/dconf/dconf_0.18.0.bb @@ -9,7 +9,7 @@ SRC_URI[archive.md5sum] = "69a12ed68893f2e1e81ac4e531bc1515" SRC_URI[archive.sha256sum] = "109b1bc6078690af1ed88cb144ef5c5aee7304769d8bdc82ed48c3696f10c955" GNOME_COMPRESS_TYPE = "xz" -DEPENDS = "glib-2.0 gtk+3" +DEPENDS = "glib-2.0 gtk+3 libxml2" inherit vala gtk-doc diff --git a/meta-gnome/recipes-gnome/desktop-file-utils/desktop-file-utils_0.18.bb b/meta-gnome/recipes-gnome/desktop-file-utils/desktop-file-utils_0.18.bb index ddd388cb78..57a8720f21 100644 --- a/meta-gnome/recipes-gnome/desktop-file-utils/desktop-file-utils_0.18.bb +++ b/meta-gnome/recipes-gnome/desktop-file-utils/desktop-file-utils_0.18.bb @@ -11,7 +11,7 @@ SRC_URI = "http://www.freedesktop.org/software/desktop-file-utils/releases/deskt SRC_URI[md5sum] = "d966b743eb394650f98d5dd56b9aece1" SRC_URI[sha256sum] = "d9449956c1c8caa75281a3322b2bb433db42610942f0ceeaa65ccd9636c04231" -inherit autotools +inherit autotools pkgconfig CACHED_CONFIGUREVARS += "ac_cv_prog_EMACS=no" diff --git a/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb b/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb index 162471b005..7c935a3d59 100644 --- a/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb +++ b/meta-gnome/recipes-gnome/eds/evolution-data-server_git.bb @@ -41,10 +41,9 @@ do_configure_append () { cp ${WORKDIR}/iconv-detect.h ${S} } -EXTRA_OECONF = "--without-openldap --with-dbus --without-bug-buddy \ - --with-soup --with-libdb=${STAGING_DIR_HOST}${prefix} \ - --disable-nntp --without-weather --disable-goa --disable-uoa --disable-weather" -# --disable-ssl --disable-smime --disable-ssl +EXTRA_OECONF = "--without-openldap \ + --with-libdb=${STAGING_DIR_HOST}${prefix} \ + --disable-nntp --disable-goa --disable-weather" PACKAGES =+ "libcamel libcamel-dev libebook libebook-dev libecal libecal-dev \ libedata-book libedata-book-dev libedata-cal libedata-cal-dev \ diff --git a/meta-gnome/recipes-gnome/epiphany/epiphany_2.30.6.bb b/meta-gnome/recipes-gnome/epiphany/epiphany_2.30.6.bb index 3d7fc18a57..9e1a0dc7de 100644 --- a/meta-gnome/recipes-gnome/epiphany/epiphany_2.30.6.bb +++ b/meta-gnome/recipes-gnome/epiphany/epiphany_2.30.6.bb @@ -2,7 +2,7 @@ SUMMARY = "GNOME default webbrowser" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "gnome-doc-utils libsoup-2.4 webkit-gtk gtk+ gconf iso-codes startup-notification ca-certificates libgnome-keyring" +DEPENDS = "gnome-doc-utils libsoup-2.4 webkit-gtk gtk+ gconf iso-codes startup-notification ca-certificates libgnome-keyring avahi libnotify" inherit gnome SRC_URI[archive.md5sum] = "0c566b3ffd428d2135e3c8cb65352d64" diff --git a/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb b/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb new file mode 100644 index 0000000000..dbaae649e8 --- /dev/null +++ b/meta-gnome/recipes-gnome/faenza-icon-theme/faenza-icon-theme_1.3.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "An icon theme for Gnome" +SECTION = "x11/wm" +LICENSE = "GPLv3" +HOMEPAGE = "http://code.google.com/p/faenza-icon-theme/" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +inherit allarch gtk-icon-cache + +S = "${WORKDIR}" + +SRC_URI = "http://faenza-icon-theme.googlecode.com/files/${PN}_${PV}.zip" +SRC_URI[md5sum] = "e9bd6106d13017ce06d24b586259ae9c" +SRC_URI[sha256sum] = "d4486fda0413f8a81a87e0dd2329f50f2a8a7cb4147b48cf147f0160add8174a" + +do_install() { + install -d ${D}${datadir}/icons + for theme in `find -name 'Faenza*.tar.gz'`; do + tar -xf ${theme} -C ${D}${datadir}/icons + done + tar -xf emesene-faenza-theme.tar.gz -C ${D}${datadir} + mv -f ${D}${datadir}/emesene/themes ${D}${datadir}/themes + rm -rf ${D}${datadir}/emesene +} + +FILES_${PN} += "${datadir}/icons ${datadir}/themes" 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_2.32.2.bb b/meta-gnome/recipes-gnome/gdm/gdm_2.32.2.bb index d8f015064a..b2ae9ac073 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 += " \ 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 94bfa3bbf1..b9b73551d6 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 @@ -6,8 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ PR = "r1" +PNBLACKLIST[gnome-bluetooth] ?= "dbus-binding-tool fails with: Unable to load gnome-bluetooth-2.32.0/lib/bluetooth-client.xml": "manager" is not a valid D-Bus interface name" + SECTION = "x11/gnome" -DEPENDS = "obexd gnome-doc-utils-native gnome-doc-utils gconf gtk+ dbus-glib libunique libnotify bluez4 gnome-keyring virtual/libx11 libxi" +DEPENDS = "obexd gnome-doc-utils-native gnome-doc-utils gconf gtk+ dbus-glib libunique libnotify bluez4 gnome-keyring virtual/libx11 libxi intltool-native" inherit gnomebase gtk-icon-cache diff --git a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb index bd5d945b13..2c526c8ede 100644 --- a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb +++ b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_2.32.0.bb @@ -3,7 +3,7 @@ SUMMARY = "GNOME disk utility" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=e9115d11797a5e6b746b4e9b90194564" -DEPENDS = "glib-2.0 gtk+ libnotify libunique udisks avahi-ui virtual/libx11 libatasmart gnome-doc-utils" +DEPENDS = "glib-2.0 gtk+ libnotify libunique udisks avahi-ui virtual/libx11 libatasmart gnome-doc-utils intltool-native libgnome-keyring" PR = "r4" diff --git a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb index 64308ddba2..860851d983 100644 --- a/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb +++ b/meta-gnome/recipes-gnome/gnome-keyring/gnome-keyring_2.32.1.bb @@ -17,7 +17,7 @@ inherit autotools gnome gtk-doc pkgconfig gsettings SRC_URI += "file://egg-asn1x.patch" -DEPENDS = "gtk+ libgcrypt libtasn1 libtasn1-native gconf ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" +DEPENDS = "gtk+ libgcrypt libtasn1 libtasn1-native gconf ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} intltool-native" RDEPENDS_${PN} = "libgnome-keyring glib-2.0-utils" EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'pam', '--enable-pam --with-pam-dir=${base_libdir}/security', '--disable-pam', d)}" 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 new file mode 100644 index 0000000000..611499affc --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome-menus/gnome-menus3_3.10.1.bb @@ -0,0 +1,26 @@ +SUMMARY = "GNOME menus" +SECTION = "x11/gnome" +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 + +BPN = "gnome-menus" + +SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}" +SRC_URI = "${GNOME_MIRROR}/${BPN}/${SHRT_VER}/${BPN}-${PV}.tar.xz" + +SRC_URI[md5sum] = "6db025e79e2b69f39fc7aa0753f43081" +SRC_URI[sha256sum] = "46950aba274c1ad58234374fa9b235258650737307f3bc396af48eb983668a71" + +PACKAGES += "${PN}-python" +FILES_${PN} += "${datadir}/desktop-directories/" +FILES_${PN}-python = "${libdir}/python*" +FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug \ + ${PYTHON_SITEPACKAGES_DIR}/.debug" 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-power-manager/gnome-power-manager_2.32.0.bb b/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb index ddc436ea99..2c55cf1577 100644 --- a/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb +++ b/meta-gnome/recipes-gnome/gnome-power-manager/gnome-power-manager_2.32.0.bb @@ -21,18 +21,16 @@ EXTRA_OECONF = " --disable-scrollkeeper \ --disable-applets \ --x-includes=${STAGING_INCDIR} \ --x-libraries=${STAGING_LIBDIR} \ - --with-dpms-ext=${STAGING_INCDIR}/.. \ --enable-compile-warnings=no \ ac_cv_header_X11_extensions_dpms_h=yes \ " do_configure_append() { - rm config.log # Sigh... --enable-compile-warnings=no doesn't actually turn off -Werror - for i in $(find ${S} -name "Makefile") ; do + for i in $(find ${B} -name "Makefile") ; do sed -i -e s:-Werror::g $i done - sed -e "s/libtool --/${TARGET_SYS}-libtool --/" -i ${S}/src/Makefile + sed -e "s/libtool --/${TARGET_SYS}-libtool --/" -i ${B}/src/Makefile } PACKAGES =+ "${PN}-applets" 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 34c919733c..729d750bf5 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 @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" PR = "r7" -DEPENDS = "libxxf86misc libsndfile1 libxtst glib-2.0 polkit gtk+ gconf dbus-glib libnotify libgnomekbd libxklavier gnome-doc-utils gnome-desktop" +DEPENDS = "intltool libxxf86misc libsndfile1 libxtst glib-2.0 polkit gtk+ gconf dbus-glib libnotify libgnomekbd libxklavier gnome-doc-utils gnome-desktop" inherit gnome @@ -16,14 +16,14 @@ S = "${WORKDIR}/git" PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)" PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio glib-2.0 libcanberra" -EXTRA_OECONF = "--disable-esd \ - --x-includes=${STAGING_INCDIR} \ - --x-libraries=${STAGING_LIBDIR} \ - --enable-polkit \ +EXTRA_OECONF = " \ + --x-includes=${STAGING_INCDIR} \ + --x-libraries=${STAGING_LIBDIR} \ + --enable-polkit \ " do_configure_prepend() { - sed -i -e 's:-L$libdir::g' -e 's:-I$includedir::g' configure.ac + sed -i -e 's:-L$libdir::g' -e 's:-I$includedir::g' ${S}/configure.ac } FILES_${PN} += "${libdir}/gnome-settings-daemon-2.0/*.so ${libdir}/gnome-settings-daemon-2.0/*plugin \ diff --git a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb index 1c149520fb..ce4b64e977 100644 --- a/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb +++ b/meta-gnome/recipes-gnome/gnome-system-monitor/gnome-system-monitor_2.28.2.bb @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" SECTION = "x11/gnome" PR = "r2" -DEPENDS = "libgtop gtkmm glibmm gnome-doc-utils gnome-icon-theme libwnck gtk+ dbus-glib librsvg" +DEPENDS = "libgtop gtkmm glibmm gnome-doc-utils gnome-icon-theme libwnck gtk+ dbus-glib librsvg intltool-native" inherit gnome SRC_URI[archive.md5sum] = "3f0bca9b0ebc7a365466851cd580d167" diff --git a/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb b/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb index 7823cec3be..6988b3a5e5 100644 --- a/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb +++ b/meta-gnome/recipes-gnome/gnome-vfs/gnome-vfs_2.24.4.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://daemon/vfs-daemon.c;endline=21;md5=5f2c61553fb16abb07fc9498ca03fe1f \ file://modules/cdda-cddb.h;endline=22;md5=20ed324ca64907c366ecd7f22b8e0c54" -DEPENDS = "libxml2 gconf dbus bzip2 gnome-mime-data zlib" +DEPENDS = "libxml2 gconf dbus bzip2 gnome-mime-data zlib intltool-native" RRECOMMENDS_${PN} = "gnome-vfs-plugin-file shared-mime-info" # Some legacy packages will require gnome-mime-data to be installed, but use of # it is deprecated. diff --git a/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb b/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb index ce4dd9052d..26fbeb2d99 100644 --- a/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb +++ b/meta-gnome/recipes-gnome/gnome/gnome-terminal_2.30.2.bb @@ -1,7 +1,7 @@ SUMMARY = "GNOME Terminal" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=5b51eba4ba4cafe64073227530c061ed" -DEPENDS = "gtk+ glib-2.0 startup-notification dbus-glib vte gnome-doc-utils" +DEPENDS = "gtk+ glib-2.0 startup-notification dbus-glib vte gnome-doc-utils intltool-native" PR = "r1" inherit gnome diff --git a/meta-gnome/recipes-gnome/gnome/libgnomekbd_2.26.0.bb b/meta-gnome/recipes-gnome/gnome/libgnomekbd_2.26.0.bb deleted file mode 100644 index 5f72399ba3..0000000000 --- a/meta-gnome/recipes-gnome/gnome/libgnomekbd_2.26.0.bb +++ /dev/null @@ -1,14 +0,0 @@ -SUMMARY = "GNOME keyboard library" -LICENSE = "LGPL" - -DEPENDS = "gconf-dbus dbus libxklavier gtk+" - -inherit gnome - -do_configure_append() { - find ${S} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g - find ${S} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g -} - - - diff --git a/meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch b/meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch new file mode 100644 index 0000000000..174985a7eb --- /dev/null +++ b/meta-gnome/recipes-gnome/gnome/libgnomeprint/0001-configure-use-pkgconfig-for-freetype.patch @@ -0,0 +1,37 @@ +From ed31fd89f4c77d89390774d29427898a85b25ab1 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Fri, 1 Aug 2014 13:58:36 +0200 +Subject: [PATCH] configure: use pkgconfig for freetype + +Upstream-status: Pending +Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> +--- + configure.in | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +diff --git a/configure.in b/configure.in +index 729278d..e569429 100644 +--- a/configure.in ++++ b/configure.in +@@ -164,13 +164,11 @@ dnl Checking for freetype2 + dnl ================================= + FREETYPE_LIBS= + FREETYPE_CFLAGS= +-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) +-if test "x$FREETYPE_CONFIG" = "xno" ; then +- AC_MSG_ERROR(You need FreeType2 (freetype-devel v 2.x package) for this version of libgnomeprint) +-else +- FREETYPE_CFLAGS=`$FREETYPE_CONFIG --cflags` +- FREETYPE_LIBS=`$FREETYPE_CONFIG --libs` +-fi ++PKG_CHECK_MODULES(FREETYPE2, freetype2, ++ FREETYPE_CFLAGS="$CFLAGS $FREETYPE2_CFLAGS" ++ FREETYPE_LIBS="$LIBS $FREETYPE2_LIBS", ++ AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)]) ++) + + libgnomeprint_save_ldflags=$LDFLAGS + LDFLAGS="$LDFLAGS $FREETYPE_LIBS" +-- +1.9.0 + diff --git a/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb b/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb index c224d864f6..15e513a78d 100644 --- a/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb +++ b/meta-gnome/recipes-gnome/gnome/libgnomeprint_2.18.8.bb @@ -9,6 +9,7 @@ inherit pkgconfig gnomebase SRC_URI += "file://fix.includes.patch \ file://freetype.patch \ + file://0001-configure-use-pkgconfig-for-freetype.patch \ " SRC_URI[archive.md5sum] = "63b05ffb5386e131487c6af30f4c56ac" SRC_URI[archive.sha256sum] = "1034ec8651051f84d2424e7a1da61c530422cc20ce5b2d9e107e1e46778d9691" diff --git a/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb b/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb index 3c7d92fa06..71f99cafbd 100644 --- a/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb +++ b/meta-gnome/recipes-gnome/gnumeric/gnumeric_1.12.0.bb @@ -31,7 +31,7 @@ FILES_gnumeric-goffice = "${libdir}/goffice/*/plugins/gnumeric/*" # This hack works around the problem mentioned here: # https://mail.gnome.org/archives/gnumeric-list/2010-February/msg00006.html do_install_prepend() { - sed -i ${S}/doc/C/Makefile -e 's/\tfor file in $(omffile); do/\t-for file in $(omffile); do/' + sed -i ${B}/doc/C/Makefile -e 's/\tfor file in $(omffile); do/\t-for file in $(omffile); do/' } python populate_packages_prepend () { 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/gtksourceview/gtksourceview2_2.10.5.bb b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb index df4d472f88..c745e345a8 100644 --- a/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb +++ b/meta-gnome/recipes-gnome/gtksourceview/gtksourceview2_2.10.5.bb @@ -4,7 +4,7 @@ HOMEPAGE = "http://projects.gnome.org/gtksourceview/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "gtk+" +DEPENDS = "gtk+ libxml2" PNAME = "gtksourceview" 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-gdu-volume-monitor_1.10.1.bb b/meta-gnome/recipes-gnome/gvfs/gvfs-gdu-volume-monitor_1.10.1.bb index cf0ab0c968..5c0e07c0ca 100644 --- a/meta-gnome/recipes-gnome/gvfs/gvfs-gdu-volume-monitor_1.10.1.bb +++ b/meta-gnome/recipes-gnome/gvfs/gvfs-gdu-volume-monitor_1.10.1.bb @@ -2,7 +2,7 @@ require gvfs.inc BPN = "gvfs" -DEPENDS = "gvfs gnome-disk-utility libgnome-keyring" +DEPENDS = "gvfs gnome-disk-utility libgnome-keyring intltool-native" PR = "${INC_PR}.0" # we need gdu files only: reduce files to delete in libexecdir 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/gvfs/gvfs_1.10.1.bb b/meta-gnome/recipes-gnome/gvfs/gvfs_1.10.1.bb index d6373999cb..131c849480 100644 --- a/meta-gnome/recipes-gnome/gvfs/gvfs_1.10.1.bb +++ b/meta-gnome/recipes-gnome/gvfs/gvfs_1.10.1.bb @@ -1,6 +1,6 @@ require gvfs.inc -DEPENDS = "libsoup-2.4 gnome-keyring glib-2.0 avahi gconf libgphoto2" +DEPENDS = "libsoup-2.4 gnome-keyring glib-2.0 avahi gconf libgphoto2 intltool-native" # optional: obexftp libcdio libimobiledevice PR = "${INC_PR}.0" 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/libgdata/libgdata_0.7.1.bb b/meta-gnome/recipes-gnome/libgdata/libgdata_0.7.1.bb index 2affaccc13..5b367de7b1 100644 --- a/meta-gnome/recipes-gnome/libgdata/libgdata_0.7.1.bb +++ b/meta-gnome/recipes-gnome/libgdata/libgdata_0.7.1.bb @@ -7,9 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24 \ file://gdata/gdata.h;endline=20;md5=079a554efcf65d46f96a515806e7e99a \ file://gdata/gdata-types.h;endline=20;md5=7399b111aac8718da13888fc634be6ef" -DEPENDS = "libxml2 glib-2.0 libsoup-2.4" +DEPENDS = "libxml2 glib-2.0 libsoup-2.4 intltool-native" -inherit gnomebase pkgconfig autotools-brokensep gettext +inherit gnomebase pkgconfig autotools-brokensep gettext gtk-doc SRC_URI[archive.md5sum] = "ec5262cbcb07b63b58d45aa3ac636096" SRC_URI[archive.sha256sum] = "fb244138276a5ce98510b0e2408bbf6f9ce0fd8cdcf86f07cd4be38afbb7c2bc" diff --git a/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb b/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb index b33fc850ff..fd8f6898e3 100644 --- a/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb +++ b/meta-gnome/recipes-gnome/libgnome/libgnomecanvas_2.30.3.bb @@ -3,7 +3,7 @@ LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605" SECTION = "x11/gnome/libs" -inherit gnome +inherit gnomebase gtk-doc # intltool to provide IT_PROG_INTLTOOL # configure: line 12654: syntax error near unexpected token `0.35.0' @@ -13,13 +13,7 @@ DEPENDS = "gtk+ libglade libart-lgpl xineramaproto intltool-native" SRC_URI[archive.md5sum] = "ffcbb719c671ff5cd86e59aeba8d0b92" SRC_URI[archive.sha256sum] = "859b78e08489fce4d5c15c676fec1cd79782f115f516e8ad8bed6abcb8dedd40" -EXTRA_OECONF = "--disable-gtk-doc" - FILES_${PN} += "${libdir}/libglade/*/libcanvas.so" FILES_${PN}-dbg += "${libdir}/libglade/*/.debug/" FILES_${PN}-dev += "${libdir}/libglade/*/libcanvas*.la" FILES_${PN}-staticdev += "${libdir}/libglade/*/libcanvas*.a" - -do_configure_prepend() { - sed -i -e s:docs::g ${S}/Makefile.am -} diff --git a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb index 48ec450592..d14806215c 100644 --- a/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb +++ b/meta-gnome/recipes-gnome/libgnome/libgnomekbd_2.32.0.bb @@ -12,11 +12,7 @@ SRC_URI[archive.md5sum] = "de32a6e3e3464b566eecdc4332bf34bd" SRC_URI[archive.sha256sum] = "ddd52c4cc7d83ad7ef964a1bcb4db87407e65b00ffc3e70c088ca4ee7383d256" do_configure_append() { - find ${S} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g - find ${S} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g + find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g + find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g } - - - - diff --git a/meta-gnome/recipes-gnome/libgnome/libgnomeui.inc b/meta-gnome/recipes-gnome/libgnome/libgnomeui.inc index b000d72498..26997b851d 100644 --- a/meta-gnome/recipes-gnome/libgnome/libgnomeui.inc +++ b/meta-gnome/recipes-gnome/libgnome/libgnomeui.inc @@ -3,7 +3,7 @@ LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605" SECTION = "x11/gnome/libs" -DEPENDS = "libgnome libgnomecanvas libbonoboui libgnome-keyring" +DEPENDS = "libgnome libgnomecanvas libbonoboui libgnome-keyring intltool-native" inherit gnome diff --git a/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.26.bb b/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb index d08552ab7b..d7bbd3bafd 100644 --- a/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.26.bb +++ b/meta-gnome/recipes-gnome/libgsf/libgsf_1.14.29.bb @@ -9,8 +9,8 @@ DEPENDS= "libxml2 bzip2 glib-2.0 zlib" inherit autotools pkgconfig gnome gconf -SRC_URI[archive.md5sum] = "3c5a4fbd16a727c36974078e6d0e9575" -SRC_URI[archive.sha256sum] = "8919e725aadd785380350c8dec7427d82cf33164bc9a9a549df9440a0c3da6d5" +SRC_URI[archive.md5sum] = "3056b94bb3281dbc8311371bfc23cf72" +SRC_URI[archive.sha256sum] = "4d8bca33424eb711acdb6a060cb488b132063d699c4fa201db24c2c89c62529c" GNOME_COMPRESS_TYPE = "xz" @@ -18,9 +18,6 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[gdk-pixbuf] = "--with-gdk-pixbuf,--without-gdk-pixbuf,gdk-pixbuf" EXTRA_OECONF = "\ - --without-python \ - --without-gnome-vfs \ - --without-bonobo \ --disable-gtk-doc \ --with-bz2 \ " diff --git a/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb b/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb index 46ab1a052d..3cd7910769 100644 --- a/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb +++ b/meta-gnome/recipes-gnome/libgtkstylus/libgtkstylus_0.5.bb @@ -5,9 +5,9 @@ LICENSE = "LGPL-2.0+" LIC_FILES_CHKSUM = "file://tap.c;beginline=1;endline=20;md5=71756eeb144e9eeb177c69aa672b1635" PR = "r4" -inherit autotools +inherit autotools pkgconfig -SRC_URI = "http://burtonini.com/temp/${PN}-${PV}.tar.gz \ +SRC_URI = "http://burtonini.com/temp/${BP}.tar.gz \ file://gtkstylus.sh" SRC_URI[md5sum] = "fa1c82cd9fd2fafd7ff10d78eb5781c5" SRC_URI[sha256sum] = "383e0a22a537f653b8d41688277560f95678a042967198085ec7caa1a5cc2f4c" diff --git a/meta-gnome/recipes-gnome/libgtop/libgtop_2.28.2.bb b/meta-gnome/recipes-gnome/libgtop/libgtop_2.28.2.bb index d2fedfc18b..69a0f5c035 100644 --- a/meta-gnome/recipes-gnome/libgtop/libgtop_2.28.2.bb +++ b/meta-gnome/recipes-gnome/libgtop/libgtop_2.28.2.bb @@ -2,7 +2,7 @@ SUMMARY = "LibGTop2" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://copyright.txt;md5=dbc839bf158d19a20e661db14db7a58c" -inherit gnomebase lib_package +inherit gnomebase lib_package gtk-doc SRC_URI[archive.md5sum] = "ed44d736efd97d062b77621de6aff439" SRC_URI[archive.sha256sum] = "49958d7da1f76b257bfd0d557d8ed2b218a5ab0d31b59fed1c32ddf2a1529f5d" 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/libsecret/libsecret_0.18.bb b/meta-gnome/recipes-gnome/libsecret/libsecret_0.18.bb new file mode 100644 index 0000000000..dca3350033 --- /dev/null +++ b/meta-gnome/recipes-gnome/libsecret/libsecret_0.18.bb @@ -0,0 +1,14 @@ +SUMMARY = "libsecret is a library for storing and retrieving passwords and other secrets" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6" + +inherit gnomebase gtk-doc + +DEPENDS = "glib-2.0 libgcrypt" + +GNOME_COMPRESS_TYPE = "xz" + +EXTRA_OECONF += "--disable-manpages" + +SRC_URI[archive.md5sum] = "279d723cd005e80d1d304f74a3488acc" +SRC_URI[archive.sha256sum] = "0c73aa762dbd1e38ba7b03de350e23ce818cb810b0784375e95ef61e004b02e3" diff --git a/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb b/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb index 3eff298daa..e93c378ab9 100644 --- a/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb +++ b/meta-gnome/recipes-gnome/libxklavier/libxklavier_5.3.bb @@ -2,7 +2,7 @@ SUMMARY = "Helper lib for keyboard management" LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812" -DEPENDS = "xkbcomp gtk+ iso-codes libxi" +DEPENDS = "xkbcomp gtk+ iso-codes libxi libxml2" GNOME_COMPRESS_TYPE = "xz" diff --git a/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb b/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb index e0b8b93fba..9c48238ffb 100644 --- a/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb +++ b/meta-gnome/recipes-gnome/metacity/metacity_2.34.13.bb @@ -4,7 +4,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ file://src/include/main.h;endline=24;md5=c2242df552c880280315989bab626b90" -DEPENDS = "gsettings-desktop-schemas startup-notification gtk+ gconf gdk-pixbuf-native libcanberra gnome-doc-utils libgtop" +DEPENDS = "gsettings-desktop-schemas startup-notification gtk+ gconf gdk-pixbuf-native libcanberra gnome-doc-utils libgtop intltool-native" PR = "r1" inherit gnomebase update-alternatives @@ -19,8 +19,7 @@ ALTERNATIVE_${PN} = "x-window-manager" ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/metacity" ALTERNATIVE_PRIORITY = "10" -EXTRA_OECONF += "--disable-verbose \ - --disable-xinerama" +EXTRA_OECONF += "--disable-xinerama" do_configure_prepend() { sed -i -e 's:$ZENITY:$NOZENITY:g' -e 's:-Werror::g' ${S}/configure.in diff --git a/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb b/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb index 0714815f3a..4be3f084e5 100644 --- a/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb +++ b/meta-gnome/recipes-gnome/nautilus/nautilus_2.32.2.bb @@ -26,10 +26,10 @@ EXTRA_OECONF = " --disable-gtk-doc --disable-update-mimedb " export SYSROOT = "${STAGING_DIR_HOST}" do_configure() { - sed -i -e /docs/d Makefile.am + sed -i -e /docs/d ${S}/Makefile.am autotools_do_configure # We need native orbit-idl with target idl files. No way to say it in a clean way: - find -name Makefile -exec sed -i '/\/usr\/bin\/orbit-idl-2/{s:/usr/bin:${STAGING_BINDIR_NATIVE}:;s:/usr/share:${STAGING_DATADIR}:g}' {} \; + find ${B} -name Makefile -exec sed -i '/\/usr\/bin\/orbit-idl-2/{s:/usr/bin:${STAGING_BINDIR_NATIVE}:;s:/usr/share:${STAGING_DATADIR}:g}' {} \; } RDEPENDS_${PN} = "gvfs gvfsd-ftp gvfsd-sftp gvfsd-trash glib-networking" diff --git a/meta-gnome/recipes-gnome/nonworking/gcalctool/gcalctool_5.32.0.bb b/meta-gnome/recipes-gnome/nonworking/gcalctool/gcalctool_5.32.0.bb index f16551f84a..4812fe3876 100644 --- a/meta-gnome/recipes-gnome/nonworking/gcalctool/gcalctool_5.32.0.bb +++ b/meta-gnome/recipes-gnome/nonworking/gcalctool/gcalctool_5.32.0.bb @@ -6,7 +6,7 @@ LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}" -SRC_URI = "http://download.gnome.org/sources/${PN}/${SHRT_VER}/${PN}-${PV}.tar.gz" +SRC_URI = "http://download.gnome.org/sources/${BPN}/${SHRT_VER}/${BP}.tar.gz" SRC_URI[md5sum] = "48db927c6e7ee1d5395f953a8c184c98" SRC_URI[sha256sum] = "346f645c0fdef900642f6e9a2c18e7ba9a7ca9bc62fe2b08eb418f065a425c89" diff --git a/meta-gnome/recipes-gnome/pimlico/contacts.inc b/meta-gnome/recipes-gnome/pimlico/contacts.inc index 665efa37e2..6535bbf548 100644 --- a/meta-gnome/recipes-gnome/pimlico/contacts.inc +++ b/meta-gnome/recipes-gnome/pimlico/contacts.inc @@ -4,7 +4,7 @@ BUGTRACKER = "https://bugzilla.gnome.org/" LICENSE = "GPLv2 & GPLv2+ & GPLv3+ " SECTION = "x11" -DEPENDS = "glib-2.0 gtk+ evolution-data-server" +DEPENDS = "glib-2.0 gtk+ evolution-data-server intltool-native" RDEPENDS_${PN} = "libedata-book" inherit autotools pkgconfig diff --git a/meta-gnome/recipes-gnome/pimlico/dates.inc b/meta-gnome/recipes-gnome/pimlico/dates.inc index 9b078e13c0..12d2f83f94 100644 --- a/meta-gnome/recipes-gnome/pimlico/dates.inc +++ b/meta-gnome/recipes-gnome/pimlico/dates.inc @@ -5,7 +5,7 @@ BUGTRACKER = "https://bugzilla.gnome.org/" LICENSE = "GPLv2 & GPLv2+ & LGPLv2+" SECTION = "x11" -DEPENDS = "glib-2.0 gtk+ libglade evolution-data-server" +DEPENDS = "glib-2.0 gtk+ libglade evolution-data-server intltool-native" RDEPENDS_${PN} = "libedata-cal" inherit autotools gettext pkgconfig gtk-icon-cache diff --git a/meta-gnome/recipes-gnome/pimlico/tasks.inc b/meta-gnome/recipes-gnome/pimlico/tasks.inc index 44f036dd95..f8217dc3a1 100644 --- a/meta-gnome/recipes-gnome/pimlico/tasks.inc +++ b/meta-gnome/recipes-gnome/pimlico/tasks.inc @@ -5,6 +5,6 @@ BUGTRACKER = "https://bugzilla.gnome.org/" LICENSE = "GPLv2 & GPLv2+" SECTION = "x11" -DEPENDS = "glib-2.0 gtk+ evolution-data-server" +DEPENDS = "glib-2.0 gtk+ evolution-data-server intltool-native" inherit autotools pkgconfig gtk-icon-cache diff --git a/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb b/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb index 6664bfa2bc..a2b7e0c6a4 100644 --- a/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb +++ b/meta-gnome/recipes-gnome/themes/gnome-themes_2.32.1.bb @@ -8,7 +8,7 @@ SECTION = "x11/gnome" DEPENDS = "gtk-engines icon-naming-utils icon-naming-utils-native glib-2.0 intltool-native libxml-simple-perl-native" RDEPENDS_${PN} = "gnome-icon-theme" -EXTRA_OECONF += "--enable-all-themes --disable-hicolor-check \ +EXTRA_OECONF += "--enable-all-themes \ --with-iconmap=${STAGING_LIBDIR_NATIVE}/icon-naming-utils/icon-name-mapping \ " diff --git a/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch b/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch new file mode 100644 index 0000000000..a8c5bc7968 --- /dev/null +++ b/meta-gnome/recipes-gnome/wv/wv-1.2.4/0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch @@ -0,0 +1,29 @@ +From eebe1f27f4b27b05eb4b9b55f9df1124acf4d092 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Fri, 1 Aug 2014 12:25:24 +0200 +Subject: [PATCH] configure: use 'foreign' mode to avoid errors with missing + NEWS/AUTHORS/etc + +Upstream-status: Pending + +Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 3d7eef6..1784bdd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -41,7 +41,7 @@ VERSION=$WV_VERSION + PACKAGE=wv + + dnl Initialize automake stuff +-AM_INIT_AUTOMAKE($PACKAGE, $VERSION) ++AM_INIT_AUTOMAKE([foreign]) + + # Specify a configuration file + AM_CONFIG_HEADER(config.h) +-- +1.9.0 + diff --git a/meta-gnome/recipes-gnome/wv/wv-1.2.0/pkgconfig.patch b/meta-gnome/recipes-gnome/wv/wv-1.2.4/pkgconfig.patch index 136d89341f..136d89341f 100644 --- a/meta-gnome/recipes-gnome/wv/wv-1.2.0/pkgconfig.patch +++ b/meta-gnome/recipes-gnome/wv/wv-1.2.4/pkgconfig.patch diff --git a/meta-gnome/recipes-gnome/wv/wv_1.2.0.bb b/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb index 1e385d3135..6489c6f19f 100644 --- a/meta-gnome/recipes-gnome/wv/wv_1.2.0.bb +++ b/meta-gnome/recipes-gnome/wv/wv_1.2.4.bb @@ -4,12 +4,14 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=6cbca01f1c9178aca280e8ff64d85b2f" DEPENDS = "libgsf glib-2.0 libpng" -PR = "r5" SRC_URI = "${SOURCEFORGE_MIRROR}/wvware/wv-${PV}.tar.gz \ - file://pkgconfig.patch" -SRC_URI[md5sum] = "b6319d5e75611fe2210453b5feb82c0c" -SRC_URI[sha256sum] = "a76f44468e78591e6d510d326702e7c3999d2b9dd3ab8ab8c1c9811fd5b111e4" + file://pkgconfig.patch \ + file://0001-configure-use-foreign-mode-to-avoid-errors-with-miss.patch \ + " + +SRC_URI[md5sum] = "c1861c560491f121e12917fa76970ac5" +SRC_URI[sha256sum] = "673109910e22d4cf94cc8be4dcb9a0c41b5fbdb1736d4b7bdc7778894d57c2d6" inherit autotools pkgconfig 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 fb15900cf9..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,6 +4,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" PR = "r2" +PNBLACKLIST[zenity] ?= "BROKEN: doesn't build with B!=S" + DEPENDS = "gtk+ glib-2.0 libnotify gnome-doc-utils" inherit gnomebase diff --git a/meta-gnome/recipes-support/florence/florence_0.5.1.bb b/meta-gnome/recipes-support/florence/florence_0.5.1.bb index 56d8914651..9eab38575a 100644 --- a/meta-gnome/recipes-support/florence/florence_0.5.1.bb +++ b/meta-gnome/recipes-support/florence/florence_0.5.1.bb @@ -15,6 +15,6 @@ SRC_URI = "http://switch.dl.sourceforge.net/project/florence/florence/0.5.1/flor SRC_URI[md5sum] = "56d12e5b47c100d9df172aa5ddc0f609" SRC_URI[sha256sum] = "7b06ed84ef2b7b22d8d2cf0c7d013a05409bd82028240ac8719a68b192d5bc62" -inherit gettext autotools gconf +inherit gettext autotools gconf pkgconfig EXTRA_OECONF = "--disable-scrollkeeper --without-docs --without-at-spi --without-panelapplet" diff --git a/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb b/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb index 24c4d0ff6f..1e9ec4cfd7 100644 --- a/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb +++ b/meta-gnome/recipes-support/goffice/goffice_0.10.1.bb @@ -3,7 +3,7 @@ DESCRIPTION="Gnome Office Library" LICENSE="GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=6dc33ff21e1ba1ac1a2a1069d361e29e" -DEPENDS = "libxml-parser-perl-native glib-2.0 gtk+3 pango cairo libgsf libpcre libxml2 libart-lgpl librsvg" +DEPENDS = "libxml-parser-perl-native glib-2.0 gtk+3 pango cairo libgsf libpcre libxml2 libart-lgpl librsvg intltool" inherit gnomebase pkgconfig perlnative diff --git a/meta-oe/recipes-support/tracker/files/90tracker b/meta-gnome/recipes-support/tracker/files/90tracker index 9594b91689..9594b91689 100644 --- a/meta-oe/recipes-support/tracker/files/90tracker +++ b/meta-gnome/recipes-support/tracker/files/90tracker diff --git a/meta-oe/recipes-support/tracker/files/tracker-dbus.service b/meta-gnome/recipes-support/tracker/files/tracker-dbus.service index c97f49a89d..c97f49a89d 100644 --- a/meta-oe/recipes-support/tracker/files/tracker-dbus.service +++ b/meta-gnome/recipes-support/tracker/files/tracker-dbus.service diff --git a/meta-oe/recipes-support/tracker/files/tracker-miner-fs.service b/meta-gnome/recipes-support/tracker/files/tracker-miner-fs.service index 34d9a1e686..34d9a1e686 100644 --- a/meta-oe/recipes-support/tracker/files/tracker-miner-fs.service +++ b/meta-gnome/recipes-support/tracker/files/tracker-miner-fs.service diff --git a/meta-oe/recipes-support/tracker/files/tracker-store.service b/meta-gnome/recipes-support/tracker/files/tracker-store.service index c5037f3ab9..c5037f3ab9 100644 --- a/meta-oe/recipes-support/tracker/files/tracker-store.service +++ b/meta-gnome/recipes-support/tracker/files/tracker-store.service diff --git a/meta-oe/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch b/meta-gnome/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch index 8701f58547..8701f58547 100644 --- a/meta-oe/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch +++ b/meta-gnome/recipes-support/tracker/tracker-0.14.2/0005-Fix-missing-gobject-introspection-checks.patch diff --git a/meta-oe/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch b/meta-gnome/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch index 5dadda2a29..5dadda2a29 100644 --- a/meta-oe/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch +++ b/meta-gnome/recipes-support/tracker/tracker-0.14.2/enable-sqlite-crosscompile.patch diff --git a/meta-oe/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch b/meta-gnome/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch index 6c3d9de107..6c3d9de107 100644 --- a/meta-oe/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch +++ b/meta-gnome/recipes-support/tracker/tracker-0.14.2/fix-removable-media-detection.patch diff --git a/meta-oe/recipes-support/tracker/tracker_0.14.2.bb b/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb index eea8edc9b3..104e490a3a 100644 --- a/meta-oe/recipes-support/tracker/tracker_0.14.2.bb +++ b/meta-gnome/recipes-support/tracker/tracker_0.14.2.bb @@ -1,7 +1,8 @@ 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" +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/" @@ -25,6 +26,9 @@ SYSTEMD_AUTO_ENABLE = "disable" EXTRA_OECONF += " tracker_cv_have_ioprio=yes" +PACKAGECONFIG ?= "nautilus" +PACKAGECONFIG[nautilus] = "--enable-nautilus-extension,--disable-nautilus-extension,nautilus" + # Disable the desktop-centric miners EXTRA_OECONF += "--disable-miner-thunderbird --disable-miner-firefox \ --disable-miner-evolution --disable-miner-flickr" 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-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb b/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb index f51f616ddf..3f1e27e872 100644 --- a/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb +++ b/meta-gpe/recipes-graphics/gpe-scap/gpe-scap_1.4.bb @@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "762778421fae7c62d5ec6a9d27986166c0dbbe2ff51fc10bb9b8baff5c GPE_TARBALL_SUFFIX = "bz2" -inherit gpe autotools +inherit gpe autotools pkgconfig SRC_URI += "file://0001-Fix-the-ordering-of-LDADD-options-to-fix-a-compilati.patch \ file://use.libsoup-2.4.patch \ diff --git a/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb b/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb index 81095beea8..90960a2b05 100644 --- a/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb +++ b/meta-gpe/recipes-graphics/minilite/minilite_0.50.bb @@ -8,7 +8,7 @@ DEPENDS = "libgpewidget" inherit gpe -SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.gz \ +SRC_URI = "${GPE_MIRROR}/${BP}.tar.gz \ file://makefile-fix.patch" SRC_URI[md5sum] = "d81cecf269ad7bab0da960e6e7228332" SRC_URI[sha256sum] = "2b299425203246090a4949e034f1d0efb3ff99cd1591d0e16c57370a530b361e" diff --git a/meta-initramfs/classes/klibc.bbclass b/meta-initramfs/classes/klibc.bbclass index ca741cd8b7..f864104cfb 100644 --- a/meta-initramfs/classes/klibc.bbclass +++ b/meta-initramfs/classes/klibc.bbclass @@ -4,8 +4,8 @@ DEPENDS =+ "klcc-cross" # Default for klcc is to build static binaries. # Set CC = "${TARGET_PREFIX}klcc -shared" to build the dynamic version. -export CC = "${TARGET_PREFIX}klcc" -export CC_armv4_linux-gnueabi = "${TARGET_PREFIX}klcc -march=armv4 -mthumb-interwork" +export CC = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS}" +export CC_armv4_linux-gnueabi = "${TARGET_PREFIX}klcc ${TOOLCHAIN_OPTIONS} -march=armv4 -mthumb-interwork" export CPP = "${CC} -E" 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 d0176c53d4..9061c272fc 100644 --- a/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb +++ b/meta-initramfs/recipes-bsp/kexecboot/kexecboot_0.6.bb @@ -42,13 +42,20 @@ 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" do_install () { install -d ${D}${bindir} - install -m 0755 kexecboot ${D}${bindir}/ + install -m 0755 kexecboot ${D}${bindir} install -d ${D}/proc install -d ${D}/mnt install -d ${D}/dev diff --git a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb index 945ba0f21c..ea55a4dfbd 100644 --- a/meta-initramfs/recipes-devtools/dracut/dracut_git.bb +++ b/meta-initramfs/recipes-devtools/dracut/dracut_git.bb @@ -5,10 +5,10 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" PE = "1" -PV = "036" +PV = "038" -# v036 tag -SRCREV = "d50a99c5ceeb7107f624c5d3238d37509b2217a8" +# v038 tag +SRCREV = "267a109a81715c8957f14659593deb7b6255d40e" SRC_URI = "git://git.kernel.org/pub/scm/boot/dracut/dracut.git" S = "${WORKDIR}/git" @@ -33,7 +33,8 @@ FILES_${PN} += "${datadir}/bash-completion \ ${libdir}/kernel \ " -RDEPENDS_${PN} = "systemd findutils cpio util-linux-blkid bash ldd" +# '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 \ diff --git a/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.3.bb b/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb index 2f4afce063..2f4afce063 100644 --- a/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.3.bb +++ b/meta-initramfs/recipes-devtools/klibc/klcc-cross_2.0.4.bb diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/armv4-fix-v4bx.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch index 6bb384bb0b..6bb384bb0b 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/armv4-fix-v4bx.patch +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/armv4-fix-v4bx.patch diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch new file mode 100644 index 0000000000..9bc4835dcd --- /dev/null +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klcc-consider-sysroot.patch @@ -0,0 +1,14 @@ +diff --git a/klcc/klcc.in b/klcc/klcc.in +index 43d0984..61e9385 100644 +--- a/klcc/klcc.in ++++ b/klcc/klcc.in +@@ -204,6 +204,9 @@ while ( defined($a = shift(@ARGV)) ) { + # Libraries + push(@libs, $a); + push(@libs, shift(@ARGV)) if ( $2 eq '' ); ++ } elsif ( $a =~ /^--([sysroot=])(.*)$/ ) { ++ # Override gcc encoded sysroot ++ push(@ccopt, $a); + } else { + die "$0: unknown option: $a\n"; + } diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/klibc-config-eabi.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch index 316c80a926..316c80a926 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/klibc-config-eabi.patch +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-config-eabi.patch diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/klibc-linux-libc-dev.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch index 204306475f..204306475f 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/klibc-linux-libc-dev.patch +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/klibc-linux-libc-dev.patch diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/staging.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch index 400864bb2f..400864bb2f 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/staging.patch +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/staging.patch diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/use-env-for-perl.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch index eac128cc09..eac128cc09 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.3/use-env-for-perl.patch +++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/use-env-for-perl.patch diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.3.bb b/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb index c835fd647a..c835fd647a 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.3.bb +++ b/meta-initramfs/recipes-devtools/klibc/klibc-static-utils_2.0.4.bb diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.3.bb b/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb index fc53bece0e..06e71cb7b8 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.3.bb +++ b/meta-initramfs/recipes-devtools/klibc/klibc-utils_2.0.4.bb @@ -10,3 +10,5 @@ KLIBC_UTILS_PKGNAME = "klibc-utils" require klibc-utils.inc require klibc.inc + +DEPENDS = "klibc" diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc index b4f0cab8c7..9f445e1cb2 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc.inc +++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc @@ -5,7 +5,7 @@ SECTION = "libs" LICENSE = "BSD-3-Clause & GPL-2.0 & MIT & Zlib" LIC_FILES_CHKSUM = "file://usr/klibc/LICENSE;md5=d75181f10e998c21eb147f6d2e43ce8b" DEPENDS = "linux-libc-headers perl-native" -SRCREV = "f0440baf7f2dc1d9a25863c184d0a8fb73c4ee6c" +SRCREV = "7763dd33e5b8eed4b9e3c583c02c10176fd550d3" SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git" SRC_URI_append_linux-gnueabi = " file://klibc-config-eabi.patch \ @@ -16,6 +16,7 @@ SRC_URI_append_linux-uclibceabi = " file://klibc-config-eabi.patch \ " SRC_URI += "file://klibc-linux-libc-dev.patch \ file://staging.patch \ + file://klcc-consider-sysroot.patch \ " S = "${WORKDIR}/git" @@ -23,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/klibc/klibc_2.0.3.bb b/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb index bc80f382fe..bc80f382fe 100644 --- a/meta-initramfs/recipes-devtools/klibc/klibc_2.0.3.bb +++ b/meta-initramfs/recipes-devtools/klibc/klibc_2.0.4.bb 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/x86_basename.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch index 200fb1dd9e..77a1c01a1c 100644 --- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_basename.patch @@ -11,4 +11,4 @@ + "entry: %s\n", strrchr(sysfs_name,'/') + 1); return -1; } -
\ No newline at end of file + diff --git a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch index 14f4d2ada9..cad6951547 100644 --- a/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch +++ b/meta-initramfs/recipes-kernel/kexec/kexec-tools-klibc-2.0.2/x86_vfscanf.patch @@ -16,7 +16,7 @@ - retno = vfscanf(fp, scanf_line, argptr); + + line = xmalloc(sizeof(line) * line_size); -+ while(fgets(line, sizeof(line), fp) != 0 ) { ++ while(fgets(line, sizeof(line), fp) != NULL ) { + line_size += MAX_LINE; + line = xrealloc(line,line_size); + } 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.10.bb b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.10.bb index 8c7f7177e9..a823e0fb31 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.10.bb @@ -13,6 +13,7 @@ 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" 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 new file mode 100644 index 0000000000..f3296c7e86 --- /dev/null +++ b/meta-initramfs/recipes-kernel/linux/linux-yocto-tiny-kexecboot_3.17.bb @@ -0,0 +1,26 @@ +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-multimedia/recipes-connectivity/gupnp/gssdp_0.12.2.1.bb b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.12.2.1.bb deleted file mode 100644 index 29cc721c55..0000000000 --- a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.12.2.1.bb +++ /dev/null @@ -1,5 +0,0 @@ -require gssdp.inc - -SRC_URI = "http://download.gnome.org/sources/${BPN}/0.12/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "8ac3a544ef0dcf8caaf7c249d2a50dc2" -SRC_URI[sha256sum] = "928aa257815d044fdbfc740f5799530d41897947b5d7854173f636b36d728414" diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.13.2.bb b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.13.2.bb deleted file mode 100644 index c308fa01a9..0000000000 --- a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.13.2.bb +++ /dev/null @@ -1,8 +0,0 @@ -require gssdp.inc - -SRC_URI = "http://download.gnome.org/sources/${BPN}/0.13/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "758ed423cdd258a9a22d59c321b535ed" -SRC_URI[sha256sum] = "8f663f8a72b66254f5c20a3610ff853ac8d00bf6f253828e37e51579caa34dce" - -# This is a development release so don't prefer it -DEFAULT_PREFERENCE = "-1" diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb new file mode 100644 index 0000000000..9457abc5c2 --- /dev/null +++ b/meta-multimedia/recipes-connectivity/gupnp/gssdp_0.14.8.bb @@ -0,0 +1,9 @@ +require gssdp.inc + +inherit gtk-doc + +PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk,gtk+3" + +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.10.3.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.10.3.bb deleted file mode 100644 index 5f8e73a076..0000000000 --- a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.10.3.bb +++ /dev/null @@ -1,8 +0,0 @@ -require gupnp-av.inc - -SRC_URI = "http://download.gnome.org/sources/${BPN}/0.10/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "2c57e56b201765b2297946d8d99bd01c" -SRC_URI[sha256sum] = "d0dbb727d87bc9f2dc834455d14a30700b16b41a57e9dcde2e822b378ca8f1e2" - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://libgupnp-av/gupnp-av.h;beginline=1;endline=22;md5=d344132a8766641fcb11213ff5982086" diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.11.6.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.11.6.bb deleted file mode 100644 index b402dd84d5..0000000000 --- a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.11.6.bb +++ /dev/null @@ -1,10 +0,0 @@ -require gupnp-av.inc - -SRC_URI = "http://download.gnome.org/sources/${BPN}/0.11/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "ee200393207323f0b594f11d6184556c" -SRC_URI[sha256sum] = "401991336babb18c4ebed16e75e0b4d3e5848cff7bb878bbfd54a5d15203c4cc" - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://libgupnp-av/gupnp-av.h;beginline=1;endline=22;md5=2b47b7b5f799d2ebabe62b895e848820" - -DEFAULT_PREFERENCE = "-1" 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 new file mode 100644 index 0000000000..b8cfa27d4a --- /dev/null +++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.6.bb @@ -0,0 +1,8 @@ +require gupnp-av.inc + +SRC_URI = "${GNOME_MIRROR}/${BPN}/0.12/${BPN}-${PV}.tar.xz" +SRC_URI[md5sum] = "f56cdb269376a9e6cb062eb9960ccf57" +SRC_URI[sha256sum] = "e0553d60dd7c7277c65c02a68a270c4dcb9036a4c7075c902fc8111c6a5e6a44" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://libgupnp-av/gupnp-av.h;beginline=1;endline=22;md5=2b47b7b5f799d2ebabe62b895e848820" 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.18.4.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.18.4.bb deleted file mode 100644 index 4fb1d05e29..0000000000 --- a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.18.4.bb +++ /dev/null @@ -1,8 +0,0 @@ -require gupnp.inc - -SRC_URI = "http://download.gnome.org/sources/${BPN}/0.18/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "0e15fa26be7b1a0255e6dec07c285527" -SRC_URI[sha256sum] = "6b437d5711b212292c6080626b97480268310da636a6cf937ad6119291af78a1" - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://libgupnp/gupnp.h;beginline=1;endline=20;md5=28c49b17d623afc3335efc2e511879e1" diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.19.3.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.19.3.bb deleted file mode 100644 index bab74b8578..0000000000 --- a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.19.3.bb +++ /dev/null @@ -1,10 +0,0 @@ -require gupnp.inc - -SRC_URI = "http://download.gnome.org/sources/${BPN}/0.19/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "8165c3ad3d16576a0a99250b75df23f8" -SRC_URI[sha256sum] = "0d3097c419e1f8af0ff8ee91318d75e8896b3b92924cb1a5cf93010795a7118b" - -LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ - file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520" - -DEFAULT_PREFERENCE = "-1" diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb new file mode 100644 index 0000000000..c8c6164c3b --- /dev/null +++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp_0.20.12.bb @@ -0,0 +1,8 @@ +require gupnp.inc + +SRC_URI = "${GNOME_MIRROR}/${BPN}/0.20/${BPN}-${PV}.tar.xz" +SRC_URI[md5sum] = "c01aa6d3a78792b3a24591f036dd91f4" +SRC_URI[sha256sum] = "205d47b950a1b7190df1115f454cb38a44d71aacfec75d4287299e400e139b69" + +LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \ + file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520" diff --git a/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb b/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb index ab74cc4262..c4a4d99a46 100644 --- a/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb +++ b/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb @@ -4,7 +4,7 @@ HOMEPAGE = "http://www.streamboard.tv/oscam/" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -DEPENDS = "libusb1 openssl" +DEPENDS = "libusb1 openssl pcsc-lite" SRC_URI = "svn://www.streamboard.tv/svn/oscam;module=trunk;protocol=http" SRCREV = "9164" @@ -14,5 +14,5 @@ S = "${WORKDIR}/trunk" inherit cmake -EXTRA_OECMAKE = "-DDEFAULT_CS_CONFDIR=${sysconfdir}" +EXTRA_OECMAKE = "-DDEFAULT_CS_CONFDIR=${sysconfdir} -DCMAKE_BUILD_TYPE=Debug" 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-mkv/libebml/libebml_1.2.2.bb b/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb index eafbdb333f..877e176b86 100644 --- a/meta-multimedia/recipes-mkv/libebml/libebml_1.2.2.bb +++ b/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb @@ -3,8 +3,8 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=f14599a2f089f6ff8c97e2baa4e3d575" SRC_URI = "http://dl.matroska.org/downloads/libebml/libebml-${PV}.tar.bz2" -SRC_URI[md5sum] = "726cc2bd1a525929ff35ff9854c0ebab" -SRC_URI[sha256sum] = "476b08c6436a96c024a53e788e7c945ce9b41cd8654165763444aa7e5245b7a5" +SRC_URI[md5sum] = "efec729bf5a51e649e1d9d1f61c0ae7a" +SRC_URI[sha256sum] = "83b074d6b62715aa0080406ea84d33df2e44b5d874096640233a4db49b8096de" do_compile() { cd ${S}/make/linux diff --git a/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.3.0.bb b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb index cedd283b13..95ea93dbe6 100644 --- a/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.3.0.bb +++ b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb @@ -1,12 +1,12 @@ SUMMARY = "libmatroska is a C++ libary to parse Matroska files (.mkv and .mka)" LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=f14599a2f089f6ff8c97e2baa4e3d575" +LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c" DEPENDS = "libebml" SRC_URI = "http://dl.matroska.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2" -SRC_URI[md5sum] = "f4a8c411f09d39c754eb726efd616043" -SRC_URI[sha256sum] = "5231ec958571365e719a6fd3c220227af6cf0f14e0bd1bcf766ddbc068d18e69" +SRC_URI[md5sum] = "f61b2e5086f4bb9d24a43cc8af43a719" +SRC_URI[sha256sum] = "086f21873e925679babdabf793c3bb85c353d0cd79423543a3355e08e8a4efb7" do_compile() { cd ${S}/make/linux diff --git a/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_5.9.0.bb b/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb index 3b8eb3252b..dd613b31f0 100644 --- a/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_5.9.0.bb +++ b/meta-multimedia/recipes-mkv/mkvtoolnix/mkvtoolnix_git.bb @@ -6,11 +6,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "curl boost expat zlib libebml libmatroska libogg libvorbis bzip2 lzo file ruby-native" -SRC_URI = "http://www.bunkus.org/videotools/mkvtoolnix/sources/mkvtoolnix-${PV}.tar.bz2" -SRC_URI[md5sum] = "033621461ef8eb922fc1366e0a9a6f16" -SRC_URI[sha256sum] = "d913f531331c3332d2fb334c872ea19bfea7293dfedc4bf33ae7162e4efcbde1" +PV = "7.1.0+git${SRCPV}" +SRCREV = "0c89ff941bfdd9f3378312f293a84f13cf3e2a96" +SRC_URI = "git://github.com/mbunkus/mkvtoolnix.git" -inherit autotools gettext +S = "${WORKDIR}/git" + +inherit autotools-brokensep gettext # make sure rb files are used from sysroot, not from host # ruby-1.9.3-always-use-i386.patch is doing target_cpu=`echo $target_cpu | sed s/i.86/i386/` @@ -26,14 +28,14 @@ EXTRA_OECONF = " --with-boost-libdir=${STAGING_LIBDIR} \ # remove some hardcoded searchpaths do_configure_prepend() { - sed -i -e s:/usr/local/lib:${STAGING_LIBDIR}:g -e s:/usr/local/include:${STAGING_INCDIR}:g ac/ebml.m4 + sed -i -e s:/usr/local/lib:${STAGING_LIBDIR}:g -e s:/usr/local/include:${STAGING_INCDIR}:g ${S}/ac/ebml.m4 } # Yeah, no makefile do_compile() { - ./drake + ${S}/drake ${PARALLEL_MAKE} } do_install() { - ./drake install DESTDIR=${D} + ${S}/drake install DESTDIR=${D} } 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 0311551ef2..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,9 @@ LICENSE = "GPL-3.0" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "gtk+ libgnomeui libraw1394 libdc1394 libxv tiff" -SRC_URI = "${SOURCEFORGE_MIRROR}/project/${PN}/coriander-2/${PV}/${P}.tar.gz \ +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/media-service-upnp_0.4.0.bb b/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb index fb0194bc2b..871eb6a9ab 100644 --- a/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb +++ b/meta-multimedia/recipes-multimedia/dleyna/media-service-upnp_0.4.0.bb @@ -11,7 +11,7 @@ SRC_URI = "git://github.com/01org/${BPN}.git" SRCREV = "1996ecbe4a06c95d22f7d958e32e3d28f7a4a2e9" S = "${WORKDIR}/git" -inherit autotools +inherit autotools pkgconfig do_install_append() { install -d ${D}${bindir} 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 478b1c7d06..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,13 +5,15 @@ 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})" + DEPENDS = "dbus glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4" SRC_URI = "git://github.com/01org/${BPN}.git" SRCREV = "4a0b1d7cd8e22d3cb0e09c77c344ceccbcbbd34f" S = "${WORKDIR}/git" -inherit autotools +inherit autotools pkgconfig do_install_append() { install -d ${D}${bindir} diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb index 6358613986..b0bc824c5e 100644 --- a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb +++ b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_1.1.6.bb @@ -6,14 +6,18 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e198e9aac94943d0ec29a7dae8c29416" DEPENDS = "alsa-lib ncurses glib-2.0" -SRC_URI = "${SOURCEFORGE_MIRROR}/project/${PN}/${PN}-${PV}/${PN}-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BP}/${BP}.tar.gz" SRC_URI[md5sum] = "ae5aca6de824b4173667cbd3a310b263" SRC_URI[sha256sum] = "50853391d9ebeda9b4db787efb23f98b1e26b7296dd2bb5d0d96b5bccee2171c" -inherit autotools pkgconfig lib_package +inherit autotools-brokensep pkgconfig lib_package PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}" PACKAGECONFIG[sndfile] = "--enable-libsndfile-support,--disable-libsndfile-support,libsndfile1" PACKAGECONFIG[jack] = "--enable-jack-support,--disable-jack-support,jack" PACKAGECONFIG[pulseaudio] = "--enable-pulse-support,--disable-pulse-support,pulseaudio" PACKAGECONFIG[portaudio] = "--enable-portaudio-support,--disable-portaudio-support,portaudio" + +do_configure_prepend () { + rm -f ${S}/m4/* +} diff --git a/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb b/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb index 5bc77f235c..0ea5cb90ae 100755 --- a/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb +++ b/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_git.bb @@ -17,6 +17,6 @@ SRC_URI = "git://git.code.sf.net/p/libdc1394/code;branch=master;protocol=git \ S = "${WORKDIR}/git/${PN}" -inherit autotools pkgconfig +inherit autotools-brokensep pkgconfig EXTRA_OECONF += "--disable-doxygen-doc --disable-examples" 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 dd5c3a44c6..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,6 +6,8 @@ HOMEPAGE = "http://mpg123.de/" BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/" SECTION = "multimedia" +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) # pulseaudio takes precedence. @@ -13,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/libmpd-11.8.17/glibc-2.20.patch b/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch new file mode 100644 index 0000000000..4a2b25cdd9 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch @@ -0,0 +1,10 @@ +--- libmpd-11.8.17/src/libmpd-internal.h.orig 2014-09-30 04:08:50.963292427 +0200 ++++ libmpd-11.8.17/src/libmpd-internal.h 2014-09-30 04:08:30.595292223 +0200 +@@ -21,6 +21,7 @@ + #define __MPD_INTERNAL_LIB_ + + #include "libmpdclient.h" ++#include "config.h" + struct _MpdData_real; + + typedef struct _MpdData_real { diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb b/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb index b340c5a3c4..54d79109df 100644 --- a/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb +++ b/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb @@ -4,8 +4,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" HOMEPAGE ="http://sourceforge.net/projects/musicpd" DEPENDS = "glib-2.0" -SRC_URI = "http://www.musicpd.org/download/${PN}/${PV}/${PN}-${PV}.tar.gz" +SRC_URI = "http://www.musicpd.org/download/${BPN}/${PV}/${BP}.tar.gz \ + file://glibc-2.20.patch \ +" SRC_URI[md5sum] = "5ae3d87467d52aef3345407adb0a2488" SRC_URI[sha256sum] = "fe20326b0d10641f71c4673fae637bf9222a96e1712f71f170fca2fc34bf7a83" -inherit autotools +inherit autotools pkgconfig 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 c3bb581e3d..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" +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/${PN}/stable/${P}.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/openal/openal-soft_1.15.1.bb b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb index b956b849ec..ab038a71b4 100644 --- a/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb +++ b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.15.1.bb @@ -5,16 +5,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=facc3a8f452930083bbb95d82b989c35" inherit cmake -DEPENDS = "${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \ - ${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ -" - -SRC_URI = "http://kcat.strangesoft.net/openal-releases/${PN}-${PV}.tar.bz2" +SRC_URI = "http://kcat.strangesoft.net/openal-releases/${BP}.tar.bz2" SRC_URI[md5sum] = "ea83dec3b9655a27d28e7bc7cae9cd71" SRC_URI[sha256sum] = "0e29a162f0841ccb4135ce76e92e8a704589b680a85eddf76f898de5236eb056" -EXTRA_OECMAKE = "-DALSA=${@base_contains('DISTRO_FEATURES', 'alsa', 'TRUE', 'FALSE', d)} \ - -DPULSEAUDIO=${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'TRUE', 'FALSE', d)} \ +PACKAGECONFIG ?= "\ + ${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ " +PACKAGECONFIG[alsa] = "-DALSA=TRUE, -DALSA=FALSE, alsa-lib" +PACKAGECONFIG[pulseaudio] = "-DPULSEAUDIO=TRUE, -DPULSEAUDIO=FALSE, pulseaudio" +# currently doesn't work with libav-9 +# PKG_CHECK_MODULES(FFMPEG libavcodec>=53.61.100 libavformat>=53.32.100 libavutil>=51.35.100) +# but alffmpeg.c:418:44: error: 'AV_CH_LAYOUT_MONO' undeclared (first use in this function) +PACKAGECONFIG[examples] = "-DEXAMPLES=TRUE, -DEXAMPLES=FALSE, libav" FILES_${PN} += "${datadir}/openal" diff --git a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch new file mode 100644 index 0000000000..bb3d8b0efe --- /dev/null +++ b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch @@ -0,0 +1,18 @@ +Make sure libdir (SODIR) is created when running parallel make. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> + +Index: git/librtmp/Makefile +=================================================================== +--- git.orig/librtmp/Makefile ++++ git/librtmp/Makefile +@@ -107,6 +107,7 @@ install_base: librtmp.a librtmp.pc + cp librtmp.3 $(MANDIR)/man3 + + install_so: librtmp.$(SO_EXT) ++ -mkdir -p $(SODIR) + cp librtmp.$(SO_EXT) $(SODIR) + cd $(SODIR); ln -sf librtmp.$(SO_EXT) librtmp.$(SOX) + diff --git a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb new file mode 100644 index 0000000000..a1e650243f --- /dev/null +++ b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb @@ -0,0 +1,22 @@ +SUMMARY = "RTMP Dump" +DESCRIPTION = "rtmpdump is a toolkit for RTMP streams. All forms of RTMP are \ +supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://." +HOMEPAGE = "http://rtmpdump.mplayerhq.hu/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +DEPENDS = "openssl zlib" + +SRCREV = "3121324046e4ca1934e7e28293fc8326475d5053" +SRC_URI = " \ + git://git.ffmpeg.org/rtmpdump \ + file://fix-racing-build-issue.patch" + +S = "${WORKDIR}/git" + +inherit autotools-brokensep + +EXTRA_OEMAKE = " \ + CC='${CC}' LD='${LD} ${STAGING_LIBDIR}' \ + SYS=posix INC=-I=/usr/include DESTDIR=${D} \ + prefix=${prefix} libdir=${libdir} incdir=${includedir}/librtmp bindir=${bindir} mandir=${mandir}" diff --git a/meta-multimedia/recipes-multimedia/schroedinger/files/configure.ac.patch b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch index 2ed8d22c6b..2ed8d22c6b 100644 --- a/meta-multimedia/recipes-multimedia/schroedinger/files/configure.ac.patch +++ b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/configure.ac.patch diff --git a/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb index c338903f1e..d38eb94773 100644 --- a/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb +++ b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb @@ -18,5 +18,5 @@ SRC_URI[sha256sum] = "1e572a0735b92aca5746c4528f9bebd35aa0ccf8619b22fa2756137a8c EXTRA_OECONF += "STAGING_DIR=${STAGING_DIR_NATIVE}" -inherit autotools pkgconfig +inherit autotools-brokensep pkgconfig diff --git a/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb index 18d77bbdb9..758fec99b7 100644 --- a/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb +++ b/meta-multimedia/recipes-multimedia/sox/sox_14.4.0.bb @@ -4,7 +4,7 @@ and can apply different effects and filters to the audio data." HOMEPAGE = "http://sox.sourceforge.net" SECTION = "audio" -DEPENDS = "libpng libav libsndfile1" +DEPENDS = "libpng libav libsndfile1 libvorbis" PR = "r2" 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 58f5648211..0362f3919d 100644 --- a/meta-multimedia/recipes-multimedia/vlc/vlc.inc +++ b/meta-multimedia/recipes-multimedia/vlc/vlc.inc @@ -5,17 +5,19 @@ SECTION = "multimedia" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "libfribidi libtool libgcrypt gst-plugins-bad virtual/libsdl \ - libsdl-image qt4-x11-free dbus dbus-glib libxml2 gnutls 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 \ +DEPENDS = "libfribidi libtool libgcrypt libgcrypt-native gst-plugins-bad \ + virtual/libsdl libsdl-image qt4-x11-free dbus dbus-glib libxml2 gnutls \ + 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 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 +inherit autotools gettext pkgconfig distro_features_check +# depends on libxinerama libxpm xcb-util-keysyms +REQUIRED_DISTRO_FEATURES = "x11" ARM_INSTRUCTION_SET = "arm" @@ -29,37 +31,37 @@ EXTRA_OECONF = "\ --enable-freetype \ --enable-sdl \ --enable-png \ - --enable-live555 --enable-tremor \ + --enable-tremor \ --enable-v4l2 --disable-aa --disable-faad \ --enable-dbus \ --without-contrib \ --without-kde-solid \ --disable-glx \ --enable-realrtsp \ + --disable-libtar \ ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}/moc4 \ ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}/rcc4 \ ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}/uic4 \ " +PACKAGECONFIG ?= " live555" PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad" PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52" PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" 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() { - cp ${STAGING_DATADIR}/aclocal/libgcrypt.m4 ${S}/m4/ - ./bootstrap - gnu-configize --force - libtoolize --force - #autoreconf --force -i +do_configure_prepend() { cp ${STAGING_DATADIR}/libtool/config.* ${S}/autotools/ || true - oe_runconf - rm config.log - #sed -i -e s:-L/usr/lib:-L${STAGING_LIBDIR}/:g ${S}/vlc-config - sed -i -e s:'$(MOC) $(DEFS) $(CPPFLAGS)':'$(MOC) $(DEFS)'\ -I${S}/include\ -DSYS_LINUX:g ${S}/modules/gui/qt4/Makefile - sed -i -e s:'${top_builddir_slash}libtool':${TARGET_SYS}-libtool:g ${S}/doltlibtool +} + +do_configure_append() { + sed -i -e s:'$(MOC) $(DEFS) $(CPPFLAGS)':'$(MOC) $(DEFS)'\ -I${B}/include\ -DSYS_LINUX:g ${B}/modules/gui/qt4/Makefile + sed -i -e s:'${top_builddir_slash}libtool':${TARGET_SYS}-libtool:g ${B}/doltlibtool } # This recipe packages vlc as a library as well, so qt4 dependencies diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch new file mode 100644 index 0000000000..ae80745d25 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0003-use-am-path-libgcrypt.patch @@ -0,0 +1,46 @@ +* The upstream tests for libgcrypt are awkward and not working. + - Requires libgcrypt-config, which seems broken? +* AM_PATH_LIBGCRYPT exists for a reason, why not use it? KISS. +* Upstream abandoned AM_PATH_LIBGCRYPT in the past...newer automake ok? + +Upstream status: Pending + +Index: vlc-2.1.4/configure.ac +=================================================================== +--- vlc-2.1.4.orig/configure.ac ++++ vlc-2.1.4/configure.ac +@@ -3940,25 +3940,19 @@ PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], + dnl + dnl libgcrypt + dnl ++GCRYPT_LIBVER=1 ++GCRYPT_REQ=1.1.94 + AC_ARG_ENABLE(libgcrypt, + [ --disable-libgcrypt gcrypt support (default enabled)]) + AS_IF([test "${enable_libgcrypt}" != "no"], [ +- AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [ +- libgcrypt-config --version >/dev/null || \ +- AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found]) +- AC_CHECK_LIB(gcrypt, gcry_control, [ +- have_libgcrypt="yes" +- GCRYPT_CFLAGS="`libgcrypt-config --cflags`" +- GCRYPT_LIBS="`libgcrypt-config --libs`" +- ], [ +- AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) +- ], [`libgcrypt-config --libs`]) +- ], [ +- AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) +- ], [#include <gcrypt.h>] +- ) ++ AM_PATH_LIBGCRYPT($GCRYPT_LIBVER:$GCRYPT_REQ, ++ [ ++ GCRYPT_CFLAGS="$LIBGCRYPT_CFLAGS" ++ GCRYPT_LIBS="$LIBGCRYPT_LIBS" ++ ],[ ++ AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.]) ++ ]) + ]) +- + AC_SUBST(GCRYPT_CFLAGS) + AC_SUBST(GCRYPT_LIBS) + AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"]) diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch new file mode 100644 index 0000000000..3dadb237e4 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-modules-gui-qt4-out-of-tree-build.patch @@ -0,0 +1,17 @@ +* modules/gui/qt4/Modules.am not B!=S friendly +* Simple solution to missing directories in ${B} + +Upstream status: Pending + +Index: vlc-2.1.4/modules/gui/qt4/Modules.am +=================================================================== +--- vlc-2.1.4.orig/modules/gui/qt4/Modules.am ++++ vlc-2.1.4/modules/gui/qt4/Modules.am +@@ -261,6 +261,7 @@ else + if HAVE_WIN32 + $(moc_verbose)$(MOC) -D_WIN32 $(DEFS) -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) $(CPPFLAGS_qt4) -o $@ $< + else ++ [ -d $(dir $@) ] || mkdir -p $(dir $@) + $(moc_verbose)$(MOC) $(DEFS) -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir) $(CPPFLAGS_qt4) -o $@ $< + endif + endif diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch new file mode 100644 index 0000000000..2d84ffd2f4 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-libpostproc-header-check.patch @@ -0,0 +1,17 @@ +* Also look for postprocess.h under libpostproc/ + +Upstream-status: Pending + +Index: vlc-2.1.4/configure.ac +=================================================================== +--- vlc-2.1.4.orig/configure.ac ++++ vlc-2.1.4/configure.ac +@@ -2444,7 +2444,7 @@ then + VLC_SAVE_FLAGS + CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}" + CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}" +- AC_CHECK_HEADERS(postproc/postprocess.h) ++ AC_CHECK_HEADERS(postproc/postprocess.h,[],[AC_CHECK_HEADERS(libpostproc/postprocess.h)]) + VLC_ADD_PLUGIN([postproc]) + VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS]) + VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS]) 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 46a27129cb..418f77cfcf 100644 --- a/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb +++ b/meta-multimedia/recipes-multimedia/vlc/vlc_2.1.4.bb @@ -5,6 +5,10 @@ EXTRA_OECONF += " --enable-libxml2=no" SRC_URI += "file://0001-enable-subdir-objects.patch \ file://0002-glibc-does-not-provide-strlcpy.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 953e6035a5..bbb2d1b5b2 100644 --- a/meta-networking/MAINTAINERS +++ b/meta-networking/MAINTAINERS @@ -26,6 +26,10 @@ Please keep this list in alphabetical order. Maintainers List (try to look for most precise areas first) COMMON -M: Joe MacDonald <joe.macdonald@windriver.com> +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/README b/meta-networking/README index 872b013cc8..e1ba27d83b 100644 --- a/meta-networking/README +++ b/meta-networking/README @@ -17,7 +17,19 @@ Dependencies This layer depends on: -URI: git://github.com/openembedded/oe-core.git +URI: git://github.com/openembedded/openembedded-core.git +branch: master +revision: HEAD + +For some recipes, the meta-oe layer is required: + +URI: git://github.com/openembedded/meta-openembedded.git +subdirectory: meta-oe +branch: master +revision: HEAD + +URI: git://github.com/openembedded/meta-openembedded.git +subdirectory: meta-python branch: master revision: HEAD diff --git a/meta-networking/conf/layer.conf b/meta-networking/conf/layer.conf index 39c2cebf56..63bb07d5a8 100644 --- a/meta-networking/conf/layer.conf +++ b/meta-networking/conf/layer.conf @@ -14,5 +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" LICENSE_PATH += "${LAYERDIR}/licenses" diff --git a/meta-networking/licenses/DMTF b/meta-networking/licenses/DMTF new file mode 100644 index 0000000000..54a28120ee --- /dev/null +++ b/meta-networking/licenses/DMTF @@ -0,0 +1,34 @@ +// Copyright 1998-2008 Distributed Management Task Force, Inc. (DMTF). +// All rights reserved. +// DMTF is a not-for-profit association of industry members dedicated +// to promoting enterprise and systems management and interoperability. +// DMTF specifications and documents may be reproduced by +// members and non-members, provided that correct attribution is given. +// As DMTF specifications may be revised from time to time, +// the particular version and release date should always be noted. +// +// Implementation of certain elements of this standard or proposed +// standard may be subject to third party patent rights, including +// provisional patent rights (herein "patent rights"). DMTF makes +// no representations to users of the standard as to the existence +// of such rights, and is not responsible to recognize, disclose, or +// identify any or all such third party patent right, owners or +// claimants, nor for any incomplete or inaccurate identification or +// disclosure of such rights, owners or claimants. DMTF shall have no +// liability to any party, in any manner or circumstance, under any +// legal theory whatsoever, for failure to recognize, disclose, or +// identify any such third party patent rights, or for such party's +// reliance on the standard or incorporation thereof in its product, +// protocols or testing procedures. DMTF shall have no liability to +// any party implementing such standard, whether such implementation +// is foreseeable or not, nor to any patent owner or claimant, and shall +// have no liability or responsibility for costs or losses incurred if +// a standard is withdrawn or modified after publication, and shall be +// indemnified and held harmless by any party implementing the +// standard from any and all claims of infringement by a patent owner +// for such implementations. +// +// For information about patents held by third-parties which have +// notified the DMTF that, in their opinion, such patent may relate to +// or impact implementations of DMTF standards, visit +// http://www.dmtf.org/about/policies/disclosures.php. 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/barnyard2/barnyard2-1.8/barnyard2-cross-fix.patch b/meta-networking/recipes-connectivity/barnyard2/barnyard2-1.8/barnyard2-cross-fix.patch deleted file mode 100644 index 7b5a60c2c5..0000000000 --- a/meta-networking/recipes-connectivity/barnyard2/barnyard2-1.8/barnyard2-cross-fix.patch +++ /dev/null @@ -1,24 +0,0 @@ -Upstream-Status: Pending - -Index: barnyard2-1.8/configure.in -=================================================================== ---- barnyard2-1.8.orig/configure.in 2010-08-03 15:12:06.000000000 +0400 -+++ barnyard2-1.8/configure.in 2010-08-03 15:13:46.000000000 +0400 -@@ -73,7 +73,7 @@ - # libpcap doesn't even LOOK at the timeout you give it under Linux - AC_DEFINE([PCAP_TIMEOUT_IGNORED],[1],[Define if pcap timeout is ignored]) - AC_SUBST(extra_incl) -- extra_incl="-I/usr/include/pcap" -+ extra_incl="-I=/usr/include/pcap" - ;; - *-hpux10*|*-hpux11*) - AC_DEFINE([HPUX],[1],[Define if HP-UX 10 or 11]) -@@ -230,7 +230,7 @@ - # In case INADDR_NONE is not defined (like on Solaris) - have_inaddr_none="no" - AC_MSG_CHECKING([for INADDR_NONE]) --AC_RUN_IFELSE( -+AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ - #include <sys/types.h> diff --git a/meta-networking/recipes-connectivity/barnyard2/barnyard2_1.8.bb b/meta-networking/recipes-connectivity/barnyard2/barnyard2_1.8.bb deleted file mode 100644 index 14acdac66e..0000000000 --- a/meta-networking/recipes-connectivity/barnyard2/barnyard2_1.8.bb +++ /dev/null @@ -1,18 +0,0 @@ -DESCRIPTION = "Barnyard2 is a fork of the original barnyard project, designed specifically for Snort's new unified2 file format" -HOMEPAGE = "http://www.securixlive.com/barnyard2/" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "libpcap" - -SRC_URI = " \ - http://www.securixlive.com/download/barnyard2/${BP}.tar.gz \ - file://barnyard2-cross-fix.patch \ - " -SRC_URI[md5sum] = "72fc6c490db6ea6a0f46c27d24998067" -SRC_URI[sha256sum] = "1abfe6530d721debd98921421722b02c844c289564730b1e85729e4915b2bb7a" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--enable-prelude --enable-gre --without-mysql" - -CONFFILES_${PN} = "${sysconfdir}/barnyard2.conf" diff --git a/meta-networking/recipes-connectivity/cyassl/cyassl_3.3.0.bb b/meta-networking/recipes-connectivity/cyassl/cyassl_3.3.0.bb new file mode 100644 index 0000000000..b6f852dc2a --- /dev/null +++ b/meta-networking/recipes-connectivity/cyassl/cyassl_3.3.0.bb @@ -0,0 +1,18 @@ +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 \ + a full TLS 1.2 client and server." +HOMEPAGE = "http://www.yassl.com/yaSSL/Products-cyassl.html" +BUGTRACKER = "http://github.com/cyassl/cyassl/issues" +SECTION = "libs/network" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI = "http://www.yassl.com/${BP}.zip" + +SRC_URI[md5sum] = "0303eb0f2f9065a1207d9104ab0eba7c" +SRC_URI[sha256sum] = "e51583ea1e4d64537553922d67a96360312811dffef58d4c05506aa98a296fe3" + +inherit autotools + diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/disable-pre-ANSI-compilers.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/disable-pre-ANSI-compilers.patch deleted file mode 100644 index a7fa61c798..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/disable-pre-ANSI-compilers.patch +++ /dev/null @@ -1,16 +0,0 @@ -Upstream-Status: Pending - -disable pre-ANSI compilers - -Signed-off-by: Chunrong Guo <b40290@freescale.com> ---- inetutils-1.9.1/configure.ac 2012-01-06 22:05:05.000000000 +0800 -+++ inetutils-1.9.1/configure.ac 2012-11-12 14:05:30.756957063 +0800 -@@ -586,7 +586,7 @@ - #include <arpa/tftp.h>]) - - ### Checks for compiler characteristics. --AM_C_PROTOTYPES dnl FIXME: Does inetutils even compile on pre-ANSI compilers? -+#AM_C_PROTOTYPES dnl FIXME: Does inetutils even compile on pre-ANSI compilers? - AC_C_CONST - - dnl See if `weak refs' are possible; these make it possible (with shared diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/remove-gets.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/remove-gets.patch deleted file mode 100644 index 61d16e3a74..0000000000 --- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/remove-gets.patch +++ /dev/null @@ -1,21 +0,0 @@ -Uptream-Status: Pending - -remove gets function - -Signed-off-by: Chunrong Guo <b40290@freescale.com> ---- inetutils-1.9.1.org/lib/stdio.in.h 2012-01-06 22:11:13.000000000 +0800 -+++ inetutils-1.9.1/lib/stdio.in.h 2012-11-12 14:30:49.044958001 +0800 -@@ -715,9 +715,13 @@ - /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning. Assume it is - always declared, since it is required by C89. */ -+#if defined gets -+#undef gets - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif - -+#endif -+ - - #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ - struct obstack; diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/fix-disable-ipv6.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/fix-disable-ipv6.patch index bd3ae476bd..bd3ae476bd 100644 --- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/fix-disable-ipv6.patch +++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/fix-disable-ipv6.patch diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch index 3da4e9f55a..3da4e9f55a 100644 --- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch +++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.8-0003-wchar.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.8-0003-wchar.patch index b13bb9229f..b13bb9229f 100644 --- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.8-0003-wchar.patch +++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.8-0003-wchar.patch diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.9-PATH_PROCNET_DEV.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.9-PATH_PROCNET_DEV.patch index 2592989a90..2592989a90 100644 --- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/inetutils-1.9-PATH_PROCNET_DEV.patch +++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/inetutils-1.9-PATH_PROCNET_DEV.patch diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rexec.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rexec.xinetd.inetutils index 80aed36ffb..80aed36ffb 100644 --- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rexec.xinetd.inetutils +++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rexec.xinetd.inetutils diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rlogin.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rlogin.xinetd.inetutils index 00dbf935bb..00dbf935bb 100644 --- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rlogin.xinetd.inetutils +++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rlogin.xinetd.inetutils diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rsh.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rsh.xinetd.inetutils index ad59b62076..ad59b62076 100644 --- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/rsh.xinetd.inetutils +++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/rsh.xinetd.inetutils diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/telnet.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/telnet.xinetd.inetutils index 2a2a12e3ad..2a2a12e3ad 100644 --- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/telnet.xinetd.inetutils +++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/telnet.xinetd.inetutils diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/tftpd.xinetd.inetutils b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/tftpd.xinetd.inetutils index f549163394..f549163394 100644 --- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/tftpd.xinetd.inetutils +++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/tftpd.xinetd.inetutils diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/version.patch b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/version.patch index ac3181ddb2..1caa2d39d1 100644 --- a/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.1/version.patch +++ b/meta-networking/recipes-connectivity/inetutils/inetutils-1.9.2/version.patch @@ -11,7 +11,7 @@ Signed-off-by: Chunrong Guo <b40290@freescale.com> -AC_INIT([GNU inetutils], - m4_esyscmd([build-aux/git-version-gen .tarball-version 's/inetutils-/v/;s/_/./g']), -+AC_INIT([GNU inetutils],[1.9.1], ++AC_INIT([GNU inetutils],[1.9.2], [bug-inetutils@gnu.org]) AC_CONFIG_SRCDIR([src/inetd.c]) diff --git a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.1.bb b/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb index 0e47015c0e..e46133efb2 100644 --- a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.1.bb +++ b/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.2.bb @@ -8,11 +8,8 @@ LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=0c7051aef9219dc7237f206c5c4179a7" -PR = "r1" SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \ - file://disable-pre-ANSI-compilers.patch \ file://version.patch \ - file://remove-gets.patch \ file://inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch \ file://inetutils-1.8-0003-wchar.patch \ file://rexec.xinetd.inetutils \ @@ -23,10 +20,10 @@ SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.gz \ file://inetutils-1.9-PATH_PROCNET_DEV.patch \ " -SRC_URI[md5sum] = "944f7196a2b3dba2d400e9088576000c" -SRC_URI[sha256sum] = "02a9ebde8a198cb85f87545b9d88fb103a183958139864a85fe9e027ad79ff2b" +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)}" @@ -37,6 +34,7 @@ PACKAGECONFIG[uucpd] = "--enable-uucpd,--disable-uucpd,readline" EXTRA_OECONF = "--with-ncurses-include-dir=${STAGING_INCDIR} \ ${noipv6} \ + inetutils_cv_path_login=${base_bindir}/login \ --with-libreadline-prefix=${STAGING_LIBDIR} \ --enable-rpath=no \ " 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 3a9692f86f..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" @@ -12,7 +13,8 @@ SRC_URI[sha256sum] = "21b1e2e1cb0e288b0ec8fcfd9fed449914e0f8e6fc273706bd5b3d4f6a S = "${WORKDIR}/${BPN}-1.18" -DEPENDS="virtual/kernel" +PACKAGE_ARCH = "${MACHINE_ARCH}" +DEPENDS = "virtual/kernel" EXTRA_OEMAKE="CROSS_COMPILE=${TARGET_PREFIX} CC='${CC} ${LDFLAGS}' \ KERNEL_DIR=${STAGING_KERNEL_DIR} " diff --git a/meta-networking/recipes-connectivity/snort/files/0001-libpcap-search-sysroot-for-headers.patch b/meta-networking/recipes-connectivity/snort/snort/0001-libpcap-search-sysroot-for-headers.patch index 54c2a9521b..54c2a9521b 100644 --- a/meta-networking/recipes-connectivity/snort/files/0001-libpcap-search-sysroot-for-headers.patch +++ b/meta-networking/recipes-connectivity/snort/snort/0001-libpcap-search-sysroot-for-headers.patch diff --git a/meta-networking/recipes-connectivity/snort/files/disable-dap-address-space-id.patch b/meta-networking/recipes-connectivity/snort/snort/disable-dap-address-space-id.patch index 39e5c9c03a..39e5c9c03a 100644 --- a/meta-networking/recipes-connectivity/snort/files/disable-dap-address-space-id.patch +++ b/meta-networking/recipes-connectivity/snort/snort/disable-dap-address-space-id.patch diff --git a/meta-networking/recipes-connectivity/snort/files/disable-inaddr-none.patch b/meta-networking/recipes-connectivity/snort/snort/disable-inaddr-none.patch index 9dafe63459..9dafe63459 100644 --- a/meta-networking/recipes-connectivity/snort/files/disable-inaddr-none.patch +++ b/meta-networking/recipes-connectivity/snort/snort/disable-inaddr-none.patch diff --git a/meta-networking/recipes-connectivity/snort/snort/not-hardcoded-libdir.patch b/meta-networking/recipes-connectivity/snort/snort/not-hardcoded-libdir.patch new file mode 100644 index 0000000000..075ec138b1 --- /dev/null +++ b/meta-networking/recipes-connectivity/snort/snort/not-hardcoded-libdir.patch @@ -0,0 +1,279 @@ +[PATCH] do not hardcoded libdir + +Upstream-Status: Pending + +libdir is hardcoded to ${exec_prefix}/lib, but we want it to support multilib + +Signed-off-by: Roy.Li <rongqing.li@windriver.com> +--- + src/dynamic-examples/dynamic-preprocessor/Makefile.am | 2 +- + src/dynamic-examples/dynamic-rule/Makefile.am | 2 +- + src/dynamic-plugins/sf_engine/Makefile.am | 2 +- + src/dynamic-preprocessors/dcerpc2/Makefile.am | 2 +- + src/dynamic-preprocessors/dnp3/Makefile.am | 2 +- + src/dynamic-preprocessors/dns/Makefile.am | 2 +- + src/dynamic-preprocessors/file/Makefile.am | 2 +- + src/dynamic-preprocessors/ftptelnet/Makefile.am | 2 +- + src/dynamic-preprocessors/gtp/Makefile.am | 2 +- + src/dynamic-preprocessors/imap/Makefile.am | 2 +- + src/dynamic-preprocessors/modbus/Makefile.am | 2 +- + src/dynamic-preprocessors/pop/Makefile.am | 2 +- + src/dynamic-preprocessors/reputation/Makefile.am | 2 +- + src/dynamic-preprocessors/rzb_saac/Makefile.am | 2 +- + src/dynamic-preprocessors/sdf/Makefile.am | 2 +- + src/dynamic-preprocessors/sip/Makefile.am | 2 +- + src/dynamic-preprocessors/smtp/Makefile.am | 2 +- + src/dynamic-preprocessors/ssh/Makefile.am | 2 +- + src/dynamic-preprocessors/ssl/Makefile.am | 2 +- + 19 files changed, 19 insertions(+), 19 deletions(-) + +diff --git a/src/dynamic-examples/dynamic-preprocessor/Makefile.am b/src/dynamic-examples/dynamic-preprocessor/Makefile.am +index 255755e..1cafead 100644 +--- a/src/dynamic-examples/dynamic-preprocessor/Makefile.am ++++ b/src/dynamic-examples/dynamic-preprocessor/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include + +-noinst_libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++noinst_libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + noinst_lib_LTLIBRARIES = lib_sfdynamic_preprocessor_example.la + +diff --git a/src/dynamic-examples/dynamic-rule/Makefile.am b/src/dynamic-examples/dynamic-rule/Makefile.am +index e5338d2..82eb212 100644 +--- a/src/dynamic-examples/dynamic-rule/Makefile.am ++++ b/src/dynamic-examples/dynamic-rule/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include + +-noinst_libdir = ${exec_prefix}/lib/snort_dynamicrules ++noinst_libdir = ${exec_prefix}${base_libdir}/snort_dynamicrules + + noinst_lib_LTLIBRARIES = lib_sfdynamic_example_rule.la + +diff --git a/src/dynamic-plugins/sf_engine/Makefile.am b/src/dynamic-plugins/sf_engine/Makefile.am +index d6a6200..3d270c3 100644 +--- a/src/dynamic-plugins/sf_engine/Makefile.am ++++ b/src/dynamic-plugins/sf_engine/Makefile.am +@@ -5,7 +5,7 @@ INCLUDES = @INCLUDES@ + + lib_LTLIBRARIES = libsf_engine.la + +-libdir = ${exec_prefix}/lib/snort_dynamicengine ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicengine + + libsf_engine_la_LDFLAGS = -export-dynamic -module @XCCFLAGS@ + +diff --git a/src/dynamic-preprocessors/dcerpc2/Makefile.am b/src/dynamic-preprocessors/dcerpc2/Makefile.am +index 9843073..8a0caa5 100644 +--- a/src/dynamic-preprocessors/dcerpc2/Makefile.am ++++ b/src/dynamic-preprocessors/dcerpc2/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs -I$(srcdir)/includes + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_dce2_preproc.la + +diff --git a/src/dynamic-preprocessors/dnp3/Makefile.am b/src/dynamic-preprocessors/dnp3/Makefile.am +index 1358862..18e2178 100644 +--- a/src/dynamic-preprocessors/dnp3/Makefile.am ++++ b/src/dynamic-preprocessors/dnp3/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_dnp3_preproc.la + +diff --git a/src/dynamic-preprocessors/dns/Makefile.am b/src/dynamic-preprocessors/dns/Makefile.am +index f22d90e..49d2f55 100644 +--- a/src/dynamic-preprocessors/dns/Makefile.am ++++ b/src/dynamic-preprocessors/dns/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_dns_preproc.la + +diff --git a/src/dynamic-preprocessors/file/Makefile.am b/src/dynamic-preprocessors/file/Makefile.am +index d71c0fd..834f7ac 100644 +--- a/src/dynamic-preprocessors/file/Makefile.am ++++ b/src/dynamic-preprocessors/file/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs -I./include + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_file_preproc.la + +diff --git a/src/dynamic-preprocessors/ftptelnet/Makefile.am b/src/dynamic-preprocessors/ftptelnet/Makefile.am +index fe73835..3457231 100644 +--- a/src/dynamic-preprocessors/ftptelnet/Makefile.am ++++ b/src/dynamic-preprocessors/ftptelnet/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs -I$(srcdir)/includes + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_ftptelnet_preproc.la + +diff --git a/src/dynamic-preprocessors/gtp/Makefile.am b/src/dynamic-preprocessors/gtp/Makefile.am +index 51c961a..d7fb9b2 100644 +--- a/src/dynamic-preprocessors/gtp/Makefile.am ++++ b/src/dynamic-preprocessors/gtp/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs -I$(srcdir)/includes + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_gtp_preproc.la + +diff --git a/src/dynamic-preprocessors/imap/Makefile.am b/src/dynamic-preprocessors/imap/Makefile.am +index 533e43d..9efcbc4 100644 +--- a/src/dynamic-preprocessors/imap/Makefile.am ++++ b/src/dynamic-preprocessors/imap/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_imap_preproc.la + +diff --git a/src/dynamic-preprocessors/modbus/Makefile.am b/src/dynamic-preprocessors/modbus/Makefile.am +index 05fc63e..e4f1415 100644 +--- a/src/dynamic-preprocessors/modbus/Makefile.am ++++ b/src/dynamic-preprocessors/modbus/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_modbus_preproc.la + +diff --git a/src/dynamic-preprocessors/pop/Makefile.am b/src/dynamic-preprocessors/pop/Makefile.am +index d4b07b3..1345bc6 100644 +--- a/src/dynamic-preprocessors/pop/Makefile.am ++++ b/src/dynamic-preprocessors/pop/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_pop_preproc.la + +diff --git a/src/dynamic-preprocessors/reputation/Makefile.am b/src/dynamic-preprocessors/reputation/Makefile.am +index 4e16142..14ba0cb 100644 +--- a/src/dynamic-preprocessors/reputation/Makefile.am ++++ b/src/dynamic-preprocessors/reputation/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs -I$(srcdir)/includes + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_reputation_preproc.la + +diff --git a/src/dynamic-preprocessors/rzb_saac/Makefile.am b/src/dynamic-preprocessors/rzb_saac/Makefile.am +index f0b0912..6ebe04e 100644 +--- a/src/dynamic-preprocessors/rzb_saac/Makefile.am ++++ b/src/dynamic-preprocessors/rzb_saac/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs + +-pkglibdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++pkglibdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + pkglib_LTLIBRARIES = sf_rzb_saac_preproc.la + +diff --git a/src/dynamic-preprocessors/sdf/Makefile.am b/src/dynamic-preprocessors/sdf/Makefile.am +index 97b416e..04b5ce5 100644 +--- a/src/dynamic-preprocessors/sdf/Makefile.am ++++ b/src/dynamic-preprocessors/sdf/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_sdf_preproc.la + +diff --git a/src/dynamic-preprocessors/sip/Makefile.am b/src/dynamic-preprocessors/sip/Makefile.am +index 67ac1e1..b4f360f 100644 +--- a/src/dynamic-preprocessors/sip/Makefile.am ++++ b/src/dynamic-preprocessors/sip/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs -I$(srcdir)/includes + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_sip_preproc.la + +diff --git a/src/dynamic-preprocessors/smtp/Makefile.am b/src/dynamic-preprocessors/smtp/Makefile.am +index 3b5893f..96750df 100644 +--- a/src/dynamic-preprocessors/smtp/Makefile.am ++++ b/src/dynamic-preprocessors/smtp/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_smtp_preproc.la + +diff --git a/src/dynamic-preprocessors/ssh/Makefile.am b/src/dynamic-preprocessors/ssh/Makefile.am +index 0eab645..5ae9b80 100644 +--- a/src/dynamic-preprocessors/ssh/Makefile.am ++++ b/src/dynamic-preprocessors/ssh/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_ssh_preproc.la + +diff --git a/src/dynamic-preprocessors/ssl/Makefile.am b/src/dynamic-preprocessors/ssl/Makefile.am +index 4ac2943..8d3abe3 100644 +--- a/src/dynamic-preprocessors/ssl/Makefile.am ++++ b/src/dynamic-preprocessors/ssl/Makefile.am +@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS=foreign no-dependencies + + INCLUDES = -I../include -I${srcdir}/../libs + +-libdir = ${exec_prefix}/lib/snort_dynamicpreprocessor ++libdir = ${exec_prefix}${base_libdir}/snort_dynamicpreprocessor + + lib_LTLIBRARIES = libsf_ssl_preproc.la + +-- +1.9.1 + diff --git a/meta-networking/recipes-connectivity/snort/files/snort.init b/meta-networking/recipes-connectivity/snort/snort/snort.init index d8a00c43fc..d8a00c43fc 100644 --- a/meta-networking/recipes-connectivity/snort/files/snort.init +++ b/meta-networking/recipes-connectivity/snort/snort/snort.init diff --git a/meta-networking/recipes-connectivity/snort/snort_2.9.4.6.bb b/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb index acb1b1a88d..8f5175e797 100644 --- a/meta-networking/recipes-connectivity/snort/snort_2.9.4.6.bb +++ b/meta-networking/recipes-connectivity/snort/snort_2.9.6.0.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.snort.org/" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=78fa8ef966b48fbf9095e13cc92377c5" -DEPENDS = "libpcap libpcre daq libdnet" +DEPENDS = "libpcap libpcre daq libdnet util-linux" SRC_URI = " ${GENTOO_MIRROR}/${BP}.tar.gz;name=tarball \ @@ -11,12 +11,13 @@ SRC_URI = " ${GENTOO_MIRROR}/${BP}.tar.gz;name=tarball \ file://disable-inaddr-none.patch \ file://disable-dap-address-space-id.patch \ file://0001-libpcap-search-sysroot-for-headers.patch \ + file://not-hardcoded-libdir.patch \ " -SRC_URI[tarball.md5sum] = "4111df01a4f21bd1d328a18b76d625bd" -SRC_URI[tarball.sha256sum] = "cfaa5390b1840aaaa68a6c05a7077dd92cb916e6186a014baa451d43cdb0b3bc" +SRC_URI[tarball.md5sum] = "18111f6de3989ca89add36077a7c2659" +SRC_URI[tarball.sha256sum] = "3cc6c8a9b52f4c863a5736a73b4012aff340b50b5e002771b04d4877f47cd19e" -inherit autotools gettext update-rc.d +inherit autotools gettext update-rc.d pkgconfig INITSCRIPT_NAME = "snort" INITSCRIPT_PARAMS = "defaults" @@ -28,8 +29,16 @@ EXTRA_OECONF = " \ --enable-reload-error-restart \ --enable-targetbased \ --disable-static-daq \ + --with-dnet-includes=${STAGING_INCDIR} \ + --with-dnet-libraries=${STAGING_LIBDIR} \ " +# if you want to disable it, you need to patch configure.in first +# AC_CHECK_HEADERS([openssl/sha.h],, SHA_H="no") +# is called even with --without-openssl-includes +PACKAGECONFIG ?= "openssl" +PACKAGECONFIG[openssl] = "--with-openssl-includes=${STAGING_INCDIR} --with-openssl-libraries=${STAGING_LIBDIR}, --without-openssl-includes --without-openssl-libraries, openssl," + do_install_append() { install -d ${D}/${sysconfdir}/snort/rules install -d ${D}/${sysconfdir}/snort/preproc_rules @@ -69,5 +78,3 @@ FILES_${PN}-dev += " \ ${libdir}/snort_dynamicrules/*.so \ ${prefix}/src/snort_dynamicsrc \ " - -RRECOMMENDS_${PN} += "barnyard2" 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/autofs/autofs-5.0.7/autofs-5.0.6-fix-recursive-mount-deadlock.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.6-fix-recursive-mount-deadlock.patch deleted file mode 100644 index e6549a7c8f..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.6-fix-recursive-mount-deadlock.patch +++ /dev/null @@ -1,78 +0,0 @@ -autofs-5.0.6 - fix recursive mount deadlock - -From: Ian Kent <raven@themaw.net> - -Prior to the vfs-automount changes that went into 2.6.38 -and were finalized in 3.1 it was not possible to block -path walks into multi-mounts whose root was covered by -another mount. To deal with that a write lock was used -to ensure the mount tree construction was completed. This -restricts the types of recursively defined mount maps that -can be used and can lead to a deadlock during lookup. - -Now that we can prevent processes walking into multi-mounts -that are under construction we no longer need to use a -write lock. - -Also, in the patch below, a cache writelock is changed to -a read lock because a write lock isn't needed since the -map cache entry isn't being updated. ---- - - CHANGELOG | 1 + - daemon/direct.c | 14 ++++++++++++-- - 2 files changed, 13 insertions(+), 2 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 936c9ab..9cdad6e 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -12,6 +12,7 @@ - - configure.in: allow cross compilation. - - README: update mailing list subscription info. - - allow non root user to check status. -+- fix recursive mount deadlock. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/daemon/direct.c b/daemon/direct.c -index 7e2f0d7..3e09c5d 100644 ---- a/daemon/direct.c -+++ b/daemon/direct.c -@@ -1285,6 +1285,8 @@ int handle_packet_missing_direct(struct autofs_point *ap, autofs_packet_missing_ - struct timespec wait; - struct timeval now; - int ioctlfd, len, state; -+ unsigned int kver_major = get_kver_major(); -+ unsigned int kver_minor = get_kver_minor(); - - pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &state); - -@@ -1297,8 +1299,16 @@ int handle_packet_missing_direct(struct autofs_point *ap, autofs_packet_missing_ - * cache entry we will not be able to find the mapent. So - * we must take the source writelock to ensure the parent - * has mount is complete before we look for the entry. -+ * -+ * Since the vfs-automount kernel changes we can now block -+ * on covered mounts during mount tree construction so a -+ * write lock is no longer needed. So we now can handle a -+ * wider class of recursively define mount lookups. - */ -- master_source_writelock(ap->entry); -+ if (kver_major > 5 || (kver_major == 5 && kver_minor > 1)) -+ master_source_readlock(ap->entry); -+ else -+ master_source_writelock(ap->entry); - map = ap->entry->maps; - while (map) { - /* -@@ -1311,7 +1321,7 @@ int handle_packet_missing_direct(struct autofs_point *ap, autofs_packet_missing_ - } - - mc = map->mc; -- cache_writelock(mc); -+ cache_readlock(mc); - me = cache_lookup_ino(mc, pkt->dev, pkt->ino); - if (me) - break; diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.6-increase-file-map-read-buffer-size.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.6-increase-file-map-read-buffer-size.patch deleted file mode 100644 index 39b22212a7..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.6-increase-file-map-read-buffer-size.patch +++ /dev/null @@ -1,38 +0,0 @@ -autofs-5.0.6 - increase file map read buffer size - -From: Ian Kent <raven@themaw.net> - -The file map entry read buffer can be too small for larger -multi-mount map entries so increase it. ---- - - CHANGELOG | 1 + - include/automount.h | 2 +- - 2 files changed, 2 insertions(+), 1 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 9cdad6e..3bdf8a4 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -13,6 +13,7 @@ - - README: update mailing list subscription info. - - allow non root user to check status. - - fix recursive mount deadlock. -+- increase file map read buffer size. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/include/automount.h b/include/automount.h -index 561fcc2..37541f5 100644 ---- a/include/automount.h -+++ b/include/automount.h -@@ -233,7 +233,7 @@ int rmdir_path(struct autofs_point *ap, const char *path, dev_t dev); - #define AUTOFS_LOOKUP_VERSION 5 - - #define KEY_MAX_LEN NAME_MAX --#define MAPENT_MAX_LEN 4095 -+#define MAPENT_MAX_LEN 16384 - #define PARSE_MAX_BUF KEY_MAX_LEN + MAPENT_MAX_LEN + 2 - - int lookup_nss_read_master(struct master *master, time_t age); diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-README-update-mailing-list-subscription-info.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-README-update-mailing-list-subscription-info.patch deleted file mode 100644 index 99b61818ca..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-README-update-mailing-list-subscription-info.patch +++ /dev/null @@ -1,56 +0,0 @@ -autofs-5.0.7 - README: update mailing list subscription info - -From: Chris Packham <chris.packham@alliedtelesis.co.nz> - -Following the kernel.org compromise the mailing list was moved to -vger.kernel.org. Update the subscription info and add URLs for the gmane -mailing list archive. - -Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> ---- - - CHANGELOG | 1 + - README | 17 ++++++++++++++--- - 2 files changed, 15 insertions(+), 3 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index fe801e8..44c9fb2 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -10,6 +10,7 @@ - - fix null map entry order handling. - - make description of default MOUNT_WAIT setting clear. - - configure.in: allow cross compilation. -+- README: update mailing list subscription info. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/README b/README -index cef16a9..9024e64 100644 ---- a/README -+++ b/README -@@ -43,9 +43,20 @@ Fitzhardinge's <jeremy@goop.org> work on autofs 3. Further enhancements - have been made by Ian Kent <raven@themaw.net>. - - If you use or want to help develop autofs, please join the autofs --mailing list by visiting: -+mailing list by sending an email to: - -- http://linux.kernel.org/mailman/listinfo/autofs -+ majordomo@vger.kernel.org - --and folling the instructions there to subscribe to the autofs mailing list. -+With the body text: -+ -+ subscribe autofs -+ -+Once subscribed you can send patches to: -+ -+ autofs@vger.kernel.org -+ -+The autofs mailing list archive can be viewed on gmane: -+ -+ http://news.gmane.org/gmane.linux.kernel.autofs -+ http://blog.gmane.org/gmane.linux.kernel.autofs - diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-symlink-pseudo-option.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-symlink-pseudo-option.patch deleted file mode 100644 index b0440f4a51..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-symlink-pseudo-option.patch +++ /dev/null @@ -1,217 +0,0 @@ -autofs-5.0.7 - add symlink pseudo option - -From: Ian Kent <raven@themaw.net> - -Add a "symlink" pseudo option to tell the bind mount module to symlink -instead of bind when mounting mounts other than direct mounts and -non-root indirect mount offset mounts (aka. non-root multi-mount -entries). ---- - CHANGELOG | 1 + - include/automount.h | 3 +++ - lib/master_parse.y | 8 +++++++- - lib/master_tok.l | 1 + - man/auto.master.5.in | 8 ++++++++ - modules/mount_autofs.c | 5 +++++ - modules/mount_bind.c | 36 +++++++++++++++++++++++++++++++++++- - 7 files changed, 60 insertions(+), 2 deletions(-) - -diff --git a/CHANGELOG b/CHANGELOG -index c189483..247d334 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -32,6 +32,7 @@ - - fix wildcard multi map regression. - - fix file descriptor leak when reloading the daemon. - - depricate nosymlink pseudo option. -+- add symlink pseudo option. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/include/automount.h b/include/automount.h -index 37541f5..e72fa0d 100644 ---- a/include/automount.h -+++ b/include/automount.h -@@ -455,6 +455,9 @@ struct kernel_mod_version { - /* Don't use bind mounts even when system supports them */ - #define MOUNT_FLAG_NOBIND 0x0020 - -+/* Use symlinks instead of bind mounting local mounts */ -+#define MOUNT_FLAG_SYMLINK 0x0040 -+ - struct autofs_point { - pthread_t thid; - char *path; /* Mount point name */ -diff --git a/lib/master_parse.y b/lib/master_parse.y -index f925b5a..11caf5b 100644 ---- a/lib/master_parse.y -+++ b/lib/master_parse.y -@@ -57,6 +57,7 @@ static char *type; - static char *format; - static long timeout; - static long negative_timeout; -+static unsigned symlnk; - static unsigned nobind; - static unsigned ghost; - extern unsigned global_selection_options; -@@ -100,7 +101,7 @@ static int master_fprintf(FILE *, char *, ...); - %token COMMENT - %token MAP - %token OPT_TIMEOUT OPT_NTIMEOUT OPT_NOBIND OPT_NOGHOST OPT_GHOST OPT_VERBOSE --%token OPT_DEBUG OPT_RANDOM OPT_USE_WEIGHT -+%token OPT_DEBUG OPT_RANDOM OPT_USE_WEIGHT OPT_SYMLINK - %token COLON COMMA NL DDASH - %type <strtype> map - %type <strtype> options -@@ -186,6 +187,7 @@ line: - | PATH OPT_USE_WEIGHT { master_notify($1); YYABORT; } - | PATH OPT_DEBUG { master_notify($1); YYABORT; } - | PATH OPT_TIMEOUT { master_notify($1); YYABORT; } -+ | PATH OPT_SYMLINK { master_notify($1); YYABORT; } - | PATH OPT_NOBIND { master_notify($1); YYABORT; } - | PATH OPT_GHOST { master_notify($1); YYABORT; } - | PATH OPT_NOGHOST { master_notify($1); YYABORT; } -@@ -557,6 +559,7 @@ option: daemon_option - - daemon_option: OPT_TIMEOUT NUMBER { timeout = $2; } - | OPT_NTIMEOUT NUMBER { negative_timeout = $2; } -+ | OPT_SYMLINK { symlnk = 1; } - | OPT_NOBIND { nobind = 1; } - | OPT_NOGHOST { ghost = 0; } - | OPT_GHOST { ghost = 1; } -@@ -627,6 +630,7 @@ static void local_init_vars(void) - debug = 0; - timeout = -1; - negative_timeout = 0; -+ symlnk = 0; - nobind = 0; - ghost = defaults_get_browse_mode(); - random_selection = global_selection_options & MOUNT_FLAG_RANDOM_SELECT; -@@ -811,6 +815,8 @@ int master_parse_entry(const char *buffer, unsigned int default_timeout, unsigne - entry->ap->flags |= MOUNT_FLAG_RANDOM_SELECT; - if (use_weight) - entry->ap->flags |= MOUNT_FLAG_USE_WEIGHT_ONLY; -+ if (symlnk) -+ entry->ap->flags |= MOUNT_FLAG_SYMLINK; - if (negative_timeout) - entry->ap->negative_timeout = negative_timeout; - -diff --git a/lib/master_tok.l b/lib/master_tok.l -index 30abb15..f9b4e55 100644 ---- a/lib/master_tok.l -+++ b/lib/master_tok.l -@@ -361,6 +361,7 @@ OPTNTOUT (-n{OPTWS}|-n{OPTWS}={OPTWS}|--negative-timeout{OPTWS}|--negative-timeo - return(NUMBER); - } - -+ -?symlink { return(OPT_SYMLINK); } - -?nobind { return(OPT_NOBIND); } - -?nobrowse { return(OPT_NOGHOST); } - -g|--ghost|-?browse { return(OPT_GHOST); } -diff --git a/man/auto.master.5.in b/man/auto.master.5.in -index 8007542..bbea43a 100644 ---- a/man/auto.master.5.in -+++ b/man/auto.master.5.in -@@ -159,6 +159,14 @@ on individual map entries of both types. Bind mounting of NFS file - systems can also be prevented for specific map entrys by adding the - "port=" mount option to the entries. - .TP -+.I "symlink" -+This option makes bind mounting use a symlink instead of an actual bind -+mount. It is an autofs specific option that is a pseudo mount option and -+so is given without a leading dash. It may be used with indirect map -+entries only, either in the master map (so it effects all map entries) -+or with individual map entries. The option is ignored for direct mounts -+and non-root offest mount entries. -+.TP - .I "\-r, \-\-random-multimount-selection" - Enables the use of ramdom selection when choosing a host from a - list of replicated servers. This option is applied to this mount -diff --git a/modules/mount_autofs.c b/modules/mount_autofs.c -index ef16020..8c1e600 100644 ---- a/modules/mount_autofs.c -+++ b/modules/mount_autofs.c -@@ -51,6 +51,7 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, - int argc, status; - int nobind = ap->flags & MOUNT_FLAG_NOBIND; - int ghost = ap->flags & MOUNT_FLAG_GHOST; -+ int symlnk = ap->flags & MOUNT_FLAG_SYMLINK; - time_t timeout = ap->entry->maps->exp_timeout; - unsigned logopt = ap->logopt; - struct map_type_info *info; -@@ -120,6 +121,8 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, - nobind = 1; - else if (strncmp(cp, "browse", 6) == 0) - ghost = 1; -+ else if (strncmp(cp, "symlink", 7) == 0) -+ symlnk = 1; - else if (strncmp(cp, "timeout=", 8) == 0) { - char *val = strchr(cp, '='); - unsigned tout; -@@ -158,6 +161,8 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, - } - nap = entry->ap; - nap->parent = ap; -+ if (symlnk) -+ nap->flags |= MOUNT_FLAG_SYMLINK; - - argc = 1; - -diff --git a/modules/mount_bind.c b/modules/mount_bind.c -index 9bce686..4975294 100644 ---- a/modules/mount_bind.c -+++ b/modules/mount_bind.c -@@ -73,10 +73,44 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int - char buf[MAX_ERR_BUF]; - int err; - int i, len; -+ int symlnk = (*name != '/' && (ap->flags & MOUNT_FLAG_SYMLINK)); - - if (ap->flags & MOUNT_FLAG_REMOUNT) - return 0; - -+ /* Extract "symlink" pseudo-option which forces local filesystems -+ * to be symlinked instead of bound. -+ */ -+ if (*name != '/' && !symlnk && options) { -+ const char *comma; -+ int o_len = strlen(options) + 1; -+ -+ for (comma = options; *comma != '\0';) { -+ const char *cp; -+ const char *end; -+ -+ while (*comma == ',') -+ comma++; -+ -+ /* Skip leading white space */ -+ while (*comma == ' ' || *comma == '\t') -+ comma++; -+ -+ cp = comma; -+ while (*comma != '\0' && *comma != ',') -+ comma++; -+ -+ /* Skip trailing white space */ -+ end = comma - 1; -+ while (*comma == ' ' || *comma == '\t') -+ end--; -+ -+ o_len = end - cp + 1; -+ if (strncmp("symlink", cp, o_len) == 0) -+ symlnk = 1; -+ } -+ } -+ - /* Root offset of multi-mount */ - len = strlen(root); - if (root[len - 1] == '/') { -@@ -100,7 +134,7 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int - if (options == NULL || *options == '\0') - options = "defaults"; - -- if (bind_works) { -+ if (!symlnk && bind_works) { - int status, existed = 1; - - debug(ap->logopt, MODPREFIX "calling mkdir_path %s", fullpath); diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-timeout-option-description-to-man-page.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-timeout-option-description-to-man-page.patch deleted file mode 100644 index ac598dd729..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-add-timeout-option-description-to-man-page.patch +++ /dev/null @@ -1,42 +0,0 @@ -autofs-5.0.7 - add timeout option description to man page - -From: Ian Kent <ikent@redhat.com> - -The pseudo option used t set the timeout for map entries is one of -the most most frequently used autofs options but is not mentioned -in auto.master(5). ---- - - CHANGELOG | 1 + - man/auto.master.5.in | 5 +++++ - 2 files changed, 6 insertions(+), 0 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 93b9c26..7b8d185 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -6,6 +6,7 @@ - - fix parse buffer initialization. - - fix typo in automount(8). - - dont wait forever to restart. -+- add timeout option description to man page. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/man/auto.master.5.in b/man/auto.master.5.in -index 54269f8..21d7544 100644 ---- a/man/auto.master.5.in -+++ b/man/auto.master.5.in -@@ -167,6 +167,11 @@ server is specified in the map entry. If no server weights are given - then each available server will be tried in the order listed, within - proximity. - .TP -+.I "\-t, \-\-timeout <seconds>" -+Set the expire timeout for map entries. This option can be used to -+override the global default given either on the command line -+or in the configuration. -+.TP - .I "\-n, \-\-negative\-timeout <seconds>" - Set the timeout for caching failed key lookups. This option can be - used to override the global default given either on the command line diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-non-root-user-to-check-status.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-non-root-user-to-check-status.patch deleted file mode 100644 index 6020c31e23..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-non-root-user-to-check-status.patch +++ /dev/null @@ -1,69 +0,0 @@ -autofs-5.0.7 - allow non root user to check status - -From: Ian Kent <ikent@redhat.com> - - ---- - - CHANGELOG | 1 + - redhat/autofs.init.in | 20 +++++++++++++------- - 2 files changed, 14 insertions(+), 7 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 44c9fb2..936c9ab 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -11,6 +11,7 @@ - - make description of default MOUNT_WAIT setting clear. - - configure.in: allow cross compilation. - - README: update mailing list subscription info. -+- allow non root user to check status. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/redhat/autofs.init.in b/redhat/autofs.init.in -index cd5cb34..fe18b3e 100644 ---- a/redhat/autofs.init.in -+++ b/redhat/autofs.init.in -@@ -167,6 +167,19 @@ function usage_message() { - - RETVAL=0 - -+# allow non-root users to read status / usage -+ -+case "$1" in -+ status) -+ status -p @@autofspiddir@@/autofs.pid -l autofs $prog -+ exit 0; -+ ;; -+ usage) -+ usage_message -+ exit 0; -+ ;; -+esac -+ - # Only the root user may change the service status - if [ `id -u` -ne 0 ] && [ "$1" != "status" ]; then - echo "insufficient privilege to change service status" -@@ -184,9 +197,6 @@ case "$1" in - stop) - stop - ;; -- status) -- status -p @@autofspiddir@@/autofs.pid -l autofs $prog -- ;; - restart|force-reload) - restart - ;; -@@ -202,10 +212,6 @@ case "$1" in - restart - fi - ;; -- usage) -- usage_message -- exit 0 -- ;; - *) - usage_message - exit 2 diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-nsswitch_conf-to-not-contain-automount-lines.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-nsswitch_conf-to-not-contain-automount-lines.patch deleted file mode 100644 index c342d1072e..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-allow-nsswitch_conf-to-not-contain-automount-lines.patch +++ /dev/null @@ -1,50 +0,0 @@ -autofs-5.0.7 - Allow nsswitch.conf to not contain "automount:" lines - -From: Michael Tokarev <mjt@tls.msk.ru> - -Current code does not allow a case when nsswitch.conf -does not mention automount map at all, like all new -installations. It logs a rather unpleasant error -message instead: - - syntax error in nsswitch config near [ syntax error ] - -this patch has a minimal fix, to allo "file" to be empty. - -Whole parser in C is about 25 lines of code, the "grammar" -is trivial, and it is better to ditch all this yacc/lex -stuff, but that will be much more intrusive change. - -Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> -Cc: 682266@bugs.debian.org ---- - - CHANGELOG | 1 + - lib/nss_parse.y | 1 + - 2 files changed, 2 insertions(+), 0 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index bd0dd82..16ac2a0 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -16,6 +16,7 @@ - - increase file map read buffer size. - - handle new location of systemd. - - fix map entry duplicate offset detection. -+- Allow nsswitch.conf to not contain "automount:" lines. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/lib/nss_parse.y b/lib/nss_parse.y -index a39fda4..055e9d7 100644 ---- a/lib/nss_parse.y -+++ b/lib/nss_parse.y -@@ -72,6 +72,7 @@ file: { - nss_debug = YYDEBUG; - #endif - } sources NL -+ | /* empty */ - ; - - sources: nss_source diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-allow-cross-compilation-update.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-allow-cross-compilation-update.patch deleted file mode 100644 index a8bc3ce857..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-allow-cross-compilation-update.patch +++ /dev/null @@ -1,28 +0,0 @@ -autofs-5.0.7 - configure: allow cross compilation update - -From: Chris Packham <chris.packham@alliedtelesis.co.nz> - -Run "make distclean" to update configure. This should have been included -in 5936c738 when configure.in was updated but it was missed. ---- - - configure | 5 +---- - 1 files changed, 1 insertions(+), 4 deletions(-) - - -diff --git a/configure b/configure -index bf62203..ba3bba6 100755 ---- a/configure -+++ b/configure -@@ -5378,10 +5378,7 @@ DAEMON_LDFLAGS= - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc -fPIE works" >&5 - $as_echo_n "checking whether gcc -fPIE works... " >&6; } - 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 --See \`config.log' for more details" "$LINENO" 5; } -+ gcc_supports_pie=no - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-in-allow-cross-compilation.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-in-allow-cross-compilation.patch deleted file mode 100644 index ac18bd94bd..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-configure-in-allow-cross-compilation.patch +++ /dev/null @@ -1,41 +0,0 @@ -autofs-5.0.7 - configure.in: allow cross compilation - -From: Chris Packham <chris.packham@alliedtelesis.co.nz> - -The default behaviour of AC_RUN_IFELSE is to stop with an error if cross -compiling. Avoid this by providing the optional 4th argument to set -gcc_supports_pie=no if support for PIE cannot be detected. - -Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> ---- - - CHANGELOG | 1 + - configure.in | 2 +- - 2 files changed, 2 insertions(+), 1 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 961e340..fe801e8 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -9,6 +9,7 @@ - - add timeout option description to man page. - - fix null map entry order handling. - - make description of default MOUNT_WAIT setting clear. -+- configure.in: allow cross compilation. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/configure.in b/configure.in -index 1a24e34..90bda62 100644 ---- a/configure.in -+++ b/configure.in -@@ -307,7 +307,7 @@ DAEMON_CFLAGS= - DAEMON_LDFLAGS= - AC_MSG_CHECKING([whether gcc -fPIE works]) - AC_RUN_IFELSE([AC_LANG_PROGRAM([[]], [[int main(void) {return 0;}]])], -- [gcc_supports_pie=yes], [gcc_supports_pie=no]) -+ [gcc_supports_pie=yes], [gcc_supports_pie=no], [gcc_supports_pie=no]) - AC_MSG_RESULT([$gcc_supports_pie]) - if test $gcc_supports_pie = yes ; then - DAEMON_CFLAGS="-fPIE" diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-depricate-nosymlink-pseudo-option.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-depricate-nosymlink-pseudo-option.patch deleted file mode 100644 index c784de7c92..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-depricate-nosymlink-pseudo-option.patch +++ /dev/null @@ -1,40 +0,0 @@ -autofs-5.0.7 - depricate nosymlink pseudo option - -From: Ian Kent <raven@themaw.net> - -The undocumented "nosymlink" option was the only way to force local -NFS mounting until the more descriptive "nobind" option was added. - -So depricate the "nosymlink" option in favour of the "nobind" option. ---- - CHANGELOG | 1 + - modules/mount_nfs.c | 4 ++++ - 2 files changed, 5 insertions(+) - -diff --git a/CHANGELOG b/CHANGELOG -index a7ed212..c189483 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -31,6 +31,7 @@ - - dont fail on master map self include. - - fix wildcard multi map regression. - - fix file descriptor leak when reloading the daemon. -+- depricate nosymlink pseudo option. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/modules/mount_nfs.c b/modules/mount_nfs.c -index bbbb1de..e61320b 100644 ---- a/modules/mount_nfs.c -+++ b/modules/mount_nfs.c -@@ -125,6 +125,10 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int - - o_len = end - cp + 1; - if (strncmp("nosymlink", cp, o_len) == 0) { -+ warn(ap->logopt, MODPREFIX -+ "the \"nosymlink\" option is depricated " -+ "and will soon be removed, " -+ "use the \"nobind\" option instead"); - nosymlink = 1; - } else if (strncmp("nobind", cp, o_len) == 0) { - nobind = 1; diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-document-browse-option-in-man-page.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-document-browse-option-in-man-page.patch deleted file mode 100644 index 4641342d24..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-document-browse-option-in-man-page.patch +++ /dev/null @@ -1,46 +0,0 @@ -autofs-5.0.7 - document browse option in man page - -From: Ian Kent <raven@themaw.net> - -The "browse" option has remained undocumented for a long time. -Finally add a section for it to auto.master(5) making special -note of the potential performance implications. ---- - CHANGELOG | 1 + - man/auto.master.5.in | 11 +++++++++++ - 2 files changed, 12 insertions(+) - -diff --git a/CHANGELOG b/CHANGELOG -index ecdea0b..d8e4049 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -36,6 +36,7 @@ - - fix requires in spec file. - - fix libtirpc build option to require libtirpc-devel if needed. - - fix systemd unidir in spec file. -+- document browse option in man page. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/man/auto.master.5.in b/man/auto.master.5.in -index bbea43a..c552e56 100644 ---- a/man/auto.master.5.in -+++ b/man/auto.master.5.in -@@ -147,6 +147,17 @@ multiple file systems should be mounted (`multimounts'). If this option - is given, no file system is mounted at all if at least one file system - can't be mounted. - .TP -+.I "[no]browse" -+This is an autofs specific option that is a pseudo mount option and -+so is given without a leading dash. Use of the browse option pre-creates -+mount point directories for indirect mount maps so the map keys can be -+seen in a directory listing without being mounted. Use of this option -+can cause performance problem if the indirect map is large so it should -+be used with caution. The internal program default is to enable browse -+mode for indirect mounts but the default installed configuration overrides -+this by setting BROWSE_MODE to "no" because of the potential performance -+problem. -+.TP - .I "nobind" - This is an autofs specific option that is a pseudo mount option and - so is given without a leading dash. It may be used either in the master diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-fail-on-master-map-self-include.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-fail-on-master-map-self-include.patch deleted file mode 100644 index afb908b9e4..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-fail-on-master-map-self-include.patch +++ /dev/null @@ -1,59 +0,0 @@ -autofs-5.0.7 - dont fail on master map self include - -From: Ian Kent <raven@themaw.net> - -When reading the master map a self included file map should skip the source -and proceed to the next so, in this case, return an nss status that will -allow the map read to continue. In particular not NSS_STATUS_UNAVAIL which -causes the lookup to record a failure or NSS_STATUS_SUCCESS which indicates -a successful lookup and termintes the reading of sources. ---- - CHANGELOG | 1 + - modules/lookup_file.c | 7 ++++--- - 2 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/CHANGELOG b/CHANGELOG -index 39388a5..97d6f48 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -28,6 +28,7 @@ - - make yellow pages support optional. - - modules/replicated.c: use sin6_addr.s6_addr32. - - workaround missing GNU versionsort extension. -+- dont fail on master map self include. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/modules/lookup_file.c b/modules/lookup_file.c -index facb305..f37bed9 100644 ---- a/modules/lookup_file.c -+++ b/modules/lookup_file.c -@@ -397,8 +397,9 @@ int lookup_read_master(struct master *master, time_t age, void *context) - unsigned int path_len, ent_len; - int entry, cur_state; - -+ /* Don't return fail on self include, skip source */ - if (master->recurse) -- return NSS_STATUS_UNAVAIL; -+ return NSS_STATUS_TRYAGAIN; - - if (master->depth > MAX_INCLUDE_DEPTH) { - error(logopt, MODPREFIX -@@ -443,7 +444,7 @@ int lookup_read_master(struct master *master, time_t age, void *context) - - inc = check_master_self_include(master, ctxt); - if (inc) -- master->recurse = 1;; -+ master->recurse = 1; - master->depth++; - status = lookup_nss_read_master(master, age); - if (!status) { -@@ -645,7 +646,7 @@ int lookup_read_map(struct autofs_point *ap, time_t age, void *context) - mc = source->mc; - - if (source->recurse) -- return NSS_STATUS_UNAVAIL; -+ return NSS_STATUS_TRYAGAIN; - - if (source->depth > MAX_INCLUDE_DEPTH) { - error(ap->logopt, diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-schedule-new-alarms-after-readmap.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-schedule-new-alarms-after-readmap.patch deleted file mode 100644 index 64446874cd..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-schedule-new-alarms-after-readmap.patch +++ /dev/null @@ -1,69 +0,0 @@ -autofs-5.0.7 - don't schedule new alarms after readmap - -From: Leonardo Chiquitto <leonardo.lists@gmail.com> - -Currently, a new alarm is scheduled every time the daemon receives -a SIGHUP (map re-read) or SIGUSR1 (forced expiration). Besides that, -map re-reads started on demand when a map is found to be outdated -also generate a new alarm. - -Once added, these alarms are never deleted and hence increase the -number of times the daemon wakes up to run the expiration procedure. -After a couple of months, in setups with many mount points, it's -normal to see automount waking up every second to handle the -expiration timer. - -This patch removes the alarm scheduling from the readmap cleanup -routine and makes sure the alarm is re-added after the expiration -process only when it was not triggered by SIGUSR1. - -I couldn't think of any use case to justify keeping these alarms: -it's critical to have the alarm ticking every timeout/4 seconds, -but more than one periodic alarm running doesn't seem to make -sense. ---- - - CHANGELOG | 1 + - daemon/state.c | 6 +----- - 2 files changed, 2 insertions(+), 5 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index c9be73e..4cf5621 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -22,6 +22,7 @@ - - fix init script status return. - - fix use get_proximity() without libtirpc. - - don't use dirent d_type to filter out files in scandir() -+- don't schedule new alarms after readmap. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/daemon/state.c b/daemon/state.c -index b451c56..6e23022 100644 ---- a/daemon/state.c -+++ b/daemon/state.c -@@ -144,7 +144,7 @@ void expire_cleanup(void *arg) - ap->submount = 2; - } - -- if (!ap->submount) -+ if (ap->state == ST_EXPIRE && !ap->submount) - alarm_add(ap, ap->exp_runfreq); - - /* FALLTHROUGH */ -@@ -330,13 +330,9 @@ static void do_readmap_cleanup(void *arg) - ap = ra->ap; - - st_mutex_lock(); -- - ap->readmap_thread = 0; - st_set_done(ap); -- if (!ap->submount) -- alarm_add(ap, ap->exp_runfreq); - st_ready(ap); -- - st_mutex_unlock(); - - free(ra); diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-use-dirent-d_type-to-filter-out-files-in-scandir.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-use-dirent-d_type-to-filter-out-files-in-scandir.patch deleted file mode 100644 index 9c9d99b953..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-use-dirent-d_type-to-filter-out-files-in-scandir.patch +++ /dev/null @@ -1,41 +0,0 @@ -autofs-5.0.7 - don't use dirent d_type to filter out files in scandir() - -From: Leonardo Chiquitto <leonardo.lists@gmail.com> - -The "d_type" field of a dirent structure is not filled in by all -file systems (XFS being one example), so we can't rely on it to -check file types. ---- - - CHANGELOG | 1 + - modules/lookup_dir.c | 4 ---- - 2 files changed, 1 insertions(+), 4 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 460bd27..c9be73e 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -21,6 +21,7 @@ - - fix submount offset delete. - - fix init script status return. - - fix use get_proximity() without libtirpc. -+- don't use dirent d_type to filter out files in scandir() - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/modules/lookup_dir.c b/modules/lookup_dir.c -index 658cc29..33901c0 100644 ---- a/modules/lookup_dir.c -+++ b/modules/lookup_dir.c -@@ -103,10 +103,6 @@ static int acceptable_dirent_p(const struct dirent *e) - { - size_t namesz; - -- -- if (!(e->d_type == DT_REG || e->d_type == DT_LNK)) -- return 0; -- - namesz = strlen(e->d_name); - if (!namesz) - return 0; diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-wait-forever-to-restart.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-wait-forever-to-restart.patch deleted file mode 100644 index 9973b47faf..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-dont-wait-forever-to-restart.patch +++ /dev/null @@ -1,54 +0,0 @@ -autofs-5.0.7 - dont wait forever to restart - -From: Ian Kent <ikent@redhat.com> - -When restarting autofs the daemon must be stopped before it is started -again if it is to function properly. At the moment the init script waits -forever which is not ok if the daemon won't exit for some reason. - -So, if the daemon is still running after the stop, run stop() again, wait -a bit longer and if it still hasn't stopped kill it with a SIGKILL to clear -the way for the startup. ---- - - CHANGELOG | 1 + - redhat/autofs.init.in | 13 ++++++++++--- - 2 files changed, 11 insertions(+), 3 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 6051723..93b9c26 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -5,6 +5,7 @@ - - fix ipv6 proximity calculation. - - fix parse buffer initialization. - - fix typo in automount(8). -+- dont wait forever to restart. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/redhat/autofs.init.in b/redhat/autofs.init.in -index ec6d5d6..cd5cb34 100644 ---- a/redhat/autofs.init.in -+++ b/redhat/autofs.init.in -@@ -129,9 +129,16 @@ function restart() { - status autofs > /dev/null 2>&1 - if [ $? -eq 0 ]; then - stop -- while [ -n "`pidof $prog`" ] ; do -- sleep 5 -- done -+ if [ -n "`pidof $prog`" ]; then -+ # If we failed to stop, try at least one more time -+ # after waiting a little while -+ sleep 20 -+ stop -+ auto_pid=`pidof $prog` -+ if [ -n "$auto_pid" ]; then -+ kill -9 $auto_pid -+ fi -+ fi - fi - start - } diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-automounter-support-on-parisc.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-automounter-support-on-parisc.patch deleted file mode 100644 index e00fdc1901..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-automounter-support-on-parisc.patch +++ /dev/null @@ -1,24 +0,0 @@ -autofs-5.0.7 - fix automounter support on parisc - -From: Helge Deller <deller@gmx.de> - -This patch fixes automounter support on the parisc architecture with -64-bit kernel and 32-bit userspace. - -Signed-off-by: Helge Deller <deller@gmx.de> ---- - daemon/automount.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/daemon/automount.c b/daemon/automount.c -index 4a3eb3d..4c651cf 100644 ---- a/daemon/automount.c -+++ b/daemon/automount.c -@@ -610,6 +610,7 @@ static size_t get_kpkt_len(void) - if (strcmp(un.machine, "alpha") == 0 || - strcmp(un.machine, "ia64") == 0 || - strcmp(un.machine, "x86_64") == 0 || -+ strcmp(un.machine, "parisc64") == 0 || - strcmp(un.machine, "ppc64") == 0) - pkt_len += 4; - diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-file-descriptor-leak-when-reloading-the-daemon.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-file-descriptor-leak-when-reloading-the-daemon.patch deleted file mode 100644 index 8ce6c0f9e3..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-file-descriptor-leak-when-reloading-the-daemon.patch +++ /dev/null @@ -1,179 +0,0 @@ -autofs-5.0.7 - fix file descriptor leak when reloading the daemon - -From: Leonardo Chiquitto <leonardo.lists@gmail.com> - -A customer reported that AutoFS may leak file descriptors when some -maps are modified and the daemon reloaded. I'm able to reproduce the -problem on 5.0.7 by following these steps: - -1. Configure a simple direct mount: - -# cat /etc/auto.master -/- /etc/auto.direct - -# cat /etc/auto.direct -/nfs server:/nfs - -2. Start the automounter and do NOT trigger the mount - -3. Replace /etc/auto.direct with: - -# cat /etc/auto.direct -/nfs/1 server:/nfs -/nfs/2 server:/nfs - -4. Reload: - -# kill -HUP $(pidof automount) - ->From now on, every reload will leak a file descriptor: - -# ls -la /proc/$(pidof automount)/fd | grep /nfs -lr-x------ 1 root root 64 Aug 14 22:08 11 -> /nfs -lr-x------ 1 root root 64 Aug 14 22:08 12 -> /nfs -lr-x------ 1 root root 64 Aug 14 22:08 13 -> /nfs -lr-x------ 1 root root 64 Aug 14 22:08 14 -> /nfs -lr-x------ 1 root root 64 Aug 14 22:08 5 -> /nfs - -I've investigated the problem and discovered that the leak happens in -do_umount_autofs_direct(): - -- edit imk -The same leak is present in umount_autofs_offset() also. -Updated patch to cover that too. -- end edit - -int do_umount_autofs_direct(struct autofs_point *ap, struct mnt_list -*mnts, struct mapent *me) -{ -(...) - if (me->ioctlfd != -1) { - if (tree_is_mounted(mnts, me->key, MNTS_REAL)) { - error(ap->logopt, - "attempt to umount busy direct mount %s", - me->key); - return 1; - } - ioctlfd = me->ioctlfd; - } else // ioctlfd == -1 - ops->open(ap->logopt, &ioctlfd, me->dev, me->key); <= we open it here - - if (ioctlfd >= 0) { - unsigned int status = 1; - - rv = ops->askumount(ap->logopt, ioctlfd, &status); - /// at this point, rv == 0 and status == 0 - if (rv) { - char *estr = strerror_r(errno, buf, MAX_ERR_BUF); - error(ap->logopt, "ioctl failed: %s", estr); - return 1; - } else if (!status) { - /// at this point, ap->state == ST_READMAP - if (ap->state != ST_SHUTDOWN_FORCE) { - error(ap->logopt, - "ask umount returned busy for %s", - me->key); - return 1; <= we return here, without closing the fd - } else { - me->ioctlfd = -1; - ops->catatonic(ap->logopt, ioctlfd); - ops->close(ap->logopt, ioctlfd); - goto force_umount; - } -(...) ---- - CHANGELOG | 1 + - daemon/direct.c | 19 ++++++++++++++++--- - 2 files changed, 17 insertions(+), 3 deletions(-) - -diff --git a/CHANGELOG b/CHANGELOG -index 46ef335..a7ed212 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -30,6 +30,7 @@ - - workaround missing GNU versionsort extension. - - dont fail on master map self include. - - fix wildcard multi map regression. -+- fix file descriptor leak when reloading the daemon. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/daemon/direct.c b/daemon/direct.c -index 3e09c5d..228a666 100644 ---- a/daemon/direct.c -+++ b/daemon/direct.c -@@ -86,7 +86,8 @@ int do_umount_autofs_direct(struct autofs_point *ap, struct mnt_list *mnts, stru - { - struct ioctl_ops *ops = get_ioctl_ops(); - char buf[MAX_ERR_BUF]; -- int ioctlfd, rv, left, retries; -+ int ioctlfd = -1, rv, left, retries; -+ int opened = 0; - - left = umount_multi(ap, me->key, 0); - if (left) { -@@ -103,8 +104,10 @@ int do_umount_autofs_direct(struct autofs_point *ap, struct mnt_list *mnts, stru - return 1; - } - ioctlfd = me->ioctlfd; -- } else -+ } else { - ops->open(ap->logopt, &ioctlfd, me->dev, me->key); -+ opened = 1; -+ } - - if (ioctlfd >= 0) { - unsigned int status = 1; -@@ -113,12 +116,16 @@ int do_umount_autofs_direct(struct autofs_point *ap, struct mnt_list *mnts, stru - if (rv) { - char *estr = strerror_r(errno, buf, MAX_ERR_BUF); - error(ap->logopt, "ioctl failed: %s", estr); -+ if (opened && ioctlfd != -1) -+ ops->close(ap->logopt, ioctlfd); - return 1; - } else if (!status) { - if (ap->state != ST_SHUTDOWN_FORCE) { - error(ap->logopt, - "ask umount returned busy for %s", - me->key); -+ if (opened && ioctlfd != -1) -+ ops->close(ap->logopt, ioctlfd); - return 1; - } else { - me->ioctlfd = -1; -@@ -536,7 +543,8 @@ int umount_autofs_offset(struct autofs_point *ap, struct mapent *me) - { - struct ioctl_ops *ops = get_ioctl_ops(); - char buf[MAX_ERR_BUF]; -- int ioctlfd, rv = 1, retries; -+ int ioctlfd = -1, rv = 1, retries; -+ int opened = 0; - - if (me->ioctlfd != -1) { - if (is_mounted(_PATH_MOUNTED, me->key, MNTS_REAL)) { -@@ -554,6 +562,7 @@ int umount_autofs_offset(struct autofs_point *ap, struct mapent *me) - return 0; - } - ops->open(ap->logopt, &ioctlfd, me->dev, me->key); -+ opened = 1; - } - - if (ioctlfd >= 0) { -@@ -563,6 +572,8 @@ int umount_autofs_offset(struct autofs_point *ap, struct mapent *me) - if (rv) { - char *estr = strerror_r(errno, buf, MAX_ERR_BUF); - logerr("ioctl failed: %s", estr); -+ if (opened && ioctlfd != -1) -+ ops->close(ap->logopt, ioctlfd); - return 1; - } else if (!status) { - if (ap->state != ST_SHUTDOWN_FORCE) { -@@ -570,6 +581,8 @@ int umount_autofs_offset(struct autofs_point *ap, struct mapent *me) - error(ap->logopt, - "ask umount returned busy for %s", - me->key); -+ if (opened && ioctlfd != -1) -+ ops->close(ap->logopt, ioctlfd); - return 1; - } else { - me->ioctlfd = -1; diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-init-script-status-return.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-init-script-status-return.patch deleted file mode 100644 index a08d62fc3e..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-init-script-status-return.patch +++ /dev/null @@ -1,39 +0,0 @@ -autofs-5.0.7 - fix init script status return - -From: Ian Kent <ikent@redhat.com> - -The patch that added the piddir to configure to fix incorrect init -script status() function returns failed to actually return the value -to the user. ---- - - CHANGELOG | 1 + - redhat/autofs.init.in | 2 +- - 2 files changed, 2 insertions(+), 1 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 76c1f73..5bcb1af 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -19,6 +19,7 @@ - - Allow nsswitch.conf to not contain "automount:" lines. - - fix nobind man page description. - - fix submount offset delete. -+- fix init script status return. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/redhat/autofs.init.in b/redhat/autofs.init.in -index fe18b3e..9d008ff 100644 ---- a/redhat/autofs.init.in -+++ b/redhat/autofs.init.in -@@ -172,7 +172,7 @@ RETVAL=0 - case "$1" in - status) - status -p @@autofspiddir@@/autofs.pid -l autofs $prog -- exit 0; -+ exit $?; - ;; - usage) - usage_message diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-ipv6-proximity-calculation.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-ipv6-proximity-calculation.patch deleted file mode 100644 index b341ecdd50..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-ipv6-proximity-calculation.patch +++ /dev/null @@ -1,297 +0,0 @@ -autofs-5.0.7 - fix ipv6 proximity calculation - -From: Ian Kent <ikent@redhat.com> - -The socket based ioctl used to get interface information only -return IPv4 information. Change get_proximity() function to use -getifaddrs(3) instead. ---- - - CHANGELOG | 1 - modules/replicated.c | 149 ++++++++++++++------------------------------------ - 2 files changed, 42 insertions(+), 108 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index dc38580..34c70fa 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -2,6 +2,7 @@ - ======================= - - fix nobind sun escaped map entries. - - fix use cache entry after free in lookup_prune_one_cache(). -+- fix ipv6 proximity calculation. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/modules/replicated.c b/modules/replicated.c -index 78046c6..bd6003b 100644 ---- a/modules/replicated.c -+++ b/modules/replicated.c -@@ -52,6 +52,7 @@ - #include <net/if.h> - #include <netinet/in.h> - #include <netdb.h> -+#include <ifaddrs.h> - - #include "rpc_subs.h" - #include "replicated.h" -@@ -110,58 +111,18 @@ void seed_random(void) - return; - } - --static int alloc_ifreq(struct ifconf *ifc, int sock) --{ -- int ret, lastlen = ifc_last_len, len = ifc_buf_len; -- char err_buf[MAX_ERR_BUF], *buf; -- -- while (1) { -- buf = malloc(len); -- if (!buf) { -- char *estr = strerror_r(errno, err_buf, MAX_ERR_BUF); -- logerr("malloc: %s", estr); -- return 0; -- } -- -- ifc->ifc_len = len; -- ifc->ifc_req = (struct ifreq *) buf; -- -- ret = ioctl(sock, SIOCGIFCONF, ifc); -- if (ret == -1) { -- char *estr = strerror_r(errno, err_buf, MAX_ERR_BUF); -- logerr("ioctl: %s", estr); -- free(buf); -- return 0; -- } -- -- if (ifc->ifc_len <= lastlen) -- break; -- -- lastlen = ifc->ifc_len; -- len += MAX_IFC_BUF; -- free(buf); -- } -- -- if (lastlen != ifc_last_len) { -- ifc_last_len = lastlen; -- ifc_buf_len = len; -- } -- -- return 1; --} -- - static unsigned int get_proximity(struct sockaddr *host_addr) - { -+ struct ifaddrs *ifa = NULL; -+ struct ifaddrs *this; - struct sockaddr_in *addr, *msk_addr, *if_addr; - struct sockaddr_in6 *addr6, *msk6_addr, *if6_addr; - struct in_addr *hst_addr; - struct in6_addr *hst6_addr; - int addr_len; -- char buf[MAX_ERR_BUF], *ptr; -- struct ifconf ifc; -- struct ifreq *ifr, nmptr; -- int sock, ret, i; -+ char buf[MAX_ERR_BUF]; - uint32_t mask, ha, ia, *mask6, *ha6, *ia6; -+ int ret; - - addr = NULL; - addr6 = NULL; -@@ -170,13 +131,14 @@ static unsigned int get_proximity(struct sockaddr *host_addr) - mask6 = NULL; - ha6 = NULL; - ia6 = NULL; -+ ha = 0; - - switch (host_addr->sa_family) { - case AF_INET: - addr = (struct sockaddr_in *) host_addr; - hst_addr = (struct in_addr *) &addr->sin_addr; - ha = ntohl((uint32_t) hst_addr->s_addr); -- addr_len = sizeof(hst_addr); -+ addr_len = sizeof(*hst_addr); - break; - - case AF_INET6: -@@ -186,7 +148,7 @@ static unsigned int get_proximity(struct sockaddr *host_addr) - addr6 = (struct sockaddr_in6 *) host_addr; - hst6_addr = (struct in6_addr *) &addr6->sin6_addr; - ha6 = &hst6_addr->s6_addr32[0]; -- addr_len = sizeof(hst6_addr); -+ addr_len = sizeof(*hst6_addr); - break; - #endif - -@@ -194,36 +156,29 @@ static unsigned int get_proximity(struct sockaddr *host_addr) - return PROXIMITY_ERROR; - } - -- sock = open_sock(AF_INET, SOCK_DGRAM, 0); -- if (sock < 0) { -+ ret = getifaddrs(&ifa); -+ if (ret) { - char *estr = strerror_r(errno, buf, MAX_ERR_BUF); -- logerr("socket creation failed: %s", estr); -+ logerr("getifaddrs: %s", estr); - return PROXIMITY_ERROR; - } - -- if (!alloc_ifreq(&ifc, sock)) { -- close(sock); -- return PROXIMITY_ERROR; -- } -- -- /* For each interface */ -- -- /* Is the address a local interface */ -- i = 0; -- ptr = (char *) &ifc.ifc_buf[0]; -- -- while (ptr < (char *) ifc.ifc_req + ifc.ifc_len) { -- ifr = (struct ifreq *) ptr; -+ this = ifa; -+ while (this) { -+ if (this->ifa_flags & IFF_POINTOPOINT || -+ this->ifa_addr->sa_data == NULL) { -+ this = this->ifa_next; -+ continue; -+ } - -- switch (ifr->ifr_addr.sa_family) { -+ switch (this->ifa_addr->sa_family) { - case AF_INET: - if (host_addr->sa_family == AF_INET6) - break; -- if_addr = (struct sockaddr_in *) &ifr->ifr_addr; -+ if_addr = (struct sockaddr_in *) this->ifa_addr; - ret = memcmp(&if_addr->sin_addr, hst_addr, addr_len); - if (!ret) { -- close(sock); -- free(ifc.ifc_req); -+ freeifaddrs(ifa); - return PROXIMITY_LOCAL; - } - break; -@@ -234,55 +189,41 @@ static unsigned int get_proximity(struct sockaddr *host_addr) - #else - if (host_addr->sa_family == AF_INET) - break; -- -- if6_addr = (struct sockaddr_in6 *) &ifr->ifr_addr; -+ if6_addr = (struct sockaddr_in6 *) this->ifa_addr; - ret = memcmp(&if6_addr->sin6_addr, hst6_addr, addr_len); - if (!ret) { -- close(sock); -- free(ifc.ifc_req); -+ freeifaddrs(ifa); - return PROXIMITY_LOCAL; - } - #endif -- - default: - break; - } -- -- i++; -- ptr = (char *) &ifc.ifc_req[i]; -+ this = this->ifa_next; - } - -- i = 0; -- ptr = (char *) &ifc.ifc_buf[0]; -- -- while (ptr < (char *) ifc.ifc_req + ifc.ifc_len) { -- ifr = (struct ifreq *) ptr; -- -- nmptr = *ifr; -- ret = ioctl(sock, SIOCGIFNETMASK, &nmptr); -- if (ret == -1) { -- char *estr = strerror_r(errno, buf, MAX_ERR_BUF); -- logerr("ioctl: %s", estr); -- close(sock); -- free(ifc.ifc_req); -- return PROXIMITY_ERROR; -+ this = ifa; -+ while (this) { -+ if (this->ifa_flags & IFF_POINTOPOINT || -+ this->ifa_addr->sa_data == NULL) { -+ this = this->ifa_next; -+ continue; - } - -- switch (ifr->ifr_addr.sa_family) { -+ switch (this->ifa_addr->sa_family) { - case AF_INET: - if (host_addr->sa_family == AF_INET6) - break; -- if_addr = (struct sockaddr_in *) &ifr->ifr_addr; -+ if_addr = (struct sockaddr_in *) this->ifa_addr; - ia = ntohl((uint32_t) if_addr->sin_addr.s_addr); - -- /* Is the address within a localiy attached subnet */ -+ /* Is the address within a localy attached subnet */ - -- msk_addr = (struct sockaddr_in *) &nmptr.ifr_netmask; -+ msk_addr = (struct sockaddr_in *) this->ifa_netmask; - mask = ntohl((uint32_t) msk_addr->sin_addr.s_addr); - - if ((ia & mask) == (ha & mask)) { -- close(sock); -- free(ifc.ifc_req); -+ freeifaddrs(ifa); - return PROXIMITY_SUBNET; - } - -@@ -304,8 +245,7 @@ static unsigned int get_proximity(struct sockaddr *host_addr) - break; - - if ((ia & mask) == (ha & mask)) { -- close(sock); -- free(ifc.ifc_req); -+ freeifaddrs(ifa); - return PROXIMITY_NET; - } - break; -@@ -316,35 +256,28 @@ static unsigned int get_proximity(struct sockaddr *host_addr) - #else - if (host_addr->sa_family == AF_INET) - break; -- -- if6_addr = (struct sockaddr_in6 *) &ifr->ifr_addr; -+ if6_addr = (struct sockaddr_in6 *) this->ifa_addr; - ia6 = &if6_addr->sin6_addr.s6_addr32[0]; - - /* Is the address within the network of the interface */ - -- msk6_addr = (struct sockaddr_in6 *) &nmptr.ifr_netmask; -+ msk6_addr = (struct sockaddr_in6 *) this->ifa_netmask; - mask6 = &msk6_addr->sin6_addr.s6_addr32[0]; - - if (ipv6_mask_cmp(ha6, ia6, mask6)) { -- close(sock); -- free(ifc.ifc_req); -+ freeifaddrs(ifa); - return PROXIMITY_SUBNET; - } - - /* How do we define "local network" in ipv6? */ - #endif -- break; -- - default: - break; - } -- -- i++; -- ptr = (char *) &ifc.ifc_req[i]; -+ this = this->ifa_next; - } - -- close(sock); -- free(ifc.ifc_req); -+ freeifaddrs(ifa); - - return PROXIMITY_OTHER; - } diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-libtirpc-build-option.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-libtirpc-build-option.patch deleted file mode 100644 index 8ad2afacff..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-libtirpc-build-option.patch +++ /dev/null @@ -1,66 +0,0 @@ -autofs-5.0.7 - fix libtirpc build option - -From: Ian Kent <raven@themaw.net> - - ---- - CHANGELOG | 1 + - autofs.spec | 17 ++++++++++++++++- - 2 files changed, 17 insertions(+), 1 deletion(-) - -diff --git a/CHANGELOG b/CHANGELOG -index e848bcd..b6b2679 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -34,6 +34,7 @@ - - depricate nosymlink pseudo option. - - add symlink pseudo option. - - fix requires in spec file. -+- fix libtirpc build option to require libtirpc-devel if needed. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/autofs.spec b/autofs.spec -index 703f7a9..f77acc1 100644 ---- a/autofs.spec -+++ b/autofs.spec -@@ -12,6 +12,10 @@ - # disable them. - %define with_systemd %{?_without_systemd: 0} %{?!_without_systemd: 1} - -+# Use --without libtirpc in your rpmbuild command or force values to 0 to -+# disable them. -+%define with_libtirpc %{?_without_libtirpc: 0} %{?!_without_libtirpc: 1} -+ - Summary: A tool from automatically mounting and umounting filesystems. - Name: autofs - %define version 5.0.7 -@@ -25,6 +29,9 @@ Buildroot: %{_tmppath}/%{name}-tmp - %if %{with_systemd} - BuildRequires: systemd-units - %endif -+%if %{with_libtirpc} -+BuildRequires: libtirpc-devel -+%endif - BuildRequires: autoconf, hesiod-devel, openldap-devel, bison, flex, cyrus-sasl-devel - Requires: chkconfig - Requires: /bin/bash mktemp sed textutils sh-utils grep /bin/ps -@@ -72,9 +79,17 @@ echo %{version}-%{release} > .version - %define _unitdir %{?_unitdir:/lib/systemd/system} - %define systemd_configure_arg --with-systemd - %endif -+%if %{with_libtirpc} -+ %define libtirpc_configure_arg --with-libtirpc -+%endif - - %build --CFLAGS="$RPM_OPT_FLAGS -Wall" ./configure --libdir=%{_libdir} --disable-mount-locking --enable-ignore-busy --with-libtirpc %{?systemd_configure_arg:} -+CFLAGS="$RPM_OPT_FLAGS -Wall" \ -+./configure --libdir=%{_libdir} \ -+ --disable-mount-locking \ -+ --enable-ignore-busy \ -+ %{?systemd_configure_arg:} \ -+ %{?libtirpc_configure_arg:} - CFLAGS="$RPM_OPT_FLAGS -Wall" make initdir=/etc/rc.d/init.d DONTSTRIP=1 - - %install diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-map-entry-duplicate-offset-detection.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-map-entry-duplicate-offset-detection.patch deleted file mode 100644 index 126d9a25b0..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-map-entry-duplicate-offset-detection.patch +++ /dev/null @@ -1,37 +0,0 @@ -autofs-5.0.7 - fix map entry duplicate offset detection - -From: Ian Kent <raven@themaw.net> - -Recent changes broke the detection of duplicate offsets in map entries. ---- - - CHANGELOG | 1 + - lib/cache.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 8f6bb3a..bd0dd82 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -15,6 +15,7 @@ - - fix recursive mount deadlock. - - increase file map read buffer size. - - handle new location of systemd. -+- fix map entry duplicate offset detection. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/lib/cache.c b/lib/cache.c -index 9179ad5..1e05a99 100644 ---- a/lib/cache.c -+++ b/lib/cache.c -@@ -659,7 +659,7 @@ int cache_update_offset(struct mapent_cache *mc, const char *mkey, const char *k - - me = cache_lookup_distinct(mc, key); - if (me && me->age == age) { -- if (me->multi != owner) -+ if (me->multi == owner) - return CHE_DUPLICATE; - } - diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-man-page-description.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-man-page-description.patch deleted file mode 100644 index 41328a0e49..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-man-page-description.patch +++ /dev/null @@ -1,46 +0,0 @@ -autofs-5.0.7 - fix nobind man page description - -From: Ian Kent <raven@themaw.net> - -Update auto.master(5) to better describe the behavior of the "nobind" -option when used with direct mounts maps. ---- - - CHANGELOG | 1 + - man/auto.master.5.in | 10 +++++++--- - 2 files changed, 8 insertions(+), 3 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 16ac2a0..7eb7235 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -17,6 +17,7 @@ - - handle new location of systemd. - - fix map entry duplicate offset detection. - - Allow nsswitch.conf to not contain "automount:" lines. -+- fix nobind man page description. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/man/auto.master.5.in b/man/auto.master.5.in -index 21d7544..8007542 100644 ---- a/man/auto.master.5.in -+++ b/man/auto.master.5.in -@@ -151,9 +151,13 @@ can't be mounted. - This is an autofs specific option that is a pseudo mount option and - so is given without a leading dash. It may be used either in the master - map entry (so it effects all the map entries) or with individual map --entries to prevent bind mounting of local NFS filesystems. Bind mounting --of NFS file systems can also be prevented for specific map entrys by --adding the "port=" mount option to the entries. -+entries to prevent bind mounting of local NFS filesystems. For direct -+mount maps the option is only effective if specified on the first direct -+map entry and is applied to all direct mount maps in the master map. It -+is ignored if given on subsequent direct map entries. It may be used -+on individual map entries of both types. Bind mounting of NFS file -+systems can also be prevented for specific map entrys by adding the -+"port=" mount option to the entries. - .TP - .I "\-r, \-\-random-multimount-selection" - Enables the use of ramdom selection when choosing a host from a diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch deleted file mode 100644 index b5d7ad26ca..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch +++ /dev/null @@ -1,47 +0,0 @@ -autofs-5.0.7 - fix nobind sun escaped map entries - -From: Ian Kent <ikent@redhat.com> - -If a map contains a Sun colon escape to indicate the mount is a local -file system and the "nobind" option is present there is no hostname in -the mount location and the mount fails. ---- - - CHANGELOG | 4 ++++ - modules/mount_nfs.c | 5 +++-- - 2 files changed, 7 insertions(+), 2 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 67fdcec..faf4c80 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -1,3 +1,7 @@ -+??/??/2012 autofs-5.0.8 -+======================= -+- fix nobind sun escaped map entries. -+ - 25/07/2012 autofs-5.0.7 - ======================= - - fix ipv6 name for lookup fix. -diff --git a/modules/mount_nfs.c b/modules/mount_nfs.c -index 9b8e5f1..bbbb1de 100644 ---- a/modules/mount_nfs.c -+++ b/modules/mount_nfs.c -@@ -263,13 +263,14 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int - } else - strcpy(loc, n_addr); - } else { -- loc = malloc(strlen(this->name) + strlen(this->path) + 2); -+ char *host = this->name ? this->name : "localhost"; -+ loc = malloc(strlen(host) + strlen(this->path) + 2); - if (!loc) { - char *estr = strerror_r(errno, buf, MAX_ERR_BUF); - error(ap->logopt, "malloc: %s", estr); - goto forced_fail; - } -- strcpy(loc, this->name); -+ strcpy(loc, host); - } - strcat(loc, ":"); - strcat(loc, this->path); diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-null-map-entry-order-handling.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-null-map-entry-order-handling.patch deleted file mode 100644 index 610afaaa7a..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-null-map-entry-order-handling.patch +++ /dev/null @@ -1,81 +0,0 @@ -autofs-5.0.7 - fix null map entry order handling - -From: Ian Kent <ikent@redhat.com> - -If a null map entry appears after a corresponding indirect map entry -autofs doesn't handle it properly. - -Since it appears after the map entry it should'nt affect it but autofs -doesn't account for this case and assumes the map entry is already -mounted and tries to shut it down causing attempted access to facilities -that don't exist. ---- - - CHANGELOG | 1 + - lib/master.c | 32 +++++++++++++++++++++++++++++--- - 2 files changed, 30 insertions(+), 3 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 7b8d185..79cf673 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -7,6 +7,7 @@ - - fix typo in automount(8). - - dont wait forever to restart. - - add timeout option description to man page. -+- fix null map entry order handling. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/lib/master.c b/lib/master.c -index 904b13d..a0e62f2 100644 ---- a/lib/master.c -+++ b/lib/master.c -@@ -1179,9 +1179,35 @@ int master_mount_mounts(struct master *master, time_t age, int readall) - - cache_readlock(nc); - ne = cache_lookup_distinct(nc, this->path); -- if (ne && this->age > ne->age) { -+ /* -+ * If this path matched a nulled entry the master map entry -+ * must be an indirect mount so the master map entry line -+ * number may be obtained from this->maps. -+ */ -+ if (ne) { -+ int lineno = ne->age; - cache_unlock(nc); -- st_add_task(ap, ST_SHUTDOWN_PENDING); -+ -+ /* null entry appears after map entry */ -+ if (this->maps->master_line < lineno) { -+ warn(ap->logopt, -+ "ignoring null entry that appears after " -+ "existing entry for %s", this->path); -+ goto cont; -+ } -+ if (ap->state != ST_INIT) { -+ st_add_task(ap, ST_SHUTDOWN_PENDING); -+ continue; -+ } -+ /* -+ * The map entry hasn't been started yet and we've -+ * seen a preceeding null map entry for it so just -+ * delete it from the master map entry list so it -+ * doesn't get in the road. -+ */ -+ list_del_init(&this->list); -+ master_free_mapent_sources(ap->entry, 1); -+ master_free_mapent(ap->entry); - continue; - } - nested = cache_partial_match(nc, this->path); -@@ -1194,7 +1220,7 @@ int master_mount_mounts(struct master *master, time_t age, int readall) - cache_delete(nc, nested->key); - } - cache_unlock(nc); -- -+cont: - st_mutex_lock(); - - state_pipe = this->ap->state_pipe[1]; diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-parse-buffer-initialization.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-parse-buffer-initialization.patch deleted file mode 100644 index 22bd5da25d..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-parse-buffer-initialization.patch +++ /dev/null @@ -1,51 +0,0 @@ -autofs-5.0.7 - fix parse buffer initialization - -From: Ian Kent <ikent@redhat.com> - -When parsing a master map entry, if the mount point path is longer than -the following map string the lexical analyzer buffer may not have a null -terminator where it is expected. If the map name string also contains a -string that is the same as a map type at the end the map name the map -name is not constructed correctly because of this lack of a string -terminator in the buffer. ---- - - CHANGELOG | 1 + - lib/master_tok.l | 4 +++- - 2 files changed, 4 insertions(+), 1 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 34c70fa..276d6ba 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -3,6 +3,7 @@ - - fix nobind sun escaped map entries. - - fix use cache entry after free in lookup_prune_one_cache(). - - fix ipv6 proximity calculation. -+- fix parse buffer initialization. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/lib/master_tok.l b/lib/master_tok.l -index 0d6edb7..30abb15 100644 ---- a/lib/master_tok.l -+++ b/lib/master_tok.l -@@ -74,7 +74,8 @@ int my_yyinput(char *, int); - #define unput(c) (*(char *) --line = c) - #endif - --char buff[1024]; -+#define BUFF_LEN 1024 -+char buff[BUFF_LEN]; - char *bptr; - char *optr = buff; - unsigned int tlen; -@@ -174,6 +175,7 @@ OPTNTOUT (-n{OPTWS}|-n{OPTWS}={OPTWS}|--negative-timeout{OPTWS}|--negative-timeo - *bptr = '\0'; - strcpy(master_lval.strtype, buff); - bptr = buff; -+ memset(buff, 0, BUFF_LEN); - return(PATH); - } - diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-requires-in-spec-file.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-requires-in-spec-file.patch deleted file mode 100644 index 404c84854f..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-requires-in-spec-file.patch +++ /dev/null @@ -1,37 +0,0 @@ -autofs-5.0.7 - fix requires in spec file - -From: Ian Kent <raven@themaw.net> - -Fix the use of depricated reqires in tar spec file. ---- - CHANGELOG | 1 + - autofs.spec | 4 ++-- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/CHANGELOG b/CHANGELOG -index 247d334..e848bcd 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -33,6 +33,7 @@ - - fix file descriptor leak when reloading the daemon. - - depricate nosymlink pseudo option. - - add symlink pseudo option. -+- fix requires in spec file. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/autofs.spec b/autofs.spec -index b8a3b7a..703f7a9 100644 ---- a/autofs.spec -+++ b/autofs.spec -@@ -25,8 +25,8 @@ Buildroot: %{_tmppath}/%{name}-tmp - %if %{with_systemd} - BuildRequires: systemd-units - %endif --BuildPrereq: autoconf, hesiod-devel, openldap-devel, bison, flex, cyrus-sasl-devel --Prereq: chkconfig -+BuildRequires: autoconf, hesiod-devel, openldap-devel, bison, flex, cyrus-sasl-devel -+Requires: chkconfig - Requires: /bin/bash mktemp sed textutils sh-utils grep /bin/ps - %if %{with_systemd} - Requires(post): systemd-sysv diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-submount-offset-delete.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-submount-offset-delete.patch deleted file mode 100644 index b38e21433c..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-submount-offset-delete.patch +++ /dev/null @@ -1,45 +0,0 @@ -autofs-5.0.7 - fix submount offset delete - -From: Ian Kent <ikent@redhat.com> - -As part of the implementation to allow for limited update of -the internal hosts map by using a HUP signal some code that -deleted any offset entries from the cache on lookup was removed -as it appeared to not be needed. - -There is however a case where it is needed to avoid a duplicate -cache entry failure on lookup. ---- - - CHANGELOG | 1 + - daemon/automount.c | 4 ++-- - 2 files changed, 3 insertions(+), 2 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 7eb7235..76c1f73 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -18,6 +18,7 @@ - - fix map entry duplicate offset detection. - - Allow nsswitch.conf to not contain "automount:" lines. - - fix nobind man page description. -+- fix submount offset delete. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/daemon/automount.c b/daemon/automount.c -index e56f9e1..4a3eb3d 100644 ---- a/daemon/automount.c -+++ b/daemon/automount.c -@@ -544,8 +544,8 @@ int umount_multi(struct autofs_point *ap, const char *path, int incl) - * If we are a submount we need to umount any offsets our - * parent may have mounted over top of us. - */ -- /*if (ap->submount) -- left += umount_subtree_mounts(ap->parent, path, is_autofs_fs);*/ -+ if (ap->submount) -+ left += umount_subtree_mounts(ap->parent, path, is_autofs_fs); - - left += umount_subtree_mounts(ap, path, is_autofs_fs); - diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-systemd-unidir-in-spec-file.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-systemd-unidir-in-spec-file.patch deleted file mode 100644 index d856faf429..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-systemd-unidir-in-spec-file.patch +++ /dev/null @@ -1,72 +0,0 @@ -autofs-5.0.7 - fix systemd unidir in spec file - -From: Ian Kent <raven@themaw.net> - - ---- - CHANGELOG | 1 + - autofs.spec | 16 ++++++++-------- - 2 files changed, 9 insertions(+), 8 deletions(-) - -diff --git a/CHANGELOG b/CHANGELOG -index b6b2679..ecdea0b 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -35,6 +35,7 @@ - - add symlink pseudo option. - - fix requires in spec file. - - fix libtirpc build option to require libtirpc-devel if needed. -+- fix systemd unidir in spec file. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/autofs.spec b/autofs.spec -index f77acc1..a768e44 100644 ---- a/autofs.spec -+++ b/autofs.spec -@@ -76,7 +76,7 @@ inkludera n - %setup -q - echo %{version}-%{release} > .version - %if %{with_systemd} -- %define _unitdir %{?_unitdir:/lib/systemd/system} -+ %define unitdir %{?_unitdir:/lib/systemd/system} - %define systemd_configure_arg --with-systemd - %endif - %if %{with_libtirpc} -@@ -95,7 +95,7 @@ CFLAGS="$RPM_OPT_FLAGS -Wall" make initdir=/etc/rc.d/init.d DONTSTRIP=1 - %install - rm -rf $RPM_BUILD_ROOT - %if %{with_systemd} --install -d -m 755 $RPM_BUILD_ROOT%{_unitdir} -+install -d -m 755 $RPM_BUILD_ROOT%{unitdir} - %else - mkdir -p -m755 $RPM_BUILD_ROOT/etc/rc.d/init.d - %endif -@@ -109,9 +109,13 @@ make install mandir=%{_mandir} initdir=/etc/rc.d/init.d INSTALLROOT=$RPM_BUILD_R - echo make -C redhat - make -C redhat - %if %{with_systemd} --install -m 644 redhat/autofs.service $RPM_BUILD_ROOT%{_unitdir}/autofs.service -+# Configure can get this wrong when the unit files appear under /lib and /usr/lib -+find $RPM_BUILD_ROOT -type f -name autofs.service -exec rm -f {} \; -+install -m 644 redhat/autofs.service $RPM_BUILD_ROOT%{unitdir}/autofs.service -+%define init_file_name %{unitdir}/autofs.service - %else - install -m 755 redhat/autofs.init $RPM_BUILD_ROOT/etc/rc.d/init.d/autofs -+%define init_file_name /etc/rc.d/init.d/autofs - %endif - install -m 644 redhat/autofs.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/autofs - -@@ -170,11 +174,7 @@ fi - %files - %defattr(-,root,root) - %doc CREDITS CHANGELOG INSTALL COPY* README* samples/ldap* samples/autofs.schema samples/autofs_ldap_auth.conf --%if %{with_systemd} --%{_unitdir}/autofs.service --%else --%config /etc/rc.d/init.d/autofs --%endif -+%config %{init_file_name} - %config(noreplace) /etc/auto.master - %config(noreplace,missingok) /etc/auto.misc - %config(noreplace,missingok) /etc/auto.net diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-typo-in-automount-8.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-typo-in-automount-8.patch deleted file mode 100644 index 6d88ce0cbd..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-typo-in-automount-8.patch +++ /dev/null @@ -1,37 +0,0 @@ -autofs-5.0.7 - fix typo in automount(8) - -From: Ian Kent <ikent@redhat.com> - - ---- - - CHANGELOG | 1 + - man/automount.8 | 2 +- - 2 files changed, 2 insertions(+), 1 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 276d6ba..6051723 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -4,6 +4,7 @@ - - fix use cache entry after free in lookup_prune_one_cache(). - - fix ipv6 proximity calculation. - - fix parse buffer initialization. -+- fix typo in automount(8). - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/man/automount.8 b/man/automount.8 -index 0186984..dddebce 100644 ---- a/man/automount.8 -+++ b/man/automount.8 -@@ -51,7 +51,7 @@ are over-ridden macro definitions of the same name specified in - mount entries. - .TP - .I "\-f, \-\-foreground" --Run the daemon in the forground and log to stderr instead of syslog." -+Run the daemon in the foreground and log to stderr instead of syslog." - .TP - .I "\-r, \-\-random-multimount-selection" - Enables the use of ramdom selection when choosing a host from a diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch deleted file mode 100644 index a469c16868..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch +++ /dev/null @@ -1,49 +0,0 @@ -autofs-5.0.7 - fix use cache entry after free mistake - -From: Ian Kent <ikent@redhat.com> - -Fix an obvious use after free mistake in lookup_prune_one_cache(). ---- - - CHANGELOG | 1 + - daemon/lookup.c | 7 +++++-- - 2 files changed, 6 insertions(+), 2 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index faf4c80..dc38580 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -1,6 +1,7 @@ - ??/??/2012 autofs-5.0.8 - ======================= - - fix nobind sun escaped map entries. -+- fix use cache entry after free in lookup_prune_one_cache(). - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/daemon/lookup.c b/daemon/lookup.c -index 7909536..e3d9536 100644 ---- a/daemon/lookup.c -+++ b/daemon/lookup.c -@@ -1103,15 +1103,18 @@ void lookup_prune_one_cache(struct autofs_point *ap, struct mapent_cache *mc, ti - if (valid) - cache_delete(mc, key); - else if (!is_mounted(_PROC_MOUNTS, path, MNTS_AUTOFS)) { -+ dev_t devid = ap->dev; - status = CHE_FAIL; -+ if (ap->type == LKP_DIRECT) -+ devid = this->dev; - if (this->ioctlfd == -1) - status = cache_delete(mc, key); - if (status != CHE_FAIL) { - if (ap->type == LKP_INDIRECT) { - if (ap->flags & MOUNT_FLAG_GHOST) -- rmdir_path(ap, path, ap->dev); -+ rmdir_path(ap, path, devid); - } else -- rmdir_path(ap, path, this->dev); -+ rmdir_path(ap, path, devid); - } - } - cache_unlock(mc); diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-get_proximity-without-libtirpc.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-get_proximity-without-libtirpc.patch deleted file mode 100644 index 74ed8fa642..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-use-get_proximity-without-libtirpc.patch +++ /dev/null @@ -1,54 +0,0 @@ -autofs-5.0.7 - fix use get_proximity() without libtirpc - -From: Ian Kent <raven@themaw.net> - -If autofs is not using libtirpc and there are any configured IPv6 -interfaces then get_proximity() will fail with PROXIMITY_UNSUPPORTED. - -In this case when checking interfaces the IPv6 interfaces need to be -ignored. ---- - - CHANGELOG | 1 + - modules/replicated.c | 8 ++------ - 2 files changed, 3 insertions(+), 6 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 5bcb1af..460bd27 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -20,6 +20,7 @@ - - fix nobind man page description. - - fix submount offset delete. - - fix init script status return. -+- fix use get_proximity() without libtirpc. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/modules/replicated.c b/modules/replicated.c -index bd6003b..6b96320 100644 ---- a/modules/replicated.c -+++ b/modules/replicated.c -@@ -184,9 +184,7 @@ static unsigned int get_proximity(struct sockaddr *host_addr) - break; - - case AF_INET6: --#ifndef WITH_LIBTIRPC -- return PROXIMITY_UNSUPPORTED; --#else -+#ifdef WITH_LIBTIRPC - if (host_addr->sa_family == AF_INET) - break; - if6_addr = (struct sockaddr_in6 *) this->ifa_addr; -@@ -251,9 +249,7 @@ static unsigned int get_proximity(struct sockaddr *host_addr) - break; - - case AF_INET6: --#ifndef WITH_LIBTIRPC -- return PROXIMITY_UNSUPPORTED; --#else -+#ifdef WITH_LIBTIRPC - if (host_addr->sa_family == AF_INET) - break; - if6_addr = (struct sockaddr_in6 *) this->ifa_addr; diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-wildcard-multi-map-regression.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-wildcard-multi-map-regression.patch deleted file mode 100644 index 44e4a18e32..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-wildcard-multi-map-regression.patch +++ /dev/null @@ -1,225 +0,0 @@ -autofs-5.0.7 - fix wildcard multi map regression - -From: Ian Kent <raven@themaw.net> - -A recent patch that removed code to add the current map entry when -being parsed if it didn't already exist cause wildcard indirect -multi-mount map entries to fail to mount. - -Indirect multi-mount map entries need the entry matched by a wildcard -lookup to be added to the map entry cache because subsequent operations -expect a distinct map entry to be present or they will fail. This is -what the code that was removed did but it did so in the wrong place -which caused a deadlock situation. ---- - CHANGELOG | 1 + - modules/lookup_file.c | 23 ++++++++++++++++------- - modules/lookup_ldap.c | 19 +++++++++++++++---- - modules/lookup_nisplus.c | 21 ++++++++++++++++----- - modules/lookup_sss.c | 17 ++++++++++++++--- - modules/lookup_yp.c | 21 ++++++++++++++++----- - 6 files changed, 78 insertions(+), 24 deletions(-) - -diff --git a/CHANGELOG b/CHANGELOG -index 97d6f48..46ef335 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -29,6 +29,7 @@ - - modules/replicated.c: use sin6_addr.s6_addr32. - - workaround missing GNU versionsort extension. - - dont fail on master map self include. -+- fix wildcard multi map regression. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/modules/lookup_file.c b/modules/lookup_file.c -index f37bed9..65e5ee6 100644 ---- a/modules/lookup_file.c -+++ b/modules/lookup_file.c -@@ -1040,7 +1040,7 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void * - return NSS_STATUS_UNAVAIL; - } - -- cache_readlock(mc); -+ cache_writelock(mc); - me = cache_lookup_first(mc); - if (me && st.st_mtime <= me->age) { - /* -@@ -1082,7 +1082,7 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void * - } - } - -- cache_readlock(mc); -+ cache_writelock(mc); - do_cache_lookup: - me = cache_lookup(mc, key); - /* -@@ -1098,11 +1098,20 @@ do_cache_lookup: - if (!me) - me = cache_lookup_distinct(mc, "*"); - } -- if (me && me->mapent && (me->source == source || *me->key == '/')) { -- pthread_cleanup_push(cache_lock_cleanup, mc); -- strcpy(mapent_buf, me->mapent); -- mapent = mapent_buf; -- pthread_cleanup_pop(0); -+ if (me && me->mapent) { -+ /* -+ * Add wildcard match for later validation checks and -+ * negative cache lookups. -+ */ -+ if (ap->type == LKP_INDIRECT && *me->key == '*') { -+ ret = cache_update(mc, source, key, me->mapent, me->age); -+ if (!(ret & (CHE_OK | CHE_UPDATED))) -+ me = NULL; -+ } -+ if (me && (me->source == source || *me->key == '/')) { -+ strcpy(mapent_buf, me->mapent); -+ mapent = mapent_buf; -+ } - } - cache_unlock(mc); - -diff --git a/modules/lookup_ldap.c b/modules/lookup_ldap.c -index 431e50d..83e3215 100644 ---- a/modules/lookup_ldap.c -+++ b/modules/lookup_ldap.c -@@ -2969,7 +2969,7 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void * - return status; - } - -- cache_readlock(mc); -+ cache_writelock(mc); - me = cache_lookup(mc, key); - /* Stale mapent => check for entry in alternate source or wildcard */ - if (me && !me->mapent) { -@@ -2979,9 +2979,20 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void * - if (!me) - me = cache_lookup_distinct(mc, "*"); - } -- if (me && me->mapent && (me->source == source || *me->key == '/')) { -- strcpy(mapent_buf, me->mapent); -- mapent = mapent_buf; -+ if (me && me->mapent) { -+ /* -+ * Add wildcard match for later validation checks and -+ * negative cache lookups. -+ */ -+ if (ap->type == LKP_INDIRECT && *me->key == '*') { -+ ret = cache_update(mc, source, key, me->mapent, me->age); -+ if (!(ret & (CHE_OK | CHE_UPDATED))) -+ me = NULL; -+ } -+ if (me && (me->source == source || *me->key == '/')) { -+ strcpy(mapent_buf, me->mapent); -+ mapent = mapent_buf; -+ } - } - cache_unlock(mc); - -diff --git a/modules/lookup_nisplus.c b/modules/lookup_nisplus.c -index 9fced96..8237a1e 100644 ---- a/modules/lookup_nisplus.c -+++ b/modules/lookup_nisplus.c -@@ -561,7 +561,7 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void * - return status; - } - -- cache_readlock(mc); -+ cache_writelock(mc); - me = cache_lookup(mc, key); - /* Stale mapent => check for entry in alternate source or wildcard */ - if (me && !me->mapent) { -@@ -571,10 +571,21 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void * - if (!me) - me = cache_lookup_distinct(mc, "*"); - } -- if (me && me->mapent && (me->source == source || *me->key == '/')) { -- mapent_len = strlen(me->mapent); -- mapent = malloc(mapent_len + 1); -- strcpy(mapent, me->mapent); -+ if (me && me->mapent) { -+ /* -+ * Add wildcard match for later validation checks and -+ * negative cache lookups. -+ */ -+ if (ap->type == LKP_INDIRECT && *me->key == '*') { -+ ret = cache_update(mc, source, key, me->mapent, me->age); -+ if (!(ret & (CHE_OK | CHE_UPDATED))) -+ me = NULL; -+ } -+ if (me && (me->source == source || *me->key == '/')) { -+ mapent_len = strlen(me->mapent); -+ mapent = malloc(mapent_len + 1); -+ strcpy(mapent, me->mapent); -+ } - } - cache_unlock(mc); - -diff --git a/modules/lookup_sss.c b/modules/lookup_sss.c -index e0b84cc..5c2ed0a 100644 ---- a/modules/lookup_sss.c -+++ b/modules/lookup_sss.c -@@ -645,9 +645,20 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void * - if (!me) - me = cache_lookup_distinct(mc, "*"); - } -- if (me && me->mapent && (me->source == source || *me->key == '/')) { -- strcpy(mapent_buf, me->mapent); -- mapent = mapent_buf; -+ if (me && me->mapent) { -+ /* -+ * Add wildcard match for later validation checks and -+ * negative cache lookups. -+ */ -+ if (ap->type == LKP_INDIRECT && *me->key == '*') { -+ ret = cache_update(mc, source, key, me->mapent, me->age); -+ if (!(ret & (CHE_OK | CHE_UPDATED))) -+ me = NULL; -+ } -+ if (me && (me->source == source || *me->key == '/')) { -+ strcpy(mapent_buf, me->mapent); -+ mapent = mapent_buf; -+ } - } - cache_unlock(mc); - -diff --git a/modules/lookup_yp.c b/modules/lookup_yp.c -index 720df2e..a716e1f 100644 ---- a/modules/lookup_yp.c -+++ b/modules/lookup_yp.c -@@ -662,7 +662,7 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void * - return status; - } - -- cache_readlock(mc); -+ cache_writelock(mc); - me = cache_lookup(mc, key); - /* Stale mapent => check for entry in alternate source or wildcard */ - if (me && !me->mapent) { -@@ -672,10 +672,21 @@ int lookup_mount(struct autofs_point *ap, const char *name, int name_len, void * - if (!me) - me = cache_lookup_distinct(mc, "*"); - } -- if (me && me->mapent && (me->source == source || *me->key == '/')) { -- mapent_len = strlen(me->mapent); -- mapent = alloca(mapent_len + 1); -- strcpy(mapent, me->mapent); -+ if (me && me->mapent) { -+ /* -+ * Add wildcard match for later validation checks and -+ * negative cache lookups. -+ */ -+ if (ap->type == LKP_INDIRECT && *me->key == '*') { -+ ret = cache_update(mc, source, key, me->mapent, me->age); -+ if (!(ret & (CHE_OK | CHE_UPDATED))) -+ me = NULL; -+ } -+ if (me && (me->source == source || *me->key == '/')) { -+ mapent_len = strlen(me->mapent); -+ mapent = alloca(mapent_len + 1); -+ strcpy(mapent, me->mapent); -+ } - } - cache_unlock(mc); - diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-handle-new-location-of-systemd.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-handle-new-location-of-systemd.patch deleted file mode 100644 index 1c26794f50..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-handle-new-location-of-systemd.patch +++ /dev/null @@ -1,57 +0,0 @@ -autofs-5.0.7 - Handle new location of systemd - -From: Frederic Crozat <fcrozat@suse.com> - -Some distributions are moving systemd unit files from /lib to -/usr/lib, so we need to test both directories. - -edit: imk -It occurs to me I've forgotten to check for the 64 bit variants -of the directories, so add them as well. -end edit: imk ---- - - CHANGELOG | 1 + - aclocal.m4 | 2 +- - configure | 2 +- - 3 files changed, 3 insertions(+), 2 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 3bdf8a4..8f6bb3a 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -14,6 +14,7 @@ - - allow non root user to check status. - - fix recursive mount deadlock. - - increase file map read buffer size. -+- handle new location of systemd. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/aclocal.m4 b/aclocal.m4 -index 1798c8b..47bca0c 100644 ---- a/aclocal.m4 -+++ b/aclocal.m4 -@@ -234,7 +234,7 @@ AC_DEFUN([AF_WITH_SYSTEMD], - [if test "$withval" = yes; then - if test -z "$systemddir"; then - AC_MSG_CHECKING([location of the systemd unit files directory]) -- for systemd_d in /lib/systemd/system; do -+ for systemd_d in /usr/lib/systemd/system /usr/lib64/systemd/system /lib/systemd/system /lib64/systemd/system; do - if test -z "$systemddir"; then - if test -d "$systemd_d"; then - systemddir="$systemd_d" -diff --git a/configure b/configure -index ba3bba6..3722a46 100755 ---- a/configure -+++ b/configure -@@ -2157,7 +2157,7 @@ if test "${with_systemd+set}" = set; then : - if test -z "$systemddir"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking location of the systemd unit files directory" >&5 - $as_echo_n "checking location of the systemd unit files directory... " >&6; } -- for systemd_d in /lib/systemd/system; do -+ for systemd_d in /usr/lib/systemd/system /usr/lib64/systemd/system /lib/systemd/system /lib64/systemd/system; do - if test -z "$systemddir"; then - if test -d "$systemd_d"; then - systemddir="$systemd_d" diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-include-usage-in-usage-message.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-include-usage-in-usage-message.patch deleted file mode 100644 index 1c8a565a29..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-include-usage-in-usage-message.patch +++ /dev/null @@ -1,25 +0,0 @@ -autofs-5.0.7 - include usage in usage message - -From: Ian Kent <ikent@redhat.com> - -Since usage is a case entry we should also nclude it in the usage -message. ---- - - redhat/autofs.init.in | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - - -diff --git a/redhat/autofs.init.in b/redhat/autofs.init.in -index 8e355da..ec6d5d6 100644 ---- a/redhat/autofs.init.in -+++ b/redhat/autofs.init.in -@@ -155,7 +155,7 @@ function reload() { - } - - function usage_message() { -- echo $"Usage: $0 {start|forcestart|stop|status|restart|force-reload|forcerestart|reload|condrestart|try-restart}" -+ echo $"Usage: $0 {start|forcestart|stop|status|restart|force-reload|forcerestart|reload|condrestart|try-restart|usage}" - } - - RETVAL=0 diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-lib-defaults-use-WITH_LDAP-conditional-around-LDAP-types.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-lib-defaults-use-WITH_LDAP-conditional-around-LDAP-types.patch deleted file mode 100644 index 22e0418e54..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-lib-defaults-use-WITH_LDAP-conditional-around-LDAP-types.patch +++ /dev/null @@ -1,448 +0,0 @@ -autofs-5.0.7 - lib/defaults.c: use WITH_LDAP conditional around LDAP types - -From: Chris Packham <chris.packham@alliedtelesis.co.nz> - -Wrap the inclusion of lookup_ldap.h and functions that use ldap_uri or -ldap_schema with the WITH_LDAP conditional. WITH_LDAP is set by the -configure step when LDAP support is not desired. This also allows -compilation on a system that doesn't have any LDAP libraries. ---- - - CHANGELOG | 1 - include/defaults.h | 14 +- - include/lookup_ldap.h | 1 - lib/defaults.c | 325 +++++++++++++++++++++++++------------------------ - modules/lookup_ldap.c | 1 - 5 files changed, 175 insertions(+), 167 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index ba1d65b..1130db6 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -24,6 +24,7 @@ - - don't use dirent d_type to filter out files in scandir() - - don't schedule new alarms after readmap. - - use numeric protocol ids instead of protoent structs. -+- lib/defaults.c: use WITH_LDAP conditional around LDAP types. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/include/defaults.h b/include/defaults.h -index cda2174..871e14b 100644 ---- a/include/defaults.h -+++ b/include/defaults.h -@@ -44,8 +44,16 @@ - - #define DEFAULT_MAP_HASH_TABLE_SIZE 1024 - -+#ifdef WITH_LDAP - struct ldap_schema; - struct ldap_searchdn; -+void defaults_free_uris(struct list_head *); -+struct list_head *defaults_get_uris(void); -+struct ldap_schema *defaults_get_default_schema(void); -+void defaults_free_searchdns(struct ldap_searchdn *); -+struct ldap_searchdn *defaults_get_searchdns(void); -+struct ldap_schema *defaults_get_schema(void); -+#endif - - unsigned int defaults_read_config(unsigned int); - const char *defaults_get_master_map(void); -@@ -57,12 +65,6 @@ unsigned int defaults_get_logging(void); - const char *defaults_get_ldap_server(void); - unsigned int defaults_get_ldap_timeout(void); - unsigned int defaults_get_ldap_network_timeout(void); --struct list_head *defaults_get_uris(void); --void defaults_free_uris(struct list_head *); --struct ldap_schema *defaults_get_default_schema(void); --struct ldap_schema *defaults_get_schema(void); --struct ldap_searchdn *defaults_get_searchdns(void); --void defaults_free_searchdns(struct ldap_searchdn *); - unsigned int defaults_get_mount_nfs_default_proto(void); - unsigned int defaults_get_append_options(void); - unsigned int defaults_get_mount_wait(void); -diff --git a/include/lookup_ldap.h b/include/lookup_ldap.h -index e441a61..9a4ce73 100644 ---- a/include/lookup_ldap.h -+++ b/include/lookup_ldap.h -@@ -8,7 +8,6 @@ - #include <openssl/evp.h> - #include <openssl/err.h> - #include <sasl/sasl.h> --#include <libxml/tree.h> - #include <krb5.h> - #endif - -diff --git a/lib/defaults.c b/lib/defaults.c -index 5ce71b7..ae1162f 100644 ---- a/lib/defaults.c -+++ b/lib/defaults.c -@@ -17,9 +17,12 @@ - #include <ctype.h> - #include <string.h> - -+#include "config.h" - #include "list.h" - #include "defaults.h" -+#ifdef WITH_LDAP - #include "lookup_ldap.h" -+#endif - #include "log.h" - #include "automount.h" - -@@ -197,6 +200,7 @@ static int parse_line(char *line, char **res, char **value) - return 1; - } - -+#ifdef WITH_LDAP - void defaults_free_uris(struct list_head *list) - { - struct list_head *next; -@@ -290,166 +294,6 @@ struct list_head *defaults_get_uris(void) - return list; - } - --/* -- * Read config env variables and check they have been set. -- * -- * This simple minded routine assumes the config file -- * is valid bourne shell script without spaces around "=" -- * and that it has valid values. -- */ --unsigned int defaults_read_config(unsigned int to_syslog) --{ -- FILE *f; -- char buf[MAX_LINE_LEN]; -- char *res; -- -- f = open_fopen_r(DEFAULTS_CONFIG_FILE); -- if (!f) -- return 0; -- -- while ((res = fgets(buf, MAX_LINE_LEN, f))) { -- char *key, *value; -- -- if (!parse_line(res, &key, &value)) -- continue; -- -- if (check_set_config_value(key, ENV_NAME_MASTER_MAP, value, to_syslog) || -- check_set_config_value(key, ENV_NAME_TIMEOUT, value, to_syslog) || -- check_set_config_value(key, ENV_NAME_NEGATIVE_TIMEOUT, value, to_syslog) || -- check_set_config_value(key, ENV_NAME_BROWSE_MODE, value, to_syslog) || -- check_set_config_value(key, ENV_NAME_LOGGING, value, to_syslog) || -- check_set_config_value(key, ENV_LDAP_TIMEOUT, value, to_syslog) || -- check_set_config_value(key, ENV_LDAP_NETWORK_TIMEOUT, value, to_syslog) || -- check_set_config_value(key, ENV_NAME_MAP_OBJ_CLASS, value, to_syslog) || -- check_set_config_value(key, ENV_NAME_ENTRY_OBJ_CLASS, value, to_syslog) || -- check_set_config_value(key, ENV_NAME_MAP_ATTR, value, to_syslog) || -- check_set_config_value(key, ENV_NAME_ENTRY_ATTR, value, to_syslog) || -- check_set_config_value(key, ENV_NAME_VALUE_ATTR, value, to_syslog) || -- check_set_config_value(key, ENV_APPEND_OPTIONS, value, to_syslog) || -- check_set_config_value(key, ENV_MOUNT_WAIT, value, to_syslog) || -- check_set_config_value(key, ENV_UMOUNT_WAIT, value, to_syslog) || -- check_set_config_value(key, ENV_AUTH_CONF_FILE, value, to_syslog) || -- check_set_config_value(key, ENV_MAP_HASH_TABLE_SIZE, value, to_syslog) || -- check_set_config_value(key, ENV_MOUNT_NFS_DEFAULT_PROTOCOL, value, to_syslog)) -- ; -- } -- -- if (!feof(f) || ferror(f)) { -- if (!to_syslog) { -- fprintf(stderr, -- "fgets returned error %d while reading %s\n", -- ferror(f), DEFAULTS_CONFIG_FILE); -- } else { -- logmsg("fgets returned error %d while reading %s", -- ferror(f), DEFAULTS_CONFIG_FILE); -- } -- fclose(f); -- return 0; -- } -- -- fclose(f); -- return 1; --} -- --const char *defaults_get_master_map(void) --{ -- char *master; -- -- master = get_env_string(ENV_NAME_MASTER_MAP); -- if (!master) -- return strdup(default_master_map_name); -- -- return (const char *) master; --} -- --int defaults_master_set(void) --{ -- char *val = getenv(ENV_NAME_MASTER_MAP); -- if (!val) -- return 0; -- -- return 1; --} -- --unsigned int defaults_get_timeout(void) --{ -- long timeout; -- -- timeout = get_env_number(ENV_NAME_TIMEOUT); -- if (timeout < 0) -- timeout = DEFAULT_TIMEOUT; -- -- return (unsigned int) timeout; --} -- --unsigned int defaults_get_negative_timeout(void) --{ -- long n_timeout; -- -- n_timeout = get_env_number(ENV_NAME_NEGATIVE_TIMEOUT); -- if (n_timeout <= 0) -- n_timeout = DEFAULT_NEGATIVE_TIMEOUT; -- -- return (unsigned int) n_timeout; --} -- --unsigned int defaults_get_browse_mode(void) --{ -- int res; -- -- res = get_env_yesno(ENV_NAME_BROWSE_MODE); -- if (res < 0) -- res = DEFAULT_BROWSE_MODE; -- -- return res; --} -- --unsigned int defaults_get_logging(void) --{ -- char *res; -- unsigned int logging = DEFAULT_LOGGING; -- -- res = get_env_string(ENV_NAME_LOGGING); -- if (!res) -- return logging; -- -- if (!strcasecmp(res, "none")) -- logging = DEFAULT_LOGGING; -- else { -- if (!strcasecmp(res, "verbose")) -- logging |= LOGOPT_VERBOSE; -- -- if (!strcasecmp(res, "debug")) -- logging |= LOGOPT_DEBUG; -- } -- -- free(res); -- -- return logging; --} -- --unsigned int defaults_get_ldap_timeout(void) --{ -- int res; -- -- res = get_env_number(ENV_LDAP_TIMEOUT); -- if (res < 0) -- res = DEFAULT_LDAP_TIMEOUT; -- -- return res; --} -- --unsigned int defaults_get_ldap_network_timeout(void) --{ -- int res; -- -- res = get_env_number(ENV_LDAP_NETWORK_TIMEOUT); -- if (res < 0) -- res = DEFAULT_LDAP_NETWORK_TIMEOUT; -- -- return res; --} -- - struct ldap_schema *defaults_get_default_schema(void) - { - struct ldap_schema *schema; -@@ -645,6 +489,167 @@ struct ldap_schema *defaults_get_schema(void) - - return schema; - } -+#endif -+ -+/* -+ * Read config env variables and check they have been set. -+ * -+ * This simple minded routine assumes the config file -+ * is valid bourne shell script without spaces around "=" -+ * and that it has valid values. -+ */ -+unsigned int defaults_read_config(unsigned int to_syslog) -+{ -+ FILE *f; -+ char buf[MAX_LINE_LEN]; -+ char *res; -+ -+ f = open_fopen_r(DEFAULTS_CONFIG_FILE); -+ if (!f) -+ return 0; -+ -+ while ((res = fgets(buf, MAX_LINE_LEN, f))) { -+ char *key, *value; -+ -+ if (!parse_line(res, &key, &value)) -+ continue; -+ -+ if (check_set_config_value(key, ENV_NAME_MASTER_MAP, value, to_syslog) || -+ check_set_config_value(key, ENV_NAME_TIMEOUT, value, to_syslog) || -+ check_set_config_value(key, ENV_NAME_NEGATIVE_TIMEOUT, value, to_syslog) || -+ check_set_config_value(key, ENV_NAME_BROWSE_MODE, value, to_syslog) || -+ check_set_config_value(key, ENV_NAME_LOGGING, value, to_syslog) || -+ check_set_config_value(key, ENV_LDAP_TIMEOUT, value, to_syslog) || -+ check_set_config_value(key, ENV_LDAP_NETWORK_TIMEOUT, value, to_syslog) || -+ check_set_config_value(key, ENV_NAME_MAP_OBJ_CLASS, value, to_syslog) || -+ check_set_config_value(key, ENV_NAME_ENTRY_OBJ_CLASS, value, to_syslog) || -+ check_set_config_value(key, ENV_NAME_MAP_ATTR, value, to_syslog) || -+ check_set_config_value(key, ENV_NAME_ENTRY_ATTR, value, to_syslog) || -+ check_set_config_value(key, ENV_NAME_VALUE_ATTR, value, to_syslog) || -+ check_set_config_value(key, ENV_APPEND_OPTIONS, value, to_syslog) || -+ check_set_config_value(key, ENV_MOUNT_WAIT, value, to_syslog) || -+ check_set_config_value(key, ENV_UMOUNT_WAIT, value, to_syslog) || -+ check_set_config_value(key, ENV_AUTH_CONF_FILE, value, to_syslog) || -+ check_set_config_value(key, ENV_MAP_HASH_TABLE_SIZE, value, to_syslog) || -+ check_set_config_value(key, ENV_MOUNT_NFS_DEFAULT_PROTOCOL, value, to_syslog)) -+ ; -+ } -+ -+ if (!feof(f) || ferror(f)) { -+ if (!to_syslog) { -+ fprintf(stderr, -+ "fgets returned error %d while reading %s\n", -+ ferror(f), DEFAULTS_CONFIG_FILE); -+ } else { -+ logmsg("fgets returned error %d while reading %s", -+ ferror(f), DEFAULTS_CONFIG_FILE); -+ } -+ fclose(f); -+ return 0; -+ } -+ -+ fclose(f); -+ return 1; -+} -+ -+const char *defaults_get_master_map(void) -+{ -+ char *master; -+ -+ master = get_env_string(ENV_NAME_MASTER_MAP); -+ if (!master) -+ return strdup(default_master_map_name); -+ -+ return (const char *) master; -+} -+ -+int defaults_master_set(void) -+{ -+ char *val = getenv(ENV_NAME_MASTER_MAP); -+ if (!val) -+ return 0; -+ -+ return 1; -+} -+ -+unsigned int defaults_get_timeout(void) -+{ -+ long timeout; -+ -+ timeout = get_env_number(ENV_NAME_TIMEOUT); -+ if (timeout < 0) -+ timeout = DEFAULT_TIMEOUT; -+ -+ return (unsigned int) timeout; -+} -+ -+unsigned int defaults_get_negative_timeout(void) -+{ -+ long n_timeout; -+ -+ n_timeout = get_env_number(ENV_NAME_NEGATIVE_TIMEOUT); -+ if (n_timeout <= 0) -+ n_timeout = DEFAULT_NEGATIVE_TIMEOUT; -+ -+ return (unsigned int) n_timeout; -+} -+ -+unsigned int defaults_get_browse_mode(void) -+{ -+ int res; -+ -+ res = get_env_yesno(ENV_NAME_BROWSE_MODE); -+ if (res < 0) -+ res = DEFAULT_BROWSE_MODE; -+ -+ return res; -+} -+ -+unsigned int defaults_get_logging(void) -+{ -+ char *res; -+ unsigned int logging = DEFAULT_LOGGING; -+ -+ res = get_env_string(ENV_NAME_LOGGING); -+ if (!res) -+ return logging; -+ -+ if (!strcasecmp(res, "none")) -+ logging = DEFAULT_LOGGING; -+ else { -+ if (!strcasecmp(res, "verbose")) -+ logging |= LOGOPT_VERBOSE; -+ -+ if (!strcasecmp(res, "debug")) -+ logging |= LOGOPT_DEBUG; -+ } -+ -+ free(res); -+ -+ return logging; -+} -+ -+unsigned int defaults_get_ldap_timeout(void) -+{ -+ int res; -+ -+ res = get_env_number(ENV_LDAP_TIMEOUT); -+ if (res < 0) -+ res = DEFAULT_LDAP_TIMEOUT; -+ -+ return res; -+} -+ -+unsigned int defaults_get_ldap_network_timeout(void) -+{ -+ int res; -+ -+ res = get_env_number(ENV_LDAP_NETWORK_TIMEOUT); -+ if (res < 0) -+ res = DEFAULT_LDAP_NETWORK_TIMEOUT; -+ -+ return res; -+} - - unsigned int defaults_get_mount_nfs_default_proto(void) - { -diff --git a/modules/lookup_ldap.c b/modules/lookup_ldap.c -index 3bc4dc5..431e50d 100644 ---- a/modules/lookup_ldap.c -+++ b/modules/lookup_ldap.c -@@ -28,6 +28,7 @@ - #include <arpa/nameser.h> - #include <resolv.h> - #include <lber.h> -+#include <libxml/tree.h> - - #define MODULE_LOOKUP - #include "automount.h" diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-description-of-default-MOUNT_WAIT-setting-clear.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-description-of-default-MOUNT_WAIT-setting-clear.patch deleted file mode 100644 index a3dd3fb691..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-description-of-default-MOUNT_WAIT-setting-clear.patch +++ /dev/null @@ -1,57 +0,0 @@ -autofs-5.0.7 - make description of default MOUNT_WAIT setting clear - -From: Ian Kent <ikent@redhat.com> - - ---- - - CHANGELOG | 1 + - redhat/autofs.sysconfig.in | 5 +++-- - samples/autofs.conf.default.in | 5 +++-- - 3 files changed, 7 insertions(+), 4 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 79cf673..961e340 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -8,6 +8,7 @@ - - dont wait forever to restart. - - add timeout option description to man page. - - fix null map entry order handling. -+- make description of default MOUNT_WAIT setting clear. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/redhat/autofs.sysconfig.in b/redhat/autofs.sysconfig.in -index 36b924d..a8992c4 100644 ---- a/redhat/autofs.sysconfig.in -+++ b/redhat/autofs.sysconfig.in -@@ -18,8 +18,9 @@ TIMEOUT=300 - # Setting this timeout can cause problems when - # mount would otherwise wait for a server that - # is temporarily unavailable, such as when it's --# restarting. The defailt of waiting for mount(8) --# usually results in a wait of around 3 minutes. -+# restarting. The default setting (-1) of waiting -+# for mount(8) usually results in a wait of around -+# 3 minutes. - # - #MOUNT_WAIT=-1 - # -diff --git a/samples/autofs.conf.default.in b/samples/autofs.conf.default.in -index ac2f63b..1da89cf 100644 ---- a/samples/autofs.conf.default.in -+++ b/samples/autofs.conf.default.in -@@ -18,8 +18,9 @@ TIMEOUT=300 - # Setting this timeout can cause problems when - # mount would otherwise wait for a server that - # is temporarily unavailable, such as when it's --# restarting. The defailt of waiting for mount(8) --# usually results in a wait of around 3 minutes. -+# restarting. The default setting (-1) of waiting -+# for mount(8) usually results in a wait of around -+# 3 minutes. - # - #MOUNT_WAIT=-1 - # diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-yellow-pages-support-optional.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-yellow-pages-support-optional.patch deleted file mode 100644 index 41996906c1..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-make-yellow-pages-support-optional.patch +++ /dev/null @@ -1,156 +0,0 @@ -autofs-5.0.7 - make yellow pages support optional - -From: Chris Packham <chris.packham@alliedtelesis.co.nz> - -If rpcsvc/ypclnt.h is not available don't compile in Yellow Pages -support. ---- - - CHANGELOG | 1 + - Makefile.conf.in | 3 +++ - configure | 16 ++++++++++++++++ - configure.in | 9 +++++++++ - include/config.h.in | 3 +++ - lib/rpc_subs.c | 1 - - modules/Makefile | 9 +++++++-- - 7 files changed, 39 insertions(+), 3 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 1130db6..ed17163 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -25,6 +25,7 @@ - - don't schedule new alarms after readmap. - - use numeric protocol ids instead of protoent structs. - - lib/defaults.c: use WITH_LDAP conditional around LDAP types. -+- make yellow pages support optional. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/Makefile.conf.in b/Makefile.conf.in -index 802318b..3766d45 100644 ---- a/Makefile.conf.in -+++ b/Makefile.conf.in -@@ -43,6 +43,9 @@ NISPLUS = @HAVE_NISPLUS@ - # SMBFS support: yes (1) no (0) - SMBFS = @HAVE_SMBMOUNT@ - -+# YellowPages support: yes (1) no (0) -+YPCLNT = @HAVE_YPCLNT@ -+ - # Support for calling e2fsck when mounting ext2 filesystems - EXT2FS = @HAVE_E2FSCK@ - -diff --git a/configure b/configure -index 3722a46..cf6428c 100755 ---- a/configure -+++ b/configure -@@ -614,6 +614,7 @@ XML_FLAGS - LIBLDAP - HAVE_LDAP - LDAP_FLAGS -+HAVE_YPCLNT - HAVE_NISPLUS - EGREP - GREP -@@ -4575,6 +4576,21 @@ fi - - - -+# YellowPages support? -+HAVE_YPCLNT=0 -+ac_fn_c_check_header_mongrel "$LINENO" "rpcsvc/ypclnt.h" "ac_cv_header_rpcsvc_ypclnt_h" "$ac_includes_default" -+if test "x$ac_cv_header_rpcsvc_ypclnt_h" = xyes; then : -+ HAVE_YPCLNT=1 -+fi -+ -+ -+ -+if test "$HAVE_YPCLNT" = "1"; then -+ -+$as_echo "#define HAVE_YPCLNT 1" >>confdefs.h -+ -+fi -+ - # - # OpenLDAP support? Expect that this may have a special directory... - # -diff --git a/configure.in b/configure.in -index 90bda62..363c376 100644 ---- a/configure.in -+++ b/configure.in -@@ -213,6 +213,15 @@ HAVE_NISPLUS=0 - AC_CHECK_HEADER(rpcsvc/nis.h, HAVE_NISPLUS=1) - AC_SUBST(HAVE_NISPLUS) - -+# YellowPages support? -+HAVE_YPCLNT=0 -+AC_CHECK_HEADER([rpcsvc/ypclnt.h], HAVE_YPCLNT=1) -+AC_SUBST(HAVE_YPCLNT) -+if test "$HAVE_YPCLNT" = "1"; then -+ AC_DEFINE(HAVE_YPCLNT, 1, -+ [Define if using YellowPages]) -+fi -+ - # - # OpenLDAP support? Expect that this may have a special directory... - # -diff --git a/include/config.h.in b/include/config.h.in -index 9bdf98a..7f1c5b5 100644 ---- a/include/config.h.in -+++ b/include/config.h.in -@@ -72,6 +72,9 @@ - /* Define to 1 if you have the <unistd.h> header file. */ - #undef HAVE_UNISTD_H - -+/* Define if using YellowPages */ -+#undef HAVE_YPCLNT -+ - /* Use libxml2 tsd usage workaround */ - #undef LIBXML2_WORKAROUND - -diff --git a/lib/rpc_subs.c b/lib/rpc_subs.c -index ad1d557..718caf9 100644 ---- a/lib/rpc_subs.c -+++ b/lib/rpc_subs.c -@@ -27,7 +27,6 @@ - #include <net/if.h> - #include <netinet/in.h> - #include <arpa/inet.h> --#include <rpcsvc/ypclnt.h> - #include <errno.h> - #include <sys/ioctl.h> - #include <ctype.h> -diff --git a/modules/Makefile b/modules/Makefile -index 939da7c..c5deb24 100644 ---- a/modules/Makefile -+++ b/modules/Makefile -@@ -5,13 +5,13 @@ - -include ../Makefile.conf - include ../Makefile.rules - --SRCS := lookup_yp.c lookup_file.c lookup_program.c lookup_userhome.c \ -+SRCS := lookup_file.c lookup_program.c lookup_userhome.c \ - lookup_multi.c lookup_hosts.c lookup_dir.c \ - parse_sun.c \ - mount_generic.c mount_nfs.c mount_afs.c mount_autofs.c \ - mount_changer.c mount_bind.c - --MODS := lookup_yp.so lookup_file.so lookup_program.so lookup_userhome.so \ -+MODS := lookup_file.so lookup_program.so lookup_userhome.so \ - lookup_multi.so lookup_hosts.so lookup_dir.so \ - parse_sun.so \ - mount_generic.so mount_nfs.so mount_afs.so mount_autofs.so \ -@@ -37,6 +37,11 @@ ifeq ($(NISPLUS), 1) - MODS += lookup_nisplus.so - endif - -+ifeq ($(YPCLNT), 1) -+ SRCS += lookup_yp.c -+ MODS += lookup_yp.so -+endif -+ - ifeq ($(LDAP), 1) - SRCS += lookup_ldap.c - MODS += lookup_ldap.so diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-modules-replicated-use-sin6.addr-s6_addr32.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-modules-replicated-use-sin6.addr-s6_addr32.patch deleted file mode 100644 index 4516bc5f25..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-modules-replicated-use-sin6.addr-s6_addr32.patch +++ /dev/null @@ -1,39 +0,0 @@ -autofs-5.0.7 - modules/replicated.c: use sin6_addr.s6_addr32 - -From: Chris Packham <chris.packham@alliedtelesis.co.nz> - -The exported in6.h kernel header provides a convenience macro s6_addr32 -for accessing the 32bit words of an ipv6 address. Use this instead of -__in6_u.__u6_addr32. ---- - - CHANGELOG | 1 + - modules/replicated.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index ed17163..4eaa9f9 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -26,6 +26,7 @@ - - use numeric protocol ids instead of protoent structs. - - lib/defaults.c: use WITH_LDAP conditional around LDAP types. - - make yellow pages support optional. -+- modules/replicated.c: use sin6_addr.s6_addr32. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/modules/replicated.c b/modules/replicated.c -index dbd5513..26f64b8 100644 ---- a/modules/replicated.c -+++ b/modules/replicated.c -@@ -1146,7 +1146,7 @@ try_name: - rr4++; - } else if (this->ai_family == AF_INET6) { - struct sockaddr_in6 *addr = (struct sockaddr_in6 *) this->ai_addr; -- if (!IN6_IS_ADDR_LOOPBACK(addr->sin6_addr.__in6_u.__u6_addr32)) -+ if (!IN6_IS_ADDR_LOOPBACK(addr->sin6_addr.s6_addr32)) - rr6++; - } - this = this->ai_next; diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-update-kernel-include-files.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-update-kernel-include-files.patch deleted file mode 100644 index 3b6bb926ab..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-update-kernel-include-files.patch +++ /dev/null @@ -1,92 +0,0 @@ -autofs-5.0.7 - update kernel include files - -From: Ian Kent <raven@themaw.net> - -Update autofs include files to include the latest changes. ---- - include/linux/auto_fs.h | 33 ++++++++++----------------------- - include/linux/auto_fs4.h | 3 ++- - 2 files changed, 12 insertions(+), 24 deletions(-) - -diff --git a/include/linux/auto_fs.h b/include/linux/auto_fs.h -index 91d414f..64df1a6 100644 ---- a/include/linux/auto_fs.h -+++ b/include/linux/auto_fs.h -@@ -14,13 +14,8 @@ - #ifndef _LINUX_AUTO_FS_H - #define _LINUX_AUTO_FS_H - --#ifdef __KERNEL__ --#include <linux/fs.h> --#include <linux/limits.h> - #include <linux/types.h> --#include <linux/ioctl.h> --#else --#include <asm/types.h> -+#ifndef __KERNEL__ - #include <sys/ioctl.h> - #endif /* __KERNEL__ */ - -@@ -32,25 +27,16 @@ - #define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION - - /* -- * Architectures where both 32- and 64-bit binaries can be executed -- * on 64-bit kernels need this. This keeps the structure format -- * uniform, and makes sure the wait_queue_token isn't too big to be -- * passed back down to the kernel. -- * -- * This assumes that on these architectures: -- * mode 32 bit 64 bit -- * ------------------------- -- * int 32 bit 32 bit -- * long 32 bit 64 bit -- * -- * If so, 32-bit user-space code should be backwards compatible. -+ * The wait_queue_token (autofs_wqt_t) is part of a structure which is passed -+ * back to the kernel via ioctl from userspace. On architectures where 32- and -+ * 64-bit userspace binaries can be executed it's important that the size of -+ * autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we -+ * do not break the binary ABI interface by changing the structure size. - */ -- --#if defined(__sparc__) || defined(__mips__) || defined(__x86_64__) \ -- || defined(__powerpc__) || defined(__s390__) --typedef unsigned int autofs_wqt_t; --#else -+#if defined(__ia64__) || defined(__alpha__) /* pure 64bit architectures */ - typedef unsigned long autofs_wqt_t; -+#else -+typedef unsigned int autofs_wqt_t; - #endif - - /* Packet types */ -@@ -81,6 +67,7 @@ struct autofs_packet_expire { - #define AUTOFS_IOC_FAIL _IO(0x93,0x61) - #define AUTOFS_IOC_CATATONIC _IO(0x93,0x62) - #define AUTOFS_IOC_PROTOVER _IOR(0x93,0x63,int) -+#define AUTOFS_IOC_SETTIMEOUT32 _IOWR(0x93,0x64,compat_ulong_t) - #define AUTOFS_IOC_SETTIMEOUT _IOWR(0x93,0x64,unsigned long) - #define AUTOFS_IOC_EXPIRE _IOR(0x93,0x65,struct autofs_packet_expire) - -diff --git a/include/linux/auto_fs4.h b/include/linux/auto_fs4.h -index 55fa478..e02982f 100644 ---- a/include/linux/auto_fs4.h -+++ b/include/linux/auto_fs4.h -@@ -12,6 +12,7 @@ - #define _LINUX_AUTO_FS4_H - - /* Include common v3 definitions */ -+#include <linux/types.h> - #include <linux/auto_fs.h> - - /* autofs v4 definitions */ -@@ -23,7 +24,7 @@ - #define AUTOFS_MIN_PROTO_VERSION 3 - #define AUTOFS_MAX_PROTO_VERSION 5 - --#define AUTOFS_PROTO_SUBVERSION 1 -+#define AUTOFS_PROTO_SUBVERSION 2 - - /* Mask for expire behaviour */ - #define AUTOFS_EXP_IMMEDIATE 1 diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-use-numeric-protocol-ids-instead-of-protoent-structs.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-use-numeric-protocol-ids-instead-of-protoent-structs.patch deleted file mode 100644 index 113b0a06ef..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-use-numeric-protocol-ids-instead-of-protoent-structs.patch +++ /dev/null @@ -1,471 +0,0 @@ -autofs-5.0.7 - use numeric protocol ids instead of protoent structs - -From: Leonardo Chiquitto <leonardo.lists@gmail.com> - -The function getprotobyname() is not reentrant, so we can't call -it simultaneously from multiple threads. Instead of switching to -the reentrant version which adds more complexity to the code, -lets use numeric protocol IDs instead of protoent structures. ---- - - CHANGELOG | 1 + - include/rpc_subs.h | 4 +-- - lib/rpc_subs.c | 80 ++++++++++++++++++-------------------------------- - modules/replicated.c | 42 +++++++++++--------------- - 4 files changed, 50 insertions(+), 77 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 4cf5621..ba1d65b 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -23,6 +23,7 @@ - - fix use get_proximity() without libtirpc. - - don't use dirent d_type to filter out files in scandir() - - don't schedule new alarms after readmap. -+- use numeric protocol ids instead of protoent structs. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/include/rpc_subs.h b/include/rpc_subs.h -index ca474d9..b6d59f9 100644 ---- a/include/rpc_subs.h -+++ b/include/rpc_subs.h -@@ -54,7 +54,7 @@ struct conn_info { - unsigned short port; - unsigned long program; - unsigned long version; -- struct protoent *proto; -+ int proto; - unsigned int send_sz; - unsigned int recv_sz; - struct timeval timeout; -@@ -66,7 +66,7 @@ int rpc_udp_getclient(struct conn_info *, unsigned int, unsigned int); - void rpc_destroy_udp_client(struct conn_info *); - int rpc_tcp_getclient(struct conn_info *, unsigned int, unsigned int); - void rpc_destroy_tcp_client(struct conn_info *); --int rpc_portmap_getclient(struct conn_info *, const char *, struct sockaddr *, size_t, const char *, unsigned int); -+int rpc_portmap_getclient(struct conn_info *, const char *, struct sockaddr *, size_t, int, unsigned int); - int rpc_portmap_getport(struct conn_info *, struct pmap *, unsigned short *); - int rpc_ping_proto(struct conn_info *); - int rpc_ping(const char *, long, long, unsigned int); -diff --git a/lib/rpc_subs.c b/lib/rpc_subs.c -index d33a3c4..ad1d557 100644 ---- a/lib/rpc_subs.c -+++ b/lib/rpc_subs.c -@@ -170,7 +170,7 @@ static int rpc_do_create_client(struct sockaddr *addr, struct conn_info *info, i - - *client = NULL; - -- proto = info->proto->p_proto; -+ proto = info->proto; - if (proto == IPPROTO_UDP) - type = SOCK_DGRAM; - else -@@ -201,7 +201,7 @@ static int rpc_do_create_client(struct sockaddr *addr, struct conn_info *info, i - in4_raddr = (struct sockaddr_in *) addr; - in4_raddr->sin_port = htons(info->port); - -- switch (info->proto->p_proto) { -+ switch (info->proto) { - case IPPROTO_UDP: - clnt = clntudp_bufcreate(in4_raddr, - info->program, info->version, -@@ -241,7 +241,7 @@ static int rpc_do_create_client(struct sockaddr *addr, struct conn_info *info, i - - *client = NULL; - -- proto = info->proto->p_proto; -+ proto = info->proto; - if (proto == IPPROTO_UDP) - type = SOCK_DGRAM; - else -@@ -292,11 +292,11 @@ static int rpc_do_create_client(struct sockaddr *addr, struct conn_info *info, i - nb_addr.maxlen = nb_addr.len = slen; - nb_addr.buf = addr; - -- if (info->proto->p_proto == IPPROTO_UDP) -+ if (info->proto == IPPROTO_UDP) - clnt = clnt_dg_create(*fd, &nb_addr, - info->program, info->version, - info->send_sz, info->recv_sz); -- else if (info->proto->p_proto == IPPROTO_TCP) { -+ else if (info->proto == IPPROTO_TCP) { - ret = connect_nb(*fd, addr, slen, &info->timeout); - if (ret < 0) - return ret; -@@ -355,7 +355,7 @@ static int create_client(struct conn_info *info, CLIENT **client) - memset(&hints, 0, sizeof(hints)); - hints.ai_flags = AI_ADDRCONFIG; - hints.ai_family = AF_UNSPEC; -- if (info->proto->p_proto == IPPROTO_UDP) -+ if (info->proto == IPPROTO_UDP) - hints.ai_socktype = SOCK_DGRAM; - else - hints.ai_socktype = SOCK_STREAM; -@@ -370,7 +370,7 @@ static int create_client(struct conn_info *info, CLIENT **client) - - haddr = ai; - while (haddr) { -- if (haddr->ai_protocol != info->proto->p_proto) { -+ if (haddr->ai_protocol != info->proto) { - haddr = haddr->ai_next; - continue; - } -@@ -417,16 +417,11 @@ out_close: - int rpc_udp_getclient(struct conn_info *info, - unsigned int program, unsigned int version) - { -- struct protoent *pe_proto; - CLIENT *client; - int ret; - - if (!info->client) { -- pe_proto = getprotobyname("udp"); -- if (!pe_proto) -- return -ENOENT; -- -- info->proto = pe_proto; -+ info->proto = IPPROTO_UDP; - info->timeout.tv_sec = RPC_TOUT_UDP; - info->timeout.tv_usec = 0; - info->send_sz = UDPMSGSIZE; -@@ -458,16 +453,11 @@ void rpc_destroy_udp_client(struct conn_info *info) - int rpc_tcp_getclient(struct conn_info *info, - unsigned int program, unsigned int version) - { -- struct protoent *pe_proto; - CLIENT *client; - int ret; - - if (!info->client) { -- pe_proto = getprotobyname("tcp"); -- if (!pe_proto) -- return -ENOENT; -- -- info->proto = pe_proto; -+ info->proto = IPPROTO_TCP; - info->timeout.tv_sec = RPC_TOUT_TCP; - info->timeout.tv_usec = 0; - info->send_sz = 0; -@@ -513,23 +503,18 @@ void rpc_destroy_tcp_client(struct conn_info *info) - - int rpc_portmap_getclient(struct conn_info *info, - const char *host, struct sockaddr *addr, size_t addr_len, -- const char *proto, unsigned int option) -+ int proto, unsigned int option) - { -- struct protoent *pe_proto; - CLIENT *client; - int ret; - -- pe_proto = getprotobyname(proto); -- if (!pe_proto) -- return -ENOENT; -- - info->host = host; - info->addr = addr; - info->addr_len = addr_len; - info->program = PMAPPROG; - info->port = PMAPPORT; - info->version = PMAPVERS; -- info->proto = pe_proto; -+ info->proto = proto; - info->send_sz = RPCSMALLMSGSIZE; - info->recv_sz = RPCSMALLMSGSIZE; - info->timeout.tv_sec = PMAP_TOUT_UDP; -@@ -537,7 +522,7 @@ int rpc_portmap_getclient(struct conn_info *info, - info->close_option = option; - info->client = NULL; - -- if (pe_proto->p_proto == IPPROTO_TCP) -+ if (info->proto == IPPROTO_TCP) - info->timeout.tv_sec = PMAP_TOUT_TCP; - - ret = create_client(info, &client); -@@ -555,7 +540,7 @@ int rpc_portmap_getport(struct conn_info *info, - struct conn_info pmap_info; - CLIENT *client; - enum clnt_stat status; -- int proto = info->proto->p_proto; -+ int proto = info->proto; - int ret; - - memset(&pmap_info, 0, sizeof(struct conn_info)); -@@ -633,13 +618,13 @@ int rpc_ping_proto(struct conn_info *info) - { - CLIENT *client; - enum clnt_stat status; -- int proto = info->proto->p_proto; -+ int proto = info->proto; - int ret; - - if (info->client) - client = info->client; - else { -- if (info->proto->p_proto == IPPROTO_UDP) { -+ if (info->proto == IPPROTO_UDP) { - info->send_sz = UDPMSGSIZE; - info->recv_sz = UDPMSGSIZE; - } -@@ -688,7 +673,7 @@ int rpc_ping_proto(struct conn_info *info) - - static unsigned int __rpc_ping(const char *host, - unsigned long version, -- char *proto, -+ int proto, - long seconds, long micros, - unsigned int option) - { -@@ -696,6 +681,7 @@ static unsigned int __rpc_ping(const char *host, - struct conn_info info; - struct pmap parms; - -+ info.proto = proto; - info.host = host; - info.addr = NULL; - info.addr_len = 0; -@@ -710,13 +696,9 @@ static unsigned int __rpc_ping(const char *host, - - status = RPC_PING_FAIL; - -- info.proto = getprotobyname(proto); -- if (!info.proto) -- return status; -- - parms.pm_prog = NFS_PROGRAM; - parms.pm_vers = version; -- parms.pm_prot = info.proto->p_proto; -+ parms.pm_prot = info.proto; - parms.pm_port = 0; - - status = rpc_portmap_getport(&info, &parms, &info.port); -@@ -734,19 +716,19 @@ int rpc_ping(const char *host, long seconds, long micros, unsigned int option) - unsigned long vers2 = NFS2_VERSION; - unsigned int status; - -- status = __rpc_ping(host, vers2, "udp", seconds, micros, option); -+ status = __rpc_ping(host, vers2, IPPROTO_UDP, seconds, micros, option); - if (status > 0) - return RPC_PING_V2 | RPC_PING_UDP; - -- status = __rpc_ping(host, vers3, "udp", seconds, micros, option); -+ status = __rpc_ping(host, vers3, IPPROTO_UDP, seconds, micros, option); - if (status > 0) - return RPC_PING_V3 | RPC_PING_UDP; - -- status = __rpc_ping(host, vers2, "tcp", seconds, micros, option); -+ status = __rpc_ping(host, vers2, IPPROTO_TCP, seconds, micros, option); - if (status > 0) - return RPC_PING_V2 | RPC_PING_TCP; - -- status = __rpc_ping(host, vers3, "tcp", seconds, micros, option); -+ status = __rpc_ping(host, vers3, IPPROTO_TCP, seconds, micros, option); - if (status > 0) - return RPC_PING_V3 | RPC_PING_TCP; - -@@ -769,7 +751,7 @@ int rpc_time(const char *host, - double taken; - struct timeval start, end; - struct timezone tz; -- char *proto = (ping_proto & RPC_PING_UDP) ? "udp" : "tcp"; -+ int proto = (ping_proto & RPC_PING_UDP) ? IPPROTO_UDP : IPPROTO_TCP; - unsigned long vers = ping_vers; - - gettimeofday(&start, &tz); -@@ -791,12 +773,12 @@ static int rpc_get_exports_proto(struct conn_info *info, exports *exp) - { - CLIENT *client; - enum clnt_stat status; -- int proto = info->proto->p_proto; -+ int proto = info->proto; - unsigned int option = info->close_option; - int vers_entry; - int ret; - -- if (info->proto->p_proto == IPPROTO_UDP) { -+ if (info->proto == IPPROTO_UDP) { - info->send_sz = UDPMSGSIZE; - info->recv_sz = UDPMSGSIZE; - } -@@ -903,11 +885,9 @@ exports rpc_get_exports(const char *host, long seconds, long micros, unsigned in - parms.pm_port = 0; - - /* Try UDP first */ -- info.proto = getprotobyname("udp"); -- if (!info.proto) -- goto try_tcp; -+ info.proto = IPPROTO_UDP; - -- parms.pm_prot = info.proto->p_proto; -+ parms.pm_prot = info.proto; - - status = rpc_portmap_getport(&info, &parms, &info.port); - if (status < 0) -@@ -920,11 +900,9 @@ exports rpc_get_exports(const char *host, long seconds, long micros, unsigned in - return exportlist; - - try_tcp: -- info.proto = getprotobyname("tcp"); -- if (!info.proto) -- return NULL; -+ info.proto = IPPROTO_TCP; - -- parms.pm_prot = info.proto->p_proto; -+ parms.pm_prot = info.proto; - - status = rpc_portmap_getport(&info, &parms, &info.port); - if (status < 0) -diff --git a/modules/replicated.c b/modules/replicated.c -index 6b96320..dbd5513 100644 ---- a/modules/replicated.c -+++ b/modules/replicated.c -@@ -419,7 +419,7 @@ void free_host_list(struct host **list) - - static unsigned int get_nfs_info(unsigned logopt, struct host *host, - struct conn_info *pm_info, struct conn_info *rpc_info, -- const char *proto, unsigned int version, int port) -+ int proto, unsigned int version, int port) - { - unsigned int random_selection = host->options & MOUNT_FLAG_RANDOM_SELECT; - unsigned int use_weight_only = host->options & MOUNT_FLAG_USE_WEIGHT_ONLY; -@@ -433,22 +433,18 @@ static unsigned int get_nfs_info(unsigned logopt, struct host *host, - int status, count = 0; - - if (host->addr) -- debug(logopt, "called with host %s(%s) proto %s version 0x%x", -+ debug(logopt, "called with host %s(%s) proto %d version 0x%x", - host->name, get_addr_string(host->addr, buf, len), - proto, version); - else - debug(logopt, -- "called for host %s proto %s version 0x%x", -+ "called for host %s proto %d version 0x%x", - host->name, proto, version); - -- rpc_info->proto = getprotobyname(proto); -- if (!rpc_info->proto) -- return 0; -- -+ rpc_info->proto = proto; - memset(&parms, 0, sizeof(struct pmap)); -- - parms.pm_prog = NFS_PROGRAM; -- parms.pm_prot = rpc_info->proto->p_proto; -+ parms.pm_prot = proto; - - if (!(version & NFS4_REQUESTED)) - goto v3_ver; -@@ -479,7 +475,7 @@ static unsigned int get_nfs_info(unsigned logopt, struct host *host, - } - } - -- if (rpc_info->proto->p_proto == IPPROTO_UDP) -+ if (rpc_info->proto == IPPROTO_UDP) - status = rpc_udp_getclient(rpc_info, NFS_PROGRAM, NFS4_VERSION); - else - status = rpc_tcp_getclient(rpc_info, NFS_PROGRAM, NFS4_VERSION); -@@ -540,7 +536,7 @@ v3_ver: - goto v2_ver; - } - -- if (rpc_info->proto->p_proto == IPPROTO_UDP) -+ if (rpc_info->proto == IPPROTO_UDP) - status = rpc_udp_getclient(rpc_info, NFS_PROGRAM, NFS3_VERSION); - else - status = rpc_tcp_getclient(rpc_info, NFS_PROGRAM, NFS3_VERSION); -@@ -587,7 +583,7 @@ v2_ver: - goto done_ver; - } - -- if (rpc_info->proto->p_proto == IPPROTO_UDP) -+ if (rpc_info->proto == IPPROTO_UDP) - status = rpc_udp_getclient(rpc_info, NFS_PROGRAM, NFS2_VERSION); - else - status = rpc_tcp_getclient(rpc_info, NFS_PROGRAM, NFS2_VERSION); -@@ -618,7 +614,7 @@ v2_ver: - } - - done_ver: -- if (rpc_info->proto->p_proto == IPPROTO_UDP) { -+ if (rpc_info->proto == IPPROTO_UDP) { - rpc_destroy_udp_client(rpc_info); - rpc_destroy_udp_client(pm_info); - } else { -@@ -675,7 +671,7 @@ static int get_vers_and_cost(unsigned logopt, struct host *host, - - if (version & TCP_REQUESTED) { - supported = get_nfs_info(logopt, host, -- &pm_info, &rpc_info, "tcp", vers, port); -+ &pm_info, &rpc_info, IPPROTO_TCP, vers, port); - if (IS_ERR(supported)) { - if (ERR(supported) == EHOSTUNREACH || - ERR(supported) == ETIMEDOUT) -@@ -688,7 +684,7 @@ static int get_vers_and_cost(unsigned logopt, struct host *host, - - if (version & UDP_REQUESTED) { - supported = get_nfs_info(logopt, host, -- &pm_info, &rpc_info, "udp", vers, port); -+ &pm_info, &rpc_info, IPPROTO_UDP, vers, port); - if (IS_ERR(supported)) { - if (!ret && ERR(supported) == ETIMEDOUT) - return ret; -@@ -709,7 +705,7 @@ static int get_supported_ver_and_cost(unsigned logopt, struct host *host, - socklen_t len = INET6_ADDRSTRLEN; - char buf[len + 1]; - struct conn_info pm_info, rpc_info; -- const char *proto; -+ int proto; - unsigned int vers; - struct timeval start, end; - struct timezone tz; -@@ -748,10 +744,10 @@ static int get_supported_ver_and_cost(unsigned logopt, struct host *host, - * So, we do the conversion here. - */ - if (version & UDP_SELECTED_MASK) { -- proto = "udp"; -+ proto = IPPROTO_UDP; - version >>= 8; - } else -- proto = "tcp"; -+ proto = IPPROTO_TCP; - - switch (version) { - case NFS2_SUPPORTED: -@@ -768,9 +764,7 @@ static int get_supported_ver_and_cost(unsigned logopt, struct host *host, - return 0; - } - -- rpc_info.proto = getprotobyname(proto); -- if (!rpc_info.proto) -- return 0; -+ rpc_info.proto = proto; - - if (port > 0) - rpc_info.port = port; -@@ -786,14 +780,14 @@ static int get_supported_ver_and_cost(unsigned logopt, struct host *host, - - memset(&parms, 0, sizeof(struct pmap)); - parms.pm_prog = NFS_PROGRAM; -- parms.pm_prot = rpc_info.proto->p_proto; -+ parms.pm_prot = rpc_info.proto; - parms.pm_vers = vers; - ret = rpc_portmap_getport(&pm_info, &parms, &rpc_info.port); - if (ret < 0) - goto done; - } - -- if (rpc_info.proto->p_proto == IPPROTO_UDP) -+ if (rpc_info.proto == IPPROTO_UDP) - status = rpc_udp_getclient(&rpc_info, NFS_PROGRAM, vers); - else - status = rpc_tcp_getclient(&rpc_info, NFS_PROGRAM, vers); -@@ -815,7 +809,7 @@ static int get_supported_ver_and_cost(unsigned logopt, struct host *host, - } - } - done: -- if (rpc_info.proto->p_proto == IPPROTO_UDP) { -+ if (rpc_info.proto == IPPROTO_UDP) { - rpc_destroy_udp_client(&rpc_info); - rpc_destroy_udp_client(&pm_info); - } else { diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-workaround-missing-GNU-versionsort-extension.patch b/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-workaround-missing-GNU-versionsort-extension.patch deleted file mode 100644 index 6a1a49e62c..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-workaround-missing-GNU-versionsort-extension.patch +++ /dev/null @@ -1,149 +0,0 @@ -autofs-5.0.7 - workaround missing GNU versionsort extension - -From: Chris Packham <chris.packham@alliedtelesis.co.nz> - -alphasort() and scandir() are specified in POSIX.1-2008, versionsort() -is a GNU extension. When versionsort isn't available fallback to using -alphasort. ---- - - CHANGELOG | 1 + - configure | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ - configure.in | 6 +++++ - include/config.h.in | 3 ++ - modules/lookup_dir.c | 5 ++++ - 5 files changed, 77 insertions(+), 0 deletions(-) - - -diff --git a/CHANGELOG b/CHANGELOG -index 4eaa9f9..39388a5 100644 ---- a/CHANGELOG -+++ b/CHANGELOG -@@ -27,6 +27,7 @@ - - lib/defaults.c: use WITH_LDAP conditional around LDAP types. - - make yellow pages support optional. - - modules/replicated.c: use sin6_addr.s6_addr32. -+- workaround missing GNU versionsort extension. - - 25/07/2012 autofs-5.0.7 - ======================= -diff --git a/configure b/configure -index cf6428c..c1423d8 100755 ---- a/configure -+++ b/configure -@@ -4010,6 +4010,68 @@ $as_echo "yes" >&6; } - KRB5_FLAGS=`$KRB5_CONFIG --cflags` - fi - -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing versionsort" >&5 -+$as_echo_n "checking for library containing versionsort... " >&6; } -+if ${ac_cv_search_versionsort+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_func_search_save_LIBS=$LIBS -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char versionsort (); -+int -+main () -+{ -+return versionsort (); -+ ; -+ return 0; -+} -+_ACEOF -+for ac_lib in '' ; do -+ if test -z "$ac_lib"; then -+ ac_res="none required" -+ else -+ ac_res=-l$ac_lib -+ LIBS="-l$ac_lib $ac_func_search_save_LIBS" -+ fi -+ if ac_fn_c_try_link "$LINENO"; then : -+ ac_cv_search_versionsort=$ac_res -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext -+ if ${ac_cv_search_versionsort+:} false; then : -+ break -+fi -+done -+if ${ac_cv_search_versionsort+:} false; then : -+ -+else -+ ac_cv_search_versionsort=no -+fi -+rm conftest.$ac_ext -+LIBS=$ac_func_search_save_LIBS -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_versionsort" >&5 -+$as_echo "$ac_cv_search_versionsort" >&6; } -+ac_res=$ac_cv_search_versionsort -+if test "$ac_res" != no; then : -+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -+ -+fi -+ -+if test "$ac_cv_search_versionsort" = "no"; then -+ -+$as_echo "#define WITHOUT_VERSIONSORT 1" >>confdefs.h -+ -+fi -+ - # - # glibc/libc 6 new libraries - # -diff --git a/configure.in b/configure.in -index 363c376..4029375 100644 ---- a/configure.in -+++ b/configure.in -@@ -163,6 +163,12 @@ AF_SLOPPY_MOUNT() - AF_CHECK_LIBXML() - AF_CHECK_KRB5() - -+AC_SEARCH_LIBS([versionsort],[]) -+if test "$ac_cv_search_versionsort" = "no"; then -+ AC_DEFINE(WITHOUT_VERSIONSORT, 1, -+ [Define if your C library does not provide versionsort]) -+fi -+ - # - # glibc/libc 6 new libraries - # -diff --git a/include/config.h.in b/include/config.h.in -index 7f1c5b5..a2a05a8 100644 ---- a/include/config.h.in -+++ b/include/config.h.in -@@ -135,6 +135,9 @@ - /* Define to 1 to use the libtirpc tsd usage workaround */ - #undef TIRPC_WORKAROUND - -+/* Define if your C library does not provide versionsort */ -+#undef WITHOUT_VERSIONSORT -+ - /* Define if using the dmalloc debugging malloc package */ - #undef WITH_DMALLOC - -diff --git a/modules/lookup_dir.c b/modules/lookup_dir.c -index 33901c0..07471b7 100644 ---- a/modules/lookup_dir.c -+++ b/modules/lookup_dir.c -@@ -39,6 +39,11 @@ - #define AUTOFS_DIR_EXT ".autofs" - #define AUTOFS_DIR_EXTSIZ (sizeof(AUTOFS_DIR_EXT) - 1) - -+/* Work around non-GNU systems that don't provide versionsort */ -+#ifdef WITHOUT_VERSIONSORT -+#define versionsort alphasort -+#endif -+ - struct lookup_context { - const char *mapname; - }; diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch index 742f25de19..742f25de19 100644 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/0001-systemd-allow-with-systemd-to-take-a-path-arg.patch diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/Makefile.rules-cross.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/Makefile.rules-cross.patch index 7dc7096c2e..7dc7096c2e 100644 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/Makefile.rules-cross.patch +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/Makefile.rules-cross.patch diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.1.0/add-the-needed-stdarg.h.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/add-the-needed-stdarg.h.patch new file mode 100644 index 0000000000..fdb906b22b --- /dev/null +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/add-the-needed-stdarg.h.patch @@ -0,0 +1,24 @@ +[PATCH] add the needed stdarg.h + +Upstream-status: Pending + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + lib/defaults.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/defaults.c b/lib/defaults.c +index 2b03ea2..5728e67 100644 +--- a/lib/defaults.c ++++ b/lib/defaults.c +@@ -16,6 +16,7 @@ + + #include <stdlib.h> + #include <stdio.h> ++#include <stdarg.h> + #include <ctype.h> + #include <string.h> + #include <sys/utsname.h> +-- +1.7.10.4 + diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-do-not-check-for-modprobe.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-do-not-check-for-modprobe.patch index af5be6a830..af5be6a830 100644 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-do-not-check-for-modprobe.patch +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-do-not-check-for-modprobe.patch diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-lib-deps.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-fix-lib-deps.patch index 09fea495df..09fea495df 100644 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-fix-lib-deps.patch +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-fix-lib-deps.patch diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch index 3a878980a4..3a878980a4 100644 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-additional-distros.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-additional-distros.patch index 6a35843cea..6a35843cea 100644 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/autofs-additional-distros.patch +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/autofs-additional-distros.patch diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/cross.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/cross.patch index 8f1af625f0..8f1af625f0 100644 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/cross.patch +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/cross.patch diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/fix_disable_ldap.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/fix_disable_ldap.patch index 31c8510a69..31c8510a69 100644 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/fix_disable_ldap.patch +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/fix_disable_ldap.patch diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.1.0/force-STRIP-to-emtpy.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/force-STRIP-to-emtpy.patch new file mode 100644 index 0000000000..634005bd27 --- /dev/null +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/force-STRIP-to-emtpy.patch @@ -0,0 +1,25 @@ +[PATCH] force STRIP to emtpy + +otherwise the generate file will be stripped + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + Makefile.rules | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.rules b/Makefile.rules +index 710a2c9..e4334db 100644 +--- a/Makefile.rules ++++ b/Makefile.rules +@@ -31,7 +31,7 @@ LDFLAGS ?= -s + endif + + ifdef DONTSTRIP +-STRIP ?= : ++STRIP = : + else + STRIP ?= strip --strip-debug + endif +-- +1.7.10.4 + diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/libtirpc-name-clash-backout.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/libtirpc-name-clash-backout.patch index 104724014d..e93021d567 100644 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/libtirpc-name-clash-backout.patch +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/libtirpc-name-clash-backout.patch @@ -1,12 +1,15 @@ -Index: autofs-5.0.7/lib/rpc_subs.c -=================================================================== ---- autofs-5.0.7.orig/lib/rpc_subs.c 2012-07-24 23:05:26.000000000 -0700 -+++ autofs-5.0.7/lib/rpc_subs.c 2012-10-28 14:47:49.008382116 -0700 +--- + lib/rpc_subs.c | 10 ---------- + 1 file changed, 10 deletions(-) + +diff --git a/lib/rpc_subs.c b/lib/rpc_subs.c +index 5d6ead0..c7177f2 100644 +--- a/lib/rpc_subs.c ++++ b/lib/rpc_subs.c @@ -34,16 +34,6 @@ - #include <pthread.h> #include <poll.h> --#ifdef WITH_LIBTIRPC + #ifdef WITH_LIBTIRPC -#undef auth_destroy -#define auth_destroy(auth) \ - do { \ @@ -16,6 +19,10 @@ Index: autofs-5.0.7/lib/rpc_subs.c - } while (0) -#endif - - #include "mount.h" - #include "rpc_subs.h" - #include "automount.h" +-#ifdef WITH_LIBTIRPC + const rpcprog_t rpcb_prog = RPCBPROG; + const rpcvers_t rpcb_version = RPCBVERS; + #else +-- +1.7.10.4 + diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/libtirpc.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/libtirpc.patch index 04f52c6f0e..d68944b459 100644 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/libtirpc.patch +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/libtirpc.patch @@ -16,11 +16,11 @@ Index: autofs-5.0.7/Makefile.rules --- autofs-5.0.7.orig/Makefile.rules 2012-10-28 13:17:45.308237022 -0700 +++ autofs-5.0.7/Makefile.rules 2012-10-28 13:21:25.720242803 -0700 @@ -48,7 +48,7 @@ - LDFLAGS += -lpthread + LIBS += -lpthread ifdef TIRPCLIB -CFLAGS += -I/usr/include/tirpc +CFLAGS += -I=/usr/include/tirpc - LDFLAGS += $(TIRPCLIB) + LIBS += $(TIRPCLIB) endif diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/no-bash.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/no-bash.patch index cf03635270..cf03635270 100644 --- a/meta-networking/recipes-daemons/autofs/autofs-5.0.7/no-bash.patch +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/no-bash.patch diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.1.0/remove-bashism.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/remove-bashism.patch new file mode 100644 index 0000000000..282d6f0ad2 --- /dev/null +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/remove-bashism.patch @@ -0,0 +1,120 @@ +From 79034f969bbd12215d65b4337dfd38a13d02d4ef Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Sat, 13 Sep 2014 20:19:28 -0700 +Subject: [PATCH] autofs.init.in: remove bashism + +It can work without the bashism. + +Upstream-Status: Pending + +Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + redhat/autofs.init.in | 12 ++++++------ + samples/rc.autofs.in | 10 +++++----- + 2 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/redhat/autofs.init.in b/redhat/autofs.init.in +index 9d008ff..4f1c0d8 100644 +--- a/redhat/autofs.init.in ++++ b/redhat/autofs.init.in +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # + # rc file for automount using a Sun-style "master map". + # +@@ -42,7 +42,7 @@ if [ -r $confdir/autofs ]; then + . $confdir/autofs + fi + +-function start() { ++start() { + # Make sure autofs4 module is loaded + if ! grep -q autofs /proc/filesystems + then +@@ -102,7 +102,7 @@ function start() { + return $RETVAL + } + +-function stop() { ++stop() { + echo -n $"Stopping $prog: " + count=0 + while [ -n "`pidof $prog`" -a $count -lt 15 ] ; do +@@ -125,7 +125,7 @@ function stop() { + return $RETVAL + } + +-function restart() { ++restart() { + status autofs > /dev/null 2>&1 + if [ $? -eq 0 ]; then + stop +@@ -143,7 +143,7 @@ function restart() { + start + } + +-function reload() { ++reload() { + if [ ! -f /var/lock/subsys/autofs ]; then + echo $"$prog not running" + RETVAL=1 +@@ -161,7 +161,7 @@ function reload() { + return $RETVAL + } + +-function usage_message() { ++usage_message() { + echo $"Usage: $0 {start|forcestart|stop|status|restart|force-reload|forcerestart|reload|condrestart|try-restart|usage}" + } + +diff --git a/samples/rc.autofs.in b/samples/rc.autofs.in +index 487669f..e96cde1 100644 +--- a/samples/rc.autofs.in ++++ b/samples/rc.autofs.in +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # + # rc file for automount using a Sun-style "master map". + # +@@ -36,7 +36,7 @@ if [ -r $confdir/autofs ]; then + . $confdir/autofs + fi + +-function start() { ++start() { + echo -n "Starting $prog: " + + # Make sure autofs4 module is loaded +@@ -85,7 +85,7 @@ function start() { + return $RETVAL + } + +-function stop() { ++stop() { + echo -n $"Stopping $prog: " + count=0 + while [ -n "`pidof $prog`" -a $count -lt 15 ] ; do +@@ -102,7 +102,7 @@ function stop() { + return $RETVAL + } + +-function restart() { ++restart() { + stop + while [ -n "`pidof $prog`" ] ; do + sleep 5 +@@ -110,7 +110,7 @@ function restart() { + start + } + +-function reload() { ++reload() { + pid=`pidof $prog` + if [ -z $pid ]; then + echo $"$prog not running" +-- +1.7.9.5 + diff --git a/meta-networking/recipes-daemons/autofs/autofs-5.1.0/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch new file mode 100644 index 0000000000..93b76bd66e --- /dev/null +++ b/meta-networking/recipes-daemons/autofs/autofs-5.1.0/using-pkg-config-to-detect-libxml-2.0-and-krb5.patch @@ -0,0 +1,39 @@ +using pkg-config to detect libxml-2.0 and krb5 + +Upstream-status: Pending + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + configure.in | 16 ++++++++++++++-- + 2 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/configure.in b/configure.in +index 392d122..a3028aa 100644 +--- a/configure.in ++++ b/configure.in +@@ -162,8 +162,20 @@ if test x$enable_sloppy_mount = xyes; then + fi + + # LDAP SASL auth needs libxml and Kerberos +-AF_CHECK_LIBXML() +-AF_CHECK_KRB5() ++PKG_CHECK_MODULES(XML, [libxml-2.0],HAVE_LIBXML=1,HAVE_LIBXML=0) ++AC_SUBST([HAVE_LIBXML]) ++XML_FLAGS=$XML_CFLAGS ++ ++PKG_CHECK_MODULES(KRB5, [krb5],HAVE_KRB5=1,HAVE_KRB5=0) ++AC_SUBST([HAVE_KRB5]) ++if test "x$HAVE_KRB5" = "x1"; then ++ SAVE_CFLAGS=$CFLAGS ++ SAVE_LIBS=$LIBS ++ CFLAGS="$CFLAGS $KRB5_FLAGS" ++ LIBS="$LIBS $KRB5_LIBS" ++ ++ AC_CHECK_FUNCS([krb5_principal_get_realm]) ++fi + + AC_SEARCH_LIBS([versionsort],[]) + if test "$ac_cv_search_versionsort" = "no"; then +-- +1.7.10.4 + diff --git a/meta-networking/recipes-daemons/autofs/autofs_5.0.7.bb b/meta-networking/recipes-daemons/autofs/autofs_5.0.7.bb deleted file mode 100644 index 501e40acdd..0000000000 --- a/meta-networking/recipes-daemons/autofs/autofs_5.0.7.bb +++ /dev/null @@ -1,112 +0,0 @@ -SUMMARY = "Kernel based automounter for linux" -SECTION = "base" -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" - -PR = "r6" - -DEPENDS += "libtirpc flex-native bison-native" - -inherit autotools systemd - -SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.bz2 \ - file://autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch \ - file://autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch \ - file://autofs-5.0.7-fix-ipv6-proximity-calculation.patch \ - file://autofs-5.0.7-fix-parse-buffer-initialization.patch \ - file://autofs-5.0.7-fix-typo-in-automount-8.patch \ - file://autofs-5.0.7-include-usage-in-usage-message.patch \ - file://autofs-5.0.7-dont-wait-forever-to-restart.patch \ - file://autofs-5.0.7-add-timeout-option-description-to-man-page.patch \ - file://autofs-5.0.7-fix-null-map-entry-order-handling.patch \ - file://autofs-5.0.7-make-description-of-default-MOUNT_WAIT-setting-clear.patch \ - file://autofs-5.0.7-configure-in-allow-cross-compilation.patch \ - file://autofs-5.0.7-README-update-mailing-list-subscription-info.patch \ - file://autofs-5.0.7-allow-non-root-user-to-check-status.patch \ - file://autofs-5.0.7-configure-allow-cross-compilation-update.patch \ - file://autofs-5.0.6-fix-recursive-mount-deadlock.patch \ - file://autofs-5.0.6-increase-file-map-read-buffer-size.patch \ - file://autofs-5.0.7-handle-new-location-of-systemd.patch \ - file://autofs-5.0.7-fix-map-entry-duplicate-offset-detection.patch \ - file://autofs-5.0.7-allow-nsswitch_conf-to-not-contain-automount-lines.patch \ - file://autofs-5.0.7-fix-nobind-man-page-description.patch \ - file://autofs-5.0.7-fix-submount-offset-delete.patch \ - file://autofs-5.0.7-fix-init-script-status-return.patch \ - file://autofs-5.0.7-fix-use-get_proximity-without-libtirpc.patch \ - file://autofs-5.0.7-dont-use-dirent-d_type-to-filter-out-files-in-scandir.patch \ - file://autofs-5.0.7-dont-schedule-new-alarms-after-readmap.patch \ - file://autofs-5.0.7-use-numeric-protocol-ids-instead-of-protoent-structs.patch \ - file://autofs-5.0.7-lib-defaults-use-WITH_LDAP-conditional-around-LDAP-types.patch \ - file://autofs-5.0.7-make-yellow-pages-support-optional.patch \ - file://autofs-5.0.7-modules-replicated-use-sin6.addr-s6_addr32.patch \ - file://autofs-5.0.7-workaround-missing-GNU-versionsort-extension.patch \ - file://autofs-5.0.7-dont-fail-on-master-map-self-include.patch \ - file://autofs-5.0.7-fix-wildcard-multi-map-regression.patch \ - file://autofs-5.0.7-fix-file-descriptor-leak-when-reloading-the-daemon.patch \ - file://autofs-5.0.7-depricate-nosymlink-pseudo-option.patch \ - file://autofs-5.0.7-add-symlink-pseudo-option.patch \ - file://autofs-5.0.7-update-kernel-include-files.patch \ - file://autofs-5.0.7-fix-requires-in-spec-file.patch \ - file://autofs-5.0.7-fix-libtirpc-build-option.patch \ - file://autofs-5.0.7-fix-systemd-unidir-in-spec-file.patch \ - file://autofs-5.0.7-document-browse-option-in-man-page.patch \ - file://autofs-5.0.7-fix-automounter-support-on-parisc.patch \ - file://autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch \ - file://Makefile.rules-cross.patch \ - file://no-bash.patch \ - file://cross.patch \ - file://libtirpc.patch \ - file://libtirpc-name-clash-backout.patch \ - file://autofs-5.0.7-do-not-check-for-modprobe.patch \ - file://fix_disable_ldap.patch \ - file://autofs-5.0.7-fix-lib-deps.patch \ - file://0001-systemd-allow-with-systemd-to-take-a-path-arg.patch \ -" - -SRC_URI[md5sum] = "bc46838dece83c02d800ff144ed9f431" -SRC_URI[sha256sum] = "08c4304d8076dc80c14df559bc5fd821b67ef3457b245f61068bd053d8f94ccc" - -inherit update-rc.d pkgconfig - -INITSCRIPT_NAME = "autofs" -INITSCRIPT_PARAMS = "defaults" - -# FIXME: modules/Makefile has crappy rules that don't obey LDFLAGS -CFLAGS += "${LDFLAGS}" - -PACKAGECONFIG[systemd] = "--with-systemd=${systemd_unitdir}/system,--without-systemd,systemd" - -PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" - -EXTRA_OEMAKE = "DONTSTRIP=1" -EXTRA_OECONF += "--disable-mount-locking \ - --enable-ignore-busy --with-openldap=no \ - --with-sasl=no --with-libtirpc=yes \ - --with-path=${STAGING_BINDIR_NATIVE} \ -" -CACHED_CONFIGUREVARS = "ac_cv_path_RANLIB=${RANLIB} \ - ac_cv_path_RPCGEN=rpcgen \ -" - -do_configure_prepend () { - sed -e "s:filagdir:flagdir:" -i configure.in - if [ ! -e acinclude.m4 ]; then - cp aclocal.m4 acinclude.m4 - fi -} - -do_install_append () { - if [ -d ${D}/run ]; then - rmdir ${D}/run - fi - if [ -d ${D}${localstatedir}/run ]; then - rmdir ${D}${localstatedir}/run - fi -} - -INSANE_SKIP_${PN} = "dev-so" - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "autofs.service" diff --git a/meta-networking/recipes-daemons/autofs/autofs_5.1.0.bb b/meta-networking/recipes-daemons/autofs/autofs_5.1.0.bb new file mode 100644 index 0000000000..13af2fe45f --- /dev/null +++ b/meta-networking/recipes-daemons/autofs/autofs_5.1.0.bb @@ -0,0 +1,71 @@ +SUMMARY = "Kernel based automounter for linux" +SECTION = "base" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +DEPENDS += "libtirpc flex-native bison-native" + +inherit autotools-brokensep systemd + +SRC_URI = "${KERNELORG_MIRROR}/linux/daemons/autofs/v5/autofs-${PV}.tar.gz \ + file://autofs-5.0.7-include-linux-nfs.h-directly-in-rpc_sub.patch \ + file://no-bash.patch \ + file://cross.patch \ + file://libtirpc.patch \ + file://libtirpc-name-clash-backout.patch \ + file://autofs-5.0.7-do-not-check-for-modprobe.patch \ + file://fix_disable_ldap.patch \ + file://autofs-5.0.7-fix-lib-deps.patch \ + file://add-the-needed-stdarg.h.patch \ + file://using-pkg-config-to-detect-libxml-2.0-and-krb5.patch \ + file://force-STRIP-to-emtpy.patch \ + file://remove-bashism.patch \ +" + +SRC_URI[md5sum] = "b7724a9a55923f3c06933a8dfd1e79d3" +SRC_URI[sha256sum] = "794a28d178d2b21a2380ee71cbdb3b15b4be47c06f3de255b8c5c4351f046b26" + +inherit update-rc.d pkgconfig + +INITSCRIPT_NAME = "autofs" +INITSCRIPT_PARAMS = "defaults" + +# FIXME: modules/Makefile has crappy rules that don't obey LDFLAGS +CFLAGS += "${LDFLAGS}" + +PACKAGECONFIG[systemd] = "--with-systemd=${systemd_unitdir}/system,--without-systemd,systemd" + +PACKAGECONFIG ?= "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" + +EXTRA_OEMAKE = "DONTSTRIP=1" +EXTRA_OECONF += "--disable-mount-locking \ + --enable-ignore-busy --with-openldap=no \ + --with-sasl=no --with-libtirpc=yes \ + --with-path=${STAGING_BINDIR_NATIVE} \ +" +CACHED_CONFIGUREVARS = "ac_cv_path_RANLIB=${RANLIB} \ + ac_cv_path_RPCGEN=rpcgen \ +" + +do_configure_prepend () { + sed -e "s:filagdir:flagdir:" -i configure.in + if [ ! -e acinclude.m4 ]; then + cp aclocal.m4 acinclude.m4 + fi +} + +do_install_append () { + if [ -d ${D}/run ]; then + rmdir ${D}/run + fi + if [ -d ${D}${localstatedir}/run ]; then + rmdir ${D}${localstatedir}/run + fi +} + +INSANE_SKIP_${PN} = "dev-so" + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "autofs.service" 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 e3ff56d821..ea9cd1c240 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 @@ -12,7 +12,7 @@ SRC_URI = "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-${PV}.tar.gz \ file://sasl.h-include-stddef.h-for-size_t-on-NetBSD.patch \ " -inherit autotools pkgconfig useradd +inherit autotools-brokensep pkgconfig useradd EXTRA_OECONF += "--with-dblib=berkeley \ --with-bdb-libdir=${STAGING_LIBDIR} \ 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/files/99_iscsi-initiator-utils b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/99_iscsi-initiator-utils new file mode 100644 index 0000000000..42fdd602f9 --- /dev/null +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/99_iscsi-initiator-utils @@ -0,0 +1,2 @@ +# <type> <owner> <group> <mode> <path> <linksource> +d root root 0755 /var/lock/iscsi none diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/initd.debian b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/initd.debian new file mode 100644 index 0000000000..99a7638611 --- /dev/null +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/initd.debian @@ -0,0 +1,119 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: +# Required-Start: +# Required-Stop: +# Default-Start: +# Default-Stop: +# Short-Description: Starts and stops the iSCSI initiator services and logins to default targets +### END INIT INFO +#set -x +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/iscsid +ADM=/usr/sbin/iscsiadm +PIDFILE=/var/run/iscsid.pid + +[ -x "$DAEMON" ] || exit 0 + +if [ ! -d /sys/class/ ]; then + echo "Failure:" "iSCSI requires a mounted sysfs, not started." + exit 1 +fi + +nodestartup_re='s/^node\.conn\[0]\.startup[ ]*=[ ]*//p' + +RETVAL=0 + +start() { + echo "Starting iSCSI initiator service" "iscsid" + modprobe -q iscsi_tcp 2>/dev/null || : + modprobe -q ib_iser 2>/dev/null || : + if [ ! -f /etc/iscsi/initiatorname.iscsi ]; then + INITIATORNAME=$(iscsi-iname) + cat >/etc/iscsi/initiatorname.iscsi <<EOF +## DO NOT EDIT OR REMOVE THIS FILE! +## If you remove this file, the iSCSI daemon will not start. +## If you change the InitiatorName, existing access control lists +## may reject this initiator. The InitiatorName must be unique +## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames. +InitiatorName=$INITIATORNAME +EOF + fi + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON + RETVAL=$? + starttargets +} + +starttargets() { + echo "Setting up iSCSI targets" + $ADM -m node --loginall=automatic +} + +stoptargets() { + echo "Disconnecting iSCSI targets" + sync + $ADM -m node --logoutall=all + RETVAL=$? + #if RETVAL is 21, means no active sessions, consider ok + if [ "$RETVAL" = "21" ]; then + RETVAL=0 + fi +} + +stop() { + stoptargets + if [ $RETVAL -ne 0 ]; then + echo "Failure:" "Could not stop all targets, try again later" + return $RETVAL + fi + + echo "Stopping iSCSI initiator service" + start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON + rm -f $PIDFILE + status=0 + modprobe -r ib_iser 2>/dev/null + if [ "$?" -ne "0" -a "$?" -ne "1" ]; then + status=1 + fi + modprobe -r iscsi_tcp 2>/dev/null + if [ "$?" -ne "0" -a "$?" -ne "1" ]; then + status=1 + fi +} + +restart() { + stop + if [ $RETVAL -ne 0 ]; then + echo "Failure:" "Stopping iSCSI initiator service failed, not starting" + return $RETVAL + fi + start +} + +restarttargets() { + stoptargets + if [ $RETVAL -ne 0 ]; then + echo "Failure:" "Could not stop all targets, try again later" + return $RETVAL + fi + starttargets +} + +status() { + #XXX FIXME: what to do here? + #status iscsid + # list active sessions + echo Current active iSCSI sessions: + $ADM -m session +} + +case "$1" in + start|starttargets|stop|stoptargets|restart|restarttargets|status) + $1 + ;; + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; +esac +exit $RETVAL diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator new file mode 100644 index 0000000000..7fa49a2d60 --- /dev/null +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator @@ -0,0 +1,4 @@ +# default command line settings for open-iscsi's iscsid + +OPTS_ISCSID="" +OPTS_ISCSIADM="" diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-targets.service b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-targets.service new file mode 100644 index 0000000000..564b2d21d5 --- /dev/null +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-targets.service @@ -0,0 +1,15 @@ +[Unit] +Description=Open-iSCSI initiator (i.e. client) target bindings +After=iscsi-initiator.service +Requires=iscsi-initiator.service + +[Service] +Type=oneshot +EnvironmentFile=/etc/default/iscsi-initiator +ExecStart=/usr/sbin/iscsiadm -m node --loginall=automatic $OPTS_ISCSIADM +ExecStop=/usr/sbin/iscsiadm -m node --logoutall=all $OPTS_ISCSIADM +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target + diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-dont-use-static.patch b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-dont-use-static.patch new file mode 100644 index 0000000000..ce48e2bb39 --- /dev/null +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-dont-use-static.patch @@ -0,0 +1,21 @@ +iscsi-initiator-utils not to use static + +Upstream-status: Backport +This patch is from fedora17. + +Signed-off-by: Yao Zhao <yao.zhao@windriver.com> +Signed-off-by: Vu Tran <vu.tran@windriver.com> + +diff --git a/usr/Makefile b/usr/Makefile +index 673b7f1..fd14a10 100644 +--- a/usr/Makefile ++++ b/usr/Makefile +@@ -61,7 +61,7 @@ iscsiadm: $(ISCSI_LIB_SRCS) $(DISCOVERY_SRCS) iscsiadm.o session_mgmt.o + + iscsistart: $(ISCSI_LIB_SRCS) $(INITIATOR_SRCS) $(FW_BOOT_SRCS) \ + iscsistart.o statics.o +- $(CC) $(CFLAGS) -static $^ -o $@ ++ $(CC) $(CFLAGS) $^ -o $@ + clean: + rm -f *.o $(PROGRAMS) .depend $(LIBSYS) + diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-use-var-for-config.patch b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-use-var-for-config.patch new file mode 100644 index 0000000000..50227a7748 --- /dev/null +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator-utils-use-var-for-config.patch @@ -0,0 +1,240 @@ +iscsi-initiator-utils to use var for config + +Upstream-status: Backport +This patch is from fedora. + +Use /var/lib/iscsi/ instead of /etc/iscsi/ for holding +state files. + +Signed-off-by: Yao Zhao <yao.zhao@windriver.com> +Signed-off-by: Vu Tran <vu.tran@windriver.com> + +diff --git a/README b/README +index 7364b2d..5e8bff8 100644 +--- a/README ++++ b/README +@@ -164,10 +164,10 @@ available on all Linux installations. + + The database contains two tables: + +-- Discovery table (/etc/iscsi/send_targets); +-- Node table (/etc/iscsi/nodes). ++- Discovery table (/var/lib/iscsi/send_targets); ++- Node table (/var/lib/iscsi/nodes). + +-The regular place for iSCSI database files: /etc/iscsi/nodes ++The regular place for iSCSI database files: /var/lib/iscsi/nodes + + The iscsiadm utility is a command-line tool to manage (update, delete, + insert, query) the persistent database. +@@ -444,7 +444,7 @@ a scsi_host per HBA port). + To manage both types of initiator stacks, iscsiadm uses the interface (iface) + structure. For each HBA port or for software iscsi for each network + device (ethX) or NIC, that you wish to bind sessions to you must create +-a iface config /etc/iscsi/ifaces. ++a iface config /var/lib/iscsi/ifaces. + + Prep: + +@@ -478,29 +478,29 @@ Running: + iface0 qla4xxx,00:c0:dd:08:63:e8,20.15.0.7,default,iqn.2005-06.com.redhat:madmax + iface1 qla4xxx,00:c0:dd:08:63:ea,20.15.0.9,default,iqn.2005-06.com.redhat:madmax + +-Will report iface configurations that are setup in /etc/iscsi/ifaces. ++Will report iface configurations that are setup in /var/lib/iscsi/ifaces. + The format is: + + iface_name transport_name,hwaddress,ipaddress,net_ifacename,initiatorname + + For software iscsi, you can create the iface configs by hand, but it is + reccomended that you use iscsiadm's iface mode. There is a iface.example in +-/etc/iscsi/ifaces which can be used as a template for the daring. ++/var/lib/iscsi/ifaces which can be used as a template for the daring. + + For each network object you wish to bind a session to you must create +-a seperate iface config in /etc/iscsi/ifaces and each iface config file ++a seperate iface config in /var/lib/iscsi/ifaces and each iface config file + must have a unique name which is less than or equal to 64 characters. + + Example: + + If you have NIC1 with MAC address 00:0F:1F:92:6B:BF and NIC2 with + MAC address 00:C0:DD:08:63:E7 and you wanted to do software iscsi over +-TCP/IP. Then in /etc/iscsi/ifaces/iface0 you would enter: ++TCP/IP. Then in /var/lib/iscsi/ifaces/iface0 you would enter: + + iface.transport_name = tcp + iface.hwaddress = 00:0F:1F:92:6B:BF + +-and in /etc/iscsi/ifaces/iface1 you would enter: ++and in /var/lib/iscsi/ifaces/iface1 you would enter: + + iface.transport_name = tcp + iface.hwaddress = 00:C0:DD:08:63:E7 +@@ -550,7 +550,7 @@ cxgb3i.00:07:43:05:97:07 cxgb3i,00:07:43:05:97:07,<empty>,<empty>,<empty> + qla4xxx.00:0e:1e:04:8b:2e qla4xxx,00:0e:1e:04:8b:2e,<empty>,<empty>,<empty> + + +-Will report iface configurations that are setup in /etc/iscsi/ifaces. ++Will report iface configurations that are setup in /var/lib/iscsi/ifaces. + The format is: + + iface_name transport_name,hwaddress,ipaddress,net_ifacename,initiatorname +@@ -636,7 +636,7 @@ need a seperate network connection to the target for discovery purposes. + *This will be fixed in the next version of open-iscsi* + + For compatibility reasons, when you run iscsiadm to do discovery, it +-will check for interfaces in /etc/iscsi/iscsi/ifaces that are using ++will check for interfaces in /var/lib/iscsi/iscsi/ifaces that are using + tcp for the iface.transport and it will bind the portals that are discovered + so that they will be logged in through those ifaces. This behavior can also + be overriden by passing in the interfaces you want to use. For the case +@@ -654,7 +654,7 @@ we do not bind a session to a iface, then you can use the special iface + + iscsiadm -m discoverydb -t st -p ip:port -I default --discover -P 1 + +-And if you did not define any interfaces in /etc/iscsi/ifaces and do ++And if you did not define any interfaces in /var/lib/iscsi/ifaces and do + not pass anything into iscsiadm, running iscsiadm will do the default + behavior, where we allow the network subsystem to decide which + device to use. +@@ -696,7 +696,7 @@ To now log into targets it is the same as with sofware iscsi. See section + + ./iscsiadm -m discoverydb -t st -p 192.168.1.1:3260 --discover + +- This will search /etc/iscsi/send_targets for a record with the ++ This will search /var/lib/iscsi/send_targets for a record with the + ID [portal = 192.168.1.1:3260 and type = sendtargets. If found it + will perform discovery using the settings stored in the record. + If a record does not exist, it will be created using the iscsid.conf +@@ -705,7 +705,7 @@ To now log into targets it is the same as with sofware iscsi. See section + The argument to -p may also be a hostname instead of an address. + ./iscsiadm -m discoverydb -t st -p smoehost --discover + +- For the ifaces, iscsiadm will first search /etc/iscsi/ifaces for ++ For the ifaces, iscsiadm will first search /var/lib/iscsi/ifaces for + interfaces using software iscsi. If any are found then nodes found + during discovery will be setup so that they can logged in through + those interfaces. To specify a specific iface, pass the +@@ -761,7 +761,7 @@ To now log into targets it is the same as with sofware iscsi. See section + This command will perform discovery, but not manipulate the node DB. + + - SendTargets iSCSI Discovery with a specific interface. If you +- wish to only use a subset of the interfaces in /etc/iscsi/ifaces ++ wish to only use a subset of the interfaces in /var/lib/iscsi/ifaces + then you can pass them in during discovery: + + ./iscsiadm -m discoverydb -t sendtargets -p 192.168.1.1:3260 \ +@@ -1072,8 +1072,8 @@ where targetname is the name of the target and ip_address:port is the address + and port of the portal. tpgt, is the portal group tag of + the portal, and is not used in iscsiadm commands except for static + record creation. And iface name is the name of the iscsi interface +-defined in /etc/iscsi/ifaces. If no interface was defined in +-/etc/iscsi/ifaces or passed in, the default behavior is used. ++defined in /var/lib/iscsi/ifaces. If no interface was defined in ++/var/lib/iscsi/ifaces or passed in, the default behavior is used. + Default here is iscsi_tcp/tcp to be used over which ever NIC the + network layer decides is best. + +@@ -1188,7 +1188,7 @@ If set, iscsid will perform discovery to the address every + discovery.isns.discoveryd_poll_inval or + discovery.sendtargets.discoveryd_poll_inval seconds, + and it will log into any portals found from the discovery source using +-the ifaces in /etc/iscsi/ifaces. ++the ifaces in /var/lib/iscsi/ifaces. + + Note that for iSNS the poll_interval does not have to be set. If not set, + iscsid will only perform rediscovery when it gets a SCN from the server. +diff --git a/doc/iscsiadm.8 b/doc/iscsiadm.8 +index 7c209f6..e94cca0 100644 +--- a/doc/iscsiadm.8 ++++ b/doc/iscsiadm.8 +@@ -89,7 +89,7 @@ This option is only valid for ping submode. + .TP + \fB\-I\fR, \fB\-\-interface=\fI[iface]\fR + The interface argument specifies the iSCSI interface to use for the operation. +-iSCSI interfaces (iface) are defined in /etc/iscsi/ifaces. For hardware ++iSCSI interfaces (iface) are defined in /var/lib/iscsi/ifaces. For hardware + iSCSI (qla4xxx) the iface config must have the hardware address + (iface.hwaddress = port's MAC address) + and the driver/transport_name (iface.transport_name). The iface's name is +@@ -166,7 +166,7 @@ If no other options are specified: for \fIdiscoverydb\fR and \fInode\fR, all + of their respective records are displayed; for \fIsession\fR, all active + sessions and connections are displayed; for \fIfw\fR, all boot firmware + values are displayed; for \fIhost\fR, all iSCSI hosts are displayed; and +-for \fIiface\fR, all ifaces setup in /etc/iscsi/ifaces are displayed. ++for \fIiface\fR, all ifaces setup in /var/lib/iscsi/ifaces are displayed. + + .TP + \fB\-n\fR, \fB\-\-name=\fIname\fR +@@ -535,10 +535,10 @@ The configuration file read by \fBiscsid\fR and \fBiscsiadm\fR on startup. + The file containing the iSCSI InitiatorName and InitiatorAlias read by + \fBiscsid\fR and \fBiscsiadm\fR on startup. + .TP +-/etc/iscsi/nodes/ ++/var/lib/iscsi/nodes/ + This directory contains the nodes with their targets. + .TP +-/etc/iscsi/send_targets ++/var/lib/iscsi/send_targets + This directory contains the portals. + + .SH "SEE ALSO" +diff --git a/usr/idbm.c b/usr/idbm.c +index 4d30aa9..316e54f 100644 +--- a/usr/idbm.c ++++ b/usr/idbm.c +@@ -2468,9 +2468,9 @@ free_info: + int idbm_init(idbm_get_config_file_fn *fn) + { + /* make sure root db dir is there */ +- if (access(ISCSI_CONFIG_ROOT, F_OK) != 0) { +- if (mkdir(ISCSI_CONFIG_ROOT, 0660) != 0) { +- log_error("Could not make %s %d\n", ISCSI_CONFIG_ROOT, ++ if (access(ISCSIVAR, F_OK) != 0) { ++ if (mkdir(ISCSIVAR, 0660) != 0) { ++ log_error("Could not make %s %d\n", ISCSIVAR, + errno); + return errno; + } +diff --git a/usr/idbm.h b/usr/idbm.h +index 245f046..f45e86e 100644 +--- a/usr/idbm.h ++++ b/usr/idbm.h +@@ -28,12 +28,16 @@ + #include "config.h" + #include "list.h" + +-#define NODE_CONFIG_DIR ISCSI_CONFIG_ROOT"nodes" +-#define SLP_CONFIG_DIR ISCSI_CONFIG_ROOT"slp" +-#define ISNS_CONFIG_DIR ISCSI_CONFIG_ROOT"isns" +-#define STATIC_CONFIG_DIR ISCSI_CONFIG_ROOT"static" +-#define FW_CONFIG_DIR ISCSI_CONFIG_ROOT"fw" +-#define ST_CONFIG_DIR ISCSI_CONFIG_ROOT"send_targets" ++#define ISCSIVAR "/var/lib/iscsi/" ++ ++#define NODE_CONFIG_DIR ISCSIVAR"nodes" ++#define SLP_CONFIG_DIR ISCSIVAR"slp" ++#define ISNS_CONFIG_DIR ISCSIVAR"isns" ++#define STATIC_CONFIG_DIR ISCSIVAR"static" ++#define FW_CONFIG_DIR ISCSIVAR"fw" ++#define ST_CONFIG_DIR ISCSIVAR"send_targets" ++ ++ + #define ST_CONFIG_NAME "st_config" + #define ISNS_CONFIG_NAME "isns_config" + +diff --git a/usr/iface.h b/usr/iface.h +index 01f7074..2c6ef72 100644 +--- a/usr/iface.h ++++ b/usr/iface.h +@@ -20,7 +20,8 @@ + #ifndef ISCSI_IFACE_H + #define ISCSI_IFACE_H + +-#define IFACE_CONFIG_DIR ISCSI_CONFIG_ROOT"ifaces" ++#include "idbm.h" ++#define IFACE_CONFIG_DIR ISCSIVAR"ifaces" + + struct iface_rec; + struct list_head; diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator.service b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator.service new file mode 100644 index 0000000000..b1397513bb --- /dev/null +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/iscsi-initiator.service @@ -0,0 +1,12 @@ +[Unit] +Description=Open-iSCSI initiator (i.e. client) service +After=syslog.target + +[Service] +EnvironmentFile=/etc/default/iscsi-initiator +ExecStartPre=/sbin/modprobe iscsi_tcp +ExecStart=/usr/sbin/iscsid -f $OPTS_ISCSID + +[Install] +WantedBy=multi-user.target + 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 new file mode 100644 index 0000000000..f510ce51bf --- /dev/null +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0-873.bb @@ -0,0 +1,113 @@ +SUMMARY = "iSCSI daemon and utility programs" +DESCRIPTION = "Open-iSCSI project is a high performance, transport \ +independent, multi-platform implementation of RFC3720. The iscsi package \ +provides the server daemon for the iSCSI protocol, as well as the utility \ +programs used to manage it. iSCSI is a protocol for distributed \ +disk access using SCSI commands sent over Internet Protocol networks." +HOMEPAGE = "http://www.open-iscsi.org/" +LICENSE = "GPLv2 & LGPLv2.1" +SECTION = "console/network" +DEPENDS = "openssl flex-native bison-native" + +LIC_FILES_CHKSUM = \ + "file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ + file://utils/open-isns/COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" + +SRC_URI = "http://www.open-iscsi.org/bits/open-iscsi-${PV}.tar.gz \ + file://iscsi-initiator-utils-use-var-for-config.patch \ + file://iscsi-initiator-utils-dont-use-static.patch \ + file://initd.debian \ + file://99_iscsi-initiator-utils \ + file://iscsi-initiator \ + file://iscsi-initiator.service \ + file://iscsi-initiator-targets.service \ +" +SRC_URI[md5sum] = "8b8316d7c9469149a6cc6234478347f7" +SRC_URI[sha256sum] = "7dd9f2f97da417560349a8da44ea4fcfe98bfd5ef284240a2cc4ff8e88ac7cd9" + +S = "${WORKDIR}/open-iscsi-${PV}" + +inherit update-rc.d systemd + +TARGET_CC_ARCH += "${LDFLAGS}" +do_configure () { + #need to support cross-compiling in open-isns only + (cd utils/open-isns; gnu-configize; \ + ./configure --host=${TARGET_SYS} --build=${BUILD_SYS} --with-security=no ) +} + +do_compile () { + #make iscsistart one of PROGRAMS if install_user in do_install + #sed -i -e '/^PROGRAMS = /s;$; usr/iscsistart;' Makefile + + #fix the ar used in open-isns + sed -i -e 's:ar cr :$(AR) cr :' ${S}/utils/open-isns/Makefile + oe_runmake user +} + +do_install () { + #completely override the install_user as bugs in Makefile + #oe_runmake DESTDIR="${D}" install_user + + #install necessary directories + install -d ${D}${sbindir} \ + ${D}${sysconfdir}/init.d \ + ${D}${sysconfdir}/iscsi \ + ${D}${localstatedir}/lib/iscsi/nodes \ + ${D}${localstatedir}/lib/iscsi/send_targets \ + ${D}${localstatedir}/lib/iscsi/static \ + ${D}${localstatedir}/lib/iscsi/isns \ + ${D}${localstatedir}/lib/iscsi/slp \ + ${D}${localstatedir}/lib/iscsi/ifaces \ + ${D}/${mandir}/man8 + + install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \ + ${S}/utils/iscsi-iname \ + ${S}/usr/iscsistart ${D}/${sbindir} + + install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8 + 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 - - - -" \ + > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf + install -d ${D}/etc/default/ + install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/ + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/iscsi-initiator.service \ + ${WORKDIR}/iscsi-initiator-targets.service \ + ${D}${systemd_unitdir}/system/ + else + install -d ${D}/etc/default/volatiles + install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles + fi +} + +pkg_postinst_${PN}() { + #default there is no initiatorname.iscsi installed + #but it is needed or iscsid will fail + + #will run only when postinst on target + if [ "x$D" != "x" ]; then + exit 1 + fi + if [ ! -f ${sysconfdir}/iscsi/initiatorname.iscsi ]; then + echo "InitiatorName=$(${sbindir}/iscsi-iname)" > \ + ${sysconfdir}/iscsi/initiatorname.iscsi + fi + + if [ -e /etc/init.d/populate-volatile.sh ]; then + /etc/init.d/populate-volatile.sh update + elif command -v systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf + fi +} + +SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service " +INITSCRIPT_NAME = "iscsid" +INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ." 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/install.patch b/meta-networking/recipes-daemons/postfix/files/install.patch new file mode 100644 index 0000000000..a3fe089c22 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/install.patch @@ -0,0 +1,66 @@ +Change fixed postconf to a variable for cross-compiling + +Upstreamstatus: Inappropriate [embedded specific] + +Signed-off-by: Yao Zhao <yao.zhao@windriver.com> +--- +diff --git a/postfix-install b/postfix-install +index 49225ac..2e4c292 100644 +--- a/postfix-install ++++ b/postfix-install +@@ -201,8 +201,8 @@ test -z "$non_interactive" -a ! -t 0 && { + exit 1 + } + +-test -x bin/postconf || { +- echo $0: Error: no bin/postconf file. Did you forget to run \"make\"? 1>&2 ++test -x "$POSTCONF" || { ++ echo $0: Error: no $POSTCONF file. Did you forget to run \"make\"? 1>&2 + exit 1 + } + +@@ -363,7 +363,7 @@ HTML files. Specify \"no\" if you do not want to install these files." + + : ${install_root=/} + : ${tempdir=`pwd`} +-: ${config_directory=`bin/postconf -c conf -h -d config_directory`} ++: ${config_directory=`$POSTCONF -c conf -h -d config_directory`} + + # Find out the location of installed configuration files. + +@@ -433,7 +433,7 @@ test -f $CONFIG_DIRECTORY/main.cf && { + case "$junk" in + "") eval unset $name;; + esac +- eval : \${$name=\`bin/postconf -c $CONFIG_DIRECTORY -h $name\`} || ++ eval : \${$name=\`$POSTCONF -c $CONFIG_DIRECTORY -h $name\`} || + exit 1 + done + } +@@ -446,7 +446,7 @@ do + case "$junk" in + "") eval unset $name;; + esac +- eval : \${$name=\`bin/postconf -c conf -d -h $name\`} || exit 1 ++ eval : \${$name=\`$POSTCONF -c conf -d -h $name\`} || exit 1 + done + + # Override settings manually. +@@ -565,6 +565,8 @@ HTML_DIRECTORY=$install_root$html_directory + MANPAGE_DIRECTORY=$install_root$manpage_directory + README_DIRECTORY=$install_root$readme_directory + ++test "x$POSTCONF" != "x" || POSTCONF="bin/postconf" ++ + # Avoid repeated tests for existence of these; default permissions suffice. + + test -d $DAEMON_DIRECTORY || mkdir -p $DAEMON_DIRECTORY || exit 1 +@@ -724,7 +726,7 @@ do + # Postfix releases, and software should not suddenly be installed in + # the wrong place when Postfix is being upgraded. + +-bin/postconf -c $CONFIG_DIRECTORY -e \ ++"$POSTCONF" -c $CONFIG_DIRECTORY -e \ + "daemon_directory = $daemon_directory" \ + "data_directory = $data_directory" \ + "command_directory = $command_directory" \ diff --git a/meta-networking/recipes-daemons/postfix/files/internal_recipient b/meta-networking/recipes-daemons/postfix/files/internal_recipient new file mode 100644 index 0000000000..6a8f2681b8 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/internal_recipient @@ -0,0 +1 @@ +root@ permit_mynetworks,reject diff --git a/meta-networking/recipes-daemons/postfix/files/main.cf_2.0 b/meta-networking/recipes-daemons/postfix/files/main.cf_2.0 new file mode 100644 index 0000000000..bb314513b6 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/main.cf_2.0 @@ -0,0 +1,102 @@ +# Configure your domain and accounts +#mydomain=sample.com +#FQDN from gethostname +#myhostname = +mydomain=localdomain +mydestination = $myhostname, localhost.localdomain localhost +mynetworks = 127.0.0.1/8 +inet_interfaces = 127.0.0.1 + +virtual_mailbox_domains = sample.com, other.net +virtual_mailbox_maps = hash:/etc/postfix/virtual +virtual_alias_maps = hash:/etc/postfix/virtual_alias + +alias_maps = hash:/etc/aliases + +# You'll start with the following lines for maildir storage +virtual_mailbox_base = /var/spool/vmail +virtual_uid_maps = static:`grep vmail /etc/passwd | cut -d ":" -f 3` +virtual_gid_maps = static:`grep vmail /etc/passwd | cut -d ":" -f 4` + + +# You'll start with the following lines for IMAP storage +#virtual_transport = lmtp:unix:/var/lib/cyrus/socket/lmtp + + +# General stuff here again +#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 +mail_owner = postfix +setgid_group = postdrop +unknown_local_recipient_reject_code = 450 +mynetworks_style = host +debug_peer_level = 2 +sendmail_path = /usr/sbin/sendmail +newaliases_path = /usr/bin/newaliases +mailq_path = /usr/bin/mailq + +smtpd_data_restrictions = + permit_mynetworks, + reject_unauth_pipelining, + permit + +smtpd_client_restrictions = + permit_mynetworks, + # reject_unknown_client, # This can cause a lot of false rejects. + reject_invalid_hostname, + reject_rbl_client list.dsbl.org, + reject_rbl_client sbl.spamhaus.org, + reject_rbl_client cbl.abuseat.org, + reject_rbl_client dul.dnsbl.sorbs.net, + permit + +smtpd_helo_required = yes +smtpd_helo_restrictions = + permit_mynetworks, + reject_unauth_pipelining, + # reject_non_fqdn_hostname, # This can cause a lot of false rejects. + # reject_unknown_hostname, # This can cause a lot of false rejects. + reject_invalid_hostname, + permit + +smtpd_sender_restrictions = + permit_mynetworks, + reject_non_fqdn_sender, + # check_sender_access hash:/etc/postfix/access_domains, + reject_unknown_sender_domain, + permit + +smtpd_recipient_restrictions = + permit_mynetworks, + permit_sasl_authenticated, + reject_unauth_destination, + + # check_recipient_access pcre:/etc/postfix/recipient_checks.pcre, + # check_helo_access pcre:/etc/postfix/helo_checks.pcre, + + # check_client_access hash:/etc/postfix/maps/access_client, + # check_client_access hash:/etc/postfix/maps/exceptions_client, + # check_helo_access hash:/etc/postfix/maps/access_helo, + # check_helo_access hash:/etc/postfix/maps/verify_helo, + # check_sender_access hash:/etc/postfix/maps/access_sender, + # check_sender_access hash:/etc/postfix/maps/verify_sender, + # check_recipient_access hash:/etc/postfix/maps/access_recipient, + + # reject_multi_recipient_bounce, + reject_non_fqdn_recipient, + reject_unknown_recipient_domain, + # reject_unlisted_recipient, + #check_policy_service unix:private/policy, + + # check_sender_access hash:/etc/postfix/maps/no_verify_sender, + # check_sender_access hash:/etc/postfix/access_domains, + # reject_unverified_sender, + # reject_unverified_recipient + check_recipient_access hash:/etc/postfix/internal_recipient + +disable_vrfy_command = yes diff --git a/meta-networking/recipes-daemons/postfix/files/makedefs.patch b/meta-networking/recipes-daemons/postfix/files/makedefs.patch new file mode 100644 index 0000000000..32c31b0243 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/makedefs.patch @@ -0,0 +1,116 @@ +1)remove RANLIB, SYSLIBS, AR and get them from env. + +2)reference sysroot when searching header files +3)include sysroot path instead of absolute include path +for Linux2 and Linux3 systems. +4)for non-native build, search STAGING_BASELIBDIR/LIBDIR + native build, search host library path for nsl and resolv library + which comes from libc + +Upstreamstatus: Inappropriate [embedded specific] + +Signed-off-by: Yao Zhao <yao.zhao@windriver.com> +--- + makedefs | 27 +++++++++++---------------- + 1 files changed, 11 insertions(+), 16 deletions(-) + +diff --git a/makedefs b/makedefs +index dd5f256..e6fb795 100644 +--- a/makedefs ++++ b/makedefs +@@ -87,9 +87,6 @@ + + # Defaults for most sane systems + +-RANLIB=ranlib +-SYSLIBS= +-AR=ar + ARFL=rv + + # Ugly function to make our error message more visible among the +@@ -293,12 +290,12 @@ case "$SYSTEM.$RELEASE" in + case "$CCARGS" in + *-DNO_DB*) ;; + *-DHAS_DB*) ;; +- *) if [ -f /usr/include/db.h ] ++ *) if [ -f "$BUILD_SYSROOT"/usr/include/db.h ] + then + : we are all set +- elif [ -f /usr/include/db/db.h ] ++ elif [ -f "$BUILD_SYSROOT"/usr/include/db/db.h ] + then +- CCARGS="$CCARGS -I/usr/include/db" ++ CCARGS="$CCARGS -I"$BUILD_SYSROOT"/usr/include/db" + else + # No, we're not going to try db1 db2 db3 etc. + # On a properly installed system, Postfix builds +@@ -307,12 +304,12 @@ case "$SYSTEM.$RELEASE" in + echo "Install the appropriate db*-devel package first." 1>&2 + exit 1 + fi +- SYSLIBS="-ldb" ++ SYSLIBS="$SYSLIBS -ldb" + ;; + esac + for name in nsl resolv $GDBM_LIBS + do +- for lib in /usr/lib64 /lib64 /usr/lib /lib ++ for lib in $BUILD_SYSROOT_NSL_PATH + do + test -e $lib/lib$name.a -o -e $lib/lib$name.so && { + SYSLIBS="$SYSLIBS -l$name" +@@ -332,7 +329,7 @@ case "$SYSTEM.$RELEASE" in + if [ `expr "X$CCARGS" : "X.*-DNO_EPOLL"` -gt 0 ] + then + : +- elif [ ! -e /usr/include/sys/epoll.h ] ++ elif [ ! -e "$BUILD_SYSROOT"/usr/include/sys/epoll.h ] + then + echo CCARGS="$CCARGS -DNO_EPOLL" + else +@@ -356,8 +353,6 @@ int main(int argc, char **argv) + } + EOF + ${CC-gcc} -o makedefs.test makedefs.test.c || exit 1 +- ./makedefs.test 2>/dev/null || +- CCARGS="$CCARGS -DNO_EPOLL" + rm -f makedefs.test makedefs.test.[co] + fi;; + esac +@@ -366,12 +361,12 @@ EOF + case "$CCARGS" in + *-DNO_DB*) ;; + *-DHAS_DB*) ;; +- *) if [ -f /usr/include/db.h ] ++ *) if [ -f "$BUILD_SYSROOT"/usr/include/db.h ] + then + : we are all set +- elif [ -f /usr/include/db/db.h ] ++ elif [ -f "$BUILD_SYSROOT"/usr/include/db/db.h ] + then +- CCARGS="$CCARGS -I/usr/include/db" ++ CCARGS="$CCARGS -I"$BUILD_SYSROOT"/usr/include/db" + else + # On a properly installed system, Postfix builds + # by including <db.h> and by linking with -ldb +@@ -379,7 +374,7 @@ EOF + echo "Install the appropriate db*-devel package first." 1>&2 + exit 1 + fi +- SYSLIBS="-ldb" ++ SYSLIBS="$SYSLIBS -ldb" + ;; + esac + for name in nsl resolv +@@ -415,7 +410,7 @@ EOF + esac + for name in nsl resolv + do +- for lib in /usr/lib64 /lib64 /usr/lib /lib ++ for lib in $BUILD_SYSROOT_NSL_PATH + do + test -e $lib/lib$name.a -o -e $lib/lib$name.so && { + SYSLIBS="$SYSLIBS -l$name" +-- +1.7.1 + diff --git a/meta-networking/recipes-daemons/postfix/files/postfix b/meta-networking/recipes-daemons/postfix/files/postfix new file mode 100755 index 0000000000..7bcc81625a --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/postfix @@ -0,0 +1,85 @@ +#!/bin/sh + +success() { + echo " Successful" + exit 0 +} + +fail() { + echo " Failed" + exit 1 + +} + +check_return () { + local ret="$1" + + if [ "$ret" = "0" ]; then + success + else + fail + fi +} + +PIDFile=/var/spool/postfix/pid/master.pid +case "$1" in + + start) + echo -n "Starting Postfix..." + if [ ! -e /etc/aliases.db ]; then + # The alias database is necessary for postfix to work correctly. + echo "Creating aliases database ..." + newaliases + fi + if ! postfix status >/dev/null 2>&1; then + postfix start + check_return $? + else + success + fi + ;; + + stop) + echo -n "Stopping Postfix..." + if postfix status >/dev/null 2>&1; then + postfix stop + check_return $? + else + success + fi + ;; + + reload) + echo -n "Reloading Postfix..." + if postfix status >/dev/null 2>&1; then + postfix reload + check_return $? + else + postfix start + check_return $? + fi + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + status) + if postfix status >/dev/null 2>&1; then + pid=`sed -e 's/\s//g' $PIDFile` + echo "The Postfix mail system is running (PID: $pid)" + exit 0 + else + echo "The Postfix mail system is not running" + exit 1 + fi + ;; + + *) + echo "Usage: $0 {start|stop|status|reload|restart}" + exit 1 + ;; +esac + diff --git a/meta-networking/recipes-daemons/postfix/files/postfix-add-db6-support.patch b/meta-networking/recipes-daemons/postfix/files/postfix-add-db6-support.patch new file mode 100644 index 0000000000..e3e28c8430 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/postfix-add-db6-support.patch @@ -0,0 +1,26 @@ +Subject: [PATCH] add db6 support db6 + +Upstream-Status: Backport + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + src/util/dict_db.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/src/util/dict_db.c b/src/util/dict_db.c +index 93ee480..f1ae66b 100644 +--- a/src/util/dict_db.c ++++ b/src/util/dict_db.c +@@ -693,7 +693,8 @@ static DICT *dict_db_open(const char *class, const char *path, int open_flags, + msg_fatal("set DB cache size %d: %m", dict_db_cache_size); + if (type == DB_HASH && db->set_h_nelem(db, DICT_DB_NELM) != 0) + msg_fatal("set DB hash element count %d: %m", DICT_DB_NELM); +-#if DB_VERSION_MAJOR == 5 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0) ++#if DB_VERSION_MAJOR == 6 || DB_VERSION_MAJOR == 5 || \ ++ (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR > 0) + if ((errno = db->open(db, 0, db_path, 0, type, db_flags, 0644)) != 0) + FREE_RETURN(dict_surrogate(class, path, open_flags, dict_flags, + "open database %s: %m", db_path)); +-- +1.7.1 + diff --git a/meta-networking/recipes-daemons/postfix/files/postfix.service b/meta-networking/recipes-daemons/postfix/files/postfix.service new file mode 100644 index 0000000000..c781038d88 --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/postfix.service @@ -0,0 +1,15 @@ +[Unit] +Description=Postfix Mail Transport Agent +After=syslog.target network.target +Conflicts=sendmail.service exim.service + +[Service] +Type=forking +PIDFile=/var/spool/postfix/pid/master.pid +ExecStartPre=-/usr/libexec/postfix/aliasesdb +ExecStart=/usr/sbin/postfix start +ExecReload=/usr/sbin/postfix reload +ExecStop=/usr/sbin/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 new file mode 100644 index 0000000000..e73f2f098c --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/postfix.inc @@ -0,0 +1,237 @@ +SUMMARY = "Postfix Mail Transport Agent" +DESCRIPTION = "Postfix is Wietse Venema's mail server that started life at \ +IBM research as an alternative to the widely-used Sendmail program. \ +Postfix attempts to be fast, easy to administer, and secure. The outsidei \ +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)} \ +" +DEPENDS_virtclass-native = "virtual/db-native openssl-native libpcre-native" + +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://aliasesdb \ +" + +S = "${WORKDIR}/postfix-${PV}" + +BBCLASSEXTEND = "native" + +inherit update-rc.d useradd update-alternatives systemd + +INITSCRIPT_NAME = "postfix" +INITSCRIPT_PARAMS = "start 58 3 4 5 . stop 13 0 1 6 ." +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = \ +"-d /var/spool/postfix -r -g postfix --shell /bin/false postfix; \ + -d /var/spool/vmail -r -u 5000 -g vmail --shell /bin/false vmail \ +" +GROUPADD_PARAM_${PN} = "--system postfix;--system postdrop;-g 5000 --system vmail" + +export SYSLIBS = "${LDFLAGS}" + +# CCARGS specifies includes, defines +# AUXLIBS specifies libraries +# Linux2/Linux3 has HAS_DB defined +# makedefs will make CC to be CC+CCARGS + +# ldap support +export CCARGS-ldap = "\ + ${@base_contains('DISTRO_FEATURES', 'ldap', '-DHAS_LDAP', '', d)}" +export AUXLIBS-ldap = "\ + ${@base_contains('DISTRO_FEATURES', 'ldap', '-lldap -llber', '', d)}" + +# no native openldap +export CCARGS-ldap_virtclass-native = "" +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)}" +export AUXLIBS-sasl = "\ + ${@base_contains('DISTRO_FEATURES', 'sasl', '-lsasl2', '', d)}" +export CCARGS-sasl_virtclass-native = "" +export AUXLIBS-sasl_virtclass-native = "" + +# PCRE, TLS support default +export CCARGS = "${CFLAGS} -DHAS_PCRE -DUSE_TLS ${CCARGS-ldap} ${CCARGS-sasl}" +export AUXLIBS = "-lpcre -lssl -lcrypto ${AUXLIBS-sasl} ${AUXLIBS-ldap}" +export POSTCONF = "${STAGING_DIR_NATIVE}${sbindir_native}/postconf" + +# OPT,DEBUG is aready in CFLAGS +# ignore the OPTS="CC=$CC" in Makefile it will not use the CC=$CC $CCARGS +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 +} + +do_install_prepend_virtclass-native() { + export POSTCONF="bin/postconf" +} + +SYSTEMD_SERVICE_${PN} = "postfix.service" + +do_install () { + 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 's,/usr/sbin/,${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 +} + +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" + +ALTERNATIVE_${PN} = "sendmail" +ALTERNATIVE_TARGET[sendmail] = "${sbindir}/sendmail.postfix" +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 +} + +# Exclude .debug directories from the main package +FILES_${PN} = "${sysconfdir} ${localstatedir} ${bindir}/* ${sbindir}/* \ + ${libexecdir}/* ${systemd_unitdir}/*" +FILES_${PN}-dbg += "${libexecdir}/.debug" diff --git a/meta-networking/recipes-daemons/postfix/postfix_2.11.1.bb b/meta-networking/recipes-daemons/postfix/postfix_2.11.1.bb new file mode 100644 index 0000000000..8f237dc2ee --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/postfix_2.11.1.bb @@ -0,0 +1,6 @@ +require postfix.inc + +SRC_URI += "file://postfix-add-db6-support.patch" + +SRC_URI[md5sum] = "56ac1f1a79737c4ac1e24535a122a4a6" +SRC_URI[sha256sum] = "487f98a73b95a5799409caf21ec065efea91c1dcdfb84c038a0e3a265d6489e2" 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.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 cfbadfb089..0000000000 --- a/meta-networking/recipes-daemons/proftpd/proftpd_1.3.4b.bb +++ /dev/null @@ -1,70 +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 = "r3" - -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 \ -" - -SRC_URI[md5sum] = "0871e0b93c9c3c88ca950b6d9a04aed2" -SRC_URI[sha256sum] = "9f659585cea90fc6af34a0ffae4a90e4ed37abe92dbd9b6c311f95a436c961cb" - -inherit autotools 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}" 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-2.2.0/ld-as-needed.patch b/meta-networking/recipes-daemons/ptpd/ptpd-2.2.0/ld-as-needed.patch deleted file mode 100644 index 7d5251be3d..0000000000 --- a/meta-networking/recipes-daemons/ptpd/ptpd-2.2.0/ld-as-needed.patch +++ /dev/null @@ -1,37 +0,0 @@ -Patch from http://patch-tracker.debian.org/package/ptpd - -Description: Fix ld --as-needed - This patch fixes the order of gcc arguments to fix ld --as-needed -Author: Roland Stigge <stigge@antcom.de> -Bug-Debian: http://bugs.debian.org/607583 - -Signed-off-by: Jackie Huang <jackie.huang@windriver.com> ---- - src/Makefile | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/Makefile b/src/Makefile -index a672625..88a2fc8 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -40,7 +40,7 @@ CFLAGS += -DDBG_SIGUSR2_CHANGE_DEBUG - - CFLAGS += -DPTP_EXPERIMENTAL - --LDFLAGS+= -lm -lrt -+LIBS += -lm -lrt - - PROG = ptpd - SRCS = ptpd.c arith.c bmc.c protocol.c display.c\ -@@ -63,7 +63,7 @@ TAGFILES = GPATH GRTAGS GSYMS GTAGS cscope.in.out cscope.out cscope.po.out - all: $(PROG) - - $(PROG): $(OBJS) -- $(CC) -o $@ $(OBJS) $(LDFLAGS) -+ $(CC) -o $@ $(OBJS) $(LDFLAGS) $(LIBS) - - $(OBJS): $(HDRS) - --- -1.7.4 - 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_2.2.0.bb b/meta-networking/recipes-daemons/ptpd/ptpd_2.2.0.bb deleted file mode 100644 index f2e895d1ca..0000000000 --- a/meta-networking/recipes-daemons/ptpd/ptpd_2.2.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "The PTP daemon (PTPd)" -DESCRIPTION = "The PTP daemon (PTPd) implements the Precision Time protocol (PTP) as \ -defined by the relevant IEEE 1588 standard. PTP Version 1 implements IEEE-1588-2002, \ -and PTP Version 2 implements IEEE-1588-2008. PTP was developed to provide very precise \ -time coordination of LAN connected computers." -HOMEPAGE = "http://sourceforge.net/projects/ptpd" -SECTION = "network" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://../COPYRIGHT;md5=3d8ac2c46c116bce2d2ad838b6cf3491" - -PR = "r1" - -SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${PV}/ptpd-${PV}.tar.gz \ - file://ld-as-needed.patch;striplevel=2 \ -" - -SRC_URI[md5sum] = "c63a3a149d30c710773ccb02df5782a3" -SRC_URI[sha256sum] = "f2266a22db84318d8b9ce266ea83772c03438c31f4993fa9643fa675a07c26b4" - -S = "${WORKDIR}/ptpd-${PV}/src" - -EXTRA_OEMAKE = "" - -do_install() { - install -d ${D}${bindir} ${D}${mandir}/man8 - install -m 0755 ptpd2 ${D}${bindir} - install -m 0644 ptpd2.8 ${D}${mandir}/man8 -} 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 new file mode 100644 index 0000000000..274ea331b4 --- /dev/null +++ b/meta-networking/recipes-daemons/ptpd/ptpd_2.3.1-rc2.bb @@ -0,0 +1,41 @@ +SUMMARY = "The PTP daemon (PTPd)" +DESCRIPTION = "The PTP daemon (PTPd) implements the Precision Time protocol (PTP) as \ +defined by the relevant IEEE 1588 standard. PTP Version 1 implements IEEE-1588-2002, \ +and PTP Version 2 implements IEEE-1588-2008. PTP was developed to provide very precise \ +time coordination of LAN connected computers." +HOMEPAGE = "http://sourceforge.net/projects/ptpd" +SECTION = "network" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://README;md5=2452033fe374283f29579898663b1aa8" + +DEPENDS = "libpcap" + +inherit autotools + +# return something like '1.2.3' or '1.2.3/rc1' +# +def get_sub(d): + parts = d.getVar('PV',True).split('-') + try: + return parts[0] + '/' + parts[1] + except: + return parts[0] + +SRC_URI = "http://downloads.sourceforge.net/project/ptpd/ptpd/${@get_sub(d)}/ptpd-${PV}.tar.gz \ + file://ptpd-add-dpaa-etsec-support.patch \ +" + +SRC_URI[md5sum] = "1ef2f1f2825080a865bbce0eb61246d4" +SRC_URI[sha256sum] = "2802aab758649bb222859dfcb62a5d282709ccb4d3f1df3f26f739cc091d0c8d" + +S = "${WORKDIR}/ptpd-${PV}" + +EXTRA_OEMAKE = "" + +EXTRA_OECONF += "--disable-snmp" + +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 +} 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 new file mode 100644 index 0000000000..e60798a6b3 --- /dev/null +++ b/meta-networking/recipes-daemons/radvd/files/radvd.service @@ -0,0 +1,11 @@ +[Unit] +Description=Router advertisement daemon for IPv6 +After=network.target +ConditionPathExists=@SYSCONFDIR@/radvd.conf + +[Service] +EnvironmentFile=-@SYSCONFDIR@/default/radvd +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 9e194012c0..6b595b07f3 100644 --- a/meta-networking/recipes-daemons/radvd/radvd.inc +++ b/meta-networking/recipes-daemons/radvd/radvd.inc @@ -16,9 +16,14 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=73ebbf7182ae996e65e8fadc9a8c45db" SRC_URI = "http://v6web.litech.org/radvd/dist/radvd-${PV}.tar.gz \ file://radvd.init \ - file://volatiles.03_radvd" + file://radvd.service \ + file://volatiles.03_radvd \ + file://radvd.default" -inherit autotools update-rc.d useradd +inherit autotools update-rc.d useradd pkgconfig systemd + +SYSTEMD_SERVICE_${PN} = "radvd.service" +SYSTEMD_AUTO_ENABLE = "disable" do_install_append () { install -m 0755 -d ${D}${sysconfdir}/init.d \ @@ -32,9 +37,20 @@ do_install_append () { sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${sysconfdir}/init.d/radvd install -m 0644 ${WORKDIR}/volatiles.03_radvd ${D}${sysconfdir}/default/volatiles/volatiles.03_radvd + + # Install systemd service files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/radvd.service ${D}${systemd_unitdir}/system + sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' \ + -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 $i ${D}${docdir}/radvd; \ + install -m 0644 ${S}/$i ${D}${docdir}/radvd; \ done } diff --git a/meta-networking/recipes-daemons/radvd/radvd_1.14.bb b/meta-networking/recipes-daemons/radvd/radvd_1.14.bb new file mode 100644 index 0000000000..bf572e3bb8 --- /dev/null +++ b/meta-networking/recipes-daemons/radvd/radvd_1.14.bb @@ -0,0 +1,6 @@ + +require radvd.inc + +SRC_URI[md5sum] = "a257e05bd6a435ef948d3b407726d56f" +SRC_URI[sha256sum] = "3b16dd9ef3d6c8b889cdabfdb16c81db8bd61b0f1fc42f6acc52d3cf300c6d07" + diff --git a/meta-networking/recipes-daemons/radvd/radvd_1.9.8.bb b/meta-networking/recipes-daemons/radvd/radvd_1.9.8.bb deleted file mode 100644 index 407eb43d3b..0000000000 --- a/meta-networking/recipes-daemons/radvd/radvd_1.9.8.bb +++ /dev/null @@ -1,6 +0,0 @@ -PR = "r0" - -require radvd.inc - -SRC_URI[md5sum] = "7a96a38252c3964ee18bbc1fdeae25fa" -SRC_URI[sha256sum] = "645ccf1c9b16e769ff4179813712e580e2c8786d64a888d8afa1e296c057c1c1" 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-separated-CR-and-LF.patch b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-separated-CR-and-LF.patch new file mode 100644 index 0000000000..3e220ec385 --- /dev/null +++ b/meta-networking/recipes-daemons/tftp-hpa/files/tftp-hpa-bug-fix-on-separated-CR-and-LF.patch @@ -0,0 +1,38 @@ +From 6ed1eb8829dee351b54e183bc42c007cb306aaa5 Mon Sep 17 00:00:00 2001 +From: Zhang Xiao <xiao.zhang@windriver.com> +Date: Wed, 11 Jun 2014 14:01:16 +0800 +Subject: [PATCH] tftp-hpa: bug fix on separated CR and LF + +In ascii mode, if the CR and LF was separated into different transfer +blocks, LF will be just dropped instead of replacing the previous CR. +Add a checking on the first character to fix it. + +Upstream-Status: pending + +Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com> +--- + common/tftpsubs.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/common/tftpsubs.c b/common/tftpsubs.c +index b4d4ffe..b4ea3f2 100644 +--- a/common/tftpsubs.c ++++ b/common/tftpsubs.c +@@ -207,6 +207,14 @@ int write_behind(FILE * file, int convert) + p = buf; + ct = count; + count = 0; ++ ++ /* Check the first character together with prevchar */ ++ c = *p; ++ if ((prevchar == '\r') && (c == '\n')) { ++ lseek(fileno(file), -1, SEEK_CUR); ++ count++; ++ } ++ + while (ct--) { /* loop over the buffer */ + c = *p++; /* pick up a character */ + if (prevchar == '\r') { /* if prev char was cr */ +-- +1.8.5.2.233.g932f7e4 + 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 6978e0669c..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 @@ -24,12 +24,16 @@ SRC_URI = "http://kernel.org/pub/software/network/tftp/tftp-hpa/tftp-hpa-${PV}.t file://default \ file://init \ file://add-error-check-for-disk-filled-up.patch \ + file://tftp-hpa-bug-fix-on-separated-CR-and-LF.patch \ + file://fix-writing-emtpy-file.patch \ " SRC_URI[md5sum] = "46c9bd20bbffa62f79c958c7b99aac21" SRC_URI[sha256sum] = "0a9f88d4c1c02687b4853b02ab5dd8779d4de4ffdb9b2e5c9332841304d1a269" -inherit autotools update-rc.d update-alternatives +inherit autotools-brokensep update-rc.d update-alternatives + +export AR = "${HOST_PREFIX}ar cq" EXTRA_OECONF += "--disable-option-checking" diff --git a/meta-networking/recipes-daemons/vblade/vblade_20.bb b/meta-networking/recipes-daemons/vblade/vblade_20.bb index 5b7c167643..a2ebb5a486 100644 --- a/meta-networking/recipes-daemons/vblade/vblade_20.bb +++ b/meta-networking/recipes-daemons/vblade/vblade_20.bb @@ -10,7 +10,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/aoetools/${BPN}-${PV}.tgz \ SRC_URI[md5sum] = "3c80e4a6bc7d66ae0c235b88cb44bd59" SRC_URI[sha256sum] = "c8fe2fc4f2fba8e07e5cfdf17335982584eef2cd5c78bf8b1db93f2b56e7121d" -inherit autotools +inherit autotools-brokensep do_install() { install -D -m 0755 ${S}/vblade ${D}/${sbindir}/vblade diff --git a/meta-networking/recipes-daemons/vsftpd/files/vsftpd.service b/meta-networking/recipes-daemons/vsftpd/files/vsftpd.service new file mode 100644 index 0000000000..e271020267 --- /dev/null +++ b/meta-networking/recipes-daemons/vsftpd/files/vsftpd.service @@ -0,0 +1,9 @@ +[Unit] +Description=Vsftpd ftp daemon +After=network.target + +[Service] +ExecStart=@SBINDIR@/vsftpd + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-destdir.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-destdir.patch index 1980d09fd4..1980d09fd4 100644 --- a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-destdir.patch +++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-destdir.patch diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-libs.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-libs.patch index 9a10f722f4..9a10f722f4 100644 --- a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-libs.patch +++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-libs.patch diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-strip.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-strip.patch index fd3160037f..fd3160037f 100644 --- a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/makefile-strip.patch +++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/makefile-strip.patch diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/nopam-with-tcp_wrappers.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/nopam-with-tcp_wrappers.patch index fdcf3a02b6..fdcf3a02b6 100644 --- a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/nopam-with-tcp_wrappers.patch +++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/nopam-with-tcp_wrappers.patch diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/nopam.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/nopam.patch index cf0d68e272..cf0d68e272 100644 --- a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/nopam.patch +++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/nopam.patch diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/vsftpd-tcp_wrappers-support.patch b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/vsftpd-tcp_wrappers-support.patch index 69745b3a10..69745b3a10 100644 --- a/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.0/vsftpd-tcp_wrappers-support.patch +++ b/meta-networking/recipes-daemons/vsftpd/vsftpd-3.0.2/vsftpd-tcp_wrappers-support.patch diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.0.bb b/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.2.bb index 0698a63258..e4d65eea6f 100644 --- a/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.0.bb +++ b/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.2.bb @@ -16,13 +16,15 @@ SRC_URI = "https://security.appspot.com/downloads/vsftpd-${PV}.tar.gz \ file://vsftpd.ftpusers \ file://change-secure_chroot_dir.patch \ file://volatiles.99_vsftpd \ + file://vsftpd.service \ " LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271 \ file://COPYRIGHT;md5=04251b2eb0f298dae376d92454f6f72e \ file://LICENSE;md5=654df2042d44b8cac8a5654fc5be63eb" -SRC_URI[md5sum] = "ad9fa952558c2c5b0426ccaccff0f972" -SRC_URI[sha256sum] = "ef70205dcd0c7f03b008b9578fb44c0cbe31e66daab8cfafb9904747c17fc2a8" +SRC_URI[md5sum] = "8b00c749719089401315bd3c44dddbb2" +SRC_URI[sha256sum] = "be46f0e2c5528fe021fafc8dab1ecfea0c1f183063a06977f8537fcd0b195e56" + PACKAGECONFIG ??= "tcp-wrappers" PACKAGECONFIG[tcp-wrappers] = ",,tcp-wrappers" @@ -34,7 +36,7 @@ PAMLIB = "${@base_contains('DISTRO_FEATURES', 'pam', '-L${STAGING_BASELIBDIR} -l NOPAM_SRC ="${@base_contains('PACKAGECONFIG', 'tcp-wrappers', 'file://nopam-with-tcp_wrappers.patch', 'file://nopam.patch', d)}" SRC_URI += "${@base_contains('DISTRO_FEATURES', 'pam', '', '${NOPAM_SRC}', d)}" -inherit update-rc.d useradd +inherit update-rc.d useradd systemd CONFFILES_${PN} = "${sysconfdir}/vsftpd.conf" LDFLAGS_append =" -lcrypt -lcap" @@ -70,7 +72,16 @@ do_install() { sed -i "s:/lib/security:${base_libdir}/security:" ${D}${sysconfdir}/pam.d/vsftpd sed -i "s:ftpusers:vsftpd.ftpusers:" ${D}${sysconfdir}/pam.d/vsftpd fi - install -d ${D}${localstatedir}/run/vsftpd/empty + if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /var/run/vsftpd/empty 0755 root root -" \ + > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi + + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/vsftpd.service ${D}${systemd_unitdir}/system + sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/vsftpd.service } INITSCRIPT_PACKAGES = "${PN}" @@ -82,3 +93,14 @@ USERADD_PARAM_${PN} = "--system --home-dir /var/lib/ftp --no-create-home -g ftp --shell /bin/false ftp " GROUPADD_PARAM_${PN} = "-r ftp" +SYSTEMD_SERVICE_${PN} = "vsftpd.service" + +pkg_postinst_${PN}() { + if [ -z "$D" ]; then + if type systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create + elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi + fi +} diff --git a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.0.bb b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.0.bb index 6a9c8a61d3..0cc1398408 100644 --- a/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.0.bb +++ b/meta-networking/recipes-filter/conntrack-tools/conntrack-tools_1.4.0.bb @@ -13,7 +13,7 @@ SRC_URI = " \ SRC_URI[tar.md5sum] = "ee737c774e01349f75e935228a2d851b" SRC_URI[tar.sha256sum] = "036b032a5c4d180aad686df21399d74506b9b3d3000794eb13ac313482e24896" -inherit autotools update-rc.d +inherit autotools-brokensep update-rc.d pkgconfig INITSCRIPT_NAME = "conntrackd" 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-irc/znc/znc/0001-Fix-NULL-pointer-dereference-in-webadmin.patch b/meta-networking/recipes-irc/znc/znc/0001-Fix-NULL-pointer-dereference-in-webadmin.patch new file mode 100644 index 0000000000..68e4414704 --- /dev/null +++ b/meta-networking/recipes-irc/znc/znc/0001-Fix-NULL-pointer-dereference-in-webadmin.patch @@ -0,0 +1,58 @@ +Subject: [PATCH] Fix NULL pointer dereference in webadmin. + +Upstream-Status: Backport + +commit 2bd410ee5570cea127233f1133ea22f25174eb28 upstream + +Triggerable by any non-admin, if webadmin is loaded. + +The only affected version is 1.0 + +Thanks to ChauffeR (Simone Esposito) for reporting this. +--- + modules/webadmin.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/modules/webadmin.cpp b/modules/webadmin.cpp +index b793c02..816f217 100644 +--- a/modules/webadmin.cpp ++++ b/modules/webadmin.cpp +@@ -419,7 +419,7 @@ public: + CIRCNetwork* pNetwork = SafeGetNetworkFromParam(WebSock); + + // Admin||Self Check +- if (!spSession->IsAdmin() && (!spSession->GetUser() || spSession->GetUser() != pNetwork->GetUser())) { ++ if (!spSession->IsAdmin() && (!spSession->GetUser() || !pNetwork || spSession->GetUser() != pNetwork->GetUser())) { + return false; + } + +@@ -448,7 +448,7 @@ public: + CIRCNetwork* pNetwork = SafeGetNetworkFromParam(WebSock); + + // Admin||Self Check +- if (!spSession->IsAdmin() && (!spSession->GetUser() || spSession->GetUser() != pNetwork->GetUser())) { ++ if (!spSession->IsAdmin() && (!spSession->GetUser() || !pNetwork || spSession->GetUser() != pNetwork->GetUser())) { + return false; + } + +@@ -472,7 +472,7 @@ public: + CIRCNetwork* pNetwork = SafeGetNetworkFromParam(WebSock); + + // Admin||Self Check +- if (!spSession->IsAdmin() && (!spSession->GetUser() || spSession->GetUser() != pNetwork->GetUser())) { ++ if (!spSession->IsAdmin() && (!spSession->GetUser() || !pNetwork || spSession->GetUser() != pNetwork->GetUser())) { + return false; + } + +@@ -486,7 +486,7 @@ public: + CIRCNetwork* pNetwork = SafeGetNetworkFromParam(WebSock); + + // Admin||Self Check +- if (!spSession->IsAdmin() && (!spSession->GetUser() || spSession->GetUser() != pNetwork->GetUser())) { ++ if (!spSession->IsAdmin() && (!spSession->GetUser() || !pNetwork || spSession->GetUser() != pNetwork->GetUser())) { + return false; + } + +-- +1.8.5.2.233.g932f7e4 + diff --git a/meta-networking/recipes-irc/znc/znc_git.bb b/meta-networking/recipes-irc/znc/znc_git.bb index b648cd2247..77db25b330 100644 --- a/meta-networking/recipes-irc/znc/znc_git.bb +++ b/meta-networking/recipes-irc/znc/znc_git.bb @@ -7,11 +7,13 @@ DEPENDS = "openssl" PV = "1.0+git" SRCREV = "ef59c23068547c132cb678092fba9a21317fd5f2" -SRC_URI = "git://github.com/znc/znc.git" +SRC_URI = "git://github.com/znc/znc.git \ + file://0001-Fix-NULL-pointer-dereference-in-webadmin.patch \ + " S = "${WORKDIR}/git" -inherit autotools +inherit autotools-brokensep pkgconfig # ZNC has a custom autogen.sh that states that this command is needed *and* expected to fail do_configure_prepend() { 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/files/net-snmp-5.7.2-fix-CVE-2014-2284.patch b/meta-networking/recipes-protocols/net-snmp/files/net-snmp-5.7.2-fix-CVE-2014-2284.patch deleted file mode 100644 index 4ad906432e..0000000000 --- a/meta-networking/recipes-protocols/net-snmp/files/net-snmp-5.7.2-fix-CVE-2014-2284.patch +++ /dev/null @@ -1,126 +0,0 @@ -diff -urpN a/agent/mibgroup/mibII/icmp.c b/agent/mibgroup/mibII/icmp.c ---- a/agent/mibgroup/mibII/icmp.c -+++ b/agent/mibgroup/mibII/icmp.c -@@ -106,10 +106,20 @@ struct icmp_msg_stats_table_entry { - int flags; - }; - -+#ifdef linux -+/* Linux keeps track of all possible message types */ -+#define ICMP_MSG_STATS_IPV4_COUNT 256 -+#else - #define ICMP_MSG_STATS_IPV4_COUNT 11 -+#endif - - #ifdef NETSNMP_ENABLE_IPV6 -+#ifdef linux -+/* Linux keeps track of all possible message types */ -+#define ICMP_MSG_STATS_IPV6_COUNT 256 -+#else - #define ICMP_MSG_STATS_IPV6_COUNT 14 -+#endif - #else - #define ICMP_MSG_STATS_IPV6_COUNT 0 - #endif /* NETSNMP_ENABLE_IPV6 */ -@@ -177,7 +187,7 @@ icmp_msg_stats_load(netsnmp_cache *cache - inc = 0; - linux_read_icmp_msg_stat(&v4icmp, &v4icmpmsg, &flag); - if (flag) { -- while (254 != k) { -+ while (255 >= k) { - if (v4icmpmsg.vals[k].InType) { - icmp_msg_stats_table[i].ipVer = 1; - icmp_msg_stats_table[i].icmpMsgStatsType = k; -@@ -1050,6 +1060,12 @@ icmp_stats_table_handler(netsnmp_mib_han - continue; - table_info = netsnmp_extract_table_info(request); - subid = table_info->colnum; -+ DEBUGMSGTL(( "mibII/icmpStatsTable", "oid: " )); -+ DEBUGMSGOID(( "mibII/icmpStatsTable", request->requestvb->name, -+ request->requestvb->name_length )); -+ DEBUGMSG(( "mibII/icmpStatsTable", " In %d InErr %d Out %d OutErr %d\n", -+ entry->icmpStatsInMsgs, entry->icmpStatsInErrors, -+ entry->icmpStatsOutMsgs, entry->icmpStatsOutErrors )); - - switch (subid) { - case ICMP_STAT_INMSG: -@@ -1117,6 +1133,11 @@ icmp_msg_stats_table_handler(netsnmp_mib - continue; - table_info = netsnmp_extract_table_info(request); - subid = table_info->colnum; -+ DEBUGMSGTL(( "mibII/icmpMsgStatsTable", "oid: " )); -+ DEBUGMSGOID(( "mibII/icmpMsgStatsTable", request->requestvb->name, -+ request->requestvb->name_length )); -+ DEBUGMSG(( "mibII/icmpMsgStatsTable", " In %d Out %d Flags 0x%x\n", -+ entry->icmpMsgStatsInPkts, entry->icmpMsgStatsOutPkts, entry->flags )); - - switch (subid) { - case ICMP_MSG_STAT_IN_PKTS: -diff -urpN a/agent/mibgroup/mibII/kernel_linux.c b/agent/mibgroup/mibII/kernel_linux.c ---- a/agent/mibgroup/mibII/kernel_linux.c -+++ b/agent/mibgroup/mibII/kernel_linux.c -@@ -81,9 +81,9 @@ decode_icmp_msg(char *line, char *data, - index = strtol(token, &delim, 0); - if (ERANGE == errno) { - continue; -- } else if (index > LONG_MAX) { -+ } else if (index > 255) { - continue; -- } else if (index < LONG_MIN) { -+ } else if (index < 0) { - continue; - } - if (NULL == (token = strtok_r(dataptr, " ", &saveptr1))) -@@ -94,9 +94,9 @@ decode_icmp_msg(char *line, char *data, - index = strtol(token, &delim, 0); - if (ERANGE == errno) { - continue; -- } else if (index > LONG_MAX) { -+ } else if (index > 255) { - continue; -- } else if (index < LONG_MIN) { -+ } else if (index < 0) { - continue; - } - if(NULL == (token = strtok_r(dataptr, " ", &saveptr1))) -@@ -426,14 +426,21 @@ linux_read_icmp6_parse(struct icmp6_mib - - vals = name; - if (NULL != icmp6msgstat) { -+ int type; - if (0 == strncmp(name, "Icmp6OutType", 12)) { - strsep(&vals, "e"); -- icmp6msgstat->vals[atoi(vals)].OutType = stats; -+ type = atoi(vals); -+ if ( type < 0 || type > 255 ) -+ continue; -+ icmp6msgstat->vals[type].OutType = stats; - *support = 1; - continue; - } else if (0 == strncmp(name, "Icmp6InType", 11)) { - strsep(&vals, "e"); -- icmp6msgstat->vals[atoi(vals)].InType = stats; -+ type = atoi(vals); -+ if ( type < 0 || type > 255 ) -+ continue; -+ icmp6msgstat->vals[type].OutType = stats; - *support = 1; - continue; - } -diff -urpN a/agent/mibgroup/mibII/kernel_linux.h b/agent/mibgroup/mibII/kernel_linux.h ---- a/agent/mibgroup/mibII/kernel_linux.h -+++ b/agent/mibgroup/mibII/kernel_linux.h -@@ -121,11 +121,11 @@ struct icmp_msg_mib { - - /* Lets use wrapper structures for future expansion */ - struct icmp4_msg_mib { -- struct icmp_msg_mib vals[255]; -+ struct icmp_msg_mib vals[256]; - }; - - struct icmp6_msg_mib { -- struct icmp_msg_mib vals[255]; -+ struct icmp_msg_mib vals[256]; - }; - - struct udp_mib { diff --git a/meta-networking/recipes-protocols/net-snmp/files/net-snmp-5.7.2-fix-CVE-2014-2285.patch b/meta-networking/recipes-protocols/net-snmp/files/net-snmp-5.7.2-fix-CVE-2014-2285.patch deleted file mode 100644 index 8267eeb75d..0000000000 --- a/meta-networking/recipes-protocols/net-snmp/files/net-snmp-5.7.2-fix-CVE-2014-2285.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/perl/TrapReceiver/TrapReceiver.xs -+++ b/perl/TrapReceiver/TrapReceiver.xs -@@ -81,18 +81,18 @@ int perl_trapd_handler( netsnmp_pdu - STOREPDUi("securitymodel", pdu->securityModel); - STOREPDUi("securitylevel", pdu->securityLevel); - STOREPDU("contextName", -- newSVpv(pdu->contextName, pdu->contextNameLen)); -+ newSVpv(pdu->contextName ? pdu->contextName : "", pdu->contextNameLen)); - STOREPDU("contextEngineID", -- newSVpv((char *) pdu->contextEngineID, -+ newSVpv(pdu->contextEngineID ? (char *) pdu->contextEngineID : "", - pdu->contextEngineIDLen)); - STOREPDU("securityEngineID", -- newSVpv((char *) pdu->securityEngineID, -+ newSVpv(pdu->securityEngineID ? (char *) pdu->securityEngineID : "", - pdu->securityEngineIDLen)); - STOREPDU("securityName", -- newSVpv((char *) pdu->securityName, pdu->securityNameLen)); -+ newSVpv(pdu->securityName ? (char *) pdu->securityName : "", pdu->securityNameLen)); - } else { - STOREPDU("community", -- newSVpv((char *) pdu->community, pdu->community_len)); -+ newSVpv(pdu->community ? (char *) pdu->community : "", pdu->community_len)); - } - - if (transport && transport->f_fmtaddr) { 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.bb b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.1.bb index eb50d0fd44..a76de0d3b8 100644 --- a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.bb +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.2.1.bb @@ -6,9 +6,8 @@ LIC_FILES_CHKSUM = "file://README;beginline=3;endline=8;md5=7f7f00ba639ac8e8deb5 DEPENDS = "openssl libnl pciutils" -PR = "r1" - -SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \ +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 \ @@ -16,12 +15,10 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \ file://snmpd.service \ file://snmptrapd.service \ file://ifmib.patch \ - file://net-snmp-5.7.2-fix-CVE-2014-2284.patch \ - file://net-snmp-5.7.2-fix-CVE-2014-2285.patch \ " -SRC_URI[md5sum] = "5bddd02e2f82b62daa79f82717737a14" -SRC_URI[sha256sum] = "09ed31b4cc1f3c0411ef9a16eff79ef3b30d89c32ca46d5a01a41826c4ceb816" +SRC_URI[md5sum] = "a2c83518648b0f2a5d378625e45c0e18" +SRC_URI[sha256sum] = "ac9105539971f7cfb1456a86d479e18e8a8b3712212595ad40504347ba5843da" inherit autotools update-rc.d siteinfo systemd @@ -39,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" } @@ -49,19 +51,26 @@ do_install_append() { install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/snmpd install -m 644 ${WORKDIR}/snmpd.conf ${D}${sysconfdir}/snmp/ install -m 644 ${WORKDIR}/snmptrapd.conf ${D}${sysconfdir}/snmp/ - install -d ${STAGING_BINDIR} - install -m 0755 ${D}${bindir}/net-snmp-config ${STAGING_BINDIR}/ sed -e "s@-I/usr/include@@g" \ -e "s@^prefix=.*@prefix=${STAGING_DIR_HOST}@g" \ -e "s@^exec_prefix=.*@exec_prefix=${STAGING_DIR_HOST}@g" \ -e "s@^includedir=.*@includedir=${STAGING_INCDIR}@g" \ -e "s@^libdir=.*@libdir=${STAGING_LIBDIR}@g" \ - -i ${STAGING_BINDIR}/net-snmp-config + -i ${D}${bindir}/net-snmp-config install -d ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/snmpd.service ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/snmptrapd.service ${D}${systemd_unitdir}/system } +SYSROOT_PREPROCESS_FUNCS += "net_snmp_sysroot_preprocess" + +net_snmp_sysroot_preprocess () { + if [ -e ${D}${bindir}/net-snmp-config ]; then + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + install -m 755 ${D}${bindir}/net-snmp-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ + fi +} + PACKAGES = "${PN}-dbg ${PN}-doc ${PN}-dev ${PN}-staticdev ${PN}-static ${PN}-libs \ ${PN}-mibs ${PN}-server ${PN}-client ${PN}-server-snmpd ${PN}-server-snmptrapd" diff --git a/meta-networking/recipes-protocols/openflow/openflow.inc b/meta-networking/recipes-protocols/openflow/openflow.inc index 43af54ea59..1a226f82ca 100644 --- a/meta-networking/recipes-protocols/openflow/openflow.inc +++ b/meta-networking/recipes-protocols/openflow/openflow.inc @@ -22,7 +22,7 @@ PACKAGECONFIG[openssl] = "--enable-ssl,--disable-ssl, openssl, libssl" S = "${WORKDIR}/git" -inherit autotools +inherit autotools-brokensep do_configure() { ./boot.sh 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/0001-doc-fix-makeinfo-errors-and-one-warning.patch b/meta-networking/recipes-protocols/quagga/files/0001-doc-fix-makeinfo-errors-and-one-warning.patch deleted file mode 100644 index 24fdac505a..0000000000 --- a/meta-networking/recipes-protocols/quagga/files/0001-doc-fix-makeinfo-errors-and-one-warning.patch +++ /dev/null @@ -1,61 +0,0 @@ -From d6cbd8bbc34529a1aff74b5ee73366b89526c961 Mon Sep 17 00:00:00 2001 -From: Joe MacDonald <joe@deserted.net> -Date: Fri, 22 Mar 2013 08:54:44 +0000 -Subject: [PATCH] doc: fix makeinfo errors and one warning -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -commit 4afa50b added few lines that are syntactically incorrect -with leading plus sign. - -Upstream-Status: Backport [http://git.savannah.gnu.org/gitweb/?p=quagga.git;a=commit;h=b58c90807c9d0bfa9601704c7490a16070906004] - -Cc: Denis Ovsienko <infrastation@yandex.ru> -Signed-off-by: Timo Teräs <timo.teras@iki.fi> -Signed-off-by: David Lamparter <equinox@opensourcerouting.org> -Signed-off-by: Joe MacDonald <joe@deserted.net> ---- - doc/ipv6.texi | 4 ++-- - doc/quagga.texi | 6 +++--- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/doc/ipv6.texi b/doc/ipv6.texi -index b6cc437..2482c1c 100644 ---- a/doc/ipv6.texi -+++ b/doc/ipv6.texi -@@ -136,8 +136,8 @@ for the lowest preference possible. - Default: 0 - @end deffn - --+@deffn {Interface Command} {ipv6 nd home-agent-lifetime <0-65520>} {} --+@deffnx {Interface Command} {no ipv6 nd home-agent-lifetime [<0-65520>]} {} -+@deffn {Interface Command} {ipv6 nd home-agent-lifetime <0-65520>} {} -+@deffnx {Interface Command} {no ipv6 nd home-agent-lifetime [<0-65520>]} {} - The value to be placed in Home Agent Option, when Home Agent config flag is set, - which indicates to hosts Home Agent Lifetime. The default value of 0 means to - place the current Router Lifetime value. -diff --git a/doc/quagga.texi b/doc/quagga.texi -index ff913aa..b4105ac 100644 ---- a/doc/quagga.texi -+++ b/doc/quagga.texi -@@ -1,13 +1,13 @@ - \input texinfo @c -*- texinfo -*- -+@c Set variables - sourced from defines.texi -+@include defines.texi -+ - @c %**start of header - @setchapternewpage odd - @settitle @uref{http://www.quagga.net,,@value{PACKAGE_NAME}} - @setfilename quagga.info - @c %**end of header - --@c Set variables - sourced from defines.texi --@include defines.texi -- - @c automake will automatically generate version.texi - @c and set EDITION, VERSION, UPDATED and UPDATED-MONTH - @include version.texi --- -1.7.10.4 - diff --git a/meta-networking/recipes-protocols/quagga/files/babeld.service b/meta-networking/recipes-protocols/quagga/files/babeld.service new file mode 100644 index 0000000000..dd344b0b34 --- /dev/null +++ b/meta-networking/recipes-protocols/quagga/files/babeld.service @@ -0,0 +1,14 @@ +[Unit] +Description=Babel routing daemon +BindTo=zebra.service +After=zebra.service +ConditionPathExists=@SYSCONFDIR@/quagga/babeld.conf + +[Service] +Type=forking +EnvironmentFile=-@SYSCONFDIR@/default/quagga +ExecStart=@SBINDIR@/babeld -d $babeld_options -f /etc/quagga/babeld.conf +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-protocols/quagga/files/bgpd.service b/meta-networking/recipes-protocols/quagga/files/bgpd.service new file mode 100644 index 0000000000..164c81724c --- /dev/null +++ b/meta-networking/recipes-protocols/quagga/files/bgpd.service @@ -0,0 +1,14 @@ +[Unit] +Description=BGP routing daemon +BindTo=zebra.service +After=zebra.service +ConditionPathExists=@SYSCONFDIR@/quagga/bgpd.conf + +[Service] +Type=forking +EnvironmentFile=-@SYSCONFDIR@/default/quagga +ExecStart=@SBINDIR@/bgpd -d $bgpd_options -f /etc/quagga/bgpd.conf +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-protocols/quagga/files/build-fix-extract.pl-for-cross-compilation.patch b/meta-networking/recipes-protocols/quagga/files/build-fix-extract.pl-for-cross-compilation.patch deleted file mode 100644 index 7e5beef30d..0000000000 --- a/meta-networking/recipes-protocols/quagga/files/build-fix-extract.pl-for-cross-compilation.patch +++ /dev/null @@ -1,31 +0,0 @@ -Upstream-Status: Backport - -From ed6e297972318a0070ad4d973401fbc6e0def558 Mon Sep 17 00:00:00 2001 -From: Serj Kalichev <serj.kalichev@gmail.com> -Date: Fri, 7 Sep 2012 13:29:42 +0400 -Subject: [PATCH] build: fix extract.pl for cross compilation - -extract.pl should invoke the C preprocessor for the target system, not the -host. - -* vtysh/extract.pl.in: use @CPP@ to get target cpp ---- - vtysh/extract.pl.in | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/vtysh/extract.pl.in b/vtysh/extract.pl.in -index 7612aff..4c3a47f 100755 ---- a/vtysh/extract.pl.in -+++ b/vtysh/extract.pl.in -@@ -63,7 +63,7 @@ $ignore{'"show history"'} = "ignore"; - foreach (@ARGV) { - $file = $_; - -- open (FH, "cpp -DHAVE_CONFIG_H -DVTYSH_EXTRACT_PL -DHAVE_IPV6 -I@top_builddir@ -I@srcdir@/ -I@srcdir@/.. -I@top_srcdir@/lib -I@top_srcdir@/isisd/topology @SNMP_INCLUDES@ @CPPFLAGS@ $file |"); -+ open (FH, "@CPP@ -DHAVE_CONFIG_H -DVTYSH_EXTRACT_PL -DHAVE_IPV6 -I@top_builddir@ -I@srcdir@/ -I@srcdir@/.. -I@top_srcdir@/lib -I@top_srcdir@/isisd/topology @SNMP_INCLUDES@ @CPPFLAGS@ $file |"); - local $/; undef $/; - $line = <FH>; - close (FH); --- -1.7.1 - diff --git a/meta-networking/recipes-protocols/quagga/files/fix-for-lib-inpath.patch b/meta-networking/recipes-protocols/quagga/files/fix-for-lib-inpath.patch deleted file mode 100644 index 50f0ad502f..0000000000 --- a/meta-networking/recipes-protocols/quagga/files/fix-for-lib-inpath.patch +++ /dev/null @@ -1,19 +0,0 @@ -At first this worked, then I tried a clean build in a directory that -contained lib in it (oe/build/titan-glibc) and vtysh no longer -worked. It's test for the lib directory was excepting anything -containing lib. - -With this patch you still cannot have lib in the path anywhere, but -at least things containing lib will now work. - ---- quagga-0.99.2/vtysh/extract.pl.in 2005/11/16 04:12:04 1.1 -+++ quagga-0.99.2/vtysh/extract.pl.in 2005/11/16 04:12:16 -@@ -89,7 +89,7 @@ - $cmd =~ s/\s+$//g; - - # $protocol is VTYSH_PROTO format for redirection of user input -- if ($file =~ /lib/) { -+ if ($file =~ /\/lib\//) { - if ($file =~ /keychain.c/) { - $protocol = "VTYSH_RIPD"; - } diff --git a/meta-networking/recipes-protocols/quagga/files/isisd.service b/meta-networking/recipes-protocols/quagga/files/isisd.service new file mode 100644 index 0000000000..9bfe7b65ef --- /dev/null +++ b/meta-networking/recipes-protocols/quagga/files/isisd.service @@ -0,0 +1,14 @@ +[Unit] +Description=IS-IS routing daemon +BindTo=zebra.service +After=zebra.service +ConditionPathExists=@SYSCONFDIR@/quagga/isisd.conf + +[Service] +Type=forking +EnvironmentFile=-@SYSCONFDIR@/default/quagga +ExecStart=@SBINDIR@/isisd -d $isisd_options -f /etc/quagga/isisd.conf +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-protocols/quagga/files/lingering-IP-address-after-deletion-BZ-486.patch b/meta-networking/recipes-protocols/quagga/files/lingering-IP-address-after-deletion-BZ-486.patch deleted file mode 100644 index 42bdc20fcb..0000000000 --- a/meta-networking/recipes-protocols/quagga/files/lingering-IP-address-after-deletion-BZ-486.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 7f062c217b262e362a3362c677dea6c5e820adf1 Mon Sep 17 00:00:00 2001 -From: David Lamparter <equinox@diac24.net> -Date: Mon, 1 Feb 2010 16:41:26 +0100 -Subject: [PATCH] zebra: lingering IP address after deletion (BZ#486) - -Upstream-status: Backport - -zebra address bookkeeping is a mess. this is just a workaround to have -IPv4 address deletion somewhat working on Linux. - -the if_unset_prefix call is synchronous, when it returns success the -address deletion completed successfully. this is either signaled by a -netlink ACK or by an OK return value from ioctl(). - -This version is wrapped by #ifdef HAVE_NETLINK so we don't touch the -BSDs for now. - -* zebra/interface.c: On Linux, update zebra internal state after - deleting an address. - -Signed-off-by: David Lamparter <equinox@opensourcerouting.org> ---- - zebra/interface.c | 21 ++++++++++++++++++--- - 1 file changed, 18 insertions(+), 3 deletions(-) - -diff --git a/zebra/interface.c b/zebra/interface.c -index 2242259..3578b79 100644 ---- a/zebra/interface.c -+++ b/zebra/interface.c -@@ -1297,13 +1297,28 @@ ip_address_uninstall (struct vty *vty, struct interface *ifp, - safe_strerror(errno), VTY_NEWLINE); - return CMD_WARNING; - } -+ /* success! call returned that the address deletion went through. -+ * this is a synchronous operation, so we know it succeeded and can -+ * now update all internal state. */ -+ -+ /* the HAVE_NETLINK check is only here because, on BSD, although the -+ * call above is still synchronous, we get a second confirmation later -+ * through the route socket, and we don't want to touch that behaviour -+ * for now. It should work without the #ifdef, but why take the risk... -+ * -- equinox 2012-07-13 */ -+#ifdef HAVE_NETLINK -+ -+ /* Remove connected route. */ -+ connected_down_ipv4 (ifp, ifc); - --#if 0 - /* Redistribute this information. */ - zebra_interface_address_delete_update (ifp, ifc); - -- /* Remove connected route. */ -- connected_down_ipv4 (ifp, ifc); -+ /* IP address propery set. */ -+ UNSET_FLAG (ifc->conf, ZEBRA_IFC_REAL); -+ -+ /* remove from interface, remark secondaries */ -+ if_subnet_delete (ifp, ifc); - - /* Free address information. */ - listnode_delete (ifp->connected, ifc); --- -1.7.10.4 - diff --git a/meta-networking/recipes-protocols/quagga/files/ospf6d.service b/meta-networking/recipes-protocols/quagga/files/ospf6d.service new file mode 100644 index 0000000000..4b8ebf8026 --- /dev/null +++ b/meta-networking/recipes-protocols/quagga/files/ospf6d.service @@ -0,0 +1,14 @@ +[Unit] +Description=OSPF routing daemon for IPv6 +BindTo=zebra.service +After=zebra.service +ConditionPathExists=@SYSCONFDIR@/quagga/ospf6d.conf + +[Service] +Type=forking +EnvironmentFile=-@SYSCONFDIR@/default/quagga +ExecStart=@SBINDIR@/ospf6d -d $ospf6d_options -f /etc/quagga/ospf6d.conf +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-protocols/quagga/files/ospfd.service b/meta-networking/recipes-protocols/quagga/files/ospfd.service new file mode 100644 index 0000000000..f9f5031b4b --- /dev/null +++ b/meta-networking/recipes-protocols/quagga/files/ospfd.service @@ -0,0 +1,14 @@ +[Unit] +Description=OSPF routing daemon +BindTo=zebra.service +After=zebra.service +ConditionPathExists=@SYSCONFDIR@/quagga/ospfd.conf + +[Service] +Type=forking +EnvironmentFile=-@SYSCONFDIR@/default/quagga +ExecStart=@SBINDIR@/ospfd -d $ospfd_options -f /etc/quagga/ospfd.conf +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-protocols/quagga/files/quagga-0.99.17-libcap.patch b/meta-networking/recipes-protocols/quagga/files/quagga-0.99.17-libcap.patch deleted file mode 100644 index 9563ea2f36..0000000000 --- a/meta-networking/recipes-protocols/quagga/files/quagga-0.99.17-libcap.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 63e97633d01908da6d3776ac61e4033e6fa91e5c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@gmail.com> -Date: Sun, 5 Sep 2010 18:19:09 +0200 -Subject: [PATCH] build: fix linking position for libcap -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - - * lib/Makefile.am: link libzebra to libcap, since it uses symbols - from there. - * zebra/Makefile.am: no need to link libcap here now, since it's not - used directly (libtool with apply transitive dependencies for - static linking). - -Signed-off-by: Diego Elio Pettenò <flameeyes@gmail.com> - -Imported from Gentoo by Paul Eggleton <paul.eggleton@linux.intel.com> -Upstream-Status: Pending - ---- - lib/Makefile.am | 2 +- - zebra/Makefile.am | 5 ++--- - 2 files changed, 3 insertions(+), 4 deletions(-) - -diff --git a/lib/Makefile.am b/lib/Makefile.am -index 315e919..6e69993 100644 ---- a/lib/Makefile.am -+++ b/lib/Makefile.am -@@ -18,7 +18,7 @@ BUILT_SOURCES = memtypes.h route_types.h - - libzebra_la_DEPENDENCIES = @LIB_REGEX@ - --libzebra_la_LIBADD = @LIB_REGEX@ -+libzebra_la_LIBADD = @LIB_REGEX@ $(LIBCAP) - - pkginclude_HEADERS = \ - buffer.h checksum.h command.h filter.h getopt.h hash.h \ -diff --git a/zebra/Makefile.am b/zebra/Makefile.am -index 542f36f..d09a209 100644 ---- a/zebra/Makefile.am -+++ b/zebra/Makefile.am -@@ -5,7 +5,6 @@ DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)/\" -DMULTIPATH_NUM=@MULTIPATH_NUM@ - INSTALL_SDATA=@INSTALL@ -m 600 - - LIB_IPV6 = @LIB_IPV6@ --LIBCAP = @LIBCAP@ - - ipforward = @IPFORWARD@ - if_method = @IF_METHOD@ -@@ -39,9 +38,9 @@ noinst_HEADERS = \ - connected.h ioctl.h rib.h rt.h zserv.h redistribute.h debug.h rtadv.h \ - interface.h ipforward.h irdp.h router-id.h kernel_socket.h - --zebra_LDADD = $(otherobj) $(LIBCAP) $(LIB_IPV6) ../lib/libzebra.la -+zebra_LDADD = $(otherobj) ../lib/libzebra.la $(LIB_IPV6) - --testzebra_LDADD = $(LIBCAP) $(LIB_IPV6) ../lib/libzebra.la -+testzebra_LDADD = ../lib/libzebra.la $(LIB_IPV6) - - zebra_DEPENDENCIES = $(otherobj) - --- -1.7.2.2 - diff --git a/meta-networking/recipes-protocols/quagga/files/quagga-fix-CVE-2013-6051.patch b/meta-networking/recipes-protocols/quagga/files/quagga-fix-CVE-2013-6051.patch deleted file mode 100644 index fde9e0ca81..0000000000 --- a/meta-networking/recipes-protocols/quagga/files/quagga-fix-CVE-2013-6051.patch +++ /dev/null @@ -1,29 +0,0 @@ - -From 8794e8d229dc9fe29ea31424883433d4880ef408 -From: Paul Jakma <paul@quagga.net> -Date: Mon, 13 Feb 2012 13:53:07 +0000 -Subject: bgpd: Fix regression in args consolidation, total should be inited from args - -bgpd: Fix regression in args consolidation, total should be inited from args - -* bgp_attr.c: (bgp_attr_unknown) total should be initialised from the args. - -Upstream-Status: Backport - -Signed-off-by: Kai Kang <kai.kang@windriver.com> ---- - -diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c -index 65af824..839f64d 100644 ---- a/bgpd/bgp_attr.c -+++ b/bgpd/bgp_attr.c - -@@ -1646,7 +1646,7 @@ - static bgp_attr_parse_ret_t - bgp_attr_unknown (struct bgp_attr_parser_args *args) - { -- bgp_size_t total; -+ bgp_size_t total = args->total; - struct transit *transit; - struct attr_extra *attre; - struct peer *const peer = args->peer; diff --git a/meta-networking/recipes-protocols/quagga/files/ripd.service b/meta-networking/recipes-protocols/quagga/files/ripd.service new file mode 100644 index 0000000000..5dfd28b3ad --- /dev/null +++ b/meta-networking/recipes-protocols/quagga/files/ripd.service @@ -0,0 +1,14 @@ +[Unit] +Description=RIP routing daemon +BindTo=zebra.service +After=zebra.service +ConditionPathExists=@SYSCONFDIR@/quagga/ripd.conf + +[Service] +Type=forking +EnvironmentFile=-@SYSCONFDIR@/default/quagga +ExecStart=@SBINDIR@/ripd -d $ripd_options -f /etc/quagga/ripd.conf +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-protocols/quagga/files/ripngd.service b/meta-networking/recipes-protocols/quagga/files/ripngd.service new file mode 100644 index 0000000000..72562d5f7c --- /dev/null +++ b/meta-networking/recipes-protocols/quagga/files/ripngd.service @@ -0,0 +1,14 @@ +[Unit] +Description=RIP routing daemon for IPv6 +BindTo=zebra.service +After=zebra.service +ConditionPathExists=@SYSCONFDIR@/quagga/ripngd.conf + +[Service] +Type=forking +EnvironmentFile=-@SYSCONFDIR@/default/quagga +ExecStart=@SBINDIR@/ripngd -d $ripngd_options -f /etc/quagga/ripngd.conf +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga b/meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga index cfb896a17b..1f28c0b24d 100644 --- a/meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga +++ b/meta-networking/recipes-protocols/quagga/files/volatiles.03_quagga @@ -1,3 +1,3 @@ # <type> <owner> <group> <mode> <path> <linksource> d quagga quagga 0755 /var/run/quagga none -d quagga quagga 0755 /var/log/quagga none
\ No newline at end of file +d quagga quagga 0755 /var/log/quagga none diff --git a/meta-networking/recipes-protocols/quagga/files/work-with-new-readline.patch b/meta-networking/recipes-protocols/quagga/files/work-with-new-readline.patch deleted file mode 100644 index 2bd333a70a..0000000000 --- a/meta-networking/recipes-protocols/quagga/files/work-with-new-readline.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 66df315d2a270a254c613a4d2e72c0ea47f15a71 Mon Sep 17 00:00:00 2001 -From: Robert Yang <liezhi.yang@windriver.com> -Date: Thu, 27 Mar 2014 09:35:29 +0000 -Subject: [PATCH] vtysh/vtysh.c: works with new readline - -The Function and CPPFunction had been removed by in readline 6.3, use -the new functions to replace them. - -Upstream-Status: Pending - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> ---- - vtysh/vtysh.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c -index 431c08e..fdd82fb 100644 ---- a/vtysh/vtysh.c -+++ b/vtysh/vtysh.c -@@ -2212,9 +2212,9 @@ void - vtysh_readline_init (void) - { - /* readline related settings. */ -- rl_bind_key ('?', (Function *) vtysh_rl_describe); -+ rl_bind_key ('?', (rl_command_func_t *) vtysh_rl_describe); - rl_completion_entry_function = vtysh_completion_entry_function; -- rl_attempted_completion_function = (CPPFunction *)new_completion; -+ rl_attempted_completion_function = (rl_completion_func_t *)new_completion; - /* do not append space after completion. It will be appended - * in new_completion() function explicitly. */ - rl_completion_append_character = '\0'; --- -1.8.3.4 - diff --git a/meta-networking/recipes-protocols/quagga/files/zebra.service b/meta-networking/recipes-protocols/quagga/files/zebra.service new file mode 100644 index 0000000000..afdd9e52db --- /dev/null +++ b/meta-networking/recipes-protocols/quagga/files/zebra.service @@ -0,0 +1,15 @@ +[Unit] +Description=GNU Zebra routing manager +Wants=network.target +Before=network.target +ConditionPathExists=@SYSCONFDIR@/quagga/zebra.conf + +[Service] +Type=forking +EnvironmentFile=-@SYSCONFDIR@/default/quagga +ExecStartPre=@BASE_SBINDIR@/ip route flush proto zebra +ExecStart=@SBINDIR@/zebra -d $zebra_options -f /etc/quagga/zebra.conf +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/meta-networking/recipes-protocols/quagga/quagga.inc b/meta-networking/recipes-protocols/quagga/quagga.inc index 5eeb18bebf..2c0817b83f 100644 --- a/meta-networking/recipes-protocols/quagga/quagga.inc +++ b/meta-networking/recipes-protocols/quagga/quagga.inc @@ -12,10 +12,8 @@ DEPENDS = "readline ncurses perl-native" DEPENDS += "${@base_contains('DISTRO_FEATURES', 'snmp', 'net-snmp', '', d)}" SNMP_CONF="${@base_contains('DISTRO_FEATURES', 'snmp', '--enable-snmp', '', d)}" -LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ - file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a" - -INC_PR = "r2" +LIC_FILES_CHKSUM = "file://COPYING;md5=81bcece21748c91ba9992349a91ec11d \ + file://COPYING.LIB;md5=01ef24401ded36cd8e5d18bfe947240c" # the "ip" command from busybox is not sufficient (flush by protocol flushes all routes) RDEPENDS_${PN} += "iproute2" @@ -23,10 +21,7 @@ RDEPENDS_${PN} += "iproute2" QUAGGASUBDIR = "" # ${QUAGGASUBDIR} is deal with old versions. Set to "/attic" for old # versions and leave it empty for recent versions. -SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz;name=quagga-${PV} \ - file://fix-for-lib-inpath.patch \ - file://quagga-0.99.17-libcap.patch \ - file://quagga-fix-CVE-2013-6051.patch \ +SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz; \ file://Zebra-sync-zebra-routing-table-with-the-kernel-one.patch \ file://quagga.init \ file://quagga.default \ @@ -36,20 +31,38 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/quagga${QUAGGASUBDIR}/quagga-${PV}.tar.gz;name file://quagga.pam \ file://ripd-fix-two-bugs-after-received-SIGHUP.patch \ file://quagga-Avoid-duplicate-connected-address.patch \ + file://babeld.service \ + file://bgpd.service \ + file://isisd.service \ + file://ospf6d.service \ + file://ospfd.service \ + file://ripd.service \ + file://ripngd.service \ + file://zebra.service \ " PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" PACKAGECONFIG[cap] = "--enable-capabilities,--disable-capabilities,libcap" PACKAGECONFIG[pam] = "--with-libpam, --without-libpam, libpam" -inherit autotools update-rc.d useradd +inherit autotools update-rc.d useradd systemd + +SYSTEMD_PACKAGES = "${PN} ${PN}-babeld ${PN}-bgpd ${PN}-isisd ${PN}-ospf6d ${PN}-ospfd ${PN}-ripd ${PN}-ripngd" +SYSTEMD_SERVICE_${PN}-babeld = "babeld.service" +SYSTEMD_SERVICE_${PN}-bgpd = "bgpd.service" +SYSTEMD_SERVICE_${PN}-isisd = "isisd.service" +SYSTEMD_SERVICE_${PN}-ospf6d = "ospf6d.service" +SYSTEMD_SERVICE_${PN}-ospfd = "ospfd.service" +SYSTEMD_SERVICE_${PN}-ripd = "ripd.service" +SYSTEMD_SERVICE_${PN}-ripngd = "ripngd.service" +SYSTEMD_SERVICE_${PN} = "zebra.service" EXTRA_OECONF = "--sysconfdir=${sysconfdir}/quagga \ --localstatedir=${localstatedir}/run/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 \ @@ -113,12 +126,44 @@ do_install () { fi done + if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /var/run/quagga 0755 quagga quagga -" \ + > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi + + # 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 + for i in babeld bgpd isisd ospf6d ospfd ripd ripngd zebra; do + install -m 0644 ${WORKDIR}/$i.service ${D}${systemd_unitdir}/system + done + sed -e 's,@BASE_SBINDIR@,${base_sbindir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + -i ${D}${systemd_unitdir}/system/*.service +} + +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 quagga.service + fi } # 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" FILES_${PN}-ospfd = "${sbindir}/ospfd ${libdir}/libospf.so.*" FILES_${PN}-ospf6d = "${sbindir}/ospf6d" diff --git a/meta-networking/recipes-protocols/quagga/quagga_0.99.21.bb b/meta-networking/recipes-protocols/quagga/quagga_0.99.21.bb deleted file mode 100644 index 0988b70eb0..0000000000 --- a/meta-networking/recipes-protocols/quagga/quagga_0.99.21.bb +++ /dev/null @@ -1,15 +0,0 @@ -require quagga.inc - -PR = "${INC_PR}.0" - -SRC_URI += "file://0001-doc-fix-makeinfo-errors-and-one-warning.patch \ - file://lingering-IP-address-after-deletion-BZ-486.patch \ - file://build-fix-extract.pl-for-cross-compilation.patch \ - file://babel-close-the-stdout-stderr-as-in-other-daemons.patch \ - file://work-with-new-readline.patch \ -" - -SRC_URI[quagga-0.99.21.md5sum] = "99840adbe57047c90dfba6b6ed9aec7f" -SRC_URI[quagga-0.99.21.sha256sum] = "9b8aea9026b4771a28e254a66cbd854723bcd0d71eebd0201d11838d4eb392ee" - -QUAGGASUBDIR = "" diff --git a/meta-networking/recipes-protocols/quagga/quagga_0.99.23.bb b/meta-networking/recipes-protocols/quagga/quagga_0.99.23.bb new file mode 100644 index 0000000000..a56767e518 --- /dev/null +++ b/meta-networking/recipes-protocols/quagga/quagga_0.99.23.bb @@ -0,0 +1,9 @@ +require quagga.inc + +SRC_URI += "file://babel-close-the-stdout-stderr-as-in-other-daemons.patch \ +" + +SRC_URI[md5sum] = "d17145e62b6ea14f0f13bb63f59e5166" +SRC_URI[sha256sum] = "2c7798204f35dc7acea9f206647e8aa3957cae3b21733cdff413b506481a101c" + +QUAGGASUBDIR = "" 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-protocols/rp-pppoe/rp-pppoe-3.8/configure.patch b/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.8/configure.patch new file mode 100644 index 0000000000..1380ba4891 --- /dev/null +++ b/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe-3.8/configure.patch @@ -0,0 +1,11 @@ +Index: rp-pppoe-3.8/configure.in +=================================================================== +--- rp-pppoe-3.8.orig/configure.in 2014-07-16 19:31:33.549991388 +0000 ++++ rp-pppoe-3.8/configure.in 2014-07-17 22:01:18.116590827 +0000 +@@ -1,4 +1,4 @@ +-AC_INIT(src/pppoe.c) +-AM_INIT_AUTOMAKE([rp-pppoe], [3.8]) ++AC_INIT([rp-pppoe], [3.8]) ++AM_INIT_AUTOMAKE([foreign]) + AC_CONFIG_SUBDIRS(src) + AC_OUTPUT(Makefile) diff --git a/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.8.bb b/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.8.bb index 90a8f4dd91..d1b0481b9e 100644 --- a/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.8.bb +++ b/meta-networking/recipes-protocols/rp-pppoe/rp-pppoe_3.8.bb @@ -14,13 +14,14 @@ SRC_URI = "http://www.roaringpenguin.com/files/download/${BP}.tar.gz \ file://dont-swallow-errors.patch \ file://discard-use-of-dnl-in-Makefile.am.patch \ file://use-ldflags.patch \ + file://configure.patch \ file://pppoe-server.default \ file://pppoe-server.init" SRC_URI[md5sum] = "0e32760f498f9cde44081ee6aafc823b" SRC_URI[sha256sum] = "d916e9cfe1e62395f63a5361936fa855f6d0f0a37dc7227b394cdb725f553479" -inherit autotools update-rc.d +inherit autotools-brokensep update-rc.d do_install() { # Install init script and default settings diff --git a/meta-networking/recipes-support/aoetools/aoetools/aoe-stat-no-bashism.patch b/meta-networking/recipes-support/aoetools/aoetools/aoe-stat-no-bashism.patch new file mode 100644 index 0000000000..ec89b7a533 --- /dev/null +++ b/meta-networking/recipes-support/aoetools/aoetools/aoe-stat-no-bashism.patch @@ -0,0 +1,27 @@ +From 38c97e590fde19213f6ba31e72d1c227db869427 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Sun, 31 Aug 2014 22:28:38 -0700 +Subject: [PATCH] aoe-stat.in: no bashism + +The checkbashisms shows there is no bashism, so use /bin/sh. + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + aoe-stat.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/aoe-stat.in b/aoe-stat.in +index 50e6ac6..0c1d6f5 100755 +--- a/aoe-stat.in ++++ b/aoe-stat.in +@@ -1,4 +1,4 @@ +-#! /bin/bash ++#! /bin/sh + # aoe-stat - collate and present information about AoE storage + # Copyright 2012, CORAID, Inc., and licensed under GPL v.2. + +-- +1.7.9.5 + diff --git a/meta-networking/recipes-support/aoetools/aoetools_34.bb b/meta-networking/recipes-support/aoetools/aoetools_36.bb index 1557de96fb..2b80ae74f7 100644 --- a/meta-networking/recipes-support/aoetools/aoetools_34.bb +++ b/meta-networking/recipes-support/aoetools/aoetools_36.bb @@ -10,10 +10,11 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" RRECOMMENDS_${PN} = "kernel-module-aoe" - -SRC_URI = "http://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz" -SRC_URI[md5sum] = "cde7f7cedc7cd9938a5ebfd009dd3ec0" -SRC_URI[sha256sum] = "fd6c57244e9458d7cbe7a0171295ddee4d8cdcae291e40d6acbc641df7296d85" +SRC_URI = "http://sourceforge.net/projects/${BPN}/files/${BPN}/${BPN}-${PV}.tar.gz \ + file://aoe-stat-no-bashism.patch \ + " +SRC_URI[md5sum] = "bff30daa988a65f69d4448ce4726a6db" +SRC_URI[sha256sum] = "fb5e2cd0de7644cc1ec04ee3aeb43211cf7445a0c19e13d6b3ed5a8fbdf215ff" # EXTRA_OEMAKE is typically: -e MAKEFLAGS= # the -e causes problems as CFLAGS is modified in the Makefile. diff --git a/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-remove-bashism.patch b/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-remove-bashism.patch new file mode 100644 index 0000000000..f332658bcd --- /dev/null +++ b/meta-networking/recipes-support/arptables/arptables-0.0.3-4/arptables-remove-bashism.patch @@ -0,0 +1,37 @@ +From cd312bc0e3686404428878d23b8888cba09a20e1 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Thu, 18 Sep 2014 19:46:58 -0700 +Subject: [PATCH] arptables.sysv: remove bashism + +Use "." to replace of "source", and change /bin/bash to /bin/sh, the +echo $"foo" works well in busybox. + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + arptables.sysv | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arptables.sysv b/arptables.sysv +index 7a90bd2..7710376 100644 +--- a/arptables.sysv ++++ b/arptables.sysv +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + # + # init script for arptables + # +@@ -11,7 +11,7 @@ + # + # config: __SYSCONFIG__/arptables + +-source /etc/init.d/functions ++. /etc/init.d/functions + # source /etc/sysconfig/network + + # Check that networking is up. +-- +1.7.9.5 + diff --git a/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb b/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb index 74f81b554a..41a55c0276 100644 --- a/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb +++ b/meta-networking/recipes-support/arptables/arptables_0.0.3-4.bb @@ -13,6 +13,7 @@ SRC_URI = " \ file://arptables-compile-install.patch \ file://arptables-init-busybox.patch \ file://arptables-arpt-get-target-fix.patch \ + file://arptables-remove-bashism.patch \ " SRC_URI[arptables.md5sum] = "1d4ab05761f063b0751645d8f2b8f8e5" SRC_URI[arptables.sha256sum] = "e529fd465c67d69ad335299a043516e6b38cdcd337a5ed21718413e96073f928" diff --git a/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb b/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb new file mode 100644 index 0000000000..06c0dd9858 --- /dev/null +++ b/meta-networking/recipes-support/cim-schema/cim-schema-docs_2.40.0.bb @@ -0,0 +1,23 @@ +require cim-schema.inc + +LICENSE = "DMTF" + +SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_${PV}Final-Doc.zip \ + file://LICENSE \ + " +SRC_URI[md5sum] = "3d01940bc1085c6c42184c25fb61f739" +SRC_URI[sha256sum] = "3174cf0f8657b19d80dc59e184778d8e553da424728cb2966fe9d5428dd84267" +LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=eecc6f71a56ff3caf17f15bf7aeac7b4" + +do_unpack() { + unzip -q ${DL_DIR}/cim_schema_${PV}Final-Doc.zip -d ${S} + cp -f ${FILE_DIRNAME}/files/LICENSE ${WORKDIR}/ +} + +do_install() { + install -d -m 0755 ${D}${datadir}/doc/cim-schema-${PV}-docs + cp -a ${S}/* ${D}${datadir}/doc/cim-schema-${PV}-docs +} + +FILES_${PN} = "${datadir}/doc/*" +FILES_${PN}-doc = "" diff --git a/meta-networking/recipes-support/cim-schema/cim-schema.inc b/meta-networking/recipes-support/cim-schema/cim-schema.inc new file mode 100644 index 0000000000..e35bff69c7 --- /dev/null +++ b/meta-networking/recipes-support/cim-schema/cim-schema.inc @@ -0,0 +1,9 @@ +SUMMARY = "Common Information Model (CIM) Schema" +DESCRIPTION = "Common Information Model (CIM) is a model for describing overall\ +management information in a network or enterprise environment. CIM\ +consists of a specification and a schema. The specification defines the\ +details for integration with other management models. The schema\ +provides the actual model descriptions." + +HOMEPAGE = "http://www.dmtf.org/" +SECTION = "Development/Libraries" diff --git a/meta-networking/recipes-support/cim-schema/cim-schema_2.40.0.bb b/meta-networking/recipes-support/cim-schema/cim-schema_2.40.0.bb new file mode 100644 index 0000000000..ff6c29dc5c --- /dev/null +++ b/meta-networking/recipes-support/cim-schema/cim-schema_2.40.0.bb @@ -0,0 +1,31 @@ +require cim-schema.inc + +LICENSE = "DMTF" + +SRC_URI = "http://dmtf.org/sites/default/files/cim/cim_schema_v2400/cim_schema_${PV}Final-MOFs.zip \ + file://LICENSE \ + " +SRC_URI[md5sum] = "a9bdf17c7374e3b5b7adeaac4842c4ad" +SRC_URI[sha256sum] = "dbfa3064ea427acd71a4bebbc172ca2dc44b0b09a6d83b0945b9ffa988a9058a" +LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=eecc6f71a56ff3caf17f15bf7aeac7b4" + +do_unpack() { + unzip -q ${DL_DIR}/cim_schema_${PV}Final-MOFs.zip -d ${S} + cp -f ${FILE_DIRNAME}/files/LICENSE ${WORKDIR}/ +} + +do_install() { + install -d -m 0755 ${D}${datadir}/mof/cimv${PV}/ + install -d -m 0755 ${D}${datadir}/doc/cim-schema-${PV} + install -m 644 ${WORKDIR}/LICENSE ${D}${datadir}/doc/cim-schema-${PV} + + cp -a ${S}/* ${D}${datadir}/mof/cimv${PV}/ + for i in `find ${D}${datadir}/mof/cimv${PV} -name "*.mof"`; do + sed -i -e 's/\r//g' $i + done + ln -s cimv${PV} ${D}${datadir}/mof/cim-current + ln -s cim_schema_${PV}.mof ${D}${datadir}/mof/cim-current/CIM_Schema.mof +} + +FILES_${PN} = "${datadir}/mof/* ${datadir}/doc/*" +FILES_${PN}-doc = "" diff --git a/meta-networking/recipes-support/cim-schema/files/LICENSE b/meta-networking/recipes-support/cim-schema/files/LICENSE new file mode 100644 index 0000000000..54a28120ee --- /dev/null +++ b/meta-networking/recipes-support/cim-schema/files/LICENSE @@ -0,0 +1,34 @@ +// Copyright 1998-2008 Distributed Management Task Force, Inc. (DMTF). +// All rights reserved. +// DMTF is a not-for-profit association of industry members dedicated +// to promoting enterprise and systems management and interoperability. +// DMTF specifications and documents may be reproduced by +// members and non-members, provided that correct attribution is given. +// As DMTF specifications may be revised from time to time, +// the particular version and release date should always be noted. +// +// Implementation of certain elements of this standard or proposed +// standard may be subject to third party patent rights, including +// provisional patent rights (herein "patent rights"). DMTF makes +// no representations to users of the standard as to the existence +// of such rights, and is not responsible to recognize, disclose, or +// identify any or all such third party patent right, owners or +// claimants, nor for any incomplete or inaccurate identification or +// disclosure of such rights, owners or claimants. DMTF shall have no +// liability to any party, in any manner or circumstance, under any +// legal theory whatsoever, for failure to recognize, disclose, or +// identify any such third party patent rights, or for such party's +// reliance on the standard or incorporation thereof in its product, +// protocols or testing procedures. DMTF shall have no liability to +// any party implementing such standard, whether such implementation +// is foreseeable or not, nor to any patent owner or claimant, and shall +// have no liability or responsibility for costs or losses incurred if +// a standard is withdrawn or modified after publication, and shall be +// indemnified and held harmless by any party implementing the +// standard from any and all claims of infringement by a patent owner +// for such implementations. +// +// For information about patents held by third-parties which have +// notified the DMTF that, in their opinion, such patent may relate to +// or impact implementations of DMTF standards, visit +// http://www.dmtf.org/about/policies/disclosures.php. diff --git a/meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch b/meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch new file mode 100644 index 0000000000..dae583d854 --- /dev/null +++ b/meta-networking/recipes-support/curlpp/curlpp/example21.cpp-remove-deprecated-code.patch @@ -0,0 +1,47 @@ +example21.cpp: remove deprecated code + +The deprecated code was no longer used, so remove it to avoid +compiling failure with -Werror=unused-function +... +| example21.cpp:51:8: error: 'size_t {anonymous}::readData(char*, +size_t, size_t)' defined but not used [-Werror=unused-function] +| size_t readData(char *buffer, size_t size, size_t nitems) +... + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + examples/example21.cpp | 17 ----------------- + 1 file changed, 17 deletions(-) + +diff --git a/examples/example21.cpp b/examples/example21.cpp +--- a/examples/example21.cpp ++++ b/examples/example21.cpp +@@ -39,23 +39,6 @@ + #include <curlpp/Options.hpp> + #include <curlpp/Exception.hpp> + +-/* +- anonymous namespace to prevent name clash in case other examples using the same global entities +- would be compiled in the same project +-*/ +-namespace +-{ +- +-char *data = NULL; +- +-size_t readData(char *buffer, size_t size, size_t nitems) +-{ +- strncpy(buffer, data, size * nitems); +- return size * nitems; +-} +- +-} // namespace +- + int main(int argc, char *argv[]) + { + if(argc != 3) { +-- +1.9.1 + diff --git a/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb b/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb index c21734377d..48f5178b52 100644 --- a/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb +++ b/meta-networking/recipes-support/curlpp/curlpp_0.7.3.bb @@ -8,12 +8,13 @@ DEPENDS = "curl boost" DEPENDS_class-native = "curl-native" SRC_URI = "http://curlpp.googlecode.com/files/curlpp-${PV}.tar.gz \ + file://example21.cpp-remove-deprecated-code.patch \ " SRC_URI[md5sum] = "ccc3d30d4b3b5d2cdbed635898c29485" SRC_URI[sha256sum] = "e3f9427b27c5bddf898d383d45c0d3d5397e2056ff935d9a5cdaef6a9a653bd5" -inherit autotools pkgconfig binconfig +inherit autotools-brokensep pkgconfig binconfig EXTRA_OECONF = "--prefix=${STAGING_DIR} \ --with-boost=${STAGING_DIR} \ diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc index e57ab727eb..1335245986 100644 --- a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc +++ b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc @@ -13,14 +13,24 @@ SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(d.getV file://dnsmasq.service \ " -inherit update-rc.d systemd +inherit pkgconfig update-rc.d systemd INITSCRIPT_NAME = "dnsmasq" INITSCRIPT_PARAMS = "defaults" -PACKAGECONFIG ??= "" -PACKAGECONFIG[dbus] = "COPTS=-DHAVE_DBUS,,dbus" -EXTRA_OEMAKE = "${EXTRA_OECONF}" +PACKAGECONFIG ?= "" +PACKAGECONFIG[dbus] = ",,dbus" +PACKAGECONFIG[idn] = ",,libidn" +PACKAGECONFIG[conntrack] = ",,libnetfilter-conntrack" +PACKAGECONFIG[lua] = ",,lua" +EXTRA_OEMAKE = "\ + 'COPTS=${@base_contains('PACKAGECONFIG', 'dbus', '-DHAVE_DBUS', '', d)} \ + ${@base_contains('PACKAGECONFIG', 'idn', '-DHAVE_IDN', '', d)} \ + ${@base_contains('PACKAGECONFIG', 'conntrack', '-DHAVE_CONNTRACK', '', d)} \ + ${@base_contains('PACKAGECONFIG', 'lua', '-DHAVE_LUASCRIPT', '', d)}' \ + 'CFLAGS=${CFLAGS}' \ + 'LDFLAGS=${LDFLAGS}' \ +" do_compile_append() { # build dhcp_release diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq/lua.patch b/meta-networking/recipes-support/dnsmasq/dnsmasq/lua.patch new file mode 100644 index 0000000000..918c0b6d56 --- /dev/null +++ b/meta-networking/recipes-support/dnsmasq/dnsmasq/lua.patch @@ -0,0 +1,29 @@ +From 1e5be0a0bcf85913d63408030dec038d360a5fa6 Mon Sep 17 00:00:00 2001 +From: Joe MacDonald <joe_macdonald@mentor.com> +Date: Tue, 9 Sep 2014 10:24:58 -0400 +Subject: [PATCH] Upstream-status: Inappropriate [OE specific] + +Signed-off-by: Christopher Larson <chris_larson@mentor.com> + +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index fc38393..a79f8bf 100644 +--- a/Makefile ++++ b/Makefile +@@ -57,8 +57,8 @@ idn_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_IDN $(PKG_CONFIG) - + idn_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_IDN $(PKG_CONFIG) --libs libidn` + ct_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_CONNTRACK $(PKG_CONFIG) --cflags libnetfilter_conntrack` + ct_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_CONNTRACK $(PKG_CONFIG) --libs libnetfilter_conntrack` +-lua_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --cflags lua5.1` +-lua_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --libs lua5.1` ++lua_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --cflags lua` ++lua_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_LUASCRIPT $(PKG_CONFIG) --libs lua` + nettle_cflags = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG) --cflags nettle hogweed` + nettle_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG) --libs nettle hogweed` + gmp_libs = `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG) --copy -lgmp` +-- +1.7.9.5 + diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq/parallel-make.patch b/meta-networking/recipes-support/dnsmasq/dnsmasq/parallel-make.patch new file mode 100644 index 0000000000..6d5b722eab --- /dev/null +++ b/meta-networking/recipes-support/dnsmasq/dnsmasq/parallel-make.patch @@ -0,0 +1,19 @@ +The dnsmasq target depends on .configured and $(objs). .configured does an rm +-f *.o. Yet the only thing telling make to build the .configured target before +the $(objs) target was the order of the dependencies of the dnsmasq target. We +can't rely on that order when doing a paralllel make build, so add an explicit +rule to enforce that order. + +Signed-off-by: Christopher Larson <chris_larson@mentor.com> +Upstream-status: Pending + +--- dnsmasq-2.68.orig/Makefile ++++ dnsmasq-2.68/Makefile +@@ -139,6 +139,8 @@ bloatcheck : $(BUILDDIR)/dnsmasq_baselin + @rm -f *.o + @touch $@ + ++$(objs): .configured ++ + $(objs:.o=.c) $(hdrs): + ln -s $(top)/$(SRC)/$@ . diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.68.bb b/meta-networking/recipes-support/dnsmasq/dnsmasq_2.68.bb deleted file mode 100644 index b1bef7a161..0000000000 --- a/meta-networking/recipes-support/dnsmasq/dnsmasq_2.68.bb +++ /dev/null @@ -1,4 +0,0 @@ -require dnsmasq.inc - -SRC_URI[dnsmasq-2.68.md5sum] = "6f8351ca0901f248efdb81532778d2ef" -SRC_URI[dnsmasq-2.68.sha256sum] = "402019d61f53f1ccc04cc6218719fd3b158ea3fca9a83ab55471f981a2097c2f" 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/dovecot/dovecot/building-rquota_xdr.c-depend-on-rquota.h.patch b/meta-networking/recipes-support/dovecot/dovecot/building-rquota_xdr.c-depend-on-rquota.h.patch new file mode 100644 index 0000000000..11d9d8c0d2 --- /dev/null +++ b/meta-networking/recipes-support/dovecot/dovecot/building-rquota_xdr.c-depend-on-rquota.h.patch @@ -0,0 +1,28 @@ +[PATCH] building rquota_xdr.c depends on rquota.h + +Upstream-status: Pending + +rquota.h is generated automatically, and building rquota_xdr.c +needs rquota.h, so add the dependency on rquota.h for rquota_xdr.c + +Signed-off-by: rongqing li <rli2@yow-blade4.wrs.com> +--- + src/plugins/quota/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/plugins/quota/Makefile.am b/src/plugins/quota/Makefile.am +index 8a6988d..3626d79 100644 +--- a/src/plugins/quota/Makefile.am ++++ b/src/plugins/quota/Makefile.am +@@ -70,7 +70,7 @@ RQUOTA_XDR = rquota_xdr.c + RQUOTA_XDR_LO = rquota_xdr.lo + #RQUOTA_X = /usr/include/rpcsvc/rquota.x + RQUOTA_X = $(srcdir)/rquota.x +-rquota_xdr.c: Makefile $(RQUOTA_X) ++rquota_xdr.c: Makefile $(RQUOTA_X) rquota.h + if [ "$(top_srcdir)" != "$(top_builddir)" ]; then \ + cp $(RQUOTA_X) $(top_builddir)/src/plugins/quota/; \ + fi; \ +-- +1.8.2.1 + diff --git a/meta-networking/recipes-support/dovecot/dovecot_2.2.10.bb b/meta-networking/recipes-support/dovecot/dovecot_2.2.10.bb index 8528536511..f733a7832f 100644 --- a/meta-networking/recipes-support/dovecot/dovecot_2.2.10.bb +++ b/meta-networking/recipes-support/dovecot/dovecot_2.2.10.bb @@ -6,13 +6,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a981379bd0f1c362f8d1d21515e5b30b" SRC_URI = "http://dovecot.org/releases/2.2/dovecot-${PV}.tar.gz \ file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \ + file://building-rquota_xdr.c-depend-on-rquota.h.patch \ " SRC_URI[md5sum] = "037e9c9e07d9dbff54dcff09f280fc8c" SRC_URI[sha256sum] = "75592483d40dc4f76cc3b41af40caa4be80478946a699d46846d5d03e4d2e09b" DEPENDS = "openssl xz zlib bzip2 libcap" -inherit autotools +inherit autotools pkgconfig PACKAGECONFIG ??= " \ ${@base_contains('DISTRO_FEATURES', 'ldap', 'ldap', '', d)} \ 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/ifenslave/ifenslave_1.1.0.bb b/meta-networking/recipes-support/ifenslave/ifenslave_1.1.0.bb new file mode 100644 index 0000000000..58dca86242 --- /dev/null +++ b/meta-networking/recipes-support/ifenslave/ifenslave_1.1.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "Configure network interfaces for parallel routing" +HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding" +SECTION = "network" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://ifenslave.c;beginline=8;endline=12;md5=a9f0bd2324cdc1b36d1f44f0e643a62a" + +SRC_URI = "http://ftp.debian.org/debian/pool/main/i/${BPN}-2.6/${BPN}-2.6_${PV}.orig.tar.gz" +SRC_URI[md5sum] = "56126cd1013cefe0ce6f81613e677bdd" +SRC_URI[sha256sum] = "7917bf34de80a2492eb225adf9168c83a4854ac8a008ed0fd5b3fd147ccd3041" + +do_compile() { + ${CC} ifenslave.c -o ifenslave +} +do_install() { + install -d "${D}${sbindir}" + install -m 755 "${S}/ifenslave" "${D}${sbindir}/" +} diff --git a/meta-networking/recipes-support/iftop/iftop_1.0pre2.bb b/meta-networking/recipes-support/iftop/iftop_1.0pre2.bb index 73f2d85a22..cc1f8b0465 100644 --- a/meta-networking/recipes-support/iftop/iftop_1.0pre2.bb +++ b/meta-networking/recipes-support/iftop/iftop_1.0pre2.bb @@ -10,5 +10,5 @@ SRC_URI = "http://www.ex-parrot.com/pdw/iftop/download/iftop-${PV}.tar.gz" SRC_URI[md5sum] = "fef521a49ec0122458d02c64212af3c5" SRC_URI[sha256sum] = "1b193037bb3019afae88cd94c87468aac4b045d81ab816ed8d2f489716b14027" -inherit autotools +inherit autotools-brokensep diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-warning-with-gcc-4.8.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-warning-with-gcc-4.8.patch deleted file mode 100644 index 61f39d1961..0000000000 --- a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-Fix-warning-with-gcc-4.8.patch +++ /dev/null @@ -1,36 +0,0 @@ -From fc230d5ded73fe4049aa586eacbe4098aeff912f Mon Sep 17 00:00:00 2001 -From: Paul Barker <paul@paulbarker.me.uk> -Date: Wed, 12 Jun 2013 17:39:06 +0100 -Subject: [PATCH] Fix warning with gcc 4.8. - -The line "memset(pair, 0, sizeof(pair));" was causing the following warning: - - error: argument to 'sizeof' in 'memset' call is the same expression as - the destination; did you mean to dereference - -Compiling with -Werror (as specified in configure.ac) was causing this warning -to become an error. The line itself is not needed as memory is allocated via -calloc which performs zero initialization. Therefore, the line is removed to fix -the warning and does not need replacing anything. ---- - src/racoon/ipsec_doi.c | 1 - - 1 file changed, 1 deletion(-) - -Upstream-Status: Accepted - (in CVS HEAD and 0_8-stable, expected to be present in next release) - -diff --git a/src/racoon/ipsec_doi.c b/src/racoon/ipsec_doi.c -index 2b48d49..4e9d3a8 100644 ---- a/src/racoon/ipsec_doi.c -+++ b/src/racoon/ipsec_doi.c -@@ -1183,7 +1183,6 @@ get_proppair_and_doi_sit(sa, mode, doitype, sittype) - "failed to get buffer.\n"); - goto bad; - } -- memset(pair, 0, sizeof(pair)); - - bp = (caddr_t)(sab + 1); - tlen = sa->l - sizeof(*sab); --- -1.8.3 - diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch new file mode 100644 index 0000000000..d5602c03db --- /dev/null +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch @@ -0,0 +1,33 @@ +From 738a9857be9c92ad2f70be88ccee238e3154a936 Mon Sep 17 00:00:00 2001 +From: Joe MacDonald <joe.macdonald@windriver.com> +Date: Wed, 2 Oct 2013 14:20:37 -0400 +Subject: [PATCH] racoon/pfkey: avoid potential null-pointer dereference + +Building with -Werror=maybe-uninitialized revealed that 'remote' from +pk_recvmigrate() could be used with uninitialized data in +migrate_sp_ike_addresses(). Ensure it is always at a minimum assigned +NULL. + +Upstream-Status: Pending + +Signed-off-by: Joe MacDonald <joe.macdonald@windriver.com> +--- + src/racoon/pfkey.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/racoon/pfkey.c b/src/racoon/pfkey.c +index d00b166..e0dc1db 100644 +--- a/src/racoon/pfkey.c ++++ b/src/racoon/pfkey.c +@@ -3352,7 +3352,7 @@ pk_recvmigrate(mhp) + struct sockaddr *old_saddr, *new_saddr; + struct sockaddr *old_daddr, *new_daddr; + struct sockaddr *old_local, *old_remote; +- struct sockaddr *local, *remote; ++ struct sockaddr *local, *remote = NULL; + struct sadb_x_kmaddress *kmaddr; + struct sadb_x_policy *xpl; + struct sadb_x_ipsecrequest *xisr_list; +-- +1.7.9.5 + diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch new file mode 100644 index 0000000000..8d270a62b9 --- /dev/null +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/configure.patch @@ -0,0 +1,13 @@ +Index: ipsec-tools-0.8.1/configure.ac +=================================================================== +--- ipsec-tools-0.8.1.orig/configure.ac 2013-01-08 12:43:29.000000000 +0000 ++++ ipsec-tools-0.8.1/configure.ac 2014-07-18 07:51:30.045555880 +0000 +@@ -6,7 +6,7 @@ + AC_CONFIG_SRCDIR([configure.ac]) + AC_CONFIG_HEADERS(config.h) + +-AM_INIT_AUTOMAKE(dist-bzip2) ++AM_INIT_AUTOMAKE([foreign dist-bzip2]) + + AC_ENABLE_SHARED(no) + diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch new file mode 100644 index 0000000000..36efc49179 --- /dev/null +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/glibc-2.20.patch @@ -0,0 +1,23 @@ +squahes below warning + warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" + +Seen with glibc 2.20 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending +Index: ipsec-tools-0.8.2/src/include-glibc/glibc-bugs.h +=================================================================== +--- ipsec-tools-0.8.2.orig/src/include-glibc/glibc-bugs.h 2006-09-09 09:22:08.000000000 -0700 ++++ ipsec-tools-0.8.2/src/include-glibc/glibc-bugs.h 2014-09-03 22:27:22.551563888 -0700 +@@ -4,7 +4,11 @@ + #define __GLIBC_BUGS_H__ 1 + + #define _XOPEN_SOURCE 500 ++/* Legacy feature macro.*/ + #define _BSD_SOURCE ++/* New feature macro that provides everything _BSD_SOURCE and ++ * _SVID_SOURCE provided and possibly more. */ ++#define _DEFAULT_SOURCE + + #include <features.h> + #include <sys/types.h> diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch new file mode 100644 index 0000000000..e82db087c5 --- /dev/null +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-Resend-UPDATE-message-when-received-EINTR-message.patch @@ -0,0 +1,220 @@ +racoon: Resend UPDATE message when received EINTR message + +Upstream-Status: Pending + +While kernel is processing the UPDATE message which is sent from racoon, +it maybe interrupted by system signal and if this case happens, +kernel responds with an EINTR message to racoon and kernel fails to +establish the corresponding SA. +Fix this problem by resend the UPDATE message when EINTR(Interrupted +system call) error happens. + +Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> +--- +--- a/src/libipsec/libpfkey.h ++++ b/src/libipsec/libpfkey.h +@@ -92,6 +92,12 @@ + u_int16_t ctxstrlen; /* length of security context string */ + }; + ++struct update_msg_info { ++ struct sadb_msg *update_msg; ++ int so; ++ int len; ++}; ++ + /* The options built into libipsec */ + extern int libipsec_opt; + #define LIBIPSEC_OPT_NATT 0x01 +--- a/src/libipsec/pfkey.c ++++ b/src/libipsec/pfkey.c +@@ -1219,7 +1219,8 @@ + } + #endif + +- ++struct update_msg_info update_msg_send = {NULL, 0, 0}; ++ + /* sending SADB_ADD or SADB_UPDATE message to the kernel */ + static int + pfkey_send_x1(struct pfkey_send_sa_args *sa_parms) +@@ -1483,10 +1484,24 @@ + + /* send message */ + len = pfkey_send(sa_parms->so, newmsg, len); +- free(newmsg); + +- if (len < 0) +- return -1; ++ if (newmsg->sadb_msg_type == SADB_UPDATE) { ++ if (update_msg_send.update_msg) ++ free(update_msg_send.update_msg); ++ update_msg_send.update_msg = newmsg; ++ update_msg_send.so = sa_parms->so; ++ update_msg_send.len = len; ++ ++ if (len < 0) { ++ free(update_msg_send.update_msg); ++ update_msg_send.update_msg = NULL; ++ return -1; ++ } ++ } else { ++ free(newmsg); ++ if (len < 0) ++ return -1; ++ } + + __ipsec_errcode = EIPSEC_NO_ERROR; + return len; +--- a/src/racoon/session.c ++++ b/src/racoon/session.c +@@ -100,6 +100,8 @@ + + #include "sainfo.h" + ++extern struct update_msg_info update_msg_send; ++ + struct fd_monitor { + int (*callback)(void *ctx, int fd); + void *ctx; +@@ -348,6 +350,11 @@ + close_sockets(); + backupsa_clean(); + ++ if (update_msg_send.update_msg) { ++ free(update_msg_send.update_msg); ++ update_msg_send.update_msg = NULL; ++ } ++ + plog(LLV_INFO, LOCATION, NULL, "racoon process %d shutdown\n", getpid()); + + exit(0); +--- a/src/racoon/pfkey.c ++++ b/src/racoon/pfkey.c +@@ -103,10 +103,12 @@ + #include "crypto_openssl.h" + #include "grabmyaddr.h" ++#include "../libipsec/libpfkey.h" + + #if defined(SADB_X_EALG_RIJNDAELCBC) && !defined(SADB_X_EALG_AESCBC) + #define SADB_X_EALG_AESCBC SADB_X_EALG_RIJNDAELCBC + #endif + ++extern struct update_msg_info update_msg_send; + /* prototype */ + static u_int ipsecdoi2pfkey_aalg __P((u_int)); + static u_int ipsecdoi2pfkey_ealg __P((u_int)); +@@ -253,6 +255,13 @@ + s_pfkey_type(msg->sadb_msg_type), + strerror(msg->sadb_msg_errno)); + ++ if (msg->sadb_msg_errno == EINTR && ++ update_msg_send.update_msg) { ++ plog(LLV_DEBUG, LOCATION, NULL, ++ "pfkey update resend\n"); ++ send(update_msg_send.so, (void *)update_msg_send.update_msg, (socklen_t)update_msg_send.len, 0); ++ } ++ + goto end; + } + +@@ -498,6 +507,11 @@ + { + flushsp(); + ++ if (update_msg_send.update_msg) { ++ free(update_msg_send.update_msg); ++ update_msg_send.update_msg = NULL; ++ } ++ + if (pfkey_send_spddump(lcconf->sock_pfkey) < 0) { + plog(LLV_ERROR, LOCATION, NULL, + "libipsec sending spddump failed: %s\n", +@@ -1295,6 +1309,8 @@ + return 0; + } + ++int update_received = 0; ++ + static int + pk_recvupdate(mhp) + caddr_t *mhp; +@@ -1307,6 +1323,13 @@ + int incomplete = 0; + struct saproto *pr; + ++ update_received = 1; ++ ++ if (update_msg_send.update_msg) { ++ free(update_msg_send.update_msg); ++ update_msg_send.update_msg = NULL; ++ } ++ + /* ignore this message because of local test mode. */ + if (f_local) + return 0; +@@ -4163,3 +4186,8 @@ + + return buf; + } ++ ++int receive_from_isakmp() ++{ ++ return pfkey_handler(NULL, lcconf->sock_pfkey); ++} +--- a/src/racoon/pfkey.h ++++ b/src/racoon/pfkey.h +@@ -71,5 +71,6 @@ + extern u_int32_t pk_getseq __P((void)); + extern const char *sadbsecas2str + __P((struct sockaddr *, struct sockaddr *, int, u_int32_t, int)); ++extern int receive_from_isakmp __P((void)); + + #endif /* _PFKEY_H */ +--- a/src/racoon/isakmp_quick.c ++++ b/src/racoon/isakmp_quick.c +@@ -774,6 +774,8 @@ + return error; + } + ++extern int update_received; ++ + /* + * send to responder + * HDR*, HASH(3) +@@ -892,6 +894,11 @@ + } + plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n"); + ++ while (!update_received) ++ receive_from_isakmp(); ++ ++ update_received = 0; ++ + /* Do ADD for responder */ + if (pk_sendadd(iph2) < 0) { + plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n"); +@@ -1035,6 +1042,11 @@ + } + plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n"); + ++ while (!update_received) ++ receive_from_isakmp(); ++ ++ update_received = 0; ++ + /* Do ADD for responder */ + if (pk_sendadd(iph2) < 0) { + plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n"); +@@ -1989,6 +2001,11 @@ + } + plog(LLV_DEBUG, LOCATION, NULL, "pfkey update sent.\n"); + ++ while (!update_received) ++ receive_from_isakmp(); ++ ++ update_received = 0; ++ + /* Do ADD for responder */ + if (pk_sendadd(iph2) < 0) { + plog(LLV_ERROR, LOCATION, NULL, "pfkey add failed.\n"); diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch new file mode 100644 index 0000000000..e272bc20fa --- /dev/null +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-ivm.patch @@ -0,0 +1,26 @@ +Subject: [PATCH] ipsec-tools: racoon: check several invalid ivm + +Upstream-Status: Pending + +Add checking for invalid ivm, or it will crash racoon. + +Signed-off-by: Ming Liu <ming.liu@windriver.com> +--- + isakmp_cfg.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff -urpN a/src/racoon/isakmp_cfg.c b/src/racoon/isakmp_cfg.c +--- a/src/racoon/isakmp_cfg.c ++++ b/src/racoon/isakmp_cfg.c +@@ -171,6 +171,11 @@ isakmp_cfg_r(iph1, msg) + iph1->mode_cfg->last_msgid != packet->msgid ) + iph1->mode_cfg->ivm = + isakmp_cfg_newiv(iph1, packet->msgid); ++ if(iph1->mode_cfg->ivm == NULL) { ++ plog(LLV_ERROR, LOCATION, NULL, ++ "failed to create new IV\n"); ++ return; ++ } + ivm = iph1->mode_cfg->ivm; + + dmsg = oakley_do_decrypt(iph1, msg, ivm->iv, ivm->ive); diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch new file mode 100644 index 0000000000..de1bdb4077 --- /dev/null +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools/racoon-check-invalid-pointers.patch @@ -0,0 +1,61 @@ +Subject: [PATCH] ipsec-tools: racoon: check several invalid pointers + +Upstream-Status: Pending + +Add checking for invalid pointers, or it will crash racoon. + +Signed-off-by: Ming Liu <ming.liu@windriver.com> +--- + ipsec_doi.c | 5 +++-- + isakmp_cfg.c | 7 +++++++ + isakmp_quick.c | 6 ++++-- + 3 files changed, 14 insertions(+), 4 deletions(-) + +diff -urpN a/src/racoon/ipsec_doi.c b/src/racoon/ipsec_doi.c +--- a/src/racoon/ipsec_doi.c ++++ b/src/racoon/ipsec_doi.c +@@ -3374,8 +3374,9 @@ ipsecdoi_chkcmpids( idt, ids, exact ) + + /* handle wildcard IDs */ + +- if (idt == NULL || ids == NULL) +- { ++ if (idt == NULL || ids == NULL || ++ idt->v == NULL || idt->l == 0 || ++ ids->v == NULL || ids->l == 0) { + if( !exact ) + { + plog(LLV_DEBUG, LOCATION, NULL, +diff -urpN a/src/racoon/isakmp_cfg.c b/src/racoon/isakmp_cfg.c +--- a/src/racoon/isakmp_cfg.c ++++ b/src/racoon/isakmp_cfg.c +@@ -1138,6 +1138,13 @@ isakmp_cfg_newiv(iph1, msgid) + return NULL; + } + ++ if (iph1->ivm == NULL || iph1->ivm->iv == NULL || ++ iph1->ivm->iv->v == NULL || iph1->ivm->iv->l == 0) { ++ plog(LLV_ERROR, LOCATION, NULL, ++ "isakmp_cfg_newiv called with invalid IV management\n"); ++ return NULL; ++ } ++ + if (ics->ivm != NULL) + oakley_delivm(ics->ivm); + +diff -urpN a/src/racoon/isakmp_quick.c b/src/racoon/isakmp_quick.c +--- a/src/racoon/isakmp_quick.c ++++ b/src/racoon/isakmp_quick.c +@@ -2243,8 +2243,10 @@ get_proposal_r(iph2) + int error = ISAKMP_INTERNAL_ERROR; + + /* check the existence of ID payload */ +- if ((iph2->id_p != NULL && iph2->id == NULL) +- || (iph2->id_p == NULL && iph2->id != NULL)) { ++ if ((iph2->id_p != NULL && ++ (iph2->id == NULL || iph2->id->v == NULL || iph2->id->l == 0)) || ++ (iph2->id != NULL && ++ (iph2->id_p == NULL || iph2->id_p->v == NULL || iph2->id_p->l == 0))) { + plog(LLV_ERROR, LOCATION, NULL, + "Both IDs wasn't found in payload.\n"); + return ISAKMP_NTYPE_INVALID_ID_INFORMATION; diff --git a/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.1.bb b/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb index fcf329c112..8cc55ef8a3 100644 --- a/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.1.bb +++ b/meta-networking/recipes-support/ipsec-tools/ipsec-tools_0.8.2.bb @@ -8,11 +8,16 @@ LIC_FILES_CHKSUM = "file://src/libipsec/pfkey.c;beginline=6;endline=31;md5=bc9b7 DEPENDS = "virtual/kernel openssl readline flex-native bison-native" SRC_URI = "ftp://ftp.netbsd.org/pub/NetBSD/misc/ipsec-tools/0.8/ipsec-tools-${PV}.tar.bz2 \ - file://0001-Fix-warning-with-gcc-4.8.patch \ file://0002-Don-t-link-against-libfl.patch \ + file://configure.patch \ + file://0001-racoon-pfkey-avoid-potential-null-pointer-dereferenc.patch \ + file://racoon-check-invalid-pointers.patch \ + file://racoon-check-invalid-ivm.patch \ + file://glibc-2.20.patch \ + file://racoon-Resend-UPDATE-message-when-received-EINTR-message.patch \ " -SRC_URI[md5sum] = "d38b39f291ba2962387c3232e7335dd8" -SRC_URI[sha256sum] = "fa4a95bb36842f001b84c4e7a1bb727e3ee06147edbc830a881d63abe8153dd4" +SRC_URI[md5sum] = "d53ec14a0a3ece64e09e5e34b3350b41" +SRC_URI[sha256sum] = "8eb6b38716e2f3a8a72f1f549c9444c2bc28d52c9536792690564c74fe722f2d" inherit autotools @@ -45,10 +50,15 @@ EXTRA_OECONF = "--with-kernel-headers=${STAGING_INCDIR} \ --with-readline \ --with-openssl=${STAGING_LIBDIR}/.. \ --without-libradius \ - --without-libpam \ --disable-security-context \ --enable-shared \ + --enable-dpd \ + --enable-natt=yes \ ${@base_contains('DISTRO_FEATURES', 'ipv6', '--enable-ipv6=yes', '', d)}" # See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=530527 CFLAGS += "-fno-strict-aliasing" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam," +PACKAGECONFIG[selinux] = "--enable-security-context,--disable-security-context,libselinux," 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 new file mode 100644 index 0000000000..1651eb83d0 --- /dev/null +++ b/meta-networking/recipes-support/lksctp-tools/lksctp-tools_1.0.16.bb @@ -0,0 +1,62 @@ +SUMMARY = "The Linux Kernel Stream Control Transmission Protocol (lksctp) project" +HOMEPAGE = "http://lksctp.org" +SECTION = "libs" +LICENSE = "LGPLv2.1 & GPLv2" + +LIC_FILES_CHKSUM = " \ + file://COPYING.lib;md5=0a1b79af951c42a9c8573533fbba9a92 \ + file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e \ +" + +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" + +#| arm-oe-linux-gnueabi-libtool: link: arm-oe-linux-gnueabi-gcc -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/qemuarm -shared -fPIC -DPIC .libs/bindx.o .libs/connectx.o .libs/peeloff.o .libs/opt_info.o .libs/addrs.o .libs/sendmsg.o .libs/recvmsg.o -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/qemuarm -O2 -Wl,--version-script=/home/jenkins/oe/world/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/lksctp-tools/1.0.16-r0/lksctp-tools-1.0.16/src/lib/Versions.map -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-soname -Wl,libsctp.so.1 -o .libs/libsctp.so.1.0.16 +#| /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] ?= "${@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 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" + +PACKAGES =+ "${PN}-withsctp ${PN}-utils" + +FILES_${PN} = " \ + ${libdir}/libsctp.so.${SOLIBVERSION} \ +" + +FILES_${PN}-withsctp = " \ + ${libdir}/lksctp-tools/libwithsctp.so.${SOLIBVERSION} \ +" + +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 \ +" + +FILES_${PN}-utils = "${bindir}/*" diff --git a/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb b/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb index 5fc0de3151..ca10262290 100644 --- a/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb +++ b/meta-networking/recipes-support/lowpan-tools/lowpan-tools_git.bb @@ -7,14 +7,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" DEPENDS = "libnl python" -PV = "0.3+git${SRCPV}" -SRC_URI = "git://linux-zigbee.git.sourceforge.net/gitroot/linux-zigbee/linux-zigbee \ +PV = "0.3.1+git${SRCPV}" +SRC_URI = "git://git.code.sf.net/p/linux-zigbee/linux-zigbee \ file://no-help2man.patch" -SRCREV = "a1d9615adde6d1a568813c24a128273ed755af04" +SRCREV = "38f42dbfce9e13629263db3bd3b81f14c69bb733" S = "${WORKDIR}/git" -inherit autotools python-dir +inherit autotools python-dir pkgconfig CACHED_CONFIGUREVARS += "am_cv_python_pythondir=${PYTHON_SITEPACKAGES_DIR}/lowpan-tools" diff --git a/meta-networking/recipes-support/memcached/memcached/configure.patch b/meta-networking/recipes-support/memcached/memcached/configure.patch new file mode 100644 index 0000000000..7001a0ed65 --- /dev/null +++ b/meta-networking/recipes-support/memcached/memcached/configure.patch @@ -0,0 +1,13 @@ +Index: memcached-1.4.17/configure.ac +=================================================================== +--- memcached-1.4.17.orig/configure.ac 2013-12-20 21:44:49.000000000 +0000 ++++ memcached-1.4.17/configure.ac 2014-07-18 07:17:00.593499483 +0000 +@@ -4,7 +4,7 @@ + AC_INIT(memcached, VERSION_NUMBER, memcached@googlegroups.com) + AC_CANONICAL_SYSTEM + AC_CONFIG_SRCDIR(memcached.c) +-AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) ++AM_INIT_AUTOMAKE([foreign]) + AM_CONFIG_HEADER(config.h) + + AC_PROG_CC diff --git a/meta-networking/recipes-support/memcached/memcached/memcached-add-hugetlbfs-check.patch b/meta-networking/recipes-support/memcached/memcached/memcached-add-hugetlbfs-check.patch new file mode 100644 index 0000000000..544b840fea --- /dev/null +++ b/meta-networking/recipes-support/memcached/memcached/memcached-add-hugetlbfs-check.patch @@ -0,0 +1,32 @@ +memcached: add knob to detect whether hugetlbfs are checked + +Add knob to detect whether hugetlbfs are checked or not. + +Upstream-Status: Pending + +Signed-off-by: Chong Lu <Chong.Lu@windriver.com> +--- + configure.ac | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 7f22f21..21691b9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -314,7 +314,12 @@ fi + dnl ---------------------------------------------------------------------------- + + AC_SEARCH_LIBS(umem_cache_create, umem) +-AC_SEARCH_LIBS(gethugepagesizes, hugetlbfs) ++AC_ARG_ENABLE(hugetlbfs, ++ [AS_HELP_STRING([--enable-hugetlbfs],[Enable hugetlbfs])]) ++ ++if test "x$enable_hugetlbfs" = "xyes"; then ++ AC_SEARCH_LIBS(gethugepagesizes, hugetlbfs) ++fi + + AC_HEADER_STDBOOL + AH_BOTTOM([#if HAVE_STDBOOL_H +-- +1.8.3.4 + diff --git a/meta-networking/recipes-support/memcached/memcached_1.4.15.bb b/meta-networking/recipes-support/memcached/memcached_1.4.15.bb deleted file mode 100644 index 016eaeb6e5..0000000000 --- a/meta-networking/recipes-support/memcached/memcached_1.4.15.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "Free & open source, high-performance, distributed memory object \ -caching system, generic in nature, but intended for use in speeding up dynamic \ -web applications by alleviating database load." -HOMEPAGE = "http://memcached.org/" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff" - -SRC_URI = "http://memcached.googlecode.com/files/memcached-${PV}.tar.gz" - -SRC_URI[md5sum] = "36ea966f5a29655be1746bf4949f7f69" -SRC_URI[sha256sum] = "169721ab7a7531add6ae9f6b14b6b5641725fe0b1f0bdf5c3a4327725901e2b4" - -DEPENDS = "libevent" - -inherit autotools diff --git a/meta-networking/recipes-support/memcached/memcached_1.4.17.bb b/meta-networking/recipes-support/memcached/memcached_1.4.17.bb new file mode 100644 index 0000000000..4d93f041e4 --- /dev/null +++ b/meta-networking/recipes-support/memcached/memcached_1.4.17.bb @@ -0,0 +1,53 @@ +SUMMARY = "A high-performance memory object caching system" +DESCRIPTION = "\ + memcached optimizes specific high-load serving applications that are designed \ + to take advantage of its versatile no-locking memory access system. Clients \ + are available in several different programming languages, to suit the needs \ + of the specific application. Traditionally this has been used in mod_perl \ + apps to avoid storing large chunks of data in Apache memory, and to share \ + this burden across several machines." + +HOMEPAGE = "http://memcached.org/" +LICENSE = "BSD-3-Clause" + +LIC_FILES_CHKSUM = "file://COPYING;md5=7e5ded7363d335e1bb18013ca08046ff" + +inherit autotools + +DEPENDS += "libevent" +RDEPENDS_${PN} += "perl perl-module-posix perl-module-autoloader \ + perl-module-tie-hash bash \ + " + +SRC_URI = "http://www.memcached.org/files/${BP}.tar.gz \ + file://configure.patch \ + file://memcached-add-hugetlbfs-check.patch" + +# set the same COMPATIBLE_HOST as libhugetlbfs +COMPATIBLE_HOST = '(i.86|x86_64|powerpc|powerpc64|arm).*-linux' + +SRC_URI[md5sum] = "46402dfbd7faadf6182283dbbd18b1a6" +SRC_URI[sha256sum] = "d9173ef6d99ba798c982ea4566cb4f0e64eb23859fdbf9926a89999d8cdc0458" + +python __anonymous () { + endianness = d.getVar('SITEINFO_ENDIANNESS', True) + if endianness == 'le': + d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=little") + else: + d.appendVar('EXTRA_OECONF', " ac_cv_c_endian=big") +} + +PACKAGECONFIG ??= "" +PACKAGECONFIG[hugetlbfs] = "--enable-hugetlbfs, --disable-hugetlbfs, libhugetlbfs" + +inherit update-rc.d + +INITSCRIPT_NAME = "memcached" +INITSCRIPT_PARAMS = "defaults" + +do_install_append() { + install -D -m 755 ${S}/scripts/memcached-init ${D}${sysconfdir}/init.d/memcached + mkdir -p ${D}/usr/share/memcached/scripts + install -m 755 ${S}/scripts/memcached-tool ${D}/usr/share/memcached/scripts + install -m 755 ${S}/scripts/start-memcached ${D}/usr/share/memcached/scripts +} 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 3a9394874e..a60bd347e7 100644 --- a/meta-networking/recipes-support/mtr/mtr_0.82.bb +++ b/meta-networking/recipes-support/mtr/mtr_0.86.bb @@ -5,13 +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://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/ndisc6/ndisc6_1.0.2.bb b/meta-networking/recipes-support/ndisc6/ndisc6_1.0.2.bb index 066aac2c0b..a0e37e17a6 100644 --- a/meta-networking/recipes-support/ndisc6/ndisc6_1.0.2.bb +++ b/meta-networking/recipes-support/ndisc6/ndisc6_1.0.2.bb @@ -9,6 +9,7 @@ LICENSE = "GPL-2.0" # perform the actual trace operation. RDEPENDS_${PN}-tcptraceroute6 = "${PN}-rltraceroute6" RDEPENDS_${PN}-tracert6 = "${PN}-rltraceroute6" +RDEPENDS_${PN}-misc += "perl" SRC_URI = "http://www.remlab.net/files/ndisc6/ndisc6-${PV}.tar.bz2 \ " diff --git a/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb b/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb index 4474e1d093..4237dc4c51 100644 --- a/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb +++ b/meta-networking/recipes-support/netcat/netcat-openbsd_1.105.bb @@ -17,9 +17,18 @@ S = "${WORKDIR}/${BPN}-${PV}" do_configure[noexec] = "1" -do_compile() { +netcat_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('netcat_do_patch', d) + bb.build.exec_func('patch_do_patch', d) +} + +do_compile() { + cd ${S} pkgrel=4 oe_runmake CFLAGS="$CFLAGS -DDEBIAN_VERSION=\"\\\"${pkgrel}\\\"\"" } diff --git a/meta-networking/recipes-support/netcf/netcf_git.bb b/meta-networking/recipes-support/netcf/netcf_git.bb index 6c36ce8482..979e45b607 100644 --- a/meta-networking/recipes-support/netcf/netcf_git.bb +++ b/meta-networking/recipes-support/netcf/netcf_git.bb @@ -16,7 +16,7 @@ DEPENDS += "augeas libnl libxslt libxml2 gnulib" S = "${WORKDIR}/git" -inherit gettext autotools +inherit gettext autotools-brokensep pkgconfig EXTRA_OECONF_append_class-target = " --with-driver=redhat" do_configure_prepend() { @@ -25,3 +25,7 @@ do_configure_prepend() { ./bootstrap --gnulib-srcdir=${STAGING_DATADIR}/gnulib } +do_install_append() { + mv ${D}${sysconfdir}/rc.d/init.d/ ${D}${sysconfdir} + rm -rf ${D}${sysconfdir}/rc.d/ +} diff --git a/meta-networking/recipes-support/netperf/netperf_2.6.0.bb b/meta-networking/recipes-support/netperf/netperf_2.6.0.bb index 7124b02e3f..ffa77d7bb9 100644 --- a/meta-networking/recipes-support/netperf/netperf_2.6.0.bb +++ b/meta-networking/recipes-support/netperf/netperf_2.6.0.bb @@ -27,6 +27,9 @@ CFLAGS_append = " -DDO_UNIX -DDO_IPV6 -D_GNU_SOURCE" CFLAGS_append = "${@base_contains('DISTRO_FEATURES', 'largefile', \ ' -D_FILE_OFFSET_BITS=64', '', d)}" +PACKAGECONFIG ??= "" +PACKAGECONFIG[sctp] = "--enable-sctp,--disable-sctp,lksctp-tools," + # autotools.bbclass attends to include m4 files with path depth <= 2 by # "find ${S} -maxdepth 2 -name \*.m4", so move m4 files from m4/m4. do_configure_prepend() { @@ -57,5 +60,7 @@ do_install() { install -m 0644 ${S}/doc/netperf_old.ps ${D}${docdir}/netperf } +RRECOMMENDS_${PN} += "${@base_contains('PACKAGECONFIG', 'sctp', 'kernel-module-sctp', '', d)}" + INITSCRIPT_NAME="netperf" INITSCRIPT_PARAMS="defaults" 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 a62b8ce691..d1b9c49076 100755 --- a/meta-networking/recipes-support/ntp/files/ntpd +++ b/meta-networking/recipes-support/ntp/ntp/ntpd @@ -1,12 +1,28 @@ #! /bin/sh -# + +### BEGIN INIT INFO +# Provides: ntp +# Required-Start: $network $remote_fs $syslog +# Required-Stop: $network $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: +# Short-Description: Start NTP daemon +### END INIT INFO + PATH=/sbin:/bin:/usr/bin:/usr/sbin +DAEMON=/usr/sbin/ntpd +PIDFILE=/var/run/ntpd.pid + # ntpd init.d script for ntpdc from ntp.isc.org -test -x /usr/sbin/ntpd -a -r /etc/ntp.conf || exit 0 +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 @@ -23,12 +39,12 @@ startdaemon(){ # this. If ntpd seems to disappear after a while assume TICKADJ # above is set to a totally incorrect value. echo -n "Starting ntpd: " - start-stop-daemon --start -x /usr/sbin/ntpd -- -u ntp:ntp -p /var/run/ntp.pid "$@" + start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --startas $DAEMON -- -u ntp:ntp -p $PIDFILE "$@" echo "done" } stopdaemon(){ echo -n "Stopping ntpd: " - start-stop-daemon --stop -p /var/run/ntp.pid + start-stop-daemon --stop --quiet --oknodo -p $PIDFILE echo "done" } @@ -55,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 49f9901e1e..e802ee700b 100644 --- a/meta-networking/recipes-support/ntp/ntp.inc +++ b/meta-networking/recipes-support/ntp/ntp_4.2.8.bb @@ -6,14 +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" -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 \ @@ -23,20 +21,32 @@ 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://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" -PACKAGECONFIG ??= "cap" +# NB: debug is default-enabled by NTP; keep it default-enabled here. +PACKAGECONFIG ??= "cap debug" PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \ --with-openssl-incdir=${STAGING_INCDIR} \ --with-crypto, \ @@ -44,6 +54,7 @@ PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \ openssl" PACKAGECONFIG[cap] = "--enable-linuxcaps,--disable-linuxcaps,libcap" PACKAGECONFIG[readline] = "--with-lineeditlibs,--without-lineeditlibs,readline" +PACKAGECONFIG[debug] = "--enable-debugging,--disable-debugging" do_install_append() { install -d ${D}${sysconfdir}/init.d @@ -52,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 @@ -60,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 @@ -106,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 \ @@ -118,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@.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.1.3.bb b/meta-networking/recipes-support/openvpn/openvpn_2.1.3.bb deleted file mode 100644 index 9ef0fbf0b5..0000000000 --- a/meta-networking/recipes-support/openvpn/openvpn_2.1.3.bb +++ /dev/null @@ -1,27 +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" - -inherit autotools - -SRC_URI = "http://openvpn.net/release/openvpn-${PV}.tar.gz \ - file://openvpn" - -SRC_URI[md5sum] = "7486d3e270ba4b033e311d3e022a0ad7" -SRC_URI[sha256sum] = "5185181df2e6043bd667377bc92e36ea5a5bd7600af209654f109b6403ca5b36" - -CFLAGS += "-fno-inline" - -# I want openvpn to be able to read password from file (hrw) -EXTRA_OECONF += "--enable-password-save" - -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" 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..58ddcc813f --- /dev/null +++ b/meta-networking/recipes-support/openvpn/openvpn_2.3.6.bb @@ -0,0 +1,63 @@ +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 " + +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 + 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 new file mode 100644 index 0000000000..f0323618dd --- /dev/null +++ b/meta-networking/recipes-support/pimd/pimd_2.1.8.bb @@ -0,0 +1,17 @@ +SUMMARY = "pimd is a lightweight stand-alone PIM-SM v2 multicast routing daemon." +HOMEPAGE = "http://troglobit.com/pimd.html" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=94f108f91fab720d62425770b70dd790" + +SRC_URI = "ftp://troglobit.com/pimd/${BP}.tar.bz2" +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 new file mode 100644 index 0000000000..0eaa7ca4cf --- /dev/null +++ b/meta-networking/recipes-support/ssmping/ssmping_0.9.1.bb @@ -0,0 +1,16 @@ +SUMMARY = "ssmping is a tool for checking whether one can receive SSM from a given host" +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 \ + 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/files/strongswan-5.0.0-5.1.2_reject_child_sa.patch b/meta-networking/recipes-support/strongswan/files/strongswan-5.0.0-5.1.2_reject_child_sa.patch deleted file mode 100644 index ad3459e995..0000000000 --- a/meta-networking/recipes-support/strongswan/files/strongswan-5.0.0-5.1.2_reject_child_sa.patch +++ /dev/null @@ -1,36 +0,0 @@ -From b980ba7757dcfedd756aa055b3271ea58cf85aa6 Mon Sep 17 00:00:00 2001 -From: Martin Willi <martin@revosec.ch> -Date: Thu, 20 Feb 2014 16:08:43 +0100 -Subject: [PATCH] ikev2: Reject CREATE_CHILD_SA exchange on unestablished - IKE_SAs - -Prevents a responder peer to trick us into established state by starting -IKE_SA rekeying before the IKE_SA has been authenticated during IKE_AUTH. - -Fixes CVE-2014-2338 for 5.x versions of strongSwan. ---- - src/libcharon/sa/ikev2/task_manager_v2.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/src/libcharon/sa/ikev2/task_manager_v2.c b/src/libcharon/sa/ikev2/task_manager_v2.c -index ac3be90..a5252ab 100644 ---- a/src/libcharon/sa/ikev2/task_manager_v2.c -+++ b/src/libcharon/sa/ikev2/task_manager_v2.c -@@ -780,6 +780,15 @@ static status_t process_request(private_ - case CREATE_CHILD_SA: - { /* FIXME: we should prevent this on mediation connections */ - bool notify_found = FALSE, ts_found = FALSE; -+ -+ if (this->ike_sa->get_state(this->ike_sa) == IKE_CREATED || -+ this->ike_sa->get_state(this->ike_sa) == IKE_CONNECTING) -+ { -+ DBG1(DBG_IKE, "received CREATE_CHILD_SA request for " -+ "unestablished IKE_SA, rejected"); -+ return FAILED; -+ } -+ - enumerator = message->create_payload_enumerator(message); - while (enumerator->enumerate(enumerator, &payload)) - { --- -1.8.1.2 diff --git a/meta-networking/recipes-support/strongswan/strongswan_5.1.1.bb b/meta-networking/recipes-support/strongswan/strongswan_5.2.1.bb index f8116e3d07..6b913190c2 100644 --- a/meta-networking/recipes-support/strongswan/strongswan_5.1.1.bb +++ b/meta-networking/recipes-support/strongswan/strongswan_5.2.1.bb @@ -9,11 +9,10 @@ DEPENDS = "gmp openssl flex-native flex bison-native" SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ file://fix-funtion-parameter.patch \ - file://strongswan-5.0.0-5.1.2_reject_child_sa.patch \ " -SRC_URI[md5sum] = "e3af3d493d22286be3cd794533a8966a" -SRC_URI[sha256sum] = "fbf2a668221fc4a36a34bdeac2dfeda25b96f572d551df022585177953622406" +SRC_URI[md5sum] = "dd3717c0aa59ab4591ca1812941ebb82" +SRC_URI[sha256sum] = "ea51ab33b5bb39fecaf10668833a9936583b42145948ae9da1ab98f74e939215" EXTRA_OECONF = "--enable-gmp \ --enable-openssl \ @@ -31,7 +30,7 @@ PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl," PACKAGECONFIG[soup] = "--enable-soup,--disable-soup,libsoup-2.4," PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5," -inherit autotools systemd +inherit autotools systemd pkgconfig RRECOMMENDS_${PN} = "kernel-module-ipsec" diff --git a/meta-networking/recipes-support/stunnel/stunnel_4.56.bb b/meta-networking/recipes-support/stunnel/stunnel_4.56.bb index 938f043a9d..74f2234f0f 100644 --- a/meta-networking/recipes-support/stunnel/stunnel_4.56.bb +++ b/meta-networking/recipes-support/stunnel/stunnel_4.56.bb @@ -3,7 +3,9 @@ DESCRIPTION = "SSL encryption wrapper between remote client and local (inetd-sta SECTION = "net" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=f41ebed8571077706fee0b860c4d6666" -DEPENDS = "openssl" +DEPENDS = "openssl zlib tcp-wrappers" + +RDEPENDS_${PN} += "perl" SRC_URI = "https://www.stunnel.org/downloads/archive/4.x/${BP}.tar.gz" diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/0001-minimal-IEEE802.15.4-allowed.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/0001-minimal-IEEE802.15.4-allowed.patch deleted file mode 100644 index 9d3d60d4d7..0000000000 --- a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/0001-minimal-IEEE802.15.4-allowed.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Sergey Lapin <slapin@slind.org> -Date: Wed, 28 Jan 2009 16:34:15 +0300 -Subject: [PATCH] minimal IEEE802.15.4 allowed - ---- - tcpdump.c | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/tcpdump.c b/tcpdump.c -index 06683af..fbc944c 100644 ---- a/tcpdump.c -+++ b/tcpdump.c -@@ -282,6 +282,9 @@ static struct printer printers[] = { - #ifdef DLT_MFR - { mfr_if_print, DLT_MFR }, - #endif -+#ifdef DLT_IEEE802_15_4 -+ { raw_if_print, DLT_IEEE802_15_4 }, -+#endif - #if defined(DLT_BLUETOOTH_HCI_H4_WITH_PHDR) && defined(HAVE_PCAP_BLUETOOTH_H) - { bt_if_print, DLT_BLUETOOTH_HCI_H4_WITH_PHDR}, - #endif diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/ipv6-cross.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/ipv6-cross.patch deleted file mode 100644 index 7eba2c5a6d..0000000000 --- a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/ipv6-cross.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- - configure.in | 12 ++++++++---- - 1 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/configure.in b/configure.in -index eb3e5e8..11257c9 100644 ---- a/configure.in -+++ b/configure.in -@@ -181,8 +181,9 @@ yes) AC_MSG_RESULT(yes) - ipv6=no - ;; - esac ], -- -- AC_TRY_RUN([ /* AF_INET6 available check */ -+[ -+ if test x"$cross_compiling" != "xyes"; then -+ AC_TRY_RUN([ /* AF_INET6 avalable check */ - #include <sys/types.h> - #include <sys/socket.h> - main() -@@ -201,7 +202,10 @@ main() - ipv6=no], - [ AC_MSG_RESULT(no) - ipv6=no] --)) -+ ) -+else -+ AC_MSG_FAILURE([Unable to check for ipv6 when crosscompiling, please specify.]) -+fi]) - - ipv6type=unknown - ipv6lib=none -@@ -316,7 +320,7 @@ if test "$ipv6" = "yes" -a "$ipv6lib" != "none"; then - fi - - --if test "$ipv6" = "yes"; then -+if test x"$cross_compiling" != "xyes" -a "$ipv6" = "yes"; then - # - # XXX - on Tru64 UNIX 5.1, there is no "getaddrinfo()" - # function in libc; there are "ngetaddrinfo()" and diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/tcpdump_configure_no_-O2.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/tcpdump_configure_no_-O2.patch deleted file mode 100644 index 7929da5b1f..0000000000 --- a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/tcpdump_configure_no_-O2.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- - configure | 8 ++++---- - 1 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/configure b/configure -index cb51d19..73d51af 100755 ---- a/configure -+++ b/configure -@@ -2691,13 +2691,13 @@ if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS - elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then -- CFLAGS="-g -O2" -+ CFLAGS="-g" - else - CFLAGS="-g" - fi - else - if test "$GCC" = yes; then -- CFLAGS="-O2" -+ CFLAGS="" - else - CFLAGS= - fi -@@ -2830,7 +2830,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - if test "$GCC" = yes ; then - if test "$SHLICC2" = yes ; then - ac_cv_lbl_gcc_vers=2 -- V_CCOPT="-O2" -+ V_CCOPT="" - else - { echo "$as_me:$LINENO: checking gcc version" >&5 - echo $ECHO_N "checking gcc version... $ECHO_C" >&6; } -@@ -2847,7 +2847,7 @@ fi - { echo "$as_me:$LINENO: result: $ac_cv_lbl_gcc_vers" >&5 - echo "${ECHO_T}$ac_cv_lbl_gcc_vers" >&6; } - if test $ac_cv_lbl_gcc_vers -gt 1 ; then -- V_CCOPT="-O2" -+ V_CCOPT="" - fi - fi - else 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.3.0/configure.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/configure.patch index 3697420fd3..3697420fd3 100644 --- a/meta-networking/recipes-support/tcpdump/tcpdump-4.3.0/configure.patch +++ b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/configure.patch 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/tcpdump-configure-dlpi.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/tcpdump-configure-dlpi.patch new file mode 100644 index 0000000000..50e2d54399 --- /dev/null +++ b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/tcpdump-configure-dlpi.patch @@ -0,0 +1,31 @@ +[PATCH] tcpdump: cross-compiling not check dlpi. + +For cross-compiling on Linux platforms, we do not need to check libdlpi +since it is only placed on Solaris. +Also, checking libdlpi in native /lib would cause do_qa_configure fail. + +Upstream-Status: Pending. + +Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com> +--- + configure.in | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/configure.in b/configure.in +index 7f9591c..ca277c0 100644 +--- a/configure.in ++++ b/configure.in +@@ -716,7 +716,9 @@ don't.]) + fi + + # libdlpi is needed for Solaris 11 and later. +-AC_CHECK_LIB(dlpi, dlpi_walk, LIBS="$LIBS -ldlpi" LDFLAGS="-L/lib $LDFLAGS", ,-L/lib) ++if test "$cross_compiling" != yes; then ++ AC_CHECK_LIB(dlpi, dlpi_walk, LIBS="$LIBS -ldlpi" LDFLAGS="-L/lib $LDFLAGS", ,-L/lib) ++fi + + dnl portability macros for getaddrinfo/getnameinfo + dnl +-- +1.7.5.4 + diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/tcpdump-cross-getaddrinfo.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/tcpdump-cross-getaddrinfo.patch new file mode 100644 index 0000000000..b414b72e9d --- /dev/null +++ b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/tcpdump-cross-getaddrinfo.patch @@ -0,0 +1,23 @@ +Fix getaddinfo check when cross compiling + +Upstream-Status: Pending. + +AC_TRY_RUN defaults to td_cv_buggygetaddrinfo=yes when +cross-compiling. So this change indicates that we +are cross-compiling. + +Signed-of-by: Aws Ismail <aws.ismail@windriver.com> + +diff --git a/configure.in b/configure.in +index ca277c0..283035e 100644 +--- a/configure.in ++++ b/configure.in +@@ -434,7 +434,7 @@ main() + ], + td_cv_buggygetaddrinfo=no, + td_cv_buggygetaddrinfo=yes, +- td_cv_buggygetaddrinfo=yes)]) ++ td_cv_buggygetaddrinfo=cross)]) + if test "$td_cv_buggygetaddrinfo" = no; then + AC_MSG_RESULT(good) + else diff --git a/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/unnecessary-to-check-libpcap.patch b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/unnecessary-to-check-libpcap.patch new file mode 100644 index 0000000000..d7a3ac23b1 --- /dev/null +++ b/meta-networking/recipes-support/tcpdump/tcpdump-4.6.1/unnecessary-to-check-libpcap.patch @@ -0,0 +1,33 @@ +unnecessary to check libpcap + +Upstream-Status: Pending + +since the check of libpcap did not consider the cross-compile, lead to the +below error: + This autoconf log indicates errors, it looked at host include and/or + library paths while determining system capabilities. + +In fact, the libpcap has been added into the tcpdump's DEPENDS, not need to +check if libpcap existed. + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.in b/configure.in +index 06fade1..9125de7 100644 +--- a/configure.in ++++ b/configure.in +@@ -567,7 +567,7 @@ AC_SEARCH_LIBS(getrpcbynumber, nsl, + dnl AC_CHECK_LIB(z, uncompress) + dnl AC_CHECK_HEADERS(zlib.h) + +-AC_LBL_LIBPCAP(V_PCAPDEP, V_INCLS) ++#AC_LBL_LIBPCAP(V_PCAPDEP, V_INCLS) + + # + # Check for these after AC_LBL_LIBPCAP, so we link with the appropriate +-- +1.7.9.5 + diff --git a/meta-networking/recipes-support/tcpdump/tcpdump_4.3.0.bb b/meta-networking/recipes-support/tcpdump/tcpdump_4.6.1.bb index 0d88990abf..1fdaf308d8 100644 --- a/meta-networking/recipes-support/tcpdump/tcpdump_4.3.0.bb +++ b/meta-networking/recipes-support/tcpdump/tcpdump_4.6.1.bb @@ -6,20 +6,24 @@ SECTION = "console/network" DEPENDS = "libpcap" SRC_URI = " \ - http://www.tcpdump.org/release/tcpdump-${PV}.tar.gz \ - file://tcpdump_configure_no_-O2.patch \ - file://0001-minimal-IEEE802.15.4-allowed.patch \ - file://ipv6-cross.patch \ + http://www.tcpdump.org/release/${BP}.tar.gz \ file://configure.patch \ + 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] = "a3fe4d30ac85ff5467c889ff46b7e1e8" -SRC_URI[sha256sum] = "efd08b610210d39977ec3175fa82dad9fbd33587930081be2a905a712dba4286" +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}" -EXTRA_OECONF = "--without-crypto \ - ${@base_contains('DISTRO_FEATURES', 'ipv6', '--enable-ipv6', '--disable-ipv6', d)}" +PACKAGECONFIG ??= "openssl ipv6" +PACKAGECONFIG[openssl] = "--with-crypto=yes, --without-openssl --without-crypto, openssl" +PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6," EXTRA_AUTORECONF += " -I m4" @@ -41,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/tcpdump/tcpslice/tcpslice-1.2a3-time.patch b/meta-networking/recipes-support/tcpdump/tcpslice/tcpslice-1.2a3-time.patch new file mode 100644 index 0000000000..386b7f83ac --- /dev/null +++ b/meta-networking/recipes-support/tcpdump/tcpslice/tcpslice-1.2a3-time.patch @@ -0,0 +1,75 @@ +Upstream-Status: Pending [from tcpdump-4.1.1-1.fc14.src.rpm] + +Signed-off-by: Roy Li <rongqing.li@windriver.com> + +--- tcpslice-1.2a3.orig/search.c 2000-09-10 10:52:40.000000000 +0200 ++++ tcpslice-1.2a3/search.c 2006-07-28 14:56:55.000000000 +0200 +@@ -53,7 +53,7 @@ + /* Size of a packet header in bytes; easier than typing the sizeof() all + * the time ... + */ +-#define PACKET_HDR_LEN (sizeof( struct pcap_pkthdr )) ++#define PACKET_HDR_LEN (sizeof( struct pcap_sf_pkthdr )) + + extern int snaplen; + +@@ -111,16 +111,24 @@ + static void + extract_header( pcap_t *p, u_char *buf, struct pcap_pkthdr *hdr ) + { +- memcpy((char *) hdr, (char *) buf, sizeof(struct pcap_pkthdr)); ++ struct pcap_sf_pkthdr hdri; ++ ++ memcpy((char *) &hdri, (char *) buf, sizeof(struct pcap_sf_pkthdr)); + + if ( pcap_is_swapped( p ) ) + { +- hdr->ts.tv_sec = SWAPLONG(hdr->ts.tv_sec); +- hdr->ts.tv_usec = SWAPLONG(hdr->ts.tv_usec); +- hdr->len = SWAPLONG(hdr->len); +- hdr->caplen = SWAPLONG(hdr->caplen); ++ hdr->ts.tv_sec = SWAPLONG(hdri.ts.tv_sec); ++ hdr->ts.tv_usec = SWAPLONG(hdri.ts.tv_usec); ++ hdr->len = SWAPLONG(hdri.len); ++ hdr->caplen = SWAPLONG(hdri.caplen); ++ } ++ else ++ { ++ hdr->ts.tv_sec = hdri.ts.tv_sec; ++ hdr->ts.tv_usec = hdri.ts.tv_usec; ++ hdr->len = hdri.len; ++ hdr->caplen = hdri.caplen; + } +- + /* + * From bpf/libpcap/savefile.c: + * +--- tcpslice-1.2a3.orig/tcpslice.h 1995-11-02 00:40:53.000000000 +0100 ++++ tcpslice-1.2a3/tcpslice.h 2006-07-28 14:56:55.000000000 +0200 +@@ -20,6 +20,26 @@ + */ + + ++#include <time.h> ++/* #include <net/bpf.h> */ ++ ++/* ++ * This is a timeval as stored in disk in a dumpfile. ++ * It has to use the same types everywhere, independent of the actual ++ * `struct timeval' ++ */ ++ ++struct pcap_timeval { ++ bpf_int32 tv_sec; /* seconds */ ++ bpf_int32 tv_usec; /* microseconds */ ++}; ++ ++struct pcap_sf_pkthdr { ++ struct pcap_timeval ts; /* time stamp */ ++ bpf_u_int32 caplen; /* length of portion present */ ++ bpf_u_int32 len; /* length this packet (off wire) */ ++}; ++ + time_t gwtm2secs( struct tm *tm ); + + int sf_find_end( struct pcap *p, struct timeval *first_timestamp, diff --git a/meta-networking/recipes-support/tcpdump/tcpslice/tcpslice-CVS.20010207-bpf.patch b/meta-networking/recipes-support/tcpdump/tcpslice/tcpslice-CVS.20010207-bpf.patch new file mode 100644 index 0000000000..0a7359311d --- /dev/null +++ b/meta-networking/recipes-support/tcpdump/tcpslice/tcpslice-CVS.20010207-bpf.patch @@ -0,0 +1,15 @@ +Upstream-Status: Pending [from tcpdump-4.1.1-1.fc14.src.rpm] + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +diff -ur tcpdump-3.8.1/tcpslice/tcpslice.c tcpdump-3.8.1.new/tcpslice/tcpslice.c +--- tcpslice/tcpslice.c 2004-01-15 17:35:53.000000000 +0100 ++++ tcpslice/tcpslice.c 2004-01-15 16:12:57.000000000 +0100 +@@ -35,7 +35,7 @@ + #include <sys/file.h> + #include <sys/stat.h> + +-#include <net/bpf.h> ++/* #include <net/bpf.h> */ + + #include <ctype.h> + #ifdef HAVE_FCNTL_H diff --git a/meta-networking/recipes-support/tcpdump/tcpslice_1.2a3.bb b/meta-networking/recipes-support/tcpdump/tcpslice_1.2a3.bb new file mode 100644 index 0000000000..203d143b5d --- /dev/null +++ b/meta-networking/recipes-support/tcpdump/tcpslice_1.2a3.bb @@ -0,0 +1,35 @@ +SUMMARY = "tcpslice" +DESCRIPTION = "A tool for extracting parts of a tcpdump packet trace." +HOMEPAGE = "http://www.tcpdump.org/related.html" +SECTION = "console/network" + +LICENSE = "BSD-4-Clause" +LIC_FILES_CHKSUM = "file://tcpslice.c;endline=20;md5=99519e2e5234d1662a4ce16baa62c64e" + +SRC_URI = "ftp://ftp.ee.lbl.gov/${BP}.tar.gz \ + file://tcpslice-1.2a3-time.patch \ + file://tcpslice-CVS.20010207-bpf.patch \ + " +SRC_URI[md5sum] = "e329cbeb7e589f132d92c3447c477190" +SRC_URI[sha256sum] = "4096e8debc898cfaa16b5306f1c42f8d18b19e30e60da8d4deb781c8f684c840" + +inherit autotools-brokensep + +DEPENDS += "libpcap" + +# We do not want to autoreconf. We must specify srcdir as ".". +# We have to set the ac_cv_* cache variables as well as pass the normal +# cross-compilation options to configure! +# +do_configure () { + oe_runconf \ + --srcdir="." \ + ac_cv_build=${BUILD_SYS} \ + ac_cv_host=${HOST_SYS} \ + ac_cv_target=${HOST_SYS} +} + +do_install_prepend () { + mkdir -p ${D}/usr/sbin +} + 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 d211888826..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" @@ -18,5 +19,5 @@ DEPENDS = "libpcap" EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr" -inherit siteinfo autotools +inherit siteinfo autotools-brokensep diff --git a/meta-networking/recipes-support/tnftp/tnftp/tnftp-autotools.patch b/meta-networking/recipes-support/tnftp/tnftp/tnftp-autotools.patch new file mode 100644 index 0000000000..1bda576bc2 --- /dev/null +++ b/meta-networking/recipes-support/tnftp/tnftp/tnftp-autotools.patch @@ -0,0 +1,42 @@ +[PATCH] Update configure.ac and Makefile.am to resolve warnings/errors + +Upstream-Status: Pending + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + configure.ac | 2 ++ + libnetbsd/Makefile.am | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a96d2ab..b3b3069 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -71,9 +71,11 @@ AH_TEMPLATE([WITH_SSL], + # + # Checks for programs. + # ++AM_PROG_AR() + AC_PROG_CC() + AC_PROG_AWK() + AC_PROG_LIBTOOL() ++AM_PROG_CC_C_O() + + # + # Checks for tool features. +diff --git a/libnetbsd/Makefile.am b/libnetbsd/Makefile.am +index 3e5c3ce..39bb12d 100644 +--- a/libnetbsd/Makefile.am ++++ b/libnetbsd/Makefile.am +@@ -5,7 +5,7 @@ noinst_LTLIBRARIES = libnetbsd.la + libnetbsd_la_SOURCES = + + +-CPPFLAGS = \ ++AM_CPPFLAGS = \ + -I$(srcdir) \ + -I$(top_srcdir) \ + -I$(top_builddir) +-- +1.7.10.4 + diff --git a/meta-networking/recipes-support/tnftp/tnftp_20130505.bb b/meta-networking/recipes-support/tnftp/tnftp_20130505.bb new file mode 100644 index 0000000000..eda9d5c0f0 --- /dev/null +++ b/meta-networking/recipes-support/tnftp/tnftp_20130505.bb @@ -0,0 +1,36 @@ +SUMMARY = "Enhanced NetBSD ftp client" +DESCRIPTION = "tnftp (formerly known as lukemftp) is a port of the NetBSD FTP client \ +to other systems. It offers many enhancements over the traditional \ +BSD FTP client, including command-line editing, command-line fetches \ +of FTP and HTTP URLs (including via proxies), command-line uploads of \ +FTP URLs, context-sensitive word completion, dynamic progress bar, \ +IPv6 support, modification time preservation, paging of local and \ +remote files, passive mode support (with fallback to active mode), \ +SOCKS support, TIS FWTK gate-ftp server support, and transfer rate \ +throttling." + +SECTION = "console/network" +LICENSE = "BSD-4-Clause" + +DEPENDS = "ncurses" + +SRC_URI = "ftp://ftp.netbsd.org/pub/NetBSD/misc/tnftp/${BPN}-${PV}.tar.gz \ + file://tnftp-autotools.patch \ + " + +inherit autotools update-alternatives pkgconfig + +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE_${PN} = "ftp" +ALTERNATIVE_LINK_NAME_${PN} = "${bindir}/ftp" +ALTERNATIVE_TARGET_${PN} = "${bindir}/tnftp" + +FILES_${PN} = "${bindir}/tnftp" + +LIC_FILES_CHKSUM = "file://COPYING;md5=6d6796cb166a9bb050958241dad9479e" +SRC_URI[md5sum] = "66e218d02ec7d9fc39ab70ba2900305a" +SRC_URI[sha256sum] = "6f650e25f6fd51538f677b789b49379f367ae9f1dee74c94cfe24d92abc2cffb" + +PACKAGECONFIG ?= "openssl" +PACKAGECONFIG[openssl] = "--enable-ssl, --disable-ssl --with-ssl=no, openssl" diff --git a/meta-networking/recipes-support/traceroute/traceroute_2.0.18.bb b/meta-networking/recipes-support/traceroute/traceroute_2.0.21.bb index 236bd12c30..7bdbe16175 100644 --- a/meta-networking/recipes-support/traceroute/traceroute_2.0.18.bb +++ b/meta-networking/recipes-support/traceroute/traceroute_2.0.21.bb @@ -7,20 +7,20 @@ 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" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff" - -PR = "r1" +LICENSE = "GPL-2.0+ & LGPL-2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" inherit update-alternatives -SRC_URI = "${SOURCEFORGE_MIRROR}/traceroute/traceroute/traceroute-2.0.18/traceroute-2.0.18.tar.gz \ +SRC_URI = "${SOURCEFORGE_MIRROR}/traceroute/traceroute/${BP}/${BP}.tar.gz \ file://filter-out-the-patches-from-subdirs.patch \ " -SRC_URI[md5sum] = "b7254149b7f081cce07f4b9e065ba5ef" -SRC_URI[sha256sum] = "5994a88520927fefe3c9754aaf1e02b4d0f3f8fb1f521a68fa86215c3fcab9ef" +SRC_URI[md5sum] = "79289adabd6f3ebf9160fc0815ab3150" +SRC_URI[sha256sum] = "f7ac93ef30b13a587292b8d6a7e2538a65bc978a3a576eab238c392b884e96e0" + +EXTRA_OEMAKE = "VPATH=${STAGING_LIBDIR}" do_compile() { export LDFLAGS="${TARGET_LDFLAGS} -L${S}/libsupp" @@ -40,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/README b/meta-networking/recipes-support/wireshark/README new file mode 100644 index 0000000000..63b5b72631 --- /dev/null +++ b/meta-networking/recipes-support/wireshark/README @@ -0,0 +1,45 @@ +# +Wireshark - Notes + +URL: http://www.wireshark.org/ +User Guide: http://www.wireshark.org/docs/wsug_html_chunked/ +Secruity advisories: http://www.wireshark.org/security/ + +Wireshark is slowly moving away from gtk and towards QT as their graphical stack. +Currently gtk is supported with this release and I plan on integrating QT. + + + +Adding the wireshark to your build +======================================== + +via local.conf +IMAGE_INSTALL_append = " wireshark" + +Adding the wireshark to your graphical build +======================================== +via local.conf +IMAGE_INSTALL_append = " wireshark" + +and one of: + +EXTRA_IMAGE_FEATURES += "x11-base" + +or use the "core-image-x11" + + +Maintenance +----------- + +Send patches, comments or questions to openembedded-devel@lists.openembedded.org + +When sending single patches, please use something like: + + git send-email -1 -M \ + --to openembedded-devel@lists.openembedded.org \ + --cc akuster@mvista.com \ + --subject-prefix=meta-networking][PATCH + +Maintainer: Armin Kuster <akuster@mvista.com> + + diff --git a/meta-networking/recipes-support/wireshark/files/Do-not-set-CC_FOR_BUILD-flags.patch b/meta-networking/recipes-support/wireshark/files/Do-not-set-CC_FOR_BUILD-flags.patch new file mode 100644 index 0000000000..64a08add79 --- /dev/null +++ b/meta-networking/recipes-support/wireshark/files/Do-not-set-CC_FOR_BUILD-flags.patch @@ -0,0 +1,46 @@ +[PATCH] Do not set CC_FOR_BUILD flags + +Upstream-status: Pending + +AC_WIRESHARK_COMPILER_FLAGS_CHECK() is checking which options CC is supported, +and put the supported options into CFLAGS, but it should not put them into +CFLAGS_FOR_BUILD. since CC and BUILD_CC can be different, CFLAGS_FOR_BUILD is +used by BUILD_CC + +BUILD_CC is used to generated host tools, do not use the gcc's optimised options, +do not effect the running of host tools. so do not set CC_FOR_BUILD flags. + +Signed-off-by: Roy.Li <rongqing.li@windriver.com> +--- + acinclude.m4 | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 136fc27..8d3d360 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -1755,10 +1755,6 @@ if test "x$ac_supports_gcc_flags" = "xyes" ; then + # just the new option. + # + CFLAGS="$CFLAGS_saved $GCC_OPTION" +- # +- # Add it to the flags we use when building build tools. +- # +- CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD $GCC_OPTION" + ], + [ + AC_MSG_RESULT(yes) +@@ -1771,10 +1767,6 @@ if test "x$ac_supports_gcc_flags" = "xyes" ; then + # just the new option. + # + CFLAGS="$CFLAGS_saved $GCC_OPTION" +- # +- # Add it to the flags we use when building build tools. +- # +- CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD $GCC_OPTION" + fi + ], + [ +-- +1.9.1 + diff --git a/meta-networking/recipes-support/wireshark/wireshark_1.12.3.bb b/meta-networking/recipes-support/wireshark/wireshark_1.12.3.bb new file mode 100644 index 0000000000..7604bd7ff9 --- /dev/null +++ b/meta-networking/recipes-support/wireshark/wireshark_1.12.3.bb @@ -0,0 +1,56 @@ +DESCRIPTION = "wireshark - a popular network protocol analyzer" +HOMEPAGE = "http://www.wireshark.org" +SECTION = "network" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://README.linux;md5=631e077455b7972172eb149195e065b0" + +DEPENDS = "perl-native libcap libpcap pcre expat glib-2.0 sbc" + +SRC_URI = " \ + http://wiresharkdownloads.riverbed.com/wireshark/src/wireshark-${PV}.tar.bz2 \ + file://Do-not-set-CC_FOR_BUILD-flags.patch \ +" + +PE = "1" + +SRC_URI[md5sum] = "e6318b8451d4e56d39bd911da296ef19" +SRC_URI[sha256sum] = "69950b9dcb1a630982b5f680554d73d27ee0dc856fc6aeef88c8d04eb5ac33ea" + +inherit autotools pkgconfig + +ARM_INSTRUCTION_SET = "arm" + +# Works with either gtk+ or gtk3. +WHICH_GTK = "gtk3" + +PACKAGECONFIG ??= "gnutls gcrypt libnl" +PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "x11", "${WHICH_GTK} graphics", "", d)}" +PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "ipv6", "ipv6", "", d)}" + +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" +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" + +# 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" + +do_configure_prepend() { + # force to use fallback + sed -i -e '/^glib_prefix/s/=.*$/=""/' ${S}/aclocal-flags +} + +ALLOW_EMPTY_${PN} = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 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/classes/gpe.bbclass b/meta-oe/classes/gpe.bbclass index 2adbd48419..9fc136590a 100644 --- a/meta-oe/classes/gpe.bbclass +++ b/meta-oe/classes/gpe.bbclass @@ -1,6 +1,6 @@ DEPENDS_prepend = "virtual/libintl intltool-native " GPE_TARBALL_SUFFIX ?= "gz" -SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.${GPE_TARBALL_SUFFIX}" +SRC_URI = "${GPE_MIRROR}/${BP}.tar.${GPE_TARBALL_SUFFIX}" FILES_${PN} += "${datadir}/gpe ${datadir}/application-registry" SECTION ?= "gpe" 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/BSD-0-Clause b/meta-oe/licenses/BSD-0-Clause new file mode 100644 index 0000000000..328bdd6aee --- /dev/null +++ b/meta-oe/licenses/BSD-0-Clause @@ -0,0 +1,12 @@ +Copyright (C) <YEAR> by <OWNER> + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/meta-oe/licenses/GPL-2.0-with-lmbench-restriction b/meta-oe/licenses/GPL-2.0-with-lmbench-restriction new file mode 100644 index 0000000000..3e1f7cc6d3 --- /dev/null +++ b/meta-oe/licenses/GPL-2.0-with-lmbench-restriction @@ -0,0 +1,108 @@ +%M% %I% %E% + +The set of programs and documentation known as "lmbench" are distributed +under the Free Software Foundation's General Public License with the +following additional restrictions (which override any conflicting +restrictions in the GPL): + +1. You may not distribute results in any public forum, in any publication, + or in any other way if you have modified the benchmarks. + +2. You may not distribute the results for a fee of any kind. This includes + web sites which generate revenue from advertising. + +If you have modifications or enhancements that you wish included in +future versions, please mail those to me, Larry McVoy, at lm@bitmover.com. + +========================================================================= + +Rationale for the publication restrictions: + +In summary: + + a) LMbench is designed to measure enough of an OS that if you do well in + all catagories, you've covered latency and bandwidth in networking, + disks, file systems, VM systems, and memory systems. + b) Multiple times in the past people have wanted to report partial results. + Without exception, they were doing so to show a skewed view of whatever + it was they were measuring (for example, one OS fit small processes into + segments and used the segment register to switch them, getting good + results, but did not want to report large process context switches + because those didn't look as good). + c) We insist that if you formally report LMbench results, you have to + report all of them and make the raw results file easily available. + Reporting all of them means in that same publication, a pointer + does not count. Formally, in this context, means in a paper, + on a web site, etc., but does not mean the exchange of results + between OS developers who are tuning a particular subsystem. + +We have a lot of history with benchmarking and feel strongly that there +is little to be gained and a lot to be lost if we allowed the results +to be published in isolation, without the complete story being told. + +There has been a lot of discussion about this, with people not liking this +restriction, more or less on the freedom principle as far as I can tell. +We're not swayed by that, our position is that we are doing the right +thing for the OS community and will stick to our guns on this one. + +It would be a different matter if there were 3 other competing +benchmarking systems out there that did what LMbench does and didn't have +the same reporting rules. There aren't and as long as that is the case, +I see no reason to change my mind and lots of reasons not to do so. I'm +sorry if I'm a pain in the ass on this topic, but I'm doing the right +thing for you and the sooner people realize that the sooner we can get on +to real work. + +Operating system design is a largely an art of balancing tradeoffs. +In many cases improving one part of the system has negative effects +on other parts of the system. The art is choosing which parts to +optimize and which to not optimize. Just like in computer architecture, +you can optimize the common instructions (RISC) or the uncommon +instructions (CISC), but in either case there is usually a cost to +pay (in RISC uncommon instructions are more expensive than common +instructions, and in CISC common instructions are more expensive +than required). The art lies in knowing which operations are +important and optmizing those while minimizing the impact on the +rest of the system. + +Since lmbench gives a good overview of many important system features, +users may see the performance of the system as a whole, and can +see where tradeoffs may have been made. This is the driving force +behind the publication restriction: any idiot can optimize certain +subsystems while completely destroying overall system performance. +If said idiot publishes *only* the numbers relating to the optimized +subsystem, then the costs of the optimization are hidden and readers +will mistakenly believe that the optimization is a good idea. By +including the publication restriction readers would be able to +detect that the optimization improved the subsystem performance +while damaging the rest of the system performance and would be able +to make an informed decision as to the merits of the optimization. + +Note that these restrictions only apply to *publications*. We +intend and encourage lmbench's use during design, development, +and tweaking of systems and applications. If you are tuning the +linux or BSD TCP stack, then by all means, use the networking +benchmarks to evaluate the performance effects of various +modifications; Swap results with other developers; use the +networking numbers in isolation. The restrictions only kick +in when you go to *publish* the results. If you sped up the +TCP stack by a factor of 2 and want to publish a paper with the +various tweaks or algorithms used to accomplish this goal, then +you can publish the networking numbers to show the improvement. +However, the paper *must* also include the rest of the standard +lmbench numbers to show how your tweaks may (or may not) have +impacted the rest of the system. The full set of numbers may +be included in an appendix, but they *must* be included in the +paper. + +This helps protect the community from adopting flawed technologies +based on incomplete data. It also helps protect the community from +misleading marketing which tries to sell systems based on partial +(skewed) lmbench performance results. + +We have seen many cases in the past where partial or misleading +benchmark results have caused great harm to the community, and +we want to ensure that our benchmark is not used to perpetrate +further harm and support false or misleading claims. + + diff --git a/meta-oe/licenses/OML b/meta-oe/licenses/OML new file mode 100644 index 0000000000..7e6bdfded7 --- /dev/null +++ b/meta-oe/licenses/OML @@ -0,0 +1,28 @@ +This FastCGI application library source and object code (the +"Software") and its documentation (the "Documentation") are +copyrighted by Open Market, Inc ("Open Market"). The following terms +apply to all files associated with the Software and Documentation +unless explicitly disclaimed in individual files. + +Open Market permits you to use, copy, modify, distribute, and license +this Software and the Documentation for any purpose, provided that +existing copyright notices are retained in all copies and that this +notice is included verbatim in any distributions. No written +agreement, license, or royalty fee is required for any of the +authorized uses. Modifications to this Software and Documentation may +be copyrighted by their authors and need not follow the licensing +terms described here. If modifications to this Software and +Documentation have new licensing terms, the new terms must be clearly +indicated on the first page of each file where they apply. + +OPEN MARKET MAKES NO EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE +SOFTWARE OR THE DOCUMENTATION, INCLUDING WITHOUT LIMITATION ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN +NO EVENT SHALL OPEN MARKET BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY +DAMAGES ARISING FROM OR RELATING TO THIS SOFTWARE OR THE +DOCUMENTATION, INCLUDING, WITHOUT LIMITATION, ANY INDIRECT, SPECIAL OR +CONSEQUENTIAL DAMAGES OR SIMILAR DAMAGES, INCLUDING LOST PROFITS OR +LOST DATA, EVEN IF OPEN MARKET HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS". +OPEN MARKET HAS NO LIABILITY IN CONTRACT, TORT, NEGLIGENCE OR +OTHERWISE ARISING OUT OF THIS SOFTWARE OR THE DOCUMENTATION. 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/recipes-benchmark/bonnie/bonnie++_1.03e.bb b/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb index f8a23d73b0..2c1217e347 100644 --- a/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb +++ b/meta-oe/recipes-benchmark/bonnie/bonnie++_1.03e.bb @@ -28,3 +28,5 @@ PACKAGES =+ "bonnie-scripts" FILES_${PN} = "${sbindir}" FILES_bonnie-scripts = "${bindir}" + +RDEPENDS_bonnie-scripts += "perl" diff --git a/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20120610.bb b/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb index 8ec5e95451..14e3fc4f38 100644 --- a/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20120610.bb +++ b/meta-oe/recipes-benchmark/cpuburn/cpuburn-neon_20140626.bb @@ -8,17 +8,18 @@ DL_DIR_append = "/${PN}-${PV}" COMPATIBLE_MACHINE = "(${@bb.utils.contains("TUNE_FEATURES", "neon", "${MACHINE}", "Invalid!", d)})" SRC_URI = "http://hardwarebug.org/files/burn.S;name=mru \ - http://github.com/downloads/ssvb/ssvb.github.com/ssvb-cpuburn-a8.S;name=ssvb" + https://raw.githubusercontent.com/ssvb/cpuburn-arm/dd5c5ba58d2b0b23cfab4a286f9d3f5510000f20/cpuburn-a8.S;name=ssvb" + SRC_URI[mru.md5sum] = "823abc72c2cd448e87df9bc5355a4456" SRC_URI[mru.sha256sum] = "01d9fc04f83740c513c25401dcc89c11b2a5a6013e70bfca42b7b02129f88cd2" -SRC_URI[ssvb.md5sum] = "0acc570d943c41c7f8602b9ff6fa111d" -SRC_URI[ssvb.sha256sum] = "bfddd3226a499ffdf71bb58c05ccdc6dac5bb2c2c3bdb10ac610ee0b60aac087" +SRC_URI[ssvb.md5sum] = "ba0ef2939a3b3b487523448c67544e94" +SRC_URI[ssvb.sha256sum] = "ce42ebdc71c876a33d9f7534355ef76cefa0d00ddb19ad69cf05a266c861d08d" S = "${WORKDIR}" do_compile() { ${CC} ${CFLAGS} ${LDFLAGS} burn.S -o burn - ${CC} ${CFLAGS} ${LDFLAGS} ssvb-cpuburn-a8.S -o burn-neona8 + ${CC} ${CFLAGS} ${LDFLAGS} cpuburn-a8.S -o burn-neona8 } do_install() { diff --git a/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb b/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb index 3ff0449bd6..708b6d2ea7 100644 --- a/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb +++ b/meta-oe/recipes-benchmark/glmark2/glmark2_2014.03.bb @@ -8,14 +8,17 @@ LICENSE = "GPLv3+ & SGIv1" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ file://COPYING.SGI;beginline=5;md5=269cdab4af6748677acce51d9aa13552" -DEPENDS = "libpng12 jpeg" +DEPENDS = "libpng12 jpeg virtual/libx11" + +# depends on virtual/libx11 +REQUIRED_DISTRO_FEATURES = "x11" SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz" SRC_URI[md5sum] = "739859cf57d4c8a23452c43e84f66e56" SRC_URI[sha256sum] = "bded41aaf918ce062d9b81e42cc5be943e6a80bc4ff9d046983b96102c3df6b5" -inherit waf pkgconfig +inherit waf pkgconfig distro_features_check PACKAGECONFIG ?= "gl gles2" 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 a2077162d0..20adc0db93 100644 --- a/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb +++ b/meta-oe/recipes-benchmark/iperf/iperf_2.0.5.bb @@ -4,8 +4,9 @@ SECTION = "console/network" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=e8478eae9f479e39bc34975193360298" -SRC_URI = " ${SOURCEFORGE_MIRROR}/iperf/${PN}-${PV}.tar.gz \ +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-Extend-arm32-support-to-include-BE-variants.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch new file mode 100644 index 0000000000..f6147cbf35 --- /dev/null +++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-Extend-arm32-support-to-include-BE-variants.patch @@ -0,0 +1,38 @@ +From 5af6dec8764375ca4f13bd9fed96af090228351a Mon Sep 17 00:00:00 2001 +From: "Gary S. Robertson" <gary.robertson@linaro.org> +Date: Mon, 11 Aug 2014 11:06:04 -0500 +Subject: [libhugetlbfs][PATCH] Extend arm32 support to include BE variants + +This patch applies the same technique used by Koen Kool in the following patch +which was accepted by the libhugetlbfs project: + +[0a4f6] Add aarch64_be_support 2014-03-31 10:52:37 + +It modifies the libhugetlbfs Makefile to mark all 32-bit arm architectures +as supported by the libhugetlbfs build. Builds and successful functional +tests have been performed for armv7a LE and BE runtime platforms. + +This patch replaces and renders obsolete the following patch: +arm32-support.patch submitted by: Chunrong Guo <B40290@freescale.com> + +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..ba79607 100644 +--- a/Makefile ++++ b/Makefile +@@ -59,7 +59,7 @@ ELF32 = elf32ppclinux + TMPLIB32 = lib + CPPFLAGS += -DPPC_NO_SEGMENTS + else +-ifeq ($(ARCH),armv7l) ++ifneq (,$(findstring arm,$(ARCH))) + CC32 = $(CC) + TMPLIB32 = lib + ELF32 += armelf_linux_eabi +-- +1.7.9.5 + 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 5645add6b8..4ce6a1901e 100644 --- a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb +++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb @@ -3,7 +3,11 @@ 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" SRCREV = "ea3f6b273f535aab38cefae30030774457bbbfe6" SRC_URI = "git://git.code.sf.net/p/libhugetlbfs/code \ @@ -12,16 +16,22 @@ 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" -COMPATIBLE_HOST = "(x86_64|powerpc|powerpc64|aarch64).*-linux*" +COMPATIBLE_HOST = "(x86_64|powerpc|powerpc64|aarch64|arm).*-linux*" LIBARGS = "LIB32=${baselib} LIB64=${baselib}" -EXTRA_OEMAKE = "'ARCH=${TARGET_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} V=1" +LIBHUGETLBFS_ARCH = "${TARGET_ARCH}" +LIBHUGETLBFS_ARCH_powerpc = "ppc" +LIBHUGETLBFS_ARCH_powerpc64 = "ppc64" +EXTRA_OEMAKE = "'ARCH=${LIBHUGETLBFS_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} BUILDTYPE=NATIVEONLY V=2" +PARALLEL_MAKE = "" CFLAGS += "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -g0" TARGET_CC_ARCH += "${LDFLAGS}" @@ -43,12 +53,15 @@ do_install() { install-tests } -PARALLEL_MAKE_pn-${PN} = "" PACKAGES =+ "${PN}-perl ${PN}-tests " +FILES_${PN} += "${libdir}/*.so" +FILES_${PN}-dev = "${includedir}" FILES_${PN}-dbg += "${libdir}/libhugetlbfs/tests/obj32/.debug ${libdir}/libhugetlbfs/tests/obj64/.debug" FILES_${PN}-perl = "${libdir}/perl" FILES_${PN}-tests += "${libdir}/libhugetlbfs/tests" +INSANE_SKIP_${PN} = "dev-so" + INHIBIT_PACKAGE_STRIP = "1" INHIBIT_PACKAGE_DEBUG_SPLIT = "1" diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch new file mode 100644 index 0000000000..549a114d13 --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch @@ -0,0 +1,206 @@ +lmbench: Can't proceed on some targets + +lmbench can't proceed on some targets. The memory check fails because the +memory latency of each page is longer then 10us, which is a time limit set +in the original memsize.c. + +The memory latency is very different on different targets due to the +hardware and current system load. The targets with slower memory +chips or heavy system load need much longer time to read or write +the memory. + +This fix changes the fixed time limit of 10us to a specific value calculated +from the runtime target. + +Also set an upper limit of memory size used for lmbench testing. The memory +check sometimes fails if the target has a large amount of memory, for +example more than 4G. + +Signed-off-by: Qingming Su <qingming.su@windriver.com> +Signed-off-by: Fupan Li <fupan.li@windriver.com> + +Add and reword above comments + +Upstream-status: inappropriate [ configuration ] + +Signed-off-by: Mark Hatle <mark.hatle@windriver.com> + +diff --git a/scripts/config-run b/scripts/config-run +index e1f7b6d..31b9256 100755 +--- a/scripts/config-run ++++ b/scripts/config-run +@@ -214,6 +214,12 @@ The bigger the range, the more accurate the results, but larger sizes + take somewhat longer to run the benchmark. + + EOF ++ ++# By default, use 512M memory as the upper limit for lmbench test ++if [ $MB -gt 512 ];then ++MB=512 ++fi ++ + echo $ECHON "MB [default $MB]: $ECHOC" + #read TMP + TMP="" +@@ -718,10 +724,10 @@ case $MAIL in + ;; + esac + +-INFO=`../scripts/info` ++INFO=`../scripts/hostinfo` + if [ $MAIL = yes ] + then if [ ! -f $INFO ] +- then cp ../scripts/info-template $INFO ++ then cp ../scripts/hostinfo-template $INFO + chmod +w $INFO + REUSE=no + else +@@ -765,7 +771,7 @@ EOF + then EDITOR=$TMP + fi + if [ X$EDITOR != "none" ] +- then $EDITOR `../scripts/info` ++ then $EDITOR `../scripts/hostinfo` + fi + fi + fi +diff --git a/src/Makefile b/src/Makefile +index d1f0dc6..5098998 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -49,7 +49,7 @@ TARGET=`../scripts/target` + BINDIR=../bin/$(OS) + CONFIG=../bin/$(OS)/`../scripts/config` + UTILS=../scripts/target ../scripts/os ../scripts/gnu-os ../scripts/compiler \ +- ../scripts/info ../scripts/info-template ../scripts/version \ ++ ../scripts/hostinfo ../scripts/hostinfo-template ../scripts/version \ + ../scripts/config ../scripts/config-run ../scripts/results \ + ../scripts/lmbench ../scripts/make ../scripts/build + INSTALL=cp +@@ -240,7 +240,7 @@ $O/getopt.o : getopt.c $(INCS) + $(COMPILE) -c getopt.c -o $O/getopt.o + + $(UTILS) : +- -cd ../scripts; make get ++ -cd ../scripts; cp info hostinfo; cp info-template hostinfo-template + + # Do not remove the next line, $(MAKE) depend needs it + # MAKEDEPEND follows +diff --git a/src/memsize.c b/src/memsize.c +index eb25a09..cf9fe0c 100644 +--- a/src/memsize.c ++++ b/src/memsize.c +@@ -14,9 +14,12 @@ char *id = "$Id$\n"; + + #define CHK(x) if ((x) == -1) { perror("x"); exit(1); } + +-#ifndef TOO_LONG +-#define TOO_LONG 10 /* usecs */ +-#endif ++//#ifndef TOO_LONG ++//#define TOO_LONG 10 /* usecs */ ++//#endif ++ ++#define MEMORY_SIZE_1MB (1024 * 1024) ++#define MEMORY_SIZE_8MB (8 * 1024 * 1024) + + int alarm_triggered = 0; + +@@ -35,10 +38,10 @@ main(int ac, char **av) + size_t delta; + + if (ac == 2) { +- max = size = bytes(av[1]) * 1024 * 1024; ++ max = size = bytes(av[1]) * MEMORY_SIZE_1MB; + } +- if (max < 1024 * 1024) { +- max = size = 1024 * 1024 * 1024; ++ if (max < MEMORY_SIZE_1MB) { ++ max = size = 1024 * MEMORY_SIZE_1MB; + } + /* + * Binary search down and then binary search up +@@ -48,7 +51,7 @@ main(int ac, char **av) + } + /* delta = size / (2 * 1024 * 1024) */ + for (delta = (size >> 21); delta > 0; delta >>= 1) { +- uint64 sz = (uint64)size + (uint64)delta * 1024 * 1024; ++ uint64 sz = (uint64)size + (uint64)delta * MEMORY_SIZE_1MB; + size_t check = sz; + if (max < sz) continue; + if (check < sz || !test_malloc(sz)) break; +@@ -66,41 +69,58 @@ timeit(char *where, size_t size) + { + int sum = 0; + size_t n; +- size_t s_prev; ++ size_t s_prev = MEMORY_SIZE_8MB; + size_t range; +- size_t incr = 1024 * 1024; ++ size_t incr = MEMORY_SIZE_1MB; + size_t pagesize = getpagesize(); +- unsigned long long s; +- +- if (size < 1024*1024 - 16*1024) { +- fprintf(stderr, "Bad size\n"); +- return; +- } ++ size_t time_each_page = 0; ++ size_t too_long = 0; ++ unsigned long long s; ++ ++ if (pagesize < MEMORY_SIZE_1MB) ++ range = MEMORY_SIZE_1MB; ++ else ++ range = MEMORY_SIZE_8MB; ++ ++ incr = MEMORY_SIZE_1MB; ++ ++ if (size < range) { ++ fprintf(stderr, "Bad size\n"); ++ return; ++ } ++ ++ //Touch range of memory, get the average time (usec) of operating each memory page on this system ++ start(0); ++ touchRange(where, range, pagesize); ++ sum = stop(0, 0); ++ ++ if ((time_each_page = sum * pagesize / range) < 1) ++ time_each_page = 1; ++ //Set the uper limit of time spending on one page ++ too_long = 10 * time_each_page; + +- range = 1024 * 1024; +- incr = 1024 * 1024; +- touchRange(where, range, pagesize); + for (range += incr; range <= size; range += incr) { + n = range / pagesize; +- set_alarm(n * TOO_LONG); ++ set_alarm(n * too_long); + touchRange(where + range - incr, incr, pagesize); + clear_alarm(); +- set_alarm(n * TOO_LONG); ++ set_alarm(n * too_long); + start(0); + touchRange(where, range, pagesize); + sum = stop(0, 0); + clear_alarm(); +- if ((sum / n) > TOO_LONG || alarm_triggered) { ++ if ((sum / n) > too_long || alarm_triggered) { + size = range - incr; ++ fprintf(stderr, "Error! Memory testing timeout! Touch one page of memory needs more than %d (usecs)\n ", too_long); + break; + } +- for (s = 8 * 1024 * 1024; s <= range; s_prev = s, s *= 2) ++ for (s = s_prev; s <= range; s_prev = s, s *= 2) + if (s < s_prev) break; + incr = s / 8; + if (range < size && size < range + incr) { + incr = size - range; + } +- fprintf(stderr, "%dMB OK\r", (int)(range/(1024*1024))); ++ fprintf(stderr, "%dMB OK\r", (int)(range/MEMORY_SIZE_1MB)); + } + fprintf(stderr, "\n"); + printf("%d\n", (int)(size>>20)); diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch new file mode 100644 index 0000000000..cda2f0c6d1 --- /dev/null +++ b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch @@ -0,0 +1,61 @@ +lmbench: Fix "make html" graph failure + +The html-list perl script cannot parse the first line of the result +files about the lmbench version. + +Additional fixes are to make the result's html pages easier to understand. + +Signed-off-by: Lin Yu <lin.yu@windriver.com> +Signed-off-by: Fupan Li <fupan.li@windriver.com> + +Reworded patch description. + +Upstream-status: inappropriate [ configuration ] + +Signed-off-by: Mark Hatle <mark.hatle@windriver.com> + +diff --git a/results/Makefile b/results/Makefile +index 0935376..1ef9a15 100644 +--- a/results/Makefile ++++ b/results/Makefile +@@ -186,6 +186,7 @@ paper: + # scratch makes you want a Ghz machine. + html: dirs + -make clean ++ make ps + #$(SCRIPTS)bghtml $(BG) + $(SCRIPTS)html-list $(LIST) + $(MK) LIST="$(LIST)" summary > HTML/summary.out 2> HTML/summary.errs +diff --git a/scripts/html-list b/scripts/html-list +index 9850461..6383115 100755 +--- a/scripts/html-list ++++ b/scripts/html-list +@@ -14,7 +14,7 @@ open(H, ">HTML/specific.html"); + print H <<EOF; + <title>LMBENCH System Results</title> + <h1>LMBENCH System Results</h1> +-<h2><a href=summary>Summary of results</a></h2> ++<h2><a href=summary.out>Summary of results</a></h2> + <hr> + EOF + +@@ -47,7 +47,7 @@ foreach $os (@os) { + open(F, $file); + $_ = <F>; + close(F); +- next unless /lmbench1.[01]/; ++ next unless /lmbench[0-9]+.[01]/; + chop; + $title = $_; + #s/.lmbench1.? results for //; +@@ -103,10 +103,7 @@ EOF + if $i < $#os; + print S<<EOF; + <h4>$title</h4> +-<a href=../$doc{$what}>Information on this benchmark</a> (Not up to date) + <p><IMG SRC="${what}${scale}$N.gif">\n<p> +-<a href=../lmbench.html> +-<img align=middle src="../gifs/arrows/b_arrow.gif">LMBENCH table of contents</a> + <a href=specific.html> + <img align=middle src=\"../gifs/graph.gif\">System results table of contents</a> + <p> diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb index 41db15000e..24cd0b0eaf 100644 --- a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb +++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb @@ -1,7 +1,7 @@ SUMMARY = "Tools for performance analysis" HOMEPAGE = "http://lmbench.sourceforge.net/" SECTION = "console/utils" -LICENSE = "GPLv2" +LICENSE = "GPLv2 & GPL-2.0-with-lmbench-restriction" LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ file://COPYING-2;md5=8e9aee2ccc75d61d107e43794a25cdf9" @@ -14,8 +14,10 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \ file://rename-line-binary.patch \ file://update-results-script.patch \ file://obey-ranlib.patch \ - file://update-config-script.patch \ - file://use-base_libdir-instead-of-hardcoded-lib.patch \ + file://update-config-script.patch \ + file://use-base_libdir-instead-of-hardcoded-lib.patch \ + file://lmbench_result_html_report.patch \ + file://fix-lmbench-memory-check-failure.patch \ " SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf" SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551" @@ -50,12 +52,12 @@ do_install () { > ${D}${sysconfdir}/tmpfiles.d/lmbench.conf fi - oe_runmake 'BASE=${D}${prefix}' \ + oe_runmake BASE="${D}${prefix}" MANDIR="${D}${mandir}" \ -C src install mv ${D}${bindir}/line ${D}${bindir}/lm_line install -m 0755 ${WORKDIR}/lmbench-run ${D}${bindir}/ - sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${PN},;' \ - -e 's,^BINDIR=.*$,BINDIR=${libdir}/${PN},;' \ + sed -i -e 's,^SHAREDIR=.*$,SHAREDIR=${datadir}/${BPN},;' \ + -e 's,^BINDIR=.*$,BINDIR=${libdir}/${BPN},;' \ -e 's,^CONFIG=.*$,CONFIG=`$SCRIPTSDIR/config`,;' \ ${D}${bindir}/lmbench-run install -m 0755 ${S}/scripts/lmbench ${D}${bindir} @@ -72,5 +74,5 @@ pkg_postinst_${PN} () { fi } -RDEPENDS_${PN} = "debianutils" +RDEPENDS_${PN} = "perl" FILES_${PN} += "${datadir}/lmbench ${libdir}/lmbench" diff --git a/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch new file mode 100644 index 0000000000..abdb4344bd --- /dev/null +++ b/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/Makefile-add-more-dependencies-to-pointer.h.patch @@ -0,0 +1,23 @@ +Makefile: add more dependencies to pointer.h + +Upstream-Status: Inappropriate [no upstream] + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 915866d..edd9ea2 100644 +--- a/Makefile ++++ b/Makefile +@@ -122,7 +122,7 @@ emfloat.o: emfloat.h emfloat.c nmglobal.h pointer.h Makefile + pointer.h: Makefile + touch pointer.h ; + +-misc.o: misc.h misc.c Makefile ++misc.o: misc.h misc.c nmglobal.h pointer.h Makefile + $(CC) $(MACHINE) $(DEFINES) $(CFLAGS)\ + -c misc.c + + 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 37f3e46a7e..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,12 +2,13 @@ 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" -SRC_URI = "http://www.tux.org/~mayer/linux/${PN}-${PV}.tar.gz \ - file://nbench_32bits.patch" +SRC_URI = "http://www.tux.org/~mayer/linux/${BP}.tar.gz \ + file://nbench_32bits.patch \ + file://Makefile-add-more-dependencies-to-pointer.h.patch" SRC_URI[md5sum] = "285dfab361080759d477ea1fe7d3093a" SRC_URI[sha256sum] = "723dd073f80e9969639eb577d2af4b540fc29716b6eafdac488d8f5aed9101ac" diff --git a/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb b/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb new file mode 100644 index 0000000000..ef9f7352d5 --- /dev/null +++ b/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_5.2.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "Phoronix Test Suite" +DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \ +and quantitative benchmarks in a clean, reproducible, and easy-to-use manner." +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +SECTION = "console/tests" + +SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz" +SRC_URI[md5sum] = "51e52d883710dc516c5494bd1c377219" +SRC_URI[sha256sum] = "1186f460691e2fe7a07df5edb8d8ed1ac0c65327512e646da2b2e3a60dda6cd9" +S = "${WORKDIR}/phoronix-test-suite" + +do_install() { + DESTDIR=${D} ./install-sh ${exec_prefix} +} + +RDEPENDS_${PN} = "php-cli" +FILES_${PN} += " \ + ${datadir}/phoronix-test-suite \ + ${datadir}/appdata/phoronix-test-suite.appdata.xml \ + ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \ + ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \ + ${datadir}/mime/packages/openbenchmarking-mime.xml \ +" diff --git a/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb b/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb index af6c53c377..3267de2a05 100644 --- a/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb +++ b/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" PR = "r1" SRC_URI = "\ - http://sourceforge.net/projects/tiobench/files/tiobench/${PV}/${P}.tar.gz \ + http://sourceforge.net/projects/tiobench/files/tiobench/${PV}/${BP}.tar.gz \ file://tiobench-makefile.patch \ file://avoid-glibc-clashes.patch \ " diff --git a/meta-oe/recipes-connectivity/daq/daq_2.0.2.bb b/meta-oe/recipes-connectivity/daq/daq_2.0.2.bb index 4e85194362..4cf3f1ceb5 100644 --- a/meta-oe/recipes-connectivity/daq/daq_2.0.2.bb +++ b/meta-oe/recipes-connectivity/daq/daq_2.0.2.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f9ce51a65dd738dc1ae631d8b21c40e0" PARALLEL_MAKE = "" -DEPENDS = "libpcap libpcre" +DEPENDS = "libpcap libpcre libdnet" SRC_URI = "http://fossies.org/linux/misc/daq-${PV}.tar.gz \ file://disable-run-test-program-while-cross-compiling.patch " @@ -13,7 +13,11 @@ SRC_URI = "http://fossies.org/linux/misc/daq-${PV}.tar.gz \ # these 2 create undeclared dependency on libdnet and libnetfilter-queue from meta-networking # this error from test-dependencies script: # daq/daq/latest lost dependency on libdnet libmnl libnetfilter-queue libnfnetlink -EXTRA_OECONF += "--disable-nfq-module --disable-ipq-module" +# +# never look to /usr/local lib while cross compiling + +EXTRA_OECONF = "--disable-nfq-module --disable-ipq-module --includedir=${includedir} \ + --with-libpcap-includes=${STAGING_INCDIR} --with-dnet-includes=${STAGING_LIBDIR}" SRC_URI[md5sum] = "865bf9b750a2a2ca632591a3c70b0ea0" SRC_URI[sha256sum] = "d65d1e67c4994e02c3142c49a648642e780b7e3d942b4a51f605309beac269a8" diff --git a/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb b/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb index 714aa50bd9..0dac7cba33 100644 --- a/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb +++ b/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb @@ -1,11 +1,11 @@ SUMMARY = "GNU All Mobile Managment Utilities" SECTION = "console/network" -DEPENDS = "cmake-native virtual/libiconv libdbi mysql5" +DEPENDS = "cmake-native virtual/libiconv libdbi mysql5 glib-2.0 udev" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf" HOMEPAGE = "http://www.gammu.org/" -SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}/${PV}/${PN}-${PV}.tar.bz2 \ +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}.tar.bz2 \ file://gammurc \ file://gammu-smsdrc \ " 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 356d5bdfe3..4826452866 100644 --- a/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb +++ b/meta-oe/recipes-connectivity/gnokii/gnokii_0.6.31.bb @@ -9,6 +9,11 @@ DEPENDS = "glib-2.0" X11DEPENDS = " libxpm gtk+" PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" +PACKAGECONFIG[bluez] = "--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" +PACKAGECONFIG[usb] = "--enable-libusb,--disable-libusb,virtual/libusb0" PACKAGECONFIG[x11] = ",--without-x,${X11DEPENDS}" inherit autotools pkgconfig diff --git a/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/init b/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/init deleted file mode 100644 index 79f74b681e..0000000000 --- a/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/init +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh -DAEMON=/usr/sbin/hostapd -NAME=hostapd -DESC="HOSTAP Daemon" -ARGS="/etc/hostapd.conf -B" - -test -f $DAEMON || exit 0 - -set -e - -case "$1" in - start) - echo -n "Starting $DESC: " - start-stop-daemon -S -x $DAEMON -- $ARGS - echo "$NAME." - ;; - stop) - echo -n "Stopping $DESC: " - start-stop-daemon -K -x $DAEMON - echo "$NAME." - ;; - restart) - $0 stop - $0 start - ;; - reload) - echo -n "Reloading $DESC: " - killall -HUP $(basename ${DAEMON}) - echo "$NAME." - ;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 - ;; -esac - -exit 0 diff --git a/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/defconfig b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/defconfig index 2789640170..2789640170 100644 --- a/meta-oe/recipes-connectivity/hostapd/hostap-daemon-1.0/defconfig +++ b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/defconfig diff --git a/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/hostapd.service b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/hostapd.service new file mode 100644 index 0000000000..151c0504fc --- /dev/null +++ b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/hostapd.service @@ -0,0 +1,11 @@ +[Unit] +Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator +After=network.target + +[Service] +Type=forking +PIDFile=/run/hostapd.pid +ExecStart=@SBINDIR@/hostapd @SYSCONFDIR@/hostapd.conf -P /run/hostapd.pid -B + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init new file mode 100644 index 0000000000..8ba4e07940 --- /dev/null +++ b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init @@ -0,0 +1,58 @@ +#!/bin/sh +DAEMON=/usr/sbin/hostapd +NAME=hostapd +DESC="HOSTAP Daemon" +ARGS="/etc/hostapd.conf -B" + +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: " + start-stop-daemon -S -x $DAEMON -- $ARGS + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon -K --oknodo -x $DAEMON + echo "$NAME." + ;; + restart) + $0 stop + 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|status}" + exit 1 + ;; +esac + +exit 0 diff --git a/meta-oe/recipes-connectivity/hostapd/hostap-daemon_1.0.bb b/meta-oe/recipes-connectivity/hostapd/hostapd_2.2.bb index 1699103bfc..b75f2b9a7e 100644 --- a/meta-oe/recipes-connectivity/hostapd/hostap-daemon_1.0.bb +++ b/meta-oe/recipes-connectivity/hostapd/hostapd_2.2.bb @@ -1,13 +1,15 @@ HOMEPAGE = "http://hostap.epitest.fi" SECTION = "kernel/userland" LICENSE = "GPLv2 | BSD" -LIC_FILES_CHKSUM = "file://README;md5=4d709ce0f9c84b87d148e16731f647e1" +LIC_FILES_CHKSUM = "file://README;md5=0854a4da34ac3990770794d771fac7fd" DEPENDS = "libnl openssl" SUMMARY = "User space daemon for extended IEEE 802.11 management" -inherit update-rc.d +inherit update-rc.d systemd INITSCRIPT_NAME = "hostapd" +SYSTEMD_SERVICE_${PN} = "hostapd.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" DEFAULT_PREFERENCE = "-1" @@ -15,6 +17,7 @@ SRC_URI = " \ http://hostap.epitest.fi/releases/hostapd-${PV}.tar.gz \ file://defconfig \ file://init \ + file://hostapd.service \ " S = "${WORKDIR}/hostapd-${PV}/hostapd" @@ -30,14 +33,16 @@ do_compile() { } do_install() { - install -d ${D}${sbindir} ${D}${sysconfdir}/init.d + install -d ${D}${sbindir} ${D}${sysconfdir}/init.d ${D}${systemd_unitdir}/system/ install -m 0644 ${S}/hostapd.conf ${D}${sysconfdir} install -m 0755 ${S}/hostapd ${D}${sbindir} install -m 0755 ${S}/hostapd_cli ${D}${sbindir} install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hostapd + install -m 0644 ${WORKDIR}/hostapd.service ${D}${systemd_unitdir}/system/ + sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/hostapd.service } CONFFILES_${PN} += "${sysconfdir}/hostapd.conf" -SRC_URI[md5sum] = "236247a7bbd4f60d5fa3e99849d1ffc9" -SRC_URI[sha256sum] = "002e9dcb7e46cf82b5900a2fcf92b30fc8cdfd32a72d7fd4488588f1c013dfcc" +SRC_URI[md5sum] = "23c1f78a693c3288802d516adb7fd289" +SRC_URI[sha256sum] = "f15b6bcb434378860ea5b88dffed7f54d8cb71fff2146de0f006977a5e25a882" diff --git a/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb b/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb index 7880a06f0b..54d881d1c9 100644 --- a/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb +++ b/meta-oe/recipes-connectivity/irssi/irssi_0.8.16-rc1.bb @@ -15,7 +15,8 @@ SRC_URI[sha256sum] = "bb6c0125db30b697f80837941c17372b7484c64d57a6920b8bfa7ee3de S = "${WORKDIR}/irssi-${REALPV}" -inherit autotools - -EXTRA_OECONF = "--enable-ssl" +inherit autotools pkgconfig +EXTRA_OECONF = "--enable-ssl \ + --with-ncurses=${STAGING_EXECPREFIXDIR} \ +" diff --git a/meta-oe/recipes-connectivity/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch b/meta-oe/recipes-connectivity/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch index 97c00cd2d2..e64dd0ad91 100644 --- a/meta-oe/recipes-connectivity/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch +++ b/meta-oe/recipes-connectivity/iw/iw/0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch @@ -9,18 +9,18 @@ Upstream-Status: Unknown Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> --- - version.sh | 16 +--------------- - 1 files changed, 1 insertions(+), 15 deletions(-) + version.sh | 16 +--------------- + 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/version.sh b/version.sh -index 3fb9f6d..e4a56cb 100755 +index 11d124b..5d423c4 100755 --- a/version.sh +++ b/version.sh @@ -3,21 +3,7 @@ - VERSION="3.2" + VERSION="3.15" OUT="$1" --if head=`git rev-parse --verify HEAD 2>/dev/null`; then +-if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null`; then - git update-index --refresh --unmerged > /dev/null - descr=$(git describe) - @@ -41,4 +41,3 @@ index 3fb9f6d..e4a56cb 100755 echo "const char iw_version[] = \"$v\";" >> "$OUT" -- 1.7.7.3 - diff --git a/meta-oe/recipes-connectivity/iw/iw_3.11.bb b/meta-oe/recipes-connectivity/iw/iw_3.15.bb index d72a1401c0..7800e905ee 100644 --- a/meta-oe/recipes-connectivity/iw/iw_3.11.bb +++ b/meta-oe/recipes-connectivity/iw/iw_3.15.bb @@ -9,12 +9,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=878618a5c4af25e9b93ef0be1a93f774" DEPENDS = "libnl pkgconfig" -SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.bz2 \ +SRC_URI = "http://www.kernel.org/pub/software/network/iw/${BP}.tar.gz \ file://0001-iw-version.sh-don-t-use-git-describe-for-versioning.patch \ " -SRC_URI[md5sum] = "e633cf7c875c7d8b547abafc0d95f6c4" -SRC_URI[sha256sum] = "09348d4f7371fad00c07cfb67b9e34f24403cbd9361f9634cfb4dff9cdd40139" +SRC_URI[md5sum] = "ebb16e6c29b075e3a58b99552583fd79" +SRC_URI[sha256sum] = "1223ebab68dc337f16ed80c45af37b78f112ea091e919eafe96a4cbd63942081" EXTRA_OEMAKE = "" 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/crosscompile_nm.patch b/meta-oe/recipes-connectivity/krb5/krb5/crosscompile_nm.patch new file mode 100644 index 0000000000..d3e6937515 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/crosscompile_nm.patch @@ -0,0 +1,29 @@ +Modifies export-check.pl to use look for $ENV{'NM'} before +defaulting to using 'nm' + +Upstream-Status: Pending + +Signed-off-by: Amy Fong <amy.fong@windriver.com> +--- + + export-check.pl | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +Index: src/util/export-check.pl +=================================================================== +--- src.orig/util/export-check.pl ++++ src/util/export-check.pl +@@ -38,7 +38,12 @@ + my($exfile, $libfile) = @ARGV; + + @missing = (); +-open NM, "nm -Dg --defined-only $libfile |" || die "can't run nm on $libfile: $!"; ++if (defined($ENV{'NM'})) { ++ $nm = $ENV{'NM'}; ++} else { ++ $nm = "nm"; ++} ++open NM, "$nm -Dg --defined-only $libfile |" || die "can't run nm on $libfile: $!"; + open EXPORT, "< $exfile" || die "can't read $exfile: $!"; + + @export = <EXPORT>; diff --git a/meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch b/meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch new file mode 100644 index 0000000000..f0182ee5db --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/debian-suppress-usr-lib-in-krb5-config.patch @@ -0,0 +1,48 @@ +Subject: [PATCH] debian: suppress /usr/lib in krb5-config + +Upstream-Status: Pending + +Handel multi-arch suppressions + +The patch is from debian. + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + src/build-tools/krb5-config.in | 14 +++++++++----- + 1 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/src/build-tools/krb5-config.in b/src/build-tools/krb5-config.in +index f6184da..637bad7 100755 +--- a/src/build-tools/krb5-config.in ++++ b/src/build-tools/krb5-config.in +@@ -138,6 +138,7 @@ if test -n "$do_help"; then + echo " [--defktname] Show built-in default keytab name" + echo " [--defcktname] Show built-in default client keytab name" + echo " [--cflags] Compile time CFLAGS" ++ echo " [--deps] Include dependent libraries" + echo " [--libs] List libraries required to link [LIBRARIES]" + echo "Libraries:" + echo " krb5 Kerberos 5 application" +@@ -209,11 +210,14 @@ fi + + if test -n "$do_libs"; then + # Assumes /usr/lib is the standard library directory everywhere... +- if test "$libdir" = /usr/lib; then +- libdirarg= +- else +- libdirarg="-L$libdir" +- fi ++ case $libdir in ++ /usr/lib*) ++ libdirarg= ++ ;; ++ *) ++ libdirarg="-L$libdir" ++ ;; ++ esac + # Ugly gross hack for our build tree + lib_flags=`echo $CC_LINK | sed -e 's/\$(CC)//' \ + -e 's/\$(PURE)//' \ +-- +1.7.1 + diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server new file mode 100644 index 0000000000..2835929139 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-admin-server @@ -0,0 +1,6 @@ +# Automatically generated. If you change anything in this file other than the +# values of RUN_KADMIND or DAEMON_ARGS, first run dpkg-reconfigure +# krb5-admin-server and disable managing the kadmin configuration with +# debconf. Otherwise, changes will be overwritten. + +RUN_KADMIND=true diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc new file mode 100644 index 0000000000..310bfcf8ad --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/default/krb5-kdc @@ -0,0 +1,5 @@ +# Automatically generated. Only the value of DAEMON_ARGS will be preserved. +# If you change anything in this file other than DAEMON_ARGS, first run +# dpkg-reconfigure krb5-kdc and disable managing the KDC configuration with +# debconf. Otherwise, changes will be overwritten. + diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server new file mode 100755 index 0000000000..79238d4f40 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-admin-server @@ -0,0 +1,140 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: krb5-admin-server +# Required-Start: $local_fs $remote_fs $network $syslog +# Required-Stop: $local_fs $remote_fs $network $syslog +# Should-Start: krb5-kdc +# Should-Stop: krb5-kdc +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: MIT Kerberos KDC administrative daemon +# Description: Starts, stops, or restarts the MIT Kerberos KDC +# administrative daemon (kadmind). This daemon answers +# requests from kadmin clients and allows administrators +# to create, delete, and modify principals in the KDC +# database. +### END INIT INFO + +# Author: Sam Hartman <hartmans@mit.edu> +# Author: Russ Allbery <rra@debian.org> +# +# Based on the /etc/init.d/skeleton template as found in initscripts version +# 2.86.ds1-15. + +# June, 2012: Adopted for yocto <amy.fong@windriver.com> + +PATH=/usr/sbin:/usr/bin:/sbin:/bin +DESC="Kerberos administrative servers" +NAME=kadmind +DAEMON=/usr/sbin/$NAME +DAEMON_ARGS="" +SCRIPTNAME=/etc/init.d/krb5-admin-server +DEFAULT=/etc/default/krb5-admin-server + +# Exit if the package is not installed. +[ -x "$DAEMON" ] || exit 0 + +# Read configuration if it is present. +[ -r "$DEFAULT" ] && . "$DEFAULT" + +# Get the setting of VERBOSE and other rcS variables. +[ -f /etc/default/rcS ] && . /etc/default/rcS + +. /etc/init.d/functions + +ADMIN_SERVER_LOG=/var/log/kadmind.log +[ -f $ADMIN_SERVER_LOG ] && (test ! -x /sbin/restorecon \ + || /sbin/restorecon -F $ADMIN_SERVER_LOG) + +# Return +# 0 if daemon has been started +# 1 if daemon was already running +# 2 if daemon could not be started +do_start() +{ + start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \ + > /dev/null || return 1 + start-stop-daemon --start --quiet --startas $DAEMON --name $NAME \ + -- $DAEMON_ARGS || return 2 +} + +# Return +# 0 if daemon has been stopped +# 1 if daemon was already stopped +# 2 if daemon could not be stopped +# other if a failure occurred +do_stop() +{ + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + return "$RETVAL" +} + + +case "$1" in + start) + if [ "$RUN_KADMIND" = false ] ; then + if [ "$VERBOSE" != no ] ; then + echo "Not starting $DESC per configuration" + fi + exit 0 + fi + [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && echo 0 ;; + 2) [ "$VERBOSE" != no ] && echo 1 ;; + esac + ;; + + stop) + [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && echo 0 ;; + 2) [ "$VERBOSE" != no ] && echo 1 ;; + esac + ;; + + restart|force-reload) + if [ "$RUN_KADMIND" = false ] ; then + if [ "$VERBOSE" != no ] ; then + echo "Not restarting $DESC per configuration" + fi + exit 0 + fi + echo "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) [ "$VERBOSE" != no ] && echo 0 ;; + *) [ "$VERBOSE" != no ] && echo 1 ;; + esac + ;; + *) + echo 1 + ;; + esac + ;; + + status) + pidofproc "$DAEMON" >/dev/null + status=$? + if [ $status -eq 0 ]; then + echo "$NAME is running." + else + echo "$NAME is not running." + fi + exit $status + ;; + + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2 + exit 3 + ;; +esac + +: diff --git a/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc new file mode 100755 index 0000000000..865d1b9703 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5/etc/init.d/krb5-kdc @@ -0,0 +1,133 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: krb5-kdc +# Required-Start: $local_fs $remote_fs $network $syslog +# Required-Stop: $local_fs $remote_fs $network $syslog +# X-Start-Before: $x-display-manager +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: MIT Kerberos KDC +# Description: Starts, stops, or restarts the MIT Kerberos KDC. This +# daemon responds to ticket requests from Kerberos +# clients. +### END INIT INFO + +# Author: Sam Hartman <hartmans@mit.edu> +# Author: Russ Allbery <rra@debian.org> +# +# Based on the /etc/init.d/skeleton template as found in initscripts version +# 2.86.ds1-15. + +# June, 2012: Adopted for yocto <amy.fong@windriver.com> + +PATH=/usr/sbin:/usr/bin:/sbin:/bin +DESC="Kerberos KDC" +NAME=krb5kdc +DAEMON=/usr/sbin/$NAME +DAEMON_ARGS="" +SCRIPTNAME=/etc/init.d/krb5-kdc + +# Exit if the package is not installed. +[ -x "$DAEMON" ] || exit 0 + +# Read configuration if it is present. +[ -r /etc/default/krb5-kdc ] && . /etc/default/krb5-kdc + +# Get the setting of VERBOSE and other rcS variables. +[ -f /etc/default/rcS ] && . /etc/default/rcS + +. /etc/init.d/functions + +# Return +# 0 if daemon has been started +# 1 if daemon was already running +# 2 if daemon could not be started +do_start_kdc() +{ + start-stop-daemon --start --quiet --startas $DAEMON --name $NAME --test \ + > /dev/null || return 1 + start-stop-daemon --start --quiet --startas $DAEMON --name $NAME \ + -- $DAEMON_ARGS || return 2 +} + + +# Return +# 0 if daemon has been stopped +# 1 if daemon was already stopped +# 2 if daemon could not be stopped +# other if a failure occurred +do_stop_kdc() +{ + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + return "$RETVAL" +} + + +case "$1" in + start) + [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME" + do_start_kdc + case "$?" in + 0|1) + [ "$VERBOSE" != no ] && echo 0 + ;; + 2) + [ "$VERBOSE" != no ] && echo 1 + ;; + esac + ;; + + stop) + [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME" + do_stop_kdc + case "$?" in + 0|1) + [ "$VERBOSE" != no ] && echo "krb524d" + ;; + 2) + [ "$VERBOSE" != no ] && echo 1 + ;; + esac + ;; + + restart|force-reload) + echo "Restarting $DESC" "$NAME" + do_stop_kdc + case "$?" in + 0|1) + do_start_kdc + case "$?" in + 0) + echo 0 + ;; + 1|2) + echo 1 + ;; + esac + ;; + *) + echo 1 + ;; + esac + ;; + + status) + pidofproc "$DAEMON" >/dev/null + status=$? + if [ $status -eq 0 ]; then + echo "$NAME is running." + else + echo "$NAME is not running." + fi + exit $status + ;; + + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2 + exit 3 + ;; +esac + +: diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb deleted file mode 100644 index 5d255278dd..0000000000 --- a/meta-oe/recipes-connectivity/krb5/krb5_1.11.3.bb +++ /dev/null @@ -1,50 +0,0 @@ -SUMMARY = "A network authentication protocol" -HOMEPAGE = "http://web.mit.edu/Kerberos/" -SECTION = "console/network" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=1d9c8180d79838c02eb5eb1a3b184eb9" -DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native" - -inherit autotools binconfig perlnative - -SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" -SRC_URI = "http://web.mit.edu/kerberos/dist/${PN}/${SHRT_VER}/${P}-signed.tar \ - file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \ -" -SRC_URI[md5sum] = "56f0ae274b285320b8a597cb89442449" -SRC_URI[sha256sum] = "9abd94bb94a70996da0f8d90408957154bb543271b097e86c63eb33e5f5751b5" - -S = "${WORKDIR}/${P}/src/" - -PACKAGECONFIG ??= "openssl" -PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" -PACKAGECONFIG[openssl] = "--with-pkinit-crypto-impl=openssl,,openssl" -PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils" - -EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath" -CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \ - ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \ - ac_cv_file__etc_TIMEZONE=no" - -CFLAGS_append += "-DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et" -LDFLAGS_append += "-lpthread" - -FILES_${PN}-doc += "${datadir}/examples" -FILES_${PN} += "${datadir}/gnats" -FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug" - -krb5_do_unpack() { - # ${P}-signed.tar contains ${P}.tar.gz.asc and ${P}.tar.gz - tar xzf ${WORKDIR}/${P}.tar.gz -C ${WORKDIR}/ -} - -python do_unpack() { - bb.build.exec_func('base_do_unpack', d) - bb.build.exec_func('krb5_do_unpack', d) -} - -do_configure() { - gnu-configize --force - autoreconf - oe_runconf -} diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb new file mode 100644 index 0000000000..c492496b64 --- /dev/null +++ b/meta-oe/recipes-connectivity/krb5/krb5_1.12.2.bb @@ -0,0 +1,80 @@ +SUMMARY = "A network authentication protocol" +DESCRIPTION = "Kerberos is a system for authenticating users and services on a network. \ + Kerberos is a trusted third-party service. That means that there is a \ + third party (the Kerberos server) that is trusted by all the entities on \ + the network (users and services, usually called "principals"). \ + . \ + This is the MIT reference implementation of Kerberos V5. \ + . \ + This package contains the Kerberos key server (KDC). The KDC manages all \ + authentication credentials for a Kerberos realm, holds the master keys \ + for the realm, and responds to authentication requests. This package \ + should be installed on both master and slave KDCs." + +HOMEPAGE = "http://web.mit.edu/Kerberos/" +SECTION = "console/network" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=450c80c6258ce03387bd09df37638ebc" +DEPENDS = "ncurses util-linux e2fsprogs e2fsprogs-native" + +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 \ + file://etc/init.d/krb5-admin-server \ + file://etc/default/krb5-kdc \ + file://etc/default/krb5-admin-server \ +" +SRC_URI[md5sum] = "357f1312b7720a0a591e22db0f7829fe" +SRC_URI[sha256sum] = "09bd180107b5c2b3b7378c57c023fb02a103d4cac39d6f2dd600275d7a4f3744" + +S = "${WORKDIR}/${BP}/src/" + +PACKAGECONFIG ??= "openssl" +PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" +PACKAGECONFIG[openssl] = "--with-pkinit-crypto-impl=openssl,,openssl" +PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils" +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" +PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" + +EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath" +CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \ + ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \ + ac_cv_file__etc_TIMEZONE=no" + +CFLAGS_append += "-DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et" +LDFLAGS_append += "-lpthread" + +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}/${BP}.tar.gz -C ${WORKDIR}/ +} + +python do_unpack() { + bb.build.exec_func('base_do_unpack', d) + bb.build.exec_func('krb5_do_unpack', d) +} + +do_configure() { + gnu-configize --force + autoreconf + oe_runconf +} + +do_install_append() { + mkdir -p ${D}/etc/init.d ${D}/etc/default + install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/etc/init.d + install -m 0644 ${WORKDIR}/etc/default/* ${D}/etc/default +} 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/libmtp/libmtp-1.1.5/glibc-2.20.patch b/meta-oe/recipes-connectivity/libmtp/libmtp-1.1.5/glibc-2.20.patch new file mode 100644 index 0000000000..38b45c2a93 --- /dev/null +++ b/meta-oe/recipes-connectivity/libmtp/libmtp-1.1.5/glibc-2.20.patch @@ -0,0 +1,36 @@ + +Include config.h so we get the defines available for subsequent +include files + +Fixes errors like + +| In file included from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/beaglebone/usr/include/string.h:634:0, +| from /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/libmtp/1.1.5-r0/libmtp-1.1.5/src/util.c:36: +| /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/libmtp/1.1.5-r0/libmtp-1.1.5/src/util.h:29:7: error: expected identifier or '(' before '__extension +__' +| char *strndup (const char *s, size_t n); +| ^ +| /home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/libmtp/1.1.5-r0/libmtp-1.1.5/src/util.c:111:7: error: expected identifier or '(' before '__extensio +n__' +| char *strndup (const char *s, size_t n) +| ^ +| make[2]: *** [libmtp_la-util.lo] Error 1 + + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending + +Index: libmtp-1.1.5/src/util.c +=================================================================== +--- libmtp-1.1.5.orig/src/util.c 2011-01-10 05:37:21.000000000 -0800 ++++ libmtp-1.1.5/src/util.c 2014-09-03 23:50:44.703563888 -0700 +@@ -22,6 +22,8 @@ + * Boston, MA 02111-1307, USA. + */ + ++#include "config.h" ++ + /* MSVC does not have these */ + #ifndef _MSC_VER + #include <sys/time.h> diff --git a/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb b/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb index 0c92ff9694..de63c72f52 100644 --- a/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb +++ b/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.5.bb @@ -13,12 +13,13 @@ LIC_FILES_CHKSUM = "\ file://examples/albums.c;beginline=5;endline=21;md5=84f4e55dfec49e898b7f68a828c15620 \ " -DEPENDS += "libusb1" +DEPENDS += "libusb1 gettext-native" SCM_URI = "git://git.code.sf.net/p/libmtp/code" SRC_URI = "\ ${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ file://69-libmtp.rules \ + file://glibc-2.20.patch \ " SRC_URI[md5sum] = "f80e45c0e6e5798c434bb1c26a7b602d" SRC_URI[sha256sum] = "787679171baf8b3cf2fcc03196c705ab4d7cbc969bd71f9d3696be1ce7f1c63a" diff --git a/meta-oe/recipes-connectivity/libnet/libnet-1.1.6/fix-endianess-test.patch b/meta-oe/recipes-connectivity/libnet/libnet-1.1.6/fix-endianess-test.patch deleted file mode 100644 index 4f9d5a4315..0000000000 --- a/meta-oe/recipes-connectivity/libnet/libnet-1.1.6/fix-endianess-test.patch +++ /dev/null @@ -1,40 +0,0 @@ -Use autoconf's endian check instead of the locally defined check -so that we can determine the endianess without having to compile -a program. - -Idea from http://www.security-lists.org/lists/libnet/2003/03/00001.html - -Also remove the old test from aclocal.m4. - -Rebased for libnet-1.1.6 - -diff --git a/configure.in b/configure.in -index e54c688..e2e768e 100644 ---- a/configure.in -+++ b/configure.in -@@ -4,6 +4,7 @@ dnl All rights reserved. - dnl - dnl Process this file with autoconf to produce a configure script. - -+AC_PREREQ(2.52) - AC_INIT(libnet, 1.1.6) - AC_MSG_RESULT(beginning autoconfiguration process for libnet-${PACKAGE_VERSION} ...) - AC_CANONICAL_SYSTEM -@@ -38,7 +39,16 @@ dnl - dnl And some custom things - dnl - --AC_LIBNET_ENDIAN_CHECK -+AC_C_BIGENDIAN([ -+ AC_DEFINE(LIBNET_BIG_ENDIAN) -+ ENDIANESS="LIBNET_BIG_ENDIAN" -+ LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_BIG_ENDIAN" -+],[ -+ AC_DEFINE(LIBNET_LIL_ENDIAN) -+ ENDIANESS="LIBNET_LIL_ENDIAN" -+ LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_LIL_ENDIAN" -+], AC_MSG_WARN(cannot detect endianess. try setting ac_cv_c_bigendian to yes or no)) -+ - dnl AC_LBL_LIBRARY_NET - - AC_SUBST(ENDIANESS) diff --git a/meta-oe/recipes-connectivity/libnet/libnet_1.1.6.bb b/meta-oe/recipes-connectivity/libnet/libnet_1.1.6.bb deleted file mode 100644 index 0db074b1d3..0000000000 --- a/meta-oe/recipes-connectivity/libnet/libnet_1.1.6.bb +++ /dev/null @@ -1,23 +0,0 @@ -SUMMARY = "A packet dissection and creation library" -# libnet at packetfactory.net is dead -HOMEPAGE = "https://github.com/sam-github/libnet" -SECTION = "libs" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://doc/COPYING;md5=fb43d5727b2d3d1238545f75ce456ec3" -DEPENDS = "libpcap" -# There are major API changes beween libnet v1.0 and libnet v1.1 -PROVIDES = "libnet-1.1" - -SRC_URI = "${SOURCEFORGE_MIRROR}/libnet-dev/${BPN}-${PV}.tar.gz \ - file://fix-endianess-test.patch" - -SRC_URI[md5sum] = "710296fe424a49344e5fcc0d09e53317" -SRC_URI[sha256sum] = "d392bb5825c4b6b672fc93a0268433c86dc964e1500c279dc6d0711ea6ec467a" - -S = "${WORKDIR}/${BPN}-${PV}" - -inherit autotools binconfig - -do_configure_prepend() { - rm -f aclocal.m4 Makefile.am ltmain.sh -} diff --git a/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb b/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb new file mode 100644 index 0000000000..a558e8096c --- /dev/null +++ b/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb @@ -0,0 +1,19 @@ +SUMMARY = "A packet dissection and creation library" +# libnet at packetfactory.net is dead +HOMEPAGE = "https://github.com/sam-github/libnet" +SECTION = "libs" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=3ec839e00408b484d33b472a86b7c266" +DEPENDS = "libpcap" +# There are major API changes beween libnet v1.0 and libnet v1.1 +PROVIDES = "libnet-1.2rc2" + +SRC_URI = "${SOURCEFORGE_MIRROR}/libnet-dev/${BPN}-${PV}.tar.gz" + +SRC_URI[md5sum] = "f051e6e5bdecddb90f77c701c2ca1804" +SRC_URI[sha256sum] = "72c380785ad44183005e654b47cc12485ee0228d7fa6b0a87109ff7614be4a63" + +S = "${WORKDIR}/${BPN}-${PV}" + +inherit autotools binconfig + diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb b/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb index a7f81e66fe..4af3a6a6a6 100644 --- a/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb +++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent_0.13.3.bb @@ -6,12 +6,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" DEPENDS = "libsigc++-2.0 openssl cppunit" -SRC_URI = "http://libtorrent.rakshasa.no/downloads/${PN}-${PV}.tar.gz \ +SRC_URI = "http://libtorrent.rakshasa.no/downloads/${BP}.tar.gz \ file://don-t-run-code-while-configuring-package.patch \ " SRC_URI[md5sum] = "e94f6c590bb02aaf4d58618f738a85f2" SRC_URI[sha256sum] = "34317d6783b7f8d0805274c9467475b5432a246c0de8e28fc16e3b0b43f35677" -inherit autotools +inherit autotools pkgconfig diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch new file mode 100644 index 0000000000..b1d96ae5a7 --- /dev/null +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch @@ -0,0 +1,37 @@ +From af485c638c61fa883212ea424e676fbf90bee594 Mon Sep 17 00:00:00 2001 +From: Otavio Salvador <otavio@ossystems.com.br> +Date: Tue, 1 Jul 2014 17:37:31 -0300 +Subject: [PATCH] build: Allow CC and prefix to be overriden + +Upstream-Status: Pending + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/makefile b/makefile +index 22e7d0d..809cc8f 100644 +--- a/makefile ++++ b/makefile +@@ -18,7 +18,7 @@ + KBUILD_OUTPUT = + + DEBUG = +-CC = $(CROSS_COMPILE)gcc ++CC ?= $(CROSS_COMPILE)gcc + VER = -DVER=$(version) + CFLAGS = -Wall $(VER) $(incdefs) $(DEBUG) $(EXTRA_CFLAGS) + LDLIBS = -lm -lrt $(EXTRA_LDFLAGS) +@@ -35,7 +35,7 @@ incdefs := $(shell $(srcdir)/incdefs.sh) + version := $(shell $(srcdir)/version.sh $(srcdir)) + VPATH = $(srcdir) + +-prefix = /usr/local ++prefix ?= /usr/local + sbindir = $(prefix)/sbin + mandir = $(prefix)/man + man8dir = $(mandir)/man8 +-- +1.7.10.4 + diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.4.bb b/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.4.bb index 10d674405f..4ee0c8873b 100644 --- a/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.4.bb +++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp_1.4.bb @@ -2,13 +2,14 @@ DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 for LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz" +SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \ + file://build-Allow-CC-and-prefix-to-be-overriden.patch" SRC_URI[md5sum] = "a37ad2b2ef7d1ebc4d64a66d3fe55cdf" SRC_URI[sha256sum] = "6cfd5291fb7394cc9f25458927874a203971b66b76d1c9d6568e007d0cbd81f2" -EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} ARCH=${TARGET_ARCH} \ - EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_ONESTEP_SYNC'" +EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} \ + EXTRA_CFLAGS='-D_GNU_SOURCE -DHAVE_CLOCK_ADJTIME -DHAVE_ONESTEP_SYNC ${CFLAGS}'" do_install () { install -d ${D}/${bindir} diff --git a/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb b/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb index c8642768db..e512419095 100644 --- a/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb +++ b/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c4f38aef94828f6b280e00d1173be689" DEPENDS = "glib-2.0 libcheck openssl libidn" -inherit gnomebase +inherit gnomebase gtk-doc PR = "r2" 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 index 759c86e8ec..5ff18da057 100644 --- a/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb +++ b/meta-oe/recipes-connectivity/networkmanager/modemmanager_0.6.0.0.bb @@ -1,4 +1,4 @@ -DEPENDS = "ppp udev glib-2.0" +DEPENDS = "ppp udev glib-2.0 dbus-glib" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" diff --git a/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-NetworkManager.service-remove-reference-to-NetworkMa.patch b/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-NetworkManager.service-remove-reference-to-NetworkMa.patch deleted file mode 100644 index bbcd021c13..0000000000 --- a/meta-oe/recipes-connectivity/networkmanager/networkmanager/0002-NetworkManager.service-remove-reference-to-NetworkMa.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 1137846f778dc9f3be0c89cb2df18d3a37f844d7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> -Date: Fri, 19 Apr 2013 18:34:09 +0200 -Subject: [PATCH] NetworkManager.service: remove reference to - NetworkManager-wait-online.service -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -* NetworkManager-wait-online.service crashes -* NetworkManager works fine without NetworkManager-wait-online - -Upstream-Status: Inappropriate [config] - -Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> ---- - data/NetworkManager.service.in | 1 - - 1 files changed, 0 insertions(+), 1 deletions(-) - -diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in -index 16b53b6..a2e913c 100644 ---- a/data/NetworkManager.service.in -+++ b/data/NetworkManager.service.in -@@ -18,5 +18,4 @@ KillMode=process - [Install] - WantedBy=multi-user.target - Alias=dbus-org.freedesktop.NetworkManager.service --Also=NetworkManager-wait-online.service - --- -1.7.4.4 - diff --git a/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.0.bb b/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb index 3c7944dcc2..8d37c980e0 100644 --- a/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.0.bb +++ b/meta-oe/recipes-connectivity/networkmanager/networkmanager_0.9.8.10.bb @@ -4,18 +4,17 @@ SECTION = "net/misc" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=cbbffd568227ada506640fe950a4823b" -DEPENDS = "libnl dbus dbus-glib udev wireless-tools gnutls util-linux ppp" +DEPENDS = "libnl dbus dbus-glib udev wireless-tools nss util-linux ppp" inherit gnome gettext systemd SRC_URI = " \ ${GNOME_MIRROR}/NetworkManager/${@gnome_verdir("${PV}")}/NetworkManager-${PV}.tar.xz \ file://0001-don-t-try-to-run-sbin-dhclient-to-get-the-version-nu.patch \ - file://0002-NetworkManager.service-remove-reference-to-NetworkMa.patch \ file://0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch \ " -SRC_URI[md5sum] = "38d28f6bd9220d85dfff47210706195c" -SRC_URI[sha256sum] = "c366bcded6354d8186ad93c05d26d6a20bc550aa0391f974704e7a60e9f6096b" +SRC_URI[md5sum] = "aad2558887e25417c52eb2deaade2f85" +SRC_URI[sha256sum] = "064d27223d3824859df12e1fb25b787fec1c68bbc864dc52a0289b9211c4c972" S = "${WORKDIR}/NetworkManager-${PV}" @@ -26,11 +25,12 @@ EXTRA_OECONF = " \ --disable-ifnet \ --disable-ifcfg-suse \ --with-netconfig \ - --with-crypto=gnutls \ + --with-crypto=nss \ --disable-more-warnings \ --with-dhclient=${base_sbindir}/dhclient \ --with-iptables=${sbindir}/iptables \ --with-tests \ + --with-dnsmasq=${bindir}/dnsmasq \ " PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','systemd','systemd','consolekit',d)}" @@ -55,7 +55,7 @@ do_install_append () { install -d ${D}${sysconfdir}/dbus-1/event.d # Additional test binaries install -d ${D}${bindir} - install -m 0755 ${S}/test/.libs/libnm* ${D}${bindir} + install -m 0755 ${B}/test/.libs/libnm* ${D}${bindir} # Install an empty VPN folder as nm-connection-editor will happily segfault without it :o. # With or without VPN support built in ;). @@ -81,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 f12941e103..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,12 +3,13 @@ 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" SRC_URI[sha256sum] = "b399465ddbd6d0217abedd9411d9d74a820effa0a6a142adc448268d3920094f" -inherit autotools-brokensep +inherit autotools-brokensep pkgconfig FILES_${PN} += "${datadir}/dbus-1/" diff --git a/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch b/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch new file mode 100644 index 0000000000..8abf8ae242 --- /dev/null +++ b/meta-oe/recipes-connectivity/obex/openobex-1.5/separate_builddir.patch @@ -0,0 +1,16 @@ +Fix detection of IrDA failing with B!=S + +Upstream-Status: Pending + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +--- a/acinclude.m4 2014-05-24 14:05:41.757796816 +0100 ++++ b/acinclude.m4 2014-05-24 14:03:06.556795536 +0100 +@@ -54,6 +54,7 @@ + ]) + + AC_DEFUN([AC_PATH_IRDA_LINUX], [ ++ CPPFLAGS="${CPPFLAGS} -I${srcdir}" + AC_CACHE_CHECK([for IrDA support], irda_found, [ + AC_TRY_COMPILE([ + #include <sys/socket.h> diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb b/meta-oe/recipes-connectivity/obex/openobex_1.5.bb index 0d5cfef0c7..b07779dd56 100644 --- a/meta-oe/recipes-connectivity/obex/openobex_1.5.bb +++ b/meta-oe/recipes-connectivity/obex/openobex_1.5.bb @@ -10,15 +10,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/openobex-${PV}.tar.gz \ file://disable-cable-test.patch \ - file://libusb_crosscompile_check.patch" + file://libusb_crosscompile_check.patch \ + file://separate_builddir.patch" SRC_URI[md5sum] = "0d83dc86445a46a1b9750107ba7ab65c" SRC_URI[sha256sum] = "e602047570799a47ecb028420bda8f2cef41310e5a99d084de10aa9422935e65" inherit autotools binconfig pkgconfig -EXTRA_OECONF = "--enable-apps --enable-syslog \ - --with-usb=${STAGING_LIBDIR}/.. --with-bluez=${STAGING_LIBDIR}/.." +EXTRA_OECONF = "--enable-apps --enable-syslog" do_install_append() { install -d ${D}${datadir}/aclocal diff --git a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb index 206023e4f5..5589963913 100644 --- a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb +++ b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb @@ -8,6 +8,6 @@ S = "${WORKDIR}/git" SRCREV = "4acfa720fd37d178a048fc2be17180137d4a70ea" PV = "0.0.0+gitr${SRCPV}" -inherit autotools +inherit autotools-brokensep FILES_${PN} += "${base_libdir}/udev/rules.d/85-phonet-utils.rules" diff --git a/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb b/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb new file mode 100644 index 0000000000..762ecd6279 --- /dev/null +++ b/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.5.2.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker" +HOMEPAGE = "https://github.com/alanxz/rabbitmq-c" +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] = "aa8d4d0b949f508c0da25a9c20bd7da7" +SRC_URI[sha256sum] = "1ec3c1141593b91c57bf1051657a1d64fb87da38760c7128a9622b107990f2f2" + +DEPENDS = "popt openssl" + +EXTRA_OECONF = "--disable-examples --enable-tools --disable-docs" + +inherit autotools pkgconfig + +PACKAGE_BEFORE_PN += "${PN}-tools" +FILES_${PN}-tools = "${bindir}" diff --git a/meta-oe/recipes-connectivity/rfkill/rfkill_0.4.bb b/meta-oe/recipes-connectivity/rfkill/rfkill_0.5.bb index 62634c2293..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/${PN}/${P}.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/rtorrent/rtorrent_0.9.3.bb b/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb index adc112fefe..eb0a39af5c 100644 --- a/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb +++ b/meta-oe/recipes-connectivity/rtorrent/rtorrent_0.9.3.bb @@ -3,14 +3,13 @@ HOMEPAGE = "http://libtorrent.rakshasa.no/" LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "libsigc++-2.0 curl cppunit libtorrent" +DEPENDS = "libsigc++-2.0 curl cppunit libtorrent ncurses" -SRC_URI = "http://libtorrent.rakshasa.no/downloads/${PN}-${PV}.tar.gz \ +SRC_URI = "http://libtorrent.rakshasa.no/downloads/${BP}.tar.gz \ file://don-t-run-code-while-configuring-package.patch \ " SRC_URI[md5sum] = "0bf2f262faa8c8c8d3b11ce286ea2bf2" SRC_URI[sha256sum] = "9e93ca41beb1afe74ad7ad8013e0d53ae3586c9b0e97263d722f721535cc7310" -inherit autotools - +inherit autotools pkgconfig diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_221618_precise-64bit-prototype.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_221618_precise-64bit-prototype.patch index 31108f2e89..31108f2e89 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_221618_precise-64bit-prototype.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_221618_precise-64bit-prototype.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch index ea499a6eb3..d9cc633d48 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_387266_upstream_4104_mention-kerberos-in-smbspool-manpage.patch @@ -27,8 +27,8 @@ Index: samba/docs/manpages/smbspool.8 .sp -1 .IP \(bu 2.3 .\} --The user argument (argv[2]) contains the print user\'s name and is presently not used by smbspool\&. -+The user argument (argv[2]) contains the print user\'s name and is presently not used by smbspool except in Kerberos environments to access the user\'s ticket cache\&. +-The user argument (argv[2]) contains the print user\*(Aqs name and is presently not used by smbspool\&. ++The user argument (argv[2]) contains the print user\*(Aqs name and is presently not used by smbspool except in Kerberos environments to access the user\'s ticket cache\&. .RE .sp .RS 4 diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch index dcd94e425e..dcd94e425e 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_598313_upstream_7499-nss_wins-dont-clobber-daemons-logs.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_601406_fix-perl-path-in-example.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_601406_fix-perl-path-in-example.patch index ba8b1f4255..ba8b1f4255 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_601406_fix-perl-path-in-example.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_601406_fix-perl-path-in-example.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_drop-using-samba-link.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_drop-using-samba-link.patch index 0c54b6b0b7..0c54b6b0b7 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_drop-using-samba-link.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_drop-using-samba-link.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_fix-WHATSNEW-link.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_fix-WHATSNEW-link.patch index c7dd043fbe..c7dd043fbe 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/bug_604768_upstream_7826_fix-WHATSNEW-link.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/bug_604768_upstream_7826_fix-WHATSNEW-link.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-core_pattern-cross-check.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-core_pattern-cross-check.patch index 2d96189732..2d96189732 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-core_pattern-cross-check.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-core_pattern-cross-check.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-getaddrinfo-cross.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-getaddrinfo-cross.patch index 84ecd498f5..84ecd498f5 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-disable-getaddrinfo-cross.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-disable-getaddrinfo-cross.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-libunwind.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-libunwind.patch index 9a2cb00eba..9a2cb00eba 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/configure-libunwind.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/configure-libunwind.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation.patch index 46ace234e9..73111fed72 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation.patch @@ -6,7 +6,7 @@ Index: experimental/docs/manpages/swat.8 =================================================================== --- experimental.orig/docs/manpages/swat.8 +++ experimental/docs/manpages/swat.8 -@@ -111,86 +111,6 @@ +@@ -120,86 +120,6 @@ .RS 4 Print a summary of command line options\&. .RE @@ -73,7 +73,7 @@ Index: experimental/docs/manpages/swat.8 -/etc/services -file\&. -.PP --the choice of port number isn\'t really important except that it should be less than 1024 and not currently used (using a number above 1024 presents an obscure security hole depending on the implementation details of your +-the choice of port number isn\*(Aqt really important except that it should be less than 1024 and not currently used (using a number above 1024 presents an obscure security hole depending on the implementation details of your -inetd -daemon)\&. -.PP @@ -93,7 +93,7 @@ Index: experimental/docs/manpages/swat.8 .SH "LAUNCHING" .PP To launch SWAT just run your favorite web browser and point it at "http://localhost:901/"\&. -@@ -208,14 +128,11 @@ +@@ -217,14 +137,11 @@ This file must contain a mapping of service name (e\&.g\&., swat) to service port (e\&.g\&., 901) and protocol type (e\&.g\&., tcp)\&. .RE .PP @@ -260,20 +260,20 @@ Index: experimental/docs/manpages/winbindd.8 =================================================================== --- experimental.orig/docs/manpages/winbindd.8 +++ experimental/docs/manpages/winbindd.8 -@@ -550,16 +550,16 @@ +@@ -539,16 +539,16 @@ file are owned by root\&. .RE .PP -$LOCKDIR/winbindd_privileged/pipe +/var/run/samba/winbindd_privileged/pipe .RS 4 - The UNIX pipe over which \'privileged\' clients communicate with the + The UNIX pipe over which \*(Aqprivileged\*(Aq clients communicate with the winbindd program\&. For security reasons, access to some winbindd functions \- like those needed by the ntlm_auth --utility \- is restricted\&. By default, only users in the \'root\' group will get this access, however the administrator may change the group permissions on $LOCKDIR/winbindd_privileged to allow programs like \'squid\' to use ntlm_auth\&. Note that the winbind client will only attempt to connect to the winbindd daemon if both the +-utility \- is restricted\&. By default, only users in the \*(Aqroot\*(Aq group will get this access, however the administrator may change the group permissions on $LOCKDIR/winbindd_privileged to allow programs like \*(Aqsquid\*(Aq to use ntlm_auth\&. Note that the winbind client will only attempt to connect to the winbindd daemon if both the -$LOCKDIR/winbindd_privileged -+utility \- is restricted\&. By default, only users in the \'root\' group will get this access, however the administrator may change the group permissions on /var/run/samba/winbindd_privileged to allow programs like \'squid\' to use ntlm_auth\&. Note that the winbind client will only attempt to connect to the winbindd daemon if both the ++utility \- is restricted\&. By default, only users in the \'root\' group will get this access, however the administrator may change the group permissions on /var/run/samba/winbindd_privileged to allow programs like \'squid\' to use ntlm_auth\&. Note that the winbind client will only attempt to connect to the winbindd daemon if both the +/var/run/samba/winbindd_privileged directory and -$LOCKDIR/winbindd_privileged/pipe @@ -281,7 +281,7 @@ Index: experimental/docs/manpages/winbindd.8 file are owned by root\&. .RE .PP -@@ -568,15 +568,12 @@ +@@ -557,15 +557,12 @@ Implementation of name service switch library\&. .RE .PP diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation2.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation2.patch index 902e8e2308..af8da32d50 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/documentation2.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/documentation2.patch @@ -212,8 +212,8 @@ Index: samba/docs/manpages/nmbd.8 \fBsmb.conf\fR(5), \fBsmbclient\fR(1), -\fBtestparm\fR(1), --\fBtestprns\fR(1), and the Internet RFC\'s -+\fBtestparm\fR(1), and the Internet RFC\'s +-\fBtestprns\fR(1), and the Internet RFC\*(Aqs ++\fBtestparm\fR(1), and the Internet RFC\*(Aqs rfc1001\&.txt, rfc1002\&.txt\&. In addition the CIFS (formerly SMB) specification is available as a link from the Web page http://samba\&.org/cifs/\&. @@ -269,8 +269,8 @@ Index: samba/docs/manpages/smbd.8 \fBsmb.conf\fR(5), \fBsmbclient\fR(1), -\fBtestparm\fR(1), --\fBtestprns\fR(1), and the Internet RFC\'s -+\fBtestparm\fR(1), and the Internet RFC\'s +-\fBtestprns\fR(1), and the Internet RFC\*(Aqs ++\fBtestparm\fR(1), and the Internet RFC\*(Aqs rfc1001\&.txt, rfc1002\&.txt\&. In addition the CIFS (formerly SMB) specification is available as a link from the Web page http://samba\&.org/cifs/\&. diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/dont-build-VFS-examples.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/dont-build-VFS-examples.patch index beff7db676..beff7db676 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/dont-build-VFS-examples.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/dont-build-VFS-examples.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/fhs-filespaths.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/fhs-filespaths.patch index e7c6b9995e..e7c6b9995e 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/fhs-filespaths.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/fhs-filespaths.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/installswat.sh.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/installswat.sh.patch index 3f08e493ad..3f08e493ad 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/installswat.sh.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/installswat.sh.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/libutil_drop_AI_ADDRCONFIG.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/libutil_drop_AI_ADDRCONFIG.patch index d3473ea402..d3473ea402 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/libutil_drop_AI_ADDRCONFIG.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/libutil_drop_AI_ADDRCONFIG.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/only_export_public_symbols.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/only_export_public_symbols.patch index f4fbd56a15..f4fbd56a15 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/only_export_public_symbols.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/only_export_public_symbols.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/pam-examples.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/pam-examples.patch index 9b36e14e3c..9b36e14e3c 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/pam-examples.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/pam-examples.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/shadow_copy2_backport.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/shadow_copy2_backport.patch index dbd10489fa..dbd10489fa 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/shadow_copy2_backport.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/shadow_copy2_backport.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbclient-pager.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbclient-pager.patch index 429f2cec46..429f2cec46 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbclient-pager.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbclient-pager.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtar-bashism.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtar-bashism.patch index 27a47cb51c..27a47cb51c 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtar-bashism.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtar-bashism.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtorture-manpage.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtorture-manpage.patch index 59930b5e5f..59930b5e5f 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/smbtorture-manpage.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/smbtorture-manpage.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/undefined-symbols.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/undefined-symbols.patch index 3ab0027eeb..5babc1e384 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/undefined-symbols.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/undefined-symbols.patch @@ -13,12 +13,12 @@ Index: experimental/source3/Makefile.in =================================================================== --- experimental.orig/source3/Makefile.in +++ experimental/source3/Makefile.in -@@ -2281,7 +2281,7 @@ +@@ -2594,7 +2594,7 @@ - $(LIBSMBCLIENT_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) $(LIBSMBCLIENT_SYMS) $(LIBTALLOC) $(LIBTDB) $(LIBWBCLIENT) + $(LIBSMBCLIENT_SHARED_TARGET_SONAME): $(BINARY_PREREQS) $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) $(LIBSMBCLIENT_SYMS) $(LIBTALLOC) $(LIBTEVENT) $(LIBTDB) $(LIBWBCLIENT) @echo Linking shared library $@ - @$(SHLD_DSO) $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) \ + @$(SHLD_DSO) -Wl,-z,defs $(LIBSMBCLIENT_OBJ) $(LIBSMBCLIENT_THREAD_OBJ) \ - $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) $(LIBS) \ + $(LIBTALLOC_LIBS) $(LIBTEVENT_LIBS) $(LIBTDB_LIBS) $(LIBWBCLIENT_LIBS) $(LIBS) \ $(KRB5LIBS) $(LDAP_LIBS) $(NSCD_LIBS) $(ZLIB_LIBS) $(PTHREAD_LDFLAGS) \ @SONAMEFLAG@`basename $@` diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/usershare.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/usershare.patch index 3673db751a..3673db751a 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/usershare.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/usershare.patch diff --git a/meta-oe/recipes-connectivity/samba/samba-3.6.8/waf-as-source.patch b/meta-oe/recipes-connectivity/samba/samba-3.6.24/waf-as-source.patch index 985ed5af1f..985ed5af1f 100644 --- a/meta-oe/recipes-connectivity/samba/samba-3.6.8/waf-as-source.patch +++ b/meta-oe/recipes-connectivity/samba/samba-3.6.24/waf-as-source.patch 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 39fc8143f0..b04a9dda44 100644 --- a/meta-oe/recipes-connectivity/samba/samba.inc +++ b/meta-oe/recipes-connectivity/samba/samba.inc @@ -8,11 +8,20 @@ SRC_URI = "http://samba.org/samba/ftp/stable/samba-${PV}.tar.gz \ 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 +37,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 \ @@ -43,7 +52,9 @@ EXTRA_OECONF='--disable-cups \ PACKAGECONFIG = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam" PACKAGECONFIG[fam] = "--enable-fam,--disable-fam,gamin" -PACKAGECONFIG[talloc] = "--with-libtalloc,--without-libtalloc,talloc" +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 +114,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/0001-PIDL-fix-parsing-linemarkers-in-preprocessor-output.patch b/meta-oe/recipes-connectivity/samba/samba/0001-PIDL-fix-parsing-linemarkers-in-preprocessor-output.patch new file mode 100644 index 0000000000..586867d8fd --- /dev/null +++ b/meta-oe/recipes-connectivity/samba/samba/0001-PIDL-fix-parsing-linemarkers-in-preprocessor-output.patch @@ -0,0 +1,68 @@ +Upstream-Status: Backport + +From b07ade6e6fcc8b844cf1fb8b6038617281c4c2d0 Mon Sep 17 00:00:00 2001 +From: Alexander Bokovoy <ab@samba.org> +Date: Wed, 6 Feb 2013 10:17:57 +0200 +Subject: [PATCH] PIDL: fix parsing linemarkers in preprocessor output + +Commit b07ade6e6fcc8b844cf1fb8b6038617281c4c2d0 v3-6-stable + +When PIDL calls out to C preprocessor to expand IDL files +and parse the output, it filters out linemarkers and line control +information as described in http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html +and http://gcc.gnu.org/onlinedocs/cpp/Line-Control.html#Line-Control + +With gcc 4.8 stdc-predef.h is included automatically and linemarker for the +file has extended flags that PIDL couldn't parse ('system header that needs to +be extern "C" protected for C++') + +Thanks to Jakub Jelinek <jakub@redhat.com> for explanation of the linemarker format. + +Fixes https://bugzilla.redhat.com/show_bug.cgi?id=906517 + +Reviewed-by: Andreas Schneider <asn@samba.org> +(cherry picked from commit 6ba7ab5c14801aecae96373d5a9db7ab82957526) + +Signed-off-by: Andreas Schneider <asn@samba.org> + +Fix bug #9636 - pidl can't parse new linemarkers in preprocessor output. +(cherry picked from commit 643571470f2e4cd2f58bd60ac7189abb826d33cc) +(cherry picked from commit b5a8afd6550e9091d169d3010751913bb483fc4b) +--- + pidl/idl.yp | 4 +++- + pidl/lib/Parse/Pidl/IDL.pm | 4 +++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/pidl/idl.yp b/pidl/idl.yp +index b5c5185..c8a65f6 100644 +--- a/pidl/idl.yp ++++ b/pidl/idl.yp +@@ -610,7 +610,9 @@ again: + + for ($parser->YYData->{INPUT}) { + if (/^\#/) { +- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) { ++ # Linemarker format is described at ++ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html ++ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) { + $parser->YYData->{LINE} = $1-1; + $parser->YYData->{FILE} = $2; + goto again; +diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm +index d4820ff..6927c89 100644 +--- a/pidl/lib/Parse/Pidl/IDL.pm ++++ b/pidl/lib/Parse/Pidl/IDL.pm +@@ -2576,7 +2576,9 @@ again: + + for ($parser->YYData->{INPUT}) { + if (/^\#/) { +- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) { ++ # Linemarker format is described at ++ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html ++ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) { + $parser->YYData->{LINE} = $1-1; + $parser->YYData->{FILE} = $2; + goto again; +-- +1.7.5.4 + diff --git a/meta-oe/recipes-connectivity/samba/samba/init.samba b/meta-oe/recipes-connectivity/samba/samba/init.samba index cb57b17de4..6a44ac468e 100644 --- a/meta-oe/recipes-connectivity/samba/samba/init.samba +++ b/meta-oe/recipes-connectivity/samba/samba/init.samba @@ -55,4 +55,4 @@ case "$1" in exit 1 esac -exit 0
\ No newline at end of file +exit 0 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/samba/samba_3.6.8.bb b/meta-oe/recipes-connectivity/samba/samba_3.6.24.bb index 20b609de5f..8860da0889 100644 --- a/meta-oe/recipes-connectivity/samba/samba_3.6.8.bb +++ b/meta-oe/recipes-connectivity/samba/samba_3.6.24.bb @@ -3,8 +3,6 @@ require samba-basic.inc LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://../COPYING;md5=d32239bcb673463ab874e80d47fae504" -PR = "r8" - SRC_URI += "\ file://config-h.patch \ file://documentation.patch;patchdir=.. \ @@ -31,8 +29,8 @@ SRC_URI += "\ file://configure-disable-core_pattern-cross-check.patch;patchdir=.. \ file://configure-libunwind.patch;patchdir=.. \ " -SRC_URI[md5sum] = "fbb245863eeef2fffe172df779a217be" -SRC_URI[sha256sum] = "4f5a171a8d902c6b4f822ed875c51eb8339196d9ccf0ecd7f6521c966b3514de" +SRC_URI[md5sum] = "d98425c0c2b73e08f048d31ffc727fb0" +SRC_URI[sha256sum] = "11d0bd04b734731970259efc6692b8e749ff671a9b56d8cc5fa98c192ab234a7" S = "${WORKDIR}/samba-${PV}/source3" diff --git a/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb b/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb index 987719003b..8fe6a6f9c8 100644 --- a/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb +++ b/meta-oe/recipes-connectivity/ser2net/ser2net_2.9.1.bb @@ -3,7 +3,7 @@ SECTION = "console/network" HOMEPAGE = "http://sourceforge.net/projects/ser2net/" LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://INSTALL;md5=0659eb117294c490ae3853facd7a6ddd" +LIC_FILES_CHKSUM = "file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f" SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz" diff --git a/meta-oe/recipes-connectivity/soft66/soft66_git.bb b/meta-oe/recipes-connectivity/soft66/soft66_git.bb index 3255152041..b6495267c9 100644 --- a/meta-oe/recipes-connectivity/soft66/soft66_git.bb +++ b/meta-oe/recipes-connectivity/soft66/soft66_git.bb @@ -1,8 +1,10 @@ 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" + DEPENDS = "libftdi" PV = "0.1.3+gitr${SRCPV}" 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/wvdial/wvdial_1.61.bb b/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb index af1ebf3024..f7adf4c9f4 100644 --- a/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb +++ b/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605" DEPENDS = "wvstreams" RDEPENDS_${PN} = "ppp" -SRC_URI = "http://${PN}.googlecode.com/files/${PN}-${PV}.tar.bz2 \ +SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.bz2 \ file://typo_pon.wvdial.1.patch \ " diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb index 00df2b8800..8a77b5bec4 100644 --- a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb +++ b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb @@ -4,9 +4,9 @@ SUMMARY = "WvStreams is a network programming library in C++" LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" -DEPENDS = "zlib openssl (>= 0.9.8)" +DEPENDS = "zlib openssl (>= 0.9.8) dbus readline" -SRC_URI = "http://${PN}.googlecode.com/files/${PN}-${PV}.tar.gz \ +SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz \ file://04_signed_request.diff \ file://05_gcc.diff \ file://06_gcc-4.7.diff \ @@ -16,7 +16,7 @@ SRC_URI = "http://${PN}.googlecode.com/files/${PN}-${PV}.tar.gz \ SRC_URI[md5sum] = "2760dac31a43d452a19a3147bfde571c" SRC_URI[sha256sum] = "8403f5fbf83aa9ac0c6ce15d97fd85607488152aa84e007b7d0621b8ebc07633" -inherit autotools pkgconfig +inherit autotools-brokensep pkgconfig PARALLEL_MAKE = "" diff --git a/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch new file mode 100644 index 0000000000..43096d2bce --- /dev/null +++ b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice-3.5.1/0002-Modify-Makefile-for-cross-compile.patch @@ -0,0 +1,292 @@ +Upstream-Status: Inappropriate + +This patch lets you build Ice with OpenEmbedded. I doubt you could do +a regular build after applying this patch. + +From bc622ce74fa03a935278d21736a5a251466e1798 Mon Sep 17 00:00:00 2001 +From: Tom Rondeau <tom@trondeau.com> +Date: Wed, 16 Apr 2014 14:34:51 -0400 +Subject: [PATCH] Modify Makefiles for cross compile + +--- + config/Make.common.rules | 20 +++++++------ + cpp/Makefile | 9 +++--- + cpp/config/Make.rules | 32 ++++++++++++-------- + cpp/config/Make.rules.Linux | 18 ++--------- + cpp/src/IceStorm/FreezeDB/Makefile | 2 +- + py/config/Make.rules | 58 +++++++++++++++++++----------------- + 6 files changed, 70 insertions(+), 69 deletions(-) + +diff --git a/config/Make.common.rules b/config/Make.common.rules +index d7b1d59..a3fb17e 100644 +--- a/config/Make.common.rules ++++ b/config/Make.common.rules +@@ -65,9 +65,9 @@ ifeq ($(UNAME),Linux) + # + # Some Linux distributions like Debian/Ubuntu don't use /usr/lib64. + # +- ifeq ($(shell test -d /usr/lib64 && echo 0),0) +- lp64suffix = 64 +- endif ++ #ifeq ($(shell test -d /usr/lib64 && echo 0),0) ++ # lp64suffix = 64 ++ #endif + ifeq ($(LP64),) + LP64 = yes + endif +@@ -244,12 +244,13 @@ else + slicedir = $(ice_dir)/slice + endif + +-ifeq ($(prefix), /usr) +- install_slicedir = /usr/share/Ice-$(VERSION)/slice +-else +- install_slicedir = $(prefix)/slice +-endif ++#ifeq ($(prefix), /usr) ++# install_slicedir = /usr/share/Ice-$(VERSION)/slice ++#else ++# install_slicedir = $(prefix)/slice ++#endif + ++install_slicedir = $(prefix)/slice + # + # Set environment variables for the Slice translator. + # +@@ -265,7 +266,8 @@ ifneq ($(ice_dir), /usr) + endif + + ifeq ($(UNAME),Linux) +- export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH) ++ #export LD_LIBRARY_PATH := $(ice_lib_dir):$(LD_LIBRARY_PATH) ++ export LD_LIBRARY_PATH := $(ICE_HOME)/lib:$(LD_LIBRARY_PATH) + endif + + ifeq ($(UNAME),SunOS) +diff --git a/cpp/Makefile b/cpp/Makefile +index a68f113..1f44f57 100644 +--- a/cpp/Makefile ++++ b/cpp/Makefile +@@ -11,11 +11,12 @@ top_srcdir = . + + include $(top_srcdir)/config/Make.rules + +-SUBDIRS = config src include test ++#SUBDIRS = config src include test ++SUBDIRS = config src include + +-ifeq ($(shell uname | grep MINGW),) +-SUBDIRS := $(SUBDIRS) demo +-endif ++#ifeq ($(shell uname | grep MINGW),) ++#SUBDIRS := $(SUBDIRS) demo ++#endif + + INSTALL_SUBDIRS = $(install_bindir) $(install_libdir) $(install_includedir) \ + $(install_configdir) $(install_mandir) +diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules +index 37461ae..197c5e8 100644 +--- a/cpp/config/Make.rules ++++ b/cpp/config/Make.rules +@@ -175,11 +175,12 @@ headerdir = $(top_srcdir)/include + # includedir is not handled the same as bindir and libdir + # because it is used in the .depend files + # +-ifdef ice_src_dist +- includedir = $(top_srcdir)/include +-else +- includedir = $(ice_dir)/include +-endif ++#ifdef ice_src_dist ++# includedir = $(top_srcdir)/include ++#else ++# includedir = $(ice_dir)/include ++#endif ++includedir = $(top_srcdir)/include + + # + # Platform specific definitions +@@ -277,14 +278,17 @@ ICECPPFLAGS = -I$(slicedir) + SLICE2CPPFLAGS = $(ICECPPFLAGS) + + ifeq ($(ice_dir), /usr) +- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) ++ LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) + else + CPPFLAGS += -I$(includedir) +- ifdef ice_src_dist +- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) +- else +- LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix) +- endif ++# We must always build using the libraries in the source tree, the host's are obviously ++# not what we want for the target ++ LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) $(call rpathlink,$(libdir)) ++# ifdef ice_src_dist ++# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) ++# else ++# LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(ice_dir)/$(libsubdir)$(cpp11suffix) ++# endif + endif + + ifeq ($(FLEX_NOLINE),yes) +@@ -313,8 +317,10 @@ endif + + ifdef ice_src_dist + SLICEPARSERLIB = $(libdir)/$(call mklibfilename,Slice,$(VERSION)) +- SLICE2CPP = $(bindir)/slice2cpp +- SLICE2FREEZE = $(bindir)/slice2freeze ++# SLICE2CPP = $(bindir)/slice2cpp ++# SLICE2FREEZE = $(bindir)/slice2freeze ++ SLICE2CPP = $(ICE_HOME)/bin/slice2cpp ++ SLICE2FREEZE = $(ICE_HOME)/bin/slice2freeze + else + SLICEPARSERLIB = $(ice_dir)/$(libsubdir)$(cpp11suffix)/$(call mklibfilename,Slice,$(VERSION)) + SLICE2CPP = $(ice_dir)/$(binsubdir)$(cpp11suffix)/slice2cpp +diff --git a/cpp/config/Make.rules.Linux b/cpp/config/Make.rules.Linux +index 5d5717c..8363c6e 100644 +--- a/cpp/config/Make.rules.Linux ++++ b/cpp/config/Make.rules.Linux +@@ -31,7 +31,7 @@ ifeq ($(CXX),c++) + CXX = g++ + endif + +-ifeq ($(CXX),g++) ++#ifeq ($(CXX),g++) + + ifneq ($(SUSE_i586),) + CXXARCHFLAGS += -march=i586 +@@ -71,14 +71,6 @@ ifeq ($(CXX),g++) + CXXARCHFLAGS += -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED + endif + +- ifeq ($(MACHINE),x86_64) +- ifeq ($(LP64),yes) +- CXXARCHFLAGS += -m64 +- else +- CXXARCHFLAGS += -m32 +- endif +- endif +- + CXXFLAGS = $(CXXARCHFLAGS) -Wall -Werror -pthread + + ifneq ($(GENPIC),no) +@@ -102,15 +94,11 @@ ifeq ($(CXX),g++) + + rpathlink = -Wl,-rpath-link,$(1) + +- ifneq ($(embedded_runpath_prefix),) +- LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,$(runpath_libdir) +- else +- LDPLATFORMFLAGS = -Wl,--enable-new-dtags +- endif ++ LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,../../../lib + + LDPLATFORMFLAGS += -rdynamic + +-endif ++#endif + + ifeq ($(CXX),icpc) + $(warning ===================================================================) +diff --git a/cpp/src/IceStorm/FreezeDB/Makefile b/cpp/src/IceStorm/FreezeDB/Makefile +index 7c844b7..cf15cb1 100644 +--- a/cpp/src/IceStorm/FreezeDB/Makefile ++++ b/cpp/src/IceStorm/FreezeDB/Makefile +@@ -66,7 +66,7 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME) + + $(MIGRATE): $(MOBJS) + rm -f $@ +- $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS) ++ $(CXX) $(LDFLAGS) -o $@ $(MOBJS) $(DB_RPATH_LINK) -lIceStormService -lIceStorm -lFreeze $(LIBS) -ldb_cxx + + # The slice2freeze rules are structured like this to avoid issues with + # parallel make. +diff --git a/py/config/Make.rules b/py/config/Make.rules +index 43ce01b..1349342 100644 +--- a/py/config/Make.rules ++++ b/py/config/Make.rules +@@ -92,21 +92,23 @@ ifeq ($(shell test -f $(top_srcdir)/config/Make.rules.$(UNAME) && echo 0),0) + include $(top_srcdir)/config/Make.rules.$(UNAME) + else + include $(top_srcdir)/../cpp/config/Make.rules.$(UNAME) +-endif ++endif + + libdir = $(top_srcdir)/python +-ifneq ($(prefix), /usr) +-install_pythondir = $(prefix)/python +-install_libdir = $(prefix)/python +-else +- ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0) +- install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages +- install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages +- else +- install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages +- install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages +- endif +-endif ++#ifneq ($(prefix), /usr) ++#install_pythondir = $(prefix)/python ++#install_libdir = $(prefix)/python ++#else ++# ifeq ($(shell test -d $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages && echo 0),0) ++# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages ++# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/dist-packages ++# else ++# install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages ++# install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages ++# endif ++#endif ++install_pythondir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages ++install_libdir = $(prefix)/$(libsubdir)/$(PYTHON_VERSION)/site-packages + + ifeq ($(UNAME),SunOS) + ifeq ($(LP64),yes) +@@ -115,19 +117,21 @@ ifeq ($(UNAME),SunOS) + endif + endif + +-ifdef ice_src_dist +- ifeq ($(ice_cpp_dir), $(ice_dir)/cpp) +- ICE_LIB_DIR = -L$(ice_cpp_dir)/lib +- else +- ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir) +- endif +- ICE_LIB_DIR = -L$(ice_cpp_dir)/lib +- ICE_FLAGS = -I$(ice_cpp_dir)/include +-endif +-ifdef ice_bin_dist +- ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir) +- ICE_FLAGS = -I$(ice_dir)/include +-endif ++#ifdef ice_src_dist ++# ifeq ($(ice_cpp_dir), $(ice_dir)/cpp) ++# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib ++# else ++# ICE_LIB_DIR = -L$(ice_cpp_dir)/$(libsubdir) ++# endif ++# ICE_LIB_DIR = -L$(ice_cpp_dir)/lib ++# ICE_FLAGS = -I$(ice_cpp_dir)/include ++#endif ++#ifdef ice_bin_dist ++# ICE_LIB_DIR = -L$(ice_dir)/$(libsubdir) ++# ICE_FLAGS = -I$(ice_dir)/include ++#endif ++ICE_LIB_DIR = -L$(top_srcdir)/../cpp/lib ++ICE_FLAGS = -I$(ice_cpp_dir)/include + ICE_LIBS = $(ICE_LIB_DIR) -lIce -lSlice -lIceUtil + + ifneq ($(embedded_runpath_prefix),) +@@ -137,7 +141,7 @@ endif + CPPFLAGS = + ICECPPFLAGS = -I$(slicedir) + SLICE2PYFLAGS = $(ICECPPFLAGS) +-LDFLAGS = $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) ++LDFLAGS += $(LDPLATFORMFLAGS) $(CXXFLAGS) -L$(libdir) + + ifdef ice_src_dist + ifeq ($(ice_cpp_dir), $(ice_dir)/cpp) +-- +1.7.9.5 + 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 new file mode 100644 index 0000000000..2b6f56ed4f --- /dev/null +++ b/meta-oe/recipes-connectivity/zeroc-ice/zeroc-ice_3.5.1.bb @@ -0,0 +1,87 @@ +DESCRIPTION = "The Internet Communications Engine" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://ICE_LICENSE;md5=3dc3037023cc2ae6b2c5b995da529515" +DEPENDS = "bzip2 expat openssl python db mcpp" +DEPENDS_prepend_class-target = "zeroc-ice-native " + +SRC_URI = "http://www.zeroc.com/download/Ice/3.5/Ice-${PV}.tar.gz \ + file://0002-Modify-Makefile-for-cross-compile.patch \ + " +SRC_URI[md5sum] = "f00c59983cc904bca977133c0a9b3e80" +SRC_URI[sha256sum] = "989e51194c6adadbd156da3288e37bad847b93b3b876502e83033b70493af392" + +#| MapDb.cpp: In constructor 'Freeze::MapDb::MapDb(const ConnectionIPtr&, const string&, const string&, const string&, const KeyCompareBasePtr&, const std::vector<IceUtil::Handle<Freeze::MapIndexBase> >&, bool)': +#| MapDb.cpp:138:46: error: call of overloaded 'set_bt_compare(int (*)(DB*, const DBT*, const DBT*))' is ambiguous +#| MapDb.cpp:138:46: note: candidates are: +#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:272:14: note: virtual int Db::set_bt_compare(bt_compare_fcn_type) <near match> +#| /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/db_cxx.h:272: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 'bt_compare_fcn_type {aka int (*)(__db*, const __db_dbt*, const __db_dbt*, long unsigned int*)}' +#| /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" + +S = "${WORKDIR}/Ice-${PV}" + +inherit python-dir pkgconfig + +export PYTHON_VERSION = "python2.7" + +do_configure() { + : +} + +do_compile_prepend_class-target () { + export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" + export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" + export ICE_HOME="${STAGING_DIR_NATIVE}/usr" +} + +do_compile_prepend_class-nativesdk () { + export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" + export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" + export ICE_HOME="${STAGING_DIR_NATIVE}/usr" +} + +do_compile_prepend_class-native () { + export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" + export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" + export ICE_HOME="${S}/cpp" +} + +do_compile() { + oe_runmake -C ${S} cpp + oe_runmake -C ${S} py +} + +do_install_prepend_class-target () { + export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" + export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" + export ICE_HOME="${STAGING_DIR_NATIVE}/usr" +} + +do_install_prepend_class-nativesdk () { + export PYTHON_INCLUDE_DIR="${STAGING_INCDIR}/${PYTHON_DIR}" + export PYTHON_LIB_DIR="${STAGING_LIBDIR}/${PYTHON_DIR}" + export ICE_HOME="${STAGING_DIR_NATIVE}/usr" +} + +do_install_prepend_class-native () { + export ICE_HOME="${S}/cpp" +} + +do_install() { + oe_runmake -C ${S}/cpp prefix=${D}${prefix} install install-common + oe_runmake -C ${S}/py prefix=${D}${prefix} install +} + +PACKAGES += "${PN}-python ${PN}-python-dev ${PN}-python-dbg" + +FILES_${PN}-doc += "${prefix}/man/man1" +FILES_${PN} += "${prefix}/*LICENSE ${libdir}/ImportKey.class ${prefix}/RELEASE_NOTES ${prefix}/CHANGES" +FILES_${PN}-dev += "${includedir} ${prefix}/slice ${prefix}/config" +FILES_${PN}-python-dev = "${PYTHON_SITEPACKAGES_DIR}/IcePy.so" +FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*.py ${PYTHON_SITEPACKAGES_DIR}/IcePy.so.* ${PYTHON_SITEPACKAGES_DIR}/Ice*/*.py" +FILES_${PN}-python-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug" +FILES_${PN}-dev += "${bindir}/slice* ${datadir}/Ice-${PV}/slice/*" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb b/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb new file mode 100644 index 0000000000..34099766c7 --- /dev/null +++ b/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "C++ bindings for ZeroMQ" +HOMEPAGE = "http://www.zeromq.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94" +DEPENDS = "zeromq" +SRCREV = "ee47ae4cddc304741526c9bb2035f98c3274e0ec" + +SRC_URI = "git://github.com/zeromq/cppzmq.git" + +S = "${WORKDIR}/git" + +do_install () { + install -d ${D}/usr/include + install -m 0755 ${S}/zmq.hpp ${D}/usr/include/ +} + +PACKAGES = "${PN}-dev" + +RDEPENDS_${PN}-dev = "zeromq-dev" diff --git a/meta-oe/recipes-connectivity/zeromq/files/run-ptest b/meta-oe/recipes-connectivity/zeromq/files/run-ptest new file mode 100755 index 0000000000..48b9cd9fc5 --- /dev/null +++ b/meta-oe/recipes-connectivity/zeromq/files/run-ptest @@ -0,0 +1,10 @@ +#!/bin/sh + +cd tests +for i in `ls *`; do + if [ ./$i ] ; then + echo "PASS: $i" + else + echo "FAIL: $i" + fi +done diff --git a/meta-oe/recipes-connectivity/zeromq/zeromq_4.0.4.bb b/meta-oe/recipes-connectivity/zeromq/zeromq_4.0.4.bb new file mode 100644 index 0000000000..80907fa7c0 --- /dev/null +++ b/meta-oe/recipes-connectivity/zeromq/zeromq_4.0.4.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework" +HOMEPAGE = "http://www.zeromq.org" +LICENSE = "LGPLv3+" +LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1" + +SRC_URI = "http://download.zeromq.org/zeromq-${PV}.tar.gz \ + file://run-ptest \ + " +SRC_URI[md5sum] = "f3c3defbb5ef6cc000ca65e529fdab3b" +SRC_URI[sha256sum] = "1ef71d46e94f33e27dd5a1661ed626cd39be4d2d6967792a275040e34457d399" + +S = "${WORKDIR}/zeromq-${PV}" + +#Uncomment to choose polling system manually. valid values are kqueue, epoll, devpoll, poll or select +#EXTRA_OECONF += "--with-poller=kqueue" +#CFLAGS_append += "-O0" +#CXXFLAGS_append += "-O0" + +inherit autotools ptest + +do_install_ptest () { + install -d ${D}${PTEST_PATH}/tests + install -m 0755 ${B}/tests/.libs/* ${D}${PTEST_PATH}/tests +} 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/libxml/libxml++-2.37.1/libxml++_ptest.patch b/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch index a18822f724..82960f1120 100644 --- a/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch +++ b/meta-oe/recipes-core/libxml/libxml++-2.37.1/libxml++_ptest.patch @@ -12,10 +12,19 @@ index d4aadb1..0e36756 100644 # Optional: auto-generate the ChangeLog file from the git log on make dist include $(top_srcdir)/macros/dist-changelog.am diff --git a/examples/Makefile.am b/examples/Makefile.am -index d9541ca..c28b49c 100644 +index d9541ca..c27e088 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am -@@ -36,6 +36,23 @@ check_PROGRAMS = \ +@@ -19,6 +19,8 @@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) -I. $(LIBXMLXX_CFLAGS) + AM_CXXFLAGS = $(LIBXMLXX_WXXFLAGS) + LDADD = $(top_builddir)/libxml++/libxml++-$(LIBXMLXX_API_VERSION).la $(LIBXMLXX_LIBS) + ++LOG_DRIVER = $(SHELL) ../macros/test-driver ++ + check_PROGRAMS = \ + dom_build/dom_build \ + dom_parse_entities/dom_parse_entities \ +@@ -36,6 +38,23 @@ check_PROGRAMS = \ schemavalidation/schemavalidation \ textreader/textreader @@ -39,20 +48,20 @@ index d9541ca..c28b49c 100644 # Shell scripts that call the example programs. check_SCRIPTS = \ dom_build/make_check.sh \ -@@ -147,10 +164,10 @@ dist_noinst_DATA = \ +@@ -147,10 +166,10 @@ dist_noinst_DATA = \ # file are located in different directories. dom_read_write/make_check.sh: Makefile echo '# Generated and used by "make check"' >$@ - echo 'dom_read_write/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@ -+ echo 'dom_read_write/.libs/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@ ++ echo 'cd dom_read_write && .libs/dom_read_write "example.xml" example_output.xml >/dev/null' >>$@ chmod +x $@ -script_template = cd "$(srcdir)/<!progname!>" && "$(abs_builddir)/<!progname!>/<!progname!>" >/dev/null -+script_template = cd "$(srcdir)/<!progname!>" && ".libs/<!progname!>" >/dev/null ++script_template = cd "<!progname!>" && ".libs/<!progname!>" >/dev/null standard_scripts = $(filter-out dom_read_write/make_check.sh,$(check_SCRIPTS)) # All other script files are generated like so: -@@ -162,3 +179,18 @@ $(standard_scripts): Makefile +@@ -162,3 +181,18 @@ $(standard_scripts): Makefile CLEANFILES = \ dom_read_write/example_output.xml \ $(check_SCRIPTS) @@ -65,9 +74,9 @@ index d9541ca..c28b49c 100644 + $(MKDIR_P) $(DESTDIR)/examples + cp --parents $(check_DOTLIBS) $(DESTDIR)/examples + cp --parents $(check_SCRIPTS) $(DESTDIR)/examples -+ cp --parents $(dist_noinst_DATA) $(DESTDIR)/examples ++ cd $(srcdir) && cp --parents $(dist_noinst_DATA) $(DESTDIR)/examples + cp Makefile $(DESTDIR)/examples + $(MKDIR_P) $(DESTDIR)/macros -+ cp ../macros/test-driver $(DESTDIR)/macros ++ cp $(srcdir)/../macros/test-driver $(DESTDIR)/macros + sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/examples/Makefile + diff --git a/meta-oe/recipes-core/llvm/llvm.inc b/meta-oe/recipes-core/llvm/llvm.inc index 525dd3caca..26bac33105 100644 --- a/meta-oe/recipes-core/llvm/llvm.inc +++ b/meta-oe/recipes-core/llvm/llvm.inc @@ -25,13 +25,90 @@ HOMEPAGE = "http://llvm.org" LICENSE = "NCSA" LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=d0a3ef0d3e0e8f5cf59e5ffc273ab1f8" -# 2.* inherits also cmake -# 3.* inherits also automake -inherit perlnative pythonnative +DEPENDS = "libffi libxml2-native llvm-common" + +inherit perlnative pythonnative autotools LLVM_RELEASE = "${PV}" LLVM_DIR = "llvm${LLVM_RELEASE}" +SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.gz" +S = "${WORKDIR}/llvm-${PV}.src" + +LLVM_BUILD_DIR = "${WORKDIR}/llvm-${PV}.build" +LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" + +EXTRA_OECONF += "--disable-assertions \ + --enable-debug-runtime \ + --disable-expensive-checks \ + --enable-bindings=none \ + --enable-keep-symbols \ + --enable-libffi \ + --enable-optimized \ + --enable-shared \ + --enable-targets=host-only" +EXTRA_OEMAKE += "REQUIRES_RTTI=1 VERBOSE=1" + +do_configure_prepend() { + # Remove RPATHs + sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' ${S}/Makefile.rules + + # Drop "svn" suffix from version string + sed -i 's/${PV}svn/${PV}/g' ${S}/configure + + # Fix paths in llvm-config + sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp + sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp + + # Fails to build unless using separate directory from source + mkdir -p ${LLVM_BUILD_DIR} + cd ${LLVM_BUILD_DIR} +} + +do_compile() { + cd ${LLVM_BUILD_DIR} + oe_runmake \ + AR="${BUILD_AR}" \ + CC="${BUILD_CC}" \ + CFLAGS="${BUILD_CFLAGS}" \ + CXX="${BUILD_CXX}" \ + CXXFLAGS="${BUILD_CXXFLAGS}" \ + CPP="${BUILD_CPP}" \ + CPPFLAGS="${BUILD_CPPFLAGS}" \ + NM="${BUILD_NM}" \ + RANLIB="${BUILD_RANLIB}" \ + PATH="${STAGING_BINDIR_NATIVE}:$PATH" \ + cross-compile-build-tools + oe_runmake +} + +do_install() { + cd ${LLVM_BUILD_DIR} + oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install + + mv ${LLVM_INSTALL_DIR}${bindir}/${HOST_SYS}-llvm-config-host ${LLVM_INSTALL_DIR}/llvm-config-host + + install -d ${D}${bindir}/${LLVM_DIR} + mv ${LLVM_INSTALL_DIR}${bindir}/* ${D}${bindir}/${LLVM_DIR}/ + + install -d ${D}${includedir}/${LLVM_DIR} + mv ${LLVM_INSTALL_DIR}${includedir}/* ${D}${includedir}/${LLVM_DIR}/ + + install -d ${D}${libdir}/${LLVM_DIR} + mv ${LLVM_INSTALL_DIR}${libdir}/* ${D}${libdir}/${LLVM_DIR}/ + ln -s ${LLVM_DIR}/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so + + install -d ${D}${docdir}/${LLVM_DIR} + mv ${LLVM_INSTALL_DIR}${prefix}/docs/llvm/* ${D}${docdir}/${LLVM_DIR} +} + +SYSROOT_PREPROCESS_FUNCS += "llvm_sysroot_preprocess" + +llvm_sysroot_preprocess() { + install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} + mv ${LLVM_INSTALL_DIR}/llvm-config-host ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} +} + ALLOW_EMPTY_${PN} = "1" ALLOW_EMPTY_${PN}-staticdev = "1" FILES_${PN} = "" @@ -50,6 +127,8 @@ FILES_${PN}-dev = "${bindir}/${LLVM_DIR} \ PACKAGES_DYNAMIC = "^libllvm-.*$" +INSANE_SKIP_libllvm${LLVM_RELEASE}-llvm-${LLVM_RELEASE} += "dev-so" + python llvm_populate_packages() { libdir = bb.data.expand('${libdir}', d) libllvm_libdir = bb.data.expand('${libdir}/${LLVM_DIR}', d) @@ -58,8 +137,6 @@ python llvm_populate_packages() { split_staticdev_packages = do_split_packages(d, libllvm_libdir, '^lib(.*)\.a$', 'libllvm${LLVM_RELEASE}-%s-staticdev', 'Split staticdev package for %s', allow_dirs=True) if split_packages: pn = d.getVar('PN', True) - for package in split_packages: - d.appendVar('INSANE_SKIP_' + package, ' dev-so') d.appendVar('RDEPENDS_' + pn, ' '+' '.join(split_packages)) d.appendVar('RDEPENDS_' + pn + '-dbg', ' '+' '.join(split_dbg_packages)) d.appendVar('RDEPENDS_' + pn + '-staticdev', ' '+' '.join(split_staticdev_packages)) diff --git a/meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch b/meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch deleted file mode 100644 index a7f7bbe359..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.8/0019-issue6065.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- - ARMJITInfo.cpp | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- a/lib/Target/ARM/ARMJITInfo.cpp -+++ b/lib/Target/ARM/ARMJITInfo.cpp -@@ -99,7 +99,13 @@ - // The above twiddling of the saved return addresses allows us to - // deallocate everything, including the LR the stub saved, all in one - // pop instruction. -+#ifndef __thumb__ - "ldmia sp!, {r0, r1, r2, r3, lr, pc}\n" -+#else -+ // thumb dont allow lr and pc to be poped in the same instruction. -+ "pop {r0, r1, r2, r3, lr}\n" -+ "pop {pc}\n" -+#endif - ); - #else // Not an ARM host - void ARMCompilationCallback() { diff --git a/meta-oe/recipes-core/llvm/llvm2.8/30may-llvm2.8-pr399-ppc-arm.patch b/meta-oe/recipes-core/llvm/llvm2.8/30may-llvm2.8-pr399-ppc-arm.patch deleted file mode 100644 index ee5cbafd1c..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.8/30may-llvm2.8-pr399-ppc-arm.patch +++ /dev/null @@ -1,113 +0,0 @@ -Index: llvm-2.8/lib/ExecutionEngine/JIT/JIT.cpp -=================================================================== ---- llvm-2.8.orig/lib/ExecutionEngine/JIT/JIT.cpp 2010-08-17 18:19:18.000000000 +0200 -+++ llvm-2.8/lib/ExecutionEngine/JIT/JIT.cpp 2011-12-19 21:16:21.884288536 +0100 -@@ -252,7 +252,12 @@ - MutexGuard guard(Lock); - JITs.erase(jit); - } -- void *getPointerToNamedFunction(const char *Name) const { -+ bool empty() { -+ MutexGuard guard(Lock); -+ return JITs.empty(); -+ } -+ void *getPointerToNamedFunction(const char *Name, -+ bool AbortOnFailure = true) const { - MutexGuard guard(Lock); - assert(JITs.size() != 0 && "No Jit registered"); - //search function in every instance of JIT -@@ -264,7 +269,19 @@ - } - // The function is not available : fallback on the first created (will - // search in symbol of the current program/library) -- return (*JITs.begin())->getPointerToNamedFunction(Name); -+ return (*JITs.begin())->getPointerToNamedFunction(Name, AbortOnFailure); -+ } -+ void *getPointerToGlobalIfAvailable(GlobalValue *V) const { -+ MutexGuard guard(Lock); -+ assert(JITs.size() != 0 && "No Jit registered"); -+ //search function in every instance of JIT -+ for (SmallPtrSet<JIT*, 1>::const_iterator Jit = JITs.begin(), -+ end = JITs.end(); -+ Jit != end; ++Jit) { -+ if (void *Ptr = (*Jit)->getPointerToGlobalIfAvailable(V)) -+ return Ptr; -+ } -+ return 0; - } - }; - ManagedStatic<JitPool> AllJits; -@@ -280,6 +297,22 @@ - } - } - -+extern "C" { -+ // getPointerToNamedFunctionOrNull - same as the above, but returns -+ // NULL instead of aborting if the function cannot be found. -+ void *getPointerToNamedFunctionOrNull(const char *Name) { -+ return !AllJits->empty() ? AllJits->getPointerToNamedFunction(Name, false) : 0; -+ } -+} -+ -+extern "C" { -+ // getPointerToGlobalIfAvailable - same as the above, but for global -+ // variables, and only for those that have been codegened already. -+ void *getPointerToGlobalIfAvailable(GlobalValue *V) { -+ return !AllJits->empty() ? AllJits->getPointerToGlobalIfAvailable(V) : 0; -+ } -+} -+ - JIT::JIT(Module *M, TargetMachine &tm, TargetJITInfo &tji, - JITMemoryManager *JMM, CodeGenOpt::Level OptLevel, bool GVsWithCode) - : ExecutionEngine(M), TM(tm), TJI(tji), AllocateGVsWithCode(GVsWithCode), -Index: llvm-2.8/lib/Target/ARM/ARMISelLowering.cpp -=================================================================== ---- llvm-2.8.orig/lib/Target/ARM/ARMISelLowering.cpp 2010-09-03 03:35:08.000000000 +0200 -+++ llvm-2.8/lib/Target/ARM/ARMISelLowering.cpp 2011-12-19 21:16:21.884288536 +0100 -@@ -1119,6 +1119,9 @@ - } - } - -+extern "C" void *getPointerToNamedFunctionOrNull(const char *Name); -+extern "C" void *getPointerToGlobalIfAvailable(GlobalValue *Value); -+ - /// LowerCall - Lowering a call into a callseq_start <- - /// ARMISD:CALL <- callseq_end chain. Also add input and output parameter - /// nodes. -@@ -1272,6 +1275,26 @@ - InFlag =SDValue(); - } - -+ EVT PtrVT = DAG.getTargetLoweringInfo().getPointerTy(); -+ -+ // XXX Work around for http://llvm.org/bugs/show_bug.cgi?id=5201 -+ // and http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=399 -+ // for Shark. -+ // -+ // If the callee is an ExternalSymbol node, and the symbol can be -+ // resolved to a function pointer, then insert that pointer as a -+ // constant. This causes the next block of code to fall into the -+ // block that emits an indirect call. This works around -+ // -+ // This works for Shark because the only kinds of call that Shark -+ // makes that do not already fall into the indirect call block are -+ // calls to pre-existing external functions. -+ if (ExternalSymbolSDNode *S = dyn_cast<ExternalSymbolSDNode>(Callee)) { -+ void *FuncPtr = getPointerToNamedFunctionOrNull(S->getSymbol()); -+ if (FuncPtr) -+ Callee = DAG.getConstant((uint64_t) FuncPtr, PtrVT); -+ } -+ - // If the callee is a GlobalAddress/ExternalSymbol node (quite common, every - // direct call is) turn it into a TargetGlobalAddress/TargetExternalSymbol - // node so that legalize doesn't hack it. -Index: llvm-2.8/tools/llc/CMakeLists.txt -=================================================================== ---- llvm-2.8.orig/tools/llc/CMakeLists.txt 2009-09-03 00:45:31.000000000 +0200 -+++ llvm-2.8/tools/llc/CMakeLists.txt 2011-12-19 21:16:21.884288536 +0100 -@@ -1,4 +1,4 @@ --set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} bitreader asmparser) -+set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} jit bitreader asmparser) - - add_llvm_tool(llc - llc.cpp diff --git a/meta-oe/recipes-core/llvm/llvm2.8/add-unistd.patch b/meta-oe/recipes-core/llvm/llvm2.8/add-unistd.patch deleted file mode 100644 index 1c51b30639..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.8/add-unistd.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: llvm-2.8/lib/ExecutionEngine/JIT/Intercept.cpp -=================================================================== ---- llvm-2.8.orig/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-14 18:31:21.008318473 +0200 -+++ llvm-2.8/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-14 18:32:53.523734850 +0200 -@@ -19,6 +19,7 @@ - #include "llvm/Support/ErrorHandling.h" - #include "llvm/System/DynamicLibrary.h" - #include "llvm/Config/config.h" -+#include <unistd.h> - using namespace llvm; - - // AtExitHandlers - List of functions to call when the program exits, diff --git a/meta-oe/recipes-core/llvm/llvm2.8/llvm-mc_disable.patch b/meta-oe/recipes-core/llvm/llvm2.8/llvm-mc_disable.patch deleted file mode 100644 index fddc6743e6..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.8/llvm-mc_disable.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: llvm-2.8/tools/CMakeLists.txt -=================================================================== ---- llvm-2.8.orig/tools/CMakeLists.txt 2010-08-24 11:16:51.000000000 +0200 -+++ llvm-2.8/tools/CMakeLists.txt 2011-12-21 16:47:47.718508763 +0100 -@@ -14,7 +14,6 @@ - add_subdirectory(opt) - add_subdirectory(llvm-as) - add_subdirectory(llvm-dis) --add_subdirectory(llvm-mc) - - add_subdirectory(llc) - add_subdirectory(llvm-ranlib) diff --git a/meta-oe/recipes-core/llvm/llvm2.8_2.8.bb b/meta-oe/recipes-core/llvm/llvm2.8_2.8.bb deleted file mode 100644 index 4d0b3c83cb..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.8_2.8.bb +++ /dev/null @@ -1,16 +0,0 @@ -require llvm.inc -require llvm2.inc - -PR = "r3" - -SRC_URI += " \ - file://30may-llvm2.8-pr399-ppc-arm.patch \ - file://0019-issue6065.patch \ - file://add-unistd.patch \ - file://llvm-mc_disable.patch \ -" - -EXTRA_OECMAKE += " -DBUILD_SHARED_LIBS:BOOL=OFF " - -SRC_URI[md5sum] = "220d361b4d17051ff4bb21c64abe05ba" -SRC_URI[sha256sum] = "25addb742f1c6cc12877ed0ee924dda962d848368ee095be8e48342ae613d43b" diff --git a/meta-oe/recipes-core/llvm/llvm2.9/0019-issue6065.patch b/meta-oe/recipes-core/llvm/llvm2.9/0019-issue6065.patch deleted file mode 100644 index aff3d1d06d..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.9/0019-issue6065.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- llvm-2.9.orig/lib/Target/ARM/ARMJITInfo.cpp 2013-04-19 14:49:28.063566919 +0200 -+++ llvm-2.9/lib/Target/ARM/ARMJITInfo.cpp 2013-04-19 15:24:31.065435029 +0200 -@@ -59,7 +59,17 @@ - // for the real target function right now. We have to act as if this - // whole compilation callback doesn't exist as far as the caller is - // concerned, so we can't just preserve the callee saved regs. -+ // stmdb introduced in http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp?diff_format=h&r1=57911&r2=57910&pathrev=57911 -+ // but fails on armv4t -+ // | {standard input}: Assembler messages: -+ // | {standard input}:22: Error: selected processor does not support Thumb mode `stmdb sp!,{r0,r1,r2,r3,lr}' -+ // | {standard input}:31: Error: lo register required -- `ldmia sp!,{r0,r1,r2,r3,lr}' -+ // | {standard input}:32: Error: lo register required -- `ldr pc,[sp],#4' -+#ifndef __thumb__ - "stmdb sp!, {r0, r1, r2, r3, lr}\n" -+#else -+ "push {r0, r1, r2, r3, lr}\n" -+#endif - #if (defined(__VFP_FP__) && !defined(__SOFTFP__)) - "fstmfdd sp!, {d0, d1, d2, d3, d4, d5, d6, d7}\n" - #endif -@@ -99,8 +109,14 @@ - // The above twiddling of the saved return addresses allows us to - // deallocate everything, including the LR the stub saved, with two - // updating load instructions. -+#ifndef __thumb__ - "ldmia sp!, {r0, r1, r2, r3, lr}\n" - "ldr pc, [sp], #4\n" -+#else -+ // thumb dont allow lr and pc to be poped in the same instruction. -+ "pop {r0, r1, r2, r3, lr}\n" -+ "pop {pc}\n" -+#endif - ); - #else // Not an ARM host - void ARMCompilationCallback() { diff --git a/meta-oe/recipes-core/llvm/llvm2.9/0035-gcc-4.7.patch b/meta-oe/recipes-core/llvm/llvm2.9/0035-gcc-4.7.patch deleted file mode 100644 index 4cf8d44640..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.9/0035-gcc-4.7.patch +++ /dev/null @@ -1,16 +0,0 @@ -Upstream-Status: Pending - -Imported from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=673266 - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> - ---- a/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-17 16:11:46.956180361 +0200 -+++ b/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-17 16:14:35.256184996 +0200 -@@ -52,6 +52,7 @@ - #include <sys/stat.h> - #endif - #include <fcntl.h> -+#include <unistd.h> - /* stat functions are redirecting to __xstat with a version number. On x86-64 - * linking with libc_nonshared.a and -Wl,--export-dynamic doesn't make 'stat' - * available as an exported symbol, so we have to add it explicitly. diff --git a/meta-oe/recipes-core/llvm/llvm2.9/arm_fenv_uclibc.patch b/meta-oe/recipes-core/llvm/llvm2.9/arm_fenv_uclibc.patch deleted file mode 100644 index c3ae494645..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.9/arm_fenv_uclibc.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: llvm-2.9/include/llvm/Support/FEnv.h -=================================================================== ---- llvm-2.9.orig/include/llvm/Support/FEnv.h 2010-11-29 20:44:50.000000000 +0100 -+++ llvm-2.9/include/llvm/Support/FEnv.h 2011-11-18 18:42:22.580161297 +0100 -@@ -17,6 +17,9 @@ - - #include "llvm/Config/config.h" - #include <cerrno> -+ -+#undef HAVE_FENV_H -+ - #ifdef HAVE_FENV_H - #include <fenv.h> - #endif diff --git a/meta-oe/recipes-core/llvm/llvm2.9_2.9.bb b/meta-oe/recipes-core/llvm/llvm2.9_2.9.bb deleted file mode 100644 index 44504b8e1f..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.9_2.9.bb +++ /dev/null @@ -1,21 +0,0 @@ -require llvm.inc -require llvm2.inc - -PR = "r3" - -SRC_URI += "file://0035-gcc-4.7.patch" - -ARM_INSTRUCTION_SET = "arm" - -# 0019-issue6065.patch is still needed but a bit modified, because it was resolved by -# http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp?r1=120304&r2=124694&pathrev=124694 -# http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp?diff_format=h&r1=57911&r2=57910&pathrev=57911 -# and still it fails with -# {standard input}:31: Error: invalid register list to push/pop instruction -- `pop {r0,r1,r2,r3,lr}' -# make[2]: *** [lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMJITInfo.cpp.o] Error 1 -# SRC_URI += "file://0019-issue6065.patch" - -SRC_URI_append_libc-uclibc = " file://arm_fenv_uclibc.patch " - -SRC_URI[md5sum] = "793138412d2af2c7c7f54615f8943771" -SRC_URI[sha256sum] = "661236cfa17428b48cfa9cbb9909f7569c64b8ecd219fd91dbc00e3b557b3779" diff --git a/meta-oe/recipes-core/llvm/llvm2.inc b/meta-oe/recipes-core/llvm/llvm2.inc deleted file mode 100644 index a1f6ce87d4..0000000000 --- a/meta-oe/recipes-core/llvm/llvm2.inc +++ /dev/null @@ -1,170 +0,0 @@ -DEPENDS = "llvm${LLVM_RELEASE}-native llvm-common perl-native" -DEPENDS_class-native = "llvm-common-native cmake-native" - -SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.tgz" -S = "${WORKDIR}/llvm-${PV}" - -LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=0ac5f799a2d89477c75b0a378b221855" - -inherit cmake - -# Defines the LLVM supported arches. By now we always build either for ${BUILD} -# (native) or ${TARGET}. In the future it may make sense to enable all backends -# for the non-native build. The decision which backends are used is made by -# the 3rd party program or library that uses llvm anyway. -LLVM_ARCH = "${@get_llvm_arch(d)}" - -# This is used for generating the install directory for the llvm libraries, -# binaries and headers. It makes side by side installation of those possible. -LLVM_RELEASE = "${PV}" - -BBCLASSEXTEND = "native" - -LLVM_INSTALL_DIR = "${B}/llvm-install" - -# other architectures require X86 available, -LLVM_EXTRA_ARCH = "X86;" -LLVM_EXTRA_ARCH_x86 = "" -LLVM_EXTRA_ARCH_x86-64 = "" - -EXTRA_OECMAKE = "\ - -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/${LLVM_DIR}/tblgen \ - -DLLVM_TARGETS_TO_BUILD="${LLVM_EXTRA_ARCH}${LLVM_ARCH}" \ - -DCMAKE_LINKER:FILEPATH=${LD} \ - -DCMAKE_AR:FILEPATH=${AR} \ - -DCMAKE_OBJCOPY:FILEPATH=${OBJCOPY} \ - -DCMAKE_OBJDUMP:FILEPATH=${OBJDUMP} \ - -DCMAKE_RANLIB:FILEPATH=${RANLIB} \ - -DCMAKE_STRIP:FILEPATH=${STRIP} \ - -DNM_PATH:FILEPATH=${NM} \ - -DLLVM_ENABLE_PIC:BOOL=ON \ - -DLLVM_TARGET_ARCH:STRING=${LLVM_ARCH} \ - -DLLVM_ENABLE_ASSERTIONS:BOOL=ON \ - -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \ - -DBUILD_SHARED_LIBS:BOOL=ON \ - -DCMAKE_SKIP_BUILD_RPATH:BOOL=ON \ -" - -# We need to reset this to avoid breakage as we build out of tree -TOOLCHAIN_OPTIONS = "" - -# the difference to the non-native build is that we do not need -# to declare the location of the tblgen executable. -EXTRA_OECMAKE_class-native = "\ - -DLLVM_TARGETS_TO_BUILD=${LLVM_ARCH} \ - -DCMAKE_LINKER:FILEPATH=${LD} \ - -DCMAKE_AR:FILEPATH=${AR} \ - -DCMAKE_OBJCOPY:FILEPATH=${OBJCOPY} \ - -DCMAKE_OBJDUMP:FILEPATH=${OBJDUMP} \ - -DCMAKE_RANLIB:FILEPATH=${RANLIB} \ - -DCMAKE_STRIP:FILEPATH=${STRIP} \ - -DNM_PATH:FILEPATH=${NM} \ -" - -base_do_compile_prepend() { - # Avoid *** No rule to make target `native/bin/tblgen', needed by `include/llvm/Intrinsics.gen.tmp' - oe_runmake tblgen -} - -do_install() { - # Install into a private directory to be able to reorganize the files. - cd ${B} - oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install - - # Create our custom target directories - install -d ${D}${bindir}/${LLVM_DIR} - install -d ${D}${includedir}/${LLVM_DIR} - install -d ${D}${libdir}/${LLVM_DIR} - - # Move headers into their own directory - cp -R ${LLVM_INSTALL_DIR}/${prefix}/include/llvm \ - ${D}${includedir}/${LLVM_DIR}/ - cp -R ${LLVM_INSTALL_DIR}/${prefix}/include/llvm-c \ - ${D}${includedir}/${LLVM_DIR}/ - - find ${LLVM_INSTALL_DIR}/${prefix}/lib -name "*" -maxdepth 1 -exec \ - install {} ${D}${libdir}/${LLVM_DIR} \; - - # I dont know another way out. Binaries are installed into a special subdir - find ${LLVM_INSTALL_DIR}/${prefix}/bin -name "*" -maxdepth 1 -exec \ - install {} ${D}${bindir}/${LLVM_DIR} \; - - # LLVM does not install this by default. - install bin/tblgen ${D}${bindir}/${LLVM_DIR} -} - -SYSROOT_PREPROCESS_FUNCS_append_class-target = " llvm_sysroot_preprocess" - -llvm_sysroot_preprocess() { - cd ${B} - - # Fix the paths in the config script to make it find the binaries and - # library files. Doing so allows 3rd party configure scripts working - # unmodified. - sed -e's!my.*ABS_RUN_DIR =.*!my $ABS_RUN_DIR = "${STAGING_DIR_TARGET}";!' \ - -e's!my.*INCLUDEDIR =.*!my $INCLUDEDIR = "${STAGING_INCDIR}/${LLVM_DIR}";!' \ - -e's!my.*LIBDIR.*!my $LIBDIR = "${STAGING_LIBDIR}/${LLVM_DIR}";!' \ - -e's!my.*BINDIR.*!my $BINDIR = "${STAGING_BINDIR}/${LLVM_DIR}";!' \ - bin/llvm-config > bin/llvm-config${LLVM_RELEASE} - - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} - install -m 0755 bin/llvm-config${LLVM_RELEASE} ${SYSROOT_DESTDIR}${bindir_crossscripts} -} - -do_install_class-native() { - # Install into a private directory to be able to reorganize the files. - cd ${B} - oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install - - # Create our custom target directories - install -d ${D}${bindir}/${LLVM_DIR} - install -d ${D}${includedir}/${LLVM_DIR} - install -d ${D}${libdir}/${LLVM_DIR} - - # Move headers into their own directory - cp -R ${LLVM_INSTALL_DIR}/${prefix}/include/llvm \ - ${D}${includedir}/${LLVM_DIR}/ - cp -R ${LLVM_INSTALL_DIR}/${prefix}/include/llvm-c \ - ${D}${includedir}/${LLVM_DIR}/ - - find ${LLVM_INSTALL_DIR}/${prefix}/lib -name "*" -maxdepth 1 -exec \ - install {} ${D}${libdir}/${LLVM_DIR} \; - - # I dont know another way out. Binaries are installed into a special subdir - find ${LLVM_INSTALL_DIR}/${prefix}/bin -name "*" -maxdepth 1 -exec \ - install {} ${D}${bindir}/${LLVM_DIR} \; - - # LLVM does not install this by default. - install bin/tblgen ${D}${bindir}/${LLVM_DIR} - - # Fix the paths in the config script to make it find the binaries and - # library files. Doing so allows 3rd party configure scripts working - # unmodified. - sed -e's!my.*ABS_RUN_DIR =.*!my $ABS_RUN_DIR = "${STAGING_DIR_TARGET}";!' \ - -e's!my.*INCLUDEDIR =.*!my $INCLUDEDIR = "${STAGING_INCDIR}/${LLVM_DIR}";!' \ - -e's!my.*LIBDIR.*!my $LIBDIR = "${STAGING_LIBDIR}/${LLVM_DIR}";!' \ - -e's!my.*BINDIR.*!my $BINDIR = "${STAGING_BINDIR}/${LLVM_DIR}";!' \ - bin/llvm-config > bin/llvm-config${LLVM_RELEASE} - - install -d ${D}${bindir} - install -m 0755 bin/llvm-config${LLVM_RELEASE} ${D}${bindir} -} - -# Retrieve the target in a way that is compatible to the arch -# value in llvm (>= 2.5) -def get_llvm_arch(d): - import bb; - - arch = bb.data.getVar('TARGET_ARCH', d, 1) - if arch == "x86_64" or arch == "i486" or arch == "i586" or arch == "i686": - arch = "X86" - elif arch == "arm": - arch = "ARM" - elif arch == "mipsel" or arch == "mips": - arch = "mips" - elif arch == "powerpc" or arch == "powerpc64": - arch = "PowerPC" - else: - bb.warn("%s does not support %s yet" % (bb.data.getVar('PN', d, 1), arch) ); - - return arch diff --git a/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb b/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb index 65db1a8941..4617efa8b7 100644 --- a/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb +++ b/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb @@ -1,5 +1,4 @@ require llvm.inc -require llvm3.inc DEPENDS += "zlib" EXTRA_OECONF += "--enable-zlib" diff --git a/meta-oe/recipes-core/llvm/llvm3.inc b/meta-oe/recipes-core/llvm/llvm3.inc deleted file mode 100644 index a5bd896c60..0000000000 --- a/meta-oe/recipes-core/llvm/llvm3.inc +++ /dev/null @@ -1,80 +0,0 @@ -DEPENDS = "libffi libxml2-native llvm-common" - -SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.gz" -S = "${WORKDIR}/llvm-${PV}.src" - -inherit autotools - -LLVM_BUILD_DIR = "${WORKDIR}/llvm-${PV}.build" -LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" - -EXTRA_OECONF += "--disable-assertions \ - --enable-debug-runtime \ - --disable-expensive-checks \ - --enable-bindings=none \ - --enable-keep-symbols \ - --enable-libffi \ - --enable-optimized \ - --enable-shared \ - --enable-targets=host-only" -EXTRA_OEMAKE += "REQUIRES_RTTI=1 VERBOSE=1" - -do_configure_prepend() { - # Remove RPATHs - sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' ${S}/Makefile.rules - - # Drop "svn" suffix from version string - sed -i 's/${PV}svn/${PV}/g' ${S}/configure - - # Fix paths in llvm-config - sed -i "s|sys::path::parent_path(CurrentPath))\.str()|sys::path::parent_path(sys::path::parent_path(CurrentPath))).str()|g" ${S}/tools/llvm-config/llvm-config.cpp - sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp - - # Fails to build unless using separate directory from source - mkdir -p ${LLVM_BUILD_DIR} - cd ${LLVM_BUILD_DIR} -} - -do_compile() { - cd ${LLVM_BUILD_DIR} - oe_runmake \ - AR="${BUILD_AR}" \ - CC="${BUILD_CC}" \ - CFLAGS="${BUILD_CFLAGS}" \ - CXX="${BUILD_CXX}" \ - CXXFLAGS="${BUILD_CXXFLAGS}" \ - CPP="${BUILD_CPP}" \ - CPPFLAGS="${BUILD_CPPFLAGS}" \ - NM="${BUILD_NM}" \ - RANLIB="${BUILD_RANLIB}" \ - PATH="${STAGING_BINDIR_NATIVE}:$PATH" \ - cross-compile-build-tools - oe_runmake -} - -do_install() { - cd ${LLVM_BUILD_DIR} - oe_runmake DESTDIR=${LLVM_INSTALL_DIR} install - - mv ${LLVM_INSTALL_DIR}${bindir}/${HOST_SYS}-llvm-config-host ${LLVM_INSTALL_DIR}/llvm-config-host - - install -d ${D}${bindir}/${LLVM_DIR} - mv ${LLVM_INSTALL_DIR}${bindir}/* ${D}${bindir}/${LLVM_DIR}/ - - install -d ${D}${includedir}/${LLVM_DIR} - mv ${LLVM_INSTALL_DIR}${includedir}/* ${D}${includedir}/${LLVM_DIR}/ - - install -d ${D}${libdir}/${LLVM_DIR} - mv ${LLVM_INSTALL_DIR}${libdir}/* ${D}${libdir}/${LLVM_DIR}/ - ln -s ${LLVM_DIR}/libLLVM-${PV}.so ${D}${libdir}/libLLVM-${PV}.so - - install -d ${D}${docdir}/${LLVM_DIR} - mv ${LLVM_INSTALL_DIR}${prefix}/docs/llvm/* ${D}${docdir}/${LLVM_DIR} -} - -SYSROOT_PREPROCESS_FUNCS += "llvm_sysroot_preprocess" - -llvm_sysroot_preprocess() { - install -d ${SYSROOT_DESTDIR}${bindir_crossscripts} - mv ${LLVM_INSTALL_DIR}/llvm-config-host ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} -} 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 08db94344e..20b16527e9 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb @@ -7,11 +7,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d PR = "r13" -inherit packagegroup - -# packages which content depend on MACHINE_FEATURES need to be MACHINE_ARCH -# PACKAGE_ARCH = "${MACHINE_ARCH}" +inherit packagegroup # Poke extra recomendations into the list using your machine.conf # @@ -23,9 +20,6 @@ MACHINE_EXTRA_RRECOMMENDS ?= "" # TASK_BASIC_SSHDAEMON ?= "dropbear openssh-sftp openssh-sftp-server" -RPROVIDES_${PN} += "task-basic" -RREPLACES_${PN} += "task-basic" -RCONFLICTS_${PN} += "task-basic" # # The section below is designed to match with packagegroup-boot, but doesn't depend on it to allow for more freedom # when writing image recipes. diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb b/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb index 3b634f3a74..f50443d812 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb @@ -4,11 +4,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d PR = "r58" -inherit packagegroup - -# packages which content depend on MACHINE_FEATURES need to be MACHINE_ARCH -# PACKAGE_ARCH = "${MACHINE_ARCH}" +inherit packagegroup # # those ones can be set in machine config to supply packages needed to get machine booting @@ -19,10 +16,6 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" # Make sure we build the kernel DEPENDS = "virtual/kernel" -RPROVIDES_${PN} += "task-boot" -RREPLACES_${PN} += "task-boot" -RCONFLICTS_${PN} += "task-boot" - # # minimal set of packages - needed to boot # diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb b/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb index fbba23ca22..2a4b067ba2 100644 --- a/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb +++ b/meta-oe/recipes-core/packagegroups/packagegroup-cli-tools.bb @@ -10,13 +10,6 @@ inherit packagegroup allarch PACKAGES += "${PN}-debug" -RPROVIDES_${PN} += "task-cli-tools" -RPROVIDES_${PN}-debug += "task-cli-tools-debug" -RREPLACES_${PN} += "task-cli-tools" -RREPLACES_${PN}-debug += "task-cli-tools-debug" -RCONFLICTS_${PN} += "task-cli-tools" -RCONFLICTS_${PN}-debug += "task-cli-tools-debug" - RDEPENDS_${PN} = "\ dbus-daemon-proxy \ dosfstools \ 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 new file mode 100644 index 0000000000..e071f22b16 --- /dev/null +++ b/meta-oe/recipes-core/toybox/toybox/0001-Match-paths-with-busybox.patch @@ -0,0 +1,383 @@ +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 + +To ensure that toybox can be installed alongside busybox without confusing +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 +- + toys/other/insmod.c | 2 +- + toys/other/lsmod.c | 2 +- + toys/other/netcat.c | 2 +- + toys/other/pivot_root.c | 2 +- + toys/other/readlink.c | 2 +- + toys/other/reboot.c | 6 +++--- + toys/other/rfkill.c | 2 +- + toys/other/rmmod.c | 2 +- + toys/other/swapoff.c | 2 +- + toys/other/swapon.c | 2 +- + toys/other/sysctl.c | 2 +- + toys/posix/cut.c | 2 +- + toys/posix/df.c | 2 +- + toys/posix/head.c | 2 +- + toys/posix/id.c | 6 +++--- + toys/posix/mkfifo.c | 2 +- + toys/posix/renice.c | 2 +- + toys/posix/tail.c | 2 +- + toys/posix/tee.c | 2 +- + toys/posix/uniq.c | 2 +- + toys/posix/who.c | 2 +- + 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 ++++ b/toys/lsb/pidof.c +@@ -5,7 +5,7 @@ + * + * http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/pidof.html + +-USE_PIDOF(NEWTOY(pidof, "<1so:", TOYFLAG_USR|TOYFLAG_BIN)) ++USE_PIDOF(NEWTOY(pidof, "<1so:", TOYFLAG_BIN)) + + config PIDOF + bool "pidof" +diff --git a/toys/other/chvt.c b/toys/other/chvt.c +index 6544265..a93327f 100644 +--- a/toys/other/chvt.c ++++ b/toys/other/chvt.c +@@ -2,7 +2,7 @@ + * + * Copyright (C) 2008 David Anders <danders@amltd.com> + +-USE_CHVT(NEWTOY(chvt, "<1", TOYFLAG_USR|TOYFLAG_SBIN)) ++USE_CHVT(NEWTOY(chvt, "<1", TOYFLAG_USR|TOYFLAG_BIN)) + + config CHVT + bool "chvt" +diff --git a/toys/other/ifconfig.c b/toys/other/ifconfig.c +index f5d4215..5e7c54c 100644 +--- a/toys/other/ifconfig.c ++++ b/toys/other/ifconfig.c +@@ -6,7 +6,7 @@ + * + * Not in SUSv4. + +-USE_IFCONFIG(NEWTOY(ifconfig, "?a", TOYFLAG_BIN)) ++USE_IFCONFIG(NEWTOY(ifconfig, "?a", TOYFLAG_SBIN)) + + config IFCONFIG + bool "ifconfig" +diff --git a/toys/other/insmod.c b/toys/other/insmod.c +index 8aa959a..75fd7cd 100644 +--- a/toys/other/insmod.c ++++ b/toys/other/insmod.c +@@ -2,7 +2,7 @@ + * + * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> + +-USE_INSMOD(NEWTOY(insmod, "<1", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) ++USE_INSMOD(NEWTOY(insmod, "<1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) + + config INSMOD + bool "insmod" +diff --git a/toys/other/lsmod.c b/toys/other/lsmod.c +index b8f5d82..4d16048 100644 +--- a/toys/other/lsmod.c ++++ b/toys/other/lsmod.c +@@ -2,7 +2,7 @@ + * + * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> + +-USE_LSMOD(NEWTOY(lsmod, NULL, TOYFLAG_BIN)) ++USE_LSMOD(NEWTOY(lsmod, NULL, TOYFLAG_SBIN)) + + config LSMOD + bool "lsmod" +diff --git a/toys/other/netcat.c b/toys/other/netcat.c +index 3c6f630..188c3d1 100644 +--- a/toys/other/netcat.c ++++ b/toys/other/netcat.c +@@ -4,7 +4,7 @@ + * + * TODO: udp, ipv6, genericize for telnet/microcom/tail-f + +-USE_NETCAT(OLDTOY(nc, netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_BIN)) ++USE_NETCAT(OLDTOY(nc, netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_USR|TOYFLAG_BIN)) + USE_NETCAT(NEWTOY(netcat, USE_NETCAT_LISTEN("tl^L^")"w#p#s:q#f:", TOYFLAG_BIN)) + + config NETCAT +diff --git a/toys/other/pivot_root.c b/toys/other/pivot_root.c +index 3e4beac..ce3d3a8 100644 +--- a/toys/other/pivot_root.c ++++ b/toys/other/pivot_root.c +@@ -2,7 +2,7 @@ + * + * Copyright 2012 Rob Landley <rob@landley.net> + +-USE_PIVOT_ROOT(NEWTOY(pivot_root, "<2>2", TOYFLAG_USR|TOYFLAG_BIN)) ++USE_PIVOT_ROOT(NEWTOY(pivot_root, "<2>2", TOYFLAG_SBIN)) + + config PIVOT_ROOT + bool "pivot_root" +diff --git a/toys/other/readlink.c b/toys/other/readlink.c +index 1c33362..fecd1ef 100644 +--- a/toys/other/readlink.c ++++ b/toys/other/readlink.c +@@ -2,7 +2,7 @@ + * + * Copyright 2007 Rob Landley <rob@landley.net> + +-USE_READLINK(NEWTOY(readlink, "<1>1fenq[-fe]", TOYFLAG_BIN)) ++USE_READLINK(NEWTOY(readlink, "<1>1fenq[-fe]", TOYFLAG_USR|TOYFLAG_BIN)) + + config READLINK + bool "readlink" +diff --git a/toys/other/reboot.c b/toys/other/reboot.c +index 5cbc4f8..f8baafc 100644 +--- a/toys/other/reboot.c ++++ b/toys/other/reboot.c +@@ -2,9 +2,9 @@ + * + * Copyright 2013 Elie De Brauwer <eliedebrauwer@gmail.com> + +-USE_REBOOT(NEWTOY(reboot, "n", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) +-USE_REBOOT(OLDTOY(halt, reboot, "n", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) +-USE_REBOOT(OLDTOY(poweroff, reboot, "n", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) ++USE_REBOOT(NEWTOY(reboot, "n", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) ++USE_REBOOT(OLDTOY(halt, reboot, "n", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) ++USE_REBOOT(OLDTOY(poweroff, reboot, "n", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) + + config REBOOT + bool "reboot" +diff --git a/toys/other/rfkill.c b/toys/other/rfkill.c +index af3efe1..7527ec7 100644 +--- a/toys/other/rfkill.c ++++ b/toys/other/rfkill.c +@@ -5,7 +5,7 @@ + * + * No Standard + +-USE_RFKILL(NEWTOY(rfkill, "<1>2", TOYFLAG_SBIN)) ++USE_RFKILL(NEWTOY(rfkill, "<1>2", TOYFLAG_USR|TOYFLAG_SBIN)) + + config RFKILL + bool "rfkill" +diff --git a/toys/other/rmmod.c b/toys/other/rmmod.c +index b789acc..10c134c 100644 +--- a/toys/other/rmmod.c ++++ b/toys/other/rmmod.c +@@ -2,7 +2,7 @@ + * + * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> + +-USE_RMMOD(NEWTOY(rmmod, "<1wf", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) ++USE_RMMOD(NEWTOY(rmmod, "<1wf", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) + + config RMMOD + bool "rmmod" +diff --git a/toys/other/swapoff.c b/toys/other/swapoff.c +index b89e915..fb17130 100644 +--- a/toys/other/swapoff.c ++++ b/toys/other/swapoff.c +@@ -2,7 +2,7 @@ + * + * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> + +-USE_SWAPOFF(NEWTOY(swapoff, "<1>1", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) ++USE_SWAPOFF(NEWTOY(swapoff, "<1>1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) + + config SWAPOFF + bool "swapoff" +diff --git a/toys/other/swapon.c b/toys/other/swapon.c +index 49f1249..838d382 100644 +--- a/toys/other/swapon.c ++++ b/toys/other/swapon.c +@@ -2,7 +2,7 @@ + * + * Copyright 2012 Elie De Brauwer <eliedebrauwer@gmail.com> + +-USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767", TOYFLAG_BIN|TOYFLAG_NEEDROOT)) ++USE_SWAPON(NEWTOY(swapon, "<1>1p#<0>32767", TOYFLAG_SBIN|TOYFLAG_NEEDROOT)) + + config SWAPON + bool "swapon" +diff --git a/toys/other/sysctl.c b/toys/other/sysctl.c +index 8e57ca1..0c6c640 100644 +--- a/toys/other/sysctl.c ++++ b/toys/other/sysctl.c +@@ -5,7 +5,7 @@ + * + * No Standard + +-USE_SYSCTL(NEWTOY(sysctl, "^neNqwpaA[!ap][!aq][!aw][+aA]", TOYFLAG_USR|TOYFLAG_BIN)) ++USE_SYSCTL(NEWTOY(sysctl, "^neNqwpaA[!ap][!aq][!aw][+aA]", TOYFLAG_SBIN)) + + config SYSCTL + bool "sysctl" +diff --git a/toys/posix/cut.c b/toys/posix/cut.c +index 7f10c5e..1ab3ce8 100644 +--- a/toys/posix/cut.c ++++ b/toys/posix/cut.c +@@ -5,7 +5,7 @@ + * + * http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cut.html + +-USE_CUT(NEWTOY(cut, "b:|c:|f:|d:sn[!cbf]", TOYFLAG_BIN)) ++USE_CUT(NEWTOY(cut, "b:|c:|f:|d:sn[!cbf]", TOYFLAG_USR|TOYFLAG_BIN)) + + config CUT + bool "cut" +diff --git a/toys/posix/df.c b/toys/posix/df.c +index afb296b..6296dc9 100644 +--- a/toys/posix/df.c ++++ b/toys/posix/df.c +@@ -4,7 +4,7 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/df.html + +-USE_DF(NEWTOY(df, "Pkt*a", TOYFLAG_USR|TOYFLAG_SBIN)) ++USE_DF(NEWTOY(df, "Pkt*a", TOYFLAG_BIN)) + + config DF + bool "df" +diff --git a/toys/posix/head.c b/toys/posix/head.c +index e8517d4..3ac4373 100644 +--- a/toys/posix/head.c ++++ b/toys/posix/head.c +@@ -4,7 +4,7 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/head.html + +-USE_HEAD(NEWTOY(head, "n#<0=10", TOYFLAG_BIN)) ++USE_HEAD(NEWTOY(head, "n#<0=10", TOYFLAG_USR|TOYFLAG_BIN)) + + config HEAD + bool "head" +diff --git a/toys/posix/id.c b/toys/posix/id.c +index b4d9c00..df79419 100644 +--- a/toys/posix/id.c ++++ b/toys/posix/id.c +@@ -6,10 +6,10 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/id.html + +-USE_ID(NEWTOY(id, ">1nGgru[!Ggu]", TOYFLAG_BIN)) ++USE_ID(NEWTOY(id, ">1nGgru[!Ggu]", 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" +diff --git a/toys/posix/mkfifo.c b/toys/posix/mkfifo.c +index 15fab70..4e0fca3 100644 +--- a/toys/posix/mkfifo.c ++++ b/toys/posix/mkfifo.c +@@ -4,7 +4,7 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/mkfifo.html + +-USE_MKFIFO(NEWTOY(mkfifo, "<1m:", TOYFLAG_BIN)) ++USE_MKFIFO(NEWTOY(mkfifo, "<1m:", TOYFLAG_USR|TOYFLAG_BIN)) + + config MKFIFO + bool "mkfifo" +diff --git a/toys/posix/renice.c b/toys/posix/renice.c +index 8c20644..489eb13 100644 +--- a/toys/posix/renice.c ++++ b/toys/posix/renice.c +@@ -4,7 +4,7 @@ + * + * See http://pubs.opengroup.org/onlinepubs/9699919799/utilities/renice.html + +-USE_RENICE(NEWTOY(renice, "<1gpun#|", TOYFLAG_BIN)) ++USE_RENICE(NEWTOY(renice, "<1gpun#|", TOYFLAG_USR|TOYFLAG_BIN)) + + config RENICE + bool "renice" +diff --git a/toys/posix/tail.c b/toys/posix/tail.c +index e1048be..ba0a55a 100644 +--- a/toys/posix/tail.c ++++ b/toys/posix/tail.c +@@ -4,7 +4,7 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/tail.html + +-USE_TAIL(NEWTOY(tail, "fc-n-[-cn]", TOYFLAG_BIN)) ++USE_TAIL(NEWTOY(tail, "fc-n-[-cn]", TOYFLAG_USR|TOYFLAG_BIN)) + + config TAIL + bool "tail" +diff --git a/toys/posix/tee.c b/toys/posix/tee.c +index 0388510..5574088 100644 +--- a/toys/posix/tee.c ++++ b/toys/posix/tee.c +@@ -4,7 +4,7 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/tee.html + +-USE_TEE(NEWTOY(tee, "ia", TOYFLAG_BIN)) ++USE_TEE(NEWTOY(tee, "ia", TOYFLAG_USR|TOYFLAG_BIN)) + + config TEE + bool "tee" +diff --git a/toys/posix/uniq.c b/toys/posix/uniq.c +index 3cfdb94..c127cfe 100644 +--- a/toys/posix/uniq.c ++++ b/toys/posix/uniq.c +@@ -4,7 +4,7 @@ + * + * See http://opengroup.org/onlinepubs/9699919799/utilities/uniq.html + +-USE_UNIQ(NEWTOY(uniq, "f#s#w#zicdu", TOYFLAG_BIN)) ++USE_UNIQ(NEWTOY(uniq, "f#s#w#zicdu", TOYFLAG_USR|TOYFLAG_BIN)) + + config UNIQ + bool "uniq" +diff --git a/toys/posix/who.c b/toys/posix/who.c +index 2c8a2e6..d5cd001 100644 +--- a/toys/posix/who.c ++++ b/toys/posix/who.c +@@ -9,7 +9,7 @@ + * Posix says to support many options (-abdHlmpqrstTu) but this + * isn't aimed at minicomputers with modem pools. + +-USE_WHO(NEWTOY(who, "a", TOYFLAG_BIN)) ++USE_WHO(NEWTOY(who, "a", TOYFLAG_USR|TOYFLAG_BIN)) + + config WHO + bool "who" +-- +2.1.2 + diff --git a/meta-oe/recipes-core/toybox/toybox_0.5.0.bb b/meta-oe/recipes-core/toybox/toybox_0.5.0.bb new file mode 100644 index 0000000000..9bdba4da5c --- /dev/null +++ b/meta-oe/recipes-core/toybox/toybox_0.5.0.bb @@ -0,0 +1,64 @@ +SUMMARY = "Toybox combines common utilities together into a single executable." +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] = "2cb6e8b34134038d86048e117f77765f" +SRC_URI[sha256sum] = "2718b42154be041435df48d5b5140f4e307767c36b1017e0c8d0da7f75b327a7" + +LICENSE = "BSD-0-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f0b8b3dd6431bcaa245da0a08bd0d511" + +SECTION = "base" + +do_configure() { + oe_runmake defconfig + + # Disable killall5 as it isn't managed by update-alternatives + sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config +} + +do_compile() { + oe_runmake toybox_unstripped + + # Create a list of links needed + oe_runmake generated/instlist + ./generated/instlist long | sed -e 's#^#/#' > toybox.links +} + +do_install() { + # Install manually instead of using 'make install' + install -d ${D}${base_bindir} + if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then + install -m 4755 ${B}/toybox_unstripped ${D}${base_bindir}/toybox + else + install -m 0755 ${B}/toybox_unstripped ${D}${base_bindir}/toybox + fi + + install -d ${D}${sysconfdir} + install -m 0644 ${B}/toybox.links ${D}${sysconfdir} +} + +inherit update-alternatives + +# If you've chosen to install toybox you probably want it to take precedence +# over busybox where possible but not over other packages +ALTERNATIVE_PRIORITY = "60" + +python do_package_prepend () { + # Read links from /etc/toybox.links and create appropriate + # update-alternatives variables + + dvar = d.getVar('D', True) + pn = d.getVar('PN', True) + target = "/bin/toybox" + + f = open('%s/etc/toybox.links' % (dvar), 'r') + for alt_link_name in f: + alt_link_name = alt_link_name.strip() + alt_name = os.path.basename(alt_link_name) + d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name) + d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name) + d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target) + f.close() +} diff --git a/meta-oe/recipes-core/usleep/files/GPLv2.patch b/meta-oe/recipes-core/usleep/files/GPLv2.patch new file mode 100644 index 0000000000..1ee8181f12 --- /dev/null +++ b/meta-oe/recipes-core/usleep/files/GPLv2.patch @@ -0,0 +1,347 @@ +Upstream-Status: Inappropriate [licensing] + +diff --git a/COPYING b/COPYING +new file mode 100644 +index 0000000..d511905 +--- /dev/null ++++ b/COPYING +@@ -0,0 +1,339 @@ ++ GNU GENERAL PUBLIC LICENSE ++ Version 2, June 1991 ++ ++ Copyright (C) 1989, 1991 Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Everyone is permitted to copy and distribute verbatim copies ++ of this license document, but changing it is not allowed. ++ ++ Preamble ++ ++ The licenses for most software are designed to take away your ++freedom to share and change it. By contrast, the GNU General Public ++License is intended to guarantee your freedom to share and change free ++software--to make sure the software is free for all its users. This ++General Public License applies to most of the Free Software ++Foundation's software and to any other program whose authors commit to ++using it. (Some other Free Software Foundation software is covered by ++the GNU Lesser General Public License instead.) You can apply it to ++your programs, too. ++ ++ When we speak of free software, we are referring to freedom, not ++price. Our General Public Licenses are designed to make sure that you ++have the freedom to distribute copies of free software (and charge for ++this service if you wish), that you receive source code or can get it ++if you want it, that you can change the software or use pieces of it ++in new free programs; and that you know you can do these things. ++ ++ To protect your rights, we need to make restrictions that forbid ++anyone to deny you these rights or to ask you to surrender the rights. ++These restrictions translate to certain responsibilities for you if you ++distribute copies of the software, or if you modify it. ++ ++ For example, if you distribute copies of such a program, whether ++gratis or for a fee, you must give the recipients all the rights that ++you have. You must make sure that they, too, receive or can get the ++source code. And you must show them these terms so they know their ++rights. ++ ++ We protect your rights with two steps: (1) copyright the software, and ++(2) offer you this license which gives you legal permission to copy, ++distribute and/or modify the software. ++ ++ Also, for each author's protection and ours, we want to make certain ++that everyone understands that there is no warranty for this free ++software. If the software is modified by someone else and passed on, we ++want its recipients to know that what they have is not the original, so ++that any problems introduced by others will not reflect on the original ++authors' reputations. ++ ++ Finally, any free program is threatened constantly by software ++patents. We wish to avoid the danger that redistributors of a free ++program will individually obtain patent licenses, in effect making the ++program proprietary. To prevent this, we have made it clear that any ++patent must be licensed for everyone's free use or not licensed at all. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. ++ ++ GNU GENERAL PUBLIC LICENSE ++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License applies to any program or other work which contains ++a notice placed by the copyright holder saying it may be distributed ++under the terms of this General Public License. The "Program", below, ++refers to any such program or work, and a "work based on the Program" ++means either the Program or any derivative work under copyright law: ++that is to say, a work containing the Program or a portion of it, ++either verbatim or with modifications and/or translated into another ++language. (Hereinafter, translation is included without limitation in ++the term "modification".) Each licensee is addressed as "you". ++ ++Activities other than copying, distribution and modification are not ++covered by this License; they are outside its scope. The act of ++running the Program is not restricted, and the output from the Program ++is covered only if its contents constitute a work based on the ++Program (independent of having been made by running the Program). ++Whether that is true depends on what the Program does. ++ ++ 1. You may copy and distribute verbatim copies of the Program's ++source code as you receive it, in any medium, provided that you ++conspicuously and appropriately publish on each copy an appropriate ++copyright notice and disclaimer of warranty; keep intact all the ++notices that refer to this License and to the absence of any warranty; ++and give any other recipients of the Program a copy of this License ++along with the Program. ++ ++You may charge a fee for the physical act of transferring a copy, and ++you may at your option offer warranty protection in exchange for a fee. ++ ++ 2. You may modify your copy or copies of the Program or any portion ++of it, thus forming a work based on the Program, and copy and ++distribute such modifications or work under the terms of Section 1 ++above, provided that you also meet all of these conditions: ++ ++ a) You must cause the modified files to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ b) You must cause any work that you distribute or publish, that in ++ whole or in part contains or is derived from the Program or any ++ part thereof, to be licensed as a whole at no charge to all third ++ parties under the terms of this License. ++ ++ c) If the modified program normally reads commands interactively ++ when run, you must cause it, when started running for such ++ interactive use in the most ordinary way, to print or display an ++ announcement including an appropriate copyright notice and a ++ notice that there is no warranty (or else, saying that you provide ++ a warranty) and that users may redistribute the program under ++ these conditions, and telling the user how to view a copy of this ++ License. (Exception: if the Program itself is interactive but ++ does not normally print such an announcement, your work based on ++ the Program is not required to print an announcement.) ++ ++These requirements apply to the modified work as a whole. If ++identifiable sections of that work are not derived from the Program, ++and can be reasonably considered independent and separate works in ++themselves, then this License, and its terms, do not apply to those ++sections when you distribute them as separate works. But when you ++distribute the same sections as part of a whole which is a work based ++on the Program, the distribution of the whole must be on the terms of ++this License, whose permissions for other licensees extend to the ++entire whole, and thus to each and every part regardless of who wrote it. ++ ++Thus, it is not the intent of this section to claim rights or contest ++your rights to work written entirely by you; rather, the intent is to ++exercise the right to control the distribution of derivative or ++collective works based on the Program. ++ ++In addition, mere aggregation of another work not based on the Program ++with the Program (or with a work based on the Program) on a volume of ++a storage or distribution medium does not bring the other work under ++the scope of this License. ++ ++ 3. You may copy and distribute the Program (or a work based on it, ++under Section 2) in object code or executable form under the terms of ++Sections 1 and 2 above provided that you also do one of the following: ++ ++ a) Accompany it with the complete corresponding machine-readable ++ source code, which must be distributed under the terms of Sections ++ 1 and 2 above on a medium customarily used for software interchange; or, ++ ++ b) Accompany it with a written offer, valid for at least three ++ years, to give any third party, for a charge no more than your ++ cost of physically performing source distribution, a complete ++ machine-readable copy of the corresponding source code, to be ++ distributed under the terms of Sections 1 and 2 above on a medium ++ customarily used for software interchange; or, ++ ++ c) Accompany it with the information you received as to the offer ++ to distribute corresponding source code. (This alternative is ++ allowed only for noncommercial distribution and only if you ++ received the program in object code or executable form with such ++ an offer, in accord with Subsection b above.) ++ ++The source code for a work means the preferred form of the work for ++making modifications to it. For an executable work, complete source ++code means all the source code for all modules it contains, plus any ++associated interface definition files, plus the scripts used to ++control compilation and installation of the executable. However, as a ++special exception, the source code distributed need not include ++anything that is normally distributed (in either source or binary ++form) with the major components (compiler, kernel, and so on) of the ++operating system on which the executable runs, unless that component ++itself accompanies the executable. ++ ++If distribution of executable or object code is made by offering ++access to copy from a designated place, then offering equivalent ++access to copy the source code from the same place counts as ++distribution of the source code, even though third parties are not ++compelled to copy the source along with the object code. ++ ++ 4. You may not copy, modify, sublicense, or distribute the Program ++except as expressly provided under this License. Any attempt ++otherwise to copy, modify, sublicense or distribute the Program is ++void, and will automatically terminate your rights under this License. ++However, parties who have received copies, or rights, from you under ++this License will not have their licenses terminated so long as such ++parties remain in full compliance. ++ ++ 5. You are not required to accept this License, since you have not ++signed it. However, nothing else grants you permission to modify or ++distribute the Program or its derivative works. These actions are ++prohibited by law if you do not accept this License. Therefore, by ++modifying or distributing the Program (or any work based on the ++Program), you indicate your acceptance of this License to do so, and ++all its terms and conditions for copying, distributing or modifying ++the Program or works based on it. ++ ++ 6. Each time you redistribute the Program (or any work based on the ++Program), the recipient automatically receives a license from the ++original licensor to copy, distribute or modify the Program subject to ++these terms and conditions. You may not impose any further ++restrictions on the recipients' exercise of the rights granted herein. ++You are not responsible for enforcing compliance by third parties to ++this License. ++ ++ 7. If, as a consequence of a court judgment or allegation of patent ++infringement or for any other reason (not limited to patent issues), ++conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot ++distribute so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you ++may not distribute the Program at all. For example, if a patent ++license would not permit royalty-free redistribution of the Program by ++all those who receive copies directly or indirectly through you, then ++the only way you could satisfy both it and this License would be to ++refrain entirely from distribution of the Program. ++ ++If any portion of this section is held invalid or unenforceable under ++any particular circumstance, the balance of the section is intended to ++apply and the section as a whole is intended to apply in other ++circumstances. ++ ++It is not the purpose of this section to induce you to infringe any ++patents or other property right claims or to contest validity of any ++such claims; this section has the sole purpose of protecting the ++integrity of the free software distribution system, which is ++implemented by public license practices. Many people have made ++generous contributions to the wide range of software distributed ++through that system in reliance on consistent application of that ++system; it is up to the author/donor to decide if he or she is willing ++to distribute software through any other system and a licensee cannot ++impose that choice. ++ ++This section is intended to make thoroughly clear what is believed to ++be a consequence of the rest of this License. ++ ++ 8. If the distribution and/or use of the Program is restricted in ++certain countries either by patents or by copyrighted interfaces, the ++original copyright holder who places the Program under this License ++may add an explicit geographical distribution limitation excluding ++those countries, so that distribution is permitted only in or among ++countries not thus excluded. In such case, this License incorporates ++the limitation as if written in the body of this License. ++ ++ 9. The Free Software Foundation may publish revised and/or new versions ++of the General Public License from time to time. Such new versions will ++be similar in spirit to the present version, but may differ in detail to ++address new problems or concerns. ++ ++Each version is given a distinguishing version number. If the Program ++specifies a version number of this License which applies to it and "any ++later version", you have the option of following the terms and conditions ++either of that version or of any later version published by the Free ++Software Foundation. If the Program does not specify a version number of ++this License, you may choose any version ever published by the Free Software ++Foundation. ++ ++ 10. If you wish to incorporate parts of the Program into other free ++programs whose distribution conditions are different, write to the author ++to ask for permission. For software which is copyrighted by the Free ++Software Foundation, write to the Free Software Foundation; we sometimes ++make exceptions for this. Our decision will be guided by the two goals ++of preserving the free status of all derivatives of our free software and ++of promoting the sharing and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY ++FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN ++OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES ++PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED ++OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS ++TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE ++PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, ++REPAIR OR CORRECTION. ++ ++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING ++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR ++REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, ++INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING ++OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED ++TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY ++YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER ++PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE ++POSSIBILITY OF SUCH DAMAGES. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Programs ++ ++ If you develop a new program, and you want it to be of the greatest ++possible use to the public, the best way to achieve this is to make it ++free software which everyone can redistribute and change under these terms. ++ ++ To do so, attach the following notices to the program. It is safest ++to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least ++the "copyright" line and a pointer to where the full notice is found. ++ ++ <one line to give the program's name and a brief idea of what it does.> ++ Copyright (C) <year> <name of author> ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License along ++ with this program; if not, write to the Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++If the program is interactive, make it output a short notice like this ++when it starts in an interactive mode: ++ ++ Gnomovision version 69, Copyright (C) year name of author ++ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. ++ This is free software, and you are welcome to redistribute it ++ under certain conditions; type `show c' for details. ++ ++The hypothetical commands `show w' and `show c' should show the appropriate ++parts of the General Public License. Of course, the commands you use may ++be called something other than `show w' and `show c'; they could even be ++mouse-clicks or menu items--whatever suits your program. ++ ++You should also get your employer (if you work as a programmer) or your ++school, if any, to sign a "copyright disclaimer" for the program, if ++necessary. Here is a sample; alter the names: ++ ++ Yoyodyne, Inc., hereby disclaims all copyright interest in the program ++ `Gnomovision' (which makes passes at compilers) written by James Hacker. ++ ++ <signature of Ty Coon>, 1 April 1989 ++ Ty Coon, President of Vice ++ ++This General Public License does not permit incorporating your program into ++proprietary programs. If your program is a subroutine library, you may ++consider it more useful to permit linking proprietary applications with the ++library. If this is what you want to do, use the GNU Lesser General ++Public License instead of this License. diff --git a/meta-oe/recipes-core/usleep/files/usleep.1 b/meta-oe/recipes-core/usleep/files/usleep.1 new file mode 100644 index 0000000000..2d7520f779 --- /dev/null +++ b/meta-oe/recipes-core/usleep/files/usleep.1 @@ -0,0 +1,25 @@ +.TH USLEEP 1 "Red Hat, Inc" \" -*- nroff -*- +.SH NAME +usleep \- sleep some number of microseconds +.SH SYNOPSIS +.B usleep +[\fInumber\fP] +.SH DESCRIPTION +.B usleep +sleeps some number of microseconds. The default is 1. +.SH OPTIONS +\fI--usage\fP +Show short usage message. +.TP +\fI--help, -?\fP +Print help information. +.TP +\fI-v, --version\fP +Print version information. +.SH BUGS +Probably not accurate on many machines down to the microsecond. Count +on precision only to -4 or maybe -5. +.SH AUTHOR +Donald Barnes <djb@redhat.com> +.br +Erik Troan <ewt@redhat.com> diff --git a/meta-oe/recipes-core/usleep/files/usleep.c b/meta-oe/recipes-core/usleep/files/usleep.c new file mode 100644 index 0000000000..a5e7d9d715 --- /dev/null +++ b/meta-oe/recipes-core/usleep/files/usleep.c @@ -0,0 +1,82 @@ +/* + * usleep + * + * Written by Donald Barnes <djb@redhat.com> for Red Hat, Inc. + * + * Copyright (c) 1997-2003 Red Hat, Inc. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License, version 2, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +#include <unistd.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> + +#include "popt.h" + +int main(int argc, char **argv) { + unsigned long count; + poptContext optCon; + int showVersion = 0; + int showOot = 0; + int rc; + char * countStr = NULL; + struct poptOption options[] = { + { "version", 'v', POPT_ARG_NONE, &showVersion, 0, + "Display the version of this program, and exit" }, + { "oot", 'o', POPT_ARG_NONE, &showOot, 0, + "oot says hey!" }, + POPT_AUTOHELP + { 0, 0, 0, 0, 0 } + }; + + optCon = poptGetContext("usleep", argc, argv, options,0); + /*poptReadDefaultConfig(optCon, 1);*/ + poptSetOtherOptionHelp(optCon, "[microseconds]"); + + if ((rc = poptGetNextOpt(optCon)) < -1) { + fprintf(stderr, "usleep: bad argument %s: %s\n", + poptBadOption(optCon, POPT_BADOPTION_NOALIAS), + poptStrerror(rc)); + return 2; + } + + if (showVersion) { + printf("usleep version 1.2\n usleep --help for more info\n"); + return 0; + } + + if (showOot) { + printf("oot says hey!\n"); + return 0; + } + + countStr = poptGetArg(optCon); + + if (countStr == NULL) count = 1; + + else if (countStr && poptGetArg(optCon)) { + fprintf(stderr, "%s: exactly one argument (number of microseconds) " + "must be used\n", argv[0]); + return 2; + } + + else count = strtoul(countStr, NULL, 0); + + usleep(count); + return 0; +} diff --git a/meta-oe/recipes-core/usleep/usleep_1.0.bb b/meta-oe/recipes-core/usleep/usleep_1.0.bb new file mode 100644 index 0000000000..2ef4b7c024 --- /dev/null +++ b/meta-oe/recipes-core/usleep/usleep_1.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "A user tool to support sleeping some number of microseconds" +SECTION = "base" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +PR = "r0" + +S = "${WORKDIR}" +DEPENDS = "popt" + +SRC_URI = "file://usleep.c \ + file://usleep.1 \ + file://GPLv2.patch \ +" + +do_compile() { + ${CC} ${CFLAGS} ${LDFLAGS} usleep.c -o usleep -lpopt +} + +do_install() { + install -d ${D}${base_bindir} + install -d ${D}${mandir}/man1 + + install -m 0755 ${WORKDIR}/usleep ${D}${base_bindir} + install -m 0644 ${WORKDIR}/usleep.1 ${D}${mandir}/man1 +} diff --git a/meta-oe/recipes-devtools/cgdb/cgdb/configfix.patch b/meta-oe/recipes-devtools/cgdb/cgdb/configfix.patch new file mode 100644 index 0000000000..25b13862bd --- /dev/null +++ b/meta-oe/recipes-devtools/cgdb/cgdb/configfix.patch @@ -0,0 +1,40 @@ +diff -rupN cgdb-0.6.7-OLD/configure.in cgdb-0.6.7/configure.in +--- cgdb-0.6.7-OLD/configure.in 2013-01-14 05:31:53.000000000 -0600 ++++ cgdb-0.6.7/configure.in 2014-05-08 13:18:13.864632180 -0500 +@@ -65,8 +65,9 @@ AC_CHECK_HEADERS([getopt.h], + [AC_DEFINE(HAVE_GETOPT_H, 1, have getopt_long)]) + + dnl determine if /dev/ptmx is available for pseudo terminals +-AC_CHECK_FILE([/dev/ptmx], +- [AC_DEFINE(HAVE_DEV_PTMX, 1, have /dev/ptmx)]) ++dnl AC_CHECK_FILE([/dev/ptmx], ++dnl [AC_DEFINE(HAVE_DEV_PTMX, 1, have /dev/ptmx)]) ++AC_DEFINE(HAVE_DEV_PTMX, 1, have /dev/ptmx) + + dnl Checks for typedefs, structures, and compiler characteristics. + AC_C_CONST +@@ -167,15 +168,15 @@ fi + + dnl Make sure there is a version of readline that CGDB supports. + dnl Simply putting 5.1* -> 5.9* just to take into accout future versions. +-RL_LIB_READLINE_VERSION +-case "$ac_cv_rl_version" in +-5.1*|5.2*|5.3*|5.4*|5.5*|5.6*|5.7*|5.8*|5.9*|6*|7*|8*|9*) ;; +-*) AC_MSG_ERROR([CGDB requires GNU readline 5.1 or greater to link. +- If you used --with-readline instead of using the system readline library, +- make sure to set the correct readline library on the linker search path +- via LD_LIBRARY_PATH or some other facility.]) +- ;; +-esac ++dnl RL_LIB_READLINE_VERSION ++dnl case "$ac_cv_rl_version" in ++dnl 5.1*|5.2*|5.3*|5.4*|5.5*|5.6*|5.7*|5.8*|5.9*|6*|7*|8*|9*) ;; ++dnl *) AC_MSG_ERROR([CGDB requires GNU readline 5.1 or greater to link. ++dnl If you used --with-readline instead of using the system readline library, ++dnl make sure to set the correct readline library on the linker search path ++dnl via LD_LIBRARY_PATH or some other facility.]) ++dnl ;; ++dnl esac + + dnl This will DEFINE the readline headers. + RL_LIB_READLINE_INCLUDES diff --git a/meta-oe/recipes-devtools/cgdb/cgdb_0.6.7.bb b/meta-oe/recipes-devtools/cgdb/cgdb_0.6.7.bb new file mode 100644 index 0000000000..26b2782f0a --- /dev/null +++ b/meta-oe/recipes-devtools/cgdb/cgdb_0.6.7.bb @@ -0,0 +1,16 @@ +SUMMARY = "curses-based interface to gdb" +HOMEPAGE = "http://cgdb.github.io/" +SECTION = "devel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS = "readline ncurses gdb" + +SRC_URI = "http://cgdb.me/files/cgdb-${PV}.tar.gz \ + file://configfix.patch" +SRC_URI[md5sum] = "e2d9a973d2683faf8130a82703bf6a31" +SRC_URI[sha256sum] = "074ed31d1e827a04574add8c27d391447d75313e85ff938005d8ec939499fda9" + +EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR} --with-ncurses=${STAGING_LIBDIR}" + +inherit autotools + diff --git a/meta-oe/recipes-devtools/cloud9/cloud9/index.js b/meta-oe/recipes-devtools/cloud9/cloud9/index.js index e40dd6dc26..88c9a19f0e 100644 --- a/meta-oe/recipes-devtools/cloud9/cloud9/index.js +++ b/meta-oe/recipes-devtools/cloud9/cloud9/index.js @@ -1,2 +1,2 @@ var o3 = require('./o3.js') -module.exports = o3.xml;
\ No newline at end of file +module.exports = o3.xml; diff --git a/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb b/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb index fe57d9e4b6..eebccf01be 100644 --- a/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb +++ b/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb @@ -7,9 +7,10 @@ LICENSE = "BSD & Apache-2.0" HOMEPAGE = "http://concurrencykit.org" SECTION = "base" +PV = "0.4.3+git${SRCPV}" SRCREV = "900d203aa9e41288545368ea40da0bee89f7907f" LIC_FILES_CHKSUM = "file://LICENSE;md5=f12611e65e064515ce264249b2bdea98" -SRC_URI = "git://git.concurrencykit.org/ck.git \ +SRC_URI = "git://github.com/concurrencykit/ck.git;protocol=https \ file://cross.patch \ " @@ -17,7 +18,7 @@ S = "${WORKDIR}/git" COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64).*-linux*" -inherit autotools +inherit autotools-brokensep PLAT_powerpc64 = "ppc64" PLAT ?= "${HOST_ARCH}" diff --git a/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch b/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch new file mode 100644 index 0000000000..2eb8af7130 --- /dev/null +++ b/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch @@ -0,0 +1,45 @@ +Index: dejagnu-1.4.4/configure.in +=================================================================== +--- dejagnu-1.4.4.orig/configure.in 2014-07-18 07:05:49.997481207 +0000 ++++ dejagnu-1.4.4/configure.in 2014-07-18 07:05:50.085481210 +0000 +@@ -1,10 +1,10 @@ + dnl Process this file with autoconf to produce a configure script. + AC_PREREQ(2.13) +-AC_INIT(runtest.exp) ++AC_INIT(dejagnu, 1.4.4) + dnl AC_CONFIG_AUX_DIR(..) + + dnl These are required by automake +-AM_INIT_AUTOMAKE(dejagnu, 1.4.4) ++AM_INIT_AUTOMAKE([foreign]) + AM_MAINTAINER_MODE + AC_PROG_MAKE_SET + +Index: dejagnu-1.4.4/example/calc/configure.in +=================================================================== +--- dejagnu-1.4.4.orig/example/calc/configure.in 2002-04-26 03:32:40.000000000 +0000 ++++ dejagnu-1.4.4/example/calc/configure.in 2014-07-18 07:11:59.085491266 +0000 +@@ -1,8 +1,8 @@ + dnl Process this file with autoconf to produce a configure script. + AC_PREREQ(2.5) +-AC_INIT(calc.c) ++AC_INIT(calc, 1.1) + AM_CONFIG_HEADER(calc.h) +-AM_INIT_AUTOMAKE(calc, 1.1) ++AM_INIT_AUTOMAKE([foreign]) + + AC_PROG_CC + AC_PROG_INSTALL +Index: dejagnu-1.4.4/example/hello/configure.in +=================================================================== +--- dejagnu-1.4.4.orig/example/hello/configure.in 2002-08-31 05:46:16.000000000 +0000 ++++ dejagnu-1.4.4/example/hello/configure.in 2014-07-18 07:12:23.721491937 +0000 +@@ -25,7 +25,7 @@ + # ------------------------------------------------------------------------ + + AC_INIT(helloworld, demo-version, philip.wilsey@ieee.org) +-AM_INIT_AUTOMAKE(helloworld, demo-version) ++AM_INIT_AUTOMAKE([foreign]) + + #AC_CONFIG_SRCDIR([hello.cc]) + #AC_CONFIG_HEADER([config.h]) diff --git a/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb b/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb index f5fe9b9f22..63726b2328 100644 --- a/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb +++ b/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb @@ -5,7 +5,8 @@ SECTION = "devel" inherit autotools -SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz" +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ + file://configure.patch" SRC_URI[md5sum] = "053f18fd5d00873de365413cab17a666" SRC_URI[sha256sum] = "d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d" diff --git a/meta-oe/recipes-devtools/geany/geany_1.23.bb b/meta-oe/recipes-devtools/geany/geany_1.24.1.bb index 4e0d4bf8c6..f765e2c8d2 100644 --- a/meta-oe/recipes-devtools/geany/geany_1.23.bb +++ b/meta-oe/recipes-devtools/geany/geany_1.24.1.bb @@ -7,10 +7,10 @@ DEPENDS = "gtk+" inherit autotools pkgconfig perlnative SRC_URI = " \ - http://download.geany.org/${PN}-${PV}.tar.bz2 \ + 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 eec40e401f..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,20 +2,22 @@ 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" -DEPENDS = "gtk+ gnome-doc-utils-native" - -PR = "r1" + file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \ + file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475" +DEPENDS = "gtk+ gnome-doc-utils-native gnome-common libxml2" 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" +PACKAGECONFIG ??= "" +PACKAGECONFIG[gnome] = "--enable-gnome,--disable-gnome,libbonoboui libgnomeui" + do_configure_prepend() { sed -i '/^if HAVE_GNOME_DOC_UTILS/,/^endif/d' ${S}/Makefile.am } diff --git a/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb b/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb index d6cfd35629..9768a6e716 100644 --- a/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb +++ b/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb @@ -8,6 +8,6 @@ SRC_URI = "http://freedesktop.org/software/${BPN}/releases/${BPN}-${PV}.tar.gz \ SRC_URI[md5sum] = "5c5374d4f265b0abe4daef1d03f87104" SRC_URI[sha256sum] = "05f0216dd0c25a17859de66357f64da5033375b6fbf5f31ca54867311160b64d" -inherit autotools +inherit autotools pkgconfig BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/jq/files/automake-once-fix.patch b/meta-oe/recipes-devtools/jq/files/automake-once-fix.patch deleted file mode 100644 index 0a1d1a2222..0000000000 --- a/meta-oe/recipes-devtools/jq/files/automake-once-fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -Upstream-Status: Applied -https://github.com/stedolan/jq/commit/f0d1c39b5bbb4ccc517773eb635ba7f38ec7da1a - -Fixes build with automake-1.14 - -diff --git a/configure.ac b/configure.ac -index 76a49a9..d6d2d38 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4,7 +4,7 @@ AC_INIT([jq], [1.3], [mu@netsoc.tcd.ie], - dnl Created autoconf implementation thompson@dtosolutions, 26NOV12 - AC_PREREQ([2.61]) - AC_CONFIG_AUX_DIR([config]) --AM_INIT_AUTOMAKE([parallel-tests foreign]) -+AM_INIT_AUTOMAKE([parallel-tests foreign -Wall]) - AM_SILENT_RULES([yes]) - AC_PROG_CC - AC_PROG_CC_STDC -@@ -66,7 +66,6 @@ AC_SUBST([BUNDLER], ["$bundle_cmd"]) - - dnl AC_CONFIG_MACRO_DIR([m4]) - AC_CONFIG_HEADERS(config.h) --AM_INIT_AUTOMAKE([-Wall]) - AC_CONFIG_FILES([Makefile]) - AC_OUTPUT - --- -1.8.5.4 - diff --git a/meta-oe/recipes-devtools/jq/jq_1.3.bb b/meta-oe/recipes-devtools/jq/jq_1.4.bb index c58b472801..6e50803a37 100644 --- a/meta-oe/recipes-devtools/jq/jq_1.3.bb +++ b/meta-oe/recipes-devtools/jq/jq_1.4.bb @@ -12,10 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=244a1fb9cf472474a062d67069dec653" DEPENDS = "flex-native bison-native" SRC_URI = "http://stedolan.github.io/${BPN}/download/source/${BP}.tar.gz \ - file://automake-once-fix.patch \ " -SRC_URI[md5sum] = "26081b05d22525eca5cbdd8f9f4db17d" -SRC_URI[sha256sum] = "623f23c36abfc1d96d85020cf421b56f90a229d566f26a4a0d3e8536244bfed7" +SRC_URI[md5sum] = "e3c75a4f805bb5342c9f4b3603fb248f" +SRC_URI[sha256sum] = "998c41babeb57b4304e65b4eb73094279b3ab1e63801b6b4bddd487ce009b39d" inherit autotools diff --git a/meta-oe/recipes-devtools/libgee/libgee.inc b/meta-oe/recipes-devtools/libgee/libgee.inc index c681285440..fcfd0776e9 100644 --- a/meta-oe/recipes-devtools/libgee/libgee.inc +++ b/meta-oe/recipes-devtools/libgee/libgee.inc @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" INC_PR = "r6" PE = "1" -inherit autotools vala +inherit autotools vala pkgconfig do_configure_prepend() { MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" for i in ${MACROS}; do 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/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch deleted file mode 100644 index 0b4ee64551..0000000000 --- a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch +++ /dev/null @@ -1,40 +0,0 @@ -From e0fc5bea466c16b9d754a8ac8d0453e396678a2c Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 19 Feb 2014 20:28:07 -0800 -Subject: [PATCH] KERNEL_INC in modern kernel should point at toplevel - kerneldir - -Reason is kernel headers are not only in toplevel -include/ but also in toplevel arch/ dir - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - Makefile | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/Makefile b/Makefile -index 031d8bc..73e9b3c 100644 ---- a/Makefile -+++ b/Makefile -@@ -245,15 +245,15 @@ endif - - modules_edma: - @echo "Going to compile edma test kernel modules for $(PLATFORM)" -- cd testcases/ddt/edma_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC)/.. PLATFORM=$(PLATFORM) -+ cd testcases/ddt/edma_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC) PLATFORM=$(PLATFORM) - - modules_gpio: - @echo "Going to compile gpio test kernel modules for $(PLATFORM)" -- cd testcases/ddt/gpio_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC)/.. PLATFORM=$(PLATFORM) -+ cd testcases/ddt/gpio_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC) PLATFORM=$(PLATFORM) - - modules_ipc: - @echo "Going to compile IPC test kernel modules for $(PLATFORM)" -- cd testcases/ddt/ipc_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC)/.. PLATFORM=$(PLATFORM) -+ cd testcases/ddt/ipc_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC) PLATFORM=$(PLATFORM) - - modules: $(MODULES_TO_BUILD) - --- -1.9.0 - diff --git a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.5.bb index a70d5b9753..db62ac63a5 100644 --- a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb +++ b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.5.bb @@ -3,21 +3,21 @@ HOMEPAGE = "http://arago-project.org/git/projects/test-automation/ltp-ddt.git" SECTION = "console/utils" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" -PR = "r1" PROVIDES += "ltp" DEPENDS += "zip-native virtual/kernel alsa-lib" -inherit autotools module-base kernel-module-split +RDEPENDS_${PN} += "pm-qa" + +inherit autotools-brokensep module-base kernel-module-split PACKAGE_ARCH = "${MACHINE_ARCH}" -SRCREV = "4f77e2e33357d2b23211ecd22f27f521aa01469a" +SRCREV = "903f70a11eb77cbad62d7ecbe7dcbaf61be8ff99" BRANCH ?= "master" SRC_URI = "git://arago-project.org/git/projects/test-automation/ltp-ddt.git;branch=${BRANCH} \ file://0001-wdt_test_suite-Make-sure-to-include-generated-header.patch \ - file://0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch \ " S = "${WORKDIR}/git" @@ -28,12 +28,16 @@ EXTRA_OEMAKE_append = " \ prefix=${LTPROOT} \ CROSS_COMPILE=${HOST_PREFIX} \ SKIP_IDCHECK=1 \ + KERNEL_PATH=${STAGING_KERNEL_DIR} \ KERNEL_INC=${STAGING_KERNEL_DIR} \ KERNEL_USR_INC=${STAGING_INCDIR} \ ALSA_INCPATH=${STAGING_INCDIR} \ ALSA_LIBPATH=${STAGING_LIBDIR} \ PLATFORM=${MACHINE} \ RANLIB=${RANLIB} \ + DESTDIR=${D} \ + CC='${CC}' \ + KERNEL_CC='${KERNEL_CC}' \ " TARGET_CC_ARCH += "${LDFLAGS}" @@ -64,14 +68,19 @@ do_configure() { kmoddir = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/ddt" do_compile_append () { - oe_runmake DESTDIR=${D} modules + oe_runmake modules } do_install() { - oe_runmake DESTDIR=${D} install + oe_runmake install install -d ${D}${datadir} install -d ${D}${kmoddir} cp -a ${D}${LTPROOT}/share/* ${D}${datadir} rm -rf ${D}${LTPROOT}/share/ mv ${D}${LTPROOT}/testcases/bin/ddt/*.ko ${D}${kmoddir} } + +# do_make_scripts should be a separate task for the lock to work +addtask make_scripts before do_compile +do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock" +do_make_scripts[deptask] = "do_populate_sysroot" 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/ltrace-0.7.2-unused-typedef.patch b/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch index 8f3c0ecea1..8f3c0ecea1 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace-git/ltrace-0.7.2-unused-typedef.patch +++ b/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb index 149af52dc0..69848483d7 100644 --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb +++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb @@ -9,17 +9,24 @@ HOMEPAGE = "http://ltrace.org/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" +PE = "1" +PV = "7.2+git${SRCPV}" SRCREV = "f44b28421979cec88d6d6a778fc27a8cd514f508" 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 () { - ./autogen.sh + ( cd ${S}; ./autogen.sh ) } diff --git a/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch b/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch deleted file mode 100644 index 4f0331ebb6..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch +++ /dev/null @@ -1,605 +0,0 @@ -diff -Nurd lua-5.1.5/src/lcode.c lua-5.1.5/src/lcode.c ---- lua-5.1.5/src/lcode.c 2011-01-31 16:53:16.000000000 +0200 -+++ lua-5.1.5/src/lcode.c 2012-11-28 21:12:23.958419501 +0200 -@@ -642,6 +642,17 @@ - case OP_POW: r = luai_numpow(v1, v2); break; - case OP_UNM: r = luai_numunm(v1); break; - case OP_LEN: return 0; /* no constant folding for 'len' */ -+#if defined(LUA_BITWISE_OPERATORS) -+ case OP_BOR: luai_logor(r, v1, v2); break; -+ case OP_BAND: luai_logand(r, v1, v2); break; -+ case OP_BXOR: luai_logxor(r, v1, v2); break; -+ case OP_BLSHFT: luai_loglshft(r, v1, v2); break; -+ case OP_BRSHFT: luai_logrshft(r, v1, v2); break; -+ case OP_BNOT: luai_lognot(r, v1); break; -+ case OP_INTDIV: -+ if (v2 == 0) return 0; /* do not attempt to divide by 0 */ -+ r = luai_numintdiv(v1, v2); break; -+#endif - default: lua_assert(0); r = 0; break; - } - if (luai_numisnan(r)) return 0; /* do not attempt to produce NaN */ -@@ -654,7 +665,11 @@ - if (constfolding(op, e1, e2)) - return; - else { -+#if defined(LUA_BITWISE_OPERATORS) -+ int o2 = (op != OP_UNM && op != OP_LEN && op != OP_BNOT) ? luaK_exp2RK(fs, e2) : 0; -+#else - int o2 = (op != OP_UNM && op != OP_LEN) ? luaK_exp2RK(fs, e2) : 0; -+#endif - int o1 = luaK_exp2RK(fs, e1); - if (o1 > o2) { - freeexp(fs, e1); -@@ -690,6 +705,14 @@ - expdesc e2; - e2.t = e2.f = NO_JUMP; e2.k = VKNUM; e2.u.nval = 0; - switch (op) { -+#if defined(LUA_BITWISE_OPERATORS) -+ case OPR_BNOT: { -+ if (e->k == VK) -+ luaK_exp2anyreg(fs, e); /* cannot operate on non-numeric constants */ -+ codearith(fs, OP_BNOT, e, &e2); -+ break; -+ } -+#endif - case OPR_MINUS: { - if (!isnumeral(e)) - luaK_exp2anyreg(fs, e); /* cannot operate on non-numeric constants */ -@@ -770,6 +793,14 @@ - case OPR_DIV: codearith(fs, OP_DIV, e1, e2); break; - case OPR_MOD: codearith(fs, OP_MOD, e1, e2); break; - case OPR_POW: codearith(fs, OP_POW, e1, e2); break; -+#if defined(LUA_BITWISE_OPERATORS) -+ case OPR_BOR: codearith(fs, OP_BOR, e1, e2); break; -+ case OPR_BAND: codearith(fs, OP_BAND, e1, e2); break; -+ case OPR_BXOR: codearith(fs, OP_BXOR, e1, e2); break; -+ case OPR_BLSHFT: codearith(fs, OP_BLSHFT, e1, e2); break; -+ case OPR_BRSHFT: codearith(fs, OP_BRSHFT, e1, e2); break; -+ case OPR_INTDIV: codearith(fs, OP_INTDIV, e1, e2); break; -+#endif - case OPR_EQ: codecomp(fs, OP_EQ, 1, e1, e2); break; - case OPR_NE: codecomp(fs, OP_EQ, 0, e1, e2); break; - case OPR_LT: codecomp(fs, OP_LT, 1, e1, e2); break; -diff -Nurd lua-5.1.5/src/lcode.h lua-5.1.5/src/lcode.h ---- lua-5.1.5/src/lcode.h 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/lcode.h 2012-11-28 21:12:23.958419501 +0200 -@@ -25,6 +25,9 @@ - */ - typedef enum BinOpr { - OPR_ADD, OPR_SUB, OPR_MUL, OPR_DIV, OPR_MOD, OPR_POW, -+#if defined(LUA_BITWISE_OPERATORS) -+ OPR_BOR, OPR_BAND, OPR_BXOR, OPR_BLSHFT, OPR_BRSHFT, OPR_INTDIV, -+#endif - OPR_CONCAT, - OPR_NE, OPR_EQ, - OPR_LT, OPR_LE, OPR_GT, OPR_GE, -@@ -33,8 +36,11 @@ - } BinOpr; - - -+#if defined(LUA_BITWISE_OPERATORS) -+typedef enum UnOpr { OPR_BNOT, OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr; -+#else - typedef enum UnOpr { OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr; -- -+#endif - - #define getcode(fs,e) ((fs)->f->code[(e)->u.s.info]) - -diff -Nurd lua-5.1.5/src/ldebug.c lua-5.1.5/src/ldebug.c ---- lua-5.1.5/src/ldebug.c 2008-05-08 19:56:26.000000000 +0300 -+++ lua-5.1.5/src/ldebug.c 2012-11-28 21:12:23.958419501 +0200 -@@ -592,6 +592,16 @@ - luaG_typeerror(L, p2, "perform arithmetic on"); - } - -+#if defined (LUA_BITWISE_OPERATORS) -+void luaG_logicerror (lua_State *L, const TValue *p1, const TValue *p2) { -+ TValue temp; -+ if (luaV_tonumber(p1, &temp) == NULL) -+ p2 = p1; /* first operand is wrong */ -+ luaG_typeerror(L, p2, "perform bitwise operation on"); -+} -+#endif -+ -+ - - int luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2) { - const char *t1 = luaT_typenames[ttype(p1)]; -diff -Nurd lua-5.1.5/src/ldebug.h lua-5.1.5/src/ldebug.h ---- lua-5.1.5/src/ldebug.h 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/ldebug.h 2012-11-28 21:12:23.958419501 +0200 -@@ -30,4 +30,9 @@ - LUAI_FUNC int luaG_checkcode (const Proto *pt); - LUAI_FUNC int luaG_checkopenop (Instruction i); - -+#if defined (LUA_BITWISE_OPERATORS) -+LUAI_FUNC void luaG_logicerror (lua_State *L, const TValue *p1, -+ const TValue *p2); -+#endif -+ - #endif -diff -Nurd lua-5.1.5/src/llex.c lua-5.1.5/src/llex.c ---- lua-5.1.5/src/llex.c 2009-11-23 16:58:22.000000000 +0200 -+++ lua-5.1.5/src/llex.c 2012-11-28 21:12:23.958419501 +0200 -@@ -39,7 +39,11 @@ - "end", "false", "for", "function", "if", - "in", "local", "nil", "not", "or", "repeat", - "return", "then", "true", "until", "while", -+#if defined(LUA_BITWISE_OPERATORS) -+ "..", "...", "==", ">=", ">>", "<=", "<<", "^^", "~=", "!=" -+#else - "..", "...", "==", ">=", "<=", "~=", -+#endif - "<number>", "<name>", "<string>", "<eof>", - NULL - }; -@@ -373,6 +377,30 @@ - if (ls->current != '=') return '='; - else { next(ls); return TK_EQ; } - } -+#if defined(LUA_BITWISE_OPERATORS) -+ case '<': { -+ next(ls); -+ if (ls->current == '=') { next(ls); return TK_LE; } -+ else if (ls->current == '<') { next(ls); return TK_LSHFT; } -+ else return '<'; -+ } -+ case '>': { -+ next(ls); -+ if (ls->current == '=') { next(ls); return TK_GE; } -+ else if (ls->current == '>') { next(ls); return TK_RSHFT; } -+ else return '>'; -+ } -+ case '^': { -+ next(ls); -+ if (ls->current != '^') return '^'; -+ else { next(ls); return TK_XOR; } -+ } -+ case '!': { -+ next(ls); -+ if (ls->current != '=') return '!'; -+ else { next(ls); return TK_NE; } -+ } -+#else - case '<': { - next(ls); - if (ls->current != '=') return '<'; -@@ -381,8 +409,9 @@ - case '>': { - next(ls); - if (ls->current != '=') return '>'; -- else { next(ls); return TK_GE; } -+ else { next(ls); return TK_GE; } - } -+#endif - case '~': { - next(ls); - if (ls->current != '=') return '~'; -diff -Nurd lua-5.1.5/src/llex.h lua-5.1.5/src/llex.h ---- lua-5.1.5/src/llex.h 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/llex.h 2012-11-28 21:12:23.962419499 +0200 -@@ -28,7 +28,11 @@ - TK_IF, TK_IN, TK_LOCAL, TK_NIL, TK_NOT, TK_OR, TK_REPEAT, - TK_RETURN, TK_THEN, TK_TRUE, TK_UNTIL, TK_WHILE, - /* other terminal symbols */ -+#if defined(LUA_BITWISE_OPERATORS) -+ TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LSHFT, TK_LE, TK_RSHFT, TK_XOR, TK_NE, TK_CNE, TK_NUMBER, -+#else - TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LE, TK_NE, TK_NUMBER, -+#endif - TK_NAME, TK_STRING, TK_EOS - }; - -diff -Nurd lua-5.1.5/src/lopcodes.c lua-5.1.5/src/lopcodes.c ---- lua-5.1.5/src/lopcodes.c 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/lopcodes.c 2012-11-28 21:12:23.962419499 +0200 -@@ -32,6 +32,15 @@ - "DIV", - "MOD", - "POW", -+#if defined(LUA_BITWISE_OPERATORS) -+ "BOR", -+ "BAND", -+ "OP_BXOR" -+ "BLSHFT", -+ "BRSHFT", -+ "BNOT", -+ "INTDIV", -+#endif - "UNM", - "NOT", - "LEN", -@@ -78,6 +87,15 @@ - ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_DIV */ - ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MOD */ - ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_POW */ -+#if defined(LUA_BITWISE_OPERATORS) -+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BOR */ -+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BAND */ -+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BXOR */ -+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BLSHFT */ -+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BRSHFT */ -+ ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_BNOT */ -+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_INTDIV */ -+#endif - ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_UNM */ - ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */ - ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LEN */ -diff -Nurd lua-5.1.5/src/lopcodes.h lua-5.1.5/src/lopcodes.h ---- lua-5.1.5/src/lopcodes.h 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/lopcodes.h 2012-11-28 21:12:23.962419499 +0200 -@@ -174,10 +174,20 @@ - OP_DIV,/* A B C R(A) := RK(B) / RK(C) */ - OP_MOD,/* A B C R(A) := RK(B) % RK(C) */ - OP_POW,/* A B C R(A) := RK(B) ^ RK(C) */ -+#if defined(LUA_BITWISE_OPERATORS) -+OP_BOR,/* A B C R(A) := RK(B) | RK(C) */ -+OP_BAND,/* A B C R(A) := RK(B) & RK(C) */ -+OP_BXOR,/* A B C R(A) := RK(B) ^| RK(C) */ -+OP_BLSHFT,/* A B C R(A) := RK(B) << RK(C) */ -+OP_BRSHFT,/* A B C R(A) := RK(B) >> RK(C) */ -+OP_BNOT,/* A B R(A) := ~ R(B) */ -+OP_INTDIV,/* A B C R(A) := RK(B) \ RK(C) */ -+#endif - OP_UNM,/* A B R(A) := -R(B) */ - OP_NOT,/* A B R(A) := not R(B) */ - OP_LEN,/* A B R(A) := length of R(B) */ - -+ - OP_CONCAT,/* A B C R(A) := R(B).. ... ..R(C) */ - - OP_JMP,/* sBx pc+=sBx */ -@@ -186,8 +196,8 @@ - OP_LT,/* A B C if ((RK(B) < RK(C)) ~= A) then pc++ */ - OP_LE,/* A B C if ((RK(B) <= RK(C)) ~= A) then pc++ */ - --OP_TEST,/* A C if not (R(A) <=> C) then pc++ */ --OP_TESTSET,/* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */ -+OP_TEST,/* A C if not (R(A) <=> C) then pc++ */ -+OP_TESTSET,/* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */ - - OP_CALL,/* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */ - OP_TAILCALL,/* A B C return R(A)(R(A+1), ... ,R(A+B-1)) */ -@@ -197,8 +207,8 @@ - if R(A) <?= R(A+1) then { pc+=sBx; R(A+3)=R(A) }*/ - OP_FORPREP,/* A sBx R(A)-=R(A+2); pc+=sBx */ - --OP_TFORLOOP,/* A C R(A+3), ... ,R(A+2+C) := R(A)(R(A+1), R(A+2)); -- if R(A+3) ~= nil then R(A+2)=R(A+3) else pc++ */ -+OP_TFORLOOP,/* A C R(A+3), ... ,R(A+2+C) := R(A)(R(A+1), R(A+2)); -+ if R(A+3) ~= nil then R(A+2)=R(A+3) else pc++ */ - OP_SETLIST,/* A B C R(A)[(C-1)*FPF+i] := R(A+i), 1 <= i <= B */ - - OP_CLOSE,/* A close all variables in the stack up to (>=) R(A)*/ -diff -Nurd lua-5.1.5/src/lparser.c lua-5.1.5/src/lparser.c ---- lua-5.1.5/src/lparser.c 2011-10-21 22:31:42.000000000 +0300 -+++ lua-5.1.5/src/lparser.c 2012-11-28 21:12:23.962419499 +0200 -@@ -780,6 +780,9 @@ - case TK_NOT: return OPR_NOT; - case '-': return OPR_MINUS; - case '#': return OPR_LEN; -+#if defined(LUA_BITWISE_OPERATORS) -+ case '~': return OPR_BNOT; -+#endif - default: return OPR_NOUNOPR; - } - } -@@ -793,6 +796,14 @@ - case '/': return OPR_DIV; - case '%': return OPR_MOD; - case '^': return OPR_POW; -+#if defined(LUA_BITWISE_OPERATORS) -+ case '|': return OPR_BOR; -+ case '&': return OPR_BAND; -+ case TK_XOR: return OPR_BXOR; -+ case TK_LSHFT: return OPR_BLSHFT; -+ case TK_RSHFT: return OPR_BRSHFT; -+ case '\\': return OPR_INTDIV; -+#endif - case TK_CONCAT: return OPR_CONCAT; - case TK_NE: return OPR_NE; - case TK_EQ: return OPR_EQ; -@@ -812,6 +823,9 @@ - lu_byte right; /* right priority */ - } priority[] = { /* ORDER OPR */ - {6, 6}, {6, 6}, {7, 7}, {7, 7}, {7, 7}, /* `+' `-' `/' `%' */ -+#if defined(LUA_BITWISE_OPERATORS) -+ {6, 6}, {6, 6}, {6, 6}, {7, 7}, {7, 7}, {7, 7}, /* `|' `&' `!' `<<' `>>' `\' */ -+#endif - {10, 9}, {5, 4}, /* power and concat (right associative) */ - {3, 3}, {3, 3}, /* equality and inequality */ - {3, 3}, {3, 3}, {3, 3}, {3, 3}, /* order */ -diff -Nurd lua-5.1.5/src/ltm.c lua-5.1.5/src/ltm.c ---- lua-5.1.5/src/ltm.c 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/ltm.c 2012-11-28 21:12:23.962419499 +0200 -@@ -34,6 +34,9 @@ - "__add", "__sub", "__mul", "__div", "__mod", - "__pow", "__unm", "__len", "__lt", "__le", - "__concat", "__call" -+#if defined(LUA_BITWISE_OPERATORS) -+ ,"__or", "__and", "__xor", "__shl", "__shr", "__not", "__intdiv" -+#endif - }; - int i; - for (i=0; i<TM_N; i++) { -diff -Nurd lua-5.1.5/src/ltm.h lua-5.1.5/src/ltm.h ---- lua-5.1.5/src/ltm.h 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/ltm.h 2012-11-28 21:12:23.962419499 +0200 -@@ -33,6 +33,15 @@ - TM_LE, - TM_CONCAT, - TM_CALL, -+#if defined(LUA_BITWISE_OPERATORS) -+ TM_BOR, -+ TM_BAND, -+ TM_BXOR, -+ TM_BLSHFT, -+ TM_BRSHFT, -+ TM_BNOT, -+ TM_INTDIV, -+#endif - TM_N /* number of elements in the enum */ - } TMS; - -diff -Nurd lua-5.1.5/src/luaconf.h lua-5.1.5/src/luaconf.h ---- lua-5.1.5/src/luaconf.h 2008-02-11 18:25:08.000000000 +0200 -+++ lua-5.1.5/src/luaconf.h 2012-11-28 21:12:23.962419499 +0200 -@@ -2,6 +2,7 @@ - ** $Id: luaconf.h,v 1.82.1.7 2008/02/11 16:25:08 roberto Exp $ - ** Configuration file for Lua - ** See Copyright Notice in lua.h -+** Added logic operators : & | ^^ (xor) << >> ~, arithmetic operator \ (integer division) and != as an alternative to ~= - */ - - -@@ -209,6 +210,12 @@ - */ - #define LUA_IDSIZE 60 - -+/* -+@@ LUA_BITWISE_OPERATORS enable logical operators | & ^| >> << ~ on lua_Number -+@* but also arithmetic operator \ (integer division) and != as an alernative to ~= -+*/ -+#define LUA_BITWISE_OPERATORS -+ - - /* - ** {================================================================== -@@ -216,6 +223,7 @@ - ** =================================================================== - */ - -+ - #if defined(lua_c) || defined(luaall_c) - - /* -@@ -526,25 +534,6 @@ - - - /* --@@ The luai_num* macros define the primitive operations over numbers. --*/ --#if defined(LUA_CORE) --#include <math.h> --#define luai_numadd(a,b) ((a)+(b)) --#define luai_numsub(a,b) ((a)-(b)) --#define luai_nummul(a,b) ((a)*(b)) --#define luai_numdiv(a,b) ((a)/(b)) --#define luai_nummod(a,b) ((a) - floor((a)/(b))*(b)) --#define luai_numpow(a,b) (pow(a,b)) --#define luai_numunm(a) (-(a)) --#define luai_numeq(a,b) ((a)==(b)) --#define luai_numlt(a,b) ((a)<(b)) --#define luai_numle(a,b) ((a)<=(b)) --#define luai_numisnan(a) (!luai_numeq((a), (a))) --#endif -- -- --/* - @@ lua_number2int is a macro to convert lua_Number to int. - @@ lua_number2integer is a macro to convert lua_Number to lua_Integer. - ** CHANGE them if you know a faster way to convert a lua_Number to -@@ -560,7 +549,7 @@ - /* On a Microsoft compiler, use assembler */ - #if defined(_MSC_VER) - --#define lua_number2int(i,d) __asm fld d __asm fistp i -+#define lua_number2int(i,d) { __asm fld d __asm fistp i } - #define lua_number2integer(i,n) lua_number2int(i, n) - - /* the next trick should work on any Pentium, but sometimes clashes -@@ -582,6 +571,38 @@ - - #endif - -+ -+/* -+@@ The luai_num* macros define the primitive operations over numbers. -+*/ -+#if defined(LUA_CORE) -+#include <math.h> -+#define luai_numadd(a,b) ((a)+(b)) -+#define luai_numsub(a,b) ((a)-(b)) -+#define luai_nummul(a,b) ((a)*(b)) -+#define luai_numdiv(a,b) ((a)/(b)) -+#ifdef LUA_BITWISE_OPERATORS -+#define luai_numintdiv(a,b) (floor((a)/(b))) -+#endif -+#define luai_nummod(a,b) ((a) - floor((a)/(b))*(b)) -+#define luai_numpow(a,b) (pow(a,b)) -+#define luai_numunm(a) (-(a)) -+#define luai_numeq(a,b) ((a)==(b)) -+#define luai_numlt(a,b) ((a)<(b)) -+#define luai_numle(a,b) ((a)<=(b)) -+#define luai_numisnan(a) (!luai_numeq((a), (a))) -+ -+#if defined(LUA_BITWISE_OPERATORS) -+#define luai_logor(r, a, b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai|bi; } -+#define luai_logand(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai&bi; } -+#define luai_logxor(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai^bi; } -+#define luai_lognot(r,a) { lua_Integer ai; lua_number2int(ai,a); r = ~ai; } -+#define luai_loglshft(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai<<bi; } -+#define luai_logrshft(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai>>bi; } -+#endif -+ -+#endif -+ - /* }================================================================== */ - - -diff -Nurd lua-5.1.5/src/lua.h lua-5.1.5/src/lua.h ---- lua-5.1.5/src/lua.h 2012-01-13 22:36:20.000000000 +0200 -+++ lua-5.1.5/src/lua.h 2012-11-28 21:13:01.266418680 +0200 -@@ -17,7 +17,7 @@ - - - #define LUA_VERSION "Lua 5.1" --#define LUA_RELEASE "Lua 5.1.5" -+#define LUA_RELEASE "Lua 5.1.5+bitwiseops" - #define LUA_VERSION_NUM 501 - #define LUA_COPYRIGHT "Copyright (C) 1994-2012 Lua.org, PUC-Rio" - #define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo & W. Celes" -diff -Nurd lua-5.1.5/src/lvm.c lua-5.1.5/src/lvm.c ---- lua-5.1.5/src/lvm.c 2011-08-17 23:43:11.000000000 +0300 -+++ lua-5.1.5/src/lvm.c 2012-11-28 21:12:23.966419498 +0200 -@@ -329,6 +329,9 @@ - case TM_MOD: setnvalue(ra, luai_nummod(nb, nc)); break; - case TM_POW: setnvalue(ra, luai_numpow(nb, nc)); break; - case TM_UNM: setnvalue(ra, luai_numunm(nb)); break; -+#if defined(LUA_BITWISE_OPERATORS) -+ case TM_INTDIV: setnvalue(ra, luai_numintdiv(nb, nc)); break; -+#endif - default: lua_assert(0); break; - } - } -@@ -336,7 +339,30 @@ - luaG_aritherror(L, rb, rc); - } - -- -+#if defined(LUA_BITWISE_OPERATORS) -+static void Logic (lua_State *L, StkId ra, const TValue *rb, -+ const TValue *rc, TMS op) { -+ TValue tempb, tempc; -+ const TValue *b, *c; -+ if ((b = luaV_tonumber(rb, &tempb)) != NULL && -+ (c = luaV_tonumber(rc, &tempc)) != NULL) { -+ lua_Number nb = nvalue(b), nc = nvalue(c); -+ lua_Integer r; -+ switch (op) { -+ case TM_BLSHFT: luai_loglshft(r, nb, nc); break; -+ case TM_BRSHFT: luai_logrshft(r, nb, nc); break; -+ case TM_BOR: luai_logor(r, nb, nc); break; -+ case TM_BAND: luai_logand(r, nb, nc); break; -+ case TM_BXOR: luai_logxor(r, nb, nc); break; -+ case TM_BNOT: luai_lognot(r, nb); break; -+ default: lua_assert(0); r = 0; break; -+ } -+ setnvalue(ra, r); -+ } -+ else if (!call_binTM(L, rb, rc, ra, op)) -+ luaG_logicerror(L, rb, rc); -+} -+#endif - - /* - ** some macros for common tasks in `luaV_execute' -@@ -373,6 +399,22 @@ - } - - -+#if defined(LUA_BITWISE_OPERATORS) -+#define logic_op(op,tm) { \ -+ TValue *rb = RKB(i); \ -+ TValue *rc = RKC(i); \ -+ if (ttisnumber(rb) && ttisnumber(rc)) { \ -+ lua_Integer r; \ -+ lua_Number nb = nvalue(rb), nc = nvalue(rc); \ -+ op(r, nb, nc); \ -+ setnvalue(ra, r); \ -+ } \ -+ else \ -+ Protect(Logic(L, ra, rb, rc, tm)); \ -+ } -+#endif -+ -+ - - void luaV_execute (lua_State *L, int nexeccalls) { - LClosure *cl; -@@ -506,6 +548,45 @@ - } - continue; - } -+#if defined(LUA_BITWISE_OPERATORS) -+ case OP_BOR: { -+ logic_op(luai_logor, TM_BOR); -+ continue; -+ } -+ case OP_BAND: { -+ logic_op(luai_logand, TM_BAND); -+ continue; -+ } -+ case OP_BXOR: { -+ logic_op(luai_logxor, TM_BXOR); -+ continue; -+ } -+ case OP_BLSHFT: { -+ logic_op(luai_loglshft, TM_BLSHFT); -+ continue; -+ } -+ case OP_BRSHFT: { -+ logic_op(luai_logrshft, TM_BRSHFT); -+ continue; -+ } -+ case OP_BNOT: { -+ TValue *rb = RB(i); -+ if (ttisnumber(rb)) { -+ lua_Integer r; -+ lua_Number nb = nvalue(rb); -+ luai_lognot(r, nb); -+ setnvalue(ra, r); -+ } -+ else { -+ Protect(Logic(L, ra, rb, rb, TM_BNOT)); -+ } -+ continue; -+ } -+ case OP_INTDIV: { -+ arith_op(luai_numintdiv, TM_DIV); -+ continue; -+ } -+#endif - case OP_NOT: { - int res = l_isfalse(RB(i)); /* next assignment may change this value */ - setbvalue(ra, res); -diff -Nurd lua-5.1.5/test/bitwisepatchtest.lua lua-5.1.5/test/bitwisepatchtest.lua ---- lua-5.1.5/test/bitwisepatchtest.lua 1970-01-01 02:00:00.000000000 +0200 -+++ lua-5.1.5/test/bitwisepatchtest.lua 2012-11-28 21:12:23.966419498 +0200 -@@ -0,0 +1,24 @@ -+hex=function (i) return "0x"..string.format("%X", i) end -+print(hex(0x54|0x55)) -+print(hex(0x54&0x66)) -+print(hex(0x54^|0x66)) -+print(hex(~0x54)) -+print(hex(0xF<< 4)) -+print(hex(0xF0>> 4)) -+a,b=0x54,0x55 -+print(hex(a),"|",hex(b), "=",hex(a|b)) -+print(hex(a),"|","0x55", "=",hex(a|0x55)) -+print(hex(a),"|","0x5|0x50 (", hex(0x5|0x50), ") =",hex(a|(0x5|0x50))) -+a,b=0x54,0x66 -+print(hex(a),"&",hex(b), "=",hex(a&b)) -+print(hex(a),"&","0x66", "=",hex(a&0x66)) -+print(hex(a),"^|",hex(b), "=",hex(a^|b)) -+print(hex(a),"^|","0x66", "=",hex(a^|0x66)) -+print("~"..hex(a),"=",hex(~a)) -+a,b=0xF,0xF0 -+print(hex(a).."<<4","=",hex(a<<4)) -+print(hex(b)..">>4","=",hex(b>>4)) -+a,b=0xF,4 -+print(hex(a).."<<"..b,"=",hex(a<<b)) -+a,b=0xF0,4 -+print(hex(a)..">>"..b,"=",hex(a>>b)) diff --git a/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc b/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc deleted file mode 100644 index 64c03d2b6c..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr -libdir=${prefix}/lib -includedir=${prefix}/include - -Name: Lua -Description: Lua language engine -Version: 5.1.5 -Requires: -Libs: -L${libdir} -llua -Libs.private: -lm -Cflags: -I${includedir} diff --git a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch b/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch deleted file mode 100644 index b64a6a26bf..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch +++ /dev/null @@ -1,18 +0,0 @@ -lua.org patch 1 for lua-5.1.5. -from http://www.lua.org/bugs.html - -Upstream-Status: Backport - -Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> -diff -Nurd lua-5.1.5/src/Makefile lua-5.1.5/src/Makefile ---- lua-5.1.5/src/Makefile 2012-02-13 22:41:22.000000000 +0200 -+++ lua-5.1.5/src/Makefile 2013-10-25 11:29:49.769540434 +0300 -@@ -48,7 +48,7 @@ - a: $(ALL_A) - - $(LUA_A): $(CORE_O) $(LIB_O) -- $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files -+ $(AR) $@ $(CORE_O) $(LIB_O) - $(RANLIB) $@ - - $(LUA_T): $(LUA_O) $(LUA_A) diff --git a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch b/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch deleted file mode 100644 index 0c48ea2876..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch +++ /dev/null @@ -1,44 +0,0 @@ -lua.org patch 2 for lua-5.1.5. -from http://www.lua.org/bugs.html - -Upstream-Status: Backport - -Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> -diff -Nurd lua-5.1.5/src/lzio.c lua-5.1.5/src/lzio.c ---- lua-5.1.5/src/lzio.c 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/lzio.c 2013-10-25 11:32:45.773536572 +0300 -@@ -22,10 +22,14 @@ - size_t size; - lua_State *L = z->L; - const char *buff; -+ if (z->eoz) return EOZ; - lua_unlock(L); - buff = z->reader(L, z->data, &size); - lua_lock(L); -- if (buff == NULL || size == 0) return EOZ; -+ if (buff == NULL || size == 0) { -+ z->eoz = 1; /* avoid calling reader function next time */ -+ return EOZ; -+ } - z->n = size - 1; - z->p = buff; - return char2int(*(z->p++)); -@@ -51,6 +55,7 @@ - z->data = data; - z->n = 0; - z->p = NULL; -+ z->eoz = 0; - } - - -diff -Nurd lua-5.1.5/src/lzio.h lua-5.1.5/src/lzio.h ---- lua-5.1.5/src/lzio.h 2007-12-27 15:02:25.000000000 +0200 -+++ lua-5.1.5/src/lzio.h 2013-10-25 11:31:50.301537789 +0300 -@@ -59,6 +59,7 @@ - lua_Reader reader; - void* data; /* additional data */ - lua_State *L; /* Lua state (for reader) */ -+ int eoz; /* true if reader has no more data */ - }; - - diff --git a/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch b/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch deleted file mode 100644 index 0555e81b19..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: lua-5.1.4/src/Makefile -=================================================================== ---- lua-5.1.4.orig/src/Makefile 2010-10-16 09:51:52.000000000 +0200 -+++ lua-5.1.4/src/Makefile 2010-10-16 09:52:15.000000000 +0200 -@@ -12,7 +12,7 @@ - AR= ar rcu - RANLIB= ranlib - RM= rm -f --LIBS= -lm $(MYLIBS) -+LIBS= -lm -lpthread $(MYLIBS) - - MYCFLAGS= - MYLDFLAGS= diff --git a/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb b/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb deleted file mode 100644 index f9469948e4..0000000000 --- a/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb +++ /dev/null @@ -1,55 +0,0 @@ -DESCRIPTION = "Lua is a powerful light-weight programming language designed \ -for extending applications." -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=59bdd99bb82238f238cf5c65c21604fd" -HOMEPAGE = "http://www.lua.org/" - -PR = "r2" - -DEPENDS += "readline" -SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz \ - file://bitwise_operators.patch \ - file://lua5.1.pc \ - file://luaorg_1.patch \ - file://luaorg_2.patch \ -" -S = "${WORKDIR}/lua-${PV}" - -inherit pkgconfig binconfig - -UCLIBC_PATCHES += "file://uclibc-pthread.patch" -SRC_URI_append_libc-uclibc = "${UCLIBC_PATCHES}" - -TARGET_CC_ARCH += " -fPIC ${LDFLAGS}" -EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -DLUA_USE_LINUX -fPIC' MYLDFLAGS='${LDFLAGS}'" - -do_configure_prepend() { - sed -i -e s:/usr/local:${prefix}:g src/luaconf.h - sed -i -e s:lib/lua/5.1/:${base_libdir}/lua/5.1/:g src/luaconf.h -} - -do_compile () { - oe_runmake linux -} - -do_install () { - oe_runmake \ - 'INSTALL_TOP=${D}${prefix}' \ - 'INSTALL_BIN=${D}${bindir}' \ - 'INSTALL_INC=${D}${includedir}/' \ - 'INSTALL_MAN=${D}${mandir}/man1' \ - 'INSTALL_SHARE=${D}${datadir}/lua' \ - 'INSTALL_LIB=${D}${libdir}' \ - 'INSTALL_CMOD=${D}${libdir}/lua/5.1' \ - install - install -d ${D}${libdir}/pkgconfig - install -m 0644 ${WORKDIR}/lua5.1.pc ${D}${libdir}/pkgconfig/lua5.1.pc - rmdir ${D}${libdir}/lua/5.1 - rmdir ${D}${libdir}/lua - rmdir ${D}${datadir}/lua/5.1 - rmdir ${D}${datadir}/lua -} -BBCLASSEXTEND = "native" - -SRC_URI[md5sum] = "2e115fe26e435e33b0d5c022e4490567" -SRC_URI[sha256sum] = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333" diff --git a/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch b/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch deleted file mode 100644 index b9f17f4e31..0000000000 --- a/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch +++ /dev/null @@ -1,105 +0,0 @@ -Upstream-Status: Unknown - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -libluajit is having symbols that can't be -resolved the reloc cannot accommodate an offset greater than 24 bits. - -Looking at libluajit with readelf -r, you see a bunch of entries that look like: - 000082f0 00003c0a R_PPC_REL24 00000000 sqrt + 0 - -These should not occur when the code is compiled and linked with -fPIC. - -It turns out that libluajit *is* compiled and linked with -fPIC, however... -There is one assembler file called lj_vm.s which is generated during the build. -This file is missing the `@plt' qualifier from external references. - -This file is generated by a program called buildvm. This in turn uses tables -in a file called buildvm_arch.h which is generated by dynasm.lua. - -Index: LuaJIT-2.0.1/src/host/buildvm.c -=================================================================== ---- LuaJIT-2.0.1.orig/src/host/buildvm.c 2013-02-19 12:15:00.000000000 -0800 -+++ LuaJIT-2.0.1/src/host/buildvm.c 2013-05-14 20:26:05.933444512 -0700 -@@ -107,12 +107,14 @@ - #endif - sprintf(name, "%s%s%s", symprefix, prefix, suffix); - p = strchr(name, '@'); -+#if 0 - if (p) { - if (!LJ_64 && (ctx->mode == BUILD_coffasm || ctx->mode == BUILD_peobj)) - name[0] = '@'; - else - *p = '\0'; - } -+#endif - p = (char *)malloc(strlen(name)+1); /* MSVC doesn't like strdup. */ - strcpy(p, name); - return p; -Index: LuaJIT-2.0.1/src/vm_ppcspe.dasc -=================================================================== ---- LuaJIT-2.0.1.orig/src/vm_ppcspe.dasc 2013-02-19 12:15:00.000000000 -0800 -+++ LuaJIT-2.0.1/src/vm_ppcspe.dasc 2013-05-14 20:26:05.937444512 -0700 -@@ -1390,7 +1390,7 @@ - | checknum CARG2 - | evmergehi CARG1, CARG2, CARG2 - | checkfail ->fff_fallback -- | bl extern func -+ | bl extern func@plt - | evmergelo CRET1, CRET1, CRET2 - | b ->fff_restv - |.endmacro -@@ -1405,7 +1405,7 @@ - | checknum CARG1 - | evmergehi CARG3, CARG4, CARG4 - | checkanyfail ->fff_fallback -- | bl extern func -+ | bl extern func@plt - | evmergelo CRET1, CRET1, CRET2 - | b ->fff_restv - |.endmacro -@@ -1437,7 +1437,7 @@ - | checknum CARG2 - | evmergehi CARG1, CARG2, CARG2 - | checkfail ->fff_fallback -- | bl extern log -+ | bl extern log@plt - | evmergelo CRET1, CRET1, CRET2 - | b ->fff_restv - | -@@ -1471,7 +1471,7 @@ - | checknum CARG1 - | checkanyfail ->fff_fallback - | efdctsi CARG3, CARG4 -- | bl extern ldexp -+ | bl extern ldexp@plt - | evmergelo CRET1, CRET1, CRET2 - | b ->fff_restv - | -@@ -1484,7 +1484,7 @@ - | checkfail ->fff_fallback - | la CARG3, DISPATCH_GL(tmptv)(DISPATCH) - | lwz PC, FRAME_PC(BASE) -- | bl extern frexp -+ | bl extern frexp@plt - | lwz TMP1, DISPATCH_GL(tmptv)(DISPATCH) - | evmergelo CRET1, CRET1, CRET2 - | efdcfsi CRET2, TMP1 -@@ -1503,7 +1503,7 @@ - | checkfail ->fff_fallback - | la CARG3, -8(BASE) - | lwz PC, FRAME_PC(BASE) -- | bl extern modf -+ | bl extern modf@plt - | evmergelo CRET1, CRET1, CRET2 - | la RA, -8(BASE) - | evstdd CRET1, 0(BASE) -@@ -2399,7 +2399,7 @@ - | checknum CARG1 - | evmergehi CARG3, CARG4, CARG4 - | checkanyfail ->vmeta_arith_vv -- | bl extern pow -+ | bl extern pow@plt - | evmergelo CRET2, CRET1, CRET2 - | evstddx CRET2, BASE, RA - | ins_next diff --git a/meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb b/meta-oe/recipes-devtools/luajit/luajit_2.0.3.bb index b719b48e09..48137e3852 100644 --- a/meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb +++ b/meta-oe/recipes-devtools/luajit/luajit_2.0.3.bb @@ -1,27 +1,29 @@ SUMMARY = "Just-In-Time Compiler for Lua" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=1793ef52a5d577794cd886a501a7f861" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=97b6446bbf9d55616838f821585c5978" HOMEPAGE = "http://luajit.org" -DEPENDS += "lua5.1" -SRC_URI = "http://luajit.org/download/LuaJIT-${PV}.tar.gz;name=tarball \ +SRC_URI = "http://luajit.org/download/LuaJIT-${PV}.tar.gz \ file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \ - " -SRC_URI[tarball.md5sum] = "112dfb82548b03377fbefbba2e0e3a5b" -SRC_URI[tarball.sha256sum] = "c05202974a5890e777b181908ac237625b499aece026654d7cc33607e3f46c38" - -SRC_URI_append_fslmachine = " file://ppc-fixplt.patch " +" +SRC_URI[md5sum] = "f14e9104be513913810cd59c8c658dc0" +SRC_URI[sha256sum] = "55be6cb2d101ed38acca32c5b1f99ae345904b365b642203194c585d27bebd79" S = "${WORKDIR}/LuaJIT-${PV}" inherit pkgconfig binconfig +BBCLASSEXTEND = "native" + do_configure_prepend() { sed -i -e s:/usr/local:${prefix}:g ${S}/Makefile sed -i -e s:/lib$:${base_libdir}:g ${S}/Makefile } -EXTRA_OEMAKE = 'CROSS=${HOST_PREFIX} TARGET_CFLAGS="${TOOLCHAIN_OPTIONS}" TARGET_LDFLAGS="${TOOLCHAIN_OPTIONS}" TARGET_SHLDFLAGS="${TOOLCHAIN_OPTIONS}"' +EXTRA_OEMAKE = 'CROSS=${HOST_PREFIX} \ + TARGET_CFLAGS="${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}" \ + TARGET_LDFLAGS="${TOOLCHAIN_OPTIONS}" \ + TARGET_SHLDFLAGS="${TOOLCHAIN_OPTIONS}"' EXTRA_OEMAKE_append_powerpc = ' HOST_CC="${BUILD_CC} -m32"' EXTRA_OEMAKE_append_x86-64 = ' HOST_CC="${BUILD_CC}"' EXTRA_OEMAKE_append_i586 = ' HOST_CC="${BUILD_CC} -m32"' @@ -35,9 +37,9 @@ do_compile () { do_install () { oe_runmake 'DESTDIR=${D}' install - rmdir ${D}${datadir}/lua/5.1 \ + rmdir ${D}${datadir}/lua/5.* \ ${D}${datadir}/lua \ - ${D}${libdir}/lua/5.1 \ + ${D}${libdir}/lua/5.* \ ${D}${libdir}/lua } diff --git a/meta-oe/recipes-devtools/memstat/memstat_1.0.bb b/meta-oe/recipes-devtools/memstat/memstat_1.0.bb new file mode 100644 index 0000000000..825215372c --- /dev/null +++ b/meta-oe/recipes-devtools/memstat/memstat_1.0.bb @@ -0,0 +1,30 @@ +SUMMARY = "Display virtual memory allocation" +DESCRIPTION = "Lists all the processes, executables, and shared libraries \ +that are using up virtual memory. It's helpful to see how the shared memory \ +is used and which 'old' libs are loaded. \ +" +HOMEPAGE = "http://memstattool.sourceforge.net/" +SECTION = "devtool" + +LICENSE = "GPLv2" + +S = "${WORKDIR}/memstattool" + +LIC_FILES_CHKSUM = "file://debian/copyright;md5=87be186443b1ac2cfa466f475e1ee0cb" + +SRC_URI = "http://sourceforge.net/projects/memstattool/files/memstat_${PV}.tar.gz \ + " + +SRC_URI[md5sum] = "2c3acc0c62b2a18f6601b84e54aa7462" +SRC_URI[sha256sum] = "245d5fc7fb87bcfd14486cd34917cae2856e799559ac568434af12c4852bce94" + +do_install_append(){ + install -d ${D}${bindir} + install -m 0755 memstat ${D}${bindir} + install -d ${D}${sysconfdir} + install -m 0755 memstat.conf ${D}${sysconfdir} + install -d ${D}${mandir}/man1 + install -m 0644 memstat.1 ${D}${mandir}/man1 + install -d ${D}${docdir}/${BPN} + install -m 0644 memstat-tutorial.txt ${D}${docdir}/${BPN} +} diff --git a/meta-oe/recipes-devtools/mercurial/mercurial-native_1.9.bb b/meta-oe/recipes-devtools/mercurial/mercurial-native_3.0.1.bb index 516a9ecc41..9a5eebe32a 100644 --- a/meta-oe/recipes-devtools/mercurial/mercurial-native_1.9.bb +++ b/meta-oe/recipes-devtools/mercurial/mercurial-native_3.0.1.bb @@ -4,11 +4,10 @@ SECTION = "console/utils" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" DEPENDS = "python-native" -PR = "r2" SRC_URI = "http://mercurial.selenic.com/release/mercurial-${PV}.tar.gz" -SRC_URI[md5sum] = "d4842129fa2732eb6ed1180467bc32e2" -SRC_URI[sha256sum] = "711e4b1cd2924a7a88499d6c431a9122390183bf554d4e153edbb3b2f30123e0" +SRC_URI[md5sum] = "15de301a673b77f839325dba10ed4fc0" +SRC_URI[sha256sum] = "36e48b59a84ef5a222d06596971e955ac8217e56b076dfb94c8ce5a0c29fd705" S = "${WORKDIR}/mercurial-${PV}" 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/nodejs/nodejs_0.8.18.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb index 996d68ea6e..839bfa425f 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb +++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb @@ -5,6 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=95a589a3257ab7dfe37d8a8379e3c72d" DEPENDS = "openssl" +inherit pythonnative + SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \ file://0001-gcc-has-a-builtin-define-to-denote-hard-abi-when-in-.patch \ " @@ -38,5 +40,5 @@ do_install () { RDEPENDS_${PN} = "curl python-shell python-datetime python-subprocess python-crypt python-textutils python-netclient " RDEPENDS_${PN}_class-native = "" -FILES_${PN} += "${libdir}/node/wafadmin ${libdir}/node_modules ${libdir}/dtrace" +FILES_${PN} += "${libdir}/node/wafadmin ${libdir}/node_modules ${libdir}/dtrace ${libdir}/*" BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb b/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb index 9b8cc9a257..aafe63acfb 100644 --- a/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb +++ b/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb @@ -6,9 +6,9 @@ PR = "r1" inherit packagegroup allarch -RPROVIDES_${PN} += "packagegroup-native-sdk task-sdk-target task-native-sdk" -RREPLACES_${PN} += "packagegroup-native-sdk task-sdk-target task-native-sdk" -RCONFLICTS_${PN} += "packagegroup-native-sdk task-sdk-target task-native-sdk" +RPROVIDES_${PN} += "packagegroup-native-sdk" +RREPLACES_${PN} += "packagegroup-native-sdk" +RCONFLICTS_${PN} += "packagegroup-native-sdk" RDEPENDS_${PN} = "gcc-symlinks g++-symlinks cpp cpp-symlinks \ binutils-symlinks \ perl-modules \ 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 b1bf79cfc0..0000000000 --- a/meta-oe/recipes-devtools/php/php.inc +++ /dev/null @@ -1,133 +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}/.. \ - --with-libxml-dir=${STAGING_BINDIR_CROSS} \ - ${COMMON_EXTRA_OECONF} \ -" -EXTRA_OECONF_virtclass-native = " \ - --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \ - --with-libxml-dir=${STAGING_BINDIR_NATIVE} \ - ${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 new file mode 100644 index 0000000000..51a5e43b60 --- /dev/null +++ b/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch @@ -0,0 +1,90 @@ +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 3/8] acinclude: use pkgconfig for libxml2 config + +Signed-off-by: Koen Kooi <koen.kooi@linaro.org> +Upstream-Status: pending +--- + acinclude.m4 | 63 ++++++++++++++++++++++-------------------------------------- + 1 file changed, 23 insertions(+), 40 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 206fcbf..a6c0d84 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -2530,48 +2530,31 @@ dnl + dnl Common setup macro for libxml + dnl + AC_DEFUN([PHP_SETUP_LIBXML], [ +-AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path, +-[ +- +- ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config" +- ++PKG_CHECK_MODULES([LIBXML], [libxml-2.0 > 2.6.11], [ ++ PHP_EVAL_LIBLINE($LIBXML_LIBS, $1) ++ PHP_EVAL_INCLINE($LIBXML_CFLAGS) ++ ++ dnl Check that build works with given libs ++ AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [ ++ PHP_TEST_BUILD(xmlInitParser, ++ [ ++ php_cv_libxml_build_works=yes ++ AC_MSG_RESULT(yes) ++ ], [ ++ AC_MSG_RESULT(no) ++ AC_MSG_ERROR([build test failed. Please check the config.log for details.]) ++ ], [ ++ [$]$1 ++ ]) ++ ]) ++ if test "$php_cv_libxml_build_works" = "yes"; then ++ AC_DEFINE(HAVE_LIBXML, 1, [ ]) ++ fi ++ $2 ++], [ ++ AC_MSG_ERROR([$LIBXML_PKG_ERRORS]) + ]) + +- if test -x "$ac_cv_php_xml2_config_path"; then +- XML2_CONFIG="$ac_cv_php_xml2_config_path" +- libxml_full_version=`$XML2_CONFIG --version` +- ac_IFS=$IFS +- IFS="." +- set $libxml_full_version +- IFS=$ac_IFS +- LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3` +- if test "$LIBXML_VERSION" -ge "2006011"; then +- LIBXML_LIBS=`$XML2_CONFIG --libs` +- LIBXML_INCS=`$XML2_CONFIG --cflags` +- PHP_EVAL_LIBLINE($LIBXML_LIBS, $1) +- PHP_EVAL_INCLINE($LIBXML_INCS) +- +- dnl Check that build works with given libs +- AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [ +- PHP_TEST_BUILD(xmlInitParser, +- [ +- php_cv_libxml_build_works=yes +- ], [ +- AC_MSG_RESULT(no) +- AC_MSG_ERROR([build test failed. Please check the config.log for details.]) +- ], [ +- [$]$1 +- ]) +- ]) +- if test "$php_cv_libxml_build_works" = "yes"; then +- AC_DEFINE(HAVE_LIBXML, 1, [ ]) +- fi +- $2 +- else +- AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.]) +- fi +-ifelse([$3],[],,[else $3]) +- fi + ]) + + dnl ------------------------------------------------------------------------- +-- +1.9.3 + 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 4e0efb1ede..0000000000 --- a/meta-oe/recipes-devtools/php/php_5.4.14.bb +++ /dev/null @@ -1,21 +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" - -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.20.bb b/meta-oe/recipes-devtools/php/php_5.5.20.bb new file mode 100644 index 0000000000..cfda14b8b9 --- /dev/null +++ b/meta-oe/recipes-devtools/php/php_5.5.20.bb @@ -0,0 +1,237 @@ +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] = "9dfc1d4d2b44fb7e2b4ee9651d032203" +SRC_URI[sha256sum] = "f28a150d1cd8991bd1a41dce4fdff4e343d1dbe01a48b9b44bea74532ce0391a" + +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/pm-qa/pm-qa_git.bb b/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb index 924334010f..dc16aef977 100644 --- a/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb +++ b/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb @@ -4,12 +4,12 @@ HOMEPAGE = "https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/Test LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -PV = "0.4.10" +PV = "0.4.14" BRANCH ?= "master" -# Corresponds to tag pm-qa-v0.4.10 -SRCREV = "03a22d5ad7deb6021b2ec1d546a960d8a9878255" +# Corresponds to tag pm-qa-v0.4.14 +SRCREV = "9111d1930f02337394cf16e84ad2a27f33607cbb" SRC_URI = "git://git.linaro.org/power/pm-qa.git;protocol=git;branch=${BRANCH}" 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 c4ed5e64b7..a0db7bf95d 100644 --- a/meta-oe/recipes-devtools/protobuf/protobuf_2.4.1.bb +++ b/meta-oe/recipes-devtools/protobuf/protobuf_2.5.0.bb @@ -6,12 +6,14 @@ HOMEPAGE = "http://code.google.com/p/protobuf/" SECTION = "console/tools" LICENSE = "BSD-3-Clause" +DEPENDS = "zlib" + 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-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch b/meta-oe/recipes-devtools/python/python-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch deleted file mode 100644 index 9b9dd460bf..0000000000 --- a/meta-oe/recipes-devtools/python/python-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch +++ /dev/null @@ -1,27 +0,0 @@ -From bfed128dfe9551a3a40b1ac4269f18ecfeac80a9 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Sat, 1 Oct 2011 11:46:30 +0200 -Subject: [PATCH] Don't append docs to _Extension.extension.__doc__ - -* here it fails with TypeError: unsupported operand type(s) for +: 'NoneType' and 'str' in setup.py - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> ---- - Cython/Distutils/extension.py | 1 - - 1 files changed, 0 insertions(+), 1 deletions(-) - -diff --git a/Cython/Distutils/extension.py b/Cython/Distutils/extension.py -index a5a6638..e76c1e7 100644 ---- a/Cython/Distutils/extension.py -+++ b/Cython/Distutils/extension.py -@@ -16,7 +16,6 @@ except ImportError: - warnings = None - - class Extension(_Extension.Extension): -- _Extension.Extension.__doc__ + \ - """pyrex_include_dirs : [string] - list of directories to search for Pyrex header files (.pxd) (in - Unix form for portability) --- -1.7.6.1 - 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/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch b/meta-oe/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch new file mode 100644 index 0000000000..1b1128acab --- /dev/null +++ b/meta-oe/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch @@ -0,0 +1,64 @@ +From 5c4d6d8538994d5fe9b3b46bfafaf0a605e3bda6 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen.kooi@linaro.org> +Date: Tue, 17 Jun 2014 08:18:17 +0200 +Subject: [PATCH] configure: use pkg-config for pcre detection + +Signed-off-by: Koen Kooi <koen.kooi@linaro.org> +Upstream-Status: pending +--- + configure.ac | 38 +++++++------------------------------- + 1 file changed, 7 insertions(+), 31 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0c984b7..6edcec1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -70,38 +70,14 @@ AC_MSG_RESULT([$with_pcre]) + + dnl To make configuring easier, check for a locally built PCRE using the Tools/pcre-build.sh script + if test x"${with_pcre}" = xyes ; then +- AC_MSG_CHECKING([whether to use local PCRE]) +- local_pcre_config=no +- if test -z $PCRE_CONFIG; then +- if test -f `pwd`/pcre/pcre-swig-install/bin/pcre-config; then +- PCRE_CONFIG=`pwd`/pcre/pcre-swig-install/bin/pcre-config +- local_pcre_config=$PCRE_CONFIG +- fi +- fi +- AC_MSG_RESULT([$local_pcre_config]) +-fi +-AS_IF([test "x$with_pcre" != xno], +- [AX_PATH_GENERIC([pcre], +- [], dnl Minimal version of PCRE we need -- accept any +- [], dnl custom sed script for version parsing is not needed +- [AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE library]) +- LIBS="$LIBS $PCRE_LIBS" +- CPPFLAGS="$CPPFLAGS $PCRE_CFLAGS" +- ], +- [AC_MSG_FAILURE([ +- Cannot find pcre-config script from PCRE (Perl Compatible Regular Expressions) +- library package. This dependency is needed for configure to complete, +- Either: +- - Install the PCRE developer package on your system (preferred approach). +- - Download the PCRE source tarball, build and install on your system +- as you would for any package built from source distribution. +- - Use the Tools/pcre-build.sh script to build PCRE just for SWIG to statically +- link against. Run 'Tools/pcre-build.sh --help' for instructions. +- (quite easy and does not require privileges to install PCRE on your system) +- - Use configure --without-pcre to disable regular expressions support in SWIG +- (not recommended).]) +- ]) ++ PKG_CHECK_MODULES([PCRE], [libpcre], [ ++ AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE library]) ++ LIBS="$LIBS $PCRE_LIBS" ++ CPPFLAGS="$CPPFLAGS $PCRE_CFLAGS" ++ ], [ ++ AC_MSG_WARN([$PCRE_PKG_ERRORS]) + ]) ++fi + + + dnl CCache +-- +1.9.3 + diff --git a/meta-oe/recipes-devtools/swig/swig_2.0.12.bb b/meta-oe/recipes-devtools/swig/swig_2.0.12.bb deleted file mode 100644 index 0fbcfa1bf5..0000000000 --- a/meta-oe/recipes-devtools/swig/swig_2.0.12.bb +++ /dev/null @@ -1,7 +0,0 @@ -require ${BPN}.inc - -SRC_URI += "file://0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch" - -SRC_URI[md5sum] = "c3fb0b2d710cc82ed0154b91e43085a4" -SRC_URI[sha256sum] = "65e13f22a60cecd7279c59882ff8ebe1ffe34078e85c602821a541817a4317f7" - diff --git a/meta-oe/recipes-devtools/swig/swig_3.0.2.bb b/meta-oe/recipes-devtools/swig/swig_3.0.2.bb new file mode 100644 index 0000000000..ac41914586 --- /dev/null +++ b/meta-oe/recipes-devtools/swig/swig_3.0.2.bb @@ -0,0 +1,8 @@ +require ${BPN}.inc + +SRC_URI += "file://0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch \ + file://0001-configure-use-pkg-config-for-pcre-detection.patch \ + " + +SRC_URI[md5sum] = "62f9b0d010cef36a13a010dc530d0d41" +SRC_URI[sha256sum] = "a2669657cabcedc371f63c0457407a183e0b6b2ef4e7e303c1ec9a3964cc7813" 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-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc index a3db952221..7c8e341a3e 100644 --- a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc +++ b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc @@ -11,6 +11,6 @@ export XDG_DATA_DIRS = "${STAGING_DATADIR}" SRC_URI = "http://downloads.freesmartphone.org/sources/${BPN}/${BP}.tar.bz2;name=archive" -inherit autotools perlnative +inherit autotools perlnative pkgconfig BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/acpica/acpica_20140424.bb b/meta-oe/recipes-extended/acpica/acpica_20140828.bb index c302d27ba0..fb19c8858a 100644 --- a/meta-oe/recipes-extended/acpica/acpica_20140424.bb +++ b/meta-oe/recipes-extended/acpica/acpica_20140828.bb @@ -14,12 +14,12 @@ DEPENDS = "bison flex" SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz \ file://no-werror.patch \ " -SRC_URI[md5sum] = "733532f005fba5d1c5344440651b13d1" -SRC_URI[sha256sum] = "72ece982bbbdfb1b17418f1feb3a9daaa01803d0d41dcf00e19d702cdf751bbc" +SRC_URI[md5sum] = "6f05f0d10166a1b1ff6107f3d1cdf1e5" +SRC_URI[sha256sum] = "01d8867656c5ba41dec307c4383ce676196ad4281ac2c9dec9f5be5fac6d888e" S = "${WORKDIR}/acpica-unix2-${PV}" -EXTRA_OEMAKE = "CC=${TARGET_PREFIX}gcc 'OPT_CFLAGS=-Wall'" +EXTRA_OEMAKE = "CC='${CC}' 'OPT_CFLAGS=-Wall'" do_install() { install -D -p -m0755 generate/unix/bin*/iasl ${D}${bindir}/iasl 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 7e145bb2a6..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 '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/collectd.service b/meta-oe/recipes-extended/collectd/collectd/collectd.service new file mode 100644 index 0000000000..d835b735f6 --- /dev/null +++ b/meta-oe/recipes-extended/collectd/collectd/collectd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Collectd +After=local-fs.target network.target +Requires=local-fs.target network.target + +[Service] +ExecStart=@SBINDIR@/collectd -C /etc/collectd.conf -f +Restart=always +RestartSec=10 + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-extended/collectd/collectd/glibc-2.20-compatiblity.patch b/meta-oe/recipes-extended/collectd/collectd/glibc-2.20-compatiblity.patch new file mode 100644 index 0000000000..2596bedf90 --- /dev/null +++ b/meta-oe/recipes-extended/collectd/collectd/glibc-2.20-compatiblity.patch @@ -0,0 +1,102 @@ +This makes it forward compatible with glibc 2.20+ where _BSD_SOURCE +macro has been deprecated. + +Fixes warnings like + +usr/include/features.h:148:3: error: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Werror=cpp] +| # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending +Index: collectd-5.4.1/configure.ac +=================================================================== +--- collectd-5.4.1.orig/configure.ac 2014-09-03 01:21:10.666084244 -0700 ++++ collectd-5.4.1/configure.ac 2014-09-03 01:31:27.794084244 -0700 +@@ -1288,6 +1288,7 @@ + + AC_CHECK_MEMBERS([struct udphdr.uh_dport, struct udphdr.uh_sport], [], [], + [#define _BSD_SOURCE ++#define _DEFAULT_SOURCE 1 + #if HAVE_STDINT_H + # include <stdint.h> + #endif +@@ -1309,6 +1310,7 @@ + ]) + AC_CHECK_MEMBERS([struct udphdr.dest, struct udphdr.source], [], [], + [#define _BSD_SOURCE ++#define _DEFAULT_SOURCE 1 + #if HAVE_STDINT_H + # include <stdint.h> + #endif +Index: collectd-5.4.1/src/dns.c +=================================================================== +--- collectd-5.4.1.orig/src/dns.c 2014-01-26 00:09:14.856391886 -0800 ++++ collectd-5.4.1/src/dns.c 2014-09-03 01:32:37.666084244 -0700 +@@ -22,6 +22,7 @@ + **/ + + #define _BSD_SOURCE ++#define _DEFAULT_SOURCE 1 + + #include "collectd.h" + #include "common.h" +Index: collectd-5.4.1/src/exec.c +=================================================================== +--- collectd-5.4.1.orig/src/exec.c 2014-01-26 00:09:14.860391963 -0800 ++++ collectd-5.4.1/src/exec.c 2014-09-03 01:32:28.874084244 -0700 +@@ -24,6 +24,7 @@ + **/ + + #define _BSD_SOURCE /* For setgroups */ ++#define _DEFAULT_SOURCE 1 + + #include "collectd.h" + #include "common.h" +Index: collectd-5.4.1/src/load.c +=================================================================== +--- collectd-5.4.1.orig/src/load.c 2014-01-26 00:09:23.532559941 -0800 ++++ collectd-5.4.1/src/load.c 2014-09-03 01:32:51.462084244 -0700 +@@ -22,6 +22,7 @@ + **/ + + #define _BSD_SOURCE ++#define _DEFAULT_SOURCE 1 + + #include "collectd.h" + #include "common.h" +Index: collectd-5.4.1/src/network.c +=================================================================== +--- collectd-5.4.1.orig/src/network.c 2014-01-26 00:09:23.532559941 -0800 ++++ collectd-5.4.1/src/network.c 2014-09-03 01:32:44.522084244 -0700 +@@ -23,6 +23,7 @@ + **/ + + #define _BSD_SOURCE /* For struct ip_mreq */ ++#define _DEFAULT_SOURCE 1 + + #include "collectd.h" + #include "plugin.h" +Index: collectd-5.4.1/src/ntpd.c +=================================================================== +--- collectd-5.4.1.orig/src/ntpd.c 2014-01-26 00:09:14.880392351 -0800 ++++ collectd-5.4.1/src/ntpd.c 2014-09-03 01:32:20.350084244 -0700 +@@ -20,6 +20,7 @@ + **/ + + #define _BSD_SOURCE /* For NI_MAXHOST */ ++#define _DEFAULT_SOURCE 1 + + #include "collectd.h" + #include "common.h" +Index: collectd-5.4.1/src/utils_dns.c +=================================================================== +--- collectd-5.4.1.orig/src/utils_dns.c 2014-01-26 00:09:14.908392893 -0800 ++++ collectd-5.4.1/src/utils_dns.c 2014-09-03 01:31:47.062084244 -0700 +@@ -34,6 +34,7 @@ + */ + + #define _BSD_SOURCE ++#define _DEFAULT_SOURCE 1 + + #include "collectd.h" + #include "plugin.h" diff --git a/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch b/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch index 02b160109e..0e876ae85c 100644 --- a/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch +++ b/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch @@ -7,11 +7,11 @@ Upstream-Status: Inappropriate [configuration] Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> -diff --git a/configure.in b/configure.in -index 98395ed..81c3a2c 100644 ---- a/configure.in -+++ b/configure.in -@@ -1777,11 +1777,11 @@ then +Index: collectd-5.4.1/configure.ac +=================================================================== +--- collectd-5.4.1.orig/configure.ac 2014-09-03 01:20:22.062084244 -0700 ++++ collectd-5.4.1/configure.ac 2014-09-03 01:20:22.058084244 -0700 +@@ -1867,11 +1867,11 @@ GCRYPT_CPPFLAGS=`"$with_libgcrypt_config" --cflags 2>/dev/null` fi diff --git a/meta-oe/recipes-extended/collectd/collectd_5.2.2.bb b/meta-oe/recipes-extended/collectd/collectd_5.4.1.bb index 8585ff3c70..92b231c81e 100644 --- a/meta-oe/recipes-extended/collectd/collectd_5.2.2.bb +++ b/meta-oe/recipes-extended/collectd/collectd_5.4.1.bb @@ -3,17 +3,20 @@ DESCRIPTION = "collectd is a daemon which collects system performance statistics LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "rrdtool curl mysql5 libpcap libxml2 yajl libgcrypt libtool" +DEPENDS = "rrdtool curl mysql5 libpcap libxml2 yajl libgcrypt libtool lvm2 libmnl" SRC_URI = "http://collectd.org/files/collectd-${PV}.tar.bz2 \ file://no-gcrypt-badpath.patch \ file://collectd-version.patch \ - file://collectd.init" + file://glibc-2.20-compatiblity.patch \ + file://collectd.init \ + file://collectd.service" +SRC_URI[md5sum] = "6f56c71c96573a7f4f7fb3bfab185974" +SRC_URI[sha256sum] = "75452129f271cb0aad28e57f12a49070618bbb7b6a9d64cf869e8766fa2f66e0" -SRC_URI[md5sum] = "29e61411e51845d5ae71ab676078867e" -SRC_URI[sha256sum] = "7b8906d1c8866155b31820ef108be92abcee7fcd278d386bf0d449e704ba4696" +inherit autotools pythonnative update-rc.d pkgconfig systemd -inherit autotools pythonnative update-rc.d +SYSTEMD_SERVICE_${PN} = "collectd.service" # Floatingpoint layout, architecture dependent # 'nothing', 'endianflip' or 'intswap' @@ -30,6 +33,12 @@ PACKAGECONFIG[modbus] = "--enable-modbus,--disable-modbus,libmodbus" PACKAGECONFIG[libowcapi] = "--with-libowcapi,--without-libowcapi,owfs" 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, 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} \ @@ -51,6 +60,12 @@ do_install_append() { rmdir "${D}${localstatedir}/run" rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" + + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/collectd.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_unitdir}/system/collectd.service } INITSCRIPT_NAME = "collectd" 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 50202c1cb7..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}/${PN}/${P}.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/dialog/dialog.inc b/meta-oe/recipes-extended/dialog/dialog.inc index c1c28fd876..995d6c07c1 100644 --- a/meta-oe/recipes-extended/dialog/dialog.inc +++ b/meta-oe/recipes-extended/dialog/dialog.inc @@ -8,12 +8,14 @@ DEPENDS = "ncurses" LICENSE = "LGPL-2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" -SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz" +SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz \ + file://use-pkg-config-for-ncurses-detection.patch \ + " # hardcoded here for use in dialog-static recipe S = "${WORKDIR}/dialog-${PV}" -inherit autotools +inherit autotools-brokensep pkgconfig EXTRA_OECONF = "--with-ncurses \ --disable-rpath-hack" diff --git a/meta-oe/recipes-extended/dialog/files/use-pkg-config-for-ncurses-detection.patch b/meta-oe/recipes-extended/dialog/files/use-pkg-config-for-ncurses-detection.patch new file mode 100644 index 0000000000..a2354ade07 --- /dev/null +++ b/meta-oe/recipes-extended/dialog/files/use-pkg-config-for-ncurses-detection.patch @@ -0,0 +1,40 @@ +Subject: [PATCH] use pkg-config for ncurses detection. + +Upstream-Status: Inappropriate [configuration] + +This is a workaround to make dialog be able to build after ncurses-config +does not work, since the configure file is called directly in dialog bb +file, and autoconf can not work, make a workaround in configure file. + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + configure | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/configure b/configure +index 24e28c1..c78735d 100755 +--- a/configure ++++ b/configure +@@ -9976,8 +9976,8 @@ fi + + if test "$NCURSES_CONFIG" != none ; then + +-CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`" +-LIBS="`$NCURSES_CONFIG --libs` $LIBS" ++CPPFLAGS="$CPPFLAGS `pkg-config --short-errors --print-errors --cflags "ncurses" 2>/dev/null`" ++LIBS="`pkg-config --short-errors --print-errors --libs "ncurses" 2>/dev/null` $LIBS" + + # even with config script, some packages use no-override for curses.h + +@@ -10096,7 +10096,7 @@ cat >>confdefs.h <<EOF + #define $cf_nculib_ROOT 1 + EOF + +-cf_cv_ncurses_version=`$NCURSES_CONFIG --version` ++cf_cv_ncurses_version=`pkg-config --short-errors --print-errors --modversion "ncurses"` + + else + +-- +1.7.10.4 + 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/gnuplot/gnuplot_4.6.5.bb b/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb index 8a5bca964d..3f694a0547 100644 --- a/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb +++ b/meta-oe/recipes-extended/gnuplot/gnuplot_4.6.5.bb @@ -1,6 +1,6 @@ require gnuplot.inc -SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${PN}-${PV}.tar.gz;name=archive \ +SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \ http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \ file://subdirs.patch \ file://lua-loadlibs-configure-in-fix.patch \ 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/hexedit/hexedit_1.2.13.bb b/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb index d0658db58c..c2f0630383 100644 --- a/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb +++ b/meta-oe/recipes-extended/hexedit/hexedit_1.2.13.bb @@ -6,12 +6,12 @@ DEPENDS = "ncurses" LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" -SRC_URI = "http://rigaux.org/${PN}-${PV}.src.tgz \ +SRC_URI = "http://rigaux.org/${BP}.src.tgz \ file://0001-don-t-strip-when-installing.patch " SRC_URI[md5sum] = "a5af1378d028512a9cad27a5ba3e15f9" SRC_URI[sha256sum] = "6a126da30a77f5c0b08038aa7a881d910e3b65d13767fb54c58c983963b88dd7" -inherit autotools +inherit autotools-brokensep S = "${WORKDIR}/${PN}" diff --git a/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch b/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch new file mode 100644 index 0000000000..31c005c60c --- /dev/null +++ b/meta-oe/recipes-extended/hplip/hplip-3.12.6/configure.patch @@ -0,0 +1,14 @@ +Index: hplip-3.12.6/configure.in +=================================================================== +--- hplip-3.12.6.orig/configure.in 2014-07-16 20:03:51.310044196 +0000 ++++ hplip-3.12.6/configure.in 2014-07-18 07:53:31.589559192 +0000 +@@ -27,8 +27,7 @@ + + #AC_PREREQ(2.59) + AC_INIT([HP Linux Imaging and Printing], [3.12.6], [3.12.6], [hplip]) +-#AM_INIT_AUTOMAKE([1.9 foreign]) +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([1.9 foreign]) + AC_DISABLE_STATIC + + # Checks for programs. diff --git a/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb b/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb index 655f907f6d..fc5ef18a06 100644 --- a/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb +++ b/meta-oe/recipes-extended/hplip/hplip_3.12.6.bb @@ -4,15 +4,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=442bb3cbbeeb60643a87325718b8a8ee" PR = "r1" -SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.gz \ +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ file://setup-add-sleep-after-cups-reset.patch \ file://fix-libusb-paths.patch \ file://cups-1.6.patch \ + file://configure.patch \ " DEPENDS += "cups python libusb" -inherit autotools python-dir pythonnative +inherit autotools-brokensep python-dir pythonnative pkgconfig export BUILD_SYS export HOST_SYS 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 14d2ee5e38..d6292453f4 100644 --- a/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb +++ b/meta-oe/recipes-extended/iotop/iotop_0.4.4.bb @@ -9,7 +9,7 @@ PR = "r1" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" -SRC_URI = "http://guichaz.free.fr/iotop/files/${PN}-${PV}.tar.bz2" +SRC_URI = "http://guichaz.free.fr/iotop/files/${BP}.tar.bz2" SRC_URI[md5sum] = "cdd38b276cbf238676f5d2bcf098ba9c" SRC_URI[sha256sum] = "46f3279fb1a7dfc129b5d00950c6e8389e4aedeb58880e848b88d686483df0b0" @@ -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/lcdproc5.inc b/meta-oe/recipes-extended/lcdproc/lcdproc5.inc index d1a45cadcc..d7e333af68 100644 --- a/meta-oe/recipes-extended/lcdproc/lcdproc5.inc +++ b/meta-oe/recipes-extended/lcdproc/lcdproc5.inc @@ -9,7 +9,7 @@ DEPENDS = "ncurses" LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \ file://README;beginline=60;md5=637e042cdd3671ba00e78b58ede45d3b" -SRC_URI = "${SOURCEFORGE_MIRROR}/lcdproc/${P}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/lcdproc/${BP}.tar.gz" inherit autotools update-rc.d @@ -36,10 +36,10 @@ do_install () { sed -i s'/--oknodo//' ${D}${sysconfdir}/init.d/lcdproc # configuration files - install -m 0644 LCDd.conf ${D}${sysconfdir}/LCDd.conf + install -m 0644 ${S}/LCDd.conf ${D}${sysconfdir}/LCDd.conf sed -i 's!^DriverPath=.*!DriverPath=${libdir}/lcdproc/!' ${D}${sysconfdir}/LCDd.conf sed -i 's!^Driver=.*!Driver=${LCD_DEFAULT_DRIVER}!' ${D}${sysconfdir}/LCDd.conf - install -m 0644 clients/lcdproc/lcdproc.conf ${D}${sysconfdir}/lcdproc.conf + install -m 0644 ${S}/clients/lcdproc/lcdproc.conf ${D}${sysconfdir}/lcdproc.conf # driver library files install -d ${D}${libdir}/lcdproc 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 39e607437e..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,12 +1,11 @@ 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," +PACKAGECONFIG[hid] = "--enable-libhid,--disable-libhid,libhid" LCD_DRIVERS_append = "${@base_contains('PACKAGECONFIG', 'g15', '', ',!g15', d)}" @@ -15,7 +14,7 @@ do_install_append () { install -D -m 0755 clients/lcdvc/lcdvc ${D}${sbindir}/lcdvc # configuration files - install -D -m 0644 clients/lcdvc/lcdvc.conf ${D}${sysconfdir}/lcdvc.conf + install -D -m 0644 ${S}/clients/lcdvc/lcdvc.conf ${D}${sysconfdir}/lcdvc.conf } PACKAGES =+ "lcdvc" diff --git a/meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch b/meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch new file mode 100644 index 0000000000..4b76dd0c31 --- /dev/null +++ b/meta-oe/recipes-extended/leveldb/leveldb/0001-Explicitly-disable-tcmalloc.patch @@ -0,0 +1,48 @@ +From d6daac04dab4b3acf4b88f16742d1b402cdc3d83 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Wed, 1 Oct 2014 18:54:04 +0200 +Subject: [PATCH] Explicitly disable tcmalloc + +Without this change leveldb autodetects tcmalloc from sysroot and +sometimes became dependant on gperftools + +Disable autodetection without TCMALLOC_ENABLED=true pased to make + +Upstream-Status: Pending +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + build_detect_platform | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +diff --git a/build_detect_platform b/build_detect_platform +index bb76c4f..a586364 100755 +--- a/build_detect_platform ++++ b/build_detect_platform +@@ -201,15 +201,17 @@ EOF + PLATFORM_LIBS="$PLATFORM_LIBS -lsnappy" + fi + +- # Test whether tcmalloc is available +- $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -ltcmalloc 2>/dev/null <<EOF +- int main() {} ++ if [ "$TCMALLOC_ENABLED" = "true" ]; then ++ # Test whether tcmalloc is available ++ $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -ltcmalloc 2>/dev/null <<EOF ++ int main() {} + EOF +- if [ "$?" = 0 ]; then +- PLATFORM_LIBS="$PLATFORM_LIBS -ltcmalloc" +- fi ++ if [ "$?" = 0 ]; then ++ PLATFORM_LIBS="$PLATFORM_LIBS -ltcmalloc" ++ fi + +- rm -f $CXXOUTPUT 2>/dev/null ++ rm -f $CXXOUTPUT 2>/dev/null ++ fi + fi + + PLATFORM_CCFLAGS="$PLATFORM_CCFLAGS $COMMON_FLAGS" +-- +2.1.1 + diff --git a/meta-oe/recipes-extended/leveldb/leveldb_git.bb b/meta-oe/recipes-extended/leveldb/leveldb_git.bb new file mode 100644 index 0000000000..a6a3024301 --- /dev/null +++ b/meta-oe/recipes-extended/leveldb/leveldb_git.bb @@ -0,0 +1,27 @@ +SUMMARY = "LevelDB is a fast key-value storage library" +DESCRIPTION = "LevelDB is a fast key-value storage library that provides an ordered mapping from string keys to string values" +HOMEPAGE = "http://leveldb.googlecode.com" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d" + +SRCREV = "803d69203a62faf50f1b77897310a3a1fcae712b" +PV = "1.18+git${SRCPV}" + +SRC_URI = "git://github.com/google/${BPN}.git \ + file://0001-Explicitly-disable-tcmalloc.patch \ +" + +S = "${WORKDIR}/git" + +do_compile() { + # do not use oe_runmake. oe_runmake pass to make compilation arguments and override + # leveldb makefile variable CFLAGS and broke leveldb build. + CFLAGS="${CFLAGS}" make || die +} + +do_install() { + install -d ${D}${libdir} + oe_libinstall -C ${S} -so libleveldb ${D}${libdir} + install -d ${D}${includedir}/leveldb + install -m 644 ${S}/include/leveldb/*.h ${D}${includedir}/leveldb/ +} diff --git a/meta-oe/recipes-extended/libcec/libcec_git.bb b/meta-oe/recipes-extended/libcec/libcec_git.bb index db032f98c9..0f2a64eda2 100644 --- a/meta-oe/recipes-extended/libcec/libcec_git.bb +++ b/meta-oe/recipes-extended/libcec/libcec_git.bb @@ -6,10 +6,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5e8e16396992369f73f3d28875f846da" DEPENDS = "udev lockdev" -PV = "1.9.0" +PV = "2.1.4" -SRCREV = "9884e9ffc5293de5bb9092db1ed581f213a678df" -SRC_URI = "git://github.com/Pulse-Eight/libcec.git" +SRCREV = "81e38211724bc6e8bd7a60f484433053ed682635" +SRC_URI = "git://github.com/Pulse-Eight/libcec.git;branch=release" S = "${WORKDIR}/git" 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/liblognorm/liblognorm.inc b/meta-oe/recipes-extended/liblognorm/liblognorm.inc new file mode 100644 index 0000000000..dc8abb91f1 --- /dev/null +++ b/meta-oe/recipes-extended/liblognorm/liblognorm.inc @@ -0,0 +1,17 @@ +SUMMARY = "Fast samples-based log normalization library" +DESCRIPTION = "Briefly described, liblognorm is a tool to normalize log data." + +HOMEPAGE = "http://www.liblognorm.com" +SECTION = "base" + +LICENSE = "LGPL-2.1+" + +SRC_URI = "http://www.liblognorm.com/files/download/${BPN}-${PV}.tar.gz\ +" + +inherit autotools pkgconfig + +DEPENDS += "libee libestr json-c" + +PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,," +PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,sphinx," diff --git a/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb b/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb new file mode 100644 index 0000000000..5d89e3540d --- /dev/null +++ b/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb @@ -0,0 +1,5 @@ +require ${BPN}.inc + +SRC_URI[md5sum] = "7b9a826542af9686127110deab09d7a1" +SRC_URI[sha256sum] = "1f6cdfd901a8f6a97a3cb74bc6107c6746b3e9381f7889e4cd866a488e0c59a5" +LIC_FILES_CHKSUM = "file://COPYING;md5=ca016db57e008528dace002188c73dad" 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/libungif/libungif_4.1.4.bb b/meta-oe/recipes-extended/libungif/libungif_4.1.4.bb deleted file mode 100644 index aa05653846..0000000000 --- a/meta-oe/recipes-extended/libungif/libungif_4.1.4.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "shared library for GIF images" -SECTION = "libs" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a" - -SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/libungif-4.x/libungif-${PV}/libungif-${PV}.tar.bz2" -SRC_URI[md5sum] = "76865bc1bed90ecb5992a1edcc4d6c15" -SRC_URI[sha256sum] = "708a7eac218d3fd8e8dfb13f1089d4e1e98246985180a17d6ecfca5a6bd4d332" - -inherit autotools lib_package - -PACKAGES =+ "${PN}-utils" - -FILES_${PN}-utils = "${bindir}/*" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch b/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch new file mode 100644 index 0000000000..0f133e2e75 --- /dev/null +++ b/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch @@ -0,0 +1,67 @@ +From 61655f82224cadb261e81f8bae111eaaa7bdf531 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Wed, 6 Aug 2014 14:53:03 +0200 +Subject: [PATCH] configure: use pkg-config for freetype + +Upstream-status: Pending +Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> +--- + configure.ac | 37 ++++++++----------------------------- + 1 file changed, 8 insertions(+), 29 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 3cfe974..0055a8c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -399,40 +399,19 @@ AC_ARG_WITH(freetype,[ --with-freetype=DIR use freetype2 in DIR],[ + fi + ]) + +-if [ test -n "$FREETYPE_DIR" ]; then +- AC_PATH_PROG(FREETYPE_CONFIG,freetype-config, ,[$FREETYPE_DIR/bin:$PATH]) +-else +- AC_PATH_PROG(FREETYPE_CONFIG,freetype-config) +-fi +- +-if [ test -n "$FREETYPE_CONFIG" ]; then +- if [ test -n "$FREETYPE_DIR" ]; then +- freetype_cflags="`$FREETYPE_CONFIG --cflags` -I$FREETYPE_DIR/include" +- freetype_libs=`$FREETYPE_CONFIG --libs` +- else +- freetype_cflags=`$FREETYPE_CONFIG --cflags` +- freetype_libs=`$FREETYPE_CONFIG --libs` +- fi +-else +- if [ test -n "$FREETYPE_DIR" ]; then +- freetype_cflags="-I$FREETYPE_DIR/include/freetype2 -I$FREETYPE_DIR/include" +- freetype_libs="-L$FREETYPE_DIR/lib -lfreetype" +- else +- freetype_cflags="" +- freetype_libs="-lfreetype" +- fi +-fi +- +-CPPFLAGS="$freetype_cflags $CPPFLAGS" +-LDFLAGS="$LDFLAGS $freetype_libs" ++PKG_CHECK_MODULES(FREETYPE2, freetype2, ++ CFLAGS="$CFLAGS $FREETYPE2_CFLAGS" ++ LDFLAGS="$LDFLAGS $FREETYPE2_LIBS", ++ AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)]) ++) + + AC_CHECK_LIB(freetype,FT_Init_FreeType,[ +- WMF_FT_LDFLAGS="$freetype_libs" ++ WMF_FT_LDFLAGS="$FREETYPE2_LIBS" + ],[ AC_MSG_ERROR([* * * freetype(2) is required * * *]) + ]) + AC_CHECK_HEADER(ft2build.h,[ +- WMF_FT_CFLAGS="$freetype_cflags" +- WMF_FT_CONFIG_CFLAGS="$freetype_cflags" ++ WMF_FT_CFLAGS="$FREETYPE2_CFLAGS" ++ WMF_FT_CONFIG_CFLAGS="$FREETYPE2_CFLAGS" + ],[ AC_MSG_ERROR([* * * freetype(2) is required * * *]) + ]) + +-- +1.9.0 + diff --git a/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb b/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb index 53ef81a69a..11e2ba1802 100644 --- a/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb +++ b/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb @@ -7,16 +7,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" PR = "r3" -DEPENDS_virtclass-native = "libpng-native jpeg-native" -DEPENDS = "libpng jpeg expat gtk+" +DEPENDS_virtclass-native = "freetype-native libpng-native jpeg-native" +DEPENDS = "freetype libpng jpeg expat gtk+" BBCLASSEXTEND = "native" -inherit autotools +inherit autotools pkgconfig SRC_URI = "${SOURCEFORGE_MIRROR}/wvware/${BPN}/${PV}/${BPN}-${PV}.tar.gz;name=tarball \ file://libwmf-0.2.8.4-intoverflow.patch \ - file://libwmf-0.2.8.4-useafterfree.patch" + file://libwmf-0.2.8.4-useafterfree.patch \ + file://0001-configure-use-pkg-config-for-freetype.patch \ + " + SRC_URI[tarball.md5sum] = "d1177739bf1ceb07f57421f0cee191e0" SRC_URI[tarball.sha256sum] = "5b345c69220545d003ad52bfd035d5d6f4f075e65204114a9e875e84895a7cf8" 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..650d6f86e3 --- /dev/null +++ b/meta-oe/recipes-extended/logwatch/logwatch_7.4.1.bb @@ -0,0 +1,58 @@ +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}${sysconfdir}/cron.daily/0logwatch + 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/md5deep/files/wrong-variable-expansion.patch b/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch new file mode 100644 index 0000000000..3a4c4f4c2c --- /dev/null +++ b/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch @@ -0,0 +1,39 @@ +--- a/configure.ac 2014-08-22 12:22:54.290884351 +0200 ++++ b/configure.ac 2014-08-22 12:23:15.822306295 +0200 +@@ -42,18 +42,6 @@ + ;; + esac + +- +-# Bring additional directories where things might be found into our +-# search path. I don't know why autoconf doesn't do this by default +-if test x"${mingw}" == "xno" ; then +- for spfx in /usr/local /opt/local /sw ; do +- echo checking ${spfx}/include +- if test -d ${spfx}/include; then +- CPPFLAGS="-I${spfx}/include $CPPFLAGS" +- LDFLAGS="-L${spfx}/lib $LDFLAGS" +- fi +- done +-fi + # + # + ################################################################ +@@ -71,7 +59,7 @@ + + if test $mingw = "no" ; then + # add the warnings we don't want to do on mingw +- $WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Wall -Wstrict-prototypes -Weffc++" ++ WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Wall -Wstrict-prototypes -Weffc++" + fi + + for option in $WARNINGS_TO_TEST +@@ -105,7 +93,7 @@ + + if test $mingw = "no" ; then + # add the warnings we don't want to do on mingw +- $WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Weffc++" ++ WARNINGS_TO_TEST="$WARNINGS_TO_TEST -Weffc++" + fi + + for option in $WARNINGS_TO_TEST diff --git a/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb b/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb new file mode 100644 index 0000000000..960e00f61d --- /dev/null +++ b/meta-oe/recipes-extended/md5deep/md5deep_4.4.bb @@ -0,0 +1,16 @@ +SUMMARY = "md5deep and hashdeep to compute and audit hashsets of amounts of files." +DESCRIPTION = "md5deep is a set of programs to compute MD5, SHA-1, SHA-256, Tiger, or Whirlpool message digests on an arbitrary number of files. This package also includes hashdeep which is also able to audit hashsets." +AUTHOR = "Jesse Kornblum, Simson L. Garfinkel" +HOMEPAGE = "http://md5deep.sourceforge.net" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=9190f660105b9a56cdb272309bfd5491" +# Release 4.4 +SRCREV = "cd2ed7416685a5e83eb10bb659d6e9bec01244ae" + +SRC_URI = "git://github.com/jessek/hashdeep.git \ + file://wrong-variable-expansion.patch \ + " + +S = "${WORKDIR}/git" + +inherit autotools diff --git a/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb b/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb index 95deb37259..65b07f5022 100644 --- a/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb +++ b/meta-oe/recipes-extended/mml-widget/gtkmathview_0.8.0.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" PR = "r3" -SRC_URI = "http://helm.cs.unibo.it/mml-widget/sources/${P}.tar.gz \ +SRC_URI = "http://helm.cs.unibo.it/mml-widget/sources/${BP}.tar.gz \ file://mathview-gcc43x.diff \ file://mathview-gcc47x.diff \ file://qualify-lookup.diff \ @@ -14,7 +14,7 @@ SRC_URI = "http://helm.cs.unibo.it/mml-widget/sources/${P}.tar.gz \ SRC_URI[md5sum] = "b53564e553728d4b69f7d366dfeb5299" SRC_URI[sha256sum] = "1dc30175da6a3c560a7d62d1abe1c2f9829d988e6f1a7c5e766544575c558c43" -inherit autotools-brokensep +inherit autotools-brokensep pkgconfig do_configure_prepend() { sed -i -e s:AM_BINRELOC::g ${S}/configure.ac 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 1af1fa6f72..174f6fe0a8 100644 --- a/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb +++ b/meta-oe/recipes-extended/mozjs/mozjs_17.0.0.bb @@ -3,8 +3,9 @@ LICENSE = "MPL-2.0" LIC_FILES_CHKSUM = "file://../../LICENSE;md5=815ca599c9df247a0c7f619bab123dad" SRC_URI = " \ - http://ftp.mozilla.org/pub/mozilla.org/js/${PN}${PV}.tar.gz \ + 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" @@ -13,7 +14,7 @@ S = "${WORKDIR}/${PN}${PV}/js/src" inherit autotools pkgconfig perlnative -DEPENDS += "nspr" +DEPENDS += "nspr zlib" # nspr's package-config is ignored so set libs manually EXTRA_OECONF = " \ 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/polkit/polkit-gnome_0.102.bb b/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb index df5c9a38ad..f5480e780f 100644 --- a/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb +++ b/meta-oe/recipes-extended/polkit/polkit-gnome_0.102.bb @@ -2,7 +2,7 @@ SUMMARY = "GNOME Authentication Agent for PolicyKit" DESCRIPTION = "PolicyKit-gnome provides an Authentication Agent for PolicyKit that integrates well with the GNOME desktop environment" HOMEPAGE = "http://www.packagekit.org/" BUGTRACKER = "http://bugzilla.gnome.org/" -DEPENDS = "polkit dbus-glib gconf gtk+" +DEPENDS = "polkit dbus-glib gconf gtk+ intltool-native gnome-common" LICENSE = "LGPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=74579fab173e4c5e12aac0cd83ee98ec \ file://src/main.c;beginline=1;endline=20;md5=aba145d1802f2329ba561e3e48ecb795" @@ -10,12 +10,14 @@ 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 = " --disable-scrollkeeper \ - --disable-man-pages \ - --disable-examples \ - --disable-introspection " +EXTRA_OECONF = "\ + --disable-examples \ + --disable-introspection \ +" inherit autotools gtk-doc pkgconfig diff --git a/meta-oe/recipes-extended/polkit/polkit_0.111.bb b/meta-oe/recipes-extended/polkit/polkit_0.112.bb index 4614387055..72b182b952 100644 --- a/meta-oe/recipes-extended/polkit/polkit_0.111.bb +++ b/meta-oe/recipes-extended/polkit/polkit_0.112.bb @@ -23,26 +23,11 @@ SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar. file://0001-configure.ac-Check-only-for-libsystemd-not-libsystem.patch \ " -SRC_URI[md5sum] = "81b116edf986d8e13502929a171f4e0d" -SRC_URI[sha256sum] = "02ae544547211b687818c97bcbf19bf6b8b5be7fda93000525a8765c7bed1ea1" +SRC_URI[md5sum] = "b0f2fa00a55f47c6a5d88e9b73f80127" +SRC_URI[sha256sum] = "d695f43cba4748a822fbe864dd32c4887c5da1c71694a47693ace5e88fcf6af6" EXTRA_OECONF = "--with-os-type=moblin --disable-man-pages --disable-introspection" -do_install_append() { - # see configure.log for more details - chown root:root ${D}${libdir}/${BPN}-1/polkit-agent-helper-1 - chmod 4755 ${D}${libdir}/${BPN}-1/polkit-agent-helper-1 - - chown root:root ${D}${bindir}/pkexec - chmod 4755 ${D}${bindir}/pkexec - - chown polkitd:polkitd ${D}${sysconfdir}/${BPN}-1/rules.d - chmod 700 ${D}${sysconfdir}/${BPN}-1/rules.d - - chown polkitd:polkitd ${D}${datadir}/${BPN}-1/rules.d - chmod 700 ${D}${datadir}/${BPN}-1/rules.d -} - PACKAGES =+ "${PN}-examples" FILES_${PN} += " \ 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/0001-removing-testing-leftovers.patch b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-removing-testing-leftovers.patch new file mode 100644 index 0000000000..cf5d7752e5 --- /dev/null +++ b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-removing-testing-leftovers.patch @@ -0,0 +1,39 @@ +From c581b02d074f5a109074bc190f373f5ba4320468 Mon Sep 17 00:00:00 2001 +From: Tobias Oetiker <tobi@oetiker.ch> +Date: Thu, 3 Oct 2013 15:51:00 +0200 +Subject: [PATCH] removing testing leftovers + +Upstream-Status: Backport + +Signed-off-by: Peter A. Bigot <pab@pabigot.com> + +--- + bindings/perl-piped/leaktest.pl | 16 ---------------- + 1 file changed, 16 deletions(-) + delete mode 100644 bindings/perl-piped/leaktest.pl + +diff --git a/bindings/perl-piped/leaktest.pl b/bindings/perl-piped/leaktest.pl +deleted file mode 100644 +index cebf1c7..0000000 +--- a/bindings/perl-piped/leaktest.pl ++++ /dev/null +@@ -1,16 +0,0 @@ +-#!/bin/perl -w +-$ENV{PATH}="/usr/ucb"; +-use strict; +-use RRDp; +-my $rrdfile='/tmp/test.rrd'; +-RRDp::start '/home/oetiker/data/projects/AABN-rrdtool/src/rrdtool'; +-print grep /rrdtool/,`ps au`; +-print grep /rrdtool/,`ps au`; +-my $i=0; +-while ($i<1000) { +- RRDp::cmd 'info /tmp/test.rrd'; +- $_ = RRDp::read; +- $i++; +-} +-$_ = RRDp::end; +-print grep /rrdtool/,`ps au`; +-- +1.8.5.5 + diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch b/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch deleted file mode 100644 index 1157dc7201..0000000000 --- a/meta-oe/recipes-extended/rrdtool/rrdtool/0001-rrdtool-eradicate-tcl-support.patch +++ /dev/null @@ -1,1733 +0,0 @@ -From 2dcb4bb8aadfead3e77bdb78b96ec8022e605a0d Mon Sep 17 00:00:00 2001 -From: Koen Kooi <koen@dominion.thruhere.net> -Date: Sat, 12 May 2012 20:41:35 +0200 -Subject: [PATCH] rrdtool: eradicate tcl support - -TCL breaks autoreconf - -Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> ---- - Makefile.am | 3 - - bindings/Makefile.am | 5 +- - bindings/tcl/Makefile.am | 58 ---- - bindings/tcl/Makefile.in | 668 ------------------------------------ - bindings/tcl/README | 31 -- - bindings/tcl/ifOctets.tcl.in | 45 --- - bindings/tcl/tclrrd.c | 762 ------------------------------------------ - configure.ac | 54 --- - 8 files changed, 1 insertion(+), 1625 deletions(-) - delete mode 100644 bindings/tcl/Makefile.am - delete mode 100644 bindings/tcl/Makefile.in - delete mode 100644 bindings/tcl/README - delete mode 100644 bindings/tcl/ifOctets.tcl.in - delete mode 100644 bindings/tcl/tclrrd.c - -diff --git a/Makefile.am b/Makefile.am -index 2003373..969e36b 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -36,9 +36,6 @@ site-perl-install: all bindings/perl-piped/Makefile bindings/perl-shared/Makefil - cd bindings/perl-piped && $(MAKE) install - cd bindings/perl-shared && $(MAKE) install - --site-tcl-install: all -- cd bindings/tcl && $(MAKE) tcl-install -- - site-python-install: all - cd bindings/python && $(PYTHON) setup.py install $(if $(DESTDIR),--root=$(DESTDIR)) - -diff --git a/bindings/Makefile.am b/bindings/Makefile.am -index c4fdc10..3574a60 100644 ---- a/bindings/Makefile.am -+++ b/bindings/Makefile.am -@@ -1,13 +1,10 @@ - .PHONY: python ruby - --if BUILD_TCL --SUB_tcl = tcl --endif - if BUILD_LUA - SUB_lua = lua - endif - --SUBDIRS = $(SUB_tcl) $(SUB_lua) -+SUBDIRS = $(SUB_lua) - - # the following files are not mentioned in any other Makefile - EXTRA_DIST = perl-piped/MANIFEST perl-piped/README perl-piped/Makefile.PL perl-piped/RRDp.pm perl-piped/t/base.t \ -diff --git a/bindings/tcl/Makefile.am b/bindings/tcl/Makefile.am -deleted file mode 100644 -index c0e8b0f..0000000 ---- a/bindings/tcl/Makefile.am -+++ /dev/null -@@ -1,58 +0,0 @@ -- --EXTRA_DIST = README tclrrd.c -- --VERSION = @VERSION@ -- --AM_CFLAGS = @CFLAGS@ --### no including this by default @WERROR@ -- --TCL_PREFIX = @TCL_PREFIX@ --TCL_SHLIB_LD = @TCL_SHLIB_LD@ --TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@ --TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@ --TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ --TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@ --TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ --TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@ -- --CLEANFILES = tclrrd.o tclrrd.so -- --SRC_DIR = $(top_srcdir)/src --AM_CPPFLAGS = $(TCL_INCLUDE_SPEC) -I$(SRC_DIR) -DUSE_TCL_STUBS --LIBDIRS = -L$(top_builddir)/src/.libs -L$(top_builddir)/src -L$(libdir) --LIB_RUNTIME_DIR = $(libdir) -- --if BUILD_TCL_SITE --tclpkgdir = @TCL_PACKAGE_DIR@ --tclpkg_DATA = pkgIndex.tcl --tclpkg_SCRIPTS = ifOctets.tcl --else --pkglib_DATA = pkgIndex.tcl --pkglib_SCRIPTS = ifOctets.tcl --endif -- --# Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as --# library name. So we build and install this library `by hand'. --# --# We do, however, specify a lib_LIBRARIES target such that --# automake creates the directory (if neecessary). --# --TCL_RRD_LIB = tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX) -- --lib_LIBRARIES = -- --all-local: $(TCL_RRD_LIB) -- --$(TCL_RRD_LIB): tclrrd.o -- $(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS) -- --tclrrd.o: tclrrd.c -- $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\" -- --pkgIndex.tcl: -- echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@ -- --install-exec-local: $(TCL_RRD_LIB) -- @$(NORMAL_INSTALL) -- $(INSTALL_PROGRAM) $(TCL_RRD_LIB) $(DESTDIR)$(libdir)/$(TCL_RRD_LIB) -- -diff --git a/bindings/tcl/Makefile.in b/bindings/tcl/Makefile.in -deleted file mode 100644 -index 0a36517..0000000 ---- a/bindings/tcl/Makefile.in -+++ /dev/null -@@ -1,668 +0,0 @@ --# Makefile.in generated by automake 1.11 from Makefile.am. --# @configure_input@ -- --# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, --# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, --# Inc. --# This Makefile.in 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. -- --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY, to the extent permitted by law; without --# even the implied warranty of MERCHANTABILITY or FITNESS FOR A --# PARTICULAR PURPOSE. -- --@SET_MAKE@ -- -- -- --VPATH = @srcdir@ --pkgdatadir = $(datadir)/@PACKAGE@ --pkgincludedir = $(includedir)/@PACKAGE@ --pkglibdir = $(libdir)/@PACKAGE@ --pkglibexecdir = $(libexecdir)/@PACKAGE@ --am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd --install_sh_DATA = $(install_sh) -c -m 644 --install_sh_PROGRAM = $(install_sh) -c --install_sh_SCRIPT = $(install_sh) -c --INSTALL_HEADER = $(INSTALL_DATA) --transform = $(program_transform_name) --NORMAL_INSTALL = : --PRE_INSTALL = : --POST_INSTALL = : --NORMAL_UNINSTALL = : --PRE_UNINSTALL = : --POST_UNINSTALL = : --build_triplet = @build@ --host_triplet = @host@ --target_triplet = @target@ --subdir = bindings/tcl --DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ -- $(srcdir)/ifOctets.tcl.in --ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 --am__aclocal_m4_deps = $(top_srcdir)/m4/acinclude.m4 \ -- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \ -- $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ -- $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ -- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ -- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ -- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ -- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ -- $(top_srcdir)/configure.ac --am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ -- $(ACLOCAL_M4) --mkinstalldirs = $(install_sh) -d --CONFIG_HEADER = $(top_builddir)/rrd_config.h --CONFIG_CLEAN_FILES = ifOctets.tcl --CONFIG_CLEAN_VPATH_FILES = --am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; --am__vpath_adj = case $$p in \ -- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ -- *) f=$$p;; \ -- esac; --am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; --am__install_max = 40 --am__nobase_strip_setup = \ -- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` --am__nobase_strip = \ -- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" --am__nobase_list = $(am__nobase_strip_setup); \ -- for p in $$list; do echo "$$p $$p"; done | \ -- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ -- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ -- if (++n[$$2] == $(am__install_max)) \ -- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ -- END { for (dir in files) print dir, files[dir] }' --am__base_list = \ -- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ -- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' --am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkglibdir)" \ -- "$(DESTDIR)$(tclpkgdir)" "$(DESTDIR)$(pkglibdir)" \ -- "$(DESTDIR)$(tclpkgdir)" --LIBRARIES = $(lib_LIBRARIES) --SCRIPTS = $(pkglib_SCRIPTS) $(tclpkg_SCRIPTS) --AM_V_GEN = $(am__v_GEN_$(V)) --am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) --am__v_GEN_0 = @echo " GEN " $@; --AM_V_at = $(am__v_at_$(V)) --am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) --am__v_at_0 = @ --SOURCES = --DIST_SOURCES = --DATA = $(pkglib_DATA) $(tclpkg_DATA) --DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) --ACLOCAL = @ACLOCAL@ --ALL_LIBS = @ALL_LIBS@ --AMTAR = @AMTAR@ --AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ --AR = @AR@ --AUTOCONF = @AUTOCONF@ --AUTOHEADER = @AUTOHEADER@ --AUTOMAKE = @AUTOMAKE@ --AWK = @AWK@ --CC = @CC@ --CCDEPMODE = @CCDEPMODE@ --CFLAGS = @CFLAGS@ --COMP_LUA = @COMP_LUA@ --COMP_PERL = @COMP_PERL@ --COMP_PYTHON = @COMP_PYTHON@ --COMP_RUBY = @COMP_RUBY@ --CORE_LIBS = @CORE_LIBS@ --CPP = @CPP@ --CPPFLAGS = @CPPFLAGS@ --CYGPATH_W = @CYGPATH_W@ --DEFS = @DEFS@ --DEPDIR = @DEPDIR@ --DSYMUTIL = @DSYMUTIL@ --DUMPBIN = @DUMPBIN@ --ECHO_C = @ECHO_C@ --ECHO_N = @ECHO_N@ --ECHO_T = @ECHO_T@ --EGREP = @EGREP@ --EXEEXT = @EXEEXT@ --FGREP = @FGREP@ --GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ --GMSGFMT = @GMSGFMT@ --GMSGFMT_015 = @GMSGFMT_015@ --GREP = @GREP@ --INSTALL = @INSTALL@ --INSTALL_DATA = @INSTALL_DATA@ --INSTALL_PROGRAM = @INSTALL_PROGRAM@ --INSTALL_SCRIPT = @INSTALL_SCRIPT@ --INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ --INTLLIBS = @INTLLIBS@ --INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ --LD = @LD@ --LDFLAGS = @LDFLAGS@ --LIBICONV = @LIBICONV@ --LIBINTL = @LIBINTL@ --LIBOBJS = @LIBOBJS@ --LIBS = @LIBS@ --LIBTOOL = @LIBTOOL@ --LIBVERS = @LIBVERS@ --LIPO = @LIPO@ --LN_S = @LN_S@ --LTLIBICONV = @LTLIBICONV@ --LTLIBINTL = @LTLIBINTL@ --LTLIBOBJS = @LTLIBOBJS@ --LUA = @LUA@ --LUA_CFLAGS = @LUA_CFLAGS@ --LUA_DEFINES = @LUA_DEFINES@ --LUA_INSTALL_CMOD = @LUA_INSTALL_CMOD@ --LUA_INSTALL_LMOD = @LUA_INSTALL_LMOD@ --LUA_LFLAGS = @LUA_LFLAGS@ --MAINT = @MAINT@ --MAKEINFO = @MAKEINFO@ --MKDIR_P = @MKDIR_P@ --MSGFMT = @MSGFMT@ --MSGFMT_015 = @MSGFMT_015@ --MSGMERGE = @MSGMERGE@ --MULTITHREAD_CFLAGS = @MULTITHREAD_CFLAGS@ --MULTITHREAD_LDFLAGS = @MULTITHREAD_LDFLAGS@ --NM = @NM@ --NMEDIT = @NMEDIT@ --NROFF = @NROFF@ --NUMVERS = @NUMVERS@ --OBJDUMP = @OBJDUMP@ --OBJEXT = @OBJEXT@ --OTOOL = @OTOOL@ --OTOOL64 = @OTOOL64@ --PACKAGE = @PACKAGE@ --PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ --PACKAGE_NAME = @PACKAGE_NAME@ --PACKAGE_STRING = @PACKAGE_STRING@ --PACKAGE_TARNAME = @PACKAGE_TARNAME@ --PACKAGE_VERSION = @PACKAGE_VERSION@ --PATH_SEPARATOR = @PATH_SEPARATOR@ --PERL = @PERL@ --PERLCC = @PERLCC@ --PERLCCFLAGS = @PERLCCFLAGS@ --PERLFLAGS = @PERLFLAGS@ --PERLLD = @PERLLD@ --PERLLDFLAGS = @PERLLDFLAGS@ --PERL_CC = @PERL_CC@ --PERL_MAKE_OPTIONS = @PERL_MAKE_OPTIONS@ --PERL_VERSION = @PERL_VERSION@ --PKGCONFIG = @PKGCONFIG@ --POD2HTML = @POD2HTML@ --POD2MAN = @POD2MAN@ --POSUB = @POSUB@ --PTHREAD_CC = @PTHREAD_CC@ --PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ --PTHREAD_LIBS = @PTHREAD_LIBS@ --PYTHON = @PYTHON@ --PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ --PYTHON_INCLUDES = @PYTHON_INCLUDES@ --PYTHON_PLATFORM = @PYTHON_PLATFORM@ --PYTHON_PREFIX = @PYTHON_PREFIX@ --PYTHON_VERSION = @PYTHON_VERSION@ --RANLIB = @RANLIB@ --RRDDOCDIR = @RRDDOCDIR@ --RRDGRAPH_YLEGEND_ANGLE = @RRDGRAPH_YLEGEND_ANGLE@ --RRD_DEFAULT_FONT = @RRD_DEFAULT_FONT@ --RRD_GETOPT_LONG = @RRD_GETOPT_LONG@ --RUBY = @RUBY@ --RUBY_MAKE_OPTIONS = @RUBY_MAKE_OPTIONS@ --SED = @SED@ --SET_MAKE = @SET_MAKE@ --SHELL = @SHELL@ --STRIP = @STRIP@ --TCL_INCLUDE_SPEC = @TCL_INCLUDE_SPEC@ --TCL_LD_SEARCH_FLAGS = @TCL_LD_SEARCH_FLAGS@ --TCL_PACKAGE_DIR = @TCL_PACKAGE_DIR@ --TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@ --### no including this by default @WERROR@ --TCL_PREFIX = @TCL_PREFIX@ --TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@ --TCL_SHLIB_LD = @TCL_SHLIB_LD@ --TCL_SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@ --TCL_STUB_LIB_SPEC = @TCL_STUB_LIB_SPEC@ --TCL_VERSION = @TCL_VERSION@ --TROFF = @TROFF@ --USE_NLS = @USE_NLS@ --VERSION = @VERSION@ --WERROR = @WERROR@ --XGETTEXT = @XGETTEXT@ --XGETTEXT_015 = @XGETTEXT_015@ --XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ --abs_builddir = @abs_builddir@ --abs_srcdir = @abs_srcdir@ --abs_top_builddir = @abs_top_builddir@ --abs_top_srcdir = @abs_top_srcdir@ --ac_ct_CC = @ac_ct_CC@ --ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ --acx_pthread_config = @acx_pthread_config@ --am__include = @am__include@ --am__leading_dot = @am__leading_dot@ --am__quote = @am__quote@ --am__tar = @am__tar@ --am__untar = @am__untar@ --bindir = @bindir@ --build = @build@ --build_alias = @build_alias@ --build_cpu = @build_cpu@ --build_os = @build_os@ --build_vendor = @build_vendor@ --builddir = @builddir@ --datadir = @datadir@ --datarootdir = @datarootdir@ --docdir = @docdir@ --dvidir = @dvidir@ --exec_prefix = @exec_prefix@ --host = @host@ --host_alias = @host_alias@ --host_cpu = @host_cpu@ --host_os = @host_os@ --host_vendor = @host_vendor@ --htmldir = @htmldir@ --includedir = @includedir@ --infodir = @infodir@ --install_sh = @install_sh@ --libdir = @libdir@ --libexecdir = @libexecdir@ --localedir = @localedir@ --localstatedir = @localstatedir@ --lt_ECHO = @lt_ECHO@ --mandir = @mandir@ --mkdir_p = @mkdir_p@ --oldincludedir = @oldincludedir@ --pdfdir = @pdfdir@ --pkgpyexecdir = @pkgpyexecdir@ --pkgpythondir = @pkgpythondir@ --prefix = @prefix@ --program_transform_name = @program_transform_name@ --psdir = @psdir@ --pyexecdir = @pyexecdir@ --pythondir = @pythondir@ --sbindir = @sbindir@ --sharedstatedir = @sharedstatedir@ --srcdir = @srcdir@ --sysconfdir = @sysconfdir@ --target = @target@ --target_alias = @target_alias@ --target_cpu = @target_cpu@ --target_os = @target_os@ --target_vendor = @target_vendor@ --top_build_prefix = @top_build_prefix@ --top_builddir = @top_builddir@ --top_srcdir = @top_srcdir@ --EXTRA_DIST = README tclrrd.c --AM_CFLAGS = @CFLAGS@ --CLEANFILES = tclrrd.o tclrrd.so --SRC_DIR = $(top_srcdir)/src --AM_CPPFLAGS = $(TCL_INCLUDE_SPEC) -I$(SRC_DIR) -DUSE_TCL_STUBS --LIBDIRS = -L$(top_builddir)/src/.libs -L$(top_builddir)/src -L$(libdir) --LIB_RUNTIME_DIR = $(libdir) --@BUILD_TCL_SITE_TRUE@tclpkgdir = @TCL_PACKAGE_DIR@ --@BUILD_TCL_SITE_TRUE@tclpkg_DATA = pkgIndex.tcl --@BUILD_TCL_SITE_TRUE@tclpkg_SCRIPTS = ifOctets.tcl --@BUILD_TCL_SITE_FALSE@pkglib_DATA = pkgIndex.tcl --@BUILD_TCL_SITE_FALSE@pkglib_SCRIPTS = ifOctets.tcl -- --# Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as --# library name. So we build and install this library `by hand'. --# --# We do, however, specify a lib_LIBRARIES target such that --# automake creates the directory (if neecessary). --# --TCL_RRD_LIB = tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX) --lib_LIBRARIES = --all: all-am -- --.SUFFIXES: --$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -- @for dep in $?; do \ -- case '$(am__configure_deps)' in \ -- *$$dep*) \ -- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ -- && { if test -f $@; then exit 0; else break; fi; }; \ -- exit 1;; \ -- esac; \ -- done; \ -- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bindings/tcl/Makefile'; \ -- $(am__cd) $(top_srcdir) && \ -- $(AUTOMAKE) --gnu bindings/tcl/Makefile --.PRECIOUS: Makefile --Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -- @case '$?' in \ -- *config.status*) \ -- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ -- *) \ -- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ -- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ -- esac; -- --$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) -- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -- --$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) -- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh --$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) -- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh --$(am__aclocal_m4_deps): --ifOctets.tcl: $(top_builddir)/config.status $(srcdir)/ifOctets.tcl.in -- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ --install-libLIBRARIES: $(lib_LIBRARIES) -- @$(NORMAL_INSTALL) -- test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" -- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ -- list2=; for p in $$list; do \ -- if test -f $$p; then \ -- list2="$$list2 $$p"; \ -- else :; fi; \ -- done; \ -- test -z "$$list2" || { \ -- echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ -- $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } -- @$(POST_INSTALL) -- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ -- for p in $$list; do \ -- if test -f $$p; then \ -- $(am__strip_dir) \ -- echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ -- ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ -- else :; fi; \ -- done -- --uninstall-libLIBRARIES: -- @$(NORMAL_UNINSTALL) -- @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ -- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -- test -n "$$files" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \ -- cd "$(DESTDIR)$(libdir)" && rm -f $$files -- --clean-libLIBRARIES: -- -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) --install-pkglibSCRIPTS: $(pkglib_SCRIPTS) -- @$(NORMAL_INSTALL) -- test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" -- @list='$(pkglib_SCRIPTS)'; test -n "$(pkglibdir)" || list=; \ -- for p in $$list; do \ -- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ -- done | \ -- sed -e 'p;s,.*/,,;n' \ -- -e 'h;s|.*|.|' \ -- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ -- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ -- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ -- if ($$2 == $$4) { files[d] = files[d] " " $$1; \ -- if (++n[d] == $(am__install_max)) { \ -- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ -- else { print "f", d "/" $$4, $$1 } } \ -- END { for (d in files) print "f", d, files[d] }' | \ -- while read type dir files; do \ -- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ -- test -z "$$files" || { \ -- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(pkglibdir)$$dir'"; \ -- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(pkglibdir)$$dir" || exit $$?; \ -- } \ -- ; done -- --uninstall-pkglibSCRIPTS: -- @$(NORMAL_UNINSTALL) -- @list='$(pkglib_SCRIPTS)'; test -n "$(pkglibdir)" || exit 0; \ -- files=`for p in $$list; do echo "$$p"; done | \ -- sed -e 's,.*/,,;$(transform)'`; \ -- test -n "$$list" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files --install-tclpkgSCRIPTS: $(tclpkg_SCRIPTS) -- @$(NORMAL_INSTALL) -- test -z "$(tclpkgdir)" || $(MKDIR_P) "$(DESTDIR)$(tclpkgdir)" -- @list='$(tclpkg_SCRIPTS)'; test -n "$(tclpkgdir)" || list=; \ -- for p in $$list; do \ -- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ -- done | \ -- sed -e 'p;s,.*/,,;n' \ -- -e 'h;s|.*|.|' \ -- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ -- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ -- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ -- if ($$2 == $$4) { files[d] = files[d] " " $$1; \ -- if (++n[d] == $(am__install_max)) { \ -- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ -- else { print "f", d "/" $$4, $$1 } } \ -- END { for (d in files) print "f", d, files[d] }' | \ -- while read type dir files; do \ -- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ -- test -z "$$files" || { \ -- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(tclpkgdir)$$dir'"; \ -- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(tclpkgdir)$$dir" || exit $$?; \ -- } \ -- ; done -- --uninstall-tclpkgSCRIPTS: -- @$(NORMAL_UNINSTALL) -- @list='$(tclpkg_SCRIPTS)'; test -n "$(tclpkgdir)" || exit 0; \ -- files=`for p in $$list; do echo "$$p"; done | \ -- sed -e 's,.*/,,;$(transform)'`; \ -- test -n "$$list" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(tclpkgdir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(tclpkgdir)" && rm -f $$files -- --mostlyclean-libtool: -- -rm -f *.lo -- --clean-libtool: -- -rm -rf .libs _libs --install-pkglibDATA: $(pkglib_DATA) -- @$(NORMAL_INSTALL) -- test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" -- @list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \ -- for p in $$list; do \ -- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- echo "$$d$$p"; \ -- done | $(am__base_list) | \ -- while read files; do \ -- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \ -- $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \ -- done -- --uninstall-pkglibDATA: -- @$(NORMAL_UNINSTALL) -- @list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \ -- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -- test -n "$$files" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files --install-tclpkgDATA: $(tclpkg_DATA) -- @$(NORMAL_INSTALL) -- test -z "$(tclpkgdir)" || $(MKDIR_P) "$(DESTDIR)$(tclpkgdir)" -- @list='$(tclpkg_DATA)'; test -n "$(tclpkgdir)" || list=; \ -- for p in $$list; do \ -- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- echo "$$d$$p"; \ -- done | $(am__base_list) | \ -- while read files; do \ -- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tclpkgdir)'"; \ -- $(INSTALL_DATA) $$files "$(DESTDIR)$(tclpkgdir)" || exit $$?; \ -- done -- --uninstall-tclpkgDATA: -- @$(NORMAL_UNINSTALL) -- @list='$(tclpkg_DATA)'; test -n "$(tclpkgdir)" || list=; \ -- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -- test -n "$$files" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(tclpkgdir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(tclpkgdir)" && rm -f $$files --tags: TAGS --TAGS: -- --ctags: CTAGS --CTAGS: -- -- --distdir: $(DISTFILES) -- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ -- list='$(DISTFILES)'; \ -- dist_files=`for file in $$list; do echo $$file; done | \ -- sed -e "s|^$$srcdirstrip/||;t" \ -- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ -- case $$dist_files in \ -- */*) $(MKDIR_P) `echo "$$dist_files" | \ -- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ -- sort -u` ;; \ -- esac; \ -- for file in $$dist_files; do \ -- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ -- if test -d $$d/$$file; then \ -- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ -- if test -d "$(distdir)/$$file"; then \ -- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ -- fi; \ -- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ -- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ -- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ -- fi; \ -- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ -- else \ -- test -f "$(distdir)/$$file" \ -- || cp -p $$d/$$file "$(distdir)/$$file" \ -- || exit 1; \ -- fi; \ -- done --check-am: all-am --check: check-am --all-am: Makefile $(LIBRARIES) $(SCRIPTS) $(DATA) all-local --installdirs: -- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(tclpkgdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(tclpkgdir)"; do \ -- test -z "$$dir" || $(MKDIR_P) "$$dir"; \ -- done --install: install-am --install-exec: install-exec-am --install-data: install-data-am --uninstall: uninstall-am -- --install-am: all-am -- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -- --installcheck: installcheck-am --install-strip: -- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ -- `test -z '$(STRIP)' || \ -- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install --mostlyclean-generic: -- --clean-generic: -- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -- --distclean-generic: -- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -- --maintainer-clean-generic: -- @echo "This command is intended for maintainers to use" -- @echo "it deletes files that may require special tools to rebuild." --clean: clean-am -- --clean-am: clean-generic clean-libLIBRARIES clean-libtool \ -- mostlyclean-am -- --distclean: distclean-am -- -rm -f Makefile --distclean-am: clean-am distclean-generic -- --dvi: dvi-am -- --dvi-am: -- --html: html-am -- --html-am: -- --info: info-am -- --info-am: -- --install-data-am: install-tclpkgDATA install-tclpkgSCRIPTS -- --install-dvi: install-dvi-am -- --install-dvi-am: -- --install-exec-am: install-exec-local install-libLIBRARIES \ -- install-pkglibDATA install-pkglibSCRIPTS -- --install-html: install-html-am -- --install-html-am: -- --install-info: install-info-am -- --install-info-am: -- --install-man: -- --install-pdf: install-pdf-am -- --install-pdf-am: -- --install-ps: install-ps-am -- --install-ps-am: -- --installcheck-am: -- --maintainer-clean: maintainer-clean-am -- -rm -f Makefile --maintainer-clean-am: distclean-am maintainer-clean-generic -- --mostlyclean: mostlyclean-am -- --mostlyclean-am: mostlyclean-generic mostlyclean-libtool -- --pdf: pdf-am -- --pdf-am: -- --ps: ps-am -- --ps-am: -- --uninstall-am: uninstall-libLIBRARIES uninstall-pkglibDATA \ -- uninstall-pkglibSCRIPTS uninstall-tclpkgDATA \ -- uninstall-tclpkgSCRIPTS -- --.MAKE: install-am install-strip -- --.PHONY: all all-am all-local check check-am clean clean-generic \ -- clean-libLIBRARIES clean-libtool distclean distclean-generic \ -- distclean-libtool distdir dvi dvi-am html html-am info info-am \ -- install install-am install-data install-data-am install-dvi \ -- install-dvi-am install-exec install-exec-am install-exec-local \ -- install-html install-html-am install-info install-info-am \ -- install-libLIBRARIES install-man install-pdf install-pdf-am \ -- install-pkglibDATA install-pkglibSCRIPTS install-ps \ -- install-ps-am install-strip install-tclpkgDATA \ -- install-tclpkgSCRIPTS installcheck installcheck-am installdirs \ -- maintainer-clean maintainer-clean-generic mostlyclean \ -- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ -- uninstall uninstall-am uninstall-libLIBRARIES \ -- uninstall-pkglibDATA uninstall-pkglibSCRIPTS \ -- uninstall-tclpkgDATA uninstall-tclpkgSCRIPTS -- -- --all-local: $(TCL_RRD_LIB) -- --$(TCL_RRD_LIB): tclrrd.o -- $(TCL_SHLIB_LD) $(TCL_LD_SEARCH_FLAGS) $(LIBDIRS) $< -o $@ -lrrd_th -lm $(TCL_STUB_LIB_SPEC) $(LDFLAGS) $(LIBS) -- --tclrrd.o: tclrrd.c -- $(CC) $(AM_CFLAGS) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(AM_CPPFLAGS) -c tclrrd.c -DVERSION=\"$(VERSION)\" -- --pkgIndex.tcl: -- echo "package ifneeded Rrd $(VERSION) \"load $(libdir)/tclrrd$(VERSION)[info sharedlibextension]\"" > $@ -- --install-exec-local: $(TCL_RRD_LIB) -- @$(NORMAL_INSTALL) -- $(INSTALL_PROGRAM) $(TCL_RRD_LIB) $(DESTDIR)$(libdir)/$(TCL_RRD_LIB) -- --# 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. --.NOEXPORT: -diff --git a/bindings/tcl/README b/bindings/tcl/README -deleted file mode 100644 -index 065a03a..0000000 ---- a/bindings/tcl/README -+++ /dev/null -@@ -1,31 +0,0 @@ --TCLRRD -- A TCL interpreter extension to access the RRD library, -- contributed to Tobias Oetiker's RRD tools. -- --Copyright (c) 1999,2000 Frank Strauss, Technical University of Braunschweig. -- --See the file "COPYING" for information on usage and redistribution --of this file, and for a DISCLAIMER OF ALL WARRANTIES. -- --TCLRRD adds a dynamically loadable package to the Tcl 8.x interpreter --to access all RRD functions as of RRDtool 1.0.13. All command names --and arguments are equal to those of RRDtool. They are assigned to the --namespace `Rrd', e.g. `Rrd::create'. Return values are a bit --different from plain RRDtool behavior to enable more native Tcl --usage. Errors are mapped to the TCL_ERROR return code together with --the RRD error strings. -- --TCLRRD makes it easy to combine RRD use with advanced SNMP functionality --of scotty (http://wwwsnmp.cs.utwente.nl/~schoenw/scotty/). E.g., it's easy --to use some scotty code to get the counters of some interfaces by their --interface name and then use Rrd::update to store the values. Furthermore, --data source types (see RRD::create documentation) and integer value ranges --could be easily retrieved from MIB information. -- --TCLRRD has been written on a Linux system for use with Tcl 8.x. It should --work on many other platforms, although it has not been tested. There are --no fool proof installation procedures. Take a look at Makefile.am and --adapt it, if required. -- --TCLRRD has been written for RRD 1.0.13. -- -- Frank Strauss <strauss@ibr.cs.tu-bs.de>, 09-Mar-2000 -diff --git a/bindings/tcl/ifOctets.tcl.in b/bindings/tcl/ifOctets.tcl.in -deleted file mode 100644 -index 7a36397..0000000 ---- a/bindings/tcl/ifOctets.tcl.in -+++ /dev/null -@@ -1,45 +0,0 @@ --#!/bin/sh --# the next line restarts using tclsh -*- tcl -*- \ --exec tclsh@TCL_VERSION@ "$0" "$@" -- --#package require Tnm 3.0 --package require Rrd @VERSION@ -- --set rrdfile "[lindex $argv 0]-[lindex $argv 1].rrd" -- --# create rrdfile if not yet existent --if {[file exists $rrdfile] == 0} { -- Rrd::create $rrdfile --step 5 \ -- DS:inOctets:COUNTER:10:U:U DS:outOctets:COUNTER:10:U:U \ -- RRA:AVERAGE:0.5:1:12 --} -- --# get an snmp session context --set session [Tnm::snmp generator -address [lindex $argv 0]] -- --# walk through the ifDescr column to find the right interface --$session walk descr IF-MIB!ifDescr { -- -- # is this the right interface? -- if {"[Tnm::snmp value $descr 0]" == "[lindex $argv 1]"} { -- -- # get the instance part of this table row -- set inst [lindex [Tnm::mib split [Tnm::snmp oid $descr 0]] 1] -- -- # get the two interface's octet counter values -- set in [lindex [lindex [$session get IF-MIB!ifInOctets.$inst] 0] 2] -- set out [lindex [lindex [$session get IF-MIB!ifOutOctets.$inst] 0] 2] -- -- # write the values to the rrd -- puts "$in $out" -- Rrd::update $rrdfile --template inOctets:outOctets N:$in:$out -- -- Rrd::graph gaga.png --title "gaga" \ -- DEF:in=$rrdfile:inOctets:AVERAGE \ -- DEF:out=$rrdfile:outOctets:AVERAGE \ -- AREA:in#0000FF:inOctets \ -- LINE2:out#00C000:outOctets -- -- #puts [Rrd::fetch $rrdfile AVERAGE] -- } --} -diff --git a/bindings/tcl/tclrrd.c b/bindings/tcl/tclrrd.c -deleted file mode 100644 -index f1f0234..0000000 ---- a/bindings/tcl/tclrrd.c -+++ /dev/null -@@ -1,762 +0,0 @@ --/* -- * tclrrd.c -- A TCL interpreter extension to access the RRD library. -- * -- * Copyright (c) 1999,2000 Frank Strauss, Technical University of Braunschweig. -- * -- * Thread-safe code copyright (c) 2005 Oleg Derevenetz, CenterTelecom Voronezh ISP. -- * -- * See the file "COPYING" for information on usage and redistribution -- * of this file, and for a DISCLAIMER OF ALL WARRANTIES. -- * -- * $Id: tclrrd.c 1854 2009-06-07 14:46:21Z oetiker $ -- */ -- -- -- --#include <errno.h> --#include <string.h> --#include <time.h> --#include <unistd.h> --#include <tcl.h> --#include <stdlib.h> --#include "../../src/rrd_tool.h" --#include "../../src/rrd_format.h" -- --/* support pre-8.4 tcl */ -- --#ifndef CONST84 --# define CONST84 --#endif -- --extern int Tclrrd_Init( -- Tcl_Interp *interp); --extern int Tclrrd_SafeInit( -- Tcl_Interp *interp); -- -- --/* -- * some rrd_XXX() and new thread-safe versions of Rrd_XXX() -- * functions might modify the argv strings passed to it. -- * Hence, we need to do some preparation before -- * calling the rrd library functions. -- */ --static char **getopt_init( -- int argc, -- CONST84 char *argv[]) --{ -- char **argv2; -- int i; -- -- argv2 = calloc(argc, sizeof(char *)); -- for (i = 0; i < argc; i++) { -- argv2[i] = strdup(argv[i]); -- } -- return argv2; --} -- --static void getopt_cleanup( -- int argc, -- char **argv2) --{ -- int i; -- -- for (i = 0; i < argc; i++) { -- if (argv2[i] != NULL) { -- free(argv2[i]); -- } -- } -- free(argv2); --} -- --static void getopt_free_element( -- char *argv2[], -- int argn) --{ -- if (argv2[argn] != NULL) { -- free(argv2[argn]); -- argv2[argn] = NULL; -- } --} -- --static void getopt_squieeze( -- int *argc, -- char *argv2[]) --{ -- int i, null_i = 0, argc_tmp = *argc; -- -- for (i = 0; i < argc_tmp; i++) { -- if (argv2[i] == NULL) { -- (*argc)--; -- } else { -- argv2[null_i++] = argv2[i]; -- } -- } --} -- -- -- --/* Thread-safe version */ --static int Rrd_Create( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- int argv_i; -- char **argv2; -- char *parsetime_error = NULL; -- time_t last_up = time(NULL) - 10; -- long int long_tmp; -- unsigned long int pdp_step = 300; -- rrd_time_value_t last_up_tv; -- -- argv2 = getopt_init(argc, argv); -- -- for (argv_i = 1; argv_i < argc; argv_i++) { -- if (!strcmp(argv2[argv_i], "--start") || !strcmp(argv2[argv_i], "-b")) { -- if (argv_i++ >= argc) { -- Tcl_AppendResult(interp, "RRD Error: option '", -- argv2[argv_i - 1], "' needs an argument", -- (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- if ((parsetime_error = rrd_parsetime(argv2[argv_i], &last_up_tv))) { -- Tcl_AppendResult(interp, "RRD Error: invalid time format: '", -- argv2[argv_i], "'", (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- if (last_up_tv.type == RELATIVE_TO_END_TIME || -- last_up_tv.type == RELATIVE_TO_START_TIME) { -- Tcl_AppendResult(interp, -- "RRD Error: specifying time relative to the 'start' ", -- "or 'end' makes no sense here", -- (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- last_up = mktime(&last_up_tv.tm) +last_up_tv.offset; -- if (last_up < 3600 * 24 * 365 * 10) { -- Tcl_AppendResult(interp, -- "RRD Error: the first entry to the RRD should be after 1980", -- (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- getopt_free_element(argv2, argv_i - 1); -- getopt_free_element(argv2, argv_i); -- } else if (!strcmp(argv2[argv_i], "--step") -- || !strcmp(argv2[argv_i], "-s")) { -- if (argv_i++ >= argc) { -- Tcl_AppendResult(interp, "RRD Error: option '", -- argv2[argv_i - 1], "' needs an argument", -- (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- long_tmp = atol(argv2[argv_i]); -- if (long_tmp < 1) { -- Tcl_AppendResult(interp, -- "RRD Error: step size should be no less than one second", -- (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- pdp_step = long_tmp; -- getopt_free_element(argv2, argv_i - 1); -- getopt_free_element(argv2, argv_i); -- } else if (!strcmp(argv2[argv_i], "--")) { -- getopt_free_element(argv2, argv_i); -- break; -- } else if (argv2[argv_i][0] == '-') { -- Tcl_AppendResult(interp, "RRD Error: unknown option '", -- argv2[argv_i], "'", (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- } -- -- getopt_squieeze(&argc, argv2); -- -- if (argc < 2) { -- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", -- (char *) NULL); -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- -- rrd_create_r(argv2[1], pdp_step, last_up, argc - 2, -- (const char **)argv2 + 2); -- -- getopt_cleanup(argc, argv2); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- -- --/* Thread-safe version */ --static int Rrd_Dump( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- if (argc < 2) { -- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", -- (char *) NULL); -- return TCL_ERROR; -- } -- -- rrd_dump_r(argv[1], NULL); -- -- /* NOTE: rrd_dump() writes to stdout. No interaction with TCL. */ -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- --/* Thread-safe version */ --static int Rrd_Flushcached( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- if (argc < 2) { -- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", -- (char *) NULL); -- return TCL_ERROR; -- } -- -- rrd_flushcached(argc, (char**)argv); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- --/* Thread-safe version */ --static int Rrd_Last( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- time_t t; -- -- if (argc < 2) { -- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", -- (char *) NULL); -- return TCL_ERROR; -- } -- -- t = rrd_last_r(argv[1]); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- Tcl_SetIntObj(Tcl_GetObjResult(interp), t); -- -- return TCL_OK; --} -- -- -- --/* Thread-safe version */ --static int Rrd_Update( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- int argv_i; -- char **argv2, *template = NULL; -- -- argv2 = getopt_init(argc, argv); -- -- for (argv_i = 1; argv_i < argc; argv_i++) { -- if (!strcmp(argv2[argv_i], "--template") -- || !strcmp(argv2[argv_i], "-t")) { -- if (argv_i++ >= argc) { -- Tcl_AppendResult(interp, "RRD Error: option '", -- argv2[argv_i - 1], "' needs an argument", -- (char *) NULL); -- if (template != NULL) { -- free(template); -- } -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- if (template != NULL) { -- free(template); -- } -- template = strdup(argv2[argv_i]); -- getopt_free_element(argv2, argv_i - 1); -- getopt_free_element(argv2, argv_i); -- } else if (!strcmp(argv2[argv_i], "--")) { -- getopt_free_element(argv2, argv_i); -- break; -- } else if (argv2[argv_i][0] == '-') { -- Tcl_AppendResult(interp, "RRD Error: unknown option '", -- argv2[argv_i], "'", (char *) NULL); -- if (template != NULL) { -- free(template); -- } -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- } -- -- getopt_squieeze(&argc, argv2); -- -- if (argc < 2) { -- Tcl_AppendResult(interp, "RRD Error: needs rrd filename", -- (char *) NULL); -- if (template != NULL) { -- free(template); -- } -- getopt_cleanup(argc, argv2); -- return TCL_ERROR; -- } -- -- rrd_update_r(argv2[1], template, argc - 2, (const char **)argv2 + 2); -- -- if (template != NULL) { -- free(template); -- } -- getopt_cleanup(argc, argv2); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- --static int Rrd_Lastupdate( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- time_t last_update; -- char **argv2; -- char **ds_namv; -- char **last_ds; -- char s[30]; -- Tcl_Obj *listPtr; -- unsigned long ds_cnt, i; -- -- /* TODO: support for rrdcached */ -- if (argc != 2) { -- Tcl_AppendResult(interp, "RRD Error: needs a single rrd filename", -- (char *) NULL); -- return TCL_ERROR; -- } -- -- argv2 = getopt_init(argc, argv); -- if (rrd_lastupdate_r(argv2[1], &last_update, -- &ds_cnt, &ds_namv, &last_ds) == 0) { -- listPtr = Tcl_GetObjResult(interp); -- for (i = 0; i < ds_cnt; i++) { -- sprintf(s, " %28s", ds_namv[i]); -- Tcl_ListObjAppendElement(interp, listPtr, -- Tcl_NewStringObj(s, -1)); -- sprintf(s, "\n\n%10lu:", last_update); -- Tcl_ListObjAppendElement(interp, listPtr, -- Tcl_NewStringObj(s, -1)); -- for (i = 0; i < ds_cnt; i++) { -- sprintf(s, " %s", last_ds[i]); -- Tcl_ListObjAppendElement(interp, listPtr, -- Tcl_NewStringObj(s, -1)); -- free(last_ds[i]); -- free(ds_namv[i]); -- } -- sprintf(s, "\n"); -- Tcl_ListObjAppendElement(interp, listPtr, -- Tcl_NewStringObj(s, -1)); -- free(last_ds); -- free(ds_namv); -- } -- } -- return TCL_OK; --} -- --static int Rrd_Fetch( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- time_t start, end, j; -- unsigned long step, ds_cnt, i, ii; -- rrd_value_t *data, *datai; -- char **ds_namv; -- Tcl_Obj *listPtr; -- char s[30]; -- char **argv2; -- -- argv2 = getopt_init(argc, argv); -- if (rrd_fetch(argc, argv2, &start, &end, &step, -- &ds_cnt, &ds_namv, &data) != -1) { -- datai = data; -- listPtr = Tcl_GetObjResult(interp); -- for (j = start; j <= end; j += step) { -- for (ii = 0; ii < ds_cnt; ii++) { -- sprintf(s, "%.2f", *(datai++)); -- Tcl_ListObjAppendElement(interp, listPtr, -- Tcl_NewStringObj(s, -1)); -- } -- } -- for (i = 0; i < ds_cnt; i++) -- free(ds_namv[i]); -- free(ds_namv); -- free(data); -- } -- getopt_cleanup(argc, argv2); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- -- --static int Rrd_Graph( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- Tcl_Channel channel; -- int mode, fd2; -- ClientData fd1; -- FILE *stream = NULL; -- char **calcpr = NULL; -- int rc, xsize, ysize; -- double ymin, ymax; -- char dimensions[50]; -- char **argv2; -- CONST84 char *save; -- -- /* -- * If the "filename" is a Tcl fileID, then arrange for rrd_graph() to write to -- * that file descriptor. Will this work with windoze? I have no idea. -- */ -- if ((channel = Tcl_GetChannel(interp, argv[1], &mode)) != NULL) { -- /* -- * It >is< a Tcl fileID -- */ -- if (!(mode & TCL_WRITABLE)) { -- Tcl_AppendResult(interp, "channel \"", argv[1], -- "\" wasn't opened for writing", (char *) NULL); -- return TCL_ERROR; -- } -- /* -- * Must flush channel to make sure any buffered data is written before -- * rrd_graph() writes to the stream -- */ -- if (Tcl_Flush(channel) != TCL_OK) { -- Tcl_AppendResult(interp, "flush failed for \"", argv[1], "\": ", -- strerror(Tcl_GetErrno()), (char *) NULL); -- return TCL_ERROR; -- } -- if (Tcl_GetChannelHandle(channel, TCL_WRITABLE, &fd1) != TCL_OK) { -- Tcl_AppendResult(interp, -- "cannot get file descriptor associated with \"", -- argv[1], "\"", (char *) NULL); -- return TCL_ERROR; -- } -- /* -- * Must dup() file descriptor so we can fclose(stream), otherwise the fclose() -- * would close Tcl's file descriptor -- */ -- if ((fd2 = dup((int)fd1)) == -1) { -- Tcl_AppendResult(interp, -- "dup() failed for file descriptor associated with \"", -- argv[1], "\": ", strerror(errno), (char *) NULL); -- return TCL_ERROR; -- } -- /* -- * rrd_graph() wants a FILE* -- */ -- if ((stream = fdopen(fd2, "wb")) == NULL) { -- Tcl_AppendResult(interp, -- "fdopen() failed for file descriptor associated with \"", -- argv[1], "\": ", strerror(errno), (char *) NULL); -- close(fd2); /* plug potential file descriptor leak */ -- return TCL_ERROR; -- } -- -- save = argv[1]; -- argv[1] = "-"; -- argv2 = getopt_init(argc, argv); -- argv[1] = save; -- } else { -- Tcl_ResetResult(interp); /* clear error from Tcl_GetChannel() */ -- argv2 = getopt_init(argc, argv); -- } -- -- rc = rrd_graph(argc, argv2, &calcpr, &xsize, &ysize, stream, &ymin, -- &ymax); -- getopt_cleanup(argc, argv2); -- -- if (stream != NULL) -- fclose(stream); /* plug potential malloc & file descriptor leak */ -- -- if (rc != -1) { -- sprintf(dimensions, "%d %d", xsize, ysize); -- Tcl_AppendResult(interp, dimensions, (char *) NULL); -- if (calcpr) { --#if 0 -- int i; -- -- for (i = 0; calcpr[i]; i++) { -- printf("%s\n", calcpr[i]); -- free(calcpr[i]); -- } --#endif -- free(calcpr); -- } -- } -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- -- --static int Rrd_Tune( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- char **argv2; -- -- argv2 = getopt_init(argc, argv); -- rrd_tune(argc, argv2); -- getopt_cleanup(argc, argv2); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- -- --static int Rrd_Resize( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- char **argv2; -- -- argv2 = getopt_init(argc, argv); -- rrd_resize(argc, argv2); -- getopt_cleanup(argc, argv2); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- -- --static int Rrd_Restore( -- ClientData __attribute__((unused)) clientData, -- Tcl_Interp *interp, -- int argc, -- CONST84 char *argv[]) --{ -- char **argv2; -- -- argv2 = getopt_init(argc, argv); -- rrd_restore(argc, argv2); -- getopt_cleanup(argc, argv2); -- -- if (rrd_test_error()) { -- Tcl_AppendResult(interp, "RRD Error: ", -- rrd_get_error(), (char *) NULL); -- rrd_clear_error(); -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- -- -- --/* -- * The following structure defines the commands in the Rrd extension. -- */ -- --typedef struct { -- char *name; /* Name of the command. */ -- Tcl_CmdProc *proc; /* Procedure for command. */ -- int hide; /* Hide if safe interpreter */ --} CmdInfo; -- --static CmdInfo rrdCmds[] = { -- {"Rrd::create", Rrd_Create, 1}, /* Thread-safe version */ -- {"Rrd::dump", Rrd_Dump, 0}, /* Thread-safe version */ -- {"Rrd::flushcached", Rrd_Flushcached, 0}, -- {"Rrd::last", Rrd_Last, 0}, /* Thread-safe version */ -- {"Rrd::lastupdate", Rrd_Lastupdate, 0}, /* Thread-safe version */ -- {"Rrd::update", Rrd_Update, 1}, /* Thread-safe version */ -- {"Rrd::fetch", Rrd_Fetch, 0}, -- {"Rrd::graph", Rrd_Graph, 1}, /* Due to RRD's API, a safe -- interpreter cannot create -- a graph since it writes to -- a filename supplied by the -- caller */ -- {"Rrd::tune", Rrd_Tune, 1}, -- {"Rrd::resize", Rrd_Resize, 1}, -- {"Rrd::restore", Rrd_Restore, 1}, -- {(char *) NULL, (Tcl_CmdProc *) NULL, 0} --}; -- -- -- --static int init( -- Tcl_Interp *interp, -- int safe) --{ -- CmdInfo *cmdInfoPtr; -- Tcl_CmdInfo info; -- -- if (Tcl_InitStubs(interp, TCL_VERSION, 0) == NULL) -- return TCL_ERROR; -- -- if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, 1) == NULL) { -- return TCL_ERROR; -- } -- -- /* -- * Why a global array? In keeping with the Rrd:: namespace, why -- * not simply create a normal variable Rrd::version and set it? -- */ -- Tcl_SetVar2(interp, "rrd", "version", VERSION, TCL_GLOBAL_ONLY); -- -- for (cmdInfoPtr = rrdCmds; cmdInfoPtr->name != NULL; cmdInfoPtr++) { -- /* -- * Check if the command already exists and return an error -- * to ensure we detect name clashes while loading the Rrd -- * extension. -- */ -- if (Tcl_GetCommandInfo(interp, cmdInfoPtr->name, &info)) { -- Tcl_AppendResult(interp, "command \"", cmdInfoPtr->name, -- "\" already exists", (char *) NULL); -- return TCL_ERROR; -- } -- if (safe && cmdInfoPtr->hide) { --#if 0 -- /* -- * Turns out the one cannot hide a command in a namespace -- * due to a limitation of Tcl, one can only hide global -- * commands. Thus, if we created the commands without -- * the Rrd:: namespace in a safe interpreter, then the -- * "unsafe" commands could be hidden -- which would allow -- * an owning interpreter either un-hiding them or doing -- * an "interp invokehidden". If the Rrd:: namespace is -- * used, then it's still possible for the owning interpreter -- * to fake out the missing commands: -- * -- * # Make all Rrd::* commands available in master interperter -- * package require Rrd -- * set safe [interp create -safe] -- * # Make safe Rrd::* commands available in safe interperter -- * interp invokehidden $safe -global load ./tclrrd1.2.11.so -- * # Provide the safe interpreter with the missing commands -- * $safe alias Rrd::update do_update $safe -- * proc do_update {which_interp $args} { -- * # Do some checking maybe... -- * : -- * return [eval Rrd::update $args] -- * } -- * -- * Our solution for now is to just not create the "unsafe" -- * commands in a safe interpreter. -- */ -- if (Tcl_HideCommand(interp, cmdInfoPtr->name, cmdInfoPtr->name) != -- TCL_OK) -- return TCL_ERROR; --#endif -- } else -- Tcl_CreateCommand(interp, cmdInfoPtr->name, cmdInfoPtr->proc, -- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL); -- } -- -- if (Tcl_PkgProvide(interp, "Rrd", VERSION) != TCL_OK) { -- return TCL_ERROR; -- } -- -- return TCL_OK; --} -- --int Tclrrd_Init( -- Tcl_Interp *interp) --{ -- return init(interp, 0); --} -- --/* -- * See the comments above and note how few commands are considered "safe"... -- * Using rrdtool in a safe interpreter has very limited functionality. It's -- * tempting to just return TCL_ERROR and forget about it. -- */ --int Tclrrd_SafeInit( -- Tcl_Interp *interp) --{ -- return init(interp, 1); --} -diff --git a/configure.ac b/configure.ac -index 73ef4ec..acd74e8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -830,57 +830,6 @@ AM_CONDITIONAL(LUA_SITE_LINSTALL, [test "$LUA_INSTALL_LMOD" != "$LUA_RRD_LIBDIR" - AM_CONDITIONAL(LUA50, [test "$lua_vndot" = "50"]) - AM_CONDITIONAL(BUILD_LUA, [test "$enable_lua" = "yes"]) - --enable_tcl_site=no -- --AC_ARG_ENABLE(tcl,AS_HELP_STRING([--disable-tcl],[do not build the tcl modules]), --[],[enable_tcl=yes]) -- --if test "$enable_tcl" = "yes"; then -- dnl Check for Tcl. -- withval="" -- AC_ARG_WITH(tcllib,[ --with-tcllib=DIR location of the tclConfig.sh]) -- enable_tcl=no -- for dir in $withval /usr/lib /usr/lib64 /usr/local/lib /usr/lib/tcl8.4 /usr/lib/tcl8.3 ; do -- AC_MSG_CHECKING(for tclConfig.sh in $dir) -- if test -f "$dir/tclConfig.sh" ; then -- tcl_config=$dir/tclConfig.sh -- enable_tcl=yes -- AC_MSG_RESULT(yes) -- break -- else -- AC_MSG_RESULT(no) -- fi -- done -- -- if test "$enable_tcl" = "no"; then -- AC_MSG_WARN([tclConfig.sh not found - Tcl interface will not be built]) -- else -- . $tcl_config -- TCL_PACKAGE_DIR="$TCL_PACKAGE_PATH/tclrrd$VERSION" -- if test -n "$TCL_INC_DIR"; then -- TCL_INCLUDE_SPEC="$TCL_INCLUDE_SPEC -I$TCL_INC_DIR" -- fi -- fi -- AC_ARG_ENABLE(tcl-site,AS_HELP_STRING([--enable-tcl-site],[install the tcl extension in the tcl tree]), -- [],[enable_tcl_site=yes]) -- --fi -- --AM_CONDITIONAL(BUILD_TCL, test "$enable_tcl" = "yes" ) --AM_CONDITIONAL(BUILD_TCL_SITE, test "$enable_tcl_site" = "yes" ) -- -- --AC_SUBST(TCL_PREFIX) --AC_SUBST(TCL_SHLIB_CFLAGS) --AC_SUBST(TCL_SHLIB_LD) --AC_SUBST(TCL_SHLIB_SUFFIX) --AC_SUBST(TCL_PACKAGE_PATH) --AC_SUBST(TCL_LD_SEARCH_FLAGS) --AC_SUBST(TCL_STUB_LIB_SPEC) --AC_SUBST(TCL_VERSION) --AC_SUBST(TCL_PACKAGE_DIR) --AC_SUBST(TCL_INCLUDE_SPEC) -- - AC_ARG_ENABLE(python,AS_HELP_STRING([--disable-python],[do not build the python modules]), - [],[enable_python=yes]) - -@@ -932,8 +881,6 @@ AC_CONFIG_FILES([src/Makefile]) - AC_CONFIG_FILES([src/librrd.sym.in]) - AC_CONFIG_FILES([src/librrd.pc]) - AC_CONFIG_FILES([bindings/Makefile]) --AC_CONFIG_FILES([bindings/tcl/Makefile]) --AC_CONFIG_FILES([bindings/tcl/ifOctets.tcl]) - AC_CONFIG_FILES([Makefile]) - AC_CONFIG_FILES([bindings/lua/Makefile]) - -@@ -982,7 +929,6 @@ if test "$lua_need_compat51" = "1"; then - echo " Lua Lua-modules dir: $LUA_INSTALL_LMOD" - fi - fi --echo " Build Tcl Bindings: $enable_tcl" - echo " Build Python Bindings: $enable_python" - echo " Build rrdcgi: $enable_rrdcgi" - echo " Build librrd MT: $enable_pthread" --- -1.7.10 - diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb index df3dc8a804..6bc5e98633 100644 --- a/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.7.bb +++ b/meta-oe/recipes-extended/rrdtool/rrdtool_1.4.8.bb @@ -4,18 +4,20 @@ 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" -PR = "r2" +SRCREV = "1850e00a17e25e93c39e608f4e2da50f29c5c712" +PV = "1.4.8" -SRC_URI = "http://oss.oetiker.ch/rrdtool/pub/rrdtool-${PV}.tar.gz \ - file://0001-rrdtool-eradicate-tcl-support.patch \ - file://remove_hardcoded_xml_include.patch \ +SRC_URI = "\ + git://github.com/oetiker/rrdtool-1.x.git;branch=1.4 \ + file://remove_hardcoded_xml_include.patch \ + file://0001-removing-testing-leftovers.patch \ " -SRC_URI[md5sum] = "ffe369d8921b4dfdeaaf43812100c38f" -SRC_URI[sha256sum] = "956aaf431c955ba88dd7d98920ade3a8c4bad04adb1f9431377950a813a7af11" -inherit autotools-brokensep gettext pythonnative perlnative python-dir +S = "${WORKDIR}/git" + +inherit autotools-brokensep gettext pythonnative perlnative python-dir cpan-base EXTRA_AUTORECONF = "-I m4" @@ -40,6 +42,7 @@ EXTRA_OECONF = " \ rd_cv_ieee_works=yes \ --disable-ruby \ --disable-lua \ + --disable-tcl \ --disable-rpath \ " @@ -53,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 @@ -68,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 @@ -83,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 @@ -105,7 +108,7 @@ FILES_${PN}-doc += "${datadir}/examples" DESCRIPTION_${PN}-perl = \ "The ${PN}-perl package includes RRDtool bindings for perl." -FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm ${datadir}/${PN}/examples \ +FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm ${datadir}/rrdtool/examples \ ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*" RDEPENDS_${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \ perl-module-io-file perl-module-ipc-open2 perl-module-io-socket" 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-fix-ptest-not-finish.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch new file mode 100644 index 0000000000..bdcb6e22a3 --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-fix-ptest-not-finish.patch @@ -0,0 +1,96 @@ +$MaxMessageSize doesn't work if before $IncludeConfig diag-common.conf, then +test cases fall into infinite loop with error message: + +8062.511110729:4902c480: error: message received is larger than max msg size, we split it +8062.511152265:4902c480: discarding zero-sized message + +Update configure to fix it. + +Upstream-Status: pending + +Kai Kang <kai.kang@windriver.com> +--- +diff -Nru rsyslog-7.4.4/tests/testsuites/complex1.conf rsyslog-7.4.4.new/tests/testsuites/complex1.conf +--- rsyslog-7.4.4/tests/testsuites/complex1.conf 2013-08-31 00:30:41.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/complex1.conf 2013-12-18 14:28:10.644004184 +0800 +@@ -1,7 +1,7 @@ + # complex test case with multiple actions in gzip mode + # rgerhards, 2009-05-22 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $MainMsgQueueTimeoutEnqueue 5000 + +diff -Nru rsyslog-7.4.4/tests/testsuites/gzipwr_large.conf rsyslog-7.4.4.new/tests/testsuites/gzipwr_large.conf +--- rsyslog-7.4.4/tests/testsuites/gzipwr_large.conf 2012-04-04 14:29:55.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/gzipwr_large.conf 2013-12-18 14:28:10.645004186 +0800 +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imtcp/.libs/imtcp + $MainMsgQueueTimeoutShutdown 10000 +diff -Nru rsyslog-7.4.4/tests/testsuites/gzipwr_large_dynfile.conf rsyslog-7.4.4.new/tests/testsuites/gzipwr_large_dynfile.conf +--- rsyslog-7.4.4/tests/testsuites/gzipwr_large_dynfile.conf 2012-04-04 14:29:55.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/gzipwr_large_dynfile.conf 2013-12-18 14:28:10.645004186 +0800 +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imtcp/.libs/imtcp + $MainMsgQueueTimeoutShutdown 10000 +diff -Nru rsyslog-7.4.4/tests/testsuites/imptcp_conndrop.conf rsyslog-7.4.4.new/tests/testsuites/imptcp_conndrop.conf +--- rsyslog-7.4.4/tests/testsuites/imptcp_conndrop.conf 2013-08-31 00:30:41.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/imptcp_conndrop.conf 2013-12-18 14:28:10.646004189 +0800 +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imptcp/.libs/imptcp + $MainMsgQueueTimeoutShutdown 10000 +diff -Nru rsyslog-7.4.4/tests/testsuites/imptcp_large.conf rsyslog-7.4.4.new/tests/testsuites/imptcp_large.conf +--- rsyslog-7.4.4/tests/testsuites/imptcp_large.conf 2013-08-31 00:30:41.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/imptcp_large.conf 2013-12-18 14:28:10.646004189 +0800 +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imptcp/.libs/imptcp + $MainMsgQueueTimeoutShutdown 10000 +diff -Nru rsyslog-7.4.4/tests/testsuites/imtcp_conndrop.conf rsyslog-7.4.4.new/tests/testsuites/imtcp_conndrop.conf +--- rsyslog-7.4.4/tests/testsuites/imtcp_conndrop.conf 2013-07-19 20:59:03.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/imtcp_conndrop.conf 2013-12-18 14:28:10.646004189 +0800 +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imtcp/.libs/imtcp + $MainMsgQueueTimeoutShutdown 10000 +diff -Nru rsyslog-7.4.4/tests/testsuites/wr_large.conf rsyslog-7.4.4.new/tests/testsuites/wr_large.conf +--- rsyslog-7.4.4/tests/testsuites/wr_large.conf 2012-04-04 14:29:55.000000000 +0800 ++++ rsyslog-7.4.4.new/tests/testsuites/wr_large.conf 2013-12-18 14:28:10.647004190 +0800 +@@ -1,7 +1,7 @@ + # simple async writing test + # rgerhards, 2010-03-09 +-$MaxMessageSize 10k + $IncludeConfig diag-common.conf ++$MaxMessageSize 10k + + $ModLoad ../plugins/imtcp/.libs/imtcp + $MainMsgQueueTimeoutShutdown 10000 diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-use-serial-tests-config-needed-by-ptest.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-use-serial-tests-config-needed-by-ptest.patch new file mode 100644 index 0000000000..3a16f2649a --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/rsyslog-use-serial-tests-config-needed-by-ptest.patch @@ -0,0 +1,28 @@ +Subject: [PATCH] rsyslog: 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 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 1b880f8..0e29742 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3,7 +3,7 @@ + + AC_PREREQ(2.61) + AC_INIT([rsyslog],[7.4.4],[rsyslog@lists.adiscon.com]) +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([serial-tests]) + + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +-- +2.0.0 + 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/run-ptest b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest new file mode 100644 index 0000000000..38a1d1b722 --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh +# +make -C tests -k runtest-TESTS diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch new file mode 100644 index 0000000000..ebc10707cf --- /dev/null +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/use-pkgconfig-to-check-libgcrypt.patch @@ -0,0 +1,48 @@ +From 5c3ba79177f7d1763db33c4358af2af60ff214b7 Mon Sep 17 00:00:00 2001 +From: Roy Li <rongqing.li@windriver.com> +Date: Wed, 18 Jun 2014 13:46:52 +0800 +Subject: [PATCH] use pkgconfig to check libgcrypt + +Upstream-status: Inappropriate [configuration] + +libgcrypt does no longer provide libgcrypt-config, and provide +*.pc, so we should use pkgconfig to check + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + configure.ac | 19 +------------------ + 1 file changed, 1 insertion(+), 18 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 017116e..1b880f8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -784,24 +784,7 @@ AC_ARG_ENABLE(libgcrypt, + [enable_libgcrypt=yes] + ) + if test "x$enable_libgcrypt" = "xyes"; then +- AC_CHECK_PROG( +- [HAVE_LIBGCRYPT_CONFIG], +- [libgcrypt-config], +- [yes],,, +- ) +- if test "x${HAVE_LIBGCRYPT_CONFIG}" != "xyes"; then +- AC_MSG_FAILURE([libgcrypt-config not found in PATH]) +- fi +- AC_CHECK_LIB( +- [gcrypt], +- [gcry_cipher_open], +- [LIBGCRYPT_CFLAGS="`libgcrypt-config --cflags`" +- LIBGCRYPT_LIBS="`libgcrypt-config --libs`" +- ], +- [AC_MSG_FAILURE([libgcrypt is missing])], +- [`libgcrypt-config --libs --cflags`] +- ) +- AC_DEFINE([ENABLE_LIBGCRYPT], [1], [Indicator that LIBGCRYPT is present]) ++ PKG_CHECK_MODULES(LIBGCRYPT, libgcrypt) + fi + AM_CONDITIONAL(ENABLE_LIBGCRYPT, test x$enable_libgcrypt = xyes) + AC_SUBST(LIBGCRYPT_CFLAGS) +-- +1.7.9.5 + 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 344a131579..a9d9464e36 100644 --- a/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb +++ b/meta-oe/recipes-extended/rsyslog/rsyslog_7.4.4.bb @@ -21,12 +21,17 @@ SRC_URI = "http://www.rsyslog.com/files/download/rsyslog/${BPN}-${PV}.tar.gz \ file://initscript \ file://rsyslog.conf \ file://rsyslog.logrotate \ + file://use-pkgconfig-to-check-libgcrypt.patch \ + 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" SRC_URI[sha256sum] = "276d094d1e4c62c770ec8a72723667f119eee038912b79cf3337d439bc2f9087" -inherit autotools pkgconfig systemd update-rc.d update-alternatives +inherit autotools pkgconfig systemd update-rc.d update-alternatives ptest EXTRA_OECONF += "--enable-cached-man-pages" @@ -36,6 +41,7 @@ PACKAGECONFIG ??= " \ imdiag gnutls \ ${@base_contains('DISTRO_FEATURES', 'snmp', 'snmp', '', d)} \ ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'ptest', 'testbench ${VALGRIND}', '', d)} \ " # default yes in configure @@ -60,17 +66,61 @@ PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql," PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi," PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,," PACKAGECONFIG[gui] = "--enable-gui,--disable-gui,," +PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind," + +TESTDIR = "tests" +do_compile_ptest() { + sed -i 's/\(^buildtest-TESTS: \)/\1 $(check_PROGRAMS) /' ${TESTDIR}/Makefile + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + # install the tests + cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} + cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + + # do NOT need to rebuild Makefile itself + sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # fix the srcdir + sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # valgrind is not compatible with arm and mips, + # so remove related test cases if there is no valgrind. + if [ x${VALGRIND} = x ]; then + sed -i '/udp-msgreduc-/d' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + fi + + # install necessary links + install -d ${D}${PTEST_PATH}/tools + ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd + + install -d ${D}${PTEST_PATH}/runtime + install -d ${D}${PTEST_PATH}/runtime/.libs + ( + cd ${D}/${libdir}/rsyslog + allso="*.so" + for i in $allso; do + ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i + done + ) + + # fix the module load path with runtime/.libs + find ${D}${PTEST_PATH}/${TESTDIR} -name \*.conf -exec \ + sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:' \ + '{}' \; +} do_install_append() { install -d "${D}${sysconfdir}/init.d" - install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/rsyslogd + install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog.${BPN} install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.rsyslog } FILES_${PN} += "${bindir}" -INITSCRIPT_NAME = "rsyslogd" +INITSCRIPT_NAME = "syslog" INITSCRIPT_PARAMS = "defaults" # higher than sysklogd's 100 @@ -94,12 +144,27 @@ SYSTEMD_SERVICE_${PN} = "${BPN}.service" RDEPENDS_${PN} += "logrotate" +# for rsyslog-ptest +VALGRIND = "valgrind" +VALGRIND_mips = "" +VALGRIND_mips64 = "" +VALGRIND_arm = "" +VALGRIND_aarch64 = "" +RDEPENDS_${PN}-ptest += "make diffutils gzip" +RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}" + # no syslog-init for systemd python () { - if 'sysvinit' in d.getVar("DISTRO_FEATURES", True).split(): + if bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): pn = d.getVar('PN', True) sysconfdir = d.getVar('sysconfdir', True) d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init') - d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslogd' % (sysconfdir)) - d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/rsyslogd' % (sysconfdir)) + d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir)) + d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-init', '%s/init.d/syslog.%s' % (d.getVar('sysconfdir', True), d.getVar('BPN', True))) + + if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d): + pn = d.getVar('PN', True) + d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-service') + d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-service', '%s/systemd/system/syslog.service' % (d.getVar('sysconfdir', True))) + d.setVarFlag('ALTERNATIVE_TARGET', 'syslog-service', '%s/system/rsyslog.service' % (d.getVar('systemd_unitdir', True))) } 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/smartmontools/files/initd.smartd b/meta-oe/recipes-extended/smartmontools/files/initd.smartd index 29c27e4756..54adcb406b 100755 --- a/meta-oe/recipes-extended/smartmontools/files/initd.smartd +++ b/meta-oe/recipes-extended/smartmontools/files/initd.smartd @@ -16,8 +16,8 @@ # Should-Start: sendmail # Required-Stop: $syslog $remote_fs # Should-Stop: sendmail -# Default-Start: -# Default-Stop: 0 1 2 3 4 5 6 +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 # Short-Description: Monitors disk and tape health via S.M.A.R.T. # Description: Start S.M.A.R.T. disk and tape monitor. ### END INIT INFO @@ -52,6 +52,10 @@ smartd_opts="--pidfile $SMARTDPID $smartd_opts" case "$1" in start) + if [ "$start_smartd" != "yes" ]; then + [ "$VERBOSE" != "no" ] && echo "Not starting S.M.A.R.T. daemon smartd, disabled via /etc/default/smartmontools" + exit 0 + fi echo -n "Starting S.M.A.R.T. daemon: smartd" if start-stop-daemon --start --quiet --pidfile $SMARTDPID \ --exec $SMARTD_BIN -- $smartd_opts; then diff --git a/meta-oe/recipes-extended/smartmontools/files/smartd.service b/meta-oe/recipes-extended/smartmontools/files/smartd.service new file mode 100644 index 0000000000..f3db946c81 --- /dev/null +++ b/meta-oe/recipes-extended/smartmontools/files/smartd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Self Monitoring and Reporting Technology (SMART) Daemon +After=syslog.target + +[Service] +EnvironmentFile=-@SYSCONFDIR@/smartmontools +ExecStart=@SBINDIR@/smartd -n $smart_opts +ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID +StandardOutput=syslog + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-extended/smartmontools/files/smartmontools.default b/meta-oe/recipes-extended/smartmontools/files/smartmontools.default new file mode 100644 index 0000000000..602e00beb1 --- /dev/null +++ b/meta-oe/recipes-extended/smartmontools/files/smartmontools.default @@ -0,0 +1,6 @@ +# uncomment to start smartd on system startup for SysV init script +# For systemd service file, use `systemctl enable smartd'. +#start_smartd=yes + +# uncomment to pass additional options to smartd on startup +#smartd_opts="--interval=1800" diff --git a/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb b/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb index 9b9454c880..fd7b1b8c5d 100644 --- a/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb +++ b/meta-oe/recipes-extended/smartmontools/smartmontools_6.2.bb @@ -14,6 +14,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \ file://initd.smartd \ + file://smartmontools.default \ + file://smartd.service \ " PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'libcap-ng', 'libcap-ng', '', d)} \ @@ -25,15 +27,28 @@ PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux" SRC_URI[md5sum] = "d44f84081a12cef79cd17f78044351fc" SRC_URI[sha256sum] = "486f660579bb0fb4f6b927ded7531cb1f99685c666397377761c5b04dd96065b" -inherit autotools update-rc.d +inherit autotools update-rc.d systemd + +SYSTEMD_SERVICE_${PN} = "smartd.service" +SYSTEMD_AUTO_ENABLE = "disable" do_install_append () { #install the init.d/smartd install -d ${D}${sysconfdir}/init.d install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd + install -d ${D}${sysconfdir}/default + install -p -m 0644 ${WORKDIR}/smartmontools.default ${D}${sysconfdir}/default/smartmontools + + #install systemd service file + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/smartd.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@SYSCONFDIR@,${sysconfdir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_unitdir}/system/smartd.service } INITSCRIPT_NAME = "smartd" -INITSCRIPT_PARAMS = "start 60 . stop 60 0 1 2 3 4 5 6 ." +INITSCRIPT_PARAMS = "start 60 2 3 4 5 . stop 60 0 1 6 ." RDEPENDS_${PN} += "mailx" diff --git a/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb b/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb index 8195ed9183..c220eadab9 100644 --- a/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb +++ b/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb @@ -14,4 +14,4 @@ SRC_URI = "git://git.pengutronix.de/git/tools/canutils.git;protocol=git \ S = "${WORKDIR}/git" -inherit autotools +inherit autotools pkgconfig diff --git a/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb b/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb index df3c163ba3..98ef73f297 100644 --- a/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb +++ b/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.9.bb @@ -16,5 +16,5 @@ S = "${WORKDIR}/git" inherit autotools pkgconfig do_configure_prepend() { - sed -i -e s:tests/GNUmakefile::g -e s:trunk:0.0.9: configure.ac + sed -i -e s:tests/GNUmakefile::g -e s:trunk:0.0.9: ${S}/configure.ac } diff --git a/meta-oe/recipes-extended/subsurface/subsurface_git.bb b/meta-oe/recipes-extended/subsurface/subsurface_git.bb index eb4536aa61..22b9d2fd70 100644 --- a/meta-oe/recipes-extended/subsurface/subsurface_git.bb +++ b/meta-oe/recipes-extended/subsurface/subsurface_git.bb @@ -4,27 +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" +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" -RRECOMMENDS_${PN}_append_libc-glibc = " eglibc-gconv-iso8859-15" +#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/tcsh/tcsh_6.18.01.bb b/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb index 16ecdb025f..1dd4cb5804 100644 --- a/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb +++ b/meta-oe/recipes-extended/tcsh/tcsh_6.18.01.bb @@ -7,7 +7,7 @@ HOMEPAGE = "http://www.tcsh.org/" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://Copyright;md5=1cf29be62df2be1a3763118b25b4c780" SECTION = "base" -DEPENDS = "ncurses" +DEPENDS = "ncurses gettext-native" SRC_URI = " \ ${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}.orig.tar.gz;name=tarball \ ${DEBIAN_MIRROR}/main/t/tcsh/tcsh_${PV}-2.diff.gz;name=diffs \ diff --git a/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb b/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb index ee56952d9e..fe0e484dec 100644 --- a/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb +++ b/meta-oe/recipes-extended/tipcutils/tipcutils_2.0.6.bb @@ -20,15 +20,15 @@ do_install_append() { multicast_demo stream_demo" for i in $demos;do install -d ${D}/opt/tipcutils/demos/$i - install ${S}/demos/$i/client_tipc ${D}/opt/tipcutils/demos/$i/ - install ${S}/demos/$i/server_tipc ${D}/opt/tipcutils/demos/$i/ + install ${B}/demos/$i/client_tipc ${D}/opt/tipcutils/demos/$i/ + install ${B}/demos/$i/server_tipc ${D}/opt/tipcutils/demos/$i/ done install -d ${D}/opt/tipcutils/demos/inventory_sim - install ${S}/demos/inventory_sim/inventory_sim ${D}/opt/tipcutils/demos/inventory_sim/ + install ${B}/demos/inventory_sim/inventory_sim ${D}/opt/tipcutils/demos/inventory_sim/ install -d ${D}/opt/tipcutils/ptts - install ${S}/ptts/tipcTS ${D}/opt/tipcutils/ptts/ - install ${S}/ptts/tipcTC ${D}/opt/tipcutils/ptts/ + install ${B}/ptts/tipcTS ${D}/opt/tipcutils/ptts/ + install ${B}/ptts/tipcTC ${D}/opt/tipcutils/ptts/ install -d ${D}${sysconfdir} cp -a ${S}/scripts/etc/* ${D}${sysconfdir}/ 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 298cfa5d6e..5ce99ea06e 100644 --- a/meta-oe/recipes-extended/tmux/tmux_1.6.bb +++ b/meta-oe/recipes-extended/tmux/tmux_1.6.bb @@ -7,11 +7,11 @@ LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=8685b4455330a940fab DEPENDS = "ncurses libevent sed-native" -SRC_URI = "${SOURCEFORGE_MIRROR}/tmux/${P}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/tmux/${BP}.tar.gz" SRC_URI[md5sum] = "3e37db24aa596bf108a0442a81c845b3" SRC_URI[sha256sum] = "faee08ba1bd8c22537cd5b7458881d1bdb4985df88ed6bc5967c56881a7efbd6" -inherit autotools +inherit autotools pkgconfig do_configure_prepend () { sed -i -e 's:-I/usr/local/include::' ${S}/Makefile.am || bb_fatal "sed failed" diff --git a/meta-oe/recipes-extended/zsh/zsh.inc b/meta-oe/recipes-extended/zsh/zsh.inc index db51f39605..b8fce807aa 100644 --- a/meta-oe/recipes-extended/zsh/zsh.inc +++ b/meta-oe/recipes-extended/zsh/zsh.inc @@ -36,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-gnome/gtkextra/gtkextra_3.0.5.bb b/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb index c5a25f8b52..7901fa5510 100644 --- a/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb +++ b/meta-oe/recipes-gnome/gtkextra/gtkextra_3.0.5.bb @@ -4,13 +4,13 @@ HOMEPAGE = "http://gtkextra.sourceforge.net/" LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" -SRC_URI = "${SOURCEFORGE_MIRROR}/gtkextra/${P}.tar.gz \ +SRC_URI = "${SOURCEFORGE_MIRROR}/gtkextra/${BP}.tar.gz \ file://remove-tutorial.patch \ " SRC_URI[md5sum] = "486cea93666020f85f101ed8341baf41" SRC_URI[sha256sum] = "9cab6c5d6b792eb828d17cec2b9c1baba2ef57f789a290464afab80b53969e65" -DEPENDS = "gtk+" +DEPENDS = "gtk+ gobject-introspection-stub" -inherit autotools +inherit autotools pkgconfig diff --git a/meta-oe/recipes-graphics/babl/babl_0.1.10.bb b/meta-oe/recipes-graphics/babl/babl_0.1.10.bb index 3fc4c44586..48920217af 100644 --- a/meta-oe/recipes-graphics/babl/babl_0.1.10.bb +++ b/meta-oe/recipes-graphics/babl/babl_0.1.10.bb @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6" inherit gnomebase -SRC_URI = "http://ftp.gimp.org/pub/${PN}/0.1/${PN}-${PV}.tar.bz2" +SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.1/${BP}.tar.bz2" SRC_URI[md5sum] = "9e1542ab5c0b12ea3af076a9a2f02d79" SRC_URI[sha256sum] = "943fc36ceac7dd25bc928256bc7b535a42989c6b971578146869eee5fe5955f4" diff --git a/meta-oe/recipes-graphics/cairo/cairomm_1.10.0.bb b/meta-oe/recipes-graphics/cairo/cairomm_1.10.0.bb index 86ba55212f..a5e383a4b1 100644 --- a/meta-oe/recipes-graphics/cairo/cairomm_1.10.0.bb +++ b/meta-oe/recipes-graphics/cairo/cairomm_1.10.0.bb @@ -1,5 +1,3 @@ -require recipes-graphics/cairo/cairo.inc - SUMMARY = "C++ bindings for Cairo graphics library" LICENSE = "LGPLv2" @@ -7,6 +5,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9" PR = "r1" +inherit autotools pkgconfig + DEPENDS = "cairo libsigc++-2.0" SRC_URI = "http://cairographics.org/releases/cairomm-${PV}.tar.gz;name=archive" diff --git a/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb b/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb index 4bac59b1d7..194d1046fd 100644 --- a/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb +++ b/meta-oe/recipes-graphics/clutter/clutter-box2d_git.bb @@ -2,6 +2,11 @@ require clutter-box2d.inc LIC_FILES_CHKSUM = "file://box2d/License.txt;md5=e5d39ad91f7dc4692dcdb1d85139ec6b" +# 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" + SRCREV = "de5452e56b537a11fd7f9453d048ff4b4793b5a2" PV = "0.12.1+git${SRCPV}" PR = "r1" diff --git a/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb b/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb index 48edc2c075..2ff331c93f 100644 --- a/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb +++ b/meta-oe/recipes-graphics/fbgrab/fbgrab_1.2.bb @@ -4,9 +4,9 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a" SECTION = "console/utils" DEPENDS = "libpng zlib" -SRC_URI = "http://fbgrab.monells.se/${P}.tar.gz" +SRC_URI = "http://fbgrab.monells.se/${BP}.tar.gz" -inherit autotools +inherit autotools-brokensep S = "${WORKDIR}/${PN}" diff --git a/meta-oe/recipes-graphics/fbida/fbida_git.bb b/meta-oe/recipes-graphics/fbida/fbida_git.bb index f4dd01d8bb..41c14b88af 100644 --- a/meta-oe/recipes-graphics/fbida/fbida_git.bb +++ b/meta-oe/recipes-graphics/fbida/fbida_git.bb @@ -18,7 +18,7 @@ S = "${WORKDIR}/git" EXTRA_OEMAKE = "STRIP=" PACKAGECONFIG ??= "gif png" -PACKAGECONFIG[gif] = ",,libungif" +PACKAGECONFIG[gif] = ",,giflib" PACKAGECONFIG[png] = ",,libpng" PACKAGECONFIG[tiff] = ",,tiff" PACKAGECONFIG[motif] = ",,libx11 libxext libxpm libxt openmotif" 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 3433bd2712..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,6 +8,8 @@ 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)" + # flex with provide /usr/include/FlexLexer.h DEPENDS = "flex-native bison-native flex" @@ -18,7 +20,7 @@ SRC_URI[sha256sum] = "3f6bf2de2952b9adcbeb3db12c2a979e999a81dd1e314a03bc58e24f1e PARALLEL_MAKE = "" -inherit autotools +inherit autotools pkgconfig # Don't use provided regex.c EXTRA_OECONF = "fim_cv_regex=no fim_cv_regex_broken=no \ diff --git a/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch b/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch new file mode 100644 index 0000000000..d145b625f6 --- /dev/null +++ b/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch @@ -0,0 +1,21 @@ +Index: gegl-0.2.0/configure.ac +=================================================================== +--- gegl-0.2.0.orig/configure.ac 2012-04-02 21:56:49.000000000 +0000 ++++ gegl-0.2.0/configure.ac 2014-07-17 21:34:15.312546602 +0000 +@@ -765,15 +765,7 @@ + + have_sdl="no" + if test "x$with_sdl" != "xno"; then +- AC_PATH_PROG(SDL_CONFIG, sdl-config, no) +- if test "$SDL_CONFIG" = "no"; then +- have_sdl="no (SDL library not found)" +- AC_MSG_RESULT([*** Check for SDL library failed.]) +- else +- have_sdl="yes" +- SDL_CFLAGS=`$SDL_CONFIG --cflags` +- SDL_LIBS=`$SDL_CONFIG --libs` +- fi ++ PKG_CHECK_MODULES([SDL], [sdl], [have_sdl="yes"], [have_sdl="no (SDL library not found)"]) + fi + + AM_CONDITIONAL(HAVE_SDL, test "$have_sdl" = "yes") diff --git a/meta-oe/recipes-graphics/gegl/gegl_0.2.0.bb b/meta-oe/recipes-graphics/gegl/gegl_0.2.0.bb index bd40946543..58103f61bd 100644 --- a/meta-oe/recipes-graphics/gegl/gegl_0.2.0.bb +++ b/meta-oe/recipes-graphics/gegl/gegl_0.2.0.bb @@ -11,7 +11,8 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[jasper] = "--with-jasper,--without-jasper,jasper" PACKAGECONFIG[avformat] = "--with-libavformat,--without-libavformat,libav" -SRC_URI = "http://ftp.gimp.org/pub/${PN}/0.2/${PN}-${PV}.tar.bz2" +SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.2/${BP}.tar.bz2 \ + file://pkgconfig.patch " SRC_URI[md5sum] = "32b00002f1f1e316115c4ed922e1dec8" SRC_URI[sha256sum] = "df2e6a0d9499afcbc4f9029c18d9d1e0dd5e8710a75e17c9b1d9a6480dd8d426" diff --git a/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb b/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb index 77bc6bd0cf..a893dc259a 100644 --- a/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb +++ b/meta-oe/recipes-graphics/gimp/gimp_2.8.10.bb @@ -4,7 +4,7 @@ SECTION = "x11/graphics" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -DEPENDS = "babl gdk-pixbuf-native libart-lgpl gtk+ jpeg libpng libexif tiff lcms gegl poppler jasper" +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 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/leptonica/leptonica_1.70.bb b/meta-oe/recipes-graphics/leptonica/leptonica_1.70.bb new file mode 100644 index 0000000000..e826e05bf8 --- /dev/null +++ b/meta-oe/recipes-graphics/leptonica/leptonica_1.70.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "A pedagogically-oriented open source site containing software that is broadly useful for image processing and image analysis applications" +DEPENDS = "jpeg tiff libpng zlib giflib" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=20cdd3af097ca431b82004c691f406a6" + +SRC_URI = "http://leptonica.com/source/leptonica-${PV}.tar.gz" +SRC_URI[md5sum] = "5ac2a31cf5b4f0e8f5a853a5266c42ef" +SRC_URI[sha256sum] = "d3d209a1f6d1f7a80119486b5011bc8c6627e582c927ab44ba33c37edb2cfba2" + +EXTRA_OECONF += " \ + --without-libwebp \ +" + +inherit autotools pkgconfig diff --git a/meta-oe/recipes-graphics/libsexy/libsexy.inc b/meta-oe/recipes-graphics/libsexy/libsexy.inc index 49c46cd60e..5a11ca06aa 100644 --- a/meta-oe/recipes-graphics/libsexy/libsexy.inc +++ b/meta-oe/recipes-graphics/libsexy/libsexy.inc @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" DEPENDS = "gtk+ enchant libxml2" -SRC_URI = "http://releases.chipx86.com/libsexy/${PN}/${PN}-${PV}.tar.gz \ +SRC_URI = "http://releases.chipx86.com/libsexy/${BPN}/${BP}.tar.gz \ file://libsexy-pkgconfig-fixes.patch" inherit autotools pkgconfig 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 c602ad3816..a05e533bdb 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/ @@ -42,16 +44,18 @@ do_compile_append() { -e 's,# arg=.*,arg=${bindir}/X -s 0,g' \ ${S}/data/lxdm.conf.in # add default configuration - oe_runmake -C ${S}/data lxdm.conf + oe_runmake -C ${B}/data lxdm.conf } 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" 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/nonworking/slim/slim_1.3.2.bb b/meta-oe/recipes-graphics/nonworking/slim/slim_1.3.2.bb index 57b47f6587..5519b0e7d7 100644 --- a/meta-oe/recipes-graphics/nonworking/slim/slim_1.3.2.bb +++ b/meta-oe/recipes-graphics/nonworking/slim/slim_1.3.2.bb @@ -8,7 +8,7 @@ PR = "r1" DEPENDS = "virtual/libx11 libxmu libpng jpeg freetype sessreg ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" SRC_URI = " \ - http://download.berlios.de/${PN}/${P}.tar.gz \ + http://download.berlios.de/${BPN}/${BP}.tar.gz \ file://0002-Fix-image-handling-integer-overflows.patch \ file://0003-Fix-build-failure-with-ld-as-needed.patch \ file://0004-Add-support-libpng15.patch \ diff --git a/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb index ec875f08bc..08d7f5b52a 100644 --- a/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb +++ b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb @@ -5,12 +5,14 @@ LICENSE = "MIT-X" LIC_FILES_CHKSUM = "file://LICENSE;md5=dcb1cc75e21540a4a66b54e38d95b047" DEPENDS = "virtual/libx11 libxtst" -SRC_URI = "http://home.kde.org/~seli/numlockx/numlockx-${PV}.tar.gz" +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/numlockx/numlockx-${PV}.tar.gz/be9109370447eae23f6f3f8527bb1a67/numlockx-${PV}.tar.gz" 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 54a14f9596..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 +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" @@ -24,8 +26,6 @@ PACKAGECONFIG[xrandr] = "--enable-xrandr,--disable-xrandr,libxrandr" PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama" PACKAGECONFIG[xcursor] = "--enable-xcursor,--disable-xcursor,libxcursor" -EXTRA_OECONF += "--with-plugins=none" - PACKAGES =+ "${PN}-core ${PN}-lxde ${PN}-gnome ${PN}-config" PACKAGES_DYNAMIC += "^${PN}-theme-.*" diff --git a/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb b/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb index 931564f713..632e7d4334 100644 --- a/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb +++ b/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb @@ -12,18 +12,6 @@ PACKAGES += "\ ${PN}-chinese \ ${PN}-japanese \ " -RPROVIDES_${PN} += "task-fonts-truetype" -RPROVIDES_${PN}-core += "task-fonts-truetype-core" -RPROVIDES_${PN}-chinese += "task-fonts-truetype-chinese" -RPROVIDES_${PN}-japanese += "task-fonts-truetype-japanese" -RREPLACES_${PN} += "task-fonts-truetype" -RREPLACES_${PN}-core += "task-fonts-truetype-core" -RREPLACES_${PN}-chinese += "task-fonts-truetype-chinese" -RREPLACES_${PN}-japanese += "task-fonts-truetype-japanese" -RCONFLICTS_${PN} += "task-fonts-truetype" -RCONFLICTS_${PN}-core += "task-fonts-truetype-core" -RCONFLICTS_${PN}-chinese += "task-fonts-truetype-chinese" -RCONFLICTS_${PN}-japanese += "task-fonts-truetype-japanese" RRECOMMENDS_${PN} = "\ ${PN}-core \ diff --git a/meta-oe/recipes-graphics/pango/pangomm_2.34.0.bb b/meta-oe/recipes-graphics/pango/pangomm_2.34.0.bb index 36afb9f1e3..45218c240b 100644 --- a/meta-oe/recipes-graphics/pango/pangomm_2.34.0.bb +++ b/meta-oe/recipes-graphics/pango/pangomm_2.34.0.bb @@ -12,7 +12,7 @@ SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/pangomm/${SHRT_VER}/pangomm-${P SRC_URI[md5sum] = "2c702caede167323c9ed9eed2b933098" SRC_URI[sha256sum] = "0e82bbff62f626692a00f3772d8b17169a1842b8cc54d5f2ddb1fec2cede9e41" -inherit autotools +inherit autotools pkgconfig EXTRA_OECONF = " --disable-documentation " 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/tesseract/tesseract-lang-afr_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-afr_3.02.bb new file mode 100644 index 0000000000..0c73a53d8f --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-afr_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "afr" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "16a756bf353896e34386f4509582e487" +SRC_URI[sha256sum] = "371399ce6700f28d04ccfc12e421f315e356e3aa26575b27d06083c06987784d" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ara_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ara_3.02.bb new file mode 100644 index 0000000000..fb68bdcb9f --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ara_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ara" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "d7b3708f1f1f2898c258209923063f57" +SRC_URI[sha256sum] = "2c7be319c30e93950c121897969c1bc1eb1d6bdceb75f1184ee34a6f01d66b6a" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-aze_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-aze_3.02.bb new file mode 100644 index 0000000000..21ed3d37e1 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-aze_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "aze" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "143044ff7b643b844c2f0b2a170ceda2" +SRC_URI[sha256sum] = "0f17a06a163d97ec23db3ab14b91b84a67aeba1e441ca5e53a8632b2110a0e79" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-bel_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-bel_3.02.bb new file mode 100644 index 0000000000..5f883012ab --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-bel_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "bel" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "3bb6dab515166d641ac62e973c868ac5" +SRC_URI[sha256sum] = "e59e008c542f786f6f7bd14c6608b2c128c9297d6bede647ae357f7421f7a3e7" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ben_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ben_3.02.bb new file mode 100644 index 0000000000..673fd42aac --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ben_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ben" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "0b662630eb4b2e0ebf40c38184068fba" +SRC_URI[sha256sum] = "14a87e0762dcee0cd95acfd3b370b81fd14a003d39328ed97db0b28c55d31e50" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-bul_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-bul_3.02.bb new file mode 100644 index 0000000000..4988fc230f --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-bul_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "bul" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "91fc34ef041aafe32549a7a6232afad0" +SRC_URI[sha256sum] = "1b8b4d7b12d896cf9f7e60e8e3274d3891886544253d41681dd9b32d6567e3f3" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-cat_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-cat_3.02.bb new file mode 100644 index 0000000000..ec3fa744cd --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-cat_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "cat" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "27b77ecc66f8c8d904cd6b87886aca22" +SRC_URI[sha256sum] = "894af4c718e821cdc4ae3ec65838b174ac8a003e5417a08557698e1576ac3a34" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ces_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ces_3.02.bb new file mode 100644 index 0000000000..d58d0e879e --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ces_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ces" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "ae144b9d230267b5ae62804ad7a09dac" +SRC_URI[sha256sum] = "843522eddcd0e2059a1c7069183b68c2459d527157bc47833a79b6ff56bb09de" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-sim_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-sim_3.02.bb new file mode 100644 index 0000000000..84698010c7 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-sim_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "chi_sim" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "718779539d3202ae95ae5ff52a3ad5e8" +SRC_URI[sha256sum] = "f5b196b5bea6917bcbbf15131b4c2afe94d34c2d9e21d08c0ca42dfbe5aa1095" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-tra_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-tra_3.02.bb new file mode 100644 index 0000000000..1c4d98dfa1 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chi-tra_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "chi_tra" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "391ed3fcf014bae777b33dc7a771a00d" +SRC_URI[sha256sum] = "78742e273a9ca74a6ab5543414e04bcac90d03a317dd35edc634956beafa3d20" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-chr_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chr_3.02.bb new file mode 100644 index 0000000000..7aa6cc56fb --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-chr_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "chr" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "dd5b4fa247500d7713ab5556af62d9fa" +SRC_URI[sha256sum] = "27c917ba39898d63752b2a4ecb0cd8f688772bcbbae2bf430a93d894d328a4c1" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-dan_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-dan_3.02.bb new file mode 100644 index 0000000000..5af3f7901f --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-dan_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "dan" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "2f6a93920b3ce55de24ca762a66a5de1" +SRC_URI[sha256sum] = "deb93f6326aa8a4d353159201681947a808577662084d4060daea7d644e63eb9" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-deu_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-deu_3.02.bb new file mode 100644 index 0000000000..4d68fd931c --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-deu_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "deu" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "57bdb26ec7c767e126ff97776d8bfb10" +SRC_URI[sha256sum] = "d03cdd0b00d368ff49ebaf77b8758bcf2ff1b0d39331368987e622ac261443ca" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ell_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ell_3.02.bb new file mode 100644 index 0000000000..be4b90e09a --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ell_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ell" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "3760cc3dee6489dcc865b31e7a36bd47" +SRC_URI[sha256sum] = "29745ced8fbfb4ec9abebeb99e4b385821cb5eb0ed81fb1870b93543553b8fba" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-eng_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-eng_3.02.bb new file mode 100644 index 0000000000..ce15a2dae7 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-eng_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "eng" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "3562250fe6f4e76229a329166b8ae853" +SRC_URI[sha256sum] = "c110029560e7f6d41cb852ca23b66899daa4456d9afeeae9d062204bd271bdf8" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-enm_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-enm_3.02.bb new file mode 100644 index 0000000000..5f1531f41e --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-enm_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "enm" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "d9dc4ad9cbcde78e5be59eb226865661" +SRC_URI[sha256sum] = "19c9bd89c823451655e3f265b7fcd06727cd36ddec01b8fad9900159b688a1e3" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo-alt_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo-alt_3.02.bb new file mode 100644 index 0000000000..0469ea6506 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo-alt_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "epo_alt" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "67815529386679223092ddf301bf57d4" +SRC_URI[sha256sum] = "e516b8362fa060be720d2768a8abbee9cc965b9162249c5914ef1d8159e03dc2" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo_3.02.bb new file mode 100644 index 0000000000..7f42502472 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-epo_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "epo" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "5dc0cf01d21ee43ed834ee947e1e810a" +SRC_URI[sha256sum] = "22ae681c34ee7aa825994115f927c2e1f8ec1a98c97c01218b98d2549af22252" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-equ_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-equ_3.02.bb new file mode 100644 index 0000000000..f4d81bbd6b --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-equ_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "equ" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "94667836c651fc4fd43645efdc34e19a" +SRC_URI[sha256sum] = "2010e724686171ef2eb3388df00d8d89ba7e50cb2298b0368b847fffb95d804e" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-est_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-est_3.02.bb new file mode 100644 index 0000000000..adfe25c099 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-est_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "est" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "a067f5975cbe83fea205897187fa256b" +SRC_URI[sha256sum] = "d5d6b9d4b567a10e2f63cafd2f60bf5b0c994e415470becafd729b20349e2e80" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-eus_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-eus_3.02.bb new file mode 100644 index 0000000000..a22bcac38e --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-eus_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "eus" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "4c2cee5bf3558f6384e5907aa02ae80c" +SRC_URI[sha256sum] = "78359d57896623cf8211e17604a9dfa574e2253c9157035f439c5fbe06cd5019" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-fin_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-fin_3.02.bb new file mode 100644 index 0000000000..e8a55e2b6b --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-fin_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "fin" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "71f8b343ed2010f775ff474faec5874f" +SRC_URI[sha256sum] = "e02ff1798960d3af15c0dafafac0de954442cfb13f4eff45c3263c2ff6e59026" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-fra_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-fra_3.02.bb new file mode 100644 index 0000000000..22c92618a5 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-fra_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "fra" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "2bca200b783fdba2f546063c68740c50" +SRC_URI[sha256sum] = "74592f5f2ab73a6668934922753be0505fc4333ee790543949f8b70f03eab101" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-frk_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-frk_3.02.bb new file mode 100644 index 0000000000..f75b96aee7 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-frk_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "frk" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "dd734ac212a98a02945760891b657e70" +SRC_URI[sha256sum] = "a9f4219d6b2ef4ed8b76c86be99ae3c9190509df72ba6f0217a77f7205ec52f8" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-frm_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-frm_3.02.bb new file mode 100644 index 0000000000..d0d1398a71 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-frm_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "frm" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "e0ca24ca45de83e67057f0e208233ffc" +SRC_URI[sha256sum] = "f32f774d88e7936f16ff41b832cecfbd71f82c9bf7584330d750da941c07ca79" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-glg_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-glg_3.02.bb new file mode 100644 index 0000000000..b94fd03e2d --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-glg_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "glg" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "ef7b8e13891e08f29b02011a5dd6b630" +SRC_URI[sha256sum] = "82ffa27c4de17545fa9d46e0fcd5690b1b59bcce9e93f71c0a41d19afbe869ee" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-grc_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-grc_3.02.bb new file mode 100644 index 0000000000..16c9605a10 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-grc_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "grc" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "ac493e5a49e456f2dd354f5b6449573e" +SRC_URI[sha256sum] = "586b955eb9fba5a304cfa37bfdd7c89f2db33335d5ae83f2962aed8903266805" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-heb_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-heb_3.02.bb new file mode 100644 index 0000000000..9d7a4fa2f7 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-heb_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "heb" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "7ae7f3384083c66f06d63b6c0f0a66c3" +SRC_URI[sha256sum] = "da47b0cfe241775c9b36339efda6339d59e146fa6143c65a2253eb9f67164811" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-hin_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hin_3.02.bb new file mode 100644 index 0000000000..d3ed173cc1 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hin_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "hin" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "186f17b326a58313344c2ea987ea7785" +SRC_URI[sha256sum] = "91f91da5adc73ee71150865d6598df8a50424350480df2753ca9035320b3c78d" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-hrv_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hrv_3.02.bb new file mode 100644 index 0000000000..7423687323 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hrv_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "hrv" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "0396a267d894f485b6b534476f3322dc" +SRC_URI[sha256sum] = "e20575f5b0ec73ff7f3197c112a8dcc24303b64016910399d9127bda42e7d866" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-hun_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hun_3.02.bb new file mode 100644 index 0000000000..61a9ce69ba --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-hun_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "hun" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "eb1b3537cd664fec48bebac75fac5992" +SRC_URI[sha256sum] = "edf5cc42b516b2a18681955167d1964dfc7ff8cda642408ebda91b3c4656f9f1" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ind_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ind_3.02.bb new file mode 100644 index 0000000000..6776952052 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ind_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ind" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "9f672ea7c90eecbbe35ec353ff45c764" +SRC_URI[sha256sum] = "337ba4400a798c60dee16070071337c96fc67bcb4e2cc1b4676dcbc340fbbcd7" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-isl_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-isl_3.02.bb new file mode 100644 index 0000000000..7fa188f229 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-isl_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "isl" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "3f05946a9e57a8ffabb3fccc8a80cfaa" +SRC_URI[sha256sum] = "6b226366d8d2d87f859d4099e8b715e3ec3890f9317198e7b8c80fba001055f8" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita-old_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita-old_3.02.bb new file mode 100644 index 0000000000..be4ad3e434 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita-old_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ita_old" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "989ca558eb05fcf6873dfdd8c692291d" +SRC_URI[sha256sum] = "caf591be6d4eda9e7627397c3c520d58115c660002ecace680749504348ba104" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita_3.02.bb new file mode 100644 index 0000000000..581977a48c --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ita_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ita" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "fbdba86f34b907f5a709051c01b53f71" +SRC_URI[sha256sum] = "26453b302c108e08f594c7a19597382314529f648e141805417f9af1e4c99ac2" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-jpn_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-jpn_3.02.bb new file mode 100644 index 0000000000..269bdef110 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-jpn_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "jpn" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "e1be2b08e667c3bb0ab0f18c9456bf2f" +SRC_URI[sha256sum] = "09bf447a29e990c065024b3b720fd70f08d596a7be534312fc9e47d0aabf681f" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-kan_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-kan_3.02.bb new file mode 100644 index 0000000000..2d21085211 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-kan_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "kan" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "510016e85d7ea8e1f4ebf98741138909" +SRC_URI[sha256sum] = "15851cc22058c08cad9ec6058113f76966409061f21f5cde8c9cc1d214298c22" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-kor_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-kor_3.02.bb new file mode 100644 index 0000000000..617d199ab8 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-kor_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "kor" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "fc9125f6652fb661575d6e15c94f88f6" +SRC_URI[sha256sum] = "7c85c4107a781d90d6d4adb001f2189b113f9db6942618b4bc47f4cc80cd126a" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-lav_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-lav_3.02.bb new file mode 100644 index 0000000000..c207504898 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-lav_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "lav" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "2095b56c9c6b0dba9b837fd226ed6d29" +SRC_URI[sha256sum] = "e6a190ee1edf0a58948a9d7b01569fd8a4c05bc678da3a40ad884c0849958c36" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-lit_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-lit_3.02.bb new file mode 100644 index 0000000000..83ad480fab --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-lit_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "lit" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "801021a1ad6e4aa3ef697f065ff6c798" +SRC_URI[sha256sum] = "350891a182076df2e8067da04b3b2127a77e48782d9905e8339db4f1d6c7a729" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-mal_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mal_3.02.bb new file mode 100644 index 0000000000..571385e2f0 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mal_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "mal" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "1f5e8f022d3c2697075bdfc03935f128" +SRC_URI[sha256sum] = "72b3b23979ae4a6b63518964bf239beae8bb6c02f35a2695f47262178b3fef34" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-mkd_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mkd_3.02.bb new file mode 100644 index 0000000000..ad1eaff8b9 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mkd_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "mkd" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "b8930c64befcaadbb47951cad4a2f075" +SRC_URI[sha256sum] = "ea489277e7a588a1b7566a21cbbd647786f16659cae087a4705d4fdabd823ee6" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-mlt_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mlt_3.02.bb new file mode 100644 index 0000000000..4a6d42deda --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-mlt_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "mlt" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "90a41ac86375b230980b643b35b88011" +SRC_URI[sha256sum] = "ba99e8bfc753a274bbea38ef44f5abf81e5f12d09f9d12d267436961270ef2de" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-msa_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-msa_3.02.bb new file mode 100644 index 0000000000..8418ab6392 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-msa_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "msa" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "cb42ec9504eecdc4f974dbca4387ac34" +SRC_URI[sha256sum] = "f34e4950ad9079f92965a234253cc16f92deb66f1ce4e9c9a885ad2695c2d136" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-nld_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-nld_3.02.bb new file mode 100644 index 0000000000..412d4a7b01 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-nld_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "nld" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "6db5753b3b03296544bbb2c0f59a7178" +SRC_URI[sha256sum] = "5e2e53499a05282968e5a9699aad66ae52a5abf06ae828e2f4cf2c1f6e674a98" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-nor_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-nor_3.02.bb new file mode 100644 index 0000000000..75d2940971 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-nor_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "nor" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "6d979585abb07c13dda003820129461c" +SRC_URI[sha256sum] = "6b5c42444595a81b5f6fea859d97999895917bcc2f85a505488ea5c2f4efa01a" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-pol_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-pol_3.02.bb new file mode 100644 index 0000000000..58580130f6 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-pol_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "pol" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "90b3f1f4113a9dccd0287e6b5b7512d6" +SRC_URI[sha256sum] = "62999058bfb609d95d53bd519c6de99620d025b3bfbc54d8679a87b10474ccbb" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-por_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-por_3.02.bb new file mode 100644 index 0000000000..75f0139663 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-por_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "por" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "ad490a8091ee329190266f3fd057c511" +SRC_URI[sha256sum] = "f9b126323757c62da23aab163e2ce5257d137e86be7c37dea13bb0585e1ace3f" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ron_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ron_3.02.bb new file mode 100644 index 0000000000..3c8940a93c --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ron_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ron" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "9f498e01855a57473af8f083c125455a" +SRC_URI[sha256sum] = "d7e6454c9cc80c84a654f94283fc06b2df33c5c7fd2d3bff269c3cbdeb0b39e7" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-rus_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-rus_3.02.bb new file mode 100644 index 0000000000..e1dd3f18f5 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-rus_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "rus" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "e8c785df8aaa49e61f3a95aa24066122" +SRC_URI[sha256sum] = "091cda49489d15f33916263fc78fbf8dcd4e6547012dc7e1a8496a38ab192315" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-slk_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-slk_3.02.bb new file mode 100644 index 0000000000..241b03862c --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-slk_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "slk" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "991e4771e16abd6a66caeaeeb2a4d4d2" +SRC_URI[sha256sum] = "cbd5a88e2188ef39ef438c9859dbd7a9b9e2a99c23a823ec310f7f84a012cc82" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-slv_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-slv_3.02.bb new file mode 100644 index 0000000000..0b08210b07 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-slv_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "slv" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "c7bea975ba663d13e03c29d6cf33b5a8" +SRC_URI[sha256sum] = "b901507d2901c882f98f6ef5db07dbf74636fba6a1f616c5f094954106791667" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa-old_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa-old_3.02.bb new file mode 100644 index 0000000000..79be8a37fe --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa-old_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "spa_old" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "7838da948e404bb760bef83a5c3d64dd" +SRC_URI[sha256sum] = "2b980c0eda1572423dd56260b32d748288028fdd45266311c4ab448fcbce5814" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa_3.02.bb new file mode 100644 index 0000000000..8790ee5a4e --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-spa_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "spa" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "fe1385ed203ecd9e0999a44b135069ec" +SRC_URI[sha256sum] = "f40cc264d037b0c71ecb4a8bb6def8b3ec04b647d8da7fd44d0daa558bfa31b1" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-sqi_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-sqi_3.02.bb new file mode 100644 index 0000000000..8e923a9eb0 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-sqi_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "sqi" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "372e38617fcc7e25c77996c5499ae063" +SRC_URI[sha256sum] = "99bfcda3e0c471f63b36cd0db7dea596e59a2219c9275c3ba51e59973555c101" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-srp_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-srp_3.02.bb new file mode 100644 index 0000000000..18676c4857 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-srp_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "srp" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "d8350668fa790b5d4007348a55840bdf" +SRC_URI[sha256sum] = "b1eeeb2958d0a4e2ba16fb55a98ca4ca8e69fee8b0be8162ff599ba19d0b2404" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-swa_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-swa_3.02.bb new file mode 100644 index 0000000000..2b9960fc8d --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-swa_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "swa" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "6c68107a71f82fa42c858e4d6dc70aca" +SRC_URI[sha256sum] = "2681e59f2a9333259a2de42f3deed46aa7dd84b638e6927f40db0409adff143b" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-swe_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-swe_3.02.bb new file mode 100644 index 0000000000..7fd1c1d871 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-swe_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "swe" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "46d3a5d7159236edb33272dd8b1090f6" +SRC_URI[sha256sum] = "ada287d7b64183df906215fe4ca86c3b6fe30dc5121e9a83113c3265ca7fc5ae" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tam_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tam_3.02.bb new file mode 100644 index 0000000000..fcfc1fb627 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tam_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "tam" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "c68b0fdcdf34dd431c25f323673ef1d6" +SRC_URI[sha256sum] = "75f73362421a23eb955212f7aa19c9a3efdc80a4c6761445869148bfd2a6dc62" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tel_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tel_3.02.bb new file mode 100644 index 0000000000..fb827ed057 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tel_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "tel" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "349d203ef88864eab8d1201672ca84be" +SRC_URI[sha256sum] = "f36af3d5ca9f8ff6e606485fe5db835f96b42e7d2380ac5d61af6b41827834fd" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tgl_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tgl_3.02.bb new file mode 100644 index 0000000000..8c84ed9d88 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tgl_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "tgl" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "d458f0719b99e4dcfd4fa2a06e5150a3" +SRC_URI[sha256sum] = "5c515310df83c9b40e557027e49de6df70e33a9bbabeaf1301ca9e8c13558948" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tha_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tha_3.02.bb new file mode 100644 index 0000000000..06055d1b41 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tha_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "tha" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "3dc5a5028e75da12eaba62669a80acc4" +SRC_URI[sha256sum] = "7a98e25e0c61dda48cbdb241f0f53c3dfaa7ef574b81799ab2ddac50da6db4fb" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-tur_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tur_3.02.bb new file mode 100644 index 0000000000..f5ec76f2ff --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-tur_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "tur" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "a8934e0e6496997112cbef2961adef5e" +SRC_URI[sha256sum] = "fe4657ca3455585a06eb3d02b4a0472fda8ca06efe587be75e175662dc6329d7" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-ukr_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ukr_3.02.bb new file mode 100644 index 0000000000..25de06a57b --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-ukr_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "ukr" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "0aa61f18463bb89234a6d06fcbf0c644" +SRC_URI[sha256sum] = "7862b10c1ff7e02b41c7a50eec7fccd2c30b8162d965fa1ae00510c6d1210762" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang-vie_3.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang-vie_3.02.bb new file mode 100644 index 0000000000..6bd813e423 --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang-vie_3.02.bb @@ -0,0 +1,9 @@ +# Copyright (C) 2014, O.S. Systems Software Ltda. All Rights Reserved +# Released under the MIT license (see meta-openembedded layer's COPYING.MIT) + +TESSERACT_LANG = "vie" + +require tesseract-lang.inc + +SRC_URI[md5sum] = "78a74432848b4c53cc2ccf2eb339c0b6" +SRC_URI[sha256sum] = "a113254882eac70168aec00544805e7c9cec20527217b98349ed48f6e2d2611e" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang.inc b/meta-oe/recipes-graphics/tesseract/tesseract-lang.inc new file mode 100644 index 0000000000..7f69eb174f --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang.inc @@ -0,0 +1,13 @@ +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +SRC_URI = "https://tesseract-ocr.googlecode.com/files/tesseract-ocr-${PV}.${TESSERACT_LANG}.tar.gz" + +inherit allarch + +do_install() { + install -d ${D}${datadir}/tessdata + cp ${WORKDIR}/tesseract-ocr/tessdata/${TESSERACT_LANG}.traineddata ${D}${datadir}/tessdata +} + +FILES_${PN} += "${datadir}/tessdata" diff --git a/meta-oe/recipes-graphics/tesseract/tesseract_3.02.02.bb b/meta-oe/recipes-graphics/tesseract/tesseract_3.02.02.bb new file mode 100644 index 0000000000..72bd423b8a --- /dev/null +++ b/meta-oe/recipes-graphics/tesseract/tesseract_3.02.02.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "A commercial quality OCR engine " + +DEPENDS = "leptonica" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=c0c94b3c86ad0c386bb6dec70ca8a36a" + +SRC_URI = "https://tesseract-ocr.googlecode.com/files/tesseract-ocr-${PV}.tar.gz" +SRC_URI[md5sum] = "26adc8154f0e815053816825dde246e6" +SRC_URI[sha256sum] = "26cd39cb3f2a6f6f1bf4050d1cc0aae35edee49eb49a92df3cb7f9487caa013d" + +EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica" + +S = "${WORKDIR}/tesseract-ocr" + +inherit autotools pkgconfig + +FILES_${PN} += "${datadir}/tessdata" + +RRECOMMENDS_${PN} += "tesseract-lang-eng" diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb index 11c1ac1b25..9ad348d9fa 100644 --- a/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb +++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb @@ -11,9 +11,11 @@ PR = "r4" SRC_URI = "http://osdn.dl.sourceforge.jp/mplus-fonts/6650/mplus-TESTFLIGHT-${PV}.tar.gz" S = "${WORKDIR}/mplus-TESTFLIGHT-${PV}" -python populate_packages_prepend() { +PACKAGESPLITFUNCS_prepend = "split_ttf_mplus_packages " + +python split_ttf_mplus_packages() { plugindir = d.expand('${datadir}/fonts/ttf-mplus/') - packages = do_split_packages(d, plugindir, '^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s', extra_depends = "ttf-common") + packages = do_split_packages(d, plugindir, '^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s') d.setVar('FONT_PACKAGES', ' '.join(packages)) } 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/xcursorgen/xcursorgen_1.0.5.bb b/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb index e5ece21fa2..27a38c1aab 100644 --- a/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb +++ b/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb @@ -7,6 +7,6 @@ SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.b SRC_URI[md5sum] = "09f56978a62854534deacc8aa8ff3031" SRC_URI[sha256sum] = "bc7171a0fa212da866fca2301241630e2009aea8c4ddb75f21b51a31c2e4c581" -inherit autotools +inherit autotools pkgconfig BBCLASSEXTEND = "native" 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/xfontsel_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb new file mode 100644 index 0000000000..c74b291946 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb @@ -0,0 +1,13 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "xfontsel provides point and click selection of X11 font names" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xfontsel/" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3" +DEPENDS += " libxaw" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3" + +SRC_URI[md5sum] = "a40302b88c599b63e3d3d412e02871e6" +SRC_URI[sha256sum] = "170d8550b96fb47b04db6181b947e6f6b8b97f4df5d691c351a278480cc931bf" 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/xlsfonts_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.4.bb new file mode 100644 index 0000000000..e6985d057f --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.4.bb @@ -0,0 +1,10 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "server font list displayer for X" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsfonts/" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b" + +SRC_URI[md5sum] = "5a2b476c2d84759529f01e0cd06145fe" +SRC_URI[sha256sum] = "28179185ec2bf81dfe13652d65bdb2a4ae74e2775df591a62d66a70f80e90cd2" diff --git a/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb new file mode 100644 index 0000000000..d577421803 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb @@ -0,0 +1,11 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + +SUMMARY = "xmag is a tool to magnify parts of the screen" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xmag/" +SECTION = "x11/app" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=3413fe6832380b44b69b172d2d1b2387" +DEPENDS += " libxaw libxt" + +SRC_URI[md5sum] = "280b81cb09d1903aa868a058d90128ad" +SRC_URI[sha256sum] = "4ace8795cf756be4ba387f30366045594ce26adda2f5ffe1f8e896825d0932c6" 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/xterm_303.bb b/meta-oe/recipes-graphics/xorg-app/xterm_303.bb index 52e77b7897..fad07d9ffc 100644 --- a/meta-oe/recipes-graphics/xorg-app/xterm_303.bb +++ b/meta-oe/recipes-graphics/xorg-app/xterm_303.bb @@ -4,7 +4,7 @@ DEPENDS = "libxaw xproto xextproto libxext libxau libxpm ncurses" LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=540cf18ccc16bc3c5fea40d2ab5d8d51" -SRC_URI = "ftp://invisible-island.net/xterm/${PN}-${PV}.tgz" +SRC_URI = "ftp://invisible-island.net/xterm/${BP}.tgz" SRC_URI[md5sum] = "48f6d49b2b6b6933d501d767cbed9254" SRC_URI[sha256sum] = "8af29987bda9b77205ebf6233aaa5c347e5f2407310b62ac9ba92a658257f058" @@ -13,6 +13,7 @@ EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \ --x-libraries=${STAGING_LIBDIR} \ FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \ --disable-imake \ + --disable-rpath-hack \ --disable-setuid" B = "${S}" diff --git a/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb index b73afe1c5d..694bf57ace 100644 --- a/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb +++ b/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb @@ -1,11 +1,11 @@ +require recipes-graphics/xorg-app/xorg-app-common.inc + SUMMARY = "xwd is a tool to capture an X window or screen to file" HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwd/" SECTION = "x11/app" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=c0cdb783e9a0198237371fdaa26a18bf" -DEPENDS = "libxmu" +DEPENDS = "libxmu libxkbfile" SRC_URI[md5sum] = "6b5d48464c5f366e91efd08b62b12d94" SRC_URI[sha256sum] = "3bb396a2268d78de4b1c3e5237a85f7849d3434e87b3cd1f4d57eef614227d79" - -require recipes-graphics/xorg-app/xorg-app-common.inc 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-data/xorg-data-common.inc b/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc index e128763398..1bcfd5addc 100644 --- a/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc +++ b/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc @@ -4,7 +4,7 @@ LICENSE = "MIT-X" XORG_PN = "${PN}" -SRC_URI = "${XORG_MIRROR}/individual/data/${XORG_PN}-${PV}.tar.bz2" +SRC_URI = "${XORG_MIRROR}/individual/data/${BP}.tar.bz2" S = "${WORKDIR}/${XORG_PN}-${PV}" inherit autotools pkgconfig 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 ac47cee626..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,6 +5,8 @@ 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)" + SRC_URI = "git://gitorious.org/xorg/xf86-input-mtev.git file://fix-it.patch" SRCREV = "1eb469166ffc095c5801475f057f911f97a6e641" S = "${WORKDIR}/git" 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/nonworking/xf86-video-geode_2.11.14.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb index 2fdb210fe5..478d08805d 100644 --- a/meta-oe/recipes-graphics/xorg-driver/nonworking/xf86-video-geode_2.11.14.bb +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-geode_2.11.16.bb @@ -4,8 +4,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e7f3e39474aeea5af381a8e103dafc36" SUMMARY = "X.org server -- Geode GX2/LX display driver" PR = "${INC_PR}.0" -SRC_URI[md5sum] = "c9a4e1c5438240e5bdce332f92df9163" -SRC_URI[sha256sum] = "4c750b46c932934faa008919922f5ac8a572afcfe265ac8d7c203b8167a0cfcc" +SRC_URI += "file://0001-Add-config.h-include-to-src-lx_memory.c.patch" +SRC_URI[md5sum] = "35fa387f6a33f6b22a56ce4bda424392" +SRC_URI[sha256sum] = "38fc1f55e29fb7985b90c9021a4b7e5295d42888bd669174f42f3b7f681fc1a7" COMPATIBLE_HOST = "i.86.*-linux" 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 new file mode 100644 index 0000000000..d425ce5157 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb @@ -0,0 +1,17 @@ +require recipes-graphics/xorg-font/xorg-font-common.inc + +SUMMARY = "X.org cursor fonts" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/cursor-misc/" +SECTION = "x11/font" +LICENSE = "PD" +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 new file mode 100644 index 0000000000..a7c284a2f5 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb @@ -0,0 +1,17 @@ +require recipes-graphics/xorg-font/xorg-font-common.inc + +SUMMARY = "X.org miscellaneous fonts" +HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/misc-misc/" +SECTION = "x11/font" +LICENSE = "PD" +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 aacf379731..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,9 +1,9 @@ SUMMARY = "Xorg 100 DPI font set" LICENSE = "Custom" -inherit packagegroup - -PACKAGE_ARCH = "${MACHINE_ARCH}" +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/xorg-lib/libxaw_1.0.10.bb b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.10.bb index fef5acd108..6963f5e33c 100644 --- a/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.10.bb +++ b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.10.bb @@ -10,9 +10,6 @@ PR = "r2" SRC_URI[md5sum] = "f1ea52debce7a18cc26b21647a00ad8b" SRC_URI[sha256sum] = "2d96bcf92638b8ec5c91d379f5ec2e7b15133adeb2ba22066d48bf3239ee1bdd" -# disable docs as groff detection doesn't work on some hosts while cross compilling -EXTRA_OECONF += " --disable-docs " - do_install_append () { ln -sf libXaw6.so.6 ${D}${libdir}/libXaw.so.6 ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so.7 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-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/ktap/ktap_0.4.bb b/meta-oe/recipes-kernel/ktap/ktap_0.4.bb index 20f94d5980..cbdabf82d8 100644 --- a/meta-oe/recipes-kernel/ktap/ktap_0.4.bb +++ b/meta-oe/recipes-kernel/ktap/ktap_0.4.bb @@ -22,5 +22,5 @@ do_install() { install -m 0755 ${S}/ktap ${D}${bindir}/ } +PACKAGE_ARCH = "${MACHINE_ARCH}" RDEPENDS_${PN} = "kernel-module-ktapvm" - 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 bf7cdfb7aa..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/${PN}-${PV}.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/faad2/faad2_2.7.bb b/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb index 3723f8dea6..63e590c9e0 100644 --- a/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb +++ b/meta-oe/recipes-multimedia/faad2/faad2_2.7.bb @@ -8,7 +8,7 @@ PR = "r1" inherit autotools -SRC_URI = "${SOURCEFORGE_MIRROR}/faac/faad2-src/faad2-${PV}/${PN}-${PV}.tar.bz2;name=faad2 \ +SRC_URI = "${SOURCEFORGE_MIRROR}/faac/faad2-src/faad2-${PV}/${BP}.tar.bz2;name=faad2 \ " SRC_URI[faad2.md5sum] = "4c332fa23febc0e4648064685a3d4332" diff --git a/meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch b/meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch new file mode 100644 index 0000000000..09edecc964 --- /dev/null +++ b/meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch @@ -0,0 +1,42 @@ +Add a description to the AC_DEFINE statements so that it appears in config.h and silences a fatal warning. + +Upstream-Status:Pending +Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com> +--- + configure.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/configure.in b/configure.in +index abfe4cd..ce0d380 100644 +--- a/configure.in ++++ b/configure.in +@@ -168,7 +168,7 @@ if test $has_iconv = 1; then + iconv_oldstyle=1, iconv_oldstyle=0) + if test $iconv_oldstyle = 1; then + AC_MSG_RESULT(const char **) +- AC_DEFINE(ID3LIB_ICONV_OLDSTYLE) ++ AC_DEFINE(ID3LIB_ICONV_OLDSTYLE,[1],[Old iconv prototype definition in iconv.h]) + #we'll check out the need of + #typecast in the call of iconv_open + AC_MSG_CHECKING(whether to typecast in iconv) +@@ -184,7 +184,7 @@ if test $has_iconv = 1; then + iconv_cast=0, iconv_cast=1) + if test $iconv_cast = 1; then + AC_MSG_RESULT(yes) +- AC_DEFINE(ID3LIB_ICONV_CAST_OK) ++ AC_DEFINE(ID3LIB_ICONV_CAST_OK,[1],[Accepting const char ** in iconv prototype]) + else + AC_MSG_RESULT(no) + fi +@@ -206,7 +206,7 @@ if test $has_iconv = 1; then + iconv_cast=0, iconv_cast=1) + if test $iconv_cast = 1; then + AC_MSG_RESULT(yes) +- AC_DEFINE(ID3LIB_ICONV_CAST_OK) ++ AC_DEFINE(ID3LIB_ICONV_CAST_OK,[1],[Accepting const char ** in iconv prototype]) + else + AC_MSG_RESULT(no) + fi +-- +2.0.0 + diff --git a/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb b/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb index 3089b8e730..fc80cc0acf 100644 --- a/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb +++ b/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb @@ -8,6 +8,7 @@ PR = "r1" SRC_URI = "${SOURCEFORGE_MIRROR}/id3lib/id3lib-${PV}.tar.gz;name=archive \ http://ftp.de.debian.org/debian/pool/main/i/id3lib3.8.3/id3lib3.8.3_3.8.3-7.2.diff.gz;name=patch \ + file://acdefine.patch \ " SRC_URI[archive.md5sum] = "19f27ddd2dda4b2d26a559a4f0f402a7" SRC_URI[archive.sha256sum] = "2749cc3c0cd7280b299518b1ddf5a5bcfe2d1100614519b68702230e26c7d079" diff --git a/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb b/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb index e7a0ee1118..7b3392721c 100644 --- a/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb +++ b/meta-oe/recipes-multimedia/jack/jack_0.121.0.bb @@ -20,7 +20,7 @@ SRC_URI = "git://github.com/jackaudio/jack1.git \ S = "${WORKDIR}/git" -inherit autotools +inherit autotools pkgconfig EXTRA_OECONF = "--enable-timestamps \ --disable-capabilities \ diff --git a/meta-oe/recipes-multimedia/libass/libass.inc b/meta-oe/recipes-multimedia/libass/libass.inc index 64405ff680..328cd145c8 100644 --- a/meta-oe/recipes-multimedia/libass/libass.inc +++ b/meta-oe/recipes-multimedia/libass/libass.inc @@ -9,7 +9,7 @@ DEPENDS = "enca fontconfig freetype libpng fribidi" INC_PR = "r1" -SRC_URI = "http://${PN}.googlecode.com/files/${P}.tar.gz" +SRC_URI = "http://${BPN}.googlecode.com/files/${BP}.tar.gz" inherit autotools pkgconfig diff --git a/meta-oe/recipes-multimedia/libcdio/libcdio_0.82.bb b/meta-oe/recipes-multimedia/libcdio/libcdio_0.82.bb index 64f3e5d1fc..8cf393dcab 100644 --- a/meta-oe/recipes-multimedia/libcdio/libcdio_0.82.bb +++ b/meta-oe/recipes-multimedia/libcdio/libcdio_0.82.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "ncurses" -SRC_URI = "${GNU_MIRROR}/${PN}/${P}.tar.gz" +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz" SRC_URI[md5sum] = "1c29b18e01ab2b966162bc727bf3c360" SRC_URI[sha256sum] = "1acb3de8e0927906ade7a34c5853173d3068b87b02dfba80d0bf11e47f0b5d39" 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 index 148d1692e3..811175ce8c 100644 --- a/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb +++ b/meta-oe/recipes-multimedia/libpostproc/libpostproc_git.bb @@ -5,13 +5,10 @@ DEPENDS = "libav" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -PV = "0.0.0+git${SRCPV}" -PR = "r1" +PV = "52.3.0+git${SRCPV}" -DEFAULT_PREFERENCE = "-1" - -SRCREV = "3b7053f46dbfe4662063345245cb00b6acbbe969" -SRC_URI = "git://git.videolan.org/libpostproc.git" +SRCREV = "811db3b957dfde24aef2d0f82e297e5bf552d873" +SRC_URI = "git://github.com/lu-zero/postproc;protocol=https" S = "${WORKDIR}/git" @@ -42,5 +39,5 @@ EXTRA_OECONF = " \ " do_configure() { - ./configure ${EXTRA_OECONF} + ${S}/configure ${EXTRA_OECONF} } diff --git a/meta-oe/recipes-multimedia/libsdl-image/libsdl-image/configure.patch b/meta-oe/recipes-multimedia/libsdl-image/libsdl-image/configure.patch new file mode 100644 index 0000000000..5299d378eb --- /dev/null +++ b/meta-oe/recipes-multimedia/libsdl-image/libsdl-image/configure.patch @@ -0,0 +1,43 @@ +Index: SDL_image-1.2.12/configure.in +=================================================================== +--- SDL_image-1.2.12.orig/configure.in 2012-01-21 01:51:33.000000000 +0000 ++++ SDL_image-1.2.12/configure.in 2014-07-18 06:56:56.853466678 +0000 +@@ -1,5 +1,4 @@ + dnl Process this file with autoconf to produce a configure script. +-AC_INIT(README) + + dnl Set various version strings - taken gratefully from the GTk sources + +@@ -11,12 +10,19 @@ + # if backwards compatibility has been broken, + # set BINARY_AGE and INTERFACE_AGE to 0. + +-MAJOR_VERSION=1 +-MINOR_VERSION=2 +-MICRO_VERSION=12 ++m4_define([sdlimage_major_version],[1]) ++m4_define([sdlimage_minor_version],[2]) ++m4_define([sdlimage_micro_version],[12]) ++m4_define([sdlimage_version], [sdlimage_major_version.sdlimage_minor_version.sdlimage_micro_version]) ++ ++AC_INIT([SDL_image], [sdlimage_version]) ++ ++MAJOR_VERSION=sdlimage_major_version ++MINOR_VERSION=sdlimage_minor_version ++MICRO_VERSION=sdlimage_micro_version + INTERFACE_AGE=4 + BINARY_AGE=12 +-VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION ++VERSION=sdlimage_version + + AC_SUBST(MAJOR_VERSION) + AC_SUBST(MINOR_VERSION) +@@ -42,7 +48,7 @@ + AC_CANONICAL_HOST + + dnl Setup for automake +-AM_INIT_AUTOMAKE(SDL_image, $VERSION) ++AM_INIT_AUTOMAKE([foreign]) + + dnl Check for tools + AC_PROG_LIBTOOL diff --git a/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb b/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb index ef78927827..ea8e9eaa30 100644 --- a/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb +++ b/meta-oe/recipes-multimedia/libsdl-image/libsdl-image_1.2.12.bb @@ -6,13 +6,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=613734b7586e1580ef944961c6d62227" DEPENDS = "tiff zlib libpng jpeg virtual/libsdl" -SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL_image-${PV}.tar.gz" +SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL_image-${PV}.tar.gz \ + file://configure.patch" SRC_URI[md5sum] = "a0f9098ebe5400f0bdc9b62e60797ecb" SRC_URI[sha256sum] = "0b90722984561004de84847744d566809dbb9daf732a9e503b91a1b5a84e5699" S = "${WORKDIR}/SDL_image-${PV}" -inherit autotools +inherit autotools pkgconfig export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config" @@ -20,12 +21,12 @@ export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config" EXTRA_OECONF += "--disable-jpg-shared --disable-png-shared -disable-tif-shared" do_configure_prepend() { - # Removing this file fixes a libtool version mismatch. - rm -f acinclude/libtool.m4 - rm -f acinclude/sdl.m4 - rm -f acinclude/pkg.m4 - rm -f acinclude/lt~obsolete.m4 - rm -f acinclude/ltoptions.m4 - rm -f acinclude/ltsugar.m4 - rm -f acinclude/ltversion.m4 + # Removing these files fixes a libtool version mismatch. + rm -f ${S}/acinclude/libtool.m4 + rm -f ${S}/acinclude/sdl.m4 + rm -f ${S}/acinclude/pkg.m4 + rm -f ${S}/acinclude/lt~obsolete.m4 + rm -f ${S}/acinclude/ltoptions.m4 + rm -f ${S}/acinclude/ltsugar.m4 + rm -f ${S}/acinclude/ltversion.m4 } diff --git a/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb b/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb index 19b9236202..f1a01b9d5c 100644 --- a/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb +++ b/meta-oe/recipes-multimedia/libsdl-mixer/libsdl-mixer_1.2.12.bb @@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "1644308279a975799049e4826af2cfc787cad2abb11aa14562e402521f S = "${WORKDIR}/SDL_mixer-${PV}" -inherit autotools +inherit autotools-brokensep EXTRA_AUTORECONF += "--include=acinclude" EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --enable-music-ogg-tremor LIBS=-L${STAGING_LIBDIR}" diff --git a/meta-oe/recipes-multimedia/live555/live555.inc b/meta-oe/recipes-multimedia/live555/live555.inc index a36177db3a..0c8208a22c 100644 --- a/meta-oe/recipes-multimedia/live555/live555.inc +++ b/meta-oe/recipes-multimedia/live555/live555.inc @@ -7,13 +7,13 @@ HOMEPAGE = "http://live.com/" LICENSE = "LGPLv3" SECTION = "devel" -INC_PR = "r0" +INC_PR = "r1" URLV = "${@d.getVar('PV',1)[0:4]}.${@d.getVar('PV',1)[4:6]}.${@d.getVar('PV',1)[6:8]}" SRC_URI = "http://www.live555.com/liveMedia/public/live.${URLV}.tar.gz \ file://config.linux-cross" # only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older -MIRRORS += "http://www.live555.com/liveMedia/public/ http://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/ \n" +MIRRORS += "http://www.live555.com/liveMedia/public/ http://distcache.FreeBSD.org/ports-distfiles/ \n" S = "${WORKDIR}/live" TARGET_CC_ARCH += "${LDFLAGS}" diff --git a/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.3.bb b/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb index 6a3077f902..2e1b9bf057 100644 --- a/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.3.bb +++ b/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.6.bb @@ -1,15 +1,15 @@ DESCRIPTION = "libmikmod is a module player library supporting many formats, including mod, s3m, it, and xm." SECTION = "libs" LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=b2b941d484c442e5c031a51463d8e11b" +LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c" -DEPENDS = "alsa-lib texinfo" +DEPENDS = "alsa-lib texinfo pulseaudio" SRC_URI = "\ ${SOURCEFORGE_MIRROR}/project/mikmod/${BPN}/${PV}/${BPN}-${PV}.tar.gz \ " -SRC_URI[md5sum] = "0e0f9bce8f8e598ca292b41e0ae385c8" -SRC_URI[sha256sum] = "79f02478c5abd8b2af73df4cc5f9d52625aa044327c01563168e270cf79b2437" +SRC_URI[md5sum] = "9dd9bed30c6f7607a55480234606071b" +SRC_URI[sha256sum] = "3f363e03f7b1db75b9b6602841bbd440ed275a548e53545f980df8155de4d330" inherit autotools binconfig lib_package diff --git a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb index 65fab1fda3..7c04ff178f 100644 --- a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb +++ b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb @@ -13,7 +13,7 @@ RCONFLICTS_${PN} = "mplayer" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" -PNBLACKLIST[mplayer2] = "Requires newer libav which has negative D_P" +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 +36,7 @@ CONFFILES_${PN} += "/usr/etc/mplayer/input.conf \ /usr/etc/mplayer/codecs.conf \ " -inherit autotools pkgconfig +inherit autotools-brokensep pkgconfig EXTRA_OECONF = " \ --prefix=/usr \ @@ -141,4 +141,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/nonworking/minidlna/minidlna_1.0.25.bb b/meta-oe/recipes-multimedia/nonworking/minidlna/minidlna_1.0.25.bb index 7ceab7b5b8..9264bc224d 100644 --- a/meta-oe/recipes-multimedia/nonworking/minidlna/minidlna_1.0.25.bb +++ b/meta-oe/recipes-multimedia/nonworking/minidlna/minidlna_1.0.25.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=b1a795ac1a06805cf8fd74920bc46b5c" DEPENDS = "flac libav jpeg sqlite3 libexif libogg libid3tag" -SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}_${PV}_src.tar.gz \ +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}_${PV}_src.tar.gz \ file://search-for-headers-in-staging-dir.patch \ file://fix-makefile.patch \ " 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 6c25c90683..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 @@ -3,16 +3,17 @@ LICENSE = "GPLv2 & LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \ file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0" -DEPENDS = "jpeg virtual/libx11" +DEPENDS = "jpeg \ + ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}" -inherit autotools gettext +inherit autotools gettext pkgconfig # libv4l was absorbed into this, let OE know that 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" @@ -21,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/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch b/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch index 430836fee1..41a5dbf4fd 100644 --- a/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch +++ b/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch @@ -1,18 +1,35 @@ -From 1146a0f01fc8730d5633b46b85d00154a721abbe Mon Sep 17 00:00:00 2001 +From 141d3b3593722eb3d588e7c4b1542f810bc25853 Mon Sep 17 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> -Date: Fri, 22 Jun 2012 12:40:23 +0200 +Date: Thu, 5 Jun 2014 11:29:20 -0500 Subject: [PATCH] Add stdout mode to allow streaming over the network with nc Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> +Signed-off-by: Chase Maupin <Chase.Maupin@ti.com> --- - yavta.c | 288 ++++++++++++++++++++++++++++++++++----------------------------- - 1 file changed, 157 insertions(+), 131 deletions(-) + yavta.c | 315 ++++++++++++++++++++++++++++++++++----------------------------- + 1 file changed, 169 insertions(+), 146 deletions(-) diff --git a/yavta.c b/yavta.c -index f3deae0..8020209 100644 +index 32adc26..b398da0 100644 --- a/yavta.c +++ b/yavta.c -@@ -188,12 +188,12 @@ static int video_open(struct device *dev, const char *devname, int no_query) +@@ -309,7 +309,7 @@ static bool video_has_fd(struct device *dev) + static int video_set_fd(struct device *dev, int fd) + { + if (video_has_fd(dev)) { +- printf("Can't set fd (already open).\n"); ++ fprintf(stderr, "Can't set fd (already open).\n"); + return -1; + } + +@@ -321,18 +321,18 @@ static int video_set_fd(struct device *dev, int fd) + static int video_open(struct device *dev, const char *devname) + { + if (video_has_fd(dev)) { +- printf("Can't open device (already open).\n"); ++ fprintf(stderr, "Can't open device (already open).\n"); + return -1; + } dev->fd = open(devname, O_RDWR); if (dev->fd < 0) { @@ -25,25 +42,27 @@ index f3deae0..8020209 100644 - printf("Device %s opened.\n", devname); + fprintf(stderr, "Device %s opened.\n", devname); - if (no_query) { - /* Assume capture device. */ -@@ -211,13 +211,13 @@ static int video_open(struct device *dev, const char *devname, int no_query) - else if (cap.capabilities & V4L2_CAP_VIDEO_OUTPUT) - dev->type = V4L2_BUF_TYPE_VIDEO_OUTPUT; - else { -- printf("Error opening device %s: neither video capture " -+ fprintf(stderr, "Error opening device %s: neither video capture " - "nor video output supported.\n", devname); - close(dev->fd); + dev->opened = 1; + +@@ -352,7 +352,7 @@ static int video_querycap(struct device *dev, unsigned int *capabilities) + *capabilities = cap.capabilities & V4L2_CAP_DEVICE_CAPS + ? cap.device_caps : cap.capabilities; + +- printf("Device `%s' on `%s' is a video %s (%s mplanes) device.\n", ++ fprintf(stderr, "Device `%s' on `%s' is a video %s (%s mplanes) device.\n", + cap.card, cap.bus_info, + video_is_capture(dev) ? "capture" : "output", + video_is_mplane(dev) ? "with" : "without"); +@@ -370,7 +370,7 @@ static int cap_get_buf_type(unsigned int capabilities) + } else if (capabilities & V4L2_CAP_VIDEO_OUTPUT) { + return V4L2_BUF_TYPE_VIDEO_OUTPUT; + } else { +- printf("Device supports neither capture nor output.\n"); ++ fprintf(stderr, "Device supports neither capture nor output.\n"); return -EINVAL; } -- printf("Device `%s' on `%s' is a video %s device.\n", -+ fprintf(stderr, "Device `%s' on `%s' is a video %s device.\n", - cap.card, cap.bus_info, - dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE ? "capture" : "output"); - return 0; -@@ -280,7 +280,7 @@ static int get_control(struct device *dev, unsigned int id, int type, +@@ -440,7 +440,7 @@ static int get_control(struct device *dev, unsigned int id, int type, } } @@ -52,7 +71,7 @@ index f3deae0..8020209 100644 id, strerror(errno), errno); return -1; } -@@ -322,12 +322,12 @@ static void set_control(struct device *dev, unsigned int id, int type, +@@ -484,12 +484,12 @@ static void set_control(struct device *dev, unsigned int id, int type, val = old.value; } if (ret == -1) { @@ -67,7 +86,7 @@ index f3deae0..8020209 100644 id, old_val, val); } -@@ -341,7 +341,7 @@ static int video_get_format(struct device *dev) +@@ -504,7 +504,7 @@ static int video_get_format(struct device *dev) ret = ioctl(dev->fd, VIDIOC_G_FMT, &fmt); if (ret < 0) { @@ -76,16 +95,34 @@ index f3deae0..8020209 100644 errno); return ret; } -@@ -351,7 +351,7 @@ static int video_get_format(struct device *dev) - dev->bytesperline = fmt.fmt.pix.bytesperline; - dev->imagesize = fmt.fmt.pix.bytesperline ? fmt.fmt.pix.sizeimage : 0; +@@ -514,7 +514,7 @@ static int video_get_format(struct device *dev) + dev->height = fmt.fmt.pix_mp.height; + dev->num_planes = fmt.fmt.pix_mp.num_planes; + +- printf("Video format: %s (%08x) %ux%u field %s, %u planes: \n", ++ fprintf(stderr, "Video format: %s (%08x) %ux%u field %s, %u planes: \n", + v4l2_format_name(fmt.fmt.pix_mp.pixelformat), fmt.fmt.pix_mp.pixelformat, + fmt.fmt.pix_mp.width, fmt.fmt.pix_mp.height, + v4l2_field_name(fmt.fmt.pix_mp.field), +@@ -527,7 +527,7 @@ static int video_get_format(struct device *dev) + fmt.fmt.pix_mp.plane_fmt[i].bytesperline ? + fmt.fmt.pix_mp.plane_fmt[i].sizeimage : 0; + +- printf(" * Stride %u, buffer size %u\n", ++ fprintf(stderr, " * Stride %u, buffer size %u\n", + fmt.fmt.pix_mp.plane_fmt[i].bytesperline, + fmt.fmt.pix_mp.plane_fmt[i].sizeimage); + } +@@ -539,7 +539,7 @@ static int video_get_format(struct device *dev) + dev->plane_fmt[0].bytesperline = fmt.fmt.pix.bytesperline; + dev->plane_fmt[0].sizeimage = fmt.fmt.pix.bytesperline ? fmt.fmt.pix.sizeimage : 0; -- printf("Video format: %s (%08x) %ux%u (stride %u) buffer size %u\n", -+ fprintf(stderr, "Video format: %s (%08x) %ux%u (stride %u) buffer size %u\n", - v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat, - fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline, - fmt.fmt.pix.sizeimage); -@@ -374,12 +374,12 @@ static int video_set_format(struct device *dev, unsigned int w, unsigned int h, +- printf("Video format: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n", ++ fprintf(stderr, "Video format: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n", + v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat, + fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline, + v4l2_field_name(fmt.fmt.pix_mp.field), +@@ -581,25 +581,25 @@ static int video_set_format(struct device *dev, unsigned int w, unsigned int h, ret = ioctl(dev->fd, VIDIOC_S_FMT, &fmt); if (ret < 0) { @@ -95,12 +132,27 @@ index f3deae0..8020209 100644 return ret; } -- printf("Video format set: %s (%08x) %ux%u (stride %u) buffer size %u\n", -+ fprintf(stderr, "Video format set: %s (%08x) %ux%u (stride %u) buffer size %u\n", - v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat, - fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline, - fmt.fmt.pix.sizeimage); -@@ -396,16 +396,16 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f + if (video_is_mplane(dev)) { +- printf("Video format set: %s (%08x) %ux%u field %s, %u planes: \n", ++ fprintf(stderr, "Video format set: %s (%08x) %ux%u field %s, %u planes: \n", + v4l2_format_name(fmt.fmt.pix_mp.pixelformat), fmt.fmt.pix_mp.pixelformat, + fmt.fmt.pix_mp.width, fmt.fmt.pix_mp.height, + v4l2_field_name(fmt.fmt.pix_mp.field), + fmt.fmt.pix_mp.num_planes); + + for (i = 0; i < fmt.fmt.pix_mp.num_planes; i++) { +- printf(" * Stride %u, buffer size %u\n", ++ fprintf(stderr, " * Stride %u, buffer size %u\n", + fmt.fmt.pix_mp.plane_fmt[i].bytesperline, + fmt.fmt.pix_mp.plane_fmt[i].sizeimage); + } + } else { +- printf("Video format set: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n", ++ fprintf(stderr, "Video format set: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n", + v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat, + fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline, + v4l2_field_name(fmt.fmt.pix.field), +@@ -619,16 +619,16 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f ret = ioctl(dev->fd, VIDIOC_G_PARM, &parm); if (ret < 0) { @@ -120,7 +172,7 @@ index f3deae0..8020209 100644 time_per_frame->numerator, time_per_frame->denominator); -@@ -414,19 +414,19 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f +@@ -637,19 +637,19 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f ret = ioctl(dev->fd, VIDIOC_S_PARM, &parm); if (ret < 0) { @@ -143,7 +195,52 @@ index f3deae0..8020209 100644 parm.parm.capture.timeperframe.numerator, parm.parm.capture.timeperframe.denominator); return 0; -@@ -449,12 +449,12 @@ static int video_alloc_buffers(struct device *dev, int nbufs, +@@ -674,7 +674,7 @@ static int video_buffer_mmap(struct device *dev, struct buffer *buffer, + buffer->mem[i] = mmap(0, length, PROT_READ | PROT_WRITE, MAP_SHARED, + dev->fd, offset); + if (buffer->mem[i] == MAP_FAILED) { +- printf("Unable to map buffer %u/%u: %s (%d)\n", ++ fprintf(stderr, "Unable to map buffer %u/%u: %s (%d)\n", + buffer->idx, i, strerror(errno), errno); + return -1; + } +@@ -682,7 +682,7 @@ static int video_buffer_mmap(struct device *dev, struct buffer *buffer, + buffer->size[i] = length; + buffer->padding[i] = 0; + +- printf("Buffer %u/%u mapped at address %p.\n", ++ fprintf(stderr, "Buffer %u/%u mapped at address %p.\n", + buffer->idx, i, buffer->mem[i]); + } + +@@ -697,7 +697,7 @@ static int video_buffer_munmap(struct device *dev, struct buffer *buffer) + for (i = 0; i < dev->num_planes; i++) { + ret = munmap(buffer->mem[i], buffer->size[i]); + if (ret < 0) { +- printf("Unable to unmap buffer %u/%u: %s (%d)\n", ++ fprintf(stderr, "Unable to unmap buffer %u/%u: %s (%d)\n", + buffer->idx, i, strerror(errno), errno); + } + +@@ -725,7 +725,7 @@ static int video_buffer_alloc_userptr(struct device *dev, struct buffer *buffer, + ret = posix_memalign(&buffer->mem[i], page_size, + length + offset + padding); + if (ret < 0) { +- printf("Unable to allocate buffer %u/%u (%d)\n", ++ fprintf(stderr, "Unable to allocate buffer %u/%u (%d)\n", + buffer->idx, i, ret); + return -ENOMEM; + } +@@ -734,7 +734,7 @@ static int video_buffer_alloc_userptr(struct device *dev, struct buffer *buffer, + buffer->size[i] = length; + buffer->padding[i] = padding; + +- printf("Buffer %u/%u allocated at address %p.\n", ++ fprintf(stderr, "Buffer %u/%u allocated at address %p.\n", + buffer->idx, i, buffer->mem[i]); + } + +@@ -809,12 +809,12 @@ static int video_alloc_buffers(struct device *dev, int nbufs, ret = ioctl(dev->fd, VIDIOC_REQBUFS, &rb); if (ret < 0) { @@ -158,8 +255,8 @@ index f3deae0..8020209 100644 buffers = malloc(rb.count * sizeof buffers[0]); if (buffers == NULL) -@@ -470,35 +470,35 @@ static int video_alloc_buffers(struct device *dev, int nbufs, - buf.memory = dev->memtype; +@@ -835,12 +835,12 @@ static int video_alloc_buffers(struct device *dev, int nbufs, + ret = ioctl(dev->fd, VIDIOC_QUERYBUF, &buf); if (ret < 0) { - printf("Unable to query buffer %u: %s (%d).\n", i, @@ -167,49 +264,13 @@ index f3deae0..8020209 100644 strerror(errno), errno); return ret; } -- printf("length: %u offset: %u\n", buf.length, buf.m.offset); -+ fprintf(stderr, "length: %u offset: %u\n", buf.length, buf.m.offset); - - switch (dev->memtype) { - case V4L2_MEMORY_MMAP: - buffers[i].mem = mmap(0, buf.length, PROT_READ | PROT_WRITE, MAP_SHARED, dev->fd, buf.m.offset); - if (buffers[i].mem == MAP_FAILED) { -- printf("Unable to map buffer %u: %s (%d)\n", i, -+ fprintf(stderr, "Unable to map buffer %u: %s (%d)\n", i, - strerror(errno), errno); - return ret; - } - buffers[i].size = buf.length; - buffers[i].padding = 0; -- printf("Buffer %u mapped at address %p.\n", i, buffers[i].mem); -+ fprintf(stderr, "Buffer %u mapped at address %p.\n", i, buffers[i].mem); - break; - - case V4L2_MEMORY_USERPTR: - ret = posix_memalign(&buffers[i].mem, page_size, buf.length + offset + padding); - if (ret < 0) { -- printf("Unable to allocate buffer %u (%d)\n", i, ret); -+ fprintf(stderr, "Unable to allocate buffer %u (%d)\n", i, ret); - return -ENOMEM; - } - buffers[i].mem += offset; - buffers[i].size = buf.length; - buffers[i].padding = padding; -- printf("Buffer %u allocated at address %p.\n", i, buffers[i].mem); -+ fprintf(stderr, "Buffer %u allocated at address %p.\n", i, buffers[i].mem); - break; + get_ts_flags(buf.flags, &ts_type, &ts_source); +- printf("length: %u offset: %u timestamp type/source: %s/%s\n", ++ fprintf(stderr, "length: %u offset: %u timestamp type/source: %s/%s\n", + buf.length, buf.m.offset, ts_type, ts_source); - default: -@@ -525,7 +525,7 @@ static int video_free_buffers(struct device *dev) - case V4L2_MEMORY_MMAP: - ret = munmap(dev->buffers[i].mem, dev->buffers[i].size); - if (ret < 0) { -- printf("Unable to unmap buffer %u: %s (%d)\n", i, -+ fprintf(stderr, "Unable to unmap buffer %u: %s (%d)\n", i, - strerror(errno), errno); - return ret; - } -@@ -549,12 +549,12 @@ static int video_free_buffers(struct device *dev) + buffers[i].idx = i; +@@ -899,12 +899,12 @@ static int video_free_buffers(struct device *dev) ret = ioctl(dev->fd, VIDIOC_REQBUFS, &rb); if (ret < 0) { @@ -224,7 +285,7 @@ index f3deae0..8020209 100644 free(dev->buffers); dev->nbufs = 0; -@@ -589,7 +589,7 @@ static int video_queue_buffer(struct device *dev, int index, enum buffer_fill_mo +@@ -974,7 +974,7 @@ static int video_queue_buffer(struct device *dev, int index, enum buffer_fill_mo ret = ioctl(dev->fd, VIDIOC_QBUF, &buf); if (ret < 0) @@ -233,7 +294,7 @@ index f3deae0..8020209 100644 strerror(errno), errno); return ret; -@@ -602,7 +602,7 @@ static int video_enable(struct device *dev, int enable) +@@ -987,7 +987,7 @@ static int video_enable(struct device *dev, int enable) ret = ioctl(dev->fd, enable ? VIDIOC_STREAMON : VIDIOC_STREAMOFF, &type); if (ret < 0) { @@ -242,19 +303,20 @@ index f3deae0..8020209 100644 enable ? "start" : "stop", strerror(errno), errno); return ret; } -@@ -623,9 +623,9 @@ static void video_query_menu(struct device *dev, struct v4l2_queryctrl *query) +@@ -1009,10 +1009,10 @@ static void video_query_menu(struct device *dev, struct v4l2_queryctrl *query, continue; if (query->type == V4L2_CTRL_TYPE_MENU) -- printf(" %u: %.32s\n", menu.index, menu.name); -+ fprintf(stderr, " %u: %.32s\n", menu.index, menu.name); +- printf(" %u: %.32s%s\n", menu.index, menu.name, ++ fprintf(stderr, " %u: %.32s%s\n", menu.index, menu.name, + menu.index == value ? " (*)" : ""); else -- printf(" %u: %lld\n", menu.index, menu.value); -+ fprintf(stderr, " %u: %lld\n", menu.index, menu.value); +- printf(" %u: %lld%s\n", menu.index, menu.value, ++ fprintf(stderr, " %u: %lld%s\n", menu.index, menu.value, + menu.index == value ? " (*)" : ""); }; } - -@@ -655,7 +655,7 @@ static void video_list_controls(struct device *dev) +@@ -1043,7 +1043,7 @@ static void video_list_controls(struct device *dev) continue; if (query.type == V4L2_CTRL_TYPE_CTRL_CLASS) { @@ -263,7 +325,7 @@ index f3deae0..8020209 100644 continue; } -@@ -665,7 +665,7 @@ static void video_list_controls(struct device *dev) +@@ -1053,7 +1053,7 @@ static void video_list_controls(struct device *dev) else sprintf(value, "%" PRId64, val64); @@ -272,7 +334,7 @@ index f3deae0..8020209 100644 query.id, query.name, query.minimum, query.maximum, query.step, query.default_value, value); -@@ -677,9 +677,9 @@ static void video_list_controls(struct device *dev) +@@ -1065,9 +1065,9 @@ static void video_list_controls(struct device *dev) } if (nctrls) @@ -284,7 +346,7 @@ index f3deae0..8020209 100644 } static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat, -@@ -700,30 +700,30 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat, +@@ -1088,30 +1088,30 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat, break; if (i != ival.index) @@ -322,7 +384,7 @@ index f3deae0..8020209 100644 ival.stepwise.min.numerator, ival.stepwise.min.denominator, ival.stepwise.max.numerator, -@@ -731,7 +731,7 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat, +@@ -1119,7 +1119,7 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat, return; case V4L2_FRMIVAL_TYPE_STEPWISE: @@ -331,7 +393,7 @@ index f3deae0..8020209 100644 ival.stepwise.min.numerator, ival.stepwise.min.denominator, ival.stepwise.max.numerator, -@@ -761,23 +761,23 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat) +@@ -1149,23 +1149,23 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat) break; if (i != frame.index) @@ -360,7 +422,7 @@ index f3deae0..8020209 100644 frame.stepwise.min_width, frame.stepwise.min_height, frame.stepwise.max_width, -@@ -785,11 +785,11 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat) +@@ -1173,11 +1173,11 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat) video_enum_frame_intervals(dev, frame.pixel_format, frame.stepwise.max_width, frame.stepwise.max_height); @@ -374,7 +436,7 @@ index f3deae0..8020209 100644 frame.stepwise.min_width, frame.stepwise.min_height, frame.stepwise.max_width, -@@ -799,7 +799,7 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat) +@@ -1187,7 +1187,7 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat) video_enum_frame_intervals(dev, frame.pixel_format, frame.stepwise.max_width, frame.stepwise.max_height); @@ -383,7 +445,7 @@ index f3deae0..8020209 100644 break; default: -@@ -823,19 +823,19 @@ static void video_enum_formats(struct device *dev, enum v4l2_buf_type type) +@@ -1211,19 +1211,19 @@ static void video_enum_formats(struct device *dev, enum v4l2_buf_type type) break; if (i != fmt.index) @@ -409,7 +471,7 @@ index f3deae0..8020209 100644 } } -@@ -853,13 +853,13 @@ static void video_enum_inputs(struct device *dev) +@@ -1241,13 +1241,13 @@ static void video_enum_inputs(struct device *dev) break; if (i != input.index) @@ -426,7 +488,7 @@ index f3deae0..8020209 100644 } static int video_get_input(struct device *dev) -@@ -869,7 +869,7 @@ static int video_get_input(struct device *dev) +@@ -1257,7 +1257,7 @@ static int video_get_input(struct device *dev) ret = ioctl(dev->fd, VIDIOC_G_INPUT, &input); if (ret < 0) { @@ -435,7 +497,7 @@ index f3deae0..8020209 100644 strerror(errno), errno); return ret; } -@@ -884,7 +884,7 @@ static int video_set_input(struct device *dev, unsigned int input) +@@ -1272,7 +1272,7 @@ static int video_set_input(struct device *dev, unsigned int input) ret = ioctl(dev->fd, VIDIOC_S_INPUT, &_input); if (ret < 0) @@ -444,7 +506,7 @@ index f3deae0..8020209 100644 strerror(errno), errno); return ret; -@@ -903,14 +903,14 @@ static int video_set_quality(struct device *dev, unsigned int quality) +@@ -1291,14 +1291,14 @@ static int video_set_quality(struct device *dev, unsigned int quality) ret = ioctl(dev->fd, VIDIOC_S_JPEGCOMP, &jpeg); if (ret < 0) { @@ -461,87 +523,99 @@ index f3deae0..8020209 100644 return 0; } -@@ -930,7 +930,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename) - - if (filename == NULL) { - if (dev->bytesperline == 0) { -- printf("Compressed format detect and no test pattern filename given.\n" -+ fprintf(stderr, "Compressed format detect and no test pattern filename given.\n" - "The test pattern can't be generated automatically.\n"); - return -EINVAL; +@@ -1313,7 +1313,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename) + if (filename != NULL) { + fd = open(filename, O_RDONLY); + if (fd == -1) { +- printf("Unable to open test pattern file '%s': %s (%d).\n", ++ fprintf(stderr, "Unable to open test pattern file '%s': %s (%d).\n", + filename, strerror(errno), errno); + return -errno; } -@@ -947,7 +947,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename) +@@ -1331,7 +1331,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename) + if (filename != NULL) { + ret = read(fd, dev->pattern[plane], size); + if (ret != (int)size && dev->plane_fmt[plane].bytesperline != 0) { +- printf("Test pattern file size %u doesn't match image size %u\n", ++ fprintf(stderr, "Test pattern file size %u doesn't match image size %u\n", + ret, size); + ret = -EINVAL; + goto done; +@@ -1341,7 +1341,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename) + unsigned int i; + + if (dev->plane_fmt[plane].bytesperline == 0) { +- printf("Compressed format detected for plane %u and no test pattern filename given.\n" ++ fprintf(stderr, "Compressed format detected for plane %u and no test pattern filename given.\n" + "The test pattern can't be generated automatically.\n", plane); + ret = -EINVAL; + goto done; +@@ -1410,7 +1410,7 @@ static void video_verify_buffer(struct device *dev, struct v4l2_buffer *buf) - fd = open(filename, O_RDONLY); - if (fd == -1) { -- printf("Unable to open test pattern file '%s': %s (%d).\n", -+ fprintf(stderr, "Unable to open test pattern file '%s': %s (%d).\n", - filename, strerror(errno), errno); - return -errno; - } -@@ -956,7 +956,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename) - close(fd); + if (dev->plane_fmt[plane].sizeimage && + dev->plane_fmt[plane].sizeimage != length) +- printf("Warning: bytes used %u != image size %u for plane %u\n", ++ fprintf(stderr, "Warning: bytes used %u != image size %u for plane %u\n", + length, dev->plane_fmt[plane].sizeimage, plane); - if (ret != (int)size && dev->bytesperline != 0) { -- printf("Test pattern file size %u doesn't match image size %u\n", -+ fprintf(stderr, "Test pattern file size %u doesn't match image size %u\n", - ret, size); - return -EINVAL; - } -@@ -1012,16 +1012,16 @@ static void video_verify_buffer(struct device *dev, int index) - } + if (buffer->padding[plane] == 0) +@@ -1424,16 +1424,16 @@ static void video_verify_buffer(struct device *dev, struct v4l2_buffer *buf) + } - if (errors) { -- printf("Warning: %u bytes overwritten among %u first padding bytes\n", -+ fprintf(stderr, "Warning: %u bytes overwritten among %u first padding bytes\n", - errors, dirty); + if (errors) { +- printf("Warning: %u bytes overwritten among %u first padding bytes for plane %u\n", ++ fprintf(stderr, "Warning: %u bytes overwritten among %u first padding bytes for plane %u\n", + errors, dirty, plane); - dirty = (dirty + 15) & ~15; - dirty = dirty > 32 ? 32 : dirty; + dirty = (dirty + 15) & ~15; + dirty = dirty > 32 ? 32 : dirty; - for (i = 0; i < dirty; ++i) { -- printf("%02x ", data[i]); -+ fprintf(stderr, "%02x ", data[i]); - if (i % 16 == 15) -- printf("\n"); -+ fprintf(stderr, "\n"); + for (i = 0; i < dirty; ++i) { +- printf("%02x ", data[i]); ++ fprintf(stderr, "%02x ", data[i]); + if (i % 16 == 15) +- printf("\n"); ++ fprintf(stderr, "\n"); + } } } - } -@@ -1061,15 +1061,29 @@ static void video_save_image(struct device *dev, struct v4l2_buffer *buf, +@@ -1481,18 +1481,32 @@ static void video_save_image(struct device *dev, struct v4l2_buffer *buf, + + ret = write(fd, dev->buffers[buf->index].mem[i], length); + if (ret < 0) { +- printf("write error: %s (%d)\n", strerror(errno), errno); ++ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno); + break; + } else if (ret != (int)length) +- printf("write error: only %d bytes written instead of %u\n", ++ fprintf(stderr, "write error: only %d bytes written instead of %u\n", + ret, length); + } close(fd); + } - if (ret < 0) -- printf("write error: %s (%d)\n", strerror(errno), errno); -+ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno); - else if (ret != (int)buf->bytesused) -- printf("write error: only %d bytes written instead of %u\n", -+ fprintf(stderr, "write error: only %d bytes written instead of %u\n", -+ ret, buf->bytesused); -+} -+ +static void video_stdout_image(struct device *dev, struct v4l2_buffer *buf) +{ -+ int ret; ++ int ret; + -+ fprintf(stderr, "stdout"); -+ ret = fwrite(dev->buffers[buf->index].mem, buf->bytesused, 1, stdout); ++ fprintf(stderr, "stdout"); ++ ret = fwrite(dev->buffers[buf->index].mem, buf->bytesused, 1, stdout); ++ ++ if (ret < 0) ++ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno); ++ else if (ret != (int)buf->bytesused) ++ fprintf(stderr, "write error: only %d bytes written instead of %u\n", ++ ret, buf->bytesused); ++} + -+ if (ret < 0) -+ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno); -+ else if (ret != (int)buf->bytesused) -+ fprintf(stderr, "write error: only %d bytes written instead of %u\n", - ret, buf->bytesused); - } - static int video_do_capture(struct device *dev, unsigned int nframes, unsigned int skip, unsigned int delay, const char *pattern, - int do_requeue_last, enum buffer_fill_mode fill) + int do_requeue_last, enum buffer_fill_mode fill, int do_stdout) { - struct timespec start; - struct timeval last; -@@ -1099,7 +1113,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, + struct v4l2_plane planes[VIDEO_MAX_PLANES]; + struct v4l2_buffer buf; +@@ -1529,7 +1543,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, ret = ioctl(dev->fd, VIDIOC_DQBUF, &buf); if (ret < 0) { if (errno != EIO) { @@ -550,40 +624,26 @@ index f3deae0..8020209 100644 strerror(errno), errno); goto done; } -@@ -1111,7 +1125,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, - - if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && - dev->imagesize != 0 && buf.bytesused != dev->imagesize) -- printf("Warning: bytes used %u != image size %u\n", -+ fprintf(stderr, "Warning: bytes used %u != image size %u\n", - buf.bytesused, dev->imagesize); - - if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) -@@ -1124,7 +1138,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, - fps = fps ? 1000000.0 / fps : 0.0; +@@ -1550,7 +1564,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, clock_gettime(CLOCK_MONOTONIC, &ts); -- printf("%u (%u) [%c] %u %u bytes %ld.%06ld %ld.%06ld %.3f fps\n", i, buf.index, -+ fprintf(stderr, "%u (%u) [%c] %u %u bytes %ld.%06ld %ld.%06ld %.3f fps\n", i, buf.index, + get_ts_flags(buf.flags, &ts_type, &ts_source); +- printf("%u (%u) [%c] %s %u %u B %ld.%06ld %ld.%06ld %.3f fps ts %s/%s\n", i, buf.index, ++ fprintf(stderr, "%u (%u) [%c] %s %u %u B %ld.%06ld %ld.%06ld %.3f fps ts %s/%s\n", i, buf.index, (buf.flags & V4L2_BUF_FLAG_ERROR) ? 'E' : '-', + v4l2_field_name(buf.field), buf.sequence, buf.bytesused, buf.timestamp.tv_sec, - buf.timestamp.tv_usec, ts.tv_sec, ts.tv_nsec/1000, fps); -@@ -1132,8 +1146,13 @@ static int video_do_capture(struct device *dev, unsigned int nframes, - last = buf.timestamp; - - /* Save the image. */ -- if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && pattern && !skip) -+ if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && pattern && !skip) { +@@ -1563,6 +1577,9 @@ static int video_do_capture(struct device *dev, unsigned int nframes, + if (video_is_capture(dev) && pattern && !skip) video_save_image(dev, &buf, pattern, i); -+ } -+ -+ if (dev->type == V4L2_BUF_TYPE_VIDEO_CAPTURE && do_stdout && !skip) { -+ video_stdout_image(dev, &buf); -+ } ++ if (video_is_capture(dev) && do_stdout && !skip) ++ video_stdout_image(dev, &buf); ++ if (skip) --skip; -@@ -1149,7 +1168,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, + +@@ -1577,7 +1594,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, ret = video_queue_buffer(dev, buf.index, fill); if (ret < 0) { @@ -592,7 +652,7 @@ index f3deae0..8020209 100644 strerror(errno), errno); goto done; } -@@ -1159,7 +1178,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, +@@ -1587,7 +1604,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, video_enable(dev, 0); if (nframes == 0) { @@ -601,7 +661,7 @@ index f3deae0..8020209 100644 goto done; } -@@ -1176,7 +1195,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, +@@ -1604,7 +1621,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes, bps = size/(ts.tv_nsec/1000.0+1000000.0*ts.tv_sec)*1000000.0; fps = i/(ts.tv_nsec/1000.0+1000000.0*ts.tv_sec)*1000000.0; @@ -610,12 +670,14 @@ index f3deae0..8020209 100644 i, ts.tv_sec, ts.tv_nsec/1000, fps, bps); done: -@@ -1188,37 +1207,38 @@ done: +@@ -1616,42 +1633,42 @@ done: static void usage(const char *argv0) { - printf("Usage: %s [options] device\n", argv0); - printf("Supported options:\n"); +- printf("-B, --buffer-type Buffer type (\"capture\", \"output\",\n"); +- printf(" \"capture-mplane\" or \"output-mplane\")\n"); - printf("-c, --capture[=nframes] Capture frames\n"); - printf("-C, --check-overrun Verify dequeued frames for buffer overrun\n"); - printf("-d, --delay Delay (in ms) before requeuing buffers\n"); @@ -639,14 +701,19 @@ index f3deae0..8020209 100644 - printf("-w, --set-control 'ctrl value' Set control 'ctrl' to 'value'\n"); - printf(" --enum-formats Enumerate formats\n"); - printf(" --enum-inputs Enumerate inputs\n"); +- printf(" --fd Use a numeric file descriptor insted of a device\n"); +- printf(" --field Interlaced format field order\n"); - printf(" --no-query Don't query capabilities on open\n"); - printf(" --offset User pointer buffer offset from page start\n"); - printf(" --requeue-last Requeue the last buffers before streamoff\n"); +- printf(" --timestamp-source Set timestamp source on output buffers [eof, soe]\n"); - printf(" --skip n Skip the first n frames\n"); - printf(" --sleep-forever Sleep forever after configuring the device\n"); - printf(" --stride value Line stride in bytes\n"); + fprintf(stderr, "Usage: %s [options] device\n", argv0); + fprintf(stderr, "Supported options:\n"); ++ fprintf(stderr, "-B, --buffer-type Buffer type (\"capture\", \"output\",\n"); ++ fprintf(stderr, " \"capture-mplane\" or \"output-mplane\")\n"); + fprintf(stderr, "-c, --capture[=nframes] Capture frames\n"); + fprintf(stderr, "-C, --check-overrun Verify dequeued frames for buffer overrun\n"); + fprintf(stderr, "-d, --delay Delay (in ms) before requeuing buffers\n"); @@ -655,7 +722,6 @@ index f3deae0..8020209 100644 + fprintf(stderr, "\tFor video capture devices, the first '#' character in the file name is\n"); + fprintf(stderr, "\texpanded to the frame sequence number. The default file name is\n"); + fprintf(stderr, "\t'frame-#.bin'.\n"); -+ fprintf(stderr, " --stdout write frames to stdout\n"); + fprintf(stderr, "-h, --help Show this help screen\n"); + fprintf(stderr, "-i, --input input Select the video input\n"); + fprintf(stderr, "-I, --fill-frames Fill frames with check pattern before queuing them\n"); @@ -671,32 +737,35 @@ index f3deae0..8020209 100644 + fprintf(stderr, "-w, --set-control 'ctrl value' Set control 'ctrl' to 'value'\n"); + fprintf(stderr, " --enum-formats Enumerate formats\n"); + fprintf(stderr, " --enum-inputs Enumerate inputs\n"); ++ fprintf(stderr, " --fd Use a numeric file descriptor insted of a device\n"); ++ fprintf(stderr, " --field Interlaced format field order\n"); + fprintf(stderr, " --no-query Don't query capabilities on open\n"); + fprintf(stderr, " --offset User pointer buffer offset from page start\n"); + fprintf(stderr, " --requeue-last Requeue the last buffers before streamoff\n"); ++ fprintf(stderr, " --timestamp-source Set timestamp source on output buffers [eof, soe]\n"); + fprintf(stderr, " --skip n Skip the first n frames\n"); + fprintf(stderr, " --sleep-forever Sleep forever after configuring the device\n"); + fprintf(stderr, " --stride value Line stride in bytes\n"); } #define OPT_ENUM_FORMATS 256 -@@ -1229,6 +1249,7 @@ static void usage(const char *argv0) - #define OPT_USERPTR_OFFSET 261 - #define OPT_REQUEUE_LAST 262 - #define OPT_STRIDE 263 -+#define OPT_STDOUT 264 +@@ -1665,6 +1682,7 @@ static void usage(const char *argv0) + #define OPT_FD 264 + #define OPT_TSTAMP_SRC 265 + #define OPT_FIELD 266 ++#define OPT_STDOUT 267 static struct option opts[] = { - {"capture", 2, 0, 'c'}, -@@ -1238,6 +1259,7 @@ static struct option opts[] = { - {"enum-inputs", 0, 0, OPT_ENUM_INPUTS}, + {"buffer-type", 1, 0, 'B'}, +@@ -1677,6 +1695,7 @@ static struct option opts[] = { + {"field", 1, 0, OPT_FIELD}, {"file", 2, 0, 'F'}, {"fill-frames", 0, 0, 'I'}, + {"stdout", 0, 0, OPT_STDOUT}, {"format", 1, 0, 'f'}, {"help", 0, 0, 'h'}, {"input", 1, 0, 'i'}, -@@ -1274,7 +1296,8 @@ int main(int argc, char *argv[]) +@@ -1717,7 +1736,8 @@ int main(int argc, char *argv[]) int do_list_controls = 0, do_get_control = 0, do_set_control = 0; int do_sleep_forever = 0, do_requeue_last = 0; int do_rt = 0; @@ -706,16 +775,25 @@ index f3deae0..8020209 100644 char *endptr; int c; -@@ -1321,7 +1344,7 @@ int main(int argc, char *argv[]) +@@ -1755,7 +1775,7 @@ int main(int argc, char *argv[]) + case 'B': + ret = v4l2_buf_type_from_string(optarg); + if (ret == -1) { +- printf("Bad buffer type \"%s\"\n", optarg); ++ fprintf(stderr, "Bad buffer type \"%s\"\n", optarg); + return 1; + } + video_set_buf_type(&dev, ret); +@@ -1775,7 +1795,7 @@ int main(int argc, char *argv[]) do_set_format = 1; - pixelformat = v4l2_format_code(optarg); - if (pixelformat == 0) { + info = v4l2_format_by_name(optarg); + if (info == NULL) { - printf("Unsupported video format '%s'\n", optarg); + fprintf(stderr, "Unsupported video format '%s'\n", optarg); return 1; } - break; -@@ -1357,7 +1380,7 @@ int main(int argc, char *argv[]) + pixelformat = info->fourcc; +@@ -1812,7 +1832,7 @@ int main(int argc, char *argv[]) case 'r': ctrl_name = strtol(optarg, &endptr, 0); if (*endptr != 0) { @@ -724,7 +802,7 @@ index f3deae0..8020209 100644 return 1; } do_get_control = 1; -@@ -1371,12 +1394,12 @@ int main(int argc, char *argv[]) +@@ -1826,12 +1846,12 @@ int main(int argc, char *argv[]) do_set_format = 1; width = strtol(optarg, &endptr, 10); if (*endptr != 'x' || endptr == optarg) { @@ -739,7 +817,7 @@ index f3deae0..8020209 100644 return 1; } break; -@@ -1384,12 +1407,12 @@ int main(int argc, char *argv[]) +@@ -1839,12 +1859,12 @@ int main(int argc, char *argv[]) do_set_time_per_frame = 1; time_per_frame.numerator = strtol(optarg, &endptr, 10); if (*endptr != '/' || endptr == optarg) { @@ -754,7 +832,7 @@ index f3deae0..8020209 100644 return 1; } break; -@@ -1399,12 +1422,12 @@ int main(int argc, char *argv[]) +@@ -1854,12 +1874,12 @@ int main(int argc, char *argv[]) case 'w': ctrl_name = strtol(optarg, &endptr, 0); if (*endptr != ' ' || endptr == optarg) { @@ -769,7 +847,35 @@ index f3deae0..8020209 100644 return 1; } do_set_control = 1; -@@ -1433,15 +1456,18 @@ int main(int argc, char *argv[]) +@@ -1873,16 +1893,16 @@ int main(int argc, char *argv[]) + case OPT_FD: + ret = atoi(optarg); + if (ret < 0) { +- printf("Bad file descriptor %d\n", ret); ++ fprintf(stderr, "Bad file descriptor %d\n", ret); + return 1; + } +- printf("Using file descriptor %d\n", ret); ++ fprintf(stderr, "Using file descriptor %d\n", ret); + video_set_fd(&dev, ret); + break; + case OPT_FIELD: + field = v4l2_field_from_string(optarg); + if (field == (enum v4l2_field)-1) { +- printf("Invalid field order '%s'\n", optarg); ++ fprintf(stderr, "Invalid field order '%s'\n", optarg); + return 1; + } + break; +@@ -1907,22 +1927,25 @@ int main(int argc, char *argv[]) + } else if (!strcmp(optarg, "soe")) { + dev.buffer_output_flags |= V4L2_BUF_FLAG_TSTAMP_SRC_SOE; + } else { +- printf("Invalid timestamp source %s\n", optarg); ++ fprintf(stderr, "Invalid timestamp source %s\n", optarg); + return 1; + } + break; case OPT_USERPTR_OFFSET: userptr_offset = atoi(optarg); break; @@ -791,7 +897,7 @@ index f3deae0..8020209 100644 return 1; } -@@ -1470,7 +1496,7 @@ int main(int argc, char *argv[]) +@@ -1959,7 +1982,7 @@ int main(int argc, char *argv[]) ret = get_control(&dev, ctrl_name, get_control_type(&dev, ctrl_name), &val); if (ret >= 0) @@ -800,15 +906,16 @@ index f3deae0..8020209 100644 } if (do_set_control) -@@ -1481,21 +1507,21 @@ int main(int argc, char *argv[]) +@@ -1970,7 +1993,7 @@ int main(int argc, char *argv[]) video_list_controls(&dev); if (do_enum_formats) { - printf("- Available formats:\n"); + fprintf(stderr, "- Available formats:\n"); video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_CAPTURE); + video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE); video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_OUTPUT); - video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_OVERLAY); +@@ -1979,14 +2002,14 @@ int main(int argc, char *argv[]) } if (do_enum_inputs) { @@ -825,7 +932,7 @@ index f3deae0..8020209 100644 } /* Set the video format. */ -@@ -1537,7 +1563,7 @@ int main(int argc, char *argv[]) +@@ -2028,7 +2051,7 @@ int main(int argc, char *argv[]) } if (do_pause) { @@ -834,7 +941,7 @@ index f3deae0..8020209 100644 getchar(); } -@@ -1546,12 +1572,12 @@ int main(int argc, char *argv[]) +@@ -2037,12 +2060,12 @@ int main(int argc, char *argv[]) sched.sched_priority = rt_priority; ret = sched_setscheduler(0, SCHED_RR, &sched); if (ret < 0) @@ -850,5 +957,5 @@ index f3deae0..8020209 100644 return 1; } -- -1.7.10 +1.7.9.5 diff --git a/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb b/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb index a20f5915cf..d4e32dea48 100644 --- a/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb +++ b/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb @@ -4,12 +4,17 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe" SRC_URI = "git://git.ideasonboard.org/yavta.git \ file://0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch" -SRCREV = "82ff2efdb9787737b9f21b6f4759f077c827b238" +SRCREV = "7e9f28bedc1ed3205fb5164f686aea96f27a0de2" PV = "0.0" PR = "r2" S = "${WORKDIR}/git" +# The yavta sources include copies of the headers required to build in the +# include directory. The Makefile uses CFLAGS to include these, but since +# we override the CFLAGS then we need to add this include path back in. +CFLAGS += "-I${S}/include" + do_install() { install -d ${D}${bindir} install -m 0755 yavta ${D}${bindir} diff --git a/meta-oe/recipes-multimedia/webm/libvpx.inc b/meta-oe/recipes-multimedia/webm/libvpx.inc deleted file mode 100644 index 4d8ba9d825..0000000000 --- a/meta-oe/recipes-multimedia/webm/libvpx.inc +++ /dev/null @@ -1,38 +0,0 @@ -DESCRIPTION = "vpx Multi-Format Codec SDK" -LICENSE = "BSD" - -INC_PR = "r3" - -SRC_URI = "http://webm.googlecode.com/files/libvpx-v${PV}.tar.bz2" -S = "${WORKDIR}/libvpx-v${PV}" - -# ffmpeg links with this and fails -# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4' -ARM_INSTRUCTION_SET = "arm" - -CFLAGS += "-fPIC" - -export CC -export LD = "${CC}" - -VPXTARGET_armv5te = "armv5te-linux-gcc" -VPXTARGET_armv6 = "armv6-linux-gcc" -VPXTARGET_armv7a = "armv7-linux-gcc" -VPXTARGET ?= "generic-gnu" - -CONFIGUREOPTS = " \ - --target=${VPXTARGET} \ - --enable-vp8 \ - --enable-libs \ - --disable-install-docs \ -" -do_configure() { - ${S}/configure ${CONFIGUREOPTS} -} -do_compile() { - oe_runmake -} -do_install() { - oe_runmake install DESTDIR=${D} -} - diff --git a/meta-oe/recipes-multimedia/webm/libvpx/0001-configure.sh-quote-local-variables.patch b/meta-oe/recipes-multimedia/webm/libvpx/0001-configure.sh-quote-local-variables.patch new file mode 100644 index 0000000000..bf94b2dce8 --- /dev/null +++ b/meta-oe/recipes-multimedia/webm/libvpx/0001-configure.sh-quote-local-variables.patch @@ -0,0 +1,40 @@ +From f45fe1668401d72c2937a52385b492216715c0f9 Mon Sep 17 00:00:00 2001 +From: James Zern <jzern@google.com> +Date: Thu, 6 Mar 2014 15:58:37 -0800 +Subject: [PATCH] configure.sh: quote local variables + +fixes issue #711 + +specifying a multiword CC, e.g., CC='gcc -m32', would cause the failure +under dash + +reported in +https://bugs.gentoo.org/show_bug.cgi?id=498136 + +patch by floppymaster at gmail dot com + +Upstream-Status: Backport [f45fe1668401d72c2937a52385b492216715c0f9] + +Change-Id: I2ba246f765646161538622739961ec0f6c2d8c2d +--- + build/make/configure.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/build/make/configure.sh b/build/make/configure.sh +index 449d1b9..43f8e77 100755 +--- a/build/make/configure.sh ++++ b/build/make/configure.sh +@@ -405,8 +405,8 @@ true + } + + write_common_target_config_mk() { +- local CC=${CC} +- local CXX=${CXX} ++ local CC="${CC}" ++ local CXX="${CXX}" + enabled ccache && CC="ccache ${CC}" + enabled ccache && CXX="ccache ${CXX}" + print_webm_license $1 "##" "" +-- +1.8.3.2 + diff --git a/meta-oe/recipes-multimedia/webm/libvpx/CVE-2010-4203.patch b/meta-oe/recipes-multimedia/webm/libvpx/CVE-2010-4203.patch deleted file mode 100644 index 37f5108a51..0000000000 --- a/meta-oe/recipes-multimedia/webm/libvpx/CVE-2010-4203.patch +++ /dev/null @@ -1,69 +0,0 @@ -From: John Koleszar <jkoleszar@google.com> -Date: Thu, 4 Nov 2010 20:59:26 +0000 (-0400) -Subject: fix integer promotion bug in partition size check -X-Git-Url: https://review.webmproject.org/gitweb?p=libvpx.git;a=commitdiff_plain;h=9fb80f7170ec48e23c3c7b477149eeb37081c699 - -fix integer promotion bug in partition size check - -The check '(user_data_end - partition < partition_size)' must be -evaluated as a signed comparison, but because partition_size was -unsigned, the LHS was promoted to unsigned, causing an incorrect -result on 32-bit. Instead, check the upper and lower bounds of -the segment separately. - -Change-Id: I6266aba7fd7de084268712a3d2a81424ead7aa06 ---- - -diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c -index 2d81d61..f5e49a1 100644 ---- a/vp8/decoder/decodframe.c -+++ b/vp8/decoder/decodframe.c -@@ -462,7 +462,8 @@ static void setup_token_decoder(VP8D_COMP *pbi, - partition_size = user_data_end - partition; - } - -- if (user_data_end - partition < partition_size) -+ if (partition + partition_size > user_data_end -+ || partition + partition_size < partition) - vpx_internal_error(&pc->error, VPX_CODEC_CORRUPT_FRAME, - "Truncated packet or corrupt partition " - "%d length", i + 1); -@@ -580,7 +581,8 @@ int vp8_decode_frame(VP8D_COMP *pbi) - (data[0] | (data[1] << 8) | (data[2] << 16)) >> 5; - data += 3; - -- if (data_end - data < first_partition_length_in_bytes) -+ if (data + first_partition_length_in_bytes > data_end -+ || data + first_partition_length_in_bytes < data) - vpx_internal_error(&pc->error, VPX_CODEC_CORRUPT_FRAME, - "Truncated packet or corrupt partition 0 length"); - vp8_setup_version(pc); -diff --git a/vp8/vp8_dx_iface.c b/vp8/vp8_dx_iface.c -index e7e5356..f0adf5b 100644 ---- a/vp8/vp8_dx_iface.c -+++ b/vp8/vp8_dx_iface.c -@@ -253,8 +253,11 @@ static vpx_codec_err_t vp8_peek_si(const uint8_t *data, - unsigned int data_sz, - vpx_codec_stream_info_t *si) - { -- - vpx_codec_err_t res = VPX_CODEC_OK; -+ -+ if(data + data_sz <= data) -+ res = VPX_CODEC_INVALID_PARAM; -+ else - { - /* Parse uncompresssed part of key frame header. - * 3 bytes:- including version, frame type and an offset -@@ -331,7 +334,10 @@ static vpx_codec_err_t vp8_decode(vpx_codec_alg_priv_t *ctx, - - ctx->img_avail = 0; - -- /* Determine the stream parameters */ -+ /* Determine the stream parameters. Note that we rely on peek_si to -+ * validate that we have a buffer that does not wrap around the top -+ * of the heap. -+ */ - if (!ctx->si.h) - res = ctx->base.iface->dec.peek_si(data, data_sz, &ctx->si); - diff --git a/meta-oe/recipes-multimedia/webm/libvpx/do-not-hardcode-softfp-float-api.patch b/meta-oe/recipes-multimedia/webm/libvpx/do-not-hardcode-softfp-float-api.patch deleted file mode 100644 index d871694215..0000000000 --- a/meta-oe/recipes-multimedia/webm/libvpx/do-not-hardcode-softfp-float-api.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> - -Upstream-Status: Inappopriate [upstream has it done in other way] - -Problem is solved upstream but we have quite old version so backporting patches -is waste of time. - ---- - build/make/configure.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- libvpx-v0.9.5.orig/build/make/configure.sh -+++ libvpx-v0.9.5/build/make/configure.sh -@@ -659,12 +659,12 @@ process_common_toolchain() { - if enabled iwmmxt || enabled iwmmxt2 - then - check_add_asflags -mcpu=${tgt_isa} - elif enabled armv7 - then -- check_add_cflags -march=armv7-a -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-ftree-vectorize -- check_add_asflags -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-march=armv7-a -+ check_add_cflags -march=armv7-a -mcpu=cortex-a8 -mfpu=neon #-ftree-vectorize -+ check_add_asflags -mcpu=cortex-a8 -mfpu=neon #-march=armv7-a - else - check_add_cflags -march=${tgt_isa} - check_add_asflags -march=${tgt_isa} - fi - diff --git a/meta-oe/recipes-multimedia/webm/libvpx_0.9.5.bb b/meta-oe/recipes-multimedia/webm/libvpx_0.9.5.bb deleted file mode 100644 index 597d0e14ce..0000000000 --- a/meta-oe/recipes-multimedia/webm/libvpx_0.9.5.bb +++ /dev/null @@ -1,19 +0,0 @@ -require libvpx.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=6e8dee932c26f2dab503abf70c96d8bb" - -PR = "${INC_PR}.0" - -SRC_URI += "file://libvpx-configure-support-blank-prefix.patch \ - file://do-not-hardcode-softfp-float-api.patch \ - file://CVE-2010-4203.patch \ -" - -SRC_URI[md5sum] = "4bf2f2c76700202c1fe9201fcb0680e3" -SRC_URI[sha256sum] = "2e93968afcded113a7e218de047feecf6659a089058803a9e40fb687de5f9bfa" - -CONFIGUREOPTS += " \ - --prefix=${prefix} \ - --libdir=${libdir} \ -" - diff --git a/meta-oe/recipes-multimedia/webm/libvpx_1.3.0.bb b/meta-oe/recipes-multimedia/webm/libvpx_1.3.0.bb new file mode 100644 index 0000000000..eb19a576da --- /dev/null +++ b/meta-oe/recipes-multimedia/webm/libvpx_1.3.0.bb @@ -0,0 +1,55 @@ +SUMMARY = "VPX multi-format codec" +DESCRIPTION = "The BSD-licensed libvpx reference implementation provides en- and decoders for VP8 and VP9 bitstreams." +HOMEPAGE = "http://www.webmproject.org/code/" +BUGTRACKER = "http://code.google.com/p/webm/issues/list" +SECTION = "libs/multimedia" +LICENSE = "BSD" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4" + +SRC_URI += "http://webm.googlecode.com/files/libvpx-v${PV}.tar.bz2 \ + file://libvpx-configure-support-blank-prefix.patch \ + file://0001-configure.sh-quote-local-variables.patch" +SRC_URI[md5sum] = "14783a148872f2d08629ff7c694eb31f" +SRC_URI[sha256sum] = "d3dcc8d84af51c6c382b214397c62402e37a799e8ebcda6f4217aef0010451a9" + +S = "${WORKDIR}/libvpx-v${PV}" + +# ffmpeg links with this and fails +# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4' +ARM_INSTRUCTION_SET = "arm" + +CFLAGS += "-fPIC" + +export CC +export LD = "${CC}" + +VPXTARGET_armv5te = "armv5te-linux-gcc" +VPXTARGET_armv6 = "armv6-linux-gcc" +VPXTARGET_armv7a = "armv7-linux-gcc" +VPXTARGET ?= "generic-gnu" + +CONFIGUREOPTS = " \ + --target=${VPXTARGET} \ + --enable-vp8 \ + --enable-vp9 \ + --enable-libs \ + --disable-install-docs \ + --disable-static \ + --enable-shared \ + --prefix=${prefix} \ + --libdir=${libdir} \ +" + +do_configure() { + ${S}/configure ${CONFIGUREOPTS} +} + +do_compile() { + oe_runmake +} + +do_install() { + oe_runmake install DESTDIR=${D} +} + diff --git a/meta-oe/recipes-multimedia/webp/libwebp_0.4.0.bb b/meta-oe/recipes-multimedia/webp/libwebp_0.4.0.bb new file mode 100644 index 0000000000..7663b3b0bb --- /dev/null +++ b/meta-oe/recipes-multimedia/webp/libwebp_0.4.0.bb @@ -0,0 +1,47 @@ +SUMMARY = "WebP is an image format designed for the Web" +DESCRIPTION = "WebP is a method of lossy and lossless compression that can be \ + used on a large variety of photographic, translucent and \ + graphical images found on the web. The degree of lossy \ + compression is adjustable so a user can choose the trade-off \ + between file size and image quality. WebP typically achieves \ + an average of 30% more compression than JPEG and JPEG 2000, \ + without loss of image quality." +HOMEPAGE = "https://developers.google.com/speed/webp/" +SECTION = "libs" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://PATENTS;md5=7ec8a34de2073ea13ea2991006246d20" + +DEPENDS = "giflib" + +SRC_URI = "https://webp.googlecode.com/files/${BP}.tar.gz" +SRC_URI[md5sum] = "c8dd1d26eb9566833aba269b86d97e68" +SRC_URI[sha256sum] = "31913577e96386556855b41d210736449445fe96cfbe9289014e9b8afa944d69" + +EXTRA_OECONF = " \ + --disable-experimental \ + --disable-wic \ + --enable-libwebpmux \ + --enable-libwebpdemux \ + --enable-threading \ +" + +inherit autotools lib_package + +PACKAGECONFIG ??= "" + +# libwebpdecoder is a subset of libwebp, don't build it unless requested +PACKAGECONFIG[decoder] = "--enable-libwebpdecoder,--disable-libwebpdecoder" + +# Apply for examples programs: cwebp and dwebp +PACKAGECONFIG[jpeg] = ",ac_cv_header_jpeglib_h=no,jpeg" +PACKAGECONFIG[png] = ",ac_cv_header_png_h=no,libpng" +PACKAGECONFIG[tiff] = ",ac_cv_header_tiffio_h=no,tiff" + +# Apply only for example program vwebp +PACKAGECONFIG[gl] = ",,mesa-glut" + +PACKAGES =+ "${PN}-gif2webp" + +DESCRIPTION_${PN}-gif2webp = "Simple tool to convert animated GIFs to WebP" +FILES_${PN}-gif2webp = "${bindir}/gif2webp" 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 7cb84ff390..d65546d0b9 100644 --- a/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb +++ b/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb @@ -5,17 +5,13 @@ DEPENDS = "virtual/libx11 libxext" LIC_FILES_CHKSUM = "file://COPYING;md5=db043791349ba57ad1169e1c92477cb6" -SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${PN}/${PN}_${PV}.tar.gz \ +SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${BPN}/${BPN}_${PV}.tar.gz \ file://auxdir.patch;striplevel=0" S = "${WORKDIR}/xpext-1.0" -inherit autotools pkgconfig - -do_configure_prepend () { - cd ${S} - chmod +x ./autogen.sh - ./autogen.sh -} +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 22d92ca7d8..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 @@ -3,11 +3,13 @@ SUMMARY = "X Server Nokia 770 extensions library" SECTION = "x11/libs" DEPENDS = "virtual/libx11 libxext xpext" LIC_FILES_CHKSUM = "file://COPYING;md5=ea2bda168c508c7cd8afa567b2fcc549" -SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${PN}_${PV}.tar.gz \ +SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${BPN}_${PV}.tar.gz \ 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/foxtrotgps/foxtrotgps_1.1.1.bb b/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb index 7ed3bf2bfc..101e87e881 100644 --- a/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb +++ b/meta-oe/recipes-navigation/foxtrotgps/foxtrotgps_1.1.1.bb @@ -4,9 +4,9 @@ HOMEPAGE = "http://www.foxtrotgps.org/" SECTION = "x11/applications" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -DEPENDS = "curl gtk+ libglade sqlite3 libexif gpsd bluez4" +DEPENDS = "curl gtk+ libglade sqlite3 libexif gpsd bluez4 intltool-native" -SRC_URI = "http://www.foxtrotgps.org/releases/${P}.tar.gz" +SRC_URI = "http://www.foxtrotgps.org/releases/${BP}.tar.gz" SRC_URI[md5sum] = "6777d448ee9d3ba195f9d26ea90e3163" SRC_URI[sha256sum] = "ae9706285510554cc0813ac92522e0d1672b0ddb065307bfacfcff3c328f6adb" 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 4fa6de1169..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,16 +1,16 @@ 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}/${P}.tar.xz" +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 lib_package binconfig +inherit autotools-brokensep lib_package binconfig EXTRA_OECONF = "--without-perl \ --without-php \ @@ -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.7/0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch index 40baa01947..c4134f4b58 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch @@ -1,22 +1,25 @@ -From f5f262be8ae54bd0c0f52802f2007ec89163756f Mon Sep 17 00:00:00 2001 +From 3c5fb3a8691ac711ea93edf8e0b42bffc62b197e Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Tue, 24 Apr 2012 11:52:35 +0200 -Subject: [PATCH 1/2] SConstruct: respect sysroot also in SPLINTOPTS +Subject: [PATCH 1/4] SConstruct: respect sysroot also in SPLINTOPTS + +Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> +Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- - SConstruct | 5 ++++- - 1 files changed, 4 insertions(+), 1 deletions(-) + SConstruct | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/SConstruct b/SConstruct -index a25e88a..a1bddb9 100644 +index 14e2f59..f0cafa8 100644 --- a/SConstruct +++ b/SConstruct -@@ -1277,7 +1277,10 @@ def Utility(target, source, action): - +@@ -1414,7 +1414,10 @@ def Utility(target, source, action): # Report splint warnings # Note: test_bits.c is unsplintable because of the PRI64 macros. + # If you get preprocessor or fatal errors, add +showscan. -splintopts = "-I/usr/include/libusb-1.0 +quiet" +if not env['sysroot']: + splintopts = "-I/usr/include/libusb-1.0 +quiet" @@ -26,5 +29,5 @@ index a25e88a..a1bddb9 100644 ma_status, ma = _getstatusoutput('dpkg-architecture -qDEB_HOST_MULTIARCH') if ma_status == 0: -- -1.7.5.4 +1.8.5.5 diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0004-SConstruct-remove-rpath.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-remove-rpath.patch index 83b98bb5ed..083a6621f5 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0004-SConstruct-remove-rpath.patch +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-remove-rpath.patch @@ -1,7 +1,7 @@ -From 7d736bbd517c12d19d7b85a5b0db84732b2f86da Mon Sep 17 00:00:00 2001 +From d090638ff983e509162d5e3b62aa4918de4aa5fa Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Tue, 24 Apr 2012 16:24:35 +0200 -Subject: [PATCH 2/2] SConstruct: remove rpath +Subject: [PATCH 2/4] SConstruct: remove rpath * even with correct prefix (without DESTDIR) included it's redundant WARNING: QA Issue: libgps: @@ -13,19 +13,22 @@ Subject: [PATCH 2/2] SConstruct: remove rpath in file /OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd/gpsd-3.5-r0/packages-split/libgps/usr/lib/libgps.so.20.0 +Upstream-Status: Inapppropriate [embedded specific] + Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> +Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- - SConstruct | 7 +++++-- - 1 files changed, 5 insertions(+), 2 deletions(-) + SConstruct | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct -index a1bddb9..3e7c607 100644 +index f0cafa8..ff46713 100644 --- a/SConstruct +++ b/SConstruct -@@ -1205,8 +1205,11 @@ if qt_env: +@@ -1340,8 +1340,11 @@ if qt_env: + binaryinstall.append(LibraryInstall(qt_env, installdir('libdir'), compiled_qgpsmmlib)) - # We don't use installdir here in order to avoid having DESTDIR affect the rpath if env["shared"] and env["chrpath"]: - env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \ - % (installdir('libdir', False), )) @@ -38,5 +41,5 @@ index a1bddb9..3e7c607 100644 if not env['debug'] and not env['profiling'] and env['strip']: env.AddPostAction(binaryinstall, '$STRIP $TARGET') -- -1.7.5.4 +1.8.5.5 diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch index c6eb03bf2f..1d8c14b57c 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch @@ -1,8 +1,8 @@ -From dd3ca38b27cce93f7e932abaa27b41371234fa90 Mon Sep 17 00:00:00 2001 +From ad7b06d375730b30f181c5efb3bf21418f296f73 Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Tue, 24 Apr 2012 18:45:14 +0200 -Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot - from python_lib_dir +Subject: [PATCH 3/4] SConstruct: prefix includepy with sysroot and drop + sysroot from python_lib_dir * without PYTHONPATH, distutil's sysconfig returns INCLUDEPY without sysroot prefix and with PYTHONPATH from OE it's pointing to native python dir @@ -30,19 +30,22 @@ Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot * python_lib_dir = python_lib_dir.replace(env['sysroot'], '') returns path to target sysroot +Upstream-Status: Inappropriate [embedded specific] + Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- - SConstruct | 9 +++++++++ - 1 files changed, 9 insertions(+), 0 deletions(-) + SConstruct | 9 +++++++++ + 1 file changed, 9 insertions(+) diff --git a/SConstruct b/SConstruct -index 3c919fc..8478181 100644 +index ff46713..0e518e7 100644 --- a/SConstruct +++ b/SConstruct -@@ -932,6 +932,12 @@ else: - if vars[i] is None: - vars[i] = [] - (cc, cxx, opt, basecflags, ccshared, ldshared, so_ext, includepy, ldflags) = vars +@@ -1089,6 +1089,12 @@ else: + basecflags += ' -coverage' + ldflags += ' -coverage' + ldshared += ' -coverage' + + if env['sysroot']: + print "Prefixing includepy '%s' with sysroot prefix" % includepy @@ -52,7 +55,7 @@ index 3c919fc..8478181 100644 # in case CC/CXX was set to the scan-build wrapper, # ensure that we build the python modules with scan-build, too if env['CC'] is None or env['CC'].find('scan-build') < 0: -@@ -1165,11 +1171,14 @@ if not env['python']: +@@ -1353,11 +1359,14 @@ if not env['python']: python_install = [] else: python_lib_dir = sysconfig.get_python_lib(plat_specific=1) @@ -68,5 +71,5 @@ index 3c919fc..8478181 100644 python_modules_install = python_env.Install( DESTDIR + python_module_dir, python_modules) -- -1.7.8.5 +1.8.5.5 diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-disable-html-and-man-docs-building-becaus.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch index 9db24326cf..8527f0db39 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-disable-html-and-man-docs-building-becaus.patch +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch @@ -1,7 +1,7 @@ -From ca1a781afbd68697ef2f573557f1f93ec7ab8d3c Mon Sep 17 00:00:00 2001 +From 697e2e9ff97487266d817cdd41bacc83f681e3d7 Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Sun, 29 Apr 2012 00:05:59 +0200 -Subject: [PATCH] SConstruct: disable html and man docs building because +Subject: [PATCH 4/4] SConstruct: disable html and man docs building because xmlto-native from OE is broken It will try to load dtd and fail: @@ -20,30 +20,33 @@ It will try to load dtd and fail: | scons: *** [gpsctl.1] Error 1 | scons: building terminated because of errors. +Upstream-Status: Inappropriate [disable feature] + Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- - SConstruct | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) + SConstruct | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct -index 9c0f751..8236abb 100644 +index 0e518e7..c01a71b 100644 --- a/SConstruct +++ b/SConstruct -@@ -560,12 +560,12 @@ size_t strlcpy(/*@out@*/char *dst, /*@in@*/const char *src, size_t size); - +@@ -704,12 +704,12 @@ size_t strlcpy(/*@out@*/char *dst, /*@in@*/const char *src, size_t size); - manbuilder = mangenerator = htmlbuilder = None --if config.CheckXsltproc(): -+if False and config.CheckXsltproc(): - mangenerator = 'xsltproc' - build = "xsltproc --nonet %s $SOURCE >$TARGET" - htmlbuilder = build % docbook_html_uri - manbuilder = build % docbook_man_uri --elif WhereIs("xmlto"): -+elif False and WhereIs("xmlto"): - mangenerator = 'xmlto' - htmlbuilder = "xmlto html-nochunks $SOURCE; mv `basename $TARGET` $TARGET" - manbuilder = "xmlto man $SOURCE; mv `basename $TARGET` $TARGET" + manbuilder = mangenerator = htmlbuilder = None + if env['manbuild']: +- if config.CheckXsltproc(): ++ if False and config.CheckXsltproc(): + mangenerator = 'xsltproc' + build = "xsltproc --nonet %s $SOURCE >$TARGET" + htmlbuilder = build % docbook_html_uri + manbuilder = build % docbook_man_uri +- elif WhereIs("xmlto"): ++ elif False and WhereIs("xmlto"): + mangenerator = 'xmlto' + xmlto = "xmlto %s $SOURCE || mv `basename $TARGET` `dirname $TARGET`" + htmlbuilder = xmlto % "html-nochunks" -- -1.7.8.6 +1.8.5.5 diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb index c82aadca99..6d3adc18da 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb @@ -2,25 +2,23 @@ SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices" SECTION = "console/network" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800" -DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native" +DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools" PROVIDES = "virtual/gpsd" EXTRANATIVEPATH += "chrpath-native" -PR = "r14" - -SRC_URI = "${SAVANNAH_GNU_MIRROR}/${PN}/${P}.tar.gz \ - file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \ - file://0004-SConstruct-remove-rpath.patch \ - file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \ - file://0001-SConstruct-disable-html-and-man-docs-building-becaus.patch \ +SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ + file://0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \ + file://0002-SConstruct-remove-rpath.patch \ + file://0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \ + file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \ file://gpsd-default \ file://gpsd \ file://60-gpsd.rules \ file://gpsd.service \ " -SRC_URI[md5sum] = "52d9785eaf1a51298bb8900dbde88f98" -SRC_URI[sha256sum] = "7800c478ee9d7ca7a502b0f892828561b1fbf7bc69d9d38c447c82c3628302ac" +SRC_URI[md5sum] = "fc5b03aae38b9b5b6880b31924d0ace3" +SRC_URI[sha256sum] = "706fc2c1cf3dfbf87c941f543381bccc9c4dc9f8240eec407dcbf2f70b854320" inherit scons update-rc.d python-dir pythonnative systemd diff --git a/meta-oe/recipes-navigation/gypsy/gypsy.inc b/meta-oe/recipes-navigation/gypsy/gypsy.inc index 747b61d23b..7c93d0a193 100644 --- a/meta-oe/recipes-navigation/gypsy/gypsy.inc +++ b/meta-oe/recipes-navigation/gypsy/gypsy.inc @@ -11,8 +11,6 @@ DEPENDS = "glib-2.0 dbus bluez4 dbus-glib libxslt-native libxslt" inherit autotools pkgconfig gtk-doc PACKAGES += "libgypsy" -EXTRA_OECONF += "--with-distro=debian" - FILES_${PN} = " \ ${sysconfdir}/gypsy.conf \ ${sysconfdir}/dbus-1 \ diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite.inc b/meta-oe/recipes-navigation/libspatialite/libspatialite.inc index c8d7ec1e97..b5c387968f 100644 --- a/meta-oe/recipes-navigation/libspatialite/libspatialite.inc +++ b/meta-oe/recipes-navigation/libspatialite/libspatialite.inc @@ -5,7 +5,7 @@ DEPENDS = "proj geos sqlite3" 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" diff --git a/meta-oe/recipes-navigation/navit/navit.inc b/meta-oe/recipes-navigation/navit/navit.inc index eb8f43a5a2..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 \ @@ -15,7 +15,7 @@ RSUGGESTS_${PN} = "flite-alsa espeak ${PN}-speech-dbus ${PN}-gui-gtk ${PN}-gui-q PE = "1" INC_PR = "r11" -inherit autotools gettext +inherit autotools gettext pkgconfig PACKAGECONFIG ?= "qt" PACKAGECONFIG[fribidi] = "--enable-fribidi,--disable-fribidi,fribidi" 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 a56a51bfa1..391545e39e 100644 --- a/meta-oe/recipes-navigation/omgps/omgps_svn.bb +++ b/meta-oe/recipes-navigation/omgps/omgps_svn.bb @@ -12,6 +12,7 @@ S = "${WORKDIR}/${PN}" 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 \ @@ -22,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 +inherit autotools pkgconfig diff --git a/meta-oe/recipes-navigation/orrery/orrery_2.7.bb b/meta-oe/recipes-navigation/orrery/orrery_2.7.bb index f5523e3170..e6cbffcf4e 100644 --- a/meta-oe/recipes-navigation/orrery/orrery_2.7.bb +++ b/meta-oe/recipes-navigation/orrery/orrery_2.7.bb @@ -5,7 +5,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://orrery.c;endline=25;md5=d792bdf2b591972da175aecc38d88cfe" DEPENDS = "gtk+" -inherit autotools +inherit autotools-brokensep pkgconfig SRC_URI = "http://projects.openmoko.org/frs/download.php/923/orrery_2.7_clean.tar.gz \ file://orrery.png \ diff --git a/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb b/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb index 1033bf241f..e307a72c19 100644 --- a/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb +++ b/meta-oe/recipes-qt/qconnman/qconnman-e_git.bb @@ -4,6 +4,8 @@ RCONFLICTS_${PN} = "qconnman" inherit qt4e +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 d298cb5217..2f8cca25a0 100644 --- a/meta-oe/recipes-qt/qconnman/qconnman_git.bb +++ b/meta-oe/recipes-qt/qconnman/qconnman_git.bb @@ -4,5 +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" + EXTRA_QMAKEVARS_PRE += "PREFIX=/usr" EXTRA_OEMAKE += "INSTALL_ROOT=${D}" diff --git a/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb b/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb index 831a1402c3..a8bee71328 100644 --- a/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb +++ b/meta-oe/recipes-sato/claws-mail/claws-mail_3.9.0.bb @@ -1,6 +1,6 @@ SECTION = "x11/network" SUMMARY = "Mail user agent" -DEPENDS = "gtk+ libetpan openssl aspell curl" +DEPENDS = "gtk+ libetpan openssl aspell curl libgcrypt" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=e059bde2972c1790af786f3e86bac22e" @@ -14,7 +14,7 @@ SRC_URI[archive.md5sum] = "4c5ac7b21f0ed17d0f6404124c2229a4" SRC_URI[archive.sha256sum] = "ed70975a5056b3ffc4fe6e977f0d9606febc1499763c090241b029a73ff24e65" do_configure_append() { - cd po ; for PO in *.po ; do MO=`echo $PO | sed s/\\.po//`.gmo ; if ! test -f $MO ; then msgfmt $PO -o $MO ; fi ; done + cd ${S}/po ; for PO in *.po ; do MO=`echo $PO | sed s/\\.po//`.gmo ; if ! test -f $MO ; then msgfmt $PO -o $MO ; fi ; done; cd ${B} } PACKAGECONFIG ??= "startup-notification dbus" @@ -26,8 +26,6 @@ PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap" # FIXME: maemo builds may want --enable-maemo # FIXME: some platforms may want --enable-generic-umpc EXTRA_OECONF = " \ - --disable-aspell-test \ - --enable-aspell \ --disable-manual \ --disable-crash-dialog \ --disable-jpilot \ @@ -38,8 +36,6 @@ EXTRA_OECONF = " \ --disable-pgpmime-plugin \ --disable-pgpinline-plugin \ --disable-dillo-viewer-plugin \ - --disable-clamav-plugin \ - --disable-gnomeprint \ --disable-valgrind \ " @@ -52,7 +48,7 @@ do_install_prepend() { do_install_append() { rm -r ${D}${datadir}/icons install -d ${D}${datadir}/pixmaps - install -m 0644 claws-mail.png ${D}${datadir}/pixmaps/ + install -m 0644 ${S}/claws-mail.png ${D}${datadir}/pixmaps/ sed -i 's/Icon=[^.]*$/&.png/' ${D}${datadir}/applications/claws-mail.desktop } diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch new file mode 100644 index 0000000000..222a796028 --- /dev/null +++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer/configure.patch @@ -0,0 +1,52 @@ +Index: gtkhtml2_viewer-0.31/configure.ac +=================================================================== +--- gtkhtml2_viewer-0.31.orig/configure.ac 2011-08-27 08:08:55.000000000 +0000 ++++ gtkhtml2_viewer-0.31/configure.ac 2014-07-18 07:28:42.769518618 +0000 +@@ -1,33 +1,27 @@ + AC_PREREQ(2.60) +-AC_INIT(src/gtkhtml2_viewer.c) ++ ++dnl plugin version ++m4_define([plugin_major_version],[0]) ++m4_define([plugin_minor_version],[31]) ++m4_define([plugin_micro_version],[0]) ++m4_define([plugin_version], [plugin_major_version.plugin_minor_version.plugin_micro_version]) ++ ++AC_INIT(gtkhml2_viewer, plugin_version) ++AC_CONFIG_SRCDIR(src/gtkhtml2_viewer.c) + AC_CONFIG_AUX_DIR(config) + AM_MAINTAINER_MODE + + PACKAGE=gtkhtml2_viewer + +-dnl plugin version +-MAJOR_VERSION=0 +-MINOR_VERSION=31 +-MICRO_VERSION=0 ++MAJOR_VERSION=plugin_major_version ++MINOR_VERSION=plugin_minor_version ++MICRO_VERSION=plugin_micro_version + EXTRA_VERSION=0 +- +-if test \( $EXTRA_VERSION -eq 0 \); then +- if test \( $MICRO_VERSION -eq 0 \); then +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION} +- else +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION} +- fi +-else +- if test \( $MICRO_VERSION -eq 0 \); then +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}cvs${EXTRA_VERSION} +- else +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION} +- fi +-fi ++VERSION=plugin_version + + AC_CANONICAL_SYSTEM + +-AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) ++AM_INIT_AUTOMAKE([foreign no-define]) + AC_CONFIG_HEADERS(config.h) + AC_DEFINE_UNQUOTED(PLUGINVERSION, "$VERSION", [plugin version]) + diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb index f203cc002d..9adfd28062 100644 --- a/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb +++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-gtkhtml2-viewer_0.31.bb @@ -6,7 +6,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=977f04a8048c04684e521c06e2844a94" PR = "r1" -SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/gtkhtml2_viewer-${PV}.tar.gz" +SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/gtkhtml2_viewer-${PV}.tar.gz \ + file://configure.patch" SRC_URI[md5sum] = "a6c9dfa6f969ccd844796a5724b52167" SRC_URI[sha256sum] = "4d41f6d961efaac0f51705e5052bac732bc0bdafee2ef2082a9cf9d89f183ae5" diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch new file mode 100644 index 0000000000..a7a38f30c8 --- /dev/null +++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl/configure.patch @@ -0,0 +1,53 @@ +Index: rssyl-0.34/configure.ac +=================================================================== +--- rssyl-0.34.orig/configure.ac 2014-07-18 07:37:28.981532959 +0000 ++++ rssyl-0.34/configure.ac 2014-07-18 07:39:45.881536690 +0000 +@@ -1,5 +1,13 @@ ++ ++dnl plugin version ++m4_define([plugin_major_version],[0]) ++m4_define([plugin_minor_version],[34]) ++m4_define([plugin_micro_version],[0]) ++m4_define([plugin_version], [plugin_major_version.plugin_minor_version.plugin_micro_version]) ++ + AC_PREREQ(2.60) +-AC_INIT(src/plugin.c) ++AC_INIT(rssyl, plugin_version) ++AC_CONFIG_SRCDIR(src/plugin.c) + AC_CONFIG_AUX_DIR(config) + AM_MAINTAINER_MODE + AC_CONFIG_HEADERS(config.h) +@@ -7,28 +15,15 @@ + PACKAGE=rssyl + + dnl plugin version +-MAJOR_VERSION=0 +-MINOR_VERSION=34 +-MICRO_VERSION=0 ++MAJOR_VERSION=plugin_major_version ++MINOR_VERSION=plugin_minor_version ++MICRO_VERSION=plugin_micro_version + EXTRA_VERSION=0 +- +-if test \( $EXTRA_VERSION -eq 0 \); then +- if test \( $MICRO_VERSION -eq 0 \); then +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION} +- else +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION} +- fi +-else +- if test \( $MICRO_VERSION -eq 0 \); then +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}cvs${EXTRA_VERSION} +- else +- VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION} +- fi +-fi ++VERSION=plugin_version + + AC_CANONICAL_SYSTEM + +-AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) ++AM_INIT_AUTOMAKE([foreign no-define]) + AC_DEFINE_UNQUOTED(PLUGINVERSION, "$VERSION", [plugin version]) + + AC_PROG_CC diff --git a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb index f441c98937..cdc465c21c 100644 --- a/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb +++ b/meta-oe/recipes-sato/claws-mail/claws-plugin-rssyl_0.34.bb @@ -4,7 +4,8 @@ DEPENDS = "claws-mail libxml2 curl glib-2.0 gtk+" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=0c2348e0a084e573f0220f5e45d8097e" -SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/rssyl-${PV}.tar.gz" +SRC_URI = "http://www.claws-mail.org/downloads/plugins_obsolete/rssyl-${PV}.tar.gz \ + file://configure.patch" SRC_URI[md5sum] = "49b45608e8d160b3625d3d50016ec2ca" SRC_URI[sha256sum] = "2e96a1cd6a1a5bb7f86cd2eb48f6e174665957fafe1f3b1e8361aac3bb967f79" inherit autotools pkgconfig gettext 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 a878220ac2..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,6 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4 \ PR = "r2" +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 \ " @@ -27,7 +29,7 @@ do_configure_prepend() { done } -inherit autotools +inherit autotools pkgconfig do_install_append() { install -d ${D}${datadir}/applications 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 07b8ccb464..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,6 +7,8 @@ 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" + inherit autotools LD = "${CXX}" diff --git a/meta-oe/recipes-support/asio/asio.inc b/meta-oe/recipes-support/asio/asio.inc index c2a6b1b523..9cea824919 100644 --- a/meta-oe/recipes-support/asio/asio.inc +++ b/meta-oe/recipes-support/asio/asio.inc @@ -8,7 +8,7 @@ LICENSE = "BSL-1.0" DEPENDS = "boost" -SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${PN}-${PV}.tar.bz2" +SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2" inherit autotools diff --git a/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb b/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb index 9a0ff352d0..fbe4278d7f 100644 --- a/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb +++ b/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb @@ -23,9 +23,12 @@ do_install_append() { # Delete files already provided by util-linux local i - for i in cal dmesg eject hexdump hwclock ionice look renice rtcwake; do + for i in cal dmesg eject hexdump hwclock ionice look renice rtcwake su; do rm ${D}${datadir}/${BPN}/completions/$i done + + # Delete files for networkmanager + rm ${D}${datadir}/${BPN}/completions/nmcli } RDEPENDS_${PN} = "bash" diff --git a/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch b/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch new file mode 100644 index 0000000000..477cc31ad2 --- /dev/null +++ b/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch @@ -0,0 +1,18 @@ +No need to link with libfl. + +Upstream-Status: Pending +Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> + +Index: ccid-1.4.8/src/Makefile.am +=================================================================== +--- ccid-1.4.8.orig/src/Makefile.am ++++ ccid-1.4.8/src/Makefile.am +@@ -53,7 +53,7 @@ PROVIDED_BY_PCSC = debug.c + endif + + libccid_la_SOURCES = $(COMMON) $(USB) $(TOKEN_PARSER) $(PROVIDED_BY_PCSC) $(T1) +-libccid_la_LIBADD = $(LEXLIB) $(LIBUSB_LIBS) $(PTHREAD_LIBS) ++libccid_la_LIBADD = $(LIBUSB_LIBS) $(PTHREAD_LIBS) + libccid_la_CFLAGS = $(PCSC_CFLAGS) $(LIBUSB_CFLAGS) $(PTHREAD_CFLAGS) \ + $(SYMBOL_VISIBILITY) -D$(CCID_VERSION) -DSIMCLIST_NO_DUMPRESTORE + libccid_la_LDFLAGS = -avoid-version diff --git a/meta-oe/recipes-support/ccid/ccid_1.4.8.bb b/meta-oe/recipes-support/ccid/ccid_1.4.8.bb index efaf72d260..078f785aba 100644 --- a/meta-oe/recipes-support/ccid/ccid_1.4.8.bb +++ b/meta-oe/recipes-support/ccid/ccid_1.4.8.bb @@ -6,11 +6,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" DEPENDS = "virtual/libusb0 pcsc-lite" RDEPENDS_${PN} = "pcsc-lite" -SRC_URI = "https://alioth.debian.org/frs/download.php/file/3768/ccid-${PV}.tar.bz2" +SRC_URI = "https://alioth.debian.org/frs/download.php/file/3768/ccid-${PV}.tar.bz2 \ + file://no-dep-on-libfl.patch" + SRC_URI[md5sum] = "b6c37110f50b059a8ba94f118cfd679a" SRC_URI[sha256sum] = "7aca09fa4b9099e423402fd5df424adbafa502888710d1fda6015b6c1ff637ef" -inherit autotools +inherit autotools pkgconfig FILES_${PN} += "${libdir}/pcsc/" FILES_${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug" diff --git a/meta-oe/recipes-support/ckermit/ckermit_301.bb b/meta-oe/recipes-support/ckermit/ckermit_302.bb index b255f5e7ea..32a6c03a97 100644 --- a/meta-oe/recipes-support/ckermit/ckermit_301.bb +++ b/meta-oe/recipes-support/ckermit/ckermit_302.bb @@ -7,7 +7,11 @@ HOMEPAGE = "http://www.columbia.edu/kermit/" SECTION = "console/network" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING.TXT;md5=932ca542d6c6cb8a59a0bcd76ab67cc3" -SRC_URI = "ftp://kermit.columbia.edu/kermit/archives/cku${PV}.tar.gz;subdir=${BPN}-${PV}" + +SRC_URI = "ftp://ftp.kermitproject.org/kermit/archives/cku${PV}.tar.gz;subdir=${BPN}-${PV}" +SRC_URI[md5sum] = "eac4dbf18b45775e4cdee5a7c74762b0" +SRC_URI[sha256sum] = "0d5f2cd12bdab9401b4c836854ebbf241675051875557783c332a6a40dac0711" + export CC2 = "${CC}" export BINDIR = "${bindir}" @@ -52,6 +56,3 @@ do_install () { rm ${D}${BINDIR}/kermit-sshsub (cd ${D}${BINDIR} && ln -s ${BINDIR}/kermit kermit-sshusb) } - -SRC_URI[md5sum] = "59e80f909edf305933af8e0348dcc5d7" -SRC_URI[sha256sum] = "9793eb125f8936b079c6d7e5c3d2ff885cfedc07f9d2dd1e7db928e3029a211a" 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 6c3418a0c4..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,11 +11,11 @@ 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 +inherit autotools gettext pkgconfig # Use openssl because libgcrypt drops root privileges # if libgcrypt is linked with libcap support 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/daemonize/daemonize_git.bb b/meta-oe/recipes-support/daemonize/daemonize_git.bb index 57dc15b3f4..8b1591ceff 100644 --- a/meta-oe/recipes-support/daemonize/daemonize_git.bb +++ b/meta-oe/recipes-support/daemonize/daemonize_git.bb @@ -6,7 +6,9 @@ PV = "1.7.3+git${SRCPV}" inherit autotools -SRCREV = "93788682a4749d8b577ce6549d6d3dd6df166ba4" +SRCREV = "a4ac64a243af91dc434b7a3915f43482d528a2b1" SRC_URI = "git://github.com/bmc/daemonize.git" S = "${WORKDIR}/git" + +EXTRA_AUTORECONF += "--exclude=autoheader" 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 30dd9a6faf..0000000000 --- a/meta-oe/recipes-support/debianutils/debianutils_4.4.bb +++ /dev/null @@ -1,58 +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 - -do_configure_prepend() { - sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am -} - -do_install_append() { - for app in ${D}${sbindir}/* ${D}${bindir}/*; do - mv $app $app.${PN} - done - 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.${PN} tempfile.${PN}; do - mv ${D}${bindir}/$app ${D}${base_bindir}/$app - done - fi -} - -pkg_prerm_${PN} () { -if [ "x$D" != "x" ]; then - echo "can't do u-a offline" ; exit 1 -else - for app in add-shell installkernel mkboot remove-shell run-parts savelog sensible-browser sensible-editor sensible-pager tempfile which ; do - update-alternatives --remove $app $app.${PN} - done -fi -} - -pkg_postinst_${PN} () { -if [ "x$D" != "x" ]; then - echo "can't do u-a offline" ; exit 1 -else - for app in add-shell installkernel mkboot remove-shell ; do - update-alternatives --install ${sbindir}/$app $app $app.${PN} 100 - done - - for app in savelog sensible-browser sensible-editor sensible-pager which ; do - update-alternatives --install ${bindir}/$app $app $app.${PN} 100 - done - - for app in run-parts tempfile ; do - update-alternatives --install ${base_bindir}/$app $app $app.${PN} 100 - done -fi -} - - - diff --git a/meta-oe/recipes-support/devicekit/devicekit-power_014.bb b/meta-oe/recipes-support/devicekit/devicekit-power_014.bb index 9484887a82..0c1245fbf3 100644 --- a/meta-oe/recipes-support/devicekit/devicekit-power_014.bb +++ b/meta-oe/recipes-support/devicekit/devicekit-power_014.bb @@ -2,7 +2,7 @@ SUMMARY = "Devicekit power" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=756cf97871f77233638937da21b025d3" -DEPENDS = "libusb-compat libusb1 udev glib-2.0 dbus-glib polkit" +DEPENDS = "libusb-compat libusb1 udev glib-2.0 dbus-glib polkit intltool-native" SRC_URI = "http://upower.freedesktop.org/releases/DeviceKit-power-${PV}.tar.gz;name=archive" SRC_URI[archive.md5sum] = "935d37f1e14b3c8a1d6dabcd9a38d3ca" diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-0.4/0001-Revert-Makefile.am-Drop-static-dfu-util.patch b/meta-oe/recipes-support/dfu-util/dfu-util-0.4/0001-Revert-Makefile.am-Drop-static-dfu-util.patch deleted file mode 100644 index 9ffc5821c8..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util-0.4/0001-Revert-Makefile.am-Drop-static-dfu-util.patch +++ /dev/null @@ -1,49 +0,0 @@ -From b379db29534ce6fa2e185f559e817398b3feb9ea Mon Sep 17 00:00:00 2001 -From: Martin JaMa Jansa <Martin.Jansa@gmail.com> -Date: Thu, 11 Aug 2011 11:19:52 +0200 -Subject: [PATCH] Revert "Makefile.am: Drop static dfu-util" - -This reverts commit fe0426ddc04f503d148c5e5f931f16b8f674f071. - -Conflicts: - - src/Makefile.am - -Signed-off-by: Martin JaMa Jansa <Martin.Jansa@gmail.com> ---- - src/Makefile.am | 15 ++++++++++++++- - 1 files changed, 14 insertions(+), 1 deletions(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index 0674413..ed87891 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -1,6 +1,6 @@ - AM_CFLAGS = -Wall - --bin_PROGRAMS = dfu-util -+bin_PROGRAMS = dfu-util dfu-util_static - dfu_util_SOURCES = main.c \ - dfu_load.c \ - dfu_load.h \ -@@ -11,3 +11,17 @@ dfu_util_SOURCES = main.c \ - dfu_file.h \ - quirks.c \ - quirks.h -+ -+dfu_util_static_SOURCES = main.c \ -+ dfu_load.c \ -+ dfu_load.h \ -+ dfu.c \ -+ dfu.h \ -+ usb_dfu.h \ -+ dfu_file.c \ -+ dfu_file.h \ -+ quirks.c \ -+ quirks.h -+ -+dfu_util_static_LDFLAGS = -static -+dfu_util_static_LDADD = -lusb-1.0 -lrt -lpthread --- -1.7.6 - diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-0.4/no-usbpath.patch b/meta-oe/recipes-support/dfu-util/dfu-util-0.4/no-usbpath.patch deleted file mode 100644 index e4f943e5e3..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util-0.4/no-usbpath.patch +++ /dev/null @@ -1,20 +0,0 @@ -Index: dfu-util-0.4/configure.ac -=================================================================== ---- dfu-util-0.4.orig/configure.ac 2011-08-10 22:22:30.000000000 +0200 -+++ dfu-util-0.4/configure.ac 2011-08-10 22:22:57.000000000 +0200 -@@ -18,14 +18,12 @@ - # Checks for libraries. - PKG_CHECK_MODULES(USB, libusb-1.0 >= 1.0.0,, - AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***])) --AC_CHECK_LIB([usbpath],[usb_path2devnum],,,-lusb) -- - LIBS="$LIBS $USB_LIBS" - CFLAGS="$CFLAGS $USB_CFLAGS" - - # Checks for header files. - AC_HEADER_STDC --AC_CHECK_HEADERS([stdlib.h string.h stdio.h usbpath.h]) -+AC_CHECK_HEADERS([stdlib.h string.h stdio.h]) - - # Checks for typedefs, structures, and compiler characteristics. - AC_C_CONST diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-native_0.4.bb b/meta-oe/recipes-support/dfu-util/dfu-util-native_0.7.bb index ce6e566fa7..8be9d850e0 100644 --- a/meta-oe/recipes-support/dfu-util/dfu-util-native_0.4.bb +++ b/meta-oe/recipes-support/dfu-util/dfu-util-native_0.7.bb @@ -6,7 +6,7 @@ do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" DEPENDS = "libusb1-native" FILESPATH =. "${FILE_DIRNAME}/${BPN}-${PV}:" -SRC_URI += "file://0001-Revert-Makefile.am-Drop-static-dfu-util.patch" +SRC_URI += "file://0002-Revert-Makefile.am-Drop-static-dfu-util.patch" do_deploy() { install -d ${DEPLOY_DIR_TOOLS} diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb b/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb deleted file mode 100644 index 4bed46aa70..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb +++ /dev/null @@ -1,16 +0,0 @@ -require dfu-util_${PV}.bb - -inherit native deploy -do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" - -DEPENDS = "libusb-compat usbpath-native" - -do_deploy() { - install -d ${DEPLOY_DIR_TOOLS} - install -m 0755 src/dfu-util_static ${DEPLOY_DIR_TOOLS}/dfu-util-${PV} - rm -f ${DEPLOY_DIR_TOOLS}/dfu-util - ln -sf ./dfu-util-${PV} ${DEPLOY_DIR_TOOLS}/dfu-util - -} - -addtask deploy before do_package after do_install diff --git a/meta-oe/recipes-support/dfu-util/dfu-util.inc b/meta-oe/recipes-support/dfu-util/dfu-util.inc deleted file mode 100644 index 633b829b2a..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util.inc +++ /dev/null @@ -1,9 +0,0 @@ -DESCRIPTION = "USB Device Firmware Upgrade utility" -SECTION = "devel" -AUTHOR = "Harald Welte <laforge@openmoko.org>" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -SRC_URI = "http://dfu-util.gnumonks.org/releases/dfu-util-${PV}.tar.gz" - -inherit autotools diff --git a/meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch b/meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch new file mode 100644 index 0000000000..a583c333d7 --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch @@ -0,0 +1,38 @@ +From 63f6f6882f3813ab22c62806feeab942579a2acf Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Sun, 3 Aug 2014 17:50:06 +0200 +Subject: [PATCH 1/2] configure.ac: Don't check for usbpath + +* otherwise it fails to build with -lusb + | main.o: In function `resolve_device_path': + | dfu-util/0.7-r0/dfu-util-0.7/src/main.c:371: undefined reference to `usb_path2devnum' + | collect2: error: ld returned 1 exit status + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + configure.ac | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 700b556..fb58473 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,14 +22,13 @@ AS_IF([test x$native_libusb = xno], [ + PKG_CHECK_MODULES([USB], [libusb-1.0 >= 1.0.0],, + AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***])) + ]) +-AC_CHECK_LIB([usbpath],[usb_path2devnum],,,-lusb) + + LIBS="$LIBS $USB_LIBS" + CFLAGS="$CFLAGS $USB_CFLAGS" + + # Checks for header files. + AC_HEADER_STDC +-AC_CHECK_HEADERS([usbpath.h windows.h]) ++AC_CHECK_HEADERS([windows.h]) + + # Checks for typedefs, structures, and compiler characteristics. + AC_C_CONST +-- +2.0.2 + diff --git a/meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch b/meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch new file mode 100644 index 0000000000..de17808e12 --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch @@ -0,0 +1,67 @@ +From 440a026379ff111aaa8314db1c29ffae8f482824 Mon Sep 17 00:00:00 2001 +From: Martin JaMa Jansa <Martin.Jansa@gmail.com> +Date: Thu, 11 Aug 2011 11:19:52 +0200 +Subject: [PATCH 2/2] Revert "Makefile.am: Drop static dfu-util" + +This reverts commit fe0426ddc04f503d148c5e5f931f16b8f674f071. + +Signed-off-by: Martin JaMa Jansa <Martin.Jansa@gmail.com> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + configure.ac | 2 +- + src/Makefile.am | 20 +++++++++++++++++++- + 2 files changed, 20 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index fb58473..09b9e5a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -23,7 +23,7 @@ AS_IF([test x$native_libusb = xno], [ + AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***])) + ]) + +-LIBS="$LIBS $USB_LIBS" ++LIBS="$LIBS $USB_LIBS -lpthread" + CFLAGS="$CFLAGS $USB_CFLAGS" + + # Checks for header files. +diff --git a/src/Makefile.am b/src/Makefile.am +index 99df307..28d53f7 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -1,6 +1,6 @@ + AM_CFLAGS = -Wall + +-bin_PROGRAMS = dfu-util dfu-suffix ++bin_PROGRAMS = dfu-util dfu-util_static dfu-suffix + dfu_util_SOURCES = main.c \ + portable.h \ + dfu_load.c \ +@@ -17,6 +17,24 @@ dfu_util_SOURCES = main.c \ + quirks.c \ + quirks.h + ++dfu_util_static_SOURCES = main.c \ ++ portable.h \ ++ dfu_load.c \ ++ dfu_load.h \ ++ dfuse.c \ ++ dfuse.h \ ++ dfuse_mem.c \ ++ dfuse_mem.h \ ++ dfu.c \ ++ dfu.h \ ++ usb_dfu.h \ ++ dfu_file.c \ ++ dfu_file.h \ ++ quirks.c \ ++ quirks.h ++ ++dfu_util_static_LDFLAGS = -static ++ + dfu_suffix_SOURCES = suffix.c \ + dfu_file.h \ + dfu_file.c \ +-- +2.0.2 + diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb deleted file mode 100644 index b63d74d1ad..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb +++ /dev/null @@ -1,10 +0,0 @@ -require dfu-util.inc - -PR = "r1" - -DEPENDS = "virtual/libusb0 usbpath" - -BBCLASSEXTEND = "native" - -SRC_URI[md5sum] = "454b931249d29e4a6c2a2ade17858490" -SRC_URI[sha256sum] = "a27cc667be9b158fecf0ed066698e30eca0c0b3cd7a85aad2058d47ffe16f0e1" diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.4.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.4.bb deleted file mode 100644 index 12d6af6af4..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util_0.4.bb +++ /dev/null @@ -1,8 +0,0 @@ -require dfu-util.inc - -DEPENDS = "libusb1" - -SRC_URI += "file://no-usbpath.patch" - -SRC_URI[md5sum] = "2cf466fabb881e8598fa02f286d3242c" -SRC_URI[sha256sum] = "f60fea987aa06ee03da22a656d1d113ac224458ec4442bcf1764a62f0930bd07" 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 new file mode 100644 index 0000000000..7f06f8f6af --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "USB Device Firmware Upgrade utility" +SECTION = "devel" +AUTHOR = "Harald Welte <laforge@openmoko.org>" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +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] = "1de724551604bce1962960b7a301cc08" +SRC_URI[sha256sum] = "5d253f924fd29bc13054b664bba9aa86b865299971195969478253c1775b7e56" diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb b/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb deleted file mode 100644 index 026a904f27..0000000000 --- a/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb +++ /dev/null @@ -1,16 +0,0 @@ -SUMMARY = "USB Device Firmware Upgrade utility" -SECTION = "devel" -AUTHOR = "Harald Welte <laforge@openmoko.org>" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -SRCREV = "4160" -PV = "0.1+svnr${SRCPV}" -PR = "r2" - -DEPENDS = "virtual/libusb0 usbpath" - -SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=dfu-util;protocol=http" -S = "${WORKDIR}/dfu-util" - -inherit autotools - 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/eject/eject/eject-2.1.1-verbose.patch b/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch new file mode 100644 index 0000000000..7403606065 --- /dev/null +++ b/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch @@ -0,0 +1,19 @@ +Kept to help with debugging + +Upstream-Status: Pending + +Signed-off-by: Morgan Little <morgan.little@windriver.com> + +--- eject-2.1.1/eject.c.tn 2005-08-24 11:27:42.000000000 +0200 ++++ eject-2.1.1/eject.c 2005-08-24 11:33:05.000000000 +0200 +@@ -638,7 +638,9 @@ + unsigned char sense_buffer[32]; + + if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { +- printf("not an sg device, or old sg driver\n"); ++ if (v_option) { ++ printf(_("not an sg device, or old sg driver\n")); ++ } + return 0; + } + diff --git a/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch b/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch new file mode 100644 index 0000000000..a16c4b1ceb --- /dev/null +++ b/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch @@ -0,0 +1,66 @@ +Kept to help with spaces in the mount path + +Upstream-Status: Backport + +Linux mangles spaces in mount points by changing them to an octal string +of '\040'. So lets scan the mount point and fix it up by replacing all +occurrences off '\0##' with the ASCII value of 0##. Requires a writable +string as input as we mangle in place. Some of this was taken from the +util-linux package. + +Signed-off-by: Morgan Little <morgan.little@windriver.com> +--- eject/eject.c.ori 2007-06-24 00:08:44 -0700 ++++ eject/eject.c 2007-06-24 00:12:44 -0700 +@@ -370,6 +370,30 @@ + + + /* ++ * Linux mangles spaces in mount points by changing them to an octal string ++ * of '\040'. So lets scan the mount point and fix it up by replacing all ++ * occurrences off '\0##' with the ASCII value of 0##. Requires a writable ++ * string as input as we mangle in place. Some of this was taken from the ++ * util-linux package. ++ */ ++#define octalify(a) ((a) & 7) ++#define tooctal(s) (64*octalify(s[1]) + 8*octalify(s[2]) + octalify(s[3])) ++#define isoctal(a) (((a) & ~7) == '0') ++static char *DeMangleMount(char *s) ++{ ++ char *tmp = s; ++ while ((tmp = strchr(tmp, '\\')) != NULL) { ++ if (isoctal(tmp[1]) && isoctal(tmp[2]) && isoctal(tmp[3])) { ++ tmp[0] = tooctal(tmp); ++ memmove(tmp+1, tmp+4, strlen(tmp)-3); ++ } ++ ++tmp; ++ } ++ return s; ++} ++ ++ ++/* + * Given name, such as foo, see if any of the following exist: + * + * foo (if foo starts with '.' or '/') +@@ -884,8 +908,8 @@ + if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) || + ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) { + FCLOSE(fp); +- *deviceName = strdup(s1); +- *mountName = strdup(s2); ++ *deviceName = DeMangleMount(strdup(s1)); ++ *mountName = DeMangleMount(strdup(s2)); + return 1; + } + } +@@ -928,8 +952,8 @@ + rc = sscanf(line, "%1023s %1023s", s1, s2); + if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { + FCLOSE(fp); +- *deviceName = strdup(s1); +- *mountName = strdup(s2); ++ *deviceName = DeMangleMount(strdup(s1)); ++ *mountName = DeMangleMount(strdup(s2)); + return 1; + } + } diff --git a/meta-oe/recipes-support/eject/eject/eject-timeout.patch b/meta-oe/recipes-support/eject/eject/eject-timeout.patch new file mode 100644 index 0000000000..de8146f32a --- /dev/null +++ b/meta-oe/recipes-support/eject/eject/eject-timeout.patch @@ -0,0 +1,17 @@ +allow a longer timeout + +Upstream-Status: Backport + +Signed-off-by: Morgan Little <morgan.little@windriver.com> + +--- eject/eject.c.orig 2006-08-07 16:35:15.000000000 +0200 ++++ eject/eject.c 2006-08-07 16:35:54.000000000 +0200 +@@ -723,7 +723,7 @@ + io_hdr.dxfer_len = 0; + io_hdr.dxferp = inqBuff; + io_hdr.sbp = sense_buffer; +- io_hdr.timeout = 2000; ++ io_hdr.timeout = 10000; + + io_hdr.cmdp = allowRmBlk; + status = ioctl(fd, SG_IO, (void *)&io_hdr); diff --git a/meta-oe/recipes-support/eject/eject_2.1.5.bb b/meta-oe/recipes-support/eject/eject_2.1.5.bb index c47c653444..0440f0c370 100644 --- a/meta-oe/recipes-support/eject/eject_2.1.5.bb +++ b/meta-oe/recipes-support/eject/eject_2.1.5.bb @@ -7,6 +7,9 @@ inherit autotools gettext update-alternatives SRC_URI = "http://sources.openembedded.org/${BP}.tar.gz \ file://eject-2.1.5-error-return.patch \ + file://eject-2.1.1-verbose.patch \ + file://eject-2.1.5-spaces.patch \ + file://eject-timeout.patch \ " SRC_URI[md5sum] = "b96a6d4263122f1711db12701d79f738" @@ -16,6 +19,14 @@ S = "${WORKDIR}/${BPN}" PR = "r1" +do_compile_prepend() { + # PO subdir must be in build directory + if [ ! ${S} = ${B} ]; then + mkdir -p ${B}/po + cp -r ${S}/po/* ${B}/po/ + fi +} + ALTERNATIVE_${PN} = "volname eject" ALTERNATIVE_LINK_NAME[volname] = "${bindir}/volname" ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject" 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 e65a143e51..184b27e534 100644 --- a/meta-oe/recipes-support/enca/enca_1.9.bb +++ b/meta-oe/recipes-support/enca/enca_1.9.bb @@ -2,6 +2,8 @@ SUMMARY = "Enca is an Extremely Naive Charset Analyser" SECTION = "libs" HOMEPAGE = "http://trific.ath.cx/software/enca/" +DEPENDS += "gettext-native" + LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=24b9569831c46d4818450b55282476b4" @@ -9,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" @@ -20,17 +23,17 @@ EXTRA_OECONF = "--with-libiconv-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}" do_configure_prepend() { # remove failing test which checks for something that isn't even used - sed -i -e '/ye_FUNC_SCANF_MODIF_SIZE_T/d' configure.ac + sed -i -e '/ye_FUNC_SCANF_MODIF_SIZE_T/d' ${S}/configure.ac } do_configure_append() { - sed -i s:-I/usr/include::g Makefile - sed -i s:-I/usr/include::g */Makefile + sed -i s:-I/usr/include::g ${B}/Makefile + sed -i s:-I/usr/include::g ${B}/*/Makefile } do_compile() { cd ${S}/tools && ${BUILD_CC} -o make_hash make_hash.c - cd .. + cd ${B} oe_runmake } 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/evtest/evtest_1.25.bb b/meta-oe/recipes-support/evtest/evtest_git.bb index 34b5b74227..6fbb77d903 100644 --- a/meta-oe/recipes-support/evtest/evtest_1.25.bb +++ b/meta-oe/recipes-support/evtest/evtest_git.bb @@ -7,8 +7,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" DEPENDS = "libxml2" -SRC_URI = "http://cgit.freedesktop.org/~whot/evtest/snapshot/evtest-${PV}.tar.bz2;name=archive" -SRC_URI[archive.md5sum] = "770d6af03affe976bdbe3ad1a922c973" -SRC_URI[archive.sha256sum] = "3d34123c68014dae6f7c19144ef79ea2915fa7a2f89ea35ca375a9cf9e191473" +SRCREV = "0e14da978ea906c7fdaf90f54f798a542e79ce8f" +SRC_URI = "git://anongit.freedesktop.org/evtest;protocol=git" -inherit autotools +PV = "1.31+${SRCPV}" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig diff --git a/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb index a1029b34e3..beb610813a 100644 --- a/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb +++ b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb @@ -1,6 +1,6 @@ DESCRIPTION = "FarSight is an audio/video conferencing framework specifically designed for Instant Messengers." HOMEPAGE = "http://farsight.sf.net" -SRC_URI = "http://farsight.freedesktop.org/releases/farsight2/${P}.tar.gz" +SRC_URI = "http://farsight.freedesktop.org/releases/farsight2/${BP}.tar.gz" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" diff --git a/meta-oe/recipes-support/farsight/libnice_0.0.13.bb b/meta-oe/recipes-support/farsight/libnice_0.0.13.bb index 3205aaf357..711b6bdbf0 100644 --- a/meta-oe/recipes-support/farsight/libnice_0.0.13.bb +++ b/meta-oe/recipes-support/farsight/libnice_0.0.13.bb @@ -16,13 +16,17 @@ DEPENDS = "glib-2.0 gstreamer" PACKAGECONFIG ??= "" PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd" -inherit autotools +inherit autotools pkgconfig gtk-doc FILES_${PN} += "${libdir}/gstreamer-0.10/*.so" FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la" FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a" FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug" +do_configure_prepend() { + mkdir ${S}/m4 || true +} + do_compile_append() { for i in $(find ${S} -name "*.pc") ; do sed -i -e s:${STAGING_DIR_TARGET}::g \ diff --git a/meta-oe/recipes-support/fbset/fbset_2.1.bb b/meta-oe/recipes-support/fbset/fbset_2.1.bb index 0639afc3c5..18559326a1 100644 --- a/meta-oe/recipes-support/fbset/fbset_2.1.bb +++ b/meta-oe/recipes-support/fbset/fbset_2.1.bb @@ -18,13 +18,13 @@ SRC_URI = "http://ftp.debian.org/debian/pool/main/f/fbset/fbset_2.1.orig.tar.gz file://fbset-2.1-fix-makefile-dep.patch \ " -inherit autotools-brokensep update-alternatives +inherit update-alternatives do_install() { install -d ${D}${sbindir} ${D}${datadir}/man/man8 ${D}${datadir}/man/man5 - install -m 0755 ${WORKDIR}/${P}/fbset ${D}${sbindir}/fbset.real - install -m 0644 ${WORKDIR}/${P}/*.5 ${D}${datadir}/man/man5 - install -m 0644 ${WORKDIR}/${P}/*.8 ${D}${datadir}/man/man8 + install -m 0755 ${WORKDIR}/${BP}/fbset ${D}${sbindir}/fbset.real + install -m 0644 ${WORKDIR}/${BP}/*.5 ${D}${datadir}/man/man5 + install -m 0644 ${WORKDIR}/${BP}/*.8 ${D}${datadir}/man/man8 } ALTERNATIVE_fbset = "fbset" diff --git a/meta-oe/recipes-support/fbtest/fb-test_git.bb b/meta-oe/recipes-support/fbtest/fb-test_git.bb index c8b4a1beae..13f9e377a8 100644 --- a/meta-oe/recipes-support/fbtest/fb-test_git.bb +++ b/meta-oe/recipes-support/fbtest/fb-test_git.bb @@ -1,19 +1,20 @@ SUMMARY = "Test suite for Linux framebuffer" -PV = "0.0" +PV = "1.1.0" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" -SRCREV = "85eab266b123a08098af86afdb1599947d276e32" +SRCREV = "063ec650960c2d79ac51f5c5f026cb05343a33e2" 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/flite/flite.inc b/meta-oe/recipes-support/flite/flite.inc index b9d5e5aa62..0ef82c004c 100644 --- a/meta-oe/recipes-support/flite/flite.inc +++ b/meta-oe/recipes-support/flite/flite.inc @@ -11,7 +11,7 @@ S = "${WORKDIR}/flite-${PV}-release" CFLAGS += " -lasound " -inherit autotools +inherit autotools-brokensep PACKAGES += "lib${PN} lib${PN}-vox8 lib${PN}-vox16" 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 490946096f..fa01455312 100644 --- a/meta-oe/recipes-support/fltk/fltk_1.1.10.bb +++ b/meta-oe/recipes-support/fltk/fltk_1.1.10.bb @@ -16,7 +16,7 @@ SRC_URI = "ftp://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/fltk/${PV}/fl S = "${WORKDIR}/fltk-${PV}" -inherit lib_package autotools binconfig +inherit lib_package autotools-brokensep binconfig TARGET_CC_ARCH += "${LDFLAGS} -DXFT_MAJOR=2" diff --git a/meta-oe/recipes-support/gd/gd_2.1.0.bb b/meta-oe/recipes-support/gd/gd_2.1.0.bb index d92e6395f8..f03b9b08b8 100644 --- a/meta-oe/recipes-support/gd/gd_2.1.0.bb +++ b/meta-oe/recipes-support/gd/gd_2.1.0.bb @@ -10,7 +10,7 @@ HOMEPAGE = "http://libgd.bitbucket.org/" SECTION = "libs" LICENSE = "GD" LIC_FILES_CHKSUM = "file://COPYING;md5=c97638cafd3581eb87abd37332137669" -DEPENDS = "freetype libpng jpeg zlib" +DEPENDS = "freetype libpng jpeg zlib tiff libvpx" SRC_URI = "https://bitbucket.org/libgd/gd-libgd/downloads/libgd-${PV}.tar.bz2 \ file://fix-the-subdir-objects-error.patch \ @@ -20,7 +20,7 @@ SRC_URI[sha256sum] = "f3e1bc472bd81ee976a739436659fe752a14727a964c64530fde68531d S = "${WORKDIR}/libgd-${PV}" -inherit autotools binconfig gettext +inherit autotools binconfig gettext pkgconfig EXTRA_OECONF += " --disable-rpath \ --with-jpeg=${STAGING_LIBDIR}/.. \ 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/i2c-tools/i2c-tools-3.1.0/Module.mk b/meta-oe/recipes-support/i2c-tools/i2c-tools-3.1.0/Module.mk deleted file mode 100644 index fcaf72f22a..0000000000 --- a/meta-oe/recipes-support/i2c-tools/i2c-tools-3.1.0/Module.mk +++ /dev/null @@ -1,72 +0,0 @@ -# EEPROMER -# -# Licensed under the GNU General Public License. - -EEPROMER_DIR := eepromer - -EEPROMER_CFLAGS := -Wstrict-prototypes -Wshadow -Wpointer-arith -Wcast-qual \ - -Wcast-align -Wwrite-strings -Wnested-externs -Winline \ - -W -Wundef -Wmissing-prototypes -Iinclude - -EEPROMER_TARGETS := eepromer eeprom eeprog - -# -# Programs -# - -$(EEPROMER_DIR)/eepromer: $(EEPROMER_DIR)/eepromer.o - $(CC) $(LDFLAGS) -o $@ $^ - -$(EEPROMER_DIR)/eeprom: $(EEPROMER_DIR)/eeprom.o - $(CC) $(LDFLAGS) -o $@ $^ - -$(EEPROMER_DIR)/eeprog: $(EEPROMER_DIR)/eeprog.o $(EEPROMER_DIR)/24cXX.o - $(CC) $(LDFLAGS) -o $@ $^ - -# -# Objects -# - -$(EEPROMER_DIR)/eepromer.o: $(EEPROMER_DIR)/eepromer.c - $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@ - -$(EEPROMER_DIR)/eeprom.o: $(EEPROMER_DIR)/eeprom.c - $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@ - -$(EEPROMER_DIR)/eeprog.o: $(EEPROMER_DIR)/eeprog.c - $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@ - -$(EEPROMER_DIR)/24cXX.o: $(EEPROMER_DIR)/24cXX.c - $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@ - -# -# Commands -# - -all-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS)) - -strip-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS)) - strip $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS)) - -clean-eepromer: - $(RM) $(addprefix $(EEPROMER_DIR)/,*.o $(EEPROMER_TARGETS)) - -install-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS)) - $(INSTALL_DIR) $(DESTDIR)$(sbindir) $(DESTDIR)$(man8dir) - for program in $(EEPROMER_TARGETS) ; do \ - $(INSTALL_PROGRAM) $(EEPROMER_DIR)/$$program $(DESTDIR)$(sbindir) ; done - -uninstall-eepromer: - for program in $(EEPROMER_TARGETS) ; do \ - $(RM) $(DESTDIR)$(sbindir)/$$program ; \ - $(RM) $(DESTDIR)$(man8dir)/$$program.8 ; done - -all: all-eepromer - -strip: strip-eepromer - -clean: clean-eepromer - -install: install-eepromer - -uninstall: uninstall-eepromer diff --git a/meta-oe/recipes-support/i2c-tools/i2c-tools_3.1.0.bb b/meta-oe/recipes-support/i2c-tools/i2c-tools_3.1.0.bb deleted file mode 100644 index b8be9eddda..0000000000 --- a/meta-oe/recipes-support/i2c-tools/i2c-tools_3.1.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Set of i2c tools for linux" -SECTION = "base" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" - -RDEPENDS_${PN} += "perl" - -SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/i2c-tools/i2c-tools-3.1.0.tar.bz2/f15019e559e378c6e9d5d6299a00df21/i2c-tools-${PV}.tar.bz2 \ - file://Module.mk \ -" -SRC_URI[md5sum] = "f15019e559e378c6e9d5d6299a00df21" -SRC_URI[sha256sum] = "960023f61de292c6dd757fcedec4bffa7dd036e8594e24b26a706094ca4c142a" - -inherit autotools-brokensep - -do_compile_prepend() { - cp ${WORKDIR}/Module.mk ${S}/eepromer/ - sed -i 's#/usr/local#/usr#' ${S}/Makefile - echo "include eepromer/Module.mk" >> ${S}/Makefile -} - -do_install_append() { - install -d ${D}${includedir}/linux - install -m 0644 include/linux/i2c-dev.h ${D}${includedir}/linux/i2c-dev-user.h - rm -f ${D}${includedir}/linux/i2c-dev.h -} diff --git a/meta-oe/recipes-support/iksemel/iksemel_1.4.bb b/meta-oe/recipes-support/iksemel/iksemel_1.4.bb index c7de2f4ced..6d2abf7cea 100644 --- a/meta-oe/recipes-support/iksemel/iksemel_1.4.bb +++ b/meta-oe/recipes-support/iksemel/iksemel_1.4.bb @@ -8,7 +8,7 @@ DEPENDS = "gnutls" PR = "r1" -SRC_URI = "http://iksemel.googlecode.com/files/${P}.tar.gz;name=archive \ +SRC_URI = "http://iksemel.googlecode.com/files/${BP}.tar.gz;name=archive \ file://r25.diff" SRC_URI[archive.md5sum] = "532e77181694f87ad5eb59435d11c1ca" SRC_URI[archive.sha256sum] = "458c1b8fb3349076a6cecf26c29db1d561315d84e16bfcfba419f327f502e244" 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 e261eb8b70..1252020d27 100644 --- a/meta-oe/recipes-support/imagemagick/imagemagick_6.8.8.bb +++ b/meta-oe/recipes-support/imagemagick/imagemagick_6.8.9.bb @@ -2,26 +2,30 @@ SUMMARY = "ImageMagick is an image convertion tools" SECTION = "console/utils" LICENSE = "ImageMagick" LIC_FILES_CHKSUM = "file://LICENSE;md5=5d84c6ddd4028aa53d028b4c50f9361e" -# FIXME: There is much more checked libraries. All should be added or explicitly disabled to get consistent results. -DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib fftw freetype" +# 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 virtual/fftw freetype" -PATCHSET = "10" -SRC_URI = "http://www.imagemagick.org/download/legacy/ImageMagick-${PV}-${PATCHSET}.tar.bz2 \ - file://remove.dist-lzip.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,--without-jp2,jasper" +PACKAGECONFIG[jp2] = "--with-jp2,,jasper" +PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz" +PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo" +PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" +PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf" FILES_${PN} += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.so \ ${libdir}/ImageMagick-${PV}/modules-Q16/*/*.la \ @@ -35,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/libatasmart/libatasmart_0.19.bb b/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb index 21f4e2ac4b..16657b4b13 100644 --- a/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb +++ b/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb @@ -9,7 +9,7 @@ SRC_URI = "git://git.0pointer.de/libatasmart.git" S = "${WORKDIR}/git" -inherit autotools lib_package +inherit autotools lib_package pkgconfig do_install_append() { sed -i -e s://:/:g -e 's:=${libdir}/libudev.la:-ludev:g' ${D}${libdir}/libatasmart.la diff --git a/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb b/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb index b10c3fde95..0f00b209fb 100644 --- a/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb +++ b/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ DEPENDS = "gstreamer gtk+ gtk+3 libtool libvorbis" -inherit autotools +inherit autotools gtk-doc SRC_URI = " \ http://0pointer.de/lennart/projects/${BPN}/${BPN}-${PV}.tar.xz \ @@ -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/libee/libee.inc b/meta-oe/recipes-support/libee/libee.inc new file mode 100644 index 0000000000..5b552ca2a6 --- /dev/null +++ b/meta-oe/recipes-support/libee/libee.inc @@ -0,0 +1,39 @@ +SUMMARY = "An Event Expression Library inspired by CEE" +DESCRIPTION = "The core idea of libee is to provide a small \ +but hopefully convenient API layer above the CEE standard." + +HOMEPAGE = "http://www.libee.org" +SECTION = "base" + +LICENSE = "LGPL-2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=1c2687de35e36ba3b999136236a66cd6" + +SRC_URI = "http://www.libee.org/download/files/download/${BPN}-${PV}.tar.gz\ + file://libee-parallel-make.patch \ + file://run-ptest \ + file://ezapi1.sh \ +" + +inherit autotools ptest pkgconfig + +DEPENDS += "libestr" + +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'ptest', 'testbench', '', d)}" + +PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,," +PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,," + +TESTDIR = "tests" + +# We presume the tests we are going to install so just build them directly. +# +do_compile_ptest() { + oe_runmake -C ${TESTDIR} genfile ezapi1 +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH} + install -m 0755 ${B}/${TESTDIR}/genfile ${D}${PTEST_PATH} + install -m 0755 ${B}/${TESTDIR}/.libs/ezapi1 ${D}${PTEST_PATH} + install -m 0755 ${WORKDIR}/ezapi1.sh ${D}${PTEST_PATH} +} diff --git a/meta-oe/recipes-support/libee/libee/ezapi1.sh b/meta-oe/recipes-support/libee/libee/ezapi1.sh new file mode 100755 index 0000000000..e9db5e614b --- /dev/null +++ b/meta-oe/recipes-support/libee/libee/ezapi1.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# +echo --------------------------------------------------------------------------- +echo A very basic test for the event class +echo --------------------------------------------------------------------------- +rm -f infile +./genfile 100 > infile +./ezapi1 -iinfile +if [ $? -ne 0 ] ; then + echo "FAIL: $0" + exit 1 +fi +echo "PASS: $0" +rm -f infile diff --git a/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch b/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch new file mode 100644 index 0000000000..25e5c6ae02 --- /dev/null +++ b/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch @@ -0,0 +1,20 @@ +fix parallel compiling problem + +without specifying libee_convert_DEPENDENCIES = libee.la, libee_convert +can't find libee.la when linking as libee is not generated yet. + +Upstream-Status: pending + +Signed-off-by: Yao Zhao <yao.zhao@windriver.com> +--- +diff --git a/src/Makefile.am b/src/Makefile.am +index 08aaa9e..f0c78f7 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -46,5 +46,6 @@ libee_la_LDFLAGS = -version-info 0:0:0 + libee_convert_SOURCES = convert.c + libee_convert_CPPFLAGS = -I$(top_srcdir) $(LIBEE_CFLAGS) $(LIBESTR_CFLAGS) $(LIBXML2_CFLAGS) + libee_convert_LDADD = $(LIBEE_LIBS) $(LIBXML2_LIBS) $(LIBESTR_LIBS) ++libee_convert_DEPENDENCIES = libee.la + + include_HEADERS = diff --git a/meta-oe/recipes-support/libee/libee/run-ptest b/meta-oe/recipes-support/libee/libee/run-ptest new file mode 100755 index 0000000000..3cb6607645 --- /dev/null +++ b/meta-oe/recipes-support/libee/libee/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh +# +./ezapi1.sh diff --git a/meta-oe/recipes-support/libee/libee_0.4.1.bb b/meta-oe/recipes-support/libee/libee_0.4.1.bb new file mode 100644 index 0000000000..ef2c20db5a --- /dev/null +++ b/meta-oe/recipes-support/libee/libee_0.4.1.bb @@ -0,0 +1,4 @@ +require ${BPN}.inc + +SRC_URI[md5sum] = "7bbf4160876c12db6193c06e2badedb2" +SRC_URI[sha256sum] = "c0dac01938593deee06c3d161e4eda4ecc0fd7317e1321bd96e301aceb7fb027" diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb b/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb index 4183f0521c..de5186f10c 100644 --- a/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb +++ b/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb @@ -13,9 +13,6 @@ S = "${WORKDIR}/eigen-eigen-ffa86ffb5570" inherit cmake -OECMAKE_SOURCEPATH = ".." -OECMAKE_BUILDPATH = "build" - EXTRA_OECMAKE += "-Dpkg_config_libdir=${libdir}" FILES_${PN} = "${includedir} ${libdir}" diff --git a/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch b/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch new file mode 100644 index 0000000000..4f0161727f --- /dev/null +++ b/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch @@ -0,0 +1,16 @@ +Index: libetpan-0.57/rules.mk +=================================================================== +--- libetpan-0.57.orig/rules.mk ++++ libetpan-0.57/rules.mk +@@ -134,9 +134,9 @@ prepare-am: prepare-local + if test -e ../../$(subdir)/$${hdr}; then \ + echo "$(LN_S) -f ../../$(subdir)/$${hdr} ."; \ + $(LN_S) -f ../../$(subdir)/$${hdr} .; \ + else \ +- echo "$(LN_S) -f ../../$(subdir)/$(srcdir)/$${hdr} ."; \ +- $(LN_S) -f ../../$(subdir)/$(srcdir)/$${hdr} .; \ ++ echo "$(LN_S) -f $(srcdir)/$${hdr} ."; \ ++ $(LN_S) -f $(srcdir)/$${hdr} .; \ + fi; \ + fi; \ + done; \ diff --git a/meta-oe/recipes-support/libetpan/libetpan_0.57.bb b/meta-oe/recipes-support/libetpan/libetpan_0.57.bb index 0dbd782025..6be0694ef1 100644 --- a/meta-oe/recipes-support/libetpan/libetpan_0.57.bb +++ b/meta-oe/recipes-support/libetpan/libetpan_0.57.bb @@ -10,7 +10,8 @@ PR = "r1" SRC_URI = "${SOURCEFORGE_MIRROR}/libetpan/libetpan-${PV}.tar.gz \ file://libetpan-autoreconf.patch \ - file://libetpan-ldflags.patch" + file://libetpan-ldflags.patch \ + file://sepbuild.patch" inherit autotools pkgconfig gettext binconfig 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 a62236f7cb..0000000000 --- a/meta-oe/recipes-support/libftdi/libftdi_0.19.bb +++ /dev/null @@ -1,29 +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 \ -" - -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/libgc/libgc_7.2d.bb b/meta-oe/recipes-support/libgc/libgc_7.2d.bb deleted file mode 100644 index b472a5d13e..0000000000 --- a/meta-oe/recipes-support/libgc/libgc_7.2d.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Garbage Collection Library" -DESCRIPTION = "The GC library provides a garbage collector for C and C++." -HOMEPAGE = "http://www.hpl.hp.com/personal/Hans_Boehm/gc/" - -LICENSE = "GPLv2 & MIT" -LIC_FILES_CHKSUM = "file://doc/README;beginline=1;endline=37;md5=9f4fd307082acf7a8af3e3897245163b \ - file://README.QUICK;beginline=1;endline=23;md5=293ea42f3f606426deefadd5dd8ddd15 \ -" - -SRC_URI = "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-${PV}.tar.gz" - -SRC_URI[md5sum] = "91340b28c61753a789eb6077675d87d2" -SRC_URI[sha256sum] = "d9fe0ae8650d43746a48bfb394cab01a319f3809cee19f8ebd16aa985b511c5e" - -S = "${WORKDIR}/gc-7.2" - -inherit autotools - -PACKAGES =+ "${PN}-docs" -FILES_${PN}-docs = "/usr/share/gc" 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/libmicrohttpd/libmicrohttpd_0.9.34.bb b/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb index 5de939060e..e3c833bf40 100644 --- a/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb +++ b/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/" LICENSE = "LGPL-2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=9331186f4f80db7da0e724bdd6554ee5" SECTION = "net" -DEPENDS = "libgcrypt gnutls" +DEPENDS = "libgcrypt gnutls file" SRC_URI = "http://ftp.gnu.org/gnu/libmicrohttpd/${BPN}-${PV}.tar.gz" SRC_URI[md5sum] = "2947eee13c2c8affb95023a0cb6fda0c" @@ -11,7 +11,8 @@ SRC_URI[sha256sum] = "29a2bfd4fd2ddf60c756b8c283291a134898e3cc143843be421a040be1 inherit autotools lib_package -EXTRA_OECONF += "-disable-static --enable-gnutls" +# disable spdy, because it depends on openssl +EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../ --disable-spdy" PACKAGECONFIG ?= "curl" PACKAGECONFIG_append_class-target = "\ diff --git a/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb b/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb index 3aa574691b..3311da5a8f 100644 --- a/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb +++ b/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb @@ -7,10 +7,10 @@ LICENSE = "MIT|GPL-2.0" LIC_FILES_CHKSUM = "file://COPYING.MIT;md5=6266718a5241c045c8099d9be48817df \ file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3" SECTION = "libs" -DEPENDS = "curl" +DEPENDS = "curl openssl" SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BP}.tar.gz" SRC_URI[md5sum] = "689b46c2b3ab1a39735ac33f714c4f7f" SRC_URI[sha256sum] = "0df60157b052f0e774ade8a8bac59d6e8d4b464058cc55f9208d72e41156811f" -inherit autotools +inherit autotools pkgconfig diff --git a/meta-oe/recipes-support/libol/libol/configure.patch b/meta-oe/recipes-support/libol/libol/configure.patch new file mode 100644 index 0000000000..87695fb06d --- /dev/null +++ b/meta-oe/recipes-support/libol/libol/configure.patch @@ -0,0 +1,14 @@ +Index: libol-0.3.18/configure.in +=================================================================== +--- libol-0.3.18.orig/configure.in 2006-03-27 14:44:52.000000000 +0000 ++++ libol-0.3.18/configure.in 2014-07-18 07:05:56.029481372 +0000 +@@ -1,7 +1,7 @@ + dnl Process this file with autoconf to produce a configure script. +-AC_INIT(src/abstract_io.c) ++AC_INIT(libol, "0.3.18") + +-AM_INIT_AUTOMAKE(libol, "0.3.18", 1) ++AM_INIT_AUTOMAKE([foreign]) + if test -n "$SNAPSHOT_VERSION"; then + VERSION=$VERSION+$SNAPSHOT_VERSION + fi diff --git a/meta-oe/recipes-support/libol/libol_0.3.18.bb b/meta-oe/recipes-support/libol/libol_0.3.18.bb index 429945fe63..c31f483131 100644 --- a/meta-oe/recipes-support/libol/libol_0.3.18.bb +++ b/meta-oe/recipes-support/libol/libol_0.3.18.bb @@ -3,8 +3,17 @@ SECTION = "libs" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" -SRC_URI = "http://www.balabit.com/downloads/files/libol/0.3/${P}.tar.gz" +SRC_URI = "http://www.balabit.com/downloads/files/libol/0.3/${BP}.tar.gz \ + file://configure.patch" SRC_URI[md5sum] = "cbadf4b7ea276dfa85acc38a1cc5ff17" SRC_URI[sha256sum] = "9de3bf13297ff882e02a1e6e5f6bf760a544aff92a9d8a1cf4328a32005cefe7" inherit autotools binconfig + +do_compile_prepend() { + install ${S}/utils/make_class.in ${B}/utils +} + +do_install_append() { + rm -fr ${D}${bindir} +} 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/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch index 2069644f9b..de88f0a34a 100644 --- a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch +++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch @@ -1,8 +1,38 @@ Index: SDL_ttf-2.0.10/configure.in =================================================================== ---- SDL_ttf-2.0.10.orig/configure.in 2010-10-15 10:54:51.392730531 +0200 -+++ SDL_ttf-2.0.10/configure.in 2010-10-15 10:55:06.382727473 +0200 -@@ -25,6 +25,8 @@ +--- SDL_ttf-2.0.10.orig/configure.in 2009-10-12 23:06:38.000000000 +0000 ++++ SDL_ttf-2.0.10/configure.in 2014-07-17 12:33:34.011662505 +0000 +@@ -1,5 +1,4 @@ + dnl Process this file with autoconf to produce a configure script. +-AC_INIT(README) + + dnl Set various version strings - taken gratefully from the GTk sources + +@@ -11,12 +10,19 @@ + # if backwards compatibility has been broken, + # set BINARY_AGE and INTERFACE_AGE to 0. + +-MAJOR_VERSION=2 +-MINOR_VERSION=0 +-MICRO_VERSION=10 ++m4_define([sdlttf_major_version],[2]) ++m4_define([sdlttf_minor_version],[0]) ++m4_define([sdlttf_micro_version],[10]) ++m4_define([sdlttf_version], [sdlttf_major_version.sdlttf_minor_version.sdlttf_micro_version]) ++ ++AC_INIT([SDL_ttf], [sdlttf_version]) ++ ++MAJOR_VERSION=sdlttf_major_version ++MINOR_VERSION=sdlttf_minor_version ++MICRO_VERSION=sdlttf_micro_version + INTERFACE_AGE=0 + BINARY_AGE=10 +-VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION ++VERSION=sdlttf_version + + AC_SUBST(MAJOR_VERSION) + AC_SUBST(MINOR_VERSION) +@@ -25,6 +31,8 @@ AC_SUBST(BINARY_AGE) AC_SUBST(VERSION) @@ -11,3 +41,12 @@ Index: SDL_ttf-2.0.10/configure.in # libtool versioning LT_INIT([win32-dll]) +@@ -42,7 +50,7 @@ + AC_CANONICAL_HOST + + dnl Setup for automake +-AM_INIT_AUTOMAKE(SDL_ttf, $VERSION) ++AM_INIT_AUTOMAKE([foreign]) + + dnl Check for tools + AC_PROG_LIBTOOL diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch new file mode 100644 index 0000000000..8a11f66495 --- /dev/null +++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch @@ -0,0 +1,57 @@ +freetype-config was removed from oe-core in + +commit 5870bd272b0b077d0826fb900b251884c1c05061 +Author: Richard Purdie <richard.purdie@linuxfoundation.org> +Date: Thu May 22 10:59:33 2014 +0100 + + binconfig-disabled: Add class and use + +diff --git a/configure.in b/configure.in +index 408e8d6..5f9e730 100644 +--- a/configure.in ++++ b/configure.in +@@ -86,39 +86,11 @@ case "$host" in + esac + AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue) + +-dnl Check for the FreeType 2 library +-dnl +-dnl Get the cflags and libraries from the freetype-config script +-dnl +-AC_ARG_WITH(freetype-prefix,[ --with-freetype-prefix=PFX Prefix where FREETYPE is +-installed (optional)], +- freetype_prefix="$withval", freetype_prefix="") +-AC_ARG_WITH(freetype-exec-prefix,[ --with-freetype-exec-prefix=PFX Exec prefix +-where FREETYPE is installed (optional)], +- freetype_exec_prefix="$withval", freetype_exec_prefix="") +- +-if test x$freetype_exec_prefix != x ; then +- freetype_args="$freetype_args --exec-prefix=$freetype_exec_prefix" +- if test x${FREETYPE_CONFIG+set} != xset ; then +- FREETYPE_CONFIG=$freetype_exec_prefix/bin/freetype-config +- fi +-fi +-if test x$freetype_prefix != x ; then +- freetype_args="$freetype_args --prefix=$freetype_prefix" +- if test x${FREETYPE_CONFIG+set} != xset ; then +- FREETYPE_CONFIG=$freetype_prefix/bin/freetype-config +- fi +-fi +-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) +-no_freetype="" +-if test "$FREETYPE_CONFIG" = "no" ; then +- AC_MSG_ERROR([ +-*** Unable to find FreeType2 library (http://www.freetype.org/) +-]) +-else +- CFLAGS="$CFLAGS `$FREETYPE_CONFIG $freetypeconf_args --cflags`" +- LIBS="$LIBS `$FREETYPE_CONFIG $freetypeconf_args --libs`" +-fi ++PKG_CHECK_MODULES(FREETYPE2, freetype2, ++ CFLAGS="$CFLAGS $FREETYPE2_CFLAGS" ++ LIBS="$LIBS $FREETYPE2_LIBS", ++ AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)]) ++) + + dnl Check for SDL + SDL_VERSION=2.0.0 diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb index c6e5a15ff7..ad3792e22e 100644 --- a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb +++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb @@ -4,10 +4,11 @@ DEPENDS = "virtual/libsdl freetype" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=27818cd7fd83877a8e3ef82b82798ef4" -PR = "r1" +PR = "r2" SRC_URI = "http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-${PV}.tar.gz \ file://configure.patch \ + file://use.pkg-config.for.freetype2.patch \ " S = "${WORKDIR}/SDL_ttf-${PV}" @@ -18,11 +19,12 @@ inherit autotools TARGET_CC_ARCH += "${LDFLAGS}" do_configure_prepend() { - + + # Removing these files fixes a libtool version mismatch. MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" - + for i in ${MACROS}; do - rm acinclude/$i + rm -f ${S}/acinclude/$i done } diff --git a/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb b/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb index b21d9db023..2b036f9016 100644 --- a/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb +++ b/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb @@ -3,7 +3,7 @@ SUMMARY = "A Library to Access SMI MIB Information" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=3ad3076f9332343a21636cfd351f05b7" -SRC_URI = "ftp://ftp.ibr.cs.tu-bs.de/pub/local/libsmi/${P}.tar.gz" +SRC_URI = "ftp://ftp.ibr.cs.tu-bs.de/pub/local/libsmi/${BP}.tar.gz" SRC_URI[md5sum] = "760b6b1070738158708649ed2c63425e" SRC_URI[sha256sum] = "f048a5270f41bc88b0c3b0a8fe70ca4d716a46b531a0ecaaa87c462f49d74849" 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/libunwind/libunwind.inc b/meta-oe/recipes-support/libunwind/libunwind.inc deleted file mode 100644 index b27b9e5994..0000000000 --- a/meta-oe/recipes-support/libunwind/libunwind.inc +++ /dev/null @@ -1,30 +0,0 @@ -DESCRIPTION = "a portable and efficient C programming interface (API) to determine the call-chain of a program" -HOMEPAGE = "http://www.nongnu.org/libunwind" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3fced11d6df719b47505837a51c16ae5" - -SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" - -inherit autotools - -PACKAGECONFIG ??= "" -PACKAGECONFIG[lzma] = "--enable-minidebuginfo,--disable-minidebuginfo,lzma" - -EXTRA_OECONF_arm = "--enable-debug-frame" - -CFLAGS += "${ATOMICOPS}" -ATOMICOPS_armv5 = "-DAO_USE_PTHREAD_DEFS=1" -ATOMICOPS_armv4 = "-DAO_USE_PTHREAD_DEFS=1" -ATOMICOPS ?= "" - -LDFLAGS += "${LIBATOMICS}" -LIBATOMICS_armv5 = "-latomic_ops" -LIBATOMICS_armv4 = "-latomic_ops" -LIBATOMICS ?= "" - -DEPENDS += "${DEPLIBATOMICS}" -DEPLIBATOMICS_armv5 = "libatomics-ops" -DEPLIBATOMICS_armv4 = "libatomics-ops" -DEPLIBATOMICS ?= "" - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-support/libunwind/libunwind_1.1.bb b/meta-oe/recipes-support/libunwind/libunwind_1.1.bb deleted file mode 100644 index bc38e36440..0000000000 --- a/meta-oe/recipes-support/libunwind/libunwind_1.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require libunwind.inc - -SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce" -SRC_URI[sha256sum] = "9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a" diff --git a/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch b/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch new file mode 100644 index 0000000000..6be49fbca4 --- /dev/null +++ b/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch @@ -0,0 +1,39 @@ +From 6118c6ec1291a5c731aa8d4f0c1eb8cce43d47ad Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Mon, 4 Aug 2014 09:04:08 +0200 +Subject: [PATCH] Fix out-of-tree builds + +The include flag should point to the source directory, not the build +directory. + +Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> +Upstream-status: Submitted [https://github.com/libusbg/libusbg/pull/9] +--- + examples/Makefile.am | 2 +- + src/Makefile.am | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/examples/Makefile.am b/examples/Makefile.am +index f9f9407..ef4f81e 100644 +--- a/examples/Makefile.am ++++ b/examples/Makefile.am +@@ -1,5 +1,5 @@ + bin_PROGRAMS = show-gadgets gadget-acm-ecm + gadget_acm_ecm_SOURCES = gadget-acm-ecm.c + show_gadgets_SOURCES = show-gadgets.c +-AM_CPPFLAGS=-I../include/ ++AM_CPPFLAGS=-I$(top_srcdir)/include/ + AM_LDFLAGS=-L../src/ -lusbg +diff --git a/src/Makefile.am b/src/Makefile.am +index d955a4c..2f71366 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -1,4 +1,4 @@ + lib_LTLIBRARIES = libusbg.la + libusbg_la_SOURCES = usbg.c + libusbg_la_LDFLAGS = -version-info 0:1:0 +-AM_CPPFLAGS=-I../include/ ++AM_CPPFLAGS=-I$(top_srcdir)/include/ +-- +1.9.0 + diff --git a/meta-oe/recipes-support/libusbg/libusbg_git.bb b/meta-oe/recipes-support/libusbg/libusbg_git.bb index ed5ac65500..97d60a6a8a 100644 --- a/meta-oe/recipes-support/libusbg/libusbg_git.bb +++ b/meta-oe/recipes-support/libusbg/libusbg_git.bb @@ -7,8 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ inherit autotools PV = "0.1.0" -SRCREV = "7e2b04363f319e8936a606bdb122dbde249a2f58" -SRC_URI = "git://github.com/libusbg/libusbg.git" +SRCREV = "a826d136e0e8fa53815f1ba05893e6dd74208c15" +SRC_URI = "git://github.com/libusbg/libusbg.git \ + file://0001-Fix-out-of-tree-builds.patch \ + " S = "${WORKDIR}/git" 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 601742f9f6..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,16 +3,20 @@ 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" S = "${WORKDIR}/links-${PV}" -EXTRA_OECONF = "--enable-javascript --with-libfl --enable-graphics \ +EXTRA_OECONF = "--enable-graphics \ --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ --without-libtiff --without-svgalib --without-fb \ --without-directfb --without-pmshell --without-atheos \ - --with-x --without-gpm --without-sdl" + --with-x --without-gpm" do_install_append() { install -d ${D}/${datadir}/applications diff --git a/meta-oe/recipes-support/links/links.inc b/meta-oe/recipes-support/links/links.inc index 78d7ec78df..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 +inherit autotools pkgconfig diff --git a/meta-oe/recipes-support/links/links_2.7.bb b/meta-oe/recipes-support/links/links_2.7.bb index 24c1985573..e80dd7bca3 100644 --- a/meta-oe/recipes-support/links/links_2.7.bb +++ b/meta-oe/recipes-support/links/links_2.7.bb @@ -3,11 +3,11 @@ require links.inc DEPENDS += "gpm" RCONFLICTS_${PN} = "links-x11" -EXTRA_OECONF = "--enable-javascript --with-libfl --enable-graphics \ +EXTRA_OECONF = "--enable-graphics \ --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ --without-libtiff --without-svgalib --with-fb \ --without-directfb --without-pmshell --without-atheos \ - --without-x --without-sdl" + --without-x" SRC_URI[md5sum] = "d06aa6e14b2172d73188871a5357185a" SRC_URI[sha256sum] = "0c182b1cbcdfd5cdcd2f75a6032d1a4b660d07c1225c1e07757cec81d3302130" diff --git a/meta-oe/recipes-support/lockdev/lockdev_git.bb b/meta-oe/recipes-support/lockdev/lockdev_git.bb index 919487f819..023b9a7ddc 100644 --- a/meta-oe/recipes-support/lockdev/lockdev_git.bb +++ b/meta-oe/recipes-support/lockdev/lockdev_git.bb @@ -10,7 +10,7 @@ SRC_URI = "git://anonscm.debian.org/lockdev/lockdev.git" S = "${WORKDIR}/git" -inherit lib_package autotools +inherit lib_package autotools-brokensep do_configure_prepend () { ./scripts/git-version > VERSION 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..43e074699b --- /dev/null +++ b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb @@ -0,0 +1,16 @@ +SUMMARY = "Logging Framework for C" +HOMEPAGE = "http://log4c.sourceforge.net" +LICENSE = "LGPLv2" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRC_URI = "http://cznic.dl.sourceforge.net/project/log4c/log4c/${PV}/log4c-${PV}.tar.gz" +SRC_URI[md5sum] = "0d94919136e1d16b68427562e74cb3dd" +SRC_URI[sha256sum] = "5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea" + +S = "${WORKDIR}/${PN}-${PV}" + +EXTRA_OECONF = "--prefix=/usr" + +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 c6a9ec0f76..42f6e3a43e 100644 --- a/meta-oe/recipes-support/lvm2/lvm2.inc +++ b/meta-oe/recipes-support/lvm2/lvm2.inc @@ -28,13 +28,14 @@ EXTRA_OECONF = "--with-user= \ --enable-pkgconfig \ --enable-dmeventd \ --with-udev-prefix= \ + --with-usrlibdir=${libdir} \ " PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}" PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux," -inherit autotools +inherit autotools pkgconfig do_install_append() { # Install machine specific configuration file @@ -47,4 +48,5 @@ FILES_${PN} += "${libdir}/device-mapper/*.so ${base_libdir}/udev" FILES_${PN}-dbg += "${libdir}/device-mapper/.debug" RDEPENDS_${PN} = "bash" -EXTRA_OECONF = "--with-usrlibdir=${libdir}" + +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 b165e9f1ad..3eb7f30dfc 100644 --- a/meta-oe/recipes-support/maliit/maliit-framework_git.bb +++ b/meta-oe/recipes-support/maliit/maliit-framework_git.bb @@ -6,6 +6,8 @@ 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" + DEPENDS = "libxcomposite dbus gtk+3 gtk+" SRC_URI = "git://github.com/maliit/framework.git;branch=master \ diff --git a/meta-oe/recipes-support/maliit/maliit-plugins_git.bb b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb index 903825adfd..3c040d87a7 100644 --- a/meta-oe/recipes-support/maliit/maliit-plugins_git.bb +++ b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb @@ -6,6 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f29b21caa8e460097bfad9c026a33621" inherit autotools qt4x11 +PNBLACKLIST[maliit-plugins] ?= "BROKEN: depends on broken maliit-framework" + DEPENDS = "maliit-framework" RDEPENDS_${PN} += "qt4-plugin-iconengine-svgicon qt4-plugin-imageformat-svg" diff --git a/meta-oe/recipes-support/mbuffer/mbuffer_20091227.bb b/meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb index bd80c845ba..3467d28988 100644 --- a/meta-oe/recipes-support/mbuffer/mbuffer_20091227.bb +++ b/meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb @@ -3,11 +3,13 @@ HOMEPAGE = "http://www.maier-komor.de/mbuffer.html" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" SECTION = "console/network" -PR = "r1" -SRC_URI = "http://www.maier-komor.de/software/mbuffer/mbuffer-20091227.tgz" -SRC_URI[md5sum] = "191663396b4b1752d7104803631b9e54" -SRC_URI[sha256sum] = "e708b66f6cec9ba090877e8eb38e5627ac69aea9ebd9bca1360a29c7398a88ce" +SRC_URI = " \ + http://www.maier-komor.de/software/mbuffer/mbuffer-20140310.tgz \ +" + +SRC_URI[md5sum] = "9937d7f666c19a2e6b2499b04dbecc44" +SRC_URI[sha256sum] = "ab90b6fdce16db2bf08bcda0bc5d2bfb053a9a163d2a24f95fbf246460549b99" inherit autotools @@ -15,7 +17,7 @@ PACKAGECONFIG ??= "" PACKAGECONFIG[md5] = "--enable-md5,--disable-md5,openssl" do_configure() { - gnu-configize + ( cd ${S}; gnu-configize ) oe_runconf } 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/mg/files/remove_ncurses_check.patch b/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch new file mode 100644 index 0000000000..16137da2b1 --- /dev/null +++ b/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch @@ -0,0 +1,36 @@ +diff -uwr mg-20110905/configure mg-20110905-changed/configure +--- mg-20110905/configure 2011-09-05 13:36:16.000000000 -0500 ++++ mg-20110905-changed/configure 2014-08-14 10:46:14.168715425 -0500 +@@ -163,32 +163,6 @@ + echo 'Fails.' + fi + +- +-if [ ! -r /usr/include/term.h ]; then +- note 'term.h' +- if [ -r /usr/include/ncurses/term.h ]; then +- echo "Found in /usr/include/ncurses" +- extraflags="$extraflags -I/usr/include/ncurses" +- else +- for i in pkg local; do +- if [ -r /usr/$i/include/term.h ]; then +- echo "Found in /usr/$i/include" +- extralibs="$extralibs -L/usr/$i/lib" +- extraflags="$extraflags -I/usr/$i/include" +- break +- else +- false +- fi +- done || +- { +- echo 'Not found!' >&2 +- echo 'Do you have the ncurses devel package installed?' >&2 +- echo 'If you know where term.h is, please email the author!' >&2 +- exit 1 +- } +- fi +-fi +- + note 'base and dirname' + if gcc_defines "__GLIBC__" || gcc_defines "__CYGWIN__" ; then + echo 'Not present, adding.' diff --git a/meta-oe/recipes-support/mg/mg_20110905.bb b/meta-oe/recipes-support/mg/mg_20110905.bb index 33cc0384b8..b9a4d33922 100644 --- a/meta-oe/recipes-support/mg/mg_20110905.bb +++ b/meta-oe/recipes-support/mg/mg_20110905.bb @@ -5,7 +5,8 @@ LIC_FILES_CHKSUM = "file://version.c;md5=811e1b67a5cd60c12b218a2b7c1adbf2" DEPENDS = "ncurses" SECTION = "console/editors" -SRC_URI = "http://homepage.boetes.org/software/mg/mg-${PV}.tar.gz" +SRC_URI = "http://homepage.boetes.org/software/mg/mg-${PV}.tar.gz \ + file://remove_ncurses_check.patch" SRC_URI[md5sum] = "2de35316fa8ebafe6003efaae70b723e" SRC_URI[sha256sum] = "1cd37d7e6a3eecc890a5718c38b8f38495057ba93856762a756ccee2f9618229" 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/multipath-tools/files/always-use-libdevmapper-kpartx.patch b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch new file mode 100644 index 0000000000..a16a854052 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch @@ -0,0 +1,29 @@ +Always use devmapper for kpartx + +Do not try to compute the LIBDM_API_COOKIE make variable +from host information when cross-compiling. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Aws Ismail <aws.ismail@windriver.com> +Signed-off-by: Joe Slater <joe.slater@windriver.com> + +diff --git a/kpartx/Makefile b/kpartx/Makefile +index 2a07334..24bdabc 100644 +--- a/kpartx/Makefile ++++ b/kpartx/Makefile +@@ -4,13 +4,7 @@ + # + include ../Makefile.inc + +-CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 +- +-LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) +- +-ifneq ($(strip $(LIBDM_API_COOKIE)),0) +- CFLAGS += -DLIBDM_API_COOKIE +-endif ++CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE + + LDFLAGS = -ldevmapper + OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \ diff --git a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch new file mode 100644 index 0000000000..89d2352dab --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch @@ -0,0 +1,44 @@ +Always use devmapper + +Do not try to compute several _API_ make variables +from host information when cross-compiling. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Aws Ismail <aws.ismail@windriver.com> +Signed-off-by: Joe Slater <joe.slater@windriver.com> + +diff --git a/libmultipath/Makefile b/libmultipath/Makefile +index e5b06b3..efd6cf6 100644 +--- a/libmultipath/Makefile ++++ b/libmultipath/Makefile +@@ -17,23 +17,18 @@ OBJS = memory.o parser.o vector.o devmapper.o \ + log.o configure.o structs_vec.o sysfs.o prio.o checkers.o \ + lock.o waiter.o file.o wwids.o + +-LIBDM_API_FLUSH = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_no_flush' /usr/include/libdevmapper.h) + +-ifneq ($(strip $(LIBDM_API_FLUSH)),0) ++#ifneq ($(strip $(LIBDM_API_FLUSH)),0) + CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE +-endif ++#endif + +-LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) +- +-ifneq ($(strip $(LIBDM_API_COOKIE)),0) ++#ifneq ($(strip $(LIBDM_API_COOKIE)),0) + CFLAGS += -DLIBDM_API_COOKIE +-endif +- +-LIBUDEV_API_RECVBUF = $(shell grep -Ecs '^[a-z]*[[:space:]]+udev_monitor_set_resolve_buffer_size' /usr/include/libudev.h) ++#endif + +-ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0) ++#ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0) + CFLAGS += -DLIBUDEV_API_RECVBUF +-endif ++#endif + + + all: $(LIBS) diff --git a/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch b/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch new file mode 100644 index 0000000000..ff71f39675 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch @@ -0,0 +1,36 @@ +multipath-tools: modify Makefile.inc for cross-compilation + +Do not look for systemd info on the host, and allow us to pass in CFLAGS +using the OPTFLAGS variable. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Joe Slater <joe.slater@windriver.com> + + +--- a/Makefile.inc ++++ b/Makefile.inc +@@ -21,12 +21,6 @@ ifndef LIB + endif + endif + +-ifndef SYSTEMD +- ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1) +- SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p') +- endif +-endif +- + prefix = + exec_prefix = $(prefix) + bindir = $(exec_prefix)/sbin +@@ -49,7 +43,10 @@ ifndef RPM_OPT_FLAGS + RPM_OPT_FLAGS = -O2 -g -pipe -Wformat-security -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 + endif + ++ifndef OPTFLAGS + OPTFLAGS = $(RPM_OPT_FLAGS) -Wunused -Wstrict-prototypes ++endif ++ + CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" + SHARED_FLAGS = -shared + diff --git a/meta-oe/recipes-support/multipath-tools/files/multipathd.oe b/meta-oe/recipes-support/multipath-tools/files/multipathd.oe new file mode 100755 index 0000000000..3bdf875e3c --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/multipathd.oe @@ -0,0 +1,146 @@ +#!/bin/bash +# +# multipathd Starts the multipath daemon +# +# chkconfig: - 06 87 +# description: Manages device-mapper multipath devices + +### BEGIN INIT INFO +# Provides: multipathd +# Required-Start: +# Required-Stop: +# Default-Start: +# Default-Stop: +# Short-Description: Control multipathd +# Description: This service monitors and manages +# device-mapper multipath devices +### END INIT INFO + +DAEMON=/sbin/multipathd +prog=`basename $DAEMON` +initdir=/etc/init.d +lockdir=/var/lock/subsys +sysconfig=/etc/sysconfig +syspath=/sys/block + +RETVAL=0 + +teardown_slaves() +{ +pushd $1 > /dev/null +if [ -d "slaves" ]; then +for slave in slaves/*; +do + if [ "$slave" = "slaves/*" ]; then + read dev < $1/dev + tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p"` + if ! [ -z $tablename ]; then + echo "Root is on a multipathed device, multipathd can not be stopped" + exit 1 + fi + else + local_slave=`readlink -f $slave`; + teardown_slaves $local_slave; + fi + done + +else + read dev < $1/dev + tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p"` + if ! [ -z $tablename ]; then + echo "Root is on a multipathed device, multipathd can not be stopped" + exit 1 + fi +fi +popd > /dev/null +} + +# +# See how we were called. +# + +start() { + test -x $DAEMON || exit 5 + echo -n $"Starting $prog daemon: " + start-stop-daemon --start --quiet --exec $DAEMON + RETVAL=$? + [ $RETVAL -eq 0 ] && touch $lockdir/$prog + echo +} + +force_stop() { + echo -n $"Stopping $prog daemon: " + killall $DAEMON + RETVAL=$? + [ $RETVAL -eq 0 ] && rm -f $lockdir/$prog + echo +} + +stop() { + root_dev=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $1; }}' /etc/mtab) + dm_num=`dmsetup info -c --noheadings -o minor $root_dev 2> /dev/null` + if [ $? -eq 0 ]; then + root_dm_device="dm-$dm_num" + [ -d $syspath/$root_dm_device ] && teardown_slaves $syspath/$root_dm_device + fi + + force_stop +} + +restart() { + stop + start +} + +force_restart() { + force_stop + start +} + +reload() { + echo -n "Reloading $prog: " + trap "" SIGHUP + killall $DAEMON -s SIGHUP -v + RETVAL=$? + echo +} + +case "$1" in +start) + start + ;; +stop) + stop + ;; +force-stop) + force_stop + ;; +force-reload|reload) + reload + ;; +restart) + restart + ;; +force-restart) + force_restart + ;; +condrestart|try-restart) + if [ -f $lockdir/$prog ]; then + restart + fi + ;; +status) + if pidof -o %PPID $DAEMON > /dev/null; then + echo "Running" + RETVAL=0 + else + echo "Not running" + RETVAL=1 + fi + ;; +*) + echo $"Usage: $0 {start|stop|force-stop|status|restart|force-restart|condrestart|reload}" + RETVAL=2 +esac + +exit $RETVAL diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb index 038f4e26df..055cfe64c9 100644 --- a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb +++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb @@ -1,30 +1,70 @@ SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver" -DEPENDS = "lvm2 libaio readline" +DEPENDS = "lvm2 libaio readline udev" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=7be2873b6270e45abacc503abbe2aa3d" +LICENSE = "LGPLv2" +SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \ + file://multipathd.oe \ + file://makefile_inc.patch \ + file://always-use-libdevmapper.patch \ + file://always-use-libdevmapper-kpartx.patch \ + " +# 0.5.0 +# +#SRCREV = "82f391e787dc02e9d9294aa391137ab424bb83c4" +#LIC_FILES_CHKSUM = "file://COPYING;md5=7be2873b6270e45abacc503abbe2aa3d" + +# 0.5.0 + commits thru 7/18/2014 +# +#SRCREV = "0d72f46c12207a6b7b89f5ef4f5ab5f87ed8bc90" +#LIC_FILES_CHKSUM = "file://COPYING;md5=b06690e7a95c166eefe0199b39118eb1" + +# 0.5.0 + commits thru 9/12/2014 +# +# includes important systemd related structure size fix +# +SRCREV = "aec68ab217fd2956443b27ceeb97dd6475267789" +LIC_FILES_CHKSUM = "file://COPYING;md5=b06690e7a95c166eefe0199b39118eb1" + +inherit systemd -SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http" -SRCREV = "15fc23ffb2bd1bac6990eda3e23c3e8980e6cfa5" S = "${WORKDIR}/git" -PV = "0.4.9+git" +PV = "0.5.0+git${@'${SRCPV}'.split('+')[-1]}" -EXTRA_OEMAKE = "MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} libdir=${base_libdir}/multipath" +# The exact version of SYSTEMD does not matter but should be greater than 209. +# +EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \ + OPTFLAGS="${CFLAGS}" \ + LIB=${base_libdir} libdir=${base_libdir}/multipath \ + unitdir=/lib/systemd/system \ + ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \ + ' do_install() { oe_runmake install + + # Copy a sample conf file, but do not rename it multipath.conf. + # + cp multipath.conf.defaults ${D}${sysconfdir} + + # We copy an initscript, but do not start multipathd at init time. + # + cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd + } FILES_${PN}-dbg += "${base_libdir}/multipath/.debug" + +# systemd and udev stuff always goes under /lib! +# FILES_${PN} += "${base_libdir}/multipath \ - ${base_libdir}/systemd" + /lib/systemd" PACKAGES =+ "kpartx" FILES_kpartx = "${base_sbindir}/kpartx \ - ${base_libdir}/udev/kpartx_id" + /lib/udev/kpartx_id" RDEPENDS_${PN} += "kpartx" diff --git a/meta-oe/recipes-support/mysql/mariadb-native_5.1.67.bb b/meta-oe/recipes-support/mysql/mariadb-native_5.5.41.bb index 942afcc55d..4ce960d7da 100644 --- a/meta-oe/recipes-support/mysql/mariadb-native_5.1.67.bb +++ b/meta-oe/recipes-support/mysql/mariadb-native_5.5.41.bb @@ -1,20 +1,19 @@ -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 = "" EXTRA_OEMAKE = "" -EXTRA_OECONF = " --with-embedded-server " do_install() { oe_runmake 'DESTDIR=${D}' install - mv -f ${D}${libdir}/mysql/* ${D}${libdir} - rmdir ${D}${libdir}/mysql install -d ${D}${bindir} install -m 0755 sql/gen_lex_hash ${D}${bindir}/ + install -m 0755 extra/comp_err ${D}${bindir}/ + install -m 0755 scripts/comp_sql ${D}${bindir}/ } diff --git a/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc b/meta-oe/recipes-support/mysql/mariadb.inc index 0c83c71038..cacb0d5e0f 100644 --- a/meta-oe/recipes-support/mysql/mariadb_5.1.67.inc +++ b/meta-oe/recipes-support/mysql/mariadb.inc @@ -4,63 +4,66 @@ SECTION = "libs" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -SRC_URI = "http://mirrors.coreix.net/mariadb/mariadb-${PV}/kvm-tarbake-jaunty-x86/mariadb-${PV}.tar.gz \ - file://configure.in.patch \ - file://plug.in.patch \ - file://misc.m4.patch \ - file://Makefile.am.patch \ - file://fix_host_path.patch \ - file://configure-ps-cache-check.patch \ - file://fix-cve-2013-1861-1.patch \ - file://fix-cve-2013-1861-2.patch \ - file://zlib-let-libdir-configurable.patch \ - file://storage-forbids-absolute-addresses-on-IA-32.patch \ +SRC_URI = "http://mirror.stshosting.co.uk/mariadb/mariadb-${PV}/source/mariadb-${PV}.tar.gz \ + file://fix-cmake-module-path.patch \ + file://remove-bad-path.patch \ + file://fix-mysqlclient-r-version.patch \ file://my.cnf \ - file://mysqld.sh \ - file://avoid-plugin-options-warnings.patch \ - file://fix-link-error-ub1310.patch \ + file://mysqld.service \ + file://configure.cmake-fix-valgrind.patch \ " -SRC_URI[md5sum] = "44c331fa91943155e4796f89e17a0612" -SRC_URI[sha256sum] = "33471e9275c9b03919cabc38eb39f807d645adabf6a1a18f2e41ed73f47677c8" +SRC_URI[md5sum] = "d2415efc6a6d73d7a58f3c79bb42f2e8" +SRC_URI[sha256sum] = "a16dc62e4bcabecd5c483f2f8b657483a8c51934e7be5ad4ab21b8baea1f5332" S = "${WORKDIR}/mariadb-${PV}" BINCONFIG_GLOB = "mysql_config" -inherit autotools-brokensep binconfig update-rc.d useradd +inherit cmake gettext binconfig update-rc.d useradd systemd INITSCRIPT_PACKAGES = "${PN}-server" INITSCRIPT_NAME = "mysqld" INITSCRIPT_PARAMS = "start 45 5 . stop 45 0 6 1 ." USERADD_PACKAGES = "${PN}-server" -USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g nogroup --shell /bin/false mysql" +USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql" +GROUPADD_PARAM_${PN}-server = "--system mysql" +SYSTEMD_PACKAGES = "${PN}-server" +SYSTEMD_SERVICE_${PN}-server = "mysqld.service" +SYSTEMD_AUTO_ENABLE_${PN}-server = "disable" -export ac_cv_path_PS="/bin/ps" -export ac_cv_FIND_PROC="/bin/ps p \$\$PID | grep -v grep | grep mysqld > /dev/null" -PARALLEL_MAKE = " " EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'" -EXTRA_OECONF = "--with-atomic-ops=up \ - --with-embedded-server \ - --sysconfdir=/etc/mysql \ - --localstatedir=/var/mysql \ - --disable-dependency-tracking \ - --without-debug \ - --with-low-memory \ - --without-query-cache \ - --without-plugin-maria \ - --without-man \ - --without-docs \ - --with-zlib-dir=${STAGING_EXECPREFIXDIR} \ - --with-baselib-dir=${base_libdir} \ - --with-pic \ - " -do_configure_append() { - sed -i /comp_err/d ${B}/sql/share/Makefile +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 +TARGET_CFLAGS += "-fuse-ld=bfd" +EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \ + -DWITH_JEMALLOC=no \ + -DWITHOUT_TOKUDB=TRUE \ + -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \ + -DGROFF=FALSE \ + -DNROFF=FALSE \ + -DENABLE_DTRACE=FALSE \ + -DWITH_PIC=ON \ + -DINSTALL_LAYOUT=RPM \ + -DINSTALL_DOCDIR:PATH=${datadir}/doc/${BPN} \ + -DINSTALL_LIBDIR:PATH=${baselib} \ + -DINSTALL_PLUGINDIR:PATH=${baselib}/plugin \ + -DINSTALL_SYSCONFDIR:PATH=${sysconfdir} \ + -DMYSQL_DATADIR:PATH=/var/mysql \ + -DCAT_EXECUTABLE=`which cat` \ + -DCMAKE_AR:FILEPATH=${AR}" + +do_configure_append() { # handle distros with different values of ${libexecdir} libexecdir2=`echo ${libexecdir} | sed -e 's+/usr/++g'` sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysql_install_db.sh @@ -68,6 +71,20 @@ do_configure_append() { sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysqld_safe.sh } +do_generate_toolchain_file_append_class-native () { + # If these are set cmake will assume we're cross-compiling, which will + # result in certain things we want being disabled + sed -i "/set( CMAKE_SYSTEM_NAME/d" ${WORKDIR}/toolchain.cmake + sed -i "/set( CMAKE_SYSTEM_PROCESSOR/d" ${WORKDIR}/toolchain.cmake +} + +do_compile_prepend_class-target () { + # These need to be in-tree or make will think they need to be built, + # and since we're cross-compiling that is disabled + cp ${STAGING_BINDIR_NATIVE}/comp_err ${S}/extra + cp ${STAGING_BINDIR_NATIVE}/comp_sql ${S}/scripts +} + SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess" # We need to append this so it runs *after* binconfig's preprocess function @@ -82,13 +99,20 @@ mariadb_sysroot_preprocess () { do_install() { oe_runmake 'DESTDIR=${D}' install - mv -f ${D}${libdir}/mysql/* ${D}${libdir} - rmdir ${D}${libdir}/mysql - find ${D}${libdir} -name '*.la'|xargs sed -i 's#${libdir}/mysql#${libdir}#' - install -d ${D}/etc/init.d - install -m 0644 ${WORKDIR}/my.cnf ${D}/etc/ - install -m 0755 ${WORKDIR}/mysqld.sh ${D}/etc/init.d/mysqld + install -d ${D}/${sysconfdir}/init.d + install -m 0644 ${WORKDIR}/my.cnf ${D}/${sysconfdir}/ + mv ${D}/${sysconfdir}/init.d/mysql ${D}/${sysconfdir}/init.d/mysqld + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/mysqld.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BINDIR@,${bindir},g' -e 's,@PREFIX@,${prefix},g' ${D}${systemd_unitdir}/system/mysqld.service + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "f /var/log/mysqld.err 0640 mysql mysql -" \ + > ${D}${sysconfdir}/tmpfiles.d/99-mysqld.conf + fi } pkg_postinst_${PN}-server () { @@ -100,9 +124,9 @@ pkg_postinst_${PN}-server () { test -d /usr/bin || mkdir -p /usr/bin test -e /usr/bin/hostname || ln -s /bin/hostname /usr/bin/hostname mkdir /var/lib/mysql - chown mysql.nogroup /var/lib/mysql + chown mysql.mysql /var/lib/mysql - mysql_install_db + mysql_install_db --basedir=${prefix} --user=mysql } @@ -110,7 +134,9 @@ 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" @@ -131,20 +157,16 @@ RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-modu FILES_libmysqlclient = "\ ${libdir}/libmysqlclient.so.* \ - ${libdir}/plugin/*.so.*" + ${sysconfdir}/my.cnf.d/client.cnf" FILES_libmysqlclient-dev = " \ ${includedir}/mysql/ \ ${libdir}/libmysqlclient.so \ - ${libdir}/libmysqlclient.la \ - ${libdir}/plugin/*.so \ - ${libdir}/plugin/*.la \ ${sysconfdir}/aclocal \ ${bindir}/mysql_config" FILES_libmysqlclient-staticdev = "\ - ${libdir}/*.a \ - ${libdir}/plugin/*.a" + ${libdir}/*.a" FILES_libmysqlclient-dbg = "${libdir}/plugin/.debug/ \ - /usr/mysql-test/lib/My/SafeProcess/.debug/my_safe_process" + ${datadir}/mysql-test/lib/My/SafeProcess/.debug/my_safe_process" # Avoid warnings about ha_xtradb.so.0.0.0 and ha_innodb_plugin.so.0.0.0 # which are intentionally non-PIC on 32-bit x86 (see e.g. @@ -153,8 +175,7 @@ INSANE_SKIP_libmysqlclient_append_i586 = " textrel" FILES_libmysqlclient-r = "${libdir}/libmysqlclient_r.so.*" FILES_libmysqlclient-r-dev = "\ - ${libdir}/libmysqlclient_r.so \ - ${libdir}/libmysqlclient_r.la" + ${libdir}/libmysqlclient_r.so" FILES_libmysqlclient-r-staticdev = "${libdir}/libmysqlclient_r.a" FILES_libmysqlclient-r-dbg = "${libdir}/plugin/.debuglibmysqlclient_r.so.*" @@ -181,7 +202,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 \ @@ -199,6 +221,7 @@ FILES_${PN}-server = "\ ${bindir}/mysql_setpermission \ ${bindir}/mysql_tzinfo_to_sql \ ${bindir}/mysql_upgrade \ + ${bindir}/mysql_plugin \ ${bindir}/mysql_zap \ ${bindir}/mysqlbinlog \ ${bindir}/mysqld_multi \ @@ -225,10 +248,13 @@ FILES_${PN}-server = "\ ${sbindir}/ndb_cpcd \ ${sbindir}/ndbd \ ${sbindir}/ndb_mgmd \ + ${libdir}/plugin/*.so \ ${datadir}/mysql/ \ ${localstatedir}/mysql/ \ ${sysconfdir}/init.d \ - ${sysconfdir}/my.cnf" + ${sysconfdir}/my.cnf \ + ${sysconfdir}/my.cnf.d/server.cnf \ + ${sysconfdir}/tmpfiles.d" DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}" FILES_${PN}-leftovers = "/" diff --git a/meta-oe/recipes-support/mysql/mariadb/Makefile.am.patch b/meta-oe/recipes-support/mysql/mariadb/Makefile.am.patch deleted file mode 100644 index 33fd17acd4..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/Makefile.am.patch +++ /dev/null @@ -1,19 +0,0 @@ -Index: mysql-5.1.40/sql/Makefile.am -=================================================================== ---- mysql-5.1.40.orig/sql/Makefile.am -+++ mysql-5.1.40/sql/Makefile.am -@@ -174,10 +174,10 @@ link_sources: - # This generates lex_hash.h - # NOTE Built sources should depend on their sources not the tool - # this avoid the rebuild of the built files in a source dist --lex_hash.h: gen_lex_hash.cc lex.h -- $(MAKE) $(AM_MAKEFLAGS) gen_lex_hash$(EXEEXT) -- ./gen_lex_hash$(EXEEXT) > $@-t -- $(MV) $@-t $@ -+GEN_LEX_HASH = ./gen_lex_hash$(EXEEXT) -+ -+lex_hash.h: gen_lex_hash$(EXEEXT) -+ $(GEN_LEX_HASH) > $@ - - # For testing of udf_example.so - udf_example_la_SOURCES= udf_example.c diff --git a/meta-oe/recipes-support/mysql/mariadb/avoid-plugin-options-warnings.patch b/meta-oe/recipes-support/mysql/mariadb/avoid-plugin-options-warnings.patch deleted file mode 100644 index 84ff6f023d..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/avoid-plugin-options-warnings.patch +++ /dev/null @@ -1,17 +0,0 @@ -Tell autoconf about with-plugin option to avoid warnings like: -configure: WARNING: unrecognized options: --with-plugin-maria - -Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> - -Index: mariadb-5.1.67/config/ac-macros/plugins.m4 -=================================================================== ---- mariadb-5.1.67.orig/config/ac-macros/plugins.m4 -+++ mariadb-5.1.67/config/ac-macros/plugins.m4 -@@ -38,6 +38,7 @@ AC_DEFUN([_MYSQL_PLUGIN],[ - _MYSQL_PLUGAPPEND([__mysql_plugin_list__],[$1]) - m4_define([MYSQL_PLUGIN_NAME_]AS_TR_CPP([$1]), [$3]) - m4_define([MYSQL_PLUGIN_DESC_]AS_TR_CPP([$1]), [$4]) -+ m4_ifdef([_AC_ENABLE_IF], [_AC_ENABLE_IF([with],[plugin-$1])]) - _MYSQL_PLUGAPPEND_META([$1], $5) - ifelse(m4_bregexp(__mysql_include__,[/plug\.in$]),-1,[],[ - MYSQL_PLUGIN_DIRECTORY([$1], diff --git a/meta-oe/recipes-support/mysql/mariadb/configure-ps-cache-check.patch b/meta-oe/recipes-support/mysql/mariadb/configure-ps-cache-check.patch deleted file mode 100644 index 3b5b3fd063..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/configure-ps-cache-check.patch +++ /dev/null @@ -1,27 +0,0 @@ -Index: mysql-4.1.22/configure.in -=================================================================== ---- mysql-4.1.22.orig/configure.in 2009-01-28 16:33:28.000000000 +0000 -+++ mysql-4.1.22/configure.in 2009-01-28 16:43:26.000000000 +0000 -@@ -471,8 +471,8 @@ - - # Lock for PS - AC_PATH_PROG(PS, ps, ps) --AC_MSG_CHECKING("how to check if pid exists") --PS=$ac_cv_path_PS -+AC_CACHE_CHECK([how to check if pid exists], [ac_cv_FIND_PROC], -+[ - # Linux style - if $PS p $$ 2> /dev/null | grep $0 > /dev/null - then -@@ -511,8 +511,9 @@ - AC_MSG_ERROR([Could not find the right ps switches. Which OS is this ?. See the Installation chapter in the Reference Manual.]) - esac - fi --AC_SUBST(FIND_PROC) --AC_MSG_RESULT("$FIND_PROC") -+ac_cv_FIND_PROC="$FIND_PROC" -+]) -+AC_SUBST([FIND_PROC], [$ac_cv_FIND_PROC]) - - # Check if a pid is valid - AC_PATH_PROG(KILL, kill, kill) 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/configure.in.patch b/meta-oe/recipes-support/mysql/mariadb/configure.in.patch deleted file mode 100644 index 6fe2dfaa1a..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/configure.in.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: mysql-5.1.40/configure.in -=================================================================== ---- mysql-5.1.40.orig/configure.in -+++ mysql-5.1.40/configure.in -@@ -226,8 +226,6 @@ else - AC_PATH_PROG(AS, as, as) - fi - --# Still need ranlib for readline; local static use only so no libtool. --AC_PROG_RANLIB - # We use libtool - #AC_LIBTOOL_WIN32_DLL - AC_PROG_LIBTOOL diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch b/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch new file mode 100644 index 0000000000..8d9f558d05 --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch @@ -0,0 +1,29 @@ +Avoid CMAKE_MODULE_PATH being overwritten + +OE-Core's setting of CMAKE_MODULE_PATH stomps on MariaDB's value unless +we set it after setting the project name. + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +Upstream-Status: Inappropriate [working around OE-Core bug] + +--- mariadb/CMakeLists.txt 2014-07-17 11:01:07.676353047 +0100 ++++ mariadb/CMakeLists.txt 2014-07-17 11:01:31.299353107 +0100 +@@ -28,8 +28,6 @@ + + MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}") + +-SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) +- + # Distinguish between community and non-community builds, with the + # default being a community build. This does not impact the feature + # set that will be compiled in; it's merely provided as a hint to +@@ -77,6 +75,8 @@ + ENDIF() + PROJECT(${MYSQL_PROJECT_NAME}) + ++SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) ++ + IF(BUILD_CONFIG) + INCLUDE( + ${CMAKE_SOURCE_DIR}/cmake/build_configurations/${BUILD_CONFIG}.cmake) diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-1.patch b/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-1.patch deleted file mode 100644 index df2e7086c4..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-1.patch +++ /dev/null @@ -1,174 +0,0 @@ -From 24404044ad4c28026e400e1fcd85358f2060aa96 Mon Sep 17 00:00:00 2001 -From: Alexey Botchkov <holyfoot@askmonty.org> -Date: Sun, 10 Mar 2013 23:08:05 +0400 -Subject: [PATCH] MDEV-4252 geometry query crashes server. The bug was - found by Alyssa Milburn. If the number of points of a geometry feature - read from binary representation is greater than 0x10000000, then - the (uint32) (num_points * 16) will cut the higher byte, which leads to - various errors. Fixed by additional check if (num_points > - max_n_points). - -Upstream-Status: Backport -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> - ---- - mysql-test/r/gis.result | 3 +++ - mysql-test/t/gis.test | 1 + - sql/spatial.cc | 27 ++++++++++++++++++--------- - sql/spatial.h | 9 +++++---- - 4 files changed, 27 insertions(+), 13 deletions(-) - -diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result -index 8dad72f..69e73d0 100644 ---- a/mysql-test/r/gis.result -+++ b/mysql-test/r/gis.result -@@ -1087,4 +1087,7 @@ NULL - # - SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); - ERROR 22007: Illegal non geometric '' value found during parsing -+select astext(0x0100000000030000000100000000000010); -+astext(0x0100000000030000000100000000000010) -+NULL - End of 5.1 tests -diff --git a/mysql-test/t/gis.test b/mysql-test/t/gis.test -index abda3e9..cc5d158 100644 ---- a/mysql-test/t/gis.test -+++ b/mysql-test/t/gis.test -@@ -826,5 +826,6 @@ SELECT ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))); - --error ER_ILLEGAL_VALUE_FOR_TYPE - SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); - -+select astext(0x0100000000030000000100000000000010); - - --echo End of 5.1 tests -diff --git a/sql/spatial.cc b/sql/spatial.cc -index eec028e..94d0238 100644 ---- a/sql/spatial.cc -+++ b/sql/spatial.cc -@@ -556,7 +556,7 @@ bool Gis_line_string::get_data_as_wkt(String *txt, const char **end) const - n_points= uint4korr(data); - data += 4; - -- if (n_points < 1 || -+ if (n_points < 1 || n_points > max_n_points || - no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points) || - txt->reserve(((MAX_DIGITS_IN_DOUBLE + 1)*2 + 1) * n_points)) - return 1; -@@ -594,7 +594,8 @@ int Gis_line_string::geom_length(double *len) const - return 1; - n_points= uint4korr(data); - data+= 4; -- if (n_points < 1 || no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) -+ if (n_points < 1 || n_points > max_n_points || -+ no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) - return 1; - - get_point(&prev_x, &prev_y, data); -@@ -628,7 +629,7 @@ int Gis_line_string::is_closed(int *closed) const - return 0; - } - data+= 4; -- if (n_points == 0 || -+ if (n_points == 0 || n_points > max_n_points || - no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) - return 1; - -@@ -798,7 +799,8 @@ bool Gis_polygon::get_data_as_wkt(String *txt, const char **end) const - return 1; - n_points= uint4korr(data); - data+= 4; -- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) || -+ if (n_points > max_n_points || -+ no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) || - txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) - return 1; - txt->qs_append('('); -@@ -852,7 +854,8 @@ int Gis_polygon::area(double *ar, const char **end_of_data) const - if (no_data(data, 4)) - return 1; - n_points= uint4korr(data); -- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) -+ if (n_points > max_n_points || -+ no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) - return 1; - get_point(&prev_x, &prev_y, data+4); - data+= (4+SIZEOF_STORED_DOUBLE*2); -@@ -888,7 +891,8 @@ int Gis_polygon::exterior_ring(String *result) const - n_points= uint4korr(data); - data+= 4; - length= n_points * POINT_DATA_SIZE; -- if (no_data(data, length) || result->reserve(1+4+4+ length)) -+ if (n_points > max_n_points || -+ no_data(data, length) || result->reserve(1+4+4+ length)) - return 1; - - result->q_append((char) wkb_ndr); -@@ -973,7 +977,8 @@ int Gis_polygon::centroid_xy(double *x, double *y) const - return 1; - org_n_points= n_points= uint4korr(data); - data+= 4; -- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) -+ if (n_points > max_n_points || -+ no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) - return 1; - get_point(&prev_x, &prev_y, data); - data+= (SIZEOF_STORED_DOUBLE*2); -@@ -1260,7 +1265,8 @@ bool Gis_multi_line_string::get_data_as_wkt(String *txt, - return 1; - n_points= uint4korr(data + WKB_HEADER_SIZE); - data+= WKB_HEADER_SIZE + 4; -- if (no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) || -+ if (n_points > max_n_points || -+ no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) || - txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) - return 1; - txt->qs_append('('); -@@ -1521,7 +1527,8 @@ bool Gis_multi_polygon::get_data_as_wkt(String *txt, const char **end) const - return 1; - uint32 n_points= uint4korr(data); - data+= 4; -- if (no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) || -+ if (n_points > max_n_points || -+ no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) || - txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points, - 512)) - return 1; -@@ -1604,6 +1611,8 @@ int Gis_multi_polygon::geometry_n(uint32 num, String *result) const - if (no_data(data, 4)) - return 1; - n_points= uint4korr(data); -+ if (n_points > max_n_points) -+ return 1; - data+= 4 + POINT_DATA_SIZE * n_points; - } - } while (--num); -diff --git a/sql/spatial.h b/sql/spatial.h -index 20b3856..7d25425 100644 ---- a/sql/spatial.h -+++ b/sql/spatial.h -@@ -197,6 +197,11 @@ struct MBR - class Geometry - { - public: -+ // Maximum number of points in feature that can fit into String -+ static const uint32 max_n_points= -+ (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / -+ POINT_DATA_SIZE; -+public: - Geometry() {} /* Remove gcc warning */ - virtual ~Geometry() {} /* Remove gcc warning */ - static void *operator new(size_t size, void *buffer) -@@ -379,10 +384,6 @@ class Gis_point: public Geometry - - class Gis_line_string: public Geometry - { -- // Maximum number of points in LineString that can fit into String -- static const uint32 max_n_points= -- (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / -- POINT_DATA_SIZE; - public: - Gis_line_string() {} /* Remove gcc warning */ - virtual ~Gis_line_string() {} /* Remove gcc warning */ --- -1.8.1.6 - diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-2.patch b/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-2.patch deleted file mode 100644 index c35cdfb641..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/fix-cve-2013-1861-2.patch +++ /dev/null @@ -1,257 +0,0 @@ -From 9f714cdd3bf4bd8ee06cd38dcd2c6e8990a4ec48 Mon Sep 17 00:00:00 2001 -From: Alexey Botchkov <holyfoot@askmonty.org> -Date: Mon, 18 Mar 2013 17:58:00 +0400 -Subject: [PATCH] MDEV-4252 geometry query crashes server. Additional fixes - for possible overflows in length-related calculations in 'spatial' - implementations. Checks added to the ::get_data_size() methods. - max_n_points decreased to occupy less 2G size. An object of that size is - practically inoperable anyway. - -Upstream-Status: Backport -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> - ---- - mysql-test/r/gis.result | 12 +++++++++ - mysql-test/t/gis.test | 6 +++++ - sql/spatial.cc | 67 ++++++++++++++++++++++++++++++++++--------------- - sql/spatial.h | 2 +- - 4 files changed, 66 insertions(+), 21 deletions(-) - -diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result -index 69e73d0..7566f0b 100644 ---- a/mysql-test/r/gis.result -+++ b/mysql-test/r/gis.result -@@ -1087,7 +1087,19 @@ NULL - # - SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); - ERROR 22007: Illegal non geometric '' value found during parsing -+# -+# MDEV-4252 geometry query crashes server -+# - select astext(0x0100000000030000000100000000000010); - astext(0x0100000000030000000100000000000010) - NULL -+select envelope(0x0100000000030000000100000000000010); -+envelope(0x0100000000030000000100000000000010) -+NULL -+select geometryn(0x0100000000070000000100000001030000000200000000000000ffff0000, 1); -+geometryn(0x0100000000070000000100000001030000000200000000000000ffff0000, 1) -+NULL -+select geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1); -+geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1) -+NULL - End of 5.1 tests -diff --git a/mysql-test/t/gis.test b/mysql-test/t/gis.test -index cc5d158..c42541e 100644 ---- a/mysql-test/t/gis.test -+++ b/mysql-test/t/gis.test -@@ -826,6 +826,12 @@ SELECT ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))); - --error ER_ILLEGAL_VALUE_FOR_TYPE - SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); - -+--echo # -+--echo # MDEV-4252 geometry query crashes server -+--echo # - select astext(0x0100000000030000000100000000000010); -+select envelope(0x0100000000030000000100000000000010); -+select geometryn(0x0100000000070000000100000001030000000200000000000000ffff0000, 1); -+select geometryn(0x0100000000070000000100000001030000000200000000000000ffffff0f, 1); - - --echo End of 5.1 tests -diff --git a/sql/spatial.cc b/sql/spatial.cc -index 94d0238..5a4b768 100644 ---- a/sql/spatial.cc -+++ b/sql/spatial.cc -@@ -394,18 +394,19 @@ const char *Geometry::append_points(String *txt, uint32 n_points, - const char *Geometry::get_mbr_for_points(MBR *mbr, const char *data, - uint offset) const - { -- uint32 points; -+ uint32 n_points; - /* read number of points */ - if (no_data(data, 4)) - return 0; -- points= uint4korr(data); -+ n_points= uint4korr(data); - data+= 4; - -- if (no_data(data, (SIZEOF_STORED_DOUBLE * 2 + offset) * points)) -+ if (n_points > max_n_points || -+ no_data(data, (POINT_DATA_SIZE + offset) * n_points)) - return 0; - - /* Calculate MBR for points */ -- while (points--) -+ while (n_points--) - { - data+= offset; - mbr->add_xy(data, data + SIZEOF_STORED_DOUBLE); -@@ -484,9 +485,12 @@ const Geometry::Class_info *Gis_point::get_class_info() const - - uint32 Gis_line_string::get_data_size() const - { -- if (no_data(m_data, 4)) -+ uint32 n_points, size; -+ if (no_data(m_data, 4) || -+ (n_points= uint4korr(m_data)) > max_n_points || -+ no_data(m_data, (size= 4 + n_points * POINT_DATA_SIZE))) - return GET_SIZE_ERROR; -- return 4 + uint4korr(m_data) * POINT_DATA_SIZE; -+ return size; - } - - -@@ -665,6 +669,9 @@ int Gis_line_string::end_point(String *result) const - if (no_data(m_data, 4)) - return 1; - n_points= uint4korr(m_data); -+ if (n_points == 0 || n_points > max_n_points || -+ no_data(m_data, POINT_DATA_SIZE * n_points)) -+ return 1; - return create_point(result, m_data + 4 + (n_points - 1) * POINT_DATA_SIZE); - } - -@@ -674,11 +681,14 @@ int Gis_line_string::point_n(uint32 num, String *result) const - uint32 n_points; - if (no_data(m_data, 4)) - return 1; -+ num--; - n_points= uint4korr(m_data); -- if ((uint32) (num - 1) >= n_points) // means (num > n_points || num < 1) -+ if (num >= n_points || -+ num > max_n_points || // means (num > n_points || num < 1) -+ no_data(m_data, num * POINT_DATA_SIZE)) - return 1; - -- return create_point(result, m_data + 4 + (num - 1) * POINT_DATA_SIZE); -+ return create_point(result, m_data + 4 + num*POINT_DATA_SIZE); - } - - const Geometry::Class_info *Gis_line_string::get_class_info() const -@@ -692,6 +702,7 @@ const Geometry::Class_info *Gis_line_string::get_class_info() const - uint32 Gis_polygon::get_data_size() const - { - uint32 n_linear_rings; -+ uint32 n_points; - const char *data= m_data; - - if (no_data(data, 4)) -@@ -701,10 +712,13 @@ uint32 Gis_polygon::get_data_size() const - - while (n_linear_rings--) - { -- if (no_data(data, 4)) -+ if (no_data(data, 4) || -+ (n_points= uint4korr(data)) > max_n_points) - return GET_SIZE_ERROR; -- data+= 4 + uint4korr(data)*POINT_DATA_SIZE; -+ data+= 4 + n_points*POINT_DATA_SIZE; - } -+ if (no_data(data, 0)) -+ return GET_SIZE_ERROR; - return (uint32) (data - m_data); - } - -@@ -1037,9 +1051,14 @@ const Geometry::Class_info *Gis_polygon::get_class_info() const - - uint32 Gis_multi_point::get_data_size() const - { -- if (no_data(m_data, 4)) -- return GET_SIZE_ERROR; -- return 4 + uint4korr(m_data)*(POINT_DATA_SIZE + WKB_HEADER_SIZE); -+ uint32 n_points; -+ uint32 size; -+ -+ if (no_data(m_data, 4) || -+ (n_points= uint4korr(m_data)) > max_n_points || -+ no_data(m_data, (size= 4 + n_points*(POINT_DATA_SIZE + WKB_HEADER_SIZE)))) -+ return GET_SIZE_ERROR; -+ return size; - } - - -@@ -1107,7 +1126,8 @@ bool Gis_multi_point::get_data_as_wkt(String *txt, const char **end) const - return 1; - - n_points= uint4korr(m_data); -- if (no_data(m_data+4, -+ if (n_points > max_n_points || -+ no_data(m_data+4, - n_points * (SIZEOF_STORED_DOUBLE * 2 + WKB_HEADER_SIZE)) || - txt->reserve(((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) - return 1; -@@ -1160,6 +1180,7 @@ const Geometry::Class_info *Gis_multi_point::get_class_info() const - uint32 Gis_multi_line_string::get_data_size() const - { - uint32 n_line_strings; -+ uint32 n_points; - const char *data= m_data; - - if (no_data(data, 4)) -@@ -1169,11 +1190,13 @@ uint32 Gis_multi_line_string::get_data_size() const - - while (n_line_strings--) - { -- if (no_data(data, WKB_HEADER_SIZE + 4)) -+ if (no_data(data, WKB_HEADER_SIZE + 4) || -+ (n_points= uint4korr(data + WKB_HEADER_SIZE)) > max_n_points) - return GET_SIZE_ERROR; -- data+= (WKB_HEADER_SIZE + 4 + uint4korr(data + WKB_HEADER_SIZE) * -- POINT_DATA_SIZE); -+ data+= (WKB_HEADER_SIZE + 4 + n_points*POINT_DATA_SIZE); - } -+ if (no_data(data, 0)) -+ return GET_SIZE_ERROR; - return (uint32) (data - m_data); - } - -@@ -1327,7 +1350,7 @@ int Gis_multi_line_string::geometry_n(uint32 num, String *result) const - return 1; - n_points= uint4korr(data + WKB_HEADER_SIZE); - length= WKB_HEADER_SIZE + 4+ POINT_DATA_SIZE * n_points; -- if (no_data(data, length)) -+ if (n_points > max_n_points || no_data(data, length)) - return 1; - if (!--num) - break; -@@ -1407,6 +1430,7 @@ const Geometry::Class_info *Gis_multi_line_string::get_class_info() const - uint32 Gis_multi_polygon::get_data_size() const - { - uint32 n_polygons; -+ uint32 n_points; - const char *data= m_data; - - if (no_data(data, 4)) -@@ -1425,11 +1449,14 @@ uint32 Gis_multi_polygon::get_data_size() const - - while (n_linear_rings--) - { -- if (no_data(data, 4)) -+ if (no_data(data, 4) || -+ (n_points= uint4korr(data)) > max_n_points) - return GET_SIZE_ERROR; -- data+= 4 + uint4korr(data) * POINT_DATA_SIZE; -+ data+= 4 + n_points * POINT_DATA_SIZE; - } - } -+ if (no_data(data, 0)) -+ return GET_SIZE_ERROR; - return (uint32) (data - m_data); - } - -diff --git a/sql/spatial.h b/sql/spatial.h -index 7d25425..d7632c1 100644 ---- a/sql/spatial.h -+++ b/sql/spatial.h -@@ -199,7 +199,7 @@ class Geometry - public: - // Maximum number of points in feature that can fit into String - static const uint32 max_n_points= -- (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / -+ (uint32) (INT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / - POINT_DATA_SIZE; - public: - Geometry() {} /* Remove gcc warning */ --- -1.8.1.6 - diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-link-error-ub1310.patch b/meta-oe/recipes-support/mysql/mariadb/fix-link-error-ub1310.patch deleted file mode 100644 index a528ea700a..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/fix-link-error-ub1310.patch +++ /dev/null @@ -1,37 +0,0 @@ -mariadb-native: fix link error on Ubuntu 13.10 - -Below errors only occurs on Ubuntu 13.10: - -$arch-linux-libtool: link: g++ ... -o .libs/mysqltest_embedded \ - ../../libmysqld/.libs/libmysqld.so -ldl - - ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlopen' - ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlclose' - ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlerror' - ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlsym' - -GCC/ld verion on the host: - gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1 - GNU ld (GNU Binutils for Ubuntu) 2.23.52.20130913 - -This is a strange behavior on Ub13.10, it fails even '-ldl' in the -link command line. Below fix will append '-ldl' to dependency_libs -in libmysqld.la. - -Upstream-Status: Submitted [https://mariadb.atlassian.net/browse/MDEV-5362] - -Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> -================================================ -diff --git a/libmysqld/Makefile.am b/libmysqld/Makefile.am -index 7a2c92e..eee501e 100644 ---- a/libmysqld/Makefile.am -+++ b/libmysqld/Makefile.am -@@ -92,7 +92,7 @@ INC_LIB= $(top_builddir)/regex/libregex.la \ - @ndbcluster_libs@ @NDB_SCI_LIBS@ \ - @mysql_embedded_plugin_libs@ \ - $(libevent_inc_libs) \ -- $(yassl_inc_libs) -+ $(yassl_inc_libs) @LIBDL@ - - if HAVE_YASSL - yassl_inc_libs= $(top_builddir)/extra/yassl/src/libyassl.la \ diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch b/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch new file mode 100644 index 0000000000..7516619ebb --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch @@ -0,0 +1,161 @@ +From 6db2a606196fb38a6d106dc409eee1cb9a40a440 Mon Sep 17 00:00:00 2001 +From: Tor Didriksen <tor.didriksen@oracle.com> +Date: Mon, 24 Jun 2013 17:15:35 +0200 +Subject: [PATCH] Bug#16809055 MYSQL 5.6 AND 5.7 STILL USE LIBMYSQLCLIENT.SO.18 + +With this patch, the libmysql/ directory contains: +libmysqlclient.a +libmysqlclient_r.a -> libmysqlclient.a +libmysqlclient_r.so -> libmysqlclient.so* +libmysqlclient_r.so.18 -> libmysqlclient.so.18* +libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0* +libmysqlclient.so -> libmysqlclient.so.18* +libmysqlclient.so.18 -> libmysqlclient.so.18.1.0* +libmysqlclient.so.18.1.0* + +This fixes libmysqlclient_r symlinks pointing to the unversioned +libmysqlclient.so symlink (leading to package QA errors since the +libmysqlclient-r package ends up depending on libmysqlclient-dev). + +Borrowed from MySQL 5.6 tree at https://github.com/percona/mysql/ + +Upstream-Status: Pending + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +--- + cmake/install_macros.cmake | 25 +++++++++++++++---------- + cmake/mysql_version.cmake | 3 ++- + libmysql/CMakeLists.txt | 36 ++++++++++++++++++++++++++++-------- + 3 files changed, 45 insertions(+), 19 deletions(-) + +diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake +index b8efdf8..a0d0e68 100644 +--- a/cmake/install_macros.cmake ++++ b/cmake/install_macros.cmake +@@ -1,4 +1,4 @@ +-# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. + # + # 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 +@@ -111,28 +111,33 @@ FUNCTION(INSTALL_SCRIPT) + ENDFUNCTION() + + # Install symbolic link to CMake target. +-# the link is created in the same directory as target +-# and extension will be the same as for target file. +-MACRO(INSTALL_SYMLINK linkname target destination component) ++# We do 'cd path; ln -s target_name link_name' ++# We also add an INSTALL target for "${path}/${link_name}" ++MACRO(INSTALL_SYMLINK target target_name link_name destination component) + IF(UNIX) + GET_TARGET_PROPERTY(location ${target} LOCATION) + GET_FILENAME_COMPONENT(path ${location} PATH) +- GET_FILENAME_COMPONENT(name ${location} NAME) +- SET(output ${path}/${linkname}) ++ MESSAGE(STATUS "target ${target}") ++ MESSAGE(STATUS "link_name ${link_name}") ++ MESSAGE(STATUS "target_name ${target_name}") ++ MESSAGE(STATUS "path ${path}") ++ MESSAGE(STATUS "") ++ ++ SET(output ${path}/${link_name}) + ADD_CUSTOM_COMMAND( + OUTPUT ${output} + COMMAND ${CMAKE_COMMAND} ARGS -E remove -f ${output} + COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink +- ${name} +- ${linkname} ++ ${target_name} ++ ${link_name} + WORKING_DIRECTORY ${path} + DEPENDS ${target} + ) + +- ADD_CUSTOM_TARGET(symlink_${linkname} ++ ADD_CUSTOM_TARGET(symlink_${link_name} + ALL + DEPENDS ${output}) +- SET_TARGET_PROPERTIES(symlink_${linkname} PROPERTIES CLEAN_DIRECT_OUTPUT 1) ++ SET_TARGET_PROPERTIES(symlink_${link_name} PROPERTIES CLEAN_DIRECT_OUTPUT 1) + IF(CMAKE_GENERATOR MATCHES "Xcode") + # For Xcode, replace project config with install config + STRING(REPLACE "${CMAKE_CFG_INTDIR}" +diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt +index be5760f..96286ff 100644 +--- a/libmysql/CMakeLists.txt ++++ b/libmysql/CMakeLists.txt +@@ -180,6 +180,12 @@ IF(MSVC) + INSTALL_DEBUG_TARGET(mysqlclient DESTINATION ${INSTALL_LIBDIR}/debug) + ENDIF() + ++MACRO(GET_TARGET_NAME target out_name) ++ GET_TARGET_PROPERTY(location ${target} LOCATION) ++ GET_FILENAME_COMPONENT(name ${location} NAME) ++ SET(${out_name} ${name}) ++ENDMACRO() ++ + IF(UNIX) + MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME) + SET(DOT_VERSION ".${VERSION}") +@@ -192,7 +198,13 @@ IF(UNIX) + SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION}) + ENDIF() + ENDMACRO() +- INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR} Development) ++ENDIF() ++ ++IF(UNIX) ++ GET_TARGET_NAME(mysqlclient lib_name) ++ INSTALL_SYMLINK(mysqlclient ++ ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a ++ ${INSTALL_LIBDIR} Development) + ENDIF() + + IF(NOT DISABLE_SHARED) +@@ -205,10 +217,9 @@ IF(NOT DISABLE_SHARED) + # libtool compatability + IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE) + SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}") +- ELSEIF(CMAKE_SYSTEM_NAME MATCHES "HP-UX") +- SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0") + ELSE() +- SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0") ++ SET(OS_SHARED_LIB_VERSION ++ "${SHARED_LIB_MAJOR_VERSION}.${SHARED_LIB_MINOR_VERSION}.0") + ENDIF() + # Name of shared library is mysqlclient on Unix + SET_TARGET_PROPERTIES(libmysql PROPERTIES +@@ -239,8 +250,13 @@ IF(NOT DISABLE_SHARED) + "${CMAKE_SHARED_LIBRARY_SUFFIX}" + "" + linkname) +- INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries) +- SET(OS_SHARED_LIB_SYMLINKS "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}") ++ GET_TARGET_NAME(libmysql lib_name) ++ GET_FILENAME_COMPONENT(lib_name_we ${lib_name} NAME_WE) ++ INSTALL_SYMLINK(libmysql ++ ${lib_name} ${linkname} ++ ${INSTALL_LIBDIR} SharedLibraries) ++ SET(OS_SHARED_LIB_SYMLINKS ++ "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}") + LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS) + FOREACH(ver ${OS_SHARED_LIB_SYMLINKS}) + GET_VERSIONED_LIBNAME( +@@ -248,7 +264,11 @@ IF(NOT DISABLE_SHARED) + "${CMAKE_SHARED_LIBRARY_SUFFIX}" + "${ver}" + linkname) +- INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries) ++ GET_VERSIONED_LIBNAME( ++ ${lib_name_we} "${CMAKE_SHARED_LIBRARY_SUFFIX}" "${ver}" lib_name_ver) ++ INSTALL_SYMLINK(libmysql ++ ${lib_name_ver} ${linkname} ++ ${INSTALL_LIBDIR} SharedLibraries) + ENDFOREACH() + ENDIF() + ENDIF() +-- +2.0.3 + diff --git a/meta-oe/recipes-support/mysql/mariadb/fix_host_path.patch b/meta-oe/recipes-support/mysql/mariadb/fix_host_path.patch deleted file mode 100644 index 4f69cd5198..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/fix_host_path.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- mysql-4.1.22/configure.in.old 2008-09-18 20:11:15.000000000 -0500 -+++ mysql-4.1.22/configure.in 2008-09-18 20:12:28.000000000 -0500 -@@ -456,9 +456,9 @@ else - fi - fi - --AC_SUBST(HOSTNAME) --AC_SUBST(PERL) --AC_SUBST(PERL5) -+AC_SUBST(HOSTNAME,/bin/hostname) -+AC_SUBST(PERL,$(bindir)/perl) -+AC_SUBST(PERL5,$(bindir)/perl) - - # for build ndb docs - -@@ -516,16 +516,17 @@ AC_MSG_RESULT("$FIND_PROC") - - # Check if a pid is valid - AC_PATH_PROG(KILL, kill, kill) -+AC_SUBST(KILL,/bin/kill) - AC_MSG_CHECKING("for kill switches") --if $ac_cv_path_KILL -0 $$ -+if $KILL -0 $$ - then -- CHECK_PID="$ac_cv_path_KILL -0 \$\$PID > /dev/null 2> /dev/null" -+ CHECK_PID="$KILL -0 \$\$PID > /dev/null 2> /dev/null" - elif kill -s 0 $$ - then -- CHECK_PID="$ac_cv_path_KILL -s 0 \$\$PID > /dev/null 2> /dev/null" -+ CHECK_PID="$KILL -s 0 \$\$PID > /dev/null 2> /dev/null" - else - AC_MSG_WARN([kill -0 to check for pid seems to fail]) -- CHECK_PID="$ac_cv_path_KILL -s SIGCONT \$\$PID > /dev/null 2> /dev/null" -+ CHECK_PID="$KILL -s SIGCONT \$\$PID > /dev/null 2> /dev/null" - fi - AC_SUBST(CHECK_PID) - AC_MSG_RESULT("$CHECK_PID") diff --git a/meta-oe/recipes-support/mysql/mariadb/misc.m4.patch b/meta-oe/recipes-support/mysql/mariadb/misc.m4.patch deleted file mode 100644 index 7b0acff21c..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/misc.m4.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: mysql-5.1.40/config/ac-macros/misc.m4 -=================================================================== ---- mysql-5.1.40.orig/config/ac-macros/misc.m4 -+++ mysql-5.1.40/config/ac-macros/misc.m4 -@@ -476,7 +476,7 @@ AC_DEFUN([MYSQL_STACK_DIRECTION], - { - exit (find_stack_direction() < 0); - }], ac_cv_c_stack_direction=1, ac_cv_c_stack_direction=-1, -- ac_cv_c_stack_direction=)]) -+ ac_cv_c_stack_direction=0)]) - AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction) - ])dnl - diff --git a/meta-oe/recipes-support/mysql/mariadb/my.cnf b/meta-oe/recipes-support/mysql/mariadb/my.cnf index d17438122d..876ce366a6 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,7 +9,7 @@ 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 @@ -17,5 +17,10 @@ datadir = /var/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 new file mode 100644 index 0000000000..18ad8d54d7 --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/mysqld.service @@ -0,0 +1,15 @@ +[Unit] +Description=MariaDB database server +After=syslog.target +After=network.target + +[Service] +Type=simple +User=mysql +Group=mysql +ExecStart=@BINDIR@/mysqld_safe --basedir=@PREFIX@ +TimeoutSec=300 +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/mysql/mariadb/mysqld.sh b/meta-oe/recipes-support/mysql/mariadb/mysqld.sh deleted file mode 100644 index 479ebdb257..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/mysqld.sh +++ /dev/null @@ -1,24 +0,0 @@ -# MySQL init script - -. /etc/default/rcS - -case "$1" in - start) - /usr/bin/mysqld_safe & - ;; - stop) - if test -f /var/lib/mysql/mysqld.pid ; then - PID=`cat /var/lib/mysql/mysqld.pid` - kill $PID - fi - ;; - restart) - $0 stop - $0 start - ;; - *) - echo "Usage: /etc/init.d/mysqld {start|stop|restart}" - ;; -esac - -exit 0 diff --git a/meta-oe/recipes-support/mysql/mariadb/plug.in.patch b/meta-oe/recipes-support/mysql/mariadb/plug.in.patch deleted file mode 100644 index 156fd10823..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/plug.in.patch +++ /dev/null @@ -1,405 +0,0 @@ -diff --git a/storage/innodb_plugin/plug.in b/storage/innodb_plugin/plug.in -index 7650251..3cc22c5 100644 ---- a/storage/innodb_plugin/plug.in -+++ b/storage/innodb_plugin/plug.in -@@ -56,180 +56,10 @@ MYSQL_PLUGIN_ACTIONS(innodb_plugin, [ - esac - AC_SUBST(INNODB_DYNAMIC_CFLAGS) - -- AC_MSG_CHECKING(whether GCC atomic builtins are available) -- # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not -- AC_TRY_RUN( -- [ -- int main() -- { -- long x; -- long y; -- long res; -- char c; -- -- x = 10; -- y = 123; -- res = __sync_bool_compare_and_swap(&x, x, y); -- if (!res || x != y) { -- return(1); -- } -- -- x = 10; -- y = 123; -- res = __sync_bool_compare_and_swap(&x, x + 1, y); -- if (res || x != 10) { -- return(1); -- } -- -- x = 10; -- y = 123; -- res = __sync_add_and_fetch(&x, y); -- if (res != 123 + 10 || x != 123 + 10) { -- return(1); -- } -- -- c = 10; -- res = __sync_lock_test_and_set(&c, 123); -- if (res != 10 || c != 123) { -- return(1); -- } -- -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1], -- [GCC atomic builtins are available]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- -- AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins) -- # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not -- AC_TRY_RUN( -- [ -- #include <pthread.h> -- #include <string.h> -- -- int main(int argc, char** argv) { -- pthread_t x1; -- pthread_t x2; -- pthread_t x3; -- -- memset(&x1, 0x0, sizeof(x1)); -- memset(&x2, 0x0, sizeof(x2)); -- memset(&x3, 0x0, sizeof(x3)); -- -- __sync_bool_compare_and_swap(&x1, x2, x3); -- -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1], -- [pthread_t can be used by GCC atomic builtins]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- -- AC_MSG_CHECKING(whether Solaris libc atomic functions are available) -- # Define HAVE_IB_SOLARIS_ATOMICS if _all_ of the following -- # functions are present. -- AC_CHECK_FUNCS(atomic_add_long_nv \ -- atomic_cas_32 \ -- atomic_cas_64 \ -- atomic_cas_ulong \ -- atomic_swap_uchar) -- -- if test "${ac_cv_func_atomic_add_long_nv}" = "yes" -a \ -- "${ac_cv_func_atomic_cas_32}" = "yes" -a \ -- "${ac_cv_func_atomic_cas_64}" = "yes" -a \ -- "${ac_cv_func_atomic_cas_ulong}" = "yes" -a \ -- "${ac_cv_func_atomic_swap_uchar}" = "yes" ; then -- -- AC_DEFINE([HAVE_IB_SOLARIS_ATOMICS], [1], -- [Define to 1 if Solaris libc atomic functions are available] -- ) -- fi -- -- AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions) -- # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not -- AC_TRY_RUN( -- [ -- #include <pthread.h> -- #include <string.h> -- -- int main(int argc, char** argv) { -- pthread_t x1; -- pthread_t x2; -- pthread_t x3; -- -- memset(&x1, 0x0, sizeof(x1)); -- memset(&x2, 0x0, sizeof(x2)); -- memset(&x3, 0x0, sizeof(x3)); -- -- if (sizeof(pthread_t) == 4) { -- -- atomic_cas_32(&x1, x2, x3); -- -- } else if (sizeof(pthread_t) == 8) { -- -- atomic_cas_64(&x1, x2, x3); -- -- } else { -- -- return(1); -- } -- -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1], -- [pthread_t can be used by solaris atomics]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- - # this is needed to know which one of atomic_cas_32() or atomic_cas_64() - # to use in the source - AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>]) - -- # Check for x86 PAUSE instruction -- AC_MSG_CHECKING(for x86 PAUSE instruction) -- # We have to actually try running the test program, because of a bug -- # in Solaris on x86_64, where it wrongly reports that PAUSE is not -- # supported when trying to run an application. See -- # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684 -- # We use ib_ prefix to avoid collisoins if this code is added to -- # mysql's configure.in. -- AC_TRY_RUN( -- [ -- int main() { -- __asm__ __volatile__ ("pause"); -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) - ]) - - # vim: set ft=config: -diff --git a/storage/xtradb/plug.in b/storage/xtradb/plug.in -index 3fadacc..a33f4dc 100644 ---- a/storage/xtradb/plug.in -+++ b/storage/xtradb/plug.in -@@ -56,215 +56,10 @@ MYSQL_PLUGIN_ACTIONS(xtradb, [ - esac - AC_SUBST(INNODB_DYNAMIC_CFLAGS) - -- AC_MSG_CHECKING(whether GCC atomic builtins are available) -- # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not -- AC_TRY_RUN( -- [ -- int main() -- { -- long x; -- long y; -- long res; -- char c; -- -- x = 10; -- y = 123; -- res = __sync_bool_compare_and_swap(&x, x, y); -- if (!res || x != y) { -- return(1); -- } -- -- x = 10; -- y = 123; -- res = __sync_bool_compare_and_swap(&x, x + 1, y); -- if (res || x != 10) { -- return(1); -- } -- -- x = 10; -- y = 123; -- res = __sync_add_and_fetch(&x, y); -- if (res != 123 + 10 || x != 123 + 10) { -- return(1); -- } -- -- c = 10; -- res = __sync_lock_test_and_set(&c, 123); -- if (res != 10 || c != 123) { -- return(1); -- } -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1], -- [GCC atomic builtins are available]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- -- AC_MSG_CHECKING(whether GCC 64-bit atomic builtins are available) -- # either define HAVE_IB_GCC_ATOMIC_BUILTINS_64 or not -- AC_TRY_RUN( -- [ -- #include <stdint.h> -- int main() -- { -- int64_t x, y, res; -- -- x = 10; -- y = 123; -- res = __sync_bool_compare_and_swap(&x, x, y); -- if (!res || x != y) { -- return(1); -- } -- -- x = 10; -- y = 123; -- res = __sync_add_and_fetch(&x, y); -- if (res != 123 + 10 || x != 123 + 10) { -- return(1); -- } -- -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS_64], [1], -- [GCC 64-bit atomic builtins are available]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- -- AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins) -- # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not -- AC_TRY_RUN( -- [ -- #include <pthread.h> -- #include <string.h> -- -- int main(int argc, char** argv) { -- pthread_t x1; -- pthread_t x2; -- pthread_t x3; -- -- memset(&x1, 0x0, sizeof(x1)); -- memset(&x2, 0x0, sizeof(x2)); -- memset(&x3, 0x0, sizeof(x3)); -- -- __sync_bool_compare_and_swap(&x1, x2, x3); -- -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1], -- [pthread_t can be used by GCC atomic builtins]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- -- AC_MSG_CHECKING(whether Solaris libc atomic functions are available) -- # Define HAVE_IB_SOLARIS_ATOMICS if _all_ of the following -- # functions are present. -- AC_CHECK_FUNCS(atomic_add_long_nv \ -- atomic_cas_32 \ -- atomic_cas_64 \ -- atomic_cas_ulong \ -- atomic_swap_uchar) -- -- if test "${ac_cv_func_atomic_add_long_nv}" = "yes" -a \ -- "${ac_cv_func_atomic_cas_32}" = "yes" -a \ -- "${ac_cv_func_atomic_cas_64}" = "yes" -a \ -- "${ac_cv_func_atomic_cas_ulong}" = "yes" -a \ -- "${ac_cv_func_atomic_swap_uchar}" = "yes" ; then -- -- AC_DEFINE([HAVE_IB_SOLARIS_ATOMICS], [1], -- [Define to 1 if Solaris libc atomic functions are available] -- ) -- fi -- -- AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions) -- # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not -- AC_TRY_RUN( -- [ -- #include <pthread.h> -- #include <string.h> -- -- int main(int argc, char** argv) { -- pthread_t x1; -- pthread_t x2; -- pthread_t x3; -- -- memset(&x1, 0x0, sizeof(x1)); -- memset(&x2, 0x0, sizeof(x2)); -- memset(&x3, 0x0, sizeof(x3)); -- -- if (sizeof(pthread_t) == 4) { -- -- atomic_cas_32(&x1, x2, x3); -- -- } else if (sizeof(pthread_t) == 8) { -- -- atomic_cas_64(&x1, x2, x3); -- -- } else { -- -- return(1); -- } -- -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1], -- [pthread_t can be used by solaris atomics]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) -- - # this is needed to know which one of atomic_cas_32() or atomic_cas_64() - # to use in the source - AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>]) - -- # Check for x86 PAUSE instruction -- AC_MSG_CHECKING(for x86 PAUSE instruction) -- # We have to actually try running the test program, because of a bug -- # in Solaris on x86_64, where it wrongly reports that PAUSE is not -- # supported when trying to run an application. See -- # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684 -- # We use ib_ prefix to avoid collisoins if this code is added to -- # mysql's configure.in. -- AC_TRY_RUN( -- [ -- int main() { -- __asm__ __volatile__ ("pause"); -- return(0); -- } -- ], -- [ -- AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist]) -- AC_MSG_RESULT(yes) -- ], -- [ -- AC_MSG_RESULT(no) -- ], -- [ -- AC_MSG_RESULT(no) -- ] -- ) - ]) - - # vim: set ft=config: diff --git a/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch b/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch new file mode 100644 index 0000000000..ff26b0b86c --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch @@ -0,0 +1,18 @@ +Remove host path from include directories + +Naturally this breaks cross-compilation if present. + +Upstream-Status: Pending + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +--- mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:37:04.529327998 +0100 ++++ mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:43:56.991337895 +0100 +@@ -39,7 +39,6 @@ + + ## default includes and libraries + include_directories(SYSTEM +- /usr/local/include + ${ZLIB_INCLUDE_DIRS} + ) + diff --git a/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch b/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch deleted file mode 100644 index 0530cd92ff..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/storage-forbids-absolute-addresses-on-IA-32.patch +++ /dev/null @@ -1,44 +0,0 @@ -storage: forbids absolute addresses on IA-32 - -The shared lib has relocations in .text -... -WARNING: QA Issue: ELF binary '/usr/lib/plugin/ha_xtradb.so.0.0.0' has relocations in .text -WARNING: QA Issue: ELF binary '/usr/lib/plugin/ha_innodb_plugin.so.0.0.0' has relocations in .text -... - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - storage/innodb_plugin/plug.in | 2 +- - storage/xtradb/plug.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/storage/innodb_plugin/plug.in b/storage/innodb_plugin/plug.in ---- a/storage/innodb_plugin/plug.in -+++ b/storage/innodb_plugin/plug.in -@@ -50,7 +50,7 @@ MYSQL_PLUGIN_ACTIONS(innodb_plugin, [ - ;; - *86) - # Use absolute addresses on IA-32 -- INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic" -+ # INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic" - ;; - esac - AC_SUBST(INNODB_DYNAMIC_CFLAGS) -diff --git a/storage/xtradb/plug.in b/storage/xtradb/plug.in -index a33f4dc..4c186fd 100644 ---- a/storage/xtradb/plug.in -+++ b/storage/xtradb/plug.in -@@ -51,7 +51,7 @@ MYSQL_PLUGIN_ACTIONS(xtradb, [ - ;; - *86) - # Use absolute addresses on IA-32 -- INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic" -+ # INNODB_DYNAMIC_CFLAGS="$INNODB_DYNAMIC_CFLAGS -prefer-non-pic" - ;; - esac - AC_SUBST(INNODB_DYNAMIC_CFLAGS) --- -1.7.9.5 - diff --git a/meta-oe/recipes-support/mysql/mariadb/zlib-let-libdir-configurable.patch b/meta-oe/recipes-support/mysql/mariadb/zlib-let-libdir-configurable.patch deleted file mode 100644 index 880c2a717a..0000000000 --- a/meta-oe/recipes-support/mysql/mariadb/zlib-let-libdir-configurable.patch +++ /dev/null @@ -1,63 +0,0 @@ -zlib: let lib dir configurable - -The zlib were found in $mysql_zlib_dir/lib, and the -search will fail if zlib in $mysql_zlib_dir/lib64. - -Let lib dir configurable rather than hardcode. - -Upstream-Status: Pending -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - config/ac-macros/zlib.m4 | 12 ++++++------ - configure.in | 8 ++++++++ - 2 files changed, 14 insertions(+), 6 deletions(-) - -diff --git a/config/ac-macros/zlib.m4 b/config/ac-macros/zlib.m4 ---- a/config/ac-macros/zlib.m4 -+++ b/config/ac-macros/zlib.m4 -@@ -106,17 +106,17 @@ case $SYSTEM_TYPE in - ;; - *) - # Test for libz using all known library file endings -- if test \( -f "$mysql_zlib_dir/lib/libz.a" -o \ -- -f "$mysql_zlib_dir/lib/libz.so" -o \ -- -f "$mysql_zlib_dir/lib/libz.sl" -o \ -- -f "$mysql_zlib_dir/lib/libz.dylib" \) \ -+ if test \( -f "$mysql_zlib_dir/$base_libdir/libz.a" -o \ -+ -f "$mysql_zlib_dir/$base_libdir/libz.so" -o \ -+ -f "$mysql_zlib_dir/$base_libdir/libz.sl" -o \ -+ -f "$mysql_zlib_dir/$base_libdir/libz.dylib" \) \ - -a -f "$mysql_zlib_dir/include/zlib.h"; then - ZLIB_INCLUDES="-I$mysql_zlib_dir/include" -- ZLIB_LIBS="-L$mysql_zlib_dir/lib -lz" -+ ZLIB_LIBS="-L$mysql_zlib_dir/$base_libdir -lz" - MYSQL_CHECK_ZLIB_DIR - fi - if test "x$mysql_cv_compress" != "xyes"; then -- AC_MSG_ERROR([headers or binaries were not found in $mysql_zlib_dir/{include,lib}]) -+ AC_MSG_ERROR([headers or binaries were not found in $mysql_zlib_dir/{include,$base_libdir}]) - fi - ;; - esac -diff --git a/configure.in b/configure.in -index 2c6c08e..193b59a 100644 ---- a/configure.in -+++ b/configure.in -@@ -104,6 +104,14 @@ AC_SUBST(SHARED_LIB_MAJOR_VERSION) - AC_SUBST(SHARED_LIB_VERSION) - AC_SUBST(AVAILABLE_LANGUAGES) - -+AC_ARG_WITH([baselib-dir], -+ AC_HELP_STRING([--baselib-dir=DIR], -+ [Provide MySQL with a custom location of -+ baselib dir. Given DIR, such as zlib binary is -+ assumed to be in $zlib-dir/$DIR.]), -+ [base_libdir=${withval}], -+ [base_libdir="lib"]) -+ - # Check whether a debug mode should be enabled. - AC_ARG_WITH([debug], - AS_HELP_STRING([--with-debug@<:@=full@:>@], --- -1.8.1.2 - diff --git a/meta-oe/recipes-support/mysql/mariadb_5.1.67.bb b/meta-oe/recipes-support/mysql/mariadb_5.5.41.bb index 6ad1fe68aa..8f998a3a56 100644 --- a/meta-oe/recipes-support/mysql/mariadb_5.1.67.bb +++ b/meta-oe/recipes-support/mysql/mariadb_5.5.41.bb @@ -1,6 +1,8 @@ -require ${PN}_${PV}.inc +require mariadb.inc -DEPENDS += "mariadb-native ncurses zlib" +EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1" + +DEPENDS += "mariadb-native ncurses zlib readline libaio libevent" PROVIDES += "mysql5" @@ -23,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/nonworking/syslog-ng/files/initscript b/meta-oe/recipes-support/nonworking/syslog-ng/files/initscript deleted file mode 100644 index b95e8adc20..0000000000 --- a/meta-oe/recipes-support/nonworking/syslog-ng/files/initscript +++ /dev/null @@ -1,45 +0,0 @@ -#! /bin/sh -# -# This is an init script for openembedded -# Copy it to /etc/init.d/syslog-ng and type -# > update-rc.d syslog-ng defaults 5 -# - - -syslog_ng=/usr/sbin/syslog-ng -test -x "$syslog_ng" || exit 0 - -case "$1" in - start) - echo -n "Starting syslog-ng:" - start-stop-daemon --start --quiet --exec $syslog_ng - echo "." - ;; - stop) - echo -n "Stopping syslog-ng:" - start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid - echo "." - ;; - reload|force-reload) - start-stop-daemon --stop --quiet --signal 1 --exec $syslog_ng - ;; - restart) - echo "Stopping syslog-ng:" - start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid - echo -n "Waiting for syslog-ng to die off" - for i in 1 2 3 ; - do - sleep 1 - echo -n "." - done - echo "" - echo -n "Starting syslog-ng:" - start-stop-daemon --start --quiet --exec $syslog_ng - echo "." - ;; - *) - echo "Usage: /etc/init.d/syslog-ng {start|stop|reload|restart|force-reload}" - exit 1 -esac - -exit 0 diff --git a/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng.inc b/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng.inc deleted file mode 100644 index 84846587b0..0000000000 --- a/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng.inc +++ /dev/null @@ -1,98 +0,0 @@ -DESCRIPTION = "Alternative system logger daemon" -DEPENDS = "libol flex eventlog glib-2.0" -LICENSE = "GPL LGPL" -LIC_FILES_CHKSUM = "file://COPYING;md5=7ec1bcc46f28b11f4722e20d9b7dd4d5" - -# syslog initscript is handled explicitly because order of -# update-rc.d and update-alternatives is important -RDEPENDS_${PN} += " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}" - -INC_PR = "r12" - -inherit autotools systemd - -SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/sources/${PV}/source/${PN}_${PV}.tar.gz" - -noipv6 = "${@base_contains('DISTRO_FEATURES', 'ipv6', '', '--disable-ipv6', d)}" - -EXTRA_OECONF = " \ - --with-libnet=${STAGING_BINDIR_CROSS} \ - --enable-dynamic-linking \ - ${noipv6} \ - --enable-ssl \ - --disable-sub-streams \ - --disable-pacct \ - --disable-linux-caps \ - --disable-pcre \ - --disable-sql \ -" - -EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" -EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'systemd', '--enable-systemd', '--disable-systemd', d)}" - -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)}" -} - -# rename modules.conf because it breaks update-modules -# see http://lists.linuxtogo.org/pipermail/openembedded-devel/2011-October/035537.html -do_install_append() { - mv ${D}/${sysconfdir}/modules.conf ${D}/${sysconfdir}/scl-modules.conf - sed -i "s#@include 'modules.conf'#@include 'scl-modules.conf'#g" ${D}/${sysconfdir}/scl.conf - install -d ${D}/${sysconfdir}/${PN} - install ${WORKDIR}/syslog-ng.conf ${D}${sysconfdir}/${PN}.conf - install -d ${D}/${sysconfdir}/init.d - install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog.${PN} -} - -FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \ - ${sysconfdir} ${sharedstatedir} ${localstatedir} \ - ${base_bindir}/* ${base_sbindir}/* \ - ${base_libdir}/*${SOLIBS} \ - ${datadir}/${BPN} ${libdir}/${BPN}/*${SOLIBS} \ - ${datadir}/include/scl/ ${datadir}/xsd" -FILES_${PN}-dev += "${libdir}/${BPN}/lib*.la ${libdir}/${BPN}/*${SOLIBSDEV}" -CONFFILES_${PN} = "${sysconfdir}/${PN}.conf ${sysconfdir}/scl.conf ${sysconfdir}/scl-modules.conf" - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "${PN}.service" - -pkg_postinst_${PN} () { - /etc/init.d/syslog stop - update-alternatives --install ${sysconfdir}/init.d/syslog syslog-init syslog.${PN} 200 - - if test "x$D" != "x"; then - OPT="-r $D" - else - OPT="-s" - fi - # remove all rc.d-links potentially created from alternative - # syslog packages before creating new ones - update-rc.d $OPT -f syslog remove - update-rc.d $OPT syslog start 20 2 3 4 5 . stop 90 0 1 6 . -} - -pkg_prerm_${PN} () { - if test "x$D" = "x"; then - if test "$1" = "upgrade" -o "$1" = "remove"; then - /etc/init.d/syslog stop - fi - fi - - update-alternatives --remove syslog-init syslog.${PN} -} - -pkg_postrm_${PN} () { - if test "x$D" != "x"; then - OPT="-r $D" - else - OPT="" - fi - if test "$1" = "remove" -o "$1" = "purge"; then - if ! test -e "/etc/init.d/syslog"; then - update-rc.d $OPT syslog remove - fi - fi -} diff --git a/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng_3.2.5.bb b/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng_3.2.5.bb deleted file mode 100644 index 6d1fee7ae2..0000000000 --- a/meta-oe/recipes-support/nonworking/syslog-ng/syslog-ng_3.2.5.bb +++ /dev/null @@ -1,10 +0,0 @@ -require syslog-ng.inc -PR = "${INC_PR}.1" - -SRC_URI += " \ - file://syslog-ng.conf \ - file://initscript \ -" - -SRC_URI[md5sum] = "60737452ce898f9dc7170dfdc9bfd732" -SRC_URI[sha256sum] = "ffc9f3a0ebea836c1c737b1ff49efe731d885af1d8aacf9eca79d9144eeefa89" diff --git a/meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch b/meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch new file mode 100644 index 0000000000..8c309a4b5c --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch @@ -0,0 +1,59 @@ +[PATCH] Fix the test output format + +Upstream-Status: Pending + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + test/regress | 6 +++--- + test/regress2 | 9 ++++----- + 2 files changed, 7 insertions(+), 8 deletions(-) + +diff --git a/test/regress b/test/regress +index 05eff5b..10d72f7 100755 +--- a/test/regress ++++ b/test/regress +@@ -73,6 +73,7 @@ probe_hardware() + if [ $numnodes -lt 2 ] ; then + echo "need at least two nodes with at least $NEEDPAGES each of" + echo "free memory for mempolicy regression tests" ++ echo "FAIL: numa regress" + exit 1 + fi + } +@@ -206,10 +207,9 @@ main() + rm A B + + if [ "$EXIT" = 0 ] ; then +- echo '========SUCCESS' ++ echo 'PASS: numactl regress' + else +- echo '========FAILURE' +- exit 1 ++ echo 'FAIL: numactl regress' + fi + } + +diff --git a/test/regress2 b/test/regress2 +index 6a254fa..9c97943 100755 +--- a/test/regress2 ++++ b/test/regress2 +@@ -6,12 +6,11 @@ VALGRIND=${VALGRIND:-} + export LD_LIBRARY_PATH=`pwd`/.. + + T() { +- echo "$@" +- if ! $VALGRIND "$@" ; then +- echo $1 FAILED!!!! +- exit 1 ++ if ! $VALGRIND "$@" 2>&1 1>/dev/null; then ++ echo "FAIL: $1" ++ else ++ echo "PASS: $1" + fi +- echo + } + + # various tests +-- +1.7.10.4 + diff --git a/meta-oe/recipes-support/numactl/numactl/Makefile b/meta-oe/recipes-support/numactl/numactl/Makefile new file mode 100644 index 0000000000..9a5134c3f2 --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl/Makefile @@ -0,0 +1,7 @@ +.PHONY: regress1 regress2 + +regress1: + cd test ; ./regress + +regress2: + cd test ; ./regress2 diff --git a/meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch b/meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch new file mode 100644 index 0000000000..53952aef95 --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch @@ -0,0 +1,28 @@ +[PATCH] return 0 if distance_table is NULL + +Upstream-Status: Pending + +read_distance_table() maybe return 0, but distance_table is not set, +if distance_table is used, and will lead to SEGFAULT + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + distance.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/distance.c b/distance.c +index 4a26972..c6ca021 100755 +--- a/distance.c ++++ b/distance.c +@@ -113,6 +113,8 @@ int numa_distance(int a, int b) + int err = read_distance_table(); + if (err < 0) + return 0; ++ if (!distance_table) ++ return 0; + } + return distance_table[a * distance_numnodes + b]; + } +-- +1.7.10.4 + diff --git a/meta-oe/recipes-support/numactl/numactl/run-ptest b/meta-oe/recipes-support/numactl/numactl/run-ptest new file mode 100755 index 0000000000..215f7c25b9 --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl/run-ptest @@ -0,0 +1,9 @@ +#!/bin/sh +make regress1 +make regress2 +if numademo -t -e 10M; then + echo "PASS: numademo" +else + echo "FAIL: numademo" +fi + diff --git a/meta-oe/recipes-support/numactl/numactl_2.0.9.bb b/meta-oe/recipes-support/numactl/numactl_2.0.9.bb new file mode 100644 index 0000000000..651277dab4 --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl_2.0.9.bb @@ -0,0 +1,44 @@ +SUMMARY = "Development package for building Applications that use numa" +DESCRIPTION = "Simple NUMA policy support. It consists of a numactl program \ +to run other programs with a specific NUMA policy and a libnuma to do \ +allocations with NUMA policy in applications." +LICENSE = "GPL-2.0 & LGPL-2.1" +SECTION = "apps" +RDEPENDS_${PN} = "perl" + +inherit autotools-brokensep ptest + +LIC_FILES_CHKSUM = "file://README;beginline=19;endline=32;md5=5644cc3851cb2499f6c48e52fe198bd9" +SRC_URI[md5sum] = "136685c8eaf9d6569c351fe1d453b30c" +SRC_URI[sha256sum] = "9ca033e6c14c0f26c20379b0cf9299429fd5a354a79c3c7880fd41ef69f7751c" + +SRC_URI = "ftp://oss.sgi.com/www/projects/libnuma/download/${BPN}-${PV}.tar.gz \ + file://fix-null-pointer.patch \ + file://Fix-the-test-output-format.patch \ + file://Makefile \ + file://run-ptest \ + " + +# ARM does not currently support NUMA +COMPATIBLE_HOST = "^((?!arm).*)$" + +do_install() { + oe_runmake DESTDIR=${D} prefix=${D}/usr libdir=${D}/${libdir} install + #remove the empty man2 directory + rm -r ${D}${mandir}/man2 +} + +do_install_ptest() { + #install tests binaries + local test_binaries="checkaffinity checktopology distance \ + ftok mbind_mig_pages migrate_pages move_pages mynode \ + nodemap pagesize prefered printcpu randmap realloc_test \ + regress regress2 runltp shmtest tbitmap tshared bind_range" + + [ ! -d ${D}/${PTEST_PATH}/test ] && mkdir -p ${D}/${PTEST_PATH}/test + for i in $test_binaries; do + install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test + done + install -m 0755 ${WORKDIR}/Makefile ${D}${PTEST_PATH}/ + install -m 0755 ${B}/numactl ${D}${PTEST_PATH}/ +} diff --git a/meta-oe/recipes-support/ode/ode/configure.patch b/meta-oe/recipes-support/ode/ode/configure.patch new file mode 100644 index 0000000000..246b2e2c27 --- /dev/null +++ b/meta-oe/recipes-support/ode/ode/configure.patch @@ -0,0 +1,13 @@ +Index: ode-0.13/libccd/configure.ac +=================================================================== +--- ode-0.13.orig/libccd/configure.ac 2013-08-19 17:48:03.000000000 +0000 ++++ ode-0.13/libccd/configure.ac 2014-07-17 22:04:16.580595690 +0000 +@@ -5,7 +5,7 @@ + AC_INIT([libccd], [1.0], [danfis@danfis.cz]) + AC_CONFIG_SRCDIR([src/ccd.c]) + AC_CONFIG_HEADERS([src/config.h]) +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([foreign]) + + # Checks for programs. + AC_PROG_CXX diff --git a/meta-oe/recipes-support/ode/ode_0.13.bb b/meta-oe/recipes-support/ode/ode_0.13.bb index 8e9eb153c2..2dc82a8e1b 100644 --- a/meta-oe/recipes-support/ode/ode_0.13.bb +++ b/meta-oe/recipes-support/ode/ode_0.13.bb @@ -11,7 +11,8 @@ LIC_FILES_CHKSUM = " \ # file://LICENSE-BSD.TXT;md5=c74e6304a772117e059458fb9763a928 -SRC_URI = "${SOURCEFORGE_MIRROR}/opende/ode-${PV}.tar.bz2" +SRC_URI = "${SOURCEFORGE_MIRROR}/opende/ode-${PV}.tar.bz2 \ + file://configure.patch" SRC_URI[md5sum] = "04b32c9645c147e18caff7a597a19f84" SRC_URI[sha256sum] = "34ce3e236e313bf109a0cb5546d2fca462aed99f29a42e62bc1463b803c31ef9" diff --git a/meta-oe/recipes-support/onig/files/configure.patch b/meta-oe/recipes-support/onig/files/configure.patch new file mode 100644 index 0000000000..5fa700f190 --- /dev/null +++ b/meta-oe/recipes-support/onig/files/configure.patch @@ -0,0 +1,13 @@ +Index: onig-5.9.3/configure.in +=================================================================== +--- onig-5.9.3.orig/configure.in 2012-10-26 07:06:14.000000000 +0000 ++++ onig-5.9.3/configure.in 2014-07-18 08:02:52.701574484 +0000 +@@ -3,7 +3,7 @@ + + AC_CONFIG_MACRO_DIR([m4]) + +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([foreign]) + AC_CONFIG_HEADER(config.h) + + diff --git a/meta-oe/recipes-support/onig/onig_5.9.3.bb b/meta-oe/recipes-support/onig/onig_5.9.3.bb index f67ceede67..22db78afe7 100644 --- a/meta-oe/recipes-support/onig/onig_5.9.3.bb +++ b/meta-oe/recipes-support/onig/onig_5.9.3.bb @@ -6,7 +6,8 @@ LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=0d4861b5bc0c392a5aa90d9d76ebd86f" SRC_URI = "http://www.geocities.jp/kosako3/oniguruma/archive/onig-${PV}.tar.gz \ - file://do-not-use-system-headers.patch" + file://do-not-use-system-headers.patch \ + file://configure.patch" SRC_URI[md5sum] = "0d4eda2066d3c92970842a6790ce897a" SRC_URI[sha256sum] = "c3bba66b2a84760e6582c40881db97c839d94f327870009724bb8b4d0c051f2a" 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/opencv/opencv_2.4.bb b/meta-oe/recipes-support/opencv/opencv_2.4.bb index df512f6f6d..63d7c8b25b 100644 --- a/meta-oe/recipes-support/opencv/opencv_2.4.bb +++ b/meta-oe/recipes-support/opencv/opencv_2.4.bb @@ -9,12 +9,12 @@ ARM_INSTRUCTION_SET = "arm" DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0" -SRCREV = "a4b34e7ae10351fc4d30dc55995679340efc488e" +SRCREV = "df8e28283f09825cca0c2902160b7abebcfe1b64" SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \ file://opencv-fix-pkgconfig-generation.patch \ " -PV = "2.4.8+git${SRCPV}" +PV = "2.4.9+git${SRCPV}" S = "${WORKDIR}/git" @@ -31,7 +31,8 @@ EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR} ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \ " -PACKAGECONFIG ??= "eigen gtk jpeg libav png tiff v4l" +PACKAGECONFIG ??= "eigen jpeg libav png tiff v4l \ + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)}" PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen," PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+," PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," 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 40881cd6d7..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,9 +23,13 @@ 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 -exit 0
\ No newline at end of file +exit 0 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/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 306a78647d..8752395fab 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,30 +9,33 @@ 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])}" -SRC_URI = "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${P}.tgz \ +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 \ " -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 # CV SETTINGS # Required to work round AC_FUNC_MEMCMP which gets the wrong answer @@ -47,7 +51,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 +68,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 +81,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 +101,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 +116,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,7 +141,10 @@ 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 @@ -176,31 +179,29 @@ 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 -} - -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" -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 2e41524509..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,6 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=14f692c82491db3d52419929d2f3b343" PR = "r3" +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/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/p11-kit/p11-kit_0.19.1.bb b/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb index 67c2c00cef..e0ebe7da9c 100644 --- a/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb +++ b/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb @@ -6,7 +6,7 @@ inherit autotools gettext pkgconfig DEPENDS = "libtasn1 libffi" -SRC_URI = "http://p11-glue.freedesktop.org/releases/${PN}-${PV}.tar.gz" +SRC_URI = "http://p11-glue.freedesktop.org/releases/${BP}.tar.gz" SRC_URI[md5sum] = "d96046ab6ac00d005342caf416ed76ab" SRC_URI[sha256sum] = "94fbed372c11d0a404762aad966e54eb4f44c1d5b871a1b79a1a3b4cf36ed256" 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/pcsc-lite/pcsc-lite_1.8.6.bb b/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb index 00a9635c39..5a58389ab7 100644 --- a/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb +++ b/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb @@ -10,7 +10,7 @@ SRC_URI[sha256sum] = "1e44049168d1ce55fd56c175f61206955254df0f385455f2a20ec7e8a0 PR = "r3" -inherit autotools systemd +inherit autotools systemd pkgconfig EXTRA_OECONF = " \ --disable-libusb \ 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/pidgin/libotr/sepbuild.patch b/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch new file mode 100644 index 0000000000..f66e52881c --- /dev/null +++ b/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch @@ -0,0 +1,16 @@ +Fix builds with ${B} != ${S} + +Upstream-Status: Pending + +RP 2014/7/17 + +Index: libotr-4.0.0/toolkit/Makefile.am +=================================================================== +--- libotr-4.0.0.orig/toolkit/Makefile.am 2014-07-16 18:09:59.777858022 +0000 ++++ libotr-4.0.0/toolkit/Makefile.am 2014-07-17 06:28:51.359066155 +0000 +@@ -1,4 +1,4 @@ +-INCLUDES = -I../src @LIBGCRYPT_CFLAGS@ ++INCLUDES = -I$(top_srcdir)/src @LIBGCRYPT_CFLAGS@ + + noinst_HEADERS = aes.h ctrmode.h parse.h sesskeys.h readotr.h sha1hmac.h + diff --git a/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb b/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb index 7396efd2d4..dd9eeab7a9 100644 --- a/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb +++ b/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb @@ -4,8 +4,9 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24" DEPENDS = "libgcrypt libgpg-error" -SRC_URI = "http://www.cypherpunks.ca/otr/${P}.tar.gz \ +SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \ file://fix_qa-issue_include.patch \ + file://sepbuild.patch \ " SRC_URI[md5sum] = "00979dca82d70383fcd1b01f3974363c" diff --git a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb index cf3c680d2e..18dbe0959f 100644 --- a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb +++ b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb @@ -2,9 +2,9 @@ SUMMARY = "(OTR) Messaging allows you to have private conversations over instant HOMEPAGE = "http://www.cypherpunks.ca/otr/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24" -DEPENDS = "libgcrypt libotr pidgin" +DEPENDS = "libgcrypt libotr pidgin intltool-native" -SRC_URI = "http://www.cypherpunks.ca/otr/${P}.tar.gz \ +SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \ file://ignore_extra-portability_warnings.patch \ " diff --git a/meta-oe/recipes-support/pidgin/pidgin.inc b/meta-oe/recipes-support/pidgin/pidgin_2.10.9.bb index 0973b21ac8..b635352374 100644 --- a/meta-oe/recipes-support/pidgin/pidgin.inc +++ b/meta-oe/recipes-support/pidgin/pidgin_2.10.9.bb @@ -2,23 +2,38 @@ DESCRIPTION = "multi-protocol instant messaging client" SECTION = "x11/network" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -DEPENDS = "python startup-notification avahi gtk+ ncurses gnutls virtual/libintl gstreamer dbus" -INC_PR = "r3" +DEPENDS = "python startup-notification avahi gtk+ ncurses gnutls virtual/libintl gstreamer dbus intltool-native farsight2 libidn" inherit autotools gettext pkgconfig gconf perlnative +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \ + file://sanitize-configure.ac.patch \ + file://pidgin.desktop-set-icon.patch \ + file://purple-OE-branding-25.patch \ + file://pidgin-cross-python-265.patch \ +" + +SRC_URI[md5sum] = "10a4a69d077893f6dd3438cd8af94e81" +SRC_URI[sha256sum] = "dc362ed8577f623eea4554a79e917073aa726825074fea402f2e515f0f51f319" + EXTRA_OECONF = " \ - --enable-vv \ - --disable-perl \ - --disable-tcl \ - --disable-gevolution \ - --disable-schemas-install \ - --x-includes=${STAGING_INCDIR} \ - --x-libraries=${STAGING_LIBDIR} \ - --enable-gnutls=yes \ - --with-ncurses-headers=${STAGING_INCDIR} \ - --with-gnutls-includes=${STAGING_INCDIR} \ - --with-gnutls-libs=${STAGING_LIBDIR} \ + --enable-vv \ + --disable-perl \ + --disable-tcl \ + --disable-gevolution \ + --disable-schemas-install \ + --x-includes=${STAGING_INCDIR} \ + --x-libraries=${STAGING_LIBDIR} \ + --enable-gnutls=yes \ + --with-ncurses-headers=${STAGING_INCDIR} \ + --with-gnutls-includes=${STAGING_INCDIR} \ + --with-gnutls-libs=${STAGING_LIBDIR} \ + --disable-gtkspell \ + --disable-meanwhile \ + --disable-nm \ + --disable-screensaver \ + --enable-nss=no \ " do_configure_prepend() { diff --git a/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb b/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb deleted file mode 100644 index 3ce3cc39a2..0000000000 --- a/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb +++ /dev/null @@ -1,23 +0,0 @@ -require pidgin.inc -PR = "${INC_PR}.3" - -DEPENDS += "farsight2 libidn" - -SRC_URI = "\ - ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \ - file://sanitize-configure.ac.patch \ - file://pidgin.desktop-set-icon.patch \ - file://purple-OE-branding-25.patch \ - file://pidgin-cross-python-265.patch \ -" - -SRC_URI[md5sum] = "9bc6cf953ed7d383b215fa8487bf8829" -SRC_URI[sha256sum] = "9722d7f199a6704e29900c80f270d9409d5c28caab77f495b68108d81ba3e19e" - -EXTRA_OECONF += "\ - --disable-gtkspell \ - --disable-meanwhile \ - --disable-nm \ - --disable-screensaver \ - --enable-nss=no \ -" 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/poppler/poppler-data_0.4.6.bb b/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb index 644e318014..014ba7cdda 100644 --- a/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb +++ b/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \ inherit allarch -SRC_URI = "http://poppler.freedesktop.org/${PN}-${PV}.tar.gz" +SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.gz" SRC_URI[md5sum] = "a8a7ca808827dd674faba6e4fc73b471" SRC_URI[sha256sum] = "f306901dfa5bda90cd6663d4eedb1c773c3c709de78018c79f1282b2c8f90afa" diff --git a/meta-oe/recipes-support/poppler/poppler_0.22.4.bb b/meta-oe/recipes-support/poppler/poppler_0.26.5.bb index 7aa0dfc909..d11963961c 100644 --- a/meta-oe/recipes-support/poppler/poppler_0.22.4.bb +++ b/meta-oe/recipes-support/poppler/poppler_0.26.5.bb @@ -3,14 +3,19 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" SRC_URI = " \ - http://poppler.freedesktop.org/${PN}-${PV}.tar.gz \ + http://poppler.freedesktop.org/${BP}.tar.xz \ " -SRC_URI[md5sum] = "49d55921ce795778c7231fe9f2fe923b" -SRC_URI[sha256sum] = "4f438f34e63265e2da8427f3423f940ff41c26088922a9f5d976f795c1dce13b" +SRC_URI[md5sum] = "786c943eee550e3a977c181e7778b1c8" +SRC_URI[sha256sum] = "de7de5fa337431e5d1f372e8577b3707322f1dbc1dc28a70f2927476f134d1ee" -DEPENDS = "fontconfig jpeg zlib gtk+ cairo tiff lcms" +DEPENDS = "fontconfig zlib cairo lcms" -inherit autotools pkgconfig +inherit autotools pkgconfig gtk-doc + +PACKAGECONFIG ??= "jpeg png tiff" +PACKAGECONFIG[jpeg] = "--enable-libjpeg,--disable-libjpeg,jpeg" +PACKAGECONFIG[png] = "--enable-libpng,--disable-libpng,libpng" +PACKAGECONFIG[tiff] = "--enable-libtiff,--disable-libtiff,tiff" EXTRA_OECONF = "\ --enable-xpdf-headers \ diff --git a/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch b/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch new file mode 100644 index 0000000000..d08ec6af1d --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch @@ -0,0 +1,43 @@ +From d52e330be895bb8c5f0fb3e2884766acbd942a85 Mon Sep 17 00:00:00 2001 +From: Philip Balister <philip@balister.org> +Date: Tue, 1 Jul 2014 09:40:44 -0400 +Subject: [PATCH] Use pkg-config for libxml2 detection. + +Upstream-Status: Inappropriate [configuration] + +xml2-config does not work. Use pkgconfig to set CPPFLAGS and LIBS. + +Signed-off-by: Philip Balister <philip@balister.org> +--- + configure.in | 15 ++------------- + 1 file changed, 2 insertions(+), 13 deletions(-) + +diff --git a/configure.in b/configure.in +index f8bf466..1f4fabf 100644 +--- a/configure.in ++++ b/configure.in +@@ -734,19 +734,8 @@ PGAC_ARG_BOOL(with, libxml, no, [build with XML support], + [AC_DEFINE([USE_LIBXML], 1, [Define to 1 to build with XML support. (--with-libxml)])]) + + if test "$with_libxml" = yes ; then +- AC_CHECK_PROGS(XML2_CONFIG, xml2-config) +- if test -n "$XML2_CONFIG"; then +- for pgac_option in `$XML2_CONFIG --cflags`; do +- case $pgac_option in +- -I*|-D*) CPPFLAGS="$CPPFLAGS $pgac_option";; +- esac +- done +- for pgac_option in `$XML2_CONFIG --libs`; do +- case $pgac_option in +- -L*) LDFLAGS="$LDFLAGS $pgac_option";; +- esac +- done +- fi ++ CPPFLAGS="$CPPFLAGS `pkg-config --short-errors --print-errors --cflags "libxml-2.0" 2>&1`" ++ LIBS="`pkg-config --short-errors --print-errors --libs "libxml-2.0" 2>&1` $LIBS" + fi + + AC_SUBST(with_libxml) +-- +1.8.3.1 + 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/files/postgresql-setup b/meta-oe/recipes-support/postgresql/files/postgresql-setup new file mode 100644 index 0000000000..75bb01e05f --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/postgresql-setup @@ -0,0 +1,73 @@ +#!/bin/sh +# +# postgresql-setup Initialization operation for PostgreSQL + +# For SELinux we need to use 'runuser' not 'su' +if [ -x /sbin/runuser ] +then + SU=runuser +else + SU=su +fi + +PGENGINE=/usr/bin +PGDATA=/var/lib/postgresql/data +PGLOG=/var/lib/postgresql/pgstartup.log +script_result=0 + +initdb(){ + if [ -f "$PGDATA/PG_VERSION" ] + then + echo -n "Data directory is not empty!" + echo -n " [FAILED] " + echo + script_result=1 + else + echo -n "Initializing database: " + if [ ! -e "$PGDATA" -a ! -h "$PGDATA" ] + then + mkdir -p "$PGDATA" || exit 1 + chown postgres:postgres "$PGDATA" + chmod go-rwx "$PGDATA" + fi + # Clean up SELinux tagging for PGDATA + [ -x /sbin/restorecon ] && /sbin/restorecon "$PGDATA" + + # Make sure the startup-time log file is OK, too + if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ] + then + touch "$PGLOG" || exit 1 + chown postgres:postgres "$PGLOG" + chmod go-rwx "$PGLOG" + [ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG" + fi + + # Initialize the database + $SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null + + # Create directory for postmaster log + mkdir "$PGDATA/pg_log" + chown postgres:postgres "$PGDATA/pg_log" + chmod go-rwx "$PGDATA/pg_log" + + if [ -f "$PGDATA/PG_VERSION" ] + then + echo -n " [ OK ] " + else + echo -n " [FAILED] " + script_result=1 + fi + echo + fi +} + +case "$1" in + initdb) + initdb + ;; + *) + echo "Usage: $0 initdb" + exit 2 +esac + +exit $script_result diff --git a/meta-oe/recipes-support/postgresql/files/postgresql.init b/meta-oe/recipes-support/postgresql/files/postgresql.init index ab46477606..4a4f0cd168 100644 --- a/meta-oe/recipes-support/postgresql/files/postgresql.init +++ b/meta-oe/recipes-support/postgresql/files/postgresql.init @@ -101,7 +101,7 @@ start(){ else # No existing PGDATA! Warn the user to initdb it. echo - echo "$PGDATA is missing. Use \"service postgresql initdb\" to initialize the cluster first." + echo "$PGDATA is missing. Use \"postgresql-setup initdb\" to initialize the cluster first." echo -n " [FAILED] " echo exit 1 @@ -160,51 +160,6 @@ reload(){ $SU -l postgres -c "$PGENGINE/pg_ctl reload -D '$PGDATA' -s" > /dev/null 2>&1 < /dev/null } -initdb(){ - if [ -f "$PGDATA/PG_VERSION" ] - then - echo -n "Data directory is not empty!" - echo -n " [FAILED] " - echo - script_result=1 - else - echo -n $"Initializing database: " - if [ ! -e "$PGDATA" -a ! -h "$PGDATA" ] - then - mkdir -p "$PGDATA" || exit 1 - chown postgres:postgres "$PGDATA" - chmod go-rwx "$PGDATA" - fi - # Clean up SELinux tagging for PGDATA - [ -x /sbin/restorecon ] && /sbin/restorecon "$PGDATA" - - # Make sure the startup-time log file is OK, too - if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ] - then - touch "$PGLOG" || exit 1 - chown postgres:postgres "$PGLOG" - chmod go-rwx "$PGLOG" - [ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG" - fi - - # Initialize the database - $SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null - - # Create directory for postmaster log - mkdir "$PGDATA/pg_log" - chown postgres:postgres "$PGDATA/pg_log" - chmod go-rwx "$PGDATA/pg_log" - - if [ -f "$PGDATA/PG_VERSION" ] - then - echo -n " [ OK ] " - else - echo -n " [FAILED] " - script_result=1 - fi - echo - fi -} # See how we were called. case "$1" in @@ -230,11 +185,8 @@ case "$1" in force-reload) restart ;; - initdb) - initdb - ;; *) - echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|initdb}" + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2 esac diff --git a/meta-oe/recipes-support/postgresql/files/postgresql.service b/meta-oe/recipes-support/postgresql/files/postgresql.service new file mode 100644 index 0000000000..4ec959e842 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/postgresql.service @@ -0,0 +1,27 @@ +[Unit] +Description=PostgreSQL database server +After=network.target + +[Service] +Type=forking +User=postgres +Group=postgres + +# Port number for server to listen on +Environment=PGPORT=5432 + +# Location of database directory +Environment=PGDATA=/var/lib/postgresql/data + +# Disable OOM kill on the postmaster +OOMScoreAdjust=-17 + +ExecStart=@BINDIR@/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300 +ExecStop=@BINDIR@/pg_ctl stop -D ${PGDATA} -s -m fast +ExecReload=@BINDIR@/pg_ctl reload -D ${PGDATA} -s + +# Give a reasonable amount of time for the server to start up/shut down +TimeoutSec=300 + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-support/postgresql/postgresql.inc b/meta-oe/recipes-support/postgresql/postgresql.inc index e1374fb75f..1397f564de 100644 --- a/meta-oe/recipes-support/postgresql/postgresql.inc +++ b/meta-oe/recipes-support/postgresql/postgresql.inc @@ -24,24 +24,47 @@ INC_PR = "r0" ARM_INSTRUCTION_SET = "arm" -SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${P}.tar.bz2 \ +SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \ file://postgresql.init \ file://postgresql-bashprofile \ file://postgresql.pam \ -" + 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" # LDFLAGS for shared libraries export LDFLAGS_SL = "${LDFLAGS}" -inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d +inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d systemd + +SYSTEMD_SERVICE_${PN} = "postgresql.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" + +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 postgresql-server.service + fi +} enable_pam = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" PACKAGECONFIG ??= "${enable_pam} openssl python uuid libxml tcl nls libxml perl" PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam," PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl," -PACKAGECONFIG[python] = "--with-python,--wsithout-python,python,python" +PACKAGECONFIG[python] = "--with-python,--without-python,python,python" PACKAGECONFIG[uuid] = "--with-ossp-uuid,--without-ossp-uuid,ossp-uuid," # when tcl native package is fixed change WORKDIR to STAGING_BINDIR_CROSS PACKAGECONFIG[tcl] = \ @@ -107,14 +130,14 @@ do_configure() { # do_configure_append # workaround perl package related bugs sed -i -e "s:-L/usr/local/lib:-L=/usr/local/lib:g" \ - ${S}/src/Makefile.global + ${B}/src/Makefile.global LIBPNA="\${STAGING_LIBDIR_NATIVE}/perl-native" LIBNA="\${STAGING_LIBDIR_NATIVE}" BLIBNA="\${STAGING_BASE_LIBDIR_NATIVE}" sed -i -e "/^perl_archlibexp/s:${LIBPNA}:${STAGING_LIBDIR}:g" \ - ${S}/src/Makefile.global + ${B}/src/Makefile.global sed -i -e "/^perl_privlibexp/s:${LIBPNA}:${STAGING_LIBDIR}:g" \ - ${S}/src/Makefile.global + ${B}/src/Makefile.global # remove the rpath, replace with correct lib path sed -i \ -e "/^perl_embed_ldflags/s:-Wl,-rpath,${LIBNA}::g" \ @@ -124,7 +147,7 @@ do_configure() { -e "/^perl_embed_ldflags/s:${LIBPNA}:${STAGING_LIBDIR}:g" \ -e "/^perl_embed_ldflags/s:${LIBNA}:${STAGING_LIBDIR}:g" \ -e "/^perl_embed_ldflags/s:${BLIBNA}:${STAGING_BASELIBDIR}:g" \ - ${S}/src/Makefile.global + ${B}/src/Makefile.global # workaround perl package's libperl.so problem # we are using perlnative so this perl should have same version @@ -158,11 +181,11 @@ do_install_append() { oe_runmake DESTDIR=${D} -C contrib install # install tutorial install -d -m 0755 ${D}${libdir}/${BPN}/tutorial - install ${S}/src/tutorial/* ${D}${libdir}/${BPN}/tutorial + install ${B}/src/tutorial/* ${D}${libdir}/${BPN}/tutorial # install COPYRIGHT README HISTORY install -d -m 0755 ${D}${docdir}/${BPN} - for i in ${S}/{COPYRIGHT,README,HISTORY} ${S}/doc/{KNOWN_BUGS,MISSING_FEATURES,README*,bug.template}; do + for i in ${B}/{COPYRIGHT,README,HISTORY} ${B}/doc/{KNOWN_BUGS,MISSING_FEATURES,README*,bug.template}; do [ -f $i ] && install $i ${D}${docdir}/${BPN} done @@ -170,6 +193,7 @@ do_install_append() { install -d ${D}${sysconfdir}/init.d install -m 0755 ${WORKDIR}/${BPN}.init ${D}${sysconfdir}/init.d/${BPN}-server sed -i -e "s/^PGVERSION=.*$/PGVERSION=${PV}/g" ${D}${sysconfdir}/init.d/${BPN}-server + install -m 0755 ${WORKDIR}/${BPN}-setup ${D}${bindir}/${BPN}-setup install -d -m 700 ${D}${localstatedir}/lib/${BPN}/data install -d -m 700 ${D}${localstatedir}/lib/${BPN}/backups install -m 644 ${WORKDIR}/${BPN}-bashprofile ${D}${localstatedir}/lib/${BPN}/.bash_profile @@ -181,6 +205,12 @@ do_install_append() { install -d ${D}${sysconfdir}/pam.d install -m 644 ${WORKDIR}/postgresql.pam ${D}${sysconfdir}/pam.d/postgresql fi + + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/postgresql.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BINDIR@,${bindir},g' \ + ${D}${systemd_unitdir}/system/postgresql.service } SSTATE_SCAN_FILES += "Makefile.global" diff --git a/meta-oe/recipes-support/pps-tools/pps-tools_git.bb b/meta-oe/recipes-support/pps-tools/pps-tools_git.bb new file mode 100644 index 0000000000..73c46eecde --- /dev/null +++ b/meta-oe/recipes-support/pps-tools/pps-tools_git.bb @@ -0,0 +1,16 @@ +SUMMARY = "User-space tools for LinuxPPS" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +PV = "0.0.0+git${SRCPV}" +SRCREV = "0deb9c7e135e9380a6d09e9d2e938a146bb698c8" +SRC_URI = "git://github.com/ago/pps-tools.git" + +S = "${WORKDIR}/git" + +do_install() { + install -d ${D}${bindir} ${D}${includedir} \ + ${D}${includedir}/sys + oe_runmake 'DESTDIR=${D}' install +} 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/pv/pv_1.4.6.bb b/meta-oe/recipes-support/pv/pv_1.4.6.bb deleted file mode 100644 index 8aec14ccfe..0000000000 --- a/meta-oe/recipes-support/pv/pv_1.4.6.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "pv - Pipe Viewer - is a terminal-based tool for monitoring the progress of data through a pipeline." - -LICENSE = "Artistic-License-2.0" -LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02" - -SRC_URI = "http://www.ivarch.com/programs/sources/pv-${PV}.tar.bz2" -SRC_URI[md5sum] = "d55ff76f5caa83efc23aa527dbb0b191" -SRC_URI[sha256sum] = "edfea0033ec6222eb60b4ec6d905dd2dccdb5900beef03f67f42ca9ed67e9fe2" - -inherit autotools - -# broken autotools -do_configure() { - cp ${S}/autoconf/configure.in ${S} - gnu-configize --force - oe_runconf -} diff --git a/meta-oe/recipes-support/pv/pv_1.5.3.bb b/meta-oe/recipes-support/pv/pv_1.5.3.bb new file mode 100644 index 0000000000..5e3dd67c5b --- /dev/null +++ b/meta-oe/recipes-support/pv/pv_1.5.3.bb @@ -0,0 +1,11 @@ +SUMMARY = "Terminal-based tool for monitoring the progress of data through a pipeline" + +LICENSE = "Artistic-2.0" +LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02" + +SRC_URI = "http://www.ivarch.com/programs/sources/pv-${PV}.tar.bz2" +SRC_URI[md5sum] = "efe8e9e4cad5f3264a32258a63bf2c8e" +SRC_URI[sha256sum] = "76f3999b1c3b3027163dce6ef667cdf8dafb75218ee25e54a03bfe590478f90e" + +inherit autotools + diff --git a/meta-oe/recipes-support/re2c/re2c/configure.patch b/meta-oe/recipes-support/re2c/re2c/configure.patch new file mode 100644 index 0000000000..8ca0969ad6 --- /dev/null +++ b/meta-oe/recipes-support/re2c/re2c/configure.patch @@ -0,0 +1,18 @@ +Modernise configure to work with modern automake. + +RP 2014/7/14 + +Upstream-Status: Pending + +Index: re2c-0.13.5/configure.in +=================================================================== +--- re2c-0.13.5.orig/configure.in 2008-05-25 14:42:34.000000000 +0000 ++++ re2c-0.13.5/configure.in 2014-07-17 14:10:40.595821292 +0000 +@@ -1,6 +1,6 @@ + AC_PREREQ([2.57]) + AC_INIT(re2c, 0.13.5, re2c-general@lists.sourceforge.net) +-AM_INIT_AUTOMAKE(re2c, $PACKAGE_VERSION) ++AM_INIT_AUTOMAKE([foreign]) + AC_CONFIG_SRCDIR(actions.cc) + AM_CONFIG_HEADER(config.h) + diff --git a/meta-oe/recipes-support/re2c/re2c_0.13.5.bb b/meta-oe/recipes-support/re2c/re2c_0.13.5.bb index fff7a782a6..dcac940f81 100644 --- a/meta-oe/recipes-support/re2c/re2c_0.13.5.bb +++ b/meta-oe/recipes-support/re2c/re2c_0.13.5.bb @@ -5,7 +5,8 @@ SECTION = "devel" LICENSE = "PD" LIC_FILES_CHKSUM = "file://README;beginline=180;md5=822830a2204aef353f2c489f62e02089" -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ + file://configure.patch" SRC_URI[md5sum] = "4a97d8f77ed6d2c76c8bd840a43f5633" SRC_URI[sha256sum] = "f3a995139af475e80a30207d02728b1e0065b0caade7375e974cb1b14861668c" diff --git a/meta-oe/recipes-support/rng-tools/files/init b/meta-oe/recipes-support/rng-tools/files/init index 5fa5959a40..7cf78393a4 100644 --- a/meta-oe/recipes-support/rng-tools/files/init +++ b/meta-oe/recipes-support/rng-tools/files/init @@ -46,4 +46,4 @@ case "$1" in exit 1 esac -exit 0
\ No newline at end of file +exit 0 diff --git a/meta-oe/recipes-support/rng-tools/rng-tools_2.bb b/meta-oe/recipes-support/rng-tools/rng-tools_2.bb deleted file mode 100644 index 7803b28420..0000000000 --- a/meta-oe/recipes-support/rng-tools/rng-tools_2.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Random number generator daemon" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS_append_libc-uclibc = " argp-standalone" - -SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${P}.tar.gz \ - file://init \ - file://default" - -SRC_URI[md5sum] = "63d503191eabed630324c104cc024475" -SRC_URI[sha256sum] = "1126f0ecc8cab3af14a562cddc5d8ffeef47df7eba34a7aadcdee35a25ec2b1e" - -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 - - install -d "${D}${sysconfdir}/default" - install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default -} - -INITSCRIPT_NAME = "rng-tools" -INITSCRIPT_PARAMS = "defaults" diff --git a/meta-oe/recipes-support/rng-tools/rng-tools_4.bb b/meta-oe/recipes-support/rng-tools/rng-tools_4.bb new file mode 100644 index 0000000000..0b40fc5479 --- /dev/null +++ b/meta-oe/recipes-support/rng-tools/rng-tools_4.bb @@ -0,0 +1,36 @@ +SUMMARY = "Random number generator daemon" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +DEPENDS_append_libc-uclibc = " argp-standalone" + +SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${BP}.tar.gz \ + file://init \ + file://default" + +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() { + # 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 + fi +} + +INITSCRIPT_NAME = "rng-tools" +INITSCRIPT_PARAMS = "defaults" 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..3f919b568f --- /dev/null +++ b/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb @@ -0,0 +1,42 @@ +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 \ + " diff --git a/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch b/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch new file mode 100644 index 0000000000..5405ed802e --- /dev/null +++ b/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch @@ -0,0 +1,27 @@ +[PATCH] make sysroot work + +Upstream-Status: Pending + +Add = before the included dir to make sysroot work + +Signed-off-by: Roy.Li <rongqing.li@windriver.com> +--- + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index c83788c..9f62115 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -32,7 +32,7 @@ sglib_SOURCES = ../lib/sg_lib.c \ + ../lib/sg_pt_common.c + + if HAVE_SGUTILS +-INCLUDES = -I/usr/include/scsi ++INCLUDES = -I=@includedir@/scsi + sdparm_LDADD = @GETOPT_O_FILES@ @os_libs@ @SGUTILS_LIBS@ + sdparm_DEPENDENCIES = @GETOPT_O_FILES@ + else +-- +1.9.1 + diff --git a/meta-oe/recipes-support/sdparm/sdparm_1.08.bb b/meta-oe/recipes-support/sdparm/sdparm_1.08.bb new file mode 100644 index 0000000000..b603a56824 --- /dev/null +++ b/meta-oe/recipes-support/sdparm/sdparm_1.08.bb @@ -0,0 +1,23 @@ +SUMMARY = "fetch and change SCSI mode pages" +DESCRIPTION = "The sdparm utility accesses and optionally modifies \ +SCSI devices' mode page and inquiry data." +HOMEPAGE = "http://sg.danny.cz/sg/sdparm.html" +SECTION = "console/utils" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=ecab6c36b7ba82c675581dd0afde36f7 \ + file://lib/BSD_LICENSE;md5=1d52f4a66f1e0ed96776bf354ab7a2ed" +DEPENDS="sg3-utils" +SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \ + file://make-sysroot-work.patch \ + " + +PACKAGES =+ "${PN}-scripts" +RDEPENDS_${PN}-scripts += "bash ${PN}" + +SRC_URI[md5sum] = "be5786f37499018ef44f409597c92d42" +SRC_URI[sha256sum] = "376b78a414b1a9c47f3f13dbeb963e7a3ec7be126f83927d6856b5f7ac425e57" + +inherit autotools + +# Put the bash scripts to ${PN}-scripts +FILES_${PN}-scripts = "${bindir}/sas_disk_blink ${bindir}/scsi_ch_swp" diff --git a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb index 36c13a412c..5ce11b62da 100644 --- a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb +++ b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb @@ -15,3 +15,5 @@ SRC_URI[sha256sum] = "d7d3a8b4b698e2c17c8f16bb876946720260d4d659d471c5d7c12ce652 inherit autotools-brokensep S = "${WORKDIR}/sg3_utils-${PV}" + +RDEPENDS_${PN} += "bash" 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/sqlite/sqlite_2.8.17.bb b/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb index 5148f356fb..e6e14c2ad5 100644 --- a/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb +++ b/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb @@ -26,7 +26,7 @@ do_configure() { } do_compile() { - oe_runmake -f Makefile.linux-gcc \ + oe_runmake -f ${S}/Makefile.linux-gcc \ TOP="${S}" \ BCC="${BUILD_CC}" \ TCC="${CC}" \ diff --git a/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb b/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb index bb649a2337..c232474a05 100644 --- a/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb +++ b/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb @@ -10,14 +10,13 @@ SRC_URI = "http://sources.openembedded.org/dpkg_${PV}.tar.bz2" SRC_URI[md5sum] = "d211a84f38987771a49ad1c0f144334a" SRC_URI[sha256sum] = "2a3d4ba83c743b3f004533fdd52372cb7b22f5c1da2042d0a31bbcc2b54c0ea5" -inherit autotools gettext +inherit autotools gettext pkgconfig S = "${WORKDIR}/dpkg-${PV}" EXTRA_OECONF = " \ --with-start-stop-daemon \ --without-bz2 \ - --without-deselect \ --without-install-info \ --without-selinux \ --without-update-alternatives \ 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 c73582ea9b..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" +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/Fix-the-memory-leak-problem-for-mutex.patch b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch new file mode 100644 index 0000000000..89022aaf00 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch @@ -0,0 +1,58 @@ +Fix the memory leak problem for mutex + +Upstream-Status: Pending + +Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> +--- + lib/logqueue.c | 1 + + modules/affile/affile-dest.c | 2 ++ + modules/dbparser/dbparser.c | 1 + + 3 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/lib/logqueue.c b/lib/logqueue.c +index 337a3c1..10edcf0 100644 +--- a/lib/logqueue.c ++++ b/lib/logqueue.c +@@ -188,6 +188,7 @@ log_queue_init_instance(LogQueue *self, const gchar *persist_name) + void + log_queue_free_method(LogQueue *self) + { ++ g_static_mutex_free(&self->lock); + g_free(self->persist_name); + g_free(self); + } +diff --git a/modules/affile/affile-dest.c b/modules/affile/affile-dest.c +index a2bcdad..ce79f6f 100644 +--- a/modules/affile/affile-dest.c ++++ b/modules/affile/affile-dest.c +@@ -305,6 +305,7 @@ affile_dw_free(LogPipe *s) + { + AFFileDestWriter *self = (AFFileDestWriter *) s; + ++ g_static_mutex_free(&self->lock); + log_pipe_unref((LogPipe *) self->writer); + self->writer = NULL; + g_free(self->filename); +@@ -687,6 +688,7 @@ affile_dd_free(LogPipe *s) + /* NOTE: this must be NULL as deinit has freed it, otherwise we'd have circular references */ + g_assert(self->single_writer == NULL && self->writer_hash == NULL); + ++ g_static_mutex_free(&self->lock); + log_template_unref(self->filename_template); + log_writer_options_destroy(&self->writer_options); + log_dest_driver_free(s); +diff --git a/modules/dbparser/dbparser.c b/modules/dbparser/dbparser.c +index f1248b5..9775701 100644 +--- a/modules/dbparser/dbparser.c ++++ b/modules/dbparser/dbparser.c +@@ -284,6 +284,7 @@ log_db_parser_free(LogPipe *s) + { + LogDBParser *self = (LogDBParser *) s; + ++ g_static_mutex_free(&self->lock); + if (self->db) + pattern_db_free(self->db); + +-- +1.7.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch new file mode 100644 index 0000000000..2ac9c0be0f --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch @@ -0,0 +1,27 @@ +Fix the memory leak problem when HAVE_ENVIRON is defined + +Upstream-Status: Pending + +Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> +--- +--- a/lib/gprocess.c ++++ b/lib/gprocess.c +@@ -1421,6 +1421,18 @@ + void + g_process_finish(void) + { ++#ifdef HAVE_ENVIRON ++ int i = 0; ++ ++ while (environ[i]) { ++ g_free(environ[i]); ++ ++i; ++ } ++ if (environ) ++ g_free(environ); ++ if (process_opts.argv_orig) ++ free(process_opts.argv_orig); ++#endif + g_process_remove_pidfile(); + } + diff --git a/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch b/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch new file mode 100644 index 0000000000..42e181bb1f --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch @@ -0,0 +1,494 @@ +From 23e80b75508187baaa823a68ea019b72e0b2305c Mon Sep 17 00:00:00 2001 +From: Budai Laszlo <lbudai@balabit.hu> +Date: Tue, 12 Nov 2013 13:19:04 +0100 +Subject: [PATCH] afsql: afsql_dd_insert_db() refactor + +Upstream-Status: Backport + +A lot of the code that was previously in afsql_dd_insert_db() have been +extracted to smaller functions, and afsql_dd_insert_db() was rebuilt on +top of these. At the same time, memory leaks were plugged, and in case +of a transaction error, backlog rewinding has been fixed too, to not +loose messages since the last BEGIN command. + +Signed-off-by: Juhasz Viktor <jviktor@balabit.hu> +Signed-off-by: Laszlo Budai <lbudai@balabit.hu> +--- + modules/afsql/afsql.c | 301 ++++++++++++++++++++++++++++++++------------------ + 1 file changed, 192 insertions(+), 109 deletions(-) + +diff --git a/modules/afsql/afsql.c b/modules/afsql/afsql.c +index 12f6aab..a6a8190 100644 +--- a/modules/afsql/afsql.c ++++ b/modules/afsql/afsql.c +@@ -456,24 +456,21 @@ afsql_dd_create_index(AFSqlDestDriver *s + * + * NOTE: This function can only be called from the database thread. + **/ +-static GString * +-afsql_dd_validate_table(AFSqlDestDriver *self, LogMessage *msg) ++static gboolean ++afsql_dd_validate_table(AFSqlDestDriver *self, GString *table) + { +- GString *query_string, *table; ++ GString *query_string; + dbi_result db_res; + gboolean success = FALSE; + gint i; + +- table = g_string_sized_new(32); +- log_template_format(self->table, msg, &self->template_options, LTZ_LOCAL, 0, NULL, table); +- + if (self->flags & AFSQL_DDF_DONT_CREATE_TABLES) +- return table; ++ return TRUE; + + afsql_dd_check_sql_identifier(table->str, TRUE); + + if (g_hash_table_lookup(self->validated_tables, table->str)) +- return table; ++ return TRUE; + + query_string = g_string_sized_new(32); + g_string_printf(query_string, "SELECT * FROM %s WHERE 0=1", table->str); +@@ -544,14 +541,9 @@ afsql_dd_validate_table(AFSqlDestDriver + /* we have successfully created/altered the destination table, record this information */ + g_hash_table_insert(self->validated_tables, g_strdup(table->str), GUINT_TO_POINTER(TRUE)); + } +- else +- { +- g_string_free(table, TRUE); +- table = NULL; +- } + g_string_free(query_string, TRUE); + +- return table; ++ return success; + } + + /** +@@ -581,6 +573,20 @@ afsql_dd_begin_txn(AFSqlDestDriver *self + } + + /** ++ * afsql_dd_handle_transaction_error: ++ * ++ * Handle errors inside during a SQL transaction (e.g. INSERT or COMMIT failures). ++ * ++ * NOTE: This function can only be called from the database thread. ++ **/ ++static void ++afsql_dd_handle_transaction_error(AFSqlDestDriver *self) ++{ ++ log_queue_rewind_backlog(self->queue); ++ self->flush_lines_queued = 0; ++} ++ ++/** + * afsql_dd_begin_txn: + * + * Commit SQL transaction. +@@ -596,14 +602,14 @@ afsql_dd_commit_txn(AFSqlDestDriver *sel + if (success) + { + log_queue_ack_backlog(self->queue, self->flush_lines_queued); ++ self->flush_lines_queued = 0; + } + else + { +- msg_notice("SQL transaction commit failed, rewinding backlog and starting again", +- NULL); +- log_queue_rewind_backlog(self->queue); ++ msg_error("SQL transaction commit failed, rewinding backlog and starting again", ++ NULL); ++ afsql_dd_handle_transaction_error(self); + } +- self->flush_lines_queued = 0; + return success; + } + +@@ -644,12 +650,13 @@ afsql_dd_set_dbd_opt_numeric(gpointer ke + } + + static gboolean +-afsql_dd_connect(AFSqlDestDriver *self) ++afsql_dd_ensure_initialized_connection(AFSqlDestDriver *self) + { + if (self->dbi_ctx) + return TRUE; + + self->dbi_ctx = dbi_conn_new(self->type); ++ + if (!self->dbi_ctx) + { + msg_error("No such DBI driver", +@@ -659,10 +666,12 @@ afsql_dd_connect(AFSqlDestDriver *self) + } + + dbi_conn_set_option(self->dbi_ctx, "host", self->host); ++ + if (strcmp(self->type, "mysql")) + dbi_conn_set_option(self->dbi_ctx, "port", self->port); + else + dbi_conn_set_option_numeric(self->dbi_ctx, "port", atoi(self->port)); ++ + dbi_conn_set_option(self->dbi_ctx, "username", self->user); + dbi_conn_set_option(self->dbi_ctx, "password", self->password); + dbi_conn_set_option(self->dbi_ctx, "dbname", self->database); +@@ -691,6 +700,7 @@ afsql_dd_connect(AFSqlDestDriver *self) + evt_tag_str("database", self->database), + evt_tag_str("error", dbi_error), + NULL); ++ + return FALSE; + } + +@@ -713,104 +723,145 @@ afsql_dd_connect(AFSqlDestDriver *self) + return TRUE; + } + +-static gboolean +-afsql_dd_insert_fail_handler(AFSqlDestDriver *self, LogMessage *msg, +- LogPathOptions *path_options) ++static GString * ++afsql_dd_ensure_accessible_database_table(AFSqlDestDriver *self, LogMessage *msg) + { +- if (self->failed_message_counter < self->num_retries - 1) +- { +- log_queue_push_head(self->queue, msg, path_options); +- +- /* database connection status sanity check after failed query */ +- if (dbi_conn_ping(self->dbi_ctx) != 1) +- { +- const gchar *dbi_error; +- +- dbi_conn_error(self->dbi_ctx, &dbi_error); +- msg_error("Error, no SQL connection after failed query attempt", +- evt_tag_str("type", self->type), +- evt_tag_str("host", self->host), +- evt_tag_str("port", self->port), +- evt_tag_str("username", self->user), +- evt_tag_str("database", self->database), +- evt_tag_str("error", dbi_error), +- NULL); +- return FALSE; +- } ++ GString *table = g_string_sized_new(32); ++ log_template_format(self->table, msg, &self->template_options, LTZ_LOCAL, 0, NULL, table); + +- self->failed_message_counter++; +- return FALSE; ++ if (!afsql_dd_validate_table(self, table)) ++ { ++ /* If validate table is FALSE then close the connection and wait time_reopen time (next call) */ ++ msg_error("Error checking table, disconnecting from database, trying again shortly", ++ evt_tag_int("time_reopen", self->time_reopen), ++ NULL); ++ g_string_free(table, TRUE); ++ return NULL; + } + +- msg_error("Multiple failures while inserting this record into the database, message dropped", +- evt_tag_int("attempts", self->num_retries), +- NULL); +- stats_counter_inc(self->dropped_messages); +- log_msg_drop(msg, path_options); +- self->failed_message_counter = 0; +- return TRUE; ++ return table; + } + + static GString * +-afsql_dd_construct_query(AFSqlDestDriver *self, GString *table, +- LogMessage *msg) ++afsql_dd_build_insert_command(AFSqlDestDriver *self, LogMessage *msg, GString *table) + { +- GString *value; +- GString *query_string; +- gint i; ++ GString *insert_command = g_string_sized_new(256); ++ GString *value = g_string_sized_new(512); ++ gint i, j; + +- value = g_string_sized_new(256); +- query_string = g_string_sized_new(512); ++ g_string_printf(insert_command, "INSERT INTO %s (", table->str); + +- g_string_printf(query_string, "INSERT INTO %s (", table->str); + for (i = 0; i < self->fields_len; i++) + { +- g_string_append(query_string, self->fields[i].name); +- if (i != self->fields_len - 1) +- g_string_append(query_string, ", "); ++ if ((self->fields[i].flags & AFSQL_FF_DEFAULT) == 0 && self->fields[i].value != NULL) ++ { ++ g_string_append(insert_command, self->fields[i].name); ++ ++ j = i + 1; ++ while (j < self->fields_len && (self->fields[j].flags & AFSQL_FF_DEFAULT) == AFSQL_FF_DEFAULT) ++ j++; ++ ++ if (j < self->fields_len) ++ g_string_append(insert_command, ", "); ++ } + } +- g_string_append(query_string, ") VALUES ("); ++ ++ g_string_append(insert_command, ") VALUES ("); + + for (i = 0; i < self->fields_len; i++) + { + gchar *quoted; + +- if (self->fields[i].value == NULL) +- { +- /* the config used the 'default' value for this column -> the fields[i].value is NULL, use SQL default */ +- g_string_append(query_string, "DEFAULT"); +- } +- else ++ if ((self->fields[i].flags & AFSQL_FF_DEFAULT) == 0 && self->fields[i].value != NULL) + { + log_template_format(self->fields[i].value, msg, &self->template_options, LTZ_SEND, self->seq_num, NULL, value); +- + if (self->null_value && strcmp(self->null_value, value->str) == 0) + { +- g_string_append(query_string, "NULL"); ++ g_string_append(insert_command, "NULL"); + } + else + { + dbi_conn_quote_string_copy(self->dbi_ctx, value->str, "ed); + if (quoted) + { +- g_string_append(query_string, quoted); ++ g_string_append(insert_command, quoted); + free(quoted); + } + else + { +- g_string_append(query_string, "''"); ++ g_string_append(insert_command, "''"); + } + } +- } + +- if (i != self->fields_len - 1) +- g_string_append(query_string, ", "); ++ j = i + 1; ++ while (j < self->fields_len && (self->fields[j].flags & AFSQL_FF_DEFAULT) == AFSQL_FF_DEFAULT) ++ j++; ++ if (j < self->fields_len) ++ g_string_append(insert_command, ", "); ++ } + } +- g_string_append(query_string, ")"); ++ ++ g_string_append(insert_command, ")"); + + g_string_free(value, TRUE); + +- return query_string; ++ return insert_command; ++} ++ ++static inline gboolean ++afsql_dd_is_transaction_handling_enabled(const AFSqlDestDriver *self) ++{ ++ return self->flush_lines_queued != -1; ++} ++ ++static inline gboolean ++afsql_dd_should_start_new_transaction(const AFSqlDestDriver *self) ++{ ++ return self->flush_lines_queued == 0; ++} ++ ++static inline gboolean ++afsql_dd_should_commit_transaction(const AFSqlDestDriver *self) ++{ ++ return afsql_dd_is_transaction_handling_enabled(self) && self->flush_lines_queued == self->flush_lines; ++} ++ ++static inline gboolean ++afsql_dd_handle_insert_row_error_depending_on_connection_availability(AFSqlDestDriver *self, ++ LogMessage *msg, ++ LogPathOptions *path_options) ++{ ++ const gchar *dbi_error, *error_message; ++ ++ if (dbi_conn_ping(self->dbi_ctx) == 1) ++ { ++ log_queue_push_head(self->queue, msg, path_options); ++ return TRUE; ++ } ++ ++ if (afsql_dd_is_transaction_handling_enabled(self)) ++ { ++ error_message = "SQL connection lost in the middle of a transaction," ++ " rewinding backlog and starting again"; ++ afsql_dd_handle_transaction_error(self); ++ } ++ else ++ { ++ error_message = "Error, no SQL connection after failed query attempt"; ++ log_queue_push_head(self->queue, msg, path_options); ++ } ++ ++ dbi_conn_error(self->dbi_ctx, &dbi_error); ++ msg_error(error_message, ++ evt_tag_str("type", self->type), ++ evt_tag_str("host", self->host), ++ evt_tag_str("port", self->port), ++ evt_tag_str("username", self->user), ++ evt_tag_str("database", self->database), ++ evt_tag_str("error", dbi_error), ++ NULL); ++ ++ return FALSE; + } + + /** +@@ -824,61 +875,93 @@ afsql_dd_construct_query(AFSqlDestDriver + static gboolean + afsql_dd_insert_db(AFSqlDestDriver *self) + { +- GString *table, *query_string; ++ GString *table = NULL; ++ GString *insert_command = NULL; + LogMessage *msg; + gboolean success; + LogPathOptions path_options = LOG_PATH_OPTIONS_INIT; + +- afsql_dd_connect(self); ++ if (!afsql_dd_ensure_initialized_connection(self)) ++ return FALSE; + +- success = log_queue_pop_head(self->queue, &msg, &path_options, (self->flags & AFSQL_DDF_EXPLICIT_COMMITS), FALSE); ++ /* connection established, try to insert a message */ ++ success = log_queue_pop_head(self->queue, &msg, &path_options, FALSE, self->flags & AFSQL_DDF_EXPLICIT_COMMITS); + if (!success) + return TRUE; + + msg_set_context(msg); + +- table = afsql_dd_validate_table(self, msg); ++ table = afsql_dd_ensure_accessible_database_table(self, msg); ++ + if (!table) + { +- /* If validate table is FALSE then close the connection and wait time_reopen time (next call) */ +- msg_error("Error checking table, disconnecting from database, trying again shortly", +- evt_tag_int("time_reopen", self->time_reopen), +- NULL); +- msg_set_context(NULL); +- g_string_free(table, TRUE); +- return afsql_dd_insert_fail_handler(self, msg, &path_options); ++ success = FALSE; ++ goto out; + } + +- query_string = afsql_dd_construct_query(self, table, msg); ++ if (afsql_dd_should_start_new_transaction(self) && !afsql_dd_begin_txn(self)) ++ { ++ success = FALSE; ++ goto out; ++ } + +- if (self->flush_lines_queued == 0 && !afsql_dd_begin_txn(self)) +- return FALSE; ++ insert_command = afsql_dd_build_insert_command(self, msg, table); ++ success = afsql_dd_run_query(self, insert_command->str, FALSE, NULL); + +- success = afsql_dd_run_query(self, query_string->str, FALSE, NULL); + if (success && self->flush_lines_queued != -1) + { + self->flush_lines_queued++; + +- if (self->flush_lines && self->flush_lines_queued == self->flush_lines && !afsql_dd_commit_txn(self)) +- return FALSE; ++ if (afsql_dd_should_commit_transaction(self) && !afsql_dd_commit_txn(self)) ++ { ++ /* Assuming that in case of error, the queue is rewound by afsql_dd_commit_txn() */ ++ ++ g_string_free(insert_command, TRUE); ++ msg_set_context(NULL); ++ ++ return FALSE; ++ } + } + +- g_string_free(table, TRUE); +- g_string_free(query_string, TRUE); ++ out: ++ ++ if (table != NULL) ++ g_string_free(table, TRUE); ++ ++ if (insert_command != NULL) ++ g_string_free(insert_command, TRUE); + + msg_set_context(NULL); + +- if (!success) +- return afsql_dd_insert_fail_handler(self, msg, &path_options); ++ if (success) ++ { ++ log_msg_ack(msg, &path_options); ++ log_msg_unref(msg); ++ step_sequence_number(&self->seq_num); ++ self->failed_message_counter = 0; ++ } ++ else ++ { ++ if (self->failed_message_counter < self->num_retries - 1) ++ { ++ if (!afsql_dd_handle_insert_row_error_depending_on_connection_availability(self, msg, &path_options)) ++ return FALSE; + +- /* we only ACK if each INSERT is a separate transaction */ +- if ((self->flags & AFSQL_DDF_EXPLICIT_COMMITS) == 0) +- log_msg_ack(msg, &path_options); +- log_msg_unref(msg); +- step_sequence_number(&self->seq_num); +- self->failed_message_counter = 0; ++ self->failed_message_counter++; ++ } ++ else ++ { ++ msg_error("Multiple failures while inserting this record into the database, message dropped", ++ evt_tag_int("attempts", self->num_retries), ++ NULL); ++ stats_counter_inc(self->dropped_messages); ++ log_msg_drop(msg, &path_options); ++ self->failed_message_counter = 0; ++ success = TRUE; ++ } ++ } + +- return TRUE; ++ return success; + } + + static void +@@ -895,7 +978,7 @@ afsql_dd_message_became_available_in_the + static void + afsql_dd_wait_for_suspension_wakeup(AFSqlDestDriver *self) + { +- /* we got suspended, probably because of a connection error, ++ /* we got suspended, probably because of a connection error, + * during this time we only get wakeups if we need to be + * terminated. */ + if (!self->db_thread_terminate) +@@ -974,8 +1057,7 @@ afsql_dd_database_thread(gpointer arg) + + afsql_dd_commit_txn(self); + } +- +- exit: ++exit: + afsql_dd_disconnect(self); + + msg_verbose("Database thread finished", +-- +1.8.4.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch b/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch new file mode 100644 index 0000000000..cc8d11044a --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch @@ -0,0 +1,50 @@ +configure.ac: add option --enable-thread-tls to manage thread ssl support + +Add option --enable-thread-tls to manage the including of thread +local storage, so we could explicitly disable it. + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + configure.ac | 17 +++++++++++------ + 1 file changed, 11 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 474e094..cedca54 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -120,6 +120,9 @@ AC_ARG_ENABLE(memtrace, + AC_ARG_ENABLE(ssl, + [ --enable-ssl Enable SSL support.],,enable_ssl="auto") + ++AC_ARG_ENABLE(thread-tls, ++ [ --enable-thread-tls Enable Thread Transport Layer Security support.],,enable_thread_tls="no") ++ + AC_ARG_ENABLE(dynamic-linking, + [ --enable-dynamic-linking Link everything dynamically.],,enable_dynamic_linking="auto") + +@@ -381,12 +384,14 @@ dnl *************************************************************************** + dnl Is the __thread keyword available? + dnl *************************************************************************** + +-AC_LINK_IFELSE([AC_LANG_PROGRAM( +-[[#include <pthread.h> +-__thread int a; +-]], +-[a=0;])], +-[ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Transport Layer Security is supported by the system")]) ++if test "x$enable_thread_tls" != "xno"; then ++ AC_LINK_IFELSE([AC_LANG_PROGRAM( ++ [[#include <pthread.h> ++ __thread int a; ++ ]], ++ [a=0;])], ++ [ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Transport Layer Security is supported by the system")]) ++fi + + dnl *************************************************************************** + dnl How to do static linking? +-- +1.9.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/configure.patch b/meta-oe/recipes-support/syslog-ng/files/configure.patch new file mode 100644 index 0000000000..109f58cf72 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/configure.patch @@ -0,0 +1,23 @@ +Index: syslog-ng-3.5.4.1/configure.ac +=================================================================== +--- syslog-ng-3.5.4.1.orig/configure.ac 2014-07-18 13:49:36.794141441 +0000 ++++ syslog-ng-3.5.4.1/configure.ac 2014-07-18 14:23:57.738197606 +0000 +@@ -8,7 +8,8 @@ dnl SNAPSHOT_VERSION - snapshot version to add to version number + dnl BINARY_BRANCH - the value is added to all source/binary packages + dnl SOURCE_REVISION - Revision of the source-tree, will added to the version string + dnl +-AC_INIT(syslog-ng/main.c) ++AC_INIT(syslog-ng, 3.5.4.1) ++AC_CONFIG_SRCDIR(syslog-ng/main.c) + AC_CONFIG_MACRO_DIR([m4]) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +@@ -53,7 +54,7 @@ else + CURRDATE=`date +"%a, %d %b %Y %H:%M:%S %Z"` + fi + +-AM_INIT_AUTOMAKE($PACKAGE, $VERSION, [foreign no-define subdir-objects]) ++AM_INIT_AUTOMAKE([foreign no-define subdir-objects]) + _AM_PROG_TAR([ustar]) + if test -n "$SNAPSHOT_VERSION"; then + VERSION=$VERSION+$SNAPSHOT_VERSION diff --git a/meta-oe/recipes-support/syslog-ng/files/dbifix.patch b/meta-oe/recipes-support/syslog-ng/files/dbifix.patch new file mode 100644 index 0000000000..15dfb68855 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/dbifix.patch @@ -0,0 +1,20 @@ +Index: syslog-ng-3.5.4.1/configure.ac +=================================================================== +--- syslog-ng-3.5.4.1.orig/configure.ac 2014-07-18 14:35:03.134215740 +0000 ++++ syslog-ng-3.5.4.1/configure.ac 2014-07-18 15:31:52.510308653 +0000 +@@ -576,13 +576,14 @@ + dnl *************************************************************************** + + AC_CHECK_LIB(dl, dlsym, DL_LIBS="-ldl") ++if test "x$enable_sql" != "xno"; then + PKG_CHECK_MODULES(LIBDBI, dbi >= $LIBDBI_MIN_VERSION, libdbi_pkgconfig_not_found="0", libdbi_pkgconfig_not_found="1") + + if test "$libdbi_pkgconfig_not_found" -eq 1; then + dnl if libdbi has no .pc file, try it without one + AC_CHECK_LIB(dbi, dbi_initialize, LIBDBI_LIBS="-ldbi"; LIBDBI_CFLAGS="-I/usr/include") + fi +- ++fi + if test "x$enable_sql" = "xauto"; then + AC_MSG_CHECKING(whether to enable SQL support) + if test "x$LIBDBI_LIBS" != "x"; then diff --git a/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch b/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch new file mode 100644 index 0000000000..484af7e2ef --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch @@ -0,0 +1,36 @@ +From 86842df8bff5c97e44fc55d2fb7fc6c10f56ab84 Mon Sep 17 00:00:00 2001 +From: Gergely Nagy <algernon@balabit.hu> +Date: Fri, 13 Dec 2013 13:46:15 +0100 +Subject: [PATCH] mainloop: Deinit the new config when reverting to the old one + +Upstream-Status: Backport + +When reloading, and the new config fails, deinit it before initializing +the old config. This is so that conflicting things do not remain held by +the half-initialized new config, while the old tries to take it +over. (It also removed a couple of memory leaks, most likely.) + +The reason we can do this, is because cfg_tree_stop() (called by +cfg_deinit()) goes over all the known nodes, and log_pipe_deinit() is +also smart enough to not deinit a node that has not been inited before. + +Signed-off-by: Gergely Nagy <algernon@balabit.hu> +--- + lib/mainloop.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/mainloop.c b/lib/mainloop.c +index 34655fa..e6fbb59 100644 +--- a/lib/mainloop.c ++++ b/lib/mainloop.c +@@ -510,6 +510,7 @@ main_loop_reload_config_apply(void) + { + msg_error("Error initializing new configuration, reverting to old config", NULL); + cfg_persist_config_move(main_loop_new_config, main_loop_old_config); ++ cfg_deinit(main_loop_new_config); + if (!cfg_init(main_loop_old_config)) + { + /* hmm. hmmm, error reinitializing old configuration, we're hosed. +-- +1.8.4.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch b/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch new file mode 100644 index 0000000000..260347413b --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch @@ -0,0 +1,33 @@ +From a269669ba3cb6d1c06a3322b4a6a035cb787d085 Mon Sep 17 00:00:00 2001 +From: Gergely Nagy <algernon@balabit.hu> +Date: Tue, 14 Jan 2014 13:58:05 +0100 +Subject: [PATCH] driver: Fix a memory leak in log_driver_free() + +Upstream-Status: Backport + +After freeing up the members of self->plugins, free self->plugins itself +too. + +Signed-off-by: Gergely Nagy <algernon@balabit.hu> +--- + lib/driver.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/lib/driver.c b/lib/driver.c +index d77fe57..a6867b9 100644 +--- a/lib/driver.c ++++ b/lib/driver.c +@@ -91,6 +91,10 @@ log_driver_free(LogPipe *s) + { + log_driver_plugin_free((LogDriverPlugin *) l->data); + } ++ if (self->plugins) ++ { ++ g_list_free(self->plugins); ++ } + if (self->group) + g_free(self->group); + if (self->id) +-- +1.8.4.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch b/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch new file mode 100644 index 0000000000..755803c213 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch @@ -0,0 +1,66 @@ +Subject: [PATCH] add libnet enable option + +Upstream-Status: Pending + +This would avoid a implicit auto-detecting result. + +Signed-off-by: Ming Liu <ming.liu@windriver.com> +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + configure.ac | 27 +++++++++++++++++---------- + 1 files changed, 17 insertions(+), 10 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b1e18b4..8e13025 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -73,6 +73,9 @@ AC_CONFIG_HEADERS(config.h) + dnl *************************************************************************** + dnl Arguments + ++AC_ARG_ENABLE(libnet, ++ [ --enable-libnet Enable libnet support.],, enable_libnet="no") ++ + AC_ARG_WITH(libnet, + [ --with-libnet=path use path to libnet-config script], + , +@@ -768,22 +771,26 @@ dnl *************************************************************************** + dnl libnet headers/libraries + dnl *************************************************************************** + AC_MSG_CHECKING(for LIBNET) +-if test "x$with_libnet" = "x"; then +- LIBNET_CONFIG="`which libnet-config`" +-else +- LIBNET_CONFIG="$with_libnet/libnet-config" +-fi ++if test "x$enable_libnet" = xyes; then ++ if test "x$with_libnet" = "x"; then ++ LIBNET_CONFIG="`which libnet-config`" ++ else ++ LIBNET_CONFIG="$with_libnet/libnet-config" ++ fi ++ ++ if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then ++ LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`" ++ LIBNET_LIBS="`$LIBNET_CONFIG --libs`" ++ AC_MSG_RESULT(yes) ++ else ++ AC_MSG_ERROR([Could not find libnet, and libnet support was explicitly enabled.]) ++ fi + +-if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then +- LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`" +- LIBNET_LIBS="`$LIBNET_CONFIG --libs`" +- AC_MSG_RESULT(yes) + else + LIBNET_LIBS= + AC_MSG_RESULT(no) + fi + +- + if test "x$enable_spoof_source" = "xauto"; then + AC_MSG_CHECKING(whether to enable spoof source support) + if test "x$LIBNET_LIBS" != "x"; then +-- +1.7.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch b/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch new file mode 100644 index 0000000000..faf967247f --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch @@ -0,0 +1,28 @@ +syslog-ng: fix wrong ownership issue + +Upstream-Status: Pending + +The ownership of build user is preserved for some target files, fixed it by +adding --no-same-owner option to tar when extracting files. + +Signed-off-by: Ming Liu <ming.liu@windriver.com> +--- + scl/Makefile.am | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/scl/Makefile.am b/scl/Makefile.am +index 57fad5d..2a29ca5 100644 +--- a/scl/Makefile.am ++++ b/scl/Makefile.am +@@ -14,7 +14,7 @@ scl-install-data-local: + fi; \ + done + $(mkinstalldirs) $(DESTDIR)/$(scldir) +- (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf -) ++ (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf - --no-same-owner) + chmod -R u+rwX $(DESTDIR)/$(scldir) + + scl-uninstall-local: +-- +1.7.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch b/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch new file mode 100644 index 0000000000..d439a2607b --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch @@ -0,0 +1,30 @@ +From 3ef6ca8044260c77118edca6dead807a2edcb5ef Mon Sep 17 00:00:00 2001 +From: Balazs Scheidler <bazsi@balabit.hu> +Date: Thu, 31 Oct 2013 13:20:12 +0100 +Subject: [PATCH] cfg: free global LogTemplateOptions + +Upstream-Status: Backport + +This fixes a potential memory leak when global template specific +options were specified, such as local-time-zone(), send-time-zone() etc. + +Signed-off-by: Balazs Scheidler <bazsi@balabit.hu> +--- + lib/cfg.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/cfg.c b/lib/cfg.c +index 7f040b8..adeaaf8 100644 +--- a/lib/cfg.c ++++ b/lib/cfg.c +@@ -411,6 +411,7 @@ cfg_free(GlobalConfig *self) + g_free(self->proto_template_name); + log_template_unref(self->file_template); + log_template_unref(self->proto_template); ++ log_template_options_destroy(&self->template_options); + + if (self->bad_hostname_compiled) + regfree(&self->bad_hostname); +-- +1.8.4.1 + diff --git a/meta-oe/recipes-support/syslog-ng/files/initscript b/meta-oe/recipes-support/syslog-ng/files/initscript new file mode 100644 index 0000000000..910030f41d --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/initscript @@ -0,0 +1,62 @@ +#! /bin/sh +# +# This is an init script for openembedded +# Copy it to /etc/init.d/syslog-ng and type +# > update-rc.d syslog-ng defaults 5 +# + +# Source function library +. /etc/init.d/functions + +syslog_ng=/usr/sbin/syslog-ng +test -x "$syslog_ng" || exit 0 + +PIDFILE=/var/run/syslog-ng/syslog-ng.pid + +create_xconsole() { + test -e /dev/xconsole || mknod -m 640 /dev/xconsole p + test -x /sbin/restorecon && /sbin/restorecon /dev/xconsole +} + +RETVAL=0 + +case "$1" in + start) + [ "${VERBOSE}" != "no" ] && echo -n "Starting syslog-ng:" + create_xconsole + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $syslog_ng + [ "${VERBOSE}" != "no" ] && echo "." + ;; + stop) + [ "${VERBOSE}" != "no" ] && echo -n "Stopping syslog-ng:" + start-stop-daemon --stop --quiet --pidfile $PIDFILE + [ "${VERBOSE}" != "no" ] && echo "." + ;; + reload|force-reload) + start-stop-daemon --stop --quiet --signal 1 --exec $syslog_ng + ;; + restart) + echo "Stopping syslog-ng:" + start-stop-daemon --stop --quiet --pidfile $PIDFILE + echo -n "Waiting for syslog-ng to die off" + for i in 1 2 3 ; + do + sleep 1 + echo -n "." + done + echo "" + echo -n "Starting syslog-ng:" + create_xconsole + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $syslog_ng + echo "." + ;; + status) + status $syslog_ng + RETVAL=$? + ;; + *) + echo "Usage: $0 {start|stop|reload|restart|force-reload|status}" + exit 1 +esac + +exit $RETVAL 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/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/files/syslog-ng-verify-the-list-before-del.patch b/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch new file mode 100644 index 0000000000..e8119b84bc --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch @@ -0,0 +1,38 @@ +Verify the validity of the pointer before delete it + +Otherwise, we got a crash at logqueue-fifo.c:344 + 344 iv_list_del(&node->list); + +Upstream-Status: Pending + +Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> +--- +--- a/lib/logqueue-fifo.c ++++ b/lib/logqueue-fifo.c +@@ -339,15 +339,18 @@ + *msg = node->msg; + path_options->ack_needed = node->ack_needed; + self->qoverflow_output_len--; +- if (!push_to_backlog) ++ if ((&node->list) && (&node->list)->next && (&node->list)->prev) + { +- iv_list_del(&node->list); +- log_msg_free_queue_node(node); +- } +- else +- { +- iv_list_del_init(&node->list); +- } ++ if (!push_to_backlog) ++ { ++ iv_list_del(&node->list); ++ log_msg_free_queue_node(node); ++ } ++ else ++ { ++ iv_list_del_init(&node->list); ++ } ++ } + } + else + { diff --git a/meta-oe/recipes-support/nonworking/syslog-ng/files/syslog-ng.conf b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf index e760dfbdc5..f0da2b703c 100644 --- a/meta-oe/recipes-support/nonworking/syslog-ng/files/syslog-ng.conf +++ b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf @@ -1,11 +1,11 @@ -@version: 3.2 +@version: 3.5 # # Syslog-ng configuration file, compatible with default Debian syslogd # installation. Originally written by anonymous (I can't find his name) # Revised, and rewrited by me (SZALAY Attila <sasa@debian.org>) # First, set some global options. -options { long_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no); +options { chain_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no); owner("root"); group("adm"); perm(0640); stats_freq(0); bad_hostname("^gconfd$"); }; @@ -83,7 +83,7 @@ destination d_ppp { file("/var/log/ppp.log"); }; ######################## # Filters ######################## -# Here's come the filter options. With this rules, we can set which +# Here's come the filter options. With this rules, we can set which # message go where. filter f_dbg { level(debug); }; @@ -95,7 +95,7 @@ filter f_crit { level(crit .. emerg); }; filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); }; filter f_error { level(err .. emerg) ; }; -filter f_messages { level(info,notice,warn) and +filter f_messages { level(info,notice,warn) and not facility(auth,authpriv,cron,daemon,mail,news); }; filter f_auth { facility(auth, authpriv) and not filter(f_debug); }; diff --git a/meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng b/meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng new file mode 100644 index 0000000000..3c4a50d54f --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng @@ -0,0 +1 @@ +d root root 0755 /var/run/syslog-ng none diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc new file mode 100644 index 0000000000..4aead31b75 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc @@ -0,0 +1,107 @@ +SUMMARY = "Alternative system logger daemon" +DESCRIPTION = "syslog-ng, as the name shows, is a syslogd replacement, \ +but with new functionality for the new generation. The original syslogd \ +allows messages only to be sorted based on priority/facility pairs; \ +syslog-ng adds the possibility to filter based on message contents using \ +regular expressions. The new configuration scheme is intuitive and powerful. \ +Forwarding logs over TCP and remembering all forwarding hops makes it \ +ideal for firewalled environments. \ +" +HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system" + +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=e0e8658d9be248f01b7933df24dc1408" + +DEPENDS = "flex eventlog glib-2.0" + +SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/sources/${PV}/source/${BPN}_${PV}.tar.gz \ + file://syslog-ng.conf \ + file://initscript \ + file://volatiles.03_syslog-ng \ + file://configure.ac-add-option-enable-thread-tls-to-manage-.patch \ +" + +inherit autotools systemd pkgconfig update-rc.d update-alternatives + +EXTRA_OECONF = " \ + --enable-dynamic-linking \ + --disable-sub-streams \ + --disable-pacct \ + --localstatedir=${localstatedir}/run/${BPN} \ + --sysconfdir=${sysconfdir}/${BPN} \ + --with-module-dir=${libdir}/${BPN} \ + --with-sysroot=${STAGING_DIR_HOST} \ + --with-libmongo-client=no --disable-mongodb \ + --with-librabbitmq-client=no \ + ${CONFIG_TLS} \ +" + +CONFIG_TLS = "--enable-thread-tls" +CONFIG_TLS_arm = "${@base_conditional( "DEBUG_BUILD", "1", " --disable-thread-tls", " --enable-thread-tls", d )}" + +PACKAGECONFIG ??= "openssl \ + ${@base_contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ +" +PACKAGECONFIG[openssl] = "--enable-ssl,--disable-ssl,openssl," +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,," +PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd," +PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap," +PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre," +PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi," +PACKAGECONFIG[libnet] = "--enable-libnet --with-libnet=${STAGING_BINDIR_CROSS},--disable-libnet,libnet," +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)}" +} + +do_install_append() { + install -d ${D}/${sysconfdir}/${BPN} + install ${WORKDIR}/syslog-ng.conf ${D}${sysconfdir}/${BPN}/${BPN}.conf + install -d ${D}/${sysconfdir}/init.d + install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog.${BPN} + install -d ${D}/${sysconfdir}/default/volatiles/ + install -m 755 ${WORKDIR}/volatiles.03_syslog-ng ${D}/${sysconfdir}/default/volatiles/03_syslog-ng + + # Remove /var/run as it is created on startup + rm -rf ${D}${localstatedir}/run +} + +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" +FILES_${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*" +FILES_${PN}-libs-dev = "${libdir}/${BPN}/lib*.la" +FILES_${PN}-libs-dbg = "${libdir}/${BPN}/.debug" +INSANE_SKIP_${PN}-libs = "dev-so" +RDEPENDS_${PN} += "${PN}-libs" + +CONFFILES_${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf" + +# syslog initscript is handled explicitly because order of +# update-rc.d and update-alternatives is important +RDEPENDS_${PN} += " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}" + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "${BPN}.service" + +# no syslog-init for systemd +python () { + if 'sysvinit' in d.getVar("DISTRO_FEATURES", True).split(): + pn = d.getVar('PN', True) + sysconfdir = d.getVar('sysconfdir', True) + d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init') + d.setVarFlag('ALTERNATIVE_PRIORITY', 'syslog-init', '200') + d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir)) +} + +INITSCRIPT_NAME = "syslog" +INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 90 0 1 6 ." 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 new file mode 100644 index 0000000000..b54842030c --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb @@ -0,0 +1,21 @@ +require syslog-ng.inc + +SRC_URI += " \ + file://afsql-afsql_dd_insert_db-refactor.patch \ + file://deinit-the-new-config-when-reverting-to-the.patch \ + file://fix-a-memory-leak-in-log_driver_free.patch \ + file://fix-config-libnet.patch \ + file://fix-invalid-ownership.patch \ + 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://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" +SRC_URI[sha256sum] = "92c6969e4172b4fd32390f80043b4de7b116f29989d8c2e5a8a687ee6dcd6f66" 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/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch b/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch index e1339a078e..635c60e461 100644 --- a/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch +++ b/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch @@ -17,7 +17,7 @@ Index: talloc-2.0.1/talloc.mk - which swig >/dev/null 2>&1 && ${INSTALLCMD} -d $(DESTDIR)`swig -swiglib` || true - which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 talloc.i $(DESTDIR)`swig -swiglib` || true + which swig >/dev/null 2>&1 && ${INSTALLCMD} -d $(DESTDIR)/$(SWIGLIBDIR) || true -+ which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 talloc.i $(DESTDIR)/$(SWIGLIBDIR) || true ++ which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 $(srcdir)/$(tallocdir)/talloc.i $(DESTDIR)/$(SWIGLIBDIR) || true doc:: talloc.3 talloc.3.html diff --git a/meta-oe/recipes-support/talloc/talloc/sepbuild.patch b/meta-oe/recipes-support/talloc/talloc/sepbuild.patch new file mode 100644 index 0000000000..05506c3423 --- /dev/null +++ b/meta-oe/recipes-support/talloc/talloc/sepbuild.patch @@ -0,0 +1,27 @@ +Index: talloc-2.0.1/Makefile.in +=================================================================== +--- talloc-2.0.1.orig/Makefile.in ++++ talloc-2.0.1/Makefile.in +@@ -33,8 +33,8 @@ EXPORTSFILE = @EXPORTSFILE@ + + all:: showflags $(EXTRA_TARGETS) + +-include $(tallocdir)/rules.mk +-include $(tallocdir)/talloc.mk ++include $(srcdir)/$(tallocdir)/rules.mk ++include $(srcdir)/$(tallocdir)/talloc.mk + + @TALLOC_COMPAT1_MK@ + +Index: talloc-2.0.1/libtalloc.m4 +=================================================================== +--- talloc-2.0.1.orig/libtalloc.m4 ++++ talloc-2.0.1/libtalloc.m4 +@@ -33,6 +33,6 @@ if test $ac_cv_sizeof_size_t -lt $ac_cv_ + fi + + if test x"$VERSIONSCRIPT" != "x"; then +- EXPORTSFILE=talloc.exports ++ EXPORTSFILE=$srcdir/$tallocdir/talloc.exports + AC_SUBST(EXPORTSFILE) + fi diff --git a/meta-oe/recipes-support/talloc/talloc_2.0.1.bb b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb index 6b7e4f1cfd..7bbfbc291c 100644 --- a/meta-oe/recipes-support/talloc/talloc_2.0.1.bb +++ b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb @@ -7,6 +7,7 @@ inherit autotools pkgconfig SRC_URI = "http://samba.org/ftp/${BPN}/${BPN}-${PV}.tar.gz \ file://install-swig-interface-in-SWINGLIBDIR.patch \ + file://sepbuild.patch \ " SRC_URI[md5sum] = "c6e736540145ca58cb3dcb42f91cf57b" SRC_URI[sha256sum] = "5b810527405f29d54f50efd78bf2c89e318f2cd8bed001f22f2a1412fd27c9b4" @@ -15,16 +16,22 @@ TARGET_CC_ARCH += "${LDFLAGS}" PR = "r2" -# autoreconf doesn't work well while reconfiguring included libreplace -do_configure () { - gnu-configize - oe_runconf -} +EXTRA_AUTORECONF = "--exclude=autopoint --exclude=aclocal" + +DEPENDS += "swig-native" do_install_prepend() { # Hack the way swig interface for talloc is installed # This hack is accompanied by install-swig-interface-in-SWINGLIBDIR.patch - type swig > /dev/null 2>&1 && SWIGLIBDIR=`swig -swiglib` && SWIGLIBDIR=${SWIGLIBDIR##${STAGING_DIR_NATIVE}} && export SWIGLIBDIR || echo "No swig found" + if which swig > /dev/null; then + SWIGLIBDIR="$(echo $(readlink -f $(swig -swiglib)) | \ + sed -e 's#^${STAGING_DIR_NATIVE}##')" + fi + if [ -n "$SWIGLIBDIR" ]; then + export SWIGLIBDIR + else + echo "No swig found" + fi } do_install_append() { 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/tracker/tracker_0.14.2.bb.rej b/meta-oe/recipes-support/tracker/tracker_0.14.2.bb.rej deleted file mode 100644 index d04482973a..0000000000 --- a/meta-oe/recipes-support/tracker/tracker_0.14.2.bb.rej +++ /dev/null @@ -1,36 +0,0 @@ ---- meta-oe/recipes-support/tracker/tracker_0.14.2.bb -+++ meta-oe/recipes-support/tracker/tracker_0.14.2.bb -@@ -13,7 +13,7 @@ - SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/tracker/${VER_DIR}/tracker-${PV}.tar.xz \ - file://0005-Fix-missing-gobject-introspection-checks.patch \ - file://enable-sqlite-crosscompile.patch \ -- file://fix-removable-media-detection.patch \ -+ file://fix-removable-media-detection.patch \ - file://90tracker \ - file://tracker-store.service \ - file://tracker-miner-fs.service \ -@@ -32,14 +32,17 @@ - LEAD_SONAME = "libtrackerclient.so.0" - - do_install_append() { -- cp -PpR ${D}${STAGING_DATADIR}/* ${D}${datadir}/ || true --# install -d ${D}/${sysconfdir}/X11/Xsession.d/ --# install -m 0755 ${WORKDIR}/90tracker ${D}/${sysconfdir}/X11/Xsession.d/ -+ cp -PpR ${D}${STAGING_DATADIR}/* ${D}${datadir}/ || true -+ # install -d ${D}/${sysconfdir}/X11/Xsession.d/ -+ # install -m 0755 ${WORKDIR}/90tracker ${D}/${sysconfdir}/X11/Xsession.d/ - -- install -d ${D}${systemd_unitdir}/system -- install -m 0644 ${WORKDIR}/tracker-store.service ${D}${systemd_unitdir}/system -- install -m 0644 ${WORKDIR}/tracker-miner-fs.service ${D}${systemd_unitdir}/system -- install -m 0644 ${WORKDIR}/tracker-dbus.service ${D}${systemd_unitdir}/system -+ install -d ${D}${systemd_unitdir}/system -+ install -m 0644 ${WORKDIR}/tracker-store.service ${D}${systemd_unitdir}/system -+ install -m 0644 ${WORKDIR}/tracker-miner-fs.service ${D}${systemd_unitdir}/system -+ install -m 0644 ${WORKDIR}/tracker-dbus.service ${D}${systemd_unitdir}/system -+ sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' \ -+ -e 's,@BASE_BINDIR@,${base_bindir},g' \ -+ ${D}${systemd_unitdir}/system/*.service - } - - PACKAGES =+ "${PN}-tests ${PN}-vala ${PN}-nautilus-extension" diff --git a/meta-oe/recipes-support/udisks/udisks_1.0.4.bb b/meta-oe/recipes-support/udisks/udisks_1.0.4.bb index 32f0c110f5..e306e89990 100644 --- a/meta-oe/recipes-support/udisks/udisks_1.0.4.bb +++ b/meta-oe/recipes-support/udisks/udisks_1.0.4.bb @@ -2,7 +2,7 @@ DESCRIPTION = "A storage daemon that implements well-defined D-Bus interfaces th LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=73d83aebe7e4b62346afde80e0e94273" -DEPENDS = "libatasmart sg3-utils polkit udev dbus-glib glib-2.0" +DEPENDS = "libatasmart sg3-utils polkit udev dbus-glib glib-2.0 intltool-native" # optional dependencies: device-mapper parted DEPENDS += "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" @@ -17,7 +17,7 @@ SRC_URI[udisks.sha256sum] = "854b89368733b9c3a577101b761ad5397ae75a05110c8698ac5 PR = "r9" -inherit autotools systemd +inherit autotools systemd gtk-doc PACKAGECONFIG ??= "" PACKAGECONFIG[parted] = "--enable-parted,--disable-parted,parted" diff --git a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20130807.bb b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb index e33f29679a..a265411c1e 100644 --- a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20130807.bb +++ b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb @@ -4,14 +4,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" inherit allarch -SRC_URI = "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-${PV}.tar.bz2" -SRC_URI[md5sum] = "91feff51deba6e48e78506b8f4db2274" -SRC_URI[sha256sum] = "a3114e2c1f38eed3ad0067df30e53a96313908a9539a8ea5d94a4d35651699eb" +SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2" +SRC_URI[md5sum] = "dff94177781298aaf0b3c2a3c3dea6b2" +SRC_URI[sha256sum] = "53889157937109e04dafe897c098ec94f3f44f9c0c83fc6ec8417aa9a587e536" do_install() { oe_runmake install DESTDIR=${D} } -RDEPENDS_${PN} = "usb-modeswitch" +RDEPENDS_${PN} = "usb-modeswitch (>= 2.2.0)" FILES_${PN} += "${base_libdir}/udev/rules.d/ \ ${datadir}/usb_modeswitch" diff --git a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.0.1.bb b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb index 92d1ac473f..5e95bb9442 100644 --- a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.0.1.bb +++ b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb @@ -2,16 +2,18 @@ SUMMARY = "A mode switching tool for controlling 'flip flop' (multiple device) U LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -inherit autotools - DEPENDS = "libusb1" -SRC_URI = "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-${PV}.tar.bz2" -SRC_URI[md5sum] = "e48d4419d0574d342bb183f7465556d0" -SRC_URI[sha256sum] = "4706c9cfe825263e189f55730ea3d1d8634aeb15645a1098532e946e770f7f95" +SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2" +SRC_URI[md5sum] = "f323fe700edd6ea404c40934ddf32b22" +SRC_URI[sha256sum] = "2752103de171ed5f6c8d6a6e3e73e16c9ee3e8e394dd39c5991f7680eb908a3a" EXTRA_OEMAKE = "TCL=${bindir}/tclsh" FILES_${PN} = "${bindir} ${sysconfdir} ${base_libdir}/udev/usb_modeswitch ${sbindir} ${localstatedir}/lib/usb_modeswitch" RDEPENDS_${PN} = "tcl" RRECOMMENDS_${PN} = "usb-modeswitch-data" + +do_install() { + oe_runmake DESTDIR=${D} install +} diff --git a/meta-oe/recipes-support/usbpath/usbpath/configure.patch b/meta-oe/recipes-support/usbpath/usbpath/configure.patch new file mode 100644 index 0000000000..271e6a53ad --- /dev/null +++ b/meta-oe/recipes-support/usbpath/usbpath/configure.patch @@ -0,0 +1,11 @@ +Index: usbpath/configure.ac +=================================================================== +--- usbpath.orig/configure.ac 2014-07-17 20:40:26.000000000 +0000 ++++ usbpath/configure.ac 2014-07-18 07:01:40.933474420 +0000 +@@ -1,5 +1,5 @@ + AC_INIT([usbpath],[0.1]) +-AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) ++AM_INIT_AUTOMAKE([foreign]) + + AC_PROG_CC + AC_PROG_RANLIB diff --git a/meta-oe/recipes-support/usbpath/usbpath_svn.bb b/meta-oe/recipes-support/usbpath/usbpath_svn.bb index 001683e96b..134192bd67 100644 --- a/meta-oe/recipes-support/usbpath/usbpath_svn.bb +++ b/meta-oe/recipes-support/usbpath/usbpath_svn.bb @@ -11,9 +11,9 @@ BBCLASSEXTEND = "native" SRCREV = "3172" PV = "0.0+svnr${SRCPV}" -SRC_URI = "svn://svn.openmoko.org/trunk/src/host;module=usbpath;protocol=http" +SRC_URI = "svn://svn.openmoko.org/trunk/src/host;module=usbpath;protocol=http \ + file://configure.patch" S = "${WORKDIR}/usbpath" -inherit autotools - +inherit autotools pkgconfig diff --git a/meta-oe/recipes-support/utouch/utouch-frame_git.bb b/meta-oe/recipes-support/utouch/utouch-frame_git.bb index 00b7cf355e..d9b38ae204 100644 --- a/meta-oe/recipes-support/utouch/utouch-frame_git.bb +++ b/meta-oe/recipes-support/utouch/utouch-frame_git.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c" DEPENDS += "mtdev utouch-evemu" -inherit autotools +inherit autotools pkgconfig SRC_URI = "git://bitmath.org/git/frame.git;protocol=http" SRCREV = "95363d5a1f7394d71144bf3b408ef4e6db4350fc" diff --git a/meta-oe/recipes-support/utouch/utouch-mtview_git.bb b/meta-oe/recipes-support/utouch/utouch-mtview_git.bb index 6ebeb9fa4b..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 +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 447381a79a..07ff318203 100644 --- a/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb +++ b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb @@ -1,6 +1,6 @@ SUMMARY = "A lightweight Terminal Emulator based on libvte, written in Vala" SECTION = "x11/applications" -DEPENDS = "vte" +DEPENDS = "vte intltool-native" SRCREV = "0fefa38087581f85fa0631b40500b9428369c146" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" @@ -8,6 +8,8 @@ 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" + inherit autotools perlnative vala SRC_URI = "${FREESMARTPHONE_GIT}/vala-terminal.git;branch=master" 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.258.bb b/meta-oe/recipes-support/vim/vim_7.4.481.bb index 2d3b0c26ab..7490229185 100644 --- a/meta-oe/recipes-support/vim/vim_7.4.258.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-258" +SRCREV = "v7-4-481" -S = "${WORKDIR}/${PN}/src" +S = "${WORKDIR}/vim/src" -VIMDIR = "${PN}${@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,43 +59,51 @@ EXTRA_OECONF = " \ STRIP=/bin/true \ " -do_install_append() { - # Work around rpm picking up csh or awk as a dep - chmod -x ${D}${datadir}/${PN}/${VIMDIR}/tools/vim132 - chmod -x ${D}${datadir}/${PN}/${VIMDIR}/tools/mve.awk +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 + chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl # Install example vimrc from runtime files - install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${PN}/vimrc + 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 = "" -PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-data" -FILES_${PN}-syntax = "${datadir}/${PN}/${VIMDIR}/syntax" -FILES_${PN}-help = "${datadir}/${PN}/${VIMDIR}/doc" -FILES_${PN}-tutor = "${datadir}/${PN}/${VIMDIR}/tutor ${bindir}/${PN}tutor" -FILES_${PN}-vimrc = "${datadir}/${PN}/vimrc" -FILES_${PN}-data = "${datadir}/${PN}" +PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc" +FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax" +FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc" +FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor" +FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc" +FILES_${PN}-data = "${datadir}/${BPN}" FILES_${PN}-common = " \ - ${datadir}/${PN}/${VIMDIR}/*.vim \ - ${datadir}/${PN}/${VIMDIR}/autoload \ - ${datadir}/${PN}/${VIMDIR}/colors \ - ${datadir}/${PN}/${VIMDIR}/compiler \ - ${datadir}/${PN}/${VIMDIR}/ftplugin \ - ${datadir}/${PN}/${VIMDIR}/indent \ - ${datadir}/${PN}/${VIMDIR}/keymap \ - ${datadir}/${PN}/${VIMDIR}/lang \ - ${datadir}/${PN}/${VIMDIR}/macros \ - ${datadir}/${PN}/${VIMDIR}/plugin \ - ${datadir}/${PN}/${VIMDIR}/print \ - ${datadir}/${PN}/${VIMDIR}/spell \ - ${datadir}/${PN}/${VIMDIR}/tools \ + ${datadir}/${BPN}/${VIMDIR}/*.vim \ + ${datadir}/${BPN}/${VIMDIR}/autoload \ + ${datadir}/${BPN}/${VIMDIR}/colors \ + ${datadir}/${BPN}/${VIMDIR}/compiler \ + ${datadir}/${BPN}/${VIMDIR}/ftplugin \ + ${datadir}/${BPN}/${VIMDIR}/indent \ + ${datadir}/${BPN}/${VIMDIR}/keymap \ + ${datadir}/${BPN}/${VIMDIR}/lang \ + ${datadir}/${BPN}/${VIMDIR}/macros \ + ${datadir}/${BPN}/${VIMDIR}/plugin \ + ${datadir}/${BPN}/${VIMDIR}/print \ + ${datadir}/${BPN}/${VIMDIR}/spell \ + ${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}-data" +RRECOMMENDS_${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common" -ALTERNATIVE_${PN} = "vi" -ALTERNATIVE_TARGET[vi] = "${bindir}/${PN}" -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/xchat/xchat-2.8.8/automake-foreign.patch b/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch new file mode 100644 index 0000000000..cfa2f6c7fe --- /dev/null +++ b/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch @@ -0,0 +1,11 @@ +--- a/configure.in 2014-08-18 01:25:43.911597023 -0700 ++++ b/configure.in 2014-08-18 01:26:27.763786629 -0700 +@@ -8,7 +8,7 @@ + AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_SRCDIR([configure.in]) + +-AM_INIT_AUTOMAKE([1.9 dist-bzip2 subdir-objects no-define]) ++AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 subdir-objects no-define]) + + AM_MAINTAINER_MODE + AC_PROG_CC diff --git a/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch b/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch new file mode 100644 index 0000000000..4394e5257a --- /dev/null +++ b/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch @@ -0,0 +1,78 @@ +diff -ur xchat-2.8.8-orig/plugins/perl/perl.c xchat-2.8.8/plugins/perl/perl.c +--- xchat-2.8.8-orig/plugins/perl/perl.c 2014-08-30 14:09:05.125116286 -0700 ++++ xchat-2.8.8/plugins/perl/perl.c 2014-08-30 14:09:45.281106532 -0700 +@@ -31,7 +31,7 @@ + #endif + + #undef PACKAGE +-#include "../../config.h" /* for #define OLD_PERL */ ++#include <config.h> /* for #define OLD_PERL */ + #include "xchat-plugin.h" + + static xchat_plugin *ph; /* plugin handle */ +diff -ur xchat-2.8.8-orig/src/common/network.c xchat-2.8.8/src/common/network.c +--- xchat-2.8.8-orig/src/common/network.c 2014-08-30 14:09:05.137116222 -0700 ++++ xchat-2.8.8/src/common/network.c 2014-08-30 14:13:52.729116323 -0700 +@@ -24,7 +24,7 @@ + #include <unistd.h> + #include <glib.h> + +-#include "../../config.h" /* grab USE_IPV6 and LOOKUPD defines */ ++#include <config.h> /* grab USE_IPV6 and LOOKUPD defines */ + + #define WANTSOCKET + #define WANTARPA +diff -ur xchat-2.8.8-orig/src/common/ssl.c xchat-2.8.8/src/common/ssl.c +--- xchat-2.8.8-orig/src/common/ssl.c 2014-08-30 14:09:05.137116222 -0700 ++++ xchat-2.8.8/src/common/ssl.c 2014-08-30 14:14:08.449133899 -0700 +@@ -23,7 +23,7 @@ + #include <string.h> /* strncpy() */ + #include "ssl.h" /* struct cert_info */ + #include "inet.h" +-#include "../../config.h" /* HAVE_SNPRINTF */ ++#include <config.h> /* HAVE_SNPRINTF */ + + #ifndef HAVE_SNPRINTF + #define snprintf g_snprintf +diff -ur xchat-2.8.8-orig/src/common/util.c xchat-2.8.8/src/common/util.c +--- xchat-2.8.8-orig/src/common/util.c 2014-08-30 14:09:05.133116243 -0700 ++++ xchat-2.8.8/src/common/util.c 2014-08-30 14:10:23.633116070 -0700 +@@ -41,7 +41,7 @@ + #include "xchatc.h" + #include <ctype.h> + #include "util.h" +-#include "../../config.h" ++#include <config.h> + + #define WANTSOCKET + #include "inet.h" +diff -ur xchat-2.8.8-orig/src/common/xchat.h xchat-2.8.8/src/common/xchat.h +--- xchat-2.8.8-orig/src/common/xchat.h 2014-08-30 14:09:05.133116243 -0700 ++++ xchat-2.8.8/src/common/xchat.h 2014-08-30 14:13:42.797116472 -0700 +@@ -1,4 +1,4 @@ +-#include "../../config.h" ++#include <config.h> + + #include <glib.h> + #include <time.h> /* need time_t */ +diff -ur xchat-2.8.8-orig/src/fe-gtk/fe-gtk.h xchat-2.8.8/src/fe-gtk/fe-gtk.h +--- xchat-2.8.8-orig/src/fe-gtk/fe-gtk.h 2014-08-30 14:09:05.129116272 -0700 ++++ xchat-2.8.8/src/fe-gtk/fe-gtk.h 2014-08-30 14:10:13.309115951 -0700 +@@ -1,4 +1,4 @@ +-#include "../../config.h" ++#include <config.h> + + #ifdef WIN32 + /* If you're compiling this for Windows, your release is un-official +diff -ur xchat-2.8.8-orig/src/fe-gtk/xtext.c xchat-2.8.8/src/fe-gtk/xtext.c +--- xchat-2.8.8-orig/src/fe-gtk/xtext.c 2014-08-30 14:09:05.129116272 -0700 ++++ xchat-2.8.8/src/fe-gtk/xtext.c 2014-08-30 14:10:00.313138254 -0700 +@@ -51,7 +51,7 @@ + #include <gtk/gtkwindow.h> + + #ifdef XCHAT +-#include "../../config.h" /* can define USE_XLIB here */ ++#include <config.h> /* can define USE_XLIB here */ + #else + #define USE_XLIB + #endif diff --git a/meta-oe/recipes-support/xchat/xchat_2.8.8.bb b/meta-oe/recipes-support/xchat/xchat_2.8.8.bb index 8f05062c51..6da11cd946 100644 --- a/meta-oe/recipes-support/xchat/xchat_2.8.8.bb +++ b/meta-oe/recipes-support/xchat/xchat_2.8.8.bb @@ -2,31 +2,34 @@ SUMMARY = "Full-featured IRC chat client with scripting support" LICENSE = "GPLv2+" HOMEPAGE = "http://www.xchat.org" SECTION = "x11/network" + DEPENDS = "libgcrypt zlib gtk+ libsexy" DEPENDS += "gdk-pixbuf-native" + LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" -PR = "r1" +PR = "r2" SRC_URI = "http://xchat.org/files/source/2.8/xchat-${PV}.tar.bz2 \ file://glib-2.32.patch \ + file://automake-foreign.patch \ + file://fix-includes-for-separate-build.patch \ " -inherit autotools gettext +inherit autotools gettext pkgconfig PACKAGECONFIG ??= "dbus" -PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib" +PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus-glib" PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" +PACKAGECONFIG[python] = "--enable-python,--disable-python,python" EXTRA_OECONF = "\ + --enable-maintainer-mode \ --disable-perl \ - --disable-python \ --disable-tcl \ " -do_configure_prepend(){ - rm -f ${S}/po/Makefile.in.in -} +RDEPENDS_${PN} += "dbus" FILES_${PN} += "${datadir}/dbus-1" FILES_${PN}-dbg += "${libdir}/xchat/plugins/.debug" diff --git a/meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch b/meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch new file mode 100644 index 0000000000..24b187f2ac --- /dev/null +++ b/meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch @@ -0,0 +1,37 @@ +Upstream-Status: Submitted [sourceforge] + +From 75d789d0ea9716c9a9ae72f42a2fcfa907cf4a12 Mon Sep 17 00:00:00 2001 +From: Matthieu Crapet <mcrapet@gmail.com> +Date: Mon, 30 Jun 2014 13:52:25 +0200 +Subject: [PATCH] usage2c.awk: fix wrong basename regexp + +Previously not matching with filename argument with absolute path. + +Signed-off-by: Matthieu Crapet <mcrapet@gmail.com> +--- + usage2c.awk | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/usage2c.awk b/usage2c.awk +index 94b897a..9aea212 100755 +--- a/usage2c.awk ++++ b/usage2c.awk +@@ -6,13 +6,13 @@ BEGIN { + } + + # text in src/foo-bar.txt results in +-# static const char foo_text[] = { ++# static const char foo_bar[] = { + # 't', 'h', 'e', ' ', 't', 'e', 'x', 't', ... + # } + length(command_name) == 0 { + command_name = FILENAME; + sub(/\.txt$/, "", command_name); +- sub(/^([^\/]+\/)*/, "", command_name); ++ sub(/^.*\//, "", command_name); + gsub(/-/, "_", command_name); + printf("static const char %s[] = {\n", command_name); + progs = 0; +-- +2.0.0 + diff --git a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb index 770ccab1e8..d9a03c6d40 100644 --- a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb +++ b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb @@ -12,8 +12,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c04760d09e8b0fe73283d0cc9e8bea53" DEPENDS = "libxml2 libxslt" -SRC_URI = "${SOURCEFORGE_MIRROR}/xmlstar/${BPN}-${PV}.tar.gz \ - file://configure.ac.patch" +SRC_URI = "${SOURCEFORGE_MIRROR}/xmlstar/${BP}.tar.gz \ + file://configure.ac.patch \ + file://0001-usage2c.awk-fix-wrong-basename-regexp.patch" SRC_URI[md5sum] = "0c6db295d0cf9ff0d439edb755b7e8f6" SRC_URI[sha256sum] = "47b4ed042ea2909257f2a386001af49fceb303f84da7214779ccf99fffc6bbba" 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-support/zile/zile_2.4.9.bb b/meta-oe/recipes-support/zile/zile_2.4.9.bb index 0421ff7cd4..2551a80e92 100644 --- a/meta-oe/recipes-support/zile/zile_2.4.9.bb +++ b/meta-oe/recipes-support/zile/zile_2.4.9.bb @@ -1,11 +1,11 @@ SUMMARY = "Zile is lossy Emacs" HOMEPAGE = "http://zile.sourceforge.net/" -DEPENDS = "ncurses libgc" +DEPENDS = "ncurses bdwgc" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -SRC_URI = "http://ftp.gnu.org/gnu/zile/${P}.tar.gz \ +SRC_URI = "http://ftp.gnu.org/gnu/zile/${BP}.tar.gz \ file://remove-help2man.patch \ " 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/libalgorithm/libalgorithm-diff-perl_1.15.bb b/meta-perl/recipes-perl/libalgorithm/libalgorithm-diff-perl_1.15.bb new file mode 100644 index 0000000000..4155fade97 --- /dev/null +++ b/meta-perl/recipes-perl/libalgorithm/libalgorithm-diff-perl_1.15.bb @@ -0,0 +1,23 @@ +SUMMARY = "Algorithm::Diff - Compute 'intelligent' differences between two \ +files/lists" +DESCRIPTION = "This is a module for computing the difference between two files, \ +two strings, or any other two lists of things. It uses an intelligent \ +algorithm similar to (or identical to) the one used by the Unix `diff' \ +program. It is guaranteed to find the *smallest possible* set of \ +differences. \ +" +SECTION = "libs" +HOMEPAGE = "http://search.cpan.org/~nedkonz/Algorithm-Diff/" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://lib/Algorithm/Diff.pm;beginline=406;endline=409;md5=d393b8ad3b8994b9d0ae9299b8a8a1ee" + +SRC_URI = "${CPAN_MIRROR}/authors/id/N/NE/NEDKONZ/Algorithm-Diff-${PV}.tar.gz" +SRC_URI[md5sum] = "457cd497a0411a88b47d3741eb176071" +SRC_URI[sha256sum] = "aa848b75ad3ecc32d31e8651909551e851cceef74a32822c7a3cb35c259f5190" + +S = "${WORKDIR}/Algorithm-Diff-${PV}" + +inherit cpan + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libauthen/files/run-ptest b/meta-perl/recipes-perl/libauthen/files/run-ptest new file mode 100644 index 0000000000..c9f9ca94d0 --- /dev/null +++ b/meta-perl/recipes-perl/libauthen/files/run-ptest @@ -0,0 +1,16 @@ +#!/bin/sh + +for case in `find t -type f -name '*.t'`; do + perl $case >$case.output 2>&1 + ret=$? + cat $case.output + if [ $ret -ne 0 ]; then + echo "FAIL: ${case%.t}" + elif grep -i 'SKIP' $case.output; then + echo "SKIP: ${case%.t}" + else + echo "PASS: ${case%.t}" + fi + + rm -f $case.output +done diff --git a/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb b/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb new file mode 100644 index 0000000000..361bdf157e --- /dev/null +++ b/meta-perl/recipes-perl/libauthen/libauthen-sasl-perl_2.16.bb @@ -0,0 +1,30 @@ +SUMMARY = "SASL Authentication framework for Perl" +DESCRIPTION = "SASL is a generic mechanism for authentication used by several network \ +protocols. Authen::SASL provides an implementation framework that all \ +protocols should be able to share." +HOMEPAGE = "http://search.cpan.org/dist/Authen-SASL/" +SECTION = "libs" + +LICENSE = "Artistic-1.0|GPL-1.0+" +LIC_FILES_CHKSUM = "file://lib/Authen/SASL/Perl.pm;beginline=1;endline=3;md5=17123315bbcda19f484c07227594a609" + +DEPENDS = "perl" +RDEPENDS_${PN} = "libdigest-hmac-perl" + +SRC_URI = "http://www.cpan.org/authors/id/G/GB/GBARR/Authen-SASL-${PV}.tar.gz \ + file://run-ptest \ + " +SRC_URI[md5sum] = "7c03a689d4c689e5a9e2f18a1c586b2f" +SRC_URI[sha256sum] = "6614fa7518f094f853741b63c73f3627168c5d3aca89b1d02b1016dc32854e09" + +S = "${WORKDIR}/Authen-SASL-${PV}" + +inherit cpan ptest + +do_install_ptest () { + cp -r ${B}/t ${D}${PTEST_PATH} +} + +PACKAGE_ARCH = "all" +BBCLASSEXTEND = "native" + diff --git a/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.24.bb b/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.24.bb new file mode 100644 index 0000000000..0237485084 --- /dev/null +++ b/meta-perl/recipes-perl/libcapture/libcapture-tiny-perl_0.24.bb @@ -0,0 +1,36 @@ +SUMMARY = "Capture::Tiny - Capture STDOUT and STDERR from Perl, XS or external programs." +DESCRIPTION = "Capture::Tiny provies a simple, portable way to capture \ +almost anything sent to STDOUT or STDERR, regardless of whether it comes \ +from Perl, from XS code or from an external program. Optionally, output can \ +be teed so that it is captured while being passed through to the original \ +filehandles. Yes, it even works on Windows (usually). Stop guessing which of \ +a dozen capturing modules to use in any particular situation and just use \ +this one." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~dagolden/Capture-Tiny/" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=37a4918a30ace24395020e5b8c03b83f" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/D/DA/DAGOLDEN/Capture-Tiny-${PV}.tar.gz" +SRC_URI[md5sum] = "718e9d62c4a27a3207cf8506cb99d846" +SRC_URI[sha256sum] = "9bcf6f8472f8ea50401536cb070ac0c7770837d155c4d6abe212759863aae065" + +S = "${WORKDIR}/Capture-Tiny-${PV}" + +inherit cpan + +RDEPENDS_${PN} = " perl-module-scalar-util \ + perl-module-io-file \ + perl-module-extutils-makemaker \ + perl-module-file-spec \ + perl-module-exporter \ + perl-module-carp \ + perl-module-test-more \ + perl-module-file-temp \ + perl-module-lib \ + perl-module-build \ +" + +BBCLASSEXTEND = "native" 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/libdigest/files/run-ptest b/meta-perl/recipes-perl/libdigest/files/run-ptest new file mode 100644 index 0000000000..c9f9ca94d0 --- /dev/null +++ b/meta-perl/recipes-perl/libdigest/files/run-ptest @@ -0,0 +1,16 @@ +#!/bin/sh + +for case in `find t -type f -name '*.t'`; do + perl $case >$case.output 2>&1 + ret=$? + cat $case.output + if [ $ret -ne 0 ]; then + echo "FAIL: ${case%.t}" + elif grep -i 'SKIP' $case.output; then + echo "SKIP: ${case%.t}" + else + echo "PASS: ${case%.t}" + fi + + rm -f $case.output +done diff --git a/meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb b/meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb new file mode 100644 index 0000000000..affc9f668f --- /dev/null +++ b/meta-perl/recipes-perl/libdigest/libdigest-hmac-perl_1.03.bb @@ -0,0 +1,26 @@ +SUMMARY = "Keyed-Hashing for Message Authentication" +DESCRIPTION = "Keyed-Hashing for Message Authentication" +HOMEPAGE = "http://search.cpan.org/~gaas/Digest-HMAC-1.03/" +SECTION = "libs" + +LICENSE = "Artistic-1.0|GPLv1+" +LIC_FILES_CHKSUM = "file://README;beginline=13;endline=17;md5=da980cdc026faa065e5d5004115334e6" + +RDEPENDS_${PN} = "libdigest-sha1-perl perl-module-extutils-makemaker perl-module-digest-md5" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-HMAC-${PV}.tar.gz \ + file://run-ptest \ + " +SRC_URI[md5sum] = "e6a5d6f552da16eacb5157ea4369ff9d" +SRC_URI[sha256sum] = "3bc72c6d3ff144d73aefb90e9a78d33612d58cf1cd1631ecfb8985ba96da4a59" + +S = "${WORKDIR}/Digest-HMAC-${PV}" + +inherit cpan ptest + +do_install_ptest () { + cp -r ${B}/t ${D}${PTEST_PATH} +} + +PACKAGE_ARCH = "all" +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libdigest/libdigest-sha1-perl_2.13.bb b/meta-perl/recipes-perl/libdigest/libdigest-sha1-perl_2.13.bb new file mode 100644 index 0000000000..0371ea68cd --- /dev/null +++ b/meta-perl/recipes-perl/libdigest/libdigest-sha1-perl_2.13.bb @@ -0,0 +1,25 @@ +SUMMARY = "Perl interface to the SHA-1 algorithm " +DESCRIPTION = "Digest::SHA1 - Perl interface to the SHA-1 algorithm" +HOMEPAGE = "http://search.cpan.org/~gaas/Digest-SHA1-2.13/" +SECTION = "libs" + +LICENSE = "Artistic-1.0|GPLv1+" +LIC_FILES_CHKSUM = "file://README;beginline=10;endline=14;md5=ff5867ebb4bc1103a7a416aef2fce00a" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-SHA1-${PV}.tar.gz \ + file://run-ptest \ + " +SRC_URI[md5sum] = "bd22388f268434f2b24f64e28bf1aa35" +SRC_URI[sha256sum] = "68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc" + +S = "${WORKDIR}/Digest-SHA1-${PV}" + +inherit cpan ptest + +do_install_ptest () { + cp -r ${B}/t ${D}${PTEST_PATH} +} + +BBCLASSEXTEND="native" + +FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/Digest/SHA1/.debug/" diff --git a/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.007.bb b/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.007.bb new file mode 100644 index 0000000000..78483b4e60 --- /dev/null +++ b/meta-perl/recipes-perl/libextutils/libextutils-config-perl_0.007.bb @@ -0,0 +1,24 @@ +SUMMARY = "ExtUtils::Config - A wrapper for perl's configuration" +DESCRIPTION = "ExtUtils::Config is an abstraction around the %Config hash." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~leont/ExtUtils-Config/" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b1b813683bd988732e7fd6a796bf7f47" + +SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/ExtUtils-Config-${PV}.tar.gz" +SRC_URI[md5sum] = "2829c0dfa8a7e51b3f582efbee4bb128" +SRC_URI[sha256sum] = "2c1465078b876fd16a90507092805265528c2532d4937b03547a6dbdb8ac0eef" + +S = "${WORKDIR}/ExtUtils-Config-${PV}" + +inherit cpan + +RDEPENDS_${PN} = " perl-module-extutils-makemaker \ + perl-module-data-dumper \ + perl-module-test-more \ + perl-module-file-temp \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.07.bb b/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.07.bb new file mode 100644 index 0000000000..47e0904050 --- /dev/null +++ b/meta-perl/recipes-perl/libextutils/libextutils-cppguess-perl_0.07.bb @@ -0,0 +1,38 @@ +SUMMARY = "ExtUtils::CppGuess - guess C++ compiler and flags" +DESCRIPTION = "ExtUtils::CppGuess attempts to guess the system's C++ \ +compiler that is compatible with the C compiler that your perl was built \ +with. \ +It can generate the necessary options to the Module::Build constructor or \ +to ExtUtils::MakeMaker's WriteMakefile function." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~smueller/ExtUtils-CppGuess/" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://README;beginline=81;endline=84;md5=84c0390b90ea8c6702ce659b67bed699" + +SRC_URI = "${CPAN_MIRROR}/authors/id/S/SM/SMUELLER/ExtUtils-CppGuess-${PV}.tar.gz" +SRC_URI[md5sum] = "350dd7c661189ea770d6c9354ebbc6c2" +SRC_URI[sha256sum] = "1cd83ee8452351219b987c79ddb25cc25ee8c396318ba36c5211a92b5c87e7a8" + +S = "${WORKDIR}/ExtUtils-CppGuess-${PV}" + +inherit cpan_build + +do_install () { + cpan_build_do_install +} + +RDEPENDS_${PN} = " libcapture-tiny-perl \ + perl-module-scalar-util \ + perl-module-io-file \ + perl-module-extutils-makemaker \ + perl-module-file-spec \ + perl-module-exporter \ + perl-module-carp \ + perl-module-file-temp \ + perl-module-lib \ + perl-module-build \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.022.bb b/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.022.bb new file mode 100644 index 0000000000..9a0234e597 --- /dev/null +++ b/meta-perl/recipes-perl/libextutils/libextutils-helpers-perl_0.022.bb @@ -0,0 +1,29 @@ +SUMMARY = "ExtUtils::Helpers - Various portability utilities for module builders" +DESCRIPTION = "This module provides various portable helper function for module building modules." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~leont/ExtUtils-Helpers/" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=307057ce232899f5caa8858560c7274b" + +SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/ExtUtils-Helpers-${PV}.tar.gz" +SRC_URI[md5sum] = "cf4fd6f8caa6daac33b1111c9e93162b" +SRC_URI[sha256sum] = "d3f8cf700fb3414ca1260089755cbf64041455e4b744110677b1ba5bb9a3aa95" + +S = "${WORKDIR}/ExtUtils-Helpers-${PV}" + +inherit cpan + +RDEPENDS_${PN} = " perl-module-file-copy \ + perl-module-extutils-makemaker \ + perl-module-exporter \ + perl-module-carp \ + perl-module-test-more \ + perl-module-text-parsewords \ + perl-module-load \ + perl-module-file-temp \ + perl-module-file-spec-functions \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.010.bb b/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.010.bb new file mode 100644 index 0000000000..8de375d2e3 --- /dev/null +++ b/meta-perl/recipes-perl/libextutils/libextutils-installpaths-perl_0.010.bb @@ -0,0 +1,25 @@ +SUMMARY = "ExtUtils::InstallPaths - Build.PL install path logic made easy" +DESCRIPTION = "This module tries to make install path resolution as easy \ +as possible." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~leont/ExtUtils-InstallPaths/" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=15bbcc2806d297df9e944b8955b38d82" + +SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-${PV}.tar.gz" +SRC_URI[md5sum] = "f0b00cc6c04653588a6298fa1f16c07f" +SRC_URI[sha256sum] = "d14cbff118e467900c2c488b55b83ef697d6eb1b8f592c0521f1d82848bf2156" + +S = "${WORKDIR}/ExtUtils-InstallPaths-${PV}" + +inherit cpan + +RDEPENDS_${PN} = " perl-module-extutils-makemaker \ + perl-module-data-dumper \ + perl-module-test-more \ + perl-module-file-temp \ +" + +BBCLASSEXTEND = "native" 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/libio/files/run-ptest b/meta-perl/recipes-perl/libio/files/run-ptest new file mode 100644 index 0000000000..c9f9ca94d0 --- /dev/null +++ b/meta-perl/recipes-perl/libio/files/run-ptest @@ -0,0 +1,16 @@ +#!/bin/sh + +for case in `find t -type f -name '*.t'`; do + perl $case >$case.output 2>&1 + ret=$? + cat $case.output + if [ $ret -ne 0 ]; then + echo "FAIL: ${case%.t}" + elif grep -i 'SKIP' $case.output; then + echo "SKIP: ${case%.t}" + else + echo "PASS: ${case%.t}" + fi + + rm -f $case.output +done diff --git a/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_1.997.bb b/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_1.997.bb new file mode 100644 index 0000000000..19dec83a58 --- /dev/null +++ b/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_1.997.bb @@ -0,0 +1,45 @@ +SUMMARY = "Perl library for transparent SSL" +DESCRIPTION = "This module is a true drop-in replacement for IO::Socket::INET that \ +uses SSL to encrypt data before it is transferred to a remote server \ +or client. IO::Socket::SSL supports all the extra features that one \ +needs to write a full-featured SSL client or server application: \ +multiple SSL contexts, cipher selection, certificate verification, and \ +SSL version selection. As an extra bonus, it works perfectly with \ +mod_perl." +HOMEPAGE = "http://search.cpan.org/dist/IO-Socket-SSL/" +SECTION = "libs" + +LICENSE = "Artistic-1.0|GPLv1+" +LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8" + +RDEPENDS_${PN} += "perl-module-scalar-util libnet-ssleay-perl" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SU/SULLR/IO-Socket-SSL-${PV}.tar.gz \ + file://run-ptest \ + " +SRC_URI[md5sum] = "2a6268bb42da81e69d1c1feb2fcb0eea" +SRC_URI[sha256sum] = "acdb67b5b63aea5b7e70c3e4c70a16128810329592b63753a38c794aff76a1dd" + +S = "${WORKDIR}/IO-Socket-SSL-${PV}" + +inherit cpan ptest + +PACKAGE_ARCH = "all" + +do_install_append () { + mkdir -p ${D}${docdir}/${PN}/ + cp ${S}/BUGS ${D}${docdir}/${PN}/ + cp ${S}/Changes ${D}${docdir}/${PN}/ + cp ${S}/README ${D}${docdir}/${PN}/ + cp -pRP ${S}/docs ${D}${docdir}/${PN}/ + cp -pRP ${S}/certs ${D}${docdir}/${PN}/ + cp -pRP ${S}/example ${D}${docdir}/${PN}/ + cp -pRP ${S}/util ${D}${docdir}/${PN}/ +} + +do_install_ptest () { + cp -r ${B}/t ${D}${PTEST_PATH} + cp -r ${B}/certs ${D}${PTEST_PATH} +} + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libmime/files/run-ptest b/meta-perl/recipes-perl/libmime/files/run-ptest new file mode 100644 index 0000000000..c9f9ca94d0 --- /dev/null +++ b/meta-perl/recipes-perl/libmime/files/run-ptest @@ -0,0 +1,16 @@ +#!/bin/sh + +for case in `find t -type f -name '*.t'`; do + perl $case >$case.output 2>&1 + ret=$? + cat $case.output + if [ $ret -ne 0 ]; then + echo "FAIL: ${case%.t}" + elif grep -i 'SKIP' $case.output; then + echo "SKIP: ${case%.t}" + else + echo "PASS: ${case%.t}" + fi + + rm -f $case.output +done diff --git a/meta-perl/recipes-perl/libmime/libmime-types-perl_2.04.bb b/meta-perl/recipes-perl/libmime/libmime-types-perl_2.04.bb new file mode 100644 index 0000000000..ef53029228 --- /dev/null +++ b/meta-perl/recipes-perl/libmime/libmime-types-perl_2.04.bb @@ -0,0 +1,26 @@ +SUMMARY = "MIME::Types - Definition of MIME types" +DESCRIPTION = "MIME types are used in MIME compliant lines, for instance \ +as part of e-mail and HTTP traffic, to indicate the type of content which \ +is transmitted. Sometimes real knowledge about a mime-type is need.\ +\n\ +This module maintains a set of MIME::Type objects, which each describe \ +one known mime type." +HOMEPAGE = "http://search.cpan.org/~markov/MIME-Types-${PV}" +SECTION = "libraries" + +LICENSE = "Artistic-1.0|GPLv1+" +LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MIME-Types-${PV}.tar.gz \ + file://run-ptest \ + " +SRC_URI[md5sum] = "e292bbf7756bb4999407f3f660697168" +SRC_URI[sha256sum] = "22b6069d372d587b1f2ecc6d0aaf50fb5c64920caed8c214b9884e64538acc8f" + +S = "${WORKDIR}/MIME-Types-${PV}" + +inherit cpan ptest + +do_install_ptest () { + cp -r ${B}/t ${D}${PTEST_PATH} +} diff --git a/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.036.bb b/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.036.bb new file mode 100644 index 0000000000..761f17cc34 --- /dev/null +++ b/meta-perl/recipes-perl/libmodule/libmodule-build-tiny-perl_0.036.bb @@ -0,0 +1,54 @@ +SUMMARY = "Module::Build::Tiny - A tiny replacement for Module::Build" +DESCRIPTION = "Many Perl distributions use a Build.PL file instead of a \ +Makefile.PL file to drive distribution configuration, build, test and \ +installation. Traditionally, Build.PL uses Module::Build as the underlying \ +build system. This module provides a simple, lightweight, drop-in replacement. \ +Whereas Module::Build has over 6,700 lines of code; this module has less than \ +120, yet supports the features needed by most distributions." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~leont/Module-Build-Tiny/" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=aaca61412962cf972aec0cdad99d0a84" + +DEPENDS = "libextutils-config-perl-native libextutils-helpers-perl-native libextutils-installpaths-perl-native" + +SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Module-Build-Tiny-${PV}.tar.gz" +SRC_URI[md5sum] = "bfc92c655158ce623f0ced94f4ef02e5" +SRC_URI[sha256sum] = "d6706bf35e080e5af20cccf4fd565cc8af9c2a1e2e2075cee0a7de42cf0d6df9" + +S = "${WORKDIR}/Module-Build-Tiny-${PV}" + +inherit cpan_build + +do_install () { + cpan_build_do_install +} + +RDEPENDS_${PN} = " libextutils-config-perl \ + libextutils-helpers-perl \ + libextutils-installpaths-perl \ + perl-module-xsloader \ + perl-module-file-spec \ + perl-module-io-handle \ + perl-module-tap-harness-env \ + perl-module-ipc-open3 \ + perl-module-file-path \ + perl-module-cpan \ + perl-module-extutils-cbuilder \ + perl-module-getopt-long \ + perl-module-extutils-makemaker \ + perl-module-exporter \ + perl-module-carp \ + perl-module-test-more \ + perl-module-text-parsewords \ + perl-module-load \ + perl-module-file-temp \ + perl-module-data-dumper \ + perl-module-extutils-parsexs \ + perl-module-pod-man \ + perl-module-json-pp \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.1.bb b/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.1.bb new file mode 100644 index 0000000000..b916918070 --- /dev/null +++ b/meta-perl/recipes-perl/libmodule/libmodule-pluggable-perl_5.1.bb @@ -0,0 +1,39 @@ +SUMMARY = "Automatically give your module the ability to have plugins" +DESCRIPTION = "Provides a simple but, hopefully, extensible way of \ +having 'plugins' for your module. Obviously this isn't going to be the \ +be all and end all of solutions but it works for me.\ +\ +Essentially all it does is export a method into your namespace that \ +looks through a search path for .pm files and turn those into class \ +names.\ +\ +Optionally it instantiates those classes for you." +SECTION = "libs" + +AUTHOR = "Simon Wistow <simon@thegestalt.org>" +HOMEPAGE = "https://github.com/simonwistow/Module-Pluggable" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://README;beginline=322;endline=325;md5=086450ce010f6fda25db0b38fcc41086" + +SRCNAME = "Module-Pluggable" +SRC_URI = "${CPAN_MIRROR}/authors/id/S/SI/SIMONW/${SRCNAME}-${PV}.tar.gz" +SRC_URI[md5sum] = "1b71ed7a67ad8c048d1499540bc892ba" +SRC_URI[sha256sum] = "e2dc354043bb16f1f3df8c4bb26070b26e594819f218cf8b8ac19e79c720916f" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit cpan_build + +RDEPENDS_${PN} = " perl-module-base \ + perl-module-deprecate \ + perl-module-file-basename \ + perl-module-file-find \ + perl-module-file-spec \ + perl-module-file-spec-functions \ + perl-module-if \ + perl-module-test-more \ +" + +BBCLASSEXTEND = "native" + diff --git a/meta-perl/recipes-perl/libmodule/libmodule-runtime-perl_0.014.bb b/meta-perl/recipes-perl/libmodule/libmodule-runtime-perl_0.014.bb new file mode 100644 index 0000000000..d68ae2a888 --- /dev/null +++ b/meta-perl/recipes-perl/libmodule/libmodule-runtime-perl_0.014.bb @@ -0,0 +1,35 @@ +SUMMARY = "Module::Runtime - runtime module handling" +DESCRIPTION = "The functions exported by this module deal with runtime \ +handling of Perl modules, which are normally handled at compile time. This \ +module avoids using any other modules, so that it can be used in low-level \ +infrastructure. \ +The parts of this module that work with module names apply the same syntax \ +that is used for barewords in Perl source. In principle this syntax can vary \ +between versions of Perl, and this module applies the syntax of the Perl on \ +which it is running. In practice the usable syntax hasn't changed yet, but \ +there's a good chance of it changing in Perl 5.18. \ +The functions of this module whose purpose is to load modules include \ +workarounds for three old Perl core bugs regarding require. These workarounds \ +are applied on any Perl version where the bugs exist, except for a case where \ +one of the bugs cannot be adequately worked around in pure Perl." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~zefram/Module-Runtime/" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://README;beginline=43;endline=44;md5=62e24a93342fede7221d66335c716f34" + +SRC_URI = "${CPAN_MIRROR}/authors/id/Z/ZE/ZEFRAM/Module-Runtime-${PV}.tar.gz" +SRC_URI[md5sum] = "a6597bc25536a30476f0d75b64d35734" +SRC_URI[sha256sum] = "4c44fe0ea255a9fd00741ee545063f6692d2a28e7ef2fbaad1b24a92803362a4" + +S = "${WORKDIR}/Module-Runtime-${PV}" + +inherit cpan_build + +RDEPENDS_${PN} = " perl-module-test-more \ + perl-module-strict \ + perl-module-build \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libnet/files/run-ptest b/meta-perl/recipes-perl/libnet/files/run-ptest new file mode 100644 index 0000000000..c9f9ca94d0 --- /dev/null +++ b/meta-perl/recipes-perl/libnet/files/run-ptest @@ -0,0 +1,16 @@ +#!/bin/sh + +for case in `find t -type f -name '*.t'`; do + perl $case >$case.output 2>&1 + ret=$? + cat $case.output + if [ $ret -ne 0 ]; then + echo "FAIL: ${case%.t}" + elif grep -i 'SKIP' $case.output; then + echo "SKIP: ${case%.t}" + else + echo "PASS: ${case%.t}" + fi + + rm -f $case.output +done 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-libidn-perl-0.12/libidn-wr-cross-compile.patch b/meta-perl/recipes-perl/libnet/libnet-libidn-perl-0.12/libidn-wr-cross-compile.patch new file mode 100644 index 0000000000..679caa36a1 --- /dev/null +++ b/meta-perl/recipes-perl/libnet/libnet-libidn-perl-0.12/libidn-wr-cross-compile.patch @@ -0,0 +1,49 @@ +perl-Net-LibIDN: cross-compile + +Upstream-Status: Pending + +Add support for cross-compile allowing the compiler binary to be +specified into the perl Makefile instead of using the default 'gcc'. + +Signed-off-by: Greg Moffatt <greg.moffatt@windriver.com> +--- + +--- perl-Net-LibIDN-0.12.orig/Makefile.PL 2009-02-26 07:09:45.000000000 -0500 ++++ perl-Net-LibIDN-0.12/Makefile.PL 2010-10-19 09:34:22.811173965 -0400 +@@ -9,6 +9,7 @@ + my $options; + my $testno=1; + my %MakeParams = InitMakeParams(); ++my $compiler; + + WriteMakefile(%MakeParams); + +@@ -44,7 +45,8 @@ + ( + "with-libidn=s" => \$libdir, + "with-libidn-inc=s" => \$incdir, +- "disable-tld" => \$disable_tld ++ "disable-tld" => \$disable_tld, ++ "compiler=s" => \$compiler + ); + + if ($libdir) +@@ -165,12 +167,17 @@ + return 0; + } + +- foreach my $cc (qw/cc gcc/) ++ foreach my $cc ($compiler, qw/cc gcc/) + { + unlink($test); + system "$cc $cflags -o $test $test.c $ldflags"; + next if ($? >> 8); + ++ if ($compiler == $cc) ++ { ++ return 1; ++ } ++ + if (open(FILE, "./$test|")) + { + my $match; diff --git a/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb b/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb new file mode 100644 index 0000000000..fd3ff8d958 --- /dev/null +++ b/meta-perl/recipes-perl/libnet/libnet-libidn-perl_0.12.bb @@ -0,0 +1,34 @@ +SUMMARY = "Net::LibIDN - Perl bindings for GNU Libidn" +DESCRIPTION = "\ +Provides bindings for GNU Libidn, a C library for handling Internationalized \ +Domain Names according to IDNA (RFC 3490), in a way very much inspired by \ +Turbo Fredriksson's PHP-IDN. \ +" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPLv1+" +HOMEPAGE = "http://search.cpan.org/dist/Net-LibIDN/" +DEPENDS += "libidn" +# We must need glibc-gconvs to enable charset related functions, +# such as Net::LibIDN::idn_to_ascii(). +RDEPENDS_${PN} += "glibc-gconvs" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TH/THOR/Net-LibIDN-${PV}.tar.gz" +SRC_URI[md5sum] = "c3e4de2065009d67bcb1df0afb473e12" +SRC_URI[sha256sum] = "2f8acc9442b3866ec7dc63cd449fc693ae3e930d5d3e5e9430fbb6f393bdbb17" + +SRC_URI += "file://libidn-wr-cross-compile.patch" + +LIC_FILES_CHKSUM = "file://README;beginline=42;endline=92;md5=3374ea0369ca3ead6047520477a43147" + +S = "${WORKDIR}/Net-LibIDN-${PV}" + +EXTRA_CPANFLAGS = "--with-libidn=${STAGING_LIBDIR} --with-libidn-inc=${STAGING_INCDIR} --compiler='${CC}'" +EXTRA_CPANFLAGS += "--disable-tld" + +inherit cpan + +FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/Net/LibIDN/.debug/" + +do_configure_prepend() { + rm -rf ${S}/.pc/ +} 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 new file mode 100644 index 0000000000..f6c4b8b36c --- /dev/null +++ b/meta-perl/recipes-perl/libnet/libnet-ssleay-perl_1.65.bb @@ -0,0 +1,47 @@ +SUMMARY = "Net::SSLeay - Perl extension for using OpenSSL" +DESCRIPTION = "This module offers some high level convenience functions for accessing \ +web pages on SSL servers (for symmetry, same API is offered for \ +accessing http servers, too), a sslcat() function for writing your own \ +clients, and finally access to the SSL api of SSLeay/OpenSSL package \ +so you can write servers or clients for more complicated applications." +HOMEPAGE = "http://search.cpan.org/dist/Net-SSLeay/" +SECTION = "libs" + +LICENSE = "OpenSSL" +LIC_FILES_CHKSUM = "file://README;beginline=274;endline=294;md5=49f415984b387be999ee2ad0e5c692fe" + +DEPENDS = "openssl zlib" +RDEPENDS_${PN} += "perl-module-carp \ + perl-module-errno \ + perl-module-extutils-makemaker \ + perl-module-mime-base64 \ + perl-module-socket \ + " + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MI/MIKEM/Net-SSLeay-${PV}.tar.gz \ + file://run-ptest \ + " +SRC_URI[md5sum] = "19600c036e9e0bbfbf9157f083e40755" +SRC_URI[sha256sum] = "2fb1371120b85f018944d95736c107163f04ba56b6029c0709a2c3d6247b9c06" + +S = "${WORKDIR}/Net-SSLeay-${PV}" + +inherit cpan ptest + +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} +} + +BBCLASSEXTEND = "native" + +FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/Net/SSLeay/.debug/" diff --git a/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.30.bb b/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.30.bb new file mode 100644 index 0000000000..c3d9674bf8 --- /dev/null +++ b/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.30.bb @@ -0,0 +1,80 @@ +SUMMARY = "Test::Harness - Run Perl standard test scripts with statistics" +DESCRIPTION = "Although, for historical reasons, the Test::Harness \ +distribution takes its name from this module it now exists only to provide \ +TAP::Harness with an interface that is somewhat backwards compatible \ +with Test::Harness 2.xx. If you're writing new code consider using \ +TAP::Harness directly instead. \ +\ +Emulation is provided for runtests and execute_tests but the \ +pluggable 'Straps' interface that previous versions of Test::Harness \ +supported is not reproduced here. Straps is now available as a stand \ +alone module: Test::Harness::Straps. \ +\ +See TAP::Parser, TAP::Harness for the main documentation for this \ +distribution." + +SECTION = "libs" + +HOMEPAGE = "http://testanything.org" + +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://README;beginline=29;endline=30;md5=b08db4360eec119e875dddd7cb8a5ddd" + +SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Test-Harness-${PV}.tar.gz" +SRC_URI[md5sum] = "c1ff25da5dfdf77adea13dc3465638dd" +SRC_URI[sha256sum] = "ff1900f3b3e61321d3c4b3283298f3106d43d55446605e9cfcf1dcec036acec1" + +S = "${WORKDIR}/Test-Harness-${PV}" + +inherit cpan + +RPROVIDES_${PN} += "libapp-prove-perl \ + libapp-prove-state-perl \ + libapp-prove-state-result-perl \ + libapp-prove-state-result-test-perl \ + libtap-base-perl \ + libtap-formatter-base-perl \ + libtap-formatter-color-perl \ + libtap-formatter-console-perl \ + libtap-formatter-console-parallelsession-perl \ + libtap-formatter-console-session-perl \ + libtap-formatter-file-perl \ + libtap-formatter-file-session-perl \ + libtap-formatter-session-perl \ + libtap-harness-perl \ + libtap-harness-env-perl \ + libtap-object-perl \ + libtap-parser-perl \ + libtap-parser-aggregator-perl \ + libtap-parser-grammar-perl \ + libtap-parser-iterator-perl \ + libtap-parser-iterator-array-perl \ + libtap-parser-iterator-process-perl \ + libtap-parser-iterator-stream-perl \ + libtap-parser-iteratorfactory-perl \ + libtap-parser-multiplexer-perl \ + libtap-parser-result-perl \ + libtap-parsser-result-bailout-perl \ + libtap-parser-result-comment-perl \ + libtap-parser-result-plan-perl \ + libtap-parser-result-pragma-perl \ + libtap-parser-result-test-perl \ + libtap-parser-result-unknown-perl \ + libtap-parser-result-version-perl \ + libtap-parser-result-yaml-perl \ + libtap-parser-resultfactory-perl \ + libtap-parser-scheduler-perl \ + libtap-parser-scheduler-job-perl \ + libtap-parser-scheduler-spinner-perl \ + libtap-parser-source-perl \ + libtap-parser-sourcehandler-perl \ + libtap-parser-sourcehandler-executable-perl \ + libtap-parser-sourcehandler-file-perl \ + libtap-parser-sourcehandler-handle-perl \ + libtap-parser-sourcehandler-perl-perl \ + libtap-parser-sourcehandler-rawtap-perl \ + libtap-parser-yamlish-reader-perl \ + libtap-parser-yamlish-writer-perl \ + " + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libtext/libtext-diff-perl_1.41.bb b/meta-perl/recipes-perl/libtext/libtext-diff-perl_1.41.bb new file mode 100644 index 0000000000..a4c246e34e --- /dev/null +++ b/meta-perl/recipes-perl/libtext/libtext-diff-perl_1.41.bb @@ -0,0 +1,27 @@ +SUMMARY = "Text::Diff - Perform diffs on files and record sets" +DESCRIPTION = "diff() provides a basic set of services akin to the GNU diff \ +utility. It is not anywhere near as feature complete as GNU diff, but it is \ +better integrated with Perl and available on all platforms. It is often \ +faster than shelling out to a system's diff executable for small files, \ +and generally slower on larger files." +SECTION = "libs" + +HOMEPAGE = "http://search.cpan.org/~ovid/Text-Diff/" + +LICENSE = "Artistic-1.0 | GPL-2.0+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=385c55653886acac3821999a3ccd17b3" + +SRC_URI = "${CPAN_MIRROR}/authors/id/O/OV/OVID/Text-Diff-${PV}.tar.gz" +SRC_URI[md5sum] = "30d56e6dd5551ca16b8e16cc7299dc21" +SRC_URI[sha256sum] = "a67f50a48e313c1680cc662109ce5f913ea71454db355d0cf4db87ac89d2d2fa" + +S = "${WORKDIR}/Text-Diff-${PV}" + +inherit cpan + +RDEPENDS_${PN} = " libalgorithm-diff-perl \ + perl-module-extutils-makemaker \ + perl-module-exporter \ +" + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libtext/libtext-iconv-perl_1.7.bb b/meta-perl/recipes-perl/libtext/libtext-iconv-perl_1.7.bb new file mode 100644 index 0000000000..934be0399f --- /dev/null +++ b/meta-perl/recipes-perl/libtext/libtext-iconv-perl_1.7.bb @@ -0,0 +1,24 @@ +SUMMARY = "Perl interface to iconv() codeset conversion function" +DESCRIPTION = "\ +The Text::Iconv module provides a Perl interface to the iconv() \ +function as defined by the Single UNIX Specification. The convert() \ +method converts the encoding of characters in the input string from \ +the fromcode codeset to the tocode codeset, and returns the result. \ +Settings of fromcode and tocode and their permitted combinations are \ +implementation-dependent. Valid values are specified in the system \ +documentation." +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPL-1.0+" +LIC_FILES_CHKSUM = "file://README;beginline=3;endline=6;md5=fadf2919c7128e887d26b4d905f90649" +RRECOMMENDS_${PN} += "glibc-gconvs" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MP/MPIOTR/Text-Iconv-${PV}.tar.gz" + +SRC_URI[md5sum] = "81b26e069eaebb084e91ea3c009b67ae" +SRC_URI[sha256sum] = "5b80b7d5e709d34393bcba88971864a17b44a5bf0f9e4bcee383d029e7d2d5c3" + +S = "${WORKDIR}/Text-Iconv-${PV}" + +inherit cpan + +FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/Text/Iconv/.debug/" diff --git a/meta-perl/recipes-perl/libxml/libxml-filter-buffertext-perl_1.01.bb b/meta-perl/recipes-perl/libxml/libxml-filter-buffertext-perl_1.01.bb new file mode 100644 index 0000000000..77dd616bfc --- /dev/null +++ b/meta-perl/recipes-perl/libxml/libxml-filter-buffertext-perl_1.01.bb @@ -0,0 +1,25 @@ +SUMMARY = "XML::Filter::BufferText - Filter to put all characters() in one event" +DESCRIPTION = "\ +The XML::Filter::BufferText module is a very simple filter. One common \ +cause of grief (and programmer error) is that XML parsers aren't required \ +to provide character events in one chunk. They can, but are not forced \ +to, and most don't. This filter does the trivial but oft-repeated task \ +of putting all characters into a single event. \ +" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPLv1+" +HOMEPAGE = "http://search.cpan.org/dist/XML-Filter-BufferText/" +DEPENDS += "libxml-sax-perl-native" +RDEPENDS_${PN} += "libxml-sax-perl" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/R/RB/RBERJON/XML-Filter-BufferText-${PV}.tar.gz" +SRC_URI[md5sum] = "2992c0387632583b966ab9c965b25512" +SRC_URI[sha256sum] = "8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c" + +LIC_FILES_CHKSUM = "file://BufferText.pm;beginline=88;endline=90;md5=497aa6d79cc84c3d769a2a0016bee928" + +S = "${WORKDIR}/XML-Filter-BufferText-${PV}" + +inherit cpan + +BBCLASSEXTEND = "native" diff --git a/meta-perl/recipes-perl/libxml/libxml-libxml-perl/disable-libxml2-check.patch b/meta-perl/recipes-perl/libxml/libxml-libxml-perl/disable-libxml2-check.patch new file mode 100644 index 0000000000..a8e7cc1bbc --- /dev/null +++ b/meta-perl/recipes-perl/libxml/libxml-libxml-perl/disable-libxml2-check.patch @@ -0,0 +1,79 @@ +Do not use the _libxml_check_lib() on cross-compile + +Upstream-Status: Inappropriate [configuration] + +xml2 have been added into package's DEPENDS, so not need to use the +_libxml_check_lib() to check it again, and _libxml_check_lib() always +return false on cross-compile environment + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + Makefile.PL | 52 ++++++++++++++++++++++++++-------------------------- + 1 file changed, 26 insertions(+), 26 deletions(-) + +diff --git a/Makefile.PL b/Makefile.PL +index c0485f1..09c676b 100644 +--- a/Makefile.PL ++++ b/Makefile.PL +@@ -411,32 +411,32 @@ sub _libxml_check_lib { + } + } + +-print "Checking for ability to link against xml2..."; +-if ( _libxml_check_lib('xml2') ) { +- print "yes\n"; +-} +-else { +- print "no\n"; +- print "Checking for ability to link against libxml2..."; +- if ( _libxml_check_lib('libxml2')) { +- print "yes\n"; +- } +- else { +- print STDERR <<"DEATH"; +-libxml2, zlib, and/or the Math library (-lm) have not been found. +-Try setting LIBS and INC values on the command line +-Or get libxml2 from +- http://xmlsoft.org/ +-If you install via RPMs, make sure you also install the -devel +-RPMs, as this is where the headers (.h files) are. +- +-Also, you may try to run perl Makefile.PL with the DEBUG=1 parameter +-to see the exact reason why the detection of libxml2 installation +-failed or why Makefile.PL was not able to compile a test program. +-DEATH +- exit 0; # 0 recommended by http://cpantest.grango.org (Notes for CPAN Authors) +- } +-} ++#print "Checking for ability to link against xml2..."; ++#if ( _libxml_check_lib('xml2') ) { ++# print "yes\n"; ++#} ++#else { ++# print "no\n"; ++# print "Checking for ability to link against libxml2..."; ++# if ( _libxml_check_lib('libxml2')) { ++# print "yes\n"; ++# } ++# else { ++# print STDERR <<"DEATH"; ++#libxml2, zlib, and/or the Math library (-lm) have not been found. ++#Try setting LIBS and INC values on the command line ++#Or get libxml2 from ++# http://xmlsoft.org/ ++#If you install via RPMs, make sure you also install the -devel ++#RPMs, as this is where the headers (.h files) are. ++# ++#Also, you may try to run perl Makefile.PL with the DEBUG=1 parameter ++#to see the exact reason why the detection of libxml2 installation ++#failed or why Makefile.PL was not able to compile a test program. ++#DEATH ++# exit 0; # 0 recommended by http://cpantest.grango.org (Notes for CPAN Authors) ++# } ++#} + + # -------------------------------------------------------------------------- # + # _NOW_ write the Makefile +-- +1.7.10.4 + diff --git a/meta-perl/recipes-perl/libxml/libxml-libxml-perl/fix-CATALOG-conditional-compile.patch b/meta-perl/recipes-perl/libxml/libxml-libxml-perl/fix-CATALOG-conditional-compile.patch new file mode 100644 index 0000000000..1dd9fb3757 --- /dev/null +++ b/meta-perl/recipes-perl/libxml/libxml-libxml-perl/fix-CATALOG-conditional-compile.patch @@ -0,0 +1,31 @@ +[PATCH] Fix a compile error + +Upstream-Status: Pending + +Fix a compile error by conditional using 'catal' since catal +is only defined when LIBXML_CATALOG_ENABLED is enabled. + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + LibXML.xs | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/LibXML.xs b/LibXML.xs +index 66da04b..45da681 100644 +--- a/LibXML.xs ++++ b/LibXML.xs +@@ -2777,9 +2777,11 @@ _default_catalog( self, catalog ) + xmlCatalogPtr catal = INT2PTR(xmlCatalogPtr,SvIV(SvRV(catalog))); + #endif + INIT: ++#ifdef LIBXML_CATALOG_ENABLED + if ( catal == NULL ) { + croak( "empty catalog\n" ); + } ++#endif + CODE: + warn( "this feature is not implemented" ); + RETVAL = 0; +-- +1.7.10.4 + diff --git a/meta-perl/recipes-perl/libxml/libxml-libxml-perl/using-DOCB-conditional.patch b/meta-perl/recipes-perl/libxml/libxml-libxml-perl/using-DOCB-conditional.patch new file mode 100644 index 0000000000..d255ec7533 --- /dev/null +++ b/meta-perl/recipes-perl/libxml/libxml-libxml-perl/using-DOCB-conditional.patch @@ -0,0 +1,91 @@ +[PATCH] Fix a compile error + +Upstream-Status: Pending + +by conditional using 'XML_DOCB_DOCUMENT_NODE' since it is only +defined when LIBXML_DOCB_ENABLED is enabled in xmlversion.h. + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + LibXML.xs | 9 +- + dom.c | 2 + + perl-libxml-mm.c | 4 + + 4 files changed, 678 insertions(+), 658 deletions(-) + +diff --git a/LibXML.xs b/LibXML.xs +index b299ba4..66da04b 100644 +--- a/LibXML.xs ++++ b/LibXML.xs +@@ -5026,7 +5026,9 @@ addChild( self, nNode ) + XSRETURN_UNDEF; + case XML_DOCUMENT_NODE : + case XML_HTML_DOCUMENT_NODE : ++#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE : ++#endif + croak("addChild: HIERARCHY_REQUEST_ERR\n"); + XSRETURN_UNDEF; + case XML_NOTATION_NODE : +@@ -5286,7 +5288,9 @@ _toStringC14N(self, comments=0, xpath=&PL_sv_undef, exclusive=0, inc_prefix_list + if ( nodepath == NULL + && self->type != XML_DOCUMENT_NODE + && self->type != XML_HTML_DOCUMENT_NODE ++#ifdef LIBXML_DOCB_ENABLED + && self->type != XML_DOCB_DOCUMENT_NODE ++#endif + ) { + if (comments) + nodepath = xmlStrdup( (const xmlChar *) "(. | .//node() | .//@* | .//namespace::*)" ); +@@ -5297,7 +5301,10 @@ _toStringC14N(self, comments=0, xpath=&PL_sv_undef, exclusive=0, inc_prefix_list + if ( nodepath != NULL ) { + if ( self->type == XML_DOCUMENT_NODE + || self->type == XML_HTML_DOCUMENT_NODE +- || self->type == XML_DOCB_DOCUMENT_NODE ) { ++#ifdef LIBXML_DOCB_ENABLED ++ || self->type == XML_DOCB_DOCUMENT_NODE ++#endif ++ ) { + refNode = xmlDocGetRootElement( self->doc ); + } + if (SvOK(xpath_context)) { +diff --git a/dom.c b/dom.c +index 87eb61d..cbd391b 100644 +--- a/dom.c ++++ b/dom.c +@@ -654,7 +654,9 @@ domName(xmlNodePtr node) { + + case XML_DOCUMENT_NODE : + case XML_HTML_DOCUMENT_NODE : ++#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE : ++#endif + name = (const xmlChar *) "#document"; + break; + +diff --git a/perl-libxml-mm.c b/perl-libxml-mm.c +index d162b06..7ac5436 100644 +--- a/perl-libxml-mm.c ++++ b/perl-libxml-mm.c +@@ -331,7 +331,9 @@ PmmNewNode(xmlNodePtr node) + switch ( node->type ) { + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: ++#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: ++#endif + proxy = (ProxyNodePtr)xmlMalloc(sizeof(struct _DocProxyNode)); + if (proxy != NULL) { + ((DocProxyNodePtr)proxy)->psvi_status = Pmm_NO_PSVI; +@@ -550,7 +552,9 @@ PmmNodeToSv( xmlNodePtr node, ProxyNodePtr owner ) + switch ( node->type ) { + case XML_DOCUMENT_NODE: + case XML_HTML_DOCUMENT_NODE: ++#ifdef LIBXML_DOCB_ENABLED + case XML_DOCB_DOCUMENT_NODE: ++#endif + if ( ((xmlDocPtr)node)->encoding != NULL ) { + SetPmmENCODING(dfProxy, (int)xmlParseCharEncoding( (const char*)((xmlDocPtr)node)->encoding )); + } +-- +1.7.10.4 + diff --git a/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0116.bb b/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0116.bb new file mode 100644 index 0000000000..2a6dbc280c --- /dev/null +++ b/meta-perl/recipes-perl/libxml/libxml-libxml-perl_2.0116.bb @@ -0,0 +1,47 @@ +SUMMARY = "Perl interface to the libxml2 library" +DESCRIPTION = "This module is an interface to libxml2, providing XML and HTML parsers \ +with DOM, SAX and XMLReader interfaces, a large subset of DOM Layer 3 \ +interface and a XML::XPath-like interface to XPath API of libxml2. \ +The module is split into several packages which are not described in this \ +section; unless stated otherwise, you only need to use XML::LibXML; in \ +your programs." + +HOMEPAGE = "http://search.cpan.org/dist/XML-LibXML-1.99/" +SECTION = "libs" +LICENSE = "Artistic-1.0|GPLv1+" +DEPENDS += "libxml2 \ + libxml-sax-perl-native \ + zlib \ +" +RDEPENDS_${PN} += "libxml2 \ + libxml-sax-perl \ + libxml-sax-base-perl \ + zlib \ +" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/S/SH/SHLOMIF/XML-LibXML-${PV}.tar.gz;name=libxml \ + file://disable-libxml2-check.patch \ + file://fix-CATALOG-conditional-compile.patch \ + file://using-DOCB-conditional.patch \ +" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=75e021e35a906347f46c9ff163653e2a \ + file://LICENSE;md5=97871bde150daeb5e61ad95137ff2446" +SRC_URI[libxml.md5sum] = "a53a743bf053a0cb4afb41513fb8a684" +SRC_URI[libxml.sha256sum] = "b154f2dad3033b30d22ac81b8985b69ad35450b0c552db394cd03bb36845812a" + +S = "${WORKDIR}/XML-LibXML-${PV}" + +inherit cpan + +EXTRA_CPANFLAGS = "INC=-I${STAGING_INCDIR}/libxml2 LIBS=-L${STAGING_LIBDIR}" + +BBCLASSEXTEND = "native" + +CFLAGS += " -D_GNU_SOURCE " +BUILD_CFLAGS += " -D_GNU_SOURCE " + +do_configure_prepend() { + rm -rf ${S}/.pc/* +} + +FILES_${PN}-dbg =+ "${libdir}/perl/vendor_perl/*/auto/XML/LibXML/.debug/" diff --git a/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.54.bb b/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.54.bb new file mode 100644 index 0000000000..914c20801e --- /dev/null +++ b/meta-perl/recipes-perl/libxml/libxml-sax-writer-perl_0.54.bb @@ -0,0 +1,25 @@ +SUMMARY = "XML::SAX::Writer - SAX2 Writer" +DESCRIPTION = "\ +XML::SAX::Writer helps to serialize SAX2 representations of XML documents to \ +strings, files, and other flat representations. It handles charset encodings, \ +XML escaping conventions, and so forth. It is still considered alpha, \ +although it has been put to limited use in settings such as XML::LibXML and \ +the AxKit XML Application Server. \ +" +SECTION = "libs" +LICENSE = "Artistic-1.0 | GPLv1+" +HOMEPAGE = "http://search.cpan.org/dist/XML-SAX-Writer/" +DEPENDS += "libxml-filter-buffertext-perl-native" +RDEPENDS_${PN} += "libxml-filter-buffertext-perl" + +SRC_URI = "http://search.cpan.org/CPAN/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-${PV}.tar.gz" +SRC_URI[md5sum] = "383139d76418a82b9800dc4f8b568891" +SRC_URI[sha256sum] = "a1b4d959aed8f8337523c4cef4b431e56e619c795dc6f99a868548952101cf3d" + +LIC_FILES_CHKSUM = "file://README;beginline=45;endline=46;md5=d41d8cd98f00b204e9800998ecf8427e" + +S = "${WORKDIR}/XML-SAX-Writer-${PV}" + +inherit cpan + +BBCLASSEXTEND = "native" diff --git a/meta-python/COPYING.MIT b/meta-python/COPYING.MIT new file mode 100644 index 0000000000..fb950dc69f --- /dev/null +++ b/meta-python/COPYING.MIT @@ -0,0 +1,17 @@ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/meta-python/README b/meta-python/README new file mode 100644 index 0000000000..f62ab8fe8e --- /dev/null +++ b/meta-python/README @@ -0,0 +1,53 @@ +meta-python +================================ + +Introduction +------------------------- + +This layer is intended to be the home of python modules for OpenEmbedded. +Modules in this layer need to be independent of openembedded-core and +meta-openembedded/meta-oe. Because of this, modules required by 'gateone' +and 'anki' are not included and remain in: + meta-openembedded/meta-oe/recipes-devtools/python. + +Dependencies +------------------------- + +The meta-python layer depends on: + + URI: git://git.openembedded.org/openembedded-core + layers: meta + branch: master + revision: HEAD + + URI: git://git.openembedded.org/meta-openembedded + layers: meta-oe + branch: master + revision: HEAD + +Please follow the recommended setup procedures of your OE distribution. +For Angstrom that is: + http://www.angstrom-distribution.org/building-angstrom, +other distros should have similar online resources. + +Contributing +------------------------- + +The meta-openembedded mailinglist +(openembedded-devel@lists.openembedded.org) is used for questions, +comments and patch review. It is subscriber only, so please register +before posting. + +Send pull requests to openembedded-devel@lists.openembedded.org with +'[meta-python]' in the subject. + +When sending single patches, please use something like: +'git send-email -M -1 --to=openembedded-devel@lists.openembedded.org --subject-prefix=meta-python][PATCH' + +Maintenance +------------------------- + +Maintainers: + Tim "moto-timo" Orling <TicoTimo@gmail.com> + Paul "bluelightning" Eggleton <paul.eggleton@linux.intel.com> + diff --git a/meta-python/conf/layer.conf b/meta-python/conf/layer.conf new file mode 100644 index 0000000000..55169e4fbb --- /dev/null +++ b/meta-python/conf/layer.conf @@ -0,0 +1,15 @@ +# We might have a conf and classes directory, append to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes directories, add to BBFILES +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-oe/recipes-devtools/python/pyrtm_0.2.bb b/meta-python/recipes-devtools/python/pyrtm_0.2.bb index ee7b6d0180..706515bc4a 100644 --- a/meta-oe/recipes-devtools/python/pyrtm_0.2.bb +++ b/meta-python/recipes-devtools/python/pyrtm_0.2.bb @@ -7,6 +7,6 @@ DEPENDS = "python-native" inherit distutils -SRC_URI = "http://pypi.python.org/packages/source/p/${PN}/${P}.tar.gz" +SRC_URI = "http://pypi.python.org/packages/source/p/${BPN}/${BP}.tar.gz" SRC_URI[md5sum] = "34423f39caf7df8a9db8e243be9cf1a0" SRC_URI[sha256sum] = "d9d46d096a38cb692b55f4ee9f364d54348298e9497b11c1ef057539b5de1567" diff --git a/meta-oe/recipes-devtools/python/python-autobahn_0.8.6.bb b/meta-python/recipes-devtools/python/python-autobahn_0.8.6.bb index ac775c4c33..ac775c4c33 100644 --- a/meta-oe/recipes-devtools/python/python-autobahn_0.8.6.bb +++ b/meta-python/recipes-devtools/python/python-autobahn_0.8.6.bb 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-oe/recipes-devtools/python/python-cheetah_2.4.4.bb b/meta-python/recipes-devtools/python/python-cheetah_2.4.4.bb index e015d0b023..e015d0b023 100644 --- a/meta-oe/recipes-devtools/python/python-cheetah_2.4.4.bb +++ b/meta-python/recipes-devtools/python/python-cheetah_2.4.4.bb diff --git a/meta-oe/recipes-devtools/python/python-cloudeebus_0.6.0.bb b/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb index 120a8a7927..120a8a7927 100644 --- a/meta-oe/recipes-devtools/python/python-cloudeebus_0.6.0.bb +++ b/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb 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-oe/recipes-devtools/python/python-cython_0.15.1.bb b/meta-python/recipes-devtools/python/python-cython_0.20.2.bb index 0bf057aa82..3966e0b96e 100644 --- a/meta-oe/recipes-devtools/python/python-cython_0.15.1.bb +++ b/meta-python/recipes-devtools/python/python-cython_0.20.2.bb @@ -6,14 +6,19 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa" SRCNAME = "Cython" BBCLASSEXTEND = "native" -PR = "r3" -SRC_URI = "http://www.cython.org/release/${SRCNAME}-${PV}.tar.gz \ - file://0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch \ -" +SRC_URI = "http://www.cython.org/release/${SRCNAME}-${PV}.tar.gz" S = "${WORKDIR}/${SRCNAME}-${PV}" -SRC_URI[md5sum] = "171021b3845c9ca8bd6d8185b3cde664" -SRC_URI[sha256sum] = "248123f2f02f2701a28d9452132ac835533b396a273cda9d361cb65c26067edc" +SRC_URI[md5sum] = "7fc13e1c665bdf7cea19ad08906af91f" +SRC_URI[sha256sum] = "ed13b606a2aeb5bd6c235f8ed6c9988c99d01a033d0d21d56137c13d5c7be63f" + +inherit setuptools -inherit distutils +RDEPENDS_${PN} += "\ + python-distribute \ + python-netserver \ + python-subprocess \ + python-shell \ +" +RDEPENDS_${PN}_class-native = "" diff --git a/meta-oe/recipes-devtools/python/python-dateutil_1.5.bb b/meta-python/recipes-devtools/python/python-dateutil_1.5.bb index 784f560603..37f19a839a 100644 --- a/meta-oe/recipes-devtools/python/python-dateutil_1.5.bb +++ b/meta-python/recipes-devtools/python/python-dateutil_1.5.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://labix.org/python-dateutil" SECTION = "devel/python" LICENSE = "PSF" LIC_FILES_CHKSUM = "file://LICENSE;md5=d82268718c68bda0b091006ec6e583c6" -SRCNAME = "${PN}" +SRCNAME = "${BPN}" SRC_URI = "http://labix.org/download/python-dateutil/${SRCNAME}-${PV}.tar.gz" S = "${WORKDIR}/${SRCNAME}-${PV}" 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-decorator_3.4.0.bb b/meta-python/recipes-devtools/python/python-decorator_3.4.0.bb new file mode 100644 index 0000000000..43166304a2 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-decorator_3.4.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "Python decorator utilities" +HOMEPAGE = "http://pypi.python.org/pypi/decorator/" +DESCRIPTION = "\ +The aim of the decorator module it to simplify the usage of decorators \ +for the average programmer, and to popularize decorators by showing \ +various non-trivial examples. Of course, as all techniques, decorators \ +can be abused and you should not try to solve every problem with a \ +decorator, just because you can." + +SECTION = "devel/python" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://documentation3.py;beginline=848;endline=877;md5=0b56661417fb7b841afc8892e14ba241" + +SRCNAME = "decorator" + +SRC_URI = "https://pypi.python.org/packages/source/d/decorator/decorator-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +SRC_URI[md5sum] = "1e8756f719d746e2fc0dd28b41251356" +SRC_URI[sha256sum] = "c20b404cbb7ee5cebd506688e0114e3cd76f5ce233805a51f36e1a7988d9d783" diff --git a/meta-oe/recipes-devtools/python/python-epydoc_3.0.1.bb b/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb index 4ec0668575..4ec0668575 100644 --- a/meta-oe/recipes-devtools/python/python-epydoc_3.0.1.bb +++ b/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb diff --git a/meta-oe/recipes-devtools/python/python-feedparser_5.1.3.bb b/meta-python/recipes-devtools/python/python-feedparser_5.1.3.bb index 92d55682f5..92d55682f5 100644 --- a/meta-oe/recipes-devtools/python/python-feedparser_5.1.3.bb +++ b/meta-python/recipes-devtools/python/python-feedparser_5.1.3.bb 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-oe/recipes-devtools/python/python-gdata_1.2.4.bb b/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb index ea602779be..ea602779be 100644 --- a/meta-oe/recipes-devtools/python/python-gdata_1.2.4.bb +++ b/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb diff --git a/meta-oe/recipes-devtools/python/python-gevent_0.13.8.bb b/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb index 3fd3e7c536..3fd3e7c536 100644 --- a/meta-oe/recipes-devtools/python/python-gevent_0.13.8.bb +++ b/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb diff --git a/meta-oe/recipes-devtools/python/python-greenlet_0.4.1.bb b/meta-python/recipes-devtools/python/python-greenlet_0.4.1.bb index a6db8ab7b3..a6db8ab7b3 100644 --- a/meta-oe/recipes-devtools/python/python-greenlet_0.4.1.bb +++ b/meta-python/recipes-devtools/python/python-greenlet_0.4.1.bb diff --git a/meta-oe/recipes-devtools/python/python-ldap/setup.cfg.patch b/meta-python/recipes-devtools/python/python-ldap/setup.cfg.patch index a703d342e9..a703d342e9 100644 --- a/meta-oe/recipes-devtools/python/python-ldap/setup.cfg.patch +++ b/meta-python/recipes-devtools/python/python-ldap/setup.cfg.patch diff --git a/meta-oe/recipes-devtools/python/python-ldap_2.3.9.bb b/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb index dfe1522fdc..bc4993bdb9 100644 --- a/meta-oe/recipes-devtools/python/python-ldap_2.3.9.bb +++ b/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555" HOMEPAGE = "http://www.python-ldap.org/" DEPENDS = "python openldap" -SRC_URI = "http://pypi.python.org/packages/source/p/${PN}/${PN}-${PV}.tar.gz \ +SRC_URI = "http://pypi.python.org/packages/source/p/${BPN}/${BP}.tar.gz \ file://setup.cfg.patch" SRC_URI[md5sum] = "a9f9f16338288d118a1ae6266c993247" SRC_URI[sha256sum] = "62f75b21c5ee744408c9d8b59878328b3bdf47899d30e8abf0c09b3ffb893ed4" 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-oe/recipes-devtools/python/python-lxml_3.0.2.bb b/meta-python/recipes-devtools/python/python-lxml_3.2.5.bb index 5ab7b4a793..1fa2889958 100644 --- a/meta-oe/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}" diff --git a/meta-oe/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch b/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch index bcbdf24bb5..bcbdf24bb5 100644 --- a/meta-oe/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch +++ b/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch diff --git a/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb b/meta-python/recipes-devtools/python/python-m2crypto_0.21.1.bb index 21c02696dd..67ec9214ad 100644 --- a/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb +++ b/meta-python/recipes-devtools/python/python-m2crypto_0.21.1.bb @@ -1,7 +1,7 @@ SUMMARY = "A Python crypto and SSL toolkit" HOMEPAGE = "http://chandlerproject.org/bin/view/Projects/MeTooCrypto" -DEPENDS = "openssl swig-native" +DEPENDS = "openssl swig-native python" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e" @@ -20,4 +20,25 @@ SWIG_FEATURES_x86-64 = "-D__x86_64__" SWIG_FEATURES ?= "" export SWIG_FEATURES +# Get around a problem with swig, but only if the +# multilib header file exists. +# +do_compile_prepend() { + if [ "${SITEINFO_BITS}" = "64" ];then + bit="64" + else + bit="32" + fi + + if [ -e ${STAGING_INCDIR}/openssl/opensslconf-${bit}.h ] ;then + for i in SWIG/_ec.i SWIG/_evp.i; do + sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "$i" + done + elif [ -e ${STAGING_INCDIR}/openssl/opensslconf-n${bit}.h ] ;then + for i in SWIG/_ec.i SWIG/_evp.i; do + sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "$i" + done + fi +} + BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/python/python-matplotlib/fix_setup.patch b/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch index 9381583537..9381583537 100644 --- a/meta-oe/recipes-devtools/python/python-matplotlib/fix_setup.patch +++ b/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch diff --git a/meta-oe/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-oe/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-oe/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-oe/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-oe/recipes-devtools/python/python-numeric/no-lapack.patch b/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch index c1916b8b9f..c1916b8b9f 100644 --- a/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch +++ b/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch diff --git a/meta-oe/recipes-devtools/python/python-numeric_24.2.bb b/meta-python/recipes-devtools/python/python-numeric_24.2.bb index c0b04e1441..c0b04e1441 100644 --- a/meta-oe/recipes-devtools/python/python-numeric_24.2.bb +++ b/meta-python/recipes-devtools/python/python-numeric_24.2.bb 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-oe/recipes-devtools/python/python-pexpect_2.3.bb b/meta-python/recipes-devtools/python/python-pexpect_2.3.bb index d4c2ba477d..d4c2ba477d 100644 --- a/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb +++ b/meta-python/recipes-devtools/python/python-pexpect_2.3.bb diff --git a/meta-oe/recipes-devtools/python/python-pip_1.3.1.bb b/meta-python/recipes-devtools/python/python-pip_1.3.1.bb index d1a7c8b3ae..d1a7c8b3ae 100644 --- a/meta-oe/recipes-devtools/python/python-pip_1.3.1.bb +++ b/meta-python/recipes-devtools/python/python-pip_1.3.1.bb 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-oe/recipes-devtools/python/python-psutil_0.6.1.bb b/meta-python/recipes-devtools/python/python-psutil_0.6.1.bb index ff113d0f24..ff113d0f24 100644 --- a/meta-oe/recipes-devtools/python/python-psutil_0.6.1.bb +++ b/meta-python/recipes-devtools/python/python-psutil_0.6.1.bb diff --git a/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb b/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb index 0e660adff6..0e660adff6 100644 --- a/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb +++ b/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb 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-oe/recipes-devtools/python/python-pyserial_2.4.bb b/meta-python/recipes-devtools/python/python-pyserial_2.4.bb index 2263b2ccc0..2263b2ccc0 100644 --- a/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb +++ b/meta-python/recipes-devtools/python/python-pyserial_2.4.bb 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-oe/recipes-devtools/python/python-pyudev_0.16.1.bb b/meta-python/recipes-devtools/python/python-pyudev_0.16.1.bb index 964b5f92b5..964b5f92b5 100644 --- a/meta-oe/recipes-devtools/python/python-pyudev_0.16.1.bb +++ b/meta-python/recipes-devtools/python/python-pyudev_0.16.1.bb diff --git a/meta-oe/recipes-devtools/python/python-pyusb_1.0.0a2.bb b/meta-python/recipes-devtools/python/python-pyusb_1.0.0a2.bb index 360f213221..360f213221 100644 --- a/meta-oe/recipes-devtools/python/python-pyusb_1.0.0a2.bb +++ b/meta-python/recipes-devtools/python/python-pyusb_1.0.0a2.bb diff --git a/meta-oe/recipes-devtools/python/python-pyyaml/setup.py b/meta-python/recipes-devtools/python/python-pyyaml/setup.py index fb64983419..fb64983419 100644 --- a/meta-oe/recipes-devtools/python/python-pyyaml/setup.py +++ b/meta-python/recipes-devtools/python/python-pyyaml/setup.py diff --git a/meta-oe/recipes-devtools/python/python-pyyaml_3.10.bb b/meta-python/recipes-devtools/python/python-pyyaml_3.10.bb index 100e1c81ac..100e1c81ac 100644 --- a/meta-oe/recipes-devtools/python/python-pyyaml_3.10.bb +++ b/meta-python/recipes-devtools/python/python-pyyaml_3.10.bb diff --git a/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb b/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb new file mode 100644 index 0000000000..2714f43221 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "Convenience functions for dbus services in Python 2.x" +HOMEPAGE = "http://nphilipp.fedorapeople.org/python-slip/" +DESCRIPTION = "\ +The Simple Library for Python 2.x packages contain miscellaneous code for \ +convenience, extension and workaround purposes. \ +\ +This package provides slip.dbus.service.Object, which is a dbus.service.Object \ +derivative that ends itself after a certain time without being used and/or if \ +there are no clients anymore on the message bus, as well as convenience \ +functions and decorators for integrating a dbus service with PolicyKit." + +SECTION = "devel/python" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018" +SRCNAME = "python-slip" + +SRC_URI = "https://fedorahosted.org/released/${SRCNAME}/${SRCNAME}-${PV}.tar.bz2" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +SRC_URI[md5sum] = "fb3299d75af1a67ca6679d96ce839da6" +SRC_URI[sha256sum] = "f47361ec52b608309b83c71905e692b6b363eaf3b8a7afdeff866cd94463ad5c" + +do_compile_prepend() { + sed -e 's/@VERSION@/${PV}/g' setup.py.in > setup.py +} diff --git a/meta-oe/recipes-devtools/python/python-smbus_3.0.3.bb b/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb index 14548a9635..df47df6248 100644 --- a/meta-oe/recipes-devtools/python/python-smbus_3.0.3.bb +++ b/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb @@ -4,8 +4,8 @@ LIC_FILES_CHKSUM = "file://smbusmodule.c;startline=1;endline=17;md5=fa24df321a52 SRC_URI = "http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-${PV}.tar.bz2 \ " -SRC_URI[md5sum] = "511376eed04455cdb277ef19c5f73bb4" -SRC_URI[sha256sum] = "23b28e474741834e3f1b35b0686528769a13adc92d2ff5603cbda1d6bd5e5629" +SRC_URI[md5sum] = "0fdbff53ebd0b8d9249256d6c56480b1" +SRC_URI[sha256sum] = "14d4d7d60d1c12e43f2befe239c682a5c44c27682f153d4b58c1e392d2db1700" DEPENDS = "i2c-tools" diff --git a/meta-python/recipes-devtools/python/python-snakefood_1.4.bb b/meta-python/recipes-devtools/python/python-snakefood_1.4.bb new file mode 100644 index 0000000000..1af33d44d4 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-snakefood_1.4.bb @@ -0,0 +1,56 @@ +SUMMARY = "Dependency graphing for Python" +DESCRIPTION = " Generate dependency graphs from Python code. This \ +dependency tracker package has a few distinguishing characteristics \ +\ + * It uses the AST to parse the Python files. This is very reliable, \ + it always runs.\ + * No module is loaded. Loading modules to figure out dependencies is \ + almost always problem, because a lot of codebases run initialization \ + code in the global namespace, which often requires additional setup. \ + Snakefood is guaranteed not to have this problem (it just runs, no \ + matter what).\ + * It works on a set of files, i.e. you do not have to specify a single \ + script, you can select a directory (package or else) or a set of files.\ + It finds all the Python files recursively automatically.\ + * Automatic/no configuration: your PYTHONPATH is automatically adjusted \ + to include the required package roots. It figures out the paths that \ + are required from the files/directories given as input. You should not \ + have to setup ANYTHING.\ + * It does not have to automatically 'follow' dependencies between modules,\ + i.e. by default it only considers the files and directories you specify \ + on the command-line and their immediate dependencies. It also has an \ + option to automatically include only the dependencies within the \ + packages of the files you specify.\ + * It follows the UNIX philosophy of small programs that do one thing well:\ + it consists of a few simple programs whose outputs you combine via \ + pipes. Graphing dependencies always requires the user to filter and \ + cluster the filenames, so this is appropriate. You can combine it with \ + your favourite tools, grep, sed, etc.\ +\ +A problem with dependency trackers that run code is that they are unreliable, \ +due to the dynamic nature of Python (the presence of imports within function \ +calls and __import__ hooks makes it almost impossible to always do the right \ +thing). This script aims at being right 99% of the time, and we think that \ +given the trade-offs, 99% is good enough for 99% of the uses.\ +" +AUTHOR = "Martin Blais <blais@furius.ca>" +HOMEPAGE = "http://furius.ca/snakefood" +SECTION = "devel/python" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +SRCNAME = "snakefood" + +SRC_URI = "https://pypi.python.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +SRC_URI[md5sum] = "56c88667a33d8909b0aabf2ab6903bdf" +SRC_URI[sha256sum] = "295784668032254e7391ca99ba7060edd3ae4eca1a330ac11627b18ab5923b77" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} = " python-logging python-compiler python-shell" +# the above modules do not have a -native counterpart +RDEPENDS_${PN}_class-native = "" + +BBCLASSEXTEND = "native" + diff --git a/meta-oe/recipes-devtools/python/python-sqlalchemy_0.7.9.bb b/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb index 43b4b7efa2..43b4b7efa2 100644 --- a/meta-oe/recipes-devtools/python/python-sqlalchemy_0.7.9.bb +++ b/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb 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-oe/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-oe/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-oe/recipes-devtools/python/python-vobject_0.8.1c.bb b/meta-python/recipes-devtools/python/python-vobject_0.8.1c.bb index a28c02f7e7..a28c02f7e7 100644 --- a/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb +++ b/meta-python/recipes-devtools/python/python-vobject_0.8.1c.bb diff --git a/meta-oe/recipes-devtools/python/python-webdav_0.1.2.bb b/meta-python/recipes-devtools/python/python-webdav_0.1.2.bb index 7a6437dc53..7a6437dc53 100644 --- a/meta-oe/recipes-devtools/python/python-webdav_0.1.2.bb +++ b/meta-python/recipes-devtools/python/python-webdav_0.1.2.bb diff --git a/meta-oe/recipes-devtools/python/python-zopeinterface_4.1.1.bb b/meta-python/recipes-devtools/python/python-zopeinterface_4.1.1.bb index 4151f585b8..4151f585b8 100644 --- a/meta-oe/recipes-devtools/python/python-zopeinterface_4.1.1.bb +++ b/meta-python/recipes-devtools/python/python-zopeinterface_4.1.1.bb diff --git a/meta-python/recipes-extended/python-pyparted/python-pyparted_3.9.bb b/meta-python/recipes-extended/python-pyparted/python-pyparted_3.9.bb new file mode 100644 index 0000000000..bfb4f6f87b --- /dev/null +++ b/meta-python/recipes-extended/python-pyparted/python-pyparted_3.9.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "pyparted is a set of Python modules that provide Python programmers \ +an interface to libparted, the GNU parted library for disk partitioning and \ +filesystem manipulation." +SUMMARY = "Python bindings for libparted" +HOMEPAGE = "https://fedorahosted.org/pyparted/" +LICENSE = "GPL-2.0+" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ + file://src/_pedmodule.c;startline=10;endline=22;md5=70c62bd73782a03f56a0571a9f08ea46 \ +" +DEPENDS += "parted" + +SRC_URI = "https://fedorahosted.org/releases/p/y/pyparted/pyparted-${PV}.tar.gz" +SRC_URI[md5sum] = "f16c7ef7f5fa4a43fcb2a4654b487e39" +SRC_URI[sha256sum] = "a56712e3d058ce3d859c158236dbbf45224018919efd3d880ea80f9e0d0bebbb" +S = "${WORKDIR}/pyparted-${PV}" + +inherit distutils + +RDEPENDS_${PN} += "python-stringold python-codecs python-math" +RDEPENDS_${PN}_class-native = "" + +BBCLASSEXTEND += "native" diff --git a/meta-ruby/classes/ruby.bbclass b/meta-ruby/classes/ruby.bbclass new file mode 100644 index 0000000000..9c4fcf9c3c --- /dev/null +++ b/meta-ruby/classes/ruby.bbclass @@ -0,0 +1,125 @@ +BPV ?= "${PV}" + +DEPENDS += " \ + ruby-native \ +" +RDEPENDS_${PN} += " \ + ruby \ +" + +def get_rubyversion(p): + import re + from os.path import isfile + import subprocess + found_version = "SOMETHING FAILED!" + + cmd = "%s/ruby" % p + + if not isfile(cmd): + return found_version + + version = subprocess.Popen([cmd, "--version"], stdout=subprocess.PIPE).communicate()[0] + + r = re.compile("ruby ([0-9]+\.[0-9]+\.[0-9]+)*") + m = r.match(version) + if m: + found_version = m.group(1) + + return found_version + +def get_rubygemslocation(p): + import re + from os.path import isfile + import subprocess + found_loc = "SOMETHING FAILED!" + + cmd = "%s/gem" % p + + if not isfile(cmd): + return found_loc + + loc = subprocess.Popen([cmd, "env"], stdout=subprocess.PIPE).communicate()[0] + + r = re.compile(".*\- (/usr.*/ruby/gems/.*)") + for line in loc.split('\n'): + m = r.match(line) + if m: + found_loc = m.group(1) + break + + return found_loc + +def get_rubygemsversion(p): + import re + from os.path import isfile + import subprocess + found_version = "SOMETHING FAILED!" + + cmd = "%s/gem" % p + + if not isfile(cmd): + return found_version + + version = subprocess.Popen([cmd, "env", "gemdir"], stdout=subprocess.PIPE).communicate()[0] + + r = re.compile(".*([0-9]+\.[0-9]+\.[0-9]+)$") + m = r.match(version) + if m: + found_version = m.group(1) + + return found_version + +RUBY_VERSION ?= "${@get_rubyversion("${STAGING_BINDIR_NATIVE}")}" +RUBY_GEM_DIRECTORY ?= "${@get_rubygemslocation("${STAGING_BINDIR_NATIVE}")}" +RUBY_GEM_VERSION ?= "${@get_rubygemsversion("${STAGING_BINDIR_NATIVE}")}" + +export GEM_HOME = "${STAGING_DIR_NATIVE}/usr/lib/ruby/gems/${RUBY_GEM_VERSION}" + +RUBY_BUILD_GEMS ?= "${BPN}.gemspec" +RUBY_INSTALL_GEMS ?= "${BPN}-${BPV}.gem" + +RUBY_COMPILE_FLAGS ?= 'LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8"' + +ruby_do_compile() { + for gem in ${RUBY_BUILD_GEMS}; do + ${RUBY_COMPILE_FLAGS} gem build $gem + done +} + + +ruby_do_install() { + for gem in ${RUBY_INSTALL_GEMS}; do + gem install --ignore-dependencies --local --env-shebang --install-dir ${D}/${libdir}/ruby/gems/${RUBY_GEM_VERSION}/ $gem + done + + # create symlink from the gems bin directory to /usr/bin + for i in ${D}/${libdir}/ruby/gems/${RUBY_GEM_VERSION}/bin/*; do + if [ -e "$i" ]; then + if [ ! -d ${D}/${bindir} ]; then mkdir -p ${D}/${bindir}; fi + b=`basename $i` + ln -sf ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/bin/$b ${D}/${bindir}/$b + fi + done +} + +EXPORT_FUNCTIONS do_compile do_install + +PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev" + +FILES_${PN}-dbg += " \ + ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems/*/*/.debug \ + ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems/*/*/*/.debug \ + ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems/*/*/*/*/.debug \ + ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems/*/*/*/*/*/.debug \ + " + +FILES_${PN} += " \ + ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/gems \ + ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/cache \ + ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/bin \ + ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/specifications \ + " + +FILES_${PN}-doc += " \ + ${libdir}/ruby/gems/${RUBY_GEM_VERSION}/doc \ + " 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/bundler_git.bb b/meta-ruby/recipes-devtools/ruby/bundler_git.bb new file mode 100644 index 0000000000..2adde4d215 --- /dev/null +++ b/meta-ruby/recipes-devtools/ruby/bundler_git.bb @@ -0,0 +1,29 @@ +SUMMARY = "Makes sure Ruby applications run the same code on every machine." +DESCRIPTION = "Bundler makes sure Ruby applications run the same code \ +on every machine. It does this by managing the gems that the \ +application depends on. Given a list of gems, it can automatically \ +download and install those gems, as well as any other gems needed by \ +the gems that are listed. Before installing gems, it checks the \ +versions of every gem to make sure that they are compatible, and can \ +all be loaded at the same time. After the gems have been installed, \ +Bundler can help you update some or all of them when new versions \ +become available. Finally, it records the exact versions that have \ +been installed, so that others can install the exact same gems." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=196bb963e601609817d7e9ac9a64a867" + +PR = "r0" + +PV = "1.6.2" +SRCREV = "06e3647c117da210ffd15a174624497830addd7b" + +S = "${WORKDIR}/git" + +SRC_URI = " \ + git://github.com/bundler/bundler.git \ + " + +inherit ruby + +BBCLASSEXTEND = "native" diff --git a/meta-ruby/recipes-devtools/ruby/ruby.inc b/meta-ruby/recipes-devtools/ruby/ruby.inc index e679f27a21..770286960d 100644 --- a/meta-ruby/recipes-devtools/ruby/ruby.inc +++ b/meta-ruby/recipes-devtools/ruby/ruby.inc @@ -15,12 +15,12 @@ LIC_FILES_CHKSUM = "\ " DEPENDS = "ruby-native zlib openssl tcl libyaml db gdbm readline" -DEPENDS_class-native = "" +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/remove-the-dependency-on-dir.patch b/meta-ruby/recipes-devtools/ruby/ruby/remove-the-dependency-on-dir.patch new file mode 100644 index 0000000000..a4ac3eaccb --- /dev/null +++ b/meta-ruby/recipes-devtools/ruby/ruby/remove-the-dependency-on-dir.patch @@ -0,0 +1,37 @@ +remove a duplicate dependency + +Upstream-status: Pending + +The install-rb-default dependency is as below: + +pre-install-rb-default: + mkdir -p $(RUBYLIBDIR)/bigdecimal + +install-rb-default: pre-install-rb-default $(RUBYLIBDIR)/bigdecimal + +In fact, dependency on $(RUBYLIBDIR)/bigdecimal is duplicate, and not rule +for $(RUBYLIBDIR)/bigdecimal, once $(RUBYLIBDIR)/bigdecimal is checked before +pre-install-rb-default, the below error will happen + *** No rule to make target `../../.ext/common/yaml', needed by `install-rb-default'. Stop + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + lib/mkmf.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/mkmf.rb b/lib/mkmf.rb +index 1f5ed76..556684c 100644 +--- a/lib/mkmf.rb ++++ b/lib/mkmf.rb +@@ -2054,7 +2054,7 @@ static: $(STATIC_LIB)#{$extout ? " install-rb" : ""} + end + for f in files + dest = "#{dir}/#{File.basename(f)}" +- mfile.print("install-rb#{sfx}: #{dest} #{dir}\n") ++ mfile.print("install-rb#{sfx}: #{dest}\n") + mfile.print("#{dest}: #{f}\n") + mfile.print("\t$(Q) $(#{$extout ? 'COPY' : 'INSTALL_DATA'}) #{f} $(@D#{sep})\n") + if defined?($installed_list) and !$extout +-- +1.7.10.4 + diff --git a/meta-ruby/recipes-devtools/ruby/ruby/ruby-1.9.3-fix-s390x-build.patch b/meta-ruby/recipes-devtools/ruby/ruby/ruby-1.9.3-fix-s390x-build.patch deleted file mode 100644 index d0ade91a44..0000000000 --- a/meta-ruby/recipes-devtools/ruby/ruby/ruby-1.9.3-fix-s390x-build.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up ruby-1.9.3-p0/ext/tk/extconf.rb.orig ruby-1.9.3-p0/ext/tk/extconf.rb ---- ruby-1.9.3-p0/ext/tk/extconf.rb.orig 2011-06-29 16:11:19.000000000 +0200 -+++ ruby-1.9.3-p0/ext/tk/extconf.rb 2011-10-18 16:15:59.406299659 +0200 -@@ -114,7 +114,7 @@ def is_macosx? - end - - def maybe_64bit? -- /64|universal/ =~ RUBY_PLATFORM -+ /64|universal|s390x/ =~ RUBY_PLATFORM - end - - def check_tcltk_version(version) diff --git a/meta-ruby/recipes-devtools/ruby/ruby/ruby-mkmf.rb-fix-race-conditions-at-install-ext.patch b/meta-ruby/recipes-devtools/ruby/ruby/ruby-mkmf.rb-fix-race-conditions-at-install-ext.patch new file mode 100644 index 0000000000..5ac5d54a3f --- /dev/null +++ b/meta-ruby/recipes-devtools/ruby/ruby/ruby-mkmf.rb-fix-race-conditions-at-install-ext.patch @@ -0,0 +1,31 @@ +Subject: [PATCH] mkmf.rb: fix race conditions at install-ext + +Upstream-Status: backport + +* lib/mkmf.rb (create_makefile): fix race conditions at install-ext. + target files need to depend on destination directory timestamp + files, not phony trgets. + +git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + lib/mkmf.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/mkmf.rb b/lib/mkmf.rb +index 556684c..a277354 100644 +--- a/lib/mkmf.rb ++++ b/lib/mkmf.rb +@@ -2055,7 +2055,7 @@ static: $(STATIC_LIB)#{$extout ? " install-rb" : ""} + for f in files + dest = "#{dir}/#{File.basename(f)}" + mfile.print("install-rb#{sfx}: #{dest}\n") +- mfile.print("#{dest}: #{f}\n") ++ mfile.print("#{dest}: #{f} #{timestamp_file(dir)}\n") + mfile.print("\t$(Q) $(#{$extout ? 'COPY' : 'INSTALL_DATA'}) #{f} $(@D#{sep})\n") + if defined?($installed_list) and !$extout + mfile.print("\t@echo #{dest}>>$(INSTALLED_LIST)\n") +-- +2.0.0 + diff --git a/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p429.bb b/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb index 48a65a948b..834cb7187f 100644 --- a/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p429.bb +++ b/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb @@ -5,21 +5,25 @@ SRC_URI += "\ file://0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch \ file://ruby-1.9.3-always-use-i386.patch \ file://ruby-1.9.3-disable-versioned-paths.patch \ - file://ruby-1.9.3-fix-s390x-build.patch \ file://ruby-1.9.3-rubygems-1.8.11-uninstaller.patch \ file://ruby-1.9.3-custom-rubygems-location.patch \ file://rubygems-1.8.11-binary-extensions.patch \ file://ruby-1.9.3-mkmf-verbose.patch \ file://ruby-1.9.3-install-cross.patch \ + file://remove-the-dependency-on-dir.patch \ + file://ruby-mkmf.rb-fix-race-conditions-at-install-ext.patch \ " -SRC_URI[md5sum] = "993c72f7f805a9eb453f90b0b7fe0d2b" -SRC_URI[sha256sum] = "d192d1afc46a7ef27b9d0a3c7a67b509048984db2c38907aa82641bdf980acf4" +SRC_URI[md5sum] = "7531f9b1b35b16f3eb3d7bea786babfd" +SRC_URI[sha256sum] = "9ba118e4aba04c430bc4d5efb09b31a0277e101c9fd2ef3b80b9c684d7ae57a1" # it's unknown to configure script, but then passed to extconf.rb # maybe it's not really needed as we're hardcoding the result with # 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 \ @@ -33,11 +37,7 @@ EXTRA_OEMAKE = " \ " do_install() { - if [ ${PN} = "ruby" ]; then - oe_runmake 'DESTDIR=${D}' install install-cross - else - oe_runmake 'DESTDIR=${D}' install - fi + oe_runmake 'DESTDIR=${D}' install } FILES_${PN} += "${datadir}/rubygems \ diff --git a/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps/keymaps.service b/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps/keymaps.service deleted file mode 100644 index 414ad0cf00..0000000000 --- a/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps/keymaps.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Loads custom keymap if available -ConditionPathExists=/etc/keymap-2.6.map - -[Service] -ExecStart=/usr/bin/loadkeys /etc/keymap-2.6.map - -[Install] -WantedBy=multi-user.target diff --git a/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps_1.0.bbappend b/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps_1.0.bbappend index bc40c6022b..181b8784dd 100644 --- a/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps_1.0.bbappend +++ b/meta-systemd/oe-core/recipes-bsp/keymaps/keymaps_1.0.bbappend @@ -1,15 +1,4 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI += " file://keymaps.service" - -inherit systemd RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "${PN}.service" - -do_install_append() { - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/${PN}.service ${D}${systemd_unitdir}/system -} diff --git a/meta-systemd/oe-core/recipes-connectivity/avahi/avahi_0.6.31.bbappend b/meta-systemd/oe-core/recipes-connectivity/avahi/avahi_0.6.31.bbappend index 5b6e559cc8..181b8784dd 100644 --- a/meta-systemd/oe-core/recipes-connectivity/avahi/avahi_0.6.31.bbappend +++ b/meta-systemd/oe-core/recipes-connectivity/avahi/avahi_0.6.31.bbappend @@ -1,9 +1,4 @@ -inherit systemd - RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "avahi-daemon.service" -SYSTEMD_AUTO_ENABLE = "enable" -FILES_${PN} += "${systemd_unitdir}/system/" diff --git a/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcpd.service b/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcpd.service deleted file mode 100644 index 70beee92e6..0000000000 --- a/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcpd.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Dynamic Host Configuration Protocol (DHCP) -After=syslog.target network.target - -[Service] -Type=forking -PIDFile=/var/run/dhcpd.pid -EnvironmentFile=-/etc/default/dhcp-server -ExecStart=/usr/sbin/dhcpd -cf /etc/dhcp/dhcpd.conf -q $INTERFACES - -[Install] -WantedBy=multi-user.target diff --git a/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcrelay.service b/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcrelay.service deleted file mode 100644 index f68f468eef..0000000000 --- a/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp/dhcrelay.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=DHCP Relay Agent Daemon -After=syslog.target network.target - -[Service] -EnvironmentFile=/etc/default/dhcp-relay -ExecStart=/usr/sbin/dhcrelay -d $DHCRELAYARGS - -[Install] -WantedBy=multi-user.target diff --git a/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend b/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend index 1dd6d58eb6..6c0fd02641 100644 --- a/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend +++ b/meta-systemd/oe-core/recipes-connectivity/dhcp/dhcp_%.bbappend @@ -1,16 +1,10 @@ # look for files in the layer first FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -inherit systemd - -SYSTEMD_PACKAGES = "dhcp-server dhcp-relay dhcp-client" -SYSTEMD_SERVICE_dhcp-server = "dhcpd.service" -SYSTEMD_SERVICE_dhcp-relay = "dhcrelay.service" +SYSTEMD_PACKAGES += "dhcp-client" SYSTEMD_SERVICE_dhcp-client = "dhclient.service" SYSTEMD_AUTO_ENABLE_dhcp-client = "disable" -FILES_dhcp-server += "${systemd_unitdir}/system/dhcpd.service" -FILES_dhcp-relay += "${systemd_unitdir}/system/dhrelay.service" FILES_dhcp-client += "${systemd_unitdir}/system/dhclient.service" RPROVIDES_dhcp-server += "dhcp-server-systemd" RREPLACES_dhcp-server += "dhcp-server-systemd" @@ -22,14 +16,9 @@ RPROVIDES_dhcp-client += "dhcp-client-systemd" RREPLACES_dhcp-client += "dhcp-client-systemd" RCONFLICTS_dhcp-client += "dhcp-client-systemd" -SRC_URI += "file://dhcpd.service \ - file://dhclient.service \ - file://dhcrelay.service \ -" +SRC_URI += "file://dhclient.service" + do_install_append() { - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/dhcpd.service ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/dhclient.service ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/dhcrelay.service ${D}${systemd_unitdir}/system } diff --git a/meta-systemd/oe-core/recipes-connectivity/portmap/portmap/portmap.service b/meta-systemd/oe-core/recipes-connectivity/portmap/portmap/portmap.service deleted file mode 100644 index cffb56c1d0..0000000000 --- a/meta-systemd/oe-core/recipes-connectivity/portmap/portmap/portmap.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Portmap - -[Service] -Type=oneshot -ExecStart=/sbin/portmap -l -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target diff --git a/meta-systemd/oe-core/recipes-connectivity/portmap/portmap_6.0.bbappend b/meta-systemd/oe-core/recipes-connectivity/portmap/portmap_6.0.bbappend index 765f4b3285..6ce6e70d98 100644 --- a/meta-systemd/oe-core/recipes-connectivity/portmap/portmap_6.0.bbappend +++ b/meta-systemd/oe-core/recipes-connectivity/portmap/portmap_6.0.bbappend @@ -1,16 +1,5 @@ -FILESEXTRAPATHS := "${THISDIR}/${PN}" - -inherit systemd - RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "portmap.service" SYSTEMD_AUTO_ENABLE = "disable" -SRC_URI_append = " file://portmap.service" -do_install_append() { - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/portmap.service ${D}${systemd_unitdir}/system -} - diff --git a/meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-klogd.service.in b/meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-klogd.service.in deleted file mode 100644 index d7c77558f3..0000000000 --- a/meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-klogd.service.in +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Kernel Logging Service - -[Service] -ExecStart=@base_sbindir@/klogd -n - -[Install] -WantedBy=multi-user.target diff --git a/meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-syslog.service.in b/meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-syslog.service.in deleted file mode 100644 index 2e04321385..0000000000 --- a/meta-systemd/oe-core/recipes-core/busybox/busybox/busybox-syslog.service.in +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=System Logging Service -Wants=busybox-klogd.service - -[Service] -EnvironmentFile=-/etc/default/busybox-syslog -ExecStart=@base_sbindir@/syslogd -n $OPTIONS -Sockets=syslog.socket - -[Install] -WantedBy=multi-user.target -Also=busybox-klogd.service -Alias=syslog.service diff --git a/meta-systemd/oe-core/recipes-core/busybox/busybox_%.bbappend b/meta-systemd/oe-core/recipes-core/busybox/busybox_%.bbappend index 6362bdba65..642d450a51 100644 --- a/meta-systemd/oe-core/recipes-core/busybox/busybox_%.bbappend +++ b/meta-systemd/oe-core/recipes-core/busybox/busybox_%.bbappend @@ -1,25 +1,3 @@ -inherit systemd - -# look for files in the layer first -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI += "file://busybox-syslog.service.in \ - file://busybox-klogd.service.in" - -SYSTEMD_PACKAGES = "${PN}-syslog" -SYSTEMD_SERVICE_${PN}-syslog = "busybox-syslog.service" - -do_install_append() { - install -d ${D}${systemd_unitdir}/system - sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \ - > ${D}${systemd_unitdir}/system/busybox-syslog.service - sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \ - > ${D}${systemd_unitdir}/system/busybox-klogd.service - - ln -sf /dev/null ${D}${systemd_unitdir}/system/syslog.service -} -FILES_${PN}-syslog += "${systemd_unitdir}/system/syslog.service" - RPROVIDES_${PN}-syslog += "${PN}-syslog-systemd" RREPLACES_${PN}-syslog += "${PN}-syslog-systemd" RCONFLICTS_${PN}-syslog += "${PN}-syslog-systemd" diff --git a/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear.socket b/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear.socket deleted file mode 100644 index e5c61b755e..0000000000 --- a/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear.socket +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Conflicts=dropbear.service - -[Socket] -ListenStream=22 -Accept=yes - -[Install] -WantedBy=sockets.target -Also=dropbearkey.service diff --git a/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear@.service b/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear@.service deleted file mode 100644 index 59ed07b6d0..0000000000 --- a/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbear@.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=SSH Per-Connection Server -Requires=dropbearkey.service -After=syslog.target dropbearkey.service - -[Service] -EnvironmentFile=-/etc/default/dropbear -ExecStart=-/usr/sbin/dropbear -i -r /etc/dropbear/dropbear_rsa_host_key -p 22 $DROPBEAR_EXTRA_ARGS -ExecReload=/bin/kill -HUP $MAINPID -StandardInput=socket -KillMode=process diff --git a/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbearkey.service b/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbearkey.service deleted file mode 100644 index 7f03000ebc..0000000000 --- a/meta-systemd/oe-core/recipes-core/dropbear/dropbear/dropbearkey.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=SSH Key Generation -ConditionPathExists=|!/etc/dropbear/dropbear_rsa_host_key - -[Service] -ExecStart=/usr/sbin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target diff --git a/meta-systemd/oe-core/recipes-core/dropbear/dropbear_%.bbappend b/meta-systemd/oe-core/recipes-core/dropbear/dropbear_%.bbappend index fc18ea8e32..181b8784dd 100644 --- a/meta-systemd/oe-core/recipes-core/dropbear/dropbear_%.bbappend +++ b/meta-systemd/oe-core/recipes-core/dropbear/dropbear_%.bbappend @@ -1,21 +1,4 @@ -inherit systemd - -# look for files in the layer first -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -SRC_URI += "file://dropbearkey.service \ - file://dropbear@.service \ - file://dropbear.socket" - RPROVIDES_${PN} += "${PN}-systemd" RREPLACES_${PN} += "${PN}-systemd" RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "dropbear.socket" -do_install_append() { - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/dropbearkey.service ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/dropbear@.service ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/dropbear.socket ${D}${systemd_unitdir}/system - ln -sf /dev/null ${D}${systemd_unitdir}/system/dropbear.service -} 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 new file mode 100644 index 0000000000..181b8784dd --- /dev/null +++ b/meta-systemd/oe-core/recipes-extended/at/at_%.bbappend @@ -0,0 +1,4 @@ +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" + diff --git a/meta-systemd/oe-core/recipes-extended/at/at_3.1.14.bbappend b/meta-systemd/oe-core/recipes-extended/at/at_3.1.14.bbappend deleted file mode 100644 index 3a22fe3bda..0000000000 --- a/meta-systemd/oe-core/recipes-extended/at/at_3.1.14.bbappend +++ /dev/null @@ -1,16 +0,0 @@ -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/crond.service b/meta-systemd/oe-core/recipes-extended/cronie/cronie/crond.service deleted file mode 100644 index 5ae193bfcc..0000000000 --- a/meta-systemd/oe-core/recipes-extended/cronie/cronie/crond.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Periodic Command Scheduler - -[Service] -ExecStart=/usr/sbin/crond -n -ExecReload=/bin/kill -HUP $MAINPID -Restart=always - -[Install] -WantedBy=multi-user.target diff --git a/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend b/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend new file mode 100644 index 0000000000..f006b3fb5b --- /dev/null +++ b/meta-systemd/oe-core/recipes-extended/cronie/cronie_%.bbappend @@ -0,0 +1,3 @@ +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" diff --git a/meta-systemd/oe-core/recipes-extended/cronie/cronie_1.4.11.bbappend b/meta-systemd/oe-core/recipes-extended/cronie/cronie_1.4.11.bbappend deleted file mode 100644 index 8f45f3ee52..0000000000 --- a/meta-systemd/oe-core/recipes-extended/cronie/cronie_1.4.11.bbappend +++ /dev/null @@ -1,17 +0,0 @@ -# look for files in the layer first -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" - -inherit systemd - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "crond.service" - -SRC_URI += "file://crond.service" - -do_install_append() { - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_unitdir}/system -} - diff --git a/meta-systemd/oe-core/recipes-extended/pam/libpam_1.1.6.bbappend b/meta-systemd/oe-core/recipes-extended/pam/libpam_1.1.6.bbappend deleted file mode 100644 index db55082093..0000000000 --- a/meta-systemd/oe-core/recipes-extended/pam/libpam_1.1.6.bbappend +++ /dev/null @@ -1,4 +0,0 @@ -# Register with logind to make screen/tmux/etc work -do_install_append() { - echo "session required pam_systemd.so" >> ${D}${sysconfdir}/pam.d/common-session -} 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-native_2.4.9.bb b/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.10.bb index aaa7e607d6..5963b79435 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.9.bb +++ b/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.10.bb @@ -6,21 +6,22 @@ DEPENDS = "expat-native pcre-native apr-native apr-util-native" SECTION = "net" LICENSE = "Apache-2.0" -inherit native +inherit autotools pkgconfig native -SRC_URI = "http://www.apache.org/dist/httpd/httpd-${PV}.tar.bz2" +SRC_URI = "http://www.apache.org/dist/httpd/httpd-${PV}.tar.bz2 \ + file://0001-configure-use-pkg-config-for-PCRE-detection.patch \ + " S = "${WORKDIR}/httpd-${PV}" LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83" -SRC_URI[md5sum] = "2ef4e65353497606b24fa9bb3e5a3c40" -SRC_URI[sha256sum] = "f78cc90dfa47caf3d83ad18fd6b4e85f237777c1733fc9088594b70ce2847603" +SRC_URI[md5sum] = "44543dff14a4ebc1e9e2d86780507156" +SRC_URI[sha256sum] = "176c4dac1a745f07b7b91e7f4fd48f9c48049fa6f088efe758d61d9738669c6a" -do_configure () { - ./configure --with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \ - --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \ - --prefix=${prefix} --datadir=${datadir}/apache2 -} +EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \ + --with-apr-util=${STAGING_BINDIR_CROSS}/apu-1-config \ + --prefix=${prefix} --datadir=${datadir}/apache2 \ + " do_install () { install -d ${D}${bindir} ${D}${libdir} @@ -28,13 +29,15 @@ do_install () { install -m 755 support/apxs ${D}${bindir}/ install -m 755 httpd ${D}${bindir}/ install -d ${D}${datadir}/apache2/build + cp ${S}/build/*.mk ${D}${datadir}/apache2/build cp build/*.mk ${D}${datadir}/apache2/build - cp build/instdso.sh ${D}${datadir}/apache2/build + cp ${S}/build/instdso.sh ${D}${datadir}/apache2/build install -d ${D}${includedir}/apache2 + cp ${S}/include/* ${D}${includedir}/apache2 cp include/* ${D}${includedir}/apache2 - cp os/unix/os.h ${D}${includedir}/apache2 - cp os/unix/unixd.h ${D}${includedir}/apache2 + cp ${S}/os/unix/os.h ${D}${includedir}/apache2 + cp ${S}/os/unix/unixd.h ${D}${includedir}/apache2 cp support/envvars-std ${D}${bindir}/envvars chmod 755 ${D}${bindir}/envvars 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/apache-configure_perlbin.patch b/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch index baa739fd44..c90279d449 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch +++ b/meta-webserver/recipes-httpd/apache2/apache2/apache-configure_perlbin.patch @@ -4,23 +4,6 @@ # # Upstream-Status: Inappropriate [configuration] ---- a/configure -+++ b/configure -@@ -22365,13 +22365,7 @@ - #define APACHE_MPM_DIR "$MPM_DIR" - _ACEOF - -- --perlbin=`$ac_aux_dir/PrintPath perl` --if test "x$perlbin" = "x"; then -- perlbin="/replace/with/path/to/perl/interpreter" --fi -- -- -+perlbin='/usr/bin/perl' - - BSD_MAKEFILE=no - ap_make_include=include --- a/configure.in +++ b/configure.in @@ -638,10 +638,7 @@ diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.4.9.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.10.bb index 33e197ab8a..55d507f757 100644 --- a/meta-webserver/recipes-httpd/apache2/apache2_2.4.9.bb +++ b/meta-webserver/recipes-httpd/apache2/apache2_2.4.10.bb @@ -16,16 +16,24 @@ SRC_URI = "http://www.apache.org/dist/httpd/httpd-${PV}.tar.bz2 \ file://apache-ssl-ltmain-rpath.patch \ 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-volatile.conf \ + file://apache2.service \ + file://apache-CVE-2014-0117.patch \ + " LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83" -SRC_URI[md5sum] = "2ef4e65353497606b24fa9bb3e5a3c40" -SRC_URI[sha256sum] = "f78cc90dfa47caf3d83ad18fd6b4e85f237777c1733fc9088594b70ce2847603" +SRC_URI[md5sum] = "44543dff14a4ebc1e9e2d86780507156" +SRC_URI[sha256sum] = "176c4dac1a745f07b7b91e7f4fd48f9c48049fa6f088efe758d61d9738669c6a" S = "${WORKDIR}/httpd-${PV}" -inherit autotools update-rc.d +inherit autotools update-rc.d pkgconfig systemd + +SYSTEMD_SERVICE_${PN} = "apache2.service" +SYSTEMD_AUTO_ENABLE_${PN} = "disable" SSTATE_SCAN_FILES += "apxs config_vars.mk config.nice" @@ -51,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 | \ @@ -80,6 +91,11 @@ do_install_append() { install -d ${D}${sysconfdir}/tmpfiles.d/ install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/ fi + + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service } SYSROOT_PREPROCESS_FUNCS += "apache_sysroot_preprocess" @@ -102,7 +118,7 @@ INITSCRIPT_NAME = "apache2" INITSCRIPT_PARAMS = "defaults 91 20" LEAD_SONAME = "libapr-1.so.0" -PACKAGES = "${PN}-doc ${PN}-dev ${PN}-dbg ${PN}" +PACKAGES = "${PN}-scripts ${PN}-doc ${PN}-dev ${PN}-dbg ${PN}" CONFFILES_${PN} = "${sysconfdir}/${BPN}/httpd.conf \ ${sysconfdir}/${BPN}/magic \ @@ -119,11 +135,16 @@ FILES_${PN}-dev = "${datadir}/${BPN}/build \ ${libdir}/apr*.exp \ ${includedir}/${BPN} \ ${libdir}/*.la \ - ${libdir}/*.a" + ${libdir}/*.a \ + ${bindir}/apxs \ + " + # manual to manual FILES_${PN}-doc += " ${datadir}/${BPN}/manual" +FILES_${PN}-scripts += "${bindir}/dbmmanage" + # # override this too - here is the default, less datadir # @@ -140,3 +161,4 @@ FILES_${PN} += "${libdir}/lib*.so ${libdir}/pkgconfig/*" FILES_${PN}-dbg += "${libdir}/${BPN}/modules/.debug" RDEPENDS_${PN} += "openssl libgcc" +RDEPENDS_${PN}-scripts += "perl ${PN}" diff --git a/meta-webserver/recipes-httpd/apache2/files/0001-configure-use-pkg-config-for-PCRE-detection.patch b/meta-webserver/recipes-httpd/apache2/files/0001-configure-use-pkg-config-for-PCRE-detection.patch new file mode 100644 index 0000000000..63096db0a3 --- /dev/null +++ b/meta-webserver/recipes-httpd/apache2/files/0001-configure-use-pkg-config-for-PCRE-detection.patch @@ -0,0 +1,52 @@ +From d8837756f2a48adcfe5d645c39cf163d96eac76c Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen.kooi@linaro.org> +Date: Tue, 17 Jun 2014 09:10:57 +0200 +Subject: [PATCH] configure: use pkg-config for PCRE detection + +Signed-off-by: Koen Kooi <koen.kooi@linaro.org> +Upstream-Status: pending +--- + configure.in | 27 +++++---------------------- + 1 file changed, 5 insertions(+), 22 deletions(-) + +diff --git a/configure.in b/configure.in +index 864d7c7..da4138e 100644 +--- a/configure.in ++++ b/configure.in +@@ -215,28 +215,11 @@ fi + AC_ARG_WITH(pcre, + APACHE_HELP_STRING(--with-pcre=PATH,Use external PCRE library)) + +-AC_PATH_PROG(PCRE_CONFIG, pcre-config, false) +-if test -d "$with_pcre" && test -x "$with_pcre/bin/pcre-config"; then +- PCRE_CONFIG=$with_pcre/bin/pcre-config +-elif test -x "$with_pcre"; then +- PCRE_CONFIG=$with_pcre +-fi +- +-if test "$PCRE_CONFIG" != "false"; then +- if $PCRE_CONFIG --version >/dev/null 2>&1; then :; else +- AC_MSG_ERROR([Did not find pcre-config script at $PCRE_CONFIG]) +- fi +- case `$PCRE_CONFIG --version` in +- [[1-5].*]) +- AC_MSG_ERROR([Need at least pcre version 6.0]) +- ;; +- esac +- AC_MSG_NOTICE([Using external PCRE library from $PCRE_CONFIG]) +- APR_ADDTO(PCRE_INCLUDES, [`$PCRE_CONFIG --cflags`]) +- APR_ADDTO(PCRE_LIBS, [`$PCRE_CONFIG --libs`]) +-else +- AC_MSG_ERROR([pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/]) +-fi ++PKG_CHECK_MODULES([PCRE], [libpcre], [ ++ AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE library]) ++], [ ++ AC_MSG_ERROR([$PCRE_PKG_ERRORS]) ++]) + APACHE_SUBST(PCRE_LIBS) + + AC_MSG_NOTICE([]) +-- +1.9.3 + diff --git a/meta-webserver/recipes-httpd/apache2/files/apache2.service b/meta-webserver/recipes-httpd/apache2/files/apache2.service new file mode 100644 index 0000000000..9b5548c761 --- /dev/null +++ b/meta-webserver/recipes-httpd/apache2/files/apache2.service @@ -0,0 +1,14 @@ +[Unit] +Description=The Apache HTTP Server +After=network.target remote-fs.target nss-lookup.target + +[Service] +Type=simple +Environment=LANG=C +ExecStart=@SBINDIR@/httpd -DFOREGROUND -D SSL -D PHP5 -k start +ExecStop=@BASE_BINDIR@/kill -WINCH ${MAINPID} +KillSignal=SIGCONT +PrivateTmp=true + +[Install] +WantedBy=multi-user.target 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/hiawatha/hiawatha_9.2.bb b/meta-webserver/recipes-httpd/hiawatha/hiawatha_9.2.bb index 57005c5ef2..b9fa5cde87 100644 --- a/meta-webserver/recipes-httpd/hiawatha/hiawatha_9.2.bb +++ b/meta-webserver/recipes-httpd/hiawatha/hiawatha_9.2.bb @@ -6,7 +6,7 @@ DEPENDS = "libxml2 libxslt" SECTION = "net" -SRC_URI = "http://hiawatha-webserver.org/files/${PN}-${PV}.tar.gz \ +SRC_URI = "http://hiawatha-webserver.org/files/${BP}.tar.gz \ file://hiawatha-init \ file://hiawatha.service " diff --git a/meta-webserver/recipes-httpd/monkey/files/monkey.init b/meta-webserver/recipes-httpd/monkey/files/monkey.init new file mode 100644 index 0000000000..40b21182e1 --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/files/monkey.init @@ -0,0 +1,34 @@ +#!/bin/sh + +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/bin/monkey +NAME=monkey +DESC="Monkey HTTP Server" +OPTS="--daemon" + +case "$1" in + start) + echo -n "Starting $DESC: " + start-stop-daemon --start -x "$DAEMON" -- $OPTS + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop -x "$DAEMON" + echo "$NAME." + ;; + restart|force-reload) + echo -n "Restarting $DESC: " + start-stop-daemon --stop -x "$DAEMON" + sleep 1 + start-stop-daemon --start -x "$DAEMON" -- $OPTS + echo "$NAME." + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/meta-webserver/recipes-httpd/monkey/files/monkey.service b/meta-webserver/recipes-httpd/monkey/files/monkey.service new file mode 100644 index 0000000000..f9aa57f91e --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/files/monkey.service @@ -0,0 +1,12 @@ +[Unit] +Description=Monkey HTTP Server +After=network.target remote-fs.target + +[Service] +Type=forking +ExecStart=/usr/bin/monkey --daemon +PIDFile=/var/run/monkey.pid.2001 +TimeoutSec=10 + +[Install] +WantedBy=multi-user.target diff --git a/meta-webserver/recipes-httpd/monkey/monkey_1.5.4.bb b/meta-webserver/recipes-httpd/monkey/monkey_1.5.4.bb new file mode 100644 index 0000000000..a4963afcd3 --- /dev/null +++ b/meta-webserver/recipes-httpd/monkey/monkey_1.5.4.bb @@ -0,0 +1,64 @@ +SUMMARY = "Fast and Lightweight HTTP Server for Linux" +HOMEPAGE = "http://monkey-project.com" +BUGTRACKER = "https://github.com/monkey/monkey/issues" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" + +SECTION = "net" + +SRC_URI = "http://monkey-project.com/releases/1.5/monkey-${PV}.tar.gz \ + file://monkey.service \ + file://monkey.init" + +SRC_URI[md5sum] = "b794724ac38cfedee2a5d27c175bc87e" +SRC_URI[sha256sum] = "662bbafc614d32f645059e6e00258fed640665594f5b7f11cf4c4763cf09ddcf" + +EXTRA_OECONF = "--plugdir=${libdir}/monkey/ \ + --logdir=${localstatedir}/log/monkey/ \ + --pidfile=${localstatedir}/run/monkey.pid \ + --default-user=www-data \ + --datadir=${localstatedir}/www/monkey/ \ + --sysconfdir=${sysconfdir}/monkey/ \ + --enable-plugins=* \ + --disable-plugins=polarssl \ + --debug \ + --malloc-libc" + +inherit autotools-brokensep pkgconfig update-rc.d systemd + +INITSCRIPT_NAME = "monkey" +INITSCRIPT_PARAMS = "defaults 70" + +SYSTEMD_SERVICE_${PN} = "monkey.service" + +FILES_${PN} += "${localstatedir}/www/monkey/" + +CONFFILES_${PN} = "${sysconfdir}/monkey/monkey.conf \ + ${sysconfdir}/monkey/sites/default \ + ${sysconfdir}/monkey/monkey.mime \ + ${sysconfdir}/monkey/plugins.load \ + ${sysconfdir}/monkey/plugins/proxy_reverse/proxy_reverse.conf \ + ${sysconfdir}/monkey/plugins/mandril/mandril.conf \ + ${sysconfdir}/monkey/plugins/fastcgi/fastcgi.conf \ + ${sysconfdir}/monkey/plugins/logger/logger.conf \ + ${sysconfdir}/monkey/plugins/cgi/cgi.conf \ + ${sysconfdir}/monkey/plugins/cheetah/cheetah.conf \ + ${sysconfdir}/monkey/plugins/dirlisting/dirhtml.conf \ + ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/header.theme \ + ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/footer.theme \ + ${sysconfdir}/monkey/plugins/dirlisting/themes/guineo/entry.theme \ + ${sysconfdir}/monkey/plugins/auth/README \ + ${sysconfdir}/monkey/plugins/auth/monkey.users \ + " + +do_install_append() { + + mkdir -p ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/monkey.init ${D}${sysconfdir}/init.d/monkey + + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 644 ${WORKDIR}/monkey.service ${D}/${systemd_unitdir}/system + fi +} diff --git a/meta-webserver/recipes-httpd/sthttpd/sthttpd/init b/meta-webserver/recipes-httpd/sthttpd/sthttpd/init index 70f6797a75..f5f7b01243 100644 --- a/meta-webserver/recipes-httpd/sthttpd/sthttpd/init +++ b/meta-webserver/recipes-httpd/sthttpd/sthttpd/init @@ -18,7 +18,7 @@ test -x "$thttpd" || exit 0 case "$1" in start) echo -n "Starting thttpd" - start-stop-daemon --start --quiet --exec $thttpd -- -d @@SRVDIR + start-stop-daemon --start --quiet --exec $thttpd -- -C @@CONFFILE echo "." ;; stop) @@ -31,7 +31,7 @@ case "$1" in ;; restart) echo -n "Stopping thttpd" - start-stop-daemon --stop --quiet --exec $thttpd -- -d @@SRVDIR + start-stop-daemon --stop --quiet --exec $thttpd -- -C @@CONFFILE echo "." echo -n "Waiting for thttpd to die off" for i in 1 2 3 ; @@ -41,7 +41,7 @@ case "$1" in done echo "" echo -n "Starting thttpd" - start-stop-daemon --start --quiet --exec $thttpd -- -d @@SRVDIR + start-stop-daemon --start --quiet --exec $thttpd -- -C @@CONFFILE echo "." ;; *) diff --git a/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.conf b/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.conf new file mode 100644 index 0000000000..397984f368 --- /dev/null +++ b/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.conf @@ -0,0 +1 @@ +dir=@@SRVDIR diff --git a/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.service b/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.service index e2dae61fd0..f1095007c4 100644 --- a/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.service +++ b/meta-webserver/recipes-httpd/sthttpd/sthttpd/thttpd.service @@ -3,7 +3,7 @@ Description=Tiny/Turbo/Throttling Web Server [Service] Type=forking -ExecStart=/usr/sbin/thttpd -d @@SRVDIR -c cgi-bin/* -i /var/run/thttpd.pid +ExecStart=/usr/sbin/thttpd -C @@CONFFILE -c cgi-bin/* -i /var/run/thttpd.pid PIDFile=/var/run/thttpd.pid [Install] diff --git a/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.26.4.bb b/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.26.4.bb index 0abd13169e..703492167f 100644 --- a/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.26.4.bb +++ b/meta-webserver/recipes-httpd/sthttpd/sthttpd_2.26.4.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://src/thttpd.c;beginline=1;endline=26;md5=0c5762c2c34dc SRC_URI = "http://opensource.dyc.edu/pub/sthttpd/sthttpd-${PV}.tar.gz \ file://thttpd.service \ + file://thttpd.conf \ file://init" SRC_URI[md5sum] = "e645a85a97d3cb883011a35bc2211815" @@ -15,19 +16,23 @@ S = "${WORKDIR}/sthttpd-${PV}" inherit autotools update-rc.d systemd -EXTRA_OEMAKE += "'WEBDIR=${servicedir}/www'" +SRV_DIR ?= "${servicedir}/www" + +EXTRA_OEMAKE += "'WEBDIR=${SRV_DIR}'" do_install_append () { install -d ${D}${sysconfdir}/init.d install -c -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/thttpd - sed -i -e 's,@@SRVDIR,${servicedir}/www,g' ${D}${sysconfdir}/init.d/thttpd + install -c -m 755 ${WORKDIR}/thttpd.conf ${D}${sysconfdir} + sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${sysconfdir}/init.d/thttpd + sed -i -e 's,@@SRVDIR,${SRV_DIR},g' ${D}${sysconfdir}/thttpd.conf sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/thttpd install -d ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/thttpd.service ${D}${systemd_unitdir}/system sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_unitdir}/system/thttpd.service sed -i 's!/var/!${localstatedir}/!g' ${D}${systemd_unitdir}/system/thttpd.service - sed -i -e 's,@@SRVDIR,${servicedir}/www,g' ${D}${systemd_unitdir}/system/thttpd.service + sed -i -e 's,@@CONFFILE,${sysconfdir}/thttpd.conf,g' ${D}${systemd_unitdir}/system/thttpd.service } INITSCRIPT_NAME = "thttpd" @@ -35,6 +40,6 @@ INITSCRIPT_PARAMS = "defaults" SYSTEMD_SERVICE_${PN} = "thttpd.service" -FILES_${PN} += "${servicedir}" -FILES_${PN}-dbg += "${servicedir}/www/cgi-bin/.debug" +FILES_${PN} += "${SRV_DIR}" +FILES_${PN}-dbg += "${SRV_DIR}/cgi-bin/.debug" diff --git a/meta-webserver/recipes-php/modphp/modphp5.inc b/meta-webserver/recipes-php/modphp/modphp5.inc deleted file mode 100644 index a1d550de30..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=5bb09683f8f09b15b7076f4b4c31d61f" - -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.12.bb b/meta-webserver/recipes-php/modphp/modphp_5.5.12.bb deleted file mode 100644 index 3f4e8f2ff5..0000000000 --- a/meta-webserver/recipes-php/modphp/modphp_5.5.12.bb +++ /dev/null @@ -1,7 +0,0 @@ -include modphp5.inc - -EXTRA_OECONF += "--disable-opcache" - -SRC_URI[md5sum] = "943af92c2e67bba29429bdd9acf9cbd4" -SRC_URI[sha256sum] = "519ee29e28532782676f3d8e31a808ffbfee383e0279ccc8cbd2b12ed53c2335" - diff --git a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.0.bb b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.3.4.bb index 0298f6b9df..76068e2cf6 100644 --- a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.2.0.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] = "f787bcf5c98a1702d9c8c653e72eb689" -SRC_URI[sha256sum] = "fef460aa493f696b8536c273ef126bb142b88dd15c7ef584aca90d2ea07d3bbc" +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 @@ -29,3 +31,4 @@ do_install() { FILES_${PN} = "${datadir}/${BPN} \ ${sysconfdir}/apache2/conf.d" +RDEPENDS_${PN} += "bash" 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-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch b/meta-webserver/recipes-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch new file mode 100644 index 0000000000..51ddeaac22 --- /dev/null +++ b/meta-webserver/recipes-support/fcgi/fcgi/Fix_EOF_not_declared_issue.patch @@ -0,0 +1,17 @@ +Upstream-Status: Pending + +Fix EOF not declared issue, following is the error log. +fcgio.cpp:70:72: error: 'EOF' was not declared in this scope + if (FCGX_PutStr(pbase(), plen, this->fcgx) != plen) return EOF; + +Signed-off-by: Yang Haibo <b40869@freescale.com> +--- fcgi-ori/libfcgi/fcgio.cpp 2014-07-28 18:01:00.000000000 +0800 ++++ fcgi-2.4.0/libfcgi/fcgio.cpp 2014-07-28 18:01:22.000000000 +0800 +@@ -22,6 +22,7 @@ + #define DLLAPI __declspec(dllexport) + #endif + ++#include <stdio.h> + #include <limits.h> + #include "fcgio.h" + diff --git a/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch b/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch new file mode 100644 index 0000000000..eca694adc9 --- /dev/null +++ b/meta-webserver/recipes-support/fcgi/fcgi/add_foreign_to_AM_INIT_AUTOMAKE.patch @@ -0,0 +1,18 @@ +Upstream-Status: Pending + +use automake options "foreign" to set the strictness as appropriate + +Signed-off-by: Yang Haibo <b40869@freescale.com> +--- fcgi-ori/configure.in 2014-08-05 14:58:35.000000000 +0800 ++++ fcgi-2.4.0/configure.in 2014-08-05 14:59:08.000000000 +0800 +@@ -4,8 +4,8 @@ + dnl generate the file "configure", which is run during the build + dnl to configure the system for the local environment. + +-AC_INIT +-AM_INIT_AUTOMAKE(fcgi, 2.4.0) ++AC_INIT([fcgi], [2.4.0]) ++AM_INIT_AUTOMAKE([foreign]) + + AM_CONFIG_HEADER(fcgi_config.h) + diff --git a/meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb b/meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb new file mode 100644 index 0000000000..ed718aefd9 --- /dev/null +++ b/meta-webserver/recipes-support/fcgi/fcgi_2.4.0.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "FastCGI is a protocol for interfacing interactive programs with a web server." +HOMEPAGE = "http://www.fastcgi.com" +LICENSE = "OML" +LIC_FILES_CHKSUM = "file://LICENSE.TERMS;md5=e3aacac3a647af6e7e31f181cda0a06a" + +SRC_URI = "http://fossies.org/linux/www/${BP}.tar.gz \ + file://Fix_EOF_not_declared_issue.patch \ + file://add_foreign_to_AM_INIT_AUTOMAKE.patch \ +" +SRC_URI[md5sum] = "d15060a813b91383a9f3c66faf84867e" +SRC_URI[sha256sum] = "66fc45c6b36a21bf2fbbb68e90f780cc21a9da1fffbae75e76d2b4402d3f05b9" + +inherit autotools + +PARALLEL_MAKE = "" diff --git a/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch b/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch index 140ae7e450..177d8a372e 100644 --- a/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch +++ b/meta-webserver/recipes-webadmin/webmin/files/exports-lib.pl.patch @@ -24,7 +24,7 @@ index 22891c0..1c67494 100755 # Try exportfs -r first -if ($config{'apply_cmd'} && &find_byname("nfsd") && &find_byname("mountd")) { +if ($config{'apply_cmd'} && &find_byname("mountd")) { - local $out = &backquote_logged("$config{'apply_cmd'} 2>&1 </dev/null"); + my $out = &backquote_logged("$config{'apply_cmd'} 2>&1 </dev/null"); if (!$? && $out !~ /invalid|error|failed/i) { # Looks like it worked! -- diff --git a/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch b/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch index 135492d713..5563227d55 100644 --- a/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch +++ b/meta-webserver/recipes-webadmin/webmin/files/init-exclude.patch @@ -5,9 +5,17 @@ # Upstream-status: Pending # # Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> ---- webmin-1.570.orig/init/index.cgi -+++ webmin-1.570/init/index.cgi -@@ -48,19 +48,20 @@ elsif ($init_mode eq "init" && $access{' +# Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + init/index.cgi | 27 ++++++++++++++------------- + init/init-lib.pl | 5 +++-- + 2 files changed, 17 insertions(+), 15 deletions(-) + +diff --git a/init/index.cgi b/init/index.cgi +index d48b793..30dafd4 100755 +--- a/init/index.cgi ++++ b/init/index.cgi +@@ -45,19 +45,20 @@ elsif ($init_mode eq "init" && $access{'bootup'}) { : "$config{'init_dir'}/$ac[0]"); } @runlevels = &list_runlevels(); @@ -41,11 +49,11 @@ # For each action, look at /etc/rc*.d/* files to see if it is # started at boot -Index: webmin-1.570/init/init-lib.pl -=================================================================== ---- webmin-1.570.orig/init/init-lib.pl -+++ webmin-1.570/init/init-lib.pl -@@ -108,15 +108,17 @@ List boot time action names from init.d, +diff --git a/init/init-lib.pl b/init/init-lib.pl +index ead21ed..b41794b 100755 +--- a/init/init-lib.pl ++++ b/init/init-lib.pl +@@ -119,8 +119,9 @@ List boot time action names from init.d, such as httpd and cron. =cut sub list_actions { @@ -56,12 +64,15 @@ Index: webmin-1.570/init/init-lib.pl opendir(DIR, $dir); foreach $f (sort { lc($a) cmp lc($b) } readdir(DIR)) { if ($f eq "." || $f eq ".." || $f =~ /\.bak$/ || $f eq "functions" || - $f eq "core" || $f eq "README" || $f eq "rc" || $f eq "rcS" || +@@ -128,7 +129,7 @@ foreach $f (sort { lc($a) cmp lc($b) } readdir(DIR)) { -d "$dir/$f" || $f =~ /\.swp$/ || $f eq "skeleton" || $f =~ /\.lock$/ || $f =~ /\.dpkg-(old|dist)$/ || -- $f =~ /^\.depend\./ || $f eq '.legacy-bootordering') { next; } -+ $f =~ /^\.depend\./ || $f eq '.legacy-bootordering' || -+ grep {$_ eq $f} @exclude ) { next; } + $f =~ /^\.depend\./ || $f eq '.legacy-bootordering' || +- $f =~ /^mandrake/) { next; } ++ $f =~ /^mandrake/ || grep {$_ eq $f} @exclude ) { next; } if (@stbuf = stat("$dir/$f")) { push(@rv, "$f $stbuf[1]"); } +-- +2.0.0 + diff --git a/meta-webserver/recipes-webadmin/webmin/files/remove-python2.3.patch b/meta-webserver/recipes-webadmin/webmin/files/remove-python2.3.patch new file mode 100644 index 0000000000..75e5bd1eaf --- /dev/null +++ b/meta-webserver/recipes-webadmin/webmin/files/remove-python2.3.patch @@ -0,0 +1,25 @@ +From 6f04699d5d417122b67e8118fd1955c769f17e76 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Tue, 2 Sep 2014 00:11:05 -0700 +Subject: [PATCH] ajaxterm/ajaxterm/qweb.py: fix hardcode of python2.3 + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + ajaxterm/ajaxterm/qweb.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ajaxterm/ajaxterm/qweb.py b/ajaxterm/ajaxterm/qweb.py +index 20c5092..c658a6b 100644 +--- a/ajaxterm/ajaxterm/qweb.py ++++ b/ajaxterm/ajaxterm/qweb.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python2.3 ++#!/usr/bin/env python + # + # vim:set et ts=4 fdc=0 fdn=2 fdl=0: + # +-- +1.7.9.5 + diff --git a/meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb b/meta-webserver/recipes-webadmin/webmin/webmin_1.700.bb index 8822b92fb3..c6523c53d8 100644 --- a/meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb +++ b/meta-webserver/recipes-webadmin/webmin/webmin_1.700.bb @@ -15,12 +15,14 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/webadmin/webmin-${PV}.tar.gz \ file://samba-config-fix.patch \ file://proftpd-config-fix.patch \ file://net-lib.pl.patch \ - file://media-tomb.patch" + file://media-tomb.patch \ + file://remove-python2.3.patch \ + " -SRC_URI[md5sum] = "e93bc5057a5b7d7e31ecb2bb228d7044" -SRC_URI[sha256sum] = "3d36153406d8e5d3dcaeadba34dfb5cdbc4060b75c38339174ac97b2277f284b" +SRC_URI[md5sum] = "e5261114a6a6ed10caf570d3239ed5b7" +SRC_URI[sha256sum] = "1a6a8aa62c32c04932b902d17fc1864ee8f3fba03012bd25f709aa65e7e9b0f2" -inherit allarch perlnative update-rc.d +inherit perlnative update-rc.d do_configure() { # Remove binaries and plugins for other platforms @@ -36,12 +38,12 @@ do_configure() { rm -rf stunnel squid sarg pptp-client pptp-server jabber openslp sentry cluster-* vgetty burner heartbeat # Adjust configs - mv init/config-debian-linux init/config-generic-linux + [ -f init/config-debian-linux ] && mv init/config-debian-linux init/config-generic-linux sed -i "s/shutdown_command=.*/shutdown_command=poweroff/" init/config-generic-linux echo "exclude=bootmisc.sh,single,halt,reboot,hostname.sh,modutils.sh,mountall.sh,mountnfs.sh,networking,populate-volatile.sh,rmnologin.sh,save-rtc.sh,umountfs,umountnfs.sh,hwclock.sh,checkroot.sh,banner.sh,udev,udev-cache,devpts.sh,psplash.sh,sendsigs,fbsetup,bootlogd,stop-bootlogd,sysfs.sh,syslog,syslog.busybox,urandom,webmin,functions.initscripts,read-only-rootfs-hook.sh" >> init/config-generic-linux echo "excludefs=devpts,devtmpfs,usbdevfs,proc,tmpfs,sysfs,debugfs" >> mount/config-generic-linux - mv exports/config-debian-linux exports/config-generic-linux + [ -f exports/config-debian-linux ] && mv exports/config-debian-linux exports/config-generic-linux sed -i "s/killall -HUP rpc.nfsd && //" exports/config-generic-linux sed -i "s/netstd_nfs/nfsserver/g" exports/config-generic-linux @@ -65,6 +67,9 @@ do_configure() { sed -i "s/find_pid_command=.*/find_pid_command=pidof NAME/" config-generic-linux } +WEBMIN_LOGIN ?= "admin" +WEBMIN_PASSWORD ?= "password" + do_install() { install -d ${D}${sysconfdir} install -d ${D}${sysconfdir}/webmin @@ -77,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 @@ -92,8 +98,8 @@ do_install() { export real_os_type="${DISTRO_NAME}" export real_os_version="${DISTRO_VERSION}" export port=10000 - export login=admin - export password=password + export login=${WEBMIN_LOGIN} + export password=${WEBMIN_PASSWORD} export ssl=0 export atboot=1 export no_pam=1 @@ -108,16 +114,17 @@ INITSCRIPT_PARAMS = "start 99 5 3 2 . stop 10 0 1 6 ." RDEPENDS_${PN} += "perl perl-module-socket perl-module-exporter perl-module-exporter-heavy perl-module-carp perl-module-strict" RDEPENDS_${PN} += "perl-module-warnings perl-module-xsloader perl-module-posix perl-module-autoloader" RDEPENDS_${PN} += "perl-module-fcntl perl-module-tie-hash perl-module-vars perl-module-time-local perl-module-config perl-module-constant" -RDEPENDS_${PN} += "perl-module-file-glob perl-module-file-copy perl-module-sdbm perl-module-sdbm-file perl-module-timelocal perl-module-feature" +RDEPENDS_${PN} += "perl-module-file-glob perl-module-file-copy perl-module-sdbm perl-module-sdbm-file perl-module-feature" -PACKAGES_DYNAMIC += "webmin-module-*" +PACKAGES_DYNAMIC += "webmin-module-* webmin-theme-*" RRECOMMENDS_${PN} += "webmin-module-system-status" -RDEPENDS_webmin-module-proc = "procps" -RDEPENDS_webmin-module-raid = "mdadm" -RDEPENDS_webmin-module-exports = "perl-module-file-basename perl-module-file-path perl-module-cwd perl-module-file-spec perl-module-file-spec-unix" -RRECOMMENDS_webmin-module-fdisk = "parted" -RRECOMMENDS_webmin-module-lvm = "lvm2" +PACKAGES += "${PN}-module-proc ${PN}-module-raid ${PN}-module-exports ${PN}-module-fdisk ${PN}-module-lvm" +RDEPENDS_${PN}-module-proc = "procps" +RDEPENDS_${PN}-module-raid = "mdadm" +RDEPENDS_${PN}-module-exports = "perl-module-file-basename perl-module-file-path perl-module-cwd perl-module-file-spec perl-module-file-spec-unix" +RRECOMMENDS_${PN}-module-fdisk = "parted" +RRECOMMENDS_${PN}-module-lvm = "lvm2" python populate_packages_prepend() { import os, os.path @@ -125,12 +132,17 @@ python populate_packages_prepend() { wadir = bb.data.expand('${libexecdir}/webmin', d) wadir_image = bb.data.expand('${D}', d) + wadir modules = [] + themes = [] for mod in os.listdir(wadir_image): modinfo = os.path.join(wadir_image, mod, "module.info") + themeinfo = os.path.join(wadir_image, mod, "theme.info") if os.path.exists(modinfo): modules.append(mod) + elif os.path.exists(themeinfo): + themes.append(mod) do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', allow_dirs=True, prepend=True) + do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', allow_dirs=True, prepend=True) } # Time-savers 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/classes/xfce-git.bbclass b/meta-xfce/classes/xfce-git.bbclass index c4be554053..3fc18d275d 100644 --- a/meta-xfce/classes/xfce-git.bbclass +++ b/meta-xfce/classes/xfce-git.bbclass @@ -1,5 +1,7 @@ do_configure_prepend() { + cd ${S} NOCONFIGURE=yes ./autogen.sh + cd ${B} } AUTOTOOLS_COPYACLOCAL = "1" 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-notifyd/xfce4-notifyd_0.2.2.bb b/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.2.2.bb index 08af66dd6f..eb554ce0a9 100644 --- a/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.2.2.bb +++ b/meta-xfce/recipes-apps/xfce4-notifyd/xfce4-notifyd_0.2.2.bb @@ -7,6 +7,10 @@ DEPENDS = "libxfce4util libxfce4ui xfconf gtk+ dbus dbus-glib" inherit xfce-app +do_compile_prepend() { + mkdir -p xfce4-notifyd +} + FILES_${PN} += " \ ${libdir}/xfce4/notifyd \ ${datadir}/themes \ 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.1.bb index 4cda352a81..0e2e327f03 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.1.bb @@ -11,5 +11,9 @@ SRC_URI += "file://0001-Fix-panel-plugin-build.patch" SRC_URI[md5sum] = "d0ffea2052a8e70154cf13789070711f" SRC_URI[sha256sum] = "40419892bd28989315eed053c159bba0f4264ed8c6c6738806024e481eab9492" +do_compile_prepend() { + mkdir -p lib +} + FILES_${PN} += "${datadir}/xfce4/panel/plugins \ ${libdir}/xfce4/panel/plugins" diff --git a/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.0.1.bb b/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.0.1.bb new file mode 100644 index 0000000000..e59710823a --- /dev/null +++ b/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_1.0.1.bb @@ -0,0 +1,10 @@ +SUMMARY = "Easy to use task manager" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +inherit xfce-app + +DEPENDS = "gtk+ cairo libwnck xfce4-dev-tools-native exo-native" + +SRC_URI[md5sum] = "b8a707b25e32c1a296eb50d609aa49b8" +SRC_URI[sha256sum] = "f5aa2796dd9971f8ae400238bfcdd9fa1322dba1466d1e6fd5bf8ee7e88bee86" diff --git a/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_git.bb b/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_git.bb deleted file mode 100644 index 289cf55b78..0000000000 --- a/meta-xfce/recipes-apps/xfce4-taskmanager/xfce4-taskmanager_git.bb +++ /dev/null @@ -1,18 +0,0 @@ -SUMMARY = "Easy to use task manager" -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" - -inherit xfce-git xfce-app - -DEPENDS = "gtk+ cairo libwnck xfce4-dev-tools-native exo-native" - -SRC_URI = " \ - git://git.xfce.org/apps/xfce4-taskmanager;protocol=git \ - file://0001-do-not-build-documantation-Makefile-has-no-install-t.patch \ -" - -SRCREV = "e5d958738b6d2828a4c8353df67d3c1656c46af5" -S = "${WORKDIR}/git" -PV = "1.0.0+git${SRCPV}" - -EXTRA_OECONF += "--enable-maintainer-mode" 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-art/xfce4-icon-theme/xfce4-icon-theme_4.4.3.bb b/meta-xfce/recipes-art/xfce4-icon-theme/xfce4-icon-theme_4.4.3.bb index ac104e2fd1..1e4b06bfe4 100644 --- a/meta-xfce/recipes-art/xfce4-icon-theme/xfce4-icon-theme_4.4.3.bb +++ b/meta-xfce/recipes-art/xfce4-icon-theme/xfce4-icon-theme_4.4.3.bb @@ -7,7 +7,7 @@ DEPENDS = "intltool-native xfce4-dev-tools-native" inherit xfce -SRC_URI = "http://archive.xfce.org/src/art/${PN}/${@'${PV}'[0:3]}/${PN}-${PV}.tar.bz2" +SRC_URI = "http://archive.xfce.org/src/art/${BPN}/${@'${PV}'[0:3]}/${BP}.tar.bz2" SRC_URI[md5sum] = "73ce2977b84f634a6a6c5d9c27e336db" SRC_URI[sha256sum] = "d4786692d56b8a563f66a5f260f1f13ade11e86c78cbcb25a9f9a5fc47cf66fa" diff --git a/meta-xfce/recipes-art/xfwm4-themes/xfwm4-themes_4.10.0.bb b/meta-xfce/recipes-art/xfwm4-themes/xfwm4-themes_4.10.0.bb index fc1062fecf..7030f7a267 100644 --- a/meta-xfce/recipes-art/xfwm4-themes/xfwm4-themes_4.10.0.bb +++ b/meta-xfce/recipes-art/xfwm4-themes/xfwm4-themes_4.10.0.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" inherit xfce -SRC_URI = "http://archive.xfce.org/src/art/${PN}/${@'${PV}'[0:4]}/${PN}-${PV}.tar.bz2" +SRC_URI = "http://archive.xfce.org/src/art/${BPN}/${@'${PV}'[0:4]}/${BP}.tar.bz2" SRC_URI[md5sum] = "eaa58362053a3549c8be0b32efd3c54f" SRC_URI[sha256sum] = "3214d5f00e9703b5e8c9e7c3287d606dedec7285ceb4d5db332e93ada66fd575" 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/equake/xfce4-equake-plugin_1.3.3.bb b/meta-xfce/recipes-panel-plugins/equake/xfce4-equake-plugin_1.3.5.bb index 95d1d66c89..76cd5d4dfc 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.5.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] = "7c520e2f1cd0cc5e33d8346b12e31c02" +SRC_URI[sha256sum] = "43bbc781575c357c13ac6720eb8e8485115099411d5382668e106de58ab0e416" FILES_${PN} += "${libdir}/xfce4/panel-plugins/xfce4-equake-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/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/wavelan/xfce4-wavelan-plugin_0.5.11.bb b/meta-xfce/recipes-panel-plugins/wavelan/xfce4-wavelan-plugin_0.5.11.bb index 1883a0c7d5..487a5b854b 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 = "BenediktMeurer & FlorianRivoal" LIC_FILES_CHKSUM = "file://COPYING;md5=e1e5872df9c5cf1a23f16493d9104920" inherit xfce-panel-plugin diff --git a/meta-xfce/recipes-panel-plugins/weather/files/0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch b/meta-xfce/recipes-panel-plugins/weather/files/0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch new file mode 100644 index 0000000000..d4ad24054b --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/weather/files/0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch @@ -0,0 +1,162 @@ +From 1ff71669644a0b824a8a5ba9b40771ee4fb8a76b Mon Sep 17 00:00:00 2001 +From: Harald Judt <h.judt@gmx.at> +Date: Wed, 28 May 2014 20:08:02 +0200 +Subject: [PATCH 1/2] Make plugin ready for met.no locationforecast-1.2 API + (bug #10916). + +http://api.yr.no/weatherapi/locationforecastlts/1.1/documentation#version_1_2___2014_05_20 + +The updated API version uses CamelCase symbol names instead of UPPERCASE +ones and has added some new names (like 'Drizzle'), which unfortunately +have not been documented (yet?). + +What's more, the typo 'celcius' has been replaced by the fixed 'celsius', +but luckily the plugin will not be affected by that change. + +What's a bit more unfortunate is that the existing icon themes do not +cover the new symbol names, so one would have to create quite a lot of +new icons. Also, new translations would have to be added for the symbols, +and maybe existing ones would have to be altered. To prevent this, we're +simply going to map the new symbols to existing ones as good as possible. +This should be good enough for the time being. + +Upstream-Status: Applied +--- + panel-plugin/weather-parsers.c | 3 +- + panel-plugin/weather-translate.c | 70 +++++++++++++++++++++++++++++++++++++++- + panel-plugin/weather-translate.h | 2 ++ + 3 files changed, 73 insertions(+), 2 deletions(-) + +diff --git a/panel-plugin/weather-parsers.c b/panel-plugin/weather-parsers.c +index 0f321ba..5a9b30a 100644 +--- a/panel-plugin/weather-parsers.c ++++ b/panel-plugin/weather-parsers.c +@@ -28,6 +28,7 @@ + #define _XOPEN_SOURCE + #define _XOPEN_SOURCE_EXTENDED 1 + #include "weather-parsers.h" ++#include "weather-translate.h" + #include "weather-debug.h" + + #include <time.h> +@@ -220,8 +221,8 @@ parse_location(xmlNode *cur_node, + } + if (NODE_IS_TYPE(child_node, "symbol")) { + g_free(loc->symbol); +- loc->symbol = PROP(child_node, "id"); + loc->symbol_id = strtol(PROP(child_node, "number"), NULL, 10); ++ loc->symbol = g_strdup(get_symbol_for_id(loc->symbol_id)); + } + } + +diff --git a/panel-plugin/weather-translate.c b/panel-plugin/weather-translate.c +index 0c1606d..c38919a 100644 +--- a/panel-plugin/weather-translate.c ++++ b/panel-plugin/weather-translate.c +@@ -29,6 +29,7 @@ + #include "weather-translate.h" + + #define DAY_LOC_N (sizeof(gchar) * 100) ++#define NODATA "NODATA" + + + static const gchar *moon_phases[] = { +@@ -117,7 +118,7 @@ static const symbol_desc symbol_to_desc[] = { + + { 15, "FOG", N_("Fog"), N_("Fog") }, + +- /* Symbols 16-19 are used for polar days */ ++ /* Symbols 16-19 are used for polar days (unused beginning with API version 1.2) */ + { 16, "SUN", N_("Sunny"), N_("Clear") }, + { 17, "LIGHTCLOUD", N_("Lightly cloudy"), N_("Lightly cloudy") }, + { 18, "LIGHTRAINSUN", N_("Rain showers"), N_("Rain showers") }, +@@ -133,6 +134,73 @@ static const symbol_desc symbol_to_desc[] = { + #define NUM_SYMBOLS (sizeof(symbol_to_desc) / sizeof(symbol_to_desc[0])) + + ++/* ++ * API version 1.2, published in May 2014, introduced new symbols. We ++ * try to match these with existing symbols, in order to be compatible ++ * with existing icon themes and to maintain translation completeness. ++ * ++ * See http://api.met.no/weatherapi/weathericon/1.1/documentation ++ * for a list of symbols. For a list of symbols with descriptions, ++ * see http://om.yr.no/forklaring/symbol. ++ */ ++gint ++replace_symbol_id(gint id) ++{ ++ /* Symbol ids greater than 100 are used for indicating polar ++ * night. These ids are over the ordinary id + 100. Since we ++ * don't support polar icons, we can simply subtract 100 to ++ * get the non-polar symbol ids. ++ */ ++ if (id > 100) ++ id -= 100; ++ ++ switch (id) { ++ case 24: return 22; /* Light rain showers and thunder */ ++ case 25: return 6; /* Heavy rain showers and thunder */ ++ case 26: return 20; /* Light sleet showers and thunder */ ++ case 27: return 20; /* Heavy sleet showers and thunder */ ++ case 28: return 21; /* Light snow showers and thunder */ ++ case 29: return 21; /* Heavy snow showers and thunder */ ++ case 30: return 22; /* Light rain and thunder */ ++ case 31: return 23; /* Light sleet and thunder */ ++ case 32: return 23; /* Heavy sleet and thunder */ ++ case 33: return 14; /* Light snow and thunder */ ++ case 34: return 14; /* Heavy snow and thunder */ ++ ++ /* symbols 35-39 are unused */ ++ ++ case 40: return 5; /* Light rain showers */ ++ case 41: return 5; /* Heavy rain showers */ ++ case 42: return 7; /* Light sleet showers */ ++ case 43: return 7; /* Heavy sleet showers */ ++ case 44: return 8; /* Light snow showers */ ++ case 45: return 8; /* Heavy snow showers */ ++ case 46: return 9; /* Light rain */ ++ case 47: return 12; /* Light sleet */ ++ case 48: return 12; /* Heavy sleet */ ++ case 49: return 13; /* Light snow */ ++ case 50: return 13; /* Heavy snow */ ++ default: return id; ++ } ++} ++ ++ ++const gchar * ++get_symbol_for_id(gint id) ++{ ++ if (G_UNLIKELY(id < 1)) ++ return NODATA; ++ ++ if (id >= NUM_SYMBOLS) ++ id = replace_symbol_id(id); ++ ++ if (id < NUM_SYMBOLS) ++ return symbol_to_desc[id-1].symbol; ++ ++ return NODATA; ++} ++ ++ + const gchar * + translate_desc(const gchar *desc, + const gboolean nighttime) +diff --git a/panel-plugin/weather-translate.h b/panel-plugin/weather-translate.h +index 2116795..854e24f 100644 +--- a/panel-plugin/weather-translate.h ++++ b/panel-plugin/weather-translate.h +@@ -24,6 +24,8 @@ + + G_BEGIN_DECLS + ++const gchar *get_symbol_for_id(gint id); ++ + const gchar *translate_desc(const gchar *desc, + gboolean nighttime); + +-- +1.8.3.1 + diff --git a/meta-xfce/recipes-panel-plugins/weather/files/0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch b/meta-xfce/recipes-panel-plugins/weather/files/0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch new file mode 100644 index 0000000000..4c385a469c --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/weather/files/0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch @@ -0,0 +1,27 @@ +From 7df303bc5fa649299e18efeb5d4b801614030488 Mon Sep 17 00:00:00 2001 +From: Harald Judt <h.judt@gmx.at> +Date: Tue, 3 Jun 2014 19:59:05 +0200 +Subject: [PATCH 2/2] Switch to met.no locationforecastLTS-1.2 API (bug + #10916). + +Upstream-Status: Applied +--- + panel-plugin/weather.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/panel-plugin/weather.c b/panel-plugin/weather.c +index efa8559..63451fd 100644 +--- a/panel-plugin/weather.c ++++ b/panel-plugin/weather.c +@@ -660,7 +660,7 @@ update_handler(plugin_data *data) + /* build url */ + url = + g_strdup_printf("http://api.yr.no/weatherapi" +- "/locationforecastlts/1.1/?lat=%s;lon=%s;msl=%d", ++ "/locationforecastlts/1.2/?lat=%s;lon=%s;msl=%d", + data->lat, data->lon, data->msl); + + /* start receive thread */ +-- +1.8.3.1 + 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.3.bb index d03a259047..6e4c86db5f 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.3.bb @@ -7,6 +7,10 @@ inherit xfce-panel-plugin DEPENDS += "libsoup-2.4 dbus-glib upower" +SRC_URI += " \ + file://0001-Make-plugin-ready-for-met.no-locationforecast-1.2-AP.patch \ + file://0002-Switch-to-met.no-locationforecastLTS-1.2-API-bug-109.patch \ +" SRC_URI[md5sum] = "755b33089c02afe88abb39253003a7f3" SRC_URI[sha256sum] = "40a6a22be7653b15a47174a430da89040f178695b48e5e01e77990050f715ce4" diff --git a/meta-xfce/recipes-panel-plugins/whisker/xfce4-whiskermenu-plugin_1.3.2.bb b/meta-xfce/recipes-panel-plugins/whisker/xfce4-whiskermenu-plugin_1.3.2.bb new file mode 100644 index 0000000000..dd3d8fd6e2 --- /dev/null +++ b/meta-xfce/recipes-panel-plugins/whisker/xfce4-whiskermenu-plugin_1.3.2.bb @@ -0,0 +1,10 @@ +SUMMARY = "An alternate menu for the Xfce desktop environment" +HOMEPAGE = "http://gottcode.org/xfce4-whiskermenu-plugin/" +LICENSE = "GPLv2" +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" diff --git a/meta-xfce/recipes-xfce/exo/exo_0.10.2.bb b/meta-xfce/recipes-xfce/exo/exo_0.10.2.bb index 88fb74c288..ef8e55fa64 100644 --- a/meta-xfce/recipes-xfce/exo/exo_0.10.2.bb +++ b/meta-xfce/recipes-xfce/exo/exo_0.10.2.bb @@ -6,7 +6,7 @@ DEPENDS = "gtk+ libxfce4util libxfce4ui virtual/libx11 liburi-perl-native cairo" DEPENDS_class-native = "glib-2.0-native xfce4-dev-tools-native intltool-native" PR = "r4" -inherit xfce pythonnative perlnative +inherit xfce pythonnative perlnative gtk-doc # SRC_URI must follow inherited one SRC_URI += " \ diff --git a/meta-xfce/recipes-xfce/garcon/garcon_0.2.1.bb b/meta-xfce/recipes-xfce/garcon/garcon_0.2.1.bb index cfc113178a..44ae51f072 100644 --- a/meta-xfce/recipes-xfce/garcon/garcon_0.2.1.bb +++ b/meta-xfce/recipes-xfce/garcon/garcon_0.2.1.bb @@ -2,10 +2,10 @@ DESCRIPTION="Xfce Menu Library" SECTION = "x11/libs" LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=04a01abcbdabffae1ca26335a293276b" -DEPENDS = "glib-2.0 xfce4-dev-tools-native libxfce4util" +DEPENDS = "glib-2.0 xfce4-dev-tools-native libxfce4util intltool-native" PR = "r1" -inherit xfce +inherit xfce gtk-doc SRC_URI += "file://0001-xfce-applications.menu-don-t-bloat-settings-menu-by-.patch" SRC_URI[md5sum] = "c3cf89c836be0ddb281c81e4808fb68b" diff --git a/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.10.0.bb b/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.10.0.bb index 52792f585e..6534f940cf 100644 --- a/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.10.0.bb +++ b/meta-xfce/recipes-xfce/libxfce4ui/libxfce4ui_4.10.0.bb @@ -4,7 +4,7 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475" DEPENDS = "perl-native glib-2.0 gtk+ intltool libxfce4util xfconf xfce4-dev-tools virtual/libx11 libsm libice" -inherit autotools gettext xfce xfce-git +inherit autotools gettext gtk-doc xfce xfce-git SRC_URI = " \ git://git.xfce.org/xfce/libxfce4ui;protocol=git \ diff --git a/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.10.1.bb b/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.10.1.bb index b4e15e84a1..4a79f8233d 100644 --- a/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.10.1.bb +++ b/meta-xfce/recipes-xfce/libxfce4util/libxfce4util_4.10.1.bb @@ -4,7 +4,7 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=252890d9eee26aab7b432e8b8a616475" DEPENDS = "intltool-native xfce4-dev-tools-native glib-2.0" -inherit xfce +inherit xfce gtk-doc SRC_URI[md5sum] = "11eec87e8eda2bc62512c2416cb807a1" SRC_URI[sha256sum] = "e82cd1ad715c02a385b3cf6646cb89aa3c4724446dac1d7e424971df12f6cfbb" diff --git a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb index 7fcb3880e1..28cfc7f0f0 100644 --- a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb +++ b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-base.bb @@ -6,10 +6,6 @@ PR = "r5" inherit packagegroup -RPROVIDES_${PN} += "task-xfce-base" -RREPLACES_${PN} += "task-xfce-base" -RCONFLICTS_${PN} += "task-xfce-base" - RDEPENDS_${PN} = " \ xfwm4 \ xfce4-session \ diff --git a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb index aef2f706b7..af8977d383 100644 --- a/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb +++ b/meta-xfce/recipes-xfce/packagegroups/packagegroup-xfce-extended.bb @@ -7,10 +7,6 @@ PR = "r10" inherit packagegroup -RPROVIDES_${PN} += "task-xfce-extended" -RREPLACES_${PN} += "task-xfce-extended" -RCONFLICTS_${PN} += "task-xfce-extended" - # mandatory RDEPENDS_${PN} = " \ packagegroup-xfce-base \ @@ -40,10 +36,12 @@ RRECOMMENDS_${PN} = " \ 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 \ \ thunar-media-tags-plugin \ thunar-archive-plugin \ @@ -54,4 +52,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 aa67fdfa05..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,13 +2,13 @@ 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 SRC_URI[md5sum] = "4f10d5d5576ce5127308d6badbac3afa" SRC_URI[sha256sum] = "9a2706f6881ac29cda9f0b0325d179153bc09e37bcbafcab9823c1c1ec89579d" -SRC_URI = "http://archive.xfce.org/src/xfce/${PN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2" +SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2" S = "${WORKDIR}/Thunar-${PV}/" diff --git a/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch b/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch new file mode 100644 index 0000000000..5ecc35e37a --- /dev/null +++ b/meta-xfce/recipes-xfce/tumbler/tumbler/0001-configure-use-pkg-config-for-freetype2.patch @@ -0,0 +1,45 @@ +From f5c283b1251ad005da7342e654cd2ec5ae9e5fb2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Fri, 26 Sep 2014 13:44:36 +0200 +Subject: [PATCH] configure: use pkg-config for freetype2 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + acinclude.m4 | 16 +--------------- + 1 file changed, 1 insertion(+), 15 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 66e79d1..4c70b00 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -52,21 +52,7 @@ if test x"$ac_tumbler_font_thumbnailer" = x"yes"; then + PKG_CHECK_MODULES([GDK_PIXBUF], [gdk-pixbuf-2.0 >= 2.14], + [ + dnl Check for FreeType 2.x +- FREETYPE_LIBS="" +- FREETYPE_CFLAGS="" +- AC_PATH_PROG([FREETYPE_CONFIG], [freetype-config], [no]) +- if test x"$FREETYPE_CONFIG" != x"no"; then +- AC_MSG_CHECKING([FREETYPE_CFLAGS]) +- FREETYPE_CFLAGS="`$FREETYPE_CONFIG --cflags`" +- AC_MSG_RESULT([$FREETYPE_CFLAGS]) +- +- AC_MSG_CHECKING([FREETYPE_LIBS]) +- FREETYPE_LIBS="`$FREETYPE_CONFIG --libs`" +- AC_MSG_RESULT([$FREETYPE_LIBS]) +- else +- dnl We can only build the font thumbnailer if FreeType 2.x is available +- ac_tumbler_font_thumbnailer=no +- fi ++ PKG_CHECK_MODULES(FREETYPE, freetype2, , [ac_tumbler_font_thumbnailer=no]) + AC_SUBST([FREETYPE_CFLAGS]) + AC_SUBST([FREETYPE_LIBS]) + ], [ac_tumbler_font_thumbnailer=no]) +-- +1.8.3.1 + diff --git a/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.29.bb b/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb index 3860716ab6..5359545337 100644 --- a/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.29.bb +++ b/meta-xfce/recipes-xfce/tumbler/tumbler_0.1.30.bb @@ -2,12 +2,13 @@ DESCRIPTION="Thumbnail service implementing the thumbnail management D-Bus speci SECTION = "x11/libs" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -DEPENDS = "dbus-glib freetype gdk-pixbuf poppler curl xfce4-dev-tools-native" +DEPENDS = "dbus-glib freetype gdk-pixbuf poppler curl xfce4-dev-tools-native libxml2 libgsf" -inherit xfce +inherit xfce gtk-doc -SRC_URI[md5sum] = "f844215c5e3918eae58abdd85f146780" -SRC_URI[sha256sum] = "c3bac4ee609e22be6c7f01a4fdf6086bc6b57940d82f99570a2d9d547a32fc93" +SRC_URI[md5sum] = "2524e39439c13238565160da0b6fed2d" +SRC_URI[sha256sum] = "e7c20d79c830465f8b3b792893f05e8b8d5ba90aec4973e7517e07ef31537304" +SRC_URI += "file://0001-configure-use-pkg-config-for-freetype2.patch" INSANE_SKIP_${PN} = "dev-so" @@ -16,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/xdt-autogen_dependency.patch b/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools-4.11.0/xdt-autogen_dependency.patch new file mode 100644 index 0000000000..8e6bd35425 --- /dev/null +++ b/meta-xfce/recipes-xfce/xfce4-dev-tools/xfce4-dev-tools-4.11.0/xdt-autogen_dependency.patch @@ -0,0 +1,13 @@ +diff --git a/scripts/Makefile.am b/scripts/Makefile.am +index f2f0600..8e677dc 100644 +--- a/scripts/Makefile.am ++++ b/scripts/Makefile.am +@@ -10,7 +10,7 @@ bin_SCRIPTS = \ + xdt-autogen \ + xdt-commit + +-xdt-autogen: Makefile $(srcdir)/xdt-autogen.in ++xdt-autogen: Makefile xdt-autogen.in + rm -f xdt-autogen xdt-autogen.gen + sed -e 's,\@DATADIR\@,$(datadir),g' \ + xdt-autogen.in \ 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 3312fbdfe3..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 @@ -5,17 +5,22 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88" DEPENDS = "glib-2.0" -inherit autotools +inherit autotools pkgconfig BBCLASSEXTEND = "native" -SRC_URI = "http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:4]}/${BPN}-${PV}.tar.bz2" +SRC_URI = " \ + http://archive.xfce.org/src/xfce/${BPN}/${@'${PV}'[0:4]}/${BPN}-${PV}.tar.bz2 \ + file://xdt-autogen_dependency.patch \ +" SRC_URI[md5sum] = "36112d0256092c30bd1b47105c547edf" SRC_URI[sha256sum] = "2dccdd4935716a97db28464ba2403572ce03134fd7adf294e1a59eaf297e6555" do_install_append() { install -d ${D}${datadir}/aclocal - install -m 644 m4macros/*.m4 ${D}${datadir}/aclocal/ + install -m 644 ${S}/m4macros/*.m4 ${D}${datadir}/aclocal/ } 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/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch index 4d8e01d59f..5de14fc8e2 100644 --- a/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch +++ b/meta-xfce/recipes-xfce/xfce4-settings/xfce4-settings/touchscreen/0001-add-cursor-theme-xfce-invisible.patch @@ -223,15 +223,15 @@ index 0000000..c9e5a9f + +install-data-local: + $(mkinstalldirs) $(DESTDIR)@cursordir@; -+ $(INSTALL_DATA) index.theme $(DESTDIR)/@cursordir@/.. -+ $(INSTALL_DATA) invisible wait $(DESTDIR)@cursordir@/ ++ $(INSTALL_DATA) $(srcdir)/index.theme $(DESTDIR)/@cursordir@/.. ++ $(INSTALL_DATA) $(srcdir)/invisible $(srcdir)/wait $(DESTDIR)@cursordir@/ + for CURSOR in $(CURSOR_NAMES_INVISIBLE); do \ + echo '-- Installing invisible cursor '$$CURSOR; \ -+ ln -s invisible $(DESTDIR)@cursordir@/$$CURSOR; \ ++ ln -s $(srcdir)/invisible $(DESTDIR)@cursordir@/$$CURSOR; \ + done + for CURSOR in $(CURSOR_NAMES); do \ + echo '-- Installing visible cursor '$$CURSOR; \ -+ ln -s wait $(DESTDIR)@cursordir@/$$CURSOR; \ ++ ln -s $(srcdir)/wait $(DESTDIR)@cursordir@/$$CURSOR; \ + done + diff --git a/cursors/index.theme b/cursors/index.theme diff --git a/meta-xfce/recipes-xfce/xfconf/xfconf_4.10.0.bb b/meta-xfce/recipes-xfce/xfconf/xfconf_4.10.0.bb index bb8c33709f..30d0de3775 100644 --- a/meta-xfce/recipes-xfce/xfconf/xfconf_4.10.0.bb +++ b/meta-xfce/recipes-xfce/xfconf/xfconf_4.10.0.bb @@ -2,9 +2,9 @@ SUMMARY = "Xfce configuration daemon and utilities" SECTION = "x11/wm" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" -DEPENDS = "dbus-glib libxfce4util perl" +DEPENDS = "dbus-glib libxfce4util perl intltool-native xfce4-dev-tools-native" -inherit xfce +inherit xfce gtk-doc EXTRA_OECONF += "PERL=${STAGING_DIR_TARGET}/usr/bin/perl" 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" |