python3-click from Snappy PPA clashes with same from SDK PPA

Bug #1418086 reported by Will Cooke on 2015-02-04
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Snappy
High
Steve Langasek

Bug Description

I added the snappy-dev PPA, and already had the SDK PPA installed. When trying to build a Snappy package I got this error:

Traceback (most recent call last):
  File "/usr/bin/snappy", line 5, in <module>
    from snappy.main import Main
  File "/usr/lib/python3/dist-packages/snappy/main.py", line 8, in <module>
    from snappy.click import ClickDataSource
  File "/usr/lib/python3/dist-packages/snappy/click.py", line 8, in <module>
    from click.repository import (
ImportError: No module named 'click.repository'

apt-cache policy shows this:

python3-click:
  Installed: 0.4.35.1~0ubuntu1~0trusty10
  Candidate: 0.4.35.1~0ubuntu1~0trusty10
  Version table:
 *** 0.4.35.1~0ubuntu1~0trusty10 0
        500 http://ppa.launchpad.net/ubuntu-sdk-team/ppa/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status
     0.4.35+ppa33 0
        500 http://ppa.launchpad.net/snappy-dev/beta/ubuntu/ trusty/main amd64 Packages
     0.4.21.1 0
        500 http://gb.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

Purging the ubuntu-sdk-team PPA resolved the problem.

Related branches

Will Cooke (willcooke) wrote :

This is probably because I'm on Trusty and not Vivid. Sorry.

Alexander Sack (asac) wrote :

subscribed zoltan as his PPA is one mentioned here and assigned to slangsek who said he will do a review of who is doing what wrong here...

Changed in snappy-ubuntu:
assignee: nobody → Steve Langasek (vorlon)
status: New → Confirmed
importance: Undecided → High
Alexander Sack (asac) wrote :

putting to high as i heard that the SDK ppa is part of of official SDK developer docs for phone and the snappy ppa is official part of snappy doc so folks that work on phone apps and want to try snappy will hit this...

Steve Langasek (vorlon) wrote :

I've looked at this and confirm that the Ubuntu SDK ppa has wrong version numbers for the 'click' package, causing this problem. Zoltan, where does this version number of '0.4.36.1~0ubuntu1~0trusty2 ' for click come from? The most recent version of click in vivid is 0.4.35. You can't just make up new version numbers for a package in Ubuntu, and there is no sign of this version anywhere on the click package's bzr branch. If there is another branch for this ppa somewhere, that code needs to be landed ASAP to vivid - the SDK ppa should be a backport of the mainline, not its own development series.

Zoltan Balogh (bzoltan) wrote :

The 0.4.35 version of the click was released last year 14th of November. Since then the SDK needed several bitsize fixes in t the click/chroot.py. That is why I had to push newer version of the click to the SDK.

A fresh release of the click to Vivid would solve the problem.

Zoltan Balogh (bzoltan) wrote :

And I did not "made" up this version. The https://code.launchpad.net/~click-hackers/click/devel is on 0.4.36, the rest is backporting builds.

Colin Watson (cjwatson) wrote :

When backporting, you must always make sure that your version is less than the one you're backporting, or you'll cause problems. The ".1" in your version makes it greater than the 0.4.36 you were backporting from bzr.

Zoltan Balogh (bzoltan) wrote :

Sorry for that. Strictly said I was not backporting the Vivid release, but I early released the devel branch to the SDK PPA with my patch on it. That is why I used the .1.

Now it is all fine as the devel branch was merget to the trunk and the new 0.4.37 is released.

Steve Langasek (vorlon) wrote :

0.4.37 is released and 0.4.37+ppa1 is now in the snappy ppa; marking this resolved.

Changed in snappy-ubuntu:
status: Confirmed → Fix Released
Josh (josuast) wrote :

Aand for some reason I got the exactly same problem just with a newer version of python3-click.

Traceback (most recent call last):
  File "/usr/bin/snappy", line 5, in <module>
    from snappy.main import Main
  File "/usr/lib/python3/dist-packages/snappy/main.py", line 8, in <module>
    from snappy.click import ClickDataSource
  File "/usr/lib/python3/dist-packages/snappy/click.py", line 8, in <module>
    from click.repository import (
ImportError: No module named 'click.repository'

And also apt-cache policy:
python3-click:
  Installed: 0.4.38.5-0~457~ubuntu14.10.1
  Candidate: 0.4.38.5+ppa1
  Version table:
     0.4.38.5+ppa1 0
        500 http://ppa.launchpad.net/snappy-dev/beta/ubuntu/ utopic/main amd64 Packages
 *** 0.4.38.5-0~457~ubuntu14.10.1 0
        500 http://ppa.launchpad.net/ubuntu-sdk-team/ppa/ubuntu/ utopic/main amd64 Packages
        100 /var/lib/dpkg/status
     0.4.33 0
        500 http://ch.archive.ubuntu.com/ubuntu/ utopic/main amd64 Packages

On Wed, Apr 01, 2015 at 04:18:32PM -0000, Joshua Stingelin wrote:
> Aand for some reason I got the exactly same problem just with a newer
> version of python3-click.

> Traceback (most recent call last):
> File "/usr/bin/snappy", line 5, in <module>
> from snappy.main import Main
> File "/usr/lib/python3/dist-packages/snappy/main.py", line 8, in <module>
> from snappy.click import ClickDataSource
> File "/usr/lib/python3/dist-packages/snappy/click.py", line 8, in <module>
> from click.repository import (
> ImportError: No module named 'click.repository'

> And also apt-cache policy:
> python3-click:
> Installed: 0.4.38.5-0~457~ubuntu14.10.1
> Candidate: 0.4.38.5+ppa1
> Version table:
> 0.4.38.5+ppa1 0
> 500 http://ppa.launchpad.net/snappy-dev/beta/ubuntu/ utopic/main amd64 Packages
> *** 0.4.38.5-0~457~ubuntu14.10.1 0
> 500 http://ppa.launchpad.net/ubuntu-sdk-team/ppa/ubuntu/ utopic/main amd64 Packages
> 100 /var/lib/dpkg/status
> 0.4.33 0
> 500 http://ch.archive.ubuntu.com/ubuntu/ utopic/main amd64 Packages

You are having this problem because your python3-click package is out of
date. You need to install the newer version of python3-click from the
snappy-dev ppa, not the one from the SDK ppa.

The snappy-dev ppa version is compatible with the SDK. The SDK version is
not compatible with snappy. This is why the packages have the versions that
they do.

Zoltan Balogh (bzoltan) wrote :

Should I sync the SDK PPA with the Snappy PPA?

Was anybody running at least a part of the SDK test plan on the snappy edition of the click packages?

Josh (josuast) wrote :

@Steve Langasek: You were right. He who reads precisely clearly has an advantage.
It automatically updated to the new version today. Should anyone else have this problem I suggest (unless someone respeaks): https://help.ubuntu.com/community/PinningHowto

Steve Langasek (vorlon) wrote :

Hi Zoltan,

On Thu, Apr 02, 2015 at 06:25:46AM -0000, Zoltan Balogh wrote:
> Should I sync the SDK PPA with the Snappy PPA?

I don't see anything in the current packaging delta that would prevent this;
there are some added dependencies but nothing that isn't available in
trusty.

I'm not sure why this version of click hasn't been merged into the vivid
archive yet. You may prefer to wait until this has been done.

> Was anybody running at least a part of the SDK test plan on the snappy
> edition of the click packages?

I would assume not. Where is this test plan documented? I guess that it's
nothing so simple as triggering the autopkgtests for the package?

Zoltan Balogh (bzoltan) wrote :

@Steve Langasek: I will check with mvo the plans of updating click in Vivid

The test plan of the SDK is rather heavy, but the click specific parts can be picked easily:
- chroot operations
- build
- packaging

If it all works with a single template app then it is usually fine.

On jueves 2 de abril de 2015 16h'28:58 ART, Steve Langasek wrote:
> Hi Zoltan,
>
> On Thu, Apr 02, 2015 at 06:25:46AM -0000, Zoltan Balogh wrote:
>> Should I sync the SDK PPA with the Snappy PPA?
>
> I don't see anything in the current packaging delta that would prevent this;
> there are some added dependencies but nothing that isn't available in
> trusty.
>
> I'm not sure why this version of click hasn't been merged into the vivid
> archive yet. You may prefer to wait until this has been done.

snappy has been rewritten in Go and the dependency on click itself has been
removed.

sergiusens@lothlorien:~$ apt-cache show ubuntu-snappy| grep Depends
Depends: apparmor-easyprof-ubuntu-snappy, debsig-verify, system-image-cli
(>= 2.5-0ubuntu1+ppa15), ubuntu-snappy-cli (= 0.1.2-0+300~ubuntu15.04.1),
init-system-helpers (>= 1.18~)
sergiusens@lothlorien:~$ apt-cache show ubuntu-snappy-cli| grep Depends
Depends: fakeroot, libc6 (>= 2.4)

Contrary to the python implementation of snappy
sergiusens@lothlorien:~$ apt-cache show ubuntu-core-snappy| grep Depends
Depends: click, python3, system-image-dbus (>= 2.5-0ubuntu1+ppa15),
python3-prettytable, snappy-systemd, apparmor-easyprof-ubuntu-snappy,
initramfs-tools-ubuntu-core (>= 0.7.2~ppa15)

I don't think updating is required or that this will ever be sync'ed into
the archives.

On Mon, Apr 06, 2015 at 09:52:51AM -0300, Sergio Schvezov wrote:
> >I'm not sure why this version of click hasn't been merged into the vivid
> >archive yet. You may prefer to wait until this has been done.

> snappy has been rewritten in Go and the dependency on click itself has been
> removed.

Good point.

It hasn't yet been removed from the image, or from the beta ppa. Should it
be? What was the reason for not dropping the python snappy from the image
when we made the go version the default?

Michael Terry (mterry) on 2015-05-18
affects: snappy-ubuntu → snappy
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers