Bug#456165: Details from Handbrake as to why it is statically linked to libraries

2012-09-13 Thread Reinhard Tartler
On Wed, Sep 12, 2012 at 1:45 PM, Alex Brooks askoorb+deb...@gmail.com wrote:
 Hello,

 I'm new to the Debian bugs system, so please excuse me if I break etiquette.
No, you're doing perfectly fine!

 I'm really looking forward to Handbrake being available in the main
 repositories, but I thought that the packagers need to be aware of
 some information that the Handbrake devs have written about why they
 statically link to libraries.

 First, from their development FAQ (https://trac.handbrake.fr/wiki/SupportFAQ):

Why doesn't HandBrake use my system libraries?
HandBrake requires a lot of control over the specific versions of 3rd party 
libraries it utilizes. To make sure everything is to its specifications, it 
downloads and builds most of its dependencies and statically links them, all 
without touching your system libraries.


That's an perfectly understandable reasoning from an upstream
perspective. The problem is that this conflicts with the requirements
of a distribution of the size of Debian. Here, shipping the same piece
of software in different versions embedded in other packages makes the
life of package maintainers, release managers, archive administrators
and the security team unnecessarily hard. Therefore, we cannot accept
this and need patch the software to work with the system provided
libraries.


 and

Why can't I build HandBrake? x264 fails to compile and then libhb does too.
You need to build and install yasm for x264 to use cpu acceleration.

Debian does already ship a working copy of x264. Handbrake should just use it.

 Also, in the source, there is a file called README.debian.  I've
 pasted the contents of the file at the bottom of this message.  It's
 very informative.

 Thanks, and good luck with getting Handbrake packaged up!

 Alex Brooks

 ==

 handbrake for Debian
 

 HandBrake bundles its own copies of ffmpeg and related media libraries. This 
 is
 an upstream decision that the Ubuntu maintainers will respect.

Yes, that may be fine for ubuntu, and might be fine for
debian/experimental. It is certainly unacceptable for a debian stable
release. Having said this, I'd be OK to have embedded libraries in an
upload to experimental.

 This is done by running contrib/getcontrib.sh which wgets each library from
 HandBrake's website.

Yeah, the autobuilders in both debian and ubuntu do not have access to
the internet at compilation time. Therefore, the parts of the build
scripts that download stuff need to be disabled and all sources need
to be available in the source package.


 Upstream has asked us to do this because they have modified their libraries to
 address the finickiness of the platforms that they support, along with
 prerelease patches that add support for advanced HandBrake functionality such 
 as
 surround-sound downmixing.

Again, that's understandable, but more a workaround than a solution.

 HandBrake then statically links against these libraries, and they are not
 installed to the system so it doesn't interfere with other parts of the 
 system.
 Different or older versions of these packages are included in the Ubuntu
 distribution already, and have passed our guidelines for Multiverse inclusion.

As indicated above, this static linking is what makes packaging
handbrake challenging.


 === Detailed Breakdown of Bundled Libraries and Reasons ===

 a52dec - 0.7.4
 patch to allow downmix to dolby prologic ii

Can be included in the distro package

 faad2 2.6.1
 patch to configure.ac so it will build with libtool 2.2.x

Not necessary when using the system copy


 ffmpeg svn 15462
 patch for building on beos
 patch that adds aac-latm codec
 patch fixes memory leak provoked by h264 streams with lots of errors
 patch for cygwin
 patch for solaris

debian does not support beos, cygwin or solaris, so those patches are
irrelevant. Debian's libavcodec does support aac-latm already. I'm not
sure about the memory leak fix, but that fix should be fixed upstream
in any case.

 libdca svn 81
 newer than released version

We can update the system copy of the library, no problem here.

 libdvdread 0.9.7
 patch for os x, changes path to dvdcss
 patch for cygwin, configure fixes

all of those do not affect debian.

 faac
 patch for cygwin configure

please see https://bugs.launchpad.net/ubuntu/+source/faac/+bug/374900

My understanding is that including faac in GPL'ed binaries as
Handbrake does results in unredistributable binaries.

 lame version 3.98

What about it?

 libmp4v2 svn 45
 project was stagnant. using a fork that has picked up development

So?

 libmkv 0.6.3

 mpeg2dec 0.5.1

 libogg 1.1.3

 libsamplerate 0.1.4

 libvorbis aotuv fork b5

 libtheora 1.0

 libx264 git 1028
 patch for cygwin configure
 patch for solaris build scripts
 patch to allow forcing an IDR frame

 xvidcore 1.1.3
 patch for os x configure
 patch for cygwin configure
 patch configure to recognize nasm 2.0

All of those are no problem to not use the system provided 

Bug#456165: Details from Handbrake as to why it is statically linked to libraries

2012-09-13 Thread Fabian Greffrath

Am 13.09.2012 15:46, schrieb Reinhard Tartler:

libdca svn 81
newer than released version

We can update the system copy of the library, no problem here.


Nope, the release was tagged with commit 82 and I have applied most 
subsequent patches up to commit 89.


 - Fabian


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#456165: Details from Handbrake as to why it is statically linked to libraries

2012-09-12 Thread Alex Brooks
Hello,

I'm new to the Debian bugs system, so please excuse me if I break etiquette.

I'm really looking forward to Handbrake being available in the main
repositories, but I thought that the packagers need to be aware of
some information that the Handbrake devs have written about why they
statically link to libraries.

First, from their development FAQ (https://trac.handbrake.fr/wiki/SupportFAQ):

Why doesn't HandBrake use my system libraries?
HandBrake requires a lot of control over the specific versions of 3rd party 
libraries it utilizes. To make sure everything is to its specifications, it 
downloads and builds most of its dependencies and statically links them, all 
without touching your system libraries.

and

Why can't I build HandBrake? x264 fails to compile and then libhb does too.
You need to build and install yasm for x264 to use cpu acceleration.

Also, in the source, there is a file called README.debian.  I've
pasted the contents of the file at the bottom of this message.  It's
very informative.

Thanks, and good luck with getting Handbrake packaged up!

Alex Brooks

==

handbrake for Debian


HandBrake bundles its own copies of ffmpeg and related media libraries. This is
an upstream decision that the Ubuntu maintainers will respect.

This is done by running contrib/getcontrib.sh which wgets each library from
HandBrake's website.


Upstream has asked us to do this because they have modified their libraries to
address the finickiness of the platforms that they support, along with
prerelease patches that add support for advanced HandBrake functionality such as
surround-sound downmixing.

HandBrake then statically links against these libraries, and they are not
installed to the system so it doesn't interfere with other parts of the system.
Different or older versions of these packages are included in the Ubuntu
distribution already, and have passed our guidelines for Multiverse inclusion.


=== Detailed Breakdown of Bundled Libraries and Reasons ===

a52dec - 0.7.4
patch to allow downmix to dolby prologic ii

faad2 2.6.1
patch to configure.ac so it will build with libtool 2.2.x

ffmpeg svn 15462
patch for building on beos
patch that adds aac-latm codec
patch fixes memory leak provoked by h264 streams with lots of errors
patch for cygwin
patch for solaris

libdca svn 81
newer than released version

libdvdread 0.9.7
patch for os x, changes path to dvdcss
patch for cygwin, configure fixes

faac
patch for cygwin configure

lame version 3.98

libmp4v2 svn 45
project was stagnant. using a fork that has picked up development

libmkv 0.6.3

mpeg2dec 0.5.1

libogg 1.1.3

libsamplerate 0.1.4

libvorbis aotuv fork b5

libtheora 1.0

libx264 git 1028
patch for cygwin configure
patch for solaris build scripts
patch to allow forcing an IDR frame

xvidcore 1.1.3
patch for os x configure
patch for cygwin configure
patch configure to recognize nasm 2.0

 -- John Dong jd...@ubuntu.com  Fri, 28 Nov 2008 14:17:16 -0500


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org