[Frage] wie RPMs richtig bauen

Alles rund um die Installation Eures Linuxsystems, sowie die Updatefunktionen des Systems und das Paketmanagement

Moderator: Moderatoren

Antworten
taki
Advanced Hacker
Advanced Hacker
Beiträge: 974
Registriert: 30. Apr 2004, 17:40
Wohnort: Berlin
Kontaktdaten:

[Frage] wie RPMs richtig bauen

Beitrag von taki » 1. Apr 2005, 15:03

http://www.linux-club.de/viewtopic.php?p=157537#157537

Dass man mit apt Sourcepakete neu bauen kann, kannte ich noch nicht. Ist genial.

Dabei frage ich mich, ob es Sinn macht, so ein Paket ins Netz hochzuladen? Können andere damit etwas anfangen, oder bringe ich den Anwender damit nur in die Abhängigkeitskriese? Ich könnte mir vorstellen, dass ein bei mir gebautes Paket bei anderen Anwendern Probleme macht, weil mein System längst kaum noch Ähnlichkeit mit der Boxversion hat. Um ein Paket z.B. für Packman zu bauen, braucht es doch sicher noch einiges mehr als den in oben verlinktem Posting beschriebenen rebuild?

Gibt es eigentlich eine gut verständliche Anleitung, worauf man achten muss, wenn man ein Paket für packman bauen möchte? Spezielle Build-Umgebung nötig? Was muss zwingend ins Spec?

Für SuSE 9.1 wird von mir wohl nix mehr kommen, da die 9.3 schon bestellt ist und ich vor dem Distributionsupgrade bestimmt noch nicht so weit bin brauchbare RPMs zu bauen. Aber für die Zukunft habe ich mir vorgenommen, mich da einzuarbeiten, um hoffentlich auch mal etwas an die Comunity zurückgeben zu können.
SuSE 12.3 kernel 3.7.10-1.16-desktop, K Desktop Environment Version 4.10.5 r1 - Medion Titanium Aldi v. 03/2009

Werbung:
Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Re: [Frage] wie RPMs richtig bauen

Beitrag von oc2pus » 1. Apr 2005, 15:16

taki hat geschrieben:Dass man mit apt Sourcepakete neu bauen kann, kannte ich noch nicht. Ist genial.
ja dann solltest du mal das man apt-get lesen ...
die Optionen lauten:
apt-get source <paket> (nur holen des src.rpm)
apt-get source --build <paket> (holen und compilieren des paketes)
taki hat geschrieben:Um ein Paket z.B. für Packman zu bauen, braucht es doch sicher noch einiges mehr als den in oben verlinktem Posting beschriebenen rebuild?
nein, in dem src.rpm stecken alle Patches, das spec-file und die Sourcen drin ... du baust es ja nach dem Bauplan des Packagers für dein System.
taki hat geschrieben:Gibt es eigentlich eine gut verständliche Anleitung, worauf man achten muss, wenn man ein Paket für packman bauen möchte? Spezielle Build-Umgebung nötig? Was muss zwingend ins Spec?
hier nachlesen:
1.) allgemeine Einleitung, deutsch
http://www.tu-chemnitz.de/docs/lindocs/RPM/node12.html
2.) die "Bibel" von Red-hat
http://www.rpm.org/max-rpm/index.html
3.) Einführung in deutsch
http://www.linuxhaven.de/dlhp/HOWTO/DE-RPM-HOWTO-7.html
4.) SuSE Spezialitäten für RPMs
http://ftp.novell.com/pub/forge/library ... s/spc.html

ansonsten google ...

und hier noch ein Beispiel für ein SPEC-File:

Code: Alles auswählen

# norootforbuild
# neededforbuild update-desktop-files libogg libogg-devel libvorbis libvorbis-devel gtk2-devel gtk2 libid3tag-devel libid3tag libglade2-devel libglade2 mad-devel mad atk-devel atk pango-devel pango flac-devel flac zlib-devel zlib

%define _prefix /usr

Name:          graveman
License:       GPL
Group:         Productivity/Multimedia/Video/Utilities
URL:           http://scresto.site.voila.fr
Summary:       Frontend for cdrtools (cdrecord, readcd, mkisofs), sox and ogginfo
Version:       0.3.9
Release:       0.oc2pus.1
Source:        %{name}-%{version}.tar.bz2
BuildRoot:     %{_tmppath}/%{name}-%{version}-build
Packager:      oc2pus <oc2pus@irgendwo.de>
BuildRequires: libogg-devel >= 1.0 
BuildRequires: libvorbis-devel >= 1.0 
BuildRequires: gtk2-devel >= 2.4.0
BuildRequires: libid3tag-devel > 0.15 
BuildRequires: libglade2-devel >= 2.0 
BuildRequires: mad-devel >= 0.15
BuildRequires: atk-devel >= 1.0
BuildRequires: pango-devel >= 1.0
BuildRequires: flac-devel >= 1.1.0
BuildRequires: zlib-devel >= 1.1.4
Requires:      gtk+ >= 2.4.0 
Requires:      glib2 >= 2.4.0 
Requires:      libid3tag >= 0.15 
Requires:      libogg >= 1.0 
Requires:      libvorbis >= 1.0 
Requires:      libglade2 >= 2.0 
Requires:      mad >= 0.15
Requires:      cdrecord >= 2.0 
Requires:      cdrdao
Requires:      mkisofs >= 2.0 
Requires:      sox >= 12.17.0 
Requires:      dvd+rw-tools >= 5.10
Requires:      atk >= 1.0
Requires:      pango >= 1.0
Requires:      flac >= 1.1.0
Requires:      sox >= 12.17.0
Requires:      zlib >= 1.1.4

%description
Graveman! is a GPL frontend for :
    * cdrecord
    * mkisofs
    * readcd
    * sox
    * dvd+rw-format/dvd+rw-tools

Graveman! can burn audio cd (wav, ogg, mp3), data cd and dvd, duplicate cd, and
clean rewritable cd and dvd.

This software use GTK2 library.

Authors: Sylvain Cresto <sylvain.cresto@tiscali.fr>

%prep
%setup -n %{name}-%{version}
%{?suse_update_config:%{suse_update_config -f}}

%build
CFLAGS="$RPM_OPT_FLAGS" \
CXXFLAGS="$RPM_OPT_FLAGS" \
./configure \
	--prefix=%{_prefix} \
	--enable-linux-ide
make

%install
make DESTDIR=%{buildroot} install
%suse_update_desktop_file %{name} AudioVideo DiscBurning
%find_lang %{name}

%clean
[ -d %{buildroot} -a "%{buildroot}" != "" ] && rm -rf %{buildroot}

%files -f %{name}.lang
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog INSTALL NEWS README* THANKS 
%{_bindir}/%{name}
#%{_datadir}/locale/*/LC_MESSAGES/%{name}.mo
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}48.png
%{_datadir}/%{name}/*

%changelog -n graveman
* Fri Apr 01 2005 - oc2pus@irgendwo.de 0.3.9-0.oc2pus.1
- little modifications in spec-file
- added configure option: --enable-linux-ide
- update to 0.3.9
* Wed Feb 16 2005 - oc2pus@irgendwo.de 0.3.8-0.oc2pus.1
- update to 0.3.8
* Sun Feb 13 2005 - oc2pus@irgendwo.de 0.3.7-0.oc2pus.1
- update to 0.3.7
* Wed Feb 09 2005 - oc2pus@irgendwo.de 0.3.6-0.oc2pus.1
- update to 0.3.6
* Thu Feb 01 2005 - oc2pus@irgendwo.de 0.3.5-0.oc2pus.1
- update to 0.3.5
Zuletzt geändert von oc2pus am 6. Jan 2006, 15:20, insgesamt 1-mal geändert.
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User

taki
Advanced Hacker
Advanced Hacker
Beiträge: 974
Registriert: 30. Apr 2004, 17:40
Wohnort: Berlin
Kontaktdaten:

Beitrag von taki » 1. Apr 2005, 15:48

Danke.
Genau was ich gesucht hab.

Gruß,
Taki
SuSE 12.3 kernel 3.7.10-1.16-desktop, K Desktop Environment Version 4.10.5 r1 - Medion Titanium Aldi v. 03/2009

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste