Pacman 3.4.0
Обновился замечательный пакетный менеджер не менее замечательного дистрибутива Arch Linux. Его список изменений содержит множество интересных нововведений, которые обязательно заинтересуют любого заядлого арчевода.
Из наиболее интересного:
- Зеркала и кэш:
- Новая опция "Architecture", ограничивающая действия pacman только выбранной архитектурой. По-дефолту выставлено в auto (определение на основе вывода 'uname -m').
- Переменная $arch в URL зеркал.
- При синхронизации извлекаются только обновившиеся элементы.
- Очистка кэша работает со всеми каталогами, а не только с первым.
- rankmirrors переписан на bash.
- cleanupdelta — новая утилита для удаления неиспользуемых дельт из БД.
- Установка и удаление:
- Можно одновременно обновлять пакеты и ставить новые (например, 'pacman -Syu rekonq').
- Установка через -U наконец-то научилась обрабатывать зависимости, конфликты и замещение пакетов.
- Установка через -U и удаление пакетов всегда запрашивают подтверждение пользователя.
- Поле "требуется пакетами" в выводе -Sii (показывает не только установленные!).
- Другое:
- Новое действие -D/--database, изменяющее данные пакета в БД. Пока можно менять только причину установки (установлен явно/как зависимость).
- -Qo может сам раскрывать пути (как which).
- Новые ключи --print и --print-format. Первый напечатает цели вместо выполнения указанного действия, второй позволит формат этого самого вывода настроить.
- bash-completion переписан для оптимизации и уменьшения размера.
- makepkg:
- Автоматическая остановка при ошибках (больше не нужно писать "|| return 1").
- Для нескольких пакетов, заданных в одном PKGBUILD (split PKGBUILD) можно указать разные переменные pkgver, pkgrel и arch. Также можно выполнить сборку только отдельных пакетов с помощью ключа --pkg.
- Функция build() стала опциональной.
- Список изменений можно подключить через переменную changelog.
- Большой рефакторинг в обработке тестов ("[" внутри "[[").