Control: tag -1 patch

Good point. The attached patch takes the (somewhat heavy-handed) approach
of requiring that the zfsutils-linux version match the package's version.
It also makes zfsutils-linux conflict with (actually "break") a mismatched
zfs-dkms package.

This should make upgrading by just installing zfsutils-linux of the correct
version easy.

I think this is probably for the best, since all these tools are developed
under the assumption they come from the same release.

On 11/30/17 07:31, Bernhard Schmidt wrote:
> Control: notfixed -1 zfs-linux/0.7.3-3
> 
> On Thu, Nov 30, 2017 at 06:56:47AM -0500, Antonio Russo wrote:
> 
> Hi,
> 
>> Control: fixed -1 zfs-linux/0.7.3-3
>>
>> Thanks for noticing there was a problem. I've closed this report since
>> you have said it was a duplicate of #881013 and #880709, which have
>> been fixed.
>>
>> Please reopen this if you still encounter this bug.
> 
> I've just hit this "bug" as well.
> 
> As the original poster wrote it happens with mixing versions. Since
> zfs-dkms in testing is not compatible with the linux kernel in testing I
> selectively installed zfs-dkms from sid. Both zfsutils-linux and zfs-zed
> stayed at 0.6.5.11-1, which is causing this issue.
> 
> After upgrading zfsutils-linux to 0.7.3-3 as well the issue is fixed.
> But that's not related to the exact version, only to the mismatch, so
> I'm removing the fixed mark.
> 
> Not exactly sure whether this can be solved generally. Since
> zfsutils-linux is only a Recommends of zfs-dkms versioning it won't
> help. You can probably just close the bug.
> 
> Bernhard
> 

commit 5d747a573a14f0d51fcfaba4522342560ccfc57d
Author: Antonio Russo <antonio.e.ru...@gmail.com>
Date:   Thu Nov 30 08:46:47 2017 -0500

    Add version dependency on zfsutils-linux package

diff --git a/debian/control b/debian/control
index 19c473fb..f3ac39f8 100644
--- a/debian/control
+++ b/debian/control
@@ -89,7 +89,7 @@ Package: zfs-dkms
 Architecture: all
 Pre-Depends: spl-dkms (>= ${source:Upstream-Version}), spl-dkms (<<${source:Upstream-Version}.)
 Depends: dkms (>> 2.1.1.2-5), lsb-release, ${misc:Depends}
-Recommends: zfsutils-linux, zfs-zed
+Recommends: zfsutils-linux (= ${binary:Version}), zfs-zed
 Provides: zfs-modules
 Description: OpenZFS filesystem kernel modules for Linux
  The Z file system is a pooled filesystem designed for maximum data
@@ -103,7 +103,7 @@ Package: zfs-initramfs
 Architecture: all
 Depends: initramfs-tools,
  busybox-initramfs | busybox-static | busybox,
- zfs-modules | zfs-dkms, zfsutils-linux,
+ zfs-modules | zfs-dkms, zfsutils-linux (= ${binary:Version}),
  ${misc:Depends}
 Description: OpenZFS root filesystem capabilities for Linux - initramfs
  The Z file system is a pooled filesystem designed for maximum data
@@ -115,7 +115,7 @@ Description: OpenZFS root filesystem capabilities for Linux - initramfs
 
 Package: zfs-dracut
 Architecture: all
-Depends: dracut, zfs-modules | zfs-dkms, zfsutils-linux, ${misc:Depends}
+Depends: dracut, zfs-modules | zfs-dkms, zfsutils-linux (= ${binary:Version}), ${misc:Depends}
 Description: OpenZFS root filesystem capabilities for Linux - dracut
  The Z file system is a pooled filesystem designed for maximum data
  integrity, supporting data snapshots, multiple copies, and data
@@ -129,6 +129,7 @@ Section: contrib/admin
 Architecture: linux-any
 Depends: ${misc:Depends}, ${shlibs:Depends}, ${python3:Depends}, python3
 Recommends: lsb-base, zfs-modules | zfs-dkms, zfs-zed
+Breaks: zfs-dkms (>> ${binary:Version}), zfs-dkms (<< ${binary:Version})
 Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs | zfs-dracut
 Conflicts: zfs, zfs-fuse, zutils
 Provides: zfsutils
@@ -143,7 +144,7 @@ Description: command-line tools to manage OpenZFS filesystems
 Package: zfs-zed
 Section: contrib/admin
 Architecture: linux-any
-Depends: ${misc:Depends}, ${shlibs:Depends}, zfs-modules | zfs-dkms, zfsutils-linux
+Depends: ${misc:Depends}, ${shlibs:Depends}, zfs-modules | zfs-dkms, zfsutils-linux (= ${binary:Version})
 Description: OpenZFS Event Daemon
  The Z file system is a pooled filesystem designed for maximum data
  integrity, supporting data snapshots, multiple copies, and data
@@ -154,7 +155,7 @@ Description: OpenZFS Event Daemon
 Package: zfs-test
 Section: contrib/admin
 Architecture: linux-any
-Depends: ${misc:Depends}, ${shlibs:Depends}, zfs-modules | zfs-dkms, zfsutils-linux, parted, lsscsi, mdadm, bc, ksh, fio, acl, sudo, sysstat, python
+Depends: ${misc:Depends}, ${shlibs:Depends}, zfs-modules | zfs-dkms, zfsutils-linux (=${binary:Version}), parted, lsscsi, mdadm, bc, ksh, fio, acl, sudo, sysstat, python
 Breaks: zfsutils-linux (<= 0.6.5.11-1)
 Replaces: zfsutils-linux (<= 0.6.5.11-1)
 Description: OpenZFS test infrastructure an support scripts
diff --git a/debian/control.in b/debian/control.in
index 19c473fb..f3ac39f8 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -89,7 +89,7 @@ Package: zfs-dkms
 Architecture: all
 Pre-Depends: spl-dkms (>= ${source:Upstream-Version}), spl-dkms (<<${source:Upstream-Version}.)
 Depends: dkms (>> 2.1.1.2-5), lsb-release, ${misc:Depends}
-Recommends: zfsutils-linux, zfs-zed
+Recommends: zfsutils-linux (= ${binary:Version}), zfs-zed
 Provides: zfs-modules
 Description: OpenZFS filesystem kernel modules for Linux
  The Z file system is a pooled filesystem designed for maximum data
@@ -103,7 +103,7 @@ Package: zfs-initramfs
 Architecture: all
 Depends: initramfs-tools,
  busybox-initramfs | busybox-static | busybox,
- zfs-modules | zfs-dkms, zfsutils-linux,
+ zfs-modules | zfs-dkms, zfsutils-linux (= ${binary:Version}),
  ${misc:Depends}
 Description: OpenZFS root filesystem capabilities for Linux - initramfs
  The Z file system is a pooled filesystem designed for maximum data
@@ -115,7 +115,7 @@ Description: OpenZFS root filesystem capabilities for Linux - initramfs
 
 Package: zfs-dracut
 Architecture: all
-Depends: dracut, zfs-modules | zfs-dkms, zfsutils-linux, ${misc:Depends}
+Depends: dracut, zfs-modules | zfs-dkms, zfsutils-linux (= ${binary:Version}), ${misc:Depends}
 Description: OpenZFS root filesystem capabilities for Linux - dracut
  The Z file system is a pooled filesystem designed for maximum data
  integrity, supporting data snapshots, multiple copies, and data
@@ -129,6 +129,7 @@ Section: contrib/admin
 Architecture: linux-any
 Depends: ${misc:Depends}, ${shlibs:Depends}, ${python3:Depends}, python3
 Recommends: lsb-base, zfs-modules | zfs-dkms, zfs-zed
+Breaks: zfs-dkms (>> ${binary:Version}), zfs-dkms (<< ${binary:Version})
 Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs | zfs-dracut
 Conflicts: zfs, zfs-fuse, zutils
 Provides: zfsutils
@@ -143,7 +144,7 @@ Description: command-line tools to manage OpenZFS filesystems
 Package: zfs-zed
 Section: contrib/admin
 Architecture: linux-any
-Depends: ${misc:Depends}, ${shlibs:Depends}, zfs-modules | zfs-dkms, zfsutils-linux
+Depends: ${misc:Depends}, ${shlibs:Depends}, zfs-modules | zfs-dkms, zfsutils-linux (= ${binary:Version})
 Description: OpenZFS Event Daemon
  The Z file system is a pooled filesystem designed for maximum data
  integrity, supporting data snapshots, multiple copies, and data
@@ -154,7 +155,7 @@ Description: OpenZFS Event Daemon
 Package: zfs-test
 Section: contrib/admin
 Architecture: linux-any
-Depends: ${misc:Depends}, ${shlibs:Depends}, zfs-modules | zfs-dkms, zfsutils-linux, parted, lsscsi, mdadm, bc, ksh, fio, acl, sudo, sysstat, python
+Depends: ${misc:Depends}, ${shlibs:Depends}, zfs-modules | zfs-dkms, zfsutils-linux (=${binary:Version}), parted, lsscsi, mdadm, bc, ksh, fio, acl, sudo, sysstat, python
 Breaks: zfsutils-linux (<= 0.6.5.11-1)
 Replaces: zfsutils-linux (<= 0.6.5.11-1)
 Description: OpenZFS test infrastructure an support scripts

Reply via email to