buildbot and incompatible module versioning

Dagobert Michelsen dam at opencsw.org
Wed Nov 6 12:04:16 CET 2013


Hi Maciej,

Am 06.11.2013 um 11:16 schrieb Maciej (Matchek) Bliziński <maciej at opencsw.org>:
> 2013/11/6 Dagobert Michelsen <dam at opencsw.org>:
>> The current package is called CSWpy-sqlalchemy with version 0.8.3, should I make a
>> CSWpy-sqlalchemy-buildbot with the required 0.7.10 and make that incompatible with
>> CSWpy-sqlalchemy? That would mean two packages with different version and different
>> names and incompatible versions, but the same upstream contents in different versions.
>> It would also mean you can't install all packages of the catalog. Right?
> 
> I don't like this approach. What if you need buildbot and
> sqlalchemy-0.8.3 for another application, at the same time? I'm
> thinking that virtualenv and installing a specific version of
> sqlalchemy is the right way to go. These custom installation is
> exactly what virtualenv has been created for, and we've spent so much
> effort to get virtualenv to work. It would be silly to not use it now.

Well, it does not work when trying to install twisted because there is a definition
like this missing:
  EXTRA_CPPFLAGS += -D_XPG4_2

> Running Twisted-13.1.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-wDKJrR/Twisted-13.1.0/egg-dist-tmp-kZK7Ui
> 
> twisted/python/sendmsg.c: In function 'sendmsg_sendmsg':
> twisted/python/sendmsg.c:206:19: error: 'struct msghdr' has no member named 'msg_control'
>      message_header.msg_control = NULL;
>                    ^
> twisted/python/sendmsg.c:207:19: error: 'struct msghdr' has no member named 'msg_controllen'
>      message_header.msg_controllen = 0;
>                    ^

> 
> Here's how to install a specific version of a Python library:
> http://stackoverflow.com/questions/5226311/installing-specific-package-versions-with-pip

This is similar to the buildbot recommendation:
  http://docs.buildbot.net/current/tutorial/firstrun.html
But unless there is a way to provide the extra flag it is of not much use.

> If you insist on having a package, you could create an alternate
> sqlalchemy package that would not install into /opt/csw/lib/pythonX.Y
> but some custom place, specifically for buildbot. Then you could use
> the PYTHONPATH env variable to access this library.
> 
> You could combine the two like so:
> 
> export VIRTUALENV_EXTRA_SEARCH_DIR="/path/to/dists /path/to/other/dists"
> 
> http://www.virtualenv.org/en/latest/#environment-variables-and-configuration-files

The it would be best to add the specific version of sqlalchemy to the buildbot
package and make wrappers around the executables?


Best regards

  -- Dago


-- 
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2351 bytes
Desc: not available
URL: <http://lists.opencsw.org/pipermail/maintainers/attachments/20131106/f47a368a/attachment-0001.p7s>


More information about the maintainers mailing list