• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Installation eines Source Package

Hallo,

aus dem openSUSE Repository habe ich zwei Pakete heruntergeladen. Eines ist ein Binary rpm, das zweite ein Source *.src.rpm. Das Binärpaket hat eine Abhängigkeit zum Sourcepaket.
Yast kann damit schon mal nichts anfangen. In der manpage von zypper sind Sourcepakete zwar erwähnt, aber die Beschreibung ist etwas kryptisch und richtig verstanden habe ich die nicht.

Kann mir jemand erläutern was genau die Optionen bedeuten und was man mit den Paketen machen muss?

Code:
       source-install (si) <name> ...
              Install specified source packages and their build dependencies. If the name of a binary package is given, the coresponding source package is looked up and installed instead.

              This command will try to find the newest available versions of the source packages and use rpm -i to install them and the packages that are required to build the source pack-
              age.

              Note that the source packages must be available in repositories you are using.  You can check whether a repository contains any source packages using the following command:

              $ zypper search -t srcpackage -r <alias|name|#|URI>


       -d, --build-deps-only
  
              Install only build dependencies of specified packages.

       -D, --no-build-deps
              Don't install build dependencies.

       -r, --repo <alias|name|#|URI>
              Work only with the repository specified by the alias, name, number, or URI. This option can be used multiple times.

           --download-only
              Only download the packages, do not install.

       Examples:

              Install build dependencies of dbus-1 source package:
              $ zypper si -d dbus-1
Muss ich die Option -d oder -r verwenden :-?

Grüße
Georg
 
aus dem openSUSE Repository habe ich zwei Pakete heruntergeladen. Eines ist ein Binary rpm, das zweite ein Source *.src.rpm. Das Binärpaket hat eine Abhängigkeit zum Sourcepaket.
Welche Pakete bzw. welche Abhängigkeit?

Wenn Du das src mit zypper si installierst, wird es nach /usr/scr/packages/ in die entsprechenden Unterordner entpackt. Dann kannst Du dort z.B. das tar.gz oder ähnliches bearbeiten und als neues rpm bauen.
 
Hallo Sauerland,
Sauerland schrieb:
Welche Pakete bzw. welche Abhängigkeit?
die Pakete sind von:

https://build.opensuse.org/package/binaries/home:darkhado:eek:penSUSE/pidgin-whatsapp?repository=openSUSE_13.1

Repository has been published Architecture: x86_64

_buildenv
libpurple-plugin-whatsapp-0.5git.1406747408.851cf71-6.1.x86_64.rpm
pidgin-whatsapp-0.5git.1406747408.851cf71-6.1.src.rpm
rpmlint.log
Beim Versuch libpurple-plugin-whatsapp-0.5git.1406747408.851cf71-6.1.x86_64.rpm kommt folgende Meldung:

Code:
pidgin-whatsapp-0.4.2-8.6.x86_64 requires libpurple-plugin-whatsapp = 0.4.2, but this requirement cannot be provided
Also müsste ich zuerst libpurple-plugin-whatsapp-0.4.2 durch das Sourcepaket ersetzen, und da stehe ich auf dem Schlauch.

Sauerland schrieb:
Wenn Du das src mit zypper si installierst, wird es nach /usr/scr/packages/ in die entsprechenden Unterordner entpackt. Dann kannst Du dort z.B. das tar.gz oder ähnliches bearbeiten und als neues rpm bauen.
Tja, ich habe schon mal mit make ein C-Programm kompiliert, aber ich habe im ganzen Leben noch nie nicht ein rpm gebaut. :???:
Gibts dafür Anleitungen, die man an einem verregneten Nachmittag verstehen und umsetzen kann??

Grüße
Georg
 
Tja, ich habe schon mal mit make ein C-Programm kompiliert, aber ich habe im ganzen Leben noch nie nicht ein rpm gebaut. :???:
Gibts dafür Anleitungen, die man an einem verregneten Nachmittag verstehen und umsetzen kann??
Die entsprechenden Verzeichnisse in Deinem /home erstellen und .rpmrc anpassen:
http://www.rpm.org/max-rpm/s1-rpm-anywhere-different-build-area.html

Das src.rpm herunterladen, entpacken und spec-File in den Ordner SPEC verschieben, pidgin-whatsapp-0.5git.1406747408.851cf71.tar.xz in den Ordner SOURCES verschieben.

Dann in der Konsole im Ordner SPEC:
Code:
rpmbuild -ba pidgin-whatsapp.spec
Bis hierhin wird alles als User gemacht!

Wenn keine Fehlermeldung erscheint, liegt das Paket unter RPMS/x86_64 ,i586 oder noarch und kann mit zypper, rpm installiert werden.

PS:
Hier fehlt libpurple-devel.
Code:
error: Failed build dependencies:
        pkgconfig(purple) is needed by pidgin-whatsapp-0.5git.1406747408.851cf71-6.1.x86_64
 
Bei meinem 13.1 läßt sich das Paket libpurple-plugin-whatsapp-0.5git.1406747408.851cf71-6.1.x86_64.rpm von http://download.opensuse.org/repositories/home:/darkhado:/openSUSE/openSUSE_13.1/ genauso problemlos installieren wie das den selben Namen tragende, mit
Code:
rpmbuild --rebuild pidgin-whatsapp-0.5git.1406747408.851cf71-6.1.src.rpm
selbst erzeugte Paket.

P6CNAT schrieb:
pidgin-whatsapp-0.4.2-8.6.x86_64 requires libpurple-plugin-whatsapp = 0.4.2, but this requirement cannot be provided
Ist da vielleicht ein altes Paket oder Programm mit Namen pidgin-whatsapp installiert, das nicht zur aktuellen Bilbiothek paßt, das nichts mit dem gleichnamigen src.rpm zu tun hat und für das es keine neuere Version gibt?
 
Hallo,

habe mal die Anleitung von Sauerland angewandt und einige Überraschungen erlebt :).
Musste erst mal rpm-build, den gcc++ Compiler und libpurple-devel nachinstallieren und die haben einen ganzen Rattenschwanz zusätzlicher Pakete nachgezogen.

Beim Erstellen des rpm hatte ich ja erwartet, dass so etwas wie pidgin-whatsapp... heraus kommt. Statt dessen entstand libpurple-plugin-whatsapp-0.5git.1406747408.851cf71-6.1.x86_64.rpm was ich ja bereits fix und fertig gepackt heruntergeladen hatte :???:
Josef-wien hat das ja geschrieben, dachte aber, da stimmt was nicht. Nun ist der Groschen gefallen. Und ja, " libpurple-plugin-whatsapp = 0.4.2" ist wirklich obsolet geworden. Habs rausgeschmissen und nur noch den neuen ibpurple-plugin-whatsapp installiert. Der WhatsApp Plugin für Pidgin ist da und lässt sich verwenden - im Prinzip.
Allerdings funktioniert auch der neue Plugin nicht, die Verbindung wird aufgebaut und vom Server beendet. Muss meinen Freunden wohl wieder "predigen", dass Mails sowieso besser sind :roll:

Grüße
Georg
 
Hallo,

das Problem war die Versionsnummer des Ressourceneintrages in Pidgin, die muss jetzt mindestens 2.31 sein.

Grüße
Georg
 
Hallo Antonio,

2.31 ist nicht die Versionsnummer von Pidgin.
Bei der Einrichtung eines Accounts muss man an einer Stelle die Ressource (Endgerät) eintragen. Standardmäßig trägt libpurple "Android_2.11..." ein, damit wird die Kommunikation vom Server beendet. Mache Android_2.31... daraus und es geht.

Grüße
Georg
 
Oben