OpenSUSE Build Service and Mac OS X

It’s make time!

Есть такой замечательный сервис — OpenSUSE Build Service. У них есть замечательный консольный клиент — osc. Умеет все то, что умеет веб-инфтерфейс, и даже больше. Написан на python и имеет git-подобный синтаксис.

Есть такая замечательная ОС — Mac OS X Snow Leopard. Там есть замечательная штука — macports.

Так вот, суть такова:

  • Ставим в macports python26, py26-celementtree, py26-elementtree, py26-m2crypto, py26-xml, py26-urlgrabber, py26-curl, py26-openssl
  • Берем последнюю версию osc: 
    git clone git://gitorious.org/opensuse/osc.git
  • Выполняем
    cd osc.git && python setup.py build && sudo python setup.py install
  • Думаем, что сейчас все будет круто.…

Фиг там. Получаем:

$ osc checkout home:iXeron

Your user account / password are not configured yet.
You will be asked for them below, and they will be stored in
/Users/xeron/.oscrc for future use.

Creating osc configuration file /Users/xeron/.oscrc ...
Username: ilarionov
Password: 
done
warning: your urllib2 version seems to be broken. Using a workaround for http://bugs.python.org/issue9639
Traceback (most recent call last):
  File "/opt/local/bin/osc", line 21, in 
    r = babysitter.run(osccli)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/osc/babysitter.py", line 50, in run
    return prg.main()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/osc/cmdln.py", line 309, in main
    return self.cmd(args)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/osc/cmdln.py", line 332, in cmd
    retval = self.onecmd(argv)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/osc/cmdln.py", line 448, in onecmd
    return self._dispatch_cmd(handler, argv)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/osc/cmdln.py", line 1178, in _dispatch_cmd
    return handler(argv[0], opts, *args)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/osc/commandline.py", line 2771, in do_checkout
    show_project_meta(apiurl, project)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/osc/core.py", line 2741, in show_project_meta
    f = http_GET(url)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/osc/core.py", line 2649, in http_GET
    def http_GET(*args, **kwargs):    return http_request('GET', *args, **kwargs)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/osc/core.py", line 2590, in http_request
    urllib2.install_opener(conf._build_opener(url))
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/osc/conf.py", line 436, in _build_opener
    if ctx.load_verify_locations(capath=capath, cafile=cafile) != 1: raise Exception('No CA certificates found')
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/M2Crypto/SSL/Context.py", line 130, in load_verify_locations
    raise ValueError("cafile and capath can not both be None.")
ValueError: cafile and capath can not both be None.

cafile and capath can not both be None? No CA certificates found? Who cares?

В общем, попробовав решить проблему установкой сертификатов, я забил на это дело и отключил их проверку нафиг, записав в конец конфиг-файла ~/.oscrc:

sslcertck = 0

Tags: like apple linux