rc: merge rc.installer into opnsense-installer

We have successfully decoupled rc.installer from other components
so now we can merge both utilities.  We use opnsense-installer for
user support, which is easier to invoke and remember.
This commit is contained in:
Franco Fichtner 2018-05-18 19:29:48 +02:00
parent 8844e7260a
commit 9df08987b7
7 changed files with 90 additions and 95 deletions

View File

@ -4,8 +4,8 @@ cp /etc/shells /etc/shells.bak
echo /usr/local/etc/rc.initial) > /etc/shells
rm -f /etc/shells.bak
cp /etc/shells /etc/shells.bak
(grep -v /usr/local/etc/rc.installer /etc/shells.bak; \
echo /usr/local/etc/rc.installer) > /etc/shells
(grep -v /usr/local/sbin/opnsense-installer /etc/shells.bak; \
echo /usr/local/sbin/opnsense-installer) > /etc/shells
rm -f /etc/shells.bak
echo "Registering root shell"

View File

@ -8,7 +8,7 @@ cp /etc/shells /etc/shells.bak
(grep -v /usr/local/etc/rc.initial /etc/shells.bak) > /etc/shells
rm -f /etc/shells.bak
cp /etc/shells /etc/shells.bak
(grep -v /usr/local/etc/rc.installer /etc/shells.bak) > /etc/shells
(grep -v /usr/local/sbin/opnsense-installer /etc/shells.bak) > /etc/shells
rm -f /etc/shells.bak
echo "Unhooking from /etc/rc"

1
plist
View File

@ -108,7 +108,6 @@
/usr/local/etc/rc.initial.restore
/usr/local/etc/rc.initial.setlanip
/usr/local/etc/rc.initial.setports
/usr/local/etc/rc.installer
/usr/local/etc/rc.interfaces_wan_configure
/usr/local/etc/rc.ipfw
/usr/local/etc/rc.ipfw.flush_all

View File

@ -1,87 +0,0 @@
#!/bin/sh
# Copyright (c) 2014-2018 Franco Fichtner <franco@opnsense.org>
# Copyright (c) 2004-2009 Scott Ullrich <sullrich@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
if [ "$(id -u)" != "0" ]; then
echo "Must be root."
exit 1
fi
sysctl kern.geom.debugflags=16 >/dev/null
sysctl net.link.ether.inet.log_arp_wrong_iface=0 >/dev/null
rm -f /tmp/install_complete
daemon -f lua50c51 /usr/local/share/dfuibe_lua/main.lua \
/usr/local/share/dfuibe_lua/conf/BSDInstaller.lua \
/usr/local/share/dfuibe_lua/conf/FreeBSD.lua \
/usr/local/share/dfuibe_lua/conf/Product.lua
conscontrol mute on > /dev/null
dfuife_curses -b /usr/local/share/dfuife_curses/hourglass.txt
conscontrol mute off > /dev/null
if [ ! -f /tmp/install_complete ]; then
echo "The installation was aborted."
echo
exit
fi
clear
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo "The installation finished successfully."
echo
echo "After reboot, open a web browser and navigate to"
echo "https://192.168.1.1 (or the LAN IP address)."
echo
echo "You might need to acknowledge the HTTPS certificate if "
echo "your browser reports it as untrusted. This is normal"
echo "as a self-signed certificate is used by default."
echo
echo -n "Rebooting in 5 seconds. CTRL-C to abort"
for n in 5 4 3 2 1; do
echo -n "."
sleep 1
done
echo
reboot

View File

@ -52,7 +52,7 @@ if (is_install_media()) {
}
if ($root) {
$root['shell'] = '/usr/local/etc/rc.installer';
$root['shell'] = '/usr/local/sbin/opnsense-installer';
$root['name'] = 'installer';
local_user_set($root, true);

View File

@ -117,7 +117,7 @@ $known_shells = array(
'/usr/local/bin/scponly',
'/usr/local/bin/zsh',
'/usr/local/etc/rc.initial',
'/usr/local/etc/rc.installer',
'/usr/local/sbin/opnsense-installer',
);
foreach ($known_shells as $shell) {

View File

@ -1,4 +1,87 @@
#!/bin/sh
# launch the real utility from here
/usr/local/etc/rc.installer "${@}"
# Copyright (c) 2014-2018 Franco Fichtner <franco@opnsense.org>
# Copyright (c) 2004-2009 Scott Ullrich <sullrich@gmail.com>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
# OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
if [ "$(id -u)" != "0" ]; then
echo "Must be root."
exit 1
fi
sysctl kern.geom.debugflags=16 >/dev/null
sysctl net.link.ether.inet.log_arp_wrong_iface=0 >/dev/null
rm -f /tmp/install_complete
daemon -f lua50c51 /usr/local/share/dfuibe_lua/main.lua \
/usr/local/share/dfuibe_lua/conf/BSDInstaller.lua \
/usr/local/share/dfuibe_lua/conf/FreeBSD.lua \
/usr/local/share/dfuibe_lua/conf/Product.lua
conscontrol mute on > /dev/null
dfuife_curses -b /usr/local/share/dfuife_curses/hourglass.txt
conscontrol mute off > /dev/null
if [ ! -f /tmp/install_complete ]; then
echo "The installation was aborted."
echo
exit
fi
clear
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo "The installation finished successfully."
echo
echo "After reboot, open a web browser and navigate to"
echo "https://192.168.1.1 (or the LAN IP address)."
echo
echo "You might need to acknowledge the HTTPS certificate if "
echo "your browser reports it as untrusted. This is normal"
echo "as a self-signed certificate is used by default."
echo
echo -n "Rebooting in 5 seconds. CTRL-C to abort"
for n in 5 4 3 2 1; do
echo -n "."
sleep 1
done
echo
reboot