Skip to main content

Tuesday March 20, 2012

Posted in

Agenda

RPM (Repository Package Management) by Scot

Next Week: HTML5 by Matt

RPM Overview

RPM Package Manager

(recursive acronym)

Originally RedHat Pacakge Manager

Similar to *.deb

1) RPM Strucutre

file names

no spaces

version listed in file name

dabase

constains list of all installed packages and dependecies prone to corruption, but recoverable

Recovery from complete loss is nearly impossible

2) the RPM tool

install/upgrade/erase

host of flags avaliable

query

list packages with -qa

find package -qf

package info -qi

3) Build process

"rpmdevtools"

used for common tasks in RPM builds

build enviroment

~/rpmbuild

conains BUILD, BUILDROOT, RPMS, SOURCES, SEPC, SRPMS

SPEC file

definition file

contains package name, version/revision, sourcefiles, description, dependencies, compilation process, installation process, file list, RPM changelog

"rpmbuild" tool

creates RPM according to the SPEC file

**DEMO** : NCurses Direct Connect RPM bulding

4) Release Process

the "mock" tool

creates a minimal virtual system, and attempts to install RPM to that virtual system

"rmplint"

general sanity check

many common packages fail this test

5) GPG Signing

6) Repositories

structure

/<distro>/linux/<distro version>/<arch>/

Some repositories also include a "debug" directory

the "createreop" tool

used to create the contents of the repodata folder

7) YUM

updator

calls the RPM tools for actual instalation