Bug#661188: [Aptitude-devel] Bug#661188: aptitude purge package recursively REMOVES BUT DOES NOT PURGE the unneeded dependencies of package

2012-02-29 Thread Daniel Hartwig
retitle 661188 aptitude: recursive remove (like pacman -Rs)
severity 661188 wishlist
thanks

2012/2/29 Georgiy Treyvus georgiytrey...@gmail.com:
 @Daniel:

 The way Arch does it is actually pretty elegant.

 Autoremoving is cool don't get me wrong but there are times that you just
 want a recursive remove/purge of a given package.

 Sometimes people want do a recursive removal of A but a regular one for B
 because they'll be installing another package with most if not all of the
 same dependencies.


Ok, this is a reasonable scenario.  I see this is an advantage over
marking dependencies as manually installed, however, given that the user
knows they wish to install C, this is more-or-less covered by:

# aptitude remove B C+

which means to remove B and install C at the same time.  Dependencies used
by C which would be orphaned by B will be kept in place.

The same can also be done interactively.

Alternatively (and not specifically how you desire this to work), disable
Aptitude::Delete-Unused before removing B, perform any other activities,
then enable it after C is installed.  No orphaned dependencies will be
removed during that period, but such are cleaned up at the end.


In any case, I will leave this open for anyone who wishes to
implement the pacman-style recursive remove.


 Autoremove is a great feature but it should be at the users discretion as in
 Arch.


Aptitude::Delete-Unused already puts this at the user's discretion ;-)



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



Bug#661188: [Aptitude-devel] Bug#661188: aptitude purge package recursively REMOVES BUT DOES NOT PURGE the unneeded dependencies of package

2012-02-27 Thread shirish शिरीष
I too have been bitten by this in the past and do think what Daniel
has given as an answer is okish (although there should be some sort of
better way.) For my exchange see [0] . One of the things which I
didn't know to figure out how to produce a listing of such packages
using aptitude [1] which was shared by Daniel as well. As I have
removed all the packages which were removed haven't been able to test
out if dpkg -L works on such packages as well or not.  George if you
have some packages whose configuration files are still it would be
nice if you could produce a listing of what you get. If you do get the
location of those files then a user could attempt at least to know
what they contain and perhaps judge (or not) whether it could be
useful now or latter.

Another point to be kept at back of mind as well is over a period of
time a package could merge other packages in it or be split in one or
more packages, in the former the config files remaining the same
(while binary is removed) while at the latter more config files would
perhaps be added.

I have a very vague sense of how aptitude does things so I might be
right (or not).

I do hope however that my $0.02 does prove to be useful to you
otherwise simply disregard it.

0 - 
http://lists.alioth.debian.org/pipermail/aptitude-devel/2012-February/001945.html
1 - aptitude search ?config-files
2 - dpkg -L = -L|--listfiles package ... List files `owned' by package(s).

A healthy package displays something like this , a random e.g. :-

$ dpkg -L fonts-gubbi
/.
/etc
/etc/fonts
/etc/fonts/conf.avail
/etc/fonts/conf.avail/65-0-fonts-gubbi.conf
/etc/fonts/conf.d
/usr
/usr/share
/usr/share/doc
/usr/share/doc/fonts-gubbi
/usr/share/doc/fonts-gubbi/changelog.gz
/usr/share/doc/fonts-gubbi/changelog.Debian.gz
/usr/share/doc/fonts-gubbi/copyright
/usr/share/fonts
/usr/share/fonts/truetype
/usr/share/fonts/truetype/Gubbi
/usr/share/fonts/truetype/Gubbi/Gubbi.ttf
/etc/fonts/conf.d/65-0-fonts-gubbi.conf

Sorry for the noise :)
-- 
          Regards,
          Shirish Agarwal  शिरीष अग्रवाल
  My quotes in this email licensed under CC 3.0
http://creativecommons.org/licenses/by-nc/3.0/
http://flossexperiences.wordpress.com
065C 6D79 A68C E7EA 52B3  8D70 950D 53FB 729A 8B17



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



Bug#661188: [Aptitude-devel] Bug#661188: aptitude purge package recursively REMOVES BUT DOES NOT PURGE the unneeded dependencies of package

2012-02-27 Thread shirish शिरीष
some additions :-

2012/2/27 shirish शिरीष shirisha...@gmail.com:
 I too have been bitten by this in the past and do think what Daniel
 has given as an answer is okish (although there should be some sort of
 better way.) For my exchange see [0] . One of the things which I
 didn't know to figure out how to produce a listing of such packages
 using aptitude [1] which was shared by Daniel as well. As I have
   purged all the packages which were removed haven't been able to test
   out if dpkg -L (2) works on such packages as well or not.  George if you
 have some packages whose configuration files are still it would be
 nice if you could produce a listing of what you get. If you do get the
 location of those files then a user could attempt at least to know
 what they contain and perhaps judge (or not) whether it could be
 useful now or latter.

 Another point to be kept at back of mind as well is over a period of
 time a package could merge other packages in it or be split in one or
 more packages, in the former the config files remaining the same
 (while binary is removed) while at the latter more config files would
 perhaps be added.

 I have a very vague sense of how aptitude does things so I might be
 right (or not).

 I do hope however that my $0.02 does prove to be useful to you
 otherwise simply disregard it.

 0 - 
 http://lists.alioth.debian.org/pipermail/aptitude-devel/2012-February/001945.html
 1 - aptitude search ?config-files
 2 - dpkg -L = -L|--listfiles package ...     List files `owned' by 
 package(s).

 A healthy package displays something like this , a random e.g. :-

 $ dpkg -L fonts-gubbi
 /.
 /etc
 /etc/fonts
 /etc/fonts/conf.avail
 /etc/fonts/conf.avail/65-0-fonts-gubbi.conf
 /etc/fonts/conf.d
 /usr
 /usr/share
 /usr/share/doc
 /usr/share/doc/fonts-gubbi
 /usr/share/doc/fonts-gubbi/changelog.gz
 /usr/share/doc/fonts-gubbi/changelog.Debian.gz
 /usr/share/doc/fonts-gubbi/copyright
 /usr/share/fonts
 /usr/share/fonts/truetype
 /usr/share/fonts/truetype/Gubbi
 /usr/share/fonts/truetype/Gubbi/Gubbi.ttf
 /etc/fonts/conf.d/65-0-fonts-gubbi.conf



I did try it just now with a library which I know is no longer needed
(although aptitude hasn't removed/purged it). This is on a Debian sid
machine.

$ aptitude search libgs?
p   libgs-dev   - interpreter
for the PostScript language and for PDF - Develop
v   libgs-esp-dev   -
i   libgs8  - The
Ghostscript PostScript/PDF interpreter Library
i A libgs9  - interpreter
for the PostScript language and for PDF - Library
i A libgs9-common   - interpreter
for the PostScript language and for PDF - common

Just extracted partial listing. It seems aptitude doesn't respect the
wildcard '?' as it produces a whole listing but that I guess is
another issue.

See libgs8 :-

$ aptitude show libgs8
Package: libgs8
State: installed
Version: 8.71~dfsg2-9
Priority: optional
Section: libs
Maintainer: Debian Printing Team debian-print...@lists.debian.org
Uncompressed Size: 16.2 M
Depends: libc6 (= 2.7), libcomerr2 (= 1.01), libcups2 (= 1.4.0),
libcupsimage2 (= 1.4.0), libfontconfig1 (=
 2.8.0), libgcrypt11 (= 1.4.2), libgnutls26 (= 2.7.14-0),
libgssapi-krb5-2 (= 1.6.dfsg.2), libjasper1 (=
 1.900.1), libjbig2dec0, libjpeg62 (= 6b1), libk5crypto3 (=
1.6.dfsg.2), libkrb5-3 (= 1.6.dfsg.2),
 libpaper1, libpng12-0 (= 1.2.13-4), libstdc++6 (= 4.1.1),
libtiff4, zlib1g (= 1:1.1.4)
Breaks: ghostscript ( 8.71~dfsg2-7)
Replaces: ghostscript ( 8.71~dfsg2-7)
Description: The Ghostscript PostScript/PDF interpreter Library
 Ghostscript is used for PostScript/PDF preview and printing.  Usually
as a back-end to a program such as ghostview, it
 can display PostScript and PDF documents in an X11 environment.

 This package provides the Ghostscript library which makes the
facilities of Ghostscript available to applications.
Homepage: http://www.ghostscript.com/

Tags: implemented-in::c, role::shared-lib, use::printing,
use::viewing, works-with-format::pdf,
  works-with-format::postscript

Looking at libgs9 now :-

$ aptitude show libgs9
Package: libgs9
State: installed
Automatically installed: yes
Version: 9.05~dfsg-2
Priority: optional
Section: libs
Maintainer: Debian Printing Team debian-print...@lists.debian.org
Uncompressed Size: 10.4 M
Depends: libc6 (= 2.7), libcomerr2 (= 1.01), libcups2 (= 1.4.0),
libcupsimage2 (= 1.4.0), libfontconfig1 (=
 2.8.0), libfreetype6 (= 2.2.1), libgcrypt11 (= 1.4.5),
libgnutls26 (= 2.12.6.1-0), libgssapi-krb5-2 (=
 1.6.dfsg.2), libidn11 (= 1.13), libijs-0.35 (= 0.35),
libjasper1, libjbig2dec0, libjpeg8 (= 8c),
 libk5crypto3 (= 1.6.dfsg.2), libkrb5-3 (= 1.6.dfsg.2),
liblcms2-2, libpaper1, libpng12-0 (= 1.2.13-4),
 libstdc++6 (= 4.1.1), libtiff4, zlib1g (= 1:1.1.4),
gs-cjk-resource, libgs9-common (= 

Bug#661188: [Aptitude-devel] Bug#661188: aptitude purge package recursively REMOVES BUT DOES NOT PURGE the unneeded dependencies of package

2012-02-27 Thread Daniel Hartwig
2012/2/28 Georgiy Treyvus georgiytrey...@gmail.com:

 One thing I think that can be done is to modify the documentation to be
 clearer about these things so that there are no surprises.


Could you point out where the documentation is unclear, or how precisely
it could be made more clear?

The descriptions for purge and remove do not in any way state that
dependencies will also be acted on.

The behaviour of removing unused dependencies is part of a separate
cleanup action which aptitude performs.  This is controlled and
documented by the configuration item Aptitude::Delete-Unused.

IMO, the understanding that aptitude purge pkg means purge pkg and also
purge all of it's unused dependencies is not contained in the docs.  But
that's me :-)

With Delete-Unused (the default), aptitude x means do x; then clean
up any unused packages.


 Things can however be made more flexible/convenient with package groups.
 Just out of curiosity does APT have the notion of package groups because I
 know that Pacman does? Read this to help clarify if
 needed. https://wiki.archlinux.org/index.php/KDE_Packages


I believe this type of thing is the job of tasks and tasksel.  However, I
have made a note of it anyway.


 Speaking of the automated install it should not be in the advanced section
 of the installation disk and should be more visible to n00bs...


You will have to direct such suggestions to the debian-installer team.


 Also though I understand your reasoning for the behavior of aptitude remove
 package and aptitude purge package I really think remove should
 remove recursively and purge should purge recursively. That's how it works
 in Pacman when you add the -n or --nosave
 option. http://www.archlinux.org/pacman/pacman.8.html

 Also further experimentation has shown that
 aptitude remove package == apt-get remove package  apt-get
 autoremove
 aptitude purge package == apt-get purge package  apt-get
 autoremove


Yes.  This is the intended and documented behaviour--see above.

If you set Aptitude::Delete-Unused to 'false' then:

aptitude remove package == apt-get remove package



 This equivalence is exact for say you have package A depending on B and C.
 Say you have package D depending on E and F. Say you go:

 aptitude install A D
 apt-get remove A

 B and C are still installed. Now say you go:

 aptitude remove d

 Not only are E and F removed as is expected by aptitude's recursive nature
 but B and C are also. This unlike pacman's pacman -Rs d which will remove
 e and f, but leave b and c untouched unless they are:

 …

So the user in this situation desires to keep B and C installed?  In
the APT world such a desire is indicated to the package manager by
marking those packages as manually installed.

It seems the crux of what you are after is a middle ground between remove
and autoremove?  You mention that pacman supports this.



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



Bug#661188: [Aptitude-devel] Bug#661188: aptitude purge package recursively REMOVES BUT DOES NOT PURGE the unneeded dependencies of package

2012-02-27 Thread shirish शिरीष
in-line :-

2012/2/28 Georgiy Treyvus georgiytrey...@gmail.com:
 @Shirish:
 Maybe I'm just stupid, but I don't quite understand what you're trying to
 say here. I realize English is not your native language but can you explain
 your point more clearly?

 to put it very simply, I do not know of a way to figure out where the
.conf file after a package is removed. This is what I was trying to
show/figure out. Till as a user its not known where the .conf file is
(is it in .config/ or /etc or somewhere else altogether) its not easy
for the user (for e.g. me) to figure out whether that .conf file does
have value or I should simply get rid of it.

The dpkg -L was for showing that no info. is given for that (no info.
after removing libgs8) although from what has been said/shared there
are conf file present somewhere.

$ dpkg -L libgs8
Package `libgs8' does not contain any files (!)

The 'aptitude purge $packagename' example I used was to show that
specific line which said it is removing the conffile

D01: removal_bulk purging? foundpostrm=1
Purging configuration files for libgs8 ...
D01: removal_bulk purge done, removing list `/var/lib/dpkg/info/libgs8.list'

See the second line  ' Purging configuration files for libgs8' . My
issue is where these configuration files are, is not known to the user
and unless he knows at least where the configuration files are how is
s/he going to take a call. I do know that some packages have their
configuration files in /etc/ such as say dpkg

/etc/dpkg$ ls
dpkg.cfg  dpkg.cfg.d  dpkg.cfg.original  origins  shlibs.default
shlibs.override

This is possible to know by the listing of 'dpkg -L dpkg' as it does
show the location of the configuration file but libgs8 does not.
Similarly I have seen quite a few other packages which do not seem to
have this information.

At the very end I just have one question :-

a. Is there a way to know/figure out where the configuration files of
a given package are ?

Maybe its different for binary packages and/or libraries , if so does
somebody know how one can reliably find out ?

Unless the above info. is not there, its really hard (at least for me)
to even begin to ascertain whether doing a purge or not is good in any
case at all.

@ Georgiy Treyvus I do hope I was clear this time around. If not,
please lemme know and I would try again.

-- 
          Regards,
          Shirish Agarwal  शिरीष अग्रवाल
  My quotes in this email licensed under CC 3.0
http://creativecommons.org/licenses/by-nc/3.0/
http://flossexperiences.wordpress.com
065C 6D79 A68C E7EA 52B3  8D70 950D 53FB 729A 8B17



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



Bug#661188: [Aptitude-devel] Bug#661188: aptitude purge package recursively REMOVES BUT DOES NOT PURGE the unneeded dependencies of package

2012-02-25 Thread Axel Beckert
Hi,

Georgiy Treyvus wrote:
 The problem is exactly what the subject line suggests.

This is a feature, not a bug. It would be a bug if it would also purge
the unneeded dependencies.

There could be an option to enforce this, but the default should be
never to also purge the dependencies.

Regards, Axel
-- 
 ,''`.  |  Axel Beckert a...@debian.org, http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE
  `-|  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5



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