Difference between revisions of "Fedora-rpm"

From Bashlinux
Jump to: navigation, search
Line 8: Line 8:
 
== Build ==
 
== Build ==
 
To build the new rpm, run the command:
 
To build the new rpm, run the command:
 
<pre><nowiki>
 
 
# rpmbuild -ba SPEC/newrpm.spec
 
# rpmbuild -ba SPEC/newrpm.spec
</nowiki></pre>
 
   
 
The created files will be placed as follow:
 
The created files will be placed as follow:
Line 27: Line 24:
 
The `rpm` command has 3 main types of execution to be considered:
 
The `rpm` command has 3 main types of execution to be considered:
 
# install
 
# install
 
<pre><nowiki>
 
 
rpm -i newrpm.rpm
 
rpm -i newrpm.rpm
</nowiki></pre>
 
   
 
# upgrade
 
# upgrade
 
<pre><nowiki>
 
 
rpm -u newrpm.rpm
 
rpm -u newrpm.rpm
</nowiki></pre>
 
   
 
# remove
 
# remove
 
<pre><nowiki>
 
 
rpm -e newrpm.rpm
 
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.
 
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]]
 
More details on [[http://www.ibm.com/developerworks/library/l-rpm3.html]]
   
 
{{Warningbox | Warning |* Be careful with the usage of each script section, please note the execution order which is crucial at upgrade time.
<pre><nowiki>#!wiki warning
 
 
* When importing specs from other distros use remove `%` in from of `make`}}
'''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`
 
</nowiki></pre>
 
 
   
 
==== New installation ====
 
==== New installation ====

Revision as of 03:02, 3 June 2015

Fedora RPM Build

Structure

To build an rpm must be created and/or placed different files under `/usr/src/redhat` as follow:

  1. Spec file with details of name, dependencies, instructions, etc and script of how to build the rpm under `SPEC` folder
  2. Compressed file with the sources under `SOURCES` folder

Build

To build the new rpm, run the command:

# rpmbuild -ba SPEC/newrpm.spec

The created files will be placed as follow:

  1. New RPM created under `RPMS/system_architecture` folder
  2. RPM with sources and spec file packed under `SRPMS` folder
  3. Unpacked sources under `BUILD` folder

Scripts

There are 4 types of scripts:

  1. Pre install: pre
  2. Post install: post
  3. Pre uninstall: preun
  4. Post uninstall: postun

The `rpm` command has 3 main types of execution to be considered:

  1. install
rpm -i newrpm.rpm
  1. upgrade
rpm -u newrpm.rpm
  1. remove
rpm -e newrpm.rpm

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

Error creating thumbnail: File missing
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)`