summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQing He <qing.he@intel.com>2010-07-29 18:34:42 +0800
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-06 18:28:26 +0100
commit680f8bf8ae8a850327d68fb24c7ee0c8631d2e45 (patch)
tree495c3a2cab566b04a4eadd53a4eb9f5af99afb64
parent28d52a2f7a2755dc12076d33eef9a917761979ef (diff)
downloadopenembedded-core-680f8bf8ae8a850327d68fb24c7ee0c8631d2e45.tar.gz
openembedded-core-680f8bf8ae8a850327d68fb24c7ee0c8631d2e45.tar.bz2
openembedded-core-680f8bf8ae8a850327d68fb24c7ee0c8631d2e45.tar.xz
openembedded-core-680f8bf8ae8a850327d68fb24c7ee0c8631d2e45.zip
attr: various improvements
changes: - separate the build system to ea-acl.inc, it is also used by upcoming acl (ea stands for extended attributes) - the .so.* is moved to /lib, so it can be used by packages like udev - change absolute symbolic links to relative path, code inspired by udev - manual fix to .la Signed-off-by: Qing He <qing.he@intel.com>
-rw-r--r--meta/packages/attr/attr.inc43
-rw-r--r--meta/packages/attr/attr_2.4.44.bb2
-rw-r--r--meta/packages/attr/ea-acl.inc35
-rw-r--r--meta/packages/attr/files/relative-libdir.patch23
4 files changed, 65 insertions, 38 deletions
diff --git a/meta/packages/attr/attr.inc b/meta/packages/attr/attr.inc
index 69b7442f7..da7924631 100644
--- a/meta/packages/attr/attr.inc
+++ b/meta/packages/attr/attr.inc
@@ -9,43 +9,12 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=2d0aa14b3fce4694e4f615e30186335f \
file://attr/attr.c;endline=17;md5=be0403261f0847e5f43ed5b08d19593c \
file://libattr/libattr.c;endline=17;md5=7970f77049f8fa1199fff62a7ab724fb"
-DEPENDS = "gettext"
+SRC_URI = "http://nongnu.askapache.com/attr/${BP}.src.tar.gz"
-SRC_URI = "http://nongnu.askapache.com/attr/${BPN}-${PV}.src.tar.gz"
+require ea-acl.inc
-inherit autotools
-
-# the package comes with a custom config.h.in, it cannot be
-# overwritten by autoheader
-export AUTOHEADER = "true"
-EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root"
-
-# absolute path will be used in ln -s if PKG_LIB_DIR and
-# PKG_DEVLIB_DIR are different
-EXTRA_OEMAKE = "PKG_LIB_DIR=${libdir} PKG_DEVLIB_DIR=${libdir}"
-
-do_install () {
- oe_runmake install install-lib install-dev DIST_ROOT="${D}"
+# libdir should point to .la
+do_install_append() {
+ sed -i ${D}${libdir}/libattr.la -e \
+ s,^libdir=\'${base_libdir}\'$,libdir=\'${libdir}\',
}
-
-PACKAGES = "${PN} ${PN}-doc ${PN}-dbg ${PN}-locale lib${PN} lib${PN}-dev lib${PN}-doc"
-
-FILES_${PN} = "${bindir}"
-
-FILES_${PN}-dbg = "${bindir}/.debug"
-
-FILES_${PN}-doc = "${docdir} \
- ${mandir}/man1 \
- ${mandir}/man5"
-
-FILES_lib${PN} = "${libdir}/lib*.so.*"
-
-FILES_lib${PN}-dev = "${includedir} \
- ${libdir}/lib*.so \
- ${libdir}/lib*.a \
- ${libdir}/lib*.la"
-
-FILES_lib${PN}-doc = "${mandir}/man2 \
- ${mandir}/man3"
-
-BBCLASSEXTEND = "native"
diff --git a/meta/packages/attr/attr_2.4.44.bb b/meta/packages/attr/attr_2.4.44.bb
index f63d23835..0b21b33dc 100644
--- a/meta/packages/attr/attr_2.4.44.bb
+++ b/meta/packages/attr/attr_2.4.44.bb
@@ -1,6 +1,6 @@
require attr.inc
-PR = "r0"
+PR = "r1"
SRC_URI += "file://memory-leak-in-copy.patch \
file://memory-leak2.patch \
diff --git a/meta/packages/attr/ea-acl.inc b/meta/packages/attr/ea-acl.inc
new file mode 100644
index 000000000..77fa2b4fd
--- /dev/null
+++ b/meta/packages/attr/ea-acl.inc
@@ -0,0 +1,35 @@
+# this build system is mostly shared by attr and acl
+
+DEPENDS =+ "gettext"
+
+SRC_URI += "file://relative-libdir.patch;striplevel=0"
+
+inherit autotools
+
+# the package comes with a custom config.h.in, it cannot be
+# overwritten by autoheader
+export AUTOHEADER = "true"
+EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root"
+
+EXTRA_OEMAKE = "PKG_LIB_DIR=${base_libdir} PKG_DEVLIB_DIR=${libdir}"
+
+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"
diff --git a/meta/packages/attr/files/relative-libdir.patch b/meta/packages/attr/files/relative-libdir.patch
new file mode 100644
index 000000000..f989dd0cc
--- /dev/null
+++ b/meta/packages/attr/files/relative-libdir.patch
@@ -0,0 +1,23 @@
+use relative path in symbolic links, or it fails in staging
+sed expression from udev
+
+7/29/2010 - created by Qing He <qing.he@intel.com>
+
+diff -u include.orig/buildmacros include/buildmacros
+--- include.orig/buildmacros 2010-07-29 17:39:48.000000000 +0800
++++ include/buildmacros 2010-07-29 18:20:34.000000000 +0800
+@@ -88,9 +88,11 @@
+ ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
+ ../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_LIB_DIR); \
+ if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \
+- ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
+- ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
+- ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).so $(PKG_DEVLIB_DIR)/$(LIBNAME).so; \
++ rel_lib_prefix=$$(echo $(PKG_LIB_DIR) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
++ ../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
++ ../$(INSTALL) -S $$rel_lib_prefix$(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
++ rel_devlib_prefix=$$(echo $(PKG_DEVLIB_DIR) | sed 's,\(^/\|\)[^/][^/]*,..,g'); \
++ ../$(INSTALL) -S $$rel_devlib_prefix$(PKG_LIB_DIR)/$(LIBNAME).so $(PKG_DEVLIB_DIR)/$(LIBNAME).so; \
+ fi
+ else
+ INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC)