Hello community, here is the log from the commit of package yast2-devtools for openSUSE:Factory checked in at 2017-10-13 14:05:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-devtools (Old) and /work/SRC/openSUSE:Factory/.yast2-devtools.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "yast2-devtools" Fri Oct 13 14:05:14 2017 rev:91 rq:533395 version:4.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-devtools/yast2-devtools.changes 2016-08-31 00:01:43.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-devtools.new/yast2-devtools.changes 2017-10-13 14:05:15.828786100 +0200 @@ -1,0 +2,11 @@ +Tue Oct 10 09:12:46 UTC 2017 - mvidner@suse.com + +- Use -Wno-format-nonliteral (bsc#982942) +- 4.0.0 + +------------------------------------------------------------------- +Tue Sep 20 13:29:46 UTC 2016 - jreidinger@suse.com + +- run old yast testsuite in parallel to speed up build (bsc#999203) + +------------------------------------------------------------------- Old: ---- yast2-devtools-3.1.46.tar.bz2 New: ---- yast2-devtools-4.0.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-devtools.spec ++++++ --- /var/tmp/diff_new_pack.gdm80e/_old 2017-10-13 14:05:16.764744940 +0200 +++ /var/tmp/diff_new_pack.gdm80e/_new 2017-10-13 14:05:16.768744764 +0200 @@ -1,7 +1,7 @@ # # spec file for package yast2-devtools # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: yast2-devtools -Version: 3.1.46 +Version: 4.0.0 Release: 0 Url: http://github.com/yast/yast-devtools ++++++ yast2-devtools-3.1.46.tar.bz2 -> yast2-devtools-4.0.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.46/.travis.yml new/yast2-devtools-4.0.0/.travis.yml --- old/yast2-devtools-3.1.46/.travis.yml 2016-08-24 14:43:32.557095979 +0200 +++ new/yast2-devtools-4.0.0/.travis.yml 2017-08-16 12:23:33.004159992 +0200 @@ -1,13 +1,11 @@ -language: cpp -compiler: - - gcc -# install additional packages -# http://docs.travis-ci.com/user/installing-dependencies/ +sudo: required +language: bash +services: + - docker + before_install: - - sudo apt-get update -qq - - sudo apt-get install -y docbook-xsl xsltproc + - docker build -t yast-devtools-image . script: - - make -f Makefile.cvs - - make - - sudo make install - + # the "yast-travis-cpp" script is included in the base yastdevel/cpp image + # see https://github.com/yast/docker-yast-cpp/blob/master/yast-travis-cpp + - docker run -it yast-devtools-image yast-travis-cpp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.46/Dockerfile new/yast2-devtools-4.0.0/Dockerfile --- old/yast2-devtools-3.1.46/Dockerfile 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-devtools-4.0.0/Dockerfile 2017-08-16 12:23:33.004159992 +0200 @@ -0,0 +1,3 @@ +FROM yastdevel/cpp +COPY . /usr/src/app + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.46/build-tools/rpm/macros.yast new/yast2-devtools-4.0.0/build-tools/rpm/macros.yast --- old/yast2-devtools-3.1.46/build-tools/rpm/macros.yast 2016-08-24 14:43:32.593095979 +0200 +++ new/yast2-devtools-4.0.0/build-tools/rpm/macros.yast 2017-08-16 12:23:33.008159992 +0200 @@ -79,7 +79,7 @@ %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 \\\ + %{__make} check %{?jobs:-j%jobs}%{?!jobs:%{?_smp_mflags:%_smp_mflags}} \\\ VERBOSE=1 \\\ Y2DIR="%{buildroot}/%{yast_dir}" \\\ DESTDIR="%{buildroot}" \ @@ -88,7 +88,7 @@ %else \ if [ ! -f "%{yast_ydatadir}/devtools/NO_MAKE_CHECK" ]; then \ if [ -f "configure.in.in" -o -f "configure.ac.in" ]; then \ - %{__make} check \\\ + %{__make} check %{?jobs:-j%jobs}%{?!jobs:%{?_smp_mflags:%_smp_mflags}} \\\ VERBOSE=1 \\\ Y2DIR="%{buildroot}/%{yast_dir}" \\\ DESTDIR="%{buildroot}" \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.46/build-tools/scripts/y2autoconf new/yast2-devtools-4.0.0/build-tools/scripts/y2autoconf --- old/yast2-devtools-3.1.46/build-tools/scripts/y2autoconf 2016-08-24 14:43:32.597095979 +0200 +++ new/yast2-devtools-4.0.0/build-tools/scripts/y2autoconf 2017-10-11 14:22:25.743751197 +0200 @@ -288,7 +288,7 @@ ]) CFLAGS="${CFLAGS} -Wall -Wformat=2 -Wmissing-prototypes" -CXXFLAGS="${CXXFLAGS} ${Y2CORE_CFLAGS} -Wall -Wformat=2" +CXXFLAGS="${CXXFLAGS} ${Y2CORE_CFLAGS} -Wall -Wformat=2 -Wno-format-nonliteral" : ${AGENT_LIBADD:=\'-L$(libdir) -lscr -ly2util -lycpvalues\'} AC_SUBST(AGENT_LIBADD) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.46/package/yast2-devtools.changes new/yast2-devtools-4.0.0/package/yast2-devtools.changes --- old/yast2-devtools-3.1.46/package/yast2-devtools.changes 2016-08-24 14:43:32.617095979 +0200 +++ new/yast2-devtools-4.0.0/package/yast2-devtools.changes 2017-10-11 14:22:25.743751197 +0200 @@ -1,4 +1,15 @@ ------------------------------------------------------------------- +Tue Oct 10 09:12:46 UTC 2017 - mvidner@suse.com + +- Use -Wno-format-nonliteral (bsc#982942) +- 4.0.0 + +------------------------------------------------------------------- +Tue Sep 20 13:29:46 UTC 2016 - jreidinger@suse.com + +- run old yast testsuite in parallel to speed up build (bsc#999203) + +------------------------------------------------------------------- Wed Aug 24 12:36:47 UTC 2016 - jreidinger@suse.com - ignore in spellcheck 'vc' because used as 'osc vc' suggestion in diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.46/package/yast2-devtools.spec new/yast2-devtools-4.0.0/package/yast2-devtools.spec --- old/yast2-devtools-3.1.46/package/yast2-devtools.spec 2016-08-24 14:43:32.617095979 +0200 +++ new/yast2-devtools-4.0.0/package/yast2-devtools.spec 2017-10-11 14:22:25.743751197 +0200 @@ -17,7 +17,7 @@ Name: yast2-devtools -Version: 3.1.46 +Version: 4.0.0 Release: 0 Url: http://github.com/yast/yast-devtools diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.46/travis-tools/travis_setup.sh new/yast2-devtools-4.0.0/travis-tools/travis_setup.sh --- old/yast2-devtools-3.1.46/travis-tools/travis_setup.sh 2016-08-24 14:43:32.637095979 +0200 +++ new/yast2-devtools-4.0.0/travis-tools/travis_setup.sh 2017-08-16 12:23:33.020159992 +0200 @@ -21,6 +21,12 @@ # BASE URL on OBS project, so it works with same script for all supported branches. OBS_PROJECT=$(sed -n '/obs_project =/s/^.*\"\(.*\)\".*$/\1/p' Rakefile) case $OBS_PROJECT in + Devel:YaST:SLE-12-SP2 | Devel:YaST:CASP:1.0) + REPO_URLS="http://download.opensuse.org/repositories/YaST:/SLE-12:/SP2:/Travis/xUbuntu_..." + ;; + Devel:YaST:SLE-12-SP1) + REPO_URLS="http://download.opensuse.org/repositories/YaST:/SLE-12:/SP1:/Travis/xUbuntu_..." + ;; # SLE-12 Devel:YaST:SLE-12) REPO_URLS="http://download.opensuse.org/repositories/YaST:/SLE-12:/GA:/Travis/xUbuntu_1..." @@ -29,6 +35,14 @@ YaST:openSUSE:13.2) REPO_URLS="http://download.opensuse.org/repositories/YaST:/openSUSE:/13.2:/Travis/xUbun..." ;; + # OpenSUSE 42.1 + YaST:openSUSE:42.1) + REPO_URLS="http://download.opensuse.org/repositories/YaST:/openSUSE:/42.1:/Travis/xUbun..." + ;; + # OpenSUSE 42.2 + YaST:openSUSE:42.2) + REPO_URLS="http://download.opensuse.org/repositories/YaST:/openSUSE:/42.2:/Travis/xUbun..." + ;; # storage-ng YaST:storage-ng) REPO_URLS="http://download.opensuse.org/repositories/YaST:/Head:/Travis/xUbuntu_12.04 @@ -40,6 +54,38 @@ ;; esac +# Handle the new way (Yast::Tasks.submit_to :sle12sp1) +# See https://github.com/yast/yast-rake/blob/master/data/targets.yml +SUBMIT_TO=$(sed -n '/submit_to */s/^.*:\([^ \t]*\)/\1/p' Rakefile) +# If submit_to has any value, this overrides the previously set variables. +# If it's blank, it does nothing (respect previous values). +case $SUBMIT_TO in + sle12sp3*) + # SLE-12-SP3 + REPO_URLS="http://download.opensuse.org/repositories/YaST:/SLE-12:/SP3:/Travis/xUbuntu_..." + ;; + # SLE-12-SP2 + sle12sp2*) + REPO_URLS="http://download.opensuse.org/repositories/YaST:/SLE-12:/SP2:/Travis/xUbuntu_..." + ;; + # SLE-12-SP1 + sle12sp1*) + REPO_URLS="http://download.opensuse.org/repositories/YaST:/SLE-12:/SP1:/Travis/xUbuntu_..." + ;; + # SLE-12-GA + sle12) + REPO_URLS="http://download.opensuse.org/repositories/YaST:/SLE-12:/GA:/Travis/xUbuntu_1..." + ;; + # OpenSUSE Leap 42.1 + leap_42_1) + REPO_URLS="http://download.opensuse.org/repositories/YaST:/openSUSE:/42.1:/Travis/xUbun..." + ;; + # OpenSUSE Leap 42.2 + leap_42_2) + REPO_URLS="http://download.opensuse.org/repositories/YaST:/openSUSE:/42.2:/Travis/xUbun..." + ;; +esac + # prepare the system for installing additional packages from OBS for REPO_URL in $REPO_URLS; do curl $REPO_URL/Release.key | sudo apt-key add - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-devtools-3.1.46/ytools/yast2/create_maintenance_branch new/yast2-devtools-4.0.0/ytools/yast2/create_maintenance_branch --- old/yast2-devtools-3.1.46/ytools/yast2/create_maintenance_branch 2016-08-24 14:43:32.657095979 +0200 +++ new/yast2-devtools-4.0.0/ytools/yast2/create_maintenance_branch 2017-08-16 12:23:33.024159992 +0200 @@ -13,6 +13,7 @@ First argument: name of the branch Second argument: name of the target as recognized by yast-rake, see https://github.com/yast/yast-rake/blob/master/data/targets.yml + second argument is also used for docker tag, just adds '-' before "sp" part Third argument (optional): source commit, if not specified use master Examples: @@ -29,11 +30,35 @@ # by default pass output of commands to stdout and stderr Cheetah.default_options = { :stdout => STDOUT, :stderr => STDERR } +def project + raise unless @project + + @project +end + +NAMESPACES_MAPPING = { + "libyui" => "Libyui", + "yast" => "Yast" +} + +def project_namespace + raise unless @project + + NAMESPACES_MAPPING[@project] || raise("Unknown project #{@project}") +end + +def project=(value) + @project = value +end + def check_real_upstream res = Cheetah.run "git", "remote", "-v", :stdout => :capture - if res.lines.grep(/origin\s*git@github.com:yast/).empty? + upstream = res.lines.grep(/origin\s*git@github.com:(yast|libyui)/) + if upstream.empty? raise "This script can work only on upstream clone, where upstream remote is marked as origin" end + + self.project = upstream.first[/origin\s*git@github.com:(yast|libyui)/, 1] end def already_exists? @@ -46,19 +71,39 @@ raise "Cannot find Rakefile in pwd" unless File.exist?("Rakefile") lines = File.readlines("Rakefile") - submit_to = "Yast::Tasks.submit_to" + submit_to = "#{project_namespace}::Tasks.submit_to" new_line = "#{submit_to} :#{TARGET}\n" line_index = lines.index {|l| l =~ /#{submit_to}/ } if line_index lines[line_index] = new_line - else - lines.insert(2, new_line, "\n") + else # line is not there yet, so place it below require line + line_index = lines.index {|l| l =~ /^\s*require.*#{project}\/rake/ } + lines.insert(line_index + 1, "\n", new_line) end File.write("Rakefile", lines.join("")) end +def modify_dockerfile + if !File.exist?("Dockerfile") + STDERR.puts "No Dockerfile, skipping its adaptation" + return + end + + lines = File.readlines("Dockerfile") + from_index = lines.index { |l| l =~ /^FROM / } + raise "Missing FROM in dockerfile" unless from_index + line = lines[from_index] + docker_tag = ":" + TARGET.sub(/sp/, "-sp") + if line.include?(":") # docker file already use tag + line.sub!(/:.*$/, docker_tag + "\n") + else + line.sub!(/\s*$/, docker_tag + "\n") + end + File.write("Dockerfile", lines.join("")) +end + check_real_upstream if already_exists? @@ -75,10 +120,11 @@ Cheetah.run "git", "checkout", BRANCH_NAME modify_rakefile +modify_dockerfile -commit_msg = "adapt Rakefile to submit to correct build service project in maintenance branch #{BRANCH_NAME}" +commit_msg = "adapt Rakefile and Dockerfile for #{BRANCH_NAME}" -Cheetah.run "git", "commit", "-m", commit_msg, "Rakefile" +Cheetah.run "git", "commit", "-am", commit_msg Cheetah.run "git", "push", "--set-upstream", "origin", "#{BRANCH_NAME}:#{BRANCH_NAME}"