Dependency loops considered harmful?

Callum Lerwick seg at haxxed.com
Thu Sep 4 20:55:43 UTC 2008


On Thu, 2008-09-04 at 15:27 -0400, Seth Vidal wrote:
> Okay this is obviously just Proof code so take it as read - but grab
> this script:
> 
> http://skvidal.fedorapeople.org/misc/remove-recurse.py
> 
> and run it with one arg being the pkg you wish to remove. It will print
> out what it would end up doing if it was removed.

> It doesn't actually change anything, just prints out what would happen.
> then tell me which (and I'm sure there  are many) cases it doesn't
> properly address.
> -sv

Neat. Here, for the sake of argument, here's the kind of use cases I
have in mind:

$ sudo ./remove-recurse.py inkscape
remove inkscape
Loaded plugins: fedorakmod, refresh-packagekit
removing numpy-1.1.0-1.fc9.x86_64 b/c it is not required by anything
else
removing ImageMagick-perl-6.3.8.1-4.fc9.x86_64 b/c it is not required by
anything else
removing perl-XML-XQL-0.68-6.fc9.noarch b/c it is not required by
anything else
removing pstoedit-3.45-2.fc9.x86_64 b/c it is not required by anything
else
removing python-lxml-2.0.7-1.fc9.x86_64 b/c it is not required by
anything else
removing libEMF-1.0.3-7.fc9.x86_64 b/c it is not required by anything
else
removing ImageMagick-c++-6.3.8.1-4.fc9.x86_64 b/c it is not required by
anything else
removing plotutils-2.5-5.fc9.x86_64 b/c it is not required by anything
else
removing perl-Date-Manip-5.48-3.fc9.noarch b/c it is not required by
anything else
removing perl-Parse-Yapp-1.05-38.fc9.noarch b/c it is not required by
anything else
removing perl-XML-DOM-1.44-4.fc9.noarch b/c it is not required by
anything else
removing perl-XML-RegExp-0.03-4.fc9.noarch b/c it is not required by
anything else
pstoedit.x86_64 0-3.45-2.fc9 - e
perl-XML-XQL.noarch 0-0.68-6.fc9 - e
inkscape.x86_64 0-0.46-2.fc9 - e
python-lxml.x86_64 0-2.0.7-1.fc9 - e
ImageMagick-c++.x86_64 0-6.3.8.1-4.fc9 - e
numpy.x86_64 0-1.1.0-1.fc9 - e
perl-Date-Manip.noarch 0-5.48-3.fc9 - e
perl-Parse-Yapp.noarch 0-1.05-38.fc9 - e
plotutils.x86_64 0-2.5-5.fc9 - e
perl-XML-RegExp.noarch 0-0.03-4.fc9 - e
perl-XML-DOM.noarch 0-1.44-4.fc9 - e
libEMF.x86_64 0-1.0.3-7.fc9 - e
ImageMagick-perl.x86_64 0-6.3.8.1-4.fc9 - e

$ sudo ./remove-recurse.py openoffice.org-core
remove openoffice.org-core
Loaded plugins: fedorakmod, refresh-packagekit
removing bsh-1.3.0-12jpp.3.fc9.x86_64 b/c it is not required by anything
else
removing 1:hsqldb-1.8.0.9-2jpp.1.fc9.x86_64 b/c it is not required by
anything else
removing hyphen-en-2.3.1-2.fc9.x86_64 b/c it is not required by anything
else
removing liberation-fonts-1.04-1.fc9.noarch b/c it is not required by
anything else
removing hyphen-2.3.1-2.fc9.x86_64 b/c it is not required by anything
else
removing libtextcat-2.2-5.fc9.x86_64 b/c it is not required by anything
else
removing bsf-2.3.0-12jpp.2.fc9.x86_64 b/c it is not required by anything
else
removing tomcat5-jsp-2.0-api-5.5.26-1jpp.2.fc9.x86_64 b/c it is not
required by anything else
removing xalan-j2-2.7.0-7jpp.2.fc9.x86_64 b/c it is not required by
anything else
removing tomcat5-servlet-2.4-api-5.5.26-1jpp.2.fc9.x86_64 b/c it is not
required by anything else
bsf.x86_64 0-2.3.0-12jpp.2.fc9 - e
hsqldb.x86_64 1-1.8.0.9-2jpp.1.fc9 - e
tomcat5-jsp-2.0-api.x86_64 0-5.5.26-1jpp.2.fc9 - e
hyphen-en.x86_64 0-2.3.1-2.fc9 - e
openoffice.org-core.x86_64 1-2.4.1-17.4.fc9 - e
bsh.x86_64 0-1.3.0-12jpp.3.fc9 - e
libtextcat.x86_64 0-2.2-5.fc9 - e
xalan-j2.x86_64 0-2.7.0-7jpp.2.fc9 - e
openoffice.org-writer2latex.x86_64 0-0.5-2.fc9 - e
tomcat5-servlet-2.4-api.x86_64 0-5.5.26-1jpp.2.fc9 - e
openoffice.org-writer.x86_64 1-2.4.1-17.4.fc9 - e
liberation-fonts.noarch 0-1.04-1.fc9 - e
hyphen.x86_64 0-2.3.1-2.fc9 - e
openoffice.org-calc.x86_64 1-2.4.1-17.4.fc9 - e

$ sudo ./remove-recurse.py azureus
remove azureus
Loaded plugins: fedorakmod, refresh-packagekit
removing bouncycastle-1.38-2.fc9.x86_64 b/c it is not required by
anything else
removing jakarta-commons-cli-1.0-7jpp_10.fc9.x86_64 b/c it is not
required by anything else
removing libgconf-java-2.12.4-10.fc9.x86_64 b/c it is not required by
anything else
removing 1:libswt3-gtk2-3.3.2-12.fc9.x86_64 b/c it is not required by
anything else
removing log4j-1.2.14-4jpp.1.fc9.x86_64 b/c it is not required by
anything else
removing libgtk-java-2.8.7-7.fc9.x86_64 b/c it is not required by
anything else
removing jakarta-commons-lang-2.3-2jpp.1.fc9.x86_64 b/c it is not
required by anything else
removing jakarta-commons-logging-1.0.4-7jpp.5.fc9.x86_64 b/c it is not
required by anything else
removing cairo-java-1.0.5-9.fc9.x86_64 b/c it is not required by
anything else
removing glib-java-0.2.6-12.fc9.x86_64 b/c it is not required by
anything else
jakarta-commons-logging.x86_64 0-1.0.4-7jpp.5.fc9 - e
libgconf-java.x86_64 0-2.12.4-10.fc9 - e
jakarta-commons-cli.x86_64 0-1.0-7jpp_10.fc9 - e
log4j.x86_64 0-1.2.14-4jpp.1.fc9 - e
libswt3-gtk2.x86_64 1-3.3.2-12.fc9 - e
azureus.x86_64 0-3.0.4.2-14.fc9 - e
cairo-java.x86_64 0-1.0.5-9.fc9 - e
libgtk-java.x86_64 0-2.8.7-7.fc9 - e
bouncycastle.x86_64 0-1.38-2.fc9 - e
glib-java.x86_64 0-0.2.6-12.fc9 - e
jakarta-commons-lang.x86_64 0-2.3-2jpp.1.fc9 - e


Hey, how hard is it to mod the script to tell you how much space you'd
be freeing up... :)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <http://listman.redhat.com/archives/fedora-devel-list/attachments/20080904/2feff908/attachment.sig>


More information about the fedora-devel-list mailing list