update-icon-cache w %post

Jakub Bogusz qboosh w pld-linux.org
Pon, 21 Sie 2006, 22:56:35 CEST


On Mon, Aug 21, 2006 at 07:39:54PM +0200, Fryderyk Dziarmagowski wrote:
> --- Andrzej Krzysztofowicz <ankry w green.mif.pg.gda.pl> wrote:
> > Fryderyk Dziarmagowski wrote:
> > > > rpm 4.4.6 usiłuje to wymusić, ale co, jeśli dany program dostarcza ikony
> > > > dla wielu motywów? Ma wymagać podstawowych pakietów dla wszystkich tych
> > > > motywów?
> > > 
> > > jeśli pakiet próbuje zainstalować ikony w kompletnym zestawie jak np.
> > > gnome-icon-theme to należy go poprawić aby instalował w hicolor.
> > 
> > A gdzie nalezy umiescic alternatywne ikony (jesli pakiet je zawiera), zeby
> > ktos, komu hicolor nie odpowiada mogl ich uzywac?
> 
> hicolor-icon-theme to nie jest zestaw ikon. To zestaw katalogów
> dostarczających miejsca na ikony, które nie zostały umieszczone w
> określonym zestawie. dodatkowo instalacja powinna odbywać sie w
> określonych katalogach, np. ikona z nazwą programu (generic name)
> powinna lądować w apps (odpowiednik i następca %_pixmapsdir), ikona z
> typem mime w mimetypes, etc.

No dobra, 9kB pakiet nie jest problemem. Tylko jest kwestia rodzaju
zależności (niżej).

> > > > W przypadku nie istnienia hicolor-icon-theme instalacja pakietu
> > > > dostarczającego takie ikony z %update_icon_cache w %post wyłożyła mi się
> > > > w połowie z:
> > > > 
> > > > No theme index file in '/usr/share/icons/hicolor'.
> > > > If you really want to create an icon cache here, use --ignore-theme-index.
> > > > błąd: %post(RealPlayer-10.0.8-1.athlon) skryptlet nie powiódł się, status wyjścia 1
> > > 
> > > jeśli pakiet pakuje ikony do hicolor-icon-theme to musi go wymagać.
> > > 
> > > > Czy ewentualne "|| :" ma być w bezpośrednio w %post, czy już w samym
> > > > makrze?
> > > 
> > > a dlaczego miałby być?
> > 
> > Zeby instalacja hicolor-icon-theme nie byla konieczna dla kazdego pakietu z
> > wlasnymi ikonami. Ale pewnie i tak jest...
> 
> jeśli coś instaluje w katalogach hicolor-icon-theme to dlaczego jego
> instalacja miałaby nie być konieczna? poza tym nowy rpm już na takie
> dowolności nie pozwala, więc problem sam się rozwiązuje.

Jeżeli tak przy "%update_icon_cache hicolor" w %post/%postun trzeba
dodawać R(post,postun): hicolor-icon-theme.

Nowy rpm przypilnuje obecności katalogów, ale:
- nie wiem na ile jest w stanie dopilnować kolejności instalowania, żeby
  katalogi były przed wykonywaniem %post
- nie ma pewności, że dany pakiet będzie instalowany nowym rpm-em
  (choćby w przypadku uaktualniania ze starego systemu - rpm nie musi
  być pierwszym uaktualnianym pakietem); niestety nie ma własności
  rpmlib() dla zależności od katalogów

Jeszcze w temacie katalogów - co robić z takimi kwiatkami jak poniżej?

$ rpm -qpl hugin-0.6.1-1.athlon.rpm | grep 'pixmaps\|icons'
/usr/share/icons/gnome/48x48/mimetypes/gnome-mime-application-x-ptoptimizer-script.png
/usr/share/pixmaps/hugin.png

gnome-icon-theme to już nie jest 9kB (tylko 12MB).
hugin nie jest aplikacją GNOME.


-- 
Jakub Bogusz    http://qboosh.cs.net.pl/


Więcej informacji o liście dyskusyjnej pld-devel-pl