From 8d551e0a69be6de6303c59e2e9cf9b7d055f975b Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Sun, 28 Feb 2010 02:30:13 +0100 Subject: [PATCH] fix whitespace --- NEWS | 44 ++++++++++++++--------------- PROJ_PACK.txt | 56 ++++++++++++++++++------------------- README | 37 +++++++++++++------------ TODO | 8 +++--- dist/osc.complete | 2 +- osc/build.py | 28 +++++++++---------- osc/commandline.py | 30 ++++++++++---------- osc/conf.py | 2 +- osc/core.py | 4 +-- osc/oscssl.py | 2 +- osc/util/packagequery.py | 22 +++++++-------- osc/util/repodata.py | 60 ++++++++++++++++++++-------------------- osc/util/rpmquery.py | 2 +- 13 files changed, 149 insertions(+), 148 deletions(-) diff --git a/NEWS b/NEWS index 67e53883..f15a415d 100644 --- a/NEWS +++ b/NEWS @@ -63,7 +63,7 @@ - search: allow to limit results via existing attibutes - added "osc meta attribute" for basic attribute creation, deletion, showing and value setting - implement "osc mbranch" call to create projects with multiple source package (instances) - - new "osc patchinfo" command: basic patchinfo generation and modification support + - new "osc patchinfo" command: basic patchinfo generation and modification support - add support for _patchinfo package submissions in "osc sr" on project level - support review handling of requests (new "osc review accept/decline $REQUEST_ID" command @@ -98,7 +98,7 @@ - rename old "platform/s" names to "repository/ies" (internal cleanup only) - fixed osc diff -c N, it failed with int and string concatenation - made osc diff and rdiff more similar: added -p, -c to rdiff, removed -u from rdiff. - made -u default for both, renamed --pretty to --plain as it is the opposite of -u + made -u default for both, renamed --pretty to --plain as it is the opposite of -u # # Features which require OBS 1.7 # @@ -167,7 +167,7 @@ 0.119: - Support new request types - "submitreq" command has a new syntax (incompatible !) - - new "deleterequest" command + - new "deleterequest" command - new "changedevelrequest" command - new "request" command for showing/modifing requests - Multiple actions in one request is not yet supported by osc @@ -231,7 +231,7 @@ - fixed support for accessing download repositories (worked only for download.o.o so far) 0.114: -- the .oscrc config handling has been cleaned up: +- the .oscrc config handling has been cleaned up: * use "apiurl" for everything now (== ://) * added aliases support for [apiurl] sections in the ~/.oscrc. Example: @@ -243,14 +243,14 @@ * when writing a new ~/.oscrc, store the apiurl in the conffile (bnc#478054) * fixed bug that made osc ask for credentials when -A was used (bnc#478054) * fixed crash upon password entry (first startup) (bnc#478052) -- osc build: +- osc build: * make product builds work * speed up by using a cookie when fetching the binaries (bnc#477690) * support for VM (kvm or xen) builds * obsolete the need to configure download server, get it from the build service instance instead. * be a bit more verbose if the linked package isn't expanded (bnc#470948) -- osc branch: +- osc branch: * --develproject option fixed (the API calls it 'ignoredevel' instead of 'nodevelproject') * --revision option added - osc jobhistory: new command to see build job history of a project or a package @@ -277,14 +277,14 @@ - don't use a hardcoded path for the rpm binary otherwise it fails on distributions like debian - osc meta: be more verbose in case of failure (bnc#459292) -- osc mkpac: add info how to enable the package tracking feature (bnc#459288) +- osc mkpac: add info how to enable the package tracking feature (bnc#459288) 0.112: important bugfix: - osc deletepac: prevent recursive deletion of a whole project [bnc#458535] - osc build: support more options: --icecream, --ccache, --with, --without - osc build: --keep-pkgs also saves the src.rpm now -- osc build: small fix in debuginfo handling +- osc build: small fix in debuginfo handling - osc build: new armv7el arch for all binaries for up to ARMv7 EABI with VFP @@ -331,7 +331,7 @@ Changes were from Marcus_H, poeml, dmueller, tpatzig. - osc sr show: show the current state's comment - osc sr log: new command to show the history of a given id - osc sr: enable requests for submitting new packages -- osc build: implement --no-checks +- osc build: implement --no-checks - osc build: be less strict on the arguments, and guess what's needed. For instance: * osc build PLATFORM ARCH BUILD_DESCR * osc build PLATFORM (ARCH = hostarch, BUILD_DESCR guessed) @@ -339,7 +339,7 @@ Changes were from Marcus_H, poeml, dmueller, tpatzig. * osc build BUILD_DESCR (PLATFORM = build_platform (config option), ARCH = hostarch) * osc build (PLATFORM = build_platform (config option), ARCH = hostarch, BUILD_DESCR guessed) - osc build: download after the target architecture check -- osc addremove: bugfixes, --recursive option +- osc addremove: bugfixes, --recursive option - osc init: added support to initialize a project dir - osc metafromspec: new alias for 'updatepacmetafromspec' which is hard to remember - osc updatepacmetafromspec: also update URL @@ -356,20 +356,20 @@ Changes were from Marcus_H, poeml, dmueller, tpatzig. - osc build: the --extra-pkgs option is now a configurable setting in .oscrc. Default is "extra-pkgs = vim gdb strace" - .oscrc: make tilde expansion work on the packagecachedir setting -- osc update / checkout: don't check out a working copy, or update an existing +- osc update / checkout: don't check out a working copy, or update an existing one, when a source link cannot be applied [bnc#409373] 0.106: - osc rdiff / osc submitreq show: diff the _expanded_ sources [bnc#408267] -- osc submitreq list: show author's name +- osc submitreq list: show author's name - osc submitreq: shortcut alias 'sr' added 0.105: -- osc submitreq list: +- osc submitreq list: - can now be called without parameters, applying to the working copy then. - calling it in a project directory is also possible now. - output was improved. Newest requests are listed first. @@ -411,7 +411,7 @@ Changes were from Marcus_H, poeml, dmueller, tpatzig. 0.103: -- osc submitreq create: simplify by make osc guess needed parameters, if +- osc submitreq create: simplify by make osc guess needed parameters, if there is a working copy and it is a source link. - osc submitreq create: don't stop on packages that have a devel project defined, if the submit actually comes from that project. @@ -459,7 +459,7 @@ Changes were from Marcus_H, poeml, dmueller, tpatzig. - osc maintainer: new -D/--devel-project switch - BUILD_DIST environment variable will be ignored (bnc#359846) The following environment variables can still be used: - * OSC_SU_WRAPPER overrides the setting of su-wrapper. + * OSC_SU_WRAPPER overrides the setting of su-wrapper. * OSC_BUILD_ROOT overrides the setting of build-root. * OSC_PACKAGECACHEDIR overrides the setting of packagecachedir. @@ -560,7 +560,7 @@ Changes were from Marcus_H, poeml, dmueller, tpatzig. 0.96: - following suggestions by Christian Boltz and Michal Marek, osc now memorizes where a working copy was checked out from, saving the api server url to - .osc/_apiurl. + .osc/_apiurl. - implement 'info' subcommand - use new api routes in all places - buildhistory works again @@ -571,7 +571,7 @@ Changes were from Marcus_H, poeml, dmueller, tpatzig. - applied patch from Michael Marek, fixing all places where error messages were printed to stdout instead of stderr. [#239404] - osc is now easier to work with when using alternative API servers. The - configured server can be overriden with -A on the commandline. + configured server can be overriden with -A on the commandline. "apisrv" in the config takes a URL now, so the variable "scheme" which was needed in addition before becomes obsolete. For backward compatibility, a hostname (and scheme variable) are accepted like before. Likewise, the auth @@ -588,7 +588,7 @@ Changes were from Marcus_H, poeml, dmueller, tpatzig. 5 times in an iChain setup - adding http_GET/POST/PUT/DELETE() functions, which dispatch to http_request(), and use them everywhere - - removing othermethods.py + - removing othermethods.py - keeping urlopen(), in case it is used from externally, but have it print out a "depracated" message - finally, global option -H enables HTTP traffic debugging @@ -598,7 +598,7 @@ Changes were from Marcus_H, poeml, dmueller, tpatzig. - suppress the legend in prjresults by default (show with -l) - --version shows the program version number - fix the commit subcommand's argument handling. The following works correctly - now: osc ci ../test/onlyinwc `pwd` fstab ../test/f2 + now: osc ci ../test/onlyinwc `pwd` fstab ../test/f2 - fix the download progress meter to work with small terminals [#266989] - update: when updating multiple packages, print each package name - make 'results' subcommand many times faster, by making only a single request @@ -643,7 +643,7 @@ Changes were from Marcus_H, poeml, dmueller, tpatzig. 0.8: - build: use configuration from *local* specfile (e.g. BuildRequires) -- build: let envvars OSC_SU_WRAPPER and OSC_BUILD_ROOT override config +- build: let envvars OSC_SU_WRAPPER and OSC_BUILD_ROOT override config - build: allow 'dynamical' build-root setting by using %(repo)s and %(arch)s - add 'createpac/editpac' and 'createprj/editprj' subcommands which are similar to 'editmeta' but should be more logical to find @@ -672,7 +672,7 @@ Changes were from Marcus_H, poeml, dmueller, tpatzig. metadata from a specfile - fix profiling wrapper - set User-agent -- bugfixes: +- bugfixes: - fix handling of filenames with '+' signs - make 'resolved' more robust - fix merge on 'update' if called from another directory @@ -703,7 +703,7 @@ Changes were from Marcus_H, poeml, dmueller, tpatzig. 0.4: - allow 'up' inside a project directory (will automatically pull in all new - packages). (For past checkouts, you may need to put the project name into + packages). (For past checkouts, you may need to put the project name into $prjdir/.osc/_project yourself). - checkout: preserve mtimes - add diff3 merge support. Locally modified files are merged with upstream changes diff --git a/PROJ_PACK.txt b/PROJ_PACK.txt index 81bfd2a7..591676e6 100644 --- a/PROJ_PACK.txt +++ b/PROJ_PACK.txt @@ -1,10 +1,10 @@ - jw, Tue Oct 20 22:09:16 CEST 2009 + jw, Tue Oct 20 22:09:16 CEST 2009 This is a feature suggestion for easier osc commandline handling. Many commands require specifying Project and/or Package names. The current situation is not satisfying for the following reasons: - - inconsistent defaults. Some osc subcommands can take project + - inconsistent defaults. Some osc subcommands can take project and/or package names from the current directory, if run inside a checkout tree. If both project and package can use this default or only one, and if one, which, depends on the command. Users have a hard time memorizing @@ -12,22 +12,22 @@ The current situation is not satisfying for the following reasons: Examples as of osc version 0.123: osc maintainer PRJ [PKG] - does not look in the current directory. - - need at least PRJ. + - need at least PRJ. osc list [PRJ [PKG]] - - Never looks at the current directory. - - lists all projects, if run without parameters. + - Never looks at the current directory. + - lists all projects, if run without parameters. osc checkout [PRJ] PKG osc checkout PRJ - takes project from current directory, if inside a checkout tree - - else operates on an entire project. + - else operates on an entire project. osc checkin [ARG] - - defaults to current project and package, - - if arg is a subdirectory, project is taken from current directory - - if arg is a file, both project and package are taken from current - directory. + - defaults to current project and package, + - if arg is a subdirectory, project is taken from current directory + - if arg is a file, both project and package are taken from current + directory. osc results [PRJ PKG] - takes either both or none from current directory. - - many commands do not look into the current directory, + - many commands do not look into the current directory, they are cumbersome to use. - sometimes PRJ/PKG can be used instead of PRJ PKG @@ -50,25 +50,25 @@ used in parallel. --pkg, --pack, --package are synonyms. osc shall support aliases, to save typing. Some implicit aliases exist, -with well defined magic effects. Aliases substitution is literal. +with well defined magic effects. Aliases substitution is literal. They can replace options including their parameters, or just the option, or just the parameters. - - (a dash) expands to --prj openSUSE:Factory - (or --prj followed by any other project as defined in + - (a dash) expands to --prj openSUSE:Factory + (or --prj followed by any other project as defined in ~/.oscrc:default_project ) - --prj - is synonymous to just -, for consistency. + --prj - is synonymous to just -, for consistency. . (a dot) evaluates the current working directory, searching for - .osc/_apiurl, .osc/_project, and .osc/_package - Implicit --apiurl, --prj, or --pkg options are constructed as far - as available from the current directory and as far as not already - present in the command line. - If a dot is used as parameter to an option, it has a more - deterministic meaning. - --apiurl . Substitute only the current apiurl, - --prj . Substitute the current project name, and provides - a default for --apiurl unless given. - --pkg . Substitures current package name likewise. + .osc/_apiurl, .osc/_project, and .osc/_package + Implicit --apiurl, --prj, or --pkg options are constructed as far + as available from the current directory and as far as not already + present in the command line. + If a dot is used as parameter to an option, it has a more + deterministic meaning. + --apiurl . Substitute only the current apiurl, + --prj . Substitute the current project name, and provides + a default for --apiurl unless given. + --pkg . Substitures current package name likewise. ./. expands to --prj . --pkg . ./PKG expands to --prj . --pkg PKG @@ -83,10 +83,10 @@ printed as debug output. online help of osc commands shall refer to the above syntax like this: - osc CMD ... PROJ/PACK + osc CMD ... PROJ/PACK -An additional help entry +An additional help entry - osc help 'PROJ/PACK' + osc help 'PROJ/PACK' shall explain the relevant details as presented herein. diff --git a/README b/README index 3955f780..bf5f55e5 100644 --- a/README +++ b/README @@ -14,17 +14,18 @@ RPM packages are here (rpm-md repository): http://download.opensuse.org/repositories/openSUSE:/Tools/ To install from svn, do - python setup.py build - python setup.py install - # create a symlink 'osc' in your path pointing to osc.py. - ln -s osc-wrapper.py /usr/bin/osc + + python setup.py build + python setup.py install + # create a symlink 'osc' in your path pointing to osc.py. + ln -s osc-wrapper.py /usr/bin/osc Alternatively, you can directly use osc-wrapper.py from the source dir (which is easier if you develop on osc). The program needs the cElementTree python module installed. On SUSE, the -respective package is called python-elementtree (before 10.2: python-xml). +respective package is called python-elementtree (before 10.2: python-xml). For local building, you will need python-urlgrabber in addition. Those are standard package on SUSE Linux since a while. If your version is too old, you can find python-elementtree and python-urlgrabber here: @@ -132,29 +133,29 @@ USAGE EXAMPLES: (online at http://en.opensuse.org/Build_Service/CLI ) To list existing content on the server - osc ls # list projects - osc ls Apache # list packages in a project - osc ls Apache subversion # list files of package of a project + osc ls # list projects + osc ls Apache # list packages in a project + osc ls Apache subversion # list files of package of a project Check out content - osc co Apache # entire project - osc co Apache subversion # a package - osc co Apache subversion foo # single file + osc co Apache # entire project + osc co Apache subversion # a package + osc co Apache subversion foo # single file Update a working copy osc up - osc up [pac_dir] # update a single package by its path - osc up * # from within a project dir, update all packages - osc up # from within a project dir, update all packages - AND check out all newly added packages + osc up [pac_dir] # update a single package by its path + osc up * # from within a project dir, update all packages + osc up # from within a project dir, update all packages + # AND check out all newly added packages If an update can't be merged automatically, a file is in 'C' (conflict) -state, and conflicts are marked with special <<<<<<< and >>>>>>> lines. +state, and conflicts are marked with special <<<<<<< and >>>>>>> lines. After manually resolving the problem, use osc resolved foo Upload change content - osc ci # current dir + osc ci # current dir osc ci osc ci file1 file2 ... @@ -171,7 +172,7 @@ Adds all new files in local copy and removes all disappeared files. osc addremove Generates a diff, to view the changes - osc diff # current dir + osc diff # current dir osc diff file1 file2 ... Shows the build results of the package diff --git a/TODO b/TODO index 917367db..5832e12c 100644 --- a/TODO +++ b/TODO @@ -10,7 +10,7 @@ CRITICAL: -A apiurl prj/pkg -A apiurl prj:pkg apiurl/source/prj/pkg - The current working directory or its descendants should provide defaults + The current working directory or its descendants should provide defaults for apiurl, prj and/or pkg. MAJOR: @@ -24,13 +24,13 @@ NORMAL: - implement (svn-like) switch command - implement 'mv' command - commit: check if errors during PUT are handled sensibly, so the change is - not committed to localmeta + not committed to localmeta - add switch to commit to change repository options, like to e.g. disable publishing? - implement optional logging to .osc/log, which could be useful for debugging bugs like the one where api.opensuse.org sends empty replies (a hard-to-catch one) -MINOR: +MINOR: - osc checkout should display file download progress (bnc#442115) - adjust zsh completion to work with cmdln.py implementation @@ -42,7 +42,7 @@ MINOR: JW: FIXME: osc co overwrites local changes without warning. FIXME: when branching, the user should be added to bugowner, for the branch project. -FIXME: 'osc rq' shall default to 'osc rq list -M -B -s all', +FIXME: 'osc rq' shall default to 'osc rq list -M -B -s all', where -B shows requests related to packages where I am the bugowner. FIXME: 'osc log openSUSE:Factory PKG' should also point to the bsdevelproject diff --git a/dist/osc.complete b/dist/osc.complete index 0b399d07..0a720334 100644 --- a/dist/osc.complete +++ b/dist/osc.complete @@ -162,7 +162,7 @@ rq|request) show) if ((count == 3)) ; then builtin compgen -W '--diff' -- "${cmdline[3]}" - else + else builtin echo -n 'ID' fi ;; diff --git a/osc/build.py b/osc/build.py index 69059885..67200b05 100644 --- a/osc/build.py +++ b/osc/build.py @@ -231,27 +231,27 @@ def get_built_files(pacdir, pactype): def get_repo(path): """Walks up path looking for any repodata directories. - + @param path path to a directory @return str path to repository directory containing repodata directory """ oldDirectory = None currentDirectory = os.path.abspath(path) repositoryDirectory = None - + # while there are still parent directories while currentDirectory != oldDirectory: children = os.listdir(currentDirectory) - + if "repodata" in children: repositoryDirectory = currentDirectory break - + # ascend oldDirectory = currentDirectory currentDirectory = os.path.abspath(os.path.join(oldDirectory, os.pardir)) - + return repositoryDirectory def get_prefer_pkgs(dirs, wanted_arch, type): @@ -259,11 +259,11 @@ def get_prefer_pkgs(dirs, wanted_arch, type): from util import repodata, packagequery, cpio paths = [] repositories = [] - + suffix = '*.rpm' if type == 'dsc': suffix = '*.deb' - + for dir in dirs: # check for repodata repository = get_repo(dir) @@ -271,15 +271,15 @@ def get_prefer_pkgs(dirs, wanted_arch, type): paths += glob.glob(os.path.join(os.path.abspath(dir), suffix)) else: repositories.append(repository) - + packageQueries = packagequery.PackageQueries(wanted_arch) - + for repository in repositories: repodataPackageQueries = repodata.queries(repository) - + for packageQuery in repodataPackageQueries: packageQueries.add(packageQuery) - + for path in paths: if path.endswith('src.rpm'): continue @@ -287,10 +287,10 @@ def get_prefer_pkgs(dirs, wanted_arch, type): continue packageQuery = packagequery.PackageQuery.query(path) packageQueries.add(packageQuery) - + prefer_pkgs = dict((name, packageQuery.path()) for name, packageQuery in packageQueries.iteritems()) - + depfile = create_deps(packageQueries.values()) cpio = cpio.CpioWrite() cpio.add('deps', '\n'.join(depfile)) @@ -582,7 +582,7 @@ def main(opts, argv): # OBS 1.5 and before has no downloadurl defined in buildinfo if bi.downloadurl: urllist.append(bi.downloadurl + '/%(extproject)s/%(extrepository)s/%(arch)s/%(filename)s') - if not opts.cpio_bulk_download: + if not opts.cpio_bulk_download: urllist.append( '%(apiurl)s/build/%(project)s/%(repository)s/%(repoarch)s/%(repopackage)s/%(repofilename)s' ) fetcher = Fetcher(cachedir = config['packagecachedir'], diff --git a/osc/commandline.py b/osc/commandline.py index aca60e8e..d6150c13 100644 --- a/osc/commandline.py +++ b/osc/commandline.py @@ -388,7 +388,7 @@ class Osc(cmdln.Cmdln): for p in meta_get_packagelist(apiurl, project): if p.startswith("_patchinfo:"): patchinfo = p - + if opts.force or not patchinfo: print "Creating initial patchinfo..." query='cmd=createpatchinfo' @@ -798,7 +798,7 @@ class Osc(cmdln.Cmdln): (actionxml, cgi.escape(opts.message or "")) u = makeurl(apiurl, ['request'], query='cmd=create') f = http_POST(u, data=xml) - + root = ET.parse(f).getroot() sr_ids.append(root.get('id')) @@ -1589,7 +1589,7 @@ Please submit there instead, or use --nodevelproject to force direct submission. package, tproject) if r is None: - print >>sys.stderr, 'ERROR: Attribute branch call came not back with a project.' + print >>sys.stderr, 'ERROR: Attribute branch call came not back with a project.' sys.exit(1) print "Project " + r + " created." @@ -1940,9 +1940,9 @@ Please submit there instead, or use --nodevelproject to force direct submission. args = slash_split(args) args = expand_proj_pack(args) - ## FIXME: + ## FIXME: ## if there is only one argument, and it ends in .ymp - ## then fetch it, Parse XML to get the first + ## then fetch it, Parse XML to get the first ## metapackage.group.repositories.repository.url ## and construct zypper cmd's for all ## metapackage.group.software.item.name @@ -2862,7 +2862,7 @@ Please submit there instead, or use --nodevelproject to force direct submission. raise oscerr.WrongArgs('Too many arguments.') else: project, package, repository, arch = args - + offset=0 if opts.start: offset = int(opts.start) @@ -2952,7 +2952,7 @@ Please submit there instead, or use --nodevelproject to force direct submission. wd = os.curdir args = slash_split(args) project = package = repository = arch = None - + if len(args) < 2: self.print_repos() @@ -2995,9 +2995,9 @@ Please submit there instead, or use --nodevelproject to force direct submission. will be triggered when a certain package changes. This is no guarantee, since the new build might have changed dependencies. - dependson shows the build dependencies inside of a project, valid for a + dependson shows the build dependencies inside of a project, valid for a given repository and architecture. - NOTE: to see all binary packages, which can trigger a build you need to + NOTE: to see all binary packages, which can trigger a build you need to refer the buildinfo, since this command shows only the dependencies inside of a project. @@ -3017,7 +3017,7 @@ Please submit there instead, or use --nodevelproject to force direct submission. wd = os.curdir args = slash_split(args) project = packages = repository = arch = reverse = None - + if len(args) < 2 and (is_package_dir('.') or is_project_dir('.')): self.print_repos() @@ -3088,7 +3088,7 @@ Please submit there instead, or use --nodevelproject to force direct submission. """ wd = os.curdir args = slash_split(args) - + if len(args) < 2 and is_package_dir('.'): self.print_repos() @@ -3149,7 +3149,7 @@ Please submit there instead, or use --nodevelproject to force direct submission. wd = os.curdir args = slash_split(args) - + if len(args) < 2 and is_package_dir('.'): self.print_repos() @@ -4121,7 +4121,7 @@ Please submit there instead, or use --nodevelproject to force direct submission. extra_limiter='attribute/@name="%s"' % (opts.limit_to_attribute) if not opts.substring: opts.exact = True - + role_filter=None if for_user: @@ -4374,7 +4374,7 @@ Please submit there instead, or use --nodevelproject to force direct submission. def do_bugowner(self, subcmd, opts, *args): """${cmd_name}: Show bugowners of a project/package - osc bugowner PRJ + osc bugowner PRJ osc bugowner PRJ PKG Shortcut for osc maintainer -B [PRJ] PKG @@ -4817,7 +4817,7 @@ Please submit there instead, or use --nodevelproject to force direct submission. dir_oldpatched = { 'apiurl': p.apiurl, 'project': p.prjname, 'package': p.name, 'srcmd5': p.srcmd5 } dir_oldpatched['entries'] = [[f.name, f.md5] for f in p.filelist] - + query = { 'rev': linkinfo.srcmd5 } u = makeurl(p.apiurl, ['source', linkinfo.project, linkinfo.package], query=query) f = http_GET(u) diff --git a/osc/conf.py b/osc/conf.py index e18be70c..0dd59eb6 100644 --- a/osc/conf.py +++ b/osc/conf.py @@ -156,7 +156,7 @@ apiurl = %(apiurl)s # This is convenient when sharing the buildroot with ordinary userids # on the host. # This should not be 0 -# build-uid = +# build-uid = # extra packages to install when building packages locally (osc build) # this corresponds to osc build's -x option and can be overridden with that diff --git a/osc/core.py b/osc/core.py index 593518b7..1046f5fc 100644 --- a/osc/core.py +++ b/osc/core.py @@ -1727,7 +1727,7 @@ def parse_buildlogurl(buildlogurl): m = BUILDLOGURL_RE.match(buildlogurl) if not m: raise oscerr.WrongArgs('\'%s\' does not look like url with a build log' % buildlogurl) - + return (m.group('apiurl'), m.group('project'), m.group('package'), m.group('repository'), m.group('arch')) def slash_split(l): @@ -3642,7 +3642,7 @@ def get_prj_results(apiurl, prj, hide_legend=False, csv=False, status_filter=Non for i in range(0, len(targets)): line.append(str(i%10)) r.append(' '.join(line)) - + r.append('') if not hide_legend and len(pacs): diff --git a/osc/oscssl.py b/osc/oscssl.py index cd42fb66..bc3a5b96 100644 --- a/osc/oscssl.py +++ b/osc/oscssl.py @@ -176,7 +176,7 @@ class myHTTPSHandler(M2Crypto.m2urllib2.HTTPSHandler): # Our change: Check to see if we're using a proxy. # Then create an appropriate ssl-aware connection. - full_url = req.get_full_url() + full_url = req.get_full_url() target_host = urlparse.urlparse(full_url)[1] if (target_host != host): diff --git a/osc/util/packagequery.py b/osc/util/packagequery.py index db34f67a..7c4184a6 100644 --- a/osc/util/packagequery.py +++ b/osc/util/packagequery.py @@ -9,34 +9,34 @@ class PackageQueries(dict): package query, to a name, the package is evaluated to see if it matches the wanted architecture and if it has a greater version than the current value. """ - + # map debian arches to common obs arches - architectureMap = {'i386': ['i586', 'i686'], 'amd64': ['x86_64']} - + architectureMap = {'i386': ['i586', 'i686'], 'amd64': ['x86_64']} + def __init__(self, wanted_architecture): self.wanted_architecture = wanted_architecture super(PackageQueries, self).__init__() - + def add(self, query): """Adds package query to dict if it is of the correct architecture and is newer (has a greater version) than the currently assigned package. - + @param a PackageQuery """ self.__setitem__(query.name(), query) - + def __setitem__(self, name, query): if name != query.name(): raise ValueError("key '%s' does not match " "package query name '%s'" % (name, query.name())) - + architecture = query.arch() - + if (architecture in [self.wanted_architecture, 'noarch', 'all'] or self.wanted_architecture in self.architectureMap.get(architecture, [])): current_query = self.get(name) - + # if current query does not exist or is older than this new query if current_query is None or current_query.vercmp(query) <= 0: super(PackageQueries, self).__setitem__(name, query) @@ -63,10 +63,10 @@ class PackageQuery: def description(self): raise NotImplementedError - + def path(self): raise NotImplementedError - + def provides(self): raise NotImplementedError diff --git a/osc/util/repodata.py b/osc/util/repodata.py index 16dd9200..a85839e5 100644 --- a/osc/util/repodata.py +++ b/osc/util/repodata.py @@ -25,7 +25,7 @@ OPERATOR_BY_FLAGS = { def primaryPath(directory): """Returns path to the primary repository data file. - + @param directory repository directory that contains the repodata subdirectory @return str path to primary repository data file @raise IOError if repomd.xml contains no primary location @@ -33,7 +33,7 @@ def primaryPath(directory): metaDataPath = os.path.join(directory, "repodata", "repomd.xml") elementTree = ET.parse(metaDataPath) root = elementTree.getroot() - + for dataElement in root: if dataElement.get("type") == "primary": locationElement = dataElement.find(namespace("repo") + "location") @@ -43,110 +43,110 @@ def primaryPath(directory): break else: raise IOError("'%s' contains no primary location" % metaDataPath) - + return primaryPath def queries(directory): """Returns a list of RepoDataQueries constructed from the repodata under the directory. - + @param directory path to a repository directory (parent directory of repodata directory) @return list of RepoDataQuery instances @raise IOError if repomd.xml contains no primary location """ path = primaryPath(directory) - + gunzippedPrimary = gzip.GzipFile(path) elementTree = ET.parse(gunzippedPrimary) root = elementTree.getroot() - + packageQueries = [] for packageElement in root: packageQuery = RepoDataQuery(directory, packageElement) packageQueries.append(packageQuery) - + return packageQueries class RepoDataQuery(object): """PackageQuery that reads in data from the repodata directory files.""" - + def __init__(self, directory, element): """Creates a RepoDataQuery from the a package Element under a metadata Element in a primary.xml file. - + @param directory repository directory path. Used to convert relative paths to full paths. @param element package Element """ self.__directory = os.path.abspath(directory) self.__element = element - + def __formatElement(self): return self.__element.find(namespace("common") + "format") - + def __parseEntry(self, element): entry = element.get("name") flags = element.get("flags") - + if flags is not None: version = element.get("ver") operator = OPERATOR_BY_FLAGS[flags] entry += " %s %s" % (operator, version) - + release = element.get("rel") if release is not None: entry += "-%s" % release - + return entry - + def __parseEntryCollection(self, collection): formatElement = self.__formatElement() collectionElement = formatElement.find(namespace("rpm") + collection) - + entries = [] if collectionElement is not None: for entryElement in collectionElement.findall(namespace("rpm") + "entry"): entry = self.__parseEntry(entryElement) entries.append(entry) - + return entries - + def __versionElement(self): return self.__element.find(namespace("common") + "version") - + def arch(self): return self.__element.find(namespace("common") + "arch").text - + def description(self): return self.__element.find(namespace("common") + "description").text - + def distribution(self): return None - + def epoch(self): return self.__versionElement().get("epoch") - + def name(self): return self.__element.find(namespace("common") + "name").text - + def path(self): locationElement = self.__element.find(namespace("common") + "location") relativePath = locationElement.get("href") absolutePath = os.path.join(self.__directory, relativePath) - + return absolutePath - + def provides(self): return self.__parseEntryCollection("provides") - + def release(self): return self.__versionElement().get("rel") - + def requires(self): return self.__parseEntryCollection("requires") - + def vercmp(self, other): res = osc.util.rpmquery.RpmQuery.rpmvercmp(str(self.epoch()), str(other.epoch())) if res != 0: @@ -156,6 +156,6 @@ class RepoDataQuery(object): return res res = osc.util.rpmquery.RpmQuery.rpmvercmp(self.release(), other.release()) return res - + def version(self): return self.__versionElement().get("ver") diff --git a/osc/util/rpmquery.py b/osc/util/rpmquery.py index 69f02c2d..2336b318 100644 --- a/osc/util/rpmquery.py +++ b/osc/util/rpmquery.py @@ -210,7 +210,7 @@ class RpmQuery(packagequery.PackageQuery): def path(self): return self.__path - + def provides(self): return self.__reqprov(1047, 1112, 1113)