[yocto] how to configure the build packages of a makefile based libary
S.Jaritz at esa-grimma.de
S.Jaritz at esa-grimma.de
Thu Apr 28 05:09:47 PDT 2016
Hej
The makefile has an install section. I relocated it with the ${D}. By
doing that I managed that the compiler filled the "package" directory. But
there is still a packing issue.
Below is the log (and below of it is the libhiredis.bb).
Now my question: How to define the FILES variable for a proper packing?
#### log ######
NOTE: Executing RunQueue Tasks
WARNING: libhiredis: No generic license file exists for: COPYING in any
provider
ERROR: QA Issue: libhiredis: Files/directories were installed but not
shipped in any package:
/usr/local
/usr/local/lib
/usr/local/include
/usr/local/lib/libhiredis.so
/usr/local/lib/libhiredis.so.0.13
/usr/local/lib/libhiredis.a
/usr/local/lib/.debug
/usr/local/lib/pkgconfig
/usr/local/lib/.debug/libhiredis.so.0.13
/usr/local/lib/pkgconfig/hiredis.pc
/usr/local/include/hiredis
/usr/local/include/hiredis/sds.h
/usr/local/include/hiredis/read.h
/usr/local/include/hiredis/async.h
/usr/local/include/hiredis/hiredis.h
/usr/local/include/hiredis/adapters
/usr/local/include/hiredis/adapters/glib.h
/usr/local/include/hiredis/adapters/macosx.h
/usr/local/include/hiredis/adapters/libev.h
/usr/local/include/hiredis/adapters/libevent.h
/usr/local/include/hiredis/adapters/qt.h
/usr/local/include/hiredis/adapters/libuv.h
/usr/local/include/hiredis/adapters/ae.h
/usr/local/include/hiredis/adapters/ivykis.h
Please set FILES such that these items are packaged. Alternatively if they
are unneeded, avoid installing them or delete them within do_install.
libhiredis: 24 installed and not shipped files. [installed-vs-shipped]
NOTE: Tasks Summary: Attempted 388 tasks of which 375 didn't need to be
rerun and all succeeded.
Summary: There were 2 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
#### end of log ######
#### libhiredis ######
SUMMARY = "libhiredis"
SECTION = "sek4"
LICENSE = "COPYING"
LIC_FILES_CHKSUM = "file://$
{WORKDIR}/git/COPYING;md5=d84d659a35c666d23233e54503aaea51"
# 0.13.3
# SRCREV = "010756025e8cefd1bc66c6d4ed3b1648ef6f1f95"
SRC_URI = "git://github.com/redis/hiredis.git;rev=v0.13.3"
S = "${WORKDIR}/git/"
# we need to pass the Cxx parameter extra to the make call
EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS}
-I${S}/include' 'BUILDDIR=${S}' 'DESTDIR=${D}'"
inherit autotools-brokensep
do_compile() {
oe_runmake all 'CC=${CC}'
}
do_install() {
oe_runmake install 'DESTDIR=${D}'
}
#### libhiredis of log ######
with kind regards
Stefan Jaritz
Entwickler
------------------------------------------------------------
ESA Elektroschaltanlagen Grimma GmbH
Broner Ring 30
04668 Grimma
Telefon: +49 3437 9211 176
Telefax: +49 3437 9211 26
E-Mail: s.jaritz at esa-grimma.de
Internet: www.esa-grimma.de
Geschäftsführer:
Dipl.-Ing. Jörg Gaitzsch
Jörg Reinker
Sitz der Gesellschaft: Grimma
Ust.-ID: DE 141784437
Amtsgericht: Leipzig, HRB 5159
Steuernummer: 238/108/00755
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich
erhalten
haben, informieren Sie bitte sofort den Absender und löschen Sie diese
Nachricht. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser
Mail
ist nicht gestattet.
This e-mail may contain confidential and/or privileged information. If you
are
not the intended recipient (or have received this e-mail in error) please
notify the sender immediately and destroy this e-mail. Any unauthorized
copying, disclosure or distribution of the material in this e-mail is
strictly
forbidden.
Von: "Burton, Ross" <ross.burton at intel.com>
An: S.Jaritz at esa-grimma.de
Kopie: "yocto at yoctoproject.org" <yocto at yoctoproject.org>
Datum: 28.04.2016 12:52
Betreff: Re: [yocto] how to configure the build packages of a
makefile based libary
On 28 April 2016 at 10:50, <S.Jaritz at esa-grimma.de> wrote:
I like to include the hiredis library. I created a recipe and modified the
EXTRA_OEMAKE. The compilation works (in the git directory object, "so" and
"a" files are generated). But the generated files are not placed into
packages.
Any ideas?
You need to look at the makefile to see if it has an install target, and
if it does what it's called, and if it has a way of controlling where
files actually go (both respecting $prefix instead of /usr, and letting
you relocate via ${D} so it doesn't try and install to /usr on your build
machine). If it does all of those right then you can write a do_install()
that just calls the right make commands. Chances are that it does
something wrong and it's easier to just write a do_install() that creates
directories and copies files manually.
This is why it doesn't happen automatically unless you're using something
like automake - there's no standard way.
Ross
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20160428/0bdd5d02/attachment.html>
More information about the yocto
mailing list