Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libeconf for openSUSE:Factory 
checked in at 2025-05-12 16:46:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libeconf (Old)
 and      /work/SRC/openSUSE:Factory/.libeconf.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libeconf"

Mon May 12 16:46:46 2025 rev:35 rq:1276095 version:0.7.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/libeconf/libeconf.changes        2025-04-26 
22:25:01.529543257 +0200
+++ /work/SRC/openSUSE:Factory/.libeconf.new.30101/libeconf.changes     
2025-05-12 16:49:50.195078805 +0200
@@ -1,0 +2,8 @@
+Thu May 08 14:41:05 UTC 2025 - sch...@suse.com
+
+- Update to version 0.7.9:
+  * Comments can include comment character tag multiple time.
+  * Fixed static library declaration in meason
+  * Fixed versioning in cmake
+
+-------------------------------------------------------------------
python-libeconf.changes: same change

Old:
----
  libeconf-0.7.8.tar.xz

New:
----
  libeconf-0.7.9.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libeconf.spec ++++++
--- /var/tmp/diff_new_pack.uF1tRa/_old  2025-05-12 16:49:50.743101789 +0200
+++ /var/tmp/diff_new_pack.uF1tRa/_new  2025-05-12 16:49:50.747101957 +0200
@@ -18,7 +18,7 @@
 
 %define lname  libeconf0
 Name:           libeconf
-Version:        0.7.8
+Version:        0.7.9
 Release:        0
 Summary:        Enhanced config file parser ala systemd
 License:        MIT
@@ -73,7 +73,7 @@
 %setup -q
 
 %build
-%meson
+%meson -Ddefault_library=both
 %meson_build
 
 %install

++++++ python-libeconf.spec ++++++
--- /var/tmp/diff_new_pack.uF1tRa/_old  2025-05-12 16:49:50.771102964 +0200
+++ /var/tmp/diff_new_pack.uF1tRa/_new  2025-05-12 16:49:50.771102964 +0200
@@ -19,7 +19,7 @@
 %{?sle15_python_module_pythons}
 %define skip_python39 1
 Name:           python-libeconf
-Version:        0.7.8
+Version:        0.7.9
 Release:        0
 Summary:        Python bindings for libeconf
 License:        MIT

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.uF1tRa/_old  2025-05-12 16:49:50.819104977 +0200
+++ /var/tmp/diff_new_pack.uF1tRa/_new  2025-05-12 16:49:50.819104977 +0200
@@ -1,7 +1,7 @@
 <servicedata>
   <service name="tar_scm">
     <param name="url">https://github.com/openSUSE/libeconf.git</param>
-    <param 
name="changesrevision">37d288b97e0c882bf6ee671d75fbf9718c375386</param>
+    <param 
name="changesrevision">25eb4246560e870c7e9c9a16abfb206566d98979</param>
  </service>
 </servicedata>
 (No newline at EOF)

++++++ libeconf-0.7.8.tar.xz -> libeconf-0.7.9.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libeconf-0.7.8/CMakeLists.txt 
new/libeconf-0.7.9/CMakeLists.txt
--- old/libeconf-0.7.8/CMakeLists.txt   2025-04-25 10:14:17.000000000 +0200
+++ new/libeconf-0.7.9/CMakeLists.txt   2025-05-08 16:37:21.000000000 +0200
@@ -3,7 +3,7 @@
 # Ensure built-in policies from CMake are used, (e.g. improved policies for 
macOS)
 cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
 
-project(libeconf VERSION 0.7.8
+project(libeconf VERSION 0.7.9
                  DESCRIPTION "Enhanced config file parser, which merges config 
files placed in several locations into one."
                  LANGUAGES C
                  )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libeconf-0.7.8/NEWS new/libeconf-0.7.9/NEWS
--- old/libeconf-0.7.8/NEWS     2025-04-25 10:14:17.000000000 +0200
+++ new/libeconf-0.7.9/NEWS     2025-05-08 16:37:21.000000000 +0200
@@ -1,3 +1,8 @@
+Version 0.7.9
+* Comments can include comment character tag multiple time.
+* Fixed static library declaration in meason
+* Fixed versioning in cmake
+
 Version 0.7.8
 * Fix memory access if there are a comment character inside a comment.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libeconf-0.7.8/lib/CMakeLists.txt 
new/libeconf-0.7.9/lib/CMakeLists.txt
--- old/libeconf-0.7.8/lib/CMakeLists.txt       2025-04-25 10:14:17.000000000 
+0200
+++ new/libeconf-0.7.9/lib/CMakeLists.txt       2025-05-08 16:37:21.000000000 
+0200
@@ -33,7 +33,7 @@
   C_STANDARD 11
   C_STANDARD_REQUIRED ON
   PUBLIC_HEADER 
"${PROJECT_SOURCE_DIR}/include/libeconf.h;${PROJECT_SOURCE_DIR}/include/libeconf_ext.h"
-  LINK_FLAGS "-Wl,--no-undefined 
-Wl,--version-script,\"${PROJECT_SOURCE_DIR}/lib/libeconf.map\""
+  LINK_FLAGS "-Wl,--no-undefined -Wl,--no-undefined-version 
-Wl,--version-script,\"${PROJECT_SOURCE_DIR}/lib/libeconf.map\""
 )
 
 # Install the library
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libeconf-0.7.8/lib/getfilecontents.c 
new/libeconf-0.7.9/lib/getfilecontents.c
--- old/libeconf-0.7.8/lib/getfilecontents.c    2025-04-25 10:14:17.000000000 
+0200
+++ new/libeconf-0.7.9/lib/getfilecontents.c    2025-05-08 16:37:21.000000000 
+0200
@@ -146,7 +146,7 @@
       return ECONF_MISSING_DELIMITER;
     }
 
-    if (append_entry && ef->python_style == true) {
+    if (ef->python_style == true) {
       /* ignore space at the beginning of the line because it is the 
indentation of python style */
       while (*value && isspace((unsigned)*value))
         value++;
@@ -371,7 +371,7 @@
 
     /* go through all comment characters and check if one of them could be 
found */
     for (size_t i = 0; i < strlen(comment); i++) {
-      p = strrchr(name, comment[i]);
+      p = strchr(name, comment[i]);
       if (p)
       {
        if (p==name)
@@ -405,25 +405,37 @@
          if (*data && strchr(delim, *data) != NULL)
            delim_found = false;
 
-         if ( first_quote==NULL || /* no quote */
-              (first_quote!=last_quote && last_quote<p) || /* comment is in 
string included */
-              (first_quote==last_quote && last_quote<p && !delim_found)) /* 
multiline with one quote */
-         {
-           if (current_comment_after_value)
+         while (p) {
+           /* going through all comments hits and find the first one */
+           /* who i not inside of two quotes */
+           if ( first_quote==NULL || /* no quote */
+                (first_quote!=last_quote && last_quote<p) || /* comment is in 
string included */
+                (first_quote==last_quote && last_quote<p && !delim_found)) /* 
multiline with one quote */
            {
-             /* appending */
-             char *content = current_comment_after_value;
-             int ret = asprintf(&current_comment_after_value, "%s\n%s", 
content,
-                              p+1);
-             if(ret<0) {
-               free(buf);
-               return ECONF_NOMEM;
+             if (current_comment_after_value)
+             {
+               /* appending */
+               char *content = current_comment_after_value;
+               int ret = asprintf(&current_comment_after_value, "%s\n%s", 
content,
+                                  p+1);
+               if(ret<0) {
+                 free(buf);
+                 return ECONF_NOMEM;
+               }
+               free(content);
+             } else {
+               current_comment_after_value = strdup(p+1);
              }
-             free(content);
+             *p = '\0';
            } else {
-             current_comment_after_value = strdup(p+1);
+             p++;
+           }
+           /* find next comment flag */
+           for (size_t k = 0; k < strlen(comment); k++) {
+             p = strchr(p, comment[k]);
+             if (p)
+               break;
            }
-           *p = '\0';
          }
        }
       }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libeconf-0.7.8/lib/libeconf.map 
new/libeconf-0.7.9/lib/libeconf.map
--- old/libeconf-0.7.8/lib/libeconf.map 2025-04-25 10:14:17.000000000 +0200
+++ new/libeconf-0.7.9/lib/libeconf.map 2025-05-08 16:37:21.000000000 +0200
@@ -38,10 +38,8 @@
     econf_getBoolValueDef;
     econf_getDoubleValueDef;
     econf_getFloatValueDef;
-    econf_getGroupsDef;
     econf_getInt64ValueDef;
     econf_getIntValueDef;
-    econf_getKeysDef;
     econf_getStringValueDef;
     econf_getUInt64ValueDef;
     econf_getUIntValueDef;
@@ -68,9 +66,6 @@
 } LIBECONF_0.3;
 LIBECONF_0.5 {
   global:
-    econf_readFileWithCallback;
-    econf_readDirsWithCallback;
-    econf_readDirsHistoryWithCallback;
     econf_set_conf_dirs;
 } LIBECONF_0.4;
 LIBECONF_0.6 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libeconf-0.7.8/meson.build 
new/libeconf-0.7.9/meson.build
--- old/libeconf-0.7.8/meson.build      2025-04-25 10:14:17.000000000 +0200
+++ new/libeconf-0.7.9/meson.build      2025-05-08 16:37:21.000000000 +0200
@@ -7,7 +7,7 @@
                  'b_pie=true',
                  'warning_level=3',],
   license : 'MIT',
-  version : '0.7.8',
+  version : '0.7.9',
 )
 
 cc = meson.get_compiler('c')
@@ -54,15 +54,20 @@
 example_src = ['example/example.c']
 econftool_src = ['util/econftool.c']
 
+possible_link_args = [
+      '-Wl,--no-undefined',
+      '-Wl,--no-undefined-version',
+      ]
+
 mapfile = 'lib/libeconf.map'
-version_flag = 
'-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile)
+version_flag = 
['-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile)]
 
 lib = library(
   'econf',
   libeconf_src,
   include_directories : inc,
   install : true,
-  link_args : version_flag,
+  link_args : cc.get_supported_link_arguments(possible_link_args) + 
version_flag,
   link_depends : mapfile,
   version : meson.project_version(),
   soversion : '0',
@@ -77,11 +82,6 @@
   version : meson.project_version(),
 )
 
-libeconf_static = static_library('econf',
-                       libeconf_src,
-                       include_directories : inc,
-                       install : true)
-
 libeconf_dep = declare_dependency(
   link_with : lib,
   include_directories : inc,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libeconf-0.7.8/tests/tst-comments2-data/env.conf 
new/libeconf-0.7.9/tests/tst-comments2-data/env.conf
--- old/libeconf-0.7.8/tests/tst-comments2-data/env.conf        2025-04-25 
10:14:17.000000000 +0200
+++ new/libeconf-0.7.9/tests/tst-comments2-data/env.conf        2025-05-08 
16:37:21.000000000 +0200
@@ -1,3 +1,5 @@
 KEY1="a#b"
 KEY2="a#b" # with real comment
 KEY3=a#b
+# comment with # or more ####
+KEY4="test with #" #comment KEY4 with # and so on
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libeconf-0.7.8/tests/tst-comments2.c 
new/libeconf-0.7.9/tests/tst-comments2.c
--- old/libeconf-0.7.8/tests/tst-comments2.c    2025-04-25 10:14:17.000000000 
+0200
+++ new/libeconf-0.7.9/tests/tst-comments2.c    2025-05-08 16:37:21.000000000 
+0200
@@ -75,6 +75,8 @@
     retval = 1;
   if (check_key(key_file, "KEY3", "a") != 0)
     retval = 1;
+  if (check_key(key_file, "KEY4", "test with #") != 0)
+    retval = 1;
 
   econf_free (key_file);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libeconf-0.7.8/tests/tst-parseconfig2.c 
new/libeconf-0.7.9/tests/tst-parseconfig2.c
--- old/libeconf-0.7.8/tests/tst-parseconfig2.c 2025-04-25 10:14:17.000000000 
+0200
+++ new/libeconf-0.7.9/tests/tst-parseconfig2.c 2025-05-08 16:37:21.000000000 
+0200
@@ -35,8 +35,9 @@
     {
       fprintf(stderr, "ERROR: ANSI_COLOR has extra '\\n'!\n");
       free(val);
-      return 77; /* XXX skip for now until fixed */
+      return 1;
     }
+
   free (val);
 
   key_file = econf_free (key_file);

Reply via email to