[SCM] ffmpeg/jessie: Merge tag 'debian/7%3.1.4-1' into jessie

rbalint at users.alioth.debian.org rbalint at users.alioth.debian.org
Sun Oct 23 13:51:58 UTC 2016


finalize changelog
Set configure options for cross-building
Only set CC/CXX if they differ from the default
Use 'set -e' to abort build on configure failure
Enable libzmq on hurd, as it is now available there
Re-enable the libopenjpeg decoder
Update encdec*_list.txt
Let the encdec test print the command before executing it
Add libopenjpegenc-recreate-image-data-buffer.patch to fix autopkg test crashes.
Remove redundant nocheck test
Mention sofalizer in libavfilter-extra6 description
Improve build-time optimization for libavfilter-extra
Replace libopencv-dev build-dependency with libopencv-imgproc-dev
Fix typos
New upstream release
Merge tag 'upstream/3.1.4'
New upstream version 3.1.4
Document why i disable librtmp support
Disable librtmp support
Finalize changelog
Update changelog
Enable netcdf
Apply the same optimization for libavformat extra flavor
Merge branch 'master' of ssh+git://git.debian.org/git/pkg-multimedia/ffmpeg
Enable OCR using Tesseract in libavfilter-extra*
Remove unused lintian override
Enable all hardening options except pie
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-Git-Refname: refs/heads/jessie
X-Git-Reftype: branch
X-Git-Oldrev: a247225932ece881bca0c32f12b2b5ef31b0208c
X-Git-Newrev: b8d4527f96f6cd096e8bdd93748debfc83f3c709

The following commit has been merged in the jessie branch:
commit 6fe6902d5108818512df238570f9c4a847f21858
Merge: 4de29a3fcb0b09945679f5aed658d0bc23c2c07e 87b93f4e3ee2b6253ab9f5a166860a1ff18877d5
Author: Balint Reczey <balint at balintreczey.hu>
Date:   Sun Oct 23 12:34:30 2016 +0200

    Merge tag 'debian/7%3.1.4-1' into jessie
    
    ffmpeg Debian release 7:3.1.4-1
    
    Conflicts:
    	debian/changelog

diff --combined debian/control
index df95782,7bff246..c7f6c71
--- a/debian/control
+++ b/debian/control
@@@ -41,13 -41,13 +41,13 @@@ Build-Depends
  # --enable-libcdio
   libcdio-paranoia-dev,
  # --enable-libchromaprint
 - libchromaprint-dev <!stage1>,
 + libchromaprint-dev (>= 1.3.2-2~) <!stage1>,
  # autodetected 'crystalhd'
   libcrystalhd-dev [amd64 i386],
  # --enable-libdc1394
   libdc1394-22-dev [linux-any],
  # --enable-libebur128
 - libebur128-dev,
 +# libebur128-dev,
  # --enable-libfontconfig
   libfontconfig1-dev,
  # --enable-libfreetype
@@@ -68,12 -68,16 +68,16 @@@
   libavc1394-dev [linux-any],
  # autodetected: indev 'jack'
   libjack-jackd2-dev,
+ # missing dependency of libtesseract-dev #836849
+  libleptonica-dev,
  # autodetected for the tiff decoder
   liblzma-dev,
  # --enable-libmodplug
   libmodplug-dev,
  # --enable-libmp3lame
   libmp3lame-dev,
+ # --enable-netcdf
+  libnetcdf-dev,
  # --enable-openal
   libopenal-dev,
  # --enable-libopencore_amrnb
@@@ -81,7 -85,7 +85,7 @@@
  # --enable-libopencore_amrwb
   libopencore-amrwb-dev,
  # --enable-libopencv
-  libopencv-dev <!stage1>,
+  libopencv-imgproc-dev <!stage1>,
  # --enable-libopenjpeg
   libopenjp2-7-dev,
  # --enable-libopus
@@@ -90,8 -94,6 +94,6 @@@
   libpulse-dev,
  # --enable-librubberband
   librubberband-dev,
- # --enable-librtmp
-  librtmp-dev,
  # --enable-libschroedinger
   libschroedinger-dev,
  # autodetected: protocol 'sctp'
@@@ -108,6 -110,8 +110,8 @@@
   libspeex-dev,
  # --enable-libssh
   libssh-gcrypt-dev,
+ # --enable-libtesseract (used only in -extra flavor)
+  libtesseract-dev,
  # --enable-libtheora
   libtheora-dev,
  # --enable-libtwolame
@@@ -140,7 -144,7 +144,7 @@@
  # autodetected: decoder 'mpeg_xvmc'; outdev 'xv'
   libxvmc-dev,
  # --enable-libzmq
-  libzmq3-dev [!hurd-any],
+  libzmq3-dev,
  # --enable-libzvbi
   libzvbi-dev,
  # The opencl API is considered experimental.
@@@ -370,13 -374,62 +374,62 @@@ Description: FFmpeg library containing 
   .
   This package contains the runtime files.
  
+ Package: libavfilter-extra6
+ Architecture: any
+ Section: libs
+ Priority: extra
+ Multi-Arch: same
+ Conflicts: libavfilter6
+ Provides: libavfilter-extra
+ Pre-Depends:
+  ${misc:Pre-Depends}
+ Depends:
+  ${shlibs:Depends},
+  ${misc:Depends}
+ Description: FFmpeg library with extra media filters - runtime files
+  FFmpeg is the leading multimedia framework, able to decode, encode, transcode,
+  mux, demux, stream, filter and play pretty much anything that humans and
+  machines have created. It supports the most obscure ancient formats up to the
+  cutting edge.
+  .
+  This library provides a generic audio/video filtering framework containing
+  several filters, sources and sinks.
+  .
+  This package replaces the libavfilter6 package and contains the
+  following additional filters:
+  .
+   * Optical Character Recognition (uses Tesseract)
+   * SOFAlizer (Spatially Oriented Format for Acoustics, uses netcdf)
+  .
+  Because this package links against libraries that are licensed under
+  Apache License 2.0, the resulting binaries are distributed under the
+  GPL version 3 or later.
+ 
+ Package: libavfilter-extra
+ Architecture: all
+ Section: metapackages
+ Priority: extra
+ Multi-Arch: foreign
+ Depends:
+  libavfilter-extra6,
+  ${misc:Depends}
+ Description: FFmpeg library with extra filters (metapackage)
+  FFmpeg is the leading multimedia framework, able to decode, encode, transcode,
+  mux, demux, stream, filter and play pretty much anything that humans and
+  machines have created. It supports the most obscure ancient formats up to the
+  cutting edge.
+  .
+  This metapackage depends on the latest version of the libavfilter variant
+  that offers additional filter support. Application packages can depend
+  on it if they require or suggest this variant in a robust manner.
+ 
  Package: libavfilter-dev
  Architecture: any
  Section: libdevel
  Multi-Arch: same
  Depends:
   libavcodec-dev (= ${binary:Version}),
-  libavfilter6 (= ${binary:Version}),
+  libavfilter6 (= ${binary:Version}) | libavfilter-extra6 (= ${binary:Version}),
   libavformat-dev (= ${binary:Version}),
   libavresample-dev (= ${binary:Version}),
   libavutil-dev (= ${binary:Version}),
diff --combined debian/rules
index 90c9534,15823cb..5071c50
--- a/debian/rules
+++ b/debian/rules
@@@ -16,16 -16,16 +16,16 @@@ include /usr/share/dpkg/architecture.m
  
  # Ubuntu ld adds -Bsymbolic-functions by default, but that prevents FFmpeg from building.
  export DEB_LDFLAGS_MAINT_STRIP=-Wl,-Bsymbolic-functions
+ # build with all hardening flags except pie
+ export DEB_MAINT_BUILD_OPTIONS=hardening=+all,-pie
  
  # Package name for the extra flavor.
- EXTRA_PKG := $(shell sed -nr 's/^Package:[[:space:]]*(.*extra[0-9]+)[[:space:]]*$$/\1/p' debian/control)
+ EXTRA_PKGS := $(shell sed -nr 's/^Package:[[:space:]]*(.*extra[0-9]+)[[:space:]]*$$/\1/p' debian/control)
  FLAVORS = standard extra
  
  # Enable as many features as possible, as long as the result is still GPLv2+ (a GPLv3+ variant is built as libavcodec-extra flavor).
  # The following flags (and build-dependencies) are not added, because they would require a libavformat-extra flavor:
  #   --enable-libsmbclient           (libsmbclient-dev [!hurd-i386 !m68k !sparc64])
- #   --enable-libtesseract
- #   --enable-netcdf
  # The following flags are not added, because the necessary libraries are not in Debian:
  #   --enable-decklink
  #   --enable-libcelt                (see #676592: removed from Debian as abandoned upstream, replaced by opus)
@@@ -40,6 -40,7 +40,7 @@@
  #   --enable-libxavs
  #   --enable-libzimg
  # The following flags are not added for various reasons:
+ #   * --enable-librtmp:             ffmpeg has better built-in RTMP support with listen mode
  #   * --enable-libv4l2 [!hurd-any]: This is only needed for very old devices and may cause problems for others.
  #                                   Should anyone need it, using LD_PRELOAD pointing on libv4l2 has the same effect.
  #   * --enable-opencl [!hurd-any]:  This is considered an experimental API.
@@@ -48,12 -49,10 +49,10 @@@ CONFIG := --prefix=/usr 
  	--toolchain=hardened \
  	--libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
  	--incdir=/usr/include/$(DEB_HOST_MULTIARCH) \
- 	--cc=$(CC) \
- 	--cxx=$(CXX) \
  	--enable-gpl \
  	--enable-shared \
+ 	--disable-libtesseract \
  	--disable-stripping \
- 	--disable-decoder=libopenjpeg \
  	--disable-decoder=libschroedinger \
  	--enable-avresample \
  	--enable-avisynth \
@@@ -64,7 -63,7 +63,7 @@@
  	--enable-libbs2b \
  	--enable-libcaca \
  	--enable-libcdio \
 -	--enable-libebur128 \
 +	--disable-libebur128 \
  	--enable-libflite \
  	--enable-libfontconfig \
  	--enable-libfreetype \
@@@ -77,7 -76,6 +76,6 @@@
  	--enable-libopus \
  	--enable-libpulse \
  	--enable-librubberband \
- 	--enable-librtmp \
  	--enable-libschroedinger \
  	--enable-libshine \
  	--enable-libsnappy \
@@@ -92,6 -90,7 +90,7 @@@
  	--enable-libwebp \
  	--enable-libx265 \
  	--enable-libxvid \
+ 	--enable-libzmq \
  	--enable-libzvbi \
  	--enable-openal \
  	--enable-opengl \
@@@ -104,32 -103,32 +103,32 @@@ CONFIG_standard 
  CONFIG_extra = --enable-version3 \
  	--disable-doc \
  	--disable-programs \
- 	--disable-avdevice \
- 	--disable-avfilter \
- 	--disable-avformat \
- 	--disable-avresample \
- 	--disable-postproc \
- 	--disable-swscale \
  	--enable-libopencore_amrnb \
  	--enable-libopencore_amrwb \
- 	--enable-libvo_amrwbenc
+ 	--enable-libtesseract \
+ 	--enable-libvo_amrwbenc \
+ 	--enable-netcdf
  
  # Disable optimizations if requested.
  ifneq (,$(filter $(DEB_BUILD_OPTIONS),noopt))
  	CONFIG += --disable-optimizations
  endif
  
+ # Respect CC/CXX from the environment, if they differ from the default.
+ # Don't set them if they equal the default, because that disables autodetection needed for cross-building.
+ ifneq ($(CC),cc)
+ 	CONFIG += --cc=$(CC)
+ endif
+ ifneq ($(CXX),g++)
+ 	CONFIG += --cxx=$(CXX)
+ endif
+ 
  # Some libraries are built only on linux.
  ifeq ($(DEB_HOST_ARCH_OS),linux)
  	CONFIG += --enable-libdc1394 \
  		--enable-libiec61883
  endif
  
- # Some libraries are not build on hurd.
- ifneq ($(DEB_HOST_ARCH_OS),hurd)
- 	CONFIG += --enable-libzmq
- endif
- 
  # ffmpeg is involed in build-dependency cycles with opencv, x264 and chromaprint, so disable them in stage one.
  # Also disable frei0r, which build-depends on opencv.
  ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
@@@ -174,6 -173,18 +173,18 @@@ ifneq (,$(filter $(DEB_HOST_ARCH),mips 
  	CONFIG += --disable-mipsfpu
  endif
  
+ # Set cross-build prefix for compiler, pkg-config...
+ # Cross-building also requires to manually set architecture/OS.
+ ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
+ 	CONFIG += --cross-prefix=$(DEB_HOST_GNU_TYPE)- \
+ 		--arch=$(DEB_HOST_ARCH) \
+ 		--target-os=$(DEB_HOST_ARCH_OS)
+ endif
+ 
+ # export all *FLAG env vars
+ export DPKG_EXPORT_BUILDFLAGS
+ include /usr/share/dpkg/buildflags.mk
+ 
  # Use the default debhelper scripts, where possible.
  # Enable parallel building.
  %:
@@@ -182,7 -193,7 +193,7 @@@
  # Add configuration options:
  override_dh_auto_configure:
  	$(foreach flavor,$(FLAVORS),mkdir -p debian/$(flavor);)
- 	$(foreach flavor,$(FLAVORS), echo " *** $(flavor) ***"; cd debian/$(flavor); ../../configure $(CONFIG) $(CONFIG_$(flavor)) || (cat config.log && exit 1); cd ../.. ;)
+ 	$(foreach flavor,$(FLAVORS),set -e; echo " *** $(flavor) ***"; cd debian/$(flavor); ../../configure $(CONFIG) $(CONFIG_$(flavor)) || (cat config.log && exit 1); cd ../.. ;)
  
  # Remove the subdirectories generated for the flavors.
  override_dh_auto_clean:
@@@ -201,11 -212,12 +212,12 @@@ override_dh_auto_build-arch
  		echo " *** $$flavor ***"; \
  		if echo "$$flavor" | grep -q "extra"; then \
  			subdir=`[ "$$flavor" = "extra" ] && echo "debian/standard/" || echo "debian/altivec/"`; \
- 			for dir in `cd ./$$subdir; find libavcodec libavutil libswresample -type d`; do \
+ 			for dir in `cd ./$$subdir; find libavcodec libavdevice libavfilter libavformat libavresample libavutil libpostproc libswscale libswresample -type d`; do \
  				mkdir -p debian/"$$flavor"/"$$dir"; \
  				echo "$$subdir$$dir"/*.o | grep -q '*' || cp "$$subdir$$dir"/*.o debian/"$$flavor"/"$$dir"; \
  			done; \
  			rm debian/"$$flavor"/libavcodec/allcodecs.o; \
+ 			rm debian/"$$flavor"/libavfilter/allfilters.o; \
  		fi; \
  		if [ "$$flavor" = "standard" ]; then \
  			$(MAKE) -C debian/standard tools/qt-faststart; \
@@@ -215,10 -227,8 +227,8 @@@
  
  # Set the library path for the dynamic linker, because the tests otherwise don't find the libraries.
  override_dh_auto_test-arch:
- ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
  	export LD_LIBRARY_PATH="libavcodec:libavdevice:libavfilter:libavformat:libavresample:libavutil:libpostproc:libswresample:libswscale"; \
  		dh_auto_test -a --sourcedirectory=debian/standard -- -k
- endif
  
  # No tests for indep build.
  override_dh_auto_test-indep:
@@@ -236,8 -246,8 +246,8 @@@ ifeq ($(DEB_HOST_ARCH),powerpc
  endif
  
  override_dh_install:
- 	dh_install -N $(EXTRA_PKG)
- 	dh_install -p $(EXTRA_PKG) --sourcedir=debian/tmp/extra
+ 	dh_install $(addprefix -p,$(EXTRA_PKGS)) --sourcedir=debian/tmp/extra
+ 	dh_install --remaining-packages
  
  override_dh_makeshlibs:
  	set -e && for pkg in $(shell dh_listpackages -a) ; do \
@@@ -249,6 -259,10 +259,10 @@@
  				soversion=$$(echo $$pkg | sed -nr 's/^[^0-9]*([0-9]+)$$/\1/p'); \
  				dh_makeshlibs -p $$pkg -V"libavcodec$$soversion (>= ${DEB_VERSION_EPOCH_UPSTREAM}) | libavcodec-extra$$soversion (>= ${DEB_VERSION_EPOCH_UPSTREAM})" \
  				;; \
+ 			*avfilter*) \
+ 				soversion=$$(echo $$pkg | sed -nr 's/^[^0-9]*([0-9]+)$$/\1/p'); \
+ 				dh_makeshlibs -p $$pkg -V"libavfilter$$soversion (>= ${DEB_VERSION_EPOCH_UPSTREAM}) | libavfilter-extra$$soversion (>= ${DEB_VERSION_EPOCH_UPSTREAM})" \
+ 				;; \
  			*) \
  				dh_makeshlibs -p $$pkg -V \
  				;; \

-- 
ffmpeg packaging



More information about the pkg-multimedia-commits mailing list