Compare commits

...

14 Commits

Author SHA1 Message Date
William Hubbs
e0c746e938 Create ChangeLog 2015-01-15 09:51:12 -06:00
William Hubbs
50329eee7a Add description for cgroup_cleanup
X-Gentoo-Bug: 535184
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=535184
2015-01-13 01:07:02 -06:00
Doug Freed
fb81028121 fix double free of pidfile
This fixes a double free of the pidfile variable. For discussion of this
issue, see the bug.

X-Gentoo-Bug: 531600
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=531600
2015-01-13 01:07:02 -06:00
William Hubbs
50e99aa30a Do not call the shell to evaluate CHANGELOG_LIMIT
The git log command understands dates such as "1 year ago", so there is
no need to use the date command.
2015-01-13 01:07:02 -06:00
William Hubbs
b177b79242 Add target to create ChangeLog
This was added by request because some users are requesting a ChangeLog.

This fixes #29.
2015-01-13 01:07:02 -06:00
William Hubbs
7009f66872 start working on 0.13.7 2015-01-13 00:45:19 -06:00
William Hubbs
2eb0ea9afb Make sysfs behave like netmount and localmount
sysfs now mounts all related sysfs file systems and returns success,
like netmount and localmount.

Also, we now check to make sure the cgroups are not mounted before we
mount them.

X-Gentoo-Bug: 530138
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=530138
2014-11-23 21:59:01 -06:00
William Hubbs
534031fc7a Start work on 0.13.6 2014-11-23 21:57:44 -06:00
William Hubbs
6b85d4288c devfs: optionally add missing symbolic links
If symbolic links for /dev/{fd,stdin,stdout,stderr,core} do not exist
once /dev is mounted, we should create them.
2014-11-20 11:07:14 -06:00
William Hubbs
dec899b946 Start work on 0.13.5 2014-11-20 11:06:03 -06:00
William Hubbs
c9f6e2a6c8 netmount: unmount nfs file systems 2014-11-06 14:44:01 -06:00
William Hubbs
e1a4aef3e5 start work on 0.13.4 2014-11-06 14:43:02 -06:00
Alexander Vershilov
cb2c45a3c0 Fix incorrect handling of chroot option.
Fixes #28.

X-Gentoo-Bug: #527370
X-Gentoo-Bug-Url: https://bugs.gentoo.org/show_bug.cgi?id=527370
2014-11-01 18:32:26 -05:00
William Hubbs
d92eca3988 Start work on 0.13.3 2014-11-01 18:31:20 -05:00
8 changed files with 1039 additions and 36 deletions

1010
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,3 @@
NAME= openrc
VERSION= 0.13.2
VERSION= 0.13.7
PKG= ${NAME}-${VERSION}

View File

@@ -69,7 +69,14 @@ seed_dev()
# so udev can add its start-message to dmesg
[ -c /dev/kmsg ] || mknod -m 660 /dev/kmsg c 1 11
# Mount required stuff as user may not have then in /etc/fstab
# extra symbolic links not provided by default
[ -e /dev/fd ] || ln -snf /proc/self/fd /dev/fd
[ -e /dev/stdin ] || ln -snf /proc/self/fd/0 /dev/stdin
[ -e /dev/stdout ] || ln -snf /proc/self/fd/1 /dev/stdout
[ -e /dev/stderr ] || ln -snf /proc/self/fd/2 /dev/stderr
[ -e /proc/kcore ] && ln -snf /proc/kcore /dev/core
# Mount required directories as user may not have them in /etc/fstab
for x in \
"mqueue /dev/mqueue 1777 ,nodev mqueue" \
"devpts /dev/pts 0755 ,gid=5,mode=0620 devpts" \

View File

@@ -47,14 +47,7 @@ stop()
eindent
fs=
for x in $net_fs_list $extra_net_fs_list; do
case "$x" in
nfs|nfs4)
continue
;;
*)
fs="$fs${fs:+|}$x"
;;
esac
fs="$fs${fs:+|}$x"
done
[ -n "$fs" ] && fs="^($fs)$"
do_unmount umount ${fs:+--fstype-regex} $fs --netdev

View File

@@ -113,7 +113,8 @@ mount_cgroups()
yesno ${rc_controller_cgroups:-YES} && [ -e /proc/cgroups ] || return 0
while read name hier groups enabled rest; do
case "${enabled}" in
1) mkdir /sys/fs/cgroup/${name}
1) mountinfo -q /sys/fs/cgroup/${name} && continue
mkdir /sys/fs/cgroup/${name}
mount -n -t cgroup -o ${sysfs_opts},${name} \
${name} /sys/fs/cgroup/${name}
;;
@@ -129,25 +130,13 @@ restorecon_sys()
restorecon -rF /sys/fs/cgroup >/dev/null 2>&1
eend $?
fi
return 0
}
start()
{
local retval
mount_sys
retval=$?
if [ $retval -eq 0 ]; then
mount_misc
retval=$?
fi
if [ $retval -eq 0 ]; then
mount_cgroups
retval=$?
fi
mount_misc
mount_cgroups
restorecon_sys
return $retval
return 0
}

View File

@@ -8,12 +8,17 @@ DISTFILE?= ${DISTPREFIX}.tar.bz2
CLEANFILES+= ${NAME}-*.tar.bz2
CHANGELOG_LIMIT?= --after="1 year ago"
_SNAP_SH= date -u +%Y%m%d%H%M
_SNAP:= $(shell ${_SNAP_SH})
SNAP= ${_SNAP}
SNAPDIR= ${DISTPREFIX}-${SNAP}
SNAPFILE= ${SNAPDIR}.tar.bz2
changelog:
git log ${CHANGELOG_LIMIT} --format=medium > ChangeLog
dist:
git archive --prefix=${DISTPREFIX}/ ${GITREF} | bzip2 > ${DISTFILE}

View File

@@ -2,6 +2,7 @@
# Copyright (c) 2012 Alexander Vershilov <qnikst@gentoo.org>
# Released under the 2-clause BSD license.
extra_stopped_commands="${extra_stopped_commands} cgroup_cleanup"
description_cgroup_cleanup="Kill all processes in the cgroup"
cgroup_find_path()
{

View File

@@ -556,26 +556,24 @@ rc_service_daemons_crashed(const char *service)
char *ch_root = rc_service_value_get(basename_c(service), "chroot");
char *spidfile = pidfile;
if (ch_root) {
spidfile = malloc(strlen(ch_root) + strlen(pidfile));
if (ch_root && pidfile) {
spidfile = xmalloc(strlen(ch_root) + strlen(pidfile) + 1);
strcpy(spidfile, ch_root);
strcat(spidfile, pidfile);
free(pidfile);
pidfile = spidfile;
}
pid = 0;
if (spidfile) {
if (pidfile) {
retval = true;
if ((fp = fopen(spidfile, "r"))) {
if ((fp = fopen(pidfile, "r"))) {
if (fscanf(fp, "%d", &pid) == 1)
retval = false;
fclose(fp);
}
free(spidfile);
spidfile = NULL;
if (ch_root) {
free(pidfile);
pidfile = NULL;
}
free(pidfile);
pidfile = NULL;
/* We have the pid, so no need to match
on exec or name */