Bug#946241: ffmpeg: please make autopkgtests cross-test-friendly

2020-01-02 Thread Sebastian Ramacher
On 2020-01-03 01:08:14, James Cowgill wrote:
> Hi,
> 
> On 06/12/2019 03:33, Steve Langasek wrote:
> > Package: ffmpeg
> > Version: 7:4.2.1-2
> > Severity: minor
> > Tags: patch
> > User: ubuntu-de...@lists.ubuntu.com
> > Usertags: origin-ubuntu focal ubuntu-patch
> > 
> > Dear maintainers,
> > 
> > In Ubuntu, we are in the process of moving the i386 architecture to a
> > compatibility-only layer on amd64, and therefore we are also moving our
> > autopkgtest infrastructure to test i386 binaries in a cross-environment.
> > 
> > This requires changes to some tests so that they are cross-aware and can do
> > the right thing.
> 
> [...]
> > 
> > --- ffmpeg-4.2.1/debian/tests/control   2019-11-01 18:17:31.0 
> > -0700
> > +++ ffmpeg-4.2.1/debian/tests/control   2019-12-05 17:17:44.0 
> > -0800
> > @@ -5,4 +5,4 @@
> >  Depends: ffmpeg
> >  
> >  Tests: encdec-extra
> > -Depends: ffmpeg, libavcodec-extra
> > +Depends: ffmpeg, libavcodec-extra58
> 
> Am I right in thinking this is necessary because libavcodec-extra is an
> "arch all multi-arch foreign" package?
> 
> I'm wondering if marking libavcodec-extra (and libavfilter-extra) like
> that is wrong because the behavior of these packages depends on what the
> native architecture is, but I'm not sure. It currently installs the
> native arch's libavcodec-extra library which doesn't seem right for a
> multi-arch foreign package. I don't know if anyone from the multimedia
> team knows why it's done this way (maybe just historical)?
> 
> Making the package "arch any multi-arch same" seems sensible to me, or
> just removing the packages altogether (we already have a Provides:
> libavcodec-extra on the real library packages so the existing
> dependencies should work still).

The package is intended for users that want the extra codecs. So
converting it to arch any would be fine, dropping it not.

Best

> 
> Thanks,
> James
> 




-- 
Sebastian Ramacher



Bug#946241: ffmpeg: please make autopkgtests cross-test-friendly

2020-01-02 Thread James Cowgill
Hi,

On 06/12/2019 03:33, Steve Langasek wrote:
> Package: ffmpeg
> Version: 7:4.2.1-2
> Severity: minor
> Tags: patch
> User: ubuntu-de...@lists.ubuntu.com
> Usertags: origin-ubuntu focal ubuntu-patch
> 
> Dear maintainers,
> 
> In Ubuntu, we are in the process of moving the i386 architecture to a
> compatibility-only layer on amd64, and therefore we are also moving our
> autopkgtest infrastructure to test i386 binaries in a cross-environment.
> 
> This requires changes to some tests so that they are cross-aware and can do
> the right thing.

[...]
> 
> --- ffmpeg-4.2.1/debian/tests/control 2019-11-01 18:17:31.0 -0700
> +++ ffmpeg-4.2.1/debian/tests/control 2019-12-05 17:17:44.0 -0800
> @@ -5,4 +5,4 @@
>  Depends: ffmpeg
>  
>  Tests: encdec-extra
> -Depends: ffmpeg, libavcodec-extra
> +Depends: ffmpeg, libavcodec-extra58

Am I right in thinking this is necessary because libavcodec-extra is an
"arch all multi-arch foreign" package?

I'm wondering if marking libavcodec-extra (and libavfilter-extra) like
that is wrong because the behavior of these packages depends on what the
native architecture is, but I'm not sure. It currently installs the
native arch's libavcodec-extra library which doesn't seem right for a
multi-arch foreign package. I don't know if anyone from the multimedia
team knows why it's done this way (maybe just historical)?

Making the package "arch any multi-arch same" seems sensible to me, or
just removing the packages altogether (we already have a Provides:
libavcodec-extra on the real library packages so the existing
dependencies should work still).

Thanks,
James



signature.asc
Description: OpenPGP digital signature


Bug#946241: ffmpeg: please make autopkgtests cross-test-friendly

2019-12-05 Thread Steve Langasek
Package: ffmpeg
Version: 7:4.2.1-2
Severity: minor
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu focal ubuntu-patch

Dear maintainers,

In Ubuntu, we are in the process of moving the i386 architecture to a
compatibility-only layer on amd64, and therefore we are also moving our
autopkgtest infrastructure to test i386 binaries in a cross-environment.

This requires changes to some tests so that they are cross-aware and can do
the right thing.

The ffmpeg tests currently fail in this environment, one because it is a
build test that does not invoke the toolchain in a cross-aware manner, and
another because it references a test dependency (libavcodec-extras) that
can't be installed as a foreign arch dependency.

I've verified that the attached patch lets the tests successfully build (and
run) i386 tests on an amd64 host.

Note that upstream autopkgtest doesn't currently set DEB_HOST_ARCH so this
is a complete no-op in Debian for the moment.  Support for cross-testing in
autopkgtest is currently awaiting review at
https://salsa.debian.org/ci-team/autopkgtest/merge_requests/69 and once
landed, will still have no effect unless autopkgtest is invoked with a '-a'
option.  So this change should be safe to land in your package despite this
not being upstream in autopkgtest.

Thanks for considering,
-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developer   https://www.debian.org/
slanga...@ubuntu.com vor...@debian.org
diff -Nru ffmpeg-4.2.1/debian/tests/control ffmpeg-4.2.1/debian/tests/control
--- ffmpeg-4.2.1/debian/tests/control   2019-11-01 18:17:31.0 -0700
+++ ffmpeg-4.2.1/debian/tests/control   2019-12-05 17:17:44.0 -0800
@@ -5,4 +5,4 @@
 Depends: ffmpeg
 
 Tests: encdec-extra
-Depends: ffmpeg, libavcodec-extra
+Depends: ffmpeg, libavcodec-extra58
diff -Nru ffmpeg-4.2.1/debian/tests/examples ffmpeg-4.2.1/debian/tests/examples
--- ffmpeg-4.2.1/debian/tests/examples  2019-11-01 18:17:31.0 -0700
+++ ffmpeg-4.2.1/debian/tests/examples  2019-12-05 17:29:02.0 -0800
@@ -10,6 +10,10 @@
 cp -r /usr/share/doc/ffmpeg/examples ./
 cd examples
 
+if [ -n "$DEB_HOST_MULTIARCH" ]; then
+export CC="$DEB_HOST_GNU_TYPE-gcc"
+export PKG_CONFIG_PATH="/usr/lib/$DEB_HOST_MULTIARCH/pkgconfig"
+fi
 echo "building the examples..."
 ret=0
 make -k all 2>&1