Please do not reply directly to this email. All additional comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=507480
--- Comment #15 from Christoph Wickert fedora@christoph-wickert.de 2009-08-03 10:50:38 EDT --- (In reply to comment #13)
I've updated the spec file using 'cp -p' as per the above guidelines it looks like from my reading and testing install is only usable for individual files rather than directory structure like in an icon theme.
This is correct. Just stick with cp, create-icon-theme.sh takes care of the permissions. Sorry for the noise.
As post uninstall the theme.index wouldn't exist. I think it needs a -t option.
No, if index.theme doesn't exist, gtk-update-icon-cache is not run - this is what we want. It will complain about the missing dir, but this is why we have " &>/dev/null || :" at the end. (Well, at least we *should* have this at the end, you only have "|| :" because your scriptlets are outdated. See https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Icon_Cache for the most recent version.)
BTW: icon-theme.cache is not part of this package, so it wont get removed when the package uninstalled. You need to touch %{buildroot}/%{_datadir}/icons/moblin/icon-theme.cache during install and include it ghosted in the files section.
Another thing I realized while looking at the source: You are not creating any symlinks for the icons, so many apps will have no stock icons. Add the following to your spec at the end of %install, when the Makefile.am files are already removed:
# create symlinks for gtk stock icons, these are not really 'legacy' # this uses the legacy-icon-mapping.xml file cd $RPM_BUILD_ROOT/usr/share/icons/moblin for size in 16x16 24x24 48x48; do ( cd $size for context in *; do if [ -d $context ]; then ( cd $context INU_DATA_DIR=%{_builddir}/%{name}-%{version} /usr/bin/icon-name-mapping -c $context ) fi done ) done
Voila, now the icon theme contains more than 3 times more files.
Last but not least create-icon-theme.sh should be running during %build. Not that it makes a difference, I'm just pedantic. ;)