| Summary: | На системах с systemd стартует слишком рано | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | Alexei V. Mezin <alexei.mezin> | ||||||
| Component: | dante-server | Assignee: | alexvm <alexvm> | ||||||
| Status: | NEW --- | QA Contact: | qa-sisyphus | ||||||
| Severity: | normal | ||||||||
| Priority: | P5 | CC: | alexvm, asy, linbox1 | ||||||
| Version: | unstable | ||||||||
| Hardware: | x86 | ||||||||
| OS: | Linux | ||||||||
| Attachments: |
|
||||||||
|
Description
Alexei V. Mezin
2020-02-06 14:31:05 MSK
Пинг!
Надо юнит-файл в пакет. На каждом новом сервере его вручную создавать очень неудобно. В 2020 году.
cat /etc/systemd/system/sockd.service
[Unit]
Description=SOCKS v4 and v5 compatible proxy server and client
After=network.target
[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/sockd
PIDFile=/run/sockd.pid
ExecStart=/usr/sbin/sockd ${EXTRAOPTIONS}
[Install]
WantedBy=multi-user.target
Created attachment 10057 [details]
Патч
Created attachment 10058 [details]
spec с которым все собирается
Этот нужный пакет не пересобирается. Предлагаю собрать его с новой версией, в которой уже есть unit-файл. Сборка падает на этапе configure, примитивный патч, отключающий падающие проверки, взят тут https://github.com/buildroot/buildroot/blob/master/package/dante/0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch Так же предлагаю в %install добавить unit-файл, и включить его в %files пакета dante-server. Патч и спек, с которым у меня все собралось, прилагаю. В Сизифе в 1.4.3-alt4 я unit-файл вижу. Может в p10 версию тоже обновить? А вообще, наверное, всё бы было нормально и с init-скриптом, если бы там LSB заголовок был с "Required-Start: $network"? Предлагаю работающий вариант юнита для включения в пакет [Unit] Description=SOCKS v4 and v5 compatible proxy server and client After=syslog.target network-online.target Wants=network-online.target [Service] ExecStart=/usr/sbin/sockd ExecStop=/bin/kill -HUP $MAINPID Restart=on-failure RestartSec=3 [Install] WantedBy=multi-user.target |