[opensuse-packaging] How to create a dependency
Hi, I'm banging my head against the wall here... how do i create a "alternate" dependency in a spec file? I need to create a i586 rpm that has a requirement to libgstapp but only the 32bit version. or, in pseudoboolean: Requires: libgstapp-0_10-0-32bit(x86-32) || libgstapp-0_10-0(x86-32) how do i do that... I can't point the Requires: line at absolute files, e.g. /usr/lib/libgstapp-0.10.so.0 because that would "force" the right package/architecture but doesn't get resolved by zypper 0.o bye, MH -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 13.01.2012 13:16, Mathias Homann wrote:
Hi,
I'm banging my head against the wall here... how do i create a "alternate" dependency in a spec file?
I need to create a i586 rpm that has a requirement to libgstapp but only the 32bit version.
or, in pseudoboolean:
Requires: libgstapp-0_10-0-32bit(x86-32) || libgstapp-0_10-0(x86-32)
how do i do that...
I can't point the Requires: line at absolute files, e.g. /usr/lib/libgstapp-0.10.so.0 because that would "force" the right package/architecture but doesn't get resolved by zypper 0.o
You want to require libgstapp-0.10.so.0, i.e. the SONAME. This is what the automatic requires would add for binaries requiring the library. Greetings, Stephan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Am Freitag, 13. Januar 2012, 13:36:01 schrieb Stephan Kulow:
On 13.01.2012 13:16, Mathias Homann wrote:
Hi,
I'm banging my head against the wall here... how do i create a "alternate" dependency in a spec file?
I need to create a i586 rpm that has a requirement to libgstapp but only the 32bit version.
or, in pseudoboolean:
Requires: libgstapp-0_10-0-32bit(x86-32) || libgstapp-0_10-0(x86-32)
how do i do that...
I can't point the Requires: line at absolute files, e.g. /usr/lib/libgstapp-0.10.so.0 because that would "force" the right package/architecture but doesn't get resolved by zypper 0.o
You want to require libgstapp-0.10.so.0, i.e. the SONAME. This is what the automatic requires would add for binaries requiring the library.
no, as that would pull in the X86_64 package if my package gets installed on a 64bit system... but my package is only available in 32bit and therefor requires the 32bit libgstapp-0.10.so.0 any ideas? bye, MH -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Friday, January 13, 2012 01:44:52 PM Mathias Homann wrote:
Am Freitag, 13. Januar 2012, 13:36:01 schrieb Stephan Kulow:
On 13.01.2012 13:16, Mathias Homann wrote:
Hi,
I'm banging my head against the wall here... how do i create a "alternate" dependency in a spec file?
I need to create a i586 rpm that has a requirement to libgstapp but only the 32bit version.
or, in pseudoboolean:
Requires: libgstapp-0_10-0-32bit(x86-32) || libgstapp-0_10-0(x86-32)
how do i do that...
I can't point the Requires: line at absolute files, e.g. /usr/lib/libgstapp-0.10.so.0 because that would "force" the right package/architecture but doesn't get resolved by zypper 0.o
You want to require libgstapp-0.10.so.0, i.e. the SONAME. This is what the automatic requires would add for binaries requiring the library.
no, as that would pull in the X86_64 package if my package gets installed on a 64bit system... but my package is only available in 32bit and therefor requires the 32bit libgstapp-0.10.so.0
any ideas?
If your package is 32-bit only, why do you build a 64-bit version at all? No need for that - you can install the i386.rpm without problems on an x86-64 system. Add ExclusiveArch: %ix86 to it Andreas -- Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg) GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126 -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 13.01.2012 13:44, Mathias Homann wrote:
no, as that would pull in the X86_64 package if my package gets installed on a 64bit system... but my package is only available in 32bit and therefor requires the 32bit libgstapp-0.10.so.0
The x86_64 package won't provide libgstapp-0.10.so.0 or it's broken, it will provide libgstapp-0.10.so.0()(64bit) Greetings, Stephan -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Am Freitag, 13. Januar 2012, 14:03:38 schrieb Stephan Kulow:
On 13.01.2012 13:44, Mathias Homann wrote:
no, as that would pull in the X86_64 package if my package gets installed on a 64bit system... but my package is only available in 32bit and therefor requires the 32bit libgstapp-0.10.so.0
The x86_64 package won't provide libgstapp-0.10.so.0 or it's broken, it will provide libgstapp-0.10.so.0()(64bit)
Greetings, Stephan
then it seems to be broken. It's libgstapp and gstreamer from packman. bye, MH -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hello, On Fri, 13 Jan 2012, Mathias Homann wrote:
Am Freitag, 13. Januar 2012, 14:03:38 schrieb Stephan Kulow:
On 13.01.2012 13:44, Mathias Homann wrote:
no, as that would pull in the X86_64 package if my package gets installed on a 64bit system... but my package is only available in 32bit and therefor requires the 32bit libgstapp-0.10.so.0
The x86_64 package won't provide libgstapp-0.10.so.0 or it's broken, it will provide libgstapp-0.10.so.0()(64bit)
then it seems to be broken.
It's libgstapp and gstreamer from packman.
It's not: $ rpm -q --queryformat '%{PACKAGER}\n;' --provides libgstapp-0_10-0 packman@links2linux.de ;libgstapp-0.10.so.0()(64bit) libgstapp-0_10-0 = 0.10.35-61.2 libgstapp-0_10-0(x86-64) = 0.10.35-61.2 -dnh -- Fsck, I'm remembering back to the pre-archived-by-Google era of Usenet; some local newbie was asking how to compile RM COBOL programs in the Unix environment, and my anti-COBOL bias might have shown through as I explained that the RM COBOL compiler on Unix was named "rm". -- AdB -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Am Freitag, 13. Januar 2012, 17:27:38 schrieb David Haller:
Hello,
On Fri, 13 Jan 2012, Mathias Homann wrote:
Am Freitag, 13. Januar 2012, 14:03:38 schrieb Stephan Kulow:
On 13.01.2012 13:44, Mathias Homann wrote:
no, as that would pull in the X86_64 package if my package gets installed on a 64bit system... but my package is only available in 32bit and therefor requires the 32bit libgstapp-0.10.so.0
The x86_64 package won't provide libgstapp-0.10.so.0 or it's broken, it will provide libgstapp-0.10.so.0()(64bit)
then it seems to be broken.
It's libgstapp and gstreamer from packman.
It's not:
$ rpm -q --queryformat '%{PACKAGER}\n;' --provides libgstapp-0_10-0 packman@links2linux.de ;libgstapp-0.10.so.0()(64bit) libgstapp-0_10-0 = 0.10.35-61.2 libgstapp-0_10-0(x86-64) = 0.10.35-61.2
-dnh
so what do i stick in my spec file to create a requirement that means this: "I need libgstapp but it HAS to be a 32bit version"? I can't let the automatics handle it, since the lib is not linked, but gets pulled at runtime with dlopen(). bye, MH -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Hello, On Tue, 17 Jan 2012, Mathias Homann wrote:
Am Freitag, 13. Januar 2012, 17:27:38 schrieb David Haller:
On Fri, 13 Jan 2012, Mathias Homann wrote:
Am Freitag, 13. Januar 2012, 14:03:38 schrieb Stephan Kulow:
The x86_64 package won't provide libgstapp-0.10.so.0 or it's broken, it will provide libgstapp-0.10.so.0()(64bit)
[..]
It's not:
$ rpm -q --queryformat '%{PACKAGER}\n;' --provides libgstapp-0_10-0 packman@links2linux.de libgstapp-0.10.so.0()(64bit) libgstapp-0_10-0 = 0.10.35-61.2 libgstapp-0_10-0(x86-64) = 0.10.35-61.2
-dnh
so what do i stick in my spec file to create a requirement that means this: "I need libgstapp but it HAS to be a 32bit version"?
Don't you read the answers you get? Do as coolo told you to, Requires: libgstapp-0.10.so.0 Oh, and BTW, as further proof, on a 64bit system: # rpm -q --whatprovides libgstapp-0.10.so.0 no package provides libgstapp-0.10.so.0 # rpm -q --whatprovides 'libgstapp-0.10.so.0()(64bit)' libgstapp-0_10-0-0.10.35-61.2.x86_64 -dnh -- (\__/) (='.'=) This is Bunny. Copy and paste Bunny into your (")_(") signature to help him gain world domination. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
* Mathias Homann (admin@eregion.de) [20120113 13:17]:
I can't point the Requires: line at absolute files, e.g. /usr/lib/libgstapp-0.10.so.0 because that would "force" the right package/architecture but doesn't get resolved by zypper 0.o
There is no need for that! Simply require libgstapp0 or whatever the package containing the lib is named. Rpm/zypper will take care that the architectures are respected. Why do you want an explicit requires anyways? If the library is linked in normally rpm will automatically create the correct requires. Philipp -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (5)
-
Andreas Jaeger
-
David Haller
-
Mathias Homann
-
Philipp Thomas
-
Stephan Kulow