LINUX.ORG.RU

директории для своего пакета с ПО

 , , пути


0

1

Хочу собрать свой пакет со своим ПО. По задумке архитектуры файлов в Linux я должен поместить его в

* бинарник/скрипт  в /usr/local/bin
* всякие остальные файлы в соответствии каталогами (иконки в icons, примеры в examples) в /usr/local/share
* библиотеки в /usr/local/lib
* конфигурации в /usr/local/etc

Разумеется это будет rpm'ка/deb'ка

Вопросы:

  • Пока всё верно?
  • Как правильно в коде описывать пути до, скажем: /usr/local/share/icons или /usr/local/etc? Не правильно же будет писать полностью?

Да, да я знаю про 5 звезд XD

★★★★★

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

Пока всё верно?

нет

itn ★★★
()

посмотри исходники какой-нибудь простой програмы с ресурсами в share.

kickass
()

/usr/local сейчас используется исключительно для ручного make install. Или ставь в основной префикс /usr, или в /opt/my_fucking_pkg.

meliafaro ★★★★★
()

"всё верно? "

«всё верно? » - предельно сомнительный вопрос, любой ответ на который, ещё более сомнительный.

Объясню с помощью небольшой классификации тулз:

  1. Есть простые тулзы, не имеющие внутри своего кода никаких путей. Их можно помещать куда угодно, а для запуска делать на них симлинки в /bin, /sbin, /usr/bin, /usr/sbin, /usr/games. Как к этим утилитам применить вопрос «всё верно?»
  2. Есть тулзы, имеющие внутри своего кода конкретные пути к «ресурсам». Эти пути определяются только разработчиком. И «всё верно?» зависит только от логики разработчика.
  3. Есть тулзы, использующие конфиги. И ответ на «всё верно?» лежит в конфигах. А расположение конфигов определяется логикой разработчика.
Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: "всё верно? " от Deleted

Так вопрос был о том, правильная ли логика у разработчика.

А тем разработчикам что кладут что попало и куда попало надо бы руки от забор выпрямить сначала.

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

Так вопрос был о том, правильная ли логика у разработчика.

Не уверен.

Хочу собрать свой пакет со своим ПО.

Речь похоже не о разработке, а о майнтене.

Deleted
()
Ответ на: комментарий от Harald

точнее, где-нибудь в Makefile.am добавляешь макросы в флаги препроцессора, что-то вроде myprogram_CPPFLAGS = -DMYPROGRAM_INSTALLPREFIX=\«$(prefix)\»

а в коде уже строишь относительные пути относительно макроса с префиксом

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