|
|
|
|
|
Jak buildovat RPM balíčky (1)RPM je zkratka pro Red Hat Package Manager, což je systém pro práci se softwarovými balíčky. Díky těmto softwarovým balíčkům a díky nástroji, který je spravuje (obvykle má každá distribuce používající RPM balíčky svůj vlastní nástroj pro obsluhu těchto balíčků) můžeme v sytému (Linuxové distribuci) udržet poměrně velký pořádek. Je dobré se naučit zásadu systém (Linuxovou distribuci používající RPM balíčky) takzvaně "nešpinit" jiným typem balíčků než jsou právě RPM balíčky a navíc určené právě a pouze pro naši distribuci, protože RPM balíčkovacích distribucí dnes existuje poměrně velké množství.
I přesto, že existuje pro každou distribuci (používající RPM balíčky) několik
tisíc RPM balíčků, stále se najde software/program, který máme v oblibě a pro
něhož nemůžeme najít adekvátní RPM balíček. Následující návod je určen právě pro tyto situace. Ano, rychlá kompilace pomocí K čemu je dobré si buildovat vlastní balíčky?
Výroba RPM balíčku
Pokud chceme ze zdrojových kódů vybuildovat RPM balíček, tak budeme pořebovat tzv. spec soubor ve kterém je (kromě dalších informativních částí) uvedeno jak dané zdrojové kódy programu přeložit do binární podoby (tedy obvykle pomocí již
výše zmiňované trojkombinace Nastavení buildovacího prostředíJe dobrým zvykem buildovat balíčky jako normální uživatel a nikoliv jako uživatel root. Proto si nejdříve budeme muset vytvořit pár adresářů ve kterých budeme naši výrobu balíčků provádět.
%packager Ondrej 'o.k' Krejcik %_topdir /home/ondra/rpm RPM bude při buildování hledat minimálně tyto adresáře:
%{_topdir}/BUILD
%{_topdir}/RPMS
%{_topdir}/RPMS/i386
%{_topdir}/SOURCES
%{_topdir}/SPECS
%{_topdir}/SRPMS
a proto je musíme vytvořit:
mkdir -p /home/ondra/rpm/{BUILD,RPMS/i386,SOURCES,SPECS,SRPMS}
Případně vytvoříme v adresáři Spec souborJako příklad pro vytvoření RPM balíčku použiji program, který se jmenuje conky (protože jsem pro něj nikde nenašel balíček pro distribuci CentOS) a jehož zdrojové kódy lze stáhnout z adresy http://conky.sourceforge.net/. Spec soubor pro program conky by mohl vypadat následovně:
Summary: A lightweight system monitor
Name: conky
Version: 1.4.2
Release: 1
License: X11/MIT
Group: Applications/System
Source0: http://heanet.dl.sourceforge.net/sourceforge/conky/%{name}-%{version}.tar.gz
URL: http://conky.sf.net
Vendor: The conky development team
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Conky is an advanced, highly configurable system monitor for X.
###############################################################
%prep
%setup -q
%build
./configure
make
%install
%makeinstall
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%{_prefix}
%doc COPYING AUTHORS README NEWS TODO ChangeLog INSTALL
%changelog -n %{name}
* Wed Sep 6 2006 - o.k.
- Initial RPM release for CentOS 4.4
Tento soubor uložíme do adresáře
Do adresáře Vlastní buildování
Vytvoření balíčku (jak binárního, tak zdrojového) se provádí pomocí
příkazu rpmbuild -ba ~/rpm/SPECS/conky.spec Výsledek
Zdrojový balíček nalezneme v adresáři
Daný balíček poté již můžeme nainstalovat (jako root) klasicky pomocí příkazu: rpm -Uvh /home/ondra/rpm/RPMS/i386/conky-1.4.2-1.i386.rpm ZávěrToto byl jen základní příklad buildování balíčku, v dalších částech si rozebereme některé důležité věci jako jsou GPG podpisy balíčků, rozebereme si podrobněji spec soubor, patche, pre a postinstalační skripty a další věci.
Naposledy změněno: 29.9.2006 9:55
|
|
|
© 2006-2008 o.k.
|
|