Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Docker image AVIF support #182

Closed
aentwist opened this issue Apr 3, 2023 · 8 comments
Closed

Fix Docker image AVIF support #182

aentwist opened this issue Apr 3, 2023 · 8 comments

Comments

@aentwist
Copy link
Contributor

aentwist commented Apr 3, 2023

Follow up from #177 -

I almost caught it, but didn't - we do need libaom and libdav1d here - and maybe libyuv.

gd_info() is not enough to test this. Functionality fails at runtime. I should have done some actual AVIF tests.

See https://bugs.php.net/bug.php?id=81217
and https://github.com/mlocati/docker-php-extension-installer

@aentwist
Copy link
Contributor Author

aentwist commented Apr 3, 2023

Via that bug report - apparently things are made more annoying as early / not functional versions of aom are shipped on the Debian and Alpine source lists. I can confirm that the current 8.1 image here still does not work after installing aom and dav1d.

The tag php:8.1-apache is built on bullseye. On bullseye-20230320-slim we have

# apt show libaom-dev
Package: libaom-dev
Version: 1.0.0.errata1-3
Priority: optional
Section: libdevel
Source: aom
Maintainer: Debian Multimedia Maintainers <[email protected]>
Installed-Size: 181 kB
Depends: libaom0 (= 1.0.0.errata1-3)
Homepage: https://aomedia.org/
Tag: devel::library, role::devel-lib
Download-Size: 35.3 kB
APT-Sources: http://deb.debian.org/debian bullseye/main amd64 Packages
Description: AV1 Video Codec Library -- Development Files

On bookworm-20230320-slim we have

# apt show libaom-dev
Package: libaom-dev
Version: 3.6.0-1
Priority: optional
Section: libdevel
Source: aom
Maintainer: Debian Multimedia Maintainers <[email protected]>
Installed-Size: 8738 kB
Depends: libaom3 (= 3.6.0-1)
Homepage: https://aomedia.googlesource.com/aom/
Tag: devel::library, role::devel-lib
Download-Size: 2093 kB
APT-Sources: http://deb.debian.org/debian bookworm/main amd64 Packages
Description: AV1 Video Codec Library -- Development Files

Thus it appears very likely that this is fixed in bookworm, but not bullseye. We could consider adding our own source list to try to point to an updated version of aom... or compiling it... but I do not expect to be making this effort. The referenced project takes care of all this ...

https://github.com/mlocati/docker-php-extension-installer/blob/1bbb7c4944a8c5f1655545281950236248554821/install-php-extensions#L1988-L1998

In the official Nextcloud images things might be different, but here I want less work. This dependency is a good look, at least as a workaround until things eventually get updated. I will probably be building my development images to work on AVIF using it.

@aentwist
Copy link
Contributor Author

aentwist commented Apr 3, 2023

Note also that there are no images for php:8.1-apache-alpine. All Apache images are built on Debian.

https://github.com/docker-library/docs/blob/master/php/README.md#supported-tags-and-respective-dockerfile-links

@aentwist
Copy link
Contributor Author

aentwist commented Apr 3, 2023

On bookworm release

The freeze for bookworm will happen according to the following timeline:
  • 2023-01-12 - Milestone 1 - Transition and Toolchain Freeze
  • 2023-02-12 - Milestone 2 - Soft Freeze
  • 2023-03-12 - Milestone 3 - Hard Freeze - for key packages and packages without autopkgtests
  • TBA - Milestone 4 - Full Freeze

https://release.debian.org/bookworm/freeze_policy.html

They'll probably full freeze soon and get ready for release, and shortly after that I think we can expect the php contributors to publish new images... that is the hope for the official Nextcloud images, I think (to avoid dependencies, custom source lists, compiling aom, etc.)

@juliusknorr
Copy link
Owner

juliusknorr commented Apr 4, 2023

FYI I'll revert d35f147 for now as this seems to break the 8.1 container build as discovered with #183

Update: Might still be caused by my other change, will keep you posted

@DesertCookie
Copy link

Has there been any movement on the AVIF support?

@aentwist
Copy link
Contributor Author

aentwist commented Sep 1, 2023

Bookworm has obviously been released at this point. The images should be updated to Bookworm-based versions if they have not already been. Then the aforementioned libraries should be installed from the OS source list (typical installation process using apt, nothing tricky now).

I abandoned Nextcloud very quickly for several reasons - all on its end - so I am no longer the champion for this issue.

@juliusknorr
Copy link
Owner

No plans to pick this up from my side (as I don't have a concrete use case during development), but contributions to enable it would of course still be welcome.

@juliusknorr
Copy link
Owner

I'll close this as there are no plans to implement this from my side, but pull requests would of course still be welcome.

@juliusknorr juliusknorr closed this as not planned Won't fix, can't repro, duplicate, stale Dec 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants