1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-09-21 09:46:19 +02:00
Commit Graph

609 Commits

Author SHA1 Message Date
Marcus Hüwe
ee64ab6954 - added support for format strings like "%(project)s" and "%(package)s" which can be used in the build-root config option.
For example one could use a new chroot for each package.
2009-01-09 16:12:45 +00:00
Marcus Hüwe
80e3d33b2d - fixed #462869 (osc updatepacmetafromspec fails if %description is starting with newline) 2009-01-09 11:04:51 +00:00
Marcus Hüwe
a6053debab - catch OSError exceptions which might be raised by the subprocess module (note: the subprocess module doesn't set the filename attribute so we don't get much information) 2008-12-22 08:54:32 +00:00
Marcus Hüwe
ba3c4ac09d don't use a hardcoded path for the rpm binary otherwise it fails on distributions like debian 2008-12-19 15:06:36 +00:00
Marcus Hüwe
8ae5597788 - fix #459292 - be more verbose if osc meta fails 2008-12-17 23:15:22 +00:00
Marcus Hüwe
ad11a87f92 - fix #459288 (mkpac: add info how to enable the package tracking feature) 2008-12-17 22:45:58 +00:00
Dr. Peter Poeml
3399b2e666 bump version & update NEWS 2008-12-12 10:23:18 +00:00
Dr. Peter Poeml
0a0cb27142 important bugfix for osc deletepac: prevent recursive deletion of a whole project, when a package name is given with a trailing slash 2008-12-12 10:02:41 +00:00
Marcus Hüwe
8092b317ed - removed unused varialbe 2008-12-11 12:17:26 +00:00
Ludwig Nussel
e33b48f5b0 add support for more build options
--icecream
--ccache
--with
--without
2008-12-11 11:36:07 +00:00
Marcus Hüwe
eb96e53784 - small fix in debuginfo handling (accidentally used a string in a bool expression...) 2008-12-10 22:38:00 +00:00
Martin Mohring
61cc90b31b - added: new armv7el arch for all binaries for up to ARMv7 EABI with VFP 2008-12-05 21:45:11 +00:00
Marcus Hüwe
c1b99b041f - fixed importsrcpkg doc
- osc build: if --keep-pkgs is used also save the src.rpm
2008-11-29 13:32:25 +00:00
Marcus Hüwe
7172db474e - osc build:
* some cleanups in the crossbuild part
* call the build script with the --arch parameter
2008-11-28 19:37:55 +00:00
Dr. Peter Poeml
656ff4a134 bump version; update NEWS 2008-11-28 18:45:34 +00:00
Marcus Hüwe
9d15f612cb - this is escaping isn't needed. If we don't want to use interpolation we should call the appropriate methods with correct parameters. (luckily nobody except Peter noticed this issue because it resulted in a 0byte ~/.oscrc) 2008-11-28 16:53:07 +00:00
Martin Mohring
61740adee9 - added: missing last parts of Cross Development support
* although other targets do work, only activated arm and sh4 targets for Cross Build
   * powerpc could also be used for Cross Build, but uses Native Build atm
   * thes limited switching on of Cross Build is due to a new interface for workers that will handle workers with *super capabilites* in the future.
   * then you can configure Cross Build at configure/runtime, not by changing the code
2008-11-22 16:38:40 +00:00
Dr. Peter Poeml
8383e9e895 osc build:
* rework buildinfo parser. 
 * handle new (or rather, future) attributes
   named noinstall, package (we call it repopackage), repoarch.
 * handle kiwi builds.
The urllist template (for constructing download URLs) was changed to 
make the '_repository' part variable.
2008-11-22 10:55:33 +00:00
Marcus Hüwe
b6b4550ae7 osc ls: be able to list a single file (osc ls <project> <package> <file>) (requested by darix) 2008-11-20 12:56:16 +00:00
Dr. Peter Poeml
2bea1ad2df fix osc's ignorance of the revision option (-r) for expanded links
https://bugzilla.novell.com/show_bug.cgi?id=429650
2008-11-19 12:13:18 +00:00
Martin Mohring
9db331184b - added: support for ARMv5 EABI little endian arch 2008-11-17 01:03:49 +00:00
Dr. Peter Poeml
6e65c8d7cb osc/fetch.py: execute processes avoiding the use of a shell 2008-11-14 22:32:39 +00:00
Marcus Hüwe
bfe54fd4e0 fixed detection of the build type (rpm or deb) - this was caused by the recent bs_repserver changes (r5566) 2008-11-12 23:51:43 +00:00
Marcus Hüwe
bb254bef2b - build debuginfo packages if this is enabled in the project/package meta (this partly fixes #421390) 2008-10-31 15:41:19 +00:00
Dr. Peter Poeml
88e8d5a3a8 update NEWS and bumb version (0.110) 2008-10-24 15:25:43 +00:00
Marcus Hüwe
09948be5da fixed #436932 (call update_datastructs() after commit in order to avoid stale Package objects) 2008-10-24 14:42:24 +00:00
Marcus Hüwe
ccda32cca2 do_branch: allow slash notation for the project/package arguments (as requested by darix) 2008-10-16 12:34:41 +00:00
Marcus Hüwe
16d47f03b5 - fixed #431434 - we don't need a working copy anymore when building a local package 2008-10-14 10:38:22 +00:00
Marcus Hüwe
1e1ec418cc - fix deprecation warnings on factory (python26) 2008-10-11 20:26:45 +00:00
Dr. Peter Poeml
df8ecce631 when checking out a project, and a linkerror occurs for one of the packages,
do a checkout in unexpanded form and continue checking out the rest of the
project [bnc#428303]
2008-10-02 15:46:52 +00:00
Marcus Hüwe
6a44bef9b5 deletepac: allow arguments like "<project>/<package>" (which are separated by a "/") 2008-10-01 15:01:32 +00:00
Dr. Peter Poeml
d6d5e441cf bump version & update NEWS file 2008-09-30 15:07:44 +00:00
Dr. Peter Poeml
889ef86af5 - osc getbinaries: new command to download binaries directly from the api server
- core.get_binarylist(): add "verbose" switch that returns instances of class
  File, instead of filenames
- improve core.get_binary_file(): 
   * clean up tempfiles, 
   * set mtime, 
   * set file mask
  Function signature is changed, because I'm not aware of any user than the example
  script I once published on http://en.opensuse.org/Build_Service/osc_plugins
2008-09-30 14:54:08 +00:00
Marcus Hüwe
99732545b4 pass the --debug option to the build script which will take care of creating debuginfo packages 2008-09-24 13:13:33 +00:00
Dr. Peter Poeml
cd406dde98 add link to plugin API to osc help output 2008-09-24 12:23:56 +00:00
Dr. Peter Poeml
77a18bd1da - Don't try to catch rpm-python errors if rpm-python isn't installed.
Thus we can avoid a hard dependency on having rpm-python.
2008-09-24 12:16:25 +00:00
Tom Patzig
cc0ce146e2 -added command 'rlog', to show commit logs of remote packages 2008-09-23 13:39:54 +00:00
Marcus Hüwe
6ddace8c97 - fixed #426612
- other fixes for python26
2008-09-21 14:44:20 +00:00
Dirk Mueller
c0ac2a9207 fix streaming of unfinished logfiles again 2008-09-19 22:25:06 +00:00
Marcus Hüwe
db7c4c4ad5 - fixed #427118 2008-09-18 15:04:42 +00:00
Dr. Peter Poeml
b18238e1a8 bump version to 0.108 2008-09-16 11:12:02 +00:00
Michal Marek
7f457a1d31 mmap the file readonly, it is safer and fixes uploading of readonly files in
osc ftp
2008-08-28 09:41:42 +00:00
Marcus Hüwe
a8181f7087 - fixed #419144
- fixed new_conf_template: commented out new 'http_headers' options
2008-08-21 18:17:40 +00:00
Michal Marek
b46c000b61 update_package_meta: correctly replace existing <url> element 2008-08-21 12:03:42 +00:00
Marcus Hüwe
854fe0d97a - addFiles(): added optional prj_obj parameter
- do_addremove():
  * if "do_package_tracking" is enabled scan the project dir for new/disappeared packages
  * added --recursive option (If CWD is a project dir then scan all package dirs as well)
  * minor pathname fix
- fixed argument handling in some methods: don't remove items from a list while looping over it
2008-08-20 19:24:55 +00:00
Susanne Oberhauser
572ed13aba Actually use the new http_headers now available in the config. 2008-08-20 14:18:06 +00:00
Susanne Oberhauser
e1d9c67f1c Parse http_headers in api host sections. 2008-08-20 14:07:11 +00:00
Susanne Oberhauser
6ded17ebf0 Factor api_host_options from get_apiurl_usr to access all host
specific options, not just the user.
2008-08-20 10:41:10 +00:00
Susanne Oberhauser
f7d2a690f5 - extend the 'auth_dict' to more generic per-host options 'api_host_options'
This allows in a next step to add per-host extra http-headers,
  here for special authentication purposes.
2008-08-20 09:45:49 +00:00
Susanne Oberhauser
f07da13359 - only reparse the config if it was actually modified. 2008-08-20 09:40:00 +00:00
Marcus Hüwe
b2aceda67a add new --project option to prjresults in order to show the results of a project without having a local wc (patch by Michael Wolf <maw@novell.com>) 2008-08-19 19:37:08 +00:00
Marcus Hüwe
1f2df92d12 submitrequest log: use the description of the submitrequest for the initial log entry otherwise its comment attribute would contain None 2008-08-19 19:15:29 +00:00
Marcus Hüwe
7dd72fd089 don't add an empty string ('') to the extra-pkgs list 2008-08-19 14:36:52 +00:00
Marcus Hüwe
e93678d5a0 - added submitrequest log command to show the history of a given id 2008-08-19 14:18:05 +00:00
Marcus Hüwe
bb11aea3fc submitrequest show: show the current state's comment 2008-08-19 12:29:26 +00:00
Marcus Hüwe
06c5316ba2 changed text for the revoke message (as suggested by darix) 2008-08-17 21:14:59 +00:00
Marcus Hüwe
5140deebff add the id of the new request to the revoke message 2008-08-17 20:12:19 +00:00
Marcus Hüwe
fc0d61bfce - fixes for the last commit (r4684), actually only the change in core.py was intended.
now 'osc submitrequest create' checks if you already submitted requests for this package, if so it'll ask you if the previous submissions should be revoked
2008-08-17 19:10:44 +00:00
Marcus Hüwe
f4e4c91376 - minor fix in get_submit_request_list() 2008-08-17 18:53:54 +00:00
Lars Vogdt
5aaaa3572a - enhanced the package template 2008-08-15 17:38:08 +00:00
Dr. Peter Poeml
f82ea05051 osc build: moved the architecture check more to the top. Now we first check
whether we can build for the target architecture, *before* we start downloading
packges.
2008-08-15 14:04:27 +00:00
Marcus Hüwe
d58fffc7b6 removed debugging and other superfluous stuff 2008-08-14 12:12:41 +00:00
Michal Marek
4df8ffd6ea Make 'metafromspec' and alias to 'updatepacmetafromspec', to make the command
easier to memorize
2008-08-08 15:23:03 +00:00
Michal Marek
d047b30aa8 unbreak osc init 2008-08-08 15:19:54 +00:00
Dr. Peter Poeml
93e916eb39 remove empty parens after class definition so Python 2.4.2 can parse it 2008-08-07 17:51:28 +00:00
Marcus Hüwe
3359646b02 - fix bug #412918
- added a file attribute to the ConfigError() class
- added new ConfigMissingApiurl() class
2008-08-07 17:14:26 +00:00
Marcus Hüwe
8d055f7990 - added OscConfigParser module:
OscConfigParser() behaves like a normal ConfigParser() object. The
  only differences is that it preserves the order+format of configuration entries
  and that it stores comments.
  In order to keep the order and the format it makes use of the ConfigLineOrder()
  class.
- removed .netrc cruft from the conf module
- other config cleanups
2008-08-07 16:40:55 +00:00
Dirk Mueller
1a3c80423a typo fix 2008-08-04 13:33:40 +00:00
Dirk Mueller
45e944efbf - --state , means "any state"
- fix streaming support in osc buildlog. do not download all of the
  buildlog into memory before printing it (it could be very big), just
  print as the log comes in
2008-08-04 13:21:49 +00:00
Dirk Mueller
65e9011f00 - add support for listing submitrequests not in state New to
osc submitreq list
2008-08-04 13:20:29 +00:00
Marcus Hüwe
707b057891 - updatepacmetafromspec: also update the Url in the metadata (patch by Lenz Grimmer <lenz@grimmer.com>) (applied slightly modified version)
- read_meta_from_spec(): use the re module to find tags and sections to avoid problems with lowercase/uppercase letters (e.g. "Url" vs. "URL")
2008-08-03 19:36:07 +00:00
Marcus Hüwe
3c5847e054 - init: added support to initialize a project dir 2008-08-01 13:58:49 +00:00
Marcus Hüwe
ae07c9a945 do_package_tracking: be a bit more verbose when updating a project 2008-08-01 11:31:12 +00:00
Michal Marek
36fb38afd0 update the new project template with current distributions 2008-07-31 08:15:28 +00:00
Marcus Hüwe
0020074a8a - fix enhancement request #412157 (Add some guessing to "osc build")
- "osc build" can be called with the following arguments:
  * osc build [OPTS] PLATFORM ARCH BUILD_DESCR
  * osc build [OPTS] PLATFORM (ARCH = hostarch, BUILD_DESCR is detected automatically)
  * osc build [OPTS] ARCH (PLATFORM = build_platform (config option), BUILD_DESCR is detected automatically)
  * osc build [OPTS] BUILD_DESCR (PLATFORM = build_platform (config option), ARCH = hostarch)
  * osc build [OPTS] (PLATFORM = build_platform (config option), ARCH = hostarch, BUILD_DESCR is detected automatically)
2008-07-30 16:45:00 +00:00
Marcus Hüwe
5c062ea121 - fixed bug #412145 (typo) 2008-07-25 10:19:32 +00:00
Dirk Mueller
6792642166 - add "submitrequest" as an alias for "submitreq"
- add "submitrequest revoke" command to be able to
  delete submissions to projects one can't write to
2008-07-25 09:34:29 +00:00
Dirk Mueller
494381866d revert back to throwing the httplib2 error, to be
able to preserve http headers etc
2008-07-23 20:56:20 +00:00
Dirk Mueller
048414088f - implement --no-checks for osc build
- make osc submitreq succeed for submitting new packages
  (previously the develproject check caused it to abort prematurely)
2008-07-23 20:05:09 +00:00
Marcus Hüwe
12ff5ac124 - some cleanups/changes for the config handling:
* extra-pkgs and urllist settings can be separated by a comma and/or whitespace:
    'extra-pkgs: foo, bar xyz'
  * 'True', 'False' etc. are accepted values for boolean options
2008-07-18 12:08:03 +00:00
Dr. Peter Poeml
b37af9ed4f add more information about aggregation of packages, and a link to the wiki page about it. 2008-07-17 17:46:21 +00:00
Dr. Peter Poeml
f43a22c502 version 0.107 2008-07-16 15:15:42 +00:00
Dr. Peter Poeml
6ff961279c osc update / checkout: don't check out a working copy, or update an existing
one, when a source link cannot be applied [bnc#409373]

 - linkinfo elements can have an "error" attribute which indicates link
   application failure, which means that updating the working copy is not
   possible. 

 - Before this fix, osc could silently remove locally modified sources!
2008-07-16 15:14:57 +00:00
Dr. Peter Poeml
2618902347 remove an os.getcwd() call from function arguments, because that call fails when running the program from a directory which doesn't exist anymore, and thus osc would not run at all. 2008-07-16 15:04:37 +00:00
Dr. Peter Poeml
cdab0b19ea - osc build: make the --extra-pkgs option configurable via .oscrc.
Default is "extra-pkgs = vim gdb strace" -- and it can be overridden with -x ''
  on the commandline, or set to empty in the config.  [bnc#345142]
- make tilde expansion work on the packagecachedir setting
2008-07-12 12:06:23 +00:00
Dr. Peter Poeml
d3da0085a4 bump version (0.106); update NEWS file 2008-07-11 10:42:01 +00:00
Dr. Peter Poeml
c38fe33646 always expand sources for "pretty" diffs -- this affects 'osc rdiff' and 'osc
submitreq show'
2008-07-11 10:39:22 +00:00
Marcus Hüwe
572c58bc24 show author's name when listing submitrequests 2008-07-10 01:57:38 +00:00
Dr. Peter Poeml
83862c1040 submitreq: add shortcut 'sr' for Darix 2008-07-09 20:38:49 +00:00
Dr. Peter Poeml
e9fe10b11e bump version (0.105) 2008-07-09 15:23:12 +00:00
Dr. Peter Poeml
de0bb98200 add submitreq delete action (thanks to Dirk for the patch) 2008-07-09 15:22:18 +00:00
Marcus Hüwe
acaef1d250 - disable signature check when getting data from a rpm file
- catch rpm.error exceptions
2008-07-08 15:51:37 +00:00
Marcus Hüwe
010c0ae7a0 fixed typo 2008-07-04 12:56:32 +00:00
Marcus Hüwe
5b84831d25 don't expand/unexpand if the working copy has local modifications - this is an ugly workaround for #399247 but this way the working copy isn't screwed up 2008-07-04 12:54:02 +00:00
Marcus Hüwe
c8b41c643a - copy_pac: use the correct userid when copying to another apiurl 2008-06-30 14:07:11 +00:00
Marcus Hüwe
73fd228c14 - use apiurl from the storedir when running 'osc submitreq list/create' 2008-06-27 17:54:59 +00:00
Dirk Mueller
eb8a8bbc79 - support "submitreq list" also in a project
directory
2008-06-27 17:14:15 +00:00
Dirk Mueller
6d5dab90b4 list submitrequests in a sorted order.. newest first 2008-06-27 16:36:36 +00:00
Dirk Mueller
72d0d2fbbb - add an optional parameter req_state to get_submitreq_list()
to be able to query also rejected submit requests
- make the list sortable
- make the list output more beautiful
2008-06-27 16:36:16 +00:00
Dirk Mueller
607ed31f97 - add news entry
- also list the http error code
2008-06-27 11:24:15 +00:00
Dirk Mueller
9eba706bd3 print the backend error code 2008-06-27 11:17:27 +00:00
Marcus Hüwe
5768e35047 - applied slightly modified version of Node's patch which added a --revision option to do_linkpac 2008-06-26 10:47:58 +00:00
Dirk Mueller
f16fb793e3 do not add _linkerror's to the project's working copy 2008-06-25 17:37:05 +00:00
Marcus Hüwe
927019a7eb - added initial support for involved projects/packages (the xpath predicate is stolen from the webclient;) ) 2008-06-24 15:07:44 +00:00
Dirk Mueller
3df4edb5bb update usage info 2008-06-24 09:39:39 +00:00
Dirk Mueller
aa0a6976cb guess the parameters of list if inside a working dir 2008-06-24 09:37:49 +00:00
Dirk Mueller
252e2a3e63 release is optional (doesn't exist on debian) 2008-06-23 08:38:05 +00:00
Dirk Mueller
1be2163733 double check the correctness of the build info for local build,
otherwise packages are stored incorrectly in the package cache
and that might cause problems later. Also refuse to build an
architecture locally that is not supported by the host architecture
2008-06-20 13:37:49 +00:00
Dirk Mueller
3fb7530028 add an API error type of class to throw 2008-06-20 13:36:45 +00:00
Marcus Hüwe
be934cc16d - fix bug #400431 2008-06-18 14:34:30 +00:00
Dr. Peter Poeml
2bd196d8e3 - osc buildhist: change the output into a format which better matches actual RPM filenames.
- give commit message tempfiles a ".diff" suffix, so syntax highlighting might work in some editors
2008-06-17 06:12:48 +00:00
Dr. Peter Poeml
7ee4444b6b show error messages from the API also for type 500 errors 2008-06-16 19:12:24 +00:00
Dr. Peter Poeml
dd9d1cb49f osc build: handle exception when getting buildinfo fails, for cases != 404 2008-06-12 12:12:29 +00:00
Marcus Hüwe
7675c55242 fix and use comparePac() 2008-06-11 13:02:40 +00:00
Dr. Peter Poeml
7d8834a0a3 bump version to 0.104, adjust NEWS file 2008-06-11 08:34:39 +00:00
Dr. Peter Poeml
693987ac49 osc update: after update, reset the revision when updating multiple package.
Fixes "404: Not Found" type errors when updating an entire project. [bnc#399177]
2008-06-11 08:29:27 +00:00
Dr. Peter Poeml
61e4cf6798 babysitter: The api returns error messages meanwhile. Thus, we don't need to
look up the reason of errors anymore.
2008-06-11 08:17:55 +00:00
Dr. Peter Poeml
f4228de56b osc wipebinaries: add missing check for commandline arguments, which could
cause a PACKAGE argument to be ignored
2008-06-11 08:01:10 +00:00
Marcus Hüwe
da101858ee - fixed make_diff in order to avoid errors when committing a new package (created with mkpac) 2008-06-10 22:32:53 +00:00
Dr. Peter Poeml
bce87c182d - handle error resulting from unexpected zero-length .osc/_files metadata
by raising oscerr.NoWorkingCopy()
2008-06-10 10:15:49 +00:00
Dr. Peter Poeml
06c2cbf882 bump version to 0.103, adjust NEWS file 2008-06-06 12:09:00 +00:00
Dr. Peter Poeml
86ad9766b2 - make submit request possible without giving commandline arguments, under some
circumstances -- when there is a working copy, and the package is a source
  link, osc will figure out what's needed.
- don't stop submitrequests on packages that have a devel project defined, if
  the submit comes from that project.
- osc checkout: checkout of source links is now done in expanded form per
  default. --unexpand-link can be used to get the raw link file (and patches).
2008-06-06 12:04:34 +00:00
Dr. Peter Poeml
916346f8c6 Show the <summary> from the server reply's body also for 403 errors. 2008-06-06 10:55:17 +00:00
Dr. Peter Poeml
8362728a8e bump version to 0.102 2008-06-03 15:12:49 +00:00
Dr. Peter Poeml
5438e4023a osc submitreq: look up the develproject of the target, and if there is one,
don't create the request, unless forced with --nodevelproject.
2008-06-03 15:01:01 +00:00
Dr. Peter Poeml
7641ed0c8c osc branch: add --nodevelproject 2008-06-03 13:16:55 +00:00
Dr. Peter Poeml
98090f8b09 make 'osc branch' show the actually created branch project name, not a guess one. 2008-06-03 12:43:52 +00:00
Dr. Peter Poeml
5000e4e148 A less confusing version of the last fix. 2008-06-03 12:33:29 +00:00
Dr. Peter Poeml
65e4d5bdd1 when -d (global, for debug) was used, save the body because it can't be read twice 2008-06-03 12:31:41 +00:00
Dr. Peter Poeml
f8daea6288 bump version (0.101) and update NEWS file 2008-05-27 11:03:21 +00:00
Dr. Peter Poeml
3f9b53ca6e osc branch: use --expand-link in the example that shows how to check out the
branched package
2008-05-26 13:12:05 +00:00
Dr. Peter Poeml
bbe533087e improve error handling, by printing the <summary> given by the API for HTTP status code 400 (bad request) 2008-05-21 16:38:50 +00:00
Dr. Peter Poeml
ac55bcaa5a make help of osc init clearer 2008-05-21 16:10:20 +00:00
Dr. Peter Poeml
d8245f5f36 - add osc branch command, using the branch API call to branch a package to
home:poeml:branches:PRJ/PKG
2008-05-21 15:49:00 +00:00
Dr. Peter Poeml
7e524fd442 - osc commit: open $EDITOR for commit message
- osc status: implement -q/--quiet switch
- osc deletepac: allow deletion of multiple packages at once
- osc info: slightly more verbose
- core.edit_message() added
- core.getStatus() accepts new "quiet" argument
- oscerr.UserAbort added
2008-05-21 13:44:49 +00:00
Marcus Hüwe
3c5a25f1a5 - don't do any exception handling in the sync() method of the metafile() class. It's up to the caller what to do in case of an exception
- edit_meta(): raise an exception instead of printing an "useless" error message.
- make "osc meta prjconf <project> -e" work again (probably r3702 caused the problem)
2008-05-20 16:03:08 +00:00
Tom Patzig
4476afafd7 -cosmetic changes for rprjresults and rresults
-show Legend for prjresults only, if there are also packages to show
2008-05-20 11:36:16 +00:00
Marcus Hüwe
aba87c08dd - added 'file_ext' key to the metatypes dict(). This key contains the filename extension for the particular metatype. This way we achieve that each metatype has the correct syntax highliting when running "osc meta -e <metatype>..." (e.g. prjconf => .txt, pkg => .xml etc.) 2008-05-20 09:23:57 +00:00
Dr. Peter Poeml
d80c47c0b9 - osc maintainer:
-D devel_project, --devel-project=devel_project
                        define the project where this package is primarily
                        developed
- core: add addDevelProject() method
2008-05-20 08:29:54 +00:00
Dr. Peter Poeml
fd0c04477b - update version to 0.100
- decouple osc's version number from the versioning of the .osc storage
  directory data format. The latter gets __store_version__ = 1.0 now.
2008-05-19 14:56:59 +00:00
Tom Patzig
abb97eb595 -new command rprjresults, to show remote project results
-new command rresults, to show remote package results
2008-05-16 12:25:50 +00:00
Tom Patzig
e69486bdc8 -in status-filter mode only show repos with the matching status
(in name-filter/or mixed  mode all repos are shown)
2008-05-16 11:15:41 +00:00
Tom Patzig
abcb4f8489 - legend in prjresults is default enabled
- added status-filter and name-filter option to prjresults
2008-05-15 18:09:24 +00:00
Dr. Peter Poeml
db6dcbe8a9 treat build status 'finished' as 'building' 2008-05-15 15:44:57 +00:00
Marcus Hüwe
34e7822bbb - added --baselibs option to osc build 2008-05-08 12:21:57 +00:00
Marcus Hüwe
3e0ba6285b - don't exit when there's nothing to do for a package (instead simply return)
- there's no need to catch SystemExit's when creating a new package or committing something
2008-05-08 11:55:32 +00:00
Michal Marek
25ab4d7af6 fix KeyError exception when a status is missing in the result 2008-05-05 12:27:34 +00:00
Marcus Hüwe
f041ee43ba - use absolute pathnames for preferred package dirs 2008-05-04 14:00:42 +00:00
Marcus Hüwe
602c146663 - return a real string instead of an tuple when invoking 'print' on the object 2008-05-03 18:25:24 +00:00
Pavol Rusnak
afec162189 - added --keep-maintainers switch to copypac
(do not remove original maintainers and replace them with caller)
2008-04-30 12:28:25 +00:00
Dr. Peter Poeml
3018460596 Merged revisions 3774-3775,3779,3781-3782,3787,3789-3793,3798,3802,3805,3817-3822,3827,3829-3830,3837-3839,3841-3842,3848-3850 via svnmerge from
https://forgesvn1.novell.com/svn/opensuse/branches/buildservice/osc-exception-handling

........
  r3774 | poeml | 2008-04-22 17:39:45 +0200 (Tue, 22 Apr 2008) | 3 lines
  
  A first draft on implement systematic exception handling: 
  Add errors.py with some exceptions defined, and babysitter.py to handle them
........
  r3775 | poeml | 2008-04-22 22:34:12 +0200 (Tue, 22 Apr 2008) | 9 lines
  
  - new global options:
       --debugger         jump into the debugger before executing anything
       --post-mortem      jump into the debugger in case of errors
       -t, --traceback    print call trace in case of errors
  - traceback and post_mortem can also be set in .oscrc.
  - catch more errors (HTTPError).
  - make config accessible from outside of the Osc instance, by making it a class
    attribute
........
  r3779 | poeml | 2008-04-23 00:55:49 +0200 (Wed, 23 Apr 2008) | 5 lines
  
  - new global option:
       -d, --debug        print info useful for debugging
  - catch some more errors (HTTPError), with OscHTTPError which isn't very
    advanced yet.
........
  r3781 | Marcus_H | 2008-04-23 01:02:00 +0200 (Wed, 23 Apr 2008) | 2 lines
  
  - added OscConfigError class (just for testing).
  - small change in the signature of the OscBaseError constructor (actually we should get rid of the 'args' tuple because it will be deprecated sooner or later
........
  r3782 | Marcus_H | 2008-04-23 02:02:13 +0200 (Wed, 23 Apr 2008) | 2 lines
  
  - access the prg.conf.config dict in a save way - this way we avoid AttributeErrors if the prg.conf.config dict doesn't exist
  - in case of an configparser error we have to use the prg.options object directly (this was removed in r3781 by accident)
........
  r3787 | poeml | 2008-04-23 09:23:56 +0200 (Wed, 23 Apr 2008) | 4 lines
  
  - remove local exception handling from do_req
  - for HTTPError, print details (headers and response) when in debug mode
  - catch AttributeError
........
  r3789 | poeml | 2008-04-23 16:23:14 +0200 (Wed, 23 Apr 2008) | 4 lines
  
  - errors: add two new classes named OscWrongOptionsError and OscWrongArgsError
  - commandline: raise instances of the new errors in a number of places
  - commandline: add get_cmd_help() to Osc instance which returns the formatted help of a subcommand
........
  r3790 | Marcus_H | 2008-04-23 16:48:28 +0200 (Wed, 23 Apr 2008) | 4 lines
  
  - added 2 new exception classes: OscNoConfigfileError and OscIOError
  - added new method write_config() to the conf.py module: This method writes osc's configuration file
  - minor cleanups in the conf module
........
  r3791 | poeml | 2008-04-23 17:11:07 +0200 (Wed, 23 Apr 2008) | 3 lines
  
  small compatibility fix for r3790: try-except-finally isn't supported in
  python-2.4.2, thus do the same as try-except inside a try-finally.
........
  r3792 | poeml | 2008-04-23 17:37:53 +0200 (Wed, 23 Apr 2008) | 2 lines
  
  fix up the remaining places regarding handling of errors related to commandline parsing
........
  r3793 | poeml | 2008-04-23 17:40:34 +0200 (Wed, 23 Apr 2008) | 3 lines
  
  raise a NoWorkingCopyError in osc.core.store_read_project() in case of an
  IOError
........
  r3798 | Marcus_H | 2008-04-23 23:55:24 +0200 (Wed, 23 Apr 2008) | 1 line
  
  ported -r3797 from trunk
........
  r3802 | Marcus_H | 2008-04-24 11:00:55 +0200 (Thu, 24 Apr 2008) | 1 line
  
  ported -r3801 from trunk
........
  r3805 | poeml | 2008-04-24 12:52:30 +0200 (Thu, 24 Apr 2008) | 2 lines
  
  raise OscHTTPError in show_pattern_meta(), replacing local error handling
........
  r3817 | poeml | 2008-04-24 20:21:32 +0200 (Thu, 24 Apr 2008) | 9 lines
  
  - remove errors.OscHTTPError again.
    it seems simpler to use urllib2.HTTPError instead (and just add a specific
    error text message where appropriate, and re-raise)
  - for 404s, check out _which_ part was not found
    it is very ugly, but may be considered Good for pragmatic reasons
  - removed local exception handling and workaround for returned 500's from
    delete_package() and delete_project(), thereby getting rid of 4 possible exit
    points.
........
  r3818 | Marcus_H | 2008-04-24 22:36:17 +0200 (Thu, 24 Apr 2008) | 1 line
  
  - this check is superfluous because every HTTPError instance has a code attribute
........
  r3819 | poeml | 2008-04-25 00:39:39 +0200 (Fri, 25 Apr 2008) | 1 line
  
  remove a forgotten debug line from core.delete_project()
........
  r3820 | poeml | 2008-04-25 10:07:58 +0200 (Fri, 25 Apr 2008) | 2 lines
  
  - ditch local error handling from wipebinaries(), rebuild(), and abortbuild()
........
  r3821 | poeml | 2008-04-25 10:56:38 +0200 (Fri, 25 Apr 2008) | 2 lines
  
  It is never needed to import the exception module.
........
  r3822 | poeml | 2008-04-25 11:13:39 +0200 (Fri, 25 Apr 2008) | 4 lines
  
  - when going into the debugger with --post-mortem, always print a traceback before
    (thus implying -t)
  - do not jump into the debugger if not on a TTY, or working in interactive mode
........
  r3827 | poeml | 2008-04-25 13:07:46 +0200 (Fri, 25 Apr 2008) | 9 lines
  
  - add errors.OscWorkingCopyOutdated, which takes a tuple with three args:
    path to working copy, current rev, expected rev
  - add handler for urllib2.URLError errors to the babysitter
  - simplify the OscWrongArgsError and OscWrongOptionsError handlers, by removing
    the extra line "Sorry, wrong ..." that was printed before the messages given
    when the error was raised.
  - remove one more errors.OscHTTPError which was still there, and raise
    urllib2.HTTPError instead (show_package_meta())
........
  r3829 | poeml | 2008-04-25 14:19:10 +0200 (Fri, 25 Apr 2008) | 11 lines
  
  - comment some methods in osc.core which are used by nearly all do_* methods in
    osc.commandline
  - improve "is not a package/project dir" error messages, by printing the
    absolute path tried, instead of '.' for the cwd
  - make core.store_read_package() raise a proper NoWorkingCopyError instead of
    terminating
  - give attribution to things in babysitter.py copied from mercurial
  - prefix HTTPError exceptions with 'Server returned an error:'
  - remove obsolete local error handling from do_prjresults(), do_importsrcpkg(),
    do_repos()
........
  r3830 | poeml | 2008-04-25 14:29:35 +0200 (Fri, 25 Apr 2008) | 1 line
  
  catch IOError exceptions in the babysitter
........
  r3837 | poeml | 2008-04-25 17:27:36 +0200 (Fri, 25 Apr 2008) | 5 lines
  
  - do_remotebuildlog: raise errors for wrong arguments, remove exits
  - raise AttributeError in make_meta_url() instead of exiting
  - delete unused method core.delete_server_files()
  - replace exit call inside make_meta_url() with an AttributeError 
........
  r3838 | poeml | 2008-04-25 17:49:18 +0200 (Fri, 25 Apr 2008) | 1 line
  
  simplify the check in do_checkout if a project exists, by using show_project_meta() instead of meta_exists
........
  r3839 | poeml | 2008-04-25 18:31:26 +0200 (Fri, 25 Apr 2008) | 6 lines
  
  - commandline do_checkout(): change the order of the two checks, first do the
    (cheaper) check for existing directory
  - core.core checkout_package(): simplify the check in if the package
    exists, by using show_package_meta() instead of meta_exists
    Let it throw an exception, instead of using sys.exit().
........
  r3841 | Marcus_H | 2008-04-27 15:48:06 +0200 (Sun, 27 Apr 2008) | 5 lines
  
  - added 2 new exception classes: PackageError() and PackageExistsError. The PackageError() class is meant to be the base class for all subsequent package exceptions.
  - get rid of 2 sys.exit(1) calls
  - make the update() method of the Project() class safer: in any case we have to write the _packages file otherwise the package tracking will be screwed up.
  - minor fix in delPackage(): use getTransActPath() when printing out the filename
........
  r3842 | Marcus_H | 2008-04-27 16:52:55 +0200 (Sun, 27 Apr 2008) | 3 lines
  
  - make the commit() method safe: in any case we have to write the _packages file otherwise the package tracking will be screwed up.
  - removed another sys.exit(1): raise an exception if a package is missing when doing a commit. For now we use the PackageExistsError() exception but this might change in the future (updated description of PackageExistsError() according to this change)
........
  r3848 | poeml | 2008-04-28 12:46:45 +0200 (Mon, 28 Apr 2008) | 3 lines
  
  rename several error classes, dropping the "Osc" prefix, and "Error" suffix in
  cases where they don't really make sense.
........
  r3849 | poeml | 2008-04-28 12:57:32 +0200 (Mon, 28 Apr 2008) | 3 lines
  
  - rename osc.errors module to osc.oscerr, to make it easier to import it from
    other programs and have a crystal clear namespace
........
  r3850 | poeml | 2008-04-28 13:26:12 +0200 (Mon, 28 Apr 2008) | 2 lines
  
  split PackageExists exception class into PackageExists and PackageMissing
........
2008-04-28 16:37:44 +00:00
Dr. Peter Poeml
5d7df534ee submitreq show: fix the --diff option; the diff was shown reversed. (bnc#379519) 2008-04-28 09:39:07 +00:00
Marcus Hüwe
2440bed285 - added --job option to the do_build() command. (this option will be passed to build script) 2008-04-24 09:00:23 +00:00
Marcus Hüwe
4c6ce9ae56 - added new method getStatus() which calculates the status of certain packages
- cleaned up do_status() and added support for multiple project dirs (osc st prj_dir1 /path/to/prj_dir2 ...)
2008-04-23 21:51:24 +00:00
Dr. Peter Poeml
40642ecaf4 save cookies even in case of urllib2.HTTPError exceptions [bnc#378421] 2008-04-23 07:07:45 +00:00
Marcus Hüwe
a4f4488a50 - fixed KeyError when printing the new_conf_template 2008-04-22 22:43:00 +00:00
Dr. Peter Poeml
34b5b109ac remove osc.core.urlopen(), which is depracated since at least a year 2008-04-22 22:41:49 +00:00
Dr. Peter Poeml
5d6984ac64 remove code that was added in commit 3504 for debugging purposes, but never used.
(Bug https://bugzilla.novell.com/show_bug.cgi?id=369176, empty responses from
api.opensuse.org.)
2008-04-22 22:35:48 +00:00
Marcus Hüwe
a13e822838 - use "rev=upload" when deleting otherwise this would result in a double commit (if "rev=upload" is not specified bs_srcserver does a "real" commit and additionally osc sends a request do a commit => 2 commits) 2008-04-21 15:07:34 +00:00
Michal Marek
c4f7b89062 warn only once for each unknown status in 'osc prjresults' 2008-04-18 11:37:19 +00:00
61e2a77eb1 fix api call to request log file file. This was the legacy call, which
seems not to work anymore.
2008-04-14 07:07:08 +00:00
6debf60892 temporary workaround for cookie handling problem by Andreas 2008-04-12 08:04:41 +00:00
Michal Marek
0835580d59 Abort if meta_exists encounters an unexpected error (bnc#377693).
The correct fix is to propagate this to commandline.py and exit() there.
2008-04-11 10:49:43 +00:00
Marcus Hüwe
e9176c7513 - fixed bug #378752 (osc fails to delete patterns) 2008-04-10 21:04:17 +00:00
Marcus Hüwe
80ab6bf345 - fixed bug #359846:
the BUILD_DIST environment variable will be ignored by osc
- the following environment variables can still be used:
  # 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.
  (now they're documented in the helptext)
2008-04-09 18:45:59 +00:00
Dirk Mueller
5c064bc2c1 fix latent file descriptor leak in get_source_file() 2008-04-07 09:55:11 +00:00
Marcus Hüwe
d9ee2be26d - ignore dot packages too 2008-04-03 10:46:18 +00:00
Marcus Hüwe
a3f948dede - fixed bug #376285:
* make_dir() and checkout_package() got a new optionally 'prj_dir'     parameter. This parameter specifies in which dir we want to create new project/package dirs.
2008-04-02 15:30:44 +00:00
Dr. Peter Poeml
e62dd94cc0 copypac: make the server-side copy the default. But do a client-side copy if source and target are not on the same buildservice instance. 2008-04-02 14:36:23 +00:00
Dr. Peter Poeml
cc02e878b0 change some places where queries are passed to makeurl(). Use dictionaries for
that, which causes makeurl() to automatically do the quoting work.
2008-04-02 14:07:40 +00:00
Dr. Peter Poeml
6e5d41f481 - a slight simplification -- rev=upload is always okay. 2008-04-02 12:54:26 +00:00
Dr. Peter Poeml
5e5ca2e020 implement committing with keeping links 2008-04-02 12:37:56 +00:00
Dr. Peter Poeml
11fa192b33 - ignore all dot files (the buildservice doesn't handle them)
- fix Project class (used by the "package tracking" code path)
  to use fnmatch.fnmatch() on the list of exclude expressions
2008-03-31 14:42:11 +00:00
Marcus Hüwe
a20e354d07 - small apiurl fixes 2008-03-27 00:36:17 +00:00
Dr. Peter Poeml
a0bae2ab52 osc update: fix diff3 merging for expanded links, by adding the revision to the
get_source_file() call in the mergfile method.
2008-03-26 16:11:11 +00:00
Dr. Peter Poeml
3db9e6449c Link handling:
Add support for handling linked packages in expanded form. They can be checked
out, updated (expanding or unexpanding them), and built locally.
Missing: commit support.

Newly introduced options are:
- osc checkout: --expand-link 
- osc update: --expand-link and --unexpand-link 

Other changes:
- osc core: add show_upstream_xsrcmd5() method which returns the xsrcmd5 (if a
  linkinfo element exists only, of course)
- made updating of expanded sources work with package tracking, too.
2008-03-24 20:24:49 +00:00
Dr. Peter Poeml
2fa94dcf23 core:
- add isexpanded() method to Linkinfo class
 - add isexpandedlink() method to Package class
 - read lsrcmd5 and srcmd5 from the linkinfo element, which are present in
   expanded links.
osc info: 
 - make it show info about expanded and non-expanded links
2008-03-22 17:37:17 +00:00
Dr. Peter Poeml
f5af255798 core: relax the revision id check, so that source md5 sums are accepted 2008-03-22 16:35:22 +00:00
Dr. Peter Poeml
892e644f59 - add Linkinfo class to osc.core
- Package class: 
  - add linkinfo when reading in package data via update_datastructs()
  - add islink() method
2008-03-22 13:37:59 +00:00
Dr. Peter Poeml
64f3d8c55e submitreq show: if the target package doesn't exist, a diff cannot be produced. 2008-03-20 20:11:30 +00:00
Dr. Peter Poeml
c2c406aab2 submitreq: adjust to renamed API calls and XML ("merge" -> "submit") 2008-03-20 19:17:40 +00:00
Marcus Hüwe
303e5dcffc - all necessary auth-information are available in the 'auth_dict' (so there's no need to fool around with the ConfigParser...) 2008-03-18 13:51:57 +00:00
Marcus Hüwe
3c3e961f4e - minor fix in createPackageDir
- osc mkpac only works when 'do_package_tracking' is enabled
2008-03-17 23:43:32 +00:00
Marcus Hüwe
3fdf758dbb - do_repos() should work in a project dir too 2008-03-17 23:24:28 +00:00
Dr. Peter Poeml
2493ea555a - copypac: do a server-side copy (via a single api call) when
used with -s / --server-side. 
  This might be the default behaviour later.
  An option to specify the source revision is missing yet.
2008-03-17 21:46:42 +00:00
Dr. Peter Poeml
8ce42e2dd9 change osc.core.pretty_diff() to call makeurl() with a query dict 2008-03-17 21:39:27 +00:00
Dr. Peter Poeml
140a331c40 Enhance osc.core.makeurl(). This function accepts a query parameter in form of
a list. The query can now also be given as a dictionary, and in that case it
will be automatically urlencoded. The behaviour for a list is unchanged for 
the reason of backward compatibility.
2008-03-17 21:10:34 +00:00
Dr. Peter Poeml
54c1690309 osc req: add option -a / --add-header to add arbitrary request headers 2008-03-16 20:46:16 +00:00
Dr. Peter Poeml
7b91075229 handle mmap failure on filesystems like NTFS, which may not support
memory mapping when mounted under Linux
2008-03-16 19:02:38 +00:00
Marcus Hüwe
5d57d7e299 - added 3 new methods:
* createPackageDir(): create and initialize a new package dir in
    the given project.
  * get_apiurl_usr(): returns the username for a certain apiurl
  * get_configParser(): returns an ConfigParser() object which can be
    used for parsing the ~/.oscrc file
- fixed username issues when creating a new package (the problem was
  that the username for the default host was used and not the one for
  that specific apiurl)
- some small fixes in the do_importsrcpkg() method
2008-03-15 22:51:37 +00:00
Marcus Hüwe
c307449167 - we only need the "<entry />" nodes - otherwise listing files of a linked package fails 2008-03-13 21:45:24 +00:00
Dr. Peter Poeml
e8899aa165 if there are no credentials for the apisrv in use (which may be specified with
-A on the commandline), don't try to set up config['user'] with credentials.
2008-03-13 16:15:41 +00:00
Pavol Rusnak
734973a0bd csv exported project results now use ';' as default 2008-03-13 11:13:22 +00:00
Dr. Peter Poeml
2bf92fce75 submitreq:
- when requesting a submit, save the source package's revision id (looking up
   what it currently is)
 - give the user a way to override it, to submit an older revision
 - when using show --diff, take the actual old revision into account. Thus, the
   diff is against the source revision of the time of request creation.
2008-03-12 23:37:35 +00:00
Dr. Peter Poeml
6ab8fb52c7 - remove remove obsolete, commented code (do_editpac(), do_editprj())
- fix a small tabbing issue
2008-03-12 18:26:41 +00:00
Dr. Peter Poeml
241f528dc4 implement a submitreq 'accept' action, resulting in the respective state change 2008-03-12 18:22:11 +00:00
Dr. Peter Poeml
8fc20cfc74 ...which doesn't work. There are other requests where 0-replies are possible. 2008-03-11 17:09:25 +00:00
Dr. Peter Poeml
dad51ee405 add a temporary debug path to http_debug() for bug 369176 (empty responses from api.opensuse.org) 2008-03-11 16:39:47 +00:00
Dr. Peter Poeml
3f244d4b23 remove two stray lines which sneaked into osc/build.py with the last commit 2008-03-11 15:34:42 +00:00
Jürgen Weigert
0334ea4218 add --debuginfo switch to osc build 2008-03-11 15:18:02 +00:00