Difference between revisions of "Fedora-rpm"

From Bashlinux
Jump to: navigation, search
(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: