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 <lsle...@suse.cz> + +- 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 <jreidin...@suse.com> + +- 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 <hel...@mailbox.org> + +- Adapt to desktop file changes (boo#1084864) +- 4.2.3 + +------------------------------------------------------------------- +Wed May 29 11:46:25 UTC 2019 - Stasiek Michalski <hel...@mailbox.org> + +- Create a directory for metainfo files (fate#319035) +- 4.2.2 + +------------------------------------------------------------------- +Mon May 20 15:28:02 UTC 2019 - Stasiek Michalski <hel...@mailbox.org> + +- 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" <<EOF +cat > "%{buildroot}%{_datadir}/YaST2/data/devtools/NO_MAKE_CHECK" <<EOF Disabling testsuite on QEMU builds, as the userspace emulation is not complete enough for yast2-core EOF %endif # Change false to true in the following line when yast2 core is broken -false && cat > "$RPM_BUILD_ROOT/%{_prefix}/share/YaST2/data/devtools/NO_MAKE_CHECK" <<EOF +false && cat > "%{buildroot}%{_datadir}/YaST2/data/devtools/NO_MAKE_CHECK" <<EOF When yast2 core is broken and the interpreter does not work, submitting yast2-devtools with the flag file existing will prevent ycp developers being flooded by testsuite failures. EOF -%fdupes %buildroot/%_prefix +%fdupes %{buildroot}%{_prefix} %files -%defattr(-,root,root) %dir %{_datadir}/emacs %dir %{_datadir}/emacs/site-lisp %{_datadir}/emacs/site-lisp/*ycp-mode.el @@ -121,7 +119,6 @@ %{_datadir}/vim/site/ftdetect/ycp_filetype.vim %dir %{_prefix}/lib/YaST2 %{_datadir}/cmake - %dir %{_datadir}/YaST2 %doc %{_datadir}/doc/packages/%{name} %dir %{_prefix}/lib/YaST2/bin @@ -143,11 +140,11 @@ %{_datadir}/YaST2/data/devtools/bin/gettextdomains %{_datadir}/YaST2/data/devtools/bin/ycp_puttext %{_datadir}/YaST2/data/devtools/data/rubocop_yast_style.yml +%{_datadir}/YaST2/data/devtools/data/rubocop-0.71.0_yast_style.yml %dir %{_datadir}/YaST2/control/ %{_datadir}/YaST2/control/control_to_glade.xsl %files -n yast2-buildtools -%defattr(-,root,root) %{_sysconfdir}/rpm/macros.yast %{_bindir}/y2tool %{_datadir}/aclocal/*.m4 @@ -167,6 +164,7 @@ %{_datadir}/YaST2/data/devtools/data/YaST2.dict.txt %{_datadir}/YaST2/data/devtools/bin/y2autoconf %{_datadir}/YaST2/data/devtools/bin/y2automake +%{_datadir}/YaST2/data/devtools/bin/y2metainfo %license COPYING %changelog ++++++ yast2-devtools-4.2.0.tar.bz2 -> 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 <hel...@opensuse.org> +# 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-launchable + 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-de...@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 <lsle...@suse.cz> + +- 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 <jreidin...@suse.com> + +- 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 <hel...@mailbox.org> + +- Adapt to desktop file changes (boo#1084864) +- 4.2.3 + +------------------------------------------------------------------- +Wed May 29 11:46:25 UTC 2019 - Stasiek Michalski <hel...@mailbox.org> + +- Create a directory for metainfo files (fate#319035) +- 4.2.2 + +------------------------------------------------------------------- +Mon May 20 15:28:02 UTC 2019 - Stasiek Michalski <hel...@mailbox.org> + +- Generate metainfo appstream for desktop files (fate#319035) +- 4.2.1 + +------------------------------------------------------------------- Thu Apr 25 15:56:13 UTC 2019 - Stasiek Michalski <hel...@mailbox.org> - 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" <<EOF +cat > "%{buildroot}%{_datadir}/YaST2/data/devtools/NO_MAKE_CHECK" <<EOF Disabling testsuite on QEMU builds, as the userspace emulation is not complete enough for yast2-core EOF %endif # Change false to true in the following line when yast2 core is broken -false && cat > "$RPM_BUILD_ROOT/%{_prefix}/share/YaST2/data/devtools/NO_MAKE_CHECK" <<EOF +false && cat > "%{buildroot}%{_datadir}/YaST2/data/devtools/NO_MAKE_CHECK" <<EOF When yast2 core is broken and the interpreter does not work, submitting yast2-devtools with the flag file existing will prevent ycp developers being flooded by testsuite failures. EOF -%fdupes %buildroot/%_prefix +%fdupes %{buildroot}%{_prefix} %files -%defattr(-,root,root) %dir %{_datadir}/emacs %dir %{_datadir}/emacs/site-lisp %{_datadir}/emacs/site-lisp/*ycp-mode.el @@ -121,7 +118,6 @@ %{_datadir}/vim/site/ftdetect/ycp_filetype.vim %dir %{_prefix}/lib/YaST2 %{_datadir}/cmake - %dir %{_datadir}/YaST2 %doc %{_datadir}/doc/packages/%{name} %dir %{_prefix}/lib/YaST2/bin @@ -143,12 +139,11 @@ %{_datadir}/YaST2/data/devtools/bin/gettextdomains %{_datadir}/YaST2/data/devtools/bin/ycp_puttext %{_datadir}/YaST2/data/devtools/data/rubocop_yast_style.yml +%{_datadir}/YaST2/data/devtools/data/rubocop-0.71.0_yast_style.yml %dir %{_datadir}/YaST2/control/ %{_datadir}/YaST2/control/control_to_glade.xsl - %files -n yast2-buildtools -%defattr(-,root,root) %{_sysconfdir}/rpm/macros.yast %{_bindir}/y2tool %{_datadir}/aclocal/*.m4 @@ -168,9 +163,7 @@ %{_datadir}/YaST2/data/devtools/data/YaST2.dict.txt %{_datadir}/YaST2/data/devtools/bin/y2autoconf %{_datadir}/YaST2/data/devtools/bin/y2automake +%{_datadir}/YaST2/data/devtools/bin/y2metainfo %license COPYING - - - %changelog diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-4.2.0/ytools/y2tool/Makefile.am new/yast2-devtools-4.2.5/ytools/y2tool/Makefile.am --- old/yast2-devtools-4.2.0/ytools/y2tool/Makefile.am 2019-04-25 18:03:32.000000000 +0200 +++ new/yast2-devtools-4.2.5/ytools/y2tool/Makefile.am 2019-07-17 10:09:26.000000000 +0200 @@ -15,4 +15,4 @@ tagversion confdatadir = @YAST2DEVTOOLS@/data -dist_confdata_DATA = rubocop_yast_style.yml +dist_confdata_DATA = rubocop_yast_style.yml rubocop-0.71.0_yast_style.yml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-4.2.0/ytools/y2tool/rubocop-0.71.0_yast_style.yml new/yast2-devtools-4.2.5/ytools/y2tool/rubocop-0.71.0_yast_style.yml --- old/yast2-devtools-4.2.0/ytools/y2tool/rubocop-0.71.0_yast_style.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-devtools-4.2.5/ytools/y2tool/rubocop-0.71.0_yast_style.yml 2019-07-17 10:09:26.000000000 +0200 @@ -0,0 +1,197 @@ +Layout/EndAlignment: + EnforcedStyleAlignWith: variable + +AllCops: + Exclude: + # avoid confusion of rpm spec and gem spec + - "**/*.spec" + TargetRubyVersion: 2.6 + +Metrics/AbcSize: + Max: 30 + +Metrics/LineLength: + 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. + AllowURI: true + URISchemes: + - http + - https + +Layout/AlignHash: + EnforcedHashRocketStyle: table + EnforcedColonStyle: table + +Style/CollectionMethods: + Enabled: false + +Layout/EmptyLinesAroundBlockBody: + Enabled: false + +Layout/MultilineOperationIndentation: + EnforcedStyle: indented + +Style/StringLiterals: + EnforcedStyle: double_quotes + +Style/StringLiteralsInInterpolation: + EnforcedStyle: double_quotes + +Style/WordArray: + Enabled: false + +Style/SymbolArray: + EnforcedStyle: brackets + +Style/RegexpLiteral: + Enabled: false + +Style/SignalException: + EnforcedStyle: only_raise + +# Do not require an underscore each three digits. Both 65536 and 65_536 are allowed. +Style/NumericLiterals: + Enabled: false + +# 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 +# lenght. Same applies to method calls separated by dot. +# required style ( and by default forbidden by rubocop ): +# +# SmartClass.smart_method(boring_parameter1, boring_parameter2, +# boring_parameter3, boring_parameter4) +# +# forbidden style ( require by default by rubocop ) +# +# SmartClass.smart_method(boring_parameter1, boring_parameter2, +# boring_parameter3, boring_parameter4) +# +Layout/AlignParameters: + EnforcedStyle: with_fixed_indentation +Layout/AlignArguments: + EnforcedStyle: with_fixed_indentation +Layout/MultilineMethodCallIndentation: + EnforcedStyle: indented + +# no extra indentation for case. +# We prefer style +# case a +# when 0 +# action_a +# when 1 +# action_b +# else +# action_c +# end +# +# before longer and from our POV without advantage style which can confuse as it +# indicate double nesting +# case a +# when 0 +# action_a +# when 1 +# action_b +# else +# action_c +# end +Layout/CaseIndentation: + EnforcedStyle: end + +# "unless" has a different connotation than "if not" so disable this check +Style/NegatedIf: + Enabled: false + +# allow more than 10 lines for methods as some team member feel unconfortable with it +Metrics/MethodLength: + Max: 30 + +# allow more than 100 lines for class as some team member feel unconfortable with it +Metrics/ClassLength: + Max: 250 + +# Allow using and/or for driving code flow as its original intention. +# Forbid it only in conditionals +# So this rule allow something like +# +# a = action_a or raise "Cannot do a" +# +# and forbids ( due to confusing operator precedence for work-flow and/or ) +# +# if a == 5 and b == 6 +# +Style/AndOr: + EnforcedStyle: conditionals + +# Access modified affect globally all following method definition, so +# it deserve bigger visibility then hiddin in method definition block. +# for that reason we found better style: +# class C +# ... +# +# private +# +# ... +# end +# +# then style where access modifier can be easier to overlook in longer class: +# class C +# ... +# +# private +# +# ... +# end +Layout/AccessModifierIndentation: + EnforcedStyle: outdent + +# Forcing ascii only comments prevents examples in code that deal with UTF +# strings so we allow using it +Style/AsciiComments: + Enabled: false + +# YaST code still have to deal with types in component system, so we allow +# double negation to enforce boolean value +# so this change allow code +# +# return !!result +# +Style/DoubleNegation: + Enabled: false + +# alias method is more convenient method for method aliasing even when in class +# context self scope is not so clear +# see 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#stylealignparameters -# Enabled: false - Style/CollectionMethods: - StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#stylecollectionmethods Enabled: false Style/EmptyLinesAroundBlockBody: - StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#styleemptylinesaroundblockbody Enabled: false Style/MultilineOperationIndentation: - StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#stylemultilineoperationindentation 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#stylestringliteralsininterpolation EnforcedStyle: double_quotes Style/WordArray: - StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#deviations-from-the-upstream-style-guide Enabled: false Style/RegexpLiteral: - StyleGuide: https://github.com/SUSE/style-guides/blob/master/Ruby.md#deviations-from-the-upstream-style-guide 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#stylenumericliterals 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