From ee8773fd7ce5caab7deb9a5f212711b2d4f71b5a Mon Sep 17 00:00:00 2001 From: eabdullin Date: Tue, 11 Nov 2025 09:00:33 +0000 Subject: [PATCH] import CS taglib-1.13.1-1.el10 --- .gitignore | 3 +- ...C-is-an-instance-of-TextIdentificati.patch | 33 ------ gating.yaml | 6 - sources | 2 +- taglib-1.13.1-multilib.patch | 36 ++++++ taglib-1.5rc1-multilib.patch | 20 ---- taglib-CVE-2018-11439.patch | 29 ----- taglib-snapshot.sh | 14 --- taglib.spec | 112 ++++++++++++------ 9 files changed, 116 insertions(+), 139 deletions(-) delete mode 100644 0001-Don-t-assume-TDRC-is-an-instance-of-TextIdentificati.patch delete mode 100644 gating.yaml create mode 100644 taglib-1.13.1-multilib.patch delete mode 100644 taglib-1.5rc1-multilib.patch delete mode 100644 taglib-CVE-2018-11439.patch delete mode 100755 taglib-snapshot.sh diff --git a/.gitignore b/.gitignore index b7bdcad..1b46d92 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -/taglib-1.11.tar.gz -/taglib-1.11.1.tar.gz +taglib-1.13.1.tar.gz diff --git a/0001-Don-t-assume-TDRC-is-an-instance-of-TextIdentificati.patch b/0001-Don-t-assume-TDRC-is-an-instance-of-TextIdentificati.patch deleted file mode 100644 index 81d36d9..0000000 --- a/0001-Don-t-assume-TDRC-is-an-instance-of-TextIdentificati.patch +++ /dev/null @@ -1,33 +0,0 @@ -From eb9ded1206f18f2c319157337edea2533a40bea6 Mon Sep 17 00:00:00 2001 -From: "Stephen F. Booth" -Date: Sun, 23 Jul 2017 10:11:09 -0400 -Subject: [PATCH] Don't assume TDRC is an instance of TextIdentificationFrame - -If TDRC is encrypted, FrameFactory::createFrame() returns UnknownFrame -which causes problems in rebuildAggregateFrames() when it is assumed -that TDRC is a TextIdentificationFrame ---- - taglib/mpeg/id3v2/id3v2framefactory.cpp | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/taglib/mpeg/id3v2/id3v2framefactory.cpp b/taglib/mpeg/id3v2/id3v2framefactory.cpp -index 759a9b7b..9347ab86 100644 ---- a/taglib/mpeg/id3v2/id3v2framefactory.cpp -+++ b/taglib/mpeg/id3v2/id3v2framefactory.cpp -@@ -334,10 +334,11 @@ void FrameFactory::rebuildAggregateFrames(ID3v2::Tag *tag) const - tag->frameList("TDAT").size() == 1) - { - TextIdentificationFrame *tdrc = -- static_cast(tag->frameList("TDRC").front()); -+ dynamic_cast(tag->frameList("TDRC").front()); - UnknownFrame *tdat = static_cast(tag->frameList("TDAT").front()); - -- if(tdrc->fieldList().size() == 1 && -+ if(tdrc && -+ tdrc->fieldList().size() == 1 && - tdrc->fieldList().front().size() == 4 && - tdat->data().size() >= 5) - { --- -2.13.5 - diff --git a/gating.yaml b/gating.yaml deleted file mode 100644 index ea86f9d..0000000 --- a/gating.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- !Policy -product_versions: - - rhel-8 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional} diff --git a/sources b/sources index 1503d6c..050d3c1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (taglib-1.11.1.tar.gz) = 7846775c4954ea948fe4383e514ba7c11f55d038ee06b6ea5a0a1c1069044b348026e76b27aa4ba1c71539aa8143e1401fab39184cc6e915ba0ae2c06133cb98 +SHA512 (taglib-1.13.1.tar.gz) = 986231ee62caa975afead7e94630d58acaac25a38bc33d4493d51bd635d79336e81bba60586d7355ebc0670e31f28d32da3ecceaf33292e4bc240c64bf00f35b diff --git a/taglib-1.13.1-multilib.patch b/taglib-1.13.1-multilib.patch new file mode 100644 index 0000000..02aa21e --- /dev/null +++ b/taglib-1.13.1-multilib.patch @@ -0,0 +1,36 @@ +diff -up taglib-1.13.1/taglib-config.cmake.multilib taglib-1.13.1/taglib-config.cmake +--- taglib-1.13.1/taglib-config.cmake.multilib 2025-01-04 15:22:01.000000000 +0100 ++++ taglib-1.13.1/taglib-config.cmake 2023-07-01 07:43:27.000000000 +0200 +@@ -23,11 +23,6 @@ if test -z "$prefix"; then + else + includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ + fi +-if test -z "$exec_prefix"; then +- libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +-else +- libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ +-fi + + flags="" + +@@ -39,7 +34,7 @@ while test $# -gt 0 + do + case $1 in + --libs) +- flags="$flags -L$libdir -ltag @ZLIB_LIBRARIES_FLAGS@" ++ flags="$flags -ltag" + ;; + --cflags) + flags="$flags -I$includedir -I$includedir/taglib" + +diff -up taglib-1.13.1/taglib.pc.cmake.multilib taglib-1.13.1/taglib.pc.cmake +--- taglib-1.13.1/taglib.pc.cmake.multilib 2025-01-04 15:23:10.000000000 +0100 ++++ taglib-1.13.1/taglib.pc.cmake 2023-07-01 07:43:27.000000000 +0200 +@@ -7,5 +7,6 @@ Name: TagLib + Description: Audio meta-data library + Requires: + Version: @TAGLIB_LIB_VERSION_STRING@ +-Libs: -L${libdir} -ltag @ZLIB_LIBRARIES_FLAGS@ ++Libs: -L${libdir} -ltag ++Libs.private: @ZLIB_LIBRARIES_FLAGS@ + Cflags: -I${includedir} -I${includedir}/taglib diff --git a/taglib-1.5rc1-multilib.patch b/taglib-1.5rc1-multilib.patch deleted file mode 100644 index 4f0cb40..0000000 --- a/taglib-1.5rc1-multilib.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up taglib-1.5rc1/taglib-config.cmake.multilib-2 taglib-1.5rc1/taglib-config.cmake ---- taglib-1.5rc1/taglib-config.cmake.multilib-2 2008-01-29 19:30:00.000000000 -0600 -+++ taglib-1.5rc1/taglib-config.cmake 2008-02-13 06:41:11.000000000 -0600 -@@ -16,7 +16,6 @@ EOH - - prefix=${CMAKE_INSTALL_PREFIX} - exec_prefix=${CMAKE_INSTALL_PREFIX} --libdir=${LIB_INSTALL_DIR} - includedir=${INCLUDE_INSTALL_DIR} - - flags="" -@@ -29,7 +28,7 @@ while test $# -gt 0 - do - case $1 in - --libs) -- flags="$flags -L$libdir -ltag" -+ flags="$flags -ltag" - ;; - --cflags) - flags="$flags -I$includedir/taglib" diff --git a/taglib-CVE-2018-11439.patch b/taglib-CVE-2018-11439.patch deleted file mode 100644 index e39450f..0000000 --- a/taglib-CVE-2018-11439.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/taglib/ogg/flac/oggflacfile.cpp b/taglib/ogg/flac/oggflacfile.cpp -index 3a36ebe..01148cc 100644 ---- a/taglib/ogg/flac/oggflacfile.cpp -+++ b/taglib/ogg/flac/oggflacfile.cpp -@@ -216,11 +216,22 @@ void Ogg::FLAC::File::scan() - - if(!metadataHeader.startsWith("fLaC")) { - // FLAC 1.1.2+ -+ -+ // See https://xiph.org/flac/ogg_mapping.html for the header specification. -+ if(metadataHeader.size() < 13) -+ return; -+ -+ if(metadataHeader[0] != 0x7f) -+ return; -+ - if(metadataHeader.mid(1, 4) != "FLAC") - return; - -- if(metadataHeader[5] != 1) -- return; // not version 1 -+ if(metadataHeader[5] != 1 && metadataHeader[6] != 0) -+ return; // not version 1.0 -+ -+ if(metadataHeader.mid(9, 4) != "fLaC") -+ return; - - metadataHeader = metadataHeader.mid(13); - } diff --git a/taglib-snapshot.sh b/taglib-snapshot.sh deleted file mode 100755 index 96ed772..0000000 --- a/taglib-snapshot.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -#if [ -d taglib ]; then -# echo "Remove the \"taglib\" directory first !" -# exit 1 -#fi - -SNAP="$(date +%Y%m%d)git" -VERSION=1.8 - -git clone https://github.com/taglib/taglib.git -pushd taglib >& /dev/null -git archive --prefix=taglib-${VERSION}/ master | gzip -9 > ../taglib-${VERSION}-${SNAP}.tar.gz -popd >& /dev/null diff --git a/taglib.spec b/taglib.spec index 8d531f5..af6db1b 100644 --- a/taglib.spec +++ b/taglib.spec @@ -1,3 +1,4 @@ +%undefine __cmake_in_source_build ## 1.11 currently disables tests with BUILD_SHARED_LIBS=ON #bcond_without tests @@ -6,31 +7,19 @@ Name: taglib Summary: Audio Meta-Data Library -Version: 1.11.1 -Release: 8%{?dist} +Version: 1.13.1 +Release: 1%{?dist} -License: LGPLv2 or MPLv1.1 -#URL: http://launchpad.net/taglib -URL: http://taglib.github.io/ -%if 0%{?snap:1} -Source0: taglib-%{version}-%{snap}.tar.gz -%else -Source0: http://taglib.github.io/releases/taglib-%{version}%{?beta}.tar.gz -%endif -# The snapshot tarballs generated with the following script: -Source1: taglib-snapshot.sh +License: (LGPL-2.1-only OR MPL-1.1) AND BSD-2-Clause AND LGPL-2.1-only +URL: https://taglib.github.io/ +Source0: https://taglib.github.io/releases/taglib-%{version}%{?beta}.tar.gz # http://bugzilla.redhat.com/343241 -Patch102: taglib-1.5rc1-multilib.patch - -## upstream patches -# sbooth fork/pull-request -# https://github.com/taglib/taglib/pull/831/commits/eb9ded1206f18f2c319157337edea2533a40bea6 -Patch1: 0001-Don-t-assume-TDRC-is-an-instance-of-TextIdentificati.patch - -# CVE fixes -Patch50: taglib-CVE-2018-11439.patch +# fix multilib, and drop -lz flag to consumers (probably only needed for static linking) +Patch0: taglib-1.13.1-multilib.patch +BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: pkgconfig BuildRequires: zlib-devel @@ -58,7 +47,7 @@ This is API documentation generated from the TagLib source code. Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %if ! %{with doc} -Obsoletes: %{name}-doc +Obsoletes: %{name}-doc < %{version}-%{release} %endif %description devel Files needed when building software with %{name}. @@ -69,28 +58,25 @@ Files needed when building software with %{name}. %build -mkdir %{_target_platform} -pushd %{_target_platform} -%{cmake} .. \ +%{cmake} \ %if %{with tests} -DBUILD_TESTS:BOOL=ON \ %endif -DCMAKE_BUILD_TYPE:STRING="Release" -popd -make %{?_smp_mflags} -C %{_target_platform} +%cmake_build %if %{with doc} -make docs -C %{_target_platform} +%cmake_build --target docs %endif %install -make install/fast DESTDIR=%{buildroot} -C %{_target_platform} +%cmake_install %if %{with doc} rm -fr %{apidocdir} ; mkdir %{apidocdir} -cp -a %{_target_platform}/doc/html/ %{apidocdir}/ +cp -a %{_vpath_builddir}/doc/html/ %{apidocdir}/ ln -s html/index.html %{apidocdir} find %{apidocdir} -name '*.md5' | xargs rm -fv %endif @@ -103,7 +89,7 @@ test "$(pkg-config --modversion taglib_c)" = "%{version}" %if %{with tests} #ln -s ../../tests/data %{_target_platform}/tests/ #LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH \ -make check -C %{_target_platform} +%ctest %endif %ldconfig_scriptlets @@ -130,9 +116,67 @@ make check -C %{_target_platform} %changelog -* Tue Aug 14 2018 Jan Grulich - 1.11.1-8 -- Fix heap-based buffer over-read via a crafted audio file (CVE-2018-11439) - Resolves: bz#1584872 +* Fri Mar 14 2025 Wim Taymans - 1.13.1-1 +- Upgrade to v1.13.1 + Resolves: RHEL-72785 + +* Tue Oct 29 2024 Troy Dawson - 1.12-12 +- Bump release for October 2024 mass rebuild: + Resolves: RHEL-64018 + +* Mon Jun 24 2024 Troy Dawson - 1.12-11 +- Bump release for June 2024 mass rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 1.12-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 1.12-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 1.12-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 1.12-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 1.12-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 1.12-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Mar 29 2021 Rex Dieter - 1.12-4 +- fix multilib.patch (#1943870) + +* Wed Mar 03 2021 Rex Dieter - 1.12-3 +- -devel: fix/drop -lz references in taglib-config, taglib.pc + +* Tue Feb 16 2021 Rex Dieter - 1.12-2 +- use versioned obsoletes + +* Tue Feb 16 2021 David King - 1.12-1 +- Update to 1.12 (#1584870) + +* Wed Jan 27 2021 Fedora Release Engineering - 1.11.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 1.11.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 1.11.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 1.11.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 1.11.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 1.11.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue May 08 2018 Rex Dieter - 1.11.1-8 +- use %%make_build * Fri Feb 09 2018 Fedora Release Engineering - 1.11.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild