LINUX.ORG.RU

PKGBUILD для luastatus

 ,


0

1

в общем имеется арч, i3wm

хочется поэкспериментить с luastatus, но не охото ставить командой «make install». Сочинил PKGBUILD, чо в нем недостает или наоборот лишнее?

Какие исправления вы бы сделали с ним?

П.С. енто мой первый PKGBUILD.

★★

Последнее исправление: safocl (всего исправлений: 2)

Из того, что важно, — отсутвтвие обязательного pkgver для -git пакетов (посмотри, как это делается в других пакетах подобного типа) и неправильное указание лицензии. Остальное — вопрос того, каким ты хочешь видеть свой код.

Собственно, что касается этого всего остального:


  • pkgdesc='Generates status bar to use with dzen2 or wmii'
    

    Здесь ошибка. luastatus генерирует контент для панелей, но не сами панели. Кроме того, можно забирать описание с сайта или репозитория — потому что так ближе к upstream =)

  • provides=('luastatus-i3-wrapper' 'luastatus-lemonbar-launcher' 'luastatus')
    

    Здесь я бы оставил только luastatus, потому что он нужен для правильного поведения при установке одного из luastatus/luastatus-git, когда один из них уже установлен. Остальное не нужно, потому что это пакеты с AUR, и на их счёт вовсе не стоит заботиться хоть как-то.

  • pkgname=luastatus-git
    _gitname='luastatus'
    

    Я бы переписал так:
    _project_upstream_name='luastatus'
    pkgname="$_project_upstream_name-git"
    

  • `echo $pkgname|sed -e s/-git//`
    

    Можно проще: "${pkgname%-git}". Или "$_gitname" ("$_project_upstream_name").

  • make clean
    

    Это лишнее действие.
kalterfive ★★
()
Последнее исправление: kalterfive (всего исправлений: 1)
Ответ на: комментарий от kalterfive

а да, часть уже переделал... исправил ссылку

т.е. ${переменная%-значение} — вырежет «значение» из переменной?

описание мне пока чо было не важно, ибо более важен функционал.

provides=('luastatus-i3-wrapper' 'luastatus-lemonbar-launcher' 'luastatus')
Здесь я бы оставил только luastatus, потому что он нужен для правильного поведения при установке одного из luastatus/luastatus-git, когда один из них уже установлен. Остальное не нужно, потому что это пакеты с AUR, и на их счёт вовсе не стоит заботиться хоть как-то.

вот тут не понятно, ты имеешь ввиду чо 'luastatus-i3-wrapper' 'luastatus-lemonbar-launcher' пакеты с аура? таких там нет. ваще luastatus пакета нет в арче, почемуто.

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

и где посмотреть можно про енти действия со строковыми переменными типа: «${pkgname%-git}» ?

желательна на русском

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

т.е. ${переменная%-значение} — вырежет «значение» из переменной?

Да. Причём вырежет первоё вхождение с конца. Если указать %%, то вырежет все вхождения.

https://linux.die.net/man/1/bash

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

<...> ты имеешь ввиду чо 'luastatus-i3-wrapper' 'luastatus-lemonbar-launcher' пакеты с аура? таких там нет.

Да, я это имел ввиду (догадывался об этом). Ну раз их там нету, тебе их тем более не стоит указывать в provides=, если только у тебя нет каких-нибудь планов на них.

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

а в каком разделе? чото бегло не могу найтить

а все нашел))) спс

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

еще вопрос как в строке зависимостей сделать оператор ИЛИ? т.е. в зависимостях есть один из неск пакетов.

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

Мейнтейнер – не тот человек, которого это должно хоть как-то волновать. Функцию package пишут только для того, чтобы оставить нужные файлы в $pkgdir; функции для очистки файлов после сборки пакета нету, потому что она не нужна – потому что так работает makepkg – если он не настроен на удаление файлов после сборки пакета, значит это не нужно и значит, что такое поведение не является ожидаемым.

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

ну а чем плоха данная команда? енто при чем, чо она есть в билде i3status, собсна с которого и был взят скелет

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

ну а чем плоха данная команда?

Тем, что я написал в своём предыдущем ответе.

она есть в билде i3status

Плевать.

kalterfive ★★
()
cmake -DCMAKE_INSTALL_PREFIX=/usr .


почему то с ентой опцией отписывает:

ошибка: не удалось завершить транзакцию (конфликтующие файлы)
luastatus-git: '/usr/lib64' существует в файловой системе
Обнаружены ошибки, пакеты не обновлены.
==> ВНИМАНИЕ: Не удалось установить собранные пакеты.

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