aboutsummaryrefslogtreecommitdiff
path: root/src/librc
AgeCommit message (Collapse)Author
2013-04-09Fix autodetection of lxcNatanael Copa
The /proc/1/environ contains various \0 terminated strings. The current code will only work when the search string is in the first of those. To fix this we look for strings in entire buffer. Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
2013-02-23make BINDIR and SBINDIR available to input filesAndrew Gregory
BINDIR and SBINDIR can be set independently of PREFIX and may not be set to PREFIX/bin as scripts currently assume. Note from William Hubbs: This adds @BINDIR@ and @SBINDIR@ macros to the sed commands run to convert *.in files to the executable form. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
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-10-04set the RC_UNAME environment variable when updating dependenciesWilliam Hubbs
This is needed because the network script uses this variable in the depend() function but it wasn't exported when this was run. Reported-by: <aaly90@gmail.com>
2012-09-20fix RC_SVCDIR on prefix systemsWilliam Hubbs
On prefix systems, RC_SVCDIR was being defined based on the host operating system. This is not correct because there will not be a /run directory in a prefix. This commit moves RC_SVCDIR on prefix systems to the same location as on non-Linux systems.
2012-09-09add RC_PREFIX environment variableWilliam Hubbs
This will be used by init scripts which want to be able to run in a Gentoo Prefix installation. RC_PREFIX will contain the prefix offset.
2012-07-26Bring Back prefix supportWilliam Hubbs
We now have a team member who is interested in OpenRC on prefix, so I am bringing it back to the main tree.
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-04-26Reduce overhead by leaving rc_deptree_update_needed() as soon as possibleChristian Ruppert
There's no need to check any further if we're returning true anyway. Signed-off-by: Christian Ruppert <idl0r@gentoo.org>
2012-03-26librc: Do not output error messages from within the library.William Hubbs
This fixes a compile issue. Also, it is cleaner to have the client output error messages as opposed to having the library do this. Reported-by: Ewoud Kohl van Wijngaarden <gentoo@kohlvanwijngaarden.nl> X-Gentoo-Bug: 409743 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=409743
2012-02-25librc: make rc_proc_getent available for all operating systemsWilliam Hubbs
This looks up an option on the kernel command line. For now, itworks on linux and returns NULL on the bsds, but we are definitely open to patches for that side.
2012-02-25Fix rc_proc_getent() undeclared on BSDChristian Ruppert
X-Gentoo-Bug: 405713 X-Gentoo-Bug-URL: https://bugs.gentoo.org/405713 Reported-by: Dmitri Bogomolov <4glitch@gmail.com>
2012-02-21Remove prefix supportWilliam Hubbs
I spoke with the prefix team sometime back and was told that they do not have an interest in using OpenRC on prefix systems.
2012-02-12Fix some more warningsChristian Ruppert
2012-01-30Complain about loading /etc/conf.d/rcWilliam Hubbs
Openrc was quietly loading this file if it existed and this was causing some issues, so now openrc loads the file and complains about it. Hopefully the warning message will convince everyone to remove this file and migrate the settings to @SYSCONFDIR@/rc.conf where they belong.
2012-01-26WhitespaceChristian Ruppert
2012-01-24Override rc.conf options onlyChristian Ruppert
2012-01-20small style fixWilliam Hubbs
2012-01-16style fixesWilliam Hubbs
2012-01-15Allow overriding of rc.conf options via kernel cmdlineChristian Ruppert
This adds a new function that allows us to override some specific rc.conf options via the kernel cmdline aka /proc/cmdline. This makes esp. sense in cases where a rc_parallel enabled system has boot issues. Simply disable rc_parallel by appending rc_parallel=no to your kernel cmdline.
2012-01-15Rename proc_getent to rc_proc_getent and make it globalChristian Ruppert
2011-11-16add support for extra_stopped_commandsWilliam Hubbs
2011-11-07add auto detection for lxcWilliam Hubbs
Reported-by: Francesco Riosa <francesco+gentoo_bugzilla@pnpitalia.it> X-Gentoo-Bug: 384151 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=384151
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-07-13Fix rc_service_value_get() to return multiple lines as wellChristian Ruppert
As introduced in bug 372547 using service_get_value() in the init scripts or using rc_service_value_get() directly will only return one line. This patch fixes it by using the new rc_getfile() function, it returns even multiple lines. We're still using a char *, so the lines will be appended instead of added into new element. X-Gentoo-Bug: 372547 X-Gentoo-Bug-URL: http://bugs.gentoo.org/372547
2011-07-13Add a new function, bool rc_getfile(const char *, char **, size_t *)Mike Frysinger
<snip> Read the entire @file into the buffer and set @len to the size of the buffer when finished. For C strings, this will be strlen(buffer) + 1. Don't forget to free the buffer afterwards! </snip> We also fix bug 374899 by adding this new function. X-Gentoo-Bug: 374899 X-Gentoo-Bug-URL: http://bugs.gentoo.org/374899
2011-07-09Do not skip similar config optionsChristian Ruppert
OpenRC goes through the config and checks each option for duplicates. Lets say we're on "rc_logger" currently and its the last option in the config file and we previously defined rc_logger_path. It now goes through all previous config options and compares those against the current one "rc_logger" *but* it compares only the first N bytes, in this case strlen("rc_logger"). So it strips the _path from "rc_logger_path" which ends up into "rc_logger" and it compares that against the current one (also "rc_logger"), it would then simply override the previous definition. This patch fixes this behaviour to always compare the full option / variable names.
2011-06-29drop useless "All rights reserved" noticeMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-06-28Use RC_CONF instead of the hardcoded /etc/rc.confChristian Ruppert
2011-06-03clean up gitignore filesMike Frysinger
Rather than listing explicit object files, ignore all of them in the whole tree. Also ignore patch/gdb related files throughout. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-05-28cc.mk: move debug.mk out of end MakefilesMike Frysinger
Since we always want debug.mk whenever we include cc.mk, move the include out of the Makefiles and into cc.mk itself. This also fixes an include order bug in rc/Makefile where debug.mk is included before cc.mk and breaks the default CFLAGS setup in cc.mk. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-05-28librc: tweak style: foo () -> foo()Mike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-04-27fix rc_service_extra_commands return valueJames Le Cuirot
If there were no extra commands, rc_service_extra_commands returned a list containing a single empty string. This changes that to return an empty list, which is more consistent with what you would expect. X-Gentoo-Bug: 360013 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=360013
2011-04-27fix list returned by rc_service_extra_commandsWilliam Hubbs
This function was returning the setting of the variable $opts, which is not correct. $opts was used in baselayout-1, but it is replaced by $extra_commands and $extra_started_commands in openrc. This does not appear to break backward compatibility since this function does not appear to be used anywhere in the openrc code. Thanks to James Le Cuirot for the original patch. X-Gentoo-Bug: 360013 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=360013
2011-04-09typo fixWilliam Hubbs
X-Gentoo-Bug: 217999 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=217999
2011-02-04remove unnecessary shell callsWilliam Hubbs
The main makefile, init.d/Makefile and src/librc/Makefile all contain several shell calls which can be handled as make conditionals. This switches them to conditionals.
2011-01-31use immediate evaluation for shell callsWilliam Hubbs
This reworks the shell calls in the makefiles to use immediate evaluation and should improve parallel building. X-Gentoo-Bug: 289264 X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=289264
2011-01-17librc: delete trailing newlinesMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-01-17Document that rc_sys_v{1,2} should not be used outside of OpenRC.Robin H. Johnson
2011-01-17Bug #351570: Fix hidden functions visibility for rc_deptree_load_file.Robin H. Johnson
2011-01-17Bug #351570: Hidden function fixes: rc_conf_value.Robin H. Johnson
Refactor rc_conf_value into librc for use in library context. Also requires moving: - rc_conf internal static - Defines: PROFILE_ENV, SYS_WHITELIST, USR_WHITELIST, RC_PATH_PREFIX moved to rc.h with new RC_ prefix added. - Defines: RC_CONF, RC_CONF_OLD moved to rc.h. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2011-01-17Style fix: "char *foo" not "char* foo".Robin H. Johnson
2011-01-17Style fix: /* */ comments not // comments.Robin H. Johnson
2011-01-17Style fix: "while (" not "while(".Robin H. Johnson
2011-01-17Style fix: "if (" not "if(".Robin H. Johnson
2011-01-17Clean up all trailing whitespace in src/.Robin H. Johnson
2011-01-17Factor out new function rc_deptree_load_file to aid in debugging deptree ↵Robin H. Johnson
files from users. Loads from a given filename instead of the hardcoded RC_DEPTREE_CACHE define.
2011-01-05Make sure old rc_sys code never runs if the rc_sys variable exists.Robin H. Johnson
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2011-01-05Remove broken automatic LXC subsystem detection.Robin H. Johnson
Any system using cgroups was being detected as an LXC system. This was triggering on OpenVZ under RHEL6 as well as the "automated per tty task groups" as discussed on the LKML. All LXC users should now switch to the new rc_sys variable introduced in the previous patch. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
2011-01-05Implement explicit selection of subsystem types.Robin H. Johnson
- Fixes bugs #347583, #349389, both of which were triggered by cgroups being detected as the LXC subsystem type. - Makes it much easier to select "prefix" type. - "rc -S" will now print a warning if you have not configured rc_sys in /etc/rc.conf - All other semantics of rc_sys are unchanged in this patch. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>