Hello community, here is the log from the commit of package libcomps for openSUSE:Factory checked in at 2019-04-01 12:39:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libcomps (Old) and /work/SRC/openSUSE:Factory/.libcomps.new.25356 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libcomps" Mon Apr 1 12:39:48 2019 rev:5 rq:690191 version:0.1.11 Changes: -------- --- /work/SRC/openSUSE:Factory/libcomps/libcomps.changes 2019-02-27 15:09:08.234392423 +0100 +++ /work/SRC/openSUSE:Factory/.libcomps.new.25356/libcomps.changes 2019-04-01 12:39:50.825957784 +0200 @@ -1,0 +2,11 @@ +Sun Mar 31 14:53:26 UTC 2019 - Neal Gompa <[email protected]> + +- Upgrade to 0.1.11 + + Fix missing braces + + Fix UAF in comps_objmrtree_unite function +- Drop merged patches + * 0001-Fix-Missing-braces.patch + * 0002-Fix-UAF-in-comps_objmrtree_unite-function.patch + * libcomps-0.1.7-Add-zlib-as-an-explicit-dependency.patch + +------------------------------------------------------------------- Old: ---- 0001-Fix-Missing-braces.patch 0002-Fix-UAF-in-comps_objmrtree_unite-function.patch libcomps-0.1.7-Add-zlib-as-an-explicit-dependency.patch libcomps-0.1.9.tar.gz New: ---- libcomps-0.1.11.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libcomps.spec ++++++ --- /var/tmp/diff_new_pack.WWT5oT/_old 2019-04-01 12:39:51.989958349 +0200 +++ /var/tmp/diff_new_pack.WWT5oT/_new 2019-04-01 12:39:51.989958349 +0200 @@ -19,7 +19,7 @@ %define major 0 %define minor 1 -%define patch 9 +%define patch 11 %define libname %{name}%{major}_%{minor}_%{patch} %define devname %{name}-devel @@ -32,16 +32,6 @@ URL: https://github.com/rpm-software-management/libcomps Source0: %{url}/archive/%{name}-%{version}/%{name}-%{version}.tar.gz -# Patches from upstream -# Fix missing braces -Patch0001: 0001-Fix-Missing-braces.patch -# Fix use after free in comps_objmrtree_unite() - CVE-2019-3817 - boo#1122841 - rh#1668005 -Patch0002: 0002-Fix-UAF-in-comps_objmrtree_unite-function.patch - -# openSUSE specific fixes -# Fix zlib linking issues -Patch1000: libcomps-0.1.7-Add-zlib-as-an-explicit-dependency.patch - BuildRequires: check-devel BuildRequires: cmake BuildRequires: fdupes @@ -69,7 +59,7 @@ Summary: Development files for the libcomps library Group: Development/Libraries/C and C++ Requires: %{libname}%{?_isa} = %{version}-%{release} -Requires: pkg-config +Requires: pkgconfig %description -n %{devname} This package provides the development files for %{name}. ++++++ libcomps-0.1.9.tar.gz -> libcomps-0.1.11.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/.tito/packages/.readme new/libcomps-libcomps-0.1.11/.tito/packages/.readme --- old/libcomps-libcomps-0.1.9/.tito/packages/.readme 1970-01-01 01:00:00.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/.tito/packages/.readme 2019-03-11 08:09:27.000000000 +0100 @@ -0,0 +1,3 @@ +the .tito/packages directory contains metadata files +named after their packages. Each file has the latest tagged +version and the project's relative directory. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/.tito/tito.props new/libcomps-libcomps-0.1.11/.tito/tito.props --- old/libcomps-libcomps-0.1.9/.tito/tito.props 1970-01-01 01:00:00.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/.tito/tito.props 2019-03-11 08:09:27.000000000 +0100 @@ -0,0 +1,5 @@ +[buildconfig] +builder = tito.builder.Builder +tagger = tito.tagger.VersionTagger +changelog_do_not_remove_cherrypick = 0 +changelog_format = %s (%ae) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/README.md new/libcomps-libcomps-0.1.11/README.md --- old/libcomps-libcomps-0.1.9/README.md 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/README.md 2019-03-11 08:09:27.000000000 +0100 @@ -16,6 +16,7 @@ for libcomps library: +* zlib http://www.zlib.net/ * libxml2 http://www.xmlsoft.org/ * expat http://expat.sourceforge.net/ * gcc http://gcc.gnu.org/ @@ -32,35 +33,30 @@ * doxygen http://www.stack.nl/~dimitri/doxygen/ +for rpm building: + +* tito https://github.com/dgoodwin/tito + ### Building 1. clone this repository git clone https://github.com/midnightercz/libcomps.git -2. run cmake +2. from the checkout dir: - - for python2 bindings run cmake build system with no params: - cd <PATH_TO_DIR_WHERE_YOU_WANT_TO_BUILD_IN> - cmake <PATH_WHERE_YOU_CLONED_REPO> - - for python3 bindings run cmake build system with PYTHON_DESIRED param: - cd <PATH_TO_DIR_WHERE_YOU_WANT_TO_BUILD_IN> - cmake -DPYTHON_DESIRED:str=3 <PATH_WHERE_YOU_CLONED_REPO> -3. run make + mkdir build + cd build/ + cmake ../libcomps -DPYTHON_DESIRED=3 + (alternatively cmake ../libcomps -DPYTHON_DESIRED=3 for python2 bindings) make +3. building the documentation: + + make docs + make pydocs ### Building rpm package -1. run build\_prep.py for .spec file substitution and tarball creation: - python build_prep.py - or run the following code in Python: - import build_prep - build_prep.prepare() -2. copy libcomps.spec and libcomps-(git_commit_rev).tar.xz to SPECS and - SOURCES dirs - cp libcomps-*.tar.xz <PATH_TO_YOUR_RPMBUILD_SOURCES_DIR>/ - cp libcomps.spec <PATH_TO_YOUR_RPMBUILD_SPECS_DIR>/ -3. run rpmbuild. If you want build bindings only for specified verion of python - edit top of libcomps.spec file: - %global with_python 1 - %global with_python3 1 +You can use tito for building rpm package. From checkout dir: + + tito build --rpm --test ### Installing * After successful build run: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/build_prep.cmake new/libcomps-libcomps-0.1.11/build_prep.cmake --- old/libcomps-libcomps-0.1.9/build_prep.cmake 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/build_prep.cmake 2019-03-11 08:09:27.000000000 +0100 @@ -169,6 +169,5 @@ set(GITCMD "git") execute_process(COMMAND ${GITCMD} ${GITARG} OUTPUT_FILE ${archive_name}) -configure_file(libcomps.spec.in libcomps.spec) configure_file(libcomps.pc.in libcomps.pc @ONLY) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/build_prep.py new/libcomps-libcomps-0.1.11/build_prep.py --- old/libcomps-libcomps-0.1.9/build_prep.py 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/build_prep.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,164 +0,0 @@ -#!/bin/env python -import subprocess -import sys -import pprint -import string -import json -from datetime import date - -def is_commit_tag(commit): - p = subprocess.Popen(['git', 'describe', - '--tags', "--exact-match", "%s"%commit], - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - p.wait() - if p.returncode is 0: - return p.stdout.readline().strip() - else: - return None - -def tag_to_commit(tag): - p = subprocess.Popen(['git', 'rev-parse', "%s^{commit}"%tag], - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - p.wait() - if p.returncode: - return None - x = p.stdout.readline().strip() - return x - -def commits_date(commits): - dates = [] - for c in commits: - p = subprocess.Popen(['git', 'log', '-1', "--format=%at", "%s"%c], - stdout=subprocess.PIPE, stderr=subprocess.PIPE) - p.wait() - dates.append(int(p.stdout.read())) - return dates - -def git_tags_chrono(): - p = subprocess.Popen(['git', 'tag'], stdout=subprocess.PIPE) - p.wait() - if p.returncode: - return None - tags = [x.strip() for x in p.stdout] - dates = [commits_date([t]) for t in tags] - return [z[0] for z in sorted(zip(tags, dates), key=lambda x: x[1])] - -def git_tags(): - p = subprocess.Popen(['git', 'tag'], stdout=subprocess.PIPE) - if p.returncode: - return None - tags = [x.strip() for x in p.stdout] - return tags - -def commits_for_tag(tags, tag): - index = tags.index(tag) - #print index - if index == 0: - prev = None - else: - prev = tags[index-1] - prev = tag_to_commit(prev) - tag = tag_to_commit(tag) - #print prev - - commits = [] - p = subprocess.Popen(['git', 'rev-list', '--all'], stdout=subprocess.PIPE) - start = False - for x in p.stdout: - x = x.strip() - #print x,tag - if not start and x == tag: - start = True - #print "start true" - if start: - commits.append(x) - if x == prev: - break - return commits - -def log_for_commits(commits, _format=None): - log = [] - if not _format: - _args = ['git', 'log', '-1'] - else: - _args = ['git', 'log', '-1', '--format=%s'%_format] - for x in commits: - #print x - p = subprocess.Popen(_args + [x], stdout=subprocess.PIPE) - log.append([x.rstrip("\n") for x in p.stdout]) - return log - -def format_chlog_msg(msg): - msg = filter(lambda x: x != "", msg) - for x in range(0, len(msg)): - if not msg[x].startswith("- "): - msg[x] = "- "+msg[x] - return msg - -def build_chlog(tags ,top='HEAD'): - f = open("chcommits", "r") - chcommits = set([x.strip() for x in f]) - f.close() - - log = [] - for tag in tags: - head = log_for_commits([tag], _format="%ct%n%cn <%ce>%n%B") - head = ["*"]+head[0] - head_body = head[3:] - head = head[:3] - head[1] = date.fromtimestamp(int(head[1])).strftime("%a %b %d %Y") - head.append("-".join(tag.split("-")[1:])) - #print head - - commits = commits_for_tag(tags, tag) - loc_chcommits = list(chcommits & set(commits)) - loc_log = log_for_commits(loc_chcommits, _format="%B") - _log = [" ".join(head)] - _log.append("\n".join(format_chlog_msg(head_body))) - for x in loc_log: - _log.append("\n".join(format_chlog_msg(x))) - _log.append("") - #print _log - - log.append("\n".join(_log)) - return reversed(log) - -def prepare(ref='HEAD'): - vfp = open("version.json", "r") - version = json.load(vfp) - vfp.close() - - subs = {} - top_commit = subs["GITREVLONG"] = tag_to_commit(ref) - - subs.update(version) - tags = git_tags_chrono() - subs["CHANGELOG"] = "\n".join(build_chlog(tags, top_commit)) - - tag = is_commit_tag(top_commit) - if not tag: - subs["SOURCE_URL_PATH"] = "archive/%{commit}/libcomps-%{commit}.tar.gz" - archive_name = "libcomps-%s.tar.gz"%(top_commit,) - else: - subs["SOURCE_URL_PATH"] = tags[-1]+".tar.gz" - archive_name = "%s.tar.gz"%(tag,) - - subs["VERSION"] = "%s.%s.%s" % (subs["libcomps_VERSION_MAJOR"], - subs["libcomps_VERSION_MINOR"], - subs["libcomps_VERSION_PATCH"]) - spec = open("libcomps.spec.in", "r") - specstr_in = spec.read() - spec.close() - specstr_out = string.Template(specstr_in).safe_substitute(subs) - spec = open("libcomps.spec", "w") - spec.write(specstr_out) - spec.close() - - p = subprocess.Popen(['git', 'archive', top_commit, "--format=tar.gz", - "--prefix=libcomps-%s/"%(top_commit,), "-o", - archive_name])#, - #stdout=subprocess.PIPE, stderr=subprocess.PIPE) - p.wait() - -if __name__ == "__main__": - prepare(next(iter(sys.argv[1:]), 'HEAD')) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/libcomps/CMakeLists.txt new/libcomps-libcomps-0.1.11/libcomps/CMakeLists.txt --- old/libcomps-libcomps-0.1.9/libcomps/CMakeLists.txt 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/libcomps/CMakeLists.txt 2019-03-11 08:09:27.000000000 +0100 @@ -22,12 +22,14 @@ FIND_LIBRARY(CHECK_LIBRARY NAMES check) FIND_LIBRARY(EXPAT_LIBRARY NAMES expat) +find_package(ZLIB REQUIRED) find_package(LibXml2 REQUIRED) find_package(EXPAT REQUIRED) include_directories(${CHECK_INCLUDE_DIR}) include_directories(${EXPAT_INCLUDE_DIR}) include_directories(${LIBXML2_INCLUDE_DIR}) +include_directories(${ZLIB_INCLUDE_DIRS}) #add_custom_target(pytest DEPENDS pytest_run) #add_custom_target(ctest DEPENDS test_comps_run test_parse_run) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/libcomps/src/CMakeLists.txt new/libcomps-libcomps-0.1.11/libcomps/src/CMakeLists.txt --- old/libcomps-libcomps-0.1.9/libcomps/src/CMakeLists.txt 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/libcomps/src/CMakeLists.txt 2019-03-11 08:09:27.000000000 +0100 @@ -1,3 +1,4 @@ +include(GNUInstallDirs) set (libcomps_SOURCES comps_doc.c comps_docgroup.c comps_doccategory.c comps_docenv.c comps_docpackage.c comps_docgroupid.c comps_obj.c comps_mm.c @@ -43,6 +44,7 @@ add_library(libcomps SHARED ${libcomps_SOURCES}) target_link_libraries(libcomps ${EXPAT_LIBRARY}) target_link_libraries(libcomps ${LIBXML2_LIBRARIES}) +target_link_libraries(libcomps ${ZLIB_LIBRARIES}) target_link_libraries(libcomps m) set_target_properties(libcomps PROPERTIES OUTPUT_NAME "comps") set_target_properties(libcomps PROPERTIES SOVERSION ${VERSION}) @@ -52,7 +54,7 @@ IF (CMAKE_SIZEOF_VOID_P MATCHES "8") SET (LIB_SUFFIX "64") ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8") -set (LIB_INST_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}) +set (LIB_INST_DIR ${CMAKE_INSTALL_LIBDIR}) install (FILES ${libcomps_HEADERS} DESTINATION include/libcomps) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/libcomps/src/comps_mradix.c new/libcomps-libcomps-0.1.11/libcomps/src/comps_mradix.c --- old/libcomps-libcomps-0.1.9/libcomps/src/comps_mradix.c 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/libcomps/src/comps_mradix.c 2019-03-11 08:09:27.000000000 +0100 @@ -177,7 +177,6 @@ struct Pair { COMPS_HSList * subnodes; char * key; - char added; } *pair, *parent_pair; pair = malloc(sizeof(struct Pair)); @@ -195,7 +194,6 @@ parent_pair = (struct Pair*) it->data; free(it); - pair->added = 0; for (it = tmp_subnodes->first; it != NULL; it=it->next) { pair = malloc(sizeof(struct Pair)); pair->subnodes = ((COMPS_MRTreeData*)it->data)->subnodes; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/libcomps/src/comps_objmradix.c new/libcomps-libcomps-0.1.11/libcomps/src/comps_objmradix.c --- old/libcomps-libcomps-0.1.9/libcomps/src/comps_objmradix.c 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/libcomps/src/comps_objmradix.c 2019-03-11 08:09:27.000000000 +0100 @@ -285,7 +285,6 @@ struct Pair { COMPS_HSList * subnodes; char * key; - char added; } *pair, *parent_pair; pair = malloc(sizeof(struct Pair)); @@ -303,7 +302,6 @@ parent_pair = (struct Pair*) it->data; free(it); - pair->added = 0; for (it = tmp_subnodes->first; it != NULL; it=it->next) { pair = malloc(sizeof(struct Pair)); pair->subnodes = ((COMPS_ObjMRTreeData*)it->data)->subnodes; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/libcomps/src/comps_objradix.c new/libcomps-libcomps-0.1.11/libcomps/src/comps_objradix.c --- old/libcomps-libcomps-0.1.9/libcomps/src/comps_objradix.c 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/libcomps/src/comps_objradix.c 2019-03-11 08:09:27.000000000 +0100 @@ -697,7 +697,6 @@ struct Pair { COMPS_HSList * subnodes; char * key; - char added; } *pair, *parent_pair; pair = malloc(sizeof(struct Pair)); @@ -716,7 +715,6 @@ //printf("key-part:%s\n", parent_pair->key); free(it); - //pair->added = 0; for (it = tmp_subnodes->first; it != NULL; it=it->next) { pair = malloc(sizeof(struct Pair)); pair->subnodes = ((COMPS_ObjRTreeData*)it->data)->subnodes; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/libcomps/src/comps_radix.c new/libcomps-libcomps-0.1.11/libcomps/src/comps_radix.c --- old/libcomps-libcomps-0.1.9/libcomps/src/comps_radix.c 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/libcomps/src/comps_radix.c 2019-03-11 08:09:27.000000000 +0100 @@ -529,7 +529,6 @@ struct Pair { COMPS_HSList * subnodes; char * key; - char added; } *pair, *parent_pair; pair = malloc(sizeof(struct Pair)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/libcomps/src/python/docs/doc-sources/conf.py new/libcomps-libcomps-0.1.11/libcomps/src/python/docs/doc-sources/conf.py --- old/libcomps-libcomps-0.1.9/libcomps/src/python/docs/doc-sources/conf.py 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/libcomps/src/python/docs/doc-sources/conf.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,265 +0,0 @@ -# -*- coding: utf-8 -*- -# -# x documentation build configuration file, created by -# sphinx-quickstart on Mon Dec 9 16:34:26 2013. -# -# This file is execfile()d with the current directory set to its containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import sys, os - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. - -import ctypes -clibcomps = ctypes.cdll.LoadLibrary("/home/jluza/libcomps/libcomps-build/src/libcomps.so.0.1.6") -os.environ['LD_LIBRARY_PATH'] = "%s" % "/home/jluza/libcomps/libcomps-build/src" -print os.environ['LD_LIBRARY_PATH'] - -sys.path.insert(0, os.path.abspath("/home/jluza/libcomps/libcomps-build/src/python/src/python2")) -import libcomps - -# -- General configuration ----------------------------------------------------- - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.pngmath'] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'libcomps' -copyright = u'RedHat 2013' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '0.1.6' -# The full version, including alpha/beta/rc tags. -release = ("0." "1." - "6-" "9") - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - - -autodoc_member_order = "groupwise" - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = [] - -# The reST default role (used for this markup: `text`) to use for all documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - - -# -- Options for HTML output --------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = 'default' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# "<project> v<release> documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a <link> tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'xdoc' - - -# -- Options for LaTeX output -------------------------------------------------- - -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). -latex_documents = [ - ('index', 'x.tex', u'x Documentation', - u'x', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output -------------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'x', u'x Documentation', - [u'x'], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------------ - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'x', u'x Documentation', - u'x', 'x', 'One line description of project.', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' - - -def skip(app, what, name, obj, skip, options): - if what == "module" and type(obj).__name__ == "builtin_function_or_method": - return False - if name == "__init__": - return type(obj).__name__ == "wrapper_descriptor" - return skip -def setup(app): - app.connect("autodoc-skip-member", skip) - -# Example configuration for intersphinx: refer to the Python standard library. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/libcomps/src/python/docs/doc-sources/conf.py.in new/libcomps-libcomps-0.1.11/libcomps/src/python/docs/doc-sources/conf.py.in --- old/libcomps-libcomps-0.1.9/libcomps/src/python/docs/doc-sources/conf.py.in 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/libcomps/src/python/docs/doc-sources/conf.py.in 2019-03-11 08:09:27.000000000 +0100 @@ -32,7 +32,7 @@ # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.pngmath'] +extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.todo', 'sphinx.ext.coverage'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/libcomps/tests/check_objrtree.c new/libcomps-libcomps-0.1.11/libcomps/tests/check_objrtree.c --- old/libcomps-libcomps-0.1.9/libcomps/tests/check_objrtree.c 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/libcomps/tests/check_objrtree.c 2019-03-11 08:09:27.000000000 +0100 @@ -60,9 +60,10 @@ } while (!feof(f)) { memset(buffer, 0, 100); - if (!fgets(buffer, 100, f)) + if (!fgets(buffer, 100, f)) { fclose(f); return rt; + } buffer[strlen(buffer)-1] =0; //printf("buffer:%s\n", buffer); pch = strrchr(buffer, '-'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/libcomps/version.cmake new/libcomps-libcomps-0.1.11/libcomps/version.cmake --- old/libcomps-libcomps-0.1.9/libcomps/version.cmake 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/libcomps/version.cmake 2019-03-11 08:09:27.000000000 +0100 @@ -1,5 +1,5 @@ set (libcomps_VERSION_MAJOR 0) set (libcomps_VERSION_MINOR 1) -set (libcomps_VERSION_PATCH 9) +set (libcomps_VERSION_PATCH 11) set (libcomps_RELEASE 1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/libcomps.spec new/libcomps-libcomps-0.1.11/libcomps.spec --- old/libcomps-libcomps-0.1.9/libcomps.spec 1970-01-01 01:00:00.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/libcomps.spec 2019-03-11 08:09:27.000000000 +0100 @@ -0,0 +1,191 @@ +# Do not build python3 bindings for RHEL <= 7 +%if 0%{?rhel} && 0%{?rhel} <= 7 +%bcond_with python3 +%else +%bcond_without python3 +%endif + +# Do not build python2 bindings for RHEL > 7 and Fedora > 29 +%if 0%{?rhel} > 7 || 0%{?fedora} > 29 +%bcond_with python2 +%else +%bcond_without python2 +%endif + +Name: libcomps +Version: 0.1.11 +Release: 1%{?dist} +Summary: Comps XML file manipulation library + +License: GPLv2+ +URL: https://github.com/rpm-software-management/libcomps +Source0: %{url}/archive/%{name}-%{version}/%{name}-%{version}.tar.gz + +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: gcc +BuildRequires: libxml2-devel +BuildRequires: check-devel +BuildRequires: expat-devel +BuildRequires: zlib-devel + +%description +Libcomps is library for structure-like manipulation with content of +comps XML files. Supports read/write XML file, structure(s) modification. + +%package devel +Summary: Development files for libcomps library +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +Development files for libcomps library. + +%package doc +Summary: Documentation files for libcomps library +Requires: %{name} = %{version}-%{release} +BuildArch: noarch +BuildRequires: doxygen + +%description doc +Documentation files for libcomps library. + +%package -n python-%{name}-doc +Summary: Documentation files for python bindings libcomps library +Requires: %{name} = %{version}-%{release} +BuildArch: noarch +%if %{with python3} +BuildRequires: python3-sphinx +%endif +%if %{with python2} +%if 0%{?rhel} && 0%{?rhel} <= 7 +BuildRequires: python-sphinx +%else +BuildRequires: python2-sphinx +%endif +%endif + +%description -n python-%{name}-doc +Documentation files for python bindings libcomps library. + +%if %{with python2} +%package -n python2-%{name} +Summary: Python 2 bindings for libcomps library +%{?python_provide:%python_provide python2-%{name}} +BuildRequires: python2-devel +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n python2-%{name} +Python 2 bindings for libcomps library. +%endif + +%if %{with python3} +%package -n python3-%{name} +Summary: Python 3 bindings for libcomps library +BuildRequires: python3-devel +%{?python_provide:%python_provide python3-%{name}} +Requires: %{name}%{?_isa} = %{version}-%{release} +Obsoletes: platform-python-%{name} < %{version}-%{release} + +%description -n python3-%{name} +Python3 bindings for libcomps library. +%endif + +%prep +%autosetup -n %{name}-%{name}-%{version} + +%if %{with python2} +mkdir build-py2 +%endif +%if %{with python3} +mkdir build-py3 +%endif +mkdir build-doc + +%build +%if %{with python2} +pushd build-py2 + %cmake ../libcomps/ -DPYTHON_DESIRED:STRING=2 + %make_build +popd +%endif + +%if %{with python3} +pushd build-py3 + %cmake ../libcomps/ -DPYTHON_DESIRED:STRING=3 + %make_build +popd +%endif + +pushd build-doc +%if %{with python2} + %cmake ../libcomps/ -DPYTHON_DESIRED:STRING=2 +%else +%if %{with python3} + %cmake ../libcomps/ -DPYTHON_DESIRED:STRING=3 +%endif +%endif + make %{?_smp_mflags} docs + make %{?_smp_mflags} pydocs +popd + +%install +%if %{with python2} +pushd build-py2 + %make_install +popd +%endif + +%if %{with python3} +pushd build-py3 + %make_install +popd +%endif + +%check +%if %{with python2} +pushd build-py2 + make test + make pytest +popd +%endif + +%if %{with python3} +pushd build-py3 + make test + make pytest +popd +%endif + +%if %{undefined ldconfig_scriptlets} +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig +%else +%ldconfig_scriptlets +%endif + +%files +%license COPYING +%doc README.md +%{_libdir}/%{name}.so.* + +%files devel +%{_libdir}/%{name}.so +%{_includedir}/%{name}/ + +%files doc +%doc build-doc/docs/libcomps-doc/html + +%files -n python-%{name}-doc +%doc build-doc/src/python/docs/html + +%if %{with python2} +%files -n python2-%{name} +%{python2_sitearch}/%{name}/ +%endif + +%if %{with python3} +%files -n python3-%{name} +%{python3_sitearch}/%{name}/ +%endif + +%changelog diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/libcomps.spec.in new/libcomps-libcomps-0.1.11/libcomps.spec.in --- old/libcomps-libcomps-0.1.9/libcomps.spec.in 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/libcomps.spec.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,156 +0,0 @@ -%global commit ${GITREVLONG} - -%if 0%{?rhel} && 0%{?rhel} <= 7 -%define python3_build 0 -#%{!?__python2: %global __python2 /usr/bin/python2} -#%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} -#%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} -%else -%define python3_build 1 -%endif - - -Name: libcomps -Version: ${VERSION} -Release: ${libcomps_RELEASE}%{?dist} -Summary: Comps XML file manipulation library - -Group: Development/Libraries -License: GPLv2+ -URL: https://github.com/midnightercz/libcomps/ -Source0: https://github.com/midnightercz/libcomps/${SOURCE_URL_PATH} -BuildRequires: libxml2-devel -BuildRequires: check-devel -BuildRequires: expat-devel -#%if 0%{?rhel} == 6 -#BuildRequires: cmake28 -#%else -BuildRequires: cmake -#%endif - -%description -Libcomps is library for structure-like manipulation with content of -comps XML files. Supports read/write XML file, structure(s) modification. - -%package doc -Summary: Documentation files for libcomps library -Group: Documentation -Requires: %{name} = %{version}-%{release} -BuildArch: noarch -BuildRequires: doxygen - -%description doc -Documentation files for libcomps library - -%package -n python-libcomps-doc -Summary: Documentation files for python bindings libcomps library -Group: Documentation -Requires: %{name} = %{version}-%{release} -BuildArch: noarch -BuildRequires: python-sphinx - -%description -n python-libcomps-doc -Documentation files for python bindings libcomps library - -%package devel -Summary: Development files for libcomps library -Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description devel -Development files for libcomps library - -%package -n python-libcomps -Summary: Python2 bindings for libcomps library -Group: Development/Libraries -BuildRequires: python-devel -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description -n python-libcomps -Python2 bindings for libcomps library - -%if %python3_build -%package -n python3-libcomps -Summary: Python3 bindings for libcomps library -Group: Development/Libraries -BuildRequires: python3-devel -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description -n python3-libcomps -Python3 bindings for libcomps library -%endif - -%prep -%setup -qn %{name}-%{commit} - -%if %python3_build == 1 -rm -rf py3 -mkdir ../py3 -cp -a . ../py3/ -mv ../py3 ./ -%endif - -%build -%cmake -DPYTHON_DESIRED:STRING=2 libcomps/ -make %{?_smp_mflags} -make %{?_smp_mflags} docs -make %{?_smp_mflags} pydocs - -%if %python3_build == 1 -pushd py3 -%cmake -DPYTHON_DESIRED:STRING=3 libcomps/ -make %{?_smp_mflags} -popd -%endif - - -%check -make test -%if %{python3_build} -pushd py3 -make pytest -popd -%endif - -%install -make install DESTDIR=%{buildroot} - -%if %{python3_build} -pushd py3 -make install DESTDIR=%{buildroot} -popd -%endif - -%clean -rm -rf $buildroot - -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - -%files -%{_libdir}/libcomps.so.* -%doc README.md COPYING - -%files devel -%{_libdir}/libcomps.so -%{_includedir}/* - -%files doc -%doc docs/libcomps-doc/html - -%files -n python-libcomps-doc -%doc src/python/docs/html - -%files -n python-libcomps -%{_libdir}/python2* -#%exclude %{_libdir}/python2/libcomps/__pycache__ - -%if %{python3_build} -%files -n python3-libcomps -%{_libdir}/python3* -#%exclude %{_libdir}/python3/libcomps/__pycache__ -%endif - -%changelog -${CHANGELOG} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/rel-eng/packages/libcomps new/libcomps-libcomps-0.1.11/rel-eng/packages/libcomps --- old/libcomps-libcomps-0.1.9/rel-eng/packages/libcomps 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/rel-eng/packages/libcomps 2019-03-11 08:09:27.000000000 +0100 @@ -1 +1 @@ -0.1.1-1 ./ +0.1.11-1 ./ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libcomps-libcomps-0.1.9/version.json new/libcomps-libcomps-0.1.11/version.json --- old/libcomps-libcomps-0.1.9/version.json 2018-12-12 13:36:35.000000000 +0100 +++ new/libcomps-libcomps-0.1.11/version.json 2019-03-11 08:09:27.000000000 +0100 @@ -1,6 +1,6 @@ { - "libcomps_VERSION_MAJOR": 0, - "libcomps_RELEASE": 1, - "libcomps_VERSION_MINOR": 1, - "libcomps_VERSION_PATCH": 9 -} \ No newline at end of file + "libcomps_VERSION_MAJOR": 0, + "libcomps_RELEASE": 1, + "libcomps_VERSION_MINOR": 1, + "libcomps_VERSION_PATCH": 11 +}
