pkg: move rc to /etc/rc.opnsense; closes #2416

Move /usr/local/etc/rc to /etc/rc.opnsense in order to be able
to boot without /usr mounted.  Move the /boot files along with
it since they require the same type of /usr/local-escapting.

1. This needs further testing.  :)
2. Inspect rc script for commands depend on /usr tools

Our rc.shutdown stays where it is, if we can shutdown we should be
able to access it.  If not, it's not grabbed via /etc/rc.shutdown.
This commit is contained in:
Franco Fichtner 2018-10-27 22:08:44 +02:00
parent e0dd995652
commit 6fd1fd0d74
7 changed files with 22 additions and 19 deletions

View File

@ -16,7 +16,7 @@ cp /etc/rc /etc/rc.bak
cat > /etc/rc <<EOF
#!/bin/sh
# OPNsense rc(8) hook was automatically installed:
if [ -f /usr/local/etc/rc ]; then exec /usr/local/etc/rc; fi
if [ -f /etc/rc.opnsense ]; then exec /etc/rc.opnsense; fi
EOF
cat /etc/rc.bak >> /etc/rc
rm -f /etc/rc.bak

View File

@ -51,33 +51,34 @@ ROOT_${TARGET}:=${ROOT_${TARGET}:S/^\/$//}
install-${TARGET}:
.for TREE in ${TREES_${TARGET}}
@REALTARGET=/$$(dirname ${TREE}); \
if [ -z "${ROOT_${TARGET}}" ]; then REALTARGET=; fi; \
mkdir -p ${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}; \
cp -vr ${TREE} ${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}
@(cd ${TREE}; find * -type f ${_IGNORES}) | while read FILE; do \
tar -C ${TREE} -cvf - . | tar -C ${DESTDIR}${ROOT_${TARGET}}$${REALTARGET} -xf -; \
(cd ${TREE}; find * -type f ${_IGNORES}) | while read FILE; do \
if [ "$${FILE%%.in}" != "$${FILE}" ]; then \
sed -i '' ${SED_REPLACE} \
"${DESTDIR}${ROOT_${TARGET}}/${TREE}/$${FILE}"; \
mv -v "${DESTDIR}${ROOT_${TARGET}}/${TREE}/$${FILE}" \
"${DESTDIR}${ROOT_${TARGET}}/${TREE}/$${FILE%%.in}"; \
"${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}/$${FILE}"; \
mv -v "${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}/$${FILE}" \
"${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}/$${FILE%%.in}"; \
fi; \
FILE="$${FILE%%.in}"; \
if [ -n "${NO_SAMPLE}" -a "$${FILE%%.sample}" != "$${FILE}" ]; then \
mv -v "${DESTDIR}${ROOT_${TARGET}}/${TREE}/$${FILE}" \
"${DESTDIR}${ROOT_${TARGET}}/${TREE}/$${FILE%%.sample}"; \
mv -v "${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}/$${FILE}" \
"${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}/$${FILE%%.sample}"; \
fi; \
if [ "$${FILE%%.shadow}" != "$${FILE}" ]; then \
if [ -n "${NO_SAMPLE}" ]; then \
mv -v "${DESTDIR}${ROOT_${TARGET}}/${TREE}/$${FILE}" \
"${DESTDIR}${ROOT_${TARGET}}/${TREE}/$${FILE%%.shadow}"; \
mv -v "${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}/$${FILE}" \
"${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}/$${FILE%%.shadow}"; \
else \
mv "${DESTDIR}${ROOT_${TARGET}}/${TREE}/$${FILE}" \
"${DESTDIR}${ROOT_${TARGET}}/${TREE}/$${FILE%%.shadow}.sample"; \
mv "${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}/$${FILE}" \
"${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}/$${FILE%%.shadow}.sample"; \
fi; \
fi; \
if [ "${TREE}" = "man" ]; then \
gzip -vcn "${DESTDIR}${ROOT_${TARGET}}/${TREE}/$${FILE}" > \
"${DESTDIR}${ROOT_${TARGET}}/${TREE}/$${FILE}.gz"; \
rm "${DESTDIR}${ROOT_${TARGET}}/${TREE}/$${FILE}"; \
gzip -vcn "${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}/$${FILE}" > \
"${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}/$${FILE}.gz"; \
rm "${DESTDIR}${ROOT_${TARGET}}$${REALTARGET}/$${FILE}"; \
fi; \
done
.endfor
@ -101,7 +102,9 @@ plist-${TARGET}:
if [ "${TREE}" == "man" ]; then \
FILE="$${FILE}.gz"; \
fi; \
echo "$${PREFIX}${ROOT_${TARGET}}/${TREE}/$${FILE}"; \
REALTARGET="/${TREE}"; \
if [ -z "${ROOT_${TARGET}}" ]; then REALTARGET=; fi; \
echo "$${PREFIX}${ROOT_${TARGET}}$${REALTARGET}/$${FILE}"; \
done
.endfor

2
plist
View File

@ -1,5 +1,6 @@
/boot/brand-opnsense.4th
/boot/logo-hourglass.4th
/etc/rc.opnsense
/usr/local/etc/devd/carp.conf
/usr/local/etc/devd/ifnet.conf
/usr/local/etc/dh-parameters.2048.rfc7919
@ -75,7 +76,6 @@
/usr/local/etc/pkg/fingerprints/OPNsense/revoked/pkg.opnsense.org.20171219
/usr/local/etc/pkg/fingerprints/OPNsense/trusted/opnsense-update.deciso.com.20180627
/usr/local/etc/pkg/fingerprints/OPNsense/trusted/pkg.opnsense.org.20180614
/usr/local/etc/rc
/usr/local/etc/rc.bootup
/usr/local/etc/rc.configure_firmware
/usr/local/etc/rc.configure_interface

View File

@ -1,7 +1,7 @@
TREES= boot etc man opnsense sbin wizard www
TREES= etc man opnsense root sbin wizard www
ROOT= /usr/local
ROOT_boot= /
ROOT_man= /usr/local/share
ROOT_root= /
EXTRAS= bootstrap
TREES_bootstrap=etc/pkg