Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package sord for openSUSE:Factory checked in at 2022-10-16 16:09:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sord (Old) and /work/SRC/openSUSE:Factory/.sord.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sord" Sun Oct 16 16:09:01 2022 rev:17 rq:1011059 version:0.16.14 Changes: -------- --- /work/SRC/openSUSE:Factory/sord/sord.changes 2022-08-11 18:31:23.390131295 +0200 +++ /work/SRC/openSUSE:Factory/.sord.new.2275/sord.changes 2022-10-16 16:09:07.258741367 +0200 @@ -1,0 +2,16 @@ +Fri Oct 14 11:39:13 UTC 2022 - Stephan Kulow <co...@suse.com> + +- Adding 67bcd63bda9d7b095489a09b9880aa730ddb5488.patch from upstrea + commit to suport pcre2 in favor of pcre1 + +------------------------------------------------------------------- +Fri Oct 14 11:26:43 UTC 2022 - Stephan Kulow <co...@suse.com> + +- update to 0.16.14: + * Adopt REUSE machine-readable licensing standard + * Allow programs to be used from subproject + * Fix accidentally exposed internal zix symbols + * Fix various warnings + * Switch to meson build system + +------------------------------------------------------------------- Old: ---- sord-0.16.10.tar.bz2 sord-0.16.10.tar.bz2.sig New: ---- 67bcd63bda9d7b095489a09b9880aa730ddb5488.patch sord-0.16.14.tar.xz sord-0.16.14.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sord.spec ++++++ --- /var/tmp/diff_new_pack.OnZFHo/_old 2022-10-16 16:09:07.894742859 +0200 +++ /var/tmp/diff_new_pack.OnZFHo/_new 2022-10-16 16:09:07.902742877 +0200 @@ -18,19 +18,22 @@ %define sover 0 Name: sord -Version: 0.16.10 +Version: 0.16.14 Release: 0 Summary: Utilities to work with RDF data License: ISC Group: Productivity/File utilities URL: https://drobilla.net/software/sord.html -Source0: https://download.drobilla.net/sord-%{version}.tar.bz2 -Source1: https://download.drobilla.net/sord-%{version}.tar.bz2.sig +Source0: https://download.drobilla.net/sord-%{version}.tar.xz +Source1: https://download.drobilla.net/sord-%{version}.tar.xz.sig Source2: sord.keyring Source3: baselibs.conf +# https://github.com/drobilla/sord/commit/67bcd63bda9d7b095489a09b9880aa730ddb5488 +Patch0: 67bcd63bda9d7b095489a09b9880aa730ddb5488.patch BuildRequires: doxygen BuildRequires: graphviz -BuildRequires: pcre-devel +BuildRequires: meson +BuildRequires: pcre2-devel BuildRequires: pkgconfig BuildRequires: python3 BuildRequires: pkgconfig(serd-0) >= 0.22.4 @@ -60,25 +63,18 @@ %prep %setup -q +%patch0 -p1 %build -export CFLAGS='%{optflags}' -export CXXFLAGS='%{optflags}' -python3 ./waf configure \ - --prefix=%{_prefix} \ - --libdir=%{_libdir} \ - --docdir=%{_defaultdocdir} \ - --test \ - --docs -# waf only understands -j, so do not use smp_mflags -python3 ./waf build -v %{?_smp_mflags} +%{meson} -Ddocs=enabled -Dtests=enabled +%{meson_build} %install -python3 ./waf install --destdir=%{?buildroot} -rm -rf %{buildroot}%{_docdir}/sord-0/html +%{meson_install} +rm -rf %{buildroot}%{_datadir}/doc/sord-0/html %check -python3 ./waf test +%{meson_test} %post -n libsord-0-%{sover} -p /sbin/ldconfig %postun -n libsord-0-%{sover} -p /sbin/ldconfig @@ -95,7 +91,6 @@ %{_libdir}/libsord-0.so.%{sover}* %files devel -%{_mandir}/man3/sord.3%{?ext_man} %{_libdir}/libsord-0.so %{_includedir}/sord-0/ %{_libdir}/pkgconfig/sord-0.pc ++++++ 67bcd63bda9d7b095489a09b9880aa730ddb5488.patch ++++++ >From 67bcd63bda9d7b095489a09b9880aa730ddb5488 Mon Sep 17 00:00:00 2001 From: David Robillard <d...@drobilla.net> Date: Fri, 7 Oct 2022 12:07:51 -0400 Subject: [PATCH] Port sord_validate to pcre2 --- meson.build | 6 ++--- src/sord_config.h | 14 +++++------ src/sord_validate.c | 61 +++++++++++++++++++++++++++------------------ 4 files changed, 49 insertions(+), 35 deletions(-) Index: sord-0.16.14/meson.build =================================================================== --- sord-0.16.14.orig/meson.build +++ sord-0.16.14/meson.build @@ -116,14 +116,14 @@ if not get_option('tools').disabled() meson.override_find_program('sordi', sordi) - pcre_dep = dependency('libpcre', required: false) + pcre2_dep = dependency('libpcre2-8', required: false) - if pcre_dep.found() + if pcre2_dep.found() sord_validate = executable('sord_validate', files('src/sord_validate.c'), c_args: c_suppressions, install: true, - dependencies: [sord_dep, pcre_dep]) + dependencies: [sord_dep, pcre2_dep]) meson.override_find_program('sord_validate', sord_validate) endif Index: sord-0.16.14/src/sord_config.h =================================================================== --- sord-0.16.14.orig/src/sord_config.h +++ sord-0.16.14/src/sord_config.h @@ -20,11 +20,11 @@ #if !defined(SORD_NO_DEFAULT_CONFIG) -// The validator uses PCRE for literal pattern matching -# ifndef HAVE_PCRE +// The validator uses PCRE2 for literal pattern matching +# ifndef HAVE_PCRE2 # ifdef __has_include -# if __has_include(<pcre.h>) -# define HAVE_PCRE 1 +# if __has_include(<pcre2.h>) +# define HAVE_PCRE2 1 # endif # endif # endif @@ -39,10 +39,10 @@ if the build system defines them all. */ -#ifdef HAVE_PCRE -# define USE_PCRE 1 +#ifdef HAVE_PCRE2 +# define USE_PCRE2 1 #else -# define USE_PCRE 0 +# define USE_PCRE2 0 #endif #endif // SORD_CONFIG_H Index: sord-0.16.14/src/sord_validate.c =================================================================== --- sord-0.16.14.orig/src/sord_validate.c +++ sord-0.16.14/src/sord_validate.c @@ -8,8 +8,9 @@ #include "sord/sord.h" #include "sord_config.h" -#if USE_PCRE -# include <pcre.h> +#if USE_PCRE2 +# define PCRE2_CODE_UNIT_WIDTH 8 +# include <pcre2.h> #endif #ifdef _WIN32 @@ -176,31 +177,43 @@ is_descendant_of(SordModel* model, } static bool -regexp_match(const uint8_t* pat, const char* str) +regexp_match(const uint8_t* const pattern, const char* const str) { -#if USE_PCRE - // Append a $ to the pattern so we only match if the entire string matches - const size_t len = strlen((const char*)pat); - char* const regx = (char*)malloc(len + 2); - memcpy(regx, pat, len); - regx[len] = '$'; - regx[len + 1] = '\0'; - - const char* err; - int erroffset; - pcre* re = pcre_compile(regx, PCRE_ANCHORED, &err, &erroffset, NULL); - free(regx); +#if USE_PCRE2 + static const uint32_t options = PCRE2_ANCHORED | PCRE2_ENDANCHORED; + + int err = 0; + size_t erroffset = 0U; + + pcre2_code* const re = pcre2_compile( + pattern, PCRE2_ZERO_TERMINATED, options, &err, &erroffset, NULL); + if (!re) { - fprintf( - stderr, "Error in pattern `%s' at offset %d (%s)\n", pat, erroffset, err); + fprintf(stderr, + "Error in pattern `%s' at offset %lu (%d)\n", + pattern, + erroffset, + err); return false; } - const bool ret = - pcre_exec(re, NULL, str, (int)strlen(str), 0, 0, NULL, 0) >= 0; - pcre_free(re); - return ret; -#endif // USE_PCRE + pcre2_match_data* const match_data = + pcre2_match_data_create_from_pattern(re, NULL); + + const int rc = pcre2_match(re, + (const uint8_t*)str, + PCRE2_ZERO_TERMINATED, + 0, + options, + match_data, + NULL); + + pcre2_match_data_free(match_data); + + pcre2_code_free(re); + return rc > 0; +#endif // USE_PCRE2 + return true; } @@ -776,8 +789,8 @@ main(int argc, char** argv) URI(xsd, pattern); URI(xsd, string); -#if !USE_PCRE - fprintf(stderr, "warning: Built without PCRE, datatypes not checked.\n"); +#if !USE_PCRE2 + fprintf(stderr, "warning: Built without PCRE2, datatypes not checked.\n"); #endif const int prop_st = check_properties(model, &uris);