diff --git a/release/picobsd/tinyware/oinit/Makefile b/release/picobsd/tinyware/oinit/Makefile index 1fb9b2dcbba..c655bb7bb7d 100644 --- a/release/picobsd/tinyware/oinit/Makefile +++ b/release/picobsd/tinyware/oinit/Makefile @@ -1,9 +1,19 @@ # $FreeBSD$ # -PROG=oinit -#CFLAGS+=-DUSE_HISTORY -CFLAGS+=-DOINIT_RC=\"/etc/oinit.rc\" -#LDADD=-lutil -ledit -ltermcap +PROG= oinit + +SH_PATH?= /bin/sh +SH_NAME?= -sh +SH_ARG?= /etc/rc + +CFLAGS= -DSH_PATH=\"${SH_PATH}\" -DSH_NAME=\"${SH_NAME}\" \ + -DSH_ARG=\"${SH_ARG}\" + + +#CFLAGS+= -DUSE_HISTORY +#CFLAGS+= -DOINIT_RC=\"/etc/oinit.rc\" + +#LDADD= -lutil -ledit -ltermcap LDADD=-lutil NOMAN=yes diff --git a/release/picobsd/tinyware/oinit/oinit.c b/release/picobsd/tinyware/oinit/oinit.c index 66b5623cef9..87b24483590 100644 --- a/release/picobsd/tinyware/oinit/oinit.c +++ b/release/picobsd/tinyware/oinit/oinit.c @@ -599,6 +599,15 @@ start_session(int vty, int argc, char **argv) * normal /etc/rc interpreted by Bourne shell. */ #ifndef OINIT_RC +#ifndef SH_NAME +#define SH_NAME "-sh" +#endif +#ifndef SH_PATH +#define SH_PATH _PATH_BSHELL +#endif +#ifndef SH_ARG +#define SH_ARG "/etc/rc" +#endif void runcom() { @@ -617,10 +626,10 @@ runcom() dup2(fd,1); dup2(fd,2); if(fd>2) close(fd); - argv[0]="-sh"; - argv[1]="/etc/rc"; + argv[0]=SH_NAME; + argv[1]=SH_ARG; argv[2]=0; - execvp("/bin/sh",argv); + execvp(SH_PATH,argv); printf("runcom(): %s\n",strerror(errno)); _exit(1); }