Skip to content

Pipelines update for FFmpeg 5 and security fixes #756

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

Merged
merged 5 commits into from
Dec 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build_wheels_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
MB_ML_VER: 2014
TRAVIS_BUILD_DIR: ${{ github.workspace }}
CONFIG_PATH: travis_config.sh
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20220824
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64:20221205
USE_CCACHE: 0
UNICODE_WIDTH: 32
PLAT: x86_64
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_wheels_linux_arm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
MB_ML_VER: 2014
TRAVIS_BUILD_DIR: ${{ github.workspace }}
CONFIG_PATH: travis_config.sh
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-aarch64:20220824
DOCKER_IMAGE: quay.io/opencv-ci/opencv-python-manylinux2014-aarch64:20221205
USE_CCACHE: 0
UNICODE_WIDTH: 32
SDIST: ${{ matrix.build_sdist || 0 }}
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/build_wheels_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ jobs:
USE_CCACHE: 1
UNICODE_WIDTH: 32
PLAT: x86_64
FFMPEG_FORMULA_VERSION: '@4'
SDIST: ${{ matrix.build_sdist || 0 }}
ENABLE_HEADLESS: ${{ matrix.without_gui }}
ENABLE_CONTRIB: ${{ matrix.with_contrib }}
Expand Down
6 changes: 3 additions & 3 deletions docker/manylinux2014/Dockerfile_aarch64
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Version: 20220824
# Version: 20221205
# Image name: quay.io/opencv-ci/opencv-python-manylinux2014-aarch64

FROM quay.io/pypa/manylinux2014_aarch64:latest
Expand All @@ -11,13 +11,13 @@ ARG NASM_VERSION=2.15.04
ARG OPENSSL_VERSION=1_1_1s
ARG QT_VERSION=5.15.0
ARG YASM_VERSION=1.3.0
ARG ZLIB_VERSION=1.2.12
ARG ZLIB_VERSION=1.2.13

ENV LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH

# epel-release need for aarch64 to get openblas packages
RUN yum install bzip2-devel curl-devel xcb-util-renderutil-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel mesa-libGL-devel libxkbcommon-devel libxkbcommon-x11-devel libXi-devel lapack-devel epel-release -y && \
yum install openblas-devel -y && \
yum install openblas-devel dejavu-sans-fonts -y && \
cp /usr/include/lapacke/lapacke*.h /usr/include/ && \
curl https://raw.githubusercontent.com/xianyi/OpenBLAS/v0.3.3/cblas.h -o /usr/include/cblas.h && \
# libpng will be built from source
Expand Down
6 changes: 3 additions & 3 deletions docker/manylinux2014/Dockerfile_x86_64
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Version: 20220824
# Version: 20221205
# Image name: quay.io/opencv-ci/opencv-python-manylinux2014-x86-64

FROM quay.io/pypa/manylinux2014_x86_64:latest
Expand All @@ -11,13 +11,13 @@ ARG NASM_VERSION=2.15.04
ARG OPENSSL_VERSION=1_1_1s
ARG QT_VERSION=5.15.0
ARG YASM_VERSION=1.3.0
ARG ZLIB_VERSION=1.2.12
ARG ZLIB_VERSION=1.2.13

ENV LD_LIBRARY_PATH /usr/local/lib:$LD_LIBRARY_PATH

# epel-release need for aarch64 to get openblas packages
RUN yum install bzip2-devel curl-devel xcb-util-renderutil-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-wm-devel mesa-libGL-devel libxkbcommon-devel libxkbcommon-x11-devel libXi-devel lapack-devel epel-release -y && \
yum install openblas-devel -y && \
yum install openblas-devel dejavu-sans-fonts -y && \
cp /usr/include/lapacke/lapacke*.h /usr/include/ && \
curl https://raw.githubusercontent.com/xianyi/OpenBLAS/v0.3.3/cblas.h -o /usr/include/cblas.h && \
# libpng will be built from source
Expand Down
2 changes: 1 addition & 1 deletion opencv
Submodule opencv updated 1020 files
2 changes: 1 addition & 1 deletion opencv_contrib
Submodule opencv_contrib updated 133 files
2 changes: 1 addition & 1 deletion opencv_extra
Submodule opencv_extra updated 513 files
13 changes: 6 additions & 7 deletions travis_config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,13 @@ if [ -n "$IS_OSX" ]; then

BREW_SLOW_BUILIDING_PACKAGES=$(printf '%s\n' \
"cmake 15" \
"ffmpeg_opencv 10" \
"ffmpeg 10" \
)

function generate_ffmpeg_formula {
local FF="ffmpeg"
local LFF="ffmpeg_opencv"
local FF_FORMULA; FF_FORMULA=$(brew formula "${FF}${FFMPEG_FORMULA_VERSION}")
local LFF="ffmpeg"
local FF_FORMULA; FF_FORMULA=$(brew formula "${FF}")
local LFF_FORMULA; LFF_FORMULA="$(dirname "$FF_FORMULA")/${LFF}.rb"

local REGENERATE
Expand All @@ -76,9 +76,8 @@ if [ -n "$IS_OSX" ]; then
if [ -n "$REGENERATE" ]; then
echo "Regenerating custom ffmpeg formula"
# Bottle block syntax: https://docs.brew.sh/Bottles#bottle-dsl-domain-specific-language
# FfmpegAT4 is a class in ffmpeg@4 formula
perl -wpe 'BEGIN {our ($found_blank, $bottle_block);}
if (/(^class )(FfmpegAT4)(\s.*)/) {$_=$1."FfmpegOpencv".$3."\n"; next;}
Copy link
Contributor

@asenyaev asenyaev Dec 13, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can leave FfmpegOpencv here, because the previous logic was something like $2.Opencv what meant FfmpegOpencv, but wasn’t obvious. Or move back $2.

link to the previous logic (before my changes), notice $2: 602a8be#diff-7d5a84b3617f8aff01b2fc673bb198946e3632d90592fd61d3e3e24ddd6dbf70L74

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if (/(^class )(Ffmpeg)(\s.*)/) {$_=$1."Opencv".$3."\n"; next;}
if (!$found_blank && /^$/) {$_.="conflicts_with \"ffmpeg\"\n\n"; $found_blank=1; next;}
if (!$bottle_block && /^\s*bottle do$/) { $bottle_block=1; next; }
if ($bottle_block) { if (/^\s*end\s*$/) { $bottle_block=0} elsif (/^\s*sha256\s/) {$_=""} next; }
Expand Down Expand Up @@ -118,9 +117,9 @@ function pre_build {
brew update
generate_ffmpeg_formula
brew_add_local_bottles
brew install --build-bottle ffmpeg_opencv
brew install --build-bottle ffmpeg
# It needs when we use not the latest ffmpeg formula
brew link ffmpeg_opencv
brew link ffmpeg

if [ -n "$CACHE_STAGE" ]; then
brew_go_bootstrap_mode 0
Expand Down