mirror of
https://github.com/openSUSE/osc.git
synced 2025-01-14 01:26:23 +01:00
applied patch from Michael Marek, fixing all places where error messages were
printed to stdout instead of stderr. [#239404]
This commit is contained in:
parent
280f2c9725
commit
60bc70dc7a
@ -47,8 +47,8 @@ class Buildinfo:
|
|||||||
try:
|
try:
|
||||||
tree = ET.parse(filename)
|
tree = ET.parse(filename)
|
||||||
except:
|
except:
|
||||||
print 'could not parse the buildconfig:'
|
print >>sys.stderr, 'could not parse the buildconfig:'
|
||||||
print open(filename).read()
|
print >>sys.stderr, open(filename).read()
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
root = tree.getroot()
|
root = tree.getroot()
|
||||||
|
@ -73,7 +73,8 @@ class Osc(cmdln.Cmdln):
|
|||||||
${cmd_option_list}
|
${cmd_option_list}
|
||||||
"""
|
"""
|
||||||
if len(args) != 2:
|
if len(args) != 2:
|
||||||
sys.exit('Must provide project and package name.')
|
print >>sys.stderr, 'Must provide project and package name.'
|
||||||
|
return 2
|
||||||
|
|
||||||
project = args[0]
|
project = args[0]
|
||||||
package = args[1]
|
package = args[1]
|
||||||
@ -118,7 +119,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if not args:
|
if not args:
|
||||||
print 'Missing argument.'
|
print >>sys.stderr, 'Missing argument.'
|
||||||
self.do_help(['foo', 'meta'])
|
self.do_help(['foo', 'meta'])
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
@ -173,7 +174,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if not args:
|
if not args:
|
||||||
print 'Missing argument.'
|
print >>sys.stderr, 'Missing argument.'
|
||||||
self.do_help(['foo', 'editmeta'])
|
self.do_help(['foo', 'editmeta'])
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
@ -225,7 +226,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if not args or len(args) < 3:
|
if not args or len(args) < 3:
|
||||||
print 'Incorrect number of argument.'
|
print >>sys.stderr, 'Incorrect number of argument.'
|
||||||
self.do_help(['foo', 'linkpac'])
|
self.do_help(['foo', 'linkpac'])
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
@ -238,7 +239,8 @@ class Osc(cmdln.Cmdln):
|
|||||||
dst_package = src_package
|
dst_package = src_package
|
||||||
|
|
||||||
if src_project == dst_project and src_package == dst_package:
|
if src_project == dst_project and src_package == dst_package:
|
||||||
sys.exit('osc: error: source and destination are the same')
|
print >>sys.stderr, 'Error: source and destination are the same.'
|
||||||
|
return 1
|
||||||
link_pac(src_project, src_package, dst_project, dst_package)
|
link_pac(src_project, src_package, dst_project, dst_package)
|
||||||
|
|
||||||
|
|
||||||
@ -256,7 +258,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if not args or len(args) < 3:
|
if not args or len(args) < 3:
|
||||||
print 'Incorrect number of argument.'
|
print >>sys.stderr, 'Incorrect number of argument.'
|
||||||
self.do_help(['foo', 'copypac'])
|
self.do_help(['foo', 'copypac'])
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
@ -269,7 +271,8 @@ class Osc(cmdln.Cmdln):
|
|||||||
dst_package = src_package
|
dst_package = src_package
|
||||||
|
|
||||||
if src_project == dst_project and src_package == dst_package:
|
if src_project == dst_project and src_package == dst_package:
|
||||||
sys.exit('osc: error: source and destination are the same')
|
print >>sys.stderr, 'Error: source and destination are the same.'
|
||||||
|
return 1
|
||||||
copy_pac(src_project, src_package, dst_project, dst_package)
|
copy_pac(src_project, src_package, dst_project, dst_package)
|
||||||
|
|
||||||
|
|
||||||
@ -297,7 +300,8 @@ class Osc(cmdln.Cmdln):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if meta_get_packagelist(project) != []:
|
if meta_get_packagelist(project) != []:
|
||||||
sys.exit('Project contains packages. It must be empty before deleting it.')
|
print >>sys.stderr, 'Project contains packages. It must be empty before deleting it.'
|
||||||
|
return 1
|
||||||
delete_project(project)
|
delete_project(project)
|
||||||
|
|
||||||
|
|
||||||
@ -353,7 +357,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
difference_found = True
|
difference_found = True
|
||||||
|
|
||||||
if difference_found:
|
if difference_found:
|
||||||
sys.exit(1)
|
return 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -416,7 +420,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
for package in meta_get_packagelist(project):
|
for package in meta_get_packagelist(project):
|
||||||
checkout_package(project, package)
|
checkout_package(project, package)
|
||||||
else:
|
else:
|
||||||
print 'Missing argument.'
|
print >>sys.stderr, 'Missing argument.'
|
||||||
self.do_help(['foo', 'checkout'])
|
self.do_help(['foo', 'checkout'])
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
@ -464,7 +468,8 @@ class Osc(cmdln.Cmdln):
|
|||||||
elif os.path.isfile(arg):
|
elif os.path.isfile(arg):
|
||||||
pacpaths.append(arg)
|
pacpaths.append(arg)
|
||||||
else:
|
else:
|
||||||
sys.exit('osc: error: %s is neither a project or a package directory' % arg)
|
print >>sys.stderr, 'osc: error: %s is neither a project or a package directory' % arg
|
||||||
|
return 1
|
||||||
|
|
||||||
|
|
||||||
pacs = findpacs(pacpaths)
|
pacs = findpacs(pacpaths)
|
||||||
@ -503,7 +508,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if not args:
|
if not args:
|
||||||
print 'Missing argument.'
|
print >>sys.stderr, 'Missing argument.'
|
||||||
self.do_help(['foo', 'add'])
|
self.do_help(['foo', 'add'])
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
@ -511,8 +516,8 @@ class Osc(cmdln.Cmdln):
|
|||||||
|
|
||||||
for filename in filenames:
|
for filename in filenames:
|
||||||
if not os.path.exists(filename):
|
if not os.path.exists(filename):
|
||||||
print "file '%s' does not exist" % filename
|
print >>sys.stderr, "file '%s' does not exist" % filename
|
||||||
sys.exit(1)
|
return 1
|
||||||
|
|
||||||
pacs = findpacs(filenames)
|
pacs = findpacs(filenames)
|
||||||
|
|
||||||
@ -521,7 +526,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
if filename in pac.excluded:
|
if filename in pac.excluded:
|
||||||
continue
|
continue
|
||||||
if filename in pac.filenamelist:
|
if filename in pac.filenamelist:
|
||||||
print 'osc: warning: \'%s\' is already under version control' % filename
|
print >>sys.stderr, 'osc: warning: \'%s\' is already under version control' % filename
|
||||||
continue
|
continue
|
||||||
|
|
||||||
pac.addfile(filename)
|
pac.addfile(filename)
|
||||||
@ -585,9 +590,10 @@ class Osc(cmdln.Cmdln):
|
|||||||
# commit only if the upstream revision is the same as the working copy's
|
# commit only if the upstream revision is the same as the working copy's
|
||||||
upstream_rev = show_upstream_rev(p.prjname, p.name)
|
upstream_rev = show_upstream_rev(p.prjname, p.name)
|
||||||
if p.rev != upstream_rev:
|
if p.rev != upstream_rev:
|
||||||
print 'Working copy \'%s\' is out of date (rev %s vs rev %s).' % (p.absdir, p.rev, upstream_rev)
|
print >>sys.stderr, 'Working copy \'%s\' is out of date (rev %s vs rev %s).' \
|
||||||
print 'Looks as if you need to update it first.'
|
% (p.absdir, p.rev, upstream_rev)
|
||||||
sys.exit(1)
|
print >>sys.stderr, 'Looks as if you need to update it first.'
|
||||||
|
return 1
|
||||||
|
|
||||||
if not p.todo:
|
if not p.todo:
|
||||||
p.todo = p.filenamelist_unvers + p.filenamelist
|
p.todo = p.filenamelist_unvers + p.filenamelist
|
||||||
@ -728,7 +734,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if not args:
|
if not args:
|
||||||
print 'Missing argument.'
|
print >>sys.stderr, 'Missing argument.'
|
||||||
self.do_help(['foo', 'delete'])
|
self.do_help(['foo', 'delete'])
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
@ -768,7 +774,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if not args:
|
if not args:
|
||||||
print 'Missing argument.'
|
print >>sys.stderr, 'Missing argument.'
|
||||||
self.do_help(['foo', 'resolved'])
|
self.do_help(['foo', 'resolved'])
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
@ -843,7 +849,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if args and len(args) > 1:
|
if args and len(args) > 1:
|
||||||
print 'getting results for more than one package is not supported'
|
print >>sys.stderr, 'getting results for more than one package is not supported'
|
||||||
self.do_help(['foo', 'results'])
|
self.do_help(['foo', 'results'])
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
@ -856,7 +862,8 @@ class Osc(cmdln.Cmdln):
|
|||||||
package = store_read_package(wd)
|
package = store_read_package(wd)
|
||||||
project = store_read_project(wd)
|
project = store_read_project(wd)
|
||||||
except:
|
except:
|
||||||
sys.exit('\'%s\' is not an osc package directory' % wd)
|
print >>sys.stderr, '\'%s\' is not an osc package directory' % wd
|
||||||
|
return 1
|
||||||
|
|
||||||
print '\n'.join(get_results(project, package))
|
print '\n'.join(get_results(project, package))
|
||||||
|
|
||||||
@ -879,7 +886,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if args and len(args) > 1:
|
if args and len(args) > 1:
|
||||||
print 'getting results for more than one project is not supported'
|
print >>sys.stderr, 'getting results for more than one project is not supported'
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
if args:
|
if args:
|
||||||
@ -890,7 +897,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
try:
|
try:
|
||||||
project = store_read_project(wd)
|
project = store_read_project(wd)
|
||||||
except:
|
except:
|
||||||
print '\'%s\' is neither an osc project or package directory' % wd
|
print >>sys.stderr, '\'%s\' is neither an osc project or package directory' % wd
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
print '\n'.join(get_prj_results(project, show_legend=opts.legend))
|
print '\n'.join(get_prj_results(project, show_legend=opts.legend))
|
||||||
@ -955,7 +962,8 @@ class Osc(cmdln.Cmdln):
|
|||||||
project = store_read_project(wd)
|
project = store_read_project(wd)
|
||||||
|
|
||||||
if args is None or len(args) < 2:
|
if args is None or len(args) < 2:
|
||||||
print 'Missing argument. Valid arguments for this package are:'
|
print >>sys.stderr, 'Missing argument.'
|
||||||
|
print 'Valid arguments for this package are:'
|
||||||
print
|
print
|
||||||
self.do_repos(None, None)
|
self.do_repos(None, None)
|
||||||
print
|
print
|
||||||
@ -970,7 +978,8 @@ class Osc(cmdln.Cmdln):
|
|||||||
except IndexError:
|
except IndexError:
|
||||||
spec = None
|
spec = None
|
||||||
except IOError, e:
|
except IOError, e:
|
||||||
sys.exit(e)
|
print >>sys.stderr, e
|
||||||
|
return 1
|
||||||
|
|
||||||
print ''.join(get_buildinfo(project, package, platform, arch, specfile=spec))
|
print ''.join(get_buildinfo(project, package, platform, arch, specfile=spec))
|
||||||
|
|
||||||
@ -1066,17 +1075,18 @@ class Osc(cmdln.Cmdln):
|
|||||||
|
|
||||||
builddist = os.getenv('BUILD_DIST')
|
builddist = os.getenv('BUILD_DIST')
|
||||||
if builddist:
|
if builddist:
|
||||||
#sys.argv[4] = sys.argv[1]
|
#args[3] = args[0]
|
||||||
hyphen = builddist.rfind('-')
|
hyphen = builddist.rfind('-')
|
||||||
sys.argv.insert(2, builddist[hyphen+1:])
|
args.insert(1, builddist[hyphen+1:])
|
||||||
sys.argv.insert(2, builddist[:hyphen])
|
args.insert(1, builddist[:hyphen])
|
||||||
print sys.argv
|
print sys.argv
|
||||||
|
|
||||||
elif len(args) >= 2 and len(args) < 3:
|
elif len(args) >= 2 and len(args) < 3:
|
||||||
print 'Missing argument: build description (spec of dsc file)'
|
print >>sys.stderr, 'Missing argument: build description (spec of dsc file)'
|
||||||
return 2
|
return 2
|
||||||
elif len(args) < 2:
|
elif len(args) < 2:
|
||||||
print
|
print
|
||||||
|
print >>sys.stderr, 'Missing argument.'
|
||||||
print 'Valid arguments are:'
|
print 'Valid arguments are:'
|
||||||
print 'you have to choose a repo to build on'
|
print 'you have to choose a repo to build on'
|
||||||
print 'possible repositories on this machine are:'
|
print 'possible repositories on this machine are:'
|
||||||
@ -1142,7 +1152,7 @@ class Osc(cmdln.Cmdln):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
if len(args) < 1:
|
if len(args) < 1:
|
||||||
print 'Missing argument.'
|
print >>sys.stderr, 'Missing argument.'
|
||||||
#self.do_help(['foo', 'rebuildpac'])
|
#self.do_help(['foo', 'rebuildpac'])
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
|
38
osc/core.py
38
osc/core.py
@ -448,8 +448,8 @@ class Package:
|
|||||||
elif not exists and exists_in_store and not known_by_meta:
|
elif not exists and exists_in_store and not known_by_meta:
|
||||||
state = 'D'
|
state = 'D'
|
||||||
elif not exists and not exists_in_store and not known_by_meta:
|
elif not exists and not exists_in_store and not known_by_meta:
|
||||||
print '%s: not exists and not exists_in_store and not nown_by_meta' % n
|
print >>sys.stderr, '%s: not exists and not exists_in_store and not nown_by_meta' % n
|
||||||
print 'this code path should never be reached!'
|
print >>sys.stderr, 'this code path should never be reached!'
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
return state
|
return state
|
||||||
@ -481,7 +481,7 @@ rev: %s
|
|||||||
name, summary, descr = read_meta_from_spec(specfile)
|
name, summary, descr = read_meta_from_spec(specfile)
|
||||||
|
|
||||||
if name != self.name:
|
if name != self.name:
|
||||||
print 'name from spec does not match name of package... this is probably a problem'
|
print >>sys.stderr, 'name from spec does not match name of package... this is probably a problem'
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
self.summary = summary
|
self.summary = summary
|
||||||
self.descr = descr
|
self.descr = descr
|
||||||
@ -500,8 +500,8 @@ rev: %s
|
|||||||
print 'package does not exist yet... creating it'
|
print 'package does not exist yet... creating it'
|
||||||
m = template % (pac, conf.config['user'])
|
m = template % (pac, conf.config['user'])
|
||||||
else:
|
else:
|
||||||
print 'error getting package meta for project \'%s\' package \'%s\':' % (prj, pac)
|
print >>sys.stderr, 'error getting package meta for project \'%s\' package \'%s\':' % (prj, pac)
|
||||||
print e
|
print >>sys.stderr, e
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
f = os.fdopen(fd, 'w')
|
f = os.fdopen(fd, 'w')
|
||||||
@ -726,7 +726,7 @@ def check_store_version(dir):
|
|||||||
v = ''
|
v = ''
|
||||||
|
|
||||||
if v == '':
|
if v == '':
|
||||||
print 'error: "%s" is not an osc working copy' % dir
|
print >>sys.stderr, 'error: "%s" is not an osc working copy' % dir
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
if v != __version__:
|
if v != __version__:
|
||||||
@ -736,11 +736,11 @@ def check_store_version(dir):
|
|||||||
f.write(__version__ + '\n')
|
f.write(__version__ + '\n')
|
||||||
f.close()
|
f.close()
|
||||||
return
|
return
|
||||||
print
|
print >>sys.stderr
|
||||||
print 'the osc metadata of your working copy "%s"' % dir
|
print >>sys.stderr, 'the osc metadata of your working copy "%s"' % dir
|
||||||
print 'has the wrong version (%s), should be %s' % (v, __version__)
|
print >>sys.stderr, 'has the wrong version (%s), should be %s' % (v, __version__)
|
||||||
print 'please do a fresh checkout'
|
print >>sys.stderr, 'please do a fresh checkout'
|
||||||
print
|
print >>sys.stderr
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
@ -804,8 +804,8 @@ class metafile:
|
|||||||
if e.code == 404:
|
if e.code == 404:
|
||||||
m = template % (pac, conf.config['user'])
|
m = template % (pac, conf.config['user'])
|
||||||
else:
|
else:
|
||||||
print 'error getting package meta for project \'%s\' package \'%s\':' % (prj, pac)
|
print >>sys.stderr, 'error getting package meta for project \'%s\' package \'%s\':' % (prj, pac)
|
||||||
print e
|
print >>sys.stderr, e
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
@ -820,8 +820,8 @@ class metafile:
|
|||||||
if e.code == 404:
|
if e.code == 404:
|
||||||
m = new_project_templ % (prj, conf.config['user'])
|
m = new_project_templ % (prj, conf.config['user'])
|
||||||
else:
|
else:
|
||||||
print 'error getting package meta for project \'%s\':' % prj
|
print >>sys.stderr, 'error getting package meta for project \'%s\':' % prj
|
||||||
print e
|
print >>sys.stderr, e
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
f = os.fdopen(fd, 'w')
|
f = os.fdopen(fd, 'w')
|
||||||
@ -861,8 +861,8 @@ def edit_user_meta(user, change_is_required=True):
|
|||||||
if e.code == 404:
|
if e.code == 404:
|
||||||
m = new_user_template % { 'user': user }
|
m = new_user_template % { 'user': user }
|
||||||
else:
|
else:
|
||||||
print 'error getting metadata for user \'%s\':' % user
|
print >>sys.stderr, 'error getting metadata for user \'%s\':' % user
|
||||||
print e
|
print >>sys.stderr, e
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
(fd, filename) = tempfile.mkstemp(prefix = 'osc_edituser.', suffix = '.xml', dir = '/tmp')
|
(fd, filename) = tempfile.mkstemp(prefix = 'osc_edituser.', suffix = '.xml', dir = '/tmp')
|
||||||
@ -1063,8 +1063,8 @@ def link_pac(src_project, src_package, dst_project, dst_package):
|
|||||||
# create the _link file
|
# create the _link file
|
||||||
# but first, make sure not to overwrite an existing one
|
# but first, make sure not to overwrite an existing one
|
||||||
if '_link' in meta_get_filelist(dst_project, dst_package):
|
if '_link' in meta_get_filelist(dst_project, dst_package):
|
||||||
print
|
print >>sys.stderr
|
||||||
print '_link file already exists...! Aborting'
|
print >>sys.stderr, '_link file already exists...! Aborting'
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
print 'Creating _link...',
|
print 'Creating _link...',
|
||||||
|
@ -88,8 +88,8 @@ class Fetcher:
|
|||||||
try:
|
try:
|
||||||
os.makedirs(dir, mode=0755)
|
os.makedirs(dir, mode=0755)
|
||||||
except OSError, e:
|
except OSError, e:
|
||||||
print 'packagecachedir is not writable for you?'
|
print >>sys.stderr, 'packagecachedir is not writable for you?'
|
||||||
print e
|
print >>sys.stderr, e
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user