Package: glusterfs-common
Version: 5.2-1
Severity: serious
Justification: 8.2
Tags: patch
Control: block 881526 by -1

glusterfs-common combines shared libraries with a lot of other files and
even a glusterfs user. Doing so violates the Debian policy section 8.2:

| If your package contains files whose names do not change with each
| change in the library shared object version, you must not put them in
| the shared library package.

It is quite evident that the python module, firewalld integration,
logrotate.d snippet and many other files will not change with an soname
bump. Given that other packages (e.g. fio) link libglusterfs0, it is
evident that libglusterfs0 is not a private shared library. Therefore
glusterfs-common violates a policy must.

The attached patch fixes that. I'm filing it as a separate bug, because
the policy violation is much narrower in scope than #881526 is.

Helmut
diff --minimal -Nru glusterfs-5.2/debian/changelog 
glusterfs-5.2/debian/changelog
--- glusterfs-5.2/debian/changelog      2018-12-27 12:47:15.000000000 +0100
+++ glusterfs-5.2/debian/changelog      2019-01-06 20:35:15.000000000 +0100
@@ -1,3 +1,10 @@
+glusterfs (5.2-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Split out libglusterfs0. (Closes: #-1)
+
+ -- Helmut Grohne <hel...@subdivi.de>  Sun, 06 Jan 2019 20:35:15 +0100
+
 glusterfs (5.2-1) unstable; urgency=high
 
   * New upstream release.
diff --minimal -Nru glusterfs-5.2/debian/control glusterfs-5.2/debian/control
--- glusterfs-5.2/debian/control        2018-12-27 12:47:15.000000000 +0100
+++ glusterfs-5.2/debian/control        2019-01-06 20:30:43.000000000 +0100
@@ -82,11 +82,9 @@
  xfsprogs,
  e2fsprogs,
  psmisc
-Conflicts: libglusterfs0,
- libglusterfs-dev
+Conflicts: libglusterfs-dev
 Breaks: glusterfs-server (<< 3.4.0~qa5)
 Replaces: glusterfs-server (<< 3.4.0~qa5),
- libglusterfs0,
  libglusterfs-dev
 Description: GlusterFS common libraries and translator modules
  GlusterFS is a clustered file-system capable of scaling to several
@@ -99,3 +97,22 @@
  .
  This package includes libglusterfs and glusterfs translator modules
  common to both GlusterFS server and client framework.
+
+Package: libglusterfs0
+Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+Breaks: glusterfs-common (<< 5.2-1.1)
+Replaces: glusterfs-common (<< 5.2-1.1)
+Description: GlusterFS shared library
+ GlusterFS is a clustered file-system capable of scaling to several
+ petabytes. It aggregates various storage bricks over Infiniband RDMA
+ or TCP/IP interconnect into one large parallel network file
+ system. GlusterFS is one of the most sophisticated file system in
+ terms of features and extensibility. It borrows a powerful concept
+ called Translators from GNU Hurd kernel. Much of the code in GlusterFS
+ is in userspace and easily manageable.
+ .
+ This package contains libglusterfs.
diff --minimal -Nru glusterfs-5.2/debian/glusterfs-common.install 
glusterfs-5.2/debian/glusterfs-common.install
--- glusterfs-5.2/debian/glusterfs-common.install       2018-12-27 
12:47:15.000000000 +0100
+++ glusterfs-5.2/debian/glusterfs-common.install       2019-01-06 
20:34:11.000000000 +0100
@@ -3,7 +3,18 @@
 usr/sbin/gluster-mountbroker
 usr/sbin/gf_attach
 usr/sbin/gluster-setgfid2path
-usr/lib/*
+usr/lib/firewalld
+usr/lib/ocf
+usr/lib/python3
+usr/lib/*/glusterfs
+usr/lib/*/*.so
+usr/lib/*/*.la
+usr/lib/*/libgfapi.so.*
+usr/lib/*/libgfchangelog.so.*
+usr/lib/*/libgfdb.so.*
+usr/lib/*/libgfrpc.so.*
+usr/lib/*/libgfxdr.so.*
+usr/lib/*/pkgconfig
 usr/share/doc/glusterfs/glusterfs-mode.el usr/share/emacs/site-lisp/
 usr/share/doc/glusterfs/benchmarking/
 libglusterfs/src/*.h usr/include/glusterfs/
diff --minimal -Nru glusterfs-5.2/debian/glusterfs-common.lintian-overrides 
glusterfs-5.2/debian/glusterfs-common.lintian-overrides
--- glusterfs-5.2/debian/glusterfs-common.lintian-overrides     2018-12-27 
12:47:15.000000000 +0100
+++ glusterfs-5.2/debian/glusterfs-common.lintian-overrides     2019-01-06 
20:34:46.000000000 +0100
@@ -1,8 +1,7 @@
 glusterfs-common: spelling-error-in-binary 
usr/lib/*/glusterfs/*/xlator/features/gfid-access.so withthe with the
 glusterfs-common: spelling-error-in-binary 
usr/lib/*/glusterfs/*/xlator/protocol/server.so ofthe of the
 glusterfs-common: spelling-error-in-binary 
usr/lib/*/glusterfs/*/xlator/features/locks.so onthe on the
-glusterfs-common: package-name-doesnt-match-sonames libgfapi0 libgfchangelog0 
libgfdb0 libgfrpc0 libgfxdr0 libglusterfs0
-glusterfs-common: no-symbols-control-file usr/lib/*/libglusterfs.so.0.0.1
+glusterfs-common: package-name-doesnt-match-sonames libgfapi0 libgfchangelog0 
libgfdb0 libgfrpc0 libgfxdr0
 glusterfs-common: no-symbols-control-file usr/lib/*/libgfxdr.so.0.0.1
 glusterfs-common: no-symbols-control-file usr/lib/*/libgfrpc.so.0.0.1
 glusterfs-common: no-symbols-control-file usr/lib/*/libgfchangelog.so.0.0.1
diff --minimal -Nru glusterfs-5.2/debian/libglusterfs0.install 
glusterfs-5.2/debian/libglusterfs0.install
--- glusterfs-5.2/debian/libglusterfs0.install  1970-01-01 01:00:00.000000000 
+0100
+++ glusterfs-5.2/debian/libglusterfs0.install  2019-01-06 20:31:44.000000000 
+0100
@@ -0,0 +1 @@
+usr/lib/*/libglusterfs.so.*
diff --minimal -Nru glusterfs-5.2/debian/libglusterfs0.triggers 
glusterfs-5.2/debian/libglusterfs0.triggers
--- glusterfs-5.2/debian/libglusterfs0.triggers 1970-01-01 01:00:00.000000000 
+0100
+++ glusterfs-5.2/debian/libglusterfs0.triggers 2019-01-06 20:35:15.000000000 
+0100
@@ -0,0 +1 @@
+activate-noawait ldconfig

Reply via email to