Hello community, here is the log from the commit of package kapidox for openSUSE:Factory checked in at 2016-01-04 09:21:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kapidox (Old) and /work/SRC/openSUSE:Factory/.kapidox.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "kapidox" Changes: -------- --- /work/SRC/openSUSE:Factory/kapidox/kapidox.changes 2015-11-24 22:21:59.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kapidox.new/kapidox.changes 2016-01-04 09:22:04.000000000 +0100 @@ -1,0 +2,8 @@ +Thu Dec 10 23:02:52 UTC 2015 - hrvoje.senjan@gmail.com + +- Update to 5.17.0 + * Make kgenframeworksapidox more robust. + * For more details please see: + https://www.kde.org/announcements/kde-frameworks-5.17.0.php + +------------------------------------------------------------------- Old: ---- kapidox-5.16.0.tar.xz New: ---- kapidox-5.17.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kapidox.spec ++++++ --- /var/tmp/diff_new_pack.2n62Te/_old 2016-01-04 09:22:05.000000000 +0100 +++ /var/tmp/diff_new_pack.2n62Te/_new 2016-01-04 09:22:05.000000000 +0100 @@ -16,9 +16,9 @@ # -%define _tar_path 5.16 +%define _tar_path 5.17 Name: kapidox -Version: 5.16.0 +Version: 5.17.0 Release: 0 Requires: doxygen BuildRequires: fdupes ++++++ kapidox-5.16.0.tar.xz -> kapidox-5.17.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kapidox-5.16.0/setup.py new/kapidox-5.17.0/setup.py --- old/kapidox-5.16.0/setup.py 2015-10-19 22:22:40.000000000 +0200 +++ new/kapidox-5.17.0/setup.py 2015-12-06 09:18:17.000000000 +0100 @@ -6,7 +6,7 @@ setup( name='kapidox', - version='5.16.0', + version='5.17.0', description='KDE API documentation generation tools', maintainer = 'Alex Merry', maintainer_email = 'alex.merry@kde.org', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kapidox-5.16.0/src/kapidox/data/templates/fwinfo.html new/kapidox-5.17.0/src/kapidox/data/templates/fwinfo.html --- old/kapidox-5.16.0/src/kapidox/data/templates/fwinfo.html 2015-10-19 22:22:40.000000000 +0200 +++ new/kapidox-5.17.0/src/kapidox/data/templates/fwinfo.html 2015-12-06 09:18:17.000000000 +0100 @@ -37,7 +37,7 @@ <dd>IRC channel: {{ fwinfo.irc|default("#kde-devel") }} on Freenode</dd> <dd>https://mail.kde.org/mailman/listinfo/{{ fwinfo.mailinglist|default("kde-frameworks-devel") }}">Mailing list</a></dd> -{% if fwinfo.libraries|count != 0 %} +{% if fwinfo.libraries is iterable and fwinfo.libraries|count != 0 %} <dt>Use with <a href="https://techbase.kde.org/Development/Tutorials/CMake">CMake</a></dt> <dd><pre class="fragment">find_package({{ fwinfo.cmakename }}) target_link_libraries(yourapp{% for lib in fwinfo.libraries %} {{ lib.cmake }}{% endfor %})</pre></dd> @@ -45,7 +45,7 @@ {% endif %} {% if fwinfo.libraries|selectattr("qmake")|list|count != 0 %} <dt>Use with QMake</dt> - <dd><pre class="fragment">QT +={% for lib in fwinfo.libraries|selectattr("qmake") %} {{ lib.qmake }}{% endfor %}</pre></dd> + <dd><pre class="fragment">QT +={% for lib in fwinfo.libraries|selectattr("qmake") %} {{ lib.qmake }}{% endfor %} {% for line in fwinfo.qmakepro %}<br/>{{ line }} {% endfor %}</pre></dd> {% endif %} <dt>Clone URL</dt> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kapidox-5.16.0/src/kgenframeworksapidox new/kapidox-5.17.0/src/kgenframeworksapidox --- old/kapidox-5.16.0/src/kgenframeworksapidox 2015-10-19 22:22:40.000000000 +0200 +++ new/kapidox-5.17.0/src/kgenframeworksapidox 2015-12-06 09:18:17.000000000 +0100 @@ -102,14 +102,13 @@ # Extend framework info fw['href'] = fw['outputdir'] + '/html/index.html' - # Fix broken frameworks lacking platform definitions - if fw['platforms'] is None: - logging.warning('{} framework lacks platform definitions'.format(fw['fancyname'])) + try: + platform_lst = [x['name'] for x in fw['platforms'] if x['name'] not in (PLATFORM_ALL, PLATFORM_UNKNOWN)] + available_platforms.update(set(platform_lst)) + except (KeyError, TypeError): + logging.warning('{} framework lacks valid platform definitions'.format(fw['fancyname'])) fw['platforms'] = [dict(name=PLATFORM_UNKNOWN)] - platform_lst = [x['name'] for x in fw['platforms'] if x['name'] not in (PLATFORM_ALL, PLATFORM_UNKNOWN)] - available_platforms.update(set(platform_lst)) - lst.append(fw) lst.sort(key=lambda x: x['fancyname'].lower()) @@ -222,16 +221,27 @@ outputdir = modulename # FIXME: option in yaml file to disable docs - metainfo = yaml.load(open(yaml_file)) - tier = metainfo["tier"] + try: + metainfo = yaml.load(open(yaml_file)) + except: + logging.warning('Could not load metainfo.yaml for {}, skipping it'.format(modulename)) + return None + + if metainfo is None: + logging.warning('Empty metainfo.yaml for {}, skipping it'.format(modulename)) + return None + + tier = metainfo.get("tier") if tier is None: - logging.warning('Could not find tier for {}'.format(framework)) + logging.warning('Could not find tier for {}, skipping it'.format(modulename)) return None elif tier < 1 or tier > 4: - logging.warning('Invalid tier {} for {}'.format(tier, framework)) + logging.warning('Invalid tier {} for {}, skipping it'.format(tier, modulename)) return None - if isinstance(metainfo['maintainer'],list): + if 'maintainer' not in metainfo: + fw_maintainers = [] + elif isinstance(metainfo['maintainer'],list): fw_maintainers = map(lambda x: maintainers.get(x, None), metainfo['maintainer']) else: