[yocto] RPM Packaging

2015-03-26 Thread Prasant J
Hi,

I want to create custom rpm packages for the iMX6Q device
(cortexa9hf-vfp-neon-mx6). I have to create two types of packages:
either pre-built arm binaries to be packed or packages containing only
bash scripts. There is no need of cross-compiling while packaging for
my cases.

I'm building the packages on my Ubuntu system. When I specify ->
BuildArch: cortexa9hf-vfp-neon-mx6, and try to create a package
(rpmbuild -ba SPECS/foo.spec), it complains  "error: No compatible
architectures found for build".

For my case: rpm does not need to cross-compile but just do the
packaging. How can I force rpm to believe the architecture that I'm
specifying?

Any inputs will be of help.


Regards, Pj
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] RPM Packaging

2015-03-26 Thread Gaurang Shastri
Hi Prashant,

This is wrong window to ask generic question.

//Gaurang

On Thu, Mar 26, 2015 at 12:51 PM, Prasant J  wrote:

> Hi,
>
> I want to create custom rpm packages for the iMX6Q device
> (cortexa9hf-vfp-neon-mx6). I have to create two types of packages:
> either pre-built arm binaries to be packed or packages containing only
> bash scripts. There is no need of cross-compiling while packaging for
> my cases.
>
> I'm building the packages on my Ubuntu system. When I specify ->
> BuildArch: cortexa9hf-vfp-neon-mx6, and try to create a package
> (rpmbuild -ba SPECS/foo.spec), it complains  "error: No compatible
> architectures found for build".
>
> For my case: rpm does not need to cross-compile but just do the
> packaging. How can I force rpm to believe the architecture that I'm
> specifying?
>
> Any inputs will be of help.
>
>
> Regards, Pj
> --
> ___
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


[yocto] .rpm packaging weirdness of dynamic libraries

2013-05-23 Thread Hans Beckérus
Hello. On the rootfs all of user added packages with dynamic libraries
(/usr/lib) are missing the .so file soft link? If I check in the
source folder in .libs created by libtool they are all there and links
correctly. Eg. for the linx package:

[git/lib/.libs]: ls -l liblinx*
-rw-r--r-- 1 xxx rnd 46558 May 22 17:51 liblinx.a
lrwxrwxrwx 1 xxx rnd13 May 22 17:51 liblinx.la -> ../liblinx.la
-rw-r--r-- 1 xxx rnd   911 May 22 17:51 liblinx.lai
lrwxrwxrwx 1 xxx rnd16 May 22 17:51 liblinx.so -> liblinx.so.0.0.0
lrwxrwxrwx 1 xxx rnd16 May 22 17:51 liblinx.so.0 -> liblinx.so.0.0.0
-rwxr-xr-x 1 xxx rnd 43883 May 22 17:51 liblinx.so.0.0.0

Also in the package folder everything looks ok

[linx/1.0-r0/package]: ls -l usr/lib/liblinx*
-rw-r--r-- 2 xxx rnd 46558 May 22 17:51 usr/lib/liblinx.a
-rwxr-xr-x 2 xxx rnd   911 May 22 17:51 usr/lib/liblinx.la
lrwxrwxrwx 1 xxx rnd16 May 22 17:51 usr/lib/liblinx.so ->
liblinx.so.0.0.0
lrwxrwxrwx 1 xxx rnd16 May 22 17:51 usr/lib/liblinx.so.0 ->
liblinx.so.0.0.0
-rwxr-xr-x 2 xxx rnd 10356 May 22 17:52 usr/lib/liblinx.so.0.0.0

But in the rpm, the libs are packaged incorrectly (or at least not as expected)

[1.0-r0/deploy-rpms/cortexa9_vfp]: rpm -q -filesbypkg -p
linx-1.0-r0.cortexa9_vfp.rpm
warning: linx-1.0-r0.cortexa9_vfp.rpm: Header V4 DSA signature: NOKEY,
key ID e747fcfb
linx  /etc
linx  /etc/linxdisc.conf
linx  /usr
linx  /usr/bin
linx  /usr/bin/linx_basic_client
linx  /usr/bin/linx_basic_server
linx  /usr/bin/linx_bmark
linx  /usr/bin/linxcfg
linx  /usr/bin/linxdisc
linx  /usr/bin/linxgwcmd
linx  /usr/bin/linxgws
linx  /usr/bin/linxstat
linx  /usr/bin/mkcmclcon
linx  /usr/bin/mkethcon
linx  /usr/bin/mkhdlccon
linx  /usr/bin/mklink
linx  /usr/bin/mkriocon
linx  /usr/bin/mkshmcon
linx  /usr/bin/mksriocon
linx  /usr/bin/mktcpcon
linx  /usr/bin/rmcmclcon
linx  /usr/bin/rmethcon
linx  /usr/bin/rmhdlccon
linx  /usr/bin/rmlink
linx  /usr/bin/rmriocon
linx  /usr/bin/rmshmcon
linx  /usr/bin/rmsriocon
linx  /usr/bin/rmtcpcon
linx  /usr/bin/uselgws
linx  /usr/lib
linx  /usr/lib/libcfg.so.0
linx  /usr/lib/libcfg.so.0.0.0
linx  /usr/lib/libgw.so.0
linx  /usr/lib/libgw.so.0.0.0
linx  /usr/lib/liblinx.so.0
linx  /usr/lib/liblinx.so.0.0.0
linx  /usr/lib/libusel_linx.so.0
linx  /usr/lib/libusel_linx.so.0.0.0

As can be seen in the end, there are no .so files :(, only .so.0
pointing to the exact version of the library. Has this been observed
before? Have we made something wrong in our .bb file that results in
this abnormality? From what I know (and also from what some of our
system software require) there should always be a plain .so file for
dynamic library version(s) to work as expected.

I am currently on poky/master, but this has been confirmed also on
official danny releases.

Hans
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] .rpm packaging weirdness of dynamic libraries

2013-05-23 Thread Burton, Ross
On 23 May 2013 15:50, Hans Beckérus  wrote:
> But in the rpm, the libs are packaged incorrectly (or at least not as 
> expected)

There (should) also be a linx-dev package, that contains the .so
symlinks.  .so symlink files are only needed at compilation time for
properly versioned libraries.

Ross
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] .rpm packaging weirdness of dynamic libraries

2013-05-23 Thread Hans Beckérus
On Thu, May 23, 2013 at 4:55 PM, Burton, Ross  wrote:
> On 23 May 2013 15:50, Hans Beckérus  wrote:
>> But in the rpm, the libs are packaged incorrectly (or at least not as 
>> expected)
>
> There (should) also be a linx-dev package, that contains the .so
> symlinks.  .so symlink files are only needed at compilation time for
> properly versioned libraries.
>
> Ross
Well, yes and no ;) If I look in /lib there are plenty of libraries
that comes with .so files so it seems they are needed in some cases,
right? Also, since part of our system software is doing loading of
dynamic libraries themselves using dlopen() it is *very* hard to
enforce removal of .so files since that piece of software does not
know what particular version of the library it should use. It should
load whatever .so points to, most commonly the latest version. So, is
there some way for us to make sure .so files are also part of the
.rpm? we do not wish to install the -dev variant since it also
pollutes the system with a lot of other not needed stuff. Since /lib
is having a lot of of .so files it must be possible, or?
Actually, I have never seen a system that does not include also the
.so files? Not even embedded ones. They are only soft links so
flash/ram/disk space is not really an issue here.

Hans


On Thu, May 23, 2013 at 4:55 PM, Burton, Ross  wrote:
> On 23 May 2013 15:50, Hans Beckérus  wrote:
>> But in the rpm, the libs are packaged incorrectly (or at least not as 
>> expected)
>
> There (should) also be a linx-dev package, that contains the .so
> symlinks.  .so symlink files are only needed at compilation time for
> properly versioned libraries.
>
> Ross
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] .rpm packaging weirdness of dynamic libraries

2013-05-23 Thread Hans Beckérus
Coming to think of it, since the .so requirement is only applicable to
small subset of our libraries, I guess we could make an init script
that creates the .so soft links according to what is currently the
latest version on the system. Otherwise we would need to update the
software doing dlopen() every time the library major version is
stepped. Since that software is not under our complete control that
could end up very difficult.

Otherwise, I fully agree that the .so files should not really be
needed if only ld is involved. Why can not things just be simple ;)

Hans

On Thu, May 23, 2013 at 5:25 PM, Hans Beckérus  wrote:
> On Thu, May 23, 2013 at 4:55 PM, Burton, Ross  wrote:
>> On 23 May 2013 15:50, Hans Beckérus  wrote:
>>> But in the rpm, the libs are packaged incorrectly (or at least not as 
>>> expected)
>>
>> There (should) also be a linx-dev package, that contains the .so
>> symlinks.  .so symlink files are only needed at compilation time for
>> properly versioned libraries.
>>
>> Ross
> Well, yes and no ;) If I look in /lib there are plenty of libraries
> that comes with .so files so it seems they are needed in some cases,
> right? Also, since part of our system software is doing loading of
> dynamic libraries themselves using dlopen() it is *very* hard to
> enforce removal of .so files since that piece of software does not
> know what particular version of the library it should use. It should
> load whatever .so points to, most commonly the latest version. So, is
> there some way for us to make sure .so files are also part of the
> .rpm? we do not wish to install the -dev variant since it also
> pollutes the system with a lot of other not needed stuff. Since /lib
> is having a lot of of .so files it must be possible, or?
> Actually, I have never seen a system that does not include also the
> .so files? Not even embedded ones. They are only soft links so
> flash/ram/disk space is not really an issue here.
>
> Hans
>
>
> On Thu, May 23, 2013 at 4:55 PM, Burton, Ross  wrote:
>> On 23 May 2013 15:50, Hans Beckérus  wrote:
>>> But in the rpm, the libs are packaged incorrectly (or at least not as 
>>> expected)
>>
>> There (should) also be a linx-dev package, that contains the .so
>> symlinks.  .so symlink files are only needed at compilation time for
>> properly versioned libraries.
>>
>> Ross
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] .rpm packaging weirdness of dynamic libraries

2013-05-23 Thread Burton, Ross
On 23 May 2013 16:25, Hans Beckérus  wrote:
> Well, yes and no ;) If I look in /lib there are plenty of libraries
> that comes with .so files so it seems they are needed in some cases,
> right? Also, since part of our system software is doing loading of
> dynamic libraries themselves using dlopen() it is *very* hard to
> enforce removal of .so files since that piece of software does not
> know what particular version of the library it should use. It should
> load whatever .so points to, most commonly the latest version. So, is
> there some way for us to make sure .so files are also part of the
> .rpm? we do not wish to install the -dev variant since it also
> pollutes the system with a lot of other not needed stuff. Since /lib
> is having a lot of of .so files it must be possible, or?
> Actually, I have never seen a system that does not include also the
> .so files? Not even embedded ones. They are only soft links so
> flash/ram/disk space is not really an issue here.

*Every* mainstream linux distribution will not ship .so symlinks
unless you've installed the development files, or they are needed for
some reason (generally, the .so won't be a symlink in that case).  If
a particular library is designed to be unversioned and dlopen'd using
a .so filename, then change the FILES as appropriate.  If your package
is dlopening arbitrary versioned libraries though libfoo.so filenames
then you can either do more work and find the real name, or mess
around with the packaging yourself.

Ross
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] .rpm packaging weirdness of dynamic libraries

2013-05-23 Thread Hans Beckérus
On Thu, May 23, 2013 at 5:47 PM, Burton, Ross  wrote:
> On 23 May 2013 16:25, Hans Beckérus  wrote:
>> Well, yes and no ;) If I look in /lib there are plenty of libraries
>> that comes with .so files so it seems they are needed in some cases,
>> right? Also, since part of our system software is doing loading of
>> dynamic libraries themselves using dlopen() it is *very* hard to
>> enforce removal of .so files since that piece of software does not
>> know what particular version of the library it should use. It should
>> load whatever .so points to, most commonly the latest version. So, is
>> there some way for us to make sure .so files are also part of the
>> .rpm? we do not wish to install the -dev variant since it also
>> pollutes the system with a lot of other not needed stuff. Since /lib
>> is having a lot of of .so files it must be possible, or?
>> Actually, I have never seen a system that does not include also the
>> .so files? Not even embedded ones. They are only soft links so
>> flash/ram/disk space is not really an issue here.
>
> *Every* mainstream linux distribution will not ship .so symlinks
> unless you've installed the development files, or they are needed for
> some reason (generally, the .so won't be a symlink in that case).  If
> a particular library is designed to be unversioned and dlopen'd using
> a .so filename, then change the FILES as appropriate.  If your package
> is dlopening arbitrary versioned libraries though libfoo.so filenames
> then you can either do more work and find the real name, or mess
> around with the packaging yourself.
>
> Ross

Sure. I am not questioning mainstream decision not to ship the .so
symlinks. I most likely have never encountered real mainstream
embedded systems before ;) Only home-brewed (we-can-do-it-ourselves)
things. What I needed was some sort of pointer on how to handle the
case when you do need to violate the mainstream rules :(
I will play around with the FILES setting to see if it will get us
were we need to be. I really do not wish to tamper with the packaging
routines. It does what it does, with an obviously good reason too :P

Thanks!
Hans


On Thu, May 23, 2013 at 5:47 PM, Burton, Ross  wrote:
> On 23 May 2013 16:25, Hans Beckérus  wrote:
>> Well, yes and no ;) If I look in /lib there are plenty of libraries
>> that comes with .so files so it seems they are needed in some cases,
>> right? Also, since part of our system software is doing loading of
>> dynamic libraries themselves using dlopen() it is *very* hard to
>> enforce removal of .so files since that piece of software does not
>> know what particular version of the library it should use. It should
>> load whatever .so points to, most commonly the latest version. So, is
>> there some way for us to make sure .so files are also part of the
>> .rpm? we do not wish to install the -dev variant since it also
>> pollutes the system with a lot of other not needed stuff. Since /lib
>> is having a lot of of .so files it must be possible, or?
>> Actually, I have never seen a system that does not include also the
>> .so files? Not even embedded ones. They are only soft links so
>> flash/ram/disk space is not really an issue here.
>
> *Every* mainstream linux distribution will not ship .so symlinks
> unless you've installed the development files, or they are needed for
> some reason (generally, the .so won't be a symlink in that case).  If
> a particular library is designed to be unversioned and dlopen'd using
> a .so filename, then change the FILES as appropriate.  If your package
> is dlopening arbitrary versioned libraries though libfoo.so filenames
> then you can either do more work and find the real name, or mess
> around with the packaging yourself.
>
> Ross
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] .rpm packaging weirdness of dynamic libraries

2013-05-23 Thread Hans Beckérus
On Thu, May 23, 2013 at 6:01 PM, Hans Beckérus  wrote:
> On Thu, May 23, 2013 at 5:47 PM, Burton, Ross  wrote:
>> On 23 May 2013 16:25, Hans Beckérus  wrote:
>>> Well, yes and no ;) If I look in /lib there are plenty of libraries
>>> that comes with .so files so it seems they are needed in some cases,
>>> right? Also, since part of our system software is doing loading of
>>> dynamic libraries themselves using dlopen() it is *very* hard to
>>> enforce removal of .so files since that piece of software does not
>>> know what particular version of the library it should use. It should
>>> load whatever .so points to, most commonly the latest version. So, is
>>> there some way for us to make sure .so files are also part of the
>>> .rpm? we do not wish to install the -dev variant since it also
>>> pollutes the system with a lot of other not needed stuff. Since /lib
>>> is having a lot of of .so files it must be possible, or?
>>> Actually, I have never seen a system that does not include also the
>>> .so files? Not even embedded ones. They are only soft links so
>>> flash/ram/disk space is not really an issue here.
>>
>> *Every* mainstream linux distribution will not ship .so symlinks
>> unless you've installed the development files, or they are needed for
>> some reason (generally, the .so won't be a symlink in that case).  If
>> a particular library is designed to be unversioned and dlopen'd using
>> a .so filename, then change the FILES as appropriate.  If your package
>> is dlopening arbitrary versioned libraries though libfoo.so filenames
>> then you can either do more work and find the real name, or mess
>> around with the packaging yourself.
>>
>> Ross
>
> Sure. I am not questioning mainstream decision not to ship the .so
> symlinks. I most likely have never encountered real mainstream
> embedded systems before ;) Only home-brewed (we-can-do-it-ourselves)
> things. What I needed was some sort of pointer on how to handle the
> case when you do need to violate the mainstream rules :(
> I will play around with the FILES setting to see if it will get us
> were we need to be. I really do not wish to tamper with the packaging
> routines. It does what it does, with an obviously good reason too :P
>
> Thanks!
> Hans
>
>
Hmm. I tried the FILES trick, but either I am doing something wrong or
FILES does not really affect whats getting into the .rpm? This is what
I tried in our recipe

FILES_${PN} += " ${exec_prefix}/usr/lib/libelinx.so"
FILES_${PN} += " ${exec_prefix}/usr/lib/libepmq.so"

But I see now that dev RPM in addition to the normal RPM is what we
need besides the .la files but I think we we can live with that  ;) Is
there some simple/clever trick to have both the standard and the dev
RPM being installed on the rootfs?

Hans


On Thu, May 23, 2013 at 6:01 PM, Hans Beckérus  wrote:
> On Thu, May 23, 2013 at 5:47 PM, Burton, Ross  wrote:
>> On 23 May 2013 16:25, Hans Beckérus  wrote:
>>> Well, yes and no ;) If I look in /lib there are plenty of libraries
>>> that comes with .so files so it seems they are needed in some cases,
>>> right? Also, since part of our system software is doing loading of
>>> dynamic libraries themselves using dlopen() it is *very* hard to
>>> enforce removal of .so files since that piece of software does not
>>> know what particular version of the library it should use. It should
>>> load whatever .so points to, most commonly the latest version. So, is
>>> there some way for us to make sure .so files are also part of the
>>> .rpm? we do not wish to install the -dev variant since it also
>>> pollutes the system with a lot of other not needed stuff. Since /lib
>>> is having a lot of of .so files it must be possible, or?
>>> Actually, I have never seen a system that does not include also the
>>> .so files? Not even embedded ones. They are only soft links so
>>> flash/ram/disk space is not really an issue here.
>>
>> *Every* mainstream linux distribution will not ship .so symlinks
>> unless you've installed the development files, or they are needed for
>> some reason (generally, the .so won't be a symlink in that case).  If
>> a particular library is designed to be unversioned and dlopen'd using
>> a .so filename, then change the FILES as appropriate.  If your package
>> is dlopening arbitrary versioned libraries though libfoo.so filenames
>> then you can either do more work and find the real name, or mess
>> around with the packaging yourself.
>>
>> Ross
>
> Sure. I am not questioning mainstream decision not to ship the .so
> symlinks. I most likely have never encountered real mainstream
> embedded systems before ;) Only home-brewed (we-can-do-it-ourselves)
> things. What I needed was some sort of pointer on how to handle the
> case when you do need to violate the mainstream rules :(
> I will play around with the FILES setting to see if it will get us
> were we need to be. I really do not wish to tamper with the packaging
> routines. It does what it does, with an obviously good reason too :

Re: [yocto] .rpm packaging weirdness of dynamic libraries

2013-05-23 Thread Hans Beckérus
On Thu, May 23, 2013 at 7:16 PM, Hans Beckérus  wrote:
> On Thu, May 23, 2013 at 6:01 PM, Hans Beckérus  
> wrote:
>> On Thu, May 23, 2013 at 5:47 PM, Burton, Ross  wrote:
>>> On 23 May 2013 16:25, Hans Beckérus  wrote:
 Well, yes and no ;) If I look in /lib there are plenty of libraries
 that comes with .so files so it seems they are needed in some cases,
 right? Also, since part of our system software is doing loading of
 dynamic libraries themselves using dlopen() it is *very* hard to
 enforce removal of .so files since that piece of software does not
 know what particular version of the library it should use. It should
 load whatever .so points to, most commonly the latest version. So, is
 there some way for us to make sure .so files are also part of the
 .rpm? we do not wish to install the -dev variant since it also
 pollutes the system with a lot of other not needed stuff. Since /lib
 is having a lot of of .so files it must be possible, or?
 Actually, I have never seen a system that does not include also the
 .so files? Not even embedded ones. They are only soft links so
 flash/ram/disk space is not really an issue here.
>>>
>>> *Every* mainstream linux distribution will not ship .so symlinks
>>> unless you've installed the development files, or they are needed for
>>> some reason (generally, the .so won't be a symlink in that case).  If
>>> a particular library is designed to be unversioned and dlopen'd using
>>> a .so filename, then change the FILES as appropriate.  If your package
>>> is dlopening arbitrary versioned libraries though libfoo.so filenames
>>> then you can either do more work and find the real name, or mess
>>> around with the packaging yourself.
>>>
>>> Ross
>>
>> Sure. I am not questioning mainstream decision not to ship the .so
>> symlinks. I most likely have never encountered real mainstream
>> embedded systems before ;) Only home-brewed (we-can-do-it-ourselves)
>> things. What I needed was some sort of pointer on how to handle the
>> case when you do need to violate the mainstream rules :(
>> I will play around with the FILES setting to see if it will get us
>> were we need to be. I really do not wish to tamper with the packaging
>> routines. It does what it does, with an obviously good reason too :P
>>
>> Thanks!
>> Hans
>>
>>
> Hmm. I tried the FILES trick, but either I am doing something wrong or
> FILES does not really affect whats getting into the .rpm? This is what
> I tried in our recipe
>
> FILES_${PN} += " ${exec_prefix}/usr/lib/libelinx.so"
> FILES_${PN} += " ${exec_prefix}/usr/lib/libepmq.so"
>
> But I see now that dev RPM in addition to the normal RPM is what we
> need besides the .la files but I think we we can live with that  ;) Is
> there some simple/clever trick to have both the standard and the dev
> RPM being installed on the rootfs?
>

Oops! Already spotted my typo there. It should of course be

FILES_${PN} += " ${exec_prefix}/lib/libelinx.so"
FILES_${PN} += " ${exec_prefix}/lib/libepmq.so"

But unfortunately I did not make any difference to the .rpm file :(

Hans

On Thu, May 23, 2013 at 7:16 PM, Hans Beckérus  wrote:
> On Thu, May 23, 2013 at 6:01 PM, Hans Beckérus  
> wrote:
>> On Thu, May 23, 2013 at 5:47 PM, Burton, Ross  wrote:
>>> On 23 May 2013 16:25, Hans Beckérus  wrote:
 Well, yes and no ;) If I look in /lib there are plenty of libraries
 that comes with .so files so it seems they are needed in some cases,
 right? Also, since part of our system software is doing loading of
 dynamic libraries themselves using dlopen() it is *very* hard to
 enforce removal of .so files since that piece of software does not
 know what particular version of the library it should use. It should
 load whatever .so points to, most commonly the latest version. So, is
 there some way for us to make sure .so files are also part of the
 .rpm? we do not wish to install the -dev variant since it also
 pollutes the system with a lot of other not needed stuff. Since /lib
 is having a lot of of .so files it must be possible, or?
 Actually, I have never seen a system that does not include also the
 .so files? Not even embedded ones. They are only soft links so
 flash/ram/disk space is not really an issue here.
>>>
>>> *Every* mainstream linux distribution will not ship .so symlinks
>>> unless you've installed the development files, or they are needed for
>>> some reason (generally, the .so won't be a symlink in that case).  If
>>> a particular library is designed to be unversioned and dlopen'd using
>>> a .so filename, then change the FILES as appropriate.  If your package
>>> is dlopening arbitrary versioned libraries though libfoo.so filenames
>>> then you can either do more work and find the real name, or mess
>>> around with the packaging yourself.
>>>
>>> Ross
>>
>> Sure. I am not questioning mainstream decision not to ship the .so
>> symlinks. I most likely have neve

Re: [yocto] .rpm packaging weirdness of dynamic libraries

2013-05-23 Thread Burton, Ross
On 23 May 2013 18:16, Hans Beckérus  wrote:
> Hmm. I tried the FILES trick, but either I am doing something wrong or
> FILES does not really affect whats getting into the .rpm? This is what
> I tried in our recipe
>
> FILES_${PN} += " ${exec_prefix}/usr/lib/libelinx.so"
> FILES_${PN} += " ${exec_prefix}/usr/lib/libepmq.so"

Use ${libdir} instead of exec_prefix/usr/lib, and I guess the default
FILES_${PN}-dev is taking the files first.  Try setting that to "".

Ross
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] .rpm packaging weirdness of dynamic libraries

2013-05-23 Thread Hans Beckérus
On Thu, May 23, 2013 at 8:31 PM, Burton, Ross  wrote:
> On 23 May 2013 18:16, Hans Beckérus  wrote:
>> Hmm. I tried the FILES trick, but either I am doing something wrong or
>> FILES does not really affect whats getting into the .rpm? This is what
>> I tried in our recipe
>>
>> FILES_${PN} += " ${exec_prefix}/usr/lib/libelinx.so"
>> FILES_${PN} += " ${exec_prefix}/usr/lib/libepmq.so"
>
> Use ${libdir} instead of exec_prefix/usr/lib, and I guess the default
> FILES_${PN}-dev is taking the files first.  Try setting that to "".
>
Thanks. I will certainly try that.
However, I have completely changed path now ;) I think the root cause
of this entire problem is that the package is constructed wrong. Since
these .so files are modules, we need to tell libtool so it does not
create the regular versioned lib file structure. What we want is a .so
file and no links. Maybe then all of this is a no issue anymore?

elinx_drv_la_LDFLAGS = -module -avoid-version -shared

This might do the trick.

Hans


On Thu, May 23, 2013 at 8:31 PM, Burton, Ross  wrote:
> On 23 May 2013 18:16, Hans Beckérus  wrote:
>> Hmm. I tried the FILES trick, but either I am doing something wrong or
>> FILES does not really affect whats getting into the .rpm? This is what
>> I tried in our recipe
>>
>> FILES_${PN} += " ${exec_prefix}/usr/lib/libelinx.so"
>> FILES_${PN} += " ${exec_prefix}/usr/lib/libepmq.so"
>
> Use ${libdir} instead of exec_prefix/usr/lib, and I guess the default
> FILES_${PN}-dev is taking the files first.  Try setting that to "".
>
> Ross
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] .rpm packaging weirdness of dynamic libraries

2013-05-24 Thread Burton, Ross
On 23 May 2013 19:51, Hans Beckérus  wrote:
> However, I have completely changed path now ;) I think the root cause
> of this entire problem is that the package is constructed wrong. Since
> these .so files are modules, we need to tell libtool so it does not
> create the regular versioned lib file structure. What we want is a .so
> file and no links. Maybe then all of this is a no issue anymore?
>
> elinx_drv_la_LDFLAGS = -module -avoid-version -shared

Oh, if you've created modules and not libraries, then yes.  Use those
options and generally people put them in a subdirectory under libdir.

Ross
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto