logo

Suletuxe.de
Linux - Nutzer
helfen
Linux - Nutzern

Willkommen, Gast. Bitte Login oder Registrieren.
26. Februar 2021, 12:29:16
Übersicht Hilfe Suche Login Registrieren

Amateurfunk Sulingen
Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe  |  allgemeine Kategorie  |  Installation & Einrichtung  |  Thema: Ein Paket in einer chroot - Umgebung bauen « zurück vorwärts »
Seiten: [1] nach unten Drucken
   Autor  Thema: Ein Paket in einer chroot - Umgebung bauen  (Gelesen 455 mal)
Andreas
Administrator
*****

Offline

Einträge: 791



Linux von Innen

Profil anzeigen
Ein Paket in einer chroot - Umgebung bauen
« am: 03. August 2019, 12:30:51 »

"Möge die Macht mit Dir sein" - trifft für Arch Linux zu 100% zu...

Ich habe aktuell ein Paket aus den AURs, das auf dem "normalen Wege" nicht bauen will - es findet irgendwelche Deklarationen nicht und das ist natürlich ein fataler Fehler der zum Abbruch führt.

Das ist im Moment das Paket "qt4" - einige, die eine Installation von mir haben haben dieses Paket. Das Update hakt bei diesem Paket.

Eine Recherche im Internet ergab, dass es manchmal hilft, das Paket in einer "chroot-Umgebung" zu bauen. OK: Versuch macht kluch 

Was habe ich getan? (alles als normaler User!!)

1) Als erstes die devtools installieren mit dem Befehl: sudo pacman -S devtools
2) Einen geeigneten Ordner erstellen mit: mkdir ~/chroot
3) Diesen Ordner in eine Environment-Variable packen mit: CHROOT=~/chroot/
4) Das chroot vorbereiten mit: mkarchroot $CHROOT/root base-devel
5) Dafür sorgen dass auch im chroot alles up2date ist mit: arch-nspawn $CHROOT/root pacman -Syu
6) In das Verzeichnis des Paketes wechseln da nicht baut (in diesem Fall qt4) mit: cd ~/.cache/yay/qt4/
7) Das Paket nun in der chroot-Umgebung bauen mit: makechrootpkg -c -r $CHROOT
...und siehe da: nach etlichen Minuten ein Abschluss OHNE FEHLERMELDUNG!!
...Also nur noch das fertige Paket installieren mit: sudo pacman -U qt4-4.8.7-31-x86_64.pkg.tar.xz

EDIT:
Beim letzten Befehl ist es sinnvoll nur die ersten Buchstaben des Paketnamens einzugeben und dann mit <TAB> ergänzen zu lassen - niemand kennt die volle Bezeichnung incl. aller Nummern und Bide-/Unterstriche...

Das wars - "ich habe fertig"

Braucht man das nochmal wieder, müssen nicht alle Schritte wiederholt werden, weil die Ordner ja jetzt schon da sind. Es müssen dann nur noch:
CHROOT=~/chroot/
arch-nspawn $CHROOT/root pacman -Syu
cd ~/.cache/yay/paketname/
makechrootpkg -c -r $CHROOT
sudo pacman -U paketname.pkg.tar.xz


EDIT:
Heute (4.09.2019) kam das Problem beim Bau des "gcc6" bei mir. Der gcc6 besteht aus mehreren verschiedenen Einzelpaketen, die alle gemeinsam installiert werden müssen - sonst schlägt die Installation wegen fehlender Abhängigkeiten fehl. Man kann den gcc6 nach den Anweisungen von oben bauen - beim Installieren muss man alle gcc6-* - Pakete aus dem Ordner IN EINE ZEILE zum Installieren schreiben. Also z.B. sudo pacman -U gcc6-blablabla.pkg.tar.xz gg6-blublu.pkg.tar.xz gcc6-bufbuf.pkg.tar.xz

LG
Andreas
« Letzte Änderung: 04. September 2019, 09:41:13 von Andreas » Gespeichert

Wissen ist das einzige Gut, das mehr wird, wenn man es teilt - wenn es Menschen gibt, die es weitergeben, und es Menschen gibt, die bereit sind, dieses Geschenk auch unter eigenem Einsatz anzunehmen.


Freiheit zu erkämpfen reicht nicht. Man muss sie auch verteidigen.
Seiten: [1] nach oben Drucken 
Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe  |  allgemeine Kategorie  |  Installation & Einrichtung  |  Thema: Ein Paket in einer chroot - Umgebung bauen « zurück vorwärts »
Gehe zu: 


Login mit Username, Passwort und Session Länge

 Es wird die Verwendung "Blink"-basierter Browser und mindestens 1024x768 Pixel Bildschirmauflösung
für die beste Darstellung empfohlen
 
freie Software für freie Menschen!
Powered by MySQL Powered by PHP Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe | Powered by YaBB SE
© 2001-2004, YaBB SE Dev Team. All Rights Reserved.
- modified by Andreas Richter (DF8OE)
Valid XHTML 1.0! Valid CSS!