Hello community,
here is the log from the commit of package openSUSE-release-tools for
openSUSE:Factory checked in at 2017-10-21 20:21:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Sat Oct 21 20:21:46 2017 rev:10 rq:535607 version:20171020.7d266d5
Changes:
--------
---
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
2017-10-20 14:47:24.235941149 +0200
+++
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new/openSUSE-release-tools.changes
2017-10-21 20:22:16.921578117 +0200
@@ -1,0 +2,35 @@
+Fri Oct 20 23:19:30 UTC 2017 - [email protected]
+
+- Update to version 20171020.7d266d5:
+ * Another set of low-noise flake8 cleanups
+ * Parallelize flake8 run
+
+-------------------------------------------------------------------
+Fri Oct 20 03:26:00 UTC 2017 - [email protected]
+
+- Update to version 20171019.24ea059:
+ * dist/ci/docker-run: utilize throwaway credentials to workaround OBS issue.
+ * dist/ci/osc-init: print OBS_API and OBS_USER for debugging.
+ * dist/ci: use hidden directory .docker-tmp instead of HOME and cache on
travis.
+ * dist/ci: fallback to /public OBS API in the event of no OBS_PASS
+ * dist/ci: provide OBS_API parameter.
+ * travis: add distribution builds for Leap 42.3 and SLE-12-SP3.
+ * dist/ci: rework spec.sh as obs-build-target using `osc build`.
+ * dist/ci: extract common osc setup as osc-init and provide in /usr/bin.
+ * dist/ci/Dockerfile: include obs-deploy in /usr/bin.
+ * dist/ci: rename deploy.obs.sh to obs-deploy.
+ * dist/ci/deploy: only commit if changes available to commit.
+ * dist/ci/deploy: only add line if missing from _servicedata.
+ * dist/ci/Dockerfile: switch to base tumbleweed image.
+
+-------------------------------------------------------------------
+Fri Oct 20 02:11:58 UTC 2017 - [email protected]
+
+- Update to version 20171019.6b7fd1b:
+ * Enable F405,F811 (Unused imports)
+ * Add Flake8 travis infrastructure
+ * Import all dependencies
+ * White space / consistent usage of spaces / indentation of 4 fixes
+ * Remove outdated script
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20171019.be5b3ec.obscpio
New:
----
openSUSE-release-tools-20171020.7d266d5.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.Pyj6Jq/_old 2017-10-21 20:22:17.501550958 +0200
+++ /var/tmp/diff_new_pack.Pyj6Jq/_new 2017-10-21 20:22:17.505550771 +0200
@@ -20,7 +20,7 @@
%define source_dir osc-plugin-factory
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20171019.be5b3ec
+Version: 20171020.7d266d5
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0+ and MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Pyj6Jq/_old 2017-10-21 20:22:17.549548710 +0200
+++ /var/tmp/diff_new_pack.Pyj6Jq/_new 2017-10-21 20:22:17.553548523 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://github.com/openSUSE/osc-plugin-factory.git</param>
- <param
name="changesrevision">be5b3ec12db757532b0b6f0a45336c06c7634847</param>
+ <param
name="changesrevision">d1c48015785527b47ab98da3a312aee1d413d09a</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20171019.be5b3ec.obscpio ->
openSUSE-release-tools-20171020.7d266d5.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20171019.be5b3ec/.flake8
new/openSUSE-release-tools-20171020.7d266d5/.flake8
--- old/openSUSE-release-tools-20171019.be5b3ec/.flake8 1970-01-01
01:00:00.000000000 +0100
+++ new/openSUSE-release-tools-20171020.7d266d5/.flake8 2017-10-21
00:37:31.000000000 +0200
@@ -0,0 +1,4 @@
+[flake8]
+exclude = abichecker, openqa, openqa-maintenance.py
+max-line-length = 100
+ignore =
E501,F401,E302,E228,E128,E251,E201,E202,E203,E305,F841,E265,E261,E266,E712,E401,E126,E502,E222,E241,E711,E226,E125,E123,W293,W391,E731,E101,E227,E713,E225,E124,E221,E127,E701,E714,W503,E129,E303
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20171019.be5b3ec/.travis.yml
new/openSUSE-release-tools-20171020.7d266d5/.travis.yml
--- old/openSUSE-release-tools-20171019.be5b3ec/.travis.yml 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/.travis.yml 2017-10-21
00:37:31.000000000 +0200
@@ -8,7 +8,7 @@
matrix:
include:
- - env: TEST_SUITE=distribution
+ - env: TEST_SUITE=distribution TARGET_REPO=openSUSE_Factory
sudo: required
services:
- docker
@@ -16,7 +16,31 @@
before_install:
- docker build -f dist/ci/Dockerfile -t spec .
script:
- - docker run -it spec ./dist/ci/spec.sh
+ - ./dist/ci/docker-run obs-build-target "$TARGET_REPO"
+ - env: TEST_SUITE=distribution TARGET_REPO=openSUSE_42.3
+ sudo: required
+ services:
+ - docker
+ language: bash
+ before_install:
+ - docker build -f dist/ci/Dockerfile -t spec .
+ script:
+ - ./dist/ci/docker-run obs-build-target "$TARGET_REPO"
+ - env: TEST_SUITE=distribution TARGET_REPO=SLE_12_SP3
+ sudo: required
+ services:
+ - docker
+ language: bash
+ before_install:
+ - docker build -f dist/ci/Dockerfile -t spec .
+ script:
+ - ./dist/ci/docker-run obs-build-target "$TARGET_REPO"
+ - env: TEST_SUITE=flake8
+ language: python
+ install:
+ - pip install flake8
+ script:
+ - flake8
- env: TEST_SUITE=nosetests
sudo: required
language: python
@@ -36,7 +60,11 @@
deploy:
provider: script
- script: docker run -it -e OBS_PACKAGE="$OBS_PACKAGE" -e OBS_USER="$OBS_USER"
-e OBS_PASS="$OBS_PASS" -e OBS_EMAIL="$OBS_EMAIL" spec ./dist/ci/deploy.obs.sh
+ script: ./dist/ci/docker-run obs-deploy
on:
branch: master
- condition: $TEST_SUITE = distribution
+ condition: $TEST_SUITE = distribution && $TARGET_REPO = openSUSE_Factory
+
+cache:
+ directories:
+ - .docker-tmp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20171019.be5b3ec/ReviewBot.py
new/openSUSE-release-tools-20171020.7d266d5/ReviewBot.py
--- old/openSUSE-release-tools-20171019.be5b3ec/ReviewBot.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/ReviewBot.py 2017-10-21
00:37:31.000000000 +0200
@@ -158,7 +158,7 @@
def _set_review(self, req, state):
doit = self.can_accept_review(req.reqid)
if doit is None:
- self.logger.info("can't change state, %s does not have the
reviewer"%(req.reqid))
+ self.logger.info("can't change state, %s does not have the
reviewer"%(req.reqid))
newstate = state
@@ -267,8 +267,8 @@
dst_package = a.src_package
# Ignoring patchinfo package for checking
if self._is_patchinfo(a.src_package):
- self.logger.info("package is patchinfo, ignoring")
- return None
+ self.logger.info("package is patchinfo, ignoring")
+ return None
# dirty obs crap
if a.tgt_releaseproject is not None:
ugly_suffix = '.'+a.tgt_releaseproject.replace(':', '_')
@@ -397,9 +397,9 @@
def set_request_ids_search_review(self):
if self.review_user:
- review = "@by_user='%s' and @state='new'" % self.review_user
+ review = "@by_user='%s' and @state='new'" % self.review_user
else:
- review = "@by_group='%s' and @state='new'" % self.review_group
+ review = "@by_group='%s' and @state='new'" % self.review_group
url = osc.core.makeurl(self.apiurl, ('search', 'request'), { 'match':
"state/@name='review' and review[%s]" % review, 'withfullhistory': 1 } )
root = ET.parse(osc.core.http_GET(url)).getroot()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20171019.be5b3ec/ToolBase.py
new/openSUSE-release-tools-20171020.7d266d5/ToolBase.py
--- old/openSUSE-release-tools-20171019.be5b3ec/ToolBase.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/ToolBase.py 2017-10-21
00:37:31.000000000 +0200
@@ -23,8 +23,10 @@
from xml.etree import cElementTree as ET
import cmdln
+import datetime
import itertools
import logging
+import signal
import sys
import time
import urllib2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/abichecker/abichecker.py
new/openSUSE-release-tools-20171020.7d266d5/abichecker/abichecker.py
--- old/openSUSE-release-tools-20171019.be5b3ec/abichecker/abichecker.py
2017-10-19 21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/abichecker/abichecker.py
2017-10-21 00:37:31.000000000 +0200
@@ -100,34 +100,43 @@
# report for a single library
LibResult = namedtuple('LibResult', ('src_repo', 'src_lib', 'dst_repo',
'dst_lib', 'arch', 'htmlreport', 'result'))
+
class DistUrlMismatch(Exception):
def __init__(self, disturl, md5):
Exception.__init__(self)
self.msg = 'disturl mismatch has: %s wanted ...%s'%(disturl, md5)
+
def __str__(self):
return self.msg
+
class SourceBroken(Exception):
def __init__(self, project, package):
Exception.__init__(self)
self.msg = '%s/%s has broken sources, needs rebase'%(project, package)
+
def __str__(self):
return self.msg
+
class NoBuildSuccess(Exception):
def __init__(self, project, package, md5):
Exception.__init__(self)
self.msg = '%s/%s(%s) had no successful build'%(project, package, md5)
+
def __str__(self):
return self.msg
+
class NotReadyYet(Exception):
def __init__(self, project, package, reason):
Exception.__init__(self)
self.msg = '%s/%s not ready yet: %s'%(project, package, reason)
+
def __str__(self):
return self.msg
+
class MissingDebugInfo(Exception):
def __init__(self, missing_debuginfo):
Exception.__init__(self)
@@ -137,23 +146,29 @@
self.msg += "%s/%s %s/%s %s %s\n"%i
elif len(i) == 5:
self.msg += "%s/%s %s/%s %s\n"%i
+
def __str__(self):
return self.msg
+
class FetchError(Exception):
def __init__(self, msg):
Exception.__init__(self)
self.msg = msg
+
def __str__(self):
return self.msg
+
class MaintenanceError(Exception):
def __init__(self, msg):
Exception.__init__(self)
self.msg = msg
+
def __str__(self):
return self.msg
+
class LogToDB(logging.Filter):
def __init__(self, session):
self.session = session
@@ -166,6 +181,7 @@
self.session.commit()
return True
+
class ABIChecker(ReviewBot.ReviewBot):
""" check ABI of library packages
"""
@@ -649,7 +665,7 @@
'-lib', libname,
'-old', old,
'-new', new,
- '-report-path', output
+ '-report-path', output
]
self.logger.debug(cmd)
r = subprocess.Popen(cmd, close_fds=True, cwd=CACHEDIR).wait()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/biarchtool.py
new/openSUSE-release-tools-20171020.7d266d5/biarchtool.py
--- old/openSUSE-release-tools-20171019.be5b3ec/biarchtool.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/biarchtool.py 2017-10-21
00:37:31.000000000 +0200
@@ -119,7 +119,7 @@
if self.rdeps is not None:
return
self.rdeps = dict()
- url = self.makeurl(['build', self.project, 'standard', self.arch,
'_builddepinfo' ], {'view':'revpkgnames'})
+ url = self.makeurl(['build', self.project, 'standard', self.arch,
'_builddepinfo' ], {'view': 'revpkgnames'})
x = ET.fromstring(self.cached_GET(url))
for pnode in x.findall('package'):
name = pnode.get('name')
@@ -141,11 +141,11 @@
# generator. Yield only packges that got checked in after that
# point in time.
def _filter_packages_by_time(self, packages):
- x = ET.fromstring(self.cached_GET(self.makeurl(['source',
self.project, '_product', '_history'], {'limit':'1'})))
+ x = ET.fromstring(self.cached_GET(self.makeurl(['source',
self.project, '_product', '_history'], {'limit': '1'})))
producttime = int(x.find('./revision/time').text)
for pkg in packages:
try:
- x = ET.fromstring(self.cached_GET(self.makeurl(['source',
self.project, pkg, '_history'], {'rev':'1'})))
+ x = ET.fromstring(self.cached_GET(self.makeurl(['source',
self.project, pkg, '_history'], {'rev': '1'})))
# catch deleted packages
except urllib2.HTTPError as e:
if e.code == 404:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/build-fail-reminder.py
new/openSUSE-release-tools-20171020.7d266d5/build-fail-reminder.py
--- old/openSUSE-release-tools-20171019.be5b3ec/build-fail-reminder.py
2017-10-19 21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/build-fail-reminder.py
2017-10-21 00:37:31.000000000 +0200
@@ -43,11 +43,12 @@
FACTORY='openSUSE:Factory'
class RemindedPackage(object):
- def __init__(self,firstfail,reminded,remindCount,bug):
+ def __init__(self, firstfail, reminded, remindCount, bug):
self.firstfail=firstfail
self.reminded=reminded
self.bug=bug
self.remindCount=remindCount
+
def __str__(self):
return '{} {} {} {}'.format(self.firstfail, self.reminded, self.bug,
self.remindCount)
@@ -135,7 +136,7 @@
for package in data:
# Only consider packages that failed for > seconds_to_remember days (7
days)
if package["firstfail"] < now - seconds_to_remember:
- if not package["name"] in RemindedLoaded.keys():
+ if not package["name"] in RemindedLoaded.keys():
# This is the first time we see this package failing for > 7
days
reminded = now
bug=""
@@ -189,7 +190,7 @@
msg['Date'] = email.utils.formatdate()
msg['Message-ID'] = email.utils.make_msgid()
msg.add_header('Precedence', 'bulk')
- msg.add_header('X-Mailer','%s - Failure Notification' %
project)
+ msg.add_header('X-Mailer', '%s - Failure Notification' %
project)
logger.info("%s: %s", msg['To'], msg['Subject'])
if args.dry:
logger.debug(msg.as_string())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/compare_pkglist.py
new/openSUSE-release-tools-20171020.7d266d5/compare_pkglist.py
--- old/openSUSE-release-tools-20171019.be5b3ec/compare_pkglist.py
2017-10-19 21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/compare_pkglist.py
2017-10-21 00:37:31.000000000 +0200
@@ -50,14 +50,14 @@
def get_source_packages(self, project):
"""Return the list of packages in a project."""
query = {'expand': 1}
- root = ET.parse(http_GET(makeurl(self.apiurl,['source', project],
+ root = ET.parse(http_GET(makeurl(self.apiurl, ['source', project],
query=query))).getroot()
packages = [i.get('name') for i in root.findall('entry')]
-
+
return packages
def is_linked_package(self, project, package):
- u = makeurl(self.apiurl,['source', project, package])
+ u = makeurl(self.apiurl, ['source', project, package])
root = ET.parse(http_GET(u)).getroot()
linked = root.find('linkinfo')
return linked
@@ -68,7 +68,7 @@
'view': 'xml',
'oproject': old_prj,
'opackage': package}
- u = makeurl(self.apiurl,['source', new_prj, package], query=query)
+ u = makeurl(self.apiurl, ['source', new_prj, package], query=query)
root = ET.parse(http_POST(u)).getroot()
old_srcmd5 = root.findall('old')[0].get('srcmd5')
logging.debug('%s old srcmd5 %s in %s' % (package, old_srcmd5,
old_prj))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/copy-to-132.py
new/openSUSE-release-tools-20171020.7d266d5/copy-to-132.py
--- old/openSUSE-release-tools-20171019.be5b3ec/copy-to-132.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/copy-to-132.py 1970-01-01
01:00:00.000000000 +0100
@@ -1,166 +0,0 @@
-#!/usr/bin/python
-
-import sys
-import os
-import osc
-import osc.core
-import osc.conf
-import xml.etree.ElementTree as ET
-import re
-
-os.environ['OSC_CONFIG'] = os.path.expanduser('~/.oscrc-syncer')
-
-#initialize osc config
-osc.conf.get_config()
-osc.conf.config['debug'] = True
-
-srcmd5s = dict()
-revs = dict()
-
-def parse_prj(prj):
- url = osc.core.makeurl(osc.conf.config['apiurl'], ['source', prj], {
'view': 'info', 'nofilename': 1 } )
- f = osc.core.http_GET(url)
- root = ET.parse(f)
-
- ret = dict()
-
- for si in root.findall('./sourceinfo'):
- if si.attrib.has_key('lsrcmd5'):
- continue # ignore links
- package = si.attrib['package']
- md5 = si.attrib['verifymd5']
- srcmd5s[md5] = si.attrib['srcmd5']
- revs[md5] = si.attrib['rev']
- if re.match('_product.*', package):
- continue
- ret[package] = md5
-
- return ret
-
-# POSIX system. Create and return a getch that manipulates the tty.
-import termios, sys, tty
-def _getch():
-
- fd = sys.stdin.fileno()
- old_settings = termios.tcgetattr(fd)
- try:
- tty.setraw(fd)
- ch = sys.stdin.read(1)
- finally:
- termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
- return ch
-
-def get_devel_project(package):
- url = osc.core.makeurl(osc.conf.config['apiurl'], ['source',
'openSUSE:Factory', package, '_meta'])
- f = osc.core.http_GET(url)
- root = ET.parse(f)
- for dp in root.findall('./devel'):
- return dp.attrib['project']
-
- raise 'NOW WHAT?'
-
-def create_submit(project=None, package=None, rev=None, md5=None):
- text = "<request type='submit'>\n"
- text += " <submit>\n"
- text += " <source project='" + project + "' package='" + package + "'
rev='" + md5 + "'/>\n"
- text += " <target project='openSUSE:13.2' package='" + package + "'/>\n"
- text += " </submit>\n"
- text += " <description>Submit revision " + rev + " of openSUSE:Factory/" +
package + "</description>\n"
- text += "</request>"
-
- url = osc.core.makeurl(osc.conf.config['apiurl'], [ 'request' ], { 'cmd':
'create' })
- #print text
- print osc.core.http_POST(url, data=text).read()
-
-def create_delete(package):
- text = "<request>\n"
- text += " <action type='delete'>\n"
- text += " <target project='openSUSE:13.2' package='" + package + "'/>\n"
- text += " </action>\n"
- text += " <description>Gone from Factory</description>\n"
- text += "</request>"
-
- url = osc.core.makeurl(osc.conf.config['apiurl'], [ 'request' ], { 'cmd':
'create' })
- #print text
- print osc.core.http_POST(url, data=text).read()
-
-def load_nos():
- ret = set()
- with open('nos') as f:
- for line in f.readlines():
- ret.add(line.strip())
- return ret
-
-def save_nos(nos):
- with open('nos', 'w') as f:
- for key in nos:
- f.write(key + "\n")
-
-def find_request_md5s(package):
- url = osc.core.makeurl(osc.conf.config['apiurl'],
- ['search', 'request'],
- { 'match': "action/target/@project='openSUSE:13.2'
and action/target/@package='{}'".format(package) })
- f = osc.core.http_GET(url)
- root = ET.parse(f).getroot()
- md5s = set()
- for rq in root.findall('request'):
- for source in rq.findall('.//source'):
- md5s.add(source.attrib['rev'])
- return md5s
-
-factory = parse_prj('openSUSE:Factory')
-d132 = parse_prj('openSUSE:13.2')
-
-NOS = load_nos()
-
-for package in sorted(set(factory) | set(d132)):
- prompt = None
-
- if factory.has_key(package):
-
- pmd5 = "%s-%s" % ( package, factory[package] )
- if pmd5 in NOS:
- continue
-
- if not d132.has_key(package):
- if srcmd5s[factory[package]] in find_request_md5s(package):
- continue
- elif factory[package] == d132[package]:
- continue
- elif srcmd5s[factory[package]] in find_request_md5s(package):
- print "%s already requested" % pmd5
- continue
- else:
- url = osc.core.makeurl(osc.conf.config['apiurl'], ['source',
'openSUSE:Factory', package],
- { 'unified': 1, 'opackage': package,
'oproject': 'openSUSE:13.2', 'cmd': 'diff', 'expand': 1 } )
- difflines = osc.core.http_POST(url).readlines()
- inchanges = False
- for line in difflines:
- if re.match(r'^Index:.*\.changes', line):
- inchanges = True
- elif re.match(r'^Index:', line):
- inchanges = False
-
- if inchanges:
- print line,
-
- prompt = "copy diffing package %s ?" % pmd5
-
- md5 = srcmd5s[factory[package]]
- rev = revs[factory[package]]
- devprj = get_devel_project(package)
- if devprj == 'openSUSE:Factory':
- continue
-
- print prompt
- d = _getch()
- if d == 'y':
- create_submit(project=devprj, package=package, rev=rev, md5=md5)
- elif d == 'n':
- NOS.add(pmd5)
- save_nos(NOS)
-
- else: # the 13.2 must have it
- print "delete package 13.2/%s-%s" % ( package, d132[package] )
- create_delete(package)
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/Dockerfile
new/openSUSE-release-tools-20171020.7d266d5/dist/ci/Dockerfile
--- old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/Dockerfile
2017-10-19 21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/dist/ci/Dockerfile
2017-10-21 00:37:31.000000000 +0200
@@ -1,33 +1,29 @@
# https://docs.docker.com/engine/reference/builder/
# Used for TEST_SUITE=distribution and deployment to OBS.
-FROM boombatower/opensuse:tumbleweed
+FROM opensuse:tumbleweed
MAINTAINER Jimmy Berry <[email protected]>
-RUN zypper -n ref && zypper -n dup && zypper -n in --no-recommends \
- obs-service-download_files \
- obs-service-format_spec_file \
- obs-service-obs_scm \
- obs-service-set_version \
- obs-service-source_validator \
- rpm-build \
- apache-rpm-macros \
- apache2-devel \
- libxml2-tools \
- make \
+# https://github.com/openSUSE/obs-service-set_version/issues/44
python-packaging
+# git for extracting remote, but a more generalized approach would be nice
+RUN zypper -n ref && zypper -n dup && zypper -n install \
+ build \
+ git \
+ obs-service-* \
osc \
- python-PyYAML \
- python-cmdln \
- python-colorama \
- python-httpretty \
- python-lxml \
- python-mock \
- python-nose \
- python-python-dateutil \
- python-pyxdg \
- rsyslog
+ python-packaging \
+ sudo
-RUN mkdir -p /usr/src/app
-WORKDIR /usr/src/app
+# `osc build` directories that are effective to cache:
+# - /var/tmp/build-root
+# - /var/tmp/osbuild-packagecache
+VOLUME /var/tmp
-COPY . /usr/src/app
+WORKDIR /usr/src
+RUN mkdir -p /usr/src/target
+COPY . /usr/src/target
+
+# Already included in target, but simulate separate container image.
+ADD dist/ci/obs-build-target /usr/bin/
+ADD dist/ci/obs-deploy /usr/bin/
+ADD dist/ci/osc-init /usr/bin/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/deploy.obs.sh
new/openSUSE-release-tools-20171020.7d266d5/dist/ci/deploy.obs.sh
--- old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/deploy.obs.sh
2017-10-19 21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/dist/ci/deploy.obs.sh
1970-01-01 01:00:00.000000000 +0100
@@ -1,29 +0,0 @@
-#!/bin/bash
-
-cat << eom > ~/.oscrc
-[general]
-apiurl = https://api.opensuse.org
-[https://api.opensuse.org]
-user = $OBS_USER
-pass = $OBS_PASS
-email = $OBS_EMAIL
-eom
-
-osc checkout "$OBS_PACKAGE"
-cd "$OBS_PACKAGE"
-
-rm *.obscpio
-osc service disabledrun
-echo >> _servicedata
-osc addremove
-osc commit -m "$(grep -oP 'version: \K.*' *.obsinfo)"
-
-# Create submit request if none currently exists.
-OBS_TARGET_PROJECT="$(osc info | grep -oP "Link info:.*?project \K[^\s,]+")"
-OBS_TARGET_PACKAGE="$(osc info | grep -oP "Link info:.*?, package \K[^\s,]+")"
-echo "checking for existing requests to
$OBS_TARGET_PROJECT/$OBS_TARGET_PACKAGE..."
-if osc request list "$OBS_TARGET_PROJECT" "$OBS_TARGET_PACKAGE" | grep 'No
results for package' ; then
- osc service wait
- osc sr --diff | cat
- osc sr --yes -m "automatic update"
-fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/docker-run
new/openSUSE-release-tools-20171020.7d266d5/dist/ci/docker-run
--- old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/docker-run
1970-01-01 01:00:00.000000000 +0100
+++ new/openSUSE-release-tools-20171020.7d266d5/dist/ci/docker-run
2017-10-21 00:37:31.000000000 +0200
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+if [ "$TRAVIS_PULL_REQUEST" == "false" ] ; then
+ eval $(./dist/ci/osc-credentials)
+else
+ # openSUSE/open-build-service#3946: would elevate the need, but rejected.
+ eval $(./dist/ci/osc-credentials-throwaway)
+fi
+
+docker run --privileged --rm -it \
+ -v "$(realpath .)/.docker-tmp:/var/tmp" \
+ -e OBS_API="${apiurl:-$OBS_API}" \
+ -e OBS_USER="${user:-$OBS_USER}" \
+ -e OBS_PASS="${pass:-$OBS_PASS}" \
+ -e OBS_EMAIL="${email:-$OBS_EMAIL}" \
+ -e OBS_PACKAGE="${OBS_PACKAGE:-openSUSE:Tools/openSUSE-release-tools}" \
+ spec "${1:-obs-build-target}" "${2:-openSUSE_Factory}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/obs-build-target
new/openSUSE-release-tools-20171020.7d266d5/dist/ci/obs-build-target
--- old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/obs-build-target
1970-01-01 01:00:00.000000000 +0100
+++ new/openSUSE-release-tools-20171020.7d266d5/dist/ci/obs-build-target
2017-10-21 00:37:31.000000000 +0200
@@ -0,0 +1,23 @@
+#!/bin/bash
+set -x
+
+SOURCE_DIR="${SOURCE_DIR:-/usr/src/target}"
+
+repo="${1:-openSUSE_Tumbleweed}"
+arch="${2:-x86_64}"
+
+osc-init
+
+osc checkout "$OBS_PACKAGE"
+cd "$OBS_PACKAGE"
+
+# point _service file to SOURCE_DIR instead of remote
+sed -i "s|$(cd "$SOURCE_DIR" && git remote get-url origin)|$SOURCE_DIR|"
_service
+
+rm *.obscpio
+osc service disabledrun
+
+# skip interactive
+osc diff | cat
+
+osc build --trust-all-projects --no-verify "$repo" "$arch"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/obs-deploy
new/openSUSE-release-tools-20171020.7d266d5/dist/ci/obs-deploy
--- old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/obs-deploy
1970-01-01 01:00:00.000000000 +0100
+++ new/openSUSE-release-tools-20171020.7d266d5/dist/ci/obs-deploy
2017-10-21 00:37:31.000000000 +0200
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+osc-init
+
+osc checkout "$OBS_PACKAGE"
+cd "$OBS_PACKAGE"
+
+rm *.obscpio
+osc service disabledrun
+
+# ensure _servicedata ends with a newline
+tail -n1 _servicedata | read -r _ || echo >> _servicedata
+
+osc addremove
+
+if [ "$(osc status | wc -l)" -gt 0 ] ; then
+ osc commit -m "$(grep -oP 'version: \K.*' *.obsinfo)"
+fi
+
+# Create submit request if none currently exists.
+OBS_TARGET_PROJECT="$(osc info | grep -oP "Link info:.*?project \K[^\s,]+")"
+OBS_TARGET_PACKAGE="$(osc info | grep -oP "Link info:.*?, package \K[^\s,]+")"
+echo "checking for existing requests to
$OBS_TARGET_PROJECT/$OBS_TARGET_PACKAGE..."
+if osc request list "$OBS_TARGET_PROJECT" "$OBS_TARGET_PACKAGE" | grep 'No
results for package' ; then
+ osc service wait
+ osc sr --diff | cat
+ osc sr --yes -m "automatic update"
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/osc-credentials
new/openSUSE-release-tools-20171020.7d266d5/dist/ci/osc-credentials
--- old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/osc-credentials
1970-01-01 01:00:00.000000000 +0100
+++ new/openSUSE-release-tools-20171020.7d266d5/dist/ci/osc-credentials
2017-10-21 00:37:31.000000000 +0200
@@ -0,0 +1,13 @@
+#!/usr/bin/python
+
+try:
+ from osc import conf
+except:
+ import sys
+ sys.exit()
+
+apiurl = conf.config['apiurl']
+cp = conf.get_configParser()
+
+for key in ('apiurl', 'user', 'pass', 'email'):
+ print('{}="{}"'.format(key, cp.get(apiurl, key, raw=True)))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/osc-credentials-throwaway
new/openSUSE-release-tools-20171020.7d266d5/dist/ci/osc-credentials-throwaway
---
old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/osc-credentials-throwaway
1970-01-01 01:00:00.000000000 +0100
+++
new/openSUSE-release-tools-20171020.7d266d5/dist/ci/osc-credentials-throwaway
2017-10-21 00:37:31.000000000 +0200
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+echo 'user="opensuse-releaseteam-travis"'
+echo 'pass="G1fggGJLsVGPZMLTq0ht0Bqh7wEIAXkSZWcHkRIP"'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/osc-init
new/openSUSE-release-tools-20171020.7d266d5/dist/ci/osc-init
--- old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/osc-init
1970-01-01 01:00:00.000000000 +0100
+++ new/openSUSE-release-tools-20171020.7d266d5/dist/ci/osc-init
2017-10-21 00:37:31.000000000 +0200
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+OBS_API="${OBS_API:-https://api.opensuse.org}"
+if [ -z ${OBS_PASS+x} ] || [ -z "$OBS_PASS" ] ; then
+ OBS_API="$OBS_API/public"
+fi
+
+echo "OBS_API=$OBS_API"
+echo "OBS_USER=$OBS_USER"
+
+cat << eom > ~/.oscrc
+[general]
+apiurl = $OBS_API
+[$OBS_API]
+user = ${OBS_USER:-example}
+pass = ${OBS_PASS:-example}
+email = ${OBS_EMAIL:[email protected]}
+eom
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/spec.sh
new/openSUSE-release-tools-20171020.7d266d5/dist/ci/spec.sh
--- old/openSUSE-release-tools-20171019.be5b3ec/dist/ci/spec.sh 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/dist/ci/spec.sh 1970-01-01
01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-#!/bin/bash
-# Adapted from:
https://github.com/openSUSE/snapper/blob/master/.travis.tumbleweed.sh.
-
-set -e -x
-
-make
-make package
-
-# Validate package.
-(cd dist/package && /usr/lib/obs/service/source_validator)
-
-# Build package (--nocheck as test suite runs separately).
-cp dist/package/* /usr/src/packages/SOURCES/
-rpmbuild --nocheck -bb -D "jobs `nproc`" dist/package/*.spec
-
-# Install to test scripts.
-rpm -iv --force --nodeps /usr/src/packages/RPMS/*/*.rpm
-
-# Ensure the staging plugin starts.
-cat << eom > ~/.oscrc
-[general]
-[https://api.opensuse.org]
-user = example
-pass = example
-eom
-
-osc staging --version
-
-# Upgrade and uninstall to test scripts.
-rpm -Uv --force --nodeps /usr/src/packages/RPMS/*/*.rpm
-# get the plain package names and remove all packages at once
-rpm -ev --nodeps `rpm -q --qf '%{NAME} ' -p /usr/src/packages/RPMS/**/*.rpm`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/factory-package-news/announcer.py
new/openSUSE-release-tools-20171020.7d266d5/factory-package-news/announcer.py
---
old/openSUSE-release-tools-20171019.be5b3ec/factory-package-news/announcer.py
2017-10-19 21:57:59.000000000 +0200
+++
new/openSUSE-release-tools-20171020.7d266d5/factory-package-news/announcer.py
2017-10-21 00:37:31.000000000 +0200
@@ -44,7 +44,7 @@
'url' : "http://download.opensuse.org/tumbleweed/iso/",
'iso' : "openSUSE-Tumbleweed-DVD-x86_64-Current.iso",
'name' : 'factory-announcer',
- 'subject' :'New Tumbleweed snapshot {version} released!',
+ 'subject' : 'New Tumbleweed snapshot {version} released!',
'changesfile' : "Changes.{version}.txt",
'bodytemplate' : """
Please note that this mail was generated by a script.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/factory-package-news/factory-package-news-web.py
new/openSUSE-release-tools-20171020.7d266d5/factory-package-news/factory-package-news-web.py
---
old/openSUSE-release-tools-20171019.be5b3ec/factory-package-news/factory-package-news-web.py
2017-10-19 21:57:59.000000000 +0200
+++
new/openSUSE-release-tools-20171020.7d266d5/factory-package-news/factory-package-news-web.py
2017-10-21 00:37:31.000000000 +0200
@@ -28,7 +28,6 @@
import sys
from urlparse import urlparse
-import re
digits_re = re.compile('^[0-9]+$')
BASE_DIR = '/var/lib'
@@ -50,7 +49,7 @@
for i in sorted(os.listdir(_dir), reverse=True):
if not digits_re.match(i):
continue
- ret = ret + '<a href="diff/%s">%s</a>'%(i,i)
+ ret = ret + '<a href="diff/%s">%s</a>'%(i, i)
if i == current:
ret = ret + " <--"
ret = ret + '<br/>'
@@ -68,7 +67,7 @@
return "malformed version", 400
if not os.path.exists(os.path.join(_dir, version)):
return "invalid version", 400
- tmpfn = os.path.join(_dir,'.'+version)
+ tmpfn = os.path.join(_dir, '.'+version)
app.logger.debug(tmpfn)
if os.path.exists(tmpfn):
os.unlink(tmpfn)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/factory-package-news/factory-package-news.py
new/openSUSE-release-tools-20171020.7d266d5/factory-package-news/factory-package-news.py
---
old/openSUSE-release-tools-20171019.be5b3ec/factory-package-news/factory-package-news.py
2017-10-19 21:57:59.000000000 +0200
+++
new/openSUSE-release-tools-20171020.7d266d5/factory-package-news/factory-package-news.py
2017-10-21 00:37:31.000000000 +0200
@@ -22,7 +22,7 @@
from pprint import pprint
-import os, sys, re, io
+import os, sys, io
import logging
from optparse import OptionParser
import rpm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/fcc_submitter.py
new/openSUSE-release-tools-20171020.7d266d5/fcc_submitter.py
--- old/openSUSE-release-tools-20171019.be5b3ec/fcc_submitter.py
2017-10-19 21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/fcc_submitter.py
2017-10-21 00:37:31.000000000 +0200
@@ -157,10 +157,10 @@
def get_source_packages(self, project, expand=False):
"""Return the list of packages in a project."""
query = {'expand': 1} if expand else {}
- root = ET.parse(http_GET(makeurl(self.apiurl,['source', project],
+ root = ET.parse(http_GET(makeurl(self.apiurl, ['source', project],
query=query))).getroot()
packages = [i.get('name') for i in root.findall('entry')]
-
+
return packages
def get_request_list(self, package):
@@ -168,7 +168,7 @@
def get_link(self, project, package):
try:
- link = http_GET(makeurl(self.apiurl,['source', project, package,
'_link'])).read()
+ link = http_GET(makeurl(self.apiurl, ['source', project, package,
'_link'])).read()
except (urllib2.HTTPError, urllib2.URLError):
return None
return ET.fromstring(link)
@@ -263,7 +263,7 @@
print 'Build succeeded packages:'
print '-------------------------------------'
for pkg in succeeded_packages:
- print pkg
+ print pkg
print '-------------------------------------'
print "Found {} build succeded
packages".format(len(succeeded_packages))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20171019.be5b3ec/leaper.py
new/openSUSE-release-tools-20171020.7d266d5/leaper.py
--- old/openSUSE-release-tools-20171019.be5b3ec/leaper.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/leaper.py 2017-10-21
00:37:31.000000000 +0200
@@ -90,7 +90,7 @@
"""Return the list of packages in a project."""
query = {'expand': 1} if expand else {}
try:
- root =
ET.parse(osc.core.http_GET(osc.core.makeurl(self.apiurl,['source', project],
+ root = ET.parse(osc.core.http_GET(osc.core.makeurl(self.apiurl,
['source', project],
query=query))).getroot()
packages = [i.get('name') for i in root.findall('entry')]
except urllib2.HTTPError as e:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/manager_42.py
new/openSUSE-release-tools-20171020.7d266d5/manager_42.py
--- old/openSUSE-release-tools-20171019.be5b3ec/manager_42.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/manager_42.py 2017-10-21
00:37:31.000000000 +0200
@@ -29,7 +29,6 @@
import osc.conf
import osc.core
import urllib2
-import sys
import time
import yaml
from collections import namedtuple
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20171019.be5b3ec/metrics.py
new/openSUSE-release-tools-20171020.7d266d5/metrics.py
--- old/openSUSE-release-tools-20171019.be5b3ec/metrics.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/metrics.py 2017-10-21
00:37:31.000000000 +0200
@@ -19,8 +19,9 @@
from osclib.stagingapi import StagingAPI
# Duplicate Leap config to handle 13.2 without issue.
-osclib.conf.DEFAULT[r'openSUSE:(?P<project>[\d.]+)'] = \
-osclib.conf.DEFAULT[r'openSUSE:(?P<project>Leap:[\d.]+)']
+osclib.conf.DEFAULT[
+ r'openSUSE:(?P<project>[\d.]+)'] = osclib.conf.DEFAULT[
+ r'openSUSE:(?P<project>Leap:[\d.]+)']
# Provide osc.core.get_request_list() that swaps out search() implementation
and
# uses lxml ET to avoid having to reparse to peform complex xpaths.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/osc-check_dups.py
new/openSUSE-release-tools-20171020.7d266d5/osc-check_dups.py
--- old/openSUSE-release-tools-20171019.be5b3ec/osc-check_dups.py
2017-10-19 21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/osc-check_dups.py
2017-10-21 00:37:31.000000000 +0200
@@ -5,6 +5,12 @@
# Copy this script to ~/.osc-plugins/ or /var/lib/osc-plugins .
# Then try to run 'osc checker --help' to see the usage.
+from xml.etree import cElementTree as ET
+from osc.core import change_request_state
+from osc.core import get_dependson
+from osc.core import http_GET
+from osc.core import makeurl
+
def _checker_check_dups(self, project, opts):
url = makeurl(opts.apiurl, ['request'],
"states=new,review&project=%s&view=collection" % project)
f = http_GET(url)
@@ -17,15 +23,17 @@
target = a.find('target')
type = a.attrib['type']
assert target != None
- if target.attrib['project'] != project: continue
- #print(id)
- #ET.dump(target)
- if not target.attrib.has_key('package'): continue
+ if target.attrib['project'] != project:
+ continue
+ # print(id)
+ # ET.dump(target)
+ if 'package' not in target.attrib:
+ continue
package = target.attrib['package']
- if rqs.has_key(type + package):
+ if type + package in rqs:
[oldid, oldsource] = rqs[type + package]
- if oldid > id:
- s = oldid
+ if oldid > id:
+ s = oldid
oldid = id
id = s
assert oldid < id
@@ -52,7 +60,7 @@
opts.apiurl = self.get_api_url()
for p in args[:]:
- self._checker_check_dups(p, opts)
+ self._checker_check_dups(p, opts)
#Local Variables:
#mode: python
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20171019.be5b3ec/osc-cycle.py
new/openSUSE-release-tools-20171020.7d266d5/osc-cycle.py
--- old/openSUSE-release-tools-20171019.be5b3ec/osc-cycle.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/osc-cycle.py 2017-10-21
00:37:31.000000000 +0200
@@ -15,6 +15,8 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import osc.core
+from osc.core import get_dependson
+from xml.etree import cElementTree as ET
def do_cycle(self, subcmd, opts, *args):
"""${cmd_name}: Try to visualize build dependencies between the package
list specified
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/osc-staging.py
new/openSUSE-release-tools-20171020.7d266d5/osc-staging.py
--- old/openSUSE-release-tools-20171019.be5b3ec/osc-staging.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/osc-staging.py 2017-10-21
00:37:31.000000000 +0200
@@ -18,6 +18,7 @@
import os
import os.path
+import subprocess
import sys
import tempfile
import warnings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/osclib/adi_command.py
new/openSUSE-release-tools-20171020.7d266d5/osclib/adi_command.py
--- old/openSUSE-release-tools-20171019.be5b3ec/osclib/adi_command.py
2017-10-19 21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/osclib/adi_command.py
2017-10-21 00:37:31.000000000 +0200
@@ -44,6 +44,7 @@
Fore.CYAN + review['package'] + Fore.RESET,
review['request'])
return
+
if self.api.is_user_member_of(self.api.user, self.api.cstaging_group):
print query_project, Fore.GREEN + 'ready'
packages = []
@@ -138,6 +139,6 @@
requests.add(request)
self.create_new_adi(requests, split=split)
else:
- self.check_adi_projects()
+ self.check_adi_projects()
if self.api.is_user_member_of(self.api.user,
self.api.cstaging_group):
self.create_new_adi((), by_dp=by_dp, split=split)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/osclib/cache.py
new/openSUSE-release-tools-20171020.7d266d5/osclib/cache.py
--- old/openSUSE-release-tools-20171019.be5b3ec/osclib/cache.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/osclib/cache.py 2017-10-21
00:37:31.000000000 +0200
@@ -176,7 +176,7 @@
data = StringIO(text)
if conf.config['debug']: print('CACHE_PUT', url, project,
file=sys.stderr)
- f = open(path,'w')
+ f = open(path, 'w')
f.write(text)
f.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/osclib/cpio.py
new/openSUSE-release-tools-20171020.7d266d5/osclib/cpio.py
--- old/openSUSE-release-tools-20171019.be5b3ec/osclib/cpio.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/osclib/cpio.py 2017-10-21
00:37:31.000000000 +0200
@@ -40,7 +40,7 @@
def __init__(self, off, buf):
self.off = off
self.buf = buf
-
+
if off&3:
raise Exception("invalid offset %d"% off)
@@ -49,8 +49,8 @@
fields = struct.unpack(fmt, buf[self.off:off])
- if fields[0] != "070701":
- raise Exception("invalid cpio header %s"%self.c_magic)
+ if fields[0] != "070701":
+ raise Exception("invalid cpio header %s"%self.c_magic)
names = ("c_ino", "c_mode", "c_uid", "c_gid",
"c_nlink", "c_mtime", "c_filesize",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/osclib/repair_command.py
new/openSUSE-release-tools-20171020.7d266d5/osclib/repair_command.py
--- old/openSUSE-release-tools-20171019.be5b3ec/osclib/repair_command.py
2017-10-19 21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/osclib/repair_command.py
2017-10-21 00:37:31.000000000 +0200
@@ -19,7 +19,7 @@
reqid = str(request)
req = get_request(self.api.apiurl, reqid)
- if not req:
+ if not req:
raise oscerr.WrongArgs('Request {} not found'.format(reqid))
if req.state.name != 'review':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/osclib/stagingapi.py
new/openSUSE-release-tools-20171020.7d266d5/osclib/stagingapi.py
--- old/openSUSE-release-tools-20171019.be5b3ec/osclib/stagingapi.py
2017-10-19 21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/osclib/stagingapi.py
2017-10-21 00:37:31.000000000 +0200
@@ -30,6 +30,7 @@
from osc import conf
from osc import oscerr
from osc.core import show_package_meta
+from osc.core import buildlog_strip_time
from osc.core import change_review_state
from osc.core import delete_package
from osc.core import get_commitlog
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/pkglistgen.py
new/openSUSE-release-tools-20171020.7d266d5/pkglistgen.py
--- old/openSUSE-release-tools-20171019.be5b3ec/pkglistgen.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/pkglistgen.py 2017-10-21
00:37:31.000000000 +0200
@@ -470,8 +470,8 @@
if not r:
raise Exception("failed to add repo {}/{}/{}. Need to run
update first?".format(project, reponame, arch))
for solvable in repo.solvables_iter():
- if solvable.name in solvables:
-
self.lockjobs[arch].append(pool.Job(solv.Job.SOLVER_SOLVABLE|solv.Job.SOLVER_LOCK,
solvable.id))
+ if solvable.name in solvables:
+
self.lockjobs[arch].append(pool.Job(solv.Job.SOLVER_SOLVABLE|solv.Job.SOLVER_LOCK,
solvable.id))
solvables.add(solvable.name)
pool.addfileprovides()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/repo_checker.py
new/openSUSE-release-tools-20171020.7d266d5/repo_checker.py
--- old/openSUSE-release-tools-20171019.be5b3ec/repo_checker.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/repo_checker.py 2017-10-21
00:37:31.000000000 +0200
@@ -225,7 +225,7 @@
self.logger.info('mirroring {}'.format(path))
if os.system(' '.join(parts)):
- raise Exception('failed to mirror {}'.format(path))
+ raise Exception('failed to mirror {}'.format(path))
self.mirrored.add((project, arch))
return directory
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/suppkg_rebuild.py
new/openSUSE-release-tools-20171020.7d266d5/suppkg_rebuild.py
--- old/openSUSE-release-tools-20171019.be5b3ec/suppkg_rebuild.py
2017-10-19 21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/suppkg_rebuild.py
2017-10-21 00:37:31.000000000 +0200
@@ -67,7 +67,7 @@
def get_project_binarylist(self, project, repository, arch):
query = {'view': 'binarylist', 'repository': repository, 'arch': arch}
- root = ET.parse(http_GET(makeurl(self.apiurl,['build', project,
'_result'],
+ root = ET.parse(http_GET(makeurl(self.apiurl, ['build', project,
'_result'],
query=query))).getroot()
return root
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/sync-rebuild.py
new/openSUSE-release-tools-20171020.7d266d5/sync-rebuild.py
--- old/openSUSE-release-tools-20171019.be5b3ec/sync-rebuild.py 2017-10-19
21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/sync-rebuild.py 2017-10-21
00:37:31.000000000 +0200
@@ -11,9 +11,9 @@
results = []
repo = ""
-architectures = ["x86_64","i586"]
+architectures = ["x86_64", "i586"]
pkg = ""
-projects = ['openSUSE:Factory','openSUSE:Factory:Rebuild']
+projects = ['openSUSE:Factory', 'openSUSE:Factory:Rebuild']
#initialize osc config
osc.conf.get_config()
@@ -21,27 +21,27 @@
def get_prj_results(prj, arch):
url = osc.core.makeurl(osc.conf.config['apiurl'], ['build', prj,
'standard', arch, "_jobhistory?code=lastfailures"])
f = osc.core.http_GET(url)
- xml = f.read()
+ xml = f.read()
results = []
- root = ET.fromstring(xml)
+ root = ET.fromstring(xml)
xmllines = root.findall("./jobhist")
for pkg in xmllines:
- if pkg.attrib['code'] == 'failed':
+ if pkg.attrib['code'] == 'failed':
results.append(pkg.attrib['package'])
-
+
return results
def compare_results(factory, rebuild, testmode):
com_res = set(rebuild).symmetric_difference(set(factory))
-
+
if testmode != False:
print com_res
-
- return com_res
+
+ return com_res
def check_pkgs(rebuild_list):
url = osc.core.makeurl(osc.conf.config['apiurl'], ['source',
'openSUSE:Factory'])
@@ -52,14 +52,14 @@
root = ET.fromstring(xml)
xmllines = root.findall("./entry")
-
+
for pkg in xmllines:
if pkg.attrib['name'] in rebuild_list:
- pkglist.append(pkg.attrib['name'])
+ pkglist.append(pkg.attrib['name'])
return pkglist
-def rebuild_pkg_in_factory(package, prj, arch, testmode, code=None):
+def rebuild_pkg_in_factory(package, prj, arch, testmode, code=None):
query = { 'cmd': 'rebuild', 'arch': arch }
#prj = "home:jzwickl"
if package:
@@ -67,11 +67,10 @@
pkg = query['package']
u = osc.core.makeurl(osc.conf.config['apiurl'], ['build', prj],
query=query)
- # print u
if testmode != False:
print "Trigger rebuild for this package: " + u
-
+
else:
try:
print 'tried to trigger rebuild for project \'%s\' package \'%s\''
% (prj, pkg)
@@ -79,29 +78,29 @@
except:
print 'could not trigger rebuild for project \'%s\' package
\'%s\'' % (prj, pkg)
-
+
testmode = False
try:
if sys.argv[1] != None:
if sys.argv[1] == '-test':
testmode = True
- print "testmode: "+str(testmode)
+ print "testmode: "+str(testmode)
else:
testmode = False
except:
pass
for arch in architectures:
- fact_result = get_prj_results('openSUSE:Factory', arch)
- rebuild_result = get_prj_results('openSUSE:Factory:Rebuild', arch)
- rebuild_result = check_pkgs(rebuild_result)
- fact_result = check_pkgs(fact_result)
- result = compare_results(fact_result, rebuild_result, testmode)
-
- print sorted(result)
-
- for package in result:
- rebuild_pkg_in_factory(package, 'openSUSE:Factory', arch, testmode, None)
- rebuild_pkg_in_factory(package, 'openSUSE:Factory:Rebuild', arch,
testmode, None)
+ fact_result = get_prj_results('openSUSE:Factory', arch)
+ rebuild_result = get_prj_results('openSUSE:Factory:Rebuild', arch)
+ rebuild_result = check_pkgs(rebuild_result)
+ fact_result = check_pkgs(fact_result)
+ result = compare_results(fact_result, rebuild_result, testmode)
+
+ print sorted(result)
+
+ for package in result:
+ rebuild_pkg_in_factory(package, 'openSUSE:Factory', arch, testmode,
None)
+ rebuild_pkg_in_factory(package, 'openSUSE:Factory:Rebuild', arch,
testmode, None)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/tests/checktags_tests.py
new/openSUSE-release-tools-20171020.7d266d5/tests/checktags_tests.py
--- old/openSUSE-release-tools-20171019.be5b3ec/tests/checktags_tests.py
2017-10-19 21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/tests/checktags_tests.py
2017-10-21 00:37:31.000000000 +0200
@@ -28,10 +28,10 @@
import sys
import re
from osclib.cache import Cache
-sys.path.append(".")
-
from check_tags_in_requests import TagChecker
+sys.path.append(".")
+
APIURL = 'https://maintenancetest.example.com'
FIXTURES = os.path.join(os.getcwd(), 'tests/fixtures')
@@ -208,7 +208,7 @@
body=self._request_withhistory)
httpretty.register_uri(httpretty.GET,
- re.compile (re.escape(APIURL +
"/search/request?")),
+ re.compile(re.escape(APIURL +
"/search/request?")),
match_querystring=True,
body='<collection matches="0"></collection>')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20171019.be5b3ec/update_crawler.py
new/openSUSE-release-tools-20171020.7d266d5/update_crawler.py
--- old/openSUSE-release-tools-20171019.be5b3ec/update_crawler.py
2017-10-19 21:57:59.000000000 +0200
+++ new/openSUSE-release-tools-20171020.7d266d5/update_crawler.py
2017-10-21 00:37:31.000000000 +0200
@@ -172,7 +172,7 @@
srcrev = a.src_rev
# sometimes requests only contain the decimal revision
if re.match(r'^\d+$', srcrev) is not None:
- xml =
ET.fromstring(self._get_source_package(src_project,src_package, srcrev))
+ xml = ET.fromstring(self._get_source_package(src_project,
src_package, srcrev))
srcrev = xml.get('verifymd5')
logging.debug('rev {}'.format(srcrev))
if srcrev == rev:
@@ -351,7 +351,6 @@
logging.debug("skipped packages: %s", pformat(uc.skipped))
-
if __name__ == '__main__':
description = 'Create update SRs for Leap.'
parser = argparse.ArgumentParser(description=description)
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.Pyj6Jq/_old 2017-10-21 20:22:18.441506942 +0200
+++ /var/tmp/diff_new_pack.Pyj6Jq/_new 2017-10-21 20:22:18.441506942 +0200
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20171019.be5b3ec
-mtime: 1508442631
-commit: be5b3ec12db757532b0b6f0a45336c06c7634847
+version: 20171020.7d266d5
+mtime: 1508539051
+commit: 7d266d5d0aa854d83814c0483ac4f339f81a9aef