Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Peter V. Chernikoff                  2:5020/2091    11 Jan 2001  11:20:03
 To : Kirill Frolov
 Subject : База rpm
 -------------------------------------------------------------------------------- 
 
 
 On 10 Jan 2001 at 14:34, "KF", Kirill Frolov wrote:
 
  KF> Hемедленно   нажми   на  RESET,   Peter!
 
   У меня на корпусе такой кнопки нету.
 
  KF> А можно как-нибудь туда вписать, что  у меня рпм уже установлен, когда
  KF> на самом деле у меня его нет?
  PC> Зачем ?
 
  KF> У меня РПМ-а этого нет, а файлы из него есть.
 
   Вот. За что купил, за то и продаю (+10% комиссионных).
 
 ==============================================================================
 Date: Sat, 15 Jan 2000 17:07:39 +0300
 From: Alex_Korchmar@p65.f423.n5020.z2.fidonet.org (Alex Korchmar)
 Subject: Re: RPM Question
 Newsgroups: fido.ru.linux
 X-Comment-To: (Vladimir Litovka)
 ==============================================================================
 
 Hi!
 
 Vladimir Litovka <doka@kiev.sovam.com> wrote:
 
  VL>  Есть некая компилированная программа, которая раскладывается в обширное
  VL>  дерево. Проинсталлил я ее в отдельный каталог, в котором она одна (со
  VL>  своими, разумеется, share/ lib/ etc/).
 
  VL>  Подскажите, как соорудить из этого RPM, чтобы без головной боли
  VL>  ставить/удалять при необходимости. Про 'man rpm' и www.rpm.org
 
 Алекс, воткни это в FAQ - затрахали!!!
 
 "если вы ничего не понимаете в rpm'ах и не хотите читать доки, а хотите
 быстро научиться ляпать хорошие спеки -  возьмите [авторский!] спек от
 nmap, он хорошо написан."
 "если вы хотите сделать binary rpm не пересборкой из source, а 
 имея в руках дерево уже установленной программы - просто  напишите 
 spec из одних %files - rpm достаточно сообразителен, чтобы не делать 
 install, если нет %install"
 
 ==begin компилированная\ программа.spec===
 Vendor: я
 Distribution: какой получится
 Name:         компилированная_программа
 Release:      1
 # это версия _rpm'а_ 
 Copyright:    украл
 Group:    хрен/его знает
 Provides:     /bin/ls rm net-tools
 # тут можно писать как пути к бинарникам, так и имена пакетов. "name"
 # мы и без того provides, не надо его повторять
 Requires:       libc.so.5
 Conflicts:    linux-kernel
 Autoreqprov:  off
 # соответственно, без этих трех строк rpm сам что-нибудь придумает
 Packager:     alxkor@hotmail.com
 
 Version:      2.3.1.0.2.5.a
 # а это - версия программы, т.е. авторская
 Summary:      очень полезная программа, стирающая твой линукс
 
 BuildRoot:      /куда/ты/там/ее/установил
 # общая идея - если программа ставится в /usr/local/программа, то 
 # buildroot не нужен (он и так /). А вот если ты ее поставил в
 # /usr/src/test-install, под которым она создала полное дерево, то
 # BuildRoot должен смотреть
 # туда - иначе rpm так и будет распаковывать ее в test-install
 %description
 да хрен его знает, 
 шамо приполжло
 (тут может быть сколько угодно строчек)
 
 %files
 %defattr(-,root,root)
 # я не делал su -c 'make install', и не хочу, чтобы бинарники принадлежали
 # alx.src
 # владельцы slackware3, rh4 и suse5 в пролете - ваш rpm не умеет defattr.
 %dir /usr/local/share/locale/моя_фигня
 /usr/local/bin/ruleZ
 %attr(4755,adm,bin) /usr/local/bin/suXX
 # зато он умеет хоть это.
 %doc /usr/local/info/suxx.info
 %docdir /usr/doc/моя_фигня
 %doc /usr/doc/моя_фигня/README
 %config /etc/suxx.cfg
 # если ты не знаешь, зачем нужны макросы dir, doc и config - все равно
 # их используй, всегда. потом разберешься и поймешь, когда этого можно
 # не делать. %attr можно употреблять одновременно с прочими макросами
 %attr (400,-,-) %config(noreplace) /etc/secure/my.cfg
 # примерно так. Из-за   ^^^^^^^ владельцы rpm <3 в пролете
 ====================
 наиболее простой способ сгенерить список для %files - 
 find /usr/src/test-install -type d \! -path \*/usr \! -path \*/usr/local \
   \! -path \*/usr/local/bin \! -path \*/usr/local/sbin | \
   sed -e 's|^/usr/src/test-install/|%dir /|' >> file.spec
 find /usr/src/test-install -type f | sed -e 's|^/usr/src/test-install/|/| >>
 file.spec
 
 естественно, если ты ставился в /usr/local/эта-программа а не использовал
 BuildRoot, то извращения с sed не нужны, если запускал make install от
 рута - то не нужна возня с %attr, и, наконец, %files умеет -f. (извращения
 с -path - чтобы не включать не относящиеся к твоему пакету каталоги /usr,
 /usr/local и т.д. Hа самом деле там гораздо больше)
 
 ну и rpm -bb этот.spec в зубы. (результат найдешь в $RPMROOT/RPMS/${ARCH}/ )
 > Alex
 
 ===============================================================================
 
 -- 
 WBR, Peter V. Chernikoff
 mailto: zsh7<dog>chat<dot>ru
 
     Пилите, Шура, пилите ...
                                                                          
 --- Gnus/5.0807 (Gnus v5.8.7) XEmacs/21.1 (Crater Lake)
  * Origin: Juggernaut ``DiggerNet'' News Server (2:5020/2091)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 База rpm   Peter V. Chernikoff   09 Jan 2001 20:45:37 
 База rpm   Kirill Frolov   10 Jan 2001 15:34:36 
 База rpm   Peter V. Chernikoff   11 Jan 2001 11:20:03 
Архивное /ru.linux/59749be28eedf.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional