1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-11-13 07:56:14 +01:00
Commit Graph

2226 Commits

Author SHA1 Message Date
Marcus Huewe
1176983a9a - core.edit_submitrequest: fixed (logic) typo 2013-08-28 23:03:25 +02:00
Marcus Huewe
77f9030016 - core.Action: added basic support for a "group" action
Request.format_action is no staticmethod anymore because the formatting
of a "group" action needs the request id.
2013-08-28 23:00:35 +02:00
a8e7b6edd0 - report valid error on "group" request actions for now 2013-08-16 11:53:21 +02:00
Marcus Huewe
c78da6c496 - _load_plugins: also add imported modules to the class
This is needed for backward compatibility. New plugins
(which do not care about "old" osc versions) should not
use "self.<imported modname>.<something>" anymore
to refer to the imported module. Instead use
"<imported modname>.<something>" (this will only work with
osc > 0.140.1).
2013-08-15 17:26:07 +02:00
1c412c14ee - show warning on auto accepting requests 2013-08-14 18:30:43 +02:00
bdc772ef10 - sync appliance building using obsrepositories with bs_worker code 2013-08-14 18:30:43 +02:00
Marcus Huewe
420f61cdca - OscConfigParser: check explicitly for python3 when importing "configparser" (patch by Kay Hayen <kay.hayen@gmail.com>)
There's a another python module around which is also called
"configparser" but which does not seem to be api compatible => so
do not import it.
2013-08-14 15:19:03 +02:00
2be979361e All rename cases require delete=False 2013-08-13 11:54:11 +02:00
6461c9faf0 add --last parameter for build logs to show last finished log file, if currently building 2013-08-13 10:38:43 +02:00
531251a86c Fix file descriptor leaks during download
This makes it possible to build packages which
require more than 512 packages for building.
2013-08-12 18:31:27 +02:00
Marcus Huewe
bcacedcd96 - babysitter.run: added new argv parameter
This way other python scripts can execute osc commands via the
babysitter. Example:

>>> from osc import babysitter, commandline
>>> cli = commandline.Osc()
>>> babysitter.run(cli, ['osc', 'ls', '<project>'])
2013-08-07 23:25:31 +02:00
Marcus Huewe
aacbf6a03b - core: added new _editor_command function
Used by "run_editor" and "_edit_message_open_editor" to retrieve
the editor command.
2013-08-03 19:34:47 +02:00
Marcus Huewe
132a2d128f - run_editor: added fallback if shlex.split raises a SyntaxError
Fall back to a plain split in order to support an arbitrary $EDITOR
value.
2013-08-03 19:23:25 +02:00
Marcus Huewe
0e30e56ded - run_editor: use shlex.split instead of plain split in order to build a proper cmd for $EDITOR 2013-08-03 17:20:03 +02:00
Ionuț Arțăriși
2dac43aecf rephrase trust prompt
'always' is a key word in that sentence and it should be the first word;
it also sounds like better English this way
2013-07-25 17:19:04 +02:00
Marcus Huewe
67a0671c8a - _load_plugins: follow-up fix for commit 58d716a6f7
Only add functions to the Osc class which are defined in the _current_
module.
2013-07-23 12:10:31 +02:00
Miroslav Suchý
12ffb4e3c4 correctly refer to exception
this is left-over from 87d354e1a0

Addressing:
Traceback (most recent call last):
  File "/usr/bin/osc", line 26, in <module>
    r = babysitter.run(osccli)
  File "/usr/lib/python2.7/site-packages/osc/babysitter.py", line 60, in run
    return prg.main()
  File "/usr/lib/python2.7/site-packages/osc/cmdln.py", line 335, in main
    self.postoptparse()
  File "/usr/lib/python2.7/site-packages/osc/commandline.py", line 136, in postoptparse
    override_verbose = self.options.verbose)
  File "/usr/lib/python2.7/site-packages/osc/conf.py", line 873, in get_config
    add_section(conffile, url, user, passwordx)
  File "/usr/lib/python2.7/site-packages/osc/conf.py", line 712, in add_section
    except OscConfigParser.ConfigParser.DuplicateSectionError:
AttributeError: class OscConfigParser has no attribute 'ConfigParser'
2013-07-17 10:22:29 +02:00
41adda44f6 - add support for manual release of sources with binaries (FATE #315250) 2013-07-08 15:59:14 +02:00
Marcus Huewe
2b9a7d166e - fixed "get_prj_results(...)" when calling with status_filter='U' 2013-07-04 22:15:14 +02:00
0437ab9be0 - support for kiwi appliance builds using obsrepositories:/ directive 2013-07-04 16:41:59 +02:00
Marcus Huewe
87aaa9aac4 - checker.check: always close fd 2013-07-04 14:24:29 +02:00
1d7cb3d1db - add armv6hl definition 2013-07-04 11:04:31 +02:00
Marcus Huewe
58d716a6f7 - _load_plugins: add all functions from the plugin to the Osc class
Adding only functions which starts with "do_" breaks the old
behavior.
2013-06-26 10:18:14 +02:00
Marcus Huewe
4996b1d1ac - do_copypac: fixed help text of the --revision option (as suggested by darix)
It "copies" the specified revision instead of "linking" it.
2013-06-21 15:11:20 +02:00
Marcus Huewe
668a017565 - open 0.141 development 2013-06-21 15:10:54 +02:00
dbd38296fa - tag it as 0.140 2013-06-20 10:46:37 +02:00
Marcus Huewe
58532bbac7 - small fix for commit d338254bb7
catch HTTPError instead of TypeError
2013-06-17 17:37:40 +02:00
Sascha Peilicke
d338254bb7 Display meaningful message for queries w/o project
Like: osc rq list -U $USER -t change_devel
2013-06-17 16:26:00 +02:00
Sascha Peilicke
4007800880 Catch specific exception. Catch-all is calling for error 2013-06-17 16:21:32 +02:00
Marcus Huewe
0ac1d32945 - oscssl.verify_certificate: also print cert info if http_debug is set
If http_debug is set we redirect sys.stdout to an StringIO
instance in order to do some header filtering (see conf module)
so we have to use the "original" stdout for printing the certificate
information.
2013-06-15 08:53:26 +02:00
Marcus Huewe
b6c9505274 - reworked the plugin loading mechanism
Using the "old" exec approach isn't possible anymore because it'll break all
plugins which aren't compatible with python3 (for instance the usage of
python2's "print" statement will lead to an error). In order to circumvent
this problem we do the following:

- import the plugin/module
- update the module's global symbol table with the "globals()" of the
  commandline module
- bind the module's "do_*" functions to the "Osc" class

This basically mimics the old "exec" semantics.
2013-06-13 20:10:12 +02:00
467757b76d - do not show unpublished information in dirty situation 2013-06-13 16:42:25 +02:00
da8c123d85 - show the situation that packages succeeded to build, but are not yet published (way to many questions due to that) 2013-06-13 16:27:58 +02:00
Dinar Valeev
51b549db3a Add ppc64p7 build definitions 2013-06-07 13:28:57 +02:00
Juergen Weigert
4b48cc611f fixed plugin crash message: include the plugin name
Two occurences.
2013-06-06 12:36:48 +02:00
Juergen Weigert
c7a15b9dab fixed plugin crash message: include the plugin name 2013-06-06 11:55:50 +02:00
Marcus Huewe
4736763c22 - reverted commit 9acda37d5f
Now "get_built_files" always returns a tuple which consists of two strings.
So no cast is needed anymore.
2013-06-03 16:32:39 +02:00
Danny Al-Gaaf
96183f41f3 OscConfigParser.py: silence pylint false positive E0702
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 15:20:56 +02:00
Danny Al-Gaaf
a3cf8e8552 OscConfigParser.py: fix __delitem__
Two issues:
- There is no _find() member in ConfigLineOrder. Use _find_section()
  instead
- Use 'key' instead of 'line' as argument for _find_section() since
  'line' is used before assignment.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 15:14:15 +02:00
Danny Al-Gaaf
a5d14bfd48 checker.py: "More than one statement on a single line"
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:58:58 +02:00
Danny Al-Gaaf
6a6b25f9cb fetch.py: fix "More than one statement on a single line"
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:58:15 +02:00
Danny Al-Gaaf
f889edabfa core.py: add missing spaces
Add missing spaces around operators and spaces after comma.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:56:24 +02:00
Danny Al-Gaaf
3ac21eb1e3 build.py: add missing spaces
Add missing spaces around operators and spaces after comma.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:47:16 +02:00
Danny Al-Gaaf
b55d4d6b99 util/archquery.py: remove unnecessary semicolon
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:30:08 +02:00
Danny Al-Gaaf
2f197c698b build.py: remove unnecessary semicolon
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:28:59 +02:00
Danny Al-Gaaf
2062333977 core.py: fix bad indentation
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:26:58 +02:00
Danny Al-Gaaf
7e3a901596 build.py: fix bad indentation
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:19:44 +02:00
Danny Al-Gaaf
6db0431cb7 fetch.py: fix bad indentation
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:16:58 +02:00
Danny Al-Gaaf
e1ea202802 cmdln.py: fix reimport of 're'
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:13:19 +02:00
Danny Al-Gaaf
b99a05e167 cmdln.py: remove some reimports of sys
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 14:07:04 +02:00
Danny Al-Gaaf
c84f413c10 oscssl.py: remove reimport of m2 from M2Crypto
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 13:47:48 +02:00
Danny Al-Gaaf
ca306fbb29 commandline.py: remove some unnecessary pass statements
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 13:42:28 +02:00
Danny Al-Gaaf
42b8d5ff45 commandline.py: fix "More than one statement on a single line"
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 13:38:49 +02:00
Danny Al-Gaaf
c261a80d46 commandline.py: remove comma, causing trouble
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 13:06:01 +02:00
Danny Al-Gaaf
00e3932e43 commandline.py: wrap some really long lines
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 13:03:46 +02:00
Danny Al-Gaaf
8403c92059 commandline.py: add missing spaces
Add missing spaces around operators, add missing spaces after comma.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 12:41:50 +02:00
Danny Al-Gaaf
439e03501d commandline.py: remove unnecessary semicolon
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 12:18:43 +02:00
Danny Al-Gaaf
e1b8022ca0 commandline.py: fix bad indentation
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-27 12:16:44 +02:00
Danny Al-Gaaf
9acda37d5f build.py: add cast to be able to use str.splitlines()
Cast some variables  to str() to be able to use str.splitlines().

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-26 20:25:44 +02:00
Danny Al-Gaaf
e6f8a1a7b3 cmdln.py: fix "More than one statement on a single line"
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-26 15:27:05 +02:00
Danny Al-Gaaf
f0a92430e8 cmdln.py: fix bad indentation
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2013-05-26 11:24:17 +02:00
Marcus Huewe
cdd73ba983 - fetch.OscFileGrabber: fix for commit 9ab5a37113
We still have to support older urlgrabber versions where the class
"URLGrabber" is an old-style class and therefore we cannot use a "super(...)"
call. This fixes issue #32
2013-05-23 15:04:20 +02:00
eea716f11f - support listing of deleted source files "ls -D $PROJECT $PACKAGE" 2013-05-17 10:37:51 +02:00
Gui Chen
9ab5a37113 fix OscFileGrabber missing 'opts' attribute issue
given urlgrabber version 3.9.1, MirrorGroup trys to access
grabber.opts, but the derived grabber OscFileGrabber hasn't
this attribute

Signed-off-by: Gui Chen <gui.chen@intel.com>
2013-05-14 10:16:10 +02:00
Andreas Schwab
ae2f9515ef Fix examples in link_template 2013-05-10 20:57:03 +02:00
Michal Čihař
f2a1bde695 Fix typo in help 2013-05-07 09:29:59 +02:00
954c2fc2b2 - fix request ... --or-revoke command for automated request accept/revoking 2013-05-06 18:45:51 +02:00
Marcus Huewe
41661d741a - babysitter: print out headers in case of status 5XX 2013-05-02 22:33:04 +02:00
Marcus Huewe
69150040c2 - do_submitrequest: --diff is not supported in a project working copy
This (partly) fixes issue #29.
2013-05-02 22:18:14 +02:00
Marcus Huewe
5e0ef46aed - fixed issue #28 ("calling with -H option causes traceback") 2013-05-02 14:55:31 +02:00
90d51da3d2 - add --message option for creating set_bugowner requests 2013-05-02 11:38:53 +02:00
71c40acc51 - fix using --set-bugowner-request on explicit specified containers 2013-05-02 11:08:27 +02:00
69e6e586c7 - fix print syntax 2013-05-02 11:05:48 +02:00
ce998fbc29 - fix spelling typo 2013-05-02 10:57:15 +02:00
a8f14bed60 - allow to set bugowner/maintainership for a given binary 2013-05-02 10:50:05 +02:00
Marcus Huewe
cdc1245960 - pass a str to exec() instead of an open file object
An open file object isn't supported anymore by python3.
This fixes issue #26.
2013-04-30 17:44:38 +02:00
Marcus Huewe
0c0ffe50fb - Serviceinfo.execute: always cleanup (remove) tmpdir
This fixes issue #24.
2013-04-26 20:44:53 +02:00
9595aa9f09 - show also groups in maintainer/bugowner search 2013-04-22 17:09:33 +02:00
Marcus Huewe
a8def0f433 - build: fixed typo (patch by darix)
typo was introduced in commit d3648be24b
2013-04-22 16:26:31 +02:00
Marcus Huewe
51e6fca88f - fetch: check if errno == 14 before accessing the URLGrabError's code attribute
Unfortunately the class URLGrabError does not define constants for the
different error codes therefore we have to hardcode the errno (alternatively
we can define them in our fetch module).
2013-04-22 15:54:55 +02:00
Marcus Huewe
5a8baf9b88 - util.ar: do not import StringIO from the cStringIO module
The class ArFile inherits from StringIO but StringIO from cStringIO
is just a function (this got broken by commit 87d354e1a0).
2013-04-22 09:24:48 +02:00
Marcus Huewe
439dafbdc5 - ServiceInfo.execute: fixed NameError 2013-04-22 09:17:38 +02:00
Marcus Huewe
d28cddfede - use a buffer instead of a memoryview if python version < 2.7
(forgot to remove this code in commit 034d2e4746)
2013-04-18 15:04:58 +02:00
Marcus Huewe
034d2e4746 - http_request: do not use a memoryview for python27
python27's mmap does not behave like a bytearray therefore we
cannot directly pass it to the memoryview.
2013-04-18 14:19:45 +02:00
2b06180efa - anotehr python3 syntax fix 2013-04-16 15:57:30 +02:00
Michal Vyskocil
1cd12ac566 python3 compatibility: fix a man page generation
Fixes a fail on a building of a documentation
http://lists.opensuse.org/opensuse-buildservice/2013-04/msg00099.html
2013-04-16 15:51:14 +02:00
e1291fdcc6 - fix the general architecture detection for incomplete "osc build" lines 2013-04-16 15:42:37 +02:00
b99233e3ae - hostarch is an array :/ 2013-04-16 15:24:28 +02:00
ce04f8b9bb - fix syntax to satisfy testsuite 2013-04-16 11:01:56 +02:00
Michal Vyskocil
b787ca2b39 python3 compatibility: make all unit test pass
There are many places can't be covered by 2to3, especially the
str/unicode -> str/bytes change done in python3. This is a big patch
incorporating all changes made in order to make python3 suite.py run
without any single failure.

It

 * adapt the introspect_handler_3 for case there are no __defaults__
 * adds the ET_ENCODING variable for ET.fromstring ("unicode" in py3,
  "utf-8" in py2)
 * (re)adds various builtins to both python versions
    - memoryview to python 2.6
    - bytes compatible with py3 to 2.6 and 2.7

and it changes few parts of tests/common.py in order to be compatible
with python3

 * new urlcompare method compares all components or url + parsed query
   string in a dictionary, so the ordering, neither quoting does not matter
 * bytes builtin has been added to 2.x and used in assertEqualMultiline
2013-04-16 10:51:42 +02:00
Michal Vyskocil
f0186dbde8 python3 compatibility: fix all tests 2013-04-16 10:51:42 +02:00
Michal Vyskocil
419367fca3 python3 compatibility: urllib
fixes all renames in urllib, urllib2, urlparse modules in python3
2013-04-16 10:51:42 +02:00
Michal Vyskocil
f6edc186c2 python3 compatibility: unicode
reintroduce unicode function - despite the fact I am pretty sure the
usage is plain wrong, because code says - return a unicode string from
utf-8 encoded one, which is probably not what was intended. I bet
something like encode the input as utf-8 was wanted.
2013-04-16 10:51:42 +02:00
Michal Vyskocil
5cc72902e0 python3 compatibility: raw_input
raw_input has been removed and equals to input in py3. Unfortunatelly no
__future__ statement exists for that. Ensure all modules uses
osc.core.raw_input except osc.cmdln, where there is NameError way
implemented.
2013-04-16 10:51:41 +02:00
Michal Vyskocil
b534ae0a6a python3 compatibility: raise
support for old style exceptions has been removed from python3
2013-04-16 10:51:41 +02:00
Michal Vyskocil
7f2031558c python3 compatibility: print function
The most visible change in python3 - removal of print statement and all
the crufty
   print >> sys.stderr, foo,

The from __future__ import print_function makes it available in python
2.6
2013-04-16 10:51:41 +02:00
Michal Vyskocil
0dcbddbafe python3 compatibility: new syntax for literals
The octal literals got a new syntax 0755 -> 0o755
2013-04-16 10:51:18 +02:00
Michal Vyskocil
87d354e1a0 python3 compatibility: import proper modules
Some modules (httplib, StringIO, ...) were renamed in python3. This
patch try to import the proper symbols from python3 and then fallback to
python2 in a case ImportError will appear.

There is one exception, python 2.7 got the io module with StringIO, but
it allow unicode arguments only. Therefor the old module is poked before
new one.
2013-04-16 10:51:18 +02:00
Michal Vyskocil
c612e8d47e python3 compatibility: use relative imports
Use relative imports when using module's own modules - this makes a
clear distinction between already developed copy and installed package.
2013-04-16 10:51:18 +02:00
Michal Vyskocil
f814fe4af4 python3 compatibility: idioms
more idiomatic code - changes

  * type(foo) == bar to isinstance(foo, bar)
  * changes the uneeded .sort calls by sorted()
2013-04-16 10:51:18 +02:00