Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программное обеспечение под *NIX системы > Установка иконки через RPM


Автор: Vicul 6.6.2009, 13:00
Всем привет,

собираю свой первый RPM пакет для SUSE, в котором мне необходимо установить иконку на десктопе пользователя. По теории файл my_icon.desktop должен находиться  у пользователя в /home/имя_юзера/Desktop (или /root/Desktop/ для  рута), так вот возникает проблема, как правильно  указать эту директорию в секции %files РПМ для пользователя, который  будет устанавливать для себя этот пакет. Пытался это делать через макросы, получается какая та фигня:

%define HomeDsk $HOME/Desktop

%files
/%HomeDsk/my_icon.desktop

Так вот при сборке получаю ошибку на /%HomeDsk/my_icon.desktop,  система не может найти там файла, потому что %HomeDsk она воспринимает, как  $HOME/Desktop, а не как  /home/имя_юзера/Desktop. 
Допустим, решу я каким то образом проблему с  %files, но по логике тоже получается фигня, ведь если  я собираю пакет под рутом, тогда  $HOME/Desktop даст мне  /root/Desktop и это железно вобьется в пакет и , следвательно, если прользователь будет инсталлировать пакет под именем, которое отличается от рута, он получит ошибку, ведь вместо его домашнего каталога система будет пытаться   установить в каталог рута.
Буду рад любой идее в этом вопросе.


 

Автор: nickless 6.6.2009, 19:28
Программы вообще всегда под рутом устанавливаются, откуда тогда пакету знать куда копировать эту иконку? Всем пользователям или только одному? Копировать руту - вообще бессмысленно, т.к. все нормальные люди под рутом ГУИ не запускают...

Моё ИМХО - создай пункт в меню как это обычно делают все программы и не мучайся, пользователю надо будет - скопирует себе на десктоп.


ЗЫ
Сколько себя помню, под виндой меня всегда бесили программы, сующие свои иконки куда только можно. Хорошо, что в линуксе это не принято.

Автор: Vicul 6.6.2009, 21:15
Спасибо за ответ,

Цитата(nickless @  6.6.2009,  19:28 Найти цитируемый пост)
откуда тогда пакету знать куда копировать эту иконку?


Ну если скажем, добавить имя пользователя при установке пакета, как дополнительный параметр?  


 
Цитата
Копировать руту - вообще бессмысленно, т.к. все нормальные люди под рутом ГУИ не запускают...


Для серверов согласен, а как быть с десктоповскими версиями линукса?


Цитата(nickless @  6.6.2009,  19:28 Найти цитируемый пост)
Сколько себя помню, под виндой меня всегда бесили программы, сующие свои иконки куда только можно.  


Вообще то под Виндой принято, как правило хорошего тона, спрашивать у пользователя  не желает ли он поместить иконку туда то...

Автор: Vicul 7.6.2009, 11:02
Спасибо, вопрос решен!

Автор: nickless 8.6.2009, 22:27
Цитата(Vicul @  6.6.2009,  20:15 Найти цитируемый пост)
а как быть с десктоповскими версиями линукса?

И там тоже не запускают smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)