Bug#805738: wrong dependency on python-acme

2015-11-30 Thread Sven Hartge
On Sat, 21 Nov 2015 21:56:50 +0100 Sven Hartge  wrote:

> The following packages have unmet dependencies:
>  python-letsencrypt : Depends: python-acme (= 0.0.0.dev20151114) but 
> 0.0.0.dev20151114-1 is to be installed
> E: Unable to correct problems, you have held broken packages.

The new upload also depends on a non-existing version of python-acme and
is uninstallable:

Package: python-letsencrypt
Version: 0.0.0.dev20151123-1
Installed-Size: 375
Maintainer: Debian Let's Encrypt 
Architecture: all
Depends: python-acme (= 0.0.0.dev20151123)
^^^!

The real version of python-acme is 0.0.0.dev20151123-1.

You cannot use "python-acme (= ${source:Upstream-Version})" as a version
to depend on as this lacks the Debian part of the package version.

If you really want to lock this package and python-acme very tightly you
either hard-code the needed version or build them from the same source
and can _then_ use "ython-acme (= ${binary:Version}) to get the
dependencies right.

Grüße,
Sven.



Bug#805738: wrong dependency on python-acme

2015-11-21 Thread Sven Hartge
On Sat, 21 Nov 2015 21:56:50 +0100 Sven Hartge  wrote:

> In trying to fix #805185 you added a dependency on

This is of course bug #805186

Grüße,
Sven.



Bug#805738: wrong dependency on python-acme

2015-11-21 Thread Sven Hartge
Package: python-letsencrypt
Version: 0.0.0.dev20151114-3
Severity: serious

Hi!

In trying to fix #805185 you added a dependency on

  python-acme (= ${source:Upstream-Version})

to the python-letsencrypt package, but this prohibits the installation
of that package:

The following packages have unmet dependencies:
 python-letsencrypt : Depends: python-acme (= 0.0.0.dev20151114) but 
0.0.0.dev20151114-1 is to be installed
E: Unable to correct problems, you have held broken packages.

I think the dependency should look like this:

  python-acme (>= ${source:Upstream-Version})
   ^!

I am no expert on dpkg-substvars or the Debian policy concerning that matter,
but a local rebuild of python-letsencrypt with that change allows the
package to install correctly. 

As far as I can see, using a >= relation is the only way to ensure that the
python-acme package is at least the same version as the python-letsencrypt
packge.

But this may/will break, if python-acme is upgraded to a higher version
before python-letsencrypt. So you'd need somthing like

  python-acme (>= ${source:Upstream-Version}), python-acme ( <= 
${binary:Version}) 

so that the version of the python-acme package is at least the same upstream
version but not higher than the version of python-letsencrypt.

This will of course break if the version of python-acme is increased
to a higher Debian release (for example -4 while python-letsencrypt
is still at -3) than python-letsencrypt.

I guess one cannot automatically express such a strict inter-package
dependency if the involved packages are not built from the same
source package. It seems the only viable solution is to manually
specify the correct python-acme version.

Grüße,
Sven.

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (200, 'experimental')
Architecture: i386 (x86_64)
Foreign Architectures: amd64

Kernel: Linux 4.1.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages python-letsencrypt depends on:
ii  python-acme0.0.0.dev20151114-1
ii  python-configargparse  0.10.0-1
ii  python-configobj   5.0.6-2
ii  python-cryptography1.1-1+b1
ii  python-dialog  3.3.0-1
ii  python-mock1.3.0-2.1
ii  python-openssl 0.15.1-2
ii  python-parsedatetime   1.4-1
ii  python-pkg-resources   18.4-2
ii  python-psutil  2.2.1-3+b1
ii  python-requests2.8.1-1
ii  python-rfc3339 1.0-2
ii  python-six 1.10.0-1
ii  python-tz  2012c+dfsg-0.1
ii  python-zope.component  4.2.2-1
ii  python-zope.interface  4.1.3-1
pn  python:any 

Versions of packages python-letsencrypt recommends:
ii  letsencrypt  0.0.0.dev20151114-3

python-letsencrypt suggests no packages.

-- debconf-show failed