Fedora-rpm: Difference between revisions

From Bashlinux
Jump to navigationJump to search
Content deleted Content added
Manpaz (talk | contribs)
No edit summary
Manpaz (talk | contribs)
Redirected page to Fedora RPM Build
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
#REDIRECT [[Fedora_RPM_Build]]
__NOTOC__
= Fedora RPM Build =
== Structure ==
To build an rpm must be created and/or placed different files under `/usr/src/redhat` as follow:
# Spec file with details of name, dependencies, instructions, etc and script of how to build the rpm under `SPEC` folder
# Compressed file with the sources under `SOURCES` folder

== Build ==
To build the new rpm, run the command:
<pre><nowiki>
# rpmbuild -ba SPEC/newrpm.spec
</nowiki></pre>

The created files will be placed as follow:
# New RPM created under `RPMS/''system_architecture''` folder
# RPM with sources and spec file packed under `SRPMS` folder
# Unpacked sources under `BUILD` folder

== Scripts ==
There are 4 types of scripts:
# Pre install: pre
# Post install: post
# Pre uninstall: preun
# Post uninstall: postun

The `rpm` command has 3 main types of execution to be considered:
# install
<pre><nowiki>
rpm -i newrpm.rpm
</nowiki></pre>

# upgrade
<pre><nowiki>
rpm -u newrpm.rpm
</nowiki></pre>

# remove
<pre><nowiki>
rpm -e newrpm.rpm
</nowiki></pre>


and different values are passed to each script based on which type of execution is performed by the `rpm` command.

More details on [[http://www.ibm.com/developerworks/library/l-rpm3.html]]
<pre><nowiki>#!wiki warning

'''warning'''
Be careful with the usage of each script section, please note the execution order which is crucial at upgrade time.
</nowiki></pre>


==== 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: