From 29d6678fd546377459ef75cf54abeef5b969b5cf Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 27 Aug 2010 15:14:24 +0100 Subject: Major layout change to the packages directory Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie --- .../libtool/libtool-cross_2.2.10.bb | 34 +++++++ .../libtool/libtool-native_2.2.10.bb | 22 +++++ .../libtool/libtool-nativesdk_2.2.10.bb | 27 +++++ meta/recipes-devtools/libtool/libtool.inc | 14 +++ .../libtool/libtool/cross_compile.patch | 55 +++++++++++ .../libtool/libtool/prefix-manpage-fix.patch | 19 ++++ meta/recipes-devtools/libtool/libtool/prefix.patch | 109 +++++++++++++++++++++ .../libtool/libtool/trailingslash.patch | 32 ++++++ meta/recipes-devtools/libtool/libtool_2.2.10.bb | 33 +++++++ 9 files changed, 345 insertions(+) create mode 100644 meta/recipes-devtools/libtool/libtool-cross_2.2.10.bb create mode 100644 meta/recipes-devtools/libtool/libtool-native_2.2.10.bb create mode 100644 meta/recipes-devtools/libtool/libtool-nativesdk_2.2.10.bb create mode 100644 meta/recipes-devtools/libtool/libtool.inc create mode 100644 meta/recipes-devtools/libtool/libtool/cross_compile.patch create mode 100644 meta/recipes-devtools/libtool/libtool/prefix-manpage-fix.patch create mode 100644 meta/recipes-devtools/libtool/libtool/prefix.patch create mode 100644 meta/recipes-devtools/libtool/libtool/trailingslash.patch create mode 100644 meta/recipes-devtools/libtool/libtool_2.2.10.bb (limited to 'meta/recipes-devtools/libtool') diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.2.10.bb b/meta/recipes-devtools/libtool/libtool-cross_2.2.10.bb new file mode 100644 index 0000000..23135f7 --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool-cross_2.2.10.bb @@ -0,0 +1,34 @@ +require libtool_${PV}.bb + +PR = "r1" +PACKAGES = "" +SRC_URI_append = " file://cross_compile.patch \ + file://prefix.patch " + +DEPENDS += "libtool-native" + +do_configure_prepend () { + # Remove any existing libtool m4 since old stale versions would break + # any upgrade + rm -f ${STAGING_DATADIR}/aclocal/libtool.m4 + rm -f ${STAGING_DATADIR}/aclocal/lt*.m4 +} + +do_install () { + install -d ${D}${bindir}/ + install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/${HOST_SYS}-libtool + install -d ${D}${datadir}/libtool/ + install -d ${D}${datadir}/aclocal/ + install -c ${S}/libltdl/config/config.guess ${D}${datadir}/libtool/ + install -c ${S}/libltdl/config/config.sub ${D}${datadir}/libtool/ + install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${D}${datadir}/libtool/ + install -c -m 0644 ${S}/libltdl/m4/libtool.m4 ${D}${datadir}/aclocal/ + install -c -m 0644 ${S}/libltdl/m4/ltdl.m4 ${D}${datadir}/aclocal/ +} + +SYSROOT_PREPROCESS_FUNCS += "libtoolcross_sysroot_preprocess" + +libtoolcross_sysroot_preprocess () { + install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/ + install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool +} diff --git a/meta/recipes-devtools/libtool/libtool-native_2.2.10.bb b/meta/recipes-devtools/libtool/libtool-native_2.2.10.bb new file mode 100644 index 0000000..322da4a --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool-native_2.2.10.bb @@ -0,0 +1,22 @@ +require libtool_${PV}.bb + +DEPENDS = "" + +PR = "r1" +SRC_URI_append = " file://cross_compile.patch \ + file://prefix.patch " + +inherit native + +do_configure_prepend () { + # Remove any existing libtool m4 since old stale versions would break + # any upgrade + rm -f ${STAGING_DATADIR}/aclocal/libtool.m4 + rm -f ${STAGING_DATADIR}/aclocal/lt*.m4 +} + +do_install () { + autotools_do_install + install -d ${D}${bindir}/ + install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/${HOST_SYS}-libtool +} diff --git a/meta/recipes-devtools/libtool/libtool-nativesdk_2.2.10.bb b/meta/recipes-devtools/libtool/libtool-nativesdk_2.2.10.bb new file mode 100644 index 0000000..e972d9e --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool-nativesdk_2.2.10.bb @@ -0,0 +1,27 @@ +require libtool_${PV}.bb + +PR = "r1" +SRC_URI_append = " file://cross_compile.patch \ + file://prefix.patch " + +inherit nativesdk + +do_configure_prepend () { + # Remove any existing libtool m4 since old stale versions would break + # any upgrade + rm -f ${STAGING_DATADIR}/aclocal/libtool.m4 + rm -f ${STAGING_DATADIR}/aclocal/lt*.m4 +} + +do_install () { + autotools_do_install + install -d ${D}${bindir}/ + install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/ +} + +SYSROOT_PREPROCESS_FUNCS += "libtoolnativesdk_sysroot_preprocess" + +libtoolnativesdk_sysroot_preprocess () { + install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/ + install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool +} diff --git a/meta/recipes-devtools/libtool/libtool.inc b/meta/recipes-devtools/libtool/libtool.inc new file mode 100644 index 0000000..c94dadd --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool.inc @@ -0,0 +1,14 @@ +DESCRIPTION = "Generic library support script \ +This is GNU libtool, a generic library support script. Libtool hides \ +the complexity of generating special library types (such as shared \ +libraries) behind a consistent interface." +HOMEPAGE = "http://www.gnu.org/software/libtool/libtool.html" +SECTION = "devel" +LICENSE = "GPLv2, LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ + file://libltdl/COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06 " + +SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \ + file://trailingslash.patch \ + file://prefix-manpage-fix.patch " + diff --git a/meta/recipes-devtools/libtool/libtool/cross_compile.patch b/meta/recipes-devtools/libtool/libtool/cross_compile.patch new file mode 100644 index 0000000..fc1f4b6 --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool/cross_compile.patch @@ -0,0 +1,55 @@ +Tweaks to make cross-compiling work combined and updated from various +older patches, some by Chris Larson. +Not upstreable in this form. + +RP - 01/05/2008 + +Index: libtool-2.2.10/libltdl/config/ltmain.m4sh +=================================================================== +--- libtool-2.2.10.orig/libltdl/config/ltmain.m4sh ++++ libtool-2.2.10/libltdl/config/ltmain.m4sh +@@ -5147,8 +5147,14 @@ func_mode_link () + absdir="$abs_ladir" + libdir="$abs_ladir" + else +- dir="$libdir" +- absdir="$libdir" ++ # Adding 'libdir' from the .la file to our library search paths ++ # breaks crosscompilation horribly. We cheat here and don't add ++ # it, instead adding the path where we found the .la. -CL ++ dir="$abs_ladir" ++ absdir="$abs_ladir" ++ libdir="$abs_ladir" ++ #dir="$libdir" ++ #absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else +@@ -5519,8 +5525,6 @@ func_mode_link () + add="$libdir/$linklib" + fi + else +- # We cannot seem to hardcode it, guess we'll fake it. +- add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in +@@ -5667,7 +5671,17 @@ func_mode_link () + fi + ;; + *) +- path="-L$absdir/$objdir" ++ # OE sets installed=no in staging. We need to look in $objdir and $absdir, ++ # preferring $objdir. RP 31/04/2008 ++ if test -f "$absdir/$objdir/$depdepl" ; then ++ depdepl="$absdir/$objdir/$depdepl" ++ path="-L$absdir/$objdir" ++ elif test -f "$absdir/$depdepl" ; then ++ depdepl="$absdir/$depdepl" ++ path="-L$absdir" ++ else ++ path="-L$absdir/$objdir" ++ fi + ;; + esac + else diff --git a/meta/recipes-devtools/libtool/libtool/prefix-manpage-fix.patch b/meta/recipes-devtools/libtool/libtool/prefix-manpage-fix.patch new file mode 100644 index 0000000..4728669 --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool/prefix-manpage-fix.patch @@ -0,0 +1,19 @@ +For cross environment, it not possible to run the generated executable. +nstead use the build version of libtool to generate the man pages. + +Date: 2010/07/09 +Signed-Off-By: Nitin A Kamble + +Index: libtool-2.2.10/Makefile.am +=================================================================== +--- libtool-2.2.10.orig/Makefile.am ++++ libtool-2.2.10/Makefile.am +@@ -337,7 +337,7 @@ update_mans = \ + PATH=.$(PATH_SEPARATOR)$$PATH; export PATH; \ + $(HELP2MAN) --output=$@ + $(srcdir)/doc/libtool.1: $(srcdir)/$(auxdir)/ltmain.sh +- $(update_mans) --help-option=--help-all libtool ++ $(update_mans) --help-option=--help-all ${build_alias}-libtool + $(srcdir)/doc/libtoolize.1: $(srcdir)/libtoolize.in + $(update_mans) libtoolize + diff --git a/meta/recipes-devtools/libtool/libtool/prefix.patch b/meta/recipes-devtools/libtool/libtool/prefix.patch new file mode 100644 index 0000000..d008608 --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool/prefix.patch @@ -0,0 +1,109 @@ +Renames "libtool" -> "${TARGET_PREFIX}libtool" which makes sure +it can't be confused with the host libtool. + +Originally by: RP + +Updated: Date: 2010/06/28 +Nitin A Kamble + + +Index: libtool-2.2.10/libltdl/m4/libtool.m4 +=================================================================== +--- libtool-2.2.10.orig/libltdl/m4/libtool.m4 ++++ libtool-2.2.10/libltdl/m4/libtool.m4 +@@ -94,7 +94,8 @@ _LT_SET_OPTIONS([$0], [$1]) + LIBTOOL_DEPS="$ltmain" + + # Always use our own libtool. +-LIBTOOL='$(SHELL) $(top_builddir)/libtool' ++LIBTOOL='$(SHELL) $(top_builddir)' ++LIBTOOL="$LIBTOOL/${host_alias}-libtool" + AC_SUBST(LIBTOOL)dnl + + _LT_SETUP +@@ -201,7 +202,7 @@ aix3*) + esac + + # Global variables: +-ofile=libtool ++ofile=${host_alias}-libtool + can_build_shared=yes + + # All known linkers require a `.a' archive for static linking (except MSVC, +Index: libtool-2.2.10/Makefile.am +=================================================================== +--- libtool-2.2.10.orig/Makefile.am ++++ libtool-2.2.10/Makefile.am +@@ -31,7 +31,7 @@ AM_LDFLAGS = + DIST_SUBDIRS = . + EXTRA_DIST = + +-BUILT_SOURCES = libtool libtoolize ++BUILT_SOURCES = $(host_alias)-libtool libtoolize + + CLEANFILES = + MOSTLYCLEANFILES = +@@ -65,7 +65,7 @@ rebuild = rebuild=:; $(timestamp); corre + ## ---------------- ## + + # The libtool distributor and the standalone libtool script. +-bin_SCRIPTS = libtoolize libtool ++bin_SCRIPTS = libtoolize $(host_alias)-libtool + + libtoolize: $(srcdir)/libtoolize.in $(top_builddir)/config.status + rm -f libtoolize.tmp libtoolize +@@ -91,8 +91,8 @@ $(srcdir)/libtoolize.in: $(sh_files) lib + # We used to do this with a 'stamp-vcl' file, but non-gmake builds + # would rerun configure on every invocation, so now we manually + # check the version numbers from the build rule when necessary. +-libtool: $(top_builddir)/config.status $(srcdir)/$(auxdir)/ltmain.sh ChangeLog +- @target=libtool; $(rebuild); \ ++$(host_alias)-libtool: $(top_builddir)/config.status $(srcdir)/$(auxdir)/ltmain.sh ChangeLog ++ @target=$(host_alias)-libtool; $(rebuild); \ + if test -f "$$target"; then \ + set dummy `./$$target --version | sed 1q`; actualver="$$5"; \ + test "$$actualver" = "$$correctver" && rebuild=false; \ +@@ -101,8 +101,8 @@ libtool: $(top_builddir)/config.status $ + case $$prereq in *ChangeLog);; *) rebuild=:;; esac; \ + done; \ + if $$rebuild; then \ +- echo $(SHELL) ./config.status $$target; \ +- cd $(top_builddir) && $(SHELL) ./config.status $$target; \ ++ echo $(SHELL) ./config.status libtool; \ ++ cd $(top_builddir) && $(SHELL) ./config.status libtool; \ + fi + + .PHONY: configure-subdirs +@@ -147,7 +147,7 @@ EXTRA_DIST += bootstrap $(srcdir)/li + ChangeLog.2002 ChangeLog.2003 ChangeLog.2004 \ + ChangeLog.2005 ChangeLog.2006 ChangeLog.2007 \ + ChangeLog.2008 ChangeLog.2009 +-CLEANFILES += libtool libtoolize libtoolize.tmp \ ++CLEANFILES += $(host_alias)-libtool libtoolize libtoolize.tmp \ + $(auxdir)/ltmain.tmp $(m4dir)/ltversion.tmp + + ## We build ltversion.m4 here, instead of from config.status, +@@ -523,12 +523,12 @@ TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$ + + BUILDCHECK_ENVIRONMENT = _lt_pkgdatadir="$(abs_top_srcdir)" \ + LIBTOOLIZE="$(abs_top_builddir)/libtoolize" \ +- LIBTOOL="$(abs_top_builddir)/libtool" \ ++ LIBTOOL="$(abs_top_builddir)/$(host_alias)-libtool" \ + tst_aclocaldir="$(abs_top_srcdir)/libltdl/m4" + + INSTALLCHECK_ENVIRONMENT = \ + LIBTOOLIZE="$(bindir)/`echo libtoolize | sed '$(program_transform_name)'`" \ +- LIBTOOL="$(bindir)/`echo libtool | sed '$(program_transform_name)'`" \ ++ LIBTOOL="$(bindir)/`echo $(host_alias)-libtool | sed '$(program_transform_name)'`" \ + LTDLINCL="-I$(includedir)" \ + LIBLTDL="$(libdir)/libltdl.la" \ + tst_aclocaldir="$(aclocaldir)" +@@ -679,7 +679,7 @@ if HAVE_FC + TESTS += $(FC_TESTS) + endif + +-tests/demo-conf.test: libtool ++tests/demo-conf.test: $(host_alias)-libtool + + EXTRA_DIST += $(srcdir)/tests/defs.in tests/defs.m4sh \ + $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS) $(FC_TESTS) diff --git a/meta/recipes-devtools/libtool/libtool/trailingslash.patch b/meta/recipes-devtools/libtool/libtool/trailingslash.patch new file mode 100644 index 0000000..313c262 --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool/trailingslash.patch @@ -0,0 +1,32 @@ +A command like /bin/sh ../../i586-poky-linux-libtool --mode=install /usr/bin/install -c gck-roots-store-standalone.la '/media/data1/builds/poky1/tmp/work/core2-poky-linux/gnome-keyring-2.26.1-r1/image/usr/lib/gnome-keyring/standalone/' fails (e.g. gnome-keyring or pulseaudio) + +This is because libdir has a trailing slash which breaks the comparision. + +RP 2/1/10 + +Merged a patch received from Gary Thomas + +Date: 2010/07/12 +Nitin A Kamble + +Index: libtool-2.2.10/libltdl/config/ltmain.m4sh +=================================================================== +--- libtool-2.2.10.orig/libltdl/config/ltmain.m4sh ++++ libtool-2.2.10/libltdl/config/ltmain.m4sh +@@ -1634,8 +1634,15 @@ func_mode_install () + dir="$dir$objdir" + + if test -n "$relink_command"; then ++ # Strip any trailing slash from the destination. ++ func_stripname '' '/' "$libdir" ++ destlibdir=$func_stripname_result ++ ++ func_stripname '' '/' "$destdir" ++ s_destdir=$func_stripname_result ++ + # Determine the prefix the user has applied to our future dir. +- inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` ++ inst_prefix_dir=`$ECHO "X$s_destdir" | $Xsed -e "s%$destlibdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that diff --git a/meta/recipes-devtools/libtool/libtool_2.2.10.bb b/meta/recipes-devtools/libtool/libtool_2.2.10.bb new file mode 100644 index 0000000..9eaec2d --- /dev/null +++ b/meta/recipes-devtools/libtool/libtool_2.2.10.bb @@ -0,0 +1,33 @@ +require libtool.inc +DEPENDS = "libtool-native" + +PR = "r1" + +PACKAGES =+ "libltdl libltdl-dev libltdl-dbg" +FILES_${PN} += "${datadir}/aclocal*" +FILES_libltdl = "${libdir}/libltdl.so.*" +FILES_libltdl-dev = "${libdir}/libltdl.* ${includedir}/ltdl.h" +FILES_libltdl-dbg = "${libdir}/.debug/" + +inherit autotools + +EXTRA_AUTORECONF = "--exclude=libtoolize" + +do_compile_prepend () { + # Sometimes this file doesn't get rebuilt, force the issue + rm -f ${S}/libltdl/config/ltmain.sh + make libltdl/config/ltmain.sh +} + +# +# We want the results of libtool-cross preserved - don't stage anything ourselves. +# +SYSROOT_PREPROCESS_FUNCS += "libtool_sysroot_preprocess" + +libtool_sysroot_preprocess () { + if [ "${PN}" == "libtool" ]; then + rm -rf ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${bindir}/* + rm -rf ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${datadir}/aclocal/* + rm -rf ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${datadir}/libtool/config/* + fi +} -- cgit v1.1