2016-02-09 1 views
0

Я хотел бы добавить несколько команд в пакет RPM (созданный с использованием sbt-native-packager) для проекта Play scala. Например:Добавить пользовательские скрипты для пакета RPM для проекта Play scala

mkdir -p /opt/myapp 
chmod +w /opt/myapp 

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

я видел в стандартном проекте SBT, похоже, что мы могли бы использовать пользовательский шаблон:

src/templates/start 

, но в проекте Play, мы имеем следующие папки:

app 
conf 
project 
dist 

где мы не» t есть src папка на всех.

Я хотел бы знать, как добавить пользовательские команды, которые можно запустить до или после установки RPM для проекта Play.

ответ

1

Я не использовал эту функцию для sbt-native-packager, но я знаю, что файлы спецификаций RPM поддерживают определение скриптов, выполняющихся в определенных событиях (например,% pre-running непосредственно перед установкой).

Похоже, SBT-родной-пакет поддерживает это, перекрывая maintainerScripts:

// overriding 
import RpmConstants._ 
maintainerScripts in Rpm := Map(
    Pre -> Seq("""echo "pre-install""""), 
    Post -> Seq("""echo "post-install""""), 
    Pretrans -> Seq("""echo "pretrans""""), 
    Posttrans -> Seq("""echo "posttrans""""), 
    Preun -> Seq("""echo "pre-uninstall""""), 
    Postun -> Seq("""echo "post-uninstall"""") 
) 

Пожалуйста, обратите внимание, что это только с 1.1.0+ из SBT-родной-пакета.

Есть несколько других подходов, которые подробно изложены в documentation

+0

Спасибо за ваш ответ. Я видел это в документе, но не мог заставить его работать. Он не может найти импорт, что очень странно: build.sbt: 1: ошибка: не найден: объект RpmConstants импорт RpmConstants._ ^ Я уже настроил плагин в проекте/plugins.sbt addSbtPlugin ("com.typesafe.sbt"% "sbt-native-packager"% "1.0.6") –

+1

Этот пример относится к новым версиям 1.1.x (на данный момент в RC-фазе) – Muki

 Смежные вопросы

  • Нет связанных вопросов^_^