summaryrefslogtreecommitdiffstats
path: root/usr/sbin/pc-sysinstall/pc-sysinstall/pc-sysinstall.sh
diff options
context:
space:
mode:
Diffstat (limited to 'usr/sbin/pc-sysinstall/pc-sysinstall/pc-sysinstall.sh')
-rw-r--r--usr/sbin/pc-sysinstall/pc-sysinstall/pc-sysinstall.sh224
1 files changed, 224 insertions, 0 deletions
diff --git a/usr/sbin/pc-sysinstall/pc-sysinstall/pc-sysinstall.sh b/usr/sbin/pc-sysinstall/pc-sysinstall/pc-sysinstall.sh
new file mode 100644
index 0000000..8605499
--- /dev/null
+++ b/usr/sbin/pc-sysinstall/pc-sysinstall/pc-sysinstall.sh
@@ -0,0 +1,224 @@
+#!/bin/sh
+#####################################################################
+# Author: Kris Moore
+# License: BSD
+# Description: pc-sysinstall provides a backend for performing
+# system installations, as well as calls which a front-end can use
+# to retrive information about the system
+#####################################################################
+# Copyright 2010 iXsystems
+# All rights reserved
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted providing 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 BY THE AUTHOR ``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.
+#
+# $FreeBSD: src/usr.sbin/pc-sysinstall/pc-sysinstall/pc-sysinstall.sh,v 1.6 2010/07/13 23:47:12 imp Exp $
+#####################################################################
+
+# User-editable configuration variables
+
+# Set this to the program location
+PROGDIR="/usr/share/pc-sysinstall"
+export PROGDIR
+
+# Set this to the components location
+COMPDIR="${PROGDIR}/components"
+export COMPDIR
+
+# Set this to the packages location
+PKGDIR="${PROGDIR}/conf"
+export PKGDIR
+
+# End of user-editable configuration
+#####################################################################
+
+# Set our QUERYDIR
+QUERYDIR="${PROGDIR}/backend-query"
+export QUERYDIR
+
+# Set our BACKEND
+BACKEND="${PROGDIR}/backend"
+export BACKEND
+
+PARTMANAGERDIR="${PROGDIR}/backend-partmanager"
+export PARTMANAGERDIR
+
+# Start by sourcing our conf file
+if [ -e "${PROGDIR}/conf/pc-sysinstall.conf" ]
+then
+ . ${PROGDIR}/conf/pc-sysinstall.conf
+else
+ echo "ERROR: Could not find ${PROGDIR}/conf/pc-sysinstall.conf"
+ exit 1
+fi
+
+# Now source our functions.sh
+if [ -e "${PROGDIR}/backend/functions.sh" ]
+then
+ . ${PROGDIR}/backend/functions.sh
+else
+ echo "ERROR: Could not find ${PROGDIR}/backend/functions.sh"
+ exit 1
+fi
+
+
+# Check if we are called without any flags and display help
+if [ -z "${1}" ]
+then
+ # Display the help index
+ display_help
+ exit 0
+fi
+
+case $1 in
+ # The -c flag has been given, time to parse the script
+ -c) if [ -z "${2}" ]
+ then
+ display_help
+ else
+ ${BACKEND}/parseconfig.sh ${2}
+ exit $?
+ fi
+ ;;
+
+ # The user requsted help
+ help) if [ -z "${2}" ]
+ then
+ display_help
+ else
+ display_command_help ${2}
+ fi
+ ;;
+
+ # Parse an auto-install directive, and begin the installation
+ start-autoinstall) ${BACKEND}/startautoinstall.sh ${2}
+ ;;
+
+ # The user is wanting to create a new partition
+ create-part) ${PARTMANAGERDIR}/create-part.sh "${2}" "${3}"
+ ;;
+
+ # The user is wanting to delete an existing partition
+ delete-part) ${PARTMANAGERDIR}/delete-part.sh "${2}"
+ ;;
+
+ # The user is wanting to check if we are on a laptop or desktop
+ detect-laptop) ${QUERYDIR}/detect-laptop.sh
+ ;;
+
+ # The user is wanting to see what nics are available on the system
+ detect-nics) ${QUERYDIR}/detect-nics.sh
+ ;;
+
+ # The user is wanting to check if we are in emulation
+ detect-emulation) ${QUERYDIR}/detect-emulation.sh
+ ;;
+
+ # The user is wanting to query a disk's information
+ disk-info) ${QUERYDIR}/disk-info.sh ${2}
+ ;;
+
+ # The user is wanting to query which disks are available
+ disk-list) ${QUERYDIR}/disk-list.sh
+ ;;
+
+ # The user is wanting to query a disk's partitions
+ disk-part) ${QUERYDIR}/disk-part.sh ${2}
+ ;;
+
+ # Function allows the setting of networking by a calling front-end
+ enable-net) ${QUERYDIR}/enable-net.sh "${2}" "${3}" "${4}" "${5}" "${6}" "${7}"
+ ;;
+
+ # Function which lists components available
+ list-components) ${QUERYDIR}/list-components.sh
+ ;;
+
+ # Function which lists pc-sysinstall configuration
+ list-config) ${QUERYDIR}/list-config.sh
+ ;;
+
+ # Function which lists available FTP mirrors
+ list-mirrors) ${QUERYDIR}/list-mirrors.sh "${2}"
+ ;;
+
+ # Function which lists available packages
+ list-packages) ${QUERYDIR}/list-packages.sh "${2}" "${3}"
+ ;;
+
+ # Function which lists available backups on a rsync/ssh server
+ list-rsync-backups) ${QUERYDIR}/list-rsync-backups.sh "${2}" "${3}" "${4}"
+ ;;
+
+ # Function which lists timezones available
+ list-tzones) ${QUERYDIR}/list-tzones.sh
+ ;;
+
+ # Requested a list of languages this install will support
+ query-langs) ${QUERYDIR}/query-langs.sh
+ ;;
+
+ # Function which creates a error report, and mails it to the specified address
+ send-logs) ${QUERYDIR}/send-logs.sh ${2}
+ ;;
+
+ # Function to get package index
+ get-packages) ${QUERYDIR}/get-packages.sh "${2}"
+ ;;
+
+ # Function which allows setting up of SSH keys
+ setup-ssh-keys) ${QUERYDIR}/setup-ssh-keys.sh "${2}" "${3}" "${4}"
+ ;;
+
+ # Function which lists the real memory of the system in MB
+ sys-mem) ${QUERYDIR}/sys-mem.sh
+ ;;
+
+ # Run script which determines if we are booted from install media, or on disk
+ test-live) ${QUERYDIR}/test-live.sh
+ ;;
+
+ # The user is wanting to test if the network is up and working
+ test-netup) ${QUERYDIR}/test-netup.sh
+ ;;
+
+ # The user is wanting to get a list of partitions available to be updated / repaired
+ update-part-list) ${QUERYDIR}/update-part-list.sh
+ ;;
+
+ # Requested a list of keyboard layouts that xorg supports
+ xkeyboard-layouts) ${QUERYDIR}/xkeyboard-layouts.sh
+ ;;
+
+ # Requested a list of keyboard models that xorg supports
+ xkeyboard-models) ${QUERYDIR}/xkeyboard-models.sh
+ ;;
+
+ # Requested a list of keyboard variants that xorg supports
+ xkeyboard-variants) ${QUERYDIR}/xkeyboard-variants.sh
+ ;;
+
+ *) echo "Unknown Command: ${1}"
+ exit 1 ;;
+esac
+
+# Exit with success if we made it to the end
+exit $?
OpenPOWER on IntegriCloud