LINUX.ORG.RU

Какой helper лучше использовать для AUR?

 , , , ,


0

1

Захотелось свежатины, потихоньку осваиваю Arch на виртуалке.

На данный момент я понял, что в AUR находятся не собранные пакеты, а pkgbuild-ы для них. Обычно их ставят и обновляют вручную, а helper-ы автоматизируют это.

Собственно, вопрос: а какой выбрать, их ведь целая куча? https://wiki.archlinux.org/index.php/AUR_helpers

Я для себя выделил yaourt, aurutils, bauerbill, pacaur, trizen.

  • yaourt — просто первый вообще, классика.
  • aurutils — просто в таблице все фичи есть, но не нравится, что синтаксис не pacman-подобный.
  • bauerbill — вроде весьма ничего, все фичи, синтаксис pacman-подобный с расширениями.
  • pacaur — все то же, что выше, так и не понял, какой круче.
  • trizen — вроде попроще двух выше, и смущает, что конфиг локальный по умолчанию, а ведь вроде системная утилита.

Но возможно, что есть варианты лучше, я по таблице в статье смотрел: https://wiki.archlinux.org/index.php/AUR_helpers#Comparison_table

Меня только пункт Secure смущает: does not source the PKGBUILD at all by default; or, alerts the user and offers the opportunity to inspect the PKGBUILD manually before it is sourced.

Меня устраивает, если эта возможность будет залочена по умолчанию, но хотелось бы мочь её включить.

Меня устраивает, если эта возможность будет залочена по умолчанию, но хотелось бы мочь её включить.

Какая возможность?

По теме — из перечисленных pacaur аккуратнее всех работает с зависимостями в сложных PKGBUILD'ах (т. е. аккуратнее всего парсит .PKGINFO). yaourt, напротив, делает это хуже всех, но удивительным образом он самый «модный» из этих.

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

source the PKGBUILD возможность. Вдруг встречу пакет, который без этого нельзя установить? Или я что-то не понял?

yaourt просто первый, вот и популярен. pacaur хорош, как я понял. А что насчет bauerbill?

Vsevolod-linuxoid ★★★★★ ()
Ответ на: комментарий от Vsevolod-linuxoid

Да, ты не так понял. Плохо написанные AUR-хелперы парсят PKGBUILD путём его исполнения и/или делают это до того, как дают пользователю возможность прочесть его и отредактировать. Правильно написанные хелперы используют .SRCINFO (декларативный файл описания зависимостей, генерируемый автором PKGBUILD'а), а когда пользователь соглашается на установку — не исполняют PKGBUILD до того, как пользователь получит возможность его прочесть.

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

При этом 86% пользователей этих хелперов используют опцию --noconfirm

greenman ★★★★★ ()
Ответ на: комментарий от Vsevolod-linuxoid

Что не так с bauerbill — уже не помню. Я достаточно давно пользуюсь pacaur. Впрочем, он мне тоже не нравится и я вялотекуще пишу свой :)

intelfx ★★★★★ ()

Мелкие пакеты ставлю через yaourt. Для крупных пакетов типа wine держу локально сорцы пакетов, обновляя через git и пересобирая.

xDShot ★★★★★ ()
Ответ на: комментарий от intelfx

Плохо написанные AUR-хелперы парсят PKGBUILD путём его исполнения

вроде же yaourt в этом плане недавно поправили?

onlybugs ★★ ()
Ответ на: комментарий от intelfx

В общем, решил я установить таки pacaur, но не нашел на гитхабе оного инструкций по установке. Полез в сеть, и обнаружил кучу инструкций. Они схожи, создать пакеты для cower и pacaur, а затем поставить, но вот ключи команд везде разные, и я запутался, причем зачастую --noconfirm встречается.

Вот какие я нарыл: https://gist.github.com/Tadly/0e65d30f279a34c33e9b https://blog.jenningsga.com/how-to-install-pacaur/ https://www.ostechnix.com/install-pacaur-arch-linux/ https://medium.com/@crionskry/установка-pacaur-16aecd03a0b3 https://storrgie.epiphyte.network/installing-pacaur-the-best-aur-helper/

Как же ставить, чтобы не стать ССЗБ?

Vsevolod-linuxoid ★★★★★ ()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от Vsevolod-linuxoid

Эээ... Просто собрать руками из AUR и поставить?

Веб-интерфейс AUR вот здесь: https://aur.archlinux.org

Пакет pacaur вот здесь: https://aur.archlinux.org/packages/pacaur

В зависимостях у него cower из AUR, остальное из офрепов.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от intelfx

В общем, в инструкциях пишут то же, что и ты, но вот немного по-разному:

  1. Сперва они советуют поставить утилиты для сборки. Причем 5 разными командами!:
    sudo pacman -S binutils make gcc fakeroot pkg-config --noconfirm --needed
    sudo pacman -S base-devel
    sudo pacman -S expac yajl --noconfirm
    sudo pacman -S binutils make gcc fakeroot — noconfirm
    sudo pacman -S expac yajl git --noconfirm
    Так что мне ставить, или все это сразу?
  2. Потом скачать PKGBUILD. Тоже многими способами, некоторые советуют какие-то gpg ключи, даже не знаю, откуда они их взяли, потом (хоть в чем-то сходятся)
    curl -o PKGBUILD https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=cower
    curl -o PKGBUILD https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=pacaur
  3. И финал — сборка и установка. 5 разных вариантов:
    makepkg PKGBUILD --skippgpcheck --install --needed
    makepkg -s && makepkg -i
    makepkg -i PKGBUILD --noconfirm
    makepkg PKGBUILD && sudo pacman -U pacaur*.tar.xz — noconfirm
    makepkg --skippgpcheck && sudo pacman -U cower*.tar.xz --noconfirm

В общем, я уже запутался, как именно мне быть. Нет ли универсального способа?

Vsevolod-linuxoid ★★★★★ ()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid
  • ставишь yaourt (для него есть отдельная репа)
  • ставишь с его помощью pacaur
  • удаляешь yaourt
  • ...
  • PROFIT!
anonymous ()
Ответ на: комментарий от intelfx

Уже не надо, сам разобрался. Просто git clone, поставил этот gpg для cower и makepkg -s, ставил через pacman -U.

Vsevolod-linuxoid ★★★★★ ()
Ответ на: комментарий от Vsevolod-linuxoid

Где ты откопал этот идиотизм? Вижу, что уже разобрался, но для архивов напишу.

  1. Ставишь группу пакетов base-devel: пакеты из неё разрешается не перечислять в зависимостях сборки; подразумевается, что они у всех есть.
    pacman -S base-devel
    
  2. Скачиваешь сборочный репозиторий (PKGBUILD и сопутствующие файлы) для требуемого пакета (pacaur) и тех его зависимостей, которые тоже есть только в AUR (у pacaur такая одна — cower):
    git clone https://aur.archlinux.org/cower
    git clone https://aur.archlinux.org/pacaur
    
  3. Собираешь пакеты по очереди (что значат флаги — почитай в мане makepkg):
    cd <пакет>
    makepkg --syncdeps --install --asdeps # для основного пакета без --asdeps
    cd ..
    
  4. Всё.
intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

Блин, я ставил немного по-другому, можешь сказать, не накосячил ли?

  • sudo pacman -S base-devel
  • mkdir cower pacaur
  • cd cower
  • git clone https://aur.archlinux.org/cower
  • cd cower
    Да, получился ~/cower/cower
  • makepkg -s PKGBUILD
    В процессе вылезла ошибка с gpg ключем, я решил все сначала сделать
  • cd ~/cower
  • rm -rf cower
  • git clone https://aur.archlinux.org/cower
  • cd cower
  • gpg --recv-keys --keyserver hkp://pgp.mit.edu 1EB2638FF56C0C53
  • makepkg -s PKGBUILD
    Теперь это прошло без проблем
  • sudo pacman -U cower-17-2-x86_64.pkg.tar.xz
  • cd ~/pacaur
  • git clone https://aur.archlinux.org/pacaur.git
  • cd pacaur
  • makepkg -s PKGBUILD
  • sudo pacman -U pacaur-4.7.10-1-any.pkg.tar.xz

pacaur работает норм, проверил. Но не сделал ли я скрытых ошибок?

Vsevolod-linuxoid ★★★★★ ()
Ответ на: комментарий от intelfx

--asdeps как я понял отмечает пакет установленным как зависимость, чо бы мотом удалялся с пакетом который зависит от него... да, ентого я явна не дочитал))) но маны тварят чудеса

#большекуритьманов

safocl ()
Ответ на: комментарий от Vsevolod-linuxoid

gpg --recv-keys --keyserver hkp://pgp.mit.edu 1EB2638FF56C0C53

данный ключ обозначен в pkgbuild файле...

safocl ()
Ответ на: комментарий от Vsevolod-linuxoid

makepkg -s PKGBUILD

и

sudo pacman -U cower-17-2-x86_64.pkg.tar.xz

можна заменить одной командой makepkg -si... и не надо писать PKGBUILD после makepkg -s, ибо он и так подхватывает ентот файл в текущей папке.

safocl ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.