# Portage erweitern um alte Programme

## JoHo42

Hi Leute,

im Moment ist OpenOffice-1.4.0-r1 im Portage.

So wie KDE-3.2.2, aber das alte KDE-3.0.0 gibt es nicht mehr.

Ich würde aber ganz gerne z.B. OpenOffice-1.4.0-r1 behalten

auch wenn Version >=2.0 raus ist.

Ich habe so eine ähnliche Frage schon mal gestellt,

jetzt habe ich aber glaube ich eine Lösung gefunden.

Die es verhindet, dass allte Programme aus meinem

Portage wegfallen.

Oder gar ganz entfernt werden.

Siehe hier:   und lese weiter!!!!

Abweichen vom Offiziellen Tree

http://www.gentoo.de/doc/de/handbook/handbook-x86.xml?part=3&chap=5

So könnte ich doch das OpenOffice was es momentan gibt in meinem

erweiterten Portage kopieren und die entsprechende *.tar Datei.

Jetzt müßte ich doch immer wieder das Office installieren können

obwohl das aus dem aktuellen Portage entfernt wurde?

Hat sowas schon mal jemand ausprobiert und kann mir seine erfahrungen mitteilen?

Gruss Jörg

----------

## _hephaistos_

du kannst dir das ebuild aus dem cvs holen und ins PORTDIR_OVERLAY geben

cvs: http://www.gentoo.org/cgi-bin/viewcvs.cgi/

hth,

ciao

----------

## blice

Beim alten Portage ging es noch , einfach die nicht gewollten ebuilds zu verschieben, wenn zb 

kdebase.3.3.0.ebuild

kdebase.3.3.1.ebuild

kdebase 3.3.2.ebuild 

da waren hab ich einfach 3.3.2 nach /backups verschoben, und zack hat der nur 3.3.1 gemerged.. 

seit dem portage-update scheint das nicht mehr zu klappen, der merkt sich irgendwo , welche ebuilds da sein müßten,

und einfach das ebuild ändern und aus dem "x86" ein "~x86" machen geht auch nicht mehr, da meckert der gleich daß das Digest nicht stimmt ...

----------

## JoHo42

Nein du hast mich da glaube ich nicht verstanden.

Jetzt gibt es noch OO-1.4.0 in einem Jahr vielleicht nicht mehr.

Deshalb möchte ich das Ebuild, wie in der Antleitung zu Gentoo Portage drin steht,

nach /usr/local/portage schieben. POSTDIR usw....

Da durch kann ich, auch wenn das OO aus dem E-Build verschwindet immer

noch das alte Laden.

Ich hoffe es zumindestens. wenn du die EBbuilds löscht, wie du das Beschrieben hast,

wird da ja tortzdem nach einem emerge sync überschrieben und verschwindet.

Wenn das funktioniert währe irgendwo nicht schlecht.

Jetzt müßte ich mir noch noch ein POSTDISTFILES Verzeichnis anlegen können

wo die TAR Dateien drin sind.

So fern, das was ich oben beschrieben habe überhaupt klapt.

Gruss JörgLast edited by JoHo42 on Fri Apr 29, 2005 11:53 am; edited 3 times in total

----------

## Linuxpeter

Beispiel:

```
$ echo '>app-office/OpenOffice-1.4.0-r1' >> /etc/portage/package.mask
```

----------

## JoHo42

Nein ich möchte das nicht masken!!!!

Ich möchte OO-1.4.0 auf ewig behalten auch wenn ich tausend

mal emerge sync mache und dieses aufgrund einer OO-3.4.2025

entfernt wird.

Gruss JÖrg

----------

## 76062563

Und was spricht dann dagegen alle Versionen die du nicht möchtest zu maskieren?

Wenn das ebuild weg ist ist sind auch die Sourcen von den Servern weg, insofern ist das relativ egal was mit dem ebuild passiert.

Du könntest mit quickpkg ein Binary deiner jetzigen OOo Version erstellen und mit emerge -K immer wieder herstellen.

----------

## JoHo42

 *Quote:*   

> 
> 
> Und was spricht dann dagegen alle Versionen die du nicht möchtest zu maskieren? 
> 
> 

 

OK ich könnte alle maskieren, du hast recht.

 *Quote:*   

> 
> 
> Wenn das ebuild weg ist ist sind auch die Sourcen von den Servern weg, insofern ist das relativ egal was mit dem ebuild passiert. 
> 
> 

 

So lange ich noch das entsprechende tar unter distfiles gespeichert habe,

sind die source nicht weg.

Dazu brauche ich auch das entsprechende Ebuild wie oben beschrieben.

 *Quote:*   

> 
> 
> Du könntest mit quickpkg ein Binary deiner jetzigen OOo Version erstellen und mit emerge -K immer wieder herstellen.
> 
> 

 

Geht nicht, wenn das nicht mehr im Portage drin ist,

kannste das auch nicht wieder erstellen.

Emerge schaut nicht in das Binary Verzeichnis nach.

Sonder in Portage

Dazu brauche ich da auch wieder das entsprechende Ebuild wie oben beschrieben.

Also so habe ich das verstanden,

falls ich da was falsch sehe bitte bitte korrigieren.

Sonst renne ich mein Leben mit falschen Infos rum.

Gruss

----------

## Carlo

 *JoHo42 wrote:*   

> Nein du hast mich da glaube ich nicht verstanden.
> 
> Jetzt gibt es noch OO-1.4.0 in einem Jahr vielleicht nicht mehr.

 

Ich halte es für höchst spekulativ, über das Verschwinden einer Version zu reden, die gar nicht existiert.  :Smile:  Und OOo 1.1.x wird sicher noch eine lange Weile verfügbar sein. Alte Ebuilds sind generell via WebCVS verfügbar, Patches größer als 20 KB allerdings nicht. Verhindern, daß etwas aus dem Repository entfernt wird, kannst Du nicht. Du mußt ein Overlay anlegen, das Ebuild und eventuelle Patches dahin kopieren. Die Tarballs werden von Portage nicht gelöscht.

----------

## JoHo42

OK nimm OO als Beispiel.

Die alten Versionen von XAWTV gibt es nicht mehr.

Die alten Versionen von Direct Connect jetzt Valknut gibt es auch nicht mehr im

Portage.

Bei manchen sachen macht es für mich sinn die Version weiter zu benutzen und

nicht was neues zu installieren.

Gruss Jörg

----------

## Carlo

 *JoHo42 wrote:*   

> Bei manchen sachen macht es für mich sinn die Version weiter zu benutzen und
> 
> nicht was neues zu installieren.

 

Dafür bleibt Dir Dein lokales Overlay. Daß Bugfixes hauptsächlich in neue (Ebuild-)Versionen wandern und ältere relativ schnell aus dem Repository verschwinden, ist ein Grundprinzip dieser Distribution. Die Ressourcen möglichst aktuell zu sein, dabei alle möglichen Abhängigkeiten zu berücksichtigen und gleichzeitig Backports zu machen, sind einfach nicht da. Für letzteres gibt's Debian.

----------

## Kuhrscher

Ich versteh irgendwie das Problem auch gar nicht. Spricht irgendwas dagegen, dass aktuelle Angebot an ebuilds zu einem Programm (oder halt nur das was man gerade haben möchte) für immer und ewig ins Overlay zu kopieren?

```
mkdir /usr/local/portage/app-office/

cp -a /usr/portage/app-office/openoffice/ /usr/local/portage/app-office/
```

Dann hat man die gewünschten ebuilds und alles was da sonst noch zu gehört dabei und auch ein "emerge sync" überschreibt das nicht mehr.

Und wenn man auch nicht will das das ganze irgendwann mal aktualisiert wird, setzt man wie oben beschrieben eine entsprechende Zeile in /etc/portage/packages.mask...

----------

## JoHo42

Ja dagegen Spricht einiges.

Ich hatte ein Office Dokument erstellt, welches ich nach einem Jahr wieder benötigt habe.

In dieser Zeit ist aber OO von 1.1.0 auf 1.1.4 gewachsen.

Wenn ich jetzt dieses OO Dokument öffne sind die Formatierungen alle weg.

Bzw. nicht mehr so wie ich die mal hatte.

OK in fünf Jahren werde ich wahrscheinlich OO 1.1.4 nicht mehr compiliert und

installiert bekommen.

Aber ich möchte das doch über einen längeren Zeitraum die 1.1.4 Version immer wieder installieren können.

Gentoo kann ruhig die alten Versionen aus dem Portage entfernen.

Nur irgendwie brauche ich da eine möglichkeit alte Versionen einzufriehren.

Das dies nur begrenzt gehen wird ist mir klar, aber die Möglichkeit hätte ich da

doch ganz gerne.

Ich möchte dann doch quasi auf mein persönliches Backup vom Portage mit Distfiles

zurückgreifen. Ohne mir den ganzen Baum ich glaube das sind 70GB auf

Platte zu kopieren.

Gruss Jörg

mod edit: Umlaute gefixt, Posts bitte in ISO-8859-1 verfassen.

amne

----------

## l3u

Soll heißen, daß OOo 1.4.* nicht mit OOo-1.1.*-Dateien kompatibel ist? Glaub ich nicht. Aber abgesehen davon wirst du wohl gegen die geringe "Haltbarkeit" von digital gespeicherten Daten in der heutigen Zeit nichts machen können. Abgesehen davon, daß man den Inhalt einer OOo-Datei meiner Meinung nach auch noch in fernerer Zukunft ohne größere Probleme (und auch ohne OOo) lesen können wird, weil es ja nichts anderes ist als eine Sammlung von ASCII-XML-Dateien, die per gzip gepackt werden und kein Binärformat, von dem in 10 jahren keiner mehr weiß, was es mal bedeutet hat.

----------

## Kuhrscher

 *JoHo42 wrote:*   

> Ich möchte dann doch quasi auf mein persönliches Backup vom Portage mit Distfiles
> 
> zurückgreifen. Ohne mir den ganzen Baum ich glaube das sind 70GB auf
> 
> Platte zu kopieren.

 

Da hab ich doch im Post direkt darüber erklärt, oder nicht?

----------

## JoHo42

Danke das ist das was ich suche.

Habe das jetzt ausprobiert,

das ist schon mal eine möglichkeit die mir weiter hilft.

Die TAR Datei vom OO muß ich mir dann noch mal extra rausfischen.

Ist nicht weiter schlimm aber so verstehe ich das.

Das mit dem MASK verstehe ich nicht.

Ich dachte immer MASK würde das Packet sperren.

Das heißt bei emerge -up world würde der mir nicht mehr sagen das es

was neues gibt.

Aber im Portagebaum auf meiner Platte wird das doch trotzdem überschrieben?

Das ist ja auch der Grund warum ich das sichern will.

Das geht sich bei mir ja nicht nur um das OO ich habe jetzt auch das ich meinen

alten Kernel-2.6.10-r1 nicht mehr installieren kann.

Der ist jetzt auch aus dem Portage.

Gruss Jörg

----------

## Kuhrscher

 *JoHo42 wrote:*   

> Das mit dem MASK verstehe ich nicht.
> 
> Ich dachte immer MASK würde das Packet sperren.
> 
> Das heißt bei emerge -up world würde der mir nicht mehr sagen das es
> ...

 

In /usr/portage/ wird bei jedem "emerge sync" der aktuelle Portagebaum gespeichert. Völlig unabhängig von deinen Eintragungen in /etc/portage/packages.mask. Richtig.

Zusätzlich zu diesem "offiziellen" Portagebaum kannst Du aber auch Deine persönliche Version mit allen Deinen Änderungen an denen Portage nichts ändern soll im so genannten "Overlay" (/usr/local/portage) speichern. Dazu gehören dann zum Beispiel auch alte ebuilds, die nicht gelöscht werden sollen, auch wenn sie aus dem offiziellen Portage verschwinden.

Wenn Du jetzt einen neues Programm installierst oder Pakete aktualisierst wird immer die aktuellste "stabile" Version verwendet. Wenn sowohl im "offiziellen" Portagebaum als auch in Deinem "persönlichen" Overlay die selbe Version drin ist, wird Deine angepasste verwendet. Deine persönlchen Änderungen haben dann also Vorrang.

Nun hättest Du im Prinzip ja noch das Problem, dass in dem Moment, in dem im "offiziellen" Portagebaum eine aktuellere Version eines Programms auftaucht, als Du sie im "persönlichen" Overlay gespeichert/gesichert hast, wieder die offizielle, neue (und von Dir ja nicht gewollte) Version verwendet und installiert wird.

Das kannst Du dann aber damit verhindern, dass Du alle Pakete die aktueller sind als die bereits installierte mit einem Eintrag in /etc/portage/packages.mask "sperrst.

Das Resultat der ganzen Aktion ist also:

1. Deine installierte Version bleibt im lokalen (Deinem persönlichen) Portage egal was "emerge sync" macht. Wenn Du willst für immer und ewig. /usr/local/portage ist quasi Dein Snapshot.

2. Es werden keine aktuelleren Versionen installiert, egal was da in Portage als "stable" auftauchen mag.

Alles Klarheiten beseitigt?  :Wink: 

----------

## JoHo42

Genau das suchte ich ja auch.

Danke jetzt ist alles gut.

Jetzt ist Gentoo mehr als Genial.

Gruss Jörg

----------

## Carlo

 *Kuhrscher wrote:*   

> 1. Deine installierte Version bleibt im lokalen (Deinem persönlichen) Portage egal was "emerge sync" macht. Wenn Du willst für immer und ewig. /usr/local/portage ist quasi Dein Snapshot.

 

Snapshot ist etwas zuviel gesagt. Die jeweilig verwendeten Eclasses werden nicht eingefroren und es nicht sicher, sie ins Overlay zu kopieren, ohne sie umzubenennen. Eventuelle systemweite Änderungen sind dann in den nun selbst gepflegen Ebuilds und Eclasses nachzuvollziehen.

----------

## Kuhrscher

 *Carlo wrote:*   

>  *Kuhrscher wrote:*   1. Deine installierte Version bleibt im lokalen (Deinem persönlichen) Portage egal was "emerge sync" macht. Wenn Du willst für immer und ewig. /usr/local/portage ist quasi Dein Snapshot. 
> 
> Snapshot ist etwas zuviel gesagt. Die jeweilig verwendeten Eclasses werden nicht eingefroren und es nicht sicher, sie ins Overlay zu kopieren, ohne sie umzubenennen. Eventuelle systemweite Änderungen sind dann in den nun selbst gepflegen Ebuilds und Eclasses nachzuvollziehen.

 

Ich schreib ja auch "quasi". Aber danke für den Hinweis  :Wink: 

----------

