Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package sratom for openSUSE:Factory checked in at 2022-06-20 15:36:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sratom (Old) and /work/SRC/openSUSE:Factory/.sratom.new.1548 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sratom" Mon Jun 20 15:36:53 2022 rev:17 rq:983648 version:0.6.10 Changes: -------- --- /work/SRC/openSUSE:Factory/sratom/sratom.changes 2022-04-14 17:24:41.747209412 +0200 +++ /work/SRC/openSUSE:Factory/.sratom.new.1548/sratom.changes 2022-06-20 15:37:00.598836202 +0200 @@ -1,0 +2,8 @@ +Sat Jun 18 14:29:31 UTC 2022 - Dirk M??ller <dmuel...@suse.com> + +- update to 0.6.10: + * Fix documentation installation directory + * Fix potential blank node ID truncation +- drop fix-FORTIFY_SOURCE3.patch: obsolete + +------------------------------------------------------------------- Old: ---- fix-FORTIFY_SOURCE3.patch sratom-0.6.8.tar.bz2 New: ---- sratom-0.6.10.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sratom.spec ++++++ --- /var/tmp/diff_new_pack.pBB7ZY/_old 2022-06-20 15:37:01.214837103 +0200 +++ /var/tmp/diff_new_pack.pBB7ZY/_new 2022-06-20 15:37:01.218837109 +0200 @@ -18,15 +18,14 @@ %define sover 0 Name: sratom -Version: 0.6.8 +Version: 0.6.10 Release: 0 Summary: A library for serialising LV2 atoms to/from RDF License: ISC Group: Development/Libraries/C and C++ -URL: http://drobilla.net/software/sratom/ -Source0: http://download.drobilla.net/sratom-%{version}.tar.bz2 +URL: https://drobilla.net/software/sratom.html +Source0: https://download.drobilla.net/sratom-%{version}.tar.bz2 Source1: baselibs.conf -Patch0: fix-FORTIFY_SOURCE3.patch BuildRequires: doxygen BuildRequires: graphviz BuildRequires: pkgconfig ++++++ sratom-0.6.8.tar.bz2 -> sratom-0.6.10.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sratom-0.6.8/.clang-tidy new/sratom-0.6.10/.clang-tidy --- old/sratom-0.6.8/.clang-tidy 2021-01-02 16:13:32.895716000 +0100 +++ new/sratom-0.6.10/.clang-tidy 2022-05-26 19:21:17.361535300 +0200 @@ -1,7 +1,10 @@ Checks: > *, -*-magic-numbers, + -*-narrowing-conversions, -*-uppercase-literal-suffix, + -altera-*, + -bugprone-easily-swappable-parameters, -bugprone-suspicious-string-compare, -cert-err34-c, -clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling, @@ -10,6 +13,8 @@ -llvm-header-guard, -llvmlibc-*, -misc-no-recursion, + -performance-no-int-to-ptr, + -readability-function-cognitive-complexity, WarningsAsErrors: '*' HeaderFilterRegex: '.*' FormatStyle: file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sratom-0.6.8/NEWS new/sratom-0.6.10/NEWS --- old/sratom-0.6.8/NEWS 2021-01-07 22:36:18.221110000 +0100 +++ new/sratom-0.6.10/NEWS 2022-05-27 01:27:03.952151300 +0200 @@ -1,3 +1,10 @@ +sratom (0.6.10) stable; + + * Fix documentation installation directory + * Fix potential blank node ID truncation + + -- David Robillard <d...@drobilla.net> Thu, 26 May 2022 23:27:00 +0000 + sratom (0.6.8) stable; * Fix potential null pointer dereference diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sratom-0.6.8/include/sratom/sratom.h new/sratom-0.6.10/include/sratom/sratom.h --- old/sratom-0.6.8/include/sratom/sratom.h 2021-01-02 16:13:32.895716000 +0100 +++ new/sratom-0.6.10/include/sratom/sratom.h 2022-05-18 22:20:53.851678400 +0200 @@ -14,9 +14,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/** - @file sratom.h API for Sratom, an LV2 Atom RDF serialisation library. -*/ +/// @file sratom.h Public API for Sratom #ifndef SRATOM_SRATOM_H #define SRATOM_SRATOM_H @@ -45,16 +43,12 @@ #endif /** - @defgroup sratom Sratom - - A library for serialising LV2 Atoms. - + @defgroup sratom Sratom C API + This is the public C API of Sratom. @{ */ -/** - Atom serialiser. -*/ +/// Atom serializer typedef struct SratomImpl Sratom; /** @@ -68,30 +62,26 @@ blank node IDs may be added in the future. */ typedef enum { - /** - Read blank nodes as Objects, and named resources as URIs. - */ + /// Read blank nodes as Objects, and named resources as URIs SRATOM_OBJECT_MODE_BLANK, /** - Read blank nodes and the main subject as Objects, and any other named - resources as URIs. The "main subject" is the subject parameter passed - to sratom_read(); if this is a resource it will be read as an Object, - but all other named resources encountered will be read as URIs. + Read blank nodes and the main subject as Objects. + + Any other named resources are read as URIs. The "main subject" is the + subject parameter passed to sratom_read(); if this is a resource it will + be read as an Object, but all other named resources encountered will be + read as URIs. */ SRATOM_OBJECT_MODE_BLANK_SUBJECT } SratomObjectMode; -/** - Create a new Atom serialiser. -*/ +/// Create a new Atom serializer SRATOM_API Sratom* sratom_new(LV2_URID_Map* map); -/** - Free an Atom serialisation. -*/ +/// Free an Atom serializer SRATOM_API void sratom_free(Sratom* sratom); @@ -130,16 +120,16 @@ void sratom_set_pretty_numbers(Sratom* sratom, bool pretty_numbers); -/** - Configure how resources will be read to form LV2 Objects. -*/ +/// Configure how resources will be read to form LV2 Objects SRATOM_API void sratom_set_object_mode(Sratom* sratom, SratomObjectMode object_mode); /** Write an Atom to RDF. - The serialised atom is written to the sink set by sratom_set_sink(). + + The serialized atom is written to the sink set by sratom_set_sink(). + @return 0 on success, or a non-zero error code otherwise. */ SRATOM_API @@ -155,6 +145,7 @@ /** Read an Atom from RDF. + The resulting atom will be written to `forge`. */ SRATOM_API @@ -166,7 +157,8 @@ const SordNode* node); /** - Serialise an Atom to a Turtle string. + Serialize an Atom to a Turtle string. + The returned string must be free()'d by the caller. */ SRATOM_API @@ -182,6 +174,7 @@ /** Read an Atom from a Turtle string. + The returned atom must be free()'d by the caller. */ SRATOM_API @@ -194,6 +187,7 @@ /** A convenient resizing sink for LV2_Atom_Forge. + The handle must point to an initialized SerdChunk. */ SRATOM_API @@ -202,9 +196,7 @@ const void* buf, uint32_t size); -/** - The corresponding deref function for sratom_forge_sink. -*/ +/// The corresponding deref function for sratom_forge_sink SRATOM_API LV2_Atom* sratom_forge_deref(LV2_Atom_Forge_Sink_Handle handle, LV2_Atom_Forge_Ref ref); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sratom-0.6.8/src/sratom.c new/sratom-0.6.10/src/sratom.c --- old/sratom-0.6.8/src/sratom.c 2021-01-02 16:13:32.899049300 +0100 +++ new/sratom-0.6.10/src/sratom.c 2022-05-26 19:21:52.052091400 +0200 @@ -140,7 +140,7 @@ static void gensym(SerdNode* out, char c, unsigned num) { - out->n_bytes = out->n_chars = snprintf((char*)out->buf, 10, "%c%u", c, num); + out->n_bytes = out->n_chars = snprintf((char*)out->buf, 12, "%c%u", c, num); } static void @@ -334,13 +334,15 @@ new_node = true; datatype = serd_node_from_string(SERD_URI, USTR(LV2_MIDI__MidiEvent)); - uint8_t* str = (uint8_t*)calloc(size * 2 + 1, 1); + const size_t len = size * 2ul; + uint8_t* const str = (uint8_t*)calloc(len + 1, 1); for (uint32_t i = 0; i < size; ++i) { - snprintf((char*)str + (2 * i), - size * 2 + 1, + snprintf((char*)str + (2ul * i), + len - (2ul * i) + 1ul, "%02X", (unsigned)*((const uint8_t*)body + i)); } + object = serd_node_from_string(SERD_LITERAL, USTR(str)); } else if (type_urid == sratom->atom_Event) { const LV2_Atom_Event* ev = (const LV2_Atom_Event*)body; @@ -676,10 +678,15 @@ forge, str, len, sratom->map->map(sratom->map->handle, type_uri), 0); } } else if (language) { - const char* prefix = "http://lexvo.org/id/iso639-3/"; - const size_t lang_len = strlen(prefix) + strlen(language); - char* lang_uri = (char*)calloc(lang_len + 1, 1); - snprintf(lang_uri, lang_len + 1, "%s%s", prefix, language); + static const char* const prefix = "http://lexvo.org/id/iso639-3/"; + const size_t prefix_len = strlen(prefix); + const size_t language_len = strlen(language); + const size_t lang_uri_len = prefix_len + language_len; + char* lang_uri = (char*)calloc(lang_uri_len + 1, 1); + + memcpy(lang_uri, prefix, prefix_len + 1); + memcpy(lang_uri + prefix_len, language, language_len + 1); + lv2_atom_forge_literal( forge, str, len, 0, sratom->map->map(sratom->map->handle, lang_uri)); free(lang_uri); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sratom-0.6.8/test/.clang-tidy new/sratom-0.6.10/test/.clang-tidy --- old/sratom-0.6.8/test/.clang-tidy 2021-01-02 16:13:32.899049300 +0100 +++ new/sratom-0.6.10/test/.clang-tidy 2022-05-26 19:11:56.363272400 +0200 @@ -2,11 +2,13 @@ *, -*-magic-numbers, -*-uppercase-literal-suffix, + -altera-*, -bugprone-suspicious-string-compare, -clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling, -hicpp-signed-bitwise, -llvm-header-guard, -llvmlibc-*, + -performance-no-int-to-ptr, WarningsAsErrors: '*' HeaderFilterRegex: '.*' FormatStyle: file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sratom-0.6.8/wscript new/sratom-0.6.10/wscript --- old/sratom-0.6.8/wscript 2021-01-07 22:35:57.427182200 +0100 +++ new/sratom-0.6.10/wscript 2022-05-27 01:27:18.552434700 +0200 @@ -7,7 +7,7 @@ # major increment <=> incompatible changes # minor increment <=> compatible changes (additions) # micro increment <=> no interface changes -SRATOM_VERSION = '0.6.8' +SRATOM_VERSION = '0.6.10' SRATOM_MAJOR_VERSION = '0' # Mandatory waf variables @@ -37,6 +37,7 @@ conf.env.BUILD_SHARED = not Options.options.no_shared conf.env.BUILD_STATIC = Options.options.static + conf.env.SRATOM_MAJOR_VERSION = SRATOM_MAJOR_VERSION if not conf.env.BUILD_SHARED and not conf.env.BUILD_STATIC: conf.fatal('Neither a shared nor a static build requested')