aboutsummaryrefslogtreecommitdiff
path: root/sh
AgeCommit message (Collapse)Author
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
2011-11-17Add CGroup supportPatrick Lauer
X-Gentoo-Bug: 390297 X-Gentoo-Bug: http://bugs.gentoo.org/show_bug.cgi?id=390297
2011-11-16add support for extra_stopped_commandsWilliam Hubbs
2011-11-02Make sure we load external scripts before using eerrorWilliam Hubbs
Reported-by: Jochen Schlick <josch06@gmail.com> X-Gentoo-Bug: 388715 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=388715
2011-10-29Use pattern rules instead of suffix rulesWilliam Hubbs
Rework the makefiles to use pattern rules instead of suffix rules. This is the preferred way to write implicit rules according to the gnu make manual.
2011-10-20further clean up OS differences in makefilesMike Frysinger
No need for if() logic. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-10-19Make variable references in Makefiles consistentWilliam Hubbs
Some variable references were written as $(foo), but the majority were written as ${foo}. This commit changes all of the variable references to using braces.
2011-10-18consolodate MakefilesWilliam Hubbs
The tree contained many operating system specific Makefiles which were being included in other Makefiles. This commit removes those and adds the code to the makefiles which included them using make's conditional processing. X-Gentoo-Bug: 387441 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=387441