Compare commits

...

16 Commits

Author SHA1 Message Date
William Hubbs
082995837f Update ChangeLog 2015-06-03 15:38:06 -05:00
Mike Gilbert
4f3df4cacb bootmisc: Don't call dmesg in systemd-nspawn containers
This fixes #57.
2015-06-03 11:16:39 -05:00
Mike Frysinger
514b007e27 fix link to s6 website 2015-06-03 11:16:39 -05:00
Mike Gilbert
6ad9b134e6 man: Document the stopsig variable
This variable can be used to set the signal to send if the service is
using start-stop-daemon.

This fixes #56
2015-06-03 11:16:39 -05:00
William Hubbs
e571c67ff8 Document bash's handling of ulimit options
When bash is used in posix mode for the shell, the ulimit command uses
a block size of 512 bytes for the -c and -f options.

X-Gentoo-Bug: 549238
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=549238
2015-06-03 11:16:39 -05:00
William Hubbs
c4067a65b0 Start work on 0.16.4 2015-06-03 11:12:47 -05:00
William Hubbs
a8c30a89c4 update change log 2015-05-14 14:35:41 -05:00
William Hubbs
fe0847c9a2 S6: kick the scanner and sleep 1.5 seconds to avoid a race condition 2015-05-14 14:33:30 -05:00
William Hubbs
58156137f9 Start on 0.16.3 2015-05-14 14:31:30 -05:00
William Hubbs
b1d7df15ef update change log 2015-05-14 11:53:33 -05:00
William Hubbs
01088e282f s6: Use s6-svc -Dd to stop services
This allows us to get rid of the sleep call in the stop function. Also,
we set a configurable timeout value for stopping daemons.
2015-05-14 11:49:42 -05:00
William Hubbs
b95ae213e9 Start work on 0.16.2 2015-05-14 11:49:09 -05:00
William Hubbs
4f544f4130 update change log 2015-05-13 16:59:54 -05:00
William Hubbs
c65bed756e More s6 fixes
- When no service link is in the scan directory, show the default
  stopped message.
- Do not remove the service link when stopping the service.
2015-05-13 16:55:34 -05:00
William Hubbs
ccc81a9cad Fix the s6 handling
This changes the default s6 service directory to /var/svc.d, also
it changes the code to work with the individual services instead of
forcing a rescan when a service is started or stopped.
2015-05-13 16:15:44 -05:00
William Hubbs
3a1e304d6c Start work on 0.16.1 2015-05-13 16:14:48 -05:00
7 changed files with 166 additions and 41 deletions

120
ChangeLog
View File

@@ -1,3 +1,123 @@
commit 4f3df4cacb20bb17838986376ad53d4063749a14
Author: Mike Gilbert <floppym@gentoo.org>
Commit: William Hubbs <w.d.hubbs@gmail.com>
bootmisc: Don't call dmesg in systemd-nspawn containers
This fixes #57.
commit 514b007e2713ac5046f6df78a720ca8e3de013b5
Author: Mike Frysinger <vapier@gentoo.org>
Commit: William Hubbs <w.d.hubbs@gmail.com>
fix link to s6 website
commit 6ad9b134e6c9da009842f61bdaf129a1716274ba
Author: Mike Gilbert <floppym@gentoo.org>
Commit: William Hubbs <w.d.hubbs@gmail.com>
man: Document the stopsig variable
This variable can be used to set the signal to send if the service is
using start-stop-daemon.
This fixes #56
commit e571c67ff812ad839107acaa5ba97313dde9dd7a
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
Document bash's handling of ulimit options
When bash is used in posix mode for the shell, the ulimit command uses
a block size of 512 bytes for the -c and -f options.
X-Gentoo-Bug: 549238
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=549238
commit c4067a65b0ecfad3e6b97416640c6b85382b8fe8
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
Start work on 0.16.4
commit a8c30a89c417aff5bc863d65976ff8abcffa9e40
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
update change log
commit fe0847c9a2565518334ef03da5c6cdc63726e122
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
S6: kick the scanner and sleep 1.5 seconds to avoid a race condition
commit 58156137f9bbb0d853d994b793622cf48281cf08
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
Start on 0.16.3
commit b1d7df15ef017e7b011a211eff2b2b75a39c8c9e
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
update change log
commit 01088e282f08ca373ae1d61b2ed954c3075f130a
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
s6: Use s6-svc -Dd to stop services
This allows us to get rid of the sleep call in the stop function. Also,
we set a configurable timeout value for stopping daemons.
commit b95ae213e9435f267da3331fd4568a5ad297b54c
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
Start work on 0.16.2
commit 4f544f4130e0b62e18bdde42cad2b3aed085136d
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
update change log
commit c65bed756e5f5cfa244d9aa4325691345d8c324d
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
More s6 fixes
- When no service link is in the scan directory, show the default
stopped message.
- Do not remove the service link when stopping the service.
commit ccc81a9cad5d9beb739593827fc4bbc04c4a3304
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
Fix the s6 handling
This changes the default s6 service directory to /var/svc.d, also
it changes the code to work with the individual services instead of
forcing a rescan when a service is started or stopped.
commit 3a1e304d6c56875838b884b6e0608fe756ccce4e
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
Start work on 0.16.1
commit d247ac4cbbe0ab62564ef82a5940b4f1a03973b3
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>
Update changelog
commit bb2d7becfd3008379f8f69b5d036922281aa211f
Author: William Hubbs <w.d.hubbs@gmail.com>
Commit: William Hubbs <w.d.hubbs@gmail.com>

View File

@@ -1,3 +1,3 @@
NAME= openrc
VERSION= 0.16
VERSION= 0.16.4
PKG= ${NAME}-${VERSION}

View File

@@ -116,6 +116,9 @@
#SSD_NICELEVEL="-19"
# Pass ulimit parameters
# If you are using bash in POSIX mode for your shell, note that the
# ulimit command uses a block size of 512 bytes for the -c and -f
# options
#rc_ulimit="-u 30"
# It's possible to define extra dependencies for services like so

View File

@@ -214,10 +214,13 @@ start()
if yesno $log_dmesg; then
if $logw || checkpath -W /var/log; then
# Create an 'after-boot' dmesg log
if [ "$RC_SYS" != VSERVER -a "$RC_SYS" != OPENVZ -a "$RC_SYS" != LXC ]; then
dmesg > /var/log/dmesg
chmod 640 /var/log/dmesg
fi
case "$RC_SYS" in
VSERVER|OPENVZ|LXC|SYSTEMD-NSPAWN) ;;
*)
dmesg > /var/log/dmesg
chmod 640 /var/log/dmesg
;;
esac
fi
fi

View File

@@ -114,11 +114,12 @@ in this release is S6 from Skarnet software. To use this, set
supervisor=s6.
.It Ar s6_service_path
The path to the s6 service directory if you are monitoring this service
with S6. The default is /etc/svc.d/${RC_SVCNAME}.
with S6. The default is /var/svc.d/${RC_SVCNAME}.
.It Ar s6_svwait_options_start
The options to pass to s6-svwait when starting the service via s6.
.It Ar s6_svwait_options_stop
The options to pass to s6-svwait when stopping the service via s6.
.It Ar s6_service_timeout_stop
The amount of time, in milliseconds, s6-svc should wait for the service
to go down when stopping the service. The default is 10000.
.It Ar start_stop_daemon_args
List of arguments passed to start-stop-daemon when starting the daemon.
.It Ar command
@@ -140,6 +141,8 @@ will chroot into this path before writing the pid file or starting the daemon.
Pidfile to use for the above defined command.
.It Ar name
Display name used for the above defined command.
.It Ar stopsig
Signal to send when stopping the daemon.
.It Ar retry
Retry schedule to use when stopping the daemon. It can either be a
timeout in seconds or multiple signal/timeout pairs (like SIGTERM/5).

View File

@@ -33,24 +33,16 @@ supervisor=s6
Several other variables affect s6 services. They are documented on the
openrc-run man page, but I will list them here for convenience:
s6_service_path - the path to the s6 service directory
s6_service_path - the path to the s6 service directory. The default is
/var/svc.d/$RC_SVCNAME.
s6_svwait_options_start - the options to pass to s6-svwait when starting
s6_svwait_options_stop - the options to pass to s6-svwait when stopping.
the service. If this is not set, s6-svwait will not be called.
The s6_service_path variable defaults to /etc/svc.d/${RC_SVCNAME} if it
is not set in the service script. For example, if you want a service
script called /etc/init.d/foobar to use s6 to monitor its daemon, the s6
service should be the directory /etc/svc.d/foobar.
See the documentation for s6 for more information about s6 service
directories.
The s6_svwait_options_* variables set command line options to pass to
s6-svwait when starting or stopping the s6 service. These can be very
useful for waiting for s6 services to signal when they are up, timing out
when an s6 service doesn't come up, etc.
s6_service_timeout_stop - the amount of time, in milliseconds, s6-svc
should wait for a service to go down when stopping.
This is very early support, so feel free to file bugs if you have
issues.
[1] https://www.skarnet.org/software/s6
[1] http://www.skarnet.org/software/s6

View File

@@ -2,7 +2,7 @@
# Copyright (c) 2015 William Hubbs <w.d.hubbs@gmail.com>
# Released under the 2-clause BSD license.
[ -z "${s6_service_path}" ] && s6_service_path="/etc/svc.d/${RC_SVCNAME}"
[ -z "${s6_service_path}" ] && s6_service_path="/var/svc.d/${RC_SVCNAME}"
s6_start()
{
@@ -10,16 +10,19 @@ s6_start()
eerror "${s6_service_path} does not exist."
return 1
fi
local rc
s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}"
ebegin "Starting ${name:-$RC_SVCNAME}"
ln -sf "${s6_service_path}" "${RC_SVCDIR}"/s6-scan
s6-svscanctl -an "${RC_SVCDIR}"/s6-scan
rc=$?
ln -sf "${s6_service_path}" "${s6_service_link}"
s6-svscanctl -na "${RC_SVCDIR}"/s6-scan
sleep 1.5
s6-svc -u "${s6_service_link}"
if [ -n "$s6_svwait_options_start" ]; then
s6-svwait ${s6_svwait_options_start} "${s6_service_path}"
rc=$?
s6-svwait ${s6_svwait_options_start} "${s6_service_link}"
fi
eend $rc "Failed to start $RC_SVCNAME"
sleep 1.5
set -- $(s6-svstat "${s6_service_link}")
[ "$1" = "up" ]
eend $? "Failed to start $RC_SVCNAME"
}
s6_stop()
@@ -28,19 +31,20 @@ s6_stop()
eerror "${s6_service_path} does not exist."
return 1
fi
local rc
s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}"
ebegin "Stopping ${name:-$RC_SVCNAME}"
rm -rf "${RC_SVCDIR}/s6-scan/${s6_service_path##*/}"
s6-svscanctl -an "${RC_SVCDIR}"/s6-scan
rc=$?
if [ -n "$s6_svwait_options_stop" ]; then
s6-svwait ${s6_svwait_options_stop} "${s6_service_path}"
rc=$?
fi
eend $rc "Failed to stop $RC_SVCNAME"
s6-svc -Dd -T ${s6_service_timeout_stop:-10000} "${s6_service_link}"
set -- $(s6-svstat "${s6_service_link}")
[ "$1" = "down" ]
eend $? "Failed to stop $RC_SVCNAME"
}
s6_status()
{
s6-svstat "${s6_service_path}"
s6_service_link="${RC_SVCDIR}/s6-scan/${s6_service_path##*/}"
if [ -L "${s6_service_link}" ]; then
s6-svstat "${s6_service_link}"
else
_status
fi
}