На днях в портах FreeBSD у одного порта, а именно, у ports-mgmt/pkg-devel, прописали "abi":"FreeBSD:12.0:i386" вместо "abi":"FreeBSD:12:i386". Аналогично сделали на архитектуре amd64 и на других ветках, не только 12. При попытке обновить порты выпадает следующая ошибка:
~ ~> pkg update -f Updating FreeBSD repository catalogue... Fetching meta.conf: 100% 163 B 0.2kB/s 00:01 Fetching packagesite.txz: 100% 6 MiB 1.6MB/s 00:04 Processing entries: 64% pkg: wrong architecture: FreeBSD:12.0:i386 instead of FreeBSD:12:i386 pkg: repository FreeBSD contains packages with wrong ABI: FreeBSD:12.0:i386 Processing entries: 100% Unable to update repository FreeBSD Error updating repositories!
В amd64, соответственно, ошибка:
pkg: wrong architecture: FreeBSD:12.0:amd64 instead of FreeBSD:12:amd64
В качестве workaround, можно прописать в файл /usr/local/etc/pkg.conf:
ABI = "FreeBSD:12:i386"; ALTABI = "FreeBSD:12.0:i386"
Только поправить под свою архитектуру. Проверить используемые ABI можно так:
~> pkg -vv | grep ABI ABI = "FreeBSD:12:i386"; ALTABI = "FreeBSD:12.0:i386";
А проверить наличие проблемного пакета так:
fetch -qo - https://pkg.freebsd.org/FreeBSD:12:i386/latest/packagesite.txz | tar -xzOf - | grep -a "FreeBSD:12.0"
И, на всякий случай, сделайте пометку в motd, что файл /usr/local/etc/pkg.conf изменен.