Package requires a file inside the same package

Hi, I’ve a project thats depends on FFmpeg >= 2.0, some distros provides it, others not. So, in the cases where FFmpeg is not available, I build it inside my project, with a special suffix for avoiding collisions, and distribute it with my project.

The problem is when I build the packages for Fedora and OpenSUSE, the resulting RPM package depends on files contained in the same package.
Package for openSUSE 12.3
Package for Fedora 19

I mean, files like: libavcodecQb.so, libavdeviceQb.so, libavfilterQb.so, libavformatQb.so, etc.
How I can solve this?

Hi
The reason is ffmpeg is blacklisted…
openSUSE:Build Service application blacklist - openSUSE

You can freely package on packman, suggest you request an account and move it to there, you can then link to the packman ffmpeg without issues.

Yes, I know, but this applies even when I build it inside my own project? Even with no proprietary or conflicting options activated?

On Mon 21 Oct 2013 11:16:02 PM CDT, hipersayan x wrote:

malcolmlewis;2592704 Wrote:
> Hi
> The reason is ffmpeg is blacklisted…
> ‘openSUSE:Build Service application blacklist - openSUSE’
> (openSUSE:Build Service application blacklist - openSUSE Wiki)
>

Yes, I know, but this applies even when I build it inside my own
project? Even with no proprietary or conflicting options activated?

Have you tried splitting out the library files in question to their
own package?


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
SLED 11 SP3 (x86_64) GNOME 2.28.0 Kernel 3.0.93-0.8-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

On 2013-10-22 01:16, hipersayan x wrote:

> Yes, I know, but this applies even when I build it inside my own
> project? Even with no proprietary or conflicting options activated?

If you try to distribute ffmpeg inside another package, you will create
problems for those of use that install it from packman: they will
collide. If you have to build it, please do it separately so that we can
choose which to install.


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

Yes, I did. I’ve put all FFmpeg related libraries (libavQb.so.) in another package, but the Provides are not generated according to these files. I’m new in RPM packaging and don’t understand how the RPM packager program find it’s provides and requires.

Another idea is to create a custom “ffmpeg-libre” package for my program. If I do that, the OBS will recognize this package and let me add it as dependency of my program? Or I need to do something else?

That will not happen, FFmpeg adds the --build-suffix option, that allows to change the ending string of the libraries that is what I distribute.

In this way, my custom FFmpeg library will not collide with anything else:)

Sorry for the delay, I completely forgotten this post.
In case that rpmbuild try to add invalid requires and provides to the resulting package, you must add the AutoReqProv: no tag to the spec file, and define your own requires and provides.


AutoReqProv: no

Requires: package1
Requires: package2
Requires: package3

Provides: file1
Provides: file2
Provides: file3

...