1
0
mirror of https://github.com/openSUSE/osc.git synced 2025-02-04 18:46:17 +01:00

Merge branch 'master' of gitorious.org:opensuse/osc

This commit is contained in:
Danny Kukawka 2010-07-28 16:05:36 +02:00
commit ead799632f
6 changed files with 40 additions and 22 deletions

2
NEWS
View File

@ -528,7 +528,7 @@ Changes were from Marcus_H, poeml, dmueller, tpatzig.
0.99+patches (interim releases, including Wed Apr 2 16:36:40 CEST 2008)
- new command submitreq, to handle "submit requests" (next generation build
service feature). See http://en.opensuse.org/Build_Service/Collaboration
service feature). See http://en.opensuse.org/openSUSE:Build_Service_Collaboration
- new link handling:
add support for handling linked packages in expanded form. They
can be checked out, updated (expanding or unexpanding them),

2
README
View File

@ -130,7 +130,7 @@ stored in the keyring application.
USAGE EXAMPLES:
(online at http://en.opensuse.org/Build_Service/CLI )
(online at http://en.opensuse.org/openSUSE:OSC )
To list existing content on the server
osc ls # list projects

2
TODO
View File

@ -35,7 +35,7 @@ CRITICAL:
apiurl/source/prj/pkg
The current working directory or its descendants should provide defaults
for apiurl, prj and/or pkg.
See also http://en.opensuse.org/Build_Service/Concepts/OscProjPack
See also http://en.opensuse.org/openSUSE:Build_Service_Concept_OscProjPack
MAJOR:

View File

@ -27,11 +27,11 @@ MAN_FOOTER = r"""
Type 'osc help <subcommand>' for more detailed help on a specific subcommand.
.PP
For additional information, see
* http://wiki.opensuse.org/openSUSE:Build_Service_Tutorial
* http://wiki.opensuse.org/openSUSE:OSC
* http://en.opensuse.org/openSUSE:Build_Service_Tutorial
* http://en.opensuse.org/openSUSE:OSC
.PP
You can modify osc commands, or roll you own, via the plugin API:
* http://wiki.opensuse.org/openSUSE:OSC_plugins
* http://en.opensuse.org/openSUSE:OSC_plugins
.SH AUTHOR
osc was written by several authors. This man page is automatically generated.
"""
@ -47,11 +47,11 @@ class Osc(cmdln.Cmdln):
${help_list}
global ${option_list}
For additional information, see
* http://wiki.opensuse.org/openSUSE:Build_Service_Tutorial
* http://wiki.opensuse.org/openSUSE:OSC
* http://en.opensuse.org/openSUSE:Build_Service_Tutorial
* http://en.opensuse.org/openSUSE:OSC
You can modify osc commands, or roll you own, via the plugin API:
* http://wiki.opensuse.org/openSUSE:OSC_plugins
* http://en.opensuse.org/openSUSE:OSC_plugins
"""
name = 'osc'
conf = None
@ -723,7 +723,7 @@ class Osc(cmdln.Cmdln):
def do_submitrequest(self, subcmd, opts, *args):
"""${cmd_name}: Create request to submit source into another Project
[See http://wiki.opensuse.org/openSUSE:Build_Service_Collaboration for information
[See http://en.opensuse.org/openSUSE:Build_Service_Collaboration for information
on this topic.]
See the "request" command for showing and modifing existing requests.
@ -1380,7 +1380,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
def do_changedevelrequest(self, subcmd, opts, *args):
"""${cmd_name}: Create request to change the devel package definition.
[See http://wiki.opensuse.org/openSUSE:Build_Service_Collaboration
[See http://en.opensuse.org/openSUSE:Build_Service_Collaboration
for information on this topic.]
See the "request" command for showing and modifing existing requests.
@ -1458,7 +1458,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
def do_request(self, subcmd, opts, *args):
"""${cmd_name}: Show and modify requests
[See http://wiki.opensuse.org/openSUSE:Build_Service_Collaboration
[See http://en.opensuse.org/openSUSE:Build_Service_Collaboration
for information on this topic.]
This command shows and modifies existing requests. To create new requests
@ -1895,7 +1895,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
This can be used to make packages available from building that are
needed in a project but available only in a different project. Note
that this is done at the expense of disk space. See
http://wiki.opensuse.org/openSUSE:Build_Service_Tips_and_Tricks#_link_and__aggregate
http://en.opensuse.org/openSUSE:Build_Service_Tips_and_Tricks#_link_and__aggregate
for more information.
The DESTPAC name is optional; the source packages' name will be used if
@ -2026,7 +2026,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
def do_mbranch(self, subcmd, opts, *args):
"""${cmd_name}: Multiple branch of a package
[See http://wiki.opensuse.org/openSUSE:Build_Service_Concept_Maintenance
[See http://en.opensuse.org/openSUSE:Build_Service_Concept_Maintenance
for information on this topic.]
This command is used for creating multiple links of defined version of a package
@ -2095,7 +2095,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
def do_branch(self, subcmd, opts, *args):
"""${cmd_name}: Branch a package
[See http://wiki.opensuse.org/openSUSE:Build_Service_Collaboration
[See http://en.opensuse.org/openSUSE:Build_Service_Collaboration
for information on this topic.]
Create a source link from a package of an existing project to a new
@ -3100,6 +3100,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
else:
pathn = getTransActPath(p.dir)
for filename in p.todo:
p.clear_from_conflictlist(filename)
ret, state = p.delete_file(filename, opts.force)
if ret:
print statfrmt('D', os.path.join(pathn, filename))
@ -3286,6 +3287,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
opts.name_filter = None
opts.status_filter = None
opts.vertical = None
opts.show_non_building = None
self.do_prjresults('prjresults', opts, *args)
sys.exit(0)
else:
@ -3327,6 +3329,8 @@ Please submit there instead, or use --nodevelproject to force direct submission.
help='show results only for specified repo(s)')
@cmdln.option('-V', '--vertical', action='store_true',
help='list packages vertically instead horizontally')
@cmdln.option('-S', '--show-non-building', action='store_true',
help='Show also packages which are build disabled or excluded')
@cmdln.alias('pr')
def do_prjresults(self, subcmd, opts, *args):
"""${cmd_name}: Shows project-wide build results
@ -3348,7 +3352,7 @@ Please submit there instead, or use --nodevelproject to force direct submission.
wd = os.curdir
project = store_read_project(wd)
print '\n'.join(get_prj_results(apiurl, project, hide_legend=opts.hide_legend, csv=opts.csv, status_filter=opts.status_filter, name_filter=opts.name_filter, repo=opts.repo, arch=opts.arch, vertical=opts.vertical))
print '\n'.join(get_prj_results(apiurl, project, hide_legend=opts.hide_legend, csv=opts.csv, status_filter=opts.status_filter, name_filter=opts.name_filter, repo=opts.repo, arch=opts.arch, vertical=opts.vertical, show_non_building=opts.show_non_building))
@cmdln.option('-q', '--hide-legend', action='store_true',
@ -5433,7 +5437,8 @@ Please submit there instead, or use --nodevelproject to force direct submission.
p = Package('.')
# check if everything is committed
for filename in p.filenamelist:
if p.status(filename) != ' ':
state = p.status(filename)
if state != ' ' and state != 'S':
raise oscerr.WrongArgs('Please commit your local changes first!')
# check if we need to update
upstream_rev = p.latest_rev()

View File

@ -127,7 +127,7 @@ new_package_templ = """\
</useforbuild>
Please have a look at:
http://wiki.opensuse.org/Restricted_formats
http://en.opensuse.org/Restricted_formats
Packages containing formats listed there are NOT allowed to
be packaged in the openSUSE Buildservice and will be deleted!
@ -1239,7 +1239,7 @@ class Package:
exists_in_store = True
if n in self.skipped:
if n in self.skipped or n.startswith('_service:'):
state = 'S'
elif exists and not exists_in_store and known_by_meta:
state = 'D'
@ -3823,7 +3823,7 @@ def get_results(apiurl, prj, package, lastbuild=None, repository=[], arch=[], ve
return r
def get_prj_results(apiurl, prj, hide_legend=False, csv=False, status_filter=None, name_filter=None, arch=None, repo=None, vertical=None):
def get_prj_results(apiurl, prj, hide_legend=False, csv=False, status_filter=None, name_filter=None, arch=None, repo=None, vertical=None, show_non_building=None):
#print '----------------------------------------'
r = []
@ -3862,7 +3862,7 @@ def get_prj_results(apiurl, prj, hide_legend=False, csv=False, status_filter=Non
targets.sort()
# filter option
if status_filter or name_filter:
if status_filter or name_filter or not show_non_building:
pacs_to_show = []
targets_to_show = []
@ -3888,6 +3888,17 @@ def get_prj_results(apiurl, prj, hide_legend=False, csv=False, status_filter=Non
if name_filter in pkg:
pacs_to_show.append(pkg)
#filter non building states
elif not show_non_building:
for pkg in status.keys():
print "RUN for", pkg
for repo in status[pkg].keys():
if status[pkg][repo] != "excluded" and status[pkg][repo] != "disabled":
pacs_to_show.append(pkg)
targets_to_show.append(repo)
break
pacs = [ i for i in pacs if i in pacs_to_show ]
if len(targets_to_show):
targets = [ i for i in targets if i in targets_to_show ]
@ -4877,6 +4888,8 @@ def getStatus(pacs, prj_obj=None, verbose=False, quiet=False):
lines.append(statfrmt(state, os.path.normpath(os.path.join(prj_obj.dir, p.name))))
for filename in p.todo:
if filename.startswith('_service:'):
continue
if filename in p.excluded:
continue
if filename in p.skipped:

View File

@ -58,7 +58,7 @@ setup(name='osc',
license = 'GPL',
platforms = ['Linux','Mac OSX','Windows XP/2000/NT','Windows 95/98/ME'],
keywords = ['openSUSE', 'SUSE', 'RPM', 'build', 'buildservice'],
url = 'http://en.opensuse.org/Build_Service/CLI',
url = 'http://en.opensuse.org/openSUSE:OSC',
download_url = 'http://gitorious.org/opensuse/osc',
packages = ['osc', 'osc.util'],