| Summary: | Добавить макросы для поддержки systemd-sysusers | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Vitaly Lipatov <lav> |
| Component: | rpm-build-systemd | Assignee: | Alexey Shabalin <shaba> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | antohami, iv, shaba |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| See Also: | https://bugzilla.altlinux.org/show_bug.cgi?id=9895 | ||
| Bug Depends on: | 52892 | ||
| Bug Blocks: | |||
Макрос sysusers_create_package апстримный, имеется в rpm-macros-systemd и успешно используется: https://packages.altlinux.org/ru/sisyphus/srpms/ollama/specfiles/ |
Собственно пример использования описан в макросах, которые идут с systemd. Предполагается, что файл для sysusers упаковывается, но если пользователи должны быть созданы до установки пакета, то в %pre вызывается создание пользователя с указанием фиктивного файла (что имеет поддержку в systemd). # This should be used by package installation scripts which require users or # groups to be present before the files installed by the package are present on # disk (for example because some files are owned by those users or groups). # # Example: # Source1: %{name}-sysusers.conf # ... # %install # install -D %SOURCE1 %{buildroot}%{_sysusersdir}/%{name}.conf # %pre # %sysusers_create_package %{name} %SOURCE1 # %files # %{_sysusersdir}/%{name}.conf %sysusers_create_package() \ %{expand:%%{?!__systemd_twoargs_%#:%%{error:The %%%%sysusers_create_package macro requires two arguments}}} \ systemd-sysusers --replace=%_sysusersdir/%1.conf - <<SYSTEMD_INLINE_EOF || : \ %(cat %2) \ SYSTEMD_INLINE_EOF\ %{nil} https://github.com/systemd/systemd/blob/main/src/rpm/macros.systemd.in#L180