multiple recipes converted to use -staticdev
cover multiple recipes converted to use -staticdev
This commit adds a new base package ${PN}-staticdev to bitbake.conf which pulls in the static *.a libraries as a seperate package, it filters out the nonshared.a libraries where appropriate.
Additional this commit adds a new libdev.bbclass which provides a set of macros and variables to convert ${PN} to lib${PN}, which a number of recipes where then converted to use.
PR bumps all around
The following changes since commit 8a5c20417d4d6bee6dd0bcdbeb8d4f9e0696a216:
[PATCH] u-boot-mkimage: bump version to 2011.03 (2011-06-28 17:13:12 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib sgw/static
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/static
Saul Wold (1):
multiple recipes converted to -staticdev packages
meta/classes/lib_package.bbclass | 10 ++++- meta/classes/libdev.bbclass | 44 ++++++++++++++++++++ meta/conf/bitbake.conf | 8 +++- meta/recipes-bsp/pciutils/pciutils_3.1.7.bb | 7 ++- .../wireless-tools/wireless-tools_29.bb | 9 +++- meta/recipes-core/eglibc/eglibc-common.inc | 2 +- meta/recipes-core/eglibc/eglibc-package.inc | 9 +++- meta/recipes-core/gettext/gettext_0.18.1.1.bb | 16 ++++---- meta/recipes-core/glibc/glibc-package.inc | 9 +++- .../meta/external-csl-toolchain_2008q3-72.bb | 8 ++- meta/recipes-core/uclibc/uclibc.inc | 9 +++- meta/recipes-core/udev/udev-new.inc | 14 ++++-- meta/recipes-core/udev/udev_164.bb | 2 +- meta/recipes-core/util-linux/util-linux.inc | 11 ++++- meta/recipes-core/util-linux/util-linux_2.19.1.bb | 2 +- .../binutils/binutils-cross-canadian_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils-cross.inc | 2 + .../binutils/binutils-cross_csl-arm-2008q1.bb | 2 +- .../binutils/binutils-crosssdk_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils.inc | 9 +--- meta/recipes-devtools/binutils/binutils_2.21.bb | 2 +- meta/recipes-devtools/gcc/gcc-package-runtime.inc | 25 ++++++++--- meta/recipes-devtools/gcc/libgcc_4.6.bb | 2 +- meta/recipes-devtools/opkg/opkg_0.1.8.bb | 8 ++- meta/recipes-devtools/opkg/opkg_svn.bb | 8 ++- meta/recipes-devtools/python/python_2.6.6.bb | 4 +- meta/recipes-devtools/rpm/rpm_5.4.0.bb | 18 ++++---- meta/recipes-extended/augeas/augeas.inc | 7 +-- meta/recipes-extended/augeas/augeas_0.8.1.bb | 2 +- meta/recipes-extended/gamin/gamin_0.1.10.bb | 13 +----- .../tcp-wrappers/tcp-wrappers_7.6.bb | 9 +++- meta/recipes-graphics/cairo/cairo_1.10.2.bb | 9 ++-- meta/recipes-graphics/xorg-lib/libxft_2.2.0.bb | 7 +-- meta/recipes-multimedia/liba52/liba52_0.7.4.bb | 4 +- meta/recipes-support/attr/acl_2.2.51.bb | 2 +- meta/recipes-support/attr/attr_2.4.46.bb | 2 +- meta/recipes-support/attr/ea-acl.inc | 16 +------- meta/recipes-support/curl/curl_7.21.6.bb | 17 +++----- meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb | 5 +- meta/recipes-support/sqlite/sqlite3.inc | 10 +---- meta/recipes-support/sqlite/sqlite3_3.7.6.2.bb | 2 +- 42 files changed, 204 insertions(+), 147 deletions(-) create mode 100644 meta/classes/libdev.bbclass
Signature · 1 line
1.7.3.4
PATCH 1/2 multiple recipes converted to -staticdev packages
This commit adds a new base package ${PN}-staticdev to bitbake.conf which pulls in the static *.a libraries as a seperate package, it filters out the nonshared.a libraries where appropriate.
Additional this commit adds a new libdev.bbclass which provides a set of macros and variables to convert ${PN} to lib${PN}, which a number of recipes where then converted to use.
PR bumps all around
--- meta/classes/lib_package.bbclass | 10 ++++- meta/classes/libdev.bbclass | 44 ++++++++++++++++++++ meta/conf/bitbake.conf | 8 +++- meta/recipes-bsp/pciutils/pciutils_3.1.7.bb | 7 ++- .../wireless-tools/wireless-tools_29.bb | 9 +++- meta/recipes-core/eglibc/eglibc-common.inc | 2 +- meta/recipes-core/eglibc/eglibc-package.inc | 9 +++- meta/recipes-core/gettext/gettext_0.18.1.1.bb | 16 ++++---- meta/recipes-core/glibc/glibc-package.inc | 9 +++- .../meta/external-csl-toolchain_2008q3-72.bb | 8 ++- meta/recipes-core/uclibc/uclibc.inc | 9 +++- meta/recipes-core/udev/udev-new.inc | 14 ++++-- meta/recipes-core/udev/udev_164.bb | 2 +- meta/recipes-core/util-linux/util-linux.inc | 11 ++++- meta/recipes-core/util-linux/util-linux_2.19.1.bb | 2 +- .../binutils/binutils-cross-canadian_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils-cross.inc | 2 + .../binutils/binutils-cross_csl-arm-2008q1.bb | 2 +- .../binutils/binutils-crosssdk_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils.inc | 9 +--- meta/recipes-devtools/binutils/binutils_2.21.bb | 2 +- meta/recipes-devtools/gcc/gcc-package-runtime.inc | 25 ++++++++--- meta/recipes-devtools/gcc/libgcc_4.6.bb | 2 +- meta/recipes-devtools/opkg/opkg_0.1.8.bb | 8 ++- meta/recipes-devtools/opkg/opkg_svn.bb | 8 ++- meta/recipes-devtools/python/python_2.6.6.bb | 4 +- meta/recipes-devtools/rpm/rpm_5.4.0.bb | 18 ++++---- meta/recipes-extended/augeas/augeas.inc | 7 +-- meta/recipes-extended/augeas/augeas_0.8.1.bb | 2 +- meta/recipes-extended/gamin/gamin_0.1.10.bb | 13 +----- .../tcp-wrappers/tcp-wrappers_7.6.bb | 9 +++- meta/recipes-graphics/cairo/cairo_1.10.2.bb | 9 ++-- meta/recipes-graphics/xorg-lib/libxft_2.2.0.bb | 7 +-- meta/recipes-multimedia/liba52/liba52_0.7.4.bb | 4 +- meta/recipes-support/attr/acl_2.2.51.bb | 2 +- meta/recipes-support/attr/attr_2.4.46.bb | 2 +- meta/recipes-support/attr/ea-acl.inc | 16 +------- meta/recipes-support/curl/curl_7.21.6.bb | 17 +++----- meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb | 5 +- meta/recipes-support/sqlite/sqlite3.inc | 10 +---- meta/recipes-support/sqlite/sqlite3_3.7.6.2.bb | 2 +- 41 files changed, 203 insertions(+), 146 deletions(-) create mode 100644 meta/classes/libdev.bbclass
meta/classes/lib_package.bbclass +8 -2
@@ -5,6 +5,12 @@ FILES_${PN} = "${libexecdir} ${libdir}/lib*${SOLIBS} \ ${base_libdir}/*${SOLIBS} \ ${datadir}/${PN} ${libdir}/${PN}" FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/*.o ${libdir}/pkgconfig /lib/*.o \ - ${datadir}/aclocal ${bindir}/*-config" + ${libdir}/*.o ${libdir}/pkgconfig /lib/*.o \ + ${datadir}/aclocal ${bindir}/*-config \ + ${libdir}/*_nonshared.a" FILES_${PN}-bin = "${bindir}/* ${sbindir}/* /bin/* /sbin/*" + +staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${staticdev_libs}', d)}" + +
meta/classes/libdev.bbclass new file +44 -0
44 lines not on this page · raw message
meta/conf/bitbake.conf +6 -2
@@ -252,12 +252,16 @@ SECTION_${PN}-doc = "doc" FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig \ - ${datadir}/aclocal ${base_libdir}/*.o" + ${datadir}/aclocal ${base_libdir}/*.o \ + ${libdir}/lib*_nonshared.a ${base_libdir}/lib*_nonshared.a" + SECTION_${PN}-dev = "devel" ALLOW_EMPTY_${PN}-dev = "1" RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})" -FILES_${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a" +staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${staticdev_libs}', d)}" + SECTION_${PN}-staticdev = "devel" RDEPENDS_${PN}-staticdev = "${PN}-dev (= ${EXTENDPKGV})"
meta/recipes-bsp/pciutils/pciutils_3.1.7.bb +5 -2
@@ -9,7 +9,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" DEPENDS = "zlib" RDEPENDS_${PN} = "${PN}-ids" -PR = "r1" +PR = "r2" SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.bz2 \ file://configure.patch \
@@ -49,9 +49,12 @@ do_install () { ln -s ../sbin/lspci ${D}${bindir}/lspci } -PACKAGES =+ "pciutils-ids libpci libpci-dev libpci-dbg" +PACKAGES =+ "pciutils-ids libpci libpci-dev libpci-dbg libpci-staticdev" FILES_pciutils-ids = "${datadir}/pci.ids*" FILES_libpci = "${libdir}/libpci.so.*" FILES_libpci-dbg = "${libdir}/.debug" FILES_libpci-dev = "${libdir}/libpci.a ${libdir}/libpci.la ${libdir}/libpci.so \ ${includedir}/pci ${libdir}/pkgconfig" +FILES_libpci-staticdev = "${libdir}/libpci.a" +RDEPENDS_libpci-staticdev = "libpci-dev (= ${EXTENDPKGV})" +
meta/recipes-connectivity/wireless-tools/wireless-tools_29.bb +6 -3
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ SECTION = "base" PRIORITY = "optional" PE = "1" -PR = "r2" +PR = "r3" SRC_URI = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz \ file://man.patch;apply=yes \
@@ -42,14 +42,17 @@ do_install() { } PACKAGES = "libiw-dbg ifrename-dbg ${PN}-dbg \ -libiw libiw-dev libiw-doc ifrename-doc ifrename ${PN} ${PN}-doc" +libiw libiw-dev libiw-doc libiw-staticdev ifrename-doc ifrename ${PN} ${PN}-doc" FILES_libiw-dbg = "${libdir}/.debug/*.so.*" FILES_ifrename-dbg = "${sbindir}/.debug/ifrename" FILES_libiw = "${libdir}/*.so.*" -FILES_libiw-dev = "${libdir}/*.a ${libdir}/*.so ${includedir}" +FILES_libiw-dev = "${libdir}/*.so ${includedir}" FILES_libiw-doc = "${mandir}/man7" +FILES_libiw-staticdev = "${libdir}/*.a" +RDEPENDS_libiw-staticdev = "libiw-dev (= ${EXTENDPKGV})" FILES_ifrename = "${sbindir}/ifrename" FILES_ifrename-doc = "${mandir}/man8/ifrename.8 ${mandir}/man5/iftab.5" FILES_${PN} = "${bindir} ${sbindir}/iw* ${base_sbindir} ${base_bindir} ${sysconfdir}/network" FILES_${PN}-doc = "${mandir}" +
meta/recipes-core/eglibc/eglibc-common.inc +1 -1
@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.eglibc.org/home" SECTION = "libs" PRIORITY = "required" LICENSE = "LGPL" -INC_PR = "r11" +INC_PR = "r12" LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \ file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
meta/recipes-core/eglibc/eglibc-package.inc +6 -3
@@ -20,7 +20,7 @@ USE_LDCONFIG ?= "1" PKGSUFFIX = "" PKGSUFFIX_virtclass-nativesdk = "-nativesdk" -PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils ${PN}-pic ${PN}-dev eglibc-doc libcidn libmemusage libsegfault${PKGSUFFIX} eglibc-extra-nss eglibc-thread-db${PKGSUFFIX} eglibc-pcprofile libsotruss${PKGSUFFIX}" +PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils ${PN}-pic ${PN}-dev ${PN}-staticdev eglibc-doc libcidn libmemusage libsegfault${PKGSUFFIX} eglibc-extra-nss eglibc-thread-db${PKGSUFFIX} eglibc-pcprofile libsotruss${PKGSUFFIX}" # Create a eglibc-binaries ALLOW_EMPTY_${PN}-binaries = "1"
@@ -50,6 +50,7 @@ RPROVIDES_eglibc-doc = "glibc-doc" RPROVIDES_eglibc-extra-nss = "glibc-extra-nss" RPROVIDES_eglibc-thread-db = "glibc-thread-db" RPROVIDES_eglibc-pcprofile = "glibc-pcprofile" +RPROVIDES_eglibc-staticdev = "glibc-staticdev" RPROVIDES_eglibc-dbg = "glibc-dbg" libc_baselibs = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so ${base_libdir}/libc.so.* ${base_libdir}/libc-*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so ${base_libdir}/ld*.so.* ${base_libdir}/ld-*.so ${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so ${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so ${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so ${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so ${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so ${base_libdir}/libnss_files*.so.* ${base_libdir}/libnss_files-*.so ${base_libdir}/libnss_compat*.so.* ${base_libdir}/libnss_compat-*.so ${base_libdir}/libnss_dns*.so.* ${base_libdir}/libnss_dns-*.so ${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so ${base_libdir}/libanl*.so.* ${base_libdir}/libanl-*.so ${base_libdir}/libBrokenLocale*.so.* ${base_libdir}/libBrokenLocale-*.so"
@@ -62,8 +63,10 @@ FILES_eglibc-extra-nss = "${base_libdir}/libnss*" FILES_sln = "/sbin/sln" FILES_eglibc-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/" FILES_libsotruss${PKGSUFFIX} = "${libdir}/audit/sotruss-lib.so" -FILES_eglibc-dev_append += "${bindir}/rpcgen ${libdir}/*.a \ - ${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal" +FILES_eglibc-dev_append = "${bindir}/rpcgen ${base_libdir}/*.o ${datadir}/aclocal ${libdir}/lib*_nonshared.a" +libc_staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_eglibc-staticdev_append = "${@oe_filter_out('lib.*_nonshared.a', '${libc_staticdev_libs}', d)}" +RDEPENDS_eglibc-staticdev = "eglibc-dev (= ${EXTENDPKGV})" FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd*" FILES_eglibc-utils = "${bindir}/* ${sbindir}/*" FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/audit/.debug"
meta/recipes-core/gettext/gettext_0.18.1.1.bb +8 -8
@@ -5,7 +5,7 @@ SECTION = "libs" LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -PR = "r0" +PR = "r1" DEPENDS = "gettext-native virtual/libiconv ncurses expat git-native" DEPENDS_virtclass-native = "git-native" PROVIDES = "virtual/libintl virtual/gettext"
@@ -50,7 +50,7 @@ acpaths = '-I ${S}/gettext-runtime/m4 \ # 1300 KiB /ep93xx/uclibc-dev_0.9.29-r8_ep93xx.ipk # 140 KiB /armv4t/gettext-dev_0.14.1-r6_armv4t.ipk # 4 KiB /ep93xx/libgcc-s-dev_4.2.2-r2_ep93xx.ipk -PACKAGES =+ "gettext-runtime gettext-runtime-dev gettext-runtime-doc" +PACKAGES =+ "gettext-runtime gettext-runtime-dev gettext-runtime-staticdev gettext-runtime-doc" FILES_gettext-runtime = "${bindir}/gettext \ ${bindir}/ngettext \
@@ -62,12 +62,12 @@ FILES_gettext-runtime = "${bindir}/gettext \ FILES_gettext-runtime_append_libc-uclibc = " ${libdir}/libintl.so* \ ${libdir}/charset.alias \ " -FILES_gettext-runtime-dev += "${libdir}/libasprintf.a \ - ${includedir}/autosprintf.h \ - " -FILES_gettext-runtime-dev_append_libc-uclibc = " ${libdir}/libintl.a \ - ${includedir}/libintl.h \ - " +FILES_gettext-runtime-dev += "${includedir}/autosprintf.h" +FILES_gettext-runtime-staticdev = "${libdir}/libasprintf.a" +FILES_gettext-runtime-dev_append_libc-uclibc = " ${includedir}/libintl.h" +FILES_gettext-runtime-staticdev_append_libc-uclibc = " ${libdir}/libintl.a" +RDEPENDS_gettext-runtime-staticdev = "gettext-runtime-dev (= ${EXTENDPKGV})" + FILES_gettext-runtime-doc = "${mandir}/man1/gettext.* \ ${mandir}/man1/ngettext.* \ ${mandir}/man1/envsubst.* \
meta/recipes-core/glibc/glibc-package.inc +6 -3
@@ -20,7 +20,7 @@ PKGSUFFIX_virtclass-nativesdk = "-nativesdk" PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} \ ldd${PKGSUFFIX} ${PN}-utils ${PN}-dev ${PN}-doc \ libsegfault${PKGSUFFIX} ${PN}-extra-nss ${PN}-thread-db \ - ${PN}-pcprofile" + ${PN}-pcprofile ${PN}-staticdev" libc_baselibs = "${base_libdir}/libc* ${base_libdir}/libm* ${base_libdir}/ld* \ ${base_libdir}/libpthread* ${base_libdir}/libresolv* ${base_libdir}/librt* \
@@ -37,8 +37,9 @@ glibcdbgfiles = "${bindir}/.debug ${sbindir}/.debug ${libdir}/.debug \ ${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug \ ${libdir}/gconv/.debug ${libexecdir}/*/.debug" glibcdevfiles = "${bindir}/rpcgen ${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \ - ${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal" + ${libdir}/*.o ${libdir}/pkgconfig ${base_libdir}/*.o ${datadir}/aclocal" + +glibcstaticdev = "${libdir}/*.a ${base_libdir}/*.a" FILES_glibc = "${glibcfiles}" FILES_${PN} = "${glibcfiles}"
@@ -48,6 +49,8 @@ FILES_glibc-extra-nss = "${base_libdir}/libnss*" FILES_sln = "${base_sbindir}/sln" FILES_glibc-dev = "${glibcdevfiles}" FILES_${PN}-dev = "${glibcdevfiles}" +FILES_glibc-staticdev = "${glibcstaticdev}" +FILES_${PN}-staticdev = "${glibcstaticdev}" FILES_glibc-dbg = "${glibcdbgfiles}" FILES_${PN}-dbg = "${glibcdbgfiles}" FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd* ${sysconfdir}/nscd* ${sysconfdir}/init.d/nscd*"
meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb +5 -3
@@ -18,7 +18,7 @@ PROVIDES = "\ virtual/linux-libc-headers " RPROVIDES = "glibc-utils libsegfault glibc-thread-db" PACKAGES_DYNAMIC = "glibc-gconv-*" -PR = "r1" +PR = "r2" #SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-${PV}-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2"
@@ -43,16 +43,18 @@ GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "compile" inherit libc-common inherit libc-package -PACKAGES += "libgcc libgcc-dev libstdc++ libstdc++-dev linux-libc-headers" +PACKAGES += "libgcc libgcc-dev libstdc++ libstdc++-dev libstdc++-staticdev linux-libc-headers" FILES_libgcc = "${base_libdir}/libgcc_s.so.1" FILES_libgcc-dev = "${base_libdir}/libgcc_s.so" FILES_libstdc++ = "${libdir}/libstdc++.so.*" FILES_libstdc++-dev = "${includedir}/c++/${PV} \ ${libdir}/libstdc++.so \ ${libdir}/libstdc++.la \ + ${libdir}/libsupc++.la" +FILES_libstdc++-staticdev = " \ ${libdir}/libstdc++.a \ - ${libdir}/libsupc++.la \ ${libdir}/libsupc++.a" +RDEPENDS_libstdc++-staticdev = "libstdc++-dev ( = ${EXTENDPKGV})" FILES_linux-libc-headers = "${includedir}/asm* \ ${includedir}/linux \ ${includedir}/mtd \
meta/recipes-core/uclibc/uclibc.inc +6 -3
@@ -14,7 +14,7 @@ PRIORITY = "required" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \ file://COPYING.LIB.boilerplate;md5=aaddeadcddeb918297e0e4afc52ce46f \ file://${S}/test/regex/testregex.c;startline=1;endline=31;md5=234efb227d0a40677f895e4a1e26e960" -INC_PR = "r2" +INC_PR = "r4" require uclibc-config.inc STAGINGCC = "gcc-cross-intermediate"
@@ -72,12 +72,15 @@ FILES_${PN} = "${sysconfdir} ${uclibc_baselibs} /sbin/ldconfig \ FILES_ldd = "${bindir}/ldd" FILES_uclibc-dev_append = "\ ${libdir}/lib*.so \ - ${libdir}/*_nonshared.a \ + ${libdir}/lib*_nonshared.a \ ${libdir}/[S]*crt[1in].o \ ${libdir}/crtreloc*.o \ - ${libdir}/lib*.a \ ${includedir}/*.h ${includedir}/*/*.h \ " + +uclibc-staticdev_libs = "${libdir}/lib*.a" +FILES_uclibc-staticdev_append = "${@oe_filter_out('lib.*_nonshared.a', '${uclibc_staticdev_libs}', d)}" + FILES_uclibc-utils = "${bindir} ${sbindir}" FILES_uclibc-utils-dbg += "${bindir}/.debug ${sbindir}/.debug" FILES_uclibc-gconv = "${libdir}/gconv"
meta/recipes-core/udev/udev-new.inc +10 -4
@@ -10,6 +10,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ file://libudev/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ file://extras/gudev/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" +INC_PR = "r3" + DEPENDS = "acl glib-2.0 libusb usbutils pciutils linux-libc-headers gperf-native libxslt-native" RPROVIDES_${PN} = "hotplug" RRECOMMENDS_${PN} += "udev-extraconf udev-cache usbutils-ids pciutils-ids"
@@ -35,8 +37,8 @@ libexecdir = "${base_libdir}/udev" EXTRA_OECONF = "--disable-introspection --with-rootlibdir=${base_libdir} \ --with-pci-ids-path=${datadir}/pci.ids" -PACKAGES =+ "udev-cache libudev libudev-dev libudev-dbg" -PACKAGES =+ "libgudev libgudev-dev libgudev-dbg" +PACKAGES =+ "udev-cache libudev libudev-dev libudev-dbg libudev-staticdev" +PACKAGES =+ "libgudev libgudev-dev libgudev-dbg libgudev-staticdev" INITSCRIPT_PACKAGES = "udev udev-cache" INITSCRIPT_NAME_udev = "udev"
@@ -50,11 +52,15 @@ FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc" FILES_libudev = "${base_libdir}/libudev.so.*" FILES_libudev-dbg = "${base_libdir}/.debug/libudev.so.*" FILES_libudev-dev = "${includedir}/libudev.h ${libdir}/libudev.so ${libdir}/libudev.la \ - ${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc" + ${libdir}/pkgconfig/libudev.pc" +FILES_libudev-staticdev = "${libdir}/libudev.a" +RDEPENDS_libudev-staticdev = "libudev-dev (= ${EXTENDPKGV})" FILES_libgudev = "${libdir}/libgudev*.so.*" FILES_libgudev-dbg = "${libdir}/.debug/libgudev*.so.*" FILES_libgudev-dev = "${includedir}/gudev* ${libdir}/libgudev*.so ${libdir}/libgudev*.la \ - ${libdir}/libgudev*.a ${libdir}/pkgconfig/gudev*.pc" + ${libdir}/pkgconfig/gudev*.pc" +FILES_libgudev-staticdev = "${libdir}/libgudev.a" +RDEPENDS_libgudev-staticdev = "libgudev-dev (= ${EXTENDPKGV})" FILES_udev-cache = "${sysconfdir}/init.d/udev-cache" do_install_append () {
meta/recipes-core/udev/udev_164.bb +1 -1
@@ -1,6 +1,6 @@ include udev-new.inc -PR = "r2" +PR = "${INC_PR}.0" SRC_URI[md5sum] = "fddac2d54761ea34865af9467377ca9f" SRC_URI[sha256sum] = "c12e66280b5e1465f6587a8cfa47d7405c4caa7e52ce5dd13478d04f6ec05e5c"
meta/recipes-core/util-linux/util-linux.inc +9 -2
@@ -13,6 +13,8 @@ LIC_FILES_CHKSUM = "file://README.licensing;md5=9c920d811858a74b67a36ba23cbaa95f file://licenses/COPYING.UCB;md5=263860f8968d8bafa5392cab74285262 \ file://getopt/COPYING;md5=8ca43cbc842c2336e835926c2166c28b" +INC_PR = "r3" + inherit autotools gettext pkgconfig DEPENDS = "zlib ncurses" DEPENDS_virtclass-native = " lzo-native"
@@ -28,7 +30,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux-ng/v${MAJOR_VERSION}/util- PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfdisk \ util-linux-swaponoff util-linux-losetup util-linux-umount \ util-linux-mount util-linux-readprofile util-linux-libblkid \ - util-linux-libblkid-dev util-linux-libuuid util-linux-libuuid-dev \ + util-linux-libblkid-dev util-linux-libblkid-staticdev \ + util-linux-libuuid util-linux-libuuid-dev util-linux-libuuid-staticdev \ util-linux-uuidgen util-linux-lscpu" EXTRA_OECONF = "--disable-use-tty-group --disable-makeinstall-chown --enable-elvtune --enable-init --enable-kill --enable-last \
@@ -50,8 +53,12 @@ FILES_util-linux-uuidgen = "${bindir}/uuidgen" FILES_util-linux-libblkid = "${libdir}/libblkid.so.*" FILES_util-linux-libblkid-dev = "${libdir}/libblkid.so ${libdir}/libblkid.a ${libdir}/libblkid.la ${includedir}/blkid" +FILES_util-linux-libblkid-staticdev = "${libdir}/libblkid.a" +RDEPENDS_util-linux-libblkid-staticdev = "util-linux-libblkid-dev (= ${EXTENDPKGV})" FILES_util-linux-libuuid = "${libdir}/libuuid.so.*" -FILES_util-linux-libuuid-dev = "${libdir}/libuuid.so ${libdir}/libuuid.a ${libdir}/libuuid.la ${includedir}/uuid" +FILES_util-linux-libuuid-staticdev = "${libdir}/libuuid.so ${libdir}/libuuid.a ${libdir}/libuuid.la ${includedir}/uuid" +FILES_util-linux-libuuid-staticdev = "${libdir}/libuuid.a" +RDEPENDS_util-linux-libuuid-staticdev = "util-linux-libuuid-dev (= ${EXTENDPKGV})" FILES_util-linux-lscpu = "${bindir}/lscpu" RRECOMMENDS_${PN} = "util-linux-fdisk util-linux-cfdisk util-linux-sfdisk util-linux-mount util-linux-readprofile "
meta/recipes-core/util-linux/util-linux_2.19.1.bb +1 -1
@@ -1,5 +1,5 @@ MAJOR_VERSION = "2.19" -PR = "r1" +PR = "${INC_PR}.0" require util-linux.inc # note that `lscpu' is under GPLv3+
meta/recipes-devtools/binutils/binutils-cross-canadian_2.21.bb +1 -1
@@ -1,3 +1,3 @@ require binutils_${PV}.bb require binutils-cross-canadian.inc -PR = "r0" +PR = "${INC_PR}.0"
meta/recipes-devtools/binutils/binutils-cross.inc +2 -0
@@ -1,6 +1,8 @@ inherit cross PROVIDES = "virtual/${TARGET_PREFIX}binutils" +INC_PR = "r2" + EXTRA_OECONF = "--with-sysroot=${STAGING_DIR_TARGET} \ --program-prefix=${TARGET_PREFIX} \ --disable-install-libbfd \
meta/recipes-devtools/binutils/binutils-cross_csl-arm-2008q1.bb +1 -1
@@ -1,3 +1,3 @@ require binutils_csl-arm-2008q1.bb require binutils-cross.inc -PR = "r1" +PR = "${INC_PR}.0"
meta/recipes-devtools/binutils/binutils-crosssdk_2.21.bb +1 -1
@@ -4,7 +4,7 @@ inherit crosssdk PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk" -PR = "r0" +PR = "${INC_PR}.0" do_configure_prepend () { sed -i 's#/usr/local/lib /lib /usr/lib#${SDKPATHNATIVE}/lib ${SDKPATHNATIVE}/usr/lib /usr/local/lib /lib /usr/lib#' ${S}/ld/configure.tgt
meta/recipes-devtools/binutils/binutils.inc +2 -7
@@ -11,6 +11,8 @@ BUGTRACKER = "http://sourceware.org/bugzilla/" SECTION = "devel" LICENSE = "GPLv3" +INC_PR = "r2" + DEPENDS = "flex-native bison-native zlib-native" inherit autotools gettext
@@ -22,13 +24,6 @@ FILES_${PN} = " \ ${libdir}/lib*-*.so \ ${prefix}/${TARGET_SYS}/bin/*" -FILES_${PN}-dev = " \ - ${includedir} \ - ${libdir}/*.a \ - ${libdir}/*.la \ - ${libdir}/libbfd.so \ - ${libdir}/libopcodes.so" - FILES_${PN}-symlinks = " \ ${bindir}/addr2line \ ${bindir}/as \
meta/recipes-devtools/binutils/binutils_2.21.bb +1 -1
@@ -1,6 +1,6 @@ require binutils.inc -PR = "r1" +PR = "${INC_PR}.0" LIC_FILES_CHKSUM="\ file://src-release;endline=17;md5=4830a9ef968f3b18dd5e9f2c00db2d35\
meta/recipes-devtools/gcc/gcc-package-runtime.inc +18 -7
@@ -3,14 +3,19 @@ PACKAGES = "\ libstdc++ \ libstdc++-precompile-dev \ libstdc++-dev \ + libstdc++-staticdev \ libg2c \ libg2c-dev \ + libg2c-staticdev \ libssp \ libssp-dev \ + libssp-staticdev \ libgfortran \ libgfortran-dev \ + libgfortran-staticdev \ libmudflap \ libmudflap-dev \ + libmudflap-staticdev \ " # The base package doesn't exist, so we clear the recommends. RRECOMMENDS_${PN}-dbg = ""
@@ -23,36 +28,42 @@ FILES_${PN}-dbg += "\ FILES_libg2c = "${target_libdir}/libg2c.so.*" FILES_libg2c-dev = "\ ${libdir}/libg2c.so \ +FILES_libg2c-staticdev = "\ ${libdir}/libg2c.a \ ${libdir}/libfrtbegin.a" - +RDEPENDS_libg2c-staticdev = "libg2c-dev (= ${EXTENDPKGV})" FILES_libstdc++ = "${libdir}/libstdc++.so.*" FILES_libstdc++-dev = "\ ${includedir}/c++/ \ ${libdir}/libstdc++.so \ ${libdir}/libstdc++.la \ - ${libdir}/libstdc++.a \ ${libdir}/libsupc++.la \ +FILES_libstdc++-staticdev = " \ + ${libdir}/libstdc++.a \ ${libdir}/libsupc++.a" +RDEPENDS_libstdc++-staticdev = "libstdc++-dev (= ${EXTENDPKGV})" FILES_libstdc++-precompile-dev = "${includedir}/c++/${TARGET_SYS}/bits/*.gch" FILES_libssp = "${libdir}/libssp.so.*" FILES_libssp-dev = " \ ${libdir}/libssp*.so \ - ${libdir}/libssp*.a \ ${libdir}/libssp*.la \ + ${libdir}/libssp_nonshared.a \ ${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ssp" +FILES_libssp-staticdev = "${libdir}/libssp.a" +RDEPENDS_libssp-staticdev = "libssp-dev (= ${EXTENDPKGV})" FILES_libgfortran = "${libdir}/libgfortran.so.*" -FILES_libgfortran-dev = " \ +FILES_libgfortran-dev = "${libdir}/libgfortran.so" +FILES_libgfortran-staticdev = " \ ${libdir}/libgfortran.a \ - ${libdir}/libgfortran.so \ ${libdir}/libgfortranbegin.a" +RDEPENDS_libfortran-staticdev = "libfortran-dev (= ${EXTENDPKGV})" FILES_libmudflap = "${libdir}/libmudflap*.so.*" FILES_libmudflap-dev = "\ ${libdir}/libmudflap*.so \ - ${libdir}/libmudflap*.a \ ${libdir}/libmudflap*.la" - +FILES_libmudflap-staticdev = "${libdir}/libmudflap*.a" +RDEPENDS_libmudflap-staticdev = "libmudflap-dev (= ${EXTENDPKGV})"
meta/recipes-devtools/gcc/libgcc_4.6.bb +1 -1
@@ -1,6 +1,6 @@ require gcc-${PV}.inc -PR = "r0" +PR = "r1" INHIBIT_DEFAULT_DEPS = "1" DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
meta/recipes-devtools/opkg/opkg_0.1.8.bb +5 -3
@@ -13,13 +13,15 @@ SRC_URI = "http://opkg.googlecode.com/files/opkg-${PV}.tar.gz \ file://headerfix.patch \ " -PR = "r4" +PR = "r5" -PACKAGES =+ "libopkg${PKGSUFFIX}-dev libopkg${PKGSUFFIX} update-alternatives-cworth${PKGSUFFIX}" +PACKAGES =+ "libopkg${PKGSUFFIX}-dev libopkg${PKGSUFFIX}-staticdev libopkg${PKGSUFFIX} update-alternatives-cworth${PKGSUFFIX}" FILES_update-alternatives-cworth${PKGSUFFIX} = "${bindir}/update-alternatives" -FILES_libopkg${PKGSUFFIX}-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so" FILES_libopkg${PKGSUFFIX} = "${libdir}/*.so.* ${localstatedir}/lib/opkg/" +FILES_libopkg${PKGSUFFIX}-dev = "${libdir}/*.la ${libdir}/*.so" +FILES_libopkg${PKGSUFFIX}-staticdev = "${libdir}/*.a" +RDEPENDS_libopkg${PKGSUFFIX}-staticdev = "libopkg${PKGSUFFIX}-dev (= ${EXTENDPKGV})" # We need to create the lock directory do_install_append() {
meta/recipes-devtools/opkg/opkg_svn.bb +5 -3
@@ -17,12 +17,14 @@ S = "${WORKDIR}/trunk" SRCREV = "609" PV = "0.1.8+svnr${SRCPV}" -PR = "r2" +PR = "r3" -PACKAGES =+ "libopkg${PKGSUFFIX}-dev libopkg${PKGSUFFIX} update-alternatives-cworth${PKGSUFFIX}" +PACKAGES =+ "libopkg${PKGSUFFIX}-dev libopkg${PKGSUFFIX}-staticdev libopkg${PKGSUFFIX} update-alternatives-cworth${PKGSUFFIX}" FILES_update-alternatives-cworth${PKGSUFFIX} = "${bindir}/update-alternatives" -FILES_libopkg${PKGSUFFIX}-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so" +FILES_libopkg${PKGSUFFIX}-dev = "${libdir}/*.la ${libdir}/*.so" +FILES_libopkg${PKGSUFFIX}-staticdev = "${libdir}/*.a" +RDEPENDS_libopkg${PKGSUFFIX}-staticdev = "libopkg${PKGSUFFIX}-dev (= ${EXTENDPKGV})" FILES_libopkg${PKGSUFFIX} = "${libdir}/*.so.* ${localstatedir}/lib/opkg/" # We need to create the lock directory
meta/recipes-devtools/python/python_2.6.6.bb +1 -3
@@ -1,7 +1,7 @@ require python.inc DEPENDS = "python-native db gdbm openssl readline sqlite3 zlib" DEPENDS_sharprom = "python-native db readline zlib gdbm openssl" -PR = "${INC_PR}.5" +PR = "${INC_PR}.6" LIC_FILES_CHKSUM = "file://LICENSE;md5=38fdd546420fab09ac6bd3d8a1c83eb6" DISTRO_SRC_URI ?= "file://sitecustomize.py"
@@ -121,10 +121,8 @@ FILES_${PN}-dev = "\ ${includedir} \ ${libdir}/lib*${SOLIBSDEV} \ ${libdir}/*.la \ - ${libdir}/*.a \ ${libdir}/*.o \ ${libdir}/pkgconfig \ - ${base_libdir}/*.a \ ${base_libdir}/*.o \ ${datadir}/aclocal \ ${datadir}/pkgconfig \
meta/recipes-devtools/rpm/rpm_5.4.0.bb +10 -8
@@ -45,7 +45,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1" DEPENDS = "bzip2 zlib db openssl elfutils expat libpcre attr acl popt ${extrarpmdeps}" extrarpmdeps = "python perl" extrarpmdeps_virtclass-native = "" -PR = "r17" +PR = "r18" # rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed # in order to extract the distribution SRPM into a format we can extract...
@@ -166,7 +166,7 @@ EXTRA_OECONF = "--verbose \ CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY" -PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-libs ${PN}-dev ${PN}-common ${PN}-build python-rpm-dbg python-rpm perl-module-rpm perl-module-rpm-dev ${PN}-locale" +PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-libs ${PN}-dev ${PN}-staticdev ${PN}-common ${PN}-build python-rpm-dbg python-rpm perl-module-rpm perl-module-rpm-dev ${PN}-locale" SOLIBS = "5.4.so"
@@ -301,26 +301,28 @@ FILES_perl-module-rpm-dev = "${prefix}/share/man/man3/RPM* \ " FILE_${PN}-dev = "${includedir}/rpm \ - ${libdir}/librpm.a \ ${libdir}/librpm.la \ ${libdir}/librpm.so \ - ${libdir}/librpmconstant.a \ ${libdir}/librpmconstant.la \ ${libdir}/librpmconstant.so \ - ${libdir}/librpmdb.a \ ${libdir}/librpmdb.la \ ${libdir}/librpmdb.so \ - ${libdir}/librpmio.a \ ${libdir}/librpmio.la \ ${libdir}/librpmio.so \ - ${libdir}/librpmmisc.a \ ${libdir}/librpmmisc.la \ ${libdir}/librpmmisc.so \ - ${libdir}/librpmbuild.a \ ${libdir}/librpmbuild.la \ ${libdir}/librpmbuild.so \ ${libdir}/pkgconfig/rpm.pc \ " +FILE_${PN}-staticdev = " \ + ${libdir}/librpm.a \ + ${libdir}/librpmconstant.a \ + ${libdir}/librpmdb.a \ + ${libdir}/librpmio.a \ + ${libdir}/librpmmisc.a \ + ${libdir}/librpmbuild.a \ + " ###%{_rpmhome}/lib/libxar.a ###%{_rpmhome}/lib/libxar.la
meta/recipes-extended/augeas/augeas.inc +2 -5
@@ -9,14 +9,11 @@ SRC_URI = "http://augeas.net/download/${BP}.tar.gz" DEPENDS = "readline" -inherit autotools +inherit autotools libdev -PACKAGES =+ "${PN}-lenses lib${PN} lib${PN}-dev lib${PN}-dbg" +PACKAGES =+ "${PN}-lenses" FILES_${PN}-lenses = "${datadir}/augeas/lenses" -FILES_lib${PN} = "${libdir}/*.so.*" -FILES_lib${PN}-dev = "${libdir}/*.so ${libdir}/*.a ${libdir}/*.la ${includedir} ${libdir}/pkgconfig" -FILES_lib${PN}-dbg = "${libdir}/.debug" RDEPENDS_lib${PN} += "${PN}-lenses" RRECOMMENDS_lib${PN} += "${PN}"
meta/recipes-extended/augeas/augeas_0.8.1.bb +1 -1
@@ -1,6 +1,6 @@ require augeas.inc -PR = "r0" +PR = "r1" SRC_URI[md5sum] = "62d47bdc60e175f93aed3b81cb8e2785" SRC_URI[sha256sum] = "916fef67e8eed6d1abe02433830301bd01dfc8228e9cfffb490347545155c4d7"
meta/recipes-extended/gamin/gamin_0.1.10.bb +2 -11
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=412a9be54757a155d0b997b52b519f62" DEPENDS = "glib-2.0" PROVIDES = "fam" -PR = "r3" +PR = "r4" SRC_URI = "http://www.gnome.org/~veillard/gamin/sources/gamin-${PV}.tar.gz \ file://no-abstract-sockets.patch"
@@ -16,18 +16,9 @@ SRC_URI = "http://www.gnome.org/~veillard/gamin/sources/gamin-${PV}.tar.gz \ SRC_URI[md5sum] = "b4ec549e57da470c04edd5ec2876a028" SRC_URI[sha256sum] = "28085f0ae8be10eab582ff186af4fb0be92cc6c62b5cc19cd09b295c7c2899a1" -inherit autotools pkgconfig +inherit autotools pkgconfig libdev EXTRA_OECONF = "--without-python" -PACKAGES += "lib${PN} lib${PN}-dev" -FILES_${PN} = "${libexecdir}" -FILES_${PN}-dbg += "${libexecdir}/.debug" -FILES_lib${PN} = "${libdir}/lib*.so.*" -FILES_lib${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/lib*.la \ - ${libdir}/lib*.a ${libdir}/lib*.so" - -RDEPENDS_lib${PN} = "${PN}" - LEAD_SONAME = "libgamin-1.so"
meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb +6 -3
@@ -6,13 +6,16 @@ SECTION = "console/network" LICENSE = "tcp-wrappers" LIC_FILES_CHKSUM = "file://DISCLAIMER;md5=071bd69cb78b18888ea5e3da5c3127fa" -PR ="r0" +PR ="r1" -PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev tcp-wrappers tcp-wrappers-doc" +PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev libwrap-staticdev \ + tcp-wrappers tcp-wrappers-doc" FILES_libwrap = "${base_libdir}/lib*.so.*" FILES_libwrap-doc = "${mandir}/man3 ${mandir}/man5" -FILES_libwrap-dev = "${libdir}/lib*.so ${libdir}/lib*.a ${includedir}" +FILES_libwrap-dev = "${libdir}/lib*.so ${includedir}" +FILES_libwrap-staticdev = "${libdir}/lib*.a" +RDEPENDS_libwrap-staticdev = "libwrap-dev (= ${EXTENDPKGV})" FILES_tcp-wrappers = "${bindir}" FILES_tcp-wrappers-doc = "${mandir}/man8"
meta/recipes-graphics/cairo/cairo_1.10.2.bb +5 -4
@@ -2,7 +2,7 @@ require cairo.inc LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" -PR = "r0" +PR = "r1" SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz"
@@ -19,7 +19,7 @@ ALLOW_EMPTY = "1" # debian_package_name_hook. To keep backword compatibility, # it is necessary to explicitly name the package as libcairo2 here # -PACKAGES =+ "libcairo2 libcairo2-dev libcairo2-dbg \ +PACKAGES =+ "libcairo2 libcairo2-dev libcairo2-dbg libcairo2-staticdev \ libcairo-gobject2 \ libcairo-script-interpreter2 \ cairo-perf-utils \
@@ -45,9 +45,10 @@ to replay rendering." DESCRIPTION_cairo-perf-utils = "The Cairo library performance utilities" FILES_libcairo2 = "${libdir}/libcairo.so*" -FILES_libcairo2-dev = "${includedir} ${libdir}/*.la ${libdir}/*.a \ - ${libdir}/*.o ${libdir}/pkgconfig" +FILES_libcairo2-dev = "${includedir} ${libdir}/*.la ${libdir}/*.o ${libdir}/pkgconfig" FILES_libcairo2-dbg = "${libdir}/.debug ${libdir}/cairo/.debug" +FILES_libcairo2-staticdev = "${libdir}/*.a" +RDEPENDS_libcairo2-staticdev = "libcairo2-dev (= ${EXTENDPKGV})" FILES_libcairo-gobject2 = "${libdir}/libcairo-gobject.so*" FILES_libcairo-script-interpreter2 = "${libdir}/libcairo-script-interpreter.so*" FILES_cairo-perf-utils = "${bindir}/cairo-trace ${libdir}/cairo/libcairo-trace.*"
meta/recipes-graphics/xorg-lib/libxft_2.2.0.bb +2 -5
@@ -18,7 +18,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=90b90b60eb30f65fc9c2673d7cf59e24" DEPENDS += "libxrender freetype fontconfig" PROVIDES = "xft" -PR = "r0" +PR = "r1" PE = "1" XORG_PN = "libXft"
@@ -28,10 +28,7 @@ python () { bb.data.setVar('PKG_${PN}', 'libxft2', d) } -FILES_${PN} = "${libdir}/lib*${SOLIBS}" -FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/*.a ${libdir}/pkgconfig \ - ${datadir}/aclocal ${bindir} ${sbindir}" +FILES_${PN}-dev += "${bindir} ${sbindir}" SRC_URI[md5sum] = "cce3c327258116493b753f157e0360c7" SRC_URI[sha256sum] = "c8685ae56da0c1dcc2bc1e34607e7d76ae98b86a1a71baba3a6b76dbcf5ff9b2"
meta/recipes-multimedia/liba52/liba52_0.7.4.bb +1 -3
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ file://include/a52.h;beginline=1;endline=12;md5=81152ceb3562bf20a60d1b6018175dd1" SECTION = "libs" PRIORITY = "optional" -PR = "r3" +PR = "r4" inherit autotools
@@ -20,7 +20,5 @@ EXTRA_OECONF = " --enable-shared " PACKAGES =+ "a52dec a52dec-doc" -FILES_${PN} = " ${libdir}/liba52.so.0 ${libdir}/liba52.so.0.0.0 " -FILES_${PN}-dev = " ${includedir}/a52dec/*.h ${libdir}/liba52.so ${libdir}/liba52.la ${libdir}/liba52.a " FILES_a52dec = " ${bindir}/* " FILES_a52dec-doc = " ${mandir}/man1/* "
meta/recipes-support/attr/acl_2.2.51.bb +1 -1
@@ -1,6 +1,6 @@ require acl.inc -PR = "r0" +PR = "r2" SRC_URI[md5sum] = "3fc0ce99dc5253bdcce4c9cd437bc267" SRC_URI[sha256sum] = "06854521cf5d396801af7e54b9636680edf8064355e51c07657ec7442a185225"
meta/recipes-support/attr/attr_2.4.46.bb +1 -1
@@ -1,6 +1,6 @@ require attr.inc -PR = "r0" +PR = "r2" SRC_URI[md5sum] = "db557c17fdfa4f785333ecda08654010" SRC_URI[sha256sum] = "dcd69bdca7ff166bc45141eddbcf21967999a6b66b0544be12a1cc2fd6340e1f"
meta/recipes-support/attr/ea-acl.inc +1 -15
@@ -3,7 +3,7 @@ SRC_URI += "file://relative-libdir.patch;striplevel=0 \ " -inherit autotools gettext +inherit autotools gettext libdev # the package comes with a custom config.h.in, it cannot be # overwritten by autoheader
@@ -16,19 +16,5 @@ do_install () { oe_runmake install install-lib install-dev DIST_ROOT="${D}" } -PACKAGES =+ "lib${PN} lib${PN}-dev lib${PN}-doc" - -FILES_lib${PN} = "${base_libdir}/lib*.so.*" - -FILES_lib${PN}-dev = "${includedir} \ - ${libdir}/lib*.so \ - ${libdir}/lib*.a \ - ${libdir}/lib*.la \ - ${base_libdir}/lib*.so \ - ${base_libdir}/lib*.a \ - ${base_libdir}/lib*.la" - -FILES_lib${PN}-doc = "${mandir}/man2 \ - ${mandir}/man3" BBCLASSEXTEND = "native"
meta/recipes-support/curl/curl_7.21.6.bb +6 -11
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;beginline=7;md5=3a34942f4ae3fbf1a303160714e66 DEPENDS = "zlib gnutls" DEPENDS_virtclass-native = "zlib-native" DEPENDS_virtclass-nativesdk = "zlib-nativesdk" -PR = "r0" +PR = "r2" SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \ file://noldlibpath.patch \
@@ -17,7 +17,7 @@ SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \ SRC_URI[md5sum] = "6611989a81ebd7b03a35adc3001ddee0" SRC_URI[sha256sum] = "d9a3d3593796147ad9ca994c9e6834a42b49756420a10e996dbf849495d3d955" -inherit autotools pkgconfig binconfig +inherit autotools pkgconfig binconfig libdev EXTRA_OECONF = "--with-zlib=${STAGING_LIBDIR}/../ \ --without-ssl \
@@ -36,7 +36,7 @@ do_configure_prepend() { sed -i s:OPT_GNUTLS/bin:OPT_GNUTLS:g configure.ac } -PACKAGES += "${PN}-certs libcurl libcurl-dev libcurl-doc" +PACKAGES += "${PN}-certs" FILES_${PN} = "${bindir}/curl"
@@ -45,17 +45,12 @@ PACKAGE_ARCH_${PN}-certs = "all" FILES_${PN}-doc = "${mandir}/man1/curl.1" -FILES_lib${PN} = "${libdir}/lib*.so.*" RRECOMMENDS_lib${PN} += "${PN}-certs" -FILES_lib${PN}-dev = "${includedir} \ - ${libdir}/lib*.so \ - ${libdir}/lib*.a \ - ${libdir}/lib*.la \ - ${libdir}/pkgconfig \ +FILES_lib${PN}-dev =+ "${libdir}/pkgconfig \ ${datadir}/aclocal \ ${bindir}/*-config" -FILES_lib${PN}-doc = "${mandir}/man3 \ - ${mandir}/man1/curl-config.1" + +FILES_lib${PN}-doc =+ "${mandir}/man1/curl-config.1" BBCLASSEXTEND = "native nativesdk"
meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb +2 -3
@@ -5,7 +5,7 @@ SECTION = "libs" # the package is licensed under either of the following LICENSE = "MPL-1 | GPLv2+ | LGPLv2.1+" LIC_FILES_CHKSUM = "file://jsapi.c;beginline=4;endline=39;md5=347c6bbf4fb4547de1fa5ad830030063" -PR = "r2" +PR = "r4" SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz \ file://link_with_gcc.patch \
@@ -46,6 +46,5 @@ do_install() { install -m 0644 ${S}/jsproto.tbl ${D}${includedir}/js } -FILES_${PN} = "${libdir}/lib*.so" -FILES_${PN}-dev = "${includedir} ${libdir}/lib*.a" +FILE_${PN} = "${libdir}/lib*.so"
meta/recipes-support/sqlite/sqlite3.inc +2 -8
@@ -6,7 +6,7 @@ DEPENDS = "readline ncurses" DEPENDS_virtclass-native = "" LICENSE = "PD" -inherit autotools pkgconfig +inherit autotools pkgconfig libdev EXTRA_OECONF = "--disable-tcl --enable-shared --enable-threadsafe" EXTRA_OECONF_virtclass-native = "--disable-tcl --enable-shared --enable-threadsafe --disable-readline --enable-tempstore"
@@ -18,12 +18,6 @@ export config_TARGET_LINK = "${CCLD}" export config_TARGET_CFLAGS = "${CFLAGS}" export config_TARGET_LFLAGS = "${LDFLAGS}" -PACKAGES = "lib${PN} lib${PN}-dev lib${PN}-doc ${PN} ${PN}-dbg" -FILES_${PN} = "${bindir}/*" -FILES_lib${PN} = "${libdir}/*.so.*" -FILES_lib${PN}-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so \ - ${libdir}/pkgconfig ${includedir}" -FILES_lib${PN}-doc = "${docdir} ${mandir} ${infodir}" -AUTO_LIBNAME_PKGS = "lib${PN}" +FILES_lib${PN}-doc += "${docdir} ${mandir} ${infodir}" BBCLASSEXTEND = "native nativesdk"
meta/recipes-support/sqlite/sqlite3_3.7.6.2.bb +1 -1
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=65f0a57ca6928710b418c094b357 SRC_URI = "http://www.sqlite.org/sqlite-autoconf-3070602.tar.gz" S = "${WORKDIR}/sqlite-autoconf-3070602" -PR = "r0" +PR = "r2" SRC_URI[md5sum] = "f16c08617968b4087b3d591fd575f59f" SRC_URI[sha256sum] = "53aa66f30d8ff87230d4173b7979814432b8084da77fba05992223f76593fc81"
Signature · 1 line
1.7.3.4
PATCH 2/2 systemtap: add sqlite3 to DEPENDS
--- meta/recipes-kernel/systemtap/systemtap_git.bb | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-kernel/systemtap/systemtap_git.bb +1 -1
@@ -2,7 +2,7 @@ DESCRIPTION = "SystemTap - script-directed dynamic tracing and performance analy LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "elfutils" +DEPENDS = "elfutils sqlite3" SRCREV = "4ab3a1863bf4f472acae7a809bf2b38d91658aa8" PR = "r3"
Signature · 1 line
1.7.3.4
Richard Purdie
AppliedRe: [PATCH 2/2] systemtap: add sqlite3 to DEPENDS
Quoted 4 lines · Saul Wold
Signed-off-by Saul Wold <[email protected]>--- meta/recipes-kernel/systemtap/systemtap_git.bb | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
Merged to master, thanks.
Richard
Re: [PATCH 1/2] multiple recipes converted to -staticdev packages
In reply to Saul WoldReview
Quoted 2 lines · Saul Wold
(quoted diff) +2
-0+staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${staticdev_libs}', d)}"
Does that actually work? I wouldn't have expected the pattern to get globbed early enough for the oe_filter_out to have any effect.
p.
Re: [PATCH 1/2] multiple recipes converted to -staticdev packages
Quoted 7 lines · Phil Blundell
Review
Quoted 2 lines · Saul Wold
(quoted diff) +2
-0+staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${staticdev_libs}', d)}"Does that actually work? I wouldn't have expected the pattern to get globbed early enough for the
oe_filter_outto have any effect.
Yes it does, I have tested it.
Sau!
Quoted 9 lines
p.
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [PATCH 1/2] multiple recipes converted to -staticdev packages
Quoted 9 lines · Saul Wold
Quoted 7 lines · Phil Blundell
Review
Quoted 2 lines · Saul Wold
(quoted diff) +2
-0+staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${staticdev_libs}', d)}"Does that actually work? I wouldn't have expected the pattern to get globbed early enough for the
oe_filter_outto have any effect.Yes it does, I have tested it.
That's interesting. Do you know where the glob is taking place? I thought it didn't happen until after FILES was expanded and split inside populate_packages.
p.
Re: [PATCH 1/2] multiple recipes converted to -staticdev packages
In reply to Saul WoldHi Saul,
I'm still not 100% sure this patch is the right way to go or not. Let me ask some specific questions below.
Quoted 64 lines · Saul Wold
This commit adds a new base package ${PN}-staticdev to bitbake.conf which pulls in the static *.a libraries as a seperate package, it filters out the nonshared.a libraries where appropriate.
Additional this commit adds a new libdev.bbclass which provides a set of macros and variables to convert ${PN} to lib${PN}, which a number of recipes where then converted to use.
PR bumps all around
Signed-off-by Saul Wold <[email protected]>--- meta/classes/lib_package.bbclass | 10 ++++- meta/classes/libdev.bbclass | 44 ++++++++++++++++++++ meta/conf/bitbake.conf | 8 +++- meta/recipes-bsp/pciutils/pciutils_3.1.7.bb | 7 ++- .../wireless-tools/wireless-tools_29.bb | 9 +++- meta/recipes-core/eglibc/eglibc-common.inc | 2 +- meta/recipes-core/eglibc/eglibc-package.inc | 9 +++- meta/recipes-core/gettext/gettext_0.18.1.1.bb | 16 ++++---- meta/recipes-core/glibc/glibc-package.inc | 9 +++- .../meta/external-csl-toolchain_2008q3-72.bb | 8 ++- meta/recipes-core/uclibc/uclibc.inc | 9 +++- meta/recipes-core/udev/udev-new.inc | 14 ++++-- meta/recipes-core/udev/udev_164.bb | 2 +- meta/recipes-core/util-linux/util-linux.inc | 11 ++++- meta/recipes-core/util-linux/util-linux_2.19.1.bb | 2 +- .../binutils/binutils-cross-canadian_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils-cross.inc | 2 + .../binutils/binutils-cross_csl-arm-2008q1.bb | 2 +- .../binutils/binutils-crosssdk_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils.inc | 9 +--- meta/recipes-devtools/binutils/binutils_2.21.bb | 2 +- meta/recipes-devtools/gcc/gcc-package-runtime.inc | 25 ++++++++--- meta/recipes-devtools/gcc/libgcc_4.6.bb | 2 +- meta/recipes-devtools/opkg/opkg_0.1.8.bb | 8 ++- meta/recipes-devtools/opkg/opkg_svn.bb | 8 ++- meta/recipes-devtools/python/python_2.6.6.bb | 4 +- meta/recipes-devtools/rpm/rpm_5.4.0.bb | 18 ++++---- meta/recipes-extended/augeas/augeas.inc | 7 +-- meta/recipes-extended/augeas/augeas_0.8.1.bb | 2 +- meta/recipes-extended/gamin/gamin_0.1.10.bb | 13 +----- .../tcp-wrappers/tcp-wrappers_7.6.bb | 9 +++- meta/recipes-graphics/cairo/cairo_1.10.2.bb | 9 ++-- meta/recipes-graphics/xorg-lib/libxft_2.2.0.bb | 7 +-- meta/recipes-multimedia/liba52/liba52_0.7.4.bb | 4 +- meta/recipes-support/attr/acl_2.2.51.bb | 2 +- meta/recipes-support/attr/attr_2.4.46.bb | 2 +- meta/recipes-support/attr/ea-acl.inc | 16 +------- meta/recipes-support/curl/curl_7.21.6.bb | 17 +++----- meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb | 5 +- meta/recipes-support/sqlite/sqlite3.inc | 10 +---- meta/recipes-support/sqlite/sqlite3_3.7.6.2.bb | 2 +- 41 files changed, 203 insertions(+), 146 deletions(-) create mode 100644 meta/classes/libdev.bbclassmeta/classes/lib_package.bbclass +0
-0@@ -5,6 +5,12 @@ FILES_${PN} = "${libexecdir} ${libdir}/lib*${SOLIBS} \ ${base_libdir}/*${SOLIBS} \ ${datadir}/${PN} ${libdir}/${PN}"
meta/classes/lib_package.bbclass FILES_${PN} = "${libexecdir} ${libdir}/lib*${SOLIBS} \ · line 14
Quoted 10 lines
meta/classes/lib_package.bbclass +6
-2FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/*.o ${libdir}/pkgconfig /lib/*.o \ - ${datadir}/aclocal ${bindir}/*-config" + ${libdir}/*.o ${libdir}/pkgconfig /lib/*.o \ + ${datadir}/aclocal ${bindir}/*-config \ + ${libdir}/*_nonshared.a" FILES_${PN}-bin = "${bindir}/* ${sbindir}/* /bin/* /sbin/*" + +staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${staticdev_libs}', d)}"
As Phil says, I'm not sure this works and since the nonshared.a thing is a *libc thing its probably not worth adding this complexity to the core but just work putting it in the *libc packaging code.
Quoted 40 lines
meta/classes/libdev.bbclass new file +34
-0@@ -0,0 +1,44 @@ +# +# This bbclass it a common case for lib${PN}*.a static libraries +# + +SUMMARY_lib${PN}-dbg ?= "${SUMMARY} - Debugging files" +DESCRIPTION_lib${PN}-dbg ?= "${DESCRIPTION} \ +This package contains ELF symbols and related sources for debugging purposes." + +SUMMARY_lib${PN}-dev ?= "${SUMMARY} - Development files" +DESCRIPTION_lib${PN}-dev ?= "${DESCRIPTION} \ +This package contains symbolic links, header files, and \ +related items necessary for software development." + +SUMMARY_lib${PN}-doc ?= "${SUMMARY} - Documentation files" +DESCRIPTION_lib${PN}-doc ?= "${DESCRIPTION} This package contains documentation." + +SUMMARY_lib${PN}-staticdev ?= "${SUMMARY} - Development files (Static Libraries)" +DESCRIPTION_lib${PN}-staticdev?= "${DESCRIPTION} \ +This package contains static libraries for software development." + +PACKAGES =+ "lib${PN} lib${PN}-dev lib${PN}-doc lib${PN}-staticdev" + +FILES_lib${PN} = "${base_libdir}/lib*.so.* ${libdir}/lib*.so.*" +RDEPENDS_lib${PN} = "${PN}" + +FILES_lib${PN}-dev = "${includedir} \ + ${libdir}/lib*.so \ + ${libdir}/lib*_nonshared.a \ + ${libdir}/lib*.la \ + ${libdir}/pkgconfig \ + ${base_libdir}/lib*.so \ + ${base_libdir}/lib*_nonshared.a \ + ${base_libdir}/lib*.la" +
meta/classes/libdev.bbclass line 44
Quoted 10 lines
meta/classes/libdev.bbclass new file +10
-0+ +FILES_lib${PN}-doc = "${mandir}/man2 \ + ${mandir}/man3" + +lib_staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_lib${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${lib_staticdev_libs}', d)}" + + +SECTION_lib${PN}-staticdev = "devel" +RDEPENDS_lib${PN}-staticdev = "lib${PN}-dev (= ${EXTENDPKGV})"
This file is doing *way* more than just some static lib packaging.
I'm totally in favour of splitting out libraries where it makes sense but do we have strong usecases for standalone -doc, -dev, -dbg or -staticdev packaging?
Also, how does this compare to the the other lib_package.bbclass or whatever its called?
meta/conf/bitbake.conf SECTION_${PN}-doc = "doc" · line 257
Quoted 12 lines
meta/conf/bitbake.conf +3
-1@@ -252,12 +252,16 @@ SECTION_${PN}-doc = "doc" FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig \ - ${datadir}/aclocal ${base_libdir}/*.o" + ${datadir}/aclocal ${base_libdir}/*.o \ + ${libdir}/lib*_nonshared.a ${base_libdir}/lib*_nonshared.a" +
Adding libc* specifics into the core? :/
Quoted 25 lines
meta/conf/bitbake.conf +3
-1SECTION_${PN}-dev = "devel" ALLOW_EMPTY_${PN}-dev = "1" RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})" -FILES_${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a" +staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${staticdev_libs}', d)}" + SECTION_${PN}-staticdev = "devel" RDEPENDS_${PN}-staticdev = "${PN}-dev (= ${EXTENDPKGV})"meta/recipes-bsp/pciutils/pciutils_3.1.7.bb +1
-1@@ -9,7 +9,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" DEPENDS = "zlib" RDEPENDS_${PN} = "${PN}-ids" -PR = "r1" +PR = "r2" SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.bz2 \ file://configure.patch \
meta/recipes-bsp/pciutils/pciutils_3.1.7.bb do_install () { · line 52
Quoted 5 lines
meta/recipes-bsp/pciutils/pciutils_3.1.7.bb +1
-1@@ -49,9 +49,12 @@ do_install () { ln -s ../sbin/lspci ${D}${bindir}/lspci } -PACKAGES =+ "pciutils-ids libpci libpci-dev libpci-dbg" +PACKAGES =+ "pciutils-ids libpci libpci-dev libpci-dbg libpci-staticdev"
When would you need a libpci-staticdev instead of pciutils-staticdev?
Quoted 76 lines
meta/recipes-bsp/pciutils/pciutils_3.1.7.bb +3
-0FILES_pciutils-ids = "${datadir}/pci.ids*" FILES_libpci = "${libdir}/libpci.so.*" FILES_libpci-dbg = "${libdir}/.debug" FILES_libpci-dev = "${libdir}/libpci.a ${libdir}/libpci.la ${libdir}/libpci.so \ ${includedir}/pci ${libdir}/pkgconfig" +FILES_libpci-staticdev = "${libdir}/libpci.a" +RDEPENDS_libpci-staticdev = "libpci-dev (= ${EXTENDPKGV})" +meta/recipes-connectivity/wireless-tools/wireless-tools_29.bb +6
-3@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ SECTION = "base" PRIORITY = "optional" PE = "1" -PR = "r2" +PR = "r3" SRC_URI = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz \ file://man.patch;apply=yes \@@ -42,14 +42,17 @@ do_install() { } PACKAGES = "libiw-dbg ifrename-dbg ${PN}-dbg \ -libiw libiw-dev libiw-doc ifrename-doc ifrename ${PN} ${PN}-doc" +libiw libiw-dev libiw-doc libiw-staticdev ifrename-doc ifrename ${PN} ${PN}-doc" FILES_libiw-dbg = "${libdir}/.debug/*.so.*" FILES_ifrename-dbg = "${sbindir}/.debug/ifrename" FILES_libiw = "${libdir}/*.so.*" -FILES_libiw-dev = "${libdir}/*.a ${libdir}/*.so ${includedir}" +FILES_libiw-dev = "${libdir}/*.so ${includedir}" FILES_libiw-doc = "${mandir}/man7" +FILES_libiw-staticdev = "${libdir}/*.a" +RDEPENDS_libiw-staticdev = "libiw-dev (= ${EXTENDPKGV})" FILES_ifrename = "${sbindir}/ifrename" FILES_ifrename-doc = "${mandir}/man8/ifrename.8 ${mandir}/man5/iftab.5" FILES_${PN} = "${bindir} ${sbindir}/iw* ${base_sbindir} ${base_bindir} ${sysconfdir}/network" FILES_${PN}-doc = "${mandir}" +meta/recipes-core/eglibc/eglibc-common.inc +1
-1@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.eglibc.org/home" SECTION = "libs" PRIORITY = "required" LICENSE = "LGPL" -INC_PR = "r11" +INC_PR = "r12" LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \ file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \meta/recipes-core/eglibc/eglibc-package.inc +2
-1@@ -20,7 +20,7 @@ USE_LDCONFIG ?= "1" PKGSUFFIX = "" PKGSUFFIX_virtclass-nativesdk = "-nativesdk" -PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils ${PN}-pic ${PN}-dev eglibc-doc libcidn libmemusage libsegfault${PKGSUFFIX} eglibc-extra-nss eglibc-thread-db${PKGSUFFIX} eglibc-pcprofile libsotruss${PKGSUFFIX}" +PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils ${PN}-pic ${PN}-dev ${PN}-staticdev eglibc-doc libcidn libmemusage libsegfault${PKGSUFFIX} eglibc-extra-nss eglibc-thread-db${PKGSUFFIX} eglibc-pcprofile libsotruss${PKGSUFFIX}" # Create a eglibc-binaries ALLOW_EMPTY_${PN}-binaries = "1"@@ -50,6 +50,7 @@ RPROVIDES_eglibc-doc = "glibc-doc" RPROVIDES_eglibc-extra-nss = "glibc-extra-nss" RPROVIDES_eglibc-thread-db = "glibc-thread-db" RPROVIDES_eglibc-pcprofile = "glibc-pcprofile" +RPROVIDES_eglibc-staticdev = "glibc-staticdev" RPROVIDES_eglibc-dbg = "glibc-dbg" libc_baselibs = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so ${base_libdir}/libc.so.* ${base_libdir}/libc-*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so ${base_libdir}/ld*.so.* ${base_libdir}/ld-*.so ${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so ${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so ${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so ${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so ${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so ${base_libdir}/libnss_files*.so.* ${base_libdir}/libnss_files-*.so ${base_libdir}/libnss_compat*.so.* ${base_libdir}/libnss_compat-*.so ${base_libdir}/libnss_dns*.so.* ${base_libdir}/libnss_dns-*.so ${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so ${base_libdir}/libanl*.so.* ${base_libdir}/libanl-*.so ${base_libdir}/libBrokenLocale*.so.* ${base_libdir}/libBrokenLocale-*.so"
meta/recipes-core/eglibc/eglibc-package.inc FILES_eglibc-extra-nss = "${base_libdir}/libnss*" · line 69
Quoted 9 lines
meta/recipes-core/eglibc/eglibc-package.inc +4
-2@@ -62,8 +63,10 @@ FILES_eglibc-extra-nss = "${base_libdir}/libnss*" FILES_sln = "/sbin/sln" FILES_eglibc-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/" FILES_libsotruss${PKGSUFFIX} = "${libdir}/audit/sotruss-lib.so" -FILES_eglibc-dev_append += "${bindir}/rpcgen ${libdir}/*.a \ - ${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal" +FILES_eglibc-dev_append = "${bindir}/rpcgen ${base_libdir}/*.o ${datadir}/aclocal ${libdir}/lib*_nonshared.a" +libc_staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_eglibc-staticdev_append = "${@oe_filter_out('lib.*_nonshared.a', '${libc_staticdev_libs}', d)}" +RDEPENDS_eglibc-staticdev = "eglibc-dev (= ${EXTENDPKGV})"
Just to be clear on the trick to use here, you need to put the package containing lib.*_nonshared.a aghead of ${PN}-staticdev in PACKAGES. If you do that I suspect a lot of your problems with this code will go away and things will become simpler. Files go into the first matching package in PACKAGES.
Cheers,
Richard
Re: [PATCH 1/2] multiple recipes converted to -staticdev packages
Quoted 76 lines · Richard Purdie
Hi Saul,
I'm still not 100% sure this patch is the right way to go or not. Let me ask some specific questions below.
Quoted 70 lines · Saul Wold
This commit adds a new base package ${PN}-staticdev to bitbake.conf which pulls in the static *.a libraries as a seperate package, it filters out the nonshared.a libraries where appropriate.
Additional this commit adds a new libdev.bbclass which provides a set of macros and variables to convert ${PN} to lib${PN}, which a number of recipes where then converted to use.
PR bumps all around
Signed-off-by Saul Wold<[email protected]>--- meta/classes/lib_package.bbclass | 10 ++++- meta/classes/libdev.bbclass | 44 ++++++++++++++++++++ meta/conf/bitbake.conf | 8 +++- meta/recipes-bsp/pciutils/pciutils_3.1.7.bb | 7 ++- .../wireless-tools/wireless-tools_29.bb | 9 +++- meta/recipes-core/eglibc/eglibc-common.inc | 2 +- meta/recipes-core/eglibc/eglibc-package.inc | 9 +++- meta/recipes-core/gettext/gettext_0.18.1.1.bb | 16 ++++---- meta/recipes-core/glibc/glibc-package.inc | 9 +++- .../meta/external-csl-toolchain_2008q3-72.bb | 8 ++- meta/recipes-core/uclibc/uclibc.inc | 9 +++- meta/recipes-core/udev/udev-new.inc | 14 ++++-- meta/recipes-core/udev/udev_164.bb | 2 +- meta/recipes-core/util-linux/util-linux.inc | 11 ++++- meta/recipes-core/util-linux/util-linux_2.19.1.bb | 2 +- .../binutils/binutils-cross-canadian_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils-cross.inc | 2 + .../binutils/binutils-cross_csl-arm-2008q1.bb | 2 +- .../binutils/binutils-crosssdk_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils.inc | 9 +--- meta/recipes-devtools/binutils/binutils_2.21.bb | 2 +- meta/recipes-devtools/gcc/gcc-package-runtime.inc | 25 ++++++++--- meta/recipes-devtools/gcc/libgcc_4.6.bb | 2 +- meta/recipes-devtools/opkg/opkg_0.1.8.bb | 8 ++- meta/recipes-devtools/opkg/opkg_svn.bb | 8 ++- meta/recipes-devtools/python/python_2.6.6.bb | 4 +- meta/recipes-devtools/rpm/rpm_5.4.0.bb | 18 ++++---- meta/recipes-extended/augeas/augeas.inc | 7 +-- meta/recipes-extended/augeas/augeas_0.8.1.bb | 2 +- meta/recipes-extended/gamin/gamin_0.1.10.bb | 13 +----- .../tcp-wrappers/tcp-wrappers_7.6.bb | 9 +++- meta/recipes-graphics/cairo/cairo_1.10.2.bb | 9 ++-- meta/recipes-graphics/xorg-lib/libxft_2.2.0.bb | 7 +-- meta/recipes-multimedia/liba52/liba52_0.7.4.bb | 4 +- meta/recipes-support/attr/acl_2.2.51.bb | 2 +- meta/recipes-support/attr/attr_2.4.46.bb | 2 +- meta/recipes-support/attr/ea-acl.inc | 16 +------- meta/recipes-support/curl/curl_7.21.6.bb | 17 +++----- meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb | 5 +- meta/recipes-support/sqlite/sqlite3.inc | 10 +---- meta/recipes-support/sqlite/sqlite3_3.7.6.2.bb | 2 +- 41 files changed, 203 insertions(+), 146 deletions(-)create mode 100644 meta/classes/libdev.bbclass
meta/classes/lib_package.bbclass +3
-2@@ -5,6 +5,12 @@ FILES_${PN} = "${libexecdir} ${libdir}/lib*${SOLIBS} \ ${base_libdir}/*${SOLIBS} \ ${datadir}/${PN} ${libdir}/${PN}" FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/*.o ${libdir}/pkgconfig /lib/*.o \ - ${datadir}/aclocal ${bindir}/*-config" + ${libdir}/*.o ${libdir}/pkgconfig /lib/*.o \ + ${datadir}/aclocal ${bindir}/*-config \ + ${libdir}/*_nonshared.a"
Quoted 9 lines
meta/classes/lib_package.bbclass FILES_${PN} = "${libexecdir} ${libdir}/lib*${SOLIBS} \ · line 14
Quoted 4 lines
meta/classes/lib_package.bbclass +3
-0FILES_${PN}-bin = "${bindir}/* ${sbindir}/* /bin/* /sbin/*" + +staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${staticdev_libs}', d)}"As Phil says, I'm not sure this works and since the nonshared.a thing is a *libc thing its probably not worth adding this complexity to the core but just work putting it in the *libc packaging code.
I have tested this and it works, after reviewing this further, I will move this to handled by the specific cases that need, rather than being a general solution in bitbake.conf
Quoted 53 lines
Quoted 40 lines
meta/classes/libdev.bbclass new file +34
-0@@ -0,0 +1,44 @@ +# +# This bbclass it a common case for lib${PN}*.a static libraries +# + +SUMMARY_lib${PN}-dbg ?= "${SUMMARY} - Debugging files" +DESCRIPTION_lib${PN}-dbg ?= "${DESCRIPTION} \ +This package contains ELF symbols and related sources for debugging purposes." + +SUMMARY_lib${PN}-dev ?= "${SUMMARY} - Development files" +DESCRIPTION_lib${PN}-dev ?= "${DESCRIPTION} \ +This package contains symbolic links, header files, and \ +related items necessary for software development." + +SUMMARY_lib${PN}-doc ?= "${SUMMARY} - Documentation files" +DESCRIPTION_lib${PN}-doc ?= "${DESCRIPTION} This package contains documentation." + +SUMMARY_lib${PN}-staticdev ?= "${SUMMARY} - Development files (Static Libraries)" +DESCRIPTION_lib${PN}-staticdev?= "${DESCRIPTION} \ +This package contains static libraries for software development." + +PACKAGES =+ "lib${PN} lib${PN}-dev lib${PN}-doc lib${PN}-staticdev" + +FILES_lib${PN} = "${base_libdir}/lib*.so.* ${libdir}/lib*.so.*" +RDEPENDS_lib${PN} = "${PN}" + +FILES_lib${PN}-dev = "${includedir} \ + ${libdir}/lib*.so \ + ${libdir}/lib*_nonshared.a \ + ${libdir}/lib*.la \ + ${libdir}/pkgconfig \ + ${base_libdir}/lib*.so \ + ${base_libdir}/lib*_nonshared.a \ + ${base_libdir}/lib*.la" +meta/classes/libdev.bbclass line 44
Quoted 10 lines
meta/classes/libdev.bbclass new file +10
-0+ +FILES_lib${PN}-doc = "${mandir}/man2 \ + ${mandir}/man3" + +lib_staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_lib${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${lib_staticdev_libs}', d)}" + + +SECTION_lib${PN}-staticdev = "devel" +RDEPENDS_lib${PN}-staticdev = "lib${PN}-dev (= ${EXTENDPKGV})"This file is doing *way* more than just some static lib packaging.
Quoted 4 lines
I'm totally in favour of splitting out libraries where it makes sense but do we have strong usecases for standalone -doc, -dev, -dbg or -staticdev packaging?
I was originally following the existing use cases of the lib${PN}-* packages, but after reviewing it now, I am going to change approaches and rename the lib${PN}-* packages to ${PN}-* only leaving the core lib${PN}.
Quoted 3 lines
Also, how does this compare to the the other lib_package.bbclass or whatever its called?
The other lib_package.bbclass is maybe mis-named, it would be better named bin_package.bbclass since it explicitly moves the binaries in ${bindir} and ${sbindir} into a separate ${PN}-bin package instead of in the ${PN} package itself.
Quoted 7 lines
Quoted 7 lines
meta/conf/bitbake.conf +0
-0@@ -252,12 +252,16 @@ SECTION_${PN}-doc = "doc"
Quoted 8 lines
meta/conf/bitbake.conf SECTION_${PN}-doc = "doc" · line 257
Quoted 6 lines
meta/conf/bitbake.conf +3
-1FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig \ - ${datadir}/aclocal ${base_libdir}/*.o" + ${datadir}/aclocal ${base_libdir}/*.o \ + ${libdir}/lib*_nonshared.a ${base_libdir}/lib*_nonshared.a" +Adding libc* specifics into the core? :/
See above about moving the *nonshared.a to specific recipes that need it.
Quoted 29 lines
Quoted 29 lines
meta/conf/bitbake.conf +3
-1SECTION_${PN}-dev = "devel" ALLOW_EMPTY_${PN}-dev = "1" RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})" -FILES_${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a" +staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${staticdev_libs}', d)}" + SECTION_${PN}-staticdev = "devel" RDEPENDS_${PN}-staticdev = "${PN}-dev (= ${EXTENDPKGV})"meta/recipes-bsp/pciutils/pciutils_3.1.7.bb +1
-1@@ -9,7 +9,7 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" DEPENDS = "zlib" RDEPENDS_${PN} = "${PN}-ids" -PR = "r1" +PR = "r2" SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.bz2 \ file://configure.patch \@@ -49,9 +49,12 @@ do_install () { ln -s ../sbin/lspci ${D}${bindir}/lspci }
Quoted 5 lines
meta/recipes-bsp/pciutils/pciutils_3.1.7.bb do_install () { · line 52
Quoted 2 lines
meta/recipes-bsp/pciutils/pciutils_3.1.7.bb +1
-1-PACKAGES =+ "pciutils-ids libpci libpci-dev libpci-dbg" +PACKAGES =+ "pciutils-ids libpci libpci-dev libpci-dbg libpci-staticdev"When would you need a libpci-staticdev instead of pciutils-staticdev?
Again, see above with the change in approach we will just have libpci and then the rest of the packages will be standard pciutils-*.
Quoted 76 lines
Quoted 76 lines
meta/recipes-bsp/pciutils/pciutils_3.1.7.bb +3
-0FILES_pciutils-ids = "${datadir}/pci.ids*" FILES_libpci = "${libdir}/libpci.so.*" FILES_libpci-dbg = "${libdir}/.debug" FILES_libpci-dev = "${libdir}/libpci.a ${libdir}/libpci.la ${libdir}/libpci.so \ ${includedir}/pci ${libdir}/pkgconfig" +FILES_libpci-staticdev = "${libdir}/libpci.a" +RDEPENDS_libpci-staticdev = "libpci-dev (= ${EXTENDPKGV})" +meta/recipes-connectivity/wireless-tools/wireless-tools_29.bb +6
-3@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ SECTION = "base" PRIORITY = "optional" PE = "1" -PR = "r2" +PR = "r3" SRC_URI = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz \ file://man.patch;apply=yes \@@ -42,14 +42,17 @@ do_install() { } PACKAGES = "libiw-dbg ifrename-dbg ${PN}-dbg \ -libiw libiw-dev libiw-doc ifrename-doc ifrename ${PN} ${PN}-doc" +libiw libiw-dev libiw-doc libiw-staticdev ifrename-doc ifrename ${PN} ${PN}-doc" FILES_libiw-dbg = "${libdir}/.debug/*.so.*" FILES_ifrename-dbg = "${sbindir}/.debug/ifrename" FILES_libiw = "${libdir}/*.so.*" -FILES_libiw-dev = "${libdir}/*.a ${libdir}/*.so ${includedir}" +FILES_libiw-dev = "${libdir}/*.so ${includedir}" FILES_libiw-doc = "${mandir}/man7" +FILES_libiw-staticdev = "${libdir}/*.a" +RDEPENDS_libiw-staticdev = "libiw-dev (= ${EXTENDPKGV})" FILES_ifrename = "${sbindir}/ifrename" FILES_ifrename-doc = "${mandir}/man8/ifrename.8 ${mandir}/man5/iftab.5" FILES_${PN} = "${bindir} ${sbindir}/iw* ${base_sbindir} ${base_bindir} ${sysconfdir}/network" FILES_${PN}-doc = "${mandir}" +meta/recipes-core/eglibc/eglibc-common.inc +1
-1@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.eglibc.org/home" SECTION = "libs" PRIORITY = "required" LICENSE = "LGPL" -INC_PR = "r11" +INC_PR = "r12" LIC_FILES_CHKSUM ?= "file://LICENSES;md5=07a394b26e0902b9ffdec03765209770 \ file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \meta/recipes-core/eglibc/eglibc-package.inc +2
-1@@ -20,7 +20,7 @@ USE_LDCONFIG ?= "1" PKGSUFFIX = "" PKGSUFFIX_virtclass-nativesdk = "-nativesdk" -PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils ${PN}-pic ${PN}-dev eglibc-doc libcidn libmemusage libsegfault${PKGSUFFIX} eglibc-extra-nss eglibc-thread-db${PKGSUFFIX} eglibc-pcprofile libsotruss${PKGSUFFIX}" +PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils ${PN}-pic ${PN}-dev ${PN}-staticdev eglibc-doc libcidn libmemusage libsegfault${PKGSUFFIX} eglibc-extra-nss eglibc-thread-db${PKGSUFFIX} eglibc-pcprofile libsotruss${PKGSUFFIX}" # Create a eglibc-binaries ALLOW_EMPTY_${PN}-binaries = "1"@@ -50,6 +50,7 @@ RPROVIDES_eglibc-doc = "glibc-doc" RPROVIDES_eglibc-extra-nss = "glibc-extra-nss" RPROVIDES_eglibc-thread-db = "glibc-thread-db" RPROVIDES_eglibc-pcprofile = "glibc-pcprofile" +RPROVIDES_eglibc-staticdev = "glibc-staticdev" RPROVIDES_eglibc-dbg = "glibc-dbg" libc_baselibs = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so ${base_libdir}/libc.so.* ${base_libdir}/libc-*.so ${base_libdir}/libm*.so.* ${base_libdir}/libm-*.so ${base_libdir}/ld*.so.* ${base_libdir}/ld-*.so ${base_libdir}/libpthread*.so.* ${base_libdir}/libpthread-*.so ${base_libdir}/libresolv*.so.* ${base_libdir}/libresolv-*.so ${base_libdir}/librt*.so.* ${base_libdir}/librt-*.so ${base_libdir}/libutil*.so.* ${base_libdir}/libutil-*.so ${base_libdir}/libnsl*.so.* ${base_libdir}/libnsl-*.so ${base_libdir}/libnss_files*.so.* ${base_libdir}/libnss_files-*.so ${base_libdir}/libnss_compat*.so.* ${base_libdir}/libnss_compat-*.so ${base_libdir}/libnss_dns*.so.* ${base_libdir}/libnss_dns-*.so ${base_libdir}/libdl*.so.* ${base_libdir}/libdl-*.so ${base_libdir}/libanl*.so.* ${base_libdir}/libanl-*.so ${base_libdir}/libBrokenLocale*.so.* ${base_libdir}/libBrokenLocale-*.so"
Quoted 17 lines
meta/recipes-core/eglibc/eglibc-package.inc FILES_eglibc-extra-nss = "${base_libdir}/libnss*" · line 69
Quoted 10 lines
meta/recipes-core/eglibc/eglibc-package.inc +4
-2@@ -62,8 +63,10 @@ FILES_eglibc-extra-nss = "${base_libdir}/libnss*" FILES_sln = "/sbin/sln" FILES_eglibc-pic = "${libdir}/*_pic.a ${libdir}/*_pic.map ${libdir}/libc_pic/" FILES_libsotruss${PKGSUFFIX} = "${libdir}/audit/sotruss-lib.so" -FILES_eglibc-dev_append += "${bindir}/rpcgen ${libdir}/*.a \ - ${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal" +FILES_eglibc-dev_append = "${bindir}/rpcgen ${base_libdir}/*.o ${datadir}/aclocal ${libdir}/lib*_nonshared.a" +libc_staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_eglibc-staticdev_append = "${@oe_filter_out('lib.*_nonshared.a', '${libc_staticdev_libs}', d)}" +RDEPENDS_eglibc-staticdev = "eglibc-dev (= ${EXTENDPKGV})"Just to be clear on the trick to use here, you need to put the package containing lib.*_nonshared.a aghead of ${PN}-staticdev in PACKAGES. If you do that I suspect a lot of your problems with this code will go away and things will become simpler. Files go into the first matching package in PACKAGES.
Thanks for that hint!
Sau!
Quoted 10 lines
Cheers,
Richard
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [PATCH 1/2] multiple recipes converted to -staticdev packages
Op 29 jun 2011, om 18:23 heeft Saul Wold het volgende geschreven:
Quoted 147 lines · Richard Purdie
Quoted 76 lines
Hi Saul,
I'm still not 100% sure this patch is the right way to go or not. Let me ask some specific questions below.
Quoted 70 lines · Saul Wold
This commit adds a new base package ${PN}-staticdev to bitbake.conf which pulls in the static *.a libraries as a seperate package, it filters out the nonshared.a libraries where appropriate.
Additional this commit adds a new libdev.bbclass which provides a set of macros and variables to convert ${PN} to lib${PN}, which a number of recipes where then converted to use.
PR bumps all around
Signed-off-by Saul Wold<[email protected]>--- meta/classes/lib_package.bbclass | 10 ++++- meta/classes/libdev.bbclass | 44 ++++++++++++++++++++ meta/conf/bitbake.conf | 8 +++- meta/recipes-bsp/pciutils/pciutils_3.1.7.bb | 7 ++- .../wireless-tools/wireless-tools_29.bb | 9 +++- meta/recipes-core/eglibc/eglibc-common.inc | 2 +- meta/recipes-core/eglibc/eglibc-package.inc | 9 +++- meta/recipes-core/gettext/gettext_0.18.1.1.bb | 16 ++++---- meta/recipes-core/glibc/glibc-package.inc | 9 +++- .../meta/external-csl-toolchain_2008q3-72.bb | 8 ++- meta/recipes-core/uclibc/uclibc.inc | 9 +++- meta/recipes-core/udev/udev-new.inc | 14 ++++-- meta/recipes-core/udev/udev_164.bb | 2 +- meta/recipes-core/util-linux/util-linux.inc | 11 ++++- meta/recipes-core/util-linux/util-linux_2.19.1.bb | 2 +- .../binutils/binutils-cross-canadian_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils-cross.inc | 2 + .../binutils/binutils-cross_csl-arm-2008q1.bb | 2 +- .../binutils/binutils-crosssdk_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils.inc | 9 +--- meta/recipes-devtools/binutils/binutils_2.21.bb | 2 +- meta/recipes-devtools/gcc/gcc-package-runtime.inc | 25 ++++++++--- meta/recipes-devtools/gcc/libgcc_4.6.bb | 2 +- meta/recipes-devtools/opkg/opkg_0.1.8.bb | 8 ++- meta/recipes-devtools/opkg/opkg_svn.bb | 8 ++- meta/recipes-devtools/python/python_2.6.6.bb | 4 +- meta/recipes-devtools/rpm/rpm_5.4.0.bb | 18 ++++---- meta/recipes-extended/augeas/augeas.inc | 7 +-- meta/recipes-extended/augeas/augeas_0.8.1.bb | 2 +- meta/recipes-extended/gamin/gamin_0.1.10.bb | 13 +----- .../tcp-wrappers/tcp-wrappers_7.6.bb | 9 +++- meta/recipes-graphics/cairo/cairo_1.10.2.bb | 9 ++-- meta/recipes-graphics/xorg-lib/libxft_2.2.0.bb | 7 +-- meta/recipes-multimedia/liba52/liba52_0.7.4.bb | 4 +- meta/recipes-support/attr/acl_2.2.51.bb | 2 +- meta/recipes-support/attr/attr_2.4.46.bb | 2 +- meta/recipes-support/attr/ea-acl.inc | 16 +------- meta/recipes-support/curl/curl_7.21.6.bb | 17 +++----- meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb | 5 +- meta/recipes-support/sqlite/sqlite3.inc | 10 +---- meta/recipes-support/sqlite/sqlite3_3.7.6.2.bb | 2 +- 41 files changed, 203 insertions(+), 146 deletions(-) create mode 100644 meta/classes/libdev.bbclassmeta/classes/lib_package.bbclass +3
-2@@ -5,6 +5,12 @@ FILES_${PN} = "${libexecdir} ${libdir}/lib*${SOLIBS} \ ${base_libdir}/*${SOLIBS} \ ${datadir}/${PN} ${libdir}/${PN}" FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/*.o ${libdir}/pkgconfig /lib/*.o \ - ${datadir}/aclocal ${bindir}/*-config" + ${libdir}/*.o ${libdir}/pkgconfig /lib/*.o \ + ${datadir}/aclocal ${bindir}/*-config \ + ${libdir}/*_nonshared.a"Quoted 9 lines
meta/classes/lib_package.bbclass FILES_${PN} = "${libexecdir} ${libdir}/lib*${SOLIBS} \ · line 14
Quoted 4 lines
meta/classes/lib_package.bbclass +3
-0FILES_${PN}-bin = "${bindir}/* ${sbindir}/* /bin/* /sbin/*" + +staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${staticdev_libs}', d)}"As Phil says, I'm not sure this works and since the nonshared.a thing is a *libc thing its probably not worth adding this complexity to the core but just work putting it in the *libc packaging code.
I have tested this and it works, after reviewing this further, I will move this to handled by the specific cases that need, rather than being a general solution in bitbake.conf
Quoted 53 lines
Quoted 40 lines
meta/classes/libdev.bbclass new file +34
-0@@ -0,0 +1,44 @@ +# +# This bbclass it a common case for lib${PN}*.a static libraries +# + +SUMMARY_lib${PN}-dbg ?= "${SUMMARY} - Debugging files" +DESCRIPTION_lib${PN}-dbg ?= "${DESCRIPTION} \ +This package contains ELF symbols and related sources for debugging purposes." + +SUMMARY_lib${PN}-dev ?= "${SUMMARY} - Development files" +DESCRIPTION_lib${PN}-dev ?= "${DESCRIPTION} \ +This package contains symbolic links, header files, and \ +related items necessary for software development." + +SUMMARY_lib${PN}-doc ?= "${SUMMARY} - Documentation files" +DESCRIPTION_lib${PN}-doc ?= "${DESCRIPTION} This package contains documentation." + +SUMMARY_lib${PN}-staticdev ?= "${SUMMARY} - Development files (Static Libraries)" +DESCRIPTION_lib${PN}-staticdev?= "${DESCRIPTION} \ +This package contains static libraries for software development." + +PACKAGES =+ "lib${PN} lib${PN}-dev lib${PN}-doc lib${PN}-staticdev" + +FILES_lib${PN} = "${base_libdir}/lib*.so.* ${libdir}/lib*.so.*" +RDEPENDS_lib${PN} = "${PN}" + +FILES_lib${PN}-dev = "${includedir} \ + ${libdir}/lib*.so \ + ${libdir}/lib*_nonshared.a \ + ${libdir}/lib*.la \ + ${libdir}/pkgconfig \ + ${base_libdir}/lib*.so \ + ${base_libdir}/lib*_nonshared.a \ + ${base_libdir}/lib*.la" +meta/classes/libdev.bbclass line 44
Quoted 10 lines
meta/classes/libdev.bbclass new file +10
-0+ +FILES_lib${PN}-doc = "${mandir}/man2 \ + ${mandir}/man3" + +lib_staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_lib${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${lib_staticdev_libs}', d)}" + + +SECTION_lib${PN}-staticdev = "devel" +RDEPENDS_lib${PN}-staticdev = "lib${PN}-dev (= ${EXTENDPKGV})"This file is doing *way* more than just some static lib packaging.
Quoted 4 lines
I'm totally in favour of splitting out libraries where it makes sense but do we have strong usecases for standalone -doc, -dev, -dbg or -staticdev packaging?
Quoted 6 lines
I was originally following the existing use cases of the lib${PN}-* packages, but after reviewing it now, I am going to change approaches and rename the lib${PN}-* packages to ${PN}-* only leaving the core lib${PN}.
Quoted 3 lines
Also, how does this compare to the the other lib_package.bbclass or whatever its called?
The other lib_package.bbclass is maybe mis-named, it would be better named bin_package.bbclass since it explicitly moves the binaries in ${bindir} and ${sbindir} into a separate ${PN}-bin package instead of in the ${PN} package itself.
It's not mis-named, since it moves all the things that impair shlib renaming out of the way, so it's a great tool for packaging libraries.
Re: [PATCH 1/2] multiple recipes converted to -staticdev packages
Quoted 150 lines · Koen Kooi
Op 29 jun 2011, om 18:23 heeft Saul Wold het volgende geschreven:
Quoted 147 lines · Richard Purdie
Quoted 76 lines
Hi Saul,
I'm still not 100% sure this patch is the right way to go or not. Let me ask some specific questions below.
Quoted 70 lines · Saul Wold
This commit adds a new base package ${PN}-staticdev to bitbake.conf which pulls in the static *.a libraries as a seperate package, it filters out the nonshared.a libraries where appropriate.
Additional this commit adds a new libdev.bbclass which provides a set of macros and variables to convert ${PN} to lib${PN}, which a number of recipes where then converted to use.
PR bumps all around
Signed-off-by Saul Wold<[email protected]>--- meta/classes/lib_package.bbclass | 10 ++++- meta/classes/libdev.bbclass | 44 ++++++++++++++++++++ meta/conf/bitbake.conf | 8 +++- meta/recipes-bsp/pciutils/pciutils_3.1.7.bb | 7 ++- .../wireless-tools/wireless-tools_29.bb | 9 +++- meta/recipes-core/eglibc/eglibc-common.inc | 2 +- meta/recipes-core/eglibc/eglibc-package.inc | 9 +++- meta/recipes-core/gettext/gettext_0.18.1.1.bb | 16 ++++---- meta/recipes-core/glibc/glibc-package.inc | 9 +++- .../meta/external-csl-toolchain_2008q3-72.bb | 8 ++- meta/recipes-core/uclibc/uclibc.inc | 9 +++- meta/recipes-core/udev/udev-new.inc | 14 ++++-- meta/recipes-core/udev/udev_164.bb | 2 +- meta/recipes-core/util-linux/util-linux.inc | 11 ++++- meta/recipes-core/util-linux/util-linux_2.19.1.bb | 2 +- .../binutils/binutils-cross-canadian_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils-cross.inc | 2 + .../binutils/binutils-cross_csl-arm-2008q1.bb | 2 +- .../binutils/binutils-crosssdk_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils.inc | 9 +--- meta/recipes-devtools/binutils/binutils_2.21.bb | 2 +- meta/recipes-devtools/gcc/gcc-package-runtime.inc | 25 ++++++++--- meta/recipes-devtools/gcc/libgcc_4.6.bb | 2 +- meta/recipes-devtools/opkg/opkg_0.1.8.bb | 8 ++- meta/recipes-devtools/opkg/opkg_svn.bb | 8 ++- meta/recipes-devtools/python/python_2.6.6.bb | 4 +- meta/recipes-devtools/rpm/rpm_5.4.0.bb | 18 ++++---- meta/recipes-extended/augeas/augeas.inc | 7 +-- meta/recipes-extended/augeas/augeas_0.8.1.bb | 2 +- meta/recipes-extended/gamin/gamin_0.1.10.bb | 13 +----- .../tcp-wrappers/tcp-wrappers_7.6.bb | 9 +++- meta/recipes-graphics/cairo/cairo_1.10.2.bb | 9 ++-- meta/recipes-graphics/xorg-lib/libxft_2.2.0.bb | 7 +-- meta/recipes-multimedia/liba52/liba52_0.7.4.bb | 4 +- meta/recipes-support/attr/acl_2.2.51.bb | 2 +- meta/recipes-support/attr/attr_2.4.46.bb | 2 +- meta/recipes-support/attr/ea-acl.inc | 16 +------- meta/recipes-support/curl/curl_7.21.6.bb | 17 +++----- meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb | 5 +- meta/recipes-support/sqlite/sqlite3.inc | 10 +---- meta/recipes-support/sqlite/sqlite3_3.7.6.2.bb | 2 +- 41 files changed, 203 insertions(+), 146 deletions(-)create mode 100644 meta/classes/libdev.bbclass
meta/classes/lib_package.bbclass +3
-2@@ -5,6 +5,12 @@ FILES_${PN} = "${libexecdir} ${libdir}/lib*${SOLIBS} \ ${base_libdir}/*${SOLIBS} \ ${datadir}/${PN} ${libdir}/${PN}" FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/*.o ${libdir}/pkgconfig /lib/*.o \ - ${datadir}/aclocal ${bindir}/*-config" + ${libdir}/*.o ${libdir}/pkgconfig /lib/*.o \ + ${datadir}/aclocal ${bindir}/*-config \ + ${libdir}/*_nonshared.a"Quoted 9 lines
meta/classes/lib_package.bbclass FILES_${PN} = "${libexecdir} ${libdir}/lib*${SOLIBS} \ · line 14
Quoted 4 lines
meta/classes/lib_package.bbclass +3
-0FILES_${PN}-bin = "${bindir}/* ${sbindir}/* /bin/* /sbin/*" + +staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${staticdev_libs}', d)}"As Phil says, I'm not sure this works and since the nonshared.a thing is a *libc thing its probably not worth adding this complexity to the core but just work putting it in the *libc packaging code.
I have tested this and it works, after reviewing this further, I will move this to handled by the specific cases that need, rather than being a general solution in bitbake.conf
Quoted 57 lines
Quoted 40 lines
meta/classes/libdev.bbclass new file +34
-0@@ -0,0 +1,44 @@ +# +# This bbclass it a common case for lib${PN}*.a static libraries +# + +SUMMARY_lib${PN}-dbg ?= "${SUMMARY} - Debugging files" +DESCRIPTION_lib${PN}-dbg ?= "${DESCRIPTION} \ +This package contains ELF symbols and related sources for debugging purposes." + +SUMMARY_lib${PN}-dev ?= "${SUMMARY} - Development files" +DESCRIPTION_lib${PN}-dev ?= "${DESCRIPTION} \ +This package contains symbolic links, header files, and \ +related items necessary for software development." + +SUMMARY_lib${PN}-doc ?= "${SUMMARY} - Documentation files" +DESCRIPTION_lib${PN}-doc ?= "${DESCRIPTION} This package contains documentation." + +SUMMARY_lib${PN}-staticdev ?= "${SUMMARY} - Development files (Static Libraries)" +DESCRIPTION_lib${PN}-staticdev?= "${DESCRIPTION} \ +This package contains static libraries for software development." + +PACKAGES =+ "lib${PN} lib${PN}-dev lib${PN}-doc lib${PN}-staticdev" + +FILES_lib${PN} = "${base_libdir}/lib*.so.* ${libdir}/lib*.so.*" +RDEPENDS_lib${PN} = "${PN}" + +FILES_lib${PN}-dev = "${includedir} \ + ${libdir}/lib*.so \ + ${libdir}/lib*_nonshared.a \ + ${libdir}/lib*.la \ + ${libdir}/pkgconfig \ + ${base_libdir}/lib*.so \ + ${base_libdir}/lib*_nonshared.a \ + ${base_libdir}/lib*.la" +meta/classes/libdev.bbclass line 44
Quoted 10 lines
meta/classes/libdev.bbclass new file +10
-0+ +FILES_lib${PN}-doc = "${mandir}/man2 \ + ${mandir}/man3" + +lib_staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_lib${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${lib_staticdev_libs}', d)}" + + +SECTION_lib${PN}-staticdev = "devel" +RDEPENDS_lib${PN}-staticdev = "lib${PN}-dev (= ${EXTENDPKGV})"This file is doing *way* more than just some static lib packaging.
I'm totally in favour of splitting out libraries where it makes sense but do we have strong usecases for standalone -doc, -dev, -dbg or -staticdev packaging?
Quoted 9 lines
Quoted 6 lines
I was originally following the existing use cases of the lib${PN}-* packages, but after reviewing it now, I am going to change approaches and rename the lib${PN}-* packages to ${PN}-* only leaving the core lib${PN}.
Quoted 3 lines
Also, how does this compare to the the other lib_package.bbclass or whatever its called?
The other lib_package.bbclass is maybe mis-named, it would be better named bin_package.bbclass since it explicitly moves the binaries in ${bindir} and ${sbindir} into a separate ${PN}-bin package instead of in the ${PN} package itself.
It's not mis-named, since it moves all the things that impair shlib renaming out of the way, so it's a great tool for packaging libraries.
Koen,
As I am looking at lib_package.bbclass and the staticdev work, I am trying to understand why the lib_package.bbclass could not be simplified to just the following:
PACKAGES += "${PN}-bin"
FILES_${PN}-bin = "${bindir}/* ${sbindir}/* /bin/* /sbin/*"
As this will grab all the binaries first (as RP pointed out) and then the FILES_${PN} and FILES_${PN}-dev that are already declared in bitbake.conf will collect the remaining files? Then this is bin packaging.
Similarly, what is currently in my new libdev.bbclass would contain:
PACKAGES += "lib${PN}"
FILES_lib${PN} = "${libdir}/*${SOLIBS} ${base_libdir}/*${SOLIBS}" RDEPENDS_lib${PN} = "${PN}"
And the rest of the packaging would happen based on the defaults in bitbake.conf. This is no longer a libdev class, but a packaging of the libs in lib${PN}.
These need to be in independent and separate bbclass files otherwise we will have different undesirable packaging issues.
I am verifying these changes now.
Sau!
_______________________________________________
Quoted 4 lines
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [PATCH 1/2] multiple recipes converted to -staticdev packages
Op 29 jun 2011, om 19:27 heeft Saul Wold het volgende geschreven:
Quoted 170 lines · Koen Kooi
Quoted 150 lines
Op 29 jun 2011, om 18:23 heeft Saul Wold het volgende geschreven:
Quoted 147 lines · Richard Purdie
Quoted 76 lines
Hi Saul,
I'm still not 100% sure this patch is the right way to go or not. Let me ask some specific questions below.
Quoted 70 lines · Saul Wold
This commit adds a new base package ${PN}-staticdev to bitbake.conf which pulls in the static *.a libraries as a seperate package, it filters out the nonshared.a libraries where appropriate.
Additional this commit adds a new libdev.bbclass which provides a set of macros and variables to convert ${PN} to lib${PN}, which a number of recipes where then converted to use.
PR bumps all around
Signed-off-by Saul Wold<[email protected]>--- meta/classes/lib_package.bbclass | 10 ++++- meta/classes/libdev.bbclass | 44 ++++++++++++++++++++ meta/conf/bitbake.conf | 8 +++- meta/recipes-bsp/pciutils/pciutils_3.1.7.bb | 7 ++- .../wireless-tools/wireless-tools_29.bb | 9 +++- meta/recipes-core/eglibc/eglibc-common.inc | 2 +- meta/recipes-core/eglibc/eglibc-package.inc | 9 +++- meta/recipes-core/gettext/gettext_0.18.1.1.bb | 16 ++++---- meta/recipes-core/glibc/glibc-package.inc | 9 +++- .../meta/external-csl-toolchain_2008q3-72.bb | 8 ++- meta/recipes-core/uclibc/uclibc.inc | 9 +++- meta/recipes-core/udev/udev-new.inc | 14 ++++-- meta/recipes-core/udev/udev_164.bb | 2 +- meta/recipes-core/util-linux/util-linux.inc | 11 ++++- meta/recipes-core/util-linux/util-linux_2.19.1.bb | 2 +- .../binutils/binutils-cross-canadian_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils-cross.inc | 2 + .../binutils/binutils-cross_csl-arm-2008q1.bb | 2 +- .../binutils/binutils-crosssdk_2.21.bb | 2 +- meta/recipes-devtools/binutils/binutils.inc | 9 +--- meta/recipes-devtools/binutils/binutils_2.21.bb | 2 +- meta/recipes-devtools/gcc/gcc-package-runtime.inc | 25 ++++++++--- meta/recipes-devtools/gcc/libgcc_4.6.bb | 2 +- meta/recipes-devtools/opkg/opkg_0.1.8.bb | 8 ++- meta/recipes-devtools/opkg/opkg_svn.bb | 8 ++- meta/recipes-devtools/python/python_2.6.6.bb | 4 +- meta/recipes-devtools/rpm/rpm_5.4.0.bb | 18 ++++---- meta/recipes-extended/augeas/augeas.inc | 7 +-- meta/recipes-extended/augeas/augeas_0.8.1.bb | 2 +- meta/recipes-extended/gamin/gamin_0.1.10.bb | 13 +----- .../tcp-wrappers/tcp-wrappers_7.6.bb | 9 +++- meta/recipes-graphics/cairo/cairo_1.10.2.bb | 9 ++-- meta/recipes-graphics/xorg-lib/libxft_2.2.0.bb | 7 +-- meta/recipes-multimedia/liba52/liba52_0.7.4.bb | 4 +- meta/recipes-support/attr/acl_2.2.51.bb | 2 +- meta/recipes-support/attr/attr_2.4.46.bb | 2 +- meta/recipes-support/attr/ea-acl.inc | 16 +------- meta/recipes-support/curl/curl_7.21.6.bb | 17 +++----- meta/recipes-support/js/js_1.7.0+1.8.0rc1.bb | 5 +- meta/recipes-support/sqlite/sqlite3.inc | 10 +---- meta/recipes-support/sqlite/sqlite3_3.7.6.2.bb | 2 +- 41 files changed, 203 insertions(+), 146 deletions(-) create mode 100644 meta/classes/libdev.bbclassmeta/classes/lib_package.bbclass +3
-2@@ -5,6 +5,12 @@ FILES_${PN} = "${libexecdir} ${libdir}/lib*${SOLIBS} \ ${base_libdir}/*${SOLIBS} \ ${datadir}/${PN} ${libdir}/${PN}" FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/*.o ${libdir}/pkgconfig /lib/*.o \ - ${datadir}/aclocal ${bindir}/*-config" + ${libdir}/*.o ${libdir}/pkgconfig /lib/*.o \ + ${datadir}/aclocal ${bindir}/*-config \ + ${libdir}/*_nonshared.a"Quoted 9 lines
meta/classes/lib_package.bbclass FILES_${PN} = "${libexecdir} ${libdir}/lib*${SOLIBS} \ · line 14
Quoted 4 lines
meta/classes/lib_package.bbclass +3
-0FILES_${PN}-bin = "${bindir}/* ${sbindir}/* /bin/* /sbin/*" + +staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${staticdev_libs}', d)}"As Phil says, I'm not sure this works and since the nonshared.a thing is a *libc thing its probably not worth adding this complexity to the core but just work putting it in the *libc packaging code.
I have tested this and it works, after reviewing this further, I will move this to handled by the specific cases that need, rather than being a general solution in bitbake.conf
Quoted 57 lines
Quoted 40 lines
meta/classes/libdev.bbclass new file +34
-0@@ -0,0 +1,44 @@ +# +# This bbclass it a common case for lib${PN}*.a static libraries +# + +SUMMARY_lib${PN}-dbg ?= "${SUMMARY} - Debugging files" +DESCRIPTION_lib${PN}-dbg ?= "${DESCRIPTION} \ +This package contains ELF symbols and related sources for debugging purposes." + +SUMMARY_lib${PN}-dev ?= "${SUMMARY} - Development files" +DESCRIPTION_lib${PN}-dev ?= "${DESCRIPTION} \ +This package contains symbolic links, header files, and \ +related items necessary for software development." + +SUMMARY_lib${PN}-doc ?= "${SUMMARY} - Documentation files" +DESCRIPTION_lib${PN}-doc ?= "${DESCRIPTION} This package contains documentation." + +SUMMARY_lib${PN}-staticdev ?= "${SUMMARY} - Development files (Static Libraries)" +DESCRIPTION_lib${PN}-staticdev?= "${DESCRIPTION} \ +This package contains static libraries for software development." + +PACKAGES =+ "lib${PN} lib${PN}-dev lib${PN}-doc lib${PN}-staticdev" + +FILES_lib${PN} = "${base_libdir}/lib*.so.* ${libdir}/lib*.so.*" +RDEPENDS_lib${PN} = "${PN}" + +FILES_lib${PN}-dev = "${includedir} \ + ${libdir}/lib*.so \ + ${libdir}/lib*_nonshared.a \ + ${libdir}/lib*.la \ + ${libdir}/pkgconfig \ + ${base_libdir}/lib*.so \ + ${base_libdir}/lib*_nonshared.a \ + ${base_libdir}/lib*.la" +meta/classes/libdev.bbclass line 44
Quoted 10 lines
meta/classes/libdev.bbclass new file +10
-0+ +FILES_lib${PN}-doc = "${mandir}/man2 \ + ${mandir}/man3" + +lib_staticdev_libs = "${libdir}/*.a ${base_libdir}/*.a" +FILES_lib${PN}-staticdev = "${@oe_filter_out('lib.*_nonshared.a', '${lib_staticdev_libs}', d)}" + + +SECTION_lib${PN}-staticdev = "devel" +RDEPENDS_lib${PN}-staticdev = "lib${PN}-dev (= ${EXTENDPKGV})"This file is doing *way* more than just some static lib packaging.
I'm totally in favour of splitting out libraries where it makes sense but do we have strong usecases for standalone -doc, -dev, -dbg or -staticdev packaging?
Quoted 9 lines
Quoted 6 lines
I was originally following the existing use cases of the lib${PN}-* packages, but after reviewing it now, I am going to change approaches and rename the lib${PN}-* packages to ${PN}-* only leaving the core lib${PN}.
Quoted 3 lines
Also, how does this compare to the the other lib_package.bbclass or whatever its called?
The other lib_package.bbclass is maybe mis-named, it would be better named bin_package.bbclass since it explicitly moves the binaries in ${bindir} and ${sbindir} into a separate ${PN}-bin package instead of in the ${PN} package itself.
It's not mis-named, since it moves all the things that impair shlib renaming out of the way, so it's a great tool for packaging libraries.
Koen,
As I am looking at lib_package.bbclass and the staticdev work, I am trying to understand why the lib_package.bbclass could not be simplified to just the following:
PACKAGES += "${PN}-bin"
FILES_${PN}-bin = "${bindir}/* ${sbindir}/*/bin/*/sbin/*"As this will grab all the binaries first (as RP pointed out) and then the FILES_${PN} and FILES_${PN}-dev that are already declared in bitbake.conf will collect the remaining files? Then this is bin packaging.
Quoted 7 lines
Similarly, what is currently in my new libdev.bbclass would contain:
PACKAGES += "lib${PN}"
FILES_lib${PN} = "${libdir}/*${SOLIBS} ${base_libdir}/*${SOLIBS}" RDEPENDS_lib${PN} = "${PN}"And the rest of the packaging would happen based on the defaults in bitbake.conf. This is no longer a libdev class, but a packaging of the libs in lib${PN}.
I don't get why it needs to be lib${PN}, if you care about that kind of naming you should be using debian.bbclass already.