# Fragen zu package.* Dateien ?

## xtrace

Hi,

ich habe eine Frage zu den ganzen Package Dateien.

Ich habe unter /etc/portage/ folgende Dateien angelegt:

package.keywords

package.unmask

package.mask

package.use

package.license

Wozu dienen Dateien wie "package.accept_keywords", "package.provided" ?

Gibt es weitere Dateien, wie jene, welche ich hier aufgelistet habe?

Danke!

Cu,

xtrace

----------

## bell

Hi,

package.accept_keywords ist der neue Name für package.keywords. Ist also das selbe.

In package.provided trägt man Pakete ein die man irgend wie manuell installiert hat (zB. nach /usr/local). Damit wird Portage vorgetäuscht dass diese da sind so dass Portage nicht mehr versucht diese zu installieren. Ich halte davon nicht viel. Man sollte Software bei Gentoo IMMER über Portage installieren.

An sonsten gibt es noch nicht-package Dateien wie zB. bashrc. Aber so weit ging die Frage nicht, oder?

Siehe auch https://wiki.gentoo.org/wiki//etc/portage

Ein Tipp: Anstatt Dateien kannst Du auch Verzeichnisse mit diesen Namen anlegen. Dann kannst Du die Konfiguration auf mehrere Dateien aufsplitten.

----------

## Josef.95

Siehe dazu auch im 

```
man portage
```

 Da ist zu den meisten Konfigurationsdateien auch ne kurze Beschreibung mit dabei :)

----------

## xtrace

 *bell wrote:*   

> Ein Tipp: Anstatt Dateien kannst Du auch Verzeichnisse mit diesen Namen anlegen. Dann kannst Du die Konfiguration auf mehrere Dateien aufsplitten.

 

Hi,

habe ich dann kein Risiko wegen doppelter Einträge?

Beispiel:

```
package.use/$foo    -> Inhalt: $fooPaket -alsa

package.use/$foo1  -> Inhalt: $gleichesPaketwiein$foo +alsa

```

Bekommt man so keine Probleme? Allgemein wäre das doch schwieriger zu administrieren und zu verwalten. Oder? Weil man so mehere Dateien bei Änderungen bearbeiten und durchsuchen muss.

Danke.

Cu,

xtrace

PS: Danke für den Hinweis @Josef95

----------

## bell

 *xtrace wrote:*   

> 
> 
> habe ich dann kein Risiko wegen doppelter Einträge?

 

Das kriegt man auch innerhalb einer Datei hin  :Wink: . Das ist natürlich Ansichtssache, für mich ist es übersichtlicher wenn ich schon am Dateinamen sehe wozu explizite Anpassungen gemacht wurden.

An sonsten gibt es auch 

```
eix-test-obsolete
```

 was solche Doppel-Einträge rausfinden würde.

----------

## Josef.95

Um mir ein Überblick zu einem Paket oder/und USE-Flag zu verschaffen nutze ich meist 

```
grep -R paket /etc/portage
```

 Dabei fallen dann auch eventuell mal versehentlich doppelt gesetzte  Konfigurationen auf :)

----------

## musv

 *bell wrote:*   

> In package.provided trägt man Pakete ein die man irgend wie manuell installiert hat (zB. nach /usr/local). Damit wird Portage vorgetäuscht dass diese da sind so dass Portage nicht mehr versucht diese zu installieren. Ich halte davon nicht viel. Man sollte Software bei Gentoo IMMER über Portage installieren.

 

Die Begründung ist nicht ganz korrekt. 

Vor einigen Jahren gab's mal diverse Pakete, die das mdnsResponder/Zeroconf als zwingende Abhängigkeiten drin hatten. Die Pakete funktionierten auch problemlos ohne das Geraffel. Ich glaub, Google Earth und die KDELibs waren heiße Kandidaten dafür. Bin mir aber nicht mehr sicher. 

Normalerweise wäre das ein Fall für bugs.gentoo.org. Aber wie das manchmal so ist, wird halt nicht alles sofort bearbeitet oder eingesehen. 

Ich hatte dann damals zeroconf einfach in package.provided reingeschmissen und hatte Ruhe dadurch. 

package.provided dient also nicht nur, um einen Konflikt zwischen manuell installierte Paketen und Portage zu vermeiden, sondern es kann auch dafür verwendet werden, Portage eine Installation vorzugaukeln, die nicht vorhanden ist.

----------

## franzf

Es ist übrigens nicht /etc/portage/package.provided sondern /etc/portage/profile/package.provided. Und in Kombination mit /etc/portage/patches verwende ich es, um hart von upstream eingebaute Abhängigkeiten ohne Overlay erauszupatchen. Z.B. hau ich so die Abhängigkeit von plasma-workspace zu networkmanager raus  :Wink: 

----------

## mv

Bezüglich mehrerer Dateien:

1. Wenn Du z.B. die aktuelle texlive in package.accept_keywords eintragen willst, wirst Du noch Dutzende andere Paketen dazu eintragen müssen. Wenn dann irgendwann texlive stabil wird (auch wenn das unwahrscheinlich ist, bevor die nächste texlive schon da ist), kannst Du zumindest theoretisch einfach die Datei verstecken (mit einem . davor versehen): Versteckte Dasteien werden ignoriert.

2. Wenn Du mehrere Rechner parallel wartest, ist es praktisch, die "generellen" Konfigurationsdaten von denen zu trennen, die speziell für einen der Rechner notwendig sind. Ich mache in den Directories i.d.R. Symlinks auf ein Directory, das auf allen Systemen identisch ist.

3. Bei package.use will man teilweise doppelte Einträge erlauben, da die Werte akkumulativ sind.

Mit eix-test-obsolete wirst Du ggf. auf doppelte Einträge, Einträge die nicht mehr "matchen" usw., aufmerksam gemacht.

----------

