[gelöst]Wie baut man ein Paket nach?

Hinweis: In dem Thema [gelöst]Wie baut man ein Paket nach? gibt es 30 Antworten auf 4 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Viel Glück :thumbup:


    Ich hoffe weniger auf mein Glück, als auf Eure Hilfe. Open source bedeutet doch, dass man verstehen darf, warum etwas nicht funktioniert .

    Für den Inhalt des Beitrages 80318 haftet ausdrücklich der jeweilige Autor: Rehs

  • Open source bedeutet doch, dass man verstehen darf, warum etwas nicht funktioniert .


    Deswegen die Links von mir, da steht, wie man es macht und warum man so etwas wie Du vorhast nicht macht.

    Für den Inhalt des Beitrages 80320 haftet ausdrücklich der jeweilige Autor: Sauerland

  • "We believe in building great technology through open collaboration, without barriers or bureaucrats."

    Für den Inhalt des Beitrages 80336 haftet ausdrücklich der jeweilige Autor: Rehs

  • Fangen wir von vorne an, ich würde dies aber in einer virtuellen Umgebung machen.


    Als User:
    Wir erstellen die Verzeichnisse in unserem /home:

    Code
    mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,tmp}


    Wir erstellen die versteckte Konfigurationsdatei .rpmmacros mit folgendem Inhalt:

    Code
    echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros


    Das Temporäre Build setze ich in mein /home:

    Code
    echo '%_tmppath    %(echo $HOME)/rpmbuild/tmp' >> ~/.rpmmacros


    Jetzt wird das Repo passen zu meiner Distribution (openSUSE 13.2) hinzugefügt:

    Code
    zypper ar -f http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_13.2/ Windows


    Jetzt lade ich das src.rpm herunter (nur wenn das src-Repo eingebunden ist):

    Code
    zypper si mingw32-libnice


    Im Verzeichnis ~/rpmbuild/SOURCE sind dann die Dateien:

    Code
    ls -la rpmbuild/SOURCES/
    insgesamt 824
    drwxr-xr-x  2 xxx users   4096 29. Mär 10:40 .
    drwxr-xr-x 10 xxx users   4096  8. Feb 12:38 ..
    -rw-r--r--  1 xxx users   1630 11. Jun 2014  libnice-0.1.7.patch
    -rw-r--r--  1 xxx users 827258 11. Jun 2014  libnice-0.1.7.tar.gz
    -rw-r--r--  1 xxx users    405 11. Jun 2014  libnice-0.1.7-win64.patch


    Das spec-File ist dann:

    Code
    ls -la rpmbuild/SPECS/
    -rw-r--r--  1 xxx users  5964 27. Mär 05:24 mingw32-libnice.spec


    Mache Deine Änderungen in dem spec-File oder den Dateien und baue es als User neu:

    Code
    rpmbuild -ba mingw32-libnice.spec


    Wenn das ohne Fehler durchgelaufen ist, findest Du das rpm in ~/rpmbuild/RPMS und Du kannst es als root (jetzt wird zum ersten Mal der User root benutzt, alles ander wird als User gemacht) installieren.

    Für den Inhalt des Beitrages 80337 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Erstmal vielen Dank für Deine Hilfe!


    Mein Ergebnis ist allerdings noch seltsam: Ich bekomme beim Bauen Linkerfehler. Habe mir dann die Version 0.1.7 direkt von der Projektseite geholt, direkt gebaut und bekomme genau die gleichen Linkerfehler. Daraufhin habe ich mir die neueste Version 0.1.10 von der Projektseite geholt und die lief durch.


    Offenbar wurde früher die libnice nur nativ unter Windows gebaut, während wir ja jetzt mit mingw cross bauen.
    Ich werde also morgen mit Hilfe Deiner Instuktionen bei mir ein 0.1.10-Paket bauen und installieren.


    So baue ich direkt:

    Code
    export PKG_CONFIG_PATH=/usr/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/i686-w64-mingw32/sys-root/mingw/share/pkgconfig
    export PKG_CONFIG=/usr/bin/i686-w64-mingw32-pkg-config
    NOCONFIGURE=indeed ./autogen.sh
    ./configure --host=i686-w64-mingw32
    make

    Für den Inhalt des Beitrages 80353 haftet ausdrücklich der jeweilige Autor: Rehs

  • Habe mir einen neuen user "libnicex" angelegt,


    Vorbereiten des rpmbuild-Verzeichnisses

    Code
    libnicex@linux-r7zz:~> mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,tmp}
    libnicex@linux-r7zz:~> echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
    libnicex@linux-r7zz:~> echo '%_tmppath    %(echo $HOME)/rpmbuild/tmp' >> ~/.rpmmacros


    Zuweisen des mingw-repositories (root-terminal)

    Code
    Password: 
    linux-r7zz:~ # zypper ar -f http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_13.2/ Windows
    Adding repository 'Windows' ..............................................[done]
    Repository named 'Windows' already exists. Please use another alias.
    linux-r7zz:~ #


    Holen der libnice-0.1.7-Quellen von mingw


    Holen von libnice-0.1.10 von der libnice-Projektseite

    Code
    libnicex@linux-r7zz:~> ls Downloads/
    libnice-0.1.10.tar.gz
    libnicex@linux-r7zz:~> ls rpmbuild/SOURCES/
    libnice-0.1.7.patch  libnice-0.1.7.tar.gz  libnice-0.1.7-win64.patch
    libnicex@linux-r7zz:~> mv Downloads/libnice-0.1.10.tar.gz rpmbuild/SOURCES/


    Ersetzen von "0.1.7" durch "0.1.10"


    Bauen des "neuen" Pakets


    Buildproblem!

    Für den Inhalt des Beitrages 80364 haftet ausdrücklich der jeweilige Autor: Rehs

  • Code
    cd ~/rpmbuild/BUILD/libnice-0.1.10
    NOCONFIGURE=indeed ./autogen.sh
    ./configure --host=i686-w64-mingw32
    make


    ist ohne Fehler durchgelaufen.
    Hm.

    Für den Inhalt des Beitrages 80365 haftet ausdrücklich der jeweilige Autor: Rehs

  • Offenbar ist der Paketier-Patch von 0.1.7 in der Version 0.1.10 misslungen. Werde mir die Unterschiede in den Versionen genauer anschauen.

    Für den Inhalt des Beitrages 80366 haftet ausdrücklich der jeweilige Autor: Rehs

  • So baut man auch kein Paket, indem man einfach nur die alten Versionen ersetzt!!!


    Wer weiss, was da als requires vorhanden sein muss.



    Damit ist hier Schluss für mich.

    Für den Inhalt des Beitrages 80370 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Habe den Patch der rejected wurde rausgeschmissen und einen weiteren der danach auftrat ebenfalls.
    Anschließend lief der Build durch (s.u.).


    Zitat

    Wer weiss, was da als requires vorhanden sein muss.


    ./configure fragt die dependenten Bibliotheken ab. Ausserdem baue ich das Paket für mich. Ich rechne ganz sicher damit, dass es noch jede Menge Probleme geben wird, wenn ich das Endresultat, also den Pidgin-3.0.0-Build unter Windows installiere. Aber ich muss installieren, um überhaupt feststellen zu können, welche Probleme es gibt.


    Jetzt ist die Frage, wie ich das gebaute minwg32-libnice -0.1.10 unter openSUSE für die weiteren Builds installiere. Oder wie ich ggf. feststelle, ob noch etwas schief gelaufen ist.


    Für den Inhalt des Beitrages 80372 haftet ausdrücklich der jeweilige Autor: Rehs