Bug 108364 - [patch] x11-toolkits/gtk20: plist problem with icons dir
Summary: [patch] x11-toolkits/gtk20: plist problem with icons dir
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-gnome (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-26 01:20 UTC by Danny Pansters
Modified: 2008-03-24 05:10 UTC (History)
0 users

See Also:


Attachments
ports::x11-toolkits::gtk20.diff (754 bytes, patch)
2007-01-26 01:20 UTC, Danny Pansters
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Danny Pansters 2007-01-26 01:20:21 UTC
	When gtk20 installs from port or package it creates icon cache files in
	icon directories under LOCALBASE/share/icons/. When gtk20 deinstalls
	from port or package it deletes such cache files.

	There can be situations when there have been icons installed in such
	directories that were removed, e.g. from the kdelibs3 or kdebase3 package
	If those are deinstalled before gtk20 gets deinstalled empty icon
	directories will remain and will cause things such as tinderbox package
	build runs to fail in the end because of the left over directories.

	I discovered this problem with the x11-themes/gtk-qt-engine port which
	has dependencies for both kdelibs and gtk20. It also has an optional
	(used by default) dependency for libbonoboui. When the latter is used,
	during a tinderbox run upon reinstall, gtk20 will be removed after
	kdelibs/kdehier and the crystalsvg icon dir is left behind, causing
	an error like this:

=== Checking filesystem state after all packages deleted
================================================================
list of extra files and directories in / (not present on clean system but present after everything was deinstalled)
2784229        4 drwxr-xr-x    3 root             wheel                 512 Jan 25 22:58 usr/local/share/icons
2874128        4 drwxr-xr-x    2 root             wheel                 512 Jan 25 22:58 usr/local/share/icons/crystalsvg
================================================================
build of /usr/ports/x11-themes/gtk-qt-engine ended at Thu Jan 25 23:00:29 UTC 2007

	The solution for this kind of problem seems to be to make sure no empty
	icon dirs are left behind after deleting any cachefile in them upon
	gtk20 deinstall. After applying this my tinderbox no longer complains 
	about a left-over crystalsvg directory.

	Tinderbox log for current gtk-qt-engine-0.7_4 with this plist patch:
	http://freebsd.ricin.com/misc/gtk-qt-engine-0.7_4-with.log

	Tinderbox log for current gtk-qt-engine-0.7_4 without:
	http://freebsd.ricin.com/misc/gtk-qt-engine-0.7_4-without.log

How-To-Repeat: 	Test gtk-qt-engine on tinderbox (problem found after PR'ing a revision
	of this port but with the current port the same problem will occur)
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2007-01-26 01:20:33 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gnome

Over to maintainer
Comment 2 Pav Lucistnik freebsd_committer freebsd_triage 2007-01-26 21:57:13 UTC
State Changed
From-To: open->closed

I don't believe your patch is correct. It's kdelibs' duty to clean up empty 
directories like crystalsvg.
Comment 3 Danny Pansters 2007-01-27 02:09:49 UTC
The problem occurs (during tinderbox deinstall run, after package has been 
built) if kdehier has already been deinstalled but gtk20 hasn't. kdehier will 
not remove icon dirs that have files left inside (icon cache created by gtk 
package at install) then gtk will delete cachefile but not the dir.

Dan
Comment 4 Pav Lucistnik freebsd_committer freebsd_triage 2007-01-27 12:07:32 UTC
State Changed
From-To: closed->open

Well, if you put it this way, it needs to be solved.
Comment 5 Joe Marcus Clarke freebsd_committer freebsd_triage 2007-04-14 07:11:49 UTC
State Changed
From-To: open->feedback

I think the real offender here is kdebase3.  Since it doesn't use 
INSTALLS_ICONS, no cache is built by it for crystalsvg.  Of course, to use 
INSTALLS_ICONS, kdebase3 would have to depend on gtk20.  Is there anything in 
the KDE world that can build these icon cache files?  If so, then perhaps KDE 
ports could be taught to use it.
Comment 6 Pav Lucistnik freebsd_committer freebsd_triage 2007-06-06 14:10:37 UTC
State Changed
From-To: feedback->suspended

No reply lately; marking suspended (the problem is real)
Comment 7 dfilter service freebsd_committer freebsd_triage 2008-03-13 18:23:18 UTC
lofi        2008-03-13 18:23:06 UTC

  FreeBSD ports repository

  Modified files:
    x11/kdelibs3         pkg-plist 
    misc/kdehier         pkg-plist 
  Log:
  Icon-cleanup shenanigans, see
  
  PR:             ports/108364
  Suggested by:   pav
  
  Revision  Changes    Path
  1.13      +1 -1      ports/misc/kdehier/pkg-plist
  1.75      +1 -0      ports/x11/kdelibs3/pkg-plist
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 8 Jeremy Messenger freebsd_committer freebsd_triage 2008-03-24 05:08:14 UTC
State Changed
From-To: suspended->closed

Should be fixed, committed by lofi in kdelibs3 and kdehier.