aboutsummaryrefslogtreecommitdiff
path: root/sh
AgeCommit message (Collapse)Author
2012-12-22Set a default size for /run on LinuxWilliam Hubbs
Reported-by: alpiturchi@gmail.com X-Gentoo-Bug: 447076 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=447076
2012-12-19init.sh.Linux: do not try to remove the /run/openrc symlinkWilliam Hubbs
In order to make migration from /lib*/rc/init.d to /run/openrc possible without rebooting, the migration script creates a symlink from /run/openrc to /lib*/rc/init.d. We were trying to remove it on the next reboot, but this is not possible since / is ro when /run is mounted. Reported-by: fturco@fastmail.fm X-Gentoo-Bug: 447678 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=447678
2012-12-07init-linux: Do not remove the $rc_libexecdir/init.d directoryWilliam Hubbs
Reported-by: toralf.foerster@gmx.de X-Gentoo-Bug: 446342 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=446342
2012-12-06migrate-to-run: do not require a rebootWilliam Hubbs
The script that migrates the @libexecdir@/rc/init.d directory to /run/openrc should not require a reboot. Reported-by: chainsaw@gentoo.org
2012-12-03Do not add a prefix to the /run directoryWilliam Hubbs
This doesn't affect us on gentoo, but on archlinux, which has done the /usr merge, OpenRC was looking for /run under PREFIX. /run is always at the root level, so it shouldn't have prefix appended to it. Reported-by: udeved@openrc4arch.site40.net
2012-11-25migrate-to-run: Remove old RC_SVCDIR after unmounting tmpfsWilliam Hubbs
reporrrrted-by: netfab@gmail.com X-Gentoo-Bug: 443996 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=443996
2012-11-12Support cpu usage management for LinuxAlexander Vershilov
This commit was modified by William Hubbs as follows: - The paths in the cgroup fs were put into variables to ease maintenance. - Documentation was added to rc.conf.Linux. - The services were added originally to openrc/svcname cgroups under the controller cgroups, but this left an "openrc" cgroup which was unused. Now they are added to individual cgroups with the name openrc_${RC_SVCNAME}.
2012-11-07checkbashisms: Fix redirection order.Robin H. Johnson
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2012-11-07checkbashisms: clean up export statements.Robin H. Johnson
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2012-11-06tmpfiles: fix bashismWilliam Hubbs
reported-by: <pesa@gentoo.org>
2012-11-05tmpfilesd: Doing both create+remove at the same time is valid.Robin H. Johnson
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2012-10-21tmpfilesd: parse arguments with spacesAndrew Gregory
systemd allows the final arg in tmpfiles to contain spaces. Using the read() call to set the variables includes all trailing components in $arg so it doesn't get cut off. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
2012-10-21tmpfiles: return success from _f/_F on empty $argAndrew Gregory
'[ -n "$arg" ] && _w' causes _f/_F to return the failure from the test when $arg is empty. Inverting the test causes the test and _f/_F to return success. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
2012-10-21tmpfiles: do not process systemd.confWilliam Hubbs
This file contains definitions specific to systemd, so we should not process it. Reported-by: <andrew.gregory.8@gmail.com>
2012-10-17functions.sh: do not hard code path in e* wrapper functionsWilliam Hubbs
We should use the "command" shell builtin to execute a binary from within the wrapper with the same name. Hard coding the path to the binary makes our test suite fail.
2012-09-26tmpfiles.d init.d scriptsRobin H. Johnson
Now that the tmpfiles.d code is more tested, actually call it from init.d. It assumes that /run is already available when it runs. Please note it runs TWICE. - During sysinit, ideally just after /dev/shm is created, but before udev has started. After udev is also acceptable, but not ideal. - During boot, ideally just after localmount has completed. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2012-09-26sh/tmpfiles.sh: Improve dry-run mode.Robin H. Johnson
Dry-run with more detail is more useful this way. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2012-09-25Drop restart_pre/restart_postWilliam Hubbs
By design, restart is hard coded to run stop followed by start along with all of the pre/post functions associated with them. Restart doesn't need its own pre/post functions since it is possible to make any function in an init script behave differently for a restart command by testing against the RC_CMD environment variable.
2012-09-22Add restart_pre/restart_post support, also document RC_CMDChristian Ruppert
2012-08-16sh/tmpfiles: fix quoting for optional argumentsRobin H. Johnson
Some optional arguments were missing quotes in the tests, so produced spurious warnings. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2012-07-02fix handling of /run for vserverWilliam Hubbs
Mount can't be used in vservers, but /run is still needed. So we create the directory and clear it out instead of mounting a tmpfs in that situation. reported-by: <patrick@gentoo.org> X-Gentoo-Bug: 423739 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=423739
2012-05-17local is only allowed in functionsChristian Ruppert
2012-05-14move rc_svcdir to /run/openrc on Linux systemsWilliam Hubbs
If you are not using linux, this should not affect you. If you are using linux, from this point forward, openrc requires the /run directory to be a mounted tmpfs. If it is, you can run @LIBEXECDIR@/sh/migrate-to-run.sh as root to migrate your dependency tree and state information to the new location. If it is not, you must create the /run directory as root with permissions 755 then reboot your system. reported-by: Maxim Kammerer <mk@dee.su> X-Gentoo-Bug: 401059 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=401059
2012-05-02clarify the message about /proc being already mountedWilliam Hubbs
This message was being taken by some users as an error, so I have removed the part about "skipping..." Hopefully this will make the message less alarming.
2012-04-26fix references to functions.shWilliam Hubbs
There were a couple of places where we were sourcing functions.sh in @SYSCONFDIR@/init.d. This is only a backward compatibility symlink, so it should not be used for openrc. The correct place to source this from is @LIBEXECDIR@/sh.
2012-04-26Change the working directory for depend onlyWilliam Hubbs
We already have a special case for depend processing, so we should change the working directory there only. This prevents us from forcing all init scripts to be run in the init directory.
2012-04-26Revert "Revert "Let runscript enter the service dir before expand globs""William Hubbs
This reverts commit f971c4c0b5e45500f1255f2e076f2c101d2f9281. After further discussion, this is a good first step toward a fix, so I am putting it back.
2012-04-26Revert "Let runscript enter the service dir before expand globs"William Hubbs
This reverts commit 9d0dce35c3e46b4515499f3f0f1c47645be0bc48. This is being reverted due to the fix still being under discussion.
2012-04-26Let runscript enter the service dir before expand globsChristian Ruppert
Enter the service directory, like gendeps.sh does, to make sure globs are expanded in it rather than in /. That makes sure that globbing like "need *" will end up in all files of the init.d directory. Signed-off-by: Christian Ruppert <idl0r@gentoo.org> Reported-by: Guenther Brunthaler <gb_about_gnu@gmx.net> X-Gentoo-Bug: 412677 X-Gentoo-Bug-URL: https://bugs.gentoo.org/412677
2012-03-12sh/tmpfiles: Upstream clarifications & quoting fixes.Robin H. Johnson
Upstream has clarified via IRC: - hardcoding /usr/lib/ is an explicit choice. It should NOT consider $libdir at all. - The z/Z relabel types should call restorecon, not chcon. - Whitespace is not allowed in tmpfiles.d/*.conf path entries, but is allowed in globs results. Fixed quoting of path arguments for this. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2012-03-12sh/tmpfiles: tmpfiles.d support.Robin H. Johnson
This is the baseline support for tmpfiles.d. Still missing: - SELinux relabel, pending upstream clarification - LIBDIR vs multilib systems, pending upstream clarification - Whitespace in paths? - Clean support not implemented - "x" exclude type not implemented X-Gentoo-Bug: 396003 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=396003 Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2012-03-03Runscript: allow extra_commands to be run in chrootsWilliam Hubbs
The commands defined in the extra_commands variable do not depend on whether the service is stopped or started, so it is valid to run them in chroot environments. Also, add a note to the runscript man page about the commands in extra_commands being able to run whether or not the service is started. Reported-by: Robin Johnson <robbat2@gentoo.org> X-Gentoo-Bug: 406713 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=406713
2012-02-20update ignore patternsWilliam Hubbs
2012-02-09Fix early consolefont/termencoding usage vs rc_sysRobin H. Johnson
During early boot, the keywords were not being checked for consolefont/termencoding and they were running anyway when they should not be. X-Gentoo-Bug: 400549 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=400549 Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2012-01-29cgroups: only create the cgroup when the service is being startedWilliam Hubbs
2012-01-28Use "checkpath -W" instead of dir_writable()Christian Ruppert
2012-01-28Check if /sys/fs/cgroup/openrc is writableChristian Ruppert
2012-01-26cgroups: add all services to the openrc cgroupWilliam Hubbs
This is a modified version of a patch originally submitted by Patrick Lauer <patrick@gentoo.org>.
2012-01-22Make checks for writable directory posix compliantWilliam Hubbs
Reported-by: Maxim Kammerer <mk@de.su> X-Gentoo-Bug: 398931 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=398931
2012-01-17drop the extra --pidfile optionWilliam Hubbs
2012-01-17Use the "--make-pidfile" when command_background is usedChristian Ruppert
The start-stop-daemon "--make-pidfile" option is now used by default when using command_background, this requires a pidfile to be specified. Document command_background option. Reported-by: Giampaolo Tomassoni <giampaolo@tomassoni.biz> X-Gentoo-Bug: 399165 X-Gentoo-Bug-URL: https://bugs.gentoo.org/399165
2011-12-31Add "retry" option for the stop() templateChristian Ruppert
2011-12-19cgroups: remove references to the "openrc" cgroupWilliam Hubbs
Openrc will set up cgroups the way the kernel documentation recommends.
2011-12-11Allow init scripts to be executed with a relative pathWilliam Hubbs
This was a regression that was caused by the fix for http://bugs.gentoo.org/show_bug.cgi?id=350910. I am reverting the commit that we said fixed that bug and re-opening it. Reported-By: Nathaniel <nathaniel@paust.us X-Gentoo-Bug: 392457 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=392457
2011-11-20CGroups: create the openrc cgroup hierarchyWilliam Hubbs
Openrc will create a cgroup hierarchy called openrc which will have all services it starts and all subsystems attached to it. If you need other groups/hierarchies, please use libcgroup.
2011-11-19make shell math operations style more succulentMike Frysinger
Convert the style: var=$((${var} + 1)) to: : $(( var += 1 )) The latter is easier to read imo. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-11-18CGroups: /sys/fs/cgroups should be a tmpfsWilliam Hubbs
The kernel documentation states that a cgroup file system should not be mounted here, but a tmpfs. This also means that we should not create a group for each process, but we should allow the user to specify which group a process should be assigned to. The rc_cgroup variable will be used for this purpose. For more information, see /usr/src/linux/Documentation/cgroups/cgroups.txt.
2011-11-18CGroups: fix group initializationWilliam Hubbs
Make sure cpuset.cpus and cpuset.mems exist in the parent group before attempting to copy them to the new group.
2011-11-17CGroups: finish initializing the CGroupWilliam Hubbs
When a CGroup is created, we need to copy cpuset.cpus and cpuset.mems from the new group's parent into the new group before we can attach any processes to it.
2011-11-17Change RC_CGROUP to lower caseWilliam Hubbs