Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
rpm-bau [2010/01/15 13:14] kellerleiche |
rpm-bau [2014/03/05 22:25] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ~~NOTOC~~ | + | |
====== RPM-Paketbau-Anleitung ====== | ====== RPM-Paketbau-Anleitung ====== | ||
- | ** INTRO ** | ||
- | |||
- | |||
- | *** [[@pclos.php?id=rpm-bau#was_ist_ein_rpm| Was ist ein RPM ?]]** | ||
- | *** [[@doku.php?id=rpmbau#warum_rpms_bauen| Warum RPMs bauen ?]]** | ||
- | *** [[@doku.php?id=rpmbau#fuer_wen_ist_diese_anleitung_gedacht| Für wen ist diese Anleitung gedacht ?]]** | ||
- | *** [[@doku.php?id=rpmbau#wer_kann_rpms_bauen| Wer kann RPMs bauen ?]]** | ||
- | *** [[@doku.php?id=rpmbau#was_wird_zum_rpm-bau_benoetigt| Was wird zum RPM-Bau benötigt ?]]** | ||
- | *** [[@doku.php?id=rpmbau#konfiguration_des_systems| Konfiguration des Systems]]** | ||
- | |||
- | |||
- | ** SETUP ** | ||
- | |||
- | |||
- | *** [[@doku.php?id=rpmbau#system_zur_rpm_erstellung_vorbereiten| System zur RPM Erstellung vorbereiten]]** | ||
- | *** [[@doku.php?id=rpmbau#anmerkung| Anmerkung]]** | ||
- | |||
- | |||
- | ** SPEC DATEI 1 ** | ||
- | |||
- | |||
- | *** [[@doku.php?id=rpmbau#einleitung| Einleitung]]** | ||
- | *** [[@doku.php?id=rpmbau#die_spec-datei| Die Spec-Datei]]** | ||
- | *** [[@doku.php?id=rpmbau#aus_dem_srpm_extrahieren| Aus dem SRPM extrahieren]]** | ||
- | *** [[@doku.php?id=rpmbau#die_spec-datei_selbst_schreiben| Die Spec-Datei selbst schreiben]]** | ||
- | *** [[@doku.php?id=rpmbau#uebersicht_einer_spec-datei| Übersicht einer Spec-Datei]]** | ||
- | |||
- | |||
- | ** SPEC DATEI 2 ** | ||
- | |||
- | |||
- | *** [[@doku.php?id=rpmbau#spec_datei_uebersicht| Spec-Datei Übersicht]]** | ||
- | *** [[@doku.php?id=rpmbau#abschnittbeschreibung| 1. Abschnitt: Beschreibung]]** | ||
- | *** [[@doku.php?id=rpmbau#zusatz| Zusatz: (Suggests/Conflicts/Obsoletes)]]** | ||
- | *** [[@doku.php?id=rpmbau#abhaengigkeiten_ausschalten_aushebeln| Abhängigkeiten ausschalten/aushebeln]]** | ||
- | |||
- | *** [[@doku.php?id=rpmbau#macros| Macros]]** | ||
- | *** [[@doku.php?id=rpmbau#define| %define]]** | ||
- | *** [[@doku.php?id=rpmbau#mkrel|%mkrel]]** | ||
- | *** [[@doku.php?id=rpmbau#name|%name]]** | ||
- | *** [[@doku.php?id=rpmbau#version|%version]]** | ||
- | *** [[@doku.php?id=rpmbau#release|%release]]** | ||
- | *** [[@doku.php?id=rpmbau#tmppath|%_tmppath]]** | ||
- | |||
- | |||
- | ** SPEC DATEI 3 ** | ||
- | |||
- | |||
- | *** [[@doku.php?id=rpmbau#abschnittbauanleitung| 2. Abschnitt: Bauanleitung]]** | ||
- | *** [[@doku.php?id=rpmbau#description| %description]]** | ||
- | *** [[@doku.php?id=rpmbau#prep| %prep]]** | ||
- | *** [[@doku.php?id=rpmbau#setup| %setup]]** | ||
- | *** [[@doku.php?id=rpmbau#build| %build]]** | ||
- | *** [[@doku.php?id=rpmbau#configure| %configure]]** | ||
- | *** [[@doku.php?id=rpmbau#make| %make]]** | ||
- | *** [[@doku.php?id=rpmbau#install| %install]]** | ||
- | *** [[@doku.php?id=rpmbau#makeinstall| %makeinstall]]** | ||
- | *** [[@doku.php?id=rpmbau#makeinstall_std| %makeinstall_std]]** | ||
- | *** [[@doku.php?id=rpmbau#clean| %clean]]** | ||
- | *** [[@doku.php?id=rpmbau#post| %post]]** | ||
- | *** [[@doku.php?id=rpmbau#postun| %postun]]** | ||
- | *** [[@doku.php?id=rpmbau#prefix| %{_prefix}]]** | ||
- | *** [[@doku.php?id=rpmbau#rpm_build_root| $ RPM_BUILD_ROOT]]** | ||
- | *** [[@doku.php?id=rpmbau#rpm_build_root| $ RPM_BUILD_DIR]]** | ||
- | |||
- | |||
- | ** SPEC DATEI 4 ** | ||
- | |||
- | |||
- | *** [[@doku.php?id=rpmbau#abschnittdateien| Abschnitt: Dateien]]** | ||
- | *** [[@doku.php?id=rpmbau#files| %files]]** | ||
- | *** [[@doku.php?id=rpmbau#defattr_-_root_root| %defattr(-, root, root)]]** | ||
- | *** [[@doku.php?id=rpmbau#doc| %doc]]** | ||
- | *** [[@doku.php?id=rpmbau#changelog| %changelog]]** | ||
- | |||
- | |||
- | ** COMPILE ** | ||
- | |||
- | |||
- | *** [[@doku.php?id=rpmbau#kompilierung_eines_rpms| Kompilierung eines RPMs]]** | ||
- | |||
- | |||
- | ** Splitting ** | ||
- | |||
- | |||
- | *** [[@doku.php?id=rpmbau#erstellung_von_bibliotheksnamen| Erstellung von Bibliotheksbeamten]]** | ||
- | *** [[@doku.php?id=rpmbau#major| %major]]** | ||
- | *** [[@doku.php?id=rpmbau#mklibname| %mklibname]]** | ||
- | *** ****e_dbus Beispiel** | ||
- | |||
- | *** [[@doku.php?id=rpmbau#abschnittzusammenfassende_beschreibung| Abschnitt: Zusammenfassende Beschreibung]]** | ||
- | *** [[@doku.php?id=rpmbau#package| %pakage]]** | ||
- | *** [[@doku.php?id=rpmbau#summary| Summary]]** | ||
- | *** [[@doku.php?id=rpmbau#group| Group]]** | ||
- | *** [[@doku.php?id=rpmbau#description1| %description]]** | ||
- | |||
- | |||
- | *** [[@doku.php?id=rpmbau#datei_abschnitt| Datei Abschnitt]]** | ||
- | *** [[@doku.php?id=rpmbau#patch_erstellen| Patch erstellen]] ** | ||
- | |||
- | |||
- | *** [[@doku.php?id=rpmbau#tools| Tools]] ** | ||
- | *** [[@doku.php?id=rpmbau#nuetzliche_links| Nützliche Links]] ** | ||
- | |||
- | |||
- | \\ | ||
- | ---- | ||
- | \\ | ||
__**Vorwort **__ | __**Vorwort **__ | ||
Zeile 193: | Zeile 85: | ||
Bevor dies mit //Ausführen (Apply)// bestätigt wird suchen und markieren wir noch die folgenden Pakete: | Bevor dies mit //Ausführen (Apply)// bestätigt wird suchen und markieren wir noch die folgenden Pakete: | ||
- | *autoconf2.1 | + | *pkgutils |
- | *autoconf2.5 | + | oder für **KDE 4** |
- | *automake1.7 | + | *pgkutils-kde4 |
- | *automake1.8 | + | oder für den **Thunar** Dateimanager |
- | *elfutils | + | *pkgutils-thunar |
- | *gcc-c++ | + | |
- | *gettext | + | |
- | *libgettextmisc | + | |
- | *libstdc++6-devel | + | |
- | *libtool-base | + | |
- | *rpm-build | + | |
- | *rpm-pclinuxos-setup-build | + | |
- | *spec-helper | + | |
Abschließend werden diese über //Vormerken -> Ausführen //installiert. Fertig! | Abschließend werden diese über //Vormerken -> Ausführen //installiert. Fertig! | ||
Zeile 224: | Zeile 107: | ||
- | Wir erstellen daher eine eigene RPM Bau-Umgebung mittels folgender Verzeichnisstruktur in unserem Persönlichen Verzeichnis: | + | <del>Wir erstellen daher eine eigene RPM Bau-Umgebung mittels folgender Verzeichnisstruktur in unserem Persönlichen Verzeichnis:</del> |
+ | |||
+ | Sollte mkrepo nicht Ordnungsgemäß ausgeführt werden beim installieren von pkgutils, starten Sie bitte eine Konsole/Terminal und geben Sie den Befehl mkrepo ein. Folgen Sie den Anweisungen und entscheiden Sie sich jeweils für einen Namen, wenn Sie gefragt werden was Sie nehmen wollen. z.B. user-or-pclos. Nehmen Sie entweder **user** oder **pclos**. | ||
+ | |||
+ | <del>(<username> durch Ihren Benutzernamen ersetzen und auf Groß-/Kleinschreibung achten)</del> | ||
- | (<username> durch Ihren Benutzernamen ersetzen und auf Groß-/Kleinschreibung achten) | + | Durch die Nutzung von **mkrepo** wird alles so erstellt wie nachfolgend beschrieben ist. |
Zeile 269: | Zeile 156: | ||
mkdir -p RPM/SOURCES | mkdir -p RPM/SOURCES | ||
mkdir -p RPM/SPECS | mkdir -p RPM/SPECS | ||
+ | mkdir -p RPM/BUILDROOT | ||
mkdir -p RPM/BUILD | mkdir -p RPM/BUILD | ||
mkdir -p RPM/tmp | mkdir -p RPM/tmp | ||
Zeile 1040: | Zeile 928: | ||
<code> | <code> | ||
- | rpm -ba NameDeinerSpecDatei.spec | + | rpmbuild -ba NameDeinerSpecDatei.spec |
</code> | </code> | ||
Zeile 1239: | Zeile 1127: | ||
<code> | <code> | ||
- | rpm -bp ~/RPM/SRPMS/xxx.spec | + | rpmbuild -bp ~/RPM/SRPMS/xxx.spec |
</code> bewirkt %prep ausführen | </code> bewirkt %prep ausführen | ||
Zeile 1327: | Zeile 1215: | ||
[[http://linuxwiki.de/RPM/BuildAlsUser#head-5a972414df3819fc50ef23200acbf4122c16fdaf]] \\ | [[http://linuxwiki.de/RPM/BuildAlsUser#head-5a972414df3819fc50ef23200acbf4122c16fdaf]] \\ | ||
[[http://docs.fedoraproject.org/drafts/rpm-guide-en/ch-advanced-packaging.html]] \\ | [[http://docs.fedoraproject.org/drafts/rpm-guide-en/ch-advanced-packaging.html]] \\ | ||
- |