# Neue Funktionen und Optionen in Portage 2.0.51

## Earthwings

Stand: 21. Oktober. Changelog am Ende des Threads.

Portage-2.0.51 ist seit dem 21. Oktober "stable". Hier die wichtigsten Änderungen zur 2.0.50er Version. Die Funktionen von 2.0.50 sollten bekannt sein - bitte zuerst [1] lesen. Eine Installations- bzw. Updateanleitung gibt es weiter unten.

Zusammenfassung für ganz Eilige:

Deutlich schnellere Berechnung der Abhängigkeiten

/var/cache/edb/world  :Arrow:  /var/lib/portage/world

/var/cache/edb/virtuals  :Arrow:  nicht mehr benutzt, dynamisch berechnet

emerge inject  :Arrow:  deprecated

emerge --newuse installiert Pakete mit geänderten USE Flags neu

neue FEATURES "autoconfig", "collision-protect", "gpg", "maketest", "candy"

Wo ist /var/cache/edb...?

Die alte world Datei, also die Datei, die alle Pakete enthält, die explizit per emerge installiert wurden, befindet sich jetzt in /var/lib/portage/world. Es gibt einen symbolischen Link in /etc/portage/sets/world, der auf die neue Datei zeigt - behauptet zumindest die Dokumentation, bei mir gibt es nur das Verzeichnis. Stattdessen hat sich die alte /var/cache/edb/world in einen Symlink verwandelt.

Auch /var/cache/edb/virtuals verschwindet und wird fortan dynamisch berechnet. Will man Änderungen an den virtuellen Paketen vornehmen, kann man dafür /etc/portage/profile/virtuals benutzen.

Warum funktioniert emerge inject nicht mehr?

--inject ist jetzt als "deprecated" markiert und kann nicht mehr benutzt werden. Als Ersatz für --inject gibt es die Datei /etc/portage/package.provided, allerdings gibt es hier ein paar Besonderheiten zu beachten.

Wenn man inject verwenden möchte, weil man das Paket aus anderer Quelle installiert hat (z.b. Binärdatei heruntergeladen, Quellen selbst kopiert):

In diesem Fall trägt man das Paket in der Form <cat>/<pkg>-<version> in /etc/portage/package.provided ein.

Wichtig: Das Paket wird bei der Paketsuche (emerge --search) dann trotzdem nicht als installiert markiert. Portage kümmert sich aber darum, dass die Abhängigkeiten erfüllt sind.

Wenn man inject verwenden möchte, um das Update eines Pakets zu verhindern:

Anstelle dessen das Paket in /etc/portage/package.mask eintragen. Natürlich können ">", ">=" usw. benutzt werden, um mehrere Versionen auszuschließen

Wenn man inject verwenden möchte, um das Update eines Pakets zu verhindern, das aus dem Portage Tree entfernt wurde:

Zunächst sollte man nachschauen, warum das Paket nicht mehr in Portage vorhanden sind. Ist es z.B. wegen einer bekannten Sicherheitslücke verschwunden, sollte man das Paket updaten. Hinweise auf den Entfernungsgrund gibt es normalerweise im Changelog (im Verzeichnis des ebuilds) oder auch in Bugzilla, ViewCVS oder den Sicherheitshinweisen. Will man das Paket trotz allem nicht updaten, kann man das alte ebuild aus /var/db/pkg/<cat>/<pkg>/ oder ViewCVS in das PORTDIR_OVERLAY Verzeichnis (normalerweise /usr/local/portage/<cat>/<pkg>)  kopieren und dann wie oben verfahren.

Was bedeutet die ">>> Test phase... [not enabled]: ..." Meldung beim Installieren von Paketen?

Siehe FEATURES="maketest" weiter unten.

Wieso werden einige USE-Flags in der --verbose Anzeige mit einem Stern* bzw. farblich gekennzeichnet?

```

# emerge -pv gnupg

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild   R   ] app-crypt/gnupg-1.2.4  -X* -caps -debug -idea -ldap -nls -static 0 kB

Total size of downloads: 0 kB

```

Das weist darauf hin, dass bei der Installation dieses Pakets das USE Flag anders gesetzt war.

Gibt es auch neue Funktionen?

--newuse zum Beispiel. Das ist eine bequeme Möglichkeit, all diejenigen Pakete neu zu übersetzen, die man mit anderen USE-Flags als den derzeitigen installiert hat. Beispiel: 

```
emerge --newuse -uD world -av
```

Einige neue FEATURES (siehe "man make.conf") sind hinzugekommen. 

FEATURES="autoconfig" passt weder automatisch die Konfigurationsdateien an, noch konfiguriert es irgendwelche Pakete nach der Installation. Stattdessen wird es wohl benötigt, wenn man Gentoo auf eingebetteten Systemen (embedded systems) benutzt. 

FEATURES="gpg" wird für die meisten interessanter sein, es aktiviert die GPG-Signierung von Ebuilds. Damit sind jetzt nicht nur die Pakete auf den Download-Spiegeln durch MD5-Checksummen geprüft, sondern auch die ebuilds auf den Rsync-Spiegeln. Wählen kann man zwischen FEATURES="gpg", FEATURES="gpg strict" und FEATURES="gpg severe", wobei die Sicherheitsüberprüfungen von links nach rechts strenger werden.

FEATURES="maketest" erlaubt ebuilds, nach dem Kompilieren einige Tests durchzuführen. So kann z.B. überprüft werden, ob Datei xy tatsächlich erstellt wurde. Ist "maketest" aktiviert, wird entweder die "make check" Funktion des Pakets aufgerufen oder die pkg_check Funktion des ebuilds, falls vorhanden.

FEATURES="candy" - Ändert den "spinner" beim Berechnen der Abhängigkeiten. Am besten kurz ausprobieren und selbst entscheiden, ob man es mag: 

```
FEATURES=candy emerge -p world
```

emerge -p moo gibt es natürlich weiterhin  :Smile: 

Ein paar Detailverbesserungen gibt es in den Fehler-/Warnmeldungen:

 *Quote:*   

> 
> 
> [...]
> 
> !!! ERROR: dev-java/sun-j2me-1.0.4.01 failed.
> ...

 

Wie installiere ich es?

Die Installation ist einfach: 

```

emerge sync

emerge portage

etc-update

```

Damit ist man aber noch nicht fertig. Konsequenterweise sollte man Pakete, die man mit "inject" Parameter eingespielt hat, in package.provided eintragen und dann deinstallieren. Das erledigt man am besten mit einem Skript [5]. 

```

wget -P /usr/bin http://www.stud.uni-karlsruhe.de/~uxhz/gentoo/misc/einjected

chmod +x /usr/bin/einjected

einjected

```

Falls Pakete aufgelistet werden, können diese in /etc/portage/profile/package.provided eingetragen werden und danach deinstalliert werden. "einjected --move" erledigt beides automatisch (bitte Abschnitt zu --inject weiter oben beachten)

Ergänzungen, Korrekturen etc. bitte posten.

[1] http://www.gentoo.de/main/de/portage-2.0.50.xml

[2] /usr/share/doc/portage-2.0.51/ChangeLog.gz

[3] http://thread.gmane.org/gmane.linux.gentoo.devel/21204

[4] http://dev.gentoo.org/~swift/portage.html

[5] http://www.stud.uni-karlsruhe.de/~uxhz/gentoo/misc/einjectedLast edited by Earthwings on Mon Nov 15, 2004 8:56 pm; edited 9 times in total

----------

## ralph

Danke!   :Very Happy: 

Vielleicht wäre es eine gute Idee den Beitrag sticky zu machen, denn wenn die neue Version erstmal draussen ist, dann werden bestimmt viele Fragen auftauchen, die hier beantwortet sind.

----------

## sirro

 *Earthwings wrote:*   

> Ergänzungen, Korrekturen etc. bitte posten.

 

Da ich schon seit laengerem mit den portage-pre-versionen gespielt habe hier noch ein paar Ergaenzungen von meiner Seite:

emerge -pv makiert eine geaenderte USE-Flags jetzt mit einem *. Ein netter Hinweis seine package.use zu pflegen  :Wink: 

```
# emerge -pv gnupg

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild   R   ] app-crypt/gnupg-1.2.4  -X* -caps -debug -idea -ldap -nls -static 0 kB 

Total size of downloads: 0 kB
```

Bei einem Abbruch des Ebuilds durch "die" wird jetzt eine zusaetzliche Zeile ausgegeben: (hoffentlich hilfts   :Twisted Evil:  )

```
!!! ERROR: dev-java/sun-j2me-1.0.4.01 failed.

!!! Function src_unpack, Line 26, Exitcode 0

!!! (no error message)

!!! If you need support, post the topmost build error, NOT this status message.
```

```
# emerge --upgradeonly world

*** Warning: --upgradeonly is a deprecated option in portage-2.0.51_rc1

***          and will likely be removed in a future version.
```

Seltsamerweise kommt die Meldung bei -U nicht

----------

## Lasker

 *Earthwings wrote:*   

>  
> 
> ```
> "sys-kernel/gentoo-dev-sources-2.6.8-r4" >> /etc/portage/package.provided
> ```
> ...

 

Das geht auch? Oder war das nur 'n typo...

Bei mir ist package.provide in /etc/portage/profile/  - und funktioniert.

----------

## Earthwings

 *sirro wrote:*   

> 
> 
> emerge -pv makiert eine geaenderte USE-Flags jetzt mit einem *. Ein netter Hinweis seine package.use zu pflegen 
> 
> ```
> ...

 

Ich habs oben aufgenommen, danke.

 *sirro wrote:*   

> 
> 
> Seltsamerweise kommt die Meldung bei -U nicht

 

Bei mir funktioniert es.

 *Lasker wrote:*   

> 
> 
>  *Earthwings wrote:*   
> 
> ```
> ...

 

Verdammt   :Embarassed: 

Ich habs korrigiert.

----------

## sirro

 *Earthwings wrote:*   

>  *sirro wrote:*   
> 
> Seltsamerweise kommt die Meldung bei -U nicht 
> 
> Bei mir funktioniert es.

 

Noch komischer... Bei mir gab er nur die alte Warnmeldung ">>> --upgradeonly implies --update... adding --update to options.".

----------

## dertobi123

Sofern keine Einwände bestehen würde ich aus diesen Tipps & Änderungen wieder einen kleinen Guide für gentoo.de zusammenstellen. Der portage-2.0.50 Guide ist denke ich so gut angenommen worden (und auf ihn wird immer wieder gerne als Referenz verwiesen), dass ein ähnlicher Guide zu Portage 2.0.51 einfach klasse wäre.

Dazu fände ich ein Einverständnis der Autoren (Earthwings, sirro) schön.

----------

## Inte

Ich finde Dein Engagement einfach Klasse. Solche "kleinen Helferlein" sind immer eine gute Referenz.  :Very Happy: 

Das mußte einfach mal gesagt werden.

Gruß, Inte.

----------

## Earthwings

@dertobi123: Keine Bedenken meinerseits, übernimm was Du willst und editier es nach Herzenslust  :Smile: 

@Inte: Danke   :Embarassed: 

----------

## sirro

 *dertobi123 wrote:*   

> Der portage-2.0.50 Guide ist denke ich so gut angenommen worden (und auf ihn wird immer wieder gerne als Referenz verwiesen), dass ein ähnlicher Guide zu Portage 2.0.51 einfach klasse wäre.

 Gute Idee.

 *dertobi123 wrote:*   

> Dazu fände ich ein Einverständnis der Autoren (Earthwings, sirro) schön.

 Bedien dich!

----------

## Shadows

Hi

 *Earthwings wrote:*   

> FEATURES="collision-protect" [...] beansprucht es doch sehr viele Ressourcen [...]

 

Was heißt das denn genau? RAM, CPU, HD-Space etc.?

Greetz

Shad

----------

## sirro

 *Shadows wrote:*   

> Was heißt das denn genau? RAM, CPU, HD-Space etc.?

 

Ich wuerde mal auf CPU tippen, denn immerhin wird ja jede Datei gegen alle anderen Pakete gecheckt ob es da ueberschneidungen gibt. Das ganze ist aber auch eher fuer die QS gedacht als fuer den Enduser:

 *man make.conf wrote:*   

> collision-protect
> 
> A  QA-feature  to ensure that a package doesn't overwrite files it doesn't own.

 

----------

## sirro

gerade beim stoebern in make.conf.5 aufgefallen:

 *man make.conf wrote:*   

> maketest
> 
> Run package-specific tests during each merge to help make sure   the   package  compiled  properly.   See  test  in ebuild(1) and src_test() in ebuild(5).

 

```
>>> Test phase [not enabled]: dev-java/java-config-1.2.10
```

Das ist glaub ich auch neu. Zumindest kommt die Meldung bei mir erst bei meinem 2.0.51-System.

 *man make.conf wrote:*   

> sfperms
> 
> Stands for Smart Filesystem Permissions.  Before  merging packages to the live filesystem, automatically search for and set permissions on setuid and  setgid  files.   Files that  are  setuid  have  the  group  and  other read bits removed while files that are setgid have the  other  read bit removed.  See also suidctl below.
> 
> suidctl
> ...

 

Sehr schoenes Feature, ersetzt mein Script zum entfernen diverses SUIDs demnaechst vollstaendig  :Wink: 

 *Earthwings wrote:*   

> Bei mir funktioniert es.

 

Bei mir (jetzt?  :Wink: ) auch

EDIT: /etc/portage/use.mask ist jetzt offiziell /etc/portage/profile/use.mask und funktioniert da auch  :Wink: 

Dazu noch Unter-der-Haube-Aenderungen in der make.defaults (neue Variablen siehe man portage, falls es interessiert. ist eher fuer Devs)

----------

## Earthwings

 *sirro wrote:*   

> gerade beim stoebern in make.conf.5 aufgefallen:
> 
>  *man make.conf wrote:*   maketest
> 
> Run package-specific tests during each merge to help make sure   the   package  compiled  properly.   See  test  in ebuild(1) and src_test() in ebuild(5). 
> ...

 

Ja, steht oben aber schon drin  :Wink:  Hab ich irgendwann heut mittag eingefügt.

 *Quote:*   

> 
> 
>  *man make.conf wrote:*   sfperms
> 
> Stands for Smart Filesystem Permissions.  Before  merging packages to the live filesystem, automatically search for and set permissions on setuid and  setgid  files.   Files that  are  setuid  have  the  group  and  other read bits removed while files that are setgid have the  other  read bit removed.  See also suidctl below.
> ...

 

Aus irgendeinem Grund will solar das noch nicht an die große Glocke hängen [1]. Ich lass es oben erst mal weg.

[1] http://article.gmane.org/gmane.linux.gentoo.portage.devel/292

----------

## Shadows

 *sirro wrote:*   

>  *Shadows wrote:*   Was heißt das denn genau? RAM, CPU, HD-Space etc.? 
> 
> Ich wuerde mal auf CPU tippen, denn immerhin wird ja jede Datei gegen alle anderen Pakete gecheckt ob es da ueberschneidungen gibt. Das ganze ist aber auch eher fuer die QS gedacht als fuer den Enduser:
> 
>  *man make.conf wrote:*   collision-protect
> ...

 

QS / QA?

Falls mit den Ressourcen jetzt tatsächlich CPU gemeint war, dann verstehe ich nicht, warum man dann das Feature nicht beim Bootstrapping benutzen kann? Oder steht das gar nicht im Zusammenhang mit dem hohen Ressourcen-Anspruch?

 *Earthwings wrote:*   

> [...] beansprucht es doch sehr viele Ressourcen und kann währends des bootstrappings nicht benutzt werden.

 

Daher generell mal die Frage, wo die Probleme mit dem Feature liegen, so dass man es nicht beim Bootstrapping einsetzen kann?

Greetz

Shad

----------

## Earthwings

 *Shadows wrote:*   

> 
> 
>  *Earthwings wrote:*   FEATURES="collision-protect" [...] beansprucht es doch sehr viele Ressourcen [...] 
> 
> Was heißt das denn genau? RAM, CPU, HD-Space etc.?
> ...

 

Ohne "collision-protect" werden beim mergen alle Dateien aus ${D} ins System eingespielt. Mit "collision-protect" muss folgendes gemacht werden:

- alle installierten Versionen des Pakets finden, die im gleichen SLOT sind.

- eine sortierte Liste erzeugen, die alle Dateien enthält, die zu obigen Paketen gehören

- für alle (!) Dateien in ${D} folgendes tun:

a) Schauen, ob die Datei auf der Festplatte bereits vorhanden ist

b) Falls ja: Schauen, ob die Datei in der Liste vorhanden ist

c) Falls nein: pathologischer Randfall

Auf jeden Fall bekommt die Festplatte in a) ordentlich was zu tun, besonders, wenn viele kleine Dateien dabei sind. Eine glibc enthält zum Beispiel 3000 Dateien, ein 2.6.8er Kernel 17000.

----------

## Earthwings

 *Shadows wrote:*   

> 
> 
> QS / QA?
> 
> 

 

Qualitätssicherung / qualitiy assurance (btw: googles define: xyz ist für sowas super)

 *Quote:*   

> 
> 
> Falls mit den Ressourcen jetzt tatsächlich CPU gemeint war, dann verstehe ich nicht, warum man dann das Feature nicht beim Bootstrapping benutzen kann? Oder steht das gar nicht im Zusammenhang mit dem hohen Ressourcen-Anspruch?
> 
> 

 

Mit dem Ressourcen-Anspruch hängts nicht zusammen. Habe gerade https://bugs.gentoo.org/show_bug.cgi?id=28228 entdeckt, Kommentar #13 erwähnt Probleme mit stage1.

----------

## amne

Für so einen kleinen Versionssprung wird sich da ja wieder einiges tun.  :Very Happy: 

----------

## Shadows

@Earthwings:

Ah, thx für die Erläuterungen.

Das mit Google ist auch interessant - hab ich in den Hilfeseiten bei Google.de nicht gefunden. Man lernt nie aus... :)

Das mit dem "collision-protect" lässt mir irgendwie noch keine Ruhe, aber ich überschlaf das lieber erstmal bevor ich mir da weiter den Kopf zerbreche - ist momentan eh schon leichter Overload angesagt...

Greetz

Shad

----------

## dertobi123

Irgendwann demnächst sollte http://www.gentoo.de/main/de/portage-2.0.51.xml auftauchen ...

----------

## sirro

Noch eine (sehr hilfreiche) Kleinigkeit, die mir gerade wieder aufgefallen ist: Bei einem etc-update wird das diff zwischen den beiden Configs jetzt ueber less ausgegeben.

Bei grossen Aenderungen erspart man sich so das Scrollen.

----------

## thepi

Der Link bei gentoo.de funktioniert jetzt, gute Arbeit!

Wußte vorher gar nicht, dass es auch für den "Vorgänger" so eine praktische Zusammenfassung gibt. Man lernt halt nie aus  :Razz: 

pi~

----------

## skibbi

In der Zusammenfassung sprichst du von collision-detect und in der Beschreibung von collision-protect.

Eins von beiden kann nur richtig sein.  :Smile: 

----------

## Earthwings

 *skibbi wrote:*   

> In der Zusammenfassung sprichst du von collision-detect und in der Beschreibung von collision-protect.
> 
> Eins von beiden kann nur richtig sein. 

 

Ja, das zweite. Korrigiert, danke.

----------

## sirro

```
!!! File is corrupt or incomplete. (Digests do not match)

>>> our recorded digest: a839884321c09db00cf14bb0e1c6de1f

>>>  your file's digest: d0cf93a281025cd7fd059cf875083fac

!!! File does not exist: /usr/local/portage/app-misc/ww/ww-2.23.ebuild

[...]

>>> md5 files   ;-) ww-2.23.ebuild

>>> md5 files   ;-) files/digest-ww-2.23

>>> md5 src_uri ;-) ww-2.23.tar.bz2
```

.ebuild und digest-* werden jetzt auch per md5 vor jedem emerge gecheckt. Vorher AFAIK nur die vom SRC.

```
emerge /path/to/ebuild

!!! Warning: emerge /path/to/ebuild is broken and considered dangerous.

!!! Don't use it. I'm serious, we're coming after you if you use it.

>>> Waiting 10 seconds before starting...

>>> (Control-C to abort)...

Continuing with emerge /path/to/ebuild in: 10 9 
```

Eindringliche Meldung

----------

## dertobi123

Die "collision-protect" und "/path/to/ebuild" Änderungen sind eingepflegt.

Das prüfen aller .ebuild und digest* Dateien geschieht afaik nur bei FEATURES="strict", schau ich mir später noch mal genauer an ...

----------

## sirro

 *dertobi123 wrote:*   

> Das prüfen aller .ebuild und digest* Dateien geschieht afaik nur bei FEATURES="strict"

 

Stimmt. Dachte das strict bezieht sich nur auf die gpg-keys...

In lang:

```
# emerge ww --oneshot

Calculating dependencies ...done!

>>> emerge (1 of 1) app-misc/ww-2.23 to /

!!! File is corrupt or incomplete. (Digests do not match)

>>> our recorded digest: fde1613df7acb336fe41be18d88a6408

>>>  your file's digest: f69b808944b57a7d2a3be5ce251592c7

!!! File does not exist: /usr/local/portage/app-misc/ww/ww-2.23.ebuild

>>> Please ensure you have sync'd properly. Please try 'emerge sync' and

>>> optionally examine the file(s) for corruption. A sync will fix most cases.

# FEATURES=-strict emerge ww  --oneshot

Calculating dependencies ...done!

>>> emerge (1 of 1) app-misc/ww-2.23 to /

>>> md5 src_uri ;-) ww-2.23.tar.bz2
```

----------

## thepi

Zur Zeit (2.51_rc1) bricht emerge mit 'nem Fehler ab, wenn distfiles als symlink auf eine FAT-Partition zeigt (da ein 'chown' fehlschlägt). Für alle, die nicht warten wollen, habe ich einen kleinen Patch geschrieben (siehe hier). Funktioniert bei mir, und ein offizieller Fix ist wohl auch unterwegs.

Gruß

 pi~

----------

## dertobi123

Auch mit distfiles auf NFS kann es noch Probleme geben.

----------

## thepi

Jo darum ging's ja auch ursprünglich in dem bugreport. Die Ursache scheint aber dieselbe zu sein.

Mal schauen wann der Fehler behoben ist. Ich bin vor allem neugierig, wie sie's machen, im Vergleich zu meiner zusammengehackten Lösung  :Wink: 

pi~

----------

## Genone

Noch ein paar Anmerkungen zu gpg un collision-protect:

FEATURES=gpg ist noch nicht wirklich sinnvoll für normale User, da zum einen nur ein Teil aller Pakete signiert ist, die ganze Key Infrastruktur noch nicht in trockenen Tüchern ist und auch die Implementierung noch mehr oder weniger im Teststadium ist. Wird da also wohl noch die ein oder andere Änderung und auch den ein oder anderen Fehler geben.

FEATURES=collision-protect hat auch noch ein paar Macken, insbesondere Symlinks machen bei einigen Paketen ernste Probleme, die in Endlosschleifen enden können. Wenn man also merkt, dass das mergen plötzlich extrem lange dauert: 

- ctrl-c 

```
FEATURES=-collision-protect ebuild /path/to/ebuild qmerge

emerge clean
```

- Bug Report machen (am besten die Ausgabe von `qpkg -l <package>` anhängen)

----------

## eGore911

 *Earthwings wrote:*   

> [4] http://dev.gentoo.org/~swift/portage.html
> 
> 

 

Nach dem Link hab ich schon länger gesucht  :Very Happy:  Vielleicht sollte man den im ebuild aufnehmen (anstelle von http://www.gentoo.org/)?

----------

## dertobi123

 *eGore911 wrote:*   

>  *Earthwings wrote:*   [4] http://dev.gentoo.org/~swift/portage.html
> 
>  
> 
> Nach dem Link hab ich schon länger gesucht  Vielleicht sollte man den im ebuild aufnehmen (anstelle von http://www.gentoo.org/)?

 

Nein, das ist nur eine temporäre Seite, die die Meldung enthält, die beim Release von 2.0.51 auf gentoo.org veröffentlicht wird. Danach wird die Seite sehr wahrscheinlich gelöscht werden.

----------

## eGore911

 *dertobi123 wrote:*   

>  *eGore911 wrote:*    *Earthwings wrote:*   [4] http://dev.gentoo.org/~swift/portage.html
> 
>  
> 
> Nach dem Link hab ich schon länger gesucht  Vielleicht sollte man den im ebuild aufnehmen (anstelle von http://www.gentoo.org/)? 
> ...

 

Durchaus schade. Aber ich bin ja sowieso der Meinung, dass eigentlich alle wichtigen Gentoo-Projekte eine eigene Seite haben sollten. Und da das in den seltensten Fällen vorkommt, werd ich auch diesmal drüber hinwegsehen  :Wink: 

----------

## Genone

Du meinst sowas wie http://www.gentoo.org/proj/en/portage/ ? (ok, die Seite könnte mal das ein oder andere Update vertragen  :Rolling Eyes:  )

----------

## eGore911

 *Genone wrote:*   

> Du meinst sowas wie http://www.gentoo.org/proj/en/portage/ ? (ok, die Seite könnte mal das ein oder andere Update vertragen  )

 

Mir geht's halt prinzipiell um eine Seite wo ich sehe, was denn so in den neuen portage-builds drin ist, da der/die Maintainer (ich hab grad keine Ahnung wer das ist) leider nicht den Changelog aktualisiert/aktualisieren. Das ist auch einer der Gründe warum Gentoo sehr von diesem Forum und diesen Threads abhängig ist  :Very Happy: 

Ich bin halt kein Freund von Foren, weil ich manche Threads interssant aber auf Grund der Größe inakzeptabel finde (wer liest schon 40 Seiten über xorg-x11-6.8.0 oder 70 Seiten über die ati-drivers). Aber ich schweife ab.... Ich bin halt einfach nur für eine zentrale Informationshaltung (was sich bei einem Forum dieser Größe schwierig gestaltet).

EDIT:

Wenn der ChangeLog in /usr/portage/sys-app/portage einfach dieser Datei entsprechen würde .... *träum*

http://www.gentoo.org/cgi-bin/viewcvs.cgi/portage/ChangeLog?rev=1.763&root=gentoo-src&content-type=text/vnd.viewcvs-markup

----------

## Genone

 *eGore911 wrote:*   

> Wenn der ChangeLog in /usr/portage/sys-app/portage einfach dieser Datei entsprechen würde .... *träum*
> 
> http://www.gentoo.org/cgi-bin/viewcvs.cgi/portage/ChangeLog?rev=1.763&root=gentoo-src&content-type=text/vnd.viewcvs-markup

 

Dann würde es erstmal gegen die 20k Policy verstossen (gegen zu grosse Dateien im Tree) ...

----------

## sirro

 *eGore911 wrote:*   

> Wenn der ChangeLog in /usr/portage/sys-app/portage einfach dieser Datei entsprechen würde .... *träum*

 

Was ist mit /usr/share/doc/portage-2.0.51_rc4/ChangeLog.gz ?

----------

## toskala

nice one, danks für die info

----------

## sirro

Ein nicht in der make.conf.5 dokumentiertes Feature:

```
FEATURES="candy"
```

 bringt den eyecandy spinner, der in rc4 einmal als default aufgetaucht ist [1]

[1] https://forums.gentoo.org/viewtopic.php?t=228852

----------

## sirro

Ein kleines Update zur Potential Final #1:

 *Earthwings wrote:*   

> Wieso werden einige USE-Flags in der --verbose Anzeige mit einem Stern* gekennzeichnet?

 

Wenn ein Flag hinzugefuegt wurde, wird es jetzt (rc10) auch noch zusaetzlich zum * in gruen eingefaerbt.

 *Earthwings wrote:*   

> Warum funktioniert emerge inject nicht mehr?

 

Die Warnmeldung erklaert jetzt etwas mehr: (rc10)

 *emerge --inject wrote:*   

> *** --inject has been deprecated.
> 
> *** If you manage a piece of software yourself, add it's name and
> 
> *** version (eg foo/bar-1.0) to /etc/portage/profile/package.provided.
> ...

 

emerge -F bzw. --fetch-all-uri laedt alle Dateien, unabhaengig von den USE-Flags. (rc10)

emerge -1 ist ein Shortcut fuer emerge --oneshot geworden (rc8)

Noch mehr deprecated Anweisungen: (rc8)

```
# emerge rsync

*** 'rsync' will now install the package rsync.

*** To sync the tree, please use '--sync' instead.

# emerge --rsync

*** '--rsync' has been deprecated.

*** Please use '--sync' instead.
```

Das hier war schon in den pre* Versionen drin, aber wurde bisher noch nicht genannt: Bei package.mask Paketen wird jetzt die netsprechende Begruendung angezeigt. Sehr hilfreich wenn man nicht selber nach dem Grund forsten will.

```
# emerge -pv "=xorg-x11-6.8.0-r2"

These are the packages that I would merge, in order:

Calculating dependencies

!!! All ebuilds that could satisfy "=xorg-x11-6.8.0-r2" have been masked.

!!! One of the following masked packages is required to complete your request:

- x11-base/xorg-x11-6.8.0-r2 (masked by: package.mask, ~x86 keyword)

# <spyderous@gentoo.org (12 Oct 2004)

# work in progress

For more information, see MASKED PACKAGES section in the emerge man page or

section 2.2 "Software Availability" in the Gentoo Handbook.
```

----------

## mrsteven

Sehr schön!

----------

## sirro

Diese Nacht ist die erste final Version rausgekommen, hier nochmal ein (letztes) Update an Neuerungen:

Ein wenig Schutz vor dem entfernen von System-Paketen:

```
# emerge -Cp sash

>>> These are the packages that I would unmerge:

!!! Trying to unmerge package(s) in system profile. 'app-shells/sash'

!!! This could be damaging to your system.

>>> Waiting 10 seconds before starting...

>>> (Control-C to abort)...

Press Ctrl-C to Stop in: 10 9
```

Mit EMERGE_WARNING_DELAY lassen sich diese 10Sekunden umstellen.

Aenderung der voher drastischen /path/to.ebuild Meldung (s.o.):

```
emerge -pv /usr/portage/sys-apps/portage/portage-2.0.51.ebuild

emerging by path implies --oneshot... adding --oneshot to options.

*** emerging by path is broken and may not always work!!!
```

----------

## Ezekeel

hab auch ein problem mit 2.0.51, und zwar habe ich eben mein portage geupdatet und nun kommt bei einem emerge -uDp world unter anderem folgendes zustande:

```
Calculating world dependencies ...done!

[blocks B     ] sys-apps/sysvinit (from pkg sys-apps/baselayout-1.9.4-r5)

[blocks B     ] sys-apps/modutils (from pkg sys-apps/module-init-tools-3.0-r2)

[blocks B     ] sys-apps/module-init-tools (from pkg sys-apps/modutils-2.4.25)

```

wieso in 3 teufels namen will er diese Pakete bei einem emerge -uD world installieren? Bei meinem alten portage hat er nie solche zicken gemacht weswegen ich nun mal schwer davon ausgehe, dass es am neuen portage liegt, da ich ausser einem emerge -u portage seit dem nichts gemacht habe!

----------

## Earthwings

Changelog (Edit 6->8)

```

 Warum funktioniert emerge inject nicht mehr?

---inject ist jetzt als "deprecated" markiert und kann nicht mehr benutzt werden. Anstelle dessen trägt man Pakete, die man als installiert markieren will, in /etc/portage/profile/package.provided ein.

-Ein früheres

-Code:

-emerge inject sys-kernel/gentoo-dev-sources-2.6.8-r4

-wird also zu

-Code:

-echo "sys-kernel/gentoo-dev-sources-2.6.8-r4" >> /etc/portage/profile/package.provided

+--inject ist jetzt als "deprecated" markiert und kann nicht mehr benutzt werden. Als Ersatz für --inject gibt es die Datei /etc/portage/package.provided, allerdings gibt es hier ein paar Besonderheiten zu beachten.

+

+

+    * Wenn man inject verwenden möchte, weil man das Paket aus anderer Quelle installiert hat (z.b. Binärdatei heruntergeladen, Quellen selbst kopiert):

+      In diesem Fall trägt man das Paket in der Form <cat>/<pkg>-<version> in /etc/portage/package.provided ein.

+      Wichtig: Das Paket wird bei der Paketsuche (emerge --search) dann trotzdem nicht als installiert markiert. Portage kümmert sich aber darum, dass die Abhängigkeiten erfüllt sind.

+    * Wenn man inject verwenden möchte, um das Update eines Pakets zu verhindern:

+      Anstelle dessen das Paket in /etc/portage/package.mask eintragen. Natürlich können ">", ">=" usw. benutzt werden, um mehrere Versionen auszuschließen

+    * Wenn man inject verwenden möchte, um das Update eines Pakets zu verhindern, das aus dem Portage Treeentfernt wurde:

+      Zunächst sollte man nachschauen, warum das Paket nicht mehr in Portage vorhanden sind. Ist es z.B. wegen einer bekannten Sicherheitslücke verschwunden, sollte man das Paket updaten. Hinweise auf den Entfernungsgrund gibt es normalerweise im Changelog (im Verzeichnis des ebuilds) oder auch in Bugzilla, ViewCVS oder den Sicherheitshinweisen. Will man das Paket trotz allem nicht updaten, kann man das alte ebuild aus /var/db/pkg/<cat>/<pkg>/ oder ViewCVS in das PORTDIR_OVERLAY Verzeichnis (normalerweise /usr/local/portage/<cat>/<pkg>) kopieren und dann wie oben verfahren.

+FEATURES="candy" - Ändert den "spinner" beim Berechnen der Abhängigkeiten. Am besten kurz ausprobieren undselbst entscheiden, ob man es mag:

+Code:

+FEATURES=candy emerge -p world

# emerge -p moo gibt es natürlich weiterhin :)

```

Sowie verkürzte Installationsanweisungen.

----------

## sirro

 *sirro wrote:*   

> Diese Nacht ist die erste final Version rausgekommen, hier nochmal ein (letztes) Update an Neuerungen:

 

Kein letztes  :Wink:  Hier ist noch eine sichtbare Neuerung (-r1 oder -r2):

```
# emerge /usr/portage/app-sci/scilab/scilab-3.0.ebuild

emerging by path implies --oneshot... adding --oneshot to options.

*** emerging by path is broken and may not always work!!!

Calculating dependencies

*** You are emerging a masked package. It is MUCH better to use

*** /etc/portage/package.* to accomplish this. See portage(5) man

*** page for details.
```

BTW: Die neuen Warnmeldungen finde ich sehr hilfreich und hoffe, dass dadurch die Foren von einigen Problemen befreit werden  :Wink: 

----------

## mrsteven

Ich finde auch das neue Slot-Handling sehr gelungen:

```

[ebuild  NS   ] sys-kernel/development-sources-2.6.9  -build -doc 35,413 kB

```

Sehr praktisch, jetzt weiß man, warum bei einem "emerge -uDav world" bisweilen neue Versionen installiert werden, ohne dass man groß nachschauen muss.

----------

## legine

 *Quote:*   

> hab auch ein problem mit 2.0.51, und zwar habe ich eben mein portage geupdatet und nun kommt bei einem emerge -uDp world unter anderem folgendes zustande:
> 
> Code:
> 
> Calculating world dependencies ...done!
> ...

 

Vieleicht weil es aus sicherheitsgründen neu installiert werden muss? Da gibt es ein paar threads wo das ganze Diskutiert wird ich glaube im thread why I hate portage kommt das mal zu sprache. Setzt aber glaube ich viel Systemwissen vorraus um, das genauer Bekründen zu können   (definitiv zu hoch für mich)

----------

## Inte

 *Ezekeel wrote:*   

> 
> 
> ```
> Calculating world dependencies ...done!
> 
> ...

 

PORTAGE-2.0.51 AND PROBLEM SOLUTIONS *carpaski wrote:*   

> Problem:
> 
>  * Portage indicates multiple blockers that did not exist before.
> 
> Solution:
> ...

 

----------

## Earthwings

unklebrig gemacht.

----------

