You are not logged in.

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

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

[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)

Offline

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

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

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)

Offline

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

Awebb
Member
Registered: 2010-05-06
Posts: 6,275

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
Administrator/PM
Registered: 2008-08-03
Posts: 6,963
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.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

Board footer

Powered by FluxBB