-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
171 lines (128 loc) · 6.64 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
Header: supervision/ChangeLog, 2018/08/16
0.14.7:
Memory alignement fix (fix structures padding);
Fix miultiple logfile open (important fix);
Added a workaround to LVM pvscan(8) stall with udev;
0.14.6:
Fix redundant dependency start up;
Fix logging to log file (important fix);
Fix zramfs infinite loop (0.14.5);
0.14.5:
Renamed loopback service to loop-back-device;
Tiny tixes to try to make LVM works out with udev.
Synchronization issue may happen because udev is not ready to initialize
devices; and then LVM will block the boot process.
Remain hitting the ^C (CTRL-C) to halt lvm.
0.14.4:
Fixed a nasty structure initilization bug (sv-run);
0.14.3:
Bug fixes: most important is svc_run() pid fix in sv-run(8);
Renamed `sv.log' logfile to `sv-rc.log';
0.14.2:
Merged remaining commits from master branch into this stable;
Some commits were missing from previous v0.14.1. **Apology**
0.14.1:
`sv-rc(8)' bug fix (environment variables were not being compared properly),
so SV_TIMEOUT was being defined with the value of SV_TIMEOUT_*, nasty bug;
0.14.0:
Removed `/lib/sv/opt' and merged the directory to `/lib/sv/sh';
Renamed `rs(8)' command to `sv-run(8)';
Renamed `sv-stage(8)' command to `sv-rc(8)'; along with the
environment variable `SV_STAGE' to `SV_INITLEVEL';
Renamed `OS_NAME' to `SV_UNAME' and added `SV_UNAME_RELEASE'
(defined in `${SV_TMPDIR}/env');
Renamed `runscript' shell script to `sv-run.sh';
Renamed `init-stage' shell script to `sv-init.sh';
Renamed `depgen' shell script to `sv-deps.sh';
Renamed `cmd' (supervision shell script) to `run';
Renamed `getty' service instances rightly with a `.' (dot)
instead of a hyphen;
*IMPORTANT NOTE**: if getty service are started, the sysadmin should add
the old symbolc links with
`for s in /etc/sv/getty-tty{2,3,4,5,6,S0,S1}; do ln -fs getty.tty1 $d; done'
before shutting down the service or system!
Manpages was cleaned and updated to v0.14.0;
See `supervision(5)' manual page for more information about the changes;
And also, `sv-run(8)' and `sv-rc(8)' manual pages;
A few bug fixes were ported to v0.13.1 (not all the bugs which require more
work; A nasty thread race bug was fixed lastly which was causing `sv-rc' to hang
waiting a SIGCHLD from a dead child;
`sv-config' was refactorized and coded in C; and now has a -u|--update command
line switch; a `sv-config --update' is now required when updating an old
install to handle the API/ABI changes from previous v0.13.0 and the changes
between v0.12.0 and v0.13.0;
The old `rs stage [COMMAND]' is now replaced with `sv-run init [COMMAND]'
which is now discouraged from general usage;
`sv-rc(8)' takes a runlevel argument like *standard* `rc(8)' utility;
The old `sv-rc --RUNLEVEL' (from previous release) is also supported;
New debugging code was added and can be enabled at runtime with `SV_DEBUG' or
`SVC_DEBUG' envronment variable;
An extra `SV_DEBUG_INFO' environement variable is available to service
information level message;
For more verbose debugging code, configure with `--enable-debug';
For logging debugging output: enable `SV_SYSLOG' and `SV_SYSLOG_INFO';
and then enable `SV_LOGGER' to save logging and debugging output to
`/var/log/sv.log';
ADDIDION:
SUPERVISION SERVICE:
RUNSCRIPT SERVICE: DEFAULT, SYSBOOT, local, qemu-vlan.vnet{0,4};
0.13.1:
Stabilisation release: there are fixes alll over the place, a few are
important and many are minors.
Important fixes:
- remove virtual service from dependency tree;
- remove failure and environment service state file before `start' command;
- `zap' command remove service pidfile;
- set up `__cmd__=finish' for supervision;
- added a (shell) `trap' for service state files;
- `fstabinfo' output any request;
- use standard GNU style `__attribute__';
- remove faulty `SV_PREFIX' from `sv-stage';
- and minor fixes, see `git log' for more;
0.13.0:
WARING: SHORT COMMAND LINE OPTION FOR RUNLEVELS CHANGED DRAMATICALLY FROM v.12.x
Improve signal handling so SIG{INT,QUIT,TERM} are not blocked anymore;
Improve parallelization of service (to avoid CHILD_MAX hard limit) and improve
scalabilty to thousends of service in parallel (POSIX threads);
Added support for keywords and timeout per service; so a NOHANG option is now
available to kill hangged service (see sv.conf for more iformation);
Keywords can be used to disable services per subsystem (like docker...);
Added support for containrization solutions or subsystems via keywords
usage (see KEYWORDS subsection in supervision(5) and sv.conf for more information)
for docker, LXC, jail, systemd-nspawn, prefix, supervision, UML, VServer and XEN.
Either the subsystem will be auto detected or use sv.conf to set a particular
subsystem with `SV_SYSTEM="${SUBSYSTEM}"' configuration variable...
`SV_SYSTEM="supervision"' for daemon supervision only;
`SV_SYSTEM="prefix"' for an isolated chrooted environment;
`SV_SYSTEM="docker"' for docker containers et al.
Services that have the subsystem keyword will not be started in that particular
subsystem environment.
To have the supervisor `({damontools[-encore],runit,s6})' executed as __PID 1__...
Just setup the container or subsystem; once done, use something like
the following for docker: `docker run [OPTIONS] --env container=docker --tmpfs /run
IMAGE /lib/sv/sh/init-stage --default'; and voila! the supervisor will be executed
as `PID 1' and another process will handle service management to setup the container.
Added abilty to abort an init-stage (used to abort and bring single runlevel
when checkfs service fails to clean up filesystems;
Added new manual to document new sv-stage(8) binary and refactorized rs(8);
Added a status command for init-stage/runlevel to retrieve service status:
e.g. `sv-stage --default status' to get service status of default runlevel;
Use POSIX threads to improve performance with parallel start/stop instead of
using only process based technics (child process/fork(2));
Major refactorization for sv-shutdown to have the BSD behavior of broadcasting
message; a few short options changed; and use librt to boradcast messages.
API CHANGE:
- short command line option to select a init-stage/runlevel;
- RS_{TYPE,STAGE,PARALLEL,SHELL,*} renamed to SV_{TYPE,STAGE,PARALLEL,SHELL,*};
- SVC_REQ_FILES renamed to SVC_REQUIRED_FILES;
- del_env() builtin function renamed to env_del();
- two new supervision service command {down,up};
- send SIGHUP signal for a default reload service command;
- added SVC_{KEYWORD,NOHANG,TRY} and SV_NOHANG options (see sv.conf and
supervision(5) manual page for details;
- added SV_RUNLEVEL and SV_{SHUTDOWN,SYSBOOT}_LEVEL environment variables;
REMOVAL:
Removed unnecessary supervision init script for OpenRC;
ADDIDION:
SUPERVISION SERVICE: docker, dmeventd, lvmetad;
RUNSCRIPT SERVICE: qemu-binfmt, lvm-monitor;