Bug#768831: ettercap-common, ettercap-graphical: shipping the same file: usr/share/ettercap/ettercap.png

2014-11-11 Thread Andreas Beckmann
On 2014-11-10 14:22, Gianfranco Costamagna wrote:
 There are two packages (not coinstallable) that both depends on the common 
 one.
 
 So you can have ettercap-graphical with ettercap-common
 and you can have ettercap-text-only with ettercap-common.
 
 They both provide ettercap, and they both depend on the common package.

 packages were also renamed, and some packages disappeared in the meanwhile 
 (ettercap-plugins, ettercap-gtk)
 
 this new package split is from 0.7.3, how do you suggest to fix?

So you can simplify the package relationships using the virtual ettercap
package (these must be unversioned relationships)

  Provides: ettercap
  Conflicts: ettercap
  Replaces: ettercap

in both ettercap-graphical and ettercap-text-only.
That means only one package providing (or being called) ettercap can be
installed at a time.

No need to have additionally
  Conflicts+Replaces: ettercap-other-current-implementation
but keep the
  Conflicts+Replaces: ettercap-gtk
to ensure the ancient stuff goes away. (Do you need that for
ettercap-plugins, too?)

ettercap-graphical will also need versioned
  Breaks+Replaces: ettercap-common ( 1:0.8.1-2~)
for finally taking over the .png file as only owner.

If you get these changes into jessie, you clean clean this up for
jessie+1 (or jessie+2) and only keep the
  Provides/Conflicts/Replaces: ettercap
since the conflicting stuff is no longer in (old-)stable.

 I'm proposing this debdiff, I didn't notice any upgrade path issues, and I 
 moved the files in the graphic package

besides debian/control (discussed above) this looks good


BTW, why are ettercap-graphical and ettercap-textonly not
co-installable? Sounds like a candidate for renaming the binaries from
ettercap to ettercap-foo and using alternatives to provide the ettercap
binary. But that should not be considered now, only after the jessie
release for jessie+1.


Andreas


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#768831: ettercap-common, ettercap-graphical: shipping the same file: usr/share/ettercap/ettercap.png

2014-11-11 Thread Barak A. Pearlmutter
Thanks, that sounds like exactly the right debian/control dependency
magic.  Will do, and upload.

 BTW, why are ettercap-graphical and ettercap-textonly not
 co-installable?  Sounds like a candidate for renaming the binaries
 from ettercap to ettercap-foo and using alternatives to provide the
 ettercap binary.  But that should not be considered now, only after
 the jessie release for jessie+1.

Reasonable question.

The reason is that the graphical binary provides the functionality of
the textual binary *plus* a GUI-enabled option.  There are no
circumstances in which installing both at the same time makes sense.

The main reason for generating the non-graphical is for boxes without X
etc installed, which is actually a pretty common use case for ettercap.

That said, I wouldn't particularly object to using alternatives to allow
co-installation just in case.  Although I'd be inclined to provide the
functionality by instead using dpkg-divert in ettercap-graphical to move
the text-only version of /usr/bin/ettercap to
/usr/bin/ettercap-text-only, thus avoiding unnecessarily increasing the
footprint of ettercap-text-only.

--Barak.


signature.asc
Description: PGP signature


Bug#768831: ettercap-common, ettercap-graphical: shipping the same file: usr/share/ettercap/ettercap.png

2014-11-11 Thread Andreas Beckmann
On 2014-11-11 13:25, Barak A. Pearlmutter wrote:
 That said, I wouldn't particularly object to using alternatives to allow
 co-installation just in case.  Although I'd be inclined to provide the
 functionality by instead using dpkg-divert in ettercap-graphical to move
 the text-only version of /usr/bin/ettercap to
 /usr/bin/ettercap-text-only, thus avoiding unnecessarily increasing the
 footprint of ettercap-text-only.

That's a solution as well, but it won't easily scale beyond 2 packages.
(I have enough experience diverting libGL.so* and friends from MESA and
implementing a alternatives-based switching method for the proprietary
drivers.)

Andreas


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#768831: ettercap-common, ettercap-graphical: shipping the same file: usr/share/ettercap/ettercap.png

2014-11-11 Thread Barak A. Pearlmutter
 That's a solution as well, but it won't easily scale beyond 2 packages.

THERE CAN BE ONLY TWO!

Really only one makes sense, even two is stretching it.

I suppose theoretically we could have

 ettercap-text-no-ncurses
 ettercap-ncurses
 ettercap-graphical

and maybe even

 ettercap-daemon-only

but I still don't see any use case for having more than one installed.

The reason for only having two (of which only one should actually be
intalled) was that it was thought that any platform powerful enough to
run ettercap would have libncurses, so a no-ncurses version doesn't make
sense, even though that is a supported configuration.

A daemon-only configuration might make sense for very small systems like
embedded routers, but that is not a supported configuration and would
therefore require a bit of hacking.  Not a bad idea, hmmm?

--Barak.
--
Barak A. Pearlmutter
 Hamilton Institute  Dept Comp Sci, NUI Maynooth, Co. Kildare, Ireland
 http://www.bcl.hamilton.ie/~barak/


signature.asc
Description: PGP signature


Bug#768831: ettercap-common, ettercap-graphical: shipping the same file: usr/share/ettercap/ettercap.png

2014-11-10 Thread Gianfranco Costamagna
Hi Andreas,





The ettercap-graphical package has the following relationships with 
ettercap-common:

  Conflicts: N/A
  Breaks:N/A
  Replaces:  ettercap, ettercap-common, ettercap-gtk, ettercap-text-only

I don't see what you want to achieve with these Replaces, so I cannot suggest 
a better solution. Please read the policy (and explain your intentions if you 
need help).
  Have packages been split? (version?)
  Have files moved between the packages? (version?)
  Should packages not be installable at the same time?



there is one common package with the library, the common files, and everything 
shared.

There are two packages (not coinstallable) that both depends on the common one.

So you can have ettercap-graphical with ettercap-common
and you can have ettercap-text-only with ettercap-common.

They both provide ettercap, and they both depend on the common package.


packages were also renamed, and some packages disappeared in the meanwhile 
(ettercap-plugins, ettercap-gtk)

this new package split is from 0.7.3, how do you suggest to fix?



I'm proposing this debdiff, I didn't notice any upgrade path issues, and I 
moved the files in the graphic package

diff -Nru ettercap-0.8.1/debian/changelog ettercap-0.8.1/debian/changelog
--- ettercap-0.8.1/debian/changelog 2014-10-18 11:17:12.0 +0200
+++ ettercap-0.8.1/debian/changelog 2014-11-10 14:16:59.0 +0100
@@ -1,3 +1,14 @@
+ettercap (1:0.8.1-2) unstable; urgency=medium
+
+  * Remove byacc | byacc-j | btyacc, not compatible after
+the cmake switch.
+  * Add flex-old as b-d, used with bison++.
+  * Fix conflicting files in both common and graphical package
+(Closes: #768831).
+  * Remove the gksu dependency, not needed anymore.
+
+ -- Gianfranco Costamagna costamagnagianfra...@yahoo.it  Tue, 21 Oct 2014 
13:19:19 +0200
+
ettercap (1:0.8.1-1) unstable; urgency=medium

* New upstream release.
diff -Nru ettercap-0.8.1/debian/control ettercap-0.8.1/debian/control
--- ettercap-0.8.1/debian/control   2014-10-18 11:17:12.0 +0200
+++ ettercap-0.8.1/debian/control   2014-11-10 14:16:08.0 +0100
@@ -4,12 +4,12 @@
Maintainer: Barak A. Pearlmutter b...@debian.org
Uploaders: Murat Demirten mu...@debian.org,
Gianfranco Costamagna costamagnagianfra...@yahoo.it
-Build-Depends: bison | bison++ | byacc | byacc-j | btyacc,
+Build-Depends: bison | bison++,
check,
chrpath,
cmake,
debhelper (= 9),
-   flex,
+   flex | flex-old,
ghostscript,
libbsd-dev,
libcurl4-openssl-dev,
@@ -88,7 +88,6 @@
Replaces: ettercap, ettercap-common, ettercap-gtk, ettercap-text-only
Conflicts: ettercap (= 1:0.7.3), ettercap-gtk, ettercap-text-only
Provides: ettercap
-Recommends: gksu
Description: Ettercap GUI-enabled executable
Ettercap supports active and passive dissection of many protocols
(even encrypted ones) and includes many feature for network and host
diff -Nru ettercap-0.8.1/debian/ettercap-common.install 
ettercap-0.8.1/debian/ettercap-common.install
--- ettercap-0.8.1/debian/ettercap-common.install   2014-10-18 
11:17:12.0 +0200
+++ ettercap-0.8.1/debian/ettercap-common.install   2014-11-10 
12:45:08.0 +0100
@@ -2,9 +2,10 @@
/usr/bin/etterfilter
/usr/bin/etterlog
/usr/lib/
-/usr/share/ettercap
-# The next line accidentally gets
+# The next lines accidentally gets
#  /usr/share/man/ettercap-pkexec*
+# and /usr/share/ettercap/ettercap.png
# which belongs in ettercap-graphical.
# This is worked around in debian/rules.
+/usr/share/ettercap
/usr/share/man
diff -Nru ettercap-0.8.1/debian/ettercap-graphical.install 
ettercap-0.8.1/debian/ettercap-graphical.install
--- ettercap-0.8.1/debian/ettercap-graphical.install2014-10-18 
11:17:12.0 +0200
+++ ettercap-0.8.1/debian/ettercap-graphical.install2014-11-10 
12:45:11.0 +0100
@@ -2,7 +2,8 @@
/usr/bin/ettercap-pkexec
/usr/share/appdata
/usr/share/applications
-/usr/share/ettercap/ettercap.png
+/usr/share/ettercap/*.png
+/usr/share/ettercap/*.svg
/usr/share/man/man*/ettercap-pkexec*
/usr/share/pixmaps
/usr/share/polkit-1
diff -Nru ettercap-0.8.1/debian/rules ettercap-0.8.1/debian/rules
--- ettercap-0.8.1/debian/rules 2014-10-18 11:17:12.0 +0200
+++ ettercap-0.8.1/debian/rules 2014-11-10 12:45:11.0 +0100
@@ -56,6 +56,8 @@
dh_install --list-missing
@echo The ettercap-pkexec man page belongs in ettercap-graphical
-rm --verbose debian/ettercap-common/usr/share/man/man*/ettercap-pkexec*
+   -rm --verbose debian/ettercap-common/usr/share/ettercap/*.png
+   -rm --verbose debian/ettercap-common/usr/share/ettercap/*.svg
@echo Upstream does not set RPATH, but the file is not handled by cmake 
install (dh_auto_install target)
chrpath --list   debian/ettercap-text-only/usr/bin/ettercap
chrpath --delete debian/ettercap-text-only/usr/bin/ettercap



is it ok for you?

(sorry for the flex noise)

thanks,

Gianfranco


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of 

Bug#768831: ettercap-common, ettercap-graphical: shipping the same file: usr/share/ettercap/ettercap.png

2014-11-09 Thread Andreas Beckmann
Package: ettercap-common,ettercap-graphical
Version: 1:0.8.1-1
Severity: serious
User: debian...@lists.debian.org
Usertags: piuparts replaces-without-breaks

Hi,

during a test with piuparts and DOSE tools I noticed your package causes
removal of files that also belong to another package.
This is caused by using Replaces without corresponding Breaks.

And of course by shipping the same file in two packages:

  usr/share/ettercap/ettercap.png

which looks like an incomplete move to another package.

The installation sequence to reproduce this problem is

  apt-get install ettercap-common
  # (1)
  apt-get install ettercap-graphical
  apt-get remove ettercap-graphical
  # (2)

The list of installed files at points (1) and (2) should be identical,
but the following files have disappeared:

  usr/share/ettercap/ettercap.png

This is a serious bug violating policy 7.6, see
http://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces
and also see the footnote that describes this incorrect behavior
http://www.debian.org/doc/debian-policy/footnotes.html#f53

The ettercap-graphical package has the following relationships with 
ettercap-common:

  Conflicts: N/A
  Breaks:N/A
  Replaces:  ettercap, ettercap-common, ettercap-gtk, ettercap-text-only

I don't see what you want to achieve with these Replaces, so I cannot suggest 
a better solution. Please read the policy (and explain your intentions if you 
need help).
  Have packages been split? (version?)
  Have files moved between the packages? (version?)
  Should packages not be installable at the same time?


From the attached log (scroll to the bottom...):

0m25.8s ERROR: FAIL: After purging files have disappeared:
  /usr/share/ettercap/ettercap.png   owned by: ettercap-graphical

0m25.8s ERROR: FAIL: After purging files have been modified:
  /var/lib/dpkg/info/ettercap-common.listnot owned


cheers,

Andreas


ettercap-common=1%0.8.1-1_ettercap-graphical=1%0.8.1-1.log.gz
Description: application/gzip