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