Упаковка Debian: развертывание файлов в домашнем каталоге пользователя

Я использую Debhelper для создания пакетов Debian. Для развертывания файлов и каталогов я использую debian/install а также debian/dirs файлы.

Теперь я хотел бы, чтобы мой пакет развернул файл конфигурации пользователя по умолчанию в $HOME/.mypackagerc (так же, как.bashrc и друзья).

Предоставляет ли Debhelper способ сделать это, или я должен просто:

  • Сделай это в скрипте postinst
  • Или даже сделать это в моей программе, при первом исполнении

1 ответ

Решение

Вы должны сделать это в своей собственной программе.

Вы не можете получить debhelper, чтобы сделать это. Сценарий postinst может быть установлен во всех текущих учетных записях пользователей, но вы теряете контроль над тем, что происходит после того, как пользователь выполнил установку. Таким образом, новые пользователи не получат ~/.mypackagerc файлы, если вы не положите его в /etc/skel также, который переусердствовал, по моему мнению.

Я тоже так говорю, потому что пакет установлен root. Root не должен возиться с файлами других пользователей. Я не знаю, есть ли в Debian Policy что-нибудь по этому поводу, но вы сэкономите на написании большого количества уродливого кода, если будете сами программировать эти файлы.

НТН

Другие вопросы по тегам