Изменить имя в пакете Debian sbt-native-packager

Я хочу прикрепить sbt-native-packager к корневому агрегату проекта, но этот корневой проект опубликовал имя Maven из "foobar". Я хочу, чтобы артефакт, созданный с помощью debian:packageBin, вместо этого последовательно использовал "foo".

Как мне это сделать?

Я попытался

name           in Debian := "foo"
packageName    in Debian := "foo"
normalizedName in Debian := "foo"
executableScriptName := "foo"
artifact       in Debian := (artifact in Debian).value.copy(name = "foo")

и т.д. Ни на что не влияет. В итоге у меня etc/foobar и usr/share/foobar.


Изменить: после этих настроек я стал ближе:

name                      in Debian := "foo"
normalizedName            in Debian := "foo"
packageName               in Debian := "foo"
name                      in Linux  := "foo"
normalizedName            in Linux  := "foo"
packageName               in Linux  := "foo"

Теперь проблема заключается в том, что результирующий файл .deb содержит каждый каталог дважды, т.е. etc/foobar против etc/foo, usr/share/foobar против usr/share/foo. Так что где-то должно быть указано старое имя пакета... Это странно, потому что я дважды проверил, что linuxPackageMappings in Debian содержит только правильные файлы.


person 0__    schedule 13.11.2015    source источник


Ответы (1)


Как показано в редактировании, вам необходимо переопределить настройки как для области Debian, так и для области Linux. Моя ошибка заключалась в том, что target все равно будет загрязняться старыми файлами, даже если вы удалите файл .deb. Поэтому, если вы измените эти вещи, вы должны запустить rm -r target перед переупаковкой. Тогда настройки такие:

executableScriptName     := "foo"
name           in Debian := "Foo"
packageName    in Debian := "foo"
name           in Linux  := "Foo"
packageName    in Linux  := "foo"
packageSummary in Debian := "Description of Foo"
person 0__    schedule 13.11.2015
comment
Краткое примечание: преднамеренны ли разные заглавные буквы Foo/foo? - person marios; 13.11.2015
comment
Да, я сохраняю имя своего приложения в верблюжьем регистре, тогда как пакеты (также по умолчанию) основаны на normalizedName, что является версией в нижнем регистре. Чтобы быть в безопасности, здесь также можно переопределить normalizedName := "foo". - person 0__; 13.11.2015