Difference between revisions of "Fedora-rpm"
From Bashlinux
(Redirected page to Fedora RPM Build) |
|||
Line 1: | Line 1: | ||
+ | #REDIRECT [[Fedora_RPM_Build]] |
||
− | __NOTITLE__ |
||
− | __NOTOC__ |
||
− | = Fedora RPM Build = |
||
− | == Structure == |
||
− | To build an rpm must be created and/or placed different files under <tt>/usr/src/redhat</tt> as follow: |
||
− | # Spec file with details of name, dependencies, instructions, etc and script of how to build the rpm under <tt>SPEC</tt> folder |
||
− | # Compressed file with the sources under <tt>SOURCES</tt> folder |
||
− | |||
− | == Build == |
||
− | To build the new rpm, run the command: |
||
− | # rpmbuild -ba SPEC/newrpm.spec |
||
− | |||
− | The created files will be placed as follow: |
||
− | # New RPM created under <tt>RPMS/''system_architecture''</tt> folder |
||
− | # RPM with sources and spec file packed under <tt>SRPMS</tt> folder |
||
− | # Unpacked sources under <tt>BUILD</tt> folder |
||
− | |||
− | == Scripts == |
||
− | There are 4 types of scripts: |
||
− | # Pre install: pre |
||
− | # Post install: post |
||
− | # Pre uninstall: preun |
||
− | # Post uninstall: postun |
||
− | |||
− | The <tt>rpm</tt> command has 3 main types of execution to be considered: |
||
− | # install |
||
− | rpm -i newrpm.rpm |
||
− | |||
− | # upgrade |
||
− | rpm -u newrpm.rpm |
||
− | |||
− | # remove |
||
− | rpm -e newrpm.rpm |
||
− | : and different values are passed to each script based on which type of execution is performed by the <tt>rpm</tt> command. |
||
− | |||
− | {{Warningbox | Warning | |
||
− | * Be careful with the usage of each script section, please note the execution order which is crucial at upgrade time. |
||
− | * When importing specs from other distros use remove `%` in from of `make`}} |
||
− | |||
− | |||
− | ==== New installation ==== |
||
− | The execution order and values passed are: |
||
− | * %pre NEW_PACKAGE ($1 = 1) |
||
− | * %install |
||
− | * %post NEW_PACKAGE ($1 = 1) |
||
− | |||
− | ==== Upgrade ==== |
||
− | The execution order and values passed are: |
||
− | * %pre |
||
− | ''NEW_PACKAGE'' `($1 = 2)` |
||
− | * %install |
||
− | * %post |
||
− | ''NEW_PACKAGE'' `($1 = 2)` |
||
− | * %preun |
||
− | ''OLD_PACKAGE'' `($1 = 1)` |
||
− | * %files |
||
− | ''NEW_PACKAGE, Delete all files no longer listed'' |
||
− | * %postun |
||
− | ''OLD_PACKAGE'' `($1 = 1)` |
||
− | |||
− | ==== Remove ==== |
||
− | The execution order and values passed are: |
||
− | * %preun |
||
− | ''OLD_PACKAGE'' `($1 = 0)` |
||
− | * %files |
||
− | ''OLD_PACKAGE, Delete all files listed'' |
||
− | * %postun |
||
− | ''OLD_PACKAGE'' `($1 = 0)` |
Latest revision as of 22:18, 6 June 2015
Redirect to: