Re: /usr/ports/packages/All aufräumen

From: Harold Gutch <logix(at)foobar.franken.de>
Date: Fri, 22 Jun 2018 09:50:56 +0200

Hi,

On Wed, Jun 20, 2018 at 02:40:42PM +0200, Sascha Hüdepohl wrote:
> * Harold Gutch (logix(at)foobar.franken.de) schrieb:
> > Was genau für "Warnungen" meinst du eigentlich?
>
> Ah, hab ich vergessen zu schreiben.
> Ich mache dann also auf dem Produktiv-system:
>
> # pkg upgrade
>
> Das resultiert dann in einer sqlite-Fehlermeldung wie dieser:
>
> sqlite error while executing CREATE INDEX packages_origin ON
> packages(origin COLLATE NOCASE);CREATE INDEX packages_name ON
> packages(name COLLATE NOCASE);CREATE INDEX packages_uid_nocase ON
> packages(name COLLATE NOCASE, origin COLLATE NOCASE);CREATE INDEX
> packages_version_nocase ON packages(name COLLATE NOCASE, version);CREATE
> INDEX packages_uid ON packages(name, origin);CREATE INDEX
> packages_version ON packages(name, version);CREATE UNIQUE INDEX
> packages_digest ON packages(manifestdigest); in file pkgdb.c:2406:
> UNIQUE constraint failed: packages.manifestdigest

Der manifestdigest ist ein Hash aus diversen Feldern, unter anderem
Portname, -origin, -version und Architektur (FreeBSD-Version) auf der
das Paket gebaut wurde. Doppelte Hashes sollten da eigentlich nicht
vorkommen.

"pkg upgrade" führt implizit ein "pkg update" aus. Das klingt also so
als ob ein Paket identisch in zwei Repos im Index existiert (oder
alternativ dass in einem Repo ein Paket doppelt existiert, aber ich
denke dann sollte das beim "pkg index" dort schon aufgefallen sein).

Kann es vielleicht sein dass du irgendwelche Pakete zum einen lokal
(also im Produktivsystem in /usr/ports/packages/All) hattest und
gleichzeitig dieselben Pakete in deinem build-Jail?

Da "pkg index" rekursiv arbeitet könnten im Prinzip doppelte Einträge
im Index auch noch vorkommen wenn ein Paket zweimal in
unterschiedlichen Verzeichnissen vorkommt, etwa in
/usr/ports/packages/All und in /usr/ports/packages/All/alt oder so,
das könnte dann wohl passieren wenn man alte Pakete erstmal nur
beiseite schiebt anstatt sie zu löschen.

Das hat jetzt nicht direkt etwas mit der ursprünglichen Frage zu tun,
hilft aber vielleicht etwas bei der Suche nach der Ursache bzw. der
Vermeidung in Zukunft.

Gruß,
  Harold

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 22 Jun 2018 - 09:51:07 CEST

search this site