Servus,
ich wollte gerade glances-git aus dem AUR ausprobieren und dabei ist mir mal wieder ein Fehler untergekommen, den ich vorher schon sporadisch gesehen habe, jetzt aber eindeutig reproduzieren kann.
Ich hole mir das PKGBUILD von glances-git in ein Verzeichnis. Dann lasse ich das Paket mit „makepkg -sir“ bauen, will also erst fehlende Pakete nachinstallieren, dann bauen lassen, installieren und dann reine build-depends wieder wegwerfen. Das hat in der Vergangenheit auch gut geklappt. Seit einiger Zeit™ erhalte ich folgenden Fehler:
...
==> Installing package glances-git with pacman -U...
loading packages...
resolving dependencies...
looking for inter-conflicts...
Targets (1): glances-git-20120212-1
Total Installed Size: 0.17 MiB
Proceed with installation? [Y/n] y
(1/1) checking package integrity [------------------------------------------------] 100%
(1/1) loading package files [------------------------------------------------] 100%
(1/1) checking for file conflicts [------------------------------------------------] 100%
(1/1) checking available disk space [------------------------------------------------] 100%
(1/1) installing glances-git [------------------------------------------------] 100%
comm: file 1 is not in sorted order
comm: file 2 is not in sorted order
comm: file 1 is not in sorted order
comm: file 2 is not in sorted order
==> ERROR: An unknown error has occurred. Exiting...
==> Removing installed dependencies...
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: glances-git: requires pystatgrab
==> WARNING: Failed to remove installed dependencies.
Auf das „not in sorted order“ kommt es mir an. Der Rest ist in Ordnung – er kann pystatgrab nicht deinstallieren, weil es eine normale Abhängigkeit und kein build-depend ist.
Hab’s so weit isolieren können: „pacman -Qq“ sortiert die Liste der Pakete „falsch“. Hierdurch entsteht der Fehler. Das passiert, während makepkg die Liste der installierten Pakete vor und nach dem Paketbau vergleicht. Reproduzieren (einfach das eine Mal irgendein Paket aus der Liste löschen) kann man es unabhängig von makepkg hiermit:
comm -13 <(pacman -Qq | sed 5d) <(pacman -Qq)
Und so sieht man dann auch, dass „sort“ ganz klar anders sortiert als pacman:
vimdiff <(pacman -Qq) <(pacman -Qq | sort)
Kann das irgendjemand nachstellen? Mache ich etwas falsch?
Ich verwende die US-Locale, auf Deutsch tritt’s aber auch auf:
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Danke für Hinweise!