diff --git a/download b/download new file mode 100644 index 0000000000000000000000000000000000000000..1fe5b2ff947f69c0c9393d43ba5738f553261e05 --- /dev/null +++ b/download @@ -0,0 +1 @@ +ba136b5a02ee4c7bf093d09bc1635560 libva-2.11.0.tar.gz diff --git a/libva-2.11.0-fstack-protector-strong.patch b/libva-2.11.0-fstack-protector-strong.patch new file mode 100644 index 0000000000000000000000000000000000000000..7a7e6be72ba025d8b595eb762cc0047bff53c189 --- /dev/null +++ b/libva-2.11.0-fstack-protector-strong.patch @@ -0,0 +1,74 @@ +diff --git a/configure.ac b/configure.ac +index 878284d..9e2ba4d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -214,21 +214,46 @@ AC_SEARCH_LIBS([dlopen], [dl], [], [ + AC_MSG_ERROR([unable to find the dlopen() function]) + ]) + +-# Check for -fstack-protector +-ssp_cc=yes ++# Check for -fstack-protector and -fstack-protector-strong ++SSP_CC_FLAG="" + if test "X$CC-cc" != "X"; then +- AC_MSG_CHECKING([whether ${CC-cc} accepts -fstack-protector]) ++ # Do not duplicate options in CFLAGS ++ ssp_sp_set=no ++ ssp_sps_set=no ++ for ssp_x in $CFLAGS; do ++ case "X$ssp_x" in ++ X-fstack-protector) ssp_sp_set=yes ;; ++ X-fstack-protector-strong) ssp_sps_set=yes ;; ++ esac ++ done + ssp_old_cflags="$CFLAGS" +- CFLAGS="$CFLAGS -fstack-protector" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[alloca(100);]])], [], [ssp_cc=no]) ++ # Prefer -fstack-protector-strong over -fstack-protector ++ if test "X$ssp_sps_set" = "Xno"; then ++ SSP_CC_FLAG="-fstack-protector-strong" ++ fi ++ AC_MSG_CHECKING([whether ${CC-cc} accepts -fstack-protector-strong]) ++ CFLAGS="$ssp_old_cflags $SSP_CC_FLAG" ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[alloca(100);]])], [ssp_cc=yes], [ssp_cc=no]) + AC_MSG_RESULT([$ssp_cc]) + if test "X$ssp_cc" = "Xno"; then +- CFLAGS="$ssp_old_cflags" +- else ++ # Fallback to -fstack-protector ++ if test "X$ssp_sp_set" = "Xno"; then ++ SSP_CC_FLAG="-fstack-protector" ++ fi ++ AC_MSG_CHECKING([whether ${CC-cc} accepts -fstack-protector]) ++ CFLAGS="$ssp_old_cflags $SSP_CC_FLAG" ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[alloca(100);]])], [ssp_cc=yes], [ssp_cc=no]) ++ AC_MSG_RESULT([$ssp_cc]) ++ if test "X$ssp_cc" = "Xno"; then ++ SSP_CC_FLAG="" ++ fi ++ fi ++ CFLAGS="$ssp_old_cflags $SSP_CC_FLAG" ++ if test "X$ssp_cc" = "Xyes"; then + AC_DEFINE([ENABLE_SSP_CC], 1, [Define if SSP C support is enabled.]) + fi + fi +-AM_CONDITIONAL(USE_SSP, test "$ssp_cc" = "yes") ++AC_SUBST(SSP_CC_FLAG) + + # Check for DRM (mandatory) + LIBDRM_VERSION=libdrm_version +diff --git a/va/Makefile.am b/va/Makefile.am +index 0d8eff1..5ee49c4 100644 +--- a/va/Makefile.am ++++ b/va/Makefile.am +@@ -83,9 +83,7 @@ libva_cflags = \ + -Wall \ + $(NULL) + +-if USE_SSP +-libva_cflags += -fstack-protector +-endif ++libva_cflags += $(SSP_CC_FLAG) + + lib_LTLIBRARIES = libva.la + libvaincludedir = ${includedir}/va diff --git a/libva-2.5.0-covscan.patch b/libva-2.5.0-covscan.patch deleted file mode 100644 index 031329343a8bea5159321c386e7fc0ef07ffac3f..0000000000000000000000000000000000000000 --- a/libva-2.5.0-covscan.patch +++ /dev/null @@ -1,86 +0,0 @@ -diff --git a/va/glx/va_glx_impl.c b/va/glx/va_glx_impl.c -index 23ea270..fa44da2 100644 ---- a/va/glx/va_glx_impl.c -+++ b/va/glx/va_glx_impl.c -@@ -939,7 +939,7 @@ static VAStatus - vaDestroySurfaceGLX_impl_libva(VADriverContextP ctx, void *gl_surface) - { - VASurfaceGLXP pSurfaceGLX; -- struct OpenGLContextState old_cs, *new_cs; -+ struct OpenGLContextState old_cs = {0}, *new_cs; - - INIT_SURFACE(pSurfaceGLX, gl_surface); - -@@ -1072,7 +1072,7 @@ vaCopySurfaceGLX_impl_libva( - { - VASurfaceGLXP pSurfaceGLX; - VAStatus status; -- struct OpenGLContextState old_cs; -+ struct OpenGLContextState old_cs = {0}; - - INIT_SURFACE(pSurfaceGLX, gl_surface); - -diff --git a/va/va_trace.c b/va/va_trace.c -index d34fc40..7cd5ae5 100755 ---- a/va/va_trace.c -+++ b/va/va_trace.c -@@ -996,7 +996,7 @@ static void va_TraceSurface(VADisplay dpy, VAContextID context) - vaUnlockSurface(dpy, trace_ctx->trace_rendertarget); - return; - } -- va_TraceMsg(trace_ctx, "\tbuffer location = 0x%08x\n", buffer); -+ va_TraceMsg(trace_ctx, "\tbuffer location = 0x%p\n", buffer); - va_TraceMsg(trace_ctx, NULL); - - Y_data = (unsigned char*)buffer; -@@ -1668,7 +1668,7 @@ void va_TraceMapBuffer ( - va_TraceMsg(trace_ctx, "\t bit_offset = %u\n", buf_list->bit_offset); - va_TraceMsg(trace_ctx, "\t status = 0x%08x\n", buf_list->status); - va_TraceMsg(trace_ctx, "\t reserved = 0x%08x\n", buf_list->reserved); -- va_TraceMsg(trace_ctx, "\t buf = 0x%08x\n", buf_list->buf); -+ va_TraceMsg(trace_ctx, "\t buf = 0x%p\n", buf_list->buf); - - if (trace_ctx->trace_fp_codedbuf) { - va_TraceMsg(trace_ctx, "\tDump the content to file\n"); -@@ -1780,10 +1780,10 @@ static void va_TraceVAIQMatrixBufferMPEG2( - va_TraceMsg(trace_ctx,"\tload_non_intra_quantiser_matrix = %d\n", p->load_non_intra_quantiser_matrix); - va_TraceMsg(trace_ctx,"\tload_chroma_intra_quantiser_matrix = %d\n", p->load_chroma_intra_quantiser_matrix); - va_TraceMsg(trace_ctx,"\tload_chroma_non_intra_quantiser_matrix = %d\n", p->load_chroma_non_intra_quantiser_matrix); -- va_TraceMsg(trace_ctx,"\tintra_quantiser_matrix = %d\n", p->intra_quantiser_matrix); -- va_TraceMsg(trace_ctx,"\tnon_intra_quantiser_matrix = %d\n", p->non_intra_quantiser_matrix); -- va_TraceMsg(trace_ctx,"\tchroma_intra_quantiser_matrix = %d\n", p->chroma_intra_quantiser_matrix); -- va_TraceMsg(trace_ctx,"\tchroma_non_intra_quantiser_matrix = %d\n", p->chroma_non_intra_quantiser_matrix); -+ va_TraceMsg(trace_ctx,"\tintra_quantiser_matrix = %p\n", p->intra_quantiser_matrix); -+ va_TraceMsg(trace_ctx,"\tnon_intra_quantiser_matrix = %p\n", p->non_intra_quantiser_matrix); -+ va_TraceMsg(trace_ctx,"\tchroma_intra_quantiser_matrix = %p\n", p->chroma_intra_quantiser_matrix); -+ va_TraceMsg(trace_ctx,"\tchroma_non_intra_quantiser_matrix = %p\n", p->chroma_non_intra_quantiser_matrix); - va_TraceMsg(trace_ctx, NULL); - - return; -@@ -2054,7 +2054,7 @@ static void va_TraceVAEncSequenceParameterBufferMPEG2( - - va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period); - va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second); -- va_TraceMsg(trace_ctx, "\tframe_rate = %d\n", p->frame_rate); -+ va_TraceMsg(trace_ctx, "\tframe_rate = %f\n", p->frame_rate); - va_TraceMsg(trace_ctx, "\tvbv_buffer_size = %d\n", p->vbv_buffer_size); - va_TraceMsg(trace_ctx, NULL); - -@@ -5278,7 +5278,7 @@ void va_TracePutSurface ( - TRACE_FUNCNAME(idx); - - va_TraceMsg(trace_ctx, "\tsurface = 0x%08x\n", surface); -- va_TraceMsg(trace_ctx, "\tdraw = 0x%08x\n", draw); -+ va_TraceMsg(trace_ctx, "\tdraw = 0x%p\n", draw); - va_TraceMsg(trace_ctx, "\tsrcx = %d\n", srcx); - va_TraceMsg(trace_ctx, "\tsrcy = %d\n", srcy); - va_TraceMsg(trace_ctx, "\tsrcw = %d\n", srcw); -@@ -5287,7 +5287,7 @@ void va_TracePutSurface ( - va_TraceMsg(trace_ctx, "\tdesty = %d\n", desty); - va_TraceMsg(trace_ctx, "\tdestw = %d\n", destw); - va_TraceMsg(trace_ctx, "\tdesth = %d\n", desth); -- va_TraceMsg(trace_ctx, "\tcliprects = 0x%08x\n", cliprects); -+ va_TraceMsg(trace_ctx, "\tcliprects = 0x%p\n", cliprects); - va_TraceMsg(trace_ctx, "\tnumber_cliprects = %d\n", number_cliprects); - va_TraceMsg(trace_ctx, "\tflags = 0x%08x\n", flags); - va_TraceMsg(trace_ctx, NULL); diff --git a/libva-2.5.0.tar.gz b/libva-2.5.0.tar.gz deleted file mode 100644 index 8eb88d270dc20fc92d8180a9419d39f674e5cb3f..0000000000000000000000000000000000000000 Binary files a/libva-2.5.0.tar.gz and /dev/null differ diff --git a/libva.spec b/libva.spec index 53f6c77922f2f12757f8b69e140d6c9dc9927895..758f13f8adcd46c42a88c6bdf93a419a1d72493c 100644 --- a/libva.spec +++ b/libva.spec @@ -1,11 +1,14 @@ +#global pre_release .pre1 + Name: libva -Version: 2.5.0 -Release: 2%{?dist} +Version: 2.11.0 +Release: 5%{?dist} Summary: Video Acceleration (VA) API for Linux License: MIT -URL: https://01.org/linuxmedia -Source0: https://github.com/01org/libva/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -Patch0: libva-2.5.0-covscan.patch +URL: https://github.com/intel/libva +Source0: %{url}/archive/%{version}%{?pre_release}/%{name}-%{version}%{?pre_release}.tar.gz +# Prefer -fstack-protector-strong over -fstack-protector +Patch0: libva-2.11.0-fstack-protector-strong.patch BuildRequires: libtool @@ -21,6 +24,7 @@ BuildRequires: mesa-libGLES-devel BuildRequires: wayland-devel BuildRequires: pkgconfig(wayland-client) >= 1 BuildRequires: pkgconfig(wayland-scanner) >= 1 +BuildRequires: make } # owns the %%{_libdir}/dri directory Requires: mesa-dri-filesystem @@ -39,7 +43,7 @@ developing applications that use %{name}. %prep -%autosetup -p1 +%autosetup -p1 -n %{name}-%{version}%{?pre_release} autoreconf -vif %build @@ -51,7 +55,7 @@ autoreconf -vif sed -i.rpath 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i.rpath 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool -%make_build V=1 +%make_build %install %make_install INSTALL="install -p" @@ -71,17 +75,104 @@ find %{buildroot} -regex ".*\.la$" | xargs rm -f -- %{_libdir}/pkgconfig/libva*.pc %changelog -* Sat Nov 30 2019 Jiri Kucera - 2.5.0-2 -- Fix issues found by static analysis - Related: #1728792 +* Tue Apr 26 2022 Jiri Kucera - 2.11.0-5 +- Rebuild + Resolves: #2059006 + +* Thu Feb 17 2022 Jiri Kucera - 2.11.0-4 +- Prefer -fstack-protector-strong + Resolves: #2044878 + +* Mon Aug 09 2021 Mohan Boddu - 2.11.0-3 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Apr 16 2021 Mohan Boddu - 2.11.0-2 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Wed Mar 24 2021 Nicolas Chauvet - 2.11.0-1 +- Update to 2.11.0 + +* Tue Jan 26 2021 Fedora Release Engineering - 2.10.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Dec 11 2020 Nicolas Chauvet - 2.10.0-1 +- Update to 2.10.0 + +* Sun Sep 13 2020 Nicolas Chauvet - 2.9.0-1 +- Update to 2.9.0 + +* Tue Sep 01 2020 Nicolas Chauvet - 2.9.0-0.1.pre1 +- Update to 2.9.0.pre1 + +* Tue Jul 28 2020 Fedora Release Engineering - 2.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sun Jun 28 2020 Nicolas Chauvet - 2.8.0-1 +- Update to 2.8.0 + +* Mon Apr 20 2020 Nicolas Chauvet - 2.7.1-1 +- Update to 2.7.1 + +* Tue Apr 14 2020 Frantisek Zatloukal - 2.7.0-4 +- Backport upstream fix for Intel Iris Driver (https://github.com/intel/libva/pull/406) + +* Fri Apr 10 2020 Nicolas Chauvet - 2.7.0-3 +- Drop previous patch + +* Sat Apr 04 2020 Nicolas Chauvet - 2.7.0-2 +- Update mapping for iris -* Tue Nov 19 2019 Jiri Kucera - 2.5.0-1 +* Thu Apr 02 2020 Nicolas Chauvet - 2.7.0-1 +- Update to 2.7.0 + +* Wed Mar 18 2020 Nicolas Chauvet - 2.7.0-0.1.pre1 +- Update to 2.7.0.pre1 + +* Wed Jan 29 2020 Fedora Release Engineering - 2.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jan 17 2020 Nicolas Chauvet - 2.6.1-1 +- Update to 2.6.1 + +* Mon Dec 30 2019 Vasiliy N. Glazov - 2.6.0-1 +- Update to 2.6.0 release + +* Fri Dec 20 2019 Vasiliy N. Glazov - 2.6.0-0.2 +- Fixed missed slice parameter + +* Sun Sep 22 2019 Nicolas Chauvet - 2.6.0-0.1 +- Update to 2.6.0-pre1 + +* Thu Jul 25 2019 Fedora Release Engineering - 2.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Jul 05 2019 Nicolas Chauvet - 2.5.0-1 - Update to 2.5.0 - Resolves: #1728792 -* Fri Jun 07 2019 Jiri Kucera - 2.4.1-1 +* Mon Apr 08 2019 Nicolas Chauvet - 2.4.1-1 - Update to 2.4.1 - Resolves: #1493944 + +* Fri Feb 01 2019 Fedora Release Engineering - 2.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 25 2019 Nicolas Chauvet - 2.4.0-1 +- Update to 2.4.0 + +* Fri Oct 05 2018 Nicolas Chauvet - 2.3.0-1 +- Update to 2.3.0 + +* Fri Jul 13 2018 Fedora Release Engineering - 2.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 11 2018 Nicolas Chauvet - 2.2.0-1 +- Update to 2.2.0 + +* Sat Jun 02 2018 Nicolas Chauvet - 2.1.1-0.1.pre1 +- Update to 2.1.1.pre1-20180601 + +* Mon Mar 19 2018 Nicolas Chauvet - 2.1.0-2 +- Switch to github.com/intel URL * Mon Feb 12 2018 Nicolas Chauvet - 2.1.0-1 - Update to 2.1.0