Hello community,
here is the log from the commit of package yast2-devtools for openSUSE:Factory checked in at 2019-07-31 14:23:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-devtools (Old)
and /work/SRC/openSUSE:Factory/.yast2-devtools.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-devtools"
Wed Jul 31 14:23:32 2019 rev:98 rq:716006 version:4.2.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-devtools/yast2-devtools.changes 2019-04-30 12:56:37.466202174 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-devtools.new.4126/yast2-devtools.changes 2019-07-31 14:23:35.590423516 +0200
@@ -1,0 +2,33 @@
+Wed Jul 17 07:25:46 UTC 2019 - Ladislav Slezák
+
+- Fixed syntax error in the RPM macros causing
+ "line 53: [: missing `]'" error during package build
+- Related to the desktop file changes (boo#1084864)
+- 4.2.5
+
+-------------------------------------------------------------------
+Tue Jun 25 11:43:00 UTC 2019 - Josef Reidinger
+
+- Allow smooth adaptation of newer rubocop by adding defaults for
+ it (bsc#1139270)
+- 4.2.4
+
+-------------------------------------------------------------------
+Sat Jun 1 21:58:50 UTC 2019 - Stasiek Michalski
+
+- Adapt to desktop file changes (boo#1084864)
+- 4.2.3
+
+-------------------------------------------------------------------
+Wed May 29 11:46:25 UTC 2019 - Stasiek Michalski
+
+- Create a directory for metainfo files (fate#319035)
+- 4.2.2
+
+-------------------------------------------------------------------
+Mon May 20 15:28:02 UTC 2019 - Stasiek Michalski
+
+- Generate metainfo appstream for desktop files (fate#319035)
+- 4.2.1
+
+-------------------------------------------------------------------
Old:
----
yast2-devtools-4.2.0.tar.bz2
New:
----
yast2-devtools-4.2.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-devtools.spec ++++++
--- /var/tmp/diff_new_pack.6H8izv/_old 2019-07-31 14:23:35.990423063 +0200
+++ /var/tmp/diff_new_pack.6H8izv/_new 2019-07-31 14:23:35.994423058 +0200
@@ -17,11 +17,13 @@
Name: yast2-devtools
-Version: 4.2.0
+Version: 4.2.5
Release: 0
-Url: http://github.com/yast/yast-devtools
+Url: https://github.com/yast/yast-devtools
+Summary: YaST2 - Development Tools
+License: GPL-2.0-or-later
+Group: System/YaST
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: %{name}-%{version}.tar.bz2
BuildRequires: automake
@@ -33,11 +35,8 @@
BuildRequires: perl-XML-Writer
BuildRequires: pkgconfig
BuildRequires: sgml-skel
-Requires: yast2-buildtools
-Summary: YaST2 - Development Tools
-License: GPL-2.0-or-later
-Group: System/YaST
+Requires: yast2-buildtools
BuildArch: noarch
@@ -75,7 +74,7 @@
modules and components (both ruby and C++).
%prep
-%setup -n yast2-devtools-%{version}
+%setup -q
%build
make -f Makefile.cvs all
@@ -84,32 +83,31 @@
make
%install
-make install DESTDIR="$RPM_BUILD_ROOT"
-[ -e "%{_prefix}/share/YaST2/data/devtools/NO_MAKE_CHECK" ] || Y2DIR="$RPM_BUILD_ROOT/%{_prefix}/share/YaST2" make check DESTDIR="$RPM_BUILD_ROOT"
-for f in `find $RPM_BUILD_ROOT/%{_prefix}/share/applications/YaST2 -name "*.desktop"` ; do
+make install DESTDIR="%{buildroot}"
+[ -e "%{_datadir}/YaST2/data/devtools/NO_MAKE_CHECK" ] || Y2DIR="%{buildroot}%{_datadir}/YaST2" make check DESTDIR="%{buildroot}"
+for f in `find %{buildroot}%{_datadir}/applications/YaST2 -name "*.desktop"` ; do
d=${f##*/}
%suse_update_desktop_file -d ycc_${d%.desktop} ${d%.desktop}
done
%if 0%{?qemu_user_space_build}
# disable testsuite on QEMU builds, will fail
-cat > "$RPM_BUILD_ROOT/%{_prefix}/share/YaST2/data/devtools/NO_MAKE_CHECK" < "%{buildroot}%{_datadir}/YaST2/data/devtools/NO_MAKE_CHECK" < "$RPM_BUILD_ROOT/%{_prefix}/share/YaST2/data/devtools/NO_MAKE_CHECK" < "%{buildroot}%{_datadir}/YaST2/data/devtools/NO_MAKE_CHECK" < yast2-devtools-4.2.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-4.2.0/build-tools/aclocal/y2autoconf.m4 new/yast2-devtools-4.2.5/build-tools/aclocal/y2autoconf.m4
--- old/yast2-devtools-4.2.0/build-tools/aclocal/y2autoconf.m4 2019-04-25 18:03:32.000000000 +0200
+++ new/yast2-devtools-4.2.5/build-tools/aclocal/y2autoconf.m4 2019-07-17 10:09:26.000000000 +0200
@@ -44,6 +44,7 @@
ydatadir=${yast2dir}/data
imagedir=${yast2dir}/images
icondir=\${prefix}/share/icons
+metainfodir=\${prefix}/share/metainfo
themedir=${yast2dir}/theme
localedir=${yast2dir}/locale
clientdir=${yast2dir}/clients
@@ -72,6 +73,7 @@
AC_SUBST(ydatadir)
AC_SUBST(imagedir)
AC_SUBST(icondir)
+AC_SUBST(metainfodir)
AC_SUBST(themedir)
AC_SUBST(localedir)
AC_SUBST(clientdir)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-4.2.0/build-tools/rpm/macros.yast new/yast2-devtools-4.2.5/build-tools/rpm/macros.yast
--- old/yast2-devtools-4.2.0/build-tools/rpm/macros.yast 2019-04-25 18:03:32.000000000 +0200
+++ new/yast2-devtools-4.2.5/build-tools/rpm/macros.yast 2019-07-17 10:09:26.000000000 +0200
@@ -7,6 +7,7 @@
%yast_ydatadir %{yast_dir}/data
%yast_imagedir %{yast_dir}/images
%yast_icondir %{_datadir}/icons
+%yast_metainfodir %{_datadir}/metainfo
%yast_themedir %{yast_dir}/theme
%yast_localedir %{yast_dir}/locale
%yast_clientdir %{yast_dir}/clients
@@ -102,6 +103,13 @@
fi \
%endif
+%yast_metainfo \
+ \
+ mkdir -p %{buildroot}%{yast_metainfodir}/ \
+ for f in $(%{_bindir}/find %{buildroot}/%{yast_desktopdir}/ -name '*.desktop') ; do \
+ %{yast_ydatadir}/devtools/bin/y2metainfo -f ${f} -l "%{license}" -o %{buildroot}/%{yast_metainfodir}/ -u "%{url}" -v "%{version}" \
+ done
+
%yast_desktop_files \
\
# on SUSE we use %%suse_update_desktop_file \
@@ -135,6 +143,6 @@
echo "Cannot install the package, no configure.{ac|in}.in or Rakefile found" 1>&2 \
exit 1 \
fi \
- if [ -d "%{buildroot}/%{yast_desktopdir}"]; then \
+ if [ -d "%{buildroot}/%{yast_desktopdir}" ]; then \
%yast_desktop_files \
fi \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-4.2.0/build-tools/scripts/Makefile.am new/yast2-devtools-4.2.5/build-tools/scripts/Makefile.am
--- old/yast2-devtools-4.2.0/build-tools/scripts/Makefile.am 2019-04-25 18:03:32.000000000 +0200
+++ new/yast2-devtools-4.2.5/build-tools/scripts/Makefile.am 2019-07-17 10:09:26.000000000 +0200
@@ -8,7 +8,8 @@
dist_pkgdata_SCRIPTS = \
y2autoconf \
y2automake \
- y2makepot
+ y2makepot \
+ y2metainfo
# This file should have 0644 perms, since it gets
# sourced by 'check-textdomain' and 'y2makepot'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-4.2.0/build-tools/scripts/y2metainfo new/yast2-devtools-4.2.5/build-tools/scripts/y2metainfo
--- old/yast2-devtools-4.2.0/build-tools/scripts/y2metainfo 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-devtools-4.2.5/build-tools/scripts/y2metainfo 2019-07-17 10:09:26.000000000 +0200
@@ -0,0 +1,99 @@
+#!/usr/bin/env ruby
+#
+# y2metainfo - Automatically generate appstream data for YaST modules based on
+# their desktop files
+# Based on upstream appstream spec:
+# https://www.freedesktop.org/wiki/Distributions/AppStream/
+#
+# Fixes: https://features.opensuse.org/319035
+#
+# Author: Stasiek Michalski
+# Copyright 2019
+#
+
+require "rexml/document"
+require "optparse"
+
+options = {}
+
+OptionParser.new do |parser|
+ parser.banner = "Usage: y2metainfo [options]"
+ parser.on("-h", "--help", "Show this help message") do
+ puts parser
+ end
+ parser.on("-f", "--file FILEPATH", "The desktop file of the module") do |v|
+ options[:file] = v
+ end
+ parser.on("-l", "--license LICENSE", "The license of the module") do |v|
+ options[:license] = v
+ end
+ parser.on("-o", "--output DIRECTORY", "The output directory") do |v|
+ options[:output] = v
+ end
+ parser.on("-u", "--url URL", "The project url") do |v|
+ options[:url] = v
+ end
+ parser.on("-v", "--version VERSION", "Current version of the component") do |v|
+ options[:version] = v
+ end
+end.parse!
+
+def metainfo_gen(desktop, license, url, version)
+ output = ""
+ xml = REXML::Document.new
+ xml << REXML::XMLDecl.new("1.0", "UTF-8")
+ base = xml.add_element("component", "type" => "addon", "xmlns" => "https://specifications.freedesktop.org/metainfo/1.0")
+
+ file = File.open(desktop).read
+ data = Hash[file.scan(/(.*)?=\s*?(.*)/).map { |k,v| [k.strip, v.strip] }]
+ base.add_element("id").add_text(File.basename(desktop, ".desktop"))
+ # Exectutes based on id of desktop file https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-l...
+ base.add_element("launchable", "type" => "desktop-id").add_text(File.basename(desktop))
+ data.select{ |x| x.start_with?("GenericName") }.each do |key, value|
+ name = base.add_element("name").add_text(value)
+ lang = (/(?<=\[).*(?=\])/).match(key)
+ name.add_attribute("xml:lang", lang) if lang
+ end
+ data.select{ |x| x.start_with?("Comment") }.each do |key, value|
+ name = base.add_element("summary").add_text(value)
+ lang = (/(?<=\[).*(?=\])/).match(key)
+ name.add_attribute("xml:lang", lang) if lang
+ end
+ cat = base.add_element("categories")
+ data["Categories"].split(";").each do |category|
+ cat.add_element("category").add_text(category)
+ end
+ rel = base.add_element("releases")
+ rel.add_element("release").add_attribute("version", version)
+ if data["Mimetype"]
+ mime = base.add_element("mimetypes")
+ data["Mimetype"].split(";").each do |mimetype|
+ mime.add_element("mimetype").add_text(mimetype)
+ end
+ end
+ if license
+ base.add_element("metadata_license").add_text(license)
+ base.add_element("project_license").add_text(license)
+ end
+ base.add_element("extends").add_text("org.opensuse.YaST")
+ if url
+ base.add_element("url", "type" => "homepage").add_text(url)
+ else
+ base.add_element("url", "type" => "homepage").add_text("https://yast.opensuse.org")
+ end
+ base.add_element("url", "type" => "bugtracker").add_text("https://bugzilla.opensuse.org")
+ base.add_element("update_contact").add_text("yast-devel@opensuse.org")
+
+ formatter = REXML::Formatters::Pretty.new(2)
+ formatter.compact = true
+ formatter.write(xml, output)
+ output
+end
+
+result = metainfo_gen(options[:file], options[:license], options[:url], options[:version])
+if options[:output] && options[:file]
+ filename = options[:output] + File.basename(options[:file], ".desktop") + ".metainfo.xml"
+ File.write(filename, result)
+elsif options[:file]
+ puts result
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-4.2.0/package/yast2-devtools.changes new/yast2-devtools-4.2.5/package/yast2-devtools.changes
--- old/yast2-devtools-4.2.0/package/yast2-devtools.changes 2019-04-25 18:03:32.000000000 +0200
+++ new/yast2-devtools-4.2.5/package/yast2-devtools.changes 2019-07-17 10:09:26.000000000 +0200
@@ -1,4 +1,37 @@
-------------------------------------------------------------------
+Wed Jul 17 07:25:46 UTC 2019 - Ladislav Slezák
+
+- Fixed syntax error in the RPM macros causing
+ "line 53: [: missing `]'" error during package build
+- Related to the desktop file changes (boo#1084864)
+- 4.2.5
+
+-------------------------------------------------------------------
+Tue Jun 25 11:43:00 UTC 2019 - Josef Reidinger
+
+- Allow smooth adaptation of newer rubocop by adding defaults for
+ it (bsc#1139270)
+- 4.2.4
+
+-------------------------------------------------------------------
+Sat Jun 1 21:58:50 UTC 2019 - Stasiek Michalski
+
+- Adapt to desktop file changes (boo#1084864)
+- 4.2.3
+
+-------------------------------------------------------------------
+Wed May 29 11:46:25 UTC 2019 - Stasiek Michalski
+
+- Create a directory for metainfo files (fate#319035)
+- 4.2.2
+
+-------------------------------------------------------------------
+Mon May 20 15:28:02 UTC 2019 - Stasiek Michalski
+
+- Generate metainfo appstream for desktop files (fate#319035)
+- 4.2.1
+
+-------------------------------------------------------------------
Thu Apr 25 15:56:13 UTC 2019 - Stasiek Michalski
- Check if directory exists before updating desktop files (boo#1133433)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-4.2.0/package/yast2-devtools.spec new/yast2-devtools-4.2.5/package/yast2-devtools.spec
--- old/yast2-devtools-4.2.0/package/yast2-devtools.spec 2019-04-25 18:03:32.000000000 +0200
+++ new/yast2-devtools-4.2.5/package/yast2-devtools.spec 2019-07-17 10:09:26.000000000 +0200
@@ -12,16 +12,18 @@
# 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/
#
Name: yast2-devtools
-Version: 4.2.0
+Version: 4.2.5
Release: 0
-Url: http://github.com/yast/yast-devtools
+Url: https://github.com/yast/yast-devtools
+Summary: YaST2 - Development Tools
+License: GPL-2.0-or-later
+Group: System/YaST
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: %{name}-%{version}.tar.bz2
BuildRequires: automake
@@ -33,11 +35,8 @@
BuildRequires: perl-XML-Writer
BuildRequires: pkgconfig
BuildRequires: sgml-skel
-Requires: yast2-buildtools
-Summary: YaST2 - Development Tools
-License: GPL-2.0-or-later
-Group: System/YaST
+Requires: yast2-buildtools
BuildArch: noarch
@@ -69,13 +68,12 @@
# weak dependency, "make pot" is usually not needed
Suggests: rubygem(gettext)
-
%description -n yast2-buildtools
Scripts and templates required for rebuilding the existing YaST2
modules and components (both ruby and C++).
%prep
-%setup -n yast2-devtools-%{version}
+%setup -q
%build
make -f Makefile.cvs all
@@ -84,32 +82,31 @@
make
%install
-make install DESTDIR="$RPM_BUILD_ROOT"
-[ -e "%{_prefix}/share/YaST2/data/devtools/NO_MAKE_CHECK" ] || Y2DIR="$RPM_BUILD_ROOT/%{_prefix}/share/YaST2" make check DESTDIR="$RPM_BUILD_ROOT"
-for f in `find $RPM_BUILD_ROOT/%{_prefix}/share/applications/YaST2 -name "*.desktop"` ; do
+make install DESTDIR="%{buildroot}"
+[ -e "%{_datadir}/YaST2/data/devtools/NO_MAKE_CHECK" ] || Y2DIR="%{buildroot}%{_datadir}/YaST2" make check DESTDIR="%{buildroot}"
+for f in `find %{buildroot}%{_datadir}/applications/YaST2 -name "*.desktop"` ; do
d=${f##*/}
%suse_update_desktop_file -d ycc_${d%.desktop} ${d%.desktop}
done
%if 0%{?qemu_user_space_build}
# disable testsuite on QEMU builds, will fail
-cat > "$RPM_BUILD_ROOT/%{_prefix}/share/YaST2/data/devtools/NO_MAKE_CHECK" < "%{buildroot}%{_datadir}/YaST2/data/devtools/NO_MAKE_CHECK" < "$RPM_BUILD_ROOT/%{_prefix}/share/YaST2/data/devtools/NO_MAKE_CHECK" < "%{buildroot}%{_datadir}/YaST2/data/devtools/NO_MAKE_CHECK" <https://github.com/bbatsov/ruby-style-guide#alias-method-lexically
+# so force
+# class C
+# alias_method :a, :b
+#
+# instead of:
+# class C
+# alias b a
+Style/Alias:
+ EnforcedStyle: prefer_alias_method
+
+# often return code of shell call is compared and using `exitstatus == 0`
+# is more obvious then exitstatus.zero? especially when SCR can return nil
+Style/NumericPredicate:
+ Enabled: false
+
+# no strong preference if 5 == a or a == 5 should be enforced
+Style/YodaCondition:
+ Enabled: false
+
+# Do not enforce neither style of access modifiers as both are useful
+Style/AccessModifierDeclarations:
+ Enabled: false
+
+# when ternany is complex is should be clear enclosed in parentheses for easier read
+Style/TernaryParentheses:
+ EnforcedStyle: require_parentheses_when_complex
+
+# format string is not unified and depending on usage. All three usages has advantages
+# simple style is understandable for translators, but when there are more params it needs names.
+# And template version is needed if there are more params and it needs some formatting.
+Style/FormatStringToken:
+ Enabled: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-4.2.0/ytools/y2tool/rubocop_yast_style.yml new/yast2-devtools-4.2.5/ytools/y2tool/rubocop_yast_style.yml
--- old/yast2-devtools-4.2.0/ytools/y2tool/rubocop_yast_style.yml 2019-04-25 18:03:32.000000000 +0200
+++ new/yast2-devtools-4.2.5/ytools/y2tool/rubocop_yast_style.yml 2019-07-17 10:09:26.000000000 +0200
@@ -1,26 +1,13 @@
-################################################################################
-#
-# This part contains the shared Rubocop configuration for SUSE projects. It is
-# maintained at https://github.com/SUSE/style-guides/blob/master/rubocop-suse.yml
-#
-# NOTE: some rules have been commented out, see the YaST specific changes
-# at the end of the file!
-#
-################################################################################
-
Lint/EndAlignment:
- StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#lintendalignment
AlignWith: variable
AllCops:
TargetRubyVersion: 2.1
Metrics/AbcSize:
- StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#metricsabcsize
Max: 30
Metrics/LineLength:
- StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#metricslinelength
Max: 100
# To make it possible to copy or click on URIs in the code, we allow lines
# contaning a URI to be longer than Max.
@@ -30,58 +17,37 @@
- https
Style/AlignHash:
- StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#stylealignhash
EnforcedHashRocketStyle: table
EnforcedColonStyle: table
-# Disabled, see the YaST default at the end of the file
-#Style/AlignParameters:
-# StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#stylealignparameter...
-# Enabled: false
-
Style/CollectionMethods:
- StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#stylecollectionmeth...
Enabled: false
Style/EmptyLinesAroundBlockBody:
- StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#styleemptylinesarou...
Enabled: false
Style/MultilineOperationIndentation:
- StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#stylemultilineopera...
EnforcedStyle: indented
Style/StringLiterals:
- StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#stylestringliterals
EnforcedStyle: double_quotes
Style/StringLiteralsInInterpolation:
- StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#stylestringliterals...
EnforcedStyle: double_quotes
Style/WordArray:
- StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#deviations-from-the...
Enabled: false
Style/RegexpLiteral:
- StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#deviations-from-the...
Enabled: false
Style/SignalException:
- StyleGuide: https://github.com/bbatsov/ruby-style-guide#fail-method
EnforcedStyle: only_raise
# Do not require an underscore each three digits. Both 65536 and 65_536 are allowed.
Style/NumericLiterals:
- StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#stylenumericliteral...
Enabled: false
-################################################################################
-#
-# This part contains the YaST specific changes to the shared SUSE configuration
-#
-################################################################################
-
# no extra indentation for multiline function calls.
# Reason is that some legacy ruby API call have a lot of parameters and it makes
# looking it ugly. Especially UI constructions with helpers cannot fit into line