Uživatelské nástroje

Nástroje pro tento web


packaging

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
packaging [2018/05/28 14:47] – [spec file] djbuldogpackaging [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 70: Řádek 70:
     * pokud nic buildovat nepotřebujeme, tak lze sekci vynechat     * pokud nic buildovat nepotřebujeme, tak lze sekci vynechat
   * %install   * %install
-    * příkazy pro instalaci, typicky kopírování z %{_builddir} do %{buildroot}, který reprezentuje cílový kořenový adresář+    * příkazy pro instalaci, typicky kopírování z %{_builddir} do %{buildroot}, který reprezentuje cílový kořenový adresář
 + 
 +  * %pre - příkazy před instalací/upgrade 
 +  * %post - příkazy po instalaci/upgrade, nesmí končit nenulově 
 +  * %preun - příkazy před odinstalací 
 +  * %postun - příkazy po odinstalování, nesmí končit nenulově 
 + 
 +^ ^ install ^ upgrade ^ uninstall ^ 
 +| %pretrans | $1 == 0 | $1 == 0 | (N/A) | 
 +| %pre | $1 == 1 | $1 == 2 | (N/A) | 
 +| %post | $1 == 1 | $1 == 2 | (N/A) | 
 +| %preun | (N/A) | $1 == 1 | $1 == 0 | 
 +| %postun | (N/A) | $1 == 1 | $1 == 0 | 
 +| %posttrans | $1 == 0 | $1 == 0 | (N/A) | 
 + 
 +<code> 
 +%post 
 +case $1 in 
 + 1) 
 + # instalation 
 +  ;; 
 + 2) 
 + # upgrade 
 + ;; 
 +esac  
 +</code> 
   * %files   * %files
     * soubory, které budou balíčkem instalovány (verzovány)     * soubory, které budou balíčkem instalovány (verzovány)
 +    * všechny soubory vytvořené v ''%{buildroot}'' musí být vypsány ve sekci ''%files'', jinak balíček nelze vytvořit
 +    * místo souborů lze použít hvězdičku
 +    * pozor na verzování obecných adresářů, může vytvořit konflikt s jinými balíčky
 +    * souborům lze nastavit oprávnění a vlastníka předřazením ''%attr(644,user,group)'' před název souboru
 +    * konfigurační soubory by měly mít předřazeno označení ''%config'' (případně i před ''%attr'')
 +      * pokud je v balíčku novější cfg soubor, tak přepíše lokální a případné modifikace lokálního uloží do .rpmsave
 +
 ==== Příklad "rychle na prasáka" ==== ==== Příklad "rychle na prasáka" ====
   * mám složku se zdrojáky s fungujícím ./configure + make   * mám složku se zdrojáky s fungujícím ./configure + make
Řádek 85: Řádek 118:
 Release: 0 Release: 0
 Source: none Source: none
-Copyright: GPL+License: GPL
 Group: Utilities/System Group: Utilities/System
  
Řádek 114: Řádek 147:
 cp -ra projekt/* build/BUILD/ cp -ra projekt/* build/BUILD/
 chmod +x build/BUILD/configure chmod +x build/BUILD/configure
-rpmbuild --buildroot=$(BASEDIR)/build/root --define="_builddir $(BASEDIR)/build/BUILD" --define="_rpmdir $(BASEDIR)/build/" -bb balicek-prvni.spec+rpmbuild --buildroot=${BASEDIR}/build/root --define="_builddir ${BASEDIR}/build/BUILD" --define="_rpmdir ${BASEDIR}/build/" -bb balicek-prvni.spec
 </code> </code>
  
Řádek 188: Řádek 221:
  
 Pořadí, ve kterém se bude spouštět pre-install není asi dopředu známo. Pokud jsou balíčky závislé na sobě, je dobré využít trigger skripty ([[https://www.ibm.com/developerworks/library/l-rpm2/|%triggerin, %triggerun, %triggerpostun]]) Pořadí, ve kterém se bude spouštět pre-install není asi dopředu známo. Pokud jsou balíčky závislé na sobě, je dobré využít trigger skripty ([[https://www.ibm.com/developerworks/library/l-rpm2/|%triggerin, %triggerun, %triggerpostun]])
 +
 +https://fedoraproject.org/wiki/Packaging:Scriptlets
 +
 +  - %pretrans of new package
 +  - %pre of new package
 +  - (package install)
 +  -  %post of new package
 +  -  %triggerin of other packages (set off by installing new package)
 +  -  %triggerin of new package (if any are true)
 +  -  %triggerun of old package (if it's set off by uninstalling the old package)
 +  -  %triggerun of other packages (set off by uninstalling old package)
 +  -  %preun of old package
 +  - (removal of old package)
 +  -  %postun of old package
 +  -  %triggerpostun of old package (if it's set off by uninstalling the old package)
 +  -  %triggerpostun of other packages (if they're setu off by uninstalling the old package)
 +  -  %posttrans of new package
 ==== malé velké rady ====  ==== malé velké rady ==== 
  
Řádek 205: Řádek 255:
   * http://www.cyron.cz/clanky/2009/ostatni/vytvoreni-vlastniho-balicku-6-vytvoreni-rpm-ze-zdrojoveho-kodu.php   * http://www.cyron.cz/clanky/2009/ostatni/vytvoreni-vlastniho-balicku-6-vytvoreni-rpm-ze-zdrojoveho-kodu.php
   * http://www.linux-archive.org/fedora-development/541096-how-keep-rpmbuild-directory-clean.html   * http://www.linux-archive.org/fedora-development/541096-how-keep-rpmbuild-directory-clean.html
 +  * https://fedoraproject.org/wiki/Packaging:Scriptlets
  
  
packaging.1527511635.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki