# Was tun bei veralteten Paketen?

## jg72

Hallo Zusammen,

ich überlege gerade meinem ArchLinux fremd zu gehen und wollte mal Gentoo ausprobieren, da mir die Idee dahinter ziemlich gut gefällt. Die Grundzüge habe ich auch soweit verstanden und habe mein System installiert, es bootet und ich kann soweit damit erstmal grundsätzlich arbeiten.

Nun habe ich das Problem, dass ich über das erste Programm gestolpert bin, das nur in einer veralteten Version vorliegt.

x11-wm/qtile ist für stable bei 0.15.1 und testing bei 0.16.1. Aktuell ist 0.17, welches auch auf meinem Arch ohne Probleme läuft.

Die Frage ist nun, wie gehe ich mit solchen Dingen um? Einfach abwarten bis der Maintainer die neue Version hochspielt? Den Maintainer anschreiben? Selber am System vorbei installieren? Ein eigenes Paket lokal erstellen (geht das?)

Was macht man da üblicherweise? Wie ist es mit Programmen die es für Gentoo direkt gar nicht gibt?

Viele Grüße.

----------

## Christian99

Ich würde sagen, dass es da nicht den einen weg gibt. das kommt immer auf einige andere sachen an. wenn es ein selfcontained binary only ist, dann hätte ich kein problem damit, das an portage vorbei nach /opt zu installieren.

Auf Arbeit verwenden wir Yocto, mit dem wir SDKs für unsere Boards erzeugen, die ich auch an portage vorbei nach /opt installiere.

in dem fall, dass es schon ein ebuild gibt, würde ich ein lokales overlay empfehlen: https://wiki.gentoo.org/wiki/Custom_ebuild_repository

oft reicht es, das jetzige ebuild mit neuem namen ohne sonstige änderungen da hin zu kopieren.

Hab mir das ebuild nicht angeschaut, deswegen porbier einfach mal das jetzige ebuild zu kopieren, falls das nicht funktioniert, kann man dir bestimmt helfen, was geändert werden muss.

Viel Erfolg!

----------

## mike155

Hallo jg72,

willkommen in den Gentoo Foren!

Den ersten Schritt hast Du schon beschrieben. Man kann schauen, ob es eine neuere unstable/testing Version gibt diese ggf. über /etc/portage/package.accept_keywords freigeben.

Der nächste Schritte wäre zu schauen, wie lange es die neuere Version schon gibt. Wenn sie erst vor einem Tag herausgekommen ist, hilft abwarten. 

Qtile 17 gibt es aber seit dem 13. Februar, also schon länger. Jetzt gibt es mehrere Möglichkeiten:

Bei den Overlays schauen, ob es da schon einen ebuild gibt.

Bei https://bugs.gentoo.org einen Bug eröffnen und freundlich um einen "version bump" bitten. Ein Beispiel wäre: https://bugs.gentoo.org/782370

Den vorhandenen ebuild der letzten Version selbst für die neue Version anpassen. Das ist meist gar nicht so schwer. Oft muss man nur die ebuild-Datei kopieren und im Dateinamen die neue Version angeben - das klappt aber nicht immer! Hierfür braucht man ein lokales ebuild Repository.Mike

EDIT: Christian99 war schneller...   :Smile: 

----------

## jg72

Danke erstmal.

Ich werde mal versuchen, die neue Version für mich in einem lokalen Repo zur Verfgung zu stellen. Da lerne ich wahrscheinlich am meisten.

Viele Grüße, Jürgen

----------

## schmidicom

Wenigstens gibt es eine brauchbare/funktionierende Version die du nutzen kannst, schlimmer ist es wenn die einzige verfügbare Version für einen selbst komplett unbrauchbar ist.

Bei meinem Laptop bräuchte ich ein neueres "sys-firmware/sof-firmware" aber wie es aktuell aussieht interessiert sich dafür auch kaum noch jemand.

Der Bugreport: https://bugs.gentoo.org/777537

Der Grund warum ich es bräuchte: https://thesofproject.github.io/latest/getting_started/intel_debug/introduction.html#firmware-binary

Und selber ein ebuild dafür zu schreiben ist leider nicht ganz so einfach, vor allem wegen der Portage-Doku die ehrlich gesagt besser sein könnte.

----------

## Christian99

der erste schritt ist für mich eigentlich immer das aktuelle ebuild zu kopieren und zu schaun was passiert. und da von eventuell auftretenden fehlern weiterarbeiten. 

Das erste was möglicherweise nicht geht ist das fetch, wenn die download urls für das paket nicht konsistent mit der versionierung sind. Dann muss man im neuen ebuild einfach nur die fetch url anpassen.

und dann weiter schauen was nicht geht, etc...

EDIT: nach einen kurzen blick in das sof-firmware ebuild sollte das eigentlich ohne probleme gehen.

----------

## musv

 *jg72 wrote:*   

> x11-wm/qtile ist für stable bei 0.15.1 und testing bei 0.16.1. Aktuell ist 0.17
> 
> Was macht man da üblicherweise? Wie ist es mit Programmen die es für Gentoo direkt gar nicht gibt?
> 
> 

 

Lokales Overlay anlegen. Das Ebuild für 0.16.1 inklusive der Verzeichnisstruktur (x11-wm) + files-Verzeichnis und Patches da reinkopieren. 

Dann benennst du das Ebuild von qtile-0.16.1-ebuild in qtile-0.17.0-ebuild um. Anschließend

```
ebuild qtile-0.17.0-ebuild digest
```

Wenn du alles richtig gemacht hast, wird die neue Version runtergeladen. Sind als Quellen nur Gentoo-Mirror-Server angegeben, musst du das Paket aus einer anderen Quelle beziehen. 

Nach dem Runterladen landet der MD5-Hash in der manifest-Datei im selben Verzeichnis. Ab dem Zeitpunkt steht das Paket dann im Portage zur Installation bereit.

----------

