Difference between revisions of "Fedora-rpm"
From Bashlinux
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]] |
||
⚫ | |||
− | <pre><nowiki>#!wiki warning |
||
⚫ | |||
− | '''warning''' |
||
− | |||
⚫ | |||
⚫ | |||
− | </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:
- 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:
# rpmbuild -ba SPEC/newrpm.spec
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
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 `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.
|
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)`