Hello community,

here is the log from the commit of package libkkc for openSUSE:Leap:15.2 
checked in at 2020-02-25 12:17:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/libkkc (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.libkkc.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libkkc"

Tue Feb 25 12:17:51 2020 rev:17 rq:778881 version:0.3.5+git20190809.b2e5a15

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/libkkc/libkkc.changes  2020-01-15 
15:21:46.670454511 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.libkkc.new.26092/libkkc.changes       
2020-02-25 12:17:55.604524928 +0100
@@ -1,0 +2,16 @@
+Sat Oct 26 11:55:08 UTC 2019 - fst...@suse.com
+
+- Update to version 0.3.5+git20190809.b2e5a15:
+  * travis: Use python3 in coverage build
+  * build: Bump valadoc pkgconfig name
+  * build: Declare creation methods of abstract classes as protected
+  * build: Enable python3
+  * README.md: Link to the API references
+  * travis: Deploy documentation
+  * user-sentence-dictionary: Fix memleak
+  * tests: Fix memleaks in tests
+  * Fix memory leak caused by hacking strv length.
+  * travis: Make coveralls work again under docker
+  * Fix boo#1163932
+
+-------------------------------------------------------------------

Old:
----
  libkkc-0.3.5+git20171220.7d365e1.tar.xz

New:
----
  libkkc-0.3.5+git20190809.b2e5a15.tar.xz

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

Other differences:
------------------
++++++ libkkc.spec ++++++
--- /var/tmp/diff_new_pack.TQtZC3/_old  2020-02-25 12:17:56.984527787 +0100
+++ /var/tmp/diff_new_pack.TQtZC3/_new  2020-02-25 12:17:56.984527787 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libkkc
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,17 +12,17 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 %define soname 2
 %define data_version 0.2.7
 Name:           libkkc
-Version:        0.3.5+git20171220.7d365e1
+Version:        0.3.5+git20190809.b2e5a15
 Release:        0
 Summary:        Japanese Kana-string to Kana-Kanji-mixed-string converter
-License:        GPL-3.0
+License:        GPL-3.0-only
 Group:          System/I18n/Japanese
 Url:            https://github.com/ueno/libkkc
 Source:         %{name}-%{version}.tar.xz

++++++ libkkc-0.3.5+git20171220.7d365e1.tar.xz -> 
libkkc-0.3.5+git20190809.b2e5a15.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkkc-0.3.5+git20171220.7d365e1/.travis.yml 
new/libkkc-0.3.5+git20190809.b2e5a15/.travis.yml
--- old/libkkc-0.3.5+git20171220.7d365e1/.travis.yml    2017-12-20 
08:09:09.000000000 +0100
+++ new/libkkc-0.3.5+git20190809.b2e5a15/.travis.yml    2019-08-09 
12:40:47.000000000 +0200
@@ -4,13 +4,10 @@
 
 env:
   - BUILD_OPTS="--prefix=/usr --libdir=/usr/lib64"
-  - BUILD_OPTS="--prefix=/usr --libdir=/usr/lib64 --enable-code-coverage" 
COVERAGE=yes
-  - BUILD_OPTS="--prefix=/usr --libdir=/usr/lib64 CFLAGS='-fsanitize=address 
-g -fno-common -U_FORTIFY_SOURCE' CXXFLAGS='-fsanitize=address -g -fno-common 
-U_FORTIFY_SOURCE' LDFLAGS='-fsanitize=address -g -fno-common 
-U_FORTIFY_SOURCE' LIBS='-ldl -lpthread'"
-  - BUILD_OPTS="--prefix=/usr --libdir=/usr/lib64 CFLAGS='-fsanitize=undefined 
-g -fno-common -U_FORTIFY_SOURCE' CXXFLAGS='-fsanitize=undefined -g -fno-common 
-U_FORTIFY_SOURCE' LDFLAGS='-fsanitize=undefined -g -fno-common 
-U_FORTIFY_SOURCE' LIBS='-ldl -lpthread'"
-
-matrix:
-  allow_failures:
-    - env: BUILD_OPTS="--prefix=/usr --libdir=/usr/lib64 
CFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' 
CXXFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' 
LDFLAGS='-fsanitize=address -g -fno-common -U_FORTIFY_SOURCE' LIBS='-ldl 
-lpthread'"
+  - BUILD_OPTS="--prefix=/usr --libdir=/usr/lib64 --enable-docs" DOCS=yes 
EXTRA_PKGS="gtk-doc valadoc valadoc-devel"
+  - BUILD_OPTS="--prefix=/usr --libdir=/usr/lib64 --enable-code-coverage 
PYTHON=python3" COVERAGE=yes EXTRA_PKGS="python3-marisa python3-pip"
+  - BUILD_OPTS="--prefix=/usr --libdir=/usr/lib64 CFLAGS='-fsanitize=address 
-g -fno-common -U_FORTIFY_SOURCE' CXXFLAGS='-fsanitize=address -g -fno-common 
-U_FORTIFY_SOURCE' LDFLAGS='-fsanitize=address -g -fno-common 
-U_FORTIFY_SOURCE' LIBS='-ldl -lpthread'" EXTRA_PKGS="libasan"
+  - BUILD_OPTS="--prefix=/usr --libdir=/usr/lib64 CFLAGS='-fsanitize=undefined 
-g -fno-common -U_FORTIFY_SOURCE' CXXFLAGS='-fsanitize=undefined -g -fno-common 
-U_FORTIFY_SOURCE' LDFLAGS='-fsanitize=undefined -g -fno-common 
-U_FORTIFY_SOURCE' LIBS='-ldl -lpthread'" EXTRA_PKGS="libubsan"
 
 services:
   - docker
@@ -20,13 +17,7 @@
   - export CONTAINER=$(docker run -d fedora sleep 1800)
   - docker exec $CONTAINER dnf -y install 'dnf-command(builddep)'
   - docker exec $CONTAINER dnf -y builddep libkkc
-  - docker exec $CONTAINER dnf -y install gettext-devel libtool make which
-  - docker exec $CONTAINER dnf -y install gcc-c++ redhat-rpm-config
-  - docker exec $CONTAINER dnf -y install libasan libubsan
-  - docker exec $CONTAINER dnf -y install vala vala-devel
-  - docker exec $CONTAINER dnf -y install gnome-common
-  - docker exec $CONTAINER dnf -y install python-pip
-  - docker exec $CONTAINER dnf -y install git
+  - docker exec $CONTAINER dnf -y install libtool make which gcc-c++ vala 
vala-devel git $EXTRA_PKGS
   - docker exec $CONTAINER useradd user
 
 install:
@@ -35,11 +26,30 @@
 
 script:
   - docker exec $CONTAINER su - user sh -c "cd /srcdir && NOCONFIGURE=1 
./autogen.sh"
-  - docker exec $CONTAINER su - user sh -c "cd /srcdir && ./configure 
--enable-code-coverage $BUILD_OPTS"
+  - docker exec $CONTAINER su - user sh -c "cd /srcdir && ./configure 
$BUILD_OPTS"
   - docker exec $CONTAINER su - user sh -c "cd /srcdir && make V=1 && touch 
po/libkkc.pot && make check V=1"
 
 after_failure:
   - docker exec $CONTAINER su - user sh -c "cd /srcdir && cat 
tests/test-suite.log"
 
 after_success:
-  - if test x"$COVERAGE" = xyes; then docker exec $CONTAINER pip install 
cpp-coveralls; docker exec -e TRAVIS_JOB_ID="$TRAVIS_JOB_ID" -e 
TRAVIS_BRANCH="$TRAVIS_BRANCH" $CONTAINER sh -c "cd /srcdir && coveralls 
--exclude tools --exclude tests --gcov-options '\-lp'"; fi
+  - |
+      if test x"$COVERAGE" = xyes; then
+          docker exec $CONTAINER pip install cpp-coveralls
+          docker exec -e TRAVIS_JOB_ID="$TRAVIS_JOB_ID" -e 
TRAVIS_BRANCH="$TRAVIS_BRANCH" $CONTAINER sh -c "cd /srcdir && coveralls 
--exclude tools --exclude tests --gcov-options '\-lp'"
+      fi
+  - |
+      if test x"$DOCS" = xyes; then
+          mkdir dist
+          docker cp $CONTAINER:/srcdir/docs/libkkc/libkkc dist/vala
+          docker cp $CONTAINER:/srcdir/docs/gtk-doc/libkkc/html dist/c
+      fi
+
+deploy:
+  provider: pages
+  skip_cleanup: true
+  github_token: $GITHUB_TOKEN
+  local_dir: dist
+  on:
+    branch: master
+    condition: $DOCS = yes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkkc-0.3.5+git20171220.7d365e1/README.md 
new/libkkc-0.3.5+git20190809.b2e5a15/README.md
--- old/libkkc-0.3.5+git20171220.7d365e1/README.md      2017-12-20 
08:09:09.000000000 +0100
+++ new/libkkc-0.3.5+git20190809.b2e5a15/README.md      2019-08-09 
12:40:47.000000000 +0200
@@ -23,8 +23,14 @@
 $ make install
 ```
 
-3. run kkc program
+Documentation
+------
 
+* [Vala binding reference](https://ueno.github.io/libkkc/vala/)
+* [C binding reference](https://ueno.github.io/libkkc/c/)
+
+Test
+------
 ```
 $ kkc
 Type kana sentence in the following form:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkkc-0.3.5+git20171220.7d365e1/configure.ac 
new/libkkc-0.3.5+git20190809.b2e5a15/configure.ac
--- old/libkkc-0.3.5+git20171220.7d365e1/configure.ac   2017-12-20 
08:09:09.000000000 +0100
+++ new/libkkc-0.3.5+git20190809.b2e5a15/configure.ac   2019-08-09 
12:40:47.000000000 +0200
@@ -125,7 +125,7 @@
 have_valadoc=no
 if test x$enable_docs = xyes; then
   # make sure the library is new enough and the program exists
-  PKG_CHECK_MODULES([VALADOC], [valadoc-0.40 >= $VALADOC_REQUIRED])
+  PKG_CHECK_MODULES([VALADOC], [valadoc-0.44 >= $VALADOC_REQUIRED])
   AC_PATH_PROG([VALADOC], [valadoc], [:])
   AS_IF([test "$VALADOC" != :], have_valadoc=yes)
 fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkkc-0.3.5+git20171220.7d365e1/data/templates/libkkc-data/tools/genfilter.py
 
new/libkkc-0.3.5+git20190809.b2e5a15/data/templates/libkkc-data/tools/genfilter.py
--- 
old/libkkc-0.3.5+git20171220.7d365e1/data/templates/libkkc-data/tools/genfilter.py
  2017-12-20 08:09:09.000000000 +0100
+++ 
new/libkkc-0.3.5+git20190809.b2e5a15/data/templates/libkkc-data/tools/genfilter.py
  2019-08-09 12:40:47.000000000 +0200
@@ -84,24 +84,24 @@
 
     def generate(self):
         size = os.fstat(self.infile.fileno()).st_size
-        n = size / self.record_size
+        n = size // self.record_size
         m = int(math.ceil(-n*math.log10(ERROR_RATE) /
                           math.pow(math.log10(2), 2)))
-        m = (m/8 + 1)*8
+        m = (m//8 + 1)*8
         inmem = mmap.mmap(self.infile.fileno(),
                           size,
                           access=mmap.ACCESS_READ)
-        outmem = bytearray(m/8)
-        for i in xrange(0, n):
+        outmem = bytearray(m//8)
+        for i in range(0, n):
             offset = i*self.record_size
             b0, b1 = struct.unpack("=LL", inmem[offset:offset+8])
-            for k in xrange(0, 4):
+            for k in range(0, 4):
                 h = murmur_hash3_32(b0, b1, k)
                 h = int(h * (m / float(0xFFFFFFFF)))
-                outmem[h/8] |= (1 << (h%8))
+                outmem[h//8] |= (1 << (h%8))
         inmem.close()
-        # Convert bytearray to str, for Python 2.6 compatibility.
-        self.outfile.write(str(outmem))
+        # Convert bytearray to bytes, for Python 3 compatibility.
+        self.outfile.write(bytes(outmem))
 
 if __name__ == '__main__':
     import sys
@@ -110,7 +110,7 @@
     parser = argparse.ArgumentParser(description='filter')
     parser.add_argument('infile', type=argparse.FileType('r'),
                         help='input file')
-    parser.add_argument('outfile', type=argparse.FileType('w'),
+    parser.add_argument('outfile', type=argparse.FileType('wb'),
                         help='output file')
     parser.add_argument('record_size', type=int,
                         help='record size')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkkc-0.3.5+git20171220.7d365e1/data/templates/libkkc-data/tools/sortlm.py 
new/libkkc-0.3.5+git20190809.b2e5a15/data/templates/libkkc-data/tools/sortlm.py
--- 
old/libkkc-0.3.5+git20171220.7d365e1/data/templates/libkkc-data/tools/sortlm.py 
    2017-12-20 08:09:09.000000000 +0100
+++ 
new/libkkc-0.3.5+git20190809.b2e5a15/data/templates/libkkc-data/tools/sortlm.py 
    2019-08-09 12:40:47.000000000 +0200
@@ -40,10 +40,10 @@
         self.__min_cost = 0.0
 
     def read(self):
-        print "reading N-grams"
+        print("reading N-grams")
         self.__read_tries()
         self.__read_ngrams()
-        print "min cost = %lf" % self.__min_cost
+        print("min cost = %lf" % self.__min_cost)
 
     def __read_tries(self):
         while True:
@@ -58,7 +58,7 @@
             line = self.__infile.readline()
             if line == "":
                 break
-            line = line.strip()
+            line = line.strip('\n')
             if line == "":
                 break
             match = self.__ngram_line_regex.match(line)
@@ -89,7 +89,7 @@
                 line = self.__infile.readline()
                 if line == "":
                     break
-                line = line.strip()
+                line = line.strip('\n')
                 if line == "":
                     break
                 match = self.__ngram_line_regex.match(line)
@@ -125,14 +125,11 @@
         def quantize(cost, min_cost):
             return max(0, min(65535, int(cost * 65535 / min_cost)))
 
-        def cmp_header(a, b):
-            return cmp(a[0], b[0])
-
-        print "writing 1-gram file"
+        print("writing 1-gram file")
         unigram_offsets = {}
         unigram_file = open("%s.1gram" % self.__output_prefix, "wb")
         offset = 0
-        for ids, value in sorted(self.__ngram_entries[0].iteritems()):
+        for ids, value in sorted(self.__ngram_entries[0].items()):
             unigram_offsets[ids[0]] = offset
             s = struct.pack("=HHH",
                             quantize(value[0], self.__min_cost),
@@ -143,13 +140,13 @@
             offset += 1
         unigram_file.close()
 
-        print "writing 2-gram file"
+        print("writing 2-gram file")
         bigram_offsets = {}
         bigram_file = open("%s.2gram" % self.__output_prefix, "wb")
         keys = self.__ngram_entries[1].keys()
         items = [(struct.pack("=LL", ids[1], unigram_offsets[ids[0]]), ids) 
for ids in keys]
         offset = 0
-        for header, ids in sorted(items, cmp=cmp_header):
+        for header, ids in sorted(items, key=lambda x: x[0]):
             value = self.__ngram_entries[1][ids]
             bigram_offsets[ids] = offset
             s = struct.pack("=HH",
@@ -160,11 +157,11 @@
         bigram_file.close()
 
         if len(self.__ngram_entries[2]) > 0:
-            print "writing 3-gram file"
+            print("writing 3-gram file")
             trigram_file = open("%s.3gram" % self.__output_prefix, "wb")
             keys = self.__ngram_entries[2].keys()
             items = [(struct.pack("=LL", ids[2], bigram_offsets[(ids[0], 
ids[1])]), ids) for ids in keys]
-            for header, ids in sorted(items, cmp=cmp_header):
+            for header, ids in sorted(items, key=lambda x: x[0]):
                 value = self.__ngram_entries[2][ids]
                 s = struct.pack("=H",
                                 quantize(value[0], self.__min_cost))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkkc-0.3.5+git20171220.7d365e1/libkkc/language-model.vala 
new/libkkc-0.3.5+git20190809.b2e5a15/libkkc/language-model.vala
--- old/libkkc-0.3.5+git20171220.7d365e1/libkkc/language-model.vala     
2017-12-20 08:09:09.000000000 +0100
+++ new/libkkc-0.3.5+git20190809.b2e5a15/libkkc/language-model.vala     
2019-08-09 12:40:47.000000000 +0200
@@ -101,7 +101,7 @@
         public abstract new LanguageModelEntry? @get (string input,
                                                       string output);
 
-        public LanguageModel (LanguageModelMetadata metadata) throws Error {
+        protected LanguageModel (LanguageModelMetadata metadata) throws Error {
             Object (metadata: metadata);
             init (null);
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkkc-0.3.5+git20171220.7d365e1/libkkc/metadata-file.vala 
new/libkkc-0.3.5+git20190809.b2e5a15/libkkc/metadata-file.vala
--- old/libkkc-0.3.5+git20171220.7d365e1/libkkc/metadata-file.vala      
2017-12-20 08:09:09.000000000 +0100
+++ new/libkkc-0.3.5+git20190809.b2e5a15/libkkc/metadata-file.vala      
2019-08-09 12:40:47.000000000 +0200
@@ -43,7 +43,7 @@
          */
         public string filename { get; construct set; }
 
-        public MetadataFile (string name, string filename) throws Error {
+        protected MetadataFile (string name, string filename) throws Error {
             Object (name: name, filename: filename);
             init (null);
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkkc-0.3.5+git20171220.7d365e1/libkkc/user-sentence-dictionary.vala 
new/libkkc-0.3.5+git20190809.b2e5a15/libkkc/user-sentence-dictionary.vala
--- old/libkkc-0.3.5+git20171220.7d365e1/libkkc/user-sentence-dictionary.vala   
2017-12-20 08:09:09.000000000 +0100
+++ new/libkkc-0.3.5+git20190809.b2e5a15/libkkc/user-sentence-dictionary.vala   
2019-08-09 12:40:47.000000000 +0200
@@ -258,9 +258,13 @@
             // Newer valac thinks null in a fixed length array as an
             // empty string.
             var array = input.to_array ();
+            // Change length of strv may make vala no able to free it
+            // correctly. Save the length and restore it later.
+            var old_length = array.length;
             array.length = -1;
             constraint_entries.set (string.joinv ("", array), constraint);
             phrase_entries.set (string.joinv (" ", array), phrase);
+            array.length = old_length;
             is_dirty = true;
             return true;
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkkc-0.3.5+git20171220.7d365e1/tests/context.vala 
new/libkkc-0.3.5+git20190809.b2e5a15/tests/context.vala
--- old/libkkc-0.3.5+git20171220.7d365e1/tests/context.vala     2017-12-20 
08:09:09.000000000 +0100
+++ new/libkkc-0.3.5+git20190809.b2e5a15/tests/context.vala     2019-08-09 
12:40:47.000000000 +0200
@@ -47,6 +47,12 @@
         string input;
         Kkc.KeyEventFilter filter;
 
+        dictionaries = null;
+        candidates = null;
+        segments = null;
+        input = null;
+        rule = null;
+        filter = null;
         context.get ("dictionaries", out dictionaries,
                      "candidates", out candidates,
                      "segments", out segments,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libkkc-0.3.5+git20171220.7d365e1/tests/lib/test-case.vala 
new/libkkc-0.3.5+git20190809.b2e5a15/tests/lib/test-case.vala
--- old/libkkc-0.3.5+git20171220.7d365e1/tests/lib/test-case.vala       
2017-12-20 08:09:09.000000000 +0100
+++ new/libkkc-0.3.5+git20190809.b2e5a15/tests/lib/test-case.vala       
2019-08-09 12:40:47.000000000 +0200
@@ -29,7 +29,7 @@
 
   public delegate void TestMethod ();
 
-  public TestCase (string name)
+  protected TestCase (string name)
     {
       this._suite = new GLib.TestSuite (name);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkkc-0.3.5+git20171220.7d365e1/tests/rom-kana.vala 
new/libkkc-0.3.5+git20190809.b2e5a15/tests/rom-kana.vala
--- old/libkkc-0.3.5+git20171220.7d365e1/tests/rom-kana.vala    2017-12-20 
08:09:09.000000000 +0100
+++ new/libkkc-0.3.5+git20190809.b2e5a15/tests/rom-kana.vala    2019-08-09 
12:40:47.000000000 +0200
@@ -18,6 +18,7 @@
         string pending_output;
         string pending_input;
         Kkc.RomKanaCharacterList produced;
+        rule = null;
         converter.get ("rule", out rule,
                        "kana-mode", out mode,
                        "punctuation-style", out style,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libkkc-0.3.5+git20171220.7d365e1/tests/template.vala 
new/libkkc-0.3.5+git20190809.b2e5a15/tests/template.vala
--- old/libkkc-0.3.5+git20171220.7d365e1/tests/template.vala    2017-12-20 
08:09:09.000000000 +0100
+++ new/libkkc-0.3.5+git20190809.b2e5a15/tests/template.vala    2019-08-09 
12:40:47.000000000 +0200
@@ -7,7 +7,7 @@
 
     void test_properties () {
         Kkc.Template template;
-        string source;
+        string? source = null;
         bool okuri;
 
         template = new Kkc.SimpleTemplate ("source");
@@ -17,6 +17,7 @@
         assert (!okuri);
 
         template = new Kkc.OkuriganaTemplate ("かう", 1);
+        source = null;
         template.get ("source", out source,
                       "okuri", out okuri);
 
@@ -24,6 +25,7 @@
         assert (okuri);
 
         template = new Kkc.NumericTemplate ("だい11かい");
+        source = null;
         template.get ("source", out source,
                       "okuri", out okuri);
 


Reply via email to