Bug 30165

Summary: preun_service оставляет за собой битые симлинки
Product: [Development] Sisyphus Reporter: Alexey Shabalin <shaba@altlinux.org>
Component: serviceAssignee: Dmitry V. Levin <ldv@altlinux.org>
Status: CLOSED FIXED QA Contact: qa-sisyphus@altlinux.org
Severity: normal    
Priority: P3 CC: evg@altlinux.org, real.altlinux.org@gmail.com, shaba@altlinux.org
Version: unstable   
Hardware: all   
OS: Linux   

Description From 2014-07-07 15:16:14
if sd_booted && "$SYSTEMCTL" --version >/dev/null 2>&1; then
        "$SYSTEMCTL" --no-reload -q disable "$1.service"
        "$SYSTEMCTL" stop "$1.service"
else
        chkconfig --del "$1"
        service "$1" condstop
fi

Если сервис не нативный, а sysv-скрипт, то --del не запускается, и остаются
битые симлинки. systemctl disable перенаправляется на chkconfig off, а эта
команда удаляет S* симлинк и создаёт K* симлинк(который и остаётся после
удаления пакета).
------- Comment #1 From 2014-09-01 20:47:48 -------
ping.
chkconfig --del надо запускать в любом случае, и при sysv, и при systemd.
------- Comment #2 From 2014-09-10 02:34:50 -------
service-0.5.26-alt1 -> sisyphus:

* Tue Sep 09 2014 Dmitry V. Levin <ldv@altlinux> 0.5.26-alt1
- preun_service: added chkconfig call in systemd case (closes: #30165).
- service: added legacy-actions support (closes: #29925).
- sd_booted: synced systemd check with libsystemd.