Re: [Comm] Icewm и SilverXP в качестве темы по дефолту
php-coder
=?iso-8859-1?q?php-coder_=CE=C1_ngs=2Eru?=
Сб Сен 11 13:16:01 MSD 2004
0000100101011110100100101::11.09.2004::0110001001001000100111100100010
Здравствуйте, Владимир!
Отвечаю на Ваше письмо:
ВГ> Но SilverXP (разработанный нашими соотечественниками) - выше
ВГ> всяких похвал.
Вы так расхвалили эту тему, что любопытно взглянуть на нее...
Может пришлете скриншот или выложите его где-нибудь? (можно даже
на linux.org.ru -- если не боитесь жесткой критики :))
ВГ> Icewm уже установлен, это его надо сносить,
Не обязательно... Если вы установили его, к примеру, в /usr/local,
то его можно и не сносить -- AFAIK никакие пакеты никогда не
устанавилиают туда ничего.
ВГ> качать (или брать с диска) src-rpm,
Да
ВГ> распаковывать его хитро при помощи rpm2cpio (наверное),
rpm -ivh для *.src.rpm вытащит все его содержимое и сложит в
соответствующие каталоги в директорию ~/RPM
ВГ> пропатчить один файл ybutton.сс,
Не нужно патчить вручную. Нужно править спек! Добавить туда в
начало, что-то типа PatchN: patch-name-for-icewm.patch
Потом в секцию %prep, после вызова макроса %setup, добавить
%patchN -p1
N - это номер патча, если патчей несколько. Иначе ее можно и
опустить. После правки спека, я обычно говорю
$ rpmbuild -bs ~/RPM/SPECS/package.spec
# создаст новую *.src.rpm с вашим патчем
$ rpmbuild --rebuild ~/RPM/SRPMS/package-version.src.rpm
# создаст rpm, пригодный к установке
ВГ> потом rebuild (как применить при этом требуемые разработчиками
ВГ> ключи компилляции - не понял до конца
В секции %build есть вызов макроса %configure, который и отвечает
за вызов ./configure Этому макросу также можно передать нужные
парметры. Например:
%configure --with-x --enable-nls
ВГ> Пытался скачать простой tar.gz, но один ключ компилляции
ВГ> (--prefix=/usr/X11R6 и т.д.) видимо не соответствовал альтовской
ВГ> реальности,
При сборке RPM-пакета обычно программа устанавливается в одно
место, называемое %buildroot Потом rpmbuild берет из %buildroot
все файлы, указанные в секции %files и создает RPM-пакет. Таким
образом устанавливать нужно не в /usr/X11R6, а в
%buildroot/usr/X11R6 Лучше даже использовать макрос и тогда вызов
configure будет выглядеть примерно так:
%configure --prefix=%buildroot%_x11dir
Кстати, у вас могут возникнуть некоторые трудности, так как
некоторые программы при запуске будут искать конфигурационные
файлы и что-там-им-еще-может-понадобиться в %buildroot.
Вот совет, как лучше устанавливать в /usr/X11R6 программу:
%build
%configure --prefix=%_x11dir \
--bindir=%_x11bindir \
--datadir=%_x11datadir \
--mandir=%_x11mandir
%make_build
%install
%make_install DESTDIR=%buildroot install
...
%files
%_x11bindir/*
%_x11datadir/%name
%_x11mandir/man1/*
Именно так я и делаю в своем пакете Fluxbox'а...
ВГ> да чтобы он попал в список выбираемых при загрузке Иксов - для
ВГ> меня это пока непонятно, не улеглось в голове..
Для этого существует макрос %update_wms. Его обычно вызывают
при установке пакета в систему, в секции %post, и после удаления
пакета из системы, в секции %postun Честно говоря, мне тоже хотелось
бы побольше узнать как с ним работать, так как при пакетировании
Fluxbox у меня возник тот же вопрос. Но пока я ответов не нашел,
если вы найдете -- то напишите мне, пожалуйста!
Ах, да! Вы можете узнать что делает тот или иной макрос выполнив
$ rpm --eval %macros
К примеру, rpm --eval %update_wms скажет, что вызывается некоторый
скрипт. Скрипт, если правильно помню, написан на shell, так что
можно и лично разобраться что и как он делает...
ВГ> Поэтому повторюсь - есть пожелание внедрить для будущих дистрибутивов
ВГ> Альта Icewm сконфигурированный с патчем для SilverXP и сделать эту одну из
ВГ> самых тщательно созданных (именно тщательно и продуманно!) тему темой по
ВГ> умолчанию...
Отличное предложение! Сделайте это! И даже если в ALTLinux этого
не будет -- это будет у вас! ;))
Удачи!
--
С уважением, php-coder (mailto:php-coder[at]ngs[dot]ru)
Registered Linux User #327594
ALT Linux Master 2.2 (kernel 2.4.27)
010010010010010001010101100::Linux RuleZz!::100010010001000100010001110
Подробная информация о списке рассылки community