Bug 1183377 - Update python-vobject Requires for python-dateutil
Summary: Update python-vobject Requires for python-dateutil
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-vobject
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Pierre-YvesChibon
QA Contact: Fedora Extras Quality Assurance
URL: https://lists.fedoraproject.org/piper...
Whiteboard:
Depends On:
Blocks: 1126521
TreeView+ depends on / blocked
 
Reported: 2015-01-18 21:05 UTC by Pete Travis
Modified: 2015-02-23 08:21 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-02-23 08:21:57 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
patch to change requires (2.73 KB, patch)
2015-02-19 06:50 UTC, Pete Travis
no flags Details | Diff

Description Pete Travis 2015-01-18 21:05:50 UTC
python-dateutil will be updated to version 2.x and there may be changes that affect this package.  

If python-vobject will work with the newer python-dateutil, you can safely close this bug.  If python-vobject really does require python-dateutil 1.5, please use Requires: python-dateutil15 for Fedora versions of the package until it can be updated.

Comment 1 Pierre-YvesChibon 2015-01-24 13:27:25 UTC
It looks like python-dateutil broke backward compat in their rule._byweekday which break vobject

backtrace:
http://jenkins.cloud.fedoraproject.org/job/fedocal/456/console

reported upstream:
https://github.com/dateutil/dateutil/issues/24

Comment 2 Pete Travis 2015-02-17 14:51:59 UTC
I see you were going to work on the vobject side of this, pingou - any progress?

Comment 3 Pierre-YvesChibon 2015-02-17 15:02:32 UTC
There has been some discussion on the vobject list, the project is basically looking for a new home and a new maintainer and might have found the later.

So no actual progress yet but I'm trying to keep up :)

Comment 4 Pete Travis 2015-02-19 06:50:48 UTC
Created attachment 993440 [details]
patch to change requires

What do you think about something like this for the interim, pingou?

Comment 5 Pierre-YvesChibon 2015-02-19 07:37:55 UTC
Are you really considering changing the path to require the correct dateutils?

Comment 6 Pierre-YvesChibon 2015-02-19 07:55:45 UTC
If we really wanted to go this route, I would suggest using something along the lines of:
https://github.com/fedora-infra/pkgdb2/blob/master/runserver.py#L4

But I still prefer to go the upstream route.

One more question, iirc, there are unit-tests for vobject so maybe we could use those instead of adding our own, no?

Comment 7 Pete Travis 2015-02-19 18:14:32 UTC
If I understand it correctly, changing the path is the most effective way to ensure that the desired, known good version of the module will be imported when the system has multiple versions available.  I'll happily defer to your judgment if there is a better way.

I'm not familiar enough with vobject to comment on unit tests, just suggesting an interim solution that should allow python-dateutil to be updated without breaking python-vobject.  I agree that an upstream solution would be best, and the only acceptable solution in the long term; for the short term, the patch is intended to allow python-vobject to persist as-is.

Comment 8 Zbigniew Jędrzejewski-Szmek 2015-02-20 19:21:04 UTC
pingou: Do you means adding something like:
-__requires__ = 'vobject==0.8.1c'
+__requires__ = ['vobject==0.8.1c', 'python-dateutil == 1.5']

That should work, those binaries should get the right sys.path.

Comment 9 Zbigniew Jędrzejewski-Szmek 2015-02-20 21:37:43 UTC
But I'm not sure if it'll work for dependent packages.
$ repoquery --whatrequires python-vobject
conduit-0:0.3.17-10.fc21.noarch
dexter-0:0.18-9.fc21.noarch
fedocal-0:0.5.1-4.fc21.noarch
openerp-0:6.1-8.20131111_004905.fc21.noarch
openerp7-0:7.0-6.20140109_002644.fc21.noarch
python-carddav-0:0.4.1-6.fc21.noarch
translate-toolkit-0:1.9.0-5.fc20.noarch
trytond-calendar-0:2.6.1-4.fc21.noarch
wuja-0:0.0.8-14.fc21.noarch

So #c4 seems like a safer option.

Comment 10 Pierre-YvesChibon 2015-02-21 07:09:47 UTC
(In reply to Zbigniew Jędrzejewski-Szmek from comment #8)
> pingou: Do you means adding something like:
> -__requires__ = 'vobject==0.8.1c'
> +__requires__ = ['vobject==0.8.1c', 'python-dateutil == 1.5']
> 
> That should work, those binaries should get the right sys.path.

Yes that's what meant and this is likely the most elegant way to do it.

Comment 11 Zbigniew Jędrzejewski-Szmek 2015-02-21 14:34:42 UTC
Yes, but does it work for, e.g. fedocal which does 'import vobject'?

Comment 12 Zbigniew Jędrzejewski-Szmek 2015-02-21 23:48:48 UTC
I built python-dateutil with explicit Conflicts:python-vobject <= 0.8.1c-10 so that we can get some testing of the new dateutil. I hope you can build a new version of vobject soon.

Comment 13 Pierre-YvesChibon 2015-02-23 08:21:57 UTC
Fixed in rawhide and f22


Note You need to log in before you can comment on or make changes to this bug.