LINUX.ORG.RU

Как правильно редактировать пакеты под арч?

 , ,


1

1

Допустим, меня не устраивает что в i3lock всё по-английски. Я через abs получаю pkgbuild, в нём смотрю где лежит пакет с исходниками, качаю. Распаковываю, меняю что надо, запаковываю назад. В pkgbuild указываю что пакет теперь лежит в папке, делаю makepkg с пропуском проверок чексуммы и ключей. Потом через пакман ставлю. Всё правильно? Или способ попроще есть? Так то работает, но всё же интересно, может чё попроще можно.

Deleted

Насколько я помню достаточно положить изменённые исходники рядом с PKGBUILD - makepkg сам их подхватит (разумеется, архив должен иметь такое же имя). Сам PKGBUILD править не обязательно.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)

Во-первых, что сказал KivApple.

Во-вторых, править архив вообще необязательно: качаешь PKGBUILD, makepkg -o, правишь что надо в src/, потом makepkg -e.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)

А я бы сделал так, качаешь исходники, делаешь patch на основе правок. Этот патч добавляешь в PKGBUILD и собираешь пакет.

surefire ★★★
()

Не знаю, насколько я делаю это идеологически правильно, но обычно моя последовательность действий примерно такая (для примера будет взят wine-staging):
1. Получаю исходники пакета

sudo abs multilib/wine-staging
cp /var/abs/multilib/wine-staging ${HOME}/desktop/wine-staging

2. Получаю и распаковываю исходники собираемого проекта, делаю необходимые правки
cd ${HOME}/desktop/wine-staging
makepkg --noprepare --nobuild
# здесь делаются правки

4. Добавляю пакет в группу custom. Это нужно, чтобы при обновлении системы, пакеты из этой группы не заменялись пакетами из репозиториев (у меня в /etc/pacman.conf происано IgnoreGroup = custom).
groups=('custom')

3. Собираю пакет
makepkg --noextract


Обычно я еще делаю patch файл для своих изменений и интегрирую его наложение в prepare() функции в PKGBUILD, но это уже отдельная история.

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