Processed: Re: Bug#797161: libprelude2 contains files with different SONAME versioning

2017-02-23 Thread Debian Bug Tracking System
Processing control commands:

> clone -1 -2
Bug #797161 [src:libprelude] libprelude2 contains files with different SONAME 
versioning
Bug 797161 cloned as bug 855916
> retitle -2 libprelude2: split /etc/prelude and prelude-admin out
Bug #855916 [src:libprelude] libprelude2 contains files with different SONAME 
versioning
Changed Bug title to 'libprelude2: split /etc/prelude and prelude-admin out' 
from 'libprelude2 contains files with different SONAME versioning'.
> severity -2 important
Bug #855916 [src:libprelude] libprelude2: split /etc/prelude and prelude-admin 
out
Severity set to 'important' from 'serious'
> tags -1 pending
Bug #797161 [src:libprelude] libprelude2 contains files with different SONAME 
versioning
Added tag(s) pending.
> tags 844897 pending
Bug #844897 [src:libprelude] libprelude: FTBFS: PreludeEasy.cxx:2452:75: error: 
'SWIG_From_long_SS_long' was not declared in this scope
Added tag(s) pending.

-- 
797161: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797161
844897: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=844897
855916: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855916
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#797161: libprelude2 contains files with different SONAME versioning

2017-02-23 Thread Adrian Bunk
Control: clone -1 -2
Control: retitle -2 libprelude2: split /etc/prelude and prelude-admin out
Control: severity -2 important
Control: tags -1 pending
Control: tags 844897 pending

I just uploaded an NMU, and I am cloning the part I did not fix into
a new bug.

On Fri, Aug 28, 2015 at 08:25:36AM +0100, Simon McVittie wrote:
> Source: libprelude
> Version: 1.0.0-11.4
> Severity: serious
> Justification: Policy 8.1, 8.2
> 
> Policy says
> 
> > The run-time shared library must be placed in a package whose name
> > changes whenever the SONAME of the shared library changes
> ...
> > If you have several shared libraries built from the same source tree,
> > you may lump them all together into a single shared library package
> > **provided that all of their SONAMEs will always change together**. Be
> > aware that this is not normally the case, and if the SONAMEs do not
> > change together, upgrading such a merged shared library package will be
> > unnecessarily difficult because of file conflicts with the old version
> > of the package. When in doubt, always split shared library packages so
> > that each binary package installs a single shared library.
> 
> (my emphasis)
> 
> but this is not the case for libprelude2, which contains both libprelude.so.2
> and libpreludecxx.so.0. This makes it unnecessarily difficult to handle
> the libstdc++ transition (for which I will open another bug), which as far
> as I can see breaks the ABI of libpreludecxx.so.0 but not libprelude.so.2.

Fixed in my NMU based on the patch from Andreas Beckmann.

> Policy also says
> 
> > 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. Otherwise, several versions of the shared
> > library cannot be installed at the same time without filename clashes,
> > making upgrades and transitions unnecessarily difficult.
> 
> but libprelude2 contains /etc/prelude, /usr/bin/prelude-admin
> and /usr/share/man/man1/prelude-admin.1.

This is the contents of the cloned bug.

Sorting out prelude-admin is non-trivial:
- libprelude2 cannot depend on the package it gets moved to,
  since this would create a circular dependency
- some rdeps of libprelude2 will need a dependency on this
  new package

> Finally, it seems inappropriate for the shared library to include HTML
> documentation, which should really be in the -dev package or in a separate
> -doc package.

Fixed in my NMU.

>...
> S

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed



Bug#797161: libprelude2 contains files with different SONAME versioning

2015-09-10 Thread Andreas Beckmann
Followup-For: Bug #797161
Control: tag -1 patch

Attached is a patch to factor out a libpreludecpp0 package.
I do not intend to NMU.


Andreas
diff -Nru libprelude-1.0.0/debian/changelog libprelude-1.0.0/debian/changelog
--- libprelude-1.0.0/debian/changelog	2015-07-25 13:21:14.0 +0200
+++ libprelude-1.0.0/debian/changelog	2015-09-10 11:52:52.0 +0200
@@ -1,3 +1,10 @@
+libprelude (1.0.0-11.7) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Move libpreludecpp.so.* to a separate package.  (Closes: #797161)
+
+ -- Andreas Beckmann   Thu, 10 Sep 2015 11:20:08 +0200
+
 libprelude (1.0.0-11.6) unstable; urgency=low
 
   * Non-maintainer upload.
diff -Nru libprelude-1.0.0/debian/control libprelude-1.0.0/debian/control
--- libprelude-1.0.0/debian/control	2014-08-12 19:55:04.0 +0200
+++ libprelude-1.0.0/debian/control	2015-09-10 11:51:51.0 +0200
@@ -21,7 +21,7 @@
 Package: libprelude-dev
 Section: libdevel
 Architecture: any
-Depends: libprelude2 (= ${binary:Version}), libgnutls28-dev, libgcrypt20-dev,
+Depends: libprelude2 (= ${binary:Version}), libpreludecpp0 (= ${binary:Version}), libgnutls28-dev, libgcrypt20-dev,
  libltdl3-dev, ${misc:Depends}
 Description: Security Information Management System [ Development files ]
  Prelude is a Universal "Security Information Management" (SIM) system.
@@ -39,7 +39,7 @@
 Package: libprelude2
 Section: libs
 Architecture: any
-Pre-Depends: multiarch-support
+Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: Security Information Management System [ Base library ]
  Prelude is a Universal "Security Information Management" (SIM) system.
@@ -54,6 +54,27 @@
  .
  This package contains the Prelude shared library.
 
+Package: libpreludecpp0
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Breaks: libprelude2 (<< 1.0.0-11.7~)
+Replaces: libprelude2 (<< 1.0.0-11.7~)
+Description: Security Information Management System [ C++ library ]
+ Prelude is a Universal "Security Information Management" (SIM) system.
+ Its goals are performance and modularity. It is divided in two main
+ parts :
+  - the Prelude sensors, responsible for generating alerts, such as
+snort sensor, featuring a signature engine, plugins for
+protocol analysis, and intrusion detection plugins, and the Prelude
+log monitoring lackey.
+  - the Prelude report server, collecting data from Prelude sensors,
+and generating user-readable reports.
+ .
+ This package contains the Prelude C++ shared library.
+
 Package: libprelude2-dbg
 Section: debug
 Architecture: any
diff -Nru libprelude-1.0.0/debian/libprelude2.install libprelude-1.0.0/debian/libprelude2.install
--- libprelude-1.0.0/debian/libprelude2.install	2014-05-25 15:58:53.0 +0200
+++ libprelude-1.0.0/debian/libprelude2.install	2015-09-10 11:50:16.0 +0200
@@ -1,5 +1,5 @@
 debian/tmp/etc/prelude/*
 debian/tmp/usr/bin/prelude-admin
 debian/tmp/usr/share/man/man1/prelude-admin.1
-debian/tmp/usr/lib/*/lib*.so.*
+debian/tmp/usr/lib/*/libprelude.so.*
 debian/tmp/usr/share/gtk-doc/html/libprelude/* usr/share/doc/libprelude2/html/ 
diff -Nru libprelude-1.0.0/debian/libpreludecpp0.install libprelude-1.0.0/debian/libpreludecpp0.install
--- libprelude-1.0.0/debian/libpreludecpp0.install	1970-01-01 01:00:00.0 +0100
+++ libprelude-1.0.0/debian/libpreludecpp0.install	2015-09-10 11:49:56.0 +0200
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*/libpreludecpp.so.*


Bug#797161: libprelude2 contains files with different SONAME versioning

2015-08-28 Thread Simon McVittie
On Fri, 28 Aug 2015 at 08:25:36 +0100, Simon McVittie wrote:
> libprelude needs to go through the NEW queue anyway, for the libstdc++
> transition, so I will probably NMU this at the same time.

Looking more closely at libprelude's rdeps, it seems none of them
actually link with libpreludecxx.so.0, so a libstdc++ transition[1] is
not necessarily required here. So I'm probably not going to NMU this;
there are more urgent things to be doing.

S

[1] https://lists.debian.org/debian-devel-announce/2015/08/msg0.html
https://lists.debian.org/debian-devel-announce/2015/08/msg2.html



Bug#797161: libprelude2 contains files with different SONAME versioning

2015-08-28 Thread Simon McVittie
Source: libprelude
Version: 1.0.0-11.4
Severity: serious
Justification: Policy 8.1, 8.2

Policy says

> The run-time shared library must be placed in a package whose name
> changes whenever the SONAME of the shared library changes
...
> If you have several shared libraries built from the same source tree,
> you may lump them all together into a single shared library package
> **provided that all of their SONAMEs will always change together**. Be
> aware that this is not normally the case, and if the SONAMEs do not
> change together, upgrading such a merged shared library package will be
> unnecessarily difficult because of file conflicts with the old version
> of the package. When in doubt, always split shared library packages so
> that each binary package installs a single shared library.

(my emphasis)

but this is not the case for libprelude2, which contains both libprelude.so.2
and libpreludecxx.so.0. This makes it unnecessarily difficult to handle
the libstdc++ transition (for which I will open another bug), which as far
as I can see breaks the ABI of libpreludecxx.so.0 but not libprelude.so.2.

Policy also says

> 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. Otherwise, several versions of the shared
> library cannot be installed at the same time without filename clashes,
> making upgrades and transitions unnecessarily difficult.

but libprelude2 contains /etc/prelude, /usr/bin/prelude-admin
and /usr/share/man/man1/prelude-admin.1.

Finally, it seems inappropriate for the shared library to include HTML
documentation, which should really be in the -dev package or in a separate
-doc package.

libprelude needs to go through the NEW queue anyway, for the libstdc++
transition, so I will probably NMU this at the same time.

S