Hello community, here is the log from the commit of package yast2-devtools for openSUSE:Factory checked in at 2016-03-20 11:47:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-devtools (Old) and /work/SRC/openSUSE:Factory/.yast2-devtools.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-devtools" Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-devtools/yast2-devtools.changes 2016-02-25 21:52:07.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.yast2-devtools.new/yast2-devtools.changes 2016-03-20 11:47:34.000000000 +0100 @@ -1,0 +2,7 @@ +Mon Mar 14 13:52:04 UTC 2016 - mvid...@suse.com + +- y2makepot: copy also comments for translators from control.xml + (FATE#317481) +- 3.1.41 + +------------------------------------------------------------------- Old: ---- yast2-devtools-3.1.40.tar.bz2 New: ---- yast2-devtools-3.1.41.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-devtools.spec ++++++ --- /var/tmp/diff_new_pack.VFDXk1/_old 2016-03-20 11:47:35.000000000 +0100 +++ /var/tmp/diff_new_pack.VFDXk1/_new 2016-03-20 11:47:35.000000000 +0100 @@ -17,7 +17,7 @@ Name: yast2-devtools -Version: 3.1.40 +Version: 3.1.41 Release: 0 Url: http://github.com/yast/yast-devtools ++++++ yast2-devtools-3.1.40.tar.bz2 -> yast2-devtools-3.1.41.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/build-tools/rpm/macros.yast new/yast2-devtools-3.1.41/build-tools/rpm/macros.yast --- old/yast2-devtools-3.1.40/build-tools/rpm/macros.yast 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/build-tools/rpm/macros.yast 2016-03-14 15:41:20.000000000 +0100 @@ -67,34 +67,38 @@ %{__make} %{?jobs:-j%jobs}%{?!jobs:%{?_smp_mflags:%_smp_mflags}} \ %endif # "x%%{?make_build}" != "x" +# TODO: coveralls support +%yast_ci_check \ +if [ -f "Rakefile" ]; then \ + LC_ALL=en_US.UTF-8 rake --verbose --trace check:ci \ +fi \ + # Run the tests, when "--with=yast_run_ci_tests" osc option is set some # additional tests are executed (rubocop, spell check...). %yast_check \ %if %{with yast_run_ci_tests} \ - if [ -f "configure.in.in" -o -f "configure.ac.in" ]; then \ - # TODO: fix the check:ci task to also work with autotools based modules \ - %{__make} check \\\ - VERBOSE=1 \\\ - Y2DIR="%{buildroot}/%{yast_dir}" \\\ - DESTDIR="%{buildroot}" \ - elif [ -f "Rakefile" ]; then \ - # TODO: coveralls support \ - LC_ALL=en_US.UTF-8 rake --verbose --trace check:ci \ - fi \ + if [ -f "configure.in.in" -o -f "configure.ac.in" ]; then \ + # TODO: fix the check:ci task to also work with autotools based modules \ + %{__make} check \\\ + VERBOSE=1 \\\ + Y2DIR="%{buildroot}/%{yast_dir}" \\\ + DESTDIR="%{buildroot}" \ + fi \ + %yast_ci_check \ %else \ - if [ ! -f "%{yast_ydatadir}/devtools/NO_MAKE_CHECK" ]; then \ - if [ -f "configure.in.in" -o -f "configure.ac.in" ]; then \ - %{__make} check \\\ - VERBOSE=1 \\\ - Y2DIR="%{buildroot}/%{yast_dir}" \\\ - DESTDIR="%{buildroot}" \ - elif [ -f "Rakefile" ]; then \ - rake test:unit \ - else \ - echo "Cannot run tests, no configure.{ac|in}.in or Rakefile found" 1>&2 \ - exit 1 \ - fi \ - fi \ + if [ ! -f "%{yast_ydatadir}/devtools/NO_MAKE_CHECK" ]; then \ + if [ -f "configure.in.in" -o -f "configure.ac.in" ]; then \ + %{__make} check \\\ + VERBOSE=1 \\\ + Y2DIR="%{buildroot}/%{yast_dir}" \\\ + DESTDIR="%{buildroot}" \ + elif [ -f "Rakefile" ]; then \ + rake test:unit \ + else \ + echo "Cannot run tests, no configure.{ac|in}.in or Rakefile found" 1>&2 \ + exit 1 \ + fi \ + fi \ %endif %yast_desktop_files \ @@ -120,6 +124,9 @@ # other distris may choose to run them during %%check \ %if 0%{?suse_version} || 0%{?yast_check_during_install} \ %yast_check \ + %if %{with yast_run_ci_tests} \ + %yast_ci_check \ + %endif \ %endif # 0%%{?suse_version} || 0%%{?yast_check_during_install} \ elif [ -f "Rakefile" ]; then \ rake install DESTDIR="%{buildroot}" \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/build-tools/scripts/control_to_glade.xsl new/yast2-devtools-3.1.41/build-tools/scripts/control_to_glade.xsl --- old/yast2-devtools-3.1.40/build-tools/scripts/control_to_glade.xsl 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/build-tools/scripts/control_to_glade.xsl 2016-03-14 15:41:20.000000000 +0100 @@ -23,6 +23,15 @@ </xsl:element> </xsl:template> +<!-- comments for translators --> +<!-- match a comment immediately preceding a <label>, + see http://stackoverflow.com/questions/2613159/xslt-and-xpath-match-preceding-comments --> +<xsl:template match="comment()[following-sibling::*[1]/self::n:label]"> + <xsl:copy> + <xsl:apply-templates/> + </xsl:copy> +</xsl:template> + <!-- replace the root <productDefines> element by <interface> due to namespace it cannot be used literally diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/jenkins-tools/README.md new/yast2-devtools-3.1.41/jenkins-tools/README.md --- old/yast2-devtools-3.1.40/jenkins-tools/README.md 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/jenkins-tools/README.md 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -## Jenkins tools - -Jenkins tools are intended to help with mass operations -on <http://ci.opensuse.org/> - -They are not intended to be distributed in a RPM. -Usage requires reading the source code of each tool. Configuration is partly -done directly in the source. -If you can do your task quicker than reading the script -then it is not the right tool for you. - -They can be used only if you have an account with proper rights. -In the same directory, copy the template `jenkins.yml.template` to a file -`jenkins.yml` and fill required credentials. - -## Hints about jenkins - -- general API hint: look at ci.opensuse.org/api . For api for given page append `/api/xml`. - For config xml append to job view `/config.xml` like <https://ci.opensuse.org/view/Yast/job/yast-users-master/config.xml>. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/jenkins-tools/config.xml new/yast2-devtools-3.1.41/jenkins-tools/config.xml --- old/yast2-devtools-3.1.40/jenkins-tools/config.xml 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/jenkins-tools/config.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project> - <actions/> - <description/> - <logRotator class="hudson.tasks.LogRotator"> - <daysToKeep>-1</daysToKeep> - <numToKeep>3</numToKeep> - <artifactDaysToKeep>-1</artifactDaysToKeep> - <artifactNumToKeep>-1</artifactNumToKeep> - </logRotator> - <keepDependencies>false</keepDependencies> - <properties/> - <scm class="hudson.plugins.git.GitSCM" plugin="git@2.0"> - <configVersion>2</configVersion> - <userRemoteConfigs> - <hudson.plugins.git.UserRemoteConfig> - <url>https://github.com/yast/yast-apparmor.git</url> - </hudson.plugins.git.UserRemoteConfig> - </userRemoteConfigs> - <branches> - <hudson.plugins.git.BranchSpec> - <name>master</name> - </hudson.plugins.git.BranchSpec> - </branches> - <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations> - <submoduleCfg class="list"/> - <extensions> - <hudson.plugins.git.extensions.impl.CleanCheckout/> - <hudson.plugins.git.extensions.impl.DisableRemotePoll/> - </extensions> - </scm> - <assignedNode>yast-jenkins</assignedNode> - <canRoam>false</canRoam> - <disabled>false</disabled> - <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> - <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> - <triggers> - <hudson.triggers.SCMTrigger> - <spec>H/5 * * * *</spec> - <ignorePostCommitHooks>false</ignorePostCommitHooks> - </hudson.triggers.SCMTrigger> - </triggers> - <concurrentBuild>false</concurrentBuild> - <builders> - <hudson.tasks.Shell> - <command>cd $WORKSPACE; rake osc:sr; cd - </command> - </hudson.tasks.Shell> - </builders> - <publishers> - <hudson.tasks.Mailer plugin="mailer@1.6"> - <recipients>yast-com...@opensuse.org</recipients> - <dontNotifyEveryUnstableBuild>true</dontNotifyEveryUnstableBuild> - <sendToIndividuals>true</sendToIndividuals> - </hudson.tasks.Mailer> - </publishers> - <buildWrappers/> -</project> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/jenkins-tools/fetch-jobs.rb new/yast2-devtools-3.1.41/jenkins-tools/fetch-jobs.rb --- old/yast2-devtools-3.1.40/jenkins-tools/fetch-jobs.rb 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/jenkins-tools/fetch-jobs.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,67 +0,0 @@ -#!/usr/bin/env ruby -# -# This script get jobs configurations. It relies on jenkins_api_client gem -# instead of Jenkins Java CLI, so it's quiet fast. -# -# ruby fetch-jobs.rb --config ci-jenkins.yml --prefix yast- --output configs -# -# You can get more information using the --help option: -# -# ruby fetch-jobs.rb --help -begin - require "jenkins_api_client" -rescue LoadError - STDERR.puts "You need to install rubygem-jenkins_api_client package" - exit 1 -end -require "yaml" -require "pathname" -require "optparse" -require "fileutils" - -module GetJobs - class Application - def initialize(argv) - opts = parse_options(argv) - @client = JenkinsApi::Client.new(YAML.load_file(opts[:config])) - @prefix = opts[:prefix] - @output = Pathname(opts[:output]) - end - - def run - FileUtils.mkdir_p(@output) unless Dir.exist?(@output) - @client.job.list(@prefix).each do |name| - job_config = @client.job.get_config(name) - File.open(@output.join("#{name}.xml").to_s, "w+") do |f| - f.puts job_config - end - end - end - - private - - def parse_options(argv) - opts = { config: "jenkins.yml", prefix: "yast-", output: "jobs" } - parser = OptionParser.new - parser.banner = "Usage: fetch-jobs.rb [options]" - parser.separator "" - parser.on("-c", "--config CONFIG", "Jenkins configuration file") do |config| - opts[:config] = config - end - parser.on("-p", "--prefix PREFIX", "Jobs prefix") do |prefix| - opts[:prefix] = prefix - end - parser.on("-d", "--output DIRECTORY", "Output directory") do |output| - opts[:output] = output - end - parser.on_tail("-h", "--help", "Display help") do - puts parser - exit - end - parser.parse!(argv) - opts - end - end -end - -GetJobs::Application.new(ARGV).run diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/jenkins-tools/jenkins.yml.template new/yast2-devtools-3.1.41/jenkins-tools/jenkins.yml.template --- old/yast2-devtools-3.1.40/jenkins-tools/jenkins.yml.template 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/jenkins-tools/jenkins.yml.template 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ ---- -server_ip: <server> -username: <username> -password: <password> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/jenkins-tools/yast-jenkins-create.rb new/yast2-devtools-3.1.41/jenkins-tools/yast-jenkins-create.rb --- old/yast2-devtools-3.1.40/jenkins-tools/yast-jenkins-create.rb 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/jenkins-tools/yast-jenkins-create.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,32 +0,0 @@ -#! /usr/bin/env ruby -require "fileutils" -require "yaml" - -# script for mass create of jobs in our jenkins -# credentials stored in jenkins.yml -# modify `config.xml` if needed ( git path will be automatic modify ) -# modify JOB_NAME_PATTERN before use to specify pattern of job to delete - -conf = YAML.load(File.read("jenkins.yml")) -USER = conf["username"] -PWD = conf["password"] -URL_BASE = "https://#{USER}:#{PWD}@ci.opensuse.org" -#URL_BASE = "http://river.suse.de" - -# %s is replaced by arguments passed to program -JOB_NAME_PATTERN = "yast-%s-master" - -ARGV.each do |mod| - #test if module already exist - response_code = `curl -sL -w "%{http_code}" #{URL_BASE}/job/#{JOB_NAME_PATTERN % mod}/ -o /dev/null` - next if response_code == "200" - - FileUtils.rm_f "config.xml.tmp" - # now modify config.xml to fit given module - `sed 's/yast-.*\.git/yast-#{mod}.git/' config.xml > config.xml.tmp` - - # adress found from https://ci.opensuse.org/api - res = `curl -X POST #{URL_BASE}/createItem?name=#{JOB_NAME_PATTERN % mod} --header "Content-Type:application/xml" -d @config.xml.tmp` - puts "ERROR: #{res}" if $?.exitstatus != 0 - puts "ERROR: Wrong Credentials. \n #{res}" if res =~ /Authentication required/ -end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/jenkins-tools/yast-jenkins-delete.rb new/yast2-devtools-3.1.41/jenkins-tools/yast-jenkins-delete.rb --- old/yast2-devtools-3.1.40/jenkins-tools/yast-jenkins-delete.rb 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/jenkins-tools/yast-jenkins-delete.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -#! /usr/bin/env ruby -# script for mass delete of jobs in our jenkins -# credentials stored in jenkins.yml -# modify JOB_NAME_PATTERN before use to specify pattern of job to delete - -require "yaml" - -conf = YAML.load(File.read("jenkins.yml")) -USER = conf["username"] -PWD = conf["password"] -URL_BASE = "https://#{USER}:#{PWD}@ci.opensuse.org" -#URL_BASE = "http://river.suse.de" -# %s is replaced by arguments passed to program -JOB_NAME_PATTERN = "yast-%s-test" - -ARGV.each do |mod| - # address to delete from http://jenkins-ci.361315.n4.nabble.com/Deleting-a-job-through-the-Remote-API-td3622851.html - `curl -X POST #{URL_BASE}/job/#{JOB_NAME_PATTERN % mod}/doDelete` -end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/jenkins-tools/yast-jenkins-list-jobs.rb new/yast2-devtools-3.1.41/jenkins-tools/yast-jenkins-list-jobs.rb --- old/yast2-devtools-3.1.40/jenkins-tools/yast-jenkins-list-jobs.rb 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/jenkins-tools/yast-jenkins-list-jobs.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,21 +0,0 @@ -#! /usr/bin/env ruby -require "rexml/document" - -# script for geting all yast jobs matching JOB_NAME_REGEXP where parens enclosed are name - -JOB_NAME_REGEXP = /\Ayast-(.*)-master\z/ - -#test if module already exist -all_modules = `curl -sL http://ci.opensuse.org/view/Yast/api/xml` -#all_modules = `curl -sL http://river.suse.de/view/YaST/api/xml` - -raise "module list cannot load" if $?.exitstatus != 0 - -doc = REXML::Document.new all_modules - -names = doc.root.elements.to_a("//name"). - map(&:get_text). - select{ |n| n.to_s =~ JOB_NAME_REGEXP}. - map{ |n| n.to_s.sub(JOB_NAME_REGEXP, "\\1") } - -print names.join("\n") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/jenkins-tools/yast-jenkins-modify.rb new/yast2-devtools-3.1.41/jenkins-tools/yast-jenkins-modify.rb --- old/yast2-devtools-3.1.40/jenkins-tools/yast-jenkins-modify.rb 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/jenkins-tools/yast-jenkins-modify.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,54 +0,0 @@ -#! /usr/bin/env ruby -require "fileutils" -require "yaml" - -# script for mass create of jobs in our jenkins -# credentials stored in jenkins.yml -# modify `config.xml` if needed ( git path will be automatic modify ) -# modify JOB_NAME_PATTERN before use to specify pattern of job to delete - -conf = YAML.load(File.read("jenkins.yml")) -USER = conf["username"] -PWD = conf["password"] - -# %s is replaced by arguments passed to program -JOB_NAME_PATTERN = "yast-%s-master" - -URL_BASE = "https://#{USER}:#{PWD}@ci.opensuse.org" -#URL_BASE = "http://river.suse.de" - -# modules that do not follow yast-{mod} convention -SPECIAL_MOD_NAMES = [ - "skelcd-control-SLES", - "skelcd-control-SLED", - "skelcd-control-openSUSE", - "skelcd-control-openSUSE-LangAddOn", - "skelcd-control-SLES-for-VMware", - "y2r" -] - -# All jobs on Jenkins have the name "yast-$MODULE-$BRANCH", but ARGV gets just a list of $MODULE -ARGV.each do |mod| - #test if module already exist - response_code = `curl -sL -w "%{http_code}" #{URL_BASE}/job/#{JOB_NAME_PATTERN % mod}/ -o /dev/null` - raise "module #{mod} do not exists" unless response_code == "200" - - FileUtils.rm_f "config.xml.tmp" - git_name = SPECIAL_MOD_NAMES.include?(mod) ? mod : "yast-#{mod}" - # now modify config.xml to fit given module - `sed 's/yast-[a-z_-]*\.git/#{git_name}.git/' config.xml > config.xml.tmp` - - # adress found from https://ci.opensuse.org/api - cmd = "curl -X POST #{URL_BASE}/job/#{JOB_NAME_PATTERN % mod}/config.xml --header \"Content-Type:application/xml\" -d @config.xml.tmp" - puts "Sending data for module #{git_name} with #{cmd}" - res = `#{cmd}` - puts "ERROR: curl exited with non-zero value" if $?.exitstatus != 0 - puts case res - when "" - "Succeed" - when /Authentication required/ - "ERROR: Wrong Credentials. \n #{res}" - else - "non-standard response: #{res}" - end -end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/mass-tools/README new/yast2-devtools-3.1.41/mass-tools/README --- old/yast2-devtools-3.1.40/mass-tools/README 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/mass-tools/README 1970-01-01 01:00:00.000000000 +0100 @@ -1,45 +0,0 @@ -Y2M - the YaST2 meta tool - -This is a simple tool to help you to checkout all YaST modules, while -maintaining the directory structure of the former svn repo. - -With this tool you can - * checkout all or just your favorite modules - * switch all (or favorite) modules to a specific branch - * run git pull on all (or favorite) modules -with just one command. - -Note: There is no need to use this tool. - You can do everything manually as well. - -Installation: - - cd $CHECKOUTDIR - git clone g...@github.com:yast/yast-meta meta - cd meta - ln -s `pwd`/y2m ~/bin/ - -Usage: - y2m <command> [<modules>,..] - -commands - clone : run git clone for <modules> - up|pull : run git pull for a <modules> - co|br <name> : run git checkout to switch to branch <name> for <modules> -modules - 'ALL' : applies to all current known yast modules - 'FAV' : applies to only your favorite modules, set in ~/.y2m - <lowercase string> : applies to the named modules - -Reserved Branch and Tag Name Prefixes - -In order to maintain a certain consistency between the modules there are -some prefixes that you should *not* use for your own branches/tags. -They are reserved for openSUSE or SLE releases. -Reserved prefixed for branches and tags: - * 'openSUSE-' - * 'SLE-' - * 'Code-' - -See also: http://en.opensuse.org/YaST_SVN_to_GIT - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/mass-tools/github-scripts/github-create-email-hook new/yast2-devtools-3.1.41/mass-tools/github-scripts/github-create-email-hook --- old/yast2-devtools-3.1.40/mass-tools/github-scripts/github-create-email-hook 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/mass-tools/github-scripts/github-create-email-hook 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ -#!/bin/bash -. github-secrets - -organization="yast" -repolist=`./github-list-repos $organization` - -for repo in $repolist -do - json=json-${repo} - cat > ${json} << EOJSON - { - "name": "email", - "active": true, - "config": { - "address": "yast-com...@opensuse.org" - } - } -EOJSON - - curl -s -n -X POST -d @${json} https://api.github.com/repos/${organization}/${repo}/hooks -o ${json}.result -done - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/mass-tools/github-scripts/github-disable-email-hook new/yast2-devtools-3.1.41/mass-tools/github-scripts/github-disable-email-hook --- old/yast2-devtools-3.1.40/mass-tools/github-scripts/github-disable-email-hook 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/mass-tools/github-scripts/github-disable-email-hook 1970-01-01 01:00:00.000000000 +0100 @@ -1,37 +0,0 @@ -#!/bin/bash -# When recovering the broken svn-git migration, -# we needed to temporarily disable the commit email notifications. - -# Stop on errors. -set -e - -# Check that ~/.netrc knows github -. github-secrets - -organization="yast" -# Get the list from http://zq1.de/bernhard/yast-broken-list.txt -repolist=`sed 's/^/yast-/' yast-broken-list.txt` - -for repo in $repolist -do - echo -n $repo... - curl -f -s -n https://api.github.com/repos/${organization}/${repo}/hooks -o ${json}.list - if [ $(grep '"id"' ${json}.list | wc -l) != 1 ]; then - echo "$repo has more than one hook. fix manually" - touch ${repo}.error - continue - fi - ID=$(sed -n 's/.*"id": \([0-9]*\).*/\1/;T;p;q' ${json}.list) - json=json-${repo} - cat > ${json} << EOJSON - { - "name": "email", - "active": false, - "config": { - "address": "yast-com...@opensuse.org" - } - } -EOJSON - curl -f -s -n -X PATCH -d @${json} https://api.github.com/repos/${organization}/${repo}/hooks/$ID -o ${json}.result - echo " OK" -done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/mass-tools/github-scripts/github-list-repos new/yast2-devtools-3.1.41/mass-tools/github-scripts/github-list-repos --- old/yast2-devtools-3.1.40/mass-tools/github-scripts/github-list-repos 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/mass-tools/github-scripts/github-list-repos 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -#!/bin/bash - -# lists all repos for a organization -# arguments: organization - -curl -s http://github.com/api/v2/json/repos/show/${1} sed -e 's/[{}]/''/g' | awk -v RS=',"' -F: '/^name/ {print $2}' | tr '\n' " " | sed -e 's/"//g' -e 's/,/ /g' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/mass-tools/github-scripts/github-secrets new/yast2-devtools-3.1.41/mass-tools/github-scripts/github-secrets --- old/yast2-devtools-3.1.40/mass-tools/github-scripts/github-secrets 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/mass-tools/github-scripts/github-secrets 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -# This file used to define the shell variables `username` and `password` -# but then they would show up in output of `ps`, `bash -x`... -# It is better to use `~/.netrc` which `curl -n` will use. -if ! grep -qs api.github.com ~/.netrc; then - echo "Set up your Github credentials first:" - echo " : >> ~/.netrc" - echo " chmod 600 ~/.netrc" - echo " echo 'machine api.github.com login USER password PASSWORD' >> ~/.netrc" - exit 1 -fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/mass-tools/github-scripts/remove-broken-branches new/yast2-devtools-3.1.41/mass-tools/github-scripts/remove-broken-branches --- old/yast2-devtools-3.1.40/mass-tools/github-scripts/remove-broken-branches 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/mass-tools/github-scripts/remove-broken-branches 1970-01-01 01:00:00.000000000 +0100 @@ -1,25 +0,0 @@ -#! /bin/bash -# Remove all "broken/*" branches and tags from a remote github repo -set -e -set -u -USER_SLASH_REPO=${1?\$1 should be USER/REPO eg. yast/yast-network} -REPO=${USER_SLASH_REPO#*/} -if ! git remote -v | grep /$REPO\\.git; then - echo "Error: must be in a working copy of $REPO." - exit 1 -fi -PREFIX=broken -REMOTE=killbroken -git remote add $REMOTE g...@github.com:$USER_SLASH_REPO.git -git fetch $REMOTE - -# ":broken/foo :broken/bar" -REFSPECS=$(git branch -r | sed -n "/$REMOTE\\/$PREFIX/{s,$REMOTE/,:,;p}") -git push $REMOTE $REFSPECS - -TAGS=(`git tag -l "$PREFIX/*"`) # array of tags matching prefix -git tag -d ${TAGS[@]} # delete them locally -git push $REMOTE ${TAGS[@]/#/:refs/tags/} # delete them from origin - -git remote rm $REMOTE -git fetch --all --prune diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/mass-tools/y2m new/yast2-devtools-3.1.41/mass-tools/y2m --- old/yast2-devtools-3.1.40/mass-tools/y2m 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/mass-tools/y2m 1970-01-01 01:00:00.000000000 +0100 @@ -1,296 +0,0 @@ -#!/bin/bash -# -# y2m - a tool to help with the checkout of the YaST git repos -# -# Author: J. Daniel Schmidt <j...@suse.de> -# Date: 2012/05/17 -# License: GPL2 -# Homepage: http://github.com/yast/yast-meta.git - -# Enable 'set -x' to get debug output (commands and arguments as they are executed): -#set -x - -# Make sure to have a clean environment: -PATH="/sbin:/usr/sbin:/usr/bin:/bin" -LC_ALL="POSIX" -LANG="POSIX" -umask 022 - -# The return value of a pipeline is the status of -# the last command to exit with a non-zero status, -# or zero if no command exited with a non-zero status: -set -o pipefail - -MY_NAME=${0##*/} - -Y2MCONF=~/.y2m - -# At https://github.com/yast see a repository -# e.g. https://github.com/yast/yast-yast2 which shows those URLs: -# For "SSH": g...@github.com:yast/yast-yast2.git -# For "Git Read-Only": git://github.com/yast/yast-yast2.git -GITHUBBASEURL_SSH=g...@github.com -GITHUBBASEURL_GitReadOnly=git://github.com - -get_repos() -{ - for orgname in "$@" - do for page in 1 2 3 4 5 - do # workaround for github's silly pagination - curl -s "https://api.github.com/orgs/${orgname}/repos?page=${page}&per_page=100" | grep "\"name\":" | sed -e "s/^.*name\": \"\(.*\)\",.*$/\1/" - done - done -} - -list_repos() -{ - get_repos $@ | sed -n -e ":a" -e "$ s/\n/,/gp;N;b a" | sed -e 's/"//g' -e 's/,/ /g' -} - -usage() -{ - echo - echo "Y2M - the YaST2 meta tool" - echo - echo "This is a simple tool to help you to checkout all YaST modules, while" - echo "maintaining the directory structure of the former svn repo." - echo - echo "With this tool you can" - echo " * checkout all or just your favorite modules" - echo " * switch all (or favorite) modules to a specific branch" - echo " * run git pull on all (or favorite) modules" - echo "with just one command." - echo - echo "Note: There is no need to use this tool." - echo " You can do everything manually as well." - echo - echo "Usage: $MY_NAME <command> [<modules>,..]" - echo - echo "commands" - echo " li|list : list modules in 'yast' and 'libyui' repos" - echo " cl|clone : run git clone for <modules>" - echo " ro|read-only : run git clone in read-only mode for <modules>" - echo " up|pull : run git pull for a <modules>" - echo " co|br <name> : run git checkout to switch to branch <name> for <modules>" - echo "modules" - echo " 'ALL' : applies to all current known yast modules" - echo " 'FAV' : applies to only your favorite modules, set in $Y2MCONF" - echo " <lowercase string> : applies to the named modules" - echo - echo "Reserved Branch and Tag Name Prefixes" - echo - echo "In order to maintain a certain consistency between the modules there are" - echo "some prefixes that you should *not* use for your own branches/tags." - echo "They are reserved for openSUSE or SLE releases." - echo "Reserved prefixed for branches and tags:" - echo " * 'openSUSE-'" - echo " * 'SLE-'" - echo " * 'Code-'" - echo "See also: http://en.opensuse.org/YaST_SVN_to_GIT" - echo - exit ${1:-1} -} - -createconfig() -{ - if [ -z "$1" ] - then - echo "Error: No path name given. Please enter a path name." - exit 1 - fi - - if ! mkdir -p "$1" - then - echo "Error: Could not create the base directory: $1" - exit 1 - fi - - cat > $Y2MCONF <<EOYCONF -# -# .y2m config file -# -# This file holds some basic information for the y2m tool -# - -# -# Base path where all the checkouts of all modules will be located -# while maintaining the directory structure of the former svn. -Y2MBASE="$1" - -# -# Your favorite modules (you either are the maintainer or just want to regularly track them) -# List of space separated module names including their new prefix: -# e.g. "yast-core yast-network yast-installation libyui-qt" -Y2MFAVORITES="" -EOYCONF -} - -function missingconf() -{ - echo "No config for y2m exists." - echo "In the $Y2MCONF file things like the base checkout directory need to be set." - echo "I will now create a config. Press Ctrl-C to abort." - echo - echo "Within the base path all YaST modules will be checked out, while maintaining" - echo "the same directory structure of the former svn repo." - read -p "Please enter base path: " Y2MBASE - createconfig $Y2MBASE -} - -[ -z "$1" -o "help" = "$1" ] && usage 0 - -#TODO: cache the module name information somewhere and just update them e.g. once a week or on request -# this would speed up the script run a lot as it would save two curl https requests -echo -echo "Getting repos for 'yast'..." -YMODULESALL="$( list_repos yast )" -echo "Getting repos for 'libyui'..." -LMODULESALL="$( list_repos libyui )" -echo "...got repos" - -CMD=$1 -shift - -[ ! -f $Y2MCONF ] && missingconf -[ ! -f $Y2MCONF ] && exit 1 -# overwrite variables that are set in the config -. $Y2MCONF - -case $CMD in - li|list) echo "Modules in 'yast' repo:" - echo "$YMODULESALL" | fold -s -w 78 - echo "Modules in 'libyui' repo:" - echo "$LMODULESALL" | fold -s -w 78 - exit 0;; - cl|clone) CMD=cl;; - ro|read-only) CMD=ro;; - up|pull) CMD=up;; - br|co) CMD=co - YBRANCH=$1 - shift;; - *) echo "Error: Unknown command: $CMD" - echo "Run '$0 help' for more information." - exit 1;; -esac - -MODULE=$1 -MODULESALL=$@ -shift - -MODULESACTIVE="" -case $MODULE in - ALL) - if [ $CMD = 'cl' -o $CMD = 'ro' ] - then - # ALL for cloning means: all remote repos - MODULESACTIVE="$YMODULESALL $LMODULESALL" - else - # ALL for the other commands means: all local repos - MODULESACTIVE=`ls $Y2MBASE/ | sed -e "s/^/yast-/"` - #FIXME: all names are mapped to yast- - #TODO: use the dynamically fetched repo lists to automatically map them correctly - fi - ;; - FAV) MODULESACTIVE=$Y2MFAVORITES - ;; - [a-z0-9]*) - MODULESACTIVE=$MODULESALL - ;; -esac - -if test -n "$MODULESACTIVE" -then echo "Running '$MY_NAME $CMD' for those modules:" - echo "$MODULESACTIVE" | fold -s -w 78 -else echo "Error: No modules found." - echo "Run '$0 help' for more information." - exit 1 -fi - -test -d "$Y2MBASE" && pushd $Y2MBASE &>/dev/null - -for M in $MODULESACTIVE -do - #HARDCODED exceptions that don't match schema - case ${M} in - y2r) ORG=yast - ;; - ruby-ui) ORG=libyui - ;; - ycp-killer) ORG=yast - ;; - *) ORG=${M%%-*} - ;; - esac - - case $ORG in - yast) MODDIRNAME=${M#yast-} - ;; - libyui) MODDIRNAME=${M} - ;; - y2r) MODDIRNAME=${M} - ORG="yast" - ;; - ruby) MODDIRNAME=${M} - ORG="libyui" - ;; - *) echo "Error: the organization '$ORG' is not supported." - echo "Please prefix the module names correctly (yast-*, libyui-*)." - exit 1 - ;; - esac - - #TODO: also support the common plain module names without the prefixes "yast-" and "libyui-" - # lookup the passed module names in the two lists and set the variables accordingly - # it would make the script more comfortable to use - - if [ -z "$MODDIRNAME" ] - then - echo "Error: could not parse the module name '$M'." - echo "Please prefix the module names correctly (yast-*, libyui-*)." - fi - case $CMD in - cl) if test -d $MODDIRNAME - then echo "Repo already cloned: $MODDIRNAME" - continue - fi - # pass directory name to clone command to maintain the original svn directory structure - echo - echo "Cloning ${GITHUBBASEURL_SSH}:${ORG}/${M}..." - git clone ${GITHUBBASEURL_SSH}:${ORG}/${M} $MODDIRNAME - echo "...cloned $M in directory $MODDIRNAME" - ;; - ro) if test -d $MODDIRNAME - then echo "Repo already exists: $MODDIRNAME" - continue - fi - # pass directory name to clone command to maintain the original svn directory structure - echo - echo "Read-only cloning ${GITHUBBASEURL_SSH}:${ORG}/${M}..." - git clone ${GITHUBBASEURL_GitReadOnly}/${ORG}/${M} $MODDIRNAME - echo "...cloned $M in directory $MODDIRNAME" - ;; - up) if ! test -d $MODDIRNAME - then echo "Repo does not exist: $MODDIRNAME" - continue - fi - pushd $MODDIRNAME >/dev/null - git pull - popd >/dev/null - ;; - co) if ! test -d $MODDIRNAME - then echo "Repo does not exist: $MODDIRNAME" - continue - fi - pushd $MODDIRNAME >/dev/null - git checkout $YBRANCH - popd >/dev/null - ;; - *) echo "Abort: No code for command '$CMD'. Please contact the author of this script." - test -d "$Y2MBASE" && popd &>/dev/null - exit 1 - ;; - esac -done - -test -d "$Y2MBASE" && popd &>/dev/null - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/obs-tools/README.md new/yast2-devtools-3.1.41/obs-tools/README.md --- old/yast2-devtools-3.1.40/obs-tools/README.md 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/obs-tools/README.md 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -## OBS tools - -Jenkins tools are intended to help with operations -on <http://build.opensuse.org/> ( or internal instance ). - -They are not intended to be distributed in a RPM. -Usage requires obs permissions for yast projects. -If you can do your task quicker than reading the script -then it is not the right tool for you. - -### opensuse42_submit.sh -Helps with submitting from factory to openSUSE:42. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/obs-tools/opensuse42_submit.sh new/yast2-devtools-3.1.41/obs-tools/opensuse42_submit.sh --- old/yast2-devtools-3.1.40/obs-tools/opensuse42_submit.sh 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/obs-tools/opensuse42_submit.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ -#! /bin/bash - -LIST=`osc list openSUSE:Factory | grep -i -e yast2 -e skelcd -e "^libstorage$" -e perl-bootloader -e linuxrc` - -for i in $LIST; do - # compare if something is new by comparing binaries ( as version is part of rpm output ) - OS42=$(osc cat openSUSE:42 $i $i.spec 2>/dev/null | grep "^Version" | sed 's/Version:[[:space:]]*//;s/#.*$//') - FACTORY=$(osc cat openSUSE:Factory $i $i.spec 2>/dev/null | grep "^Version" | sed 's/Version:[[:space:]]*//;s/#.*$//') - if [ "$OS42" == "$FACTORY" ]; then - continue - fi - echo "submitting $i..." - osc sr openSUSE:Factory $i openSUSE:42 -m "opensuse42_submit.sh: update of yast2 related package to the SLE12SP1 version" -done diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/package/yast2-devtools.changes new/yast2-devtools-3.1.41/package/yast2-devtools.changes --- old/yast2-devtools-3.1.40/package/yast2-devtools.changes 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/package/yast2-devtools.changes 2016-03-14 15:41:20.000000000 +0100 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Mon Mar 14 13:52:04 UTC 2016 - mvid...@suse.com + +- y2makepot: copy also comments for translators from control.xml + (FATE#317481) +- 3.1.41 + +------------------------------------------------------------------- Wed Feb 24 09:33:57 UTC 2016 - lsle...@suse.cz - YaST RPM macros - fix for the previous change: some packages diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/package/yast2-devtools.spec new/yast2-devtools-3.1.41/package/yast2-devtools.spec --- old/yast2-devtools-3.1.40/package/yast2-devtools.spec 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/package/yast2-devtools.spec 2016-03-14 15:41:20.000000000 +0100 @@ -17,7 +17,7 @@ Name: yast2-devtools -Version: 3.1.40 +Version: 3.1.41 Release: 0 Url: http://github.com/yast/yast-devtools diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.40/ytools/y2tool/rubocop_yast_style.yml new/yast2-devtools-3.1.41/ytools/y2tool/rubocop_yast_style.yml --- old/yast2-devtools-3.1.40/ytools/y2tool/rubocop_yast_style.yml 2016-02-24 11:33:07.000000000 +0100 +++ new/yast2-devtools-3.1.41/ytools/y2tool/rubocop_yast_style.yml 2016-03-14 15:41:20.000000000 +0100 @@ -69,6 +69,10 @@ 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 ################################################################################ # @@ -76,21 +80,122 @@ # ################################################################################ -# no extra indentation for multiline function calls +# 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. +# 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) +# Style/AlignParameters: EnforcedStyle: with_fixed_indentation -# no extra indentation for case +# 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 Style/CaseIndentation: IndentWhenRelativeTo: end -# "unless" has a different connotation than "if not" +# "unless" has a different connotation than "if not" so disable this check Style/NegatedIf: Enabled: false -# allow more than 10 lines for methods +# 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 + +# YaST use older rubocop that does not allow predicates by default, +# so explicitly allow it for older ones +Style/TrivialAccessors: + # predicates cannot be done with accessors + # Offense, a trivial accessor: + # + # def favorite_color + # @favorite_color + # end + # + # No offense, a predicate: + # + # def unladen_swallow? + # @unladen_swallow + # end + # + AllowPredicates: true + +# 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 +Style/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