собственный упаковщик sbt и доступный для записи каталог приложения

Как лучше всего создать каталог с возможностью записи для приложений, используя плагин sbt-native-packager? В моей конфигурации я использую enablePlugins(JavaServerAppPackaging, SystemdPlugin, DebianPlugin, UniversalPlugin), и все работает хорошо, за исключением того, что моему приложению нужно записывать некоторые файлы для своего собственного функционирования, в / usr / share / package-name / звучит неправильно, но тогда мне интересно, где и как лучше всего это сделать, а также если я должен использовать сценарии debain postinst, чтобы попытаться изменить права доступа к каталогу из сопоставлений универсального плагина.


person user145634    schedule 08.11.2016    source источник
comment
Какие файлы нужно писать?   -  person Rémi Lavolée    schedule 08.11.2016
comment
Данные для биткойн-кошелька, файлы доступны каждые ~ 30 секунд.   -  person user145634    schedule 09.11.2016


Ответы (1)


Добавление нового записываемого каталога в дистрибутив Linux означает добавление сопоставления с linuxPackageMappings (документация).

linuxPackageMappings += packageTemplateMapping(
  s"/opt/${(packageName in Linux).value}"
)().withUser((daemonUser in Linux).value)
   .withGroup((daemonGroup in Linux).value)
   .withPerms("755")

Вы можете увидеть это со старым синтаксисом sbt, используемым для плагин JavaServerApp.

Примечание. НЕ устанавливайте /usr/share/<packageName> каталог доступным для записи. Он содержит исполняемые файлы и файлы конфигурации и может быть изменен только пользователем root.

ура, Муки

person Muki    schedule 09.11.2016