You are not logged in.

#1 2012-05-03 20:33:55

DrZaius
Member
Registered: 2008-01-02
Posts: 170

[solved] Prevent conflict between two similar packages

I maintain the FFmbc PKGBUILD in AUR. FFmbc is a (friendly) fork of FFmpeg and therefore shares many of the same file names but it's not a complete replacement. Currently ffmbc conflicts=('ffmpeg') , but I would prefer that the PKGBUILD would allow both packages to be installed at the same time because ffmpeg has many depends and it's useful to have both packages available.

What's a sane way to achieve this?

Shared file names between ffmpeg (from the repo) and ffmbc (from AUR):

/usr/include/libavcodec/avcodec.h
/usr/include/libavcodec/avfft.h
/usr/include/libavcodec/dxva2.h
/usr/include/libavcodec/opt.h
/usr/include/libavcodec/vaapi.h
/usr/include/libavcodec/vdpau.h
/usr/include/libavcodec/version.h
/usr/include/libavcodec/xvmc.h
/usr/include/libavdevice/avdevice.h
/usr/include/libavfilter/avcodec.h
/usr/include/libavfilter/avfiltergraph.h
/usr/include/libavfilter/avfilter.h
/usr/include/libavfilter/vsrc_buffer.h
/usr/include/libavformat/avformat.h
/usr/include/libavformat/avio.h
/usr/include/libavformat/version.h
/usr/include/libavutil/adler32.h
/usr/include/libavutil/aes.h
/usr/include/libavutil/attributes.h
/usr/include/libavutil/audioconvert.h
/usr/include/libavutil/avassert.h
/usr/include/libavutil/avconfig.h
/usr/include/libavutil/avstring.h
/usr/include/libavutil/avutil.h
/usr/include/libavutil/base64.h
/usr/include/libavutil/bswap.h
/usr/include/libavutil/common.h
/usr/include/libavutil/cpu.h
/usr/include/libavutil/crc.h
/usr/include/libavutil/dict.h
/usr/include/libavutil/error.h
/usr/include/libavutil/eval.h
/usr/include/libavutil/fifo.h
/usr/include/libavutil/file.h
/usr/include/libavutil/imgutils.h
/usr/include/libavutil/intfloat_readwrite.h
/usr/include/libavutil/intreadwrite.h
/usr/include/libavutil/lfg.h
/usr/include/libavutil/log.h
/usr/include/libavutil/lzo.h
/usr/include/libavutil/mathematics.h
/usr/include/libavutil/md5.h
/usr/include/libavutil/mem.h
/usr/include/libavutil/opt.h
/usr/include/libavutil/parseutils.h
/usr/include/libavutil/pixdesc.h
/usr/include/libavutil/pixfmt.h
/usr/include/libavutil/random_seed.h
/usr/include/libavutil/rational.h
/usr/include/libavutil/samplefmt.h
/usr/include/libavutil/sha.h
/usr/include/libpostproc/postprocess.h
/usr/include/libswscale/swscale.h
/usr/lib/pkgconfig/libavcodec.pc
/usr/lib/pkgconfig/libavdevice.pc
/usr/lib/pkgconfig/libavfilter.pc
/usr/lib/pkgconfig/libavformat.pc
/usr/lib/pkgconfig/libavutil.pc
/usr/lib/pkgconfig/libpostproc.pc
/usr/lib/pkgconfig/libswscale.pc

Last edited by DrZaius (2012-10-14 21:05:34)


Damned dirty ape.

Offline

#2 2012-08-27 18:17:31

DrZaius
Member
Registered: 2008-01-02
Posts: 170

Re: [solved] Prevent conflict between two similar packages

I figured this out by poaching the ffmpeg-compat package in Community and added to ffmbc configure:

--incdir=/usr/include/ffmbc \
--libdir=/usr/lib/ffmbc \
--shlibdir=/usr/lib/ffmbc \

Last edited by DrZaius (2012-08-27 18:18:34)


Damned dirty ape.

Offline

#3 2012-08-28 05:53:15

Awebb
Member
Registered: 2010-05-06
Posts: 4,437

Re: [solved] Prevent conflict between two similar packages

What if FFmbc is installed before ffmpeg is pulled in?

Offline

#4 2012-08-28 06:03:54

Xyne
Moderator/TU
Registered: 2008-08-03
Posts: 5,695
Website

Re: [solved] Prevent conflict between two similar packages

Awebb wrote:

What if FFmbc is installed before ffmpeg is pulled in?

His solution changes the location of the previously conflicting files when the package is created. Installation order will not matter.

It's a clean solution that resolves the package conflict nicely.

Offline

Board footer

Powered by FluxBB