Move non compiled libraries from /lib/rc to /libexec/rc
OpenRC version is now stored as plaintext in /libexec/rc/version Plugins (cursplash, splashutils) will have to be re-compiled to pickup the new directories. State data needs to be moved from /lib/rc/init.d to /libexec/rc/init.d as well.
This commit is contained in:
@@ -18,6 +18,7 @@ include ${MK}/debug.mk
|
||||
SED_CMD= -e 's:@PREFIX@:${PREFIX}:g'
|
||||
SED_CMD+= -e 's:@LIB@:${LIBNAME}:g'
|
||||
SED_CMD+= -e 's:@SYSCONFDIR@:${SYSCONFDIR}:g'
|
||||
SED_CMD+= -e 's:@LIBEXECDIR@:${LIBEXECDIR}:g'
|
||||
_PKG_PREFIX_SH= if test -n "${PKG_PREFIX}" && test "${PKG_PREFIX}" != "/" && test "${PKG_PREFIX}" != "${PREFIX}"; then \
|
||||
echo "-e 's:@PKG_PREFIX@:${PKG_PREFIX}:g'"; \
|
||||
else \
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
#include "librc.h"
|
||||
|
||||
#define GENDEP RC_LIBDIR "/sh/gendepends.sh"
|
||||
#define GENDEP RC_LIBEXECDIR "/sh/gendepends.sh"
|
||||
|
||||
#define RC_DEPCONFIG RC_SVCDIR "/depconfig"
|
||||
|
||||
@@ -647,6 +647,7 @@ static const DEPPAIR deppairs[] = {
|
||||
|
||||
static const char *const depdirs[] =
|
||||
{
|
||||
RC_SVCDIR,
|
||||
RC_SVCDIR "/starting",
|
||||
RC_SVCDIR "/started",
|
||||
RC_SVCDIR "/stopping",
|
||||
@@ -742,10 +743,10 @@ rc_deptree_update(void)
|
||||
bool retval = true;
|
||||
const char *sys = rc_sys();
|
||||
|
||||
/* Some init scripts need RC_LIBDIR to source stuff
|
||||
/* Some init scripts need RC_LIBEXECDIR to source stuff
|
||||
Ideally we should be setting our full env instead */
|
||||
if (!getenv("RC_LIBDIR"))
|
||||
setenv("RC_LIBDIR", RC_LIBDIR, 0);
|
||||
if (!getenv("RC_LIBEXECDIR"))
|
||||
setenv("RC_LIBEXECDIR", RC_LIBEXECDIR, 0);
|
||||
|
||||
/* Phase 1 - source all init scripts and print dependencies */
|
||||
if (!(fp = popen(GENDEP, "r")))
|
||||
|
||||
@@ -36,11 +36,12 @@ __BEGIN_DECLS
|
||||
|
||||
#define RC_SYSCONFDIR "@SYSCONFDIR@"
|
||||
#define RC_LIBDIR "@PREFIX@/@LIB@/rc"
|
||||
#define RC_SVCDIR RC_LIBDIR "/init.d"
|
||||
#define RC_PLUGINDIR RC_LIBDIR "/plugins"
|
||||
#define RC_LIBEXECDIR "@LIBEXECDIR@"
|
||||
#define RC_SVCDIR RC_LIBEXECDIR "/init.d"
|
||||
#define RC_RUNLEVELDIR RC_SYSCONFDIR "/runlevels"
|
||||
#define RC_INITDIR RC_SYSCONFDIR "/init.d"
|
||||
#define RC_CONFDIR RC_SYSCONFDIR "/conf.d"
|
||||
#define RC_PLUGINDIR RC_LIBDIR "/plugins"
|
||||
|
||||
/* PKG_PREFIX is where packages are installed if different from the base OS
|
||||
* On Gentoo this is normally unset, on FreeBSD /usr/local and on NetBSD
|
||||
|
||||
@@ -8,7 +8,7 @@ CLEANFILES= version.h
|
||||
|
||||
BINDIR= ${PREFIX}/bin
|
||||
SBINDIR= ${PREFIX}/sbin
|
||||
LINKDIR= ${PREFIX}/${LIBNAME}/${PROG}
|
||||
LINKDIR= ${LIBEXECDIR}
|
||||
|
||||
BINLINKS= rc-status
|
||||
SBINLINKS= rc-service rc-update runscript start-stop-daemon
|
||||
@@ -37,21 +37,13 @@ LDADD+= -lutil -lrc -leinfo
|
||||
MK= ../../mk
|
||||
include ${MK}/debug.mk
|
||||
include ${MK}/prog.mk
|
||||
include ${MK}/git.mk
|
||||
include ${MK}/cc.mk
|
||||
|
||||
include ${MK}/${MKTERMCAP}.mk
|
||||
LDADD+= ${LIBDL} ${LIBKVM}
|
||||
include ${MK}/${MKPAM}.mk
|
||||
|
||||
_GITVER_SH= if git rev-parse --short HEAD >/dev/null 2>&1; then \
|
||||
printf "."; \
|
||||
git rev-parse --short HEAD; \
|
||||
else \
|
||||
echo ""; \
|
||||
fi
|
||||
_GITVER!= ${_GITVER_SH}
|
||||
GITVER= ${_GITVER}$(shell ${_GITVER_SH})
|
||||
|
||||
${SRCS}: version.h
|
||||
version.h:
|
||||
sed -n -e 's/^VERSION=[[:space:]]*\([^[:space:]]*\).*/#define VERSION "\1${GITVER}\"/p' ../../Makefile > version.h
|
||||
|
||||
@@ -50,14 +50,15 @@
|
||||
#include "einfo.h"
|
||||
#include "rc.h"
|
||||
#include "rc-misc.h"
|
||||
#include "version.h"
|
||||
|
||||
#define PROFILE_ENV RC_SYSCONFDIR "/profile.env"
|
||||
#define SYS_WHITELIST RC_LIBDIR "/conf.d/env_whitelist"
|
||||
#define SYS_WHITELIST RC_LIBEXECDIR "/conf.d/env_whitelist"
|
||||
#define USR_WHITELIST RC_SYSCONFDIR "/conf.d/env_whitelist"
|
||||
#define RC_CONF RC_SYSCONFDIR "/rc.conf"
|
||||
#define RC_CONF_OLD RC_SYSCONFDIR "/conf.d/rc"
|
||||
|
||||
#define PATH_PREFIX RC_LIBDIR "/bin:/bin:/sbin:/usr/bin:/usr/sbin"
|
||||
#define PATH_PREFIX RC_LIBEXECDIR "/bin:/bin:/sbin:/usr/bin:/usr/sbin"
|
||||
|
||||
static RC_STRINGLIST *rc_conf = NULL;
|
||||
|
||||
@@ -221,7 +222,8 @@ env_config(void)
|
||||
free(e);
|
||||
}
|
||||
|
||||
setenv("RC_LIBDIR", RC_LIBDIR, 1);
|
||||
setenv("RC_VERSION", VERSION, 1);
|
||||
setenv("RC_LIBEXECDIR", RC_LIBEXECDIR, 1);
|
||||
setenv("RC_SVCDIR", RC_SVCDIR, 1);
|
||||
setenv("RC_TMPDIR", RC_SVCDIR "/tmp", 1);
|
||||
setenv("RC_BOOTLEVEL", RC_LEVEL_BOOT, 1);
|
||||
|
||||
@@ -72,8 +72,8 @@ const char rc_copyright[] = "Copyright (c) 2007-2008 Roy Marples";
|
||||
|
||||
#include "version.h"
|
||||
|
||||
#define INITSH RC_LIBDIR "/sh/init.sh"
|
||||
#define INITEARLYSH RC_LIBDIR "/sh/init-early.sh"
|
||||
#define INITSH RC_LIBEXECDIR "/sh/init.sh"
|
||||
#define INITEARLYSH RC_LIBEXECDIR "/sh/init-early.sh"
|
||||
|
||||
#define SHUTDOWN "/sbin/shutdown"
|
||||
#define SULOGIN "/sbin/sulogin"
|
||||
|
||||
@@ -398,10 +398,10 @@ svc_exec(const char *arg1, const char *arg2)
|
||||
service, strerror(errno));
|
||||
_exit(EXIT_FAILURE);
|
||||
} else {
|
||||
execl(RC_LIBDIR "/sh/runscript.sh",
|
||||
RC_LIBDIR "/sh/runscript.sh",
|
||||
execl(RC_LIBEXECDIR "/sh/runscript.sh",
|
||||
RC_LIBEXECDIR "/sh/runscript.sh",
|
||||
service, arg1, arg2, (char *) NULL);
|
||||
eerror("%s: exec `" RC_LIBDIR "/sh/runscript.sh': %s",
|
||||
eerror("%s: exec `" RC_LIBEXECDIR "/sh/runscript.sh': %s",
|
||||
service, strerror(errno));
|
||||
_exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
@@ -1188,8 +1188,8 @@ start_stop_daemon(int argc, char **argv)
|
||||
while (*p == ':')
|
||||
p++;
|
||||
}
|
||||
if (strcmp(token, RC_LIBDIR "/bin") != 0 &&
|
||||
strcmp(token, RC_LIBDIR "/sbin") != 0)
|
||||
if (strcmp(token, RC_LIBEXECDIR "/bin") != 0 &&
|
||||
strcmp(token, RC_LIBEXECDIR "/sbin") != 0)
|
||||
{
|
||||
len = strlen(token);
|
||||
if (np != newpath)
|
||||
|
||||
Reference in New Issue
Block a user