Put some dir locations in rc.h so that 3rd party apps can become awware of them.
This commit is contained in:
parent
11e33e81c8
commit
ee4e861796
11
mk/os.mk
11
mk/os.mk
@ -10,14 +10,3 @@ include ${MK}/os-${OS}.mk
|
||||
|
||||
RC_LIB= /$(LIBNAME)/rc
|
||||
|
||||
_PREFIX_SH= if test -n "${PREFIX}" && test "${PREFIX}" != "/"; then echo "-DPREFIX=\\\"${PREFIX}\\\""; else echo ""; fi
|
||||
_PREFIX!= ${_PREFIX_SH}
|
||||
CFLAGS+= ${_PREFIX}$(shell ${_PREFIX_SH})
|
||||
|
||||
_PKG_PREFIX_SH= if test -n "${PKG_PREFIX}" && test "${PKG_PREFIX}" != "/" && test "${PKG_PREFIX}" != "${PREFIX}"; then echo "-DPKG_PREFIX=\\\"${PKG_PREFIX}\\\""; else echo ""; fi
|
||||
_PKG_PREFIX!= ${_PKG_PREFIX_SH}
|
||||
CFLAGS+= ${_PKG_PREFIX}$(shell ${_PKG_PREFIX_SH})
|
||||
|
||||
_LCL_PREFIX_SH= if test -n "${LOCAL_PREFIX}" && test "${LOCAL_PREFIX}" != "/" && test "${LOCAL_PREFIX}" != "${PREFIX}"; then echo "-DLOCAL_PREFIX=\\\"${LOCAL_PREFIX}\\\""; else echo ""; fi
|
||||
_LCL_PREFIX!= ${_LCL_PREFIX_SH}
|
||||
CFLAGS+= ${_LCL_PREFIX}$(shell ${_LCL_PREFIX_SH})
|
||||
|
@ -37,45 +37,10 @@
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifndef LIB
|
||||
# define LIB "lib"
|
||||
#endif
|
||||
|
||||
#ifdef PREFIX
|
||||
# define RC_PREFIX PREFIX
|
||||
#else
|
||||
# define RC_PREFIX
|
||||
#endif
|
||||
|
||||
#ifndef SYSCONFDIR
|
||||
# define SYSCONFDIR RC_PREFIX "/etc"
|
||||
#endif
|
||||
|
||||
#define RC_LEVEL_BOOT "boot"
|
||||
#define RC_LEVEL_DEFAULT "default"
|
||||
|
||||
#define RC_LIBDIR RC_PREFIX "/" LIB "/rc"
|
||||
#define RC_SVCDIR RC_LIBDIR "/init.d"
|
||||
#define RC_DEPTREE_CACHE RC_SVCDIR "/deptree"
|
||||
#define RC_RUNLEVELDIR SYSCONFDIR "/runlevels"
|
||||
#define RC_INITDIR SYSCONFDIR "/init.d"
|
||||
#define RC_CONFDIR SYSCONFDIR "/conf.d"
|
||||
|
||||
/* 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
|
||||
* /usr/pkg. */
|
||||
#ifdef PKG_PREFIX
|
||||
# define RC_PKG_INITDIR PKG_PREFIX "/etc/init.d"
|
||||
# define RC_PKG_CONFDIR PKG_PREFIX "/etc/conf.d"
|
||||
#endif
|
||||
|
||||
/* LOCAL_PREFIX is for user written stuff, which the base OS and package
|
||||
* manger don't touch. */
|
||||
#ifdef LOCAL_PREFIX
|
||||
# define RC_LOCAL_INITDIR LOCAL_PREFIX "/etc/init.d"
|
||||
# define RC_LOCAL_CONFDIR LOCAL_PREFIX "/etc/conf.d"
|
||||
#endif
|
||||
|
||||
#define RC_KRUNLEVEL RC_SVCDIR "/krunlevel"
|
||||
#define RC_STARTING RC_SVCDIR "/rc.starting"
|
||||
#define RC_STOPPING RC_SVCDIR "/rc.stopping"
|
||||
@ -85,8 +50,6 @@
|
||||
#define RC_SVCDIR_STARTED RC_SVCDIR "/started"
|
||||
#define RC_SVCDIR_COLDPLUGGED RC_SVCDIR "/coldplugged"
|
||||
|
||||
#define RC_PLUGINDIR RC_LIBDIR "/plugins"
|
||||
|
||||
#define ERRX fprintf (stderr, "out of memory\n"); exit (1)
|
||||
|
||||
#ifdef lint
|
||||
@ -98,7 +61,6 @@
|
||||
# define _unused
|
||||
#endif
|
||||
|
||||
|
||||
/* Some libc implemntations don't have these */
|
||||
#ifndef STAILQ_CONCAT
|
||||
#define STAILQ_CONCAT(head1, head2) do { \
|
||||
|
1
src/librc/.gitignore
vendored
1
src/librc/.gitignore
vendored
@ -13,3 +13,4 @@ librc.a
|
||||
librc.so.1
|
||||
librc.so
|
||||
.depend
|
||||
rc.h
|
||||
|
@ -5,8 +5,6 @@ SRCS= librc.c librc-daemon.c librc-depend.c librc-misc.c \
|
||||
INCS= rc.h
|
||||
VERSION_MAP= rc.map
|
||||
|
||||
CFLAGS+= -DLIB=\"${LIBNAME}\"
|
||||
CFLAGS+= -DSYSCONFDIR=\"${SYSCONFDIR}\"
|
||||
LDADD+= ${LIBKVM}
|
||||
|
||||
CFLAGS+= -I../includes
|
||||
@ -15,3 +13,30 @@ MK= ../../mk
|
||||
include ${MK}/lib.mk
|
||||
include ${MK}/cc.mk
|
||||
include ${MK}/debug.mk
|
||||
|
||||
# Massage our header file for our dirs
|
||||
SED_CMD= -e 's:@PREFIX@:${PREFIX}:g'
|
||||
SED_CMD+= -e 's:@LIB@:${LIBNAME}:g'
|
||||
SED_CMD+= -e 's:@SYSCONFDIR@:${SYSCONFDIR}: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 \
|
||||
echo "-e 's:.*@PKG_PREFIX@.*:\#undef RC_PKG_PREFIX:g'"; \
|
||||
fi
|
||||
_PKG_PREFIX!= ${_PKG_PREFIX_SH}
|
||||
SED_CMD+= ${_PKG_PREFIX}$(shell ${_PKG_PREFIX_SH})
|
||||
|
||||
_LCL_PREFIX_SH= if test -n "${LOCAL_PREFIX}" && test "${LOCAL_PREFIX}" != "/" && test "${LOCAL_PREFIX}" != "${PREFIX}"; then \
|
||||
echo "-e 's:@LOCAL_PREFIX@:${LOCAL_PREFIX}:g'"; \
|
||||
else \
|
||||
echo "-e 's:@LOCAL_PREFIX@::g'"; \
|
||||
fi
|
||||
_LCL_PREFIX!= ${_LCL_PREFIX_SH}
|
||||
SED_CMD+= ${_LCL_PREFIX}$(shell ${_LCL_PREFIX_SH})
|
||||
|
||||
.SUFFIXES: .h.in
|
||||
.h.in.h:
|
||||
${SED} ${SED_CMD} $< > $@
|
||||
${SRCS}: rc.h
|
||||
|
||||
CLEANFILES+= rc.h
|
||||
|
@ -32,6 +32,31 @@
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#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_RUNLEVELDIR RC_SYSCONFDIR "/runlevels"
|
||||
#define RC_INITDIR RC_SYSCONFDIR "/init.d"
|
||||
#define RC_CONFDIR RC_SYSCONFDIR "/conf.d"
|
||||
|
||||
/* 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
|
||||
* /usr/pkg. */
|
||||
#define RC_PKG_PREFIX "@PKG_PREFIX@"
|
||||
#ifdef RC_PKG_PREFIX
|
||||
# define RC_PKG_INITDIR RC_PKG_PREFIX "/etc/init.d"
|
||||
# define RC_PKG_CONFDIR RC_PKG_PREFIX "/etc/conf.d"
|
||||
#endif
|
||||
|
||||
/* LOCAL_PREFIX is for user written stuff, which the base OS and package
|
||||
* manger don't touch. */
|
||||
#define RC_LOCAL_PREFIX "@LOCAL_PREFIX@"
|
||||
#ifdef RC_LOCAL_PREFIX
|
||||
# define RC_LOCAL_INITDIR RC_LOCAL_PREFIX "/etc/init.d"
|
||||
# define RC_LOCAL_CONFDIR RC_LOCAL_PREFIX "/etc/conf.d"
|
||||
#endif
|
||||
|
||||
/* A doubly linked list using queue(3) for ease of use */
|
||||
typedef struct rc_string {
|
||||
char *value;
|
@ -39,8 +39,6 @@ include ${MK}/cc.mk
|
||||
include ${MK}/debug.mk
|
||||
|
||||
CFLAGS+= -I../includes -I../librc -I../libeinfo
|
||||
CFLAGS+= -DLIB=\"${LIBNAME}\"
|
||||
CFLAGS+= -DSYSCONFDIR=\"${SYSCONFDIR}\"
|
||||
|
||||
include ${MK}/${MKTERMCAP}.mk
|
||||
LDADD+= ${LIBDL} ${LIBKVM}
|
||||
|
@ -49,11 +49,11 @@
|
||||
#include "rc.h"
|
||||
#include "rc-misc.h"
|
||||
|
||||
#define PROFILE_ENV SYSCONFDIR "/profile.env"
|
||||
#define PROFILE_ENV RC_SYSCONFDIR "/profile.env"
|
||||
#define SYS_WHITELIST RC_LIBDIR "/conf.d/env_whitelist"
|
||||
#define USR_WHITELIST SYSCONFDIR "/conf.d/env_whitelist"
|
||||
#define RC_CONF SYSCONFDIR "/rc.conf"
|
||||
#define RC_CONF_OLD SYSCONFDIR "/conf.d/rc"
|
||||
#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"
|
||||
|
||||
|
@ -2,6 +2,8 @@ all:
|
||||
|
||||
install:
|
||||
|
||||
gitignore:
|
||||
|
||||
check test::
|
||||
./runtests.sh
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user