[OE-core] [PATCH 2/2 v2] libcap-ng: add package 0.7.7

Khem Raj raj.khem at gmail.com
Sat Aug 22 01:36:46 UTC 2015


> On Aug 21, 2015, at 5:55 PM, Randy MacLeod <randy.macleod at windriver.com> wrote:
> 
> On 2015-08-21 03:25 AM, Khem Raj wrote:
>> On Thu, Aug 20, 2015 at 10:38 PM,  <wenzong.fan at windriver.com> wrote:
>>> From: Wenzong Fan <wenzong.fan at windriver.com>
>>> 
>>> Pull package from meta-oe to oe-core:
>>> meta-oe commit: bce4dba5546480c8e43c6442959ac7d0a4ef32f6
>>> 
>>> The libcap-ng library is intended to make programming with posix
>>> capabilities much easier than the traditional libcap library.
>>> 
>>> It's not a replacement to libcap, it provides different library
>>> (libcap-ng.so) while packages explicitly look for libcap.so. It
>>> could be used by qemu, util-linux, libvirt, audit ...
>>> 
>>> With adding it to oe-core, the copies from following layers could
>>> be removed:
>>> 
>>> * meta-oe, meta-selinux, meta-security-framework ...
>> 
>> I am afraid that we  are setting a pretext for moving all recipes that
>> are in multiple layers to be eligible for OE-core now.
>> meta-oe is common layer for extended recipes, so may be other layers
>> should have been a bit more vigilant and made sure
>> there requirements were met with whats in meta-oe.
> 
> Meta-oe has far to many recipes for some people to want
> to include the entire layer:
>   meta-oe.git $ find meta-oe/ -name "*bb" | wc -l
>   618
> We can certainly use the new whitelist layer filtering to
> get to a smaller collection of recipes but I'd like to suggest we
> need to document and maybe design the layer structure
> a bit more. There are lots of different opinions about
> how to split collections of packages in to different layers so
> unless someone has a dependency-based analysis of all
> pacakges in all layers, I don't see much point in a long
> discussion on this topic.

if someone wants to ignore certain recipes use BBMASK, I do not think
this whitelisting is a good idea, it does not help in maintaining layer
quality, and its much better that we maintained layers in good quality collectively
may be with some extra recipes in it instead of cannibalizing few recipes from it
into private layers or other layer which one happens to use. It seriously dents
the layers user base and quality. If meta-oe hosts certain layers that could be
a fit in another middleware or topic layer, lets move it to that layer but lets
not encourage the behavior of duplicating the recipes or severely crippling the layer
before using it.

> 
> Has the idea of creating a new meta-openembedded layer
> for widely-used, OS interface libraries been proposed?
> These 80 recipes could be considered for inclusion:
>   $ find  meta-oe -name "lib*bb" | wc -l
>   80
> but more consideration is probably needed.
> 
> In the short term (oe-core-1.9 (now 2.0), I guess we leave
> things as they are. Sigh…

number of layers is a delicate balance too. The more you divide them more smaller the userbase will become
and complex becomes the distros.

> 
> ../Randy
> 
> 
> While I'm at it, for reference of layer size:
> 
> $ for i in `ls -d meta-*`; do echo -n $i": "; find $i -name "*bb" | wc -l; done
> meta-efl: 57
> meta-filesystems: 16
> meta-gnome: 82
> meta-gpe: 5
> meta-initramfs: 14
> meta-multimedia: 51
> meta-networking: 115
> meta-oe: 618
> meta-perl: 30
> meta-python: 74
> meta-ruby: 4
> meta-systemd: 1
> meta-webserver: 13
> meta-xfce: 67
> 
> -----------------------------------------
> 
> 
>> we should ask what core feature does it enable for reference images
>> and machines.
>> 
>>> 
>>> Signed-off-by: Wenzong Fan <wenzong.fan at windriver.com>
>>> ---
>>>  .../libcap-ng/libcap-ng/python.patch               | 58 ++++++++++++++++++++++
>>>  meta/recipes-support/libcap-ng/libcap-ng_0.7.7.bb  | 39 +++++++++++++++
>>>  2 files changed, 97 insertions(+)
>>>  create mode 100644 meta/recipes-support/libcap-ng/libcap-ng/python.patch
>>>  create mode 100644 meta/recipes-support/libcap-ng/libcap-ng_0.7.7.bb
>>> 
>>> diff --git a/meta/recipes-support/libcap-ng/libcap-ng/python.patch b/meta/recipes-support/libcap-ng/libcap-ng/python.patch
>>> new file mode 100644
>>> index 0000000..59591eb
>>> --- /dev/null
>>> +++ b/meta/recipes-support/libcap-ng/libcap-ng/python.patch
>>> @@ -0,0 +1,58 @@
>>> +From b01bb2694f66cd981e6d61523433dc3eb5ed32f2 Mon Sep 17 00:00:00 2001
>>> +From: Li xin <lixin.fnst at cn.fujitsu.com>
>>> +Date: Sat, 18 Jul 2015 23:03:30 +0900
>>> +Subject: [PATCH] configure.ac - Avoid an incorrect check for python.
>>> + Makefile.am - avoid hard coded host include paths.
>>> +
>>> +Upstream-Status: pending
>>> +
>>> +Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
>>> +Signed-off-by: Li Xin <lixin.fnst at cn.fujitsu.com>
>>> +---
>>> + bindings/python/Makefile.am |  3 ++-
>>> + configure.ac                | 15 ++-------------
>>> + 2 files changed, 4 insertions(+), 14 deletions(-)
>>> +
>>> +diff --git a/bindings/python/Makefile.am b/bindings/python/Makefile.am
>>> +index 82b9bb8..f9fe7a8 100644
>>> +--- a/bindings/python/Makefile.am
>>> ++++ b/bindings/python/Makefile.am
>>> +@@ -23,7 +23,8 @@ SUBDIRS = test
>>> + CONFIG_CLEAN_FILES = *.loT *.rej *.orig
>>> + AM_CFLAGS = -fPIC -DPIC
>>> + PYLIBVER ?= python$(PYTHON_VERSION)
>>> +-AM_CPPFLAGS = -I. -I$(top_builddir) -I at PYINCLUDEDIR@
>>> ++PYINC ?= /usr/include/$(PYLIBVER)
>>> ++AM_CPPFLAGS = -I. -I$(top_builddir) -I$(PYINC)
>>> + LIBS = $(top_builddir)/src/libcap-ng.la
>>> + SWIG_FLAGS = -python
>>> + SWIG_INCLUDES = ${AM_CPPFLAGS}
>>> +diff --git a/configure.ac b/configure.ac
>>> +index 1d777d5..9d90f64 100644
>>> +--- a/configure.ac
>>> ++++ b/configure.ac
>>> +@@ -123,19 +123,8 @@ if test x$use_python = xno ; then
>>> + else
>>> + AC_MSG_RESULT(testing)
>>> + AM_PATH_PYTHON
>>> +-PYINCLUDEDIR=`python${am_cv_python_version} -c "from distutils import sysconfig; print(sysconfig.get_config_var('INCLUDEPY'))"`
>>> +-if test -f ${PYINCLUDEDIR}/Python.h ; then
>>> +-      python_found="yes"
>>> +-      AC_SUBST(PYINCLUDEDIR)
>>> +-      AC_MSG_NOTICE(Python bindings will be built)
>>> +-else
>>> +-      python_found="no"
>>> +-      if test x$use_python = xyes ; then
>>> +-              AC_MSG_ERROR([Python explicitly required and python headers found])
>>> +-      else
>>> +-              AC_MSG_WARN("Python headers not found - python bindings will not be made")
>>> +-      fi
>>> +-fi
>>> ++python_found="yes"
>>> ++AC_MSG_NOTICE(Python bindings will be built)
>>> + fi
>>> + AM_CONDITIONAL(HAVE_PYTHON, test ${python_found} = "yes")
>>> +
>>> +--
>>> +1.8.4.2
>>> +
>>> diff --git a/meta/recipes-support/libcap-ng/libcap-ng_0.7.7.bb b/meta/recipes-support/libcap-ng/libcap-ng_0.7.7.bb
>>> new file mode 100644
>>> index 0000000..a31d5dc
>>> --- /dev/null
>>> +++ b/meta/recipes-support/libcap-ng/libcap-ng_0.7.7.bb
>>> @@ -0,0 +1,39 @@
>>> +SUMMARY = "An alternate posix capabilities library"
>>> +DESCRIPTION = "The libcap-ng library is intended to make programming \
>>> +with POSIX capabilities much easier than the traditional libcap library."
>>> +HOMEPAGE = "http://freecode.com/projects/libcap-ng"
>>> +SECTION = "base"
>>> +LICENSE = "GPLv2+ & LGPLv2.1+"
>>> +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
>>> +                   file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
>>> +
>>> +SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \
>>> +           file://python.patch"
>>> +
>>> +inherit lib_package autotools pythonnative
>>> +
>>> +SRC_URI[md5sum] = "3d7d126b29e2869a0257c17c8b0d9b2e"
>>> +SRC_URI[sha256sum] = "615549ce39b333f6b78baee0c0b4ef18bc726c6bf1cca123dfd89dd963f6d06b"
>>> +
>>> +DEPENDS += "swig-native python"
>>> +
>>> +EXTRA_OECONF += "--without-python3"
>>> +
>>> +EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}' PYINC='${STAGING_INCDIR}/${PYLIBVER}'"
>>> +
>>> +PACKAGES += "${PN}-python"
>>> +
>>> +FILES_${PN}-dbg += "${libdir}/python${PYTHON_BASEVERSION}/*/.debug"
>>> +FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}"
>>> +
>>> +BBCLASSEXTEND = "native"
>>> +
>>> +do_install_append() {
>>> +       # Moving libcap-ng to base_libdir
>>> +       if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
>>> +               mkdir -p ${D}/${base_libdir}/
>>> +               mv -f ${D}${libdir}/libcap-ng.so.* ${D}${base_libdir}/
>>> +               relpath=${@os.path.relpath("${base_libdir}", "${libdir}")}
>>> +               ln -sf ${relpath}/libcap-ng.so.0.0.0 ${D}${libdir}/libcap-ng.so
>>> +       fi
>>> +}
>>> --
>>> 1.9.1
>>> 
>>> --
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core at lists.openembedded.org
>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> 
> 
> --
> # Randy MacLeod. SMTS, Linux, Wind River
> Direct: 613.963.1350 | 350 Terry Fox Drive, Suite 200, Ottawa, ON, Canada, K2K 2W5

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20150821/b14f611d/attachment-0002.sig>


More information about the Openembedded-core mailing list