# [Solved] spawn failed of /etc/portage/bin/post_sync [Gelöst]

## bloedie

Hi.

Seit 3 Tagen bekomme ich bei einem emerge --sync 

die Fehlermeldung 

spawn failed of /etc/portage/bin/post_sync 

Wie kann ich die beseitigen und warum erscheint diese?

Gruss

BloedieLast edited by bloedie on Sun Feb 18, 2007 2:19 pm; edited 1 time in total

----------

## Genone

Existiert diese Datei denn? Wenn ja, mit welchem Inhalt?

----------

## bloedie

Hi.

Die Datei existiert und hat folgenden Inhalt:

```

#!/bin/sh

# Copyright 2006-2007 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

if [ -d /etc/portage/postsync.d/ ]; then

   for f in /etc/portage/postsync.d/* ; do

      if [ -x ${f} ] ; then

         ${f}

      fi

   done

else

   :

fi

```

In dem Verzeichnis /etc/portage/postsync.d

liegt nur die Datei q-reinitialize und diese hat den folgenden Inhalt:

```

[ -x /usr/bin/q ] && /usr/bin/q -qr

```

Gruss

Bloedie

----------

## Necoro

Haben die Dateien Ausführrechte?

----------

## bloedie

Hi.

Ja, die Dateien haben Ausführungsrechte.

Gruss

Bloedie

----------

## bloedie

Hi.

Hat noch einer einen Tip für mich?

Gruss

Bloedie

----------

## Genone

Naja, die besagte Fehlermeldung wird ausgegeben wenn der besagte Befehl einen Fehlerstatus zurückgibt ($? != 0 in bash). Was bei den gegebenen Information bedeuten würde dass die Ausführung von q-reinitialize fehlschlägt, was wiederum zwei Ursachen haben kann: Entweder existiert /usr/bin/q nicht oder die Ausführung von /usr/bin/q -qr schlägt fehl (wobei ich in dem Fall eine weitere Fehlermeldung erwarten würde).Last edited by Genone on Sun Feb 18, 2007 11:05 am; edited 1 time in total

----------

## bloedie

Hi.

Du hast Recht, die Datei /usr/bin/q existiert nicht.

In welchem Paket befindet sich q?

Allerdings habe ich q auf keinem meiner 64 Bit Gentoo Systeme sondern nur

auf den 32 bit Gentoo Systemen.

Gruss

Bloedie

----------

## Fauli

 *bloedie wrote:*   

> In welchem Paket befindet sich q?

 

Es gehört zu app-portage/portage-utils.

----------

## bloedie

Hi.

Nachdem ich ein

emerge app-portage/portage-utils

gemacht habe ist die Fehlermeldung weg.

Vielen Dank für Eure Hilfe.

Gruss

Bloedie

----------

## Necoro

Das wundert mich aber, dass emerge --sync das braucht und es NICHT im normalen System drin ist   :Shocked:  - das sollte doch bestimmt anders sein, oder?

----------

## firefly

ich vermute er hat das /etc verzeichniss vom 32Bit System komplett mit ins 64Bit System übernommen.

----------

## bloedie

Hi.

Nein, das habe ich das nicht gemacht. 

Das gentoo 64 ist frisch aufgesetzt. Mein 32 bit läuft schon seit gut 

einem Jahr ohne Probleme.

Ich habe noch ein weiteres 64 bit Gentoo drauf und da ist das Programm q

auch nicht drauf, wird aber auch anscheinend nicht benötigt, denn dort

bekomme ich die Fehlermeldung nicht. 

Jetzt bekomme ich natürlich auch keine mehr.

Gruss

Bloedie

----------

## Genone

Vermutung: du hattest irgendwann man portage-utils installiert, und dann wieder deinstalliert wobei die Datei in /etc liegenblieb.

----------

## bloedie

Hi.

Nein, auch das habe ich nicht gemacht, zumindest nicht das ich es 

wüsste.

Gruss

Bloedie

----------

## firefly

 *bloedie wrote:*   

> Hi.
> 
> Nein, auch das habe ich nicht gemacht, zumindest nicht das ich es 
> 
> wüsste.
> ...

 

Also dieses script wird nur vom portage-utils ebuild erstellt.

Dadurch gibt es nur, in meinen Augen, folgende Möglichkeiten, wie die Datei bei dir im /etc/portage Verzeichniss gelangen konnte:

1. Du hast irgent wann mal das paket portage-utils installiert und dann wieder deinstalliert.

2. Das /etc/portage Verzeichniss von einer anderen Installation kopiert, wo portage-utils installiert war/ist.

3. Das /etc/portage Verzeichniss aus einem Backup, von einem System, wo portage-utils installiert war, kopiert.

----------

## bloedie

H firefly.

Deine letzten beiden Gründe schliesse ich definitiv aus.

Was natürlich sein kann, dass portage-utils in irgendeinem 

Paket als abhängigkeit war und ich dieses wieder deinstalliert

habe. Das möchte ich nicht aussschliessen. Dennoch Frage ich

mich, wenn ich portage-utils deinstalliert habe, warum 

das Verzeichnis mit dem Script nicht mit deinstalliert wird?

Wenn dem so wäre wie du sagst, hätten wir meiner Meinung nach

hier wohl einen Bug gefunden.

Auf jedenfall nochmals vielen Dank für Eure Hilfe und super finde

ich, dass ich wieder etwas dazugelernt habe.

Gruss

Bloedie

----------

## firefly

 *bloedie wrote:*   

> H firefly.
> 
> Deine letzten beiden Gründe schliesse ich definitiv aus.
> 
> Was natürlich sein kann, dass portage-utils in irgendeinem 
> ...

 

Das ist kein BUG sondern ein FEATURE, denn alle Dateien, die nach /etc installiert sind, werden beim deinstallieren des Paketes nicht mit gelöscht. Das ganze nennt sich CONFIG_PROTECT.

Das Problem ist mehr kosmetischer natur, da das script in /etc/portage/postsync.d Verzeichniss, wenn es das Programm q nicht findet, einen Fehler Rückgabewert an den Aufrufer(hier emerge) zurückliefert. Und emerge gibt halt dann diese Fehlermeldung aus.

Wenn sich jetzt 2 scripte in /etc/portage/postsync.d befinden würden, und das 2. script ein "Alles OK" Rückgabewert zurückliefert, dann kommt die Fehlermeldung nicht mehr, obwohl das 1. script einen "Fehler" über den Rückgabewert angezeigt hat.

Also portage-utils kommt über das Paket java-config-wrapper als Runtime abhängigkeit mit.

----------

## meax

 *firefly wrote:*   

> 
> 
> Das ist kein BUG sondern ein FEATURE, denn alle Dateien, die nach /etc installiert sind, werden beim deinstallieren des Paketes nicht mit gelöscht. Das ganze nennt sich CONFIG_PROTECT.[...]

 

Mit portage-2.1.2 nicht mehr, dann werden auch alle Dateien in /etc beim deinstallieren gelöscht, was ich persönlich auch besser finde.

siehe bug 8423

----------

## firefly

hmm stimmt, aber nur solange sich die mtime nicht geändert hat.

----------

