RPM Packaging 101 - PowerPoint PPT Presentation

About This Presentation
Title:

RPM Packaging 101

Description:

Shell script automation. Tanner Lovelace Slide 6. Common RPM Installation ... Building set of shell scripts. Packaging General info, lists of files, etc. ... – PowerPoint PPT presentation

Number of Views:125
Avg rating:3.0/5.0
Slides: 14
Provided by: tannerl
Learn more at: https://trilug.org
Category:
Tags: rpm | packaging

less

Transcript and Presenter's Notes

Title: RPM Packaging 101


1
RPM Packaging 101
  • Tanner Lovelace
  • Triangle Linux Users Group
  • 11/Jan/2003

2
Outline
  • Package Management Basics
  • RPM Package Management Basics
  • Creating Your Own RPM Packages
  • Creating RPM Packages of Downloaded Programs
  • Advanced RPM Packaging

3
Package Management Basics
  • Why use package management?
  • OpenBSD base doesnt
  • Most Linux systems do
  • Keeps track of system packages
  • Files
  • Descriptions
  • Checksums
  • Other
  • Allows easy upgrades and uninstalls

4
RPM Package Management Basics
  • Developed by Redhat
  • Dominant distribution at the time was Slackware
  • Slackware has packages, but not really a package
    management system
  • RPM was a big advance over Slackware
  • Current stable version is 4.1
  • Most commonly used version today is 4.0.x
  • We will be covering 4.0.x

5
RPM Package Concepts
  • Pristine Sources
  • Most Linux software downloaded from the Internet
  • Any distribution specific customizations should
    be kept separately in patches
  • Makes it easier to handle new versions
  • Reproducible Builds
  • Building and packaging should be easy and
    reproducible
  • Shell script automation

6
Common RPM Installation Commands
  • Installation
  • rpm ihv ltpackage namegt
  • Upgrade
  • rpm Uhv ltpackage namegt
  • Freshen
  • rpm Fhv ltpackage namesgt
  • Erase
  • rpm e ltpackage namegt

7
Other Common RPM Commands
  • Query
  • rpm qoption ltpackage namegt
  • -qi Query Package Information
  • -ql List Package Files
  • -qf Query which package a file belongs to.
  • --queryformat Construct Special Query
  • --querytags List available tags
  • -p Specify non-installed rpm package
  • -a Query all installed files

8
Other Common RPM Commands
  • Verify
  • rpm Voption ltpackage namegt
  • Compare information about installed package files
    with information stored in rpm database and note
    any discrepencies.
  • Compares size, MD5 sum, permissions, type, owner,
    and group of each package file
  • Signature checking
  • rpm -K--checksig ltpackage namegt
  • Checks package gpg/pgp signature
  • Conversion to cpio
  • rpm2cpio cpio converts rpm files to cpio streams

9
Setting up the RPM Build Environment
  • NEVER BUILD RPMs AS ROOT!!!
  • /.rpmmacros
  • _topdir /path/to/rpm/build/env
  • I typically use /RPM
  • Optional temp directory
  • _tmppath /path/to/tmp
  • Create directories
  • /RPM/BUILD
  • /RPM/RPMS/ltarchgt
  • /RPM/RPMS/noarch
  • /RPM/SOURCES
  • /RPM/SPECS
  • /RPM/SRPMS

10
Creating Your Own RPMs
  • rpmbuild command
  • rpmbuild ba build binary and source rpms
  • rpmbuild bb build binary rpm
  • rpmbuild bs build source rpm
  • Before version 4, the rpm command was used
    instead of rpmbuild.
  • Compatibility aliases in 4.0
  • Aliases removed in 4.1 (Redhat 8.0)
  • Need source files, patches (if any) and a spec
    file.
  • Source and patch files go in SOURCES/
  • Spec file goes in SPECS/

11
RPM Spec Files
  • Instructions for building and packaging an rpm.
  • Building set of shell scripts
  • Packaging General info, lists of files, etc.
  • Divided into sections
  • Headers (unlabeled section)
  • description
  • prep
  • build
  • install
  • files
  • Others

12
Creating RPMs Examples
  • See Pinky and the Brain Examples at
  • http//home.fnal.gov/dawson/rpms/howto/index.html
  • Sub package example
  • Example of how to rpm-ify a package.
  • Patching
  • Conditional building

13
References
  • References will go here when presentation goes
    online..
Write a Comment
User Comments (0)
About PowerShow.com