Christophe Marin 2024-12-27 08:36:04 +00:00 committed by Git OBS Bridge
commit b2598f2771
13 changed files with 1370 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

136
0001-Fix-leak-5762.patch Normal file
View File

@ -0,0 +1,136 @@
From 4024726eca89331503bdab33d0b9186e901bbc45 Mon Sep 17 00:00:00 2001
From: Kim Kulling <kimkulling@users.noreply.github.com>
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 <assimp/Importer.hpp>
+
+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

View File

@ -0,0 +1,29 @@
From ecdf8d24b85367b22ba353b4f82299d4af7f1f97 Mon Sep 17 00:00:00 2001
From: Kim Kulling <kimkulling@users.noreply.github.com>
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<std::pair<aiMesh*, unsigned int> >& avList) {
+ if (pcNode == nullptr) {
+ ASSIMP_LOG_WARN("UpdateNode skipped, nullptr detected.");
+ return;
+ }
+
// for every index in out list build a new entry
std::vector<unsigned int> aiEntries;
aiEntries.reserve(pcNode->mNumMeshes + 1);
--
2.47.0

34
CVE-2024-48423.patch Normal file
View File

@ -0,0 +1,34 @@
From f12e52198669239af525e525ebb68407977f8e34 Mon Sep 17 00:00:00 2001
From: tyler92 <tyler92@inbox.ru>
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 <kimkulling@users.noreply.github.com>
---
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()) {

59
CVE-2024-48424.patch Normal file
View File

@ -0,0 +1,59 @@
From 2b773f0f5a726c38dda72307b5311c14fc3a76ae Mon Sep 17 00:00:00 2001
From: tyler92 <tyler92@inbox.ru>
Date: Mon, 16 Dec 2024 23:48:45 +0200
Subject: [PATCH] Fix heap-buffer-overflow in OpenDDLParser (#5919)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
---
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++;

39
CVE-2024-53425.patch Normal file
View File

@ -0,0 +1,39 @@
From ecc8a1c8695560df108d6adc00b3d7b1ba15df9f Mon Sep 17 00:00:00 2001
From: tyler92 <tyler92@inbox.ru>
Date: Tue, 17 Dec 2024 19:57:54 +0200
Subject: [PATCH] Fix buffer overflow in MD5Parser::SkipSpacesAndLineEnd
(#5921)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
---
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();

25
_constraints Normal file
View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<constraints>
<overwrite>
<conditions>
<arch>ppc64</arch>
<arch>s390x</arch>
</conditions>
<hardware>
<memory>
<size unit="G">6</size>
</memory>
</hardware>
</overwrite>
<overwrite>
<conditions>
<arch>ppc64</arch>
<arch>s390x</arch>
</conditions>
<hardware>
<memory>
<size unit="G">4</size>
</memory>
</hardware>
</overwrite>
</constraints>

16
_service Normal file
View File

@ -0,0 +1,16 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://github.com/assimp/assimp</param>
<param name="revision">v5.4.3</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<!-- non-OSI media -->
<param name="exclude">test/models-nonbsd</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled"/>
</services>

3
assimp-5.4.2.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f8e426e61a8cc458d457770dce59e3a08f1f58e5582a21b16d608a1b72c1c42
size 27539356

BIN
assimp-5.4.3.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

852
assimp.changes Normal file
View File

@ -0,0 +1,852 @@
-------------------------------------------------------------------
Fri Dec 27 08:05:57 UTC 2024 - Christophe Marin <christophe@krop.fr>
- 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 <christophe@krop.fr>
- Add upstream change (boo#1232324, CVE-2024-48425)
* 0001-SplitLargeMeshes-Fix-crash-5799.patch
-------------------------------------------------------------------
Tue Sep 10 07:32:23 UTC 2024 - Christophe Marin <christophe@krop.fr>
- 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 <christophe@krop.fr>
- 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 <dmueller@suse.com>
- fix check failure on s390x (bsc#1218474)
-------------------------------------------------------------------
Tue Jul 9 12:08:55 UTC 2024 - Christophe Marin <christophe@krop.fr>
- 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<Float> -> FullWeight: Vec<Double>
* 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 <christophe@krop.fr>
- 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 <christophe@krop.fr>
- 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<Float> -> FullWeight: Vec<Double>
* 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 <adam@mizerski.pl>
- 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 <christophe@krop.fr>
- 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 <rpm@fthiessen.de>
- 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ć <predivan@mts.rs>
- Enable build of CLI tools.
-------------------------------------------------------------------
Mon Sep 12 13:37:16 UTC 2022 - Dirk Müller <dmueller@suse.com>
- 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<char, std::__1::…
* Fixes Heap-use-after-free in Assimp::DXFImporter::ExpandBlockReferences
* Fixes Heap-buffer-overflow in SuperFastHash
* ColladaParser - Store sid in mSID field
* Fix mingw include in assimp_cmd.rc
* Fix warnings that are causing build fails with specific build flags
* Update version tag
* Improvements and optimizations for the obj-parsers.
* Experiment: try to enable parallel build
* Fixed typo
* Use [[fallthrough]]; to mark whished fallthroughs
* Kimkulling/do not add dot when the extension is empty
* Fixes Heap-buffer-overflow READ in Assimp::ASE::Parser::ParseLV1SoftSkinBlock
* Use unqualified uint32_t everywhere in FBXBinaryTokenizer
* Fix problems setting DirectX_LIBRARY
* Added support for more bone weights in GLTF2
* (Mostly) Blender fixes
* [WIP] Use ai_Real to write correct accuracy
* SMD fixes
* Remove exception on glTF 2.0 loading
* Fix out-of-bounds reads in X3D importer
* Apply the modernize-use-emplace clang-tidy rule
* The Wrong object is created here!
* [WIP] Code cleanup and some new unittests for edge-cases.
* clang-tidy: explicitly default all empty ctors and dtors
* fix vertices being joined duplicating weights
* add missing light data to assbin import/export
* Fix aiBone.mOffsetMatrix documentation
* Minor obj export bugfix
* Kimkulling/cleanup after reviewing
- drop 0001-Fix-build-with-zlib.patch (upstream)
-------------------------------------------------------------------
Wed May 18 06:22:15 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
- 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 <christophe@krop.fr>
- Don't use -Werror to prevent build issues with GCC 12
-------------------------------------------------------------------
Sun Mar 20 07:34:20 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
- 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 <christophe@krop.fr>
- 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 <christophe@krop.fr>
- 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 <christophe@krop.fr>
- 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 <christophe@krop.fr>
- 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 <christophe@krop.fr>
- 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 <christophe@krop.fr>
- 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 <dmueller@suse.com>
- 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 <christophe@krop.fr>
- 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 <christophe@krop.fr>
- 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 <christophe@krop.fr>
- 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 <christophe@krop.fr>
- 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 <christophe@krop.fr>
- Add a _constraints file for ppc64/ppc64le builds.
-------------------------------------------------------------------
Thu Sep 17 21:04:34 UTC 2020 - Christophe Giboudeaux <christophe@krop.fr>
- Remove unneeded build dependencies.
assimp doesn't need Qt5, boost, devIL and glu.
-------------------------------------------------------------------
Thu Jul 9 20:42:17 UTC 2020 - Christophe Giboudeaux <christophe@krop.fr>
- Restore the _service file.
Assimp still ships files which are not allowed in openSUSE.
-------------------------------------------------------------------
Wed Jun 10 09:38:02 UTC 2020 - Christophe Giboudeaux <christophe@krop.fr>
- 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 <rpm@fthiessen.de>
- 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 <jengelh@inai.de>
- 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 <jengelh@inai.de>
- 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

150
assimp.spec Normal file
View File

@ -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