Commit 2cd066b4 authored by Jean-Paul Saman's avatar Jean-Paul Saman

ffmpeg-mt: debian package

Build ffmpeg with multithreaded support as ffmpeg-mt debian package.
- update all package names to include -mt extension
- update all package shared lib versions
- update all dependencies
- update Replace, Conflicts and Provide for debian package
- make sure this package replaces ffmpeg packet by *-mt variants
parent ac4deeac
ffmpeg (4:0.5.1-1ubuntu1) lucid; urgency=low
ffmpeg-mt (4:0.5.1-1iphion1) lucid; urgency=low
* merge from ffmpeg-mt repository at http://gitorious.org/ffmpeg/ffmpeg-mt
- enable pthreads decoding
......
Source: ffmpeg
Source: ffmpeg-mt
Section: libs
Priority: optional
Maintainer: iphion BV <techlist@iphion.nl>
......@@ -36,9 +36,12 @@ Build-Depends: debhelper (>= 7),
yasm [i386 amd64],
zlib1g-dev
Package: ffmpeg
Package: ffmpeg-mt
Section: video
Architecture: any
Provides: ffmpeg
Replaces: ffmpeg
Conflicts: ffmpeg
Depends: ${shlibs:Depends},
${misc:Depends}
Description: multimedia player, server and encoder
......@@ -47,17 +50,20 @@ Description: multimedia player, server and encoder
file formats (AVI, MPEG, OGG, Matroska, ASF...) and encoding formats (MPEG,
DivX, MPEG4, AC3, DV...).
Package: ffmpeg-dbg
Package: ffmpeg-mt-dbg
Section: debug
Priority: extra
Architecture: any
Depends: libavutil49 (= ${binary:Version}),
libavcodec52 (= ${binary:Version}),
libavdevice52 (= ${binary:Version}),
libpostproc51 (= ${binary:Version}),
libavformat52 (= ${binary:Version}),
libswscale0 (= ${binary:Version}),
ffmpeg (= ${binary:Version}),
Provides: ffmpeg-dbg
Replaces: ffmpeg-dbg
Conflicts: ffmpeg-dbg
Depends: libavutil50-mt (= ${binary:Version}),
libavcodec52-mt (= ${binary:Version}),
libavdevice52-mt (= ${binary:Version}),
libpostproc51-mt (= ${binary:Version}),
libavformat52-mt (= ${binary:Version}),
libswscale0-mt (= ${binary:Version}),
ffmpeg-mt (= ${binary:Version}),
${misc:Depends}
Description: Debug symbols for ffmpeg related packages
This package contains debug data of the ffmpeg related shared libraries.
......@@ -65,15 +71,21 @@ Description: Debug symbols for ffmpeg related packages
Most people will not need this package. Please install it to produce useful
stacktraces to help debugging the ffmpeg library.
Package: ffmpeg-doc
Package: ffmpeg-mt-doc
Section: doc
Architecture: all
Provides: ffmpeg-doc
Replaces: ffmpeg-doc
Conflicts: ffmpeg-doc
Depends: ${misc:Depends}
Description: documentation of the ffmpeg API
This package contains the html doxygen documentation of the ffmpeg API.
Package: libavutil49
Package: libavutil50-mt
Architecture: any
Provides: libavutil50
Replaces: libavutil50
Conflicts: libavutil50
Depends: ${shlibs:Depends},
${misc:Depends}
Description: ffmpeg utility library
......@@ -83,11 +95,13 @@ Description: ffmpeg utility library
This package contains a Debian-specific version of the libavutil shared
object that should only be used by Debian packages.
Package: libavcodec52
Package: libavcodec52-mt
Architecture: any
Provides: libavcodec52
Replaces: libavcodec52, ffmpeg (<< 4:0.5.1-1)
Conflicts: libavcodec52
Depends: ${shlibs:Depends},
${misc:Depends}
Replaces: ffmpeg (<< 4:0.5.1-1)
Description: ffmpeg codec library
This is the codec library from the ffmpeg project which suports multi-threaded
decoding. It supports most existing encoding formats (MPEG, DivX, MPEG4, AC3, DV...)
......@@ -95,8 +109,11 @@ Description: ffmpeg codec library
This package contains a Debian-specific version of the libavcodec shared
object that should only be used by Debian packages.
Package: libavdevice52
Package: libavdevice52-mt
Architecture: any
Provides: libavdevice52
Replaces: libavdevice52
Conflicts: libavdevice52
Depends: ${shlibs:Depends},
${misc:Depends}
Description: ffmpeg device handling library
......@@ -105,8 +122,11 @@ Description: ffmpeg device handling library
This package contains a Debian-specific version of the libavdevice shared
object that should only be used by Debian packages.
Package: libavformat52
Package: libavformat52-mt
Architecture: any
Provides: libavformat52
Replaces: libavformat52
Conflicts: libavformat52
Depends: ${shlibs:Depends},
${misc:Depends}
Breaks: libavcodec51 (<< 3:0.svn20090303-1)
......@@ -117,8 +137,11 @@ Description: ffmpeg file format library
This package contains a Debian-specific version of the libavformat shared
object that should only be used by Debian packages.
Package: libavfilter0
Package: libavfilter1-mt
Architecture: any
Provides: libavfilter1
Replaces: libavfilter1
Conflicts: libavfilter1
Depends: ${shlibs:Depends},
${misc:Depends}
Description: ffmpeg video filtering library
......@@ -127,8 +150,11 @@ Description: ffmpeg video filtering library
This package contains a Debian-specific version of the libavfilter shared
object that should only be used by Debian packages.
Package: libpostproc51
Package: libpostproc51-mt
Architecture: any
Provides: libpostproc51
Replaces: libpostproc51
Conflicts: libpostproc51
Depends: ${shlibs:Depends},
${misc:Depends}
Description: ffmpeg video postprocessing library
......@@ -137,8 +163,11 @@ Description: ffmpeg video postprocessing library
This package contains a Debian-specific version of the libpostproc shared
object that should only be used by Debian packages.
Package: libswscale0
Package: libswscale0-mt
Architecture: any
Provides: libswscale0
Replaces: libswscale0
Conflicts: libswscale0
Depends: ${shlibs:Depends},
${misc:Depends}
Description: ffmpeg video scaling library
......@@ -147,11 +176,14 @@ Description: ffmpeg video scaling library
This package contains a Debian-specific version of the libswscale shared
object that should only be used by Debian packages.
Package: libavutil-dev
Package: libavutil-mt-dev
Section: libdevel
Architecture: any
Depends: libavutil49 (>= ${binary:Version}) | libavutil-extra-49 (>= ${source:Upstream-Version}),
libavutil49 (<= ${source:Upstream-Version}-99) | libavutil-extra-49 (<= ${source:Upstream-Version}-99),
Provides: libavutil-dev
Replaces: libavutil-dev
Conflicts: libavutil-dev
Depends: libavutil50-mt (>= ${binary:Version}) | libavutil-extra-50-mt (>= ${source:Upstream-Version}),
libavutil50-mt (<= ${source:Upstream-Version}-99) | libavutil-extra-50-mt (<= ${source:Upstream-Version}-99),
${misc:Depends}
Description: development files for libavutil
This is the common utility library from the ffmpeg project. It is required
......@@ -160,12 +192,15 @@ Description: development files for libavutil
This package contains the header files and static libraries needed to
compile applications or shared objects that use libavutil.
Package: libavcodec-dev
Package: libavcodec-mt-dev
Section: libdevel
Architecture: any
Depends: libavcodec52 (>= ${binary:Version}) | libavcodec-extra-52 (>= ${source:Upstream-Version}),
libavcodec52 (<= ${source:Upstream-Version}-99) | libavcodec-extra-52 (<= ${source:Upstream-Version}-99),
libavutil-dev (= ${binary:Version}),
Provides: libavcodec-dev
Replaces: libavcodec-dev
Conflicts: libavcodec-dev
Depends: libavcodec52-mt (>= ${binary:Version}) | libavcodec-extra-52-mt (>= ${source:Upstream-Version}),
libavcodec52-mt (<= ${source:Upstream-Version}-99) | libavcodec-extra-52-mt (<= ${source:Upstream-Version}-99),
libavutil-mt-dev (= ${binary:Version}),
${misc:Depends}
Suggests: libfaad-dev,
libgsm1-dev,
......@@ -185,12 +220,15 @@ Description: development files for libavcodec
This package contains the header files and static libraries needed to
compile applications or shared objects that use libavcodec.
Package: libavdevice-dev
Package: libavdevice-mt-dev
Section: libdevel
Architecture: any
Depends: libavdevice52 (>= ${binary:Version}) | libavdevice-extra-52 (>= ${source:Upstream-Version}),
libavdevice52 (<= ${source:Upstream-Version}-99) | libavdevice-extra-52 (<= ${source:Upstream-Version}-99),
libavformat-dev (= ${binary:Version}),
Provides: libavdevice-dev
Replaces: libavdevice-dev
Conflicts: libavdevice-dev
Depends: libavdevice52-mt (>= ${binary:Version}) | libavdevice-extra-52-mt (>= ${source:Upstream-Version}),
libavdevice52-mt (<= ${source:Upstream-Version}-99) | libavdevice-extra-52-mt (<= ${source:Upstream-Version}-99),
libavformat-mt-dev (= ${binary:Version}),
${misc:Depends}
Description: development files for libavdevice
This is the device handling library from the ffmpeg project.
......@@ -198,12 +236,15 @@ Description: development files for libavdevice
This package contains the header files and static libraries needed to
compile applications or shared objects that use libavdevice.
Package: libavformat-dev
Package: libavformat-mt-dev
Section: libdevel
Architecture: any
Depends: libavformat52 (>= ${binary:Version}) | libavformat-extra-52 (>= ${source:Upstream-Version}),
libavformat52 (<= ${source:Upstream-Version}-99) | libavformat-extra-52 (<= ${source:Upstream-Version}-99),
libavcodec-dev (= ${binary:Version}),
Provides: libavformat-dev
Replaces: libavformat-dev
Conflicts: libavformat-dev
Depends: libavformat52-mt (>= ${binary:Version}) | libavformat-extra-52-mt (>= ${source:Upstream-Version}),
libavformat52-mt (<= ${source:Upstream-Version}-99) | libavformat-extra-52-mt (<= ${source:Upstream-Version}-99),
libavcodec-mt-dev (= ${binary:Version}),
${misc:Depends}
Description: development files for libavformat
This is the demuxer library from the ffmpeg project. It supports most
......@@ -212,12 +253,15 @@ Description: development files for libavformat
This package contains the header files and static libraries needed to
compile applications or shared objects that use libavformat.
Package: libavfilter-dev
Package: libavfilter-mt-dev
Section: libdevel
Architecture: any
Depends: libavfilter0 (>= ${binary:Version}) | libavfilter-extra-0 (>= ${source:Upstream-Version}),
libavfilter0 (<= ${source:Upstream-Version}-99) | libavfilter-extra-0 (<= ${source:Upstream-Version}-99),
libavcodec-dev (= ${binary:Version}),
Provides: libavfilter-dev
Replaces: libavfilter-dev
Conflicts: libavfilter-dev
Depends: libavfilter1-mt (>= ${binary:Version}) | libavfilter-extra-1-mt (>= ${source:Upstream-Version}),
libavfilter1-mt (<= ${source:Upstream-Version}-99) | libavfilter-extra-1-mt (<= ${source:Upstream-Version}-99),
libavcodec-mt-dev (= ${binary:Version}),
${misc:Depends}
Description: development files for libavfilter
This is the video filtering library from the ffmpeg project.
......@@ -225,12 +269,15 @@ Description: development files for libavfilter
This package contains the header files and static libraries needed to
compile applications or shared objects that use libavfilter.
Package: libpostproc-dev
Package: libpostproc-mt-dev
Section: libdevel
Architecture: any
Depends: libpostproc51 (>= ${binary:Version}) | libpostproc-extra-51 (>= ${source:Upstream-Version}),
libpostproc51 (<= ${source:Upstream-Version}-99) | libpostproc-extra-51 (<= ${source:Upstream-Version}-99),
libavutil-dev (= ${binary:Version}),
Provides: libpostproc-dev
Replaces: libpostproc-dev
Conflicts: libpostproc-dev
Depends: libpostproc51-mt (>= ${binary:Version}) | libpostproc-extra-51-mt (>= ${source:Upstream-Version}),
libpostproc51-mt (<= ${source:Upstream-Version}-99) | libpostproc-extra-51-mt (<= ${source:Upstream-Version}-99),
libavutil-mt-dev (= ${binary:Version}),
${misc:Depends}
Description: development files for libpostproc
This is the video postprocessing library from the ffmpeg project.
......@@ -238,12 +285,15 @@ Description: development files for libpostproc
This package contains the header files and static libraries needed to
compile applications or shared objects that use libpostproc.
Package: libswscale-dev
Package: libswscale-mt-dev
Section: libdevel
Architecture: any
Depends: libswscale0 (>= ${binary:Version}) | libswscale-extra-0 (>= ${source:Upstream-Version}),
libswscale0 (<= ${source:Upstream-Version}-99) | libswscale-extra-0 (<= ${source:Upstream-Version}-99),
libavutil-dev (= ${binary:Version}),
Provides: libswscale-dev
Replaces: libswscale-dev
Conflicts: libswscale-dev
Depends: libswscale0-mt (>= ${binary:Version}) | libswscale-extra-0-mt (>= ${source:Upstream-Version}),
libswscale0-mt (<= ${source:Upstream-Version}-99) | libswscale-extra-0-mt (<= ${source:Upstream-Version}-99),
libavutil-mt-dev (= ${binary:Version}),
${misc:Depends}
Description: development files for libswscale
This is the video scaling library from the ffmpeg project.
......
# Overriding these fpic lintian errors. Please see bug #528080.
libavcodec52: shlib-with-non-pic-code usr/lib/i686/cmov/libavcodec.so.52.20.0
libavcodec52: shlib-with-non-pic-code usr/lib/libavcodec.so.52.20.0
libavcodec52: shlib-with-non-pic-code usr/lib/i686/cmov/libavcodec.so.52.78.0
libavcodec52: shlib-with-non-pic-code usr/lib/libavcodec.so.52.78.0
# Overriding these fpic lintian errors. Please see bug #528080.
libavdevice52: shlib-with-non-pic-code usr/lib/i686/cmov/libavdevice.so.52.1.0
libavdevice52: shlib-with-non-pic-code usr/lib/libavdevice.so.52.1.0
libavdevice52: shlib-with-non-pic-code usr/lib/i686/cmov/libavdevice.so.52.2.0
libavdevice52: shlib-with-non-pic-code usr/lib/libavdevice.so.52.2.0
# Overriding these fpic lintian errors. Please see bug #528080.
libavfilter0: shlib-with-non-pic-code usr/lib/i686/cmov/libavfilter.so.0.4.0
libavfilter0: shlib-with-non-pic-code usr/lib/libavfilter.so.0.4.0
libavfilter1: shlib-with-non-pic-code usr/lib/i686/cmov/libavfilter.so.1.20.0
libavfilter1: shlib-with-non-pic-code usr/lib/libavfilter.so.1.20.0
# Overriding these fpic lintian errors. Please see bug #528080.
libavformat52: shlib-with-non-pic-code usr/lib/i686/cmov/libavformat.so.52.31.0
libavformat52: shlib-with-non-pic-code usr/lib/libavformat.so.52.31.0
libavformat52: shlib-with-non-pic-code usr/lib/i686/cmov/libavformat.so.52.68.0
libavformat52: shlib-with-non-pic-code usr/lib/libavformat.so.52.68.0
# Overriding these fpic lintian errors. Please see bug #528080.
libavutil49: shlib-with-non-pic-code usr/lib/i686/cmov/libavutil.so.49.15.0
libavutil49: shlib-with-non-pic-code usr/lib/libavutil.so.49.15.0
libavutil50: shlib-with-non-pic-code usr/lib/i686/cmov/libavutil.so.50.19.0
libavutil50: shlib-with-non-pic-code usr/lib/libavutil.so.50.19.0
# Overriding these fpic lintian errors. Please see bug #528080.
libswscale0: shlib-with-non-pic-code usr/lib/i686/cmov/libswscale.so.0.7.1
libswscale0: shlib-with-non-pic-code usr/lib/libswscale.so.0.7.1
libswscale0: shlib-with-non-pic-code usr/lib/i686/cmov/libswscale.so.0.11.0
libswscale0: shlib-with-non-pic-code usr/lib/libswscale.so.0.11.0
......@@ -9,7 +9,8 @@ UPSTREAM_VERSION := $(shell echo $(DEB_VERSION) | sed -r 's/[^:]+://; s/-[^-]+$$
SHLIBS_VERSION := 4:0.5.1-1
LIB_PKGS := $(shell sed -nr 's/^Package:[[:space:]]*(lib(avutil|avcodec|avdevice|avformat|avfilter|postproc|swscale)(-extra-)?[0-9]+)[[:space:]]*$$/\1/p' debian/control)
LIB_PKGS := $(shell sed -nr 's/^Package:[[:space:]]*(lib(avutil|avcodec|avdevice|avformat|avfilter|postproc|swscale)(-extra-)?[0-9]+-mt)[[:space:]]*$$/\1/p' debian/control)
$(info LIB_PKGS=$(LIB_PKGS))
# Support multiple makes at once
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
......@@ -98,7 +99,7 @@ binary-indep: build-doxy install
binary-arch: build install formats.txt
dh_testdir
dh_testroot
dh_installman -pffmpeg debian/qt-faststart.1
dh_installman -pffmpeg-mt debian/qt-faststart.1
dh_installdocs $(extradoc) doc/optimization.txt
dh_installdocs -A MAINTAINERS CREDITS doc/TODO
dh_installdocs -A debian/README.Debian
......@@ -111,7 +112,7 @@ binary-arch: build install formats.txt
dh_link
dh_compress
dh_fixperms
dh_strip --dbg-package=ffmpeg-dbg
dh_strip --dbg-package=ffmpeg-mt-dbg
# We generate the shlibs file twice: First time for the internal
# dependencies, and then we regenerate them for inclusion in the
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment