* [PATCH 01/18] test-dependencies: add simple script to detect missing or autoenabled dependencies
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-25 13:42 ` Burton, Ross
2013-07-24 12:02 ` [PATCH 02/18] gst-plugins-bad: add few more PACKAGECONFIGs Martin Jansa
` (17 subsequent siblings)
18 siblings, 1 reply; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
scripts/test-dependencies.sh | 256 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 256 insertions(+)
create mode 100755 scripts/test-dependencies.sh
diff --git a/scripts/test-dependencies.sh b/scripts/test-dependencies.sh
new file mode 100755
index 0000000..e4cf4d3
--- /dev/null
+++ b/scripts/test-dependencies.sh
@@ -0,0 +1,256 @@
+#!/bin/sh
+
+# Author: Martin Jansa <martin.jansa@gmail.com>
+#
+# Copyright (c) 2013 Martin Jansa <Martin.Jansa@gmail.com>
+
+# Used to detect missing dependencies or automagically
+# enabled dependencies which aren't explicitly enabled
+# or disabled.
+
+# It does 3 builds of <target>
+# 1st to populate sstate-cache directory and sysroot
+# 2nd to rebuild each recipe with every possible
+# dependency found in sysroot (which stays populated
+# from 1st build
+# 3rd to rebuild each recipe only with dependencies defined
+# in DEPENDS
+# 4th (optional) repeat build like 3rd to make sure that
+# minimal versions of dependencies defined in DEPENDS
+# is also enough
+
+# Global vars
+tmpdir=
+targets=
+recipes=
+buildhistory=
+buildtype=
+default_targets="world"
+default_buildhistory="buildhistory"
+default_buildtype="1 2 3 c"
+
+usage () {
+ cat << EOF
+Welcome to utility to detect missing or autoenabled dependencies.
+WARNING: this utility will completely remove your tmpdir (make sure
+ you don't have important buildhistory or persistent dir there).
+$0 <OPTION>
+
+Options:
+ -h, --help
+ Display this help and exit.
+
+ --tmpdir=<tmpdir>
+ Specify tmpdir, will use the environment variable TMPDIR if it is not specified.
+ Something like /OE/oe-core/tmp-eglibc (no / at the end).
+
+ --targets=<targets>
+ List of targets separated by space, will use the environment variable TARGETS if it is not specified.
+ It will run "bitbake <targets>" to populate sysroots.
+ Default value is "world".
+
+ --recipes=<recipes>
+ File with list of recipes we want to rebuild with minimal and maximal sysroot.
+ Will use the environment variable RECIPES if it is not specified.
+ Default value will use all packages ever recorded in buildhistory directory.
+
+ --buildhistory=<buildhistory>
+ Path to buildhistory directory, it needs to be enabled in your config,
+ because it's used to detect different dependencies and to create list
+ of recipes to rebuild when it's not specified.
+ Will use the environment variable BUILDHISTORY if it is not specified.
+ Default value is "buildhistory"
+
+ --buildtype=<buildtype>
+ There are 4 types of build:
+ 1: build to populate sstate-cache directory and sysroot
+ 2: build to rebuild each recipe with every possible dep
+ 3: build to rebuild each recipe with minimal dependencies
+ 4: build to rebuild each recipe again with minimal dependencies
+ c: compare buildhistory directories from build 2 and 3
+ Will use the environment variable BUILDTYPE if it is not specified.
+ Default value is "1 2 3 c", order is important, type 4 is optional.
+EOF
+}
+
+# Print error information and exit.
+echo_error () {
+ echo "ERROR: $1" >&2
+ exit 1
+}
+
+while [ -n "$1" ]; do
+ case $1 in
+ --tmpdir=*)
+ tmpdir=`echo $1 | sed -e 's#^--tmpdir=##' | xargs readlink -e`
+ [ -d "$tmpdir" ] || echo_error "Invalid argument to --tmpdir"
+ shift
+ ;;
+ --targets=*)
+ targets=`echo $1 | sed -e 's#^--targets="*\([^"]*\)"*#\1#'`
+ shift
+ ;;
+ --recipes=*)
+ recipes=`echo $1 | sed -e 's#^--recipes="*\([^"]*\)"*#\1#'`
+ shift
+ ;;
+ --buildhistory=*)
+ buildhistory=`echo $1 | sed -e 's#^--buildhistory="*\([^"]*\)"*#\1#'`
+ shift
+ ;;
+ --buildtype=*)
+ buildtype=`echo $1 | sed -e 's#^--buildtype="*\([^"]*\)"*#\1#'`
+ shift
+ ;;
+ --help|-h)
+ usage
+ exit 0
+ ;;
+ *)
+ echo "Invalid arguments $*"
+ echo_error "Try '$0 -h' for more information."
+ ;;
+ esac
+done
+
+# tmpdir directory, use environment variable TMPDIR
+# if it was not specified, otherwise, error.
+[ -n "$tmpdir" ] || tmpdir=$TMPDIR
+[ -n "$tmpdir" ] || echo_error "No tmpdir found!"
+[ -d "$tmpdir" ] || echo_error "Invalid tmpdir \"$tmpdir\""
+[ -n "$targets" ] || targets=$TARGETS
+[ -n "$targets" ] || targets=$default_targets
+[ -n "$recipes" ] || recipes=$RECIPES
+[ -n "$recipes" -a ! -f "$recipes" ] && echo_error "Invalid file with list of recipes to rebuild"
+[ -n "$recipes" ] || echo "All packages ever recorded in buildhistory directory will be rebuilt"
+[ -n "$buildhistory" ] || buildhistory=$BUILDHISTORY
+[ -n "$buildhistory" ] || buildhistory=$default_buildhistory
+[ -d "$buildhistory" ] || echo_error "Invalid buildhistory directory \"$buildhistory\""
+[ -n "$buildtype" ] || buildtype=$BUILDTYPE
+[ -n "$buildtype" ] || buildtype=$default_buildtype
+echo "$buildtype" | grep -v '^[1234c ]*$' && echo_error "Invalid buildtype \"$buildtype\", only some combination of 1, 2, 3, 4, c separated by space is allowed"
+
+OUTPUT_BASE=test-dependencies/`date "+%s"`
+
+build_all() {
+ echo "===== 1st build to populate sstate-cache directory and sysroot ====="
+ OUTPUT1=${OUTPUT_BASE}/${TYPE}_all
+ mkdir -p ${OUTPUT1}
+ echo "Logs will be stored in ${OUTPUT1} directory"
+ bitbake -k $targets | tee -a ${OUTPUT1}/complete.log
+}
+
+build_every_recipe() {
+ if [ "${TYPE}" = "2" ] ; then
+ echo "===== 2nd build to rebuild each recipe with every possible dep ====="
+ OUTPUT_MAX=${OUTPUT_BASE}/${TYPE}_max
+ OUTPUTB=${OUTPUT_MAX}
+ else
+ echo "===== 3rd or 4th build to rebuild each recipe with minimal dependencies ====="
+ OUTPUT_MIN=${OUTPUT_BASE}/${TYPE}_min
+ OUTPUTB=${OUTPUT_MIN}
+ fi
+
+ mkdir -p ${OUTPUTB} ${OUTPUTB}/failed ${OUTPUTB}/ok
+ echo "Logs will be stored in ${OUTPUTB} directory"
+ if [ -z "$recipes" ]; then
+ ls -d $buildhistory/packages/*/* | xargs -n 1 basename | sort -u > ${OUTPUTB}/recipe.list
+ recipes=${OUTPUTB}/recipe.list
+ fi
+ if [ "${TYPE}" != "2" ] ; then
+ echo "!!!Removing tmpdir \"$tmpdir\"!!!"
+ rm -rf $tmpdir/deploy $tmpdir/pkgdata $tmpdir/sstate-control $tmpdir/stamps $tmpdir/sysroots $tmpdir/work $tmpdir/work-shared 2>/dev/null
+ fi
+ i=1
+ count=`cat $recipes | wc -l`
+ for recipe in `cat $recipes`; do
+ echo "Building recipe: ${recipe} ($i/$count)"
+ bitbake -c cleansstate ${recipe} > ${OUTPUTB}/log.${recipe} 2>&1;
+ bitbake ${recipe} >> ${OUTPUTB}/log.${recipe} 2>&1;
+ grep "ERROR: Task.*failed" ${OUTPUTB}/log.${recipe} && mv ${OUTPUTB}/log.${recipe} ${OUTPUTB}/failed/${recipe} || mv ${OUTPUTB}/log.${recipe} ${OUTPUTB}/ok/${recipe}
+ if [ "${TYPE}" != "2" ] ; then
+ rm -rf $tmpdir/deploy $tmpdir/pkgdata $tmpdir/sstate-control $tmpdir/stamps $tmpdir/sysroots $tmpdir/work $tmpdir/work-shared 2>/dev/null
+ fi
+ i=`expr $i + 1`
+ done
+ echo "Copying buildhistory/packages to ${OUTPUTB}"
+ cp -ra $buildhistory/packages ${OUTPUTB}
+ # This will be usefull to see which library is pulling new dependency
+ echo "Copying do_package logs to ${OUTPUTB}/do_package/"
+ mkdir ${OUTPUTB}/do_package
+ find $tmpdir/work/ -name log.do_package | while read f; do
+ # pn is 3 levels back, but we don't know if there is just one log per pn (only one arch and version)
+ # dest=`echo $f | sed 's#^.*/\([^/]*\)/\([^/]*\)/\([^/]*\)/log.do_package#\1#g'`
+ dest=`echo $f | sed "s#$tmpdir/work/##g; s#/#_#g"`
+ cp $f ${OUTPUTB}/do_package/$dest
+ done
+ grep "ERROR: Task.*failed" ${OUTPUTB}/failed/*
+ ls -1 ${OUTPUTB}/failed/* >> ${OUTPUT_BASE}/failed.recipes
+}
+
+compare_deps() {
+ # you can run just compare task with command like this
+ # OUTPUT_BASE=test-dependencies/1373140172 \
+ # OUTPUT_MAX=${OUTPUT_BASE}/2_max \
+ # OUTPUT_MIN=${OUTPUT_BASE}/3_min \
+ # openembedded-core/scripts/test-dependencies.sh --tmpdir=tmp-eglibc --targets=glib-2.0 --recipes=recipe_list --buildtype=c
+ echo "===== Compare dependencies recorded in \"${OUTPUT_MAX}\" and \"${OUTPUT_MIN}\" ====="
+ [ -n "${OUTPUTC}" ] || OUTPUTC=${OUTPUT_BASE}
+ mkdir -p ${OUTPUTC}
+ OUTPUT_FILE=${OUTPUTC}/dependency-changes
+ echo "Differences will be stored in ${OUTPUT_FILE}, dot is shown for every 100 of checked packages"
+ echo > ${OUTPUT_FILE}
+
+ [ -d ${OUTPUT_MAX} ] || echo_error "Directory with output from build 2 \"${OUTPUT_MAX}\" does not exist"
+ [ -d ${OUTPUT_MIN} ] || echo_error "Directory with output from build 3 \"${OUTPUT_MIN}\" does not exist"
+ [ -d ${OUTPUT_MAX}/packages/ ] || echo_error "Directory with packages from build 2 \"${OUTPUT_MAX}/packages/\" does not exist"
+ [ -d ${OUTPUT_MIN}/packages/ ] || echo_error "Directory with packages from build 3 \"${OUTPUT_MIN}/packages/\" does not exist"
+ i=0
+ find ${OUTPUT_MAX}/packages/ -name latest | sed "s#${OUTPUT_MAX}/##g" | while read pkg; do
+ max_pkg=${OUTPUT_MAX}/${pkg}
+ min_pkg=${OUTPUT_MIN}/${pkg}
+ if [ ! -f "${min_pkg}" ] ; then
+ echo "ERROR: ${min_pkg} doesn't exist" | tee -a ${OUTPUT_FILE}
+ continue
+ fi
+ # strip version information in parenthesis
+ max_deps=`grep "^RDEPENDS = " ${max_pkg} | sed 's/^RDEPENDS = / /g; s/$/ /g; s/([^(]*)//g'`
+ min_deps=`grep "^RDEPENDS = " ${min_pkg} | sed 's/^RDEPENDS = / /g; s/$/ /g; s/([^(]*)//g'`
+ if [ "$i" = 100 ] ; then
+ echo -n "." # cheap progressbar
+ i=0
+ fi
+ if [ "${max_deps}" = "${min_deps}" ] ; then
+ # it's annoying long, but at least it's showing some progress, warnings are grepped at the end
+ echo "NOTE: ${pkg} dependencies weren't changed" >> ${OUTPUT_FILE}
+ else
+ missing_deps=
+ for dep in ${max_deps}; do
+ echo "${min_deps}" | grep -q " ${dep} " || missing_deps="${missing_deps} ${dep}"
+ done
+ if [ -n "${missing_deps}" ] ; then
+ echo # to get rid of dots on last line
+ echo "WARN: ${pkg} lost dependency on ${missing_deps}" | tee -a ${OUTPUT_FILE}
+ fi
+ fi
+ i=`expr $i + 1`
+ done
+ echo # to get rid of dots on last line
+ echo "Found differences: "
+ grep "^WARN: " ${OUTPUT_FILE} | tee ${OUTPUT_FILE}.warn
+ echo "Found errors: "
+ grep "^ERROR: " ${OUTPUT_FILE} | tee ${OUTPUT_FILE}.error
+ # useful for reexecuting this script with only small subset of recipes with known issues
+ sed 's#.*[ /]packages/\([^/]*\)/\([^/]*\)/.*#\2#g' ${OUTPUT_FILE}.warn ${OUTPUT_FILE}.error | sort -u >> ${OUTPUT_BASE}/failed.recipes
+}
+
+for TYPE in $buildtype; do
+ case ${TYPE} in
+ 1) build_all;;
+ 2) build_every_recipe;;
+ 3) build_every_recipe;;
+ 4) build_every_recipe;;
+ c) compare_deps;;
+ *) echo_error "Invalid buildtype \"$TYPE\""
+ esac
+done
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 02/18] gst-plugins-bad: add few more PACKAGECONFIGs
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
2013-07-24 12:02 ` [PATCH 01/18] test-dependencies: add simple script to detect missing or autoenabled dependencies Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 03/18] xkeyboard-config: add missing dependency on util-macros Martin Jansa
` (16 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bb | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bb
index 7e80ce4..dceb12c 100644
--- a/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bb
@@ -24,6 +24,16 @@ PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl"
PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg,"
PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,neon"
+PACKAGECONFIG[mms] = "--enable-libmms,--disable-libmms,libmms"
+PACKAGECONFIG[cog] = "--enable-cog,--disable-cog,libpng"
+PACKAGECONFIG[faad] = "--enable-faad,--disable-faad,faad2"
+PACKAGECONFIG[jp2k] = "--enable-jp2k,--disable-jp2k,jasper"
+PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug"
+PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus"
+PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1"
+PACKAGECONFIG[vp8] = "--enable-vp8,--disable-vp8,libvpx"
+PACKAGECONFIG[ass] = "--enable-assrender,--disable-assrender,libass"
+PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft"
ARM_INSTRUCTION_SET = "arm"
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 03/18] xkeyboard-config: add missing dependency on util-macros
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
2013-07-24 12:02 ` [PATCH 01/18] test-dependencies: add simple script to detect missing or autoenabled dependencies Martin Jansa
2013-07-24 12:02 ` [PATCH 02/18] gst-plugins-bad: add few more PACKAGECONFIGs Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 04/18] ccache: add zlib dependency Martin Jansa
` (15 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* build fails without it
configure.ac:7: error: must install xorg-macros 1.12 or later before
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/recipes-graphics/xorg-lib/xkeyboard-config_2.9.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.9.bb b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.9.bb
index df96c31..c60c7fe 100644
--- a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.9.bb
+++ b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.9.bb
@@ -17,7 +17,7 @@ SRC_URI[md5sum] = "9b1280d8ba40274a0f1567c94fca7501"
SRC_URI[sha256sum] = "5e89bc182a10d53c3e83efc6c3546de0fe5504d91c3dbc80d55cc64ddab5643a"
SECTION = "x11/libs"
-DEPENDS = "intltool-native virtual/gettext"
+DEPENDS = "intltool-native virtual/gettext util-macros"
EXTRA_OECONF = "--with-xkb-rules-symlink=xorg --disable-runtime-deps"
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 04/18] ccache: add zlib dependency
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (2 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 03/18] xkeyboard-config: add missing dependency on util-macros Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 05/18] cups: add PACKAGECONFIG for acl Martin Jansa
` (14 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* when it's not detected in sysroot it uses bundled version
* add explicit dependency to make it deterministic
* PACKAGECONFIG wasn't used because configure doesn't have an
option to select which one should be used
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/recipes-devtools/ccache/ccache.inc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/recipes-devtools/ccache/ccache.inc b/meta/recipes-devtools/ccache/ccache.inc
index 29ac409..087cb7d 100644
--- a/meta/recipes-devtools/ccache/ccache.inc
+++ b/meta/recipes-devtools/ccache/ccache.inc
@@ -7,6 +7,8 @@ HOMEPAGE = "http://ccache.samba.org"
SECTION = "devel"
LICENSE = "GPLv3+"
+DEPENDS = "zlib"
+
SRC_URI = "http://samba.org/ftp/ccache/ccache-${PV}.tar.xz"
inherit autotools
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 05/18] cups: add PACKAGECONFIG for acl
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (3 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 04/18] ccache: add zlib dependency Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 06/18] directfb: add PACKAGECONFIG for jpeg2000 Martin Jansa
` (13 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* acl is autodetected from sysroot
* add PACKAGECONFIG to make it deterministic
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/recipes-extended/cups/cups16.inc | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-extended/cups/cups16.inc b/meta/recipes-extended/cups/cups16.inc
index bf155a1..7b8ba06 100644
--- a/meta/recipes-extended/cups/cups16.inc
+++ b/meta/recipes-extended/cups/cups16.inc
@@ -13,6 +13,7 @@ inherit autotools binconfig
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)}"
PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
+PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl"
EXTRA_OECONF = " \
--enable-gnutls \
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 06/18] directfb: add PACKAGECONFIG for jpeg2000
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (4 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 05/18] cups: add PACKAGECONFIG for acl Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 07/18] distcc: add PACKAGECONFIG for popt Martin Jansa
` (12 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* it's autodetected from sysroot
* add PACKAGECONFIG to make it deterministic
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/recipes-graphics/directfb/directfb.inc | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta/recipes-graphics/directfb/directfb.inc b/meta/recipes-graphics/directfb/directfb.inc
index 97a4c55..7295c35 100644
--- a/meta/recipes-graphics/directfb/directfb.inc
+++ b/meta/recipes-graphics/directfb/directfb.inc
@@ -23,6 +23,9 @@ LDFLAGS_append =" -lts -lm"
inherit autotools binconfig pkgconfig
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[jpeg2000] = "--enable-jpeg2000,--disable-jpeg2000,jasper"
+
EXTRA_OECONF = "\
--with-gfxdrivers=none \
--enable-libmpeg3=no \
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 07/18] distcc: add PACKAGECONFIG for popt
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (5 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 06/18] directfb: add PACKAGECONFIG for jpeg2000 Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 08/18] grub: add PACKAGECONFIG for grub-mount Martin Jansa
` (11 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* it's autodetected from sysroot
* add PACKAGECONFIG to make it deterministic
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/recipes-devtools/distcc/distcc_3.1.bb | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/distcc/distcc_3.1.bb b/meta/recipes-devtools/distcc/distcc_3.1.bb
index cb5d696..3571732 100644
--- a/meta/recipes-devtools/distcc/distcc_3.1.bb
+++ b/meta/recipes-devtools/distcc/distcc_3.1.bb
@@ -11,8 +11,10 @@ DEPENDS = "avahi"
GTKCONFIG = "gtk"
GTKCONFIG_libc-uclibc = ""
-PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', '${GTKCONFIG}', '', d)}"
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', '${GTKCONFIG}', '', d)} popt"
PACKAGECONFIG[gtk] = "--with-gtk,--without-gtk --without-gnome,gtk+"
+# use system popt by default
+PACKAGECONFIG[popt] = "--without-included-popt,--with-included-popt,popt"
RRECOMMENDS_${PN} = "avahi-daemon"
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 08/18] grub: add PACKAGECONFIG for grub-mount
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (6 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 07/18] distcc: add PACKAGECONFIG for popt Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 09/18] mailx: remove support for autodetection of krb5 Martin Jansa
` (10 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* fuse is autodetected from sysroot
* add PACKAGECONFIG to make it deterministic
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/recipes-bsp/grub/grub_2.00.bb | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta/recipes-bsp/grub/grub_2.00.bb b/meta/recipes-bsp/grub/grub_2.00.bb
index 8d224242..5153b6a 100644
--- a/meta/recipes-bsp/grub/grub_2.00.bb
+++ b/meta/recipes-bsp/grub/grub_2.00.bb
@@ -33,6 +33,9 @@ FILES_${PN}-dbg += "${libdir}/${BPN}/i386-pc/.debug"
inherit autotools
inherit gettext
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[grub-mount] = "--enable-grub-mount,--disable-grub-mount,fuse"
+
EXTRA_OECONF = "--with-platform=pc --disable-grub-mkfont --program-prefix="" \
--enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no"
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 09/18] mailx: remove support for autodetection of krb5
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (7 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 08/18] grub: add PACKAGECONFIG for grub-mount Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 10/18] minicom: add configure option and PACKAGECONFIG for lockdev Martin Jansa
` (9 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* it's autodetected from sysroot and makeconfig doesn't allow
to explicitly define what's expected
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../explicitly.disable.krb5.support.patch | 46 ++++++++++++++++++++++
meta/recipes-extended/mailx/mailx_12.5.bb | 1 +
2 files changed, 47 insertions(+)
create mode 100644 meta/recipes-extended/mailx/mailx-12.5/explicitly.disable.krb5.support.patch
diff --git a/meta/recipes-extended/mailx/mailx-12.5/explicitly.disable.krb5.support.patch b/meta/recipes-extended/mailx/mailx-12.5/explicitly.disable.krb5.support.patch
new file mode 100644
index 0000000..8c7178b
--- /dev/null
+++ b/meta/recipes-extended/mailx/mailx-12.5/explicitly.disable.krb5.support.patch
@@ -0,0 +1,46 @@
+krb5 support is autodetected from sysroot making builds undeterministic
+feel free to improve this to support explicitly enabling/disabling it
+
+Upstream-Status: Penging
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+--- a/makeconfig 2013-07-21 15:06:11.177792334 +0200
++++ b/makeconfig 2013-07-21 15:07:20.028793994 +0200
+@@ -424,36 +424,6 @@
+ }
+ !
+
+-<$tmp2.c link_check gssapi 'for GSSAPI in libgss' \
+- '#define USE_GSSAPI' '-lgss' ||
+- <$tmp2.c link_check gssapi 'for GSSAPI in libgssapi_krb5' \
+- '#define USE_GSSAPI' '-lgssapi_krb5' ||
+- link_check gssapi 'for GSSAPI in libgssapi_krb5, old-style' \
+- '#define USE_GSSAPI
+-#define GSSAPI_OLD_STYLE' '-lgssapi_krb5' <<\! || \
+- link_check gssapi 'for GSSAPI in libgssapi' \
+- '#define USE_GSSAPI
+-#define GSSAPI_REG_INCLUDE' '-lgssapi' <<\%
+-#include <gssapi/gssapi.h>
+-#include <gssapi/gssapi_generic.h>
+-
+-int main(void)
+-{
+- gss_import_name(0, 0, gss_nt_service_name, 0);
+- gss_init_sec_context(0,0,0,0,0,0,0,0,0,0,0,0,0);
+- return 0;
+-}
+-!
+-#include <gssapi.h>
+-
+-int main(void)
+-{
+- gss_import_name(0, 0, GSS_C_NT_HOSTBASED_SERVICE, 0);
+- gss_init_sec_context(0,0,0,0,0,0,0,0,0,0,0,0,0);
+- return 0;
+-}
+-%
+-
+ cat >$tmp2.c <<\!
+ #include "config.h"
+ #ifdef HAVE_NL_LANGINFO
diff --git a/meta/recipes-extended/mailx/mailx_12.5.bb b/meta/recipes-extended/mailx/mailx_12.5.bb
index 2a08113..f6734c7 100644
--- a/meta/recipes-extended/mailx/mailx_12.5.bb
+++ b/meta/recipes-extended/mailx/mailx_12.5.bb
@@ -14,6 +14,7 @@ DEPENDS = "openssl"
SRC_URI = "${DEBIAN_MIRROR}/main/h/heirloom-mailx/heirloom-mailx_${PV}.orig.tar.gz;name=archive \
${DEBIAN_MIRROR}/main/h/heirloom-mailx/heirloom-mailx_${PV}-1.diff.gz;name=patch \
+ file://explicitly.disable.krb5.support.patch \
"
SRC_URI[archive.md5sum] = "29a6033ef1412824d02eb9d9213cb1f2"
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 10/18] minicom: add configure option and PACKAGECONFIG for lockdev
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (8 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 09/18] mailx: remove support for autodetection of krb5 Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 11/18] ltp: add acl, openssl dependency Martin Jansa
` (8 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* it's autodetected from sysroot
* add PACKAGECONFIG to make it deterministic
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../minicom-2.6.2/allow.to.disable.lockdev.patch | 21 +++++++++++++++++++++
meta/recipes-extended/minicom/minicom_2.6.2.bb | 7 ++++++-
2 files changed, 27 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-extended/minicom/minicom-2.6.2/allow.to.disable.lockdev.patch
diff --git a/meta/recipes-extended/minicom/minicom-2.6.2/allow.to.disable.lockdev.patch b/meta/recipes-extended/minicom/minicom-2.6.2/allow.to.disable.lockdev.patch
new file mode 100644
index 0000000..f5c0889
--- /dev/null
+++ b/meta/recipes-extended/minicom/minicom-2.6.2/allow.to.disable.lockdev.patch
@@ -0,0 +1,21 @@
+Upstream-Status: Pending
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+--- a/configure.in 2013-02-06 18:18:13.000000000 +0100
++++ b/configure.in 2013-07-21 15:31:27.614828894 +0200
+@@ -40,7 +40,13 @@
+ fi
+
+ PKG_PROG_PKG_CONFIG
+-if test -n "$PKG_CONFIG"; then
++
++AC_ARG_ENABLE([lockdev],
++ AS_HELP_STRING([--enable-lockdev],
++ [Enable lockdev support (def: enabled)]),
++ [], [enable_lockdev="yes"])
++
++if test -n "$PKG_CONFIG" && test "x$enable_lockdev" = xyes; then
+ PKG_CHECK_MODULES([LOCKDEV], [lockdev], AC_DEFINE([HAVE_LOCKDEV],[1],[Define if you have lockdev]),[:])
+ fi
+
diff --git a/meta/recipes-extended/minicom/minicom_2.6.2.bb b/meta/recipes-extended/minicom/minicom_2.6.2.bb
index 0d65e80..558867d 100644
--- a/meta/recipes-extended/minicom/minicom_2.6.2.bb
+++ b/meta/recipes-extended/minicom/minicom_2.6.2.bb
@@ -8,11 +8,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=420477abc567404debca0a2a1cb6b645 \
PR = "r0"
-SRC_URI = "http://alioth.debian.org/frs/download.php/3869/minicom-${PV}.tar.gz"
+SRC_URI = "http://alioth.debian.org/frs/download.php/3869/minicom-${PV}.tar.gz \
+ file://allow.to.disable.lockdev.patch \
+"
SRC_URI[md5sum] = "203c56c4b447f45e2301b0cc4e83da3c"
SRC_URI[sha256sum] = "f3cf215f7914ffa5528e398962176102ad74df27ba38958142f56aa6d15c9168"
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lockdev] = "--enable-lockdev,--disable-lockdev,lockdev"
+
inherit autotools gettext
do_install() {
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 11/18] ltp: add acl, openssl dependency
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (9 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 10/18] minicom: add configure option and PACKAGECONFIG for lockdev Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 12/18] patch: add PACKAGECONFIG for attr Martin Jansa
` (7 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* when it's not detected in sysroot it uses bundled version
* add explicit dependency to make it deterministic
* PACKAGECONFIG wasn't used because configure doesn't have an
option to select which one should be used
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/recipes-extended/ltp/ltp_20130503.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-extended/ltp/ltp_20130503.bb b/meta/recipes-extended/ltp/ltp_20130503.bb
index c00c647..387826d 100644
--- a/meta/recipes-extended/ltp/ltp_20130503.bb
+++ b/meta/recipes-extended/ltp/ltp_20130503.bb
@@ -19,7 +19,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
file://utils/benchmark/kernbench-0.42/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
"
-DEPENDS = "attr libaio libcap"
+DEPENDS = "attr libaio libcap acl openssl"
SRC_URI = "${SOURCEFORGE_MIRROR}/ltp/ltp-full-${PV}.bz2"
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 12/18] patch: add PACKAGECONFIG for attr
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (10 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 11/18] ltp: add acl, openssl dependency Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 13/18] python-imaging: add PACKAGECONFIG for lcms Martin Jansa
` (6 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* it's autodetected from sysroot
* add PACKAGECONFIG to make it deterministic
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/recipes-devtools/patch/patch.inc | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta/recipes-devtools/patch/patch.inc b/meta/recipes-devtools/patch/patch.inc
index 332b97a..b49226a 100644
--- a/meta/recipes-devtools/patch/patch.inc
+++ b/meta/recipes-devtools/patch/patch.inc
@@ -9,5 +9,8 @@ S = "${WORKDIR}/patch-${PV}"
inherit autotools update-alternatives
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[attr] = "--enable-xattr,--disable-xattr,attr"
+
ALTERNATIVE_${PN} = "patch"
ALTERNATIVE_PRIORITY = "100"
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 13/18] python-imaging: add PACKAGECONFIG for lcms
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (11 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 12/18] patch: add PACKAGECONFIG for attr Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 14/18] socat: add PACKAGECONFIG for tcp-wrappers Martin Jansa
` (5 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* it's autodetected from sysroot
* add PACKAGECONFIG to make it deterministic
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../allow.to.disable.some.features.patch | 65 ++++++++++++++++++++++
.../python/python-imaging_1.1.7.bb | 10 +++-
2 files changed, 74 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-devtools/python/python-imaging/allow.to.disable.some.features.patch
diff --git a/meta/recipes-devtools/python/python-imaging/allow.to.disable.some.features.patch b/meta/recipes-devtools/python/python-imaging/allow.to.disable.some.features.patch
new file mode 100644
index 0000000..4960ed4
--- /dev/null
+++ b/meta/recipes-devtools/python/python-imaging/allow.to.disable.some.features.patch
@@ -0,0 +1,65 @@
+At least lcms wasn't deterministicly detected from sysroot.
+
+This will allow to export LCMS_ENABLED=False when lcms isn't in PACKAGECONFIG.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+diff -uNr Imaging-1.1.7.orig/setup.py Imaging-1.1.7/setup.py
+--- Imaging-1.1.7.orig/setup.py 2013-07-22 10:17:02.081457075 +0200
++++ Imaging-1.1.7/setup.py 2013-07-22 13:10:09.029707492 +0200
+@@ -39,6 +39,12 @@
+ TIFF_ROOT = None
+ FREETYPE_ROOT = os.environ['STAGING_LIBDIR'], os.environ['STAGING_INCDIR']
+ LCMS_ROOT = None
++TCL_ENABLED = os.getenv('TCL_ENABLED', "True")
++JPEG_ENABLED = os.getenv('JPEG_ENABLED', "True")
++ZLIB_ENABLED = os.getenv('ZLIB_ENABLED', "True")
++TIFF_ENABLED = os.getenv('TIFF_ENABLED', "True")
++FREETYPE_ENABLED = os.getenv('FREETYPE_ENABLED', "True")
++LCMS_ENABLED = os.getenv('LCMS_ENABLED', "True")
+
+ # FIXME: add mechanism to explicitly *disable* the use of a library
+
+@@ -220,22 +226,22 @@
+ zlib = jpeg = tiff = freetype = tcl = tk = lcms = None
+ feature = feature()
+
+- if find_include_file(self, "zlib.h"):
++ if ZLIB_ENABLED == 'True' and find_include_file(self, "zlib.h"):
+ if find_library_file(self, "z"):
+ feature.zlib = "z"
+ elif sys.platform == "win32" and find_library_file(self, "zlib"):
+ feature.zlib = "zlib" # alternative name
+
+- if find_include_file(self, "jpeglib.h"):
++ if JPEG_ENABLED == 'True' and find_include_file(self, "jpeglib.h"):
+ if find_library_file(self, "jpeg"):
+ feature.jpeg = "jpeg"
+ elif sys.platform == "win32" and find_library_file(self, "libjpeg"):
+ feature.jpeg = "libjpeg" # alternative name
+
+- if find_library_file(self, "tiff"):
++ if TIFF_ENABLED == 'True' and find_library_file(self, "tiff"):
+ feature.tiff = "tiff"
+
+- if find_library_file(self, "freetype"):
++ if FREETYPE_ENABLED == 'True' and find_library_file(self, "freetype"):
+ # look for freetype2 include files
+ freetype_version = 0
+ for dir in self.compiler.include_dirs:
+@@ -256,11 +262,11 @@
+ if dir:
+ add_directory(self.compiler.include_dirs, dir, 0)
+
+- if find_include_file(self, "lcms.h"):
++ if LCMS_ENABLED == 'True' and find_include_file(self, "lcms.h"):
+ if find_library_file(self, "lcms"):
+ feature.lcms = "lcms"
+
+- if _tkinter and find_include_file(self, "tk.h"):
++ if TCL_ENABLED == 'True' and _tkinter and find_include_file(self, "tk.h"):
+ # the library names may vary somewhat (e.g. tcl84 or tcl8.4)
+ version = TCL_VERSION[0] + TCL_VERSION[2]
+ if find_library_file(self, "tcl" + version):
diff --git a/meta/recipes-devtools/python/python-imaging_1.1.7.bb b/meta/recipes-devtools/python/python-imaging_1.1.7.bb
index de0e975..e100358 100644
--- a/meta/recipes-devtools/python/python-imaging_1.1.7.bb
+++ b/meta/recipes-devtools/python/python-imaging_1.1.7.bb
@@ -7,23 +7,31 @@ SRCNAME = "Imaging"
PR = "r5"
SRC_URI = "http://effbot.org/downloads/Imaging-${PV}.tar.gz \
- file://0001-python-imaging-setup.py-force-paths-for-zlib-freetyp.patch"
+ file://0001-python-imaging-setup.py-force-paths-for-zlib-freetyp.patch \
+ file://allow.to.disable.some.features.patch"
SRC_URI[md5sum] = "fc14a54e1ce02a0225be8854bfba478e"
SRC_URI[sha256sum] = "895bc7c2498c8e1f9b99938f1a40dc86b3f149741f105cf7c7bd2e0725405211"
S = "${WORKDIR}/${SRCNAME}-${PV}"
+# There isn't enable/disable option, and lcms is in meta-oe, at least make it explicit when enabled
+# setup.py already has FIXME: add mechanism to explicitly *disable* the use of a library
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lcms] = ",,lcms"
+
inherit distutils
do_compile() {
export STAGING_LIBDIR=${STAGING_LIBDIR}
export STAGING_INCDIR=${STAGING_INCDIR}
+ export LCMS_ENABLED=${@base_contains('PACKAGECONFIG', 'lcms', 'True', 'False', d)}
distutils_do_compile
}
do_install() {
export STAGING_LIBDIR=${STAGING_LIBDIR}
export STAGING_INCDIR=${STAGING_INCDIR}
+ export LCMS_ENABLED=${@base_contains('PACKAGECONFIG', 'lcms', 'True', 'False', d)}
distutils_do_install
install -d ${D}${datadir}/doc/${BPN}/html/
install -m 0644 ${S}/README ${D}${datadir}/doc/${BPN}/
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 14/18] socat: add PACKAGECONFIG for tcp-wrappers
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (12 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 13/18] python-imaging: add PACKAGECONFIG for lcms Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 15/18] sudo: add PACKAGECONFIG for zlib Martin Jansa
` (4 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* it's autodetected from sysroot
* add PACKAGECONFIG to make it deterministic
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/recipes-connectivity/socat/socat_1.7.2.2.bb | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta/recipes-connectivity/socat/socat_1.7.2.2.bb b/meta/recipes-connectivity/socat/socat_1.7.2.2.bb
index 2f0ee68..f015def 100644
--- a/meta/recipes-connectivity/socat/socat_1.7.2.2.bb
+++ b/meta/recipes-connectivity/socat/socat_1.7.2.2.bb
@@ -18,6 +18,9 @@ SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \
SRC_URI[md5sum] = "39231e512d8052f328552865df15d42f"
SRC_URI[sha256sum] = "9a167af11a4d3809cbc66f5e2dcb39b6e371251282ef5de6ea6ff0c4be8a953c"
+PACKAGECONFIG ??= "tcp-wrappers"
+PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
+
EXTRA_OECONF += "ac_cv_have_z_modifier=yes sc_cv_sys_crdly_shift=9 \
sc_cv_sys_tabdly_shift=11 sc_cv_sys_csize_shift=4 \
ac_cv_ispeed_offset=13 \
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 15/18] sudo: add PACKAGECONFIG for zlib
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (13 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 14/18] socat: add PACKAGECONFIG for tcp-wrappers Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 16/18] gstreamer1.0-plugins-good: add PACKAGECONFIG for v4l Martin Jansa
` (3 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* it's autodetected from sysroot
* add PACKAGECONFIG to make it deterministic
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/recipes-extended/sudo/sudo.inc | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta/recipes-extended/sudo/sudo.inc b/meta/recipes-extended/sudo/sudo.inc
index 9dcb677..ef2367a 100644
--- a/meta/recipes-extended/sudo/sudo.inc
+++ b/meta/recipes-extended/sudo/sudo.inc
@@ -13,6 +13,9 @@ LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=d25a8240ca6decdecb9990789e593130 \
inherit autotools
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
+
EXTRA_OECONF = "--with-editor=/bin/vi --with-env-editor"
do_configure_prepend () {
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 16/18] gstreamer1.0-plugins-good: add PACKAGECONFIG for v4l
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (14 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 15/18] sudo: add PACKAGECONFIG for zlib Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 17/18] gst-plugins-good: add PACKAGECONFIG for jpeg, wavpack, gdkpixbuf, v4l, bzip2, orc Martin Jansa
` (2 subsequent siblings)
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc
index 3d0f970..68bc9f1 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good.inc
@@ -32,7 +32,7 @@ PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex"
PACKAGECONFIG[taglib] = "--enable-taglib,--disable-taglib,taglib"
PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx,libvpx"
PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack"
-
+PACKAGECONFIG[v4l] = "--with-libv4l2,--without-libv4l2,libv4l"
EXTRA_OECONF += " \
--disable-directsound \
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 17/18] gst-plugins-good: add PACKAGECONFIG for jpeg, wavpack, gdkpixbuf, v4l, bzip2, orc
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (15 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 16/18] gstreamer1.0-plugins-good: add PACKAGECONFIG for v4l Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 12:02 ` [PATCH 18/18] gettext: disable nls when INHIBIT_DEFAULT_DEPS is set Martin Jansa
2013-07-24 16:50 ` test-dependencies.sh results from big world build Martin Jansa
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
index e630f67..8868ba7 100644
--- a/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bb
@@ -7,11 +7,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
PR = "r8"
-PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} jpeg"
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
-
-DEPENDS += "gst-plugins-base gconf cairo jpeg libpng zlib libid3tag flac \
+PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg"
+PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack"
+PACKAGECONFIG[gdkpixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf"
+PACKAGECONFIG[v4l] = "--with-libv4l2,--without-libv4l2,libv4l"
+PACKAGECONFIG[bzip2] = "--enable-bz2,--disable-bz2,bzip2"
+PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
+
+DEPENDS += "gst-plugins-base gconf cairo libpng zlib libid3tag flac \
speex libsoup-2.4"
inherit gettext gconf
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* [PATCH 18/18] gettext: disable nls when INHIBIT_DEFAULT_DEPS is set
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (16 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 17/18] gst-plugins-good: add PACKAGECONFIG for jpeg, wavpack, gdkpixbuf, v4l, bzip2, orc Martin Jansa
@ 2013-07-24 12:02 ` Martin Jansa
2013-07-24 16:50 ` test-dependencies.sh results from big world build Martin Jansa
18 siblings, 0 replies; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 12:02 UTC (permalink / raw)
To: openembedded-core
* for example in gcc-runtime DEPENDS_GETTEXT from gettext.bbclass isn't
used because gcc-runtime recipes also set INHIBIT_DEFAULT_DEPS,
explicitly disable NLS when DEPENDS_GETTEXT is empty
* this is causing undeterministic build
if you compare i586-oe-linux/libstdc++-v3/config.log in WORKDIR when building
gcc-runtime before and after building gettext-native you'll see that msgfmt
isn't found in one of them and gcc-runtime-locale-{de,fr} packages
aren't created, there is only one file in them:
gcc-runtime-locale-de/usr/share/locale/de/LC_MESSAGES/libstdc++.mo
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/classes/gettext.bbclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/classes/gettext.bbclass b/meta/classes/gettext.bbclass
index 95818c6..17c894f 100644
--- a/meta/classes/gettext.bbclass
+++ b/meta/classes/gettext.bbclass
@@ -10,8 +10,8 @@ def gettext_dependencies(d):
def gettext_oeconf(d):
if oe.utils.inherits(d, 'native', 'cross'):
return '--disable-nls'
- # Remove the NLS bits if USE_NLS is no.
- if d.getVar('USE_NLS', True) == 'no' and not oe.utils.inherits(d, 'nativesdk', 'cross-canadian'):
+ # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
+ if (d.getVar('USE_NLS', True) == 'no' or d.getVar('INHIBIT_DEFAULT_DEPS', True)) and not oe.utils.inherits(d, 'nativesdk', 'cross-canadian'):
return '--disable-nls'
return "--enable-nls"
--
1.8.3.2
^ permalink raw reply related [flat|nested] 22+ messages in thread* test-dependencies.sh results from big world build
2013-07-24 12:02 [PATCH 00/18] autodetected dependencies Martin Jansa
` (17 preceding siblings ...)
2013-07-24 12:02 ` [PATCH 18/18] gettext: disable nls when INHIBIT_DEFAULT_DEPS is set Martin Jansa
@ 2013-07-24 16:50 ` Martin Jansa
2013-07-24 18:26 ` Chris Larson
18 siblings, 1 reply; 22+ messages in thread
From: Martin Jansa @ 2013-07-24 16:50 UTC (permalink / raw)
To: openembedded-core; +Cc: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 1850 bytes --]
My biggest build with 20+ layers included finally finished today (after
many days because there was hw issue on server where it was running, so
it was slower then it should be).
The results are a bit messy because:
1) It had only some fixes from my last "autodetected dependencies"
patchsets for oe-core and meta-oe
2) It was started when oe-core/master had broken boost, so many packages
failed because of boost
3) It was started when oe-core/master had issues with qt-mobility (not sure if
all were fixed already)
4) It wasn't using latest version of test-dependencies script
5) It was using complete buildhistory repo which had many stalled
packages like task-* and couple of architectures.
But at least it will allow me to restrict recipes to rebuild from 1900 to
only 256 which were failing in this build.
It was tested only for qemuarm.
Complete logs are here:
http://logs.nslu2-linux.org/buildlogs/oe/oe-shr-core-branches/test-dependencies-2013-07-24/
Interesting parts
11 recipes failed in world build:
http://logs.nslu2-linux.org/buildlogs/oe/oe-shr-core-branches/test-dependencies-2013-07-24/failed.world
101 recipes failed in minimal build (8 caused by boost):
http://logs.nslu2-linux.org/buildlogs/oe/oe-shr-core-branches/test-dependencies-2013-07-24/failed.min
216 packages (160 recipes) doesn't have deterministic dependencies
http://logs.nslu2-linux.org/buildlogs/oe/oe-shr-core-branches/test-dependencies-2013-07-24/failed.dependencies
Next results should be more interesting, because many issues are already
fixed by change I've sent today to oe-core and oe-devel ML, but not all,
because they were detected in build without x11 in DISTRO_FEATURES and
without some layers (like meta-browser meta-efl meta-gnome meta-gpe
meta-initramfs meta-webserver meta-xfce).
Cheers,
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread* Re: test-dependencies.sh results from big world build
2013-07-24 16:50 ` test-dependencies.sh results from big world build Martin Jansa
@ 2013-07-24 18:26 ` Chris Larson
0 siblings, 0 replies; 22+ messages in thread
From: Chris Larson @ 2013-07-24 18:26 UTC (permalink / raw)
To: Martin Jansa
Cc: Openembedded Discussion,
Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 2340 bytes --]
On Wed, Jul 24, 2013 at 9:50 AM, Martin Jansa <martin.jansa@gmail.com>wrote:
> My biggest build with 20+ layers included finally finished today (after
> many days because there was hw issue on server where it was running, so
> it was slower then it should be).
>
> The results are a bit messy because:
> 1) It had only some fixes from my last "autodetected dependencies"
> patchsets for oe-core and meta-oe
> 2) It was started when oe-core/master had broken boost, so many packages
> failed because of boost
> 3) It was started when oe-core/master had issues with qt-mobility (not
> sure if
> all were fixed already)
> 4) It wasn't using latest version of test-dependencies script
> 5) It was using complete buildhistory repo which had many stalled
> packages like task-* and couple of architectures.
>
> But at least it will allow me to restrict recipes to rebuild from 1900 to
> only 256 which were failing in this build.
>
> It was tested only for qemuarm.
>
> Complete logs are here:
>
> http://logs.nslu2-linux.org/buildlogs/oe/oe-shr-core-branches/test-dependencies-2013-07-24/
>
> Interesting parts
> 11 recipes failed in world build:
>
> http://logs.nslu2-linux.org/buildlogs/oe/oe-shr-core-branches/test-dependencies-2013-07-24/failed.world
>
> 101 recipes failed in minimal build (8 caused by boost):
>
> http://logs.nslu2-linux.org/buildlogs/oe/oe-shr-core-branches/test-dependencies-2013-07-24/failed.min
>
> 216 packages (160 recipes) doesn't have deterministic dependencies
>
> http://logs.nslu2-linux.org/buildlogs/oe/oe-shr-core-branches/test-dependencies-2013-07-24/failed.dependencies
>
> Next results should be more interesting, because many issues are already
> fixed by change I've sent today to oe-core and oe-devel ML, but not all,
> because they were detected in build without x11 in DISTRO_FEATURES and
> without some layers (like meta-browser meta-efl meta-gnome meta-gpe
> meta-initramfs meta-webserver meta-xfce).
>
I just wanted to say, this is some impressive work, nicely done. I'm amazed
at how many recipes still don't have deterministic dependencies, even after
all these years :)
--
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics
[-- Attachment #2: Type: text/html, Size: 3333 bytes --]
^ permalink raw reply [flat|nested] 22+ messages in thread