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

204 Commits

Author SHA1 Message Date
Hemmo Nieminen
326abe0c8b Backport a fix from Python 2.7 upstream for urllib2.
This change makes basic authentication fail after first unsuccessful
attempt (instead of automatically retrying) and thus prevents unnecessary
failed login attempts.

This change also allows printing the contents of an HTTP 401 message to
the user.
2016-11-22 11:13:24 +02:00
Marcus Huewe
05ad9efae3 Avoid stale ~/.osc_cookiejar file
Always clear the cookiejar, if ~/.oscrc's mtime is "greater" than
~/.osc_cookiejar's mtime. This fixes issue #86.
2016-11-19 13:01:05 +01:00
Michael Schroeder
55da852a90 Add support for preinstall iamges
Adapted from a submission from Ericsson by Esa Kulmala, thanks a lot!
2016-06-09 16:24:30 +02:00
Bernhard M. Wiedemann
bbefe024e5 add vm-user option
this needs latest obs-build to work
2016-02-18 11:31:59 +01:00
Marcus Huewe
e8783d2501 - introduced new "request_show_source_buildstatus" config option
If enabled, it always shows the source buildstatus during
"osc rq show <id>" or "osc rq list --interactive". By default, it is
disabled.
2016-02-10 18:27:35 +01:00
Marcus Huewe
b15f97bcd0 - conf._build_opener: make sure no certs are checked if "sslcertck" is disabled
Since python >= 2.7.9 urllib2/httplib verifies the ssl cert by default - so
make sure that this "builtin" ssl check is disabled as well if
"sslcertck" is disabled. Fixes #179.
Note: eventually, we should abandon m2crypto and use urllib2/httplib to
verify the ssl cert.
2015-11-28 22:39:49 +01:00
Marcus Huewe
c902d174d8 - conf.parse_apisrv_url: strip trailing slashes from the path
Since commit ca2f1a90c8 a section like
[https://api.opensuse.org/] was not associated with an
"apiurl=https://api.opensuse.org" entry anymore.
2015-08-20 14:45:02 +02:00
Oleg Girko
ca2f1a90c8 Add support for non-root paths in API URLs.
Currently osc supports API URLs without path only,
like https://api.example.com (if there is pathname, it's just ignored).
With this change API URLS with path, like https://example.com/api
are supported correctly.

This is useful for those who can't have OBS api, webui and main site
on different domains and buy separate X.509 certificates for them,
or just can't afford to have separate IP addresses for them
(please note that currently osc doesn't support TLS SNI).

Signed-off-by: Oleg Girko <ol@infoserver.lv>
2015-05-14 16:46:10 +01:00
Marcus Huewe
3547ef95ef Revert "Fix condition for using urllib2 workaround"
This reverts commit 2f14cedcff.

Actually, this was meant to fix https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762825,
which was (probably) caused due to the following:
- commit 320238350f introduced a codepath, which
  should not be needed for python >= 2.7.1 (see also
  https://hg.python.org/cpython/rev/64287)
- this codepath uses the "reset_retry_count" method, which is not present in
  Debian Jessie's libpython2.7-stdlib: libpython2.7-stdlib_2.7.8-11 backports
  a patch from python's 2.7.9 branch, which removes the "reset_retry_count"
  method (https://hg.python.org/cpython/rev/c1edc4e43eb1).

This fixes bnc#911080 and github issue #131.
2014-12-23 04:34:40 +01:00
Marcus Huewe
68d10dfe8b Revert "- reset retry counter on 404 answer for all python 2.7.x versions"
This reverts commit 320238350f.
With python >= 2.7.1 this codepath should not be needed (see also
https://hg.python.org/cpython/rev/64287).

Conflicts:
	osc/conf.py
2014-12-23 03:46:32 +01:00
Denis Pynkin
d17b497867 Added configuration options for kernel and initrd selection during KVM build
Some distributions have no initrd images compatible with KVM builds and
sometimes we need to use not system kernel version.

New options in configuration file:
- build-kernel -- kernel used for VM builds
- build-initrd -- initrd image used for VM builds
2014-11-20 19:09:53 +03:00
Marcus Huewe
ca7ad96ec9 - raise more specific exceptions 2014-10-20 13:29:03 +02:00
Marcus Huewe
a7c92eb18f - do not hardcode path to the build scripts and removed legacy check 2014-10-01 14:45:48 +02:00
Sjoerd Simons
2f14cedcff Fix condition for using urllib2 workaround
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762825
2014-09-26 09:54:03 +02:00
Marcus Huewe
7efd6db501 - added support for a per apiurl "build-root" option
Resolution order:
OSC_BUILD_ROOT env var > apiurl build-root option > general build-root option
2014-06-04 15:33:30 +02:00
Marcus Huewe
8c506e5929 - fixed "osc -H ..." in combination with a proxy 2014-03-11 19:40:27 +01:00
Marcus Huewe
9034b27814 - fixed creation of ~/.osc_cookiejar
A "PyCFunction_Type" like os.open takes no keyword arguments.
2014-03-10 22:36:56 +01:00
Michal Vyskocil
111fd87715 passx encode/decode functions
The string.encode('bz2') does not work in python3. Implement
passx_encode/passx_decode functions compatible with python 2.6, 2.7 and
3.3.

Add a simple unit test.
2014-01-08 15:43:57 +01:00
Michal Vyskocil
5d5185cbc6 chmod handling
* prefer os.open instead of open && os.chmod
 * prefer os.fchmod when fd exists
2014-01-06 11:12:02 +01:00
Thorsten Behrens
9561a99d6b Do not pass on unicode password from keyrings.
Seems at least gnome keyring returns a unicode string here
needlessly, which calling code then trips over.
2013-11-21 23:46:45 +01: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
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
5e0ef46aed - fixed issue #28 ("calling with -H option causes traceback") 2013-05-02 14:55:31 +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
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
3a93ac6d10 python3 compatibility: except
changes 'except FooError, fe' to 'except FooError as fe'

available in python 2.6
2013-04-16 10:51:17 +02:00
Sascha Peilicke
c31d7d5671 Fix typo in default build-root path 2013-03-20 15:43:06 +01:00
320238350f - reset retry counter on 404 answer for all python 2.7.x versions 2013-03-20 14:11:58 +01:00
Sascha Peilicke
f9a718f662 Provide a better default build-root.
Previously it was /var/tmp/build-root but
/var/tmp/build-root/%(repo)s-%(arch)s makes much more sense.
2013-02-27 13:43:05 +01:00
Marcus Huewe
e2dc1d7fe6 - fixed bnc#801027 ("osc starts with a traceback") 2013-02-25 18:07:27 +01:00
Dmitry Marakasov
8e9e8c492c Raise exception when there're no CA certificates
This is more useful and meaningful error message than M2Crypto's
"ValueError: cafile and capath can not both be None." when neither
of cafile and capath is defined for load_verify_locations call.
2013-02-06 03:50:18 +04:00
d84bc081ef - disable keyring usage by default 2013-01-31 16:03:31 +01:00
b55721a679 - warn about empty passwords to see keyring setup errors 2013-01-24 16:32:33 +01:00
Marcus Huewe
737bac561b - added support to strip the build time from the buildlog when running "bl", "rbl", "lbl"
Also added a config option "buildlog_strip_time" to permanently enable/disable the
stripping of the build time.
2012-12-15 01:50:24 +01:00
Marcus Huewe
6ad15b3832 - fixed github issue #6 ("Problems with osc and gnome-keyring")
check if user and password exist in the gnome keyring entry (a non existent
password is most likely an error so print a warning)
2012-06-26 21:18:28 +02:00
Marcus Huewe
b38dd0191f - request_interactive_review: automatically accept/decline a review for a specific group (if a group was specified)
To enable this feature set the newly introduced "review_inherit_group"
config option to True.
2012-04-27 15:04:06 +02:00
Ard
bd9ab782d4 Fix small typo in conf.py 2012-03-24 20:41:43 +13:00
Sascha Peilicke
588efa69fc Fix copy-paste error 2012-03-08 14:42:52 +01:00
Bruno Friedmann
475867cc64 - make file system configurable 2012-02-04 17:05:17 +01:00
Marcus Huewe
8971959187 - fixed #704939 ("osc dies when the config file is supplied via STDIN") 2011-11-18 22:32:10 +01:00
Marcus Huewe
18ad5fcd5a - conf: always use write_config when writing the config file 2011-11-18 22:27:38 +01:00
Marcus Huewe
f98758e902 - config_set_option: set override_no_keyring and override_no_gnome_keyring to the current config defaults when calling "get_config" 2011-09-21 01:52:04 +02:00
Marcus Huewe
3683d9550d - added "local_service_run" config option
can be used to permanently disable the local service run on commit
(default: enabled)
2011-09-07 15:19:54 +02:00
568612cedc - drop hardcoded source validator executions 2011-09-07 13:55:05 +02:00
Sascha Peilicke
097daf311b Fix tests/test_repairwc.py, there's no 'urllib22' yet ;-) 2011-08-18 16:02:34 +02:00
Sascha Peilicke
7acf236662 Honor PEP-8 in osc/conf.py. Includes moving all imports to the top (and
importing only once).
2011-08-18 16:02:34 +02:00
Marcus Huewe
af253d2eb2 - respect no_proxy env variable 2011-07-15 20:10:45 +02:00