yaourt и сборка пакета для установки
Сегодня обновлял firefox-pgo из AUR с применением yaourt. Потратил очень много времени на компиляцию. Ядро компилируется намного быстрее. После компиляции забыл сохранить подготовленный пакет в отдельной папке, чтобы в дальнейшем не приходилось компилировать его заново. И после установки он был просто удален.
Решил собрать пакет без установки. Вопрос – как это сделать? Самый простой способ – это скачать все необходмые файлы из AUR и собрать пакет с применением makepkg.
И тут я обнаружил интересную опцию yaourt. Если вызвать йогурт с ключом -G вот так:
$yaourt -G firefox-pgo
то в текущей папке мы получим все необходимые файлы для сборки пакета! То есть йогурт позволяет не только искать пакеты в AUR, но и, без обращения к веб-интерфейсу, качать все необходимые для сборки пакета файлы. Очень удобно!
И как говориться – век живи, век учись!

Вообще-то можно в настройках ExportToLocalRepository указать, и тогда при установке он будет в указанную папку сохранятся (так же можно и не устанавливать, а только собрать)
Если в настройках указать – он будет все пакеты туда сохранять. А мне все не нужны.
А каким образом можно не устанавливать, а только собрать??? Я пока не нашел этого… =\
Только все, хотя можно по необходимости конфиг править
Неудобно…
Способ, который тут описал проще…
А можно ли сделать так, чтобы yaourt после сборки и установки не удалял временный каталог в /var/***
Ну типа, чтобы при обновлении заново файлы качать не пришлось. Или можно было их вручную ему скормить.
По крайней мере я об этом пока не знаю. К тому же, зачем сохранять пакет, если он обновляется и в любом случае придется качать новый пакет или новые исходники??
Если собирается из исходников, можно руками собрать пакет, скачав все необходимые скрипты для установки командой yaourt -G имя_пакета и дальнейшей сборкой с помощью makepkg… тогда ничего удаляться не будет…
У мну из /var/abs/local/yaourtbuild/ ничего не удаляет, там и PKGBUILD и исходники (в том числе и из git, svn, etc)
А можешь привести свои настройки yaourt? Понятно, что все это дело у тебя сжирает порядочно места на винте. Но для интереса…
cat .yaourtrc
AlwaysUpgradeAur yes
AurVoteSupport yes
ColorMod LightBackGround
EditPkgbuild yes
ExportToLocalRepository /home/pacman/pkg
PacmanBin /usr/bin/pacman-color
SearchInAurUnsupported yes
ShowAurComment yes
TmpDirectory /home/muhas/.muhas/yaourt
UpdateTerminalTitle yes
Спасибо большое!
Не хватало буквально следующих строк:
ExportToLocalRepository /home/pacman/pkg
TmpDirectory /home/muhas/.muhas/yaourt
Понятно, что пути нужно сменить.
У меня кстати голосование отключено и комментарии так же не показываю…
А какие права у вас стоят на /var/abs/local/yaourtbuild/ ?
оно не работает, если не сменить прав на папку на права пользователя от которого он запускается.
При запуске йогурта для сборки пакета из аура у меня выдается ошибка о том, что данная директория не доступна и будет использоваться /tmp, после чего его и использует. Меня это как-то не беспокоит.
дак получается, исходники скачиваются постоянно по новой.
я добавил
ExportToLocalRepository /home/atommix/pacman/pkg
TmpDirectory /home/atommix/yaourt
но он удалил всё исходники после сборки. А если поставить права пользователя atommix на /var/abs/local/yaourtbuild/ то всё работает как часы, но очень не правильно получается.
особенно интересно как это у Muhas сделано
Не в курсе. Когда мне нужно собрать пакет и оставить пакет и исходники, я использую makepkg. йогурт используется только для того, чтобы скачать PKGBUILD и все необходимые файлы с сервера.
Для этого в заходим в темповую папку и даем комаду: yaort -G имя_пакета
После чего в папке окажутся все необходмые файлы. Для сборки пакета даем команду:
makepkg
И ждем завершения процесса. Автоматом будут скачаны исходники и собран пакет, который в дальнейшем необходимо будет установить или йогуртом или пакманом.
y -S имя_пакета_в_аур делает всё это одной командой. Надо только разрешить проблему с правами. Вот и думаю…
Нет не тоже самое делает, увы… йогурт на автомате все сделает и установит, а затем удалит и исходники и сам установочный пакет. А как я понял, вам нужен готовый пакет? А не только установленный?
Еще раз! Если на папку /var/abs/local/yaourtbuild/ дать права юзера, от которого запускается yaourt. то в этой папке остаются все исходники (в том числе из cvs/svn/mercurial и т.п.) и всё собранные пакеты. Если конечно не применять:
ExportToLocalRepository /home/atommix/pacman/pkg
TmpDirectory /home/atommix/yaourt
.
Что получается очень удобным.
Судя по http://bbs.archlinux.org/viewtopic.php?id=50269 без изменения прав не обойтись в любом случае…