Невозможно остановить службу таймера с помощью скрипта preinst при установке нового пакета Debian - PullRequest
0 голосов
/ 27 марта 2019

Моя структура каталогов выглядит следующим образом:

.
├── src/main/java
│   └── my code
├── scripts/install
│   ├── preinst.sh
│   └── postinst.sh
├── scripts/systemd
│   ├── my-app.service
│   └── my-app.timer
├── build.gradle.kts
└── settings.gradle.kts

Мое приложение работает как служба с интервалом, определенным в /etc/systemd/system/my-app.timer.

Я упаковываю свое приложение в пакет Debian дляустановить и хотел бы:

  1. Остановить таймер перед установкой нового пакета.
  2. Установить новый пакет.
  3. Запустить таймер после установки нового пакета.

postinst.sh прекрасно работает и выполняется каждый раз, однако сценарий preinst.sh, кажется, никогда не выполняется.

preinst.sh

#!/bin/bash

echo "Stopping my-app.timer"
systemctl stop my-app.timer

postinst.sh

#!/bin/bash

echo "Starting my-app.timer"
systemctl start my-app.timer

build.gradle.kts

tasks.buildDeb {
    val deployDir = "/opt/my-app"
    val confDir = "/etc/$deployDir"
    val config = if (project.properties["config"] == null) "dev" else project.properties["config"]
    val systemdDir = "/etc/systemd/system"

    packageName = project.name
    version = project.version.toString().replace("-SNAPSHOT", "")

    user = "root"
    group = "root"

    // copy to lib
    from("$buildDir/libs") {
        into(deployDir)
    }

    // copy to conf
    from("$projectDir/conf") {
        when (config) {
            "dev" -> include("*-dev.properties")
            "test" -> include("*-test.properties")
            "prod" -> include("*-prod.properties")
        }

        into(confDir)
    }

    from("$projectDir/src/test/resources") {
        into(confDir)
    }

    from("$projectDir/scripts/systemd") {
        into(systemdDir)
    }

    preInstall(File("$projectDir/scripts/install/preinst.sh"))
    postInstall(File("$projectDir/scripts/install/postinst.sh"))
}

Как я могу гарантировать, чтоmy-app.timer остановлен перед установкой нового пакета?

...