Page MenuHomeFreeBSD

D11841.id31523.diff
No OneTemporary

D11841.id31523.diff

Index: usr.sbin/bsdinstall/scripts/auto
===================================================================
--- usr.sbin/bsdinstall/scripts/auto
+++ usr.sbin/bsdinstall/scripts/auto
@@ -391,6 +391,10 @@
"Would you like to add users to the installed system now?" 0 0 && \
bsdinstall adduser
+dialog --backtitle "FreeBSD Installer" --title "Install Desktop" --yesno \
+ "Would you like to install a desktop environment now?" 0 0 && \
+ bsdinstall pkginstall
+
finalconfig() {
exec 3>&1
REVISIT=$(dialog --backtitle "FreeBSD Installer" \
@@ -399,6 +403,7 @@
"Exit" "Apply configuration and exit installer" \
"Add User" "Add a user to the system" \
"Root Password" "Change root password" \
+ "Desktop" "Install Desktop" \
"Hostname" "Set system hostname" \
"Network" "Networking configuration" \
"Services" "Set daemons to run on startup" \
@@ -414,6 +419,10 @@
;;
"Root Password")
bsdinstall rootpass
+ finalconfig
+ ;;
+ "Desktop")
+ bsdinstall pkginstall
finalconfig
;;
"Hostname")
Index: usr.sbin/bsdinstall/scripts/pkginstall
===================================================================
--- /dev/null
+++ usr.sbin/bsdinstall/scripts/pkginstall
@@ -0,0 +1,171 @@
+#!/bin/sh
+#-
+# Copyright (c) 2016 Allan Jude
+# All rights reserved.
+#
+# 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 BY THE AUTHOR AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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$
+#
+############################################################ INCLUDES
+
+BSDCFG_SHARE="/usr/share/bsdconfig"
+. $BSDCFG_SHARE/common.subr || exit 1
+f_dprintf "%s: loading includes..." "$0"
+f_include $BSDCFG_SHARE/dialog.subr
+f_include $BSDCFG_SHARE/mustberoot.subr
+
+############################################################ CONFIGURATION
+
+#
+# List of languages to display (descriptions pulled from $msg_pkg_{name}_desc)
+#
+: ${PACKAGE_SETS:=\
+ gnome3 kde mate xfce \
+}
+
+############################################################ GLOBALS
+
+#
+# Strings that should be moved to an i18n file and loaded with f_include_lang()
+#
+hline_arrows_space_tab_enter="Use arrows, SPACE, TAB or ENTER"
+msg_cancel="Cancel"
+msg_freebsd_installer="FreeBSD Installer"
+msg_menu_text="This menu allows you to install a graphical environment"
+msg_ok="OK"
+msg_package_installation="FreeBSD Package Installation"
+msg_pkg_gnome3_desc="Gnome3 Desktop Environment"
+msg_pkg_kde_desc="KDE4 Desktop Environment"
+msg_pkg_lumina_desc="Lumina Desktop Environment"
+msg_pkg_mate_desc="MATE Desktop Environment"
+
+############################################################ FUNCTIONS
+
+# dialog_menu_main
+#
+# Display the dialog(1)-based application main menu.
+#
+dialog_menu_main()
+{
+ local title="$DIALOG_TITLE"
+ local btitle="$DIALOG_BACKTITLE"
+ local prompt="$msg_docsinstall_menu_text"
+ local check_list= # Calculated below
+ local hline="$hline_arrows_space_tab_enter"
+
+ local pkg desc status
+ for pkg in $PACKAGE_SETS; do
+ # Fetch the i18n description to display
+ f_getvar msg_pkg_${pkg}_desc desc
+ f_shell_escape "$desc" desc
+
+ case "$pkg" in
+ lumina) status=on ;;
+ *) status=off
+ esac
+
+ check_list="$check_list
+ '$pkg' '$desc' '$status'
+ " # END-QUOTE
+ done
+
+ local height width rows
+ eval f_dialog_checklist_size height width rows \
+ \"\$title\" \
+ \"\$btitle\" \
+ \"\$prompt\" \
+ \"\$hline\" \
+ $check_list
+ local selected
+ selected=$( eval $DIALOG \
+ --title \"\$title\" \
+ --backtitle \"\$btitle\" \
+ --separate-output \
+ --hline \"\$hline\" \
+ --ok-label \"\$msg_ok\" \
+ --cancel-label \"\$msg_cancel\" \
+ --checklist \"\$prompt\" \
+ $height $width $rows \
+ $check_list \
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ f_dialog_menutag_store -s "$selected"
+ return $retval
+}
+
+############################################################ MAIN
+
+#
+# Initialize
+#
+f_dialog_title "$msg_package_installation"
+f_dialog_backtitle "$msg_freebsd_installer"
+f_mustberoot_init
+
+#
+# Launch application main menu
+#
+dialog_menu_main || f_die
+f_dialog_menutag_fetch selected
+
+# Let pkg_add be able to use name servers
+f_quietly cp -f $BSDINSTALL_TMPETC/resolv.conf $BSDINSTALL_CHROOT/etc/
+
+#
+# Install each of the selected packages
+#
+pkgsets=""
+xdm=""
+for pkg in $selected; do
+ pkgsets="$pkgsets $pkg"
+ case "$pkg" in
+ lumina)
+ pkgsets="$pkgsets xorg dbus hal pcbsd-utils-qt5"
+ xdm="pcdm"
+ ;;
+ mate)
+ pkgsets="$pkgsets xorg dbus hal"
+ xdm="gdm"
+ ;;
+ gnome3)
+ pkgsets="$pkgsets xorg dbus hal"
+ xdm="gdm"
+ ;;
+ kde)
+ pkgsets="$pkgsets xorg dbus hal"
+ xdm="kdm4"
+ ;;
+ esac
+done
+
+ASSUME_ALWAYS_YES=YES chroot $BSDINSTALL_CHROOT pkg install $pkgsets
+
+if [ -n "$xdm" ]; then
+ sysrc -f $BSDINSTALL_TMPETC/rc.conf.gui hald_enable="YES"
+ sysrc -f $BSDINSTALL_TMPETC/rc.conf.gui dbus_enable="YES"
+ sysrc -f $BSDINSTALL_TMPETC/rc.conf.gui ${xdm}_enable="YES"
+fi
+################################################################################
+# END
+################################################################################

File Metadata

Mime Type
text/plain
Expires
Wed, Jul 8, 2:12 AM (12 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34824741
Default Alt Text
D11841.id31523.diff (6 KB)

Event Timeline