Hallo zusammen,
Eben wollte ich via APT das neue k3b-Paket von Packman aufspielen.
Scheinbar hat der Packer einen Fehler im spec-File, es werden einige sehr seltsame, nicht erfüllte Paketabhängigkeiten angezeigt.
Von einem Update würde ich dringend abraten, bis eine fehlerbereinigte Version von Packman vorliegt.
Greetz,
RM
UPDATE: Ich habe aus dem src.rpm mit leicht abgeändertem spec-file neue rpms gebacken, welche sich anstandslos installieren lassen und auch ohne Probleme laufen. Für die, die es auch nicht erwarten können, bis eine neue Version da ist, hier eine Anleitung, wie ich das gemacht habe.
1. src.rpm runtergeladen bei Packman:
http://packman.links2linux.de/?action=219
2. src.rpm installiert:
3. spec-file editieren in /usr/src/packages/SPECS
Wie man sieht, sind die Trennzeichen scheinbar Tabstopps, Ich habe sie einfach wie weiter oben bei den BuildRequires in 2 Leerzeichen umgewandelt.
und abspeichern als k3b.spec in /usr/src/packages/SPECS
4. Devel-Pakete für den Build-Prozess nachinstallieren.
Das hängt jetzt stark von den bereits installierten Paketen ab.
Einfacher Trick:
und sich die entsprechenden Fehlermeldungen ansehen, was noch zum Build gebraucht wird. Diese Pakete dann via APT oder Yast nachinstallieren. Vorsicht, das kann eine ganze Menge sein, besonders wenn man vorher noch nie ein Paket selbst kompiliert hat und deshalb keine *-devel-Pakete auf dem Rechner installiert sind.
5. rpm neu bauen:
hier gibt es verschiedene Möglichkeiten, ich habe folgendes gemacht:
damit werden 2 rpms
k3b-0.12.12-0.pm.1.i586.rpm
k3b-mad-0.12.12-0.pm.1.i586.rpm
und ein neues src.rpm
k3b-0.12.12-0.pm.1.src.rpm
mit angepasstem spec-file gebaut.
Wer NUR die Binaries will, der baut das rpm mit folgendem Parameter:
Wer ein Paket speziell für eine andere Prozessorarchitektur will (z.B. i686 = PIV) der muß beim rpmbuild noch folgenden Parameter hinzufügen:
also für obiges Beispiel (nur Binaries aber diesmal speziell für i686-Prozessoren)
Das ist aber nicht nötig, die i586-Pakete sollten genauso gut laufen, es ist mehr eine weitere Option, da ich diesen Post als Anlaß nehmen möchte, ein paar Tipps zum Bauen von rpms aus src.rpms zu geben.
6. Das Heißgetränk der Wahl holen und gebannt auf den Bildschirm starren, wie die Kiste vor sich hinrattert. (Dauer hängt stark vom Rechner ab, meine etwas betagte Gurke PIV 2.4 GHz 768 MB RAM hat etwa 10-15 Minuten gebraucht)
Wenn alles gut geht, dann sollte am Ende in etwa sowas stehen:
Wie man sieht, habe ich sowohl ein src.rpm als auch Binary-Pakete für i686 gebaut, welche man nun unter /usr/src/packages/RPM/i686 bzw. /usr/src/packages/SRPMS findet. Ohne die Option --target=i686 finden sich die i586-Pakete logischerweise in /usr/src/packages/RPM/i586.
7. Installieren/Updaten
a) k3b war schon installiert:
Für die i686 Pakete natürlich:
b) k3b war noch nicht installiert:
Für die i686 Pakete natürlich:
Eben wollte ich via APT das neue k3b-Paket von Packman aufspielen.
Scheinbar hat der Packer einen Fehler im spec-File, es werden einige sehr seltsame, nicht erfüllte Paketabhängigkeiten angezeigt.
Update wird also so nicht funzen. Lädt man das Paket von Hand herunter und installiert das Paket mit --nodeps, dann läuft es zwar, jedoch werden beim nächsten Start von APT defekte Pakete angezeigt. Der Fehler liegt also NICHT im Binary selbst sondern in falschen Dependencies.Die folgenden Pakete besitzen unerfülte Abhängigkeiten:
k3b: Hängt ab von: is aber es ist nicht installierbar
Hängt ab von: not aber es ist nicht installierbar
Hängt ab von: installed aber es ist nicht installierbar
Von einem Update würde ich dringend abraten, bis eine fehlerbereinigte Version von Packman vorliegt.
Greetz,
RM
UPDATE: Ich habe aus dem src.rpm mit leicht abgeändertem spec-file neue rpms gebacken, welche sich anstandslos installieren lassen und auch ohne Probleme laufen. Für die, die es auch nicht erwarten können, bis eine neue Version da ist, hier eine Anleitung, wie ich das gemacht habe.
1. src.rpm runtergeladen bei Packman:
http://packman.links2linux.de/?action=219
2. src.rpm installiert:
Code:
rpm -ivh k3b-0.12.12-0.pm.1.src.rpm
Code:
Requires: cdrdao, cdrecord, mkisofs
Requires: alsa >= %( rpm -q --queryformat '%{VERSION}' alsa )
Requires: arts >= %( rpm -q --queryformat '%{VERSION}' arts )
Requires: flac >= %( rpm -q --queryformat '%{VERSION}' flac )
Requires: glibc >= %( rpm -q --queryformat '%{VERSION}' glibc )
Requires: kdelibs3 >= %( rpm -q --queryformat '%{VERSION}' kdelibs3 )
Requires: lame >= %( rpm -q --queryformat '%{VERSION}' lame )
Requires: libffmpeg0 >= %( rpm -q --queryformat '%{VERSION}' libffmpeg0 )
Requires: libgcc >= %( rpm -q --queryformat '%{VERSION}' libgcc )
Requires: libmpcdec >= %( rpm -q --queryformat '%{VERSION}' libmpcdec )
Requires: libmusicbrainz >= %( rpm -q --queryformat '%{VERSION}' libmusicbrainz )
Requires: libogg >= %( rpm -q --queryformat '%{VERSION}' libogg )
Requires: libsamplerate >= %( rpm -q --queryformat '%{VERSION}' libsamplerate )
Requires: libsndfile >= %( rpm -q --queryformat '%{VERSION}' libsndfile )
Requires: libstdc++ >= %( rpm -q --queryformat '%{VERSION}' libstdc++ )
Requires: libvorbis >= %( rpm -q --queryformat '%{VERSION}' libvorbis )
Requires: mad >= %( rpm -q --queryformat '%{VERSION}' mad )
Requires: qt3 >= %( rpm -q --queryformat '%{VERSION}' qt3 )
Requires: resmgr >= %( rpm -q --queryformat '%{VERSION}' resmgr )
Requires: taglib >= %( rpm -q --queryformat '%{VERSION}' taglib )
Requires: zlib >= %( rpm -q --queryformat '%{VERSION}' zlib )
Requires: dbus-1 >= %( rpm -q --queryformat '%{VERSION}' dbus-1 )
Requires: dbus-1-qt >= %( rpm -q --queryformat '%{VERSION}' dbus-1-qt )
Requires: hal >= %( rpm -q --queryformat '%{VERSION}' hal )
Requires: xorg-x11-libs >= %( rpm -q --queryformat '%{VERSION}' xorg-x11-libs )
Code:
Requires: cdrdao, cdrecord, mkisofs
Requires: alsa >= %( rpm -q --queryformat '%{VERSION}' alsa )
Requires: arts >= %( rpm -q --queryformat '%{VERSION}' arts )
Requires: flac >= %( rpm -q --queryformat '%{VERSION}' flac )
Requires: glibc >= %( rpm -q --queryformat '%{VERSION}' glibc )
Requires: kdelibs3 >= %( rpm -q --queryformat '%{VERSION}' kdelibs3 )
Requires: lame >= %( rpm -q --queryformat '%{VERSION}' lame )
Requires: libffmpeg0 >= %( rpm -q --queryformat '%{VERSION}' libffmpeg0 )
Requires: libgcc >= %( rpm -q --queryformat '%{VERSION}' libgcc )
Requires: libmpcdec >= %( rpm -q --queryformat '%{VERSION}' libmpcdec )
Requires: libmusicbrainz >= %( rpm -q --queryformat '%{VERSION}' libmusicbrainz )
Requires: libogg >= %( rpm -q --queryformat '%{VERSION}' libogg )
Requires: libsamplerate >= %( rpm -q --queryformat '%{VERSION}' libsamplerate )
Requires: libsndfile >= %( rpm -q --queryformat '%{VERSION}' libsndfile )
Requires: libstdc++ >= %( rpm -q --queryformat '%{VERSION}' libstdc++ )
Requires: libvorbis >= %( rpm -q --queryformat '%{VERSION}' libvorbis )
Requires: mad >= %( rpm -q --queryformat '%{VERSION}' mad )
Requires: qt3 >= %( rpm -q --queryformat '%{VERSION}' qt3 )
Requires: resmgr >= %( rpm -q --queryformat '%{VERSION}' resmgr )
Requires: taglib >= %( rpm -q --queryformat '%{VERSION}' taglib )
Requires: zlib >= %( rpm -q --queryformat '%{VERSION}' zlib )
Requires: dbus-1 >= %( rpm -q --queryformat '%{VERSION}' dbus-1 )
Requires: dbus-1-qt >= %( rpm -q --queryformat '%{VERSION}' dbus-1-qt )
Requires: hal >= %( rpm -q --queryformat '%{VERSION}' hal )
Requires: xorg-x11-libs >= %( rpm -q --queryformat '%{VERSION}' xorg-x11-libs )
4. Devel-Pakete für den Build-Prozess nachinstallieren.
Das hängt jetzt stark von den bereits installierten Paketen ab.
Einfacher Trick:
Code:
rpmbuild -ba /usr/src/packages/SPECS/k3b.spec
5. rpm neu bauen:
hier gibt es verschiedene Möglichkeiten, ich habe folgendes gemacht:
Code:
rpmbuild -ba /usr/src/packages/SPECS/k3b.spec
k3b-0.12.12-0.pm.1.i586.rpm
k3b-mad-0.12.12-0.pm.1.i586.rpm
und ein neues src.rpm
k3b-0.12.12-0.pm.1.src.rpm
mit angepasstem spec-file gebaut.
Wer NUR die Binaries will, der baut das rpm mit folgendem Parameter:
Code:
rpmbuild -bb /usr/src/packages/SPECS/k3b.spec
Code:
--target=i686
Code:
rpmbuild -bb --target=i686 /usr/src/packages/SPECS/k3b.spec
6. Das Heißgetränk der Wahl holen und gebannt auf den Bildschirm starren, wie die Kiste vor sich hinrattert. (Dauer hängt stark vom Rechner ab, meine etwas betagte Gurke PIV 2.4 GHz 768 MB RAM hat etwa 10-15 Minuten gebraucht)
Wenn alles gut geht, dann sollte am Ende in etwa sowas stehen:
Code:
Wrote: /usr/src/packages/SRPMS/k3b-0.12.12-0.pm.1.src.rpm
Wrote: /usr/src/packages/RPMS/i686/k3b-0.12.12-0.pm.1.i686.rpm
Wrote: /usr/src/packages/RPMS/i686/k3b-mad-0.12.12-0.pm.1.i686.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.54065
+ umask 022
+ cd /usr/src/packages/BUILD
+ cd k3b-0.12.12
+ '[' -d /var/tmp/buildroot-k3b-0.12.12 -a /var/tmp/buildroot-k3b-0.12
.12 '!=' / ']'
+ rm -rf /var/tmp/buildroot-k3b-0.12.12
+ exit 0
7. Installieren/Updaten
a) k3b war schon installiert:
Code:
rpm -Uvh /usr/src/packages/RPMS/i586/k3b-0.12.12-0.pm.1.i586.rpm /usr/src/packages/RPMS/i586/k3b-mad-0.12.12-0.pm.1.i586.rpm
Code:
rpm -Uvh /usr/src/packages/RPMS/i686/k3b-0.12.12-0.pm.1.i686.rpm /usr/src/packages/RPMS/i686/k3b-mad-0.12.12-0.pm.1.i686.rpm
Code:
rpm -ivh /usr/src/packages/RPMS/i586/k3b-0.12.12-0.pm.1.i586.rpm /usr/src/packages/RPMS/i586/k3b-mad-0.12.12-0.pm.1.i586.rpm
Code:
rpm -ivh /usr/src/packages/RPMS/i686/k3b-0.12.12-0.pm.1.i686.rpm /usr/src/packages/RPMS/i686/k3b-mad-0.12.12-0.pm.1.i686.rpm