From b2598f27716e6b2fa4df99c8a4ed22a9646d4754fbc31404b85bb2650ef8558e Mon Sep 17 00:00:00 2001 From: Christophe Marin Date: Fri, 27 Dec 2024 08:36:04 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/games/assimp?expand=0&rev=67 --- .gitattributes | 23 + .gitignore | 1 + 0001-Fix-leak-5762.patch | 136 ++++ 0001-SplitLargeMeshes-Fix-crash-5799.patch | 29 + CVE-2024-48423.patch | 34 + CVE-2024-48424.patch | 59 ++ CVE-2024-53425.patch | 39 + _constraints | 25 + _service | 16 + assimp-5.4.2.tar.xz | 3 + assimp-5.4.3.tar.xz | 3 + assimp.changes | 852 +++++++++++++++++++++ assimp.spec | 150 ++++ 13 files changed, 1370 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 0001-Fix-leak-5762.patch create mode 100644 0001-SplitLargeMeshes-Fix-crash-5799.patch create mode 100644 CVE-2024-48423.patch create mode 100644 CVE-2024-48424.patch create mode 100644 CVE-2024-53425.patch create mode 100644 _constraints create mode 100644 _service create mode 100644 assimp-5.4.2.tar.xz create mode 100644 assimp-5.4.3.tar.xz create mode 100644 assimp.changes create mode 100644 assimp.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-Fix-leak-5762.patch b/0001-Fix-leak-5762.patch new file mode 100644 index 0000000..1276200 --- /dev/null +++ b/0001-Fix-leak-5762.patch @@ -0,0 +1,136 @@ +From 4024726eca89331503bdab33d0b9186e901bbc45 Mon Sep 17 00:00:00 2001 +From: Kim Kulling +Date: Sat, 7 Sep 2024 21:02:34 +0200 +Subject: [PATCH] Fix leak (#5762) + +* Fix leak + +* Update utLogger.cpp +--- + code/Common/Assimp.cpp | 13 ++++++--- + fuzz/assimp_fuzzer.cc | 2 +- + test/CMakeLists.txt | 1 + + test/unit/Common/utLogger.cpp | 52 +++++++++++++++++++++++++++++++++++ + 4 files changed, 63 insertions(+), 5 deletions(-) + create mode 100644 test/unit/Common/utLogger.cpp + +diff --git a/code/Common/Assimp.cpp b/code/Common/Assimp.cpp +index ef3ee7b5d..91896e405 100644 +--- a/code/Common/Assimp.cpp ++++ b/code/Common/Assimp.cpp +@@ -359,20 +359,25 @@ void CallbackToLogRedirector(const char *msg, char *dt) { + s->write(msg); + } + ++static LogStream *DefaultStream = nullptr; ++ + // ------------------------------------------------------------------------------------------------ + ASSIMP_API aiLogStream aiGetPredefinedLogStream(aiDefaultLogStream pStream, const char *file) { + aiLogStream sout; + + ASSIMP_BEGIN_EXCEPTION_REGION(); +- LogStream *stream = LogStream::createDefaultStream(pStream, file); +- if (!stream) { ++ if (DefaultStream == nullptr) { ++ DefaultStream = LogStream::createDefaultStream(pStream, file); ++ } ++ ++ if (!DefaultStream) { + sout.callback = nullptr; + sout.user = nullptr; + } else { + sout.callback = &CallbackToLogRedirector; +- sout.user = (char *)stream; ++ sout.user = (char *)DefaultStream; + } +- gPredefinedStreams.push_back(stream); ++ gPredefinedStreams.push_back(DefaultStream); + ASSIMP_END_EXCEPTION_REGION(aiLogStream); + return sout; + } +diff --git a/fuzz/assimp_fuzzer.cc b/fuzz/assimp_fuzzer.cc +index 8178674e8..91ffd9d69 100644 +--- a/fuzz/assimp_fuzzer.cc ++++ b/fuzz/assimp_fuzzer.cc +@@ -47,7 +47,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + using namespace Assimp; + + extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t dataSize) { +- aiLogStream stream = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT,NULL); ++ aiLogStream stream = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT, nullptr); + aiAttachLogStream(&stream); + + Importer importer; +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 7b7fd850a..1a45adac7 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -100,6 +100,7 @@ SET( COMMON + unit/Common/utBase64.cpp + unit/Common/utHash.cpp + unit/Common/utBaseProcess.cpp ++ unit/Common/utLogger.cpp + ) + + SET(Geometry +diff --git a/test/unit/Common/utLogger.cpp b/test/unit/Common/utLogger.cpp +new file mode 100644 +index 000000000..932240a7f +--- /dev/null ++++ b/test/unit/Common/utLogger.cpp +@@ -0,0 +1,52 @@ ++/* ++--------------------------------------------------------------------------- ++Open Asset Import Library (assimp) ++--------------------------------------------------------------------------- ++ ++Copyright (c) 2006-2024, assimp team ++ ++All rights reserved. ++ ++Redistribution and use of this software in source and binary forms, ++with or without modification, are permitted provided that the following ++conditions are met: ++ ++* Redistributions of source code must retain the above ++copyright notice, this list of conditions and the ++following disclaimer. ++ ++* Redistributions in binary form must reproduce the above ++copyright notice, this list of conditions and the ++following disclaimer in the documentation and/or other ++materials provided with the distribution. ++ ++* Neither the name of the assimp team, nor the names of its ++contributors may be used to endorse or promote products ++derived from this software without specific prior ++written permission of the assimp team. ++ ++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++--------------------------------------------------------------------------- ++*/ ++ ++#include "UnitTestPCH.h" ++#include ++ ++using namespace Assimp; ++class utLogger : public ::testing::Test {}; ++ ++TEST_F(utLogger, aiGetPredefinedLogStream_leak_test) { ++ aiLogStream stream1 = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT, nullptr); ++ aiLogStream stream2 = aiGetPredefinedLogStream(aiDefaultLogStream_STDOUT, nullptr); ++ ASSERT_EQ(stream1.callback, stream2.callback); ++} +-- +2.47.1 + diff --git a/0001-SplitLargeMeshes-Fix-crash-5799.patch b/0001-SplitLargeMeshes-Fix-crash-5799.patch new file mode 100644 index 0000000..6adb033 --- /dev/null +++ b/0001-SplitLargeMeshes-Fix-crash-5799.patch @@ -0,0 +1,29 @@ +From ecdf8d24b85367b22ba353b4f82299d4af7f1f97 Mon Sep 17 00:00:00 2001 +From: Kim Kulling +Date: Mon, 7 Oct 2024 10:30:45 +0200 +Subject: [PATCH] SplitLargeMeshes: Fix crash (#5799) + +- Fix nullptr access when rootnode of the scene is a nullptr. This can happen even if the scene stores any kind of meshes. closes https://github.com/assimp/assimp/issues/5791 +--- + code/PostProcessing/SplitLargeMeshes.cpp | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/code/PostProcessing/SplitLargeMeshes.cpp b/code/PostProcessing/SplitLargeMeshes.cpp +index 3bee28521..cb9727651 100644 +--- a/code/PostProcessing/SplitLargeMeshes.cpp ++++ b/code/PostProcessing/SplitLargeMeshes.cpp +@@ -100,6 +100,11 @@ void SplitLargeMeshesProcess_Triangle::SetupProperties( const Importer* pImp) { + // ------------------------------------------------------------------------------------------------ + // Update a node after some meshes have been split + void SplitLargeMeshesProcess_Triangle::UpdateNode(aiNode* pcNode, const std::vector >& avList) { ++ if (pcNode == nullptr) { ++ ASSIMP_LOG_WARN("UpdateNode skipped, nullptr detected."); ++ return; ++ } ++ + // for every index in out list build a new entry + std::vector aiEntries; + aiEntries.reserve(pcNode->mNumMeshes + 1); +-- +2.47.0 + diff --git a/CVE-2024-48423.patch b/CVE-2024-48423.patch new file mode 100644 index 0000000..5f3d691 --- /dev/null +++ b/CVE-2024-48423.patch @@ -0,0 +1,34 @@ +From f12e52198669239af525e525ebb68407977f8e34 Mon Sep 17 00:00:00 2001 +From: tyler92 +Date: Wed, 11 Dec 2024 12:17:14 +0200 +Subject: [PATCH] Fix use after free in the CallbackToLogRedirector (#5918) + +The heap-use-after-free vulnerability occurs in the +CallbackToLogRedirector function. During the process of logging, +a previously freed memory region is accessed, leading to a +use-after-free condition. This vulnerability stems from incorrect +memory management, specifically, freeing a log stream and then +attempting to access it later on. + +This patch sets NULL value for The DefaultStream global pointer. + +Co-authored-by: Kim Kulling +--- + code/Common/Assimp.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/code/Common/Assimp.cpp b/code/Common/Assimp.cpp +index 91896e4059..22e16bd36a 100644 +--- a/code/Common/Assimp.cpp ++++ b/code/Common/Assimp.cpp +@@ -416,6 +416,10 @@ ASSIMP_API aiReturn aiDetachLogStream(const aiLogStream *stream) { + DefaultLogger::get()->detachStream(it->second); + delete it->second; + ++ if ((Assimp::LogStream *)stream->user == DefaultStream) { ++ DefaultStream = nullptr; ++ } ++ + gActiveLogStreams.erase(it); + + if (gActiveLogStreams.empty()) { diff --git a/CVE-2024-48424.patch b/CVE-2024-48424.patch new file mode 100644 index 0000000..a67db41 --- /dev/null +++ b/CVE-2024-48424.patch @@ -0,0 +1,59 @@ +From 2b773f0f5a726c38dda72307b5311c14fc3a76ae Mon Sep 17 00:00:00 2001 +From: tyler92 +Date: Mon, 16 Dec 2024 23:48:45 +0200 +Subject: [PATCH] Fix heap-buffer-overflow in OpenDDLParser (#5919) + +Co-authored-by: Kim Kulling +--- + contrib/openddlparser/code/OpenDDLParser.cpp | 16 +++++++--------- + 1 file changed, 7 insertions(+), 9 deletions(-) + +diff --git a/contrib/openddlparser/code/OpenDDLParser.cpp b/contrib/openddlparser/code/OpenDDLParser.cpp +index 3d7dce45ec..26591b5ec8 100644 +--- a/contrib/openddlparser/code/OpenDDLParser.cpp ++++ b/contrib/openddlparser/code/OpenDDLParser.cpp +@@ -74,12 +74,11 @@ const char *getTypeToken(Value::ValueType type) { + return Grammar::PrimitiveTypeToken[(size_t)type]; + } + +-static void logInvalidTokenError(const char *in, const std::string &exp, OpenDDLParser::logCallback callback) { +- if (callback) { +- std::string full(in); +- std::string part(full.substr(0, 50)); ++static void logInvalidTokenError(const std::string &in, const std::string &exp, OpenDDLParser::logCallback callback) { ++ if (callback) {\ ++ std::string part(in.substr(0, 50)); + std::stringstream stream; +- stream << "Invalid token \"" << *in << "\" " ++ stream << "Invalid token \"" << in << "\" " + << "(expected \"" << exp << "\") " + << "in: \"" << part << "\""; + callback(ddl_error_msg, stream.str()); +@@ -306,7 +305,7 @@ char *OpenDDLParser::parseHeader(char *in, char *end) { + } + + if (*in != Grammar::CommaSeparator[0] && *in != Grammar::ClosePropertyToken[0]) { +- logInvalidTokenError(in, Grammar::ClosePropertyToken, m_logCallback); ++ logInvalidTokenError(std::string(in, end), Grammar::ClosePropertyToken, m_logCallback); + return nullptr; + } + +@@ -355,8 +354,7 @@ char *OpenDDLParser::parseStructure(char *in, char *end) { + ++in; + } + } else { +- ++in; +- logInvalidTokenError(in, std::string(Grammar::OpenBracketToken), m_logCallback); ++ logInvalidTokenError(std::string(in, end), std::string(Grammar::OpenBracketToken), m_logCallback); + error = true; + return nullptr; + } +@@ -427,7 +425,7 @@ char *OpenDDLParser::parseStructureBody(char *in, char *end, bool &error) { + + in = lookForNextToken(in, end); + if (in == end || *in != '}') { +- logInvalidTokenError(in == end ? "" : in, std::string(Grammar::CloseBracketToken), m_logCallback); ++ logInvalidTokenError(std::string(in, end), std::string(Grammar::CloseBracketToken), m_logCallback); + return nullptr; + } else { + //in++; diff --git a/CVE-2024-53425.patch b/CVE-2024-53425.patch new file mode 100644 index 0000000..e0c9ed5 --- /dev/null +++ b/CVE-2024-53425.patch @@ -0,0 +1,39 @@ +From ecc8a1c8695560df108d6adc00b3d7b1ba15df9f Mon Sep 17 00:00:00 2001 +From: tyler92 +Date: Tue, 17 Dec 2024 19:57:54 +0200 +Subject: [PATCH] Fix buffer overflow in MD5Parser::SkipSpacesAndLineEnd + (#5921) + +Co-authored-by: Kim Kulling +--- + code/AssetLib/MD5/MD5Parser.cpp | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +diff --git a/code/AssetLib/MD5/MD5Parser.cpp b/code/AssetLib/MD5/MD5Parser.cpp +index 2de8d5033c..c5f108586e 100644 +--- a/code/AssetLib/MD5/MD5Parser.cpp ++++ b/code/AssetLib/MD5/MD5Parser.cpp +@@ -115,14 +115,18 @@ void MD5Parser::ParseHeader() { + ReportError("MD5 version tag is unknown (10 is expected)"); + } + SkipLine(); +- if (buffer == bufferEnd) { +- return; +- } + + // print the command line options to the console +- // FIX: can break the log length limit, so we need to be careful + char *sz = buffer; +- while (!IsLineEnd(*buffer++)); ++ while (buffer < bufferEnd) { ++ if (IsLineEnd(*buffer++)) { ++ break; ++ } ++ } ++ ++ if (buffer == bufferEnd) { ++ return; ++ } + + ASSIMP_LOG_INFO(std::string(sz, std::min((uintptr_t)MAX_LOG_MESSAGE_LENGTH, (uintptr_t)(buffer - sz)))); + SkipSpacesAndLineEnd(); diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..cf59e03 --- /dev/null +++ b/_constraints @@ -0,0 +1,25 @@ + + + + + ppc64 + s390x + + + + 6 + + + + + + ppc64 + s390x + + + + 4 + + + + diff --git a/_service b/_service new file mode 100644 index 0000000..1af7b04 --- /dev/null +++ b/_service @@ -0,0 +1,16 @@ + + + git + https://github.com/assimp/assimp + v5.4.3 + @PARENT_TAG@ + v(.*) + + test/models-nonbsd + + + *.tar + xz + + + diff --git a/assimp-5.4.2.tar.xz b/assimp-5.4.2.tar.xz new file mode 100644 index 0000000..826479e --- /dev/null +++ b/assimp-5.4.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f8e426e61a8cc458d457770dce59e3a08f1f58e5582a21b16d608a1b72c1c42 +size 27539356 diff --git a/assimp-5.4.3.tar.xz b/assimp-5.4.3.tar.xz new file mode 100644 index 0000000..1e7de7d --- /dev/null +++ b/assimp-5.4.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1748b311d85969a92ce3c05eb45b132b14861bbafc59c1f031fc629d72af806e +size 27573608 diff --git a/assimp.changes b/assimp.changes new file mode 100644 index 0000000..f4904af --- /dev/null +++ b/assimp.changes @@ -0,0 +1,852 @@ +------------------------------------------------------------------- +Fri Dec 27 08:05:57 UTC 2024 - Christophe Marin + +- Add patches: + * 0001-Fix-leak-5762.patch + * CVE-2024-48423.patch (boo#1232322, CVE-2024-48423) + * CVE-2024-48424.patch (boo#1232323, CVE-2024-48424) + * CVE-2024-53425.patch (boo#1233633, CVE-2024-53425) + +------------------------------------------------------------------- +Wed Oct 30 09:42:38 UTC 2024 - Christophe Marin + +- Add upstream change (boo#1232324, CVE-2024-48425) + * 0001-SplitLargeMeshes-Fix-crash-5799.patch + +------------------------------------------------------------------- +Tue Sep 10 07:32:23 UTC 2024 - Christophe Marin + +- Update to 5.4.3 + * Ply-Importer: Fix vulnerability + * Update ccpp.yml + * `build`: Add ccache support + * Update glTF2AssetWriter.inl + * Update PyAssimp structs with Skeleton & SkeletonBone members + * FBX: add metadata as properties + * Fix casting typo in D3MFExporter::writeBaseMaterials (color + channels < 1.0f were zeroed out) + * Fix to judge 'multi-configuration' correctly + * Fix potential memory leak in SceneCombiner for LWS/IRR/MD3 + loader + * Fix copying private data when source pointer is NULL + * Bump softprops/action-gh-release from 1 to 2 + * Bump actions/upload-artifact from 1 to 4 + * Bump actions/download-artifact from 1 to 4 + * fix GetShortFilename function + * Added more Maya materials + * Sparky kitty studios master + * Expose aiGetEmbeddedTexture to C-API + * Fix leak in loader + * Fix MSVC build error + * Revert variable name (fix broken build on android) + * Fixes possible out-of-bound read in findDegenerate + * Remove recursive include + * include Exceptional.h in 3DSExporter.cpp + * Use DRACO_GLTF_BITSTREAM + * Fix MSVC PDBs and permit them to be disabled if required + * Added AND condition in poly2tri dll_symbol.h + * fixing static build + * FBX exporter - handle multiple vertex color channels + * Update DefaultIOSystem.cpp + * Make coord transfor for hs1 files optional + * Return false instead of crash + * A fuzzed stride could cause the max count to become negative + and hence wrap around uint + * CalcTangents: zero vector is invalid for tangent/bitangent + * Mosfet80 updatedpoli2tri + * Fix a fuzz test heap buffer overflow in mdl material loader + * Introduce interpolation mode to vectro and quaternion keys + * Update Python structs with missing fields + * Introduce interpolation mode to vectro and quaternion keys + * Kimkulling/fix double precision tests + * [USD] Integrate "tinyusdz" project + * Update Readme.md + * Allow empty slots in mTextureCoords + * Fix compile warning + * Replace raw pointers by std::string + * Fix potential heapbuffer overflow in md5 parsing + * Fixes bsc#1230679, CVE-2024-45679. + +------------------------------------------------------------------- +Tue Sep 10 07:32:23 UTC 2024 - Christophe Marin + +- Update to 5.4.3 + * Ply-Importer: Fix vulnerability + * Update ccpp.yml + * `build`: Add ccache support + * Update glTF2AssetWriter.inl + * Update PyAssimp structs with Skeleton & SkeletonBone members + * FBX: add metadata as properties + * Fix casting typo in D3MFExporter::writeBaseMaterials (color + channels < 1.0f were zeroed out) + * Fix to judge 'multi-configuration' correctly + * Fix potential memory leak in SceneCombiner for LWS/IRR/MD3 + loader + * Fix copying private data when source pointer is NULL + * Bump softprops/action-gh-release from 1 to 2 + * Bump actions/upload-artifact from 1 to 4 + * Bump actions/download-artifact from 1 to 4 + * fix GetShortFilename function + * Added more Maya materials + * Sparky kitty studios master + * Expose aiGetEmbeddedTexture to C-API + * Fix leak in loader + * Fix MSVC build error + * Revert variable name (fix broken build on android) + * Fixes possible out-of-bound read in findDegenerate + * Remove recursive include + * include Exceptional.h in 3DSExporter.cpp + * Use DRACO_GLTF_BITSTREAM + * Fix MSVC PDBs and permit them to be disabled if required + * Added AND condition in poly2tri dll_symbol.h + * fixing static build + * FBX exporter - handle multiple vertex color channels + * Update DefaultIOSystem.cpp + * Make coord transfor for hs1 files optional + * Return false instead of crash + * A fuzzed stride could cause the max count to become negative + and hence wrap around uint + * CalcTangents: zero vector is invalid for tangent/bitangent + * Mosfet80 updatedpoli2tri + * Fix a fuzz test heap buffer overflow in mdl material loader + * Introduce interpolation mode to vectro and quaternion keys + * Update Python structs with missing fields + * Introduce interpolation mode to vectro and quaternion keys + * Kimkulling/fix double precision tests + * [USD] Integrate "tinyusdz" project + * Update Readme.md + * Allow empty slots in mTextureCoords + * Fix compile warning + * Replace raw pointers by std::string + * Fix potential heapbuffer overflow in md5 parsing + +------------------------------------------------------------------- +Thu Jul 11 15:28:24 UTC 2024 - Dirk Müller + +- fix check failure on s390x (bsc#1218474) + +------------------------------------------------------------------- +Tue Jul 9 12:08:55 UTC 2024 - Christophe Marin + +- Update to 5.4.2 + * Fix building on Haiku + * Reduce memory consumption in JoinVerticesProcess::ProcessMesh() + significantly + * Fix: Add check for invalid input argument + * Replace an assert + * Extension of skinning data export to GLB/GLTF format + * Fix output floating-point values to fbx + * Update ImproveCacheLocality.cpp + * Update Readme.md + * Deep arsdk bone double free + * Fix Spelling error + * use size in order to be compatible with float and double + * Fix: Add missing transformation for normalized normals. + * Fix: Implicit Conversion Error + * Fix add checks for indices + * Update FBXBinaryTokenizer.cpp + * link to external minizip with full path + * utf8 header not found + * Rm unnecessary deg->radian conversion in FBX exporter + * Fix empty mesh handling + * Refactoring: Some cleanups + * Fix invalid read of uint from uvwsrc + * Remove double delete + * fix mesh-name error. + * COLLADA fixes for textures in C4D input + * Use the correct allocator for deleting objects in case of + duplicate animation Ids + * Fix container overflow in MMD parser + * Fix: PLY heap buffer overflow + * Fix: Check if index for mesh access is out of range + * Update FBXConverter.cpp + * FBX: Use correct time scaling + * Drop explicit inclusion of contrib/ headers + * Update Build.md + * Fix buffer overflow in FBX::Util::DecodeBase64() + * Readme.md: correct 2 errors in section headers + * Fix double free in Video::~Video() + * FBXMeshGeometry: solve issue #5116 using patch provided + * Fix target names not being imported on some gLTF2 models + * correct grammar/typographic errors in comments (8 files) + * KHR_materials_specular fixes + * Disable Hunter + * fixed several issues + * Fix leak + * Check validity of archive without parsing + * Fix integer overflow + * Add a test before generating the txture folder + * Build: Disable building zlib for non-windows + * null check. + * Bump actions/upload-artifact from 3 to 4 + * fix: KHR_materials_pbrSpecularGlossiness/diffuseFactor convert + to pbrMetallicRoughness/baseColorFactor + * fix building errors for MinGW + * dynamic_cast error. + * Add missing IRR textures + * Update Dockerfile + * Fix handling of X3D IndexedLineSet nodes + * Improve acc file loading + * Readme.md: present hyperlinks in a more uniform style + * FBX Blendshape FullWeight: Vec -> FullWeight: Vec + * Fix for issues #5422, #3411, and #5443 -- DXF insert scaling + fix and colour fix + * Update StbCommon.h to stay up-to-date with stb_image.h. + * Introduce aiBuffer + * Add bounds checks to the parsing utilities. + * Fix crash in viewer + * Static code analysis fixes + * Kimkulling/fix bahavior of remove redundat mats issue 5438 + * Fix X importer breakage introduced in commit f844c33 + * Fileformats.md: clarify that import of .blend files is deprecated + * feat:1.add 3mf vertex color read 2.fix 3mf read texture bug + * More GLTF loading hardening + * Bump actions/cache from 3 to 4 + * Update CMakeLists.txt + * Blendshape->Geometry in FBX Export + * Fix identity matrix check + * Fix PyAssimp under Python >= 3.12 and macOS library search support + * Add ISC LICENSE file + * ColladaParser: check values length + * Include defs in not cpp-section + * Add correct double zero check + * Add zlib-header to ZipArchiveIOSystem.h + * Add 2024 to copyright infos + * Append a new setting "AI_CONFIG_EXPORT_FBX_TRANSPARENCY_FACTOR_REFER_TO_OPACITY" + * Eliminate non-ascii comments in clipper + * Fix compilation for MSVC14. + * Add correction of fbx model rotation + * Delete tools/make directory + * Delete packaging/windows-mkzip directory + * Fix #5420 duplicate degrees to radians conversion in fbx importer + * Respect merge identical vertices in ObjExporter + * Fix utDefaultIOStream test under MinGW + * Fix typos + * Add initial macOS support to C4D importer + * Update hunter into CMakeLists.txt + * Fix: add missing import for AI_CONFIG_CHECK_IDENTITY_MATRIX_EPSILON_DEFAULT + * updated json + * Cleanup: Fix review findings + * CMake: Allow linking draco statically if ASSIMP_BUILD_DRACO_STATIC is set. + * updated minizip to last version + * updated STBIMAGElib + * fix issue #5461 (segfault after removing redundant materials) + * Update ComputeUVMappingProcess.cpp + * add some ASSIMP_INSTALL checks + * Fix SplitByBoneCount typo that prevented node updates + * Q3DLoader: Fix possible material string overflow + * Reverts the changes introduced + * fix a collada import bug + * mention IQM loader in Fileformats.md + * Kimkulling/fix pyassimp compatibility + * fix ASE loader crash when *MATERIAL_COUNT or *NUMSUBMTLS is not specified + or is 0 + * Add checks for invalid buffer and size + * Make sure for releases revision will be zero + * glTF2Importer: Support .vrm extension + * Prepare v5.4.1 + * Remove deprecated c++11 warnings + * fix ci + * Fix integer overflow + * Assimp viewer fixes + * Optimize readability + * Temporary fix for #5557 GCC 13+ build issue -Warray-bounds + * Fix a bug that could cause assertion failure. + * Fix possible nullptr dereferencing. + * Update ObjFileParser.cpp + * Fix for #5592 Disabled maybe-uninitialized error for + AssetLib/Obj/ObjFileParser.cpp + * updated zip + * Postprocessing: Fix endless loop + * Build: Fix compilation for VS-2022 debug mode - warning + * Converted a size_t to mz_uint that was being treated as an error + * Add trim to xml string parsing + * Replace duplicated trim + * Move aiScene constructor + * Move revision.h and revision.h.in to include folder + * Update MDLMaterialLoader.cpp + * Create inno_setup + * clean HunterGate.cmake + * Draft: Update init of aiString + * Fix init aistring issue 5622 inpython module + * update dotnet example + * Make stepfile schema validation more robust. + * fix PLY binary export color from float to uchar + * Some FBXs do not have "Materials" information, which can cause + parsing errors + * Fix collada uv channels - temporary was stored and then updated. + * remove ASE parsing break + * FBX-Exporter: Fix nullptr dereferencing + * Fix FBX exporting incorrect bone order + * fixes potential memory leak on malformed obj file + * Update zip.c + * Fixes some uninit bool loads + * Fix names of enum values in docstring of aiProcess_FindDegenerates + * Fix: StackAllocator Undefined Reference fix + * Plx: Fix out of bound access (CVE-2024-40724, boo#1228142) + +------------------------------------------------------------------- +Tue May 21 13:11:09 UTC 2024 - Christophe Marin + +- Update to 5.4.1 + * CMake: Allow linking draco statically if ASSIMP_BUILD_DRACO_STATIC is set. + * Deps: updated minizip to last version + * Deps: updated STBIMAGElib + * Fix issue #5461 (segfault after removing redundant materials) + * Update ComputeUVMappingProcess.cpp + * Add some ASSIMP_INSTALL checks + * Fix SplitByBoneCount typo that prevented node updates + * Q3DLoader: Fix possible material string overflow + * Reverts the changes introduced by commit ad766cb in February 2022 + * Fix a collada import bug + * Mention IQM loader in Fileformats.md + * Fix ASE loader crash when *MATERIAL_COUNT or *NUMSUBMTLS is not specified + or is 0 + * Add checks for invalid buffer and size + * Make sure for releases revision will be zero + * glTF2Importer: Support .vrm extension + +------------------------------------------------------------------- +Thu Apr 11 11:40:44 UTC 2024 - Christophe Marin + +- Update to 5.4.0 + * Reduce memory consumption in JoinVerticesProcess::ProcessMesh() + * Fix: Add check for invalid input argument + * Replace an assert + * Extension of skinning data export to GLB/GLTF format + * Fix output floating-point values to fbx + * Update ImproveCacheLocality.cpp + * Deep arsdk bone double free + * Fix Spelling error + * use size to be compatible with float and double + * Fix: Add missing transformation for normalized normals. + * Fix: Implicit Conversion Error + * Fix add checks for indices + * Update FBXBinaryTokenizer.cpp + * link to external minizip with full path + * utf8 header not found + * Rm unnecessary deg->radian conversion in FBX exporter + * Fix empty mesh handling + * Refactoring: Some cleanups + * Fix invalid read of uint from uvwsrc + * Remove double delete + * fix the mesh-name error. + * COLLADA fixes for textures in C4D input + * Use the correct allocator for deleting objects in case of + duplicate animation Ids + * Fix container overflow in MMD parser + * Fix: PLY heap buffer overflow + * Fix: Check if index for mesh access is out of range + * Update FBXConverter.cpp + * FBX: Use correct time scaling + * Drop explicit inclusion of contrib/ headers + * Update Build.md + * Fix buffer overflow in FBX::Util::DecodeBase64() + * Readme.md: correct 2 errors in section headers + * Fix double free in Video::~Video() + * FBXMeshGeometry: solve issue #5116 using patch provided + * Fix target names not being imported on some gLTF2 models + * correct grammar/typographic errors in comments (8 files) + * KHR_materials_specular fixes + * Disable Hunter + * fixed several issues + * Fix leak + * Check the validity of the archive without parsing + * Fix integer overflow + * Add a test before generating the texture folder + * Build: Disable building zlib for non-windows + * null check. + * Bump actions/upload-artifact from 3 to 4 + * fix: KHR_materials_pbrSpecularGlossiness/diffuseFactor convert + to pbrMetallicRoughness/baseColorFactor + * dynamic_cast error. + * Add missing IRR textures + * Fix handling of X3D IndexedLineSet nodes + * Improve acc file loading + * Readme.md: present hyperlinks in a more uniform style + * FBX Blendshape FullWeight: Vec -> FullWeight: Vec + * Fix for issues #5422, #3411, and #5443 -- DXF insert scaling fix + and colour fix + * Update StbCommon.h to stay up-to-date with stb_image.h. + * Introduce aiBuffer + * Add bounds checks to the parsing utilities. + * Fix crash in viewer + * Static code analysis fixes + * Kimkulling/fix behavior of remove redundant mats issue 5438 + * Fix X importer breakage introduced in commit f844c33 + * Fileformats.md: clarify that import of .blend files is deprecated + * feat:1.add 3mf vertex color read 2.fix 3mf read texture bug + * More GLTF loading hardening + * Bump actions/cache from 3 to 4 + * Blendshape->Geometry in FBX Export + * Fix identity matrix check + * Fix PyAssimp under Python >= 3.12 and macOS library search support + * Add ISC LICENSE file + * ColladaParser: check values length + * Include defs in not cpp-section + * Add correct double zero check + * Add zlib-header to ZipArchiveIOSystem.h + * Add 2024 to copyright infos + * Append a new setting "AI_CONFIG_EXPORT_FBX_TRANSPARENCY_FACTOR_REFER_TO_OPACITY" + * Eliminate non-ascii comments in clipper + * Fix compilation for MSVC14. + * Add correction of fbx model rotation + * Delete tools/make directory + * Delete packaging/windows-mkzip directory + * Fix #5420 duplicate degrees to radians conversion in fbx importer + * Respect merge identical vertices in ObjExporter + * Fix utDefaultIOStream test under MinGW + * Fix typos + * Add initial macOS support to C4D importer + * Update hunter into CMakeLists.txt + * Fix: add a missing import for AI_CONFIG_CHECK_IDENTITY_MATRIX_EPSILON_DEFAULT + * updated json + * Cleanup: Fix review findings + * Update CMakeLists.txt +- Drop patch, merged upstream: + * 0001-ColladaParser-check-values-length-5462.patch + +------------------------------------------------------------------- +Mon Feb 12 23:13:07 UTC 2024 - Adam Mizerski + +- Reenable the Collada parser. +- Removed patch 0001-Don-t-build-the-collada-importer-exporter-tests.patch +- Add patch (boo#1207377, CVE-2022-45748) + * 0001-ColladaParser-check-values-length-5462.patch +- Improved tests filtering + +------------------------------------------------------------------- +Wed Oct 4 14:14:08 UTC 2023 - Christophe Marin + +- Disable the collada importer/exporter due to a long standing + security issue (boo#1207377, CVE-2022-45748, gh#assimp/assimp#4286) +- Add patch: + * 0001-Don-t-build-the-collada-importer-exporter-tests.patch + +------------------------------------------------------------------- +Fri Sep 29 13:23:52 UTC 2023 - Ferdinand Thiessen + +- Update to 5.3.1 + * Fixes CVE-2022-38528 (boo#1203187) + * Mainly bug fixes + * Fix: Use ASCII treeview in assimp-cmd. + * Fix: Fix head overflow in MD5-parser. + * Fix: C++ std::tuple constexpr initial list on old compiler + * Make FBX parser resilient to missing data streams + * Fix incorrect documentation of defaults + * Fixed issue with clang complaining about sprintf and vsprintf being depreciated + * Fix build error: ‘temp’ may be used uninitialized in this function + * Fix: Use correct epsilon + * Fix: Add missing handling for double export in json + * Full change log https://github.com/assimp/assimp/releases/tag/v5.3.0 + +------------------------------------------------------------------- +Wed Apr 5 11:29:32 UTC 2023 - Predrag Ivanović + +- Enable build of CLI tools. + +------------------------------------------------------------------- +Mon Sep 12 13:37:16 UTC 2022 - Dirk Müller + +- update to 5.2.5: + * Add unittest to reproduce undefined behavior + * Cleanups + * Link static linkage for std_image. + * fix msvc warnings-as-errors + * Remove dll-export tags from static library builds. + * Fix Import a specific FBX model will freeze the app + * Create SECURITY.md + * Pragma warnings cause build fail with MinGW + * Fixed FBXConverter build error when using double precision + * Fix possible nullptr exception + * [Experimental] New skeleton container for bones + * Add support for GCC v12 + * Remove unused variable. + * Infinite loop on bad import files + * Utilize AI_CONFIG_IMPORT_REMOVE_EMPTY_BONES flag for Collada meshes. + * Fix Windows 32-bit builds + * Fix GNUC check on Windows + * Update the name of the package + * Kimkulling/fix invalid opengex token match + * Disable build for tools per default + * Use mingw.include + * Fix a memory leak + * Fix nested animation name being lost in Collada + * Fix possible bad_alloc exception for an invalid file + * Bump JesseTG/rm from 1.0.2 to 1.0.3 + * Bump actions/cache from 2 to 3 + * Kimkulling/fix texture loading 3MF, reladed issue-4568 + * Bump actions/upload-artifact from 2 to 3 + * Bump actions/checkout from 2 to 3 + * Remove assertion test + * Fix memory leak in D3MFOpcPackage + * Fix typo in installation instructions for ubuntu. + * Build fix for compiling against minizip. + * Fix stl for over 4 GB + * Fix uninitialized variable. + * Fixes Crash in Assimp::ObjFileMtlImporter::getFloatValue + * Fixes Heap-buffer-overflow in Assimp::ObjFileParser::getFace + * Fixes Heap-buffer-overflow in std::__1::basic_string + +- Update to 5.2.4 + * Use static runtime only when the option is selected + * Fix compile error: When enabling macro ASSIMP_DOUBLE_PRECISION + * Detect Roughness factor exported by Blender + * Updated Android build script + * Prevent nullptr access to normals-array in bitangent computation + * Avoid setting PBR properties when they are not found on mtl file + * Fix ogre xml serializer + * Fix draco building error when import assimp with cmake add_subdirectory + * FbxConverter: update bone mOffsetMatrix + * Some Windows/MSYS2-specific fixes + * Document fuzz folder + * Fix out-of-range access in ASE-Parser + * Disable assertion tests floating point against inf for Intel oneAPI + * Delete README + * Rename TextureTypeToString() to aiTextureTypeToString() + * Fixed library names for MinGW/MSYS2 + * Update pugixml dependency to v1.12.1 + * Add an option to treat warnings as errors + * Minor updates to ASSIMP Viewer + * Add badge to show open issue in percentage + * Clang-Tidy performance fixes (make values const-ref where needed) + * MMD (pmx) fixes + * Resource script updates + * Accelerate the Merge vertex post processing step + +------------------------------------------------------------------- +Wed May 11 15:37:28 UTC 2022 - Christophe Giboudeaux + +- Don't use -Werror to prevent build issues with GCC 12 + +------------------------------------------------------------------- +Sun Mar 20 07:34:20 UTC 2022 - Christophe Giboudeaux + +- Update to 5.2.3: + * Show warning when assimp_viewer cannot be build on + target platform + * Fix ordering of member initialization + * Fix possible negative array access + * Expose the original OBJ "illum" value + * Optimize the problem of excessive memory allocation in + FBX import + * Update version of Hunter to v0.24.0 that supports VS 2022 + * update LWO importer(available lwo3) + * Reinstate a deprecated gltfpbr macro: AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS + * Fix parsing OBJ with free-form curve/surface body statements + * Fix missing members and do some small refactorings. + * Fix 'i >= 0' always true + * Update AI_TEXTURE_TYPE_MAX + * Fix getting anisotropy in obj + * glTF2: Metallic roughness split + * Add properties information on assimp info command line + * Added missing ObjMaterial.h to CMakeLists + * Update version in doxy-config + * add ifndef guard for resolve to fails to compil + * Add USE_STATIC_CRT option + * Fix nullptr dereferencing + * Fix stack-overflow in MDLLoader + * GLTF2 attribute name/parse bug + +------------------------------------------------------------------- +Mon Feb 21 09:56:15 UTC 2022 - Christophe Giboudeaux + +- Update to 5.2.2 + * Fix missing include for size_t + * introduce compression + * Refactoring: add usage of ai_epsilon to FBX-Importer. + * CMake: Fix Assimp target install rule fully specifying component + * Fix stat for 32-bit Linux + * Update the calculation and orthogonalization for bitangent + * Update CMakeLists.txt + * Added support for "map_Bump -bm" + +------------------------------------------------------------------- +Mon Feb 7 09:51:05 UTC 2022 - Christophe Giboudeaux + +- Update to 5.2.1 + * ASE: Fix warning unreachable code + * HMP: Fix override during copying position data + * use fully qualified namespace in byteswap macros + * fix compilation with clangcl on windows + * Delete .travis.sh by @kimkulling + * Update ccpp.yml by @kimkulling + * LWO: validate enum value before parsing it +- Drop 0001-use-fully-qualified-namespace-in-byteswap-macros.patch + Merged upstream + +------------------------------------------------------------------- +Wed Feb 2 10:24:27 UTC 2022 - Christophe Giboudeaux + +- Add patch to fix build in big endian archs: + * 0001-use-fully-qualified-namespace-in-byteswap-macros.patch + +------------------------------------------------------------------- +Tue Jan 25 13:02:13 UTC 2022 - Christophe Giboudeaux + +- Update to 5.2.0 + * Update copyrights + * Fix imported target include directory + * Assimp Patch Android LTS NDK 23 Fix + * Allow dlclose of so library by avoiding unique symbols. + * Move Base64 encode/decode functionality to the common folder + * Locale independent meter scale + * add Inter-Quake Model (IQM) Importer + * Collada: Read all instance_material child nodes + * Krishty new file detection + * ASE: Fix material parsing + * IFC Reading: Fix opening reading. + * CMAKE: Respect top-level CMAKE_*_OUTPUT_DIRECTORY variables + +------------------------------------------------------------------- +Mon Jan 10 09:28:29 UTC 2022 - Christophe Giboudeaux + +- Update to 5.1.6: + * Add link to used enum for a better understandability + * Fix fuzzer crashes + * Fix nullptr-dereferencing + * Fix bone fitted check in gltf2 exporter +- Add patch: + * 0001-Fix-build-with-zlib.patch (gh#assimp/assimp#4334) + +------------------------------------------------------------------- +Tue Jan 4 11:59:17 UTC 2022 - Christophe Giboudeaux + +- Update to 5.1.5: + * Make sure no overflow can happen + * LWS-Import: Avoid access to empty string token + * MDL: Do not try to copy empty embedded texture + * Add console progresshandler + * CMake: Replace CMAKE_COMPILER_IS_MINGW by MINGW + * fix fbx import metalness + * RFC: BlenderScene: use explicit namespace instead of using + namespace + * Support PBR properties/maps in Obj importer + +------------------------------------------------------------------- +Mon Dec 27 10:43:59 UTC 2021 - Dirk Müller + +- update to 5.1.4: + * Fix division + * Fix nullptr dereferencing from std::shared_ptr + * Revert "FBXConverter : Fix timescales of FBX animations" + * Use correct XmlParser-methods and add some missing casts + * Bug: Export crashes when any of the meshes contains texture + coordinate names #4243 + * Bugfix/import crashes + * Fix a typo in the Visual-Studio Dll-Versions + * Enable C++11 and C99 + * Fixed cmake error: No known features for C compiler when using + the assimp library from another project + * fix test/models/3DS/IMAGE1.bmp: is jpg + * Fix compile error when ASSIMP_BUILD_NO_X3D_IMPORTER is define. + +------------------------------------------------------------------- +Sun Dec 5 08:52:33 UTC 2021 - Christophe Giboudeaux + +- Update to 5.1.3 + * Update blender importer to work with Blender 2.8+ files + * Added checks for out of bounds data access/writing + * Interpolate euler rotations for quaternion animations + * Fix file-extension check for X3D-files + * Update CMakeLists.txt + +------------------------------------------------------------------- +Thu Dec 2 12:05:31 UTC 2021 - Christophe Giboudeaux + +- Update to 5.1.2. Changes since 5.1.0: + * Fixed an incorrect indeiciesType in the glTF2 sparse accessor. + * Prevent out-of-range memory writes by sparse accessors + * Delete test/models/3DS/UVTransformTest directory + * Do not build ziplib when 3MF exporter is disabled. + * Collada: Read value, not attribute + * Redefine deprecated glTF-specific PBR material macros +- Fix assimp-devel dependencies. minizip is required. + +------------------------------------------------------------------- +Sat Nov 13 16:29:32 UTC 2021 - Christophe Giboudeaux + +- Update to 5.1.0 + * Check https://github.com/assimp/assimp/releases/tag/v5.1.0 + for the full list of changes +- Drop do-not-install-irrXML.patch. No longer needed. +- Drop obsolete patches: + * 0001-Fix-build-with-GCC-11.patch + * 0001-use-GNUInstallDirs-where-possible.patch + +------------------------------------------------------------------- +Mon Feb 8 10:45:37 UTC 2021 - Christophe Giboudeaux + +- Add patch to fix build with GCC11: + * 0001-Fix-build-with-GCC-11.patch (boo#1181859) + +------------------------------------------------------------------- +Mon Sep 21 17:23:21 UTC 2020 - Christophe Giboudeaux + +- Add a _constraints file for ppc64/ppc64le builds. + +------------------------------------------------------------------- +Thu Sep 17 21:04:34 UTC 2020 - Christophe Giboudeaux + +- Remove unneeded build dependencies. + assimp doesn't need Qt5, boost, devIL and glu. + +------------------------------------------------------------------- +Thu Jul 9 20:42:17 UTC 2020 - Christophe Giboudeaux + +- Restore the _service file. + +Assimp still ships files which are not allowed in openSUSE. + +------------------------------------------------------------------- +Wed Jun 10 09:38:02 UTC 2020 - Christophe Giboudeaux + +- Add upstream patch to fix the broken CMake config files: + * 0001-use-GNUInstallDirs-where-possible.patch + (adapted for the 5.0.1 release) + +------------------------------------------------------------------- +Wed May 20 13:15:44 UTC 2020 - Ferdinand Thiessen + +- Update to 5.0.1 + * Added texture types: BASE_COLOR, NORMAL_CAMERA, EMISSION_COLOR, + METALNESS, DIFFUSE_ROUGHNESS + * Fixed various issues and memory leaks + * 3DS: Explicitly pass "UNNAMED" as 3DS root node name and fix + more thread-safety issue in 3DS loader. + * 3MF: Introduce first prototype for basematerial support + * AssJSon: Add json export. + * Various other file support improvements +- Dropped viewer subpackage, as it now requires DirectX +- Removed not needed disable-gitrevision-test.patch +- Rebased do-not-install-irrXML.patch +- Removed not needed install-viewer.patch +- Removed _service + +------------------------------------------------------------------- +Wed Jan 23 20:08:14 UTC 2019 - Jan Engelhardt + +- sanitize_source.sh was removed in the 4.1.0 update; restore its + logic with a new _service file and recreate the tarball. + +------------------------------------------------------------------- +Thu Jan 17 15:03:13 UTC 2019 - Jan Engelhardt + +- Fix incorrect summary for libassimp*. + +------------------------------------------------------------------- +Sat Aug 11 16:16:03 UTC 2018 - rpm@fthiessen.de + +- Update to 4.1.0 + * Added support for Export 3MF (experimental) + * Added supprt for Import / Export glTF 2 + * Prevent failing stringstream to crash the export process + * Fix invalid access to mesh array when the array is + empty in Blender, also fixed short overflow. + * Fixed memory leak in AMFImporter + * Fixed IOStream leak in UnrealLoader: + * Fixed out-of-bounds read in MaterialSystem unit test + * Added support for SIB models from Silo 2.5 +- Changes from 4.0.1 + * StreamReader: fix out-of-range exception +- Changes From 4.0.0 + * New QT-Widget based assimp-viewer + * Open3DGC codec supported by glFT-importer + * glTF: Read and write transparency values + * Support for X3D, AMF and Lugdunum3D + * MDLLoader: fix resource leak. + * Fix memory leak in Collada importer + * Fixed many FBX bugs +- Added %check section, run unit tests +- Added disable-gitrevision-test.patch to fix testsuite as we do + not build from git, git rev will test will fail. +- Added do-not-install-irrXML.patch to prevent cmake from + installing the irrXML (static) library. +- install-viewer.patch: Install viewer component + +------------------------------------------------------------------- +Thu Apr 20 11:05:53 UTC 2017 - jengelh@inai.de + +- Rename %soname to %sover to better reflects its use. +- Repackage original tarball with the test/models-nonbsd/ + directory removed. + +------------------------------------------------------------------- +Mon Sep 5 10:38:19 UTC 2016 - rpm@fthiessen.de + +- Update to new upstream release 3.3.1 +* Fix BlenderTesselator: offsetof operator +* C++11 support +* OpenGEX: add support for cameras and lights +* Enable export by pyAssimp +* Add functionality to perform a singlepost-processing step +* Fix of many resource leaks in unittests and main lib + +------------------------------------------------------------------- +Thu Jun 16 22:16:07 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 3.2 +* Support for FBX 2013 and newer, binary and ASCII +* Support for OGRE binary mesh and skeleton format +* Updated BLEND support for newer Blender versions +* Support for arbitrary meta data, used to hold FBX and DAE metadata +* OBJ Export now produces smaller files +* Meshes can now have names, this is supported by the major importers +* Improved IFC geometry generation +* M3 support has been removed +* Experimental OpenGEX support + +------------------------------------------------------------------- +Tue Sep 3 09:38:16 UTC 2013 - joop.boonen@opensuse.org + +- Fixed the build problem with docdir + moved samples/ to doc + +------------------------------------------------------------------- +Fri Feb 1 21:12:07 UTC 2013 - joop.boonen@opensuse.org + +- Improved the spec file, changed the names and cleaned the spec file + +------------------------------------------------------------------- +Mon Jul 30 00:00:00 CEST 2012 - sergey.shambir.auto@gmail.c + +- some improvements form *.spec at home:hcostelha repository + +------------------------------------------------------------------- +Sun Jul 29 00:00:00 CEST 2012 - sergey.shambir.auto@gmail.c + +- initial package of version 3.0 + diff --git a/assimp.spec b/assimp.spec new file mode 100644 index 0000000..16186dd --- /dev/null +++ b/assimp.spec @@ -0,0 +1,150 @@ +# +# spec file for package assimp +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define sover 5 +Name: assimp +Version: 5.4.3 +Release: 0 +Summary: Library to load and process 3D scenes from various data formats +License: BSD-3-Clause AND MIT +URL: https://github.com/assimp/assimp +Source0: %{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM +Patch0: 0001-SplitLargeMeshes-Fix-crash-5799.patch +# PATCH-FIX-UPSTREAM +Patch1: 0001-Fix-leak-5762.patch +Patch2: CVE-2024-48423.patch +# PATCH-FIX-UPSTREAM +Patch3: CVE-2024-48424.patch +# PATCH-FIX-UPSTREAM +Patch4: CVE-2024-53425.patch +BuildRequires: cmake >= 3.22 +BuildRequires: dos2unix +BuildRequires: gcc-c++ +BuildRequires: irrlicht-devel +BuildRequires: pkgconfig +BuildRequires: pkgconfig(minizip) +BuildRequires: pkgconfig(zlib) + +%description +Assimp is a library to load and process geometric scenes from various data formats. +It is tailored at typical game scenarios by supporting a node hierarchy, static or skinned meshes, +materials, bone animations and potential texture data. The library is not designed for speed, +it is primarily useful for importing assets from various sources once and storing it in a +engine-specific format for easy and fast every-day-loading. + +%package -n libassimp%{sover} +Summary: Library to load and process 3D scenes from various data formats + +%description -n libassimp%{sover} +Assimp is a library to load and process geometric scenes from various data formats. +It is tailored at typical game scenarios by supporting a node hierarchy, static or skinned meshes, +materials, bone animations and potential texture data. The library is not designed for speed, +it is primarily useful for importing assets from various sources once and storing it in a +engine-specific format for easy and fast every-day-loading. + +%package devel +Summary: Headers, docs and command-line utility for assimp +Requires: glibc-devel +Requires: libassimp%{sover} = %{version} +Requires: libstdc++-devel +Requires: pkgconfig(minizip) + +%description devel +Assimp is a library to load and process geometric scenes from various data formats. +It is tailored at typical game scenarios by supporting a node hierarchy, static or skinned meshes, +materials, bone animations and potential texture data. The library is not designed for speed, +it is primarily useful for importing assets from various sources once and storing it in a +engine-specific format for easy and fast every-day-loading. + +%prep +%autosetup -p1 + +%build +%cmake \ + -DASSIMP_IGNORE_GIT_HASH=ON \ + -DASSIMP_WARNINGS_AS_ERRORS=OFF \ + -DASSIMP_BUILD_ASSIMP_TOOLS=ON + +%cmake_build + +%install +%cmake_install + +find %{buildroot} -type f -name "*.la" -delete -print + +%check +# More tests fail on s390x with version 5.4.1, skip %%check +%ifnarch s390x +pushd build +gtest_filter="-" + +# utVersion.aiGetVersionRevisionTest passes with git builds only +gtest_filter="${gtest_filter}:utVersion.aiGetVersionRevisionTest" + +# the models-nonbsd are not in the tarball, tests depending on it are also excluded +gtest_filter="${gtest_filter}:ut3DImportExport.importMarRifle" +gtest_filter="${gtest_filter}:ut3DImportExport.importMarRifleA" +gtest_filter="${gtest_filter}:ut3DImportExport.importMarRifleD" +gtest_filter="${gtest_filter}:ut3DSImportExport.importCartWheel" +gtest_filter="${gtest_filter}:ut3DSImportExport.importGranate" +gtest_filter="${gtest_filter}:ut3DSImportExport.importJeep1" +gtest_filter="${gtest_filter}:ut3DSImportExport.importMarRifle" +gtest_filter="${gtest_filter}:ut3DSImportExport.importMp5Sil" +gtest_filter="${gtest_filter}:ut3DSImportExport.importPyramob" +gtest_filter="${gtest_filter}:utBlenderImporter.importBob" +gtest_filter="${gtest_filter}:utBlenderImporter.importFleurOptonl" +gtest_filter="${gtest_filter}:utDXFImporterExporter.importRifle" +gtest_filter="${gtest_filter}:utMD2Importer.importDolphin" +gtest_filter="${gtest_filter}:utMD2Importer.importFlag" +gtest_filter="${gtest_filter}:utMD2Importer.importHorse" +gtest_filter="${gtest_filter}:utMD5Importer.importBoarMan" +gtest_filter="${gtest_filter}:utMD5Importer.importBob" +gtest_filter="${gtest_filter}:utPMXImporter.importTest" +gtest_filter="${gtest_filter}:utQ3BSPImportExport.importerTest" +gtest_filter="${gtest_filter}:utXImporter.importDwarf" + +%ifnarch x86_64 +# tests fail, because they assume you can compare floats +# See https://github.com/assimp/assimp/issues/4438 +gtest_filter="${gtest_filter}:AssimpAPITest_aiMatrix3x3.*" +gtest_filter="${gtest_filter}:AssimpAPITest_aiMatrix4x4.*" +gtest_filter="${gtest_filter}:AssimpAPITest_aiQuaternion.*" +gtest_filter="${gtest_filter}:AssimpAPITest_aiVector2D.*" +gtest_filter="${gtest_filter}:AssimpAPITest_aiVector3D.*" +%endif + +./bin/unit --gtest_filter="${gtest_filter}" +popd +%endif + +%ldconfig_scriptlets -n lib%{name}%{sover} + +%files -n lib%{name}%{sover} +%license LICENSE +%{_libdir}/libassimp.so.%{sover}* + +%files devel +%doc CHANGES CREDITS +%{_bindir}/assimp +%{_includedir}/assimp/ +%{_libdir}/libassimp.so +%{_libdir}/cmake/* +%{_libdir}/pkgconfig/assimp.pc + +%changelog