Re: /usr/ports/packag es/All aufräumen
Harold Gutch <[email protected]> Fri, 22 Jun 2018 09:50:56 +0200
| Newsgroups | gmane.os.freebsd.questions.german |
|---|---|
| Message-ID | <[email protected]> |
Hi, On Wed, Jun 20, 2018 at 02:40:42PM +0200, Sascha Hüdepohl wrote: > * Harold Gutch ([email protected]) 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 [email protected] with "unsubscribe de-bsd-questions" in the body of the message