On Thu, Oct 01, 2015 at 12:18:32PM +0300, Ioan-Adrian Ratiu wrote: > On 30.09.2015 18:24, Khem Raj wrote: > > > >> On Sep 30, 2015, at 4:15 AM, Ioan-Adrian Ratiu <adrian.ra...@ni.com> wrote: > >> > >> libubox contains C utility functions used by OpenWrt projects > >> > >> Signed-off-by: Ioan-Adrian Ratiu <adrian.ra...@ni.com> > >> --- > >> meta-oe/recipes-devtools/libubox/libubox_git.bb | 32 > >> +++++++++++++++++++++++++ > >> 1 file changed, 32 insertions(+) > >> create mode 100644 meta-oe/recipes-devtools/libubox/libubox_git.bb > >> > >> diff --git a/meta-oe/recipes-devtools/libubox/libubox_git.bb > >> b/meta-oe/recipes-devtools/libubox/libubox_git.bb > >> new file mode 100644 > >> index 0000000..4be3ac1 > >> --- /dev/null > >> +++ b/meta-oe/recipes-devtools/libubox/libubox_git.bb > >> @@ -0,0 +1,32 @@ > >> +DESCRIPTION = "C utility functions for OpenWrt" > >> +SECTION = "libs" > >> +LICENSE = "libubox-custom-license” > > > > where is the license file ? > > > > There is no global license file, only the license headers specified per > files, of which I tried to list all the unique ones in the > LIC_FILES_CHKSUM. I'm still at a loss what to put in the LICENSE > variable. Any suggestions? > > >> +LIC_FILES_CHKSUM = "\ > >> + file://avl.c;endline=39;md5=00810155fed3d604816ec5814523d60a \ > >> + file://avl-cmp.c;endline=15;md5=1603e6094b432a5f3f320877a06f41b5 \ > >> + file://base64.c;endline=61;md5=51fdff010d45b0086ac0a6e035693dc0 \ > >> + file://blobmsg.c;endline=15;md5=7ed64c1570e8c9b46c4fc6fbd16c489e \ > >> + file://list.h;endline=28;md5=2d5f5475fbd0f08741354c5a99c2e983 \ > >> + file://md5.h;endline=39;md5=048bf9f68963c207a0c2b3a94c9d2aaa \ > >> + file://md5.c;endline=51;md5=0a448eea0bcbc89e3c7e6608f2d119a0 \ > >> + file://usock.h;endline=18;md5=f0dfdc8de858e66d66d74036611bba14 \ > >> +" > >> + > >> +PACKAGES = "${PN} ${PN}-dbg ${PN}-dev ${PN}-staticdev” > > > > why override default PACKAGES ? > > > > This is related with the issue below, please see my explanation there. > > >> + > >> +DEPENDS = "json-c" > >> + > >> +SRC_URI = "git://git.openwrt.org/project/libubox.git" > >> + > >> +SRCREV = "136a5196266d03d537f822c4e67d2fde2ed59505" > >> + > >> +S = "${WORKDIR}/git" > >> + > >> +inherit cmake > >> + > >> +EXTRA_OECMAKE = "-DBUILD_EXAMPLES=OFF -DBUILD_LUA=OFF" > >> + > >> +FILES_${PN} += "\ > >> + ${libdir}/libubox.so \ > >> + ${libdir}/libblobmsg_json.so \ > > > > can they be versioned ? > > > > My initial problem in patch v1 was that I was getting this dev-deps > error (I used INSANE_SKIP to suppress it): > > ERROR: QA Issue: libubox rdepends on libubox-dev [dev-deps] > ERROR: QA run found fatal errors. Please consider fixing them. > ERROR: Function failed: do_package_qa > > Martin J. told me to fix the issue properly for these recipes. > > Now, in v2, I've made it go away by reordering ${PN} in front of > ${PN}-dev in PACKAGES and explicitly adding these files to FILES_${PN}. > If I use the default PACKAGES variable, or do not add the libraries to > FILES_${PN}, that error reappears. > > I don't have a level of knowledge-depth of the OE packaging mechanism to > fully understand what is happening here and I couldn't find more info in > the docs... So any help on this is very much appreciated :)
I'm surprised that there are still many people confused by this and that the docs aren't clear enough. I'm not tech. writer, but I would explain it like this: Packaging rules: 1) Each installed file (in ${D} directory), should be packaged in exactly one package. If it matches in multiple FILES_<pkg> patterns, then first package wins (see bellow), if it isn't matched in any FILES_<pkg> variable, then it's not packaged at all and QA warning installed-not-packaged is shown. 2) Files are "moved" to packages in order of PACKAGES variable, so if FILES_<pkg1> has more generic pattern than FILES_<pkg2> then pkg1 needs to be _after_ pkg2 in PACKAGES variable or pkg1 will get all files and pkg2 none. To apply this on your problem, if you really want to move all .so files to PN (normally they are symlinks to versioned .so.X.Y.Z and really belong to PN-dev). Typical exception to this rule are some .so modules loaded by the application itself instead of normal shlib loader. You have 2 options (first one is better) 1) restrict FILES_${PN}-dev to prevent it from "eating" these .so. I prefer to set FILES_SOLIBSDEV instead of redefinition of whole FILES_${PN}-dev 2) change order of PACKAGES by re-defining it in the recipe - harder to introduce new global PACKAGES Regards, > > > -- > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-devel -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com
signature.asc
Description: Digital signature
-- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel