Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager - Presentation Transcript

    1. Einführung in die Erstellung von Software-Paketen mit dem RPM Package Manager Lenz Grimmer <lenz@grimmer.com> 2008-03-13, TU Harburg
    2. Inhalt ● Hintergrund / Historie ● Funktionen / Arbeitsweise ● Installation von RPM-Paketen ● Erstellen von RPM-Paketen ● Weitere Informationen / Links
    3. Hintergrund/Historie ● Paketmanagementsystem und Dateiformat ● 1997 von Eric Troan und Marc Ewing (Red Hat) entwickelt ● Basis vieler Linux-Distributionen (RHEL, Fedora, SLES, openSUSE, CentOS, Mandriva) ● AIX, OpenSolaris, MacOS X, OpenPKG
    4. Funktionen / Arbeitsweise ● Erstellung/Installation/Deinstallation von Softwarepaketen ● Konsistenzprüfung (MD5-Checksummen / GPG-Signaturen) ● Überprüfung von Abhängigkeiten / Kollisionen bei Installation ● Meta-Daten (Name, Version, Lizenz, Konfigurationsdateien, Dokumentation) ● Zentrale Datenbank
    5. Vorteile ● Einfache, rückstandsfreie Deinstallation ● Plattform-/Architekturunabhängig ● Automatisierbar (rpmlib) ● Original-Quellarchive + Patches im Quellpaket enthalten ● Sicherung von Konsistenz & Authentizität ● Reproduzierbare Builds
    6. Installation von RPM-Paketen ● Paketformat: gzip-komprimierte cpio- Datei mit Header ● Plattformspezifische Pakete (z.B. i586, sparc, ppc) ● Überprüfung der Abhängigkeiten ● Pre-/Postinstallations-Scripts ● Trigger ● RPM-Datenbank /var/lib/rpm
    7. Erstellen von RPM-Paketen rpmbuild foo­x.y.tar.gz foo­x.y­0.src.rpm foo.spec foo.patch foo­x.y­0.i586.rpm
    8. Sources / Patches ● „Pristine Sources“ - Original Quellarchiv soll möglichst erhalten bleiben ● Notwendige Modifikationen über separate patch-Dateien (optional) ● Multiple Sourcen/Patches möglich
    9. .spec-Datei ● Header (Metainformationen) ● Bauanleitung ● Scripts/Trigger ● Dateilisten ● Abhängigkeiten ● Macros: /usr/lib/rpm
    10. Build-Phasen ● %prep – Vorbereitung der Quellen ● Extrahieren ● Patchen ● %build – Übersetzung der Quellen ● configure ; make ● %install – Installation ● make install ● %files - Dateilisten
    11. Abhängigkeiten ● Requires: ● PreReq: ● Provides: ● Conflicts: ● Obsoletes: ● BuildRequires: ● BuildPreReq:
    12. Scripts / Trigger ● %pre ● %post ● %preun ● %postun ● %triggerin ● %triggerun ● %triggerpostun
    13. minimale .spec-Datei # # A very minimal specfile # Name: demo Version: 1.2 Release: 0 Group: Applications/Utilities License: GPL Summary: A demo package %description The most simple package possible
    14. Live-Demo
    15. Hinweise ● Immer mit BuildRoot arbeiten ● Pakete bauen ohne root-Rechte ● chroot()-Umgebung zur Konsistenzsicherung / Reproduzierbarkeit ● lokal:build (openSUSE) oder mock (Fedora) ● openSUSE Build Service: http://build.opensuse.org/ ● Fedora Koji: http://koji.fedoraproject.org/koji/
    16. Weitere Informationen / Links ● Alternative Paketmanagement-Systeme ● DEB/dpkg (z.B. Debian, Ubuntu, Fink): http://www.debian.org/doc/FAQ/ch-pkg_basics ● Conary: http://wiki.rpath.com/wiki/Conary ● Auf RPM aufsetzend ● Yum: http://linux.duke.edu/projects/yum/ ● Smart RPM: http://smartrpm.org ● apt-rpm: http://apt-rpm.org/
    17. Links / Dokumentation ● RPM: http://rpm.org/ / http://rpm5.org/ ● RPM Guide: http://docs.fedoraproject.org/drafts/rpm-guide-en/ ● Maximum RPM: http://rpm5.org/docs/max-rpm.html ● RPM HOWTO: http://www.tldp.org/HOWTO/RPM-HOWTO/ ● Creating Quality RPMs (pdf): http://www.gurulabs.com/goodies/guru+guides.php
    18. Fragen / Diskussion
    19. Vielen Dank! lenz@grimmer.com
    SlideShare Zeitgeist 2009

    + Lenz GrimmerLenz Grimmer Nominate

    custom

    283 views, 0 favs, 0 embeds more stats

    A slide deck (in German) about creating RPM package more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 283
      • 283 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories