Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1881990 - PyDrive not installable by Deja Dup's packagekit support
Summary: PyDrive not installable by Deja Dup's packagekit support
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: deja-dup
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Gwyn Ciesla
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-09-23 14:33 UTC by Michael Terry
Modified: 2020-10-01 01:28 UTC (History)
5 users (show)

Fixed In Version: deja-dup-42.4-2.fc33 deja-dup-42.4-2.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-09-28 00:14:53 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1882028 0 unspecified NEW Handle 308 redirect change of behavior 2022-05-16 11:32:56 UTC

Description Michael Terry 2020-09-23 14:33:46 UTC
Description of problem:
When the pydrive package* is not installed, Deja Dup does not offer to install it.

* https://src.fedoraproject.org/rpms/PyDrive

Version-Release number of selected component (if applicable):
42.4

How reproducible:
Always

Steps to Reproduce:
1. Make sure that pydrive is uninstalled
2. Open Deja Dup's preferences and set your storage location to Google Drive
3. Try to back up

Actual results:
Deja Dup will throw up an error like:

BackendException: PyDrive backend requires PyDrive installation.  Please read the manpage for setup details.
Exception: No module named 'pydrive'

Expected results:
It should offer to install the missing package using packagekit.

Additional info:
The easy fix is to add a meson argument like -Dpydrive_pkgs=

However, I noticed some early signs of building the packaging as a flatpak too in git. Maybe it would be better to just Require the pydrive package? That way, it's always available in both rpm and flatpak formats.

Also,
1. The spec file builds with packagekit support but does not currently use it (duplicity and python3-gobject-base are already Required, and pydrive is not configured -- those are the only three packages that deja-dup currently has packagekit support for). If you do not decide to add the -Dpydrive_pkgs argument, you can drop the BuildRequires on packagekit.

2. PyDrive is unmaintained and has some bugs in it (notably, a bug around 308 redirects introduced with httplib2 0.16 *). There is a drop-in maintained replacement PyDrive2 here: https://github.com/iterative/PyDrive2

* https://github.com/googleapis/google-api-python-client/issues/803 -- you could also just patch Fedora's pydrive with the fixes they applied in pydrive2: https://github.com/iterative/PyDrive2/compare/c2609b74f41569f81e98376ab6cbc71333e82848...18537bbb5b9a7eee38c84bc1bbea46faf42c18b4

Comment 1 Michael Terry 2020-09-23 14:38:00 UTC
Well, I guess pydrive2 isn't drop-in, since it has its own module name (pydrive2). But the API is the same, is what I meant.

Comment 2 Michael Terry 2020-09-23 14:39:01 UTC
(And duplicity has transparent support for both pydrive and pydrive2, it will use whichever it finds.)

Comment 3 Gwyn Ciesla 2020-09-23 15:15:51 UTC
This is because the Requires for python3-PyDrive for duplicity was just changed to Recommends, to reduce dependencies.
https://bugzilla.redhat.com/show_bug.cgi?id=1876318
An alternate solution would be to Require python3-PyDrive in deja-dup. Thoughts?

Comment 4 Michael Terry 2020-09-23 15:46:23 UTC
> An alternate solution would be to Require python3-PyDrive in deja-dup. Thoughts?

That makes sense to me. Deja Dup has its own duplicity-backend requirements and concerns. Makes sense that it would ensure the ones it cares about are installed.

That way you can also drop the packagekit BuildRequires.

Regarding the pydrive/pydrive2/httplib2 issue, I'll file a bug against the pydrive package pointing at the pydrive2 redirect patches. That will at least cover the greatest pydrive sin.

Comment 5 Fedora Update System 2020-09-23 16:16:50 UTC
FEDORA-2020-0014d48eae has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-0014d48eae

Comment 6 Fedora Update System 2020-09-23 16:16:51 UTC
FEDORA-2020-c4ed855a2c has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-c4ed855a2c

Comment 7 Fedora Update System 2020-09-23 17:22:29 UTC
FEDORA-2020-0014d48eae has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-0014d48eae`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-0014d48eae

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2020-09-24 13:33:01 UTC
FEDORA-2020-c4ed855a2c has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-c4ed855a2c`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-c4ed855a2c

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2020-09-28 00:14:53 UTC
FEDORA-2020-c4ed855a2c has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 10 Fedora Update System 2020-10-01 01:28:58 UTC
FEDORA-2020-0014d48eae has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.


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