Your SlideShare is downloading. ×
0
RPM Packaging 101 (Old)
RPM Packaging 101 (Old)
RPM Packaging 101 (Old)
RPM Packaging 101 (Old)
RPM Packaging 101 (Old)
RPM Packaging 101 (Old)
RPM Packaging 101 (Old)
RPM Packaging 101 (Old)
RPM Packaging 101 (Old)
RPM Packaging 101 (Old)
RPM Packaging 101 (Old)
RPM Packaging 101 (Old)
RPM Packaging 101 (Old)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

RPM Packaging 101 (Old)

2,448

Published on

A talk I gave to the Triangle Linux Users Group ( http://www.trilug.org/ ) on 11-Jan-2003 on how to build RPM packages. Probably fairly outdated at this point.

A talk I gave to the Triangle Linux Users Group ( http://www.trilug.org/ ) on 11-Jan-2003 on how to build RPM packages. Probably fairly outdated at this point.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,448
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
39
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Transcript

    • 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 doesn’t
        • 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 <package name>
      • Upgrade
        • rpm –Uhv <package name>
      • Freshen
        • rpm –Fhv <package names…>
      • Erase
        • rpm –e <package name>
    • 7. Other Common RPM Commands
      • Query
        • rpm –q[option] <package name>
          • -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 –V[option] <package name>
          • 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} <package name>
          • 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/<arch>
        • ~/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..

    ×