This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Reduce noise in dependency declaration during uninstall in setup.exe


When attempting to uninstall packages with setup.exe, you can get messages like this in the dependency resolution step:

   gvfs	(1.16.4-1)
	GNOME virtual filesystem
	Required by: dconf-service

So, you go back a screen, tell setup.exe to uninstall dconf-service, too, but get the same message when you try to move forward again.

What's happening here is that something *else* wants dconf-service. By that logic, gvfs is still required.

setup.exe is correct here, but it is not being helpful.

I propose that the code that generates this message first check whether all packages named in the block are scheduled for removal. If so, either don't insert that block into the text box, or insert it at the end.

The idea is that you want the first such block in the text box to be something the user can actually do something about.

I've run into this after installing everything yesterday for my "size of Cygwin" research project. Now I'm trying to remove most of that piece by piece, but I keep getting tangled in dependency webs.

If you doubt the value of this idea, consider the following setup.exe output. Which string is it telling me to pull next?




dbus	(1.6.16-1)
	Freedesktop message bus system
	Required by: avahi, libdbus1_3, dconf-service

dconf-service	(0.16.1-1)
	GNOME configuration system
	Required by: libgtk3_0

gcr	(3.8.2-1)
	GNOME cryptography framework
	Required by: gnome-keyring

girepository-GLib2.0	(1.36.0-1)
	GLib GObjectIntrospection data
	Required by: python-gi

glib2.0-networking	(2.36.2-1)
	GIO networking modules
	Required by: libsoup2.4_1

gnome-icon-theme	(3.8.3-1)
	GNOME desktop icon theme
	Required by: libgtk2.0_0, libgtk3_0

gnome-keyring	(3.8.2-1)
	GNOME Desktop password management system
	Required by: libsecret1_0

gsettings-desktop-schemas	(3.8.2-1)
	GNOME desktop GSettings schemas
	Required by: libglib2.0_0

gtk-update-icon-cache	(3.8.8-1)
	GTK+ icon theme cache utility
	Required by: libgtk2.0_0, libgtk3_0

gvfs	(1.16.4-1)
	GNOME virtual filesystem
	Required by: dconf-service

libavahi-glib1	(0.6.31-2)
	MDNS/DNS_SD/Zeroconf implementation (GLib runtime)
	Required by: gvfs

libcroco0.6_3	(0.6.8-1)
	GNOME CSS parser library (runtime)
	Required by: librsvg2_2

libdbus-glib_1_2	(0.100-1)
	FreeDesktop application message bus (GLib bindings)
	Required by: python-dbus

libgdk_pixbuf2.0-devel	(2.28.2-1)
	GNOME image loading library (development)
	Required by: libgtk2.0-devel, libgtk3-devel

libgdk_pixbuf2.0_0	(2.28.2-1)
	GNOME image loading library (runtime)
Required by: gvim, libgcr3_1, libmng-contrib, qiv, rxvt-unicode-X, libgtk2.0_0, libgtk3_0, librsvg2_2, gtk-update-icon-cache, libgdk_pixbuf2.0-devel

libgirepository1.0_1	(1.36.0-1)
	GObject Introspection library (runtime)
	Required by: python-gi

libglib1.2-devel	(1.2.10-12)
	GNOME 1.x C function library
	Required by: xdelta-devel

libglib1.2_0	(1.2.10-12)
	GNOME 1.x C function library
	Required by: libxdelta2, xdelta, libgtk1.2_0, libglib1.2-devel

libglib2.0-devel	(2.36.4-4)
	GNOME core C function library (development)
Required by: libatk-bridge2.0-devel, libatk1.0-devel, libatspi-devel, libcairo-devel, libgck1-devel, libgcr3-devel, libgsf1-devel, libharfbuzz-devel, libpango1.0-devel, libsoup2.4-devel, libvala0.20-devel, libgtk2.0-devel, libgtk3-devel, libgdk_pixbuf2.0-devel

libglib2.0_0	(2.36.4-4)
	GNOME core C function library (runtime)
Required by: R, amanda, at-spi2-core, desktop-file-utils, enchant, gamin, gnuplot, gvim, harfbuzz, irssi, libatk-bridge2.0_0, libatk1.0_0, libatspi0, libcairo2, libenchant-devel, libenchant1, libgailutil18, libgailutil3_0, libgck1_0, libgcr3_1, libgsf1_114, libharfbuzz0, libmng-contrib, libpango1.0_0, libsoup2.4_1, libvala0.20_0, mc, qiv, shared-mime-info, syslog-ng, libMagickCore5, libgdk_pixbuf2.0_0, libgtk2.0_0, libglib2.0-devel, libgtk3_0, glib2.0-networking, python-dbus, librsvg2_2, gsettings-desktop-schemas, gtk-update-icon-cache, libgdk_pixbuf2.0-devel, dconf-service, libdbus-glib_1_2, python-gi, python-gobject, libcroco0.6_3, gvfs, libgirepository1.0_1, girepository-GLib2.0, libavahi-glib1, libsecret1_0, libsoup-gnome2.4_1, gnome-keyring, gcr

libgtk1.2_0	(1.2.10-12)
	Gimp Toolkit GUI library (version 1.2)
	Required by: singular-surf

libgtk2.0-devel	(2.24.22-1)
	GTK+ X11 GUI toolkit (development)
	Required by: libgailutil-devel

libgtk2.0_0	(2.24.22-1)
	GTK+ X11 GUI toolkit (runtime)
	Required by: gvim, libgailutil18, libmng-contrib, qiv, libgtk2.0-devel

libgtk3-devel	(3.8.8-1)
	GTK+ X11 GUI toolkit (development)
	Required by: libgailutil3-devel, libgcr3-devel

libgtk3_0	(3.8.8-1)
	GTK+ X11 GUI toolkit (runtime)
Required by: libgailutil3_0, libgcr3_1, libgtk3-devel, gvfs, gnome-keyring, gcr

libMagick-devel	(6.7.6.3-3)
	Image manipulation software suite (development)
	Required by: libautotrace-devel, pstoedit-devel

libMagickCore5	(6.7.6.3-3)
	Image manipulation software suite (runtime)
Required by: ImageMagick, libautotrace3, libpstoedit0, perl-Image-Magick, libMagick-devel

libpulse0	(2.1-1)
	PulseAudio client library
	Required by: libcanberra0

librsvg2_2	(2.36.4-1)
	GNOME Scalable Vector Graphics library (runtime)
	Required by: libMagickCore5

libsecret1_0	(0.15-1)
	GObject secrets client library
	Required by: gvfs

libsoup-gnome2.4_1	(2.42.3.1-1)
	GNOME HTTP library
	Required by: gvfs

python-dbus	(1.2.0-1)
	Python dbus bindings
	Required by: python-avahi

python-gi	(3.8.3-1)
	Python GObject Introspection bindings
	Required by: python-dbus

python-gi-common	(3.8.3-1)
	Python GObject Introspection bindings
	Required by: python-gi

python-gobject	(2.28.6-5)
	Python GLib/GObject/GIO bindings
	Required by: python-dbus






Most of these packages are actually scheduled for uninstallation at this point. My process so far has been to scan through the list looking for names that have appeared since the last attempt, on the theory that they're naming packages farther up the dependency graph.

Unraveling cloth by pulling strings isn't the right metaphor. No, it's more like playing Jenga against an evil robot.

I'm about to give up, install Cygwin to a new directory, then try and merge in my old configuration. (/home, /usr/local, /etc... <groan>)

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]