diff --git a/+POST_INSTALL b/+POST_INSTALL index a5aafa85a..d75c7fb50 100644 --- a/+POST_INSTALL +++ b/+POST_INSTALL @@ -16,7 +16,7 @@ cp /etc/rc /etc/rc.bak cat > /etc/rc <> /etc/rc rm -f /etc/rc.bak diff --git a/Mk/core.mk b/Mk/core.mk index 1d8e09b69..563001414 100644 --- a/Mk/core.mk +++ b/Mk/core.mk @@ -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 diff --git a/plist b/plist index c921f5b82..425b55cb9 100644 --- a/plist +++ b/plist @@ -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 diff --git a/src/Makefile b/src/Makefile index 79ab6b61c..ce78aa5da 100644 --- a/src/Makefile +++ b/src/Makefile @@ -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 diff --git a/src/boot/brand-opnsense.4th b/src/root/boot/brand-opnsense.4th similarity index 100% rename from src/boot/brand-opnsense.4th rename to src/root/boot/brand-opnsense.4th diff --git a/src/boot/logo-hourglass.4th b/src/root/boot/logo-hourglass.4th similarity index 100% rename from src/boot/logo-hourglass.4th rename to src/root/boot/logo-hourglass.4th diff --git a/src/etc/rc b/src/root/etc/rc.opnsense similarity index 100% rename from src/etc/rc rename to src/root/etc/rc.opnsense