mirror of
https://gitlab.manjaro.org/applications/manjaro-architect
synced 2024-11-06 03:20:36 +00:00
555 lines
20 KiB
Bash
555 lines
20 KiB
Bash
install_de_wm() {
|
|
# Only show this information box once
|
|
if [[ $SHOW_ONCE -eq 0 ]]; then
|
|
DIALOG " $_InstDETitle " --msgbox "$_DEInfoBody" 0 0
|
|
SHOW_ONCE=1
|
|
fi
|
|
|
|
# DE/WM Menu
|
|
DIALOG " $_InstDETitle " --checklist "$_InstDEBody $_UseSpaceBar" 0 0 12 \
|
|
"budgie-desktop" "-" off \
|
|
"cinnamon" "-" off \
|
|
"deepin" "-" off \
|
|
"deepin-extra" "-" off \
|
|
"enlightenment + terminology" "-" off \
|
|
"gnome-shell" "-" off \
|
|
"gnome" "-" off \
|
|
"gnome-extra" "-" off \
|
|
"plasma-desktop" "-" off \
|
|
"plasma" "-" off \
|
|
"kde-applications" "-" off \
|
|
"lxde" "-" off \
|
|
"lxqt + oxygen-icons" "-" off \
|
|
"mate" "-" off \
|
|
"mate-extra" "-" off \
|
|
"mate-gtk3" "-" off \
|
|
"mate-extra-gtk3" "-" off \
|
|
"xfce4" "-" off \
|
|
"xfce4-goodies" "-" off \
|
|
"awesome + vicious" "-" off \
|
|
"fluxbox + fbnews" "-" off \
|
|
"i3-wm + i3lock + i3status" "-" off \
|
|
"icewm + icewm-themes" "-" off \
|
|
"openbox + openbox-themes" "-" off \
|
|
"pekwm + pekwm-themes" "-" off \
|
|
"windowmaker" "-" off 2>${PACKAGES}
|
|
|
|
# If something has been selected, install
|
|
if [[ $(cat ${PACKAGES}) != "" ]]; then
|
|
clear
|
|
sed -i 's/+\|\"//g' ${PACKAGES}
|
|
basestrap ${MOUNTPOINT} $(cat ${PACKAGES}) 2>/tmp/.errlog
|
|
check_for_error
|
|
|
|
# Clear the packages file for installation of "common" packages
|
|
echo "" > ${PACKAGES}
|
|
|
|
# Offer to install various "common" packages.
|
|
DIALOG " $_InstComTitle " --checklist "$_InstComBody $_UseSpaceBar" 0 50 14 \
|
|
"bash-completion" "-" on \
|
|
"gamin" "-" on \
|
|
"gksu" "-" on \
|
|
"gnome-icon-theme" "-" on \
|
|
"gnome-keyring" "-" on \
|
|
"gvfs" "-" on \
|
|
"gvfs-afc" "-" on \
|
|
"gvfs-smb" "-" on \
|
|
"polkit" "-" on \
|
|
"poppler" "-" on \
|
|
"python2-xdg" "-" on \
|
|
"ntfs-3g" "-" on \
|
|
"ttf-dejavu" "-" on \
|
|
"xdg-user-dirs" "-" on \
|
|
"xdg-utils" "-" on \
|
|
"xterm" "-" on 2>${PACKAGES}
|
|
|
|
# If at least one package, install.
|
|
if [[ $(cat ${PACKAGES}) != "" ]]; then
|
|
clear
|
|
basestrap ${MOUNTPOINT} $(cat ${PACKAGES}) 2>/tmp/.errlog
|
|
check_for_error
|
|
fi
|
|
fi
|
|
}
|
|
|
|
install_manjaro_de_wm() {
|
|
# Clear packages after installing base
|
|
echo "" > /tmp/.desktop
|
|
|
|
# DE/WM Menu
|
|
DIALOG " $_InstDETitle " --radiolist "$_InstDEBody $_UseSpaceBar" 0 0 12 \
|
|
$(echo $PROFILES/{manjaro,community}/* | xargs -n1 | cut -f7 -d/ | grep -v "netinstall" |awk '$0=$0" - off"') 2> /tmp/.desktop
|
|
|
|
# If something has been selected, install
|
|
if [[ $(cat /tmp/.desktop) != "" ]]; then
|
|
clear
|
|
# Source the iso-profile
|
|
profile=$(echo $PROFILES/*/$(cat /tmp/.desktop)/profile.conf)
|
|
. $profile
|
|
overlay=$(echo $PROFILES/*/$(cat /tmp/.desktop)/desktop-overlay/)
|
|
echo $displaymanager > /tmp/.display-manager
|
|
target_desktop=$(echo $PROFILES/*/$(cat /tmp/.desktop)/Packages-Desktop)
|
|
|
|
# Parse package list based on user input and remove parts that don't belong to pacman
|
|
cat $PROFILES/shared/Packages-Root "$target_desktop" > /tmp/.edition
|
|
if [[ -e /tmp/.openrc ]]; then
|
|
# Remove any packages tagged with >systemd and remove >openrc tags
|
|
sed -i '/>systemd/d' /tmp/.edition
|
|
sed -i 's/>openrc //g' /tmp/.edition
|
|
else
|
|
# Remove any packages tagged with >openrc and remove >systemd tags
|
|
sed -i '/>openrc/d' /tmp/.edition
|
|
sed -i 's/>systemd //g' /tmp/.edition
|
|
fi
|
|
|
|
if [[ "$(uname -m)" == "x86_64" ]]; then
|
|
# Remove any packages tagged with >i686 and remove >x86_64 tags
|
|
sed -i '/>i686/d' /tmp/.edition
|
|
sed -i '/>nonfree_i686/d' /tmp/.edition
|
|
sed -i 's/>x86_64 //g' /tmp/.edition
|
|
else
|
|
# Remove any packages tagged with >x86_64 and remove >i686 tags
|
|
sed -i '/>x86_64/d' /tmp/.edition
|
|
sed -i '/>nonfree_x86_64/d' /tmp/.edition
|
|
sed -i 's/>i686 //g' /tmp/.edition
|
|
fi
|
|
|
|
# If multilib repo is enabled, install multilib packages
|
|
if grep -q "^[multilib]" ${MOUNTPOINT}/etc/pacman.conf ; then
|
|
# Remove >multilib tags
|
|
sed -i 's/>multilib //g' /tmp/.edition
|
|
sed -i 's/>nonfree_multilib //g' /tmp/.edition
|
|
else
|
|
# Remove lines with >multilib tag
|
|
sed -i '/>multilib/d' /tmp/.edition
|
|
sed -i '/>nonfree_multilib/d' /tmp/.edition
|
|
fi
|
|
|
|
if grep -q ">extra" /tmp/.edition;then
|
|
# User to select base|extra profile
|
|
DIALOG "$_ExtraTitle" --menu "$_ExtraBody" 0 0 2 \
|
|
"1" "full" \
|
|
"2" "minimal" 2>/tmp/.version
|
|
|
|
if [[ $(cat /tmp/.version) -eq 2 ]]; then
|
|
touch /tmp/.minimal
|
|
else
|
|
[[ -e /tmp/.minimal ]] && rm /tmp/.minimal
|
|
fi
|
|
fi
|
|
|
|
if [[ -e /tmp/.minimal ]]; then
|
|
# Remove >extra tags
|
|
sed -i 's/>basic //g' /tmp/.edition
|
|
sed -i '/>extra/d' /tmp/.edition
|
|
else
|
|
# Remove >basic tags
|
|
sed -i 's/>extra //g' /tmp/.edition
|
|
sed -i '/>basic/d' /tmp/.edition
|
|
fi
|
|
# remove >manjaro flags and >sonar flags+pkgs until we support it properly
|
|
sed -i '/>sonar/d' /tmp/.edition
|
|
sed -i 's/>manjaro //g' /tmp/.edition
|
|
# Remove commented lines
|
|
# remove everything except the first word of every lines
|
|
sed -i 's/\s.*$//' /tmp/.edition
|
|
# Remove lines with #
|
|
sed -i '/#/d' /tmp/.edition
|
|
# remove KERNEL variable
|
|
sed -i '/KERNEL/d' /tmp/.edition
|
|
# Remove empty lines
|
|
sed -i '/^\s*$/d' /tmp/.edition
|
|
|
|
# Remove base-devel and base packages. Base is already installed and base-devel should be decided by the user
|
|
# pacman -Sgq base-devel base openrc-base > /tmp/.notincluded
|
|
# grep -v -f /tmp/.notincluded /tmp/.edition | grep -v "base-devel" > /tmp/.tmp
|
|
# mv /tmp/.tmp /tmp/.edition
|
|
# Remove packages that have been dropped from repos
|
|
pacman -Ssq > /tmp/.available_packages
|
|
grep -f /tmp/.available_packages /tmp/.edition > /tmp/.tmp
|
|
mv /tmp/.tmp /tmp/.edition
|
|
# remove zsh
|
|
sed -i '/^zsh$/d' /tmp/.edition
|
|
# basestrap the parsed package list to the new root
|
|
basestrap -i ${MOUNTPOINT} $(cat /tmp/.edition /usr/share/aif/package-lists/input-drivers | sort | uniq)
|
|
|
|
# copy the profile overlay to the new root
|
|
echo "Copying overlay files to the new root"
|
|
cp -r "$overlay"* ${MOUNTPOINT} 2>/tmp/.errlog
|
|
check_for_error
|
|
|
|
# Enable services in the chosen profile
|
|
echo "Enabling services"
|
|
if [[ -e /tmp/.openrc ]]; then
|
|
eval $(grep -e "enable_openrc=" $profile | sed 's/# //g')
|
|
echo "${enable_openrc[@]}" | xargs -n1 > /tmp/.services
|
|
echo /mnt/etc/init.d/* | xargs -n1 | cut -d/ -f5 > /tmp/.available_services
|
|
grep -f /tmp/.available_services /tmp/.services > /tmp/.fix && mv /tmp/.fix /tmp/.services
|
|
for service in $(cat /tmp/.services) ; do
|
|
arch_chroot "rc-update add $service default"
|
|
done
|
|
|
|
# enable display manager for openrc
|
|
if [[ "$(cat /tmp/.display-manager)" == sddm ]]; then
|
|
sed -i "s/$(grep "DISPLAYMANAGER=" /mnt/etc/conf.d/xdm)/DISPLAYMANAGER=\"sddm\"/g" /mnt/etc/conf.d/xdm
|
|
arch_chroot "rc-update add xdm default || true" 2>/tmp/.errlog
|
|
check_for_error
|
|
set_sddm_ck
|
|
elif [[ "$(cat /tmp/.display-manager)" == lightdm ]]; then
|
|
set_lightdm_greeter
|
|
sed -i "s/$(grep "DISPLAYMANAGER=" /mnt/etc/conf.d/xdm)/DISPLAYMANAGER=\"lightdm\"/g" /mnt/etc/conf.d/xdm
|
|
arch_chroot "rc-update add xdm default" 2>/tmp/.errlog
|
|
check_for_error
|
|
else
|
|
echo "no display manager was installed"
|
|
sleep 2
|
|
fi
|
|
else
|
|
eval $(grep -e "enable_systemd=" $profile | sed 's/# //g')
|
|
echo "${enable_systemd[@]}" | xargs -n1 > /tmp/.services
|
|
echo /mnt/usr/lib/systemd/system/* | xargs -n1 | cut -d/ -f7 | sed 's/.service//g' > /tmp/.available_services
|
|
grep -f /tmp/.available_services /tmp/.services > /tmp/.fix && mv /tmp/.fix /tmp/.services
|
|
arch_chroot "systemctl enable $(cat /tmp/.services)"
|
|
arch_chroot "systemctl disable pacman-init"
|
|
# enable display manager for systemd
|
|
if [[ "$(cat /tmp/.display-manager)" == lightdm ]]; then
|
|
set_lightdm_greeter
|
|
arch_chroot "systemctl enable lightdm" 2>/tmp/.errlog
|
|
check_for_error
|
|
elif [[ "$(cat /tmp/.display-manager)" == sddm ]]; then
|
|
arch_chroot "systemctl enable sddm" 2>/tmp/.errlog
|
|
check_for_error
|
|
elif [[ "$(cat /tmp/.display-manager)" == gdm ]]; then
|
|
arch_chroot "systemctl enable gdm" 2>/tmp/.errlog
|
|
check_for_error
|
|
else
|
|
echo "no display manager was installed"
|
|
sleep 2
|
|
fi
|
|
fi
|
|
|
|
# Stop for a moment so user can see if there were errors
|
|
echo "press Enter to continue"
|
|
read
|
|
# Clear the packages file for installation of "common" packages
|
|
echo ""
|
|
echo ""
|
|
echo ""
|
|
echo "" > ${PACKAGES}
|
|
|
|
# Offer to install various "common" packages.
|
|
|
|
DIALOG " $_InstComTitle " --checklist "$_InstComBody $_UseSpaceBar" 0 50 20 \
|
|
"manjaro-settings-manager" "-" off \
|
|
"pamac" "-" off \
|
|
"octopi" "-" off \
|
|
"pacli" "-" off \
|
|
"pacui" "-" off \
|
|
"fish" "-" off \
|
|
"fisherman" "-" off \
|
|
"zsh" "-" on \
|
|
"zsh-completions" "-" on \
|
|
"manjaro-zsh-config" "-" on \
|
|
"grml-zsh-config" "-" off \
|
|
"mhwd-chroot" "-" off \
|
|
"bmenu" "-" on \
|
|
"clonezilla" "-" off \
|
|
"snapper" "-" off \
|
|
"snap-pac" "-" off \
|
|
"manjaro-tools-iso" "-" off \
|
|
"manjaro-tools-base" "-" off \
|
|
"manjaro-tools-pkg" "-" off 2>${PACKAGES}
|
|
|
|
# If at least one package, install.
|
|
if [[ $(cat ${PACKAGES}) != "" ]]; then
|
|
clear
|
|
basestrap -i ${MOUNTPOINT} $(cat ${PACKAGES}) 2>/tmp/.errlog
|
|
check_for_error
|
|
fi
|
|
fi
|
|
}
|
|
|
|
install_manjaro_de_wm_pkg() {
|
|
PROFILES="/usr/share/manjaro-tools/iso-profiles"
|
|
# Only show this information box once
|
|
if [[ $SHOW_ONCE -eq 0 ]]; then
|
|
DIALOG " $_InstDETitle " --msgbox "$_InstPBody" 0 0
|
|
SHOW_ONCE=1
|
|
fi
|
|
clear
|
|
# install iso-profiles pkgs as needed
|
|
local pkgs=(manjaro-iso-profiles-{base,official,community})
|
|
|
|
for p in ${pkgs[@]}; do
|
|
inst_needed $p
|
|
done
|
|
|
|
install_manjaro_de_wm
|
|
}
|
|
|
|
install_manjaro_de_wm_git() {
|
|
PROFILES="$DATADIR/profiles"
|
|
# Only show this information box once
|
|
if [[ $SHOW_ONCE -eq 0 ]]; then
|
|
DIALOG " $_InstDETitle " --msgbox "$_InstPBody" 0 0
|
|
SHOW_ONCE=1
|
|
fi
|
|
clear
|
|
# install git if not already installed
|
|
inst_needed git
|
|
# download manjaro-tools.-isoprofiles git repo
|
|
if [[ -f $PROFILES ]]; then
|
|
git -C $PROFILES pull
|
|
else
|
|
git clone --depth 1 https://github.com/manjaro/iso-profiles.git $PROFILES
|
|
fi
|
|
|
|
install_manjaro_de_wm
|
|
}
|
|
|
|
# Display Manager
|
|
install_dm() {
|
|
# Save repetition of code
|
|
enable_dm() {
|
|
if [[ -e /tmp/.openrc ]]; then
|
|
sed -i "s/$(grep "DISPLAYMANAGER=" /mnt/etc/conf.d/xdm)/DISPLAYMANAGER=\"$(cat ${PACKAGES})\"/g" /mnt/etc/conf.d/xdm
|
|
arch_chroot "rc-update add xdm default" 2>/tmp/.errlog
|
|
check_for_error
|
|
DM=$(cat ${PACKAGES})
|
|
DM_ENABLED=1
|
|
else
|
|
# enable display manager for systemd
|
|
arch_chroot "systemctl enable $(cat ${PACKAGES})" 2>/tmp/.errlog
|
|
check_for_error
|
|
DM=$(cat ${PACKAGES})
|
|
DM_ENABLED=1
|
|
fi
|
|
}
|
|
|
|
if [[ $DM_ENABLED -eq 0 ]]; then
|
|
# Prep variables
|
|
echo "" > ${PACKAGES}
|
|
dm_list="gdm lxdm lightdm sddm"
|
|
DM_LIST=""
|
|
DM_INST=""
|
|
|
|
# Generate list of DMs installed with DEs, and a list for selection menu
|
|
for i in ${dm_list}; do
|
|
[[ -e ${MOUNTPOINT}/usr/bin/${i} ]] && DM_INST="${DM_INST} ${i}"
|
|
DM_LIST="${DM_LIST} ${i} -"
|
|
done
|
|
|
|
DIALOG " $_DmChTitle " --menu "$_AlreadyInst$DM_INST\n\n$_DmChBody" 0 0 4 \
|
|
${DM_LIST} 2>${PACKAGES}
|
|
clear
|
|
|
|
# If a selection has been made, act
|
|
if [[ $(cat ${PACKAGES}) != "" ]]; then
|
|
# check if selected dm already installed. If so, enable and break loop.
|
|
for i in ${DM_INST}; do
|
|
if [[ $(cat ${PACKAGES}) == ${i} ]]; then
|
|
enable_dm
|
|
break;
|
|
fi
|
|
done
|
|
|
|
# If no match found, install and enable DM
|
|
if [[ $DM_ENABLED -eq 0 ]]; then
|
|
# Where lightdm selected, add gtk greeter package
|
|
sed -i 's/lightdm/lightdm lightdm-gtk-greeter/' ${PACKAGES}
|
|
basestrap ${MOUNTPOINT} $(cat ${PACKAGES}) 2>/tmp/.errlog
|
|
|
|
# Where lightdm selected, now remove the greeter package
|
|
sed -i 's/lightdm-gtk-greeter//' ${PACKAGES}
|
|
enable_dm
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Show after successfully installing or where attempting to repeat when already completed.
|
|
[[ $DM_ENABLED -eq 1 ]] && DIALOG " $_DmChTitle " --msgbox "$_DmDoneBody" 0 0
|
|
}
|
|
|
|
set_lightdm_greeter() {
|
|
local greeters=$(ls /mnt/usr/share/xgreeters/*greeter.desktop) name
|
|
for g in ${greeters[@]}; do
|
|
name=${g##*/}
|
|
name=${name%%.*}
|
|
case ${name} in
|
|
lightdm-gtk-greeter)
|
|
break
|
|
;;
|
|
lightdm-*-greeter)
|
|
sed -i -e "s/^.*greeter-session=.*/greeter-session=${name}/" /mnt/etc/lightdm/lightdm.conf
|
|
;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
set_sddm_ck() {
|
|
local halt='/usr/bin/shutdown -h -P now' \
|
|
reboot='/usr/bin/shutdown -r now'
|
|
sed -e "s|^.*HaltCommand=.*|HaltCommand=${halt}|" \
|
|
-e "s|^.*RebootCommand=.*|RebootCommand=${reboot}|" \
|
|
-e "s|^.*MinimumVT=.*|MinimumVT=7|" \
|
|
-i "/mnt/etc/sddm.conf"
|
|
arch_chroot "gpasswd -a sddm video &> /dev/null"
|
|
}
|
|
|
|
# Network Manager
|
|
install_nm() {
|
|
# Save repetition of code
|
|
enable_nm() {
|
|
# Add openrc support. If openrcbase was installed, the file /tmp/.openrc should exist.
|
|
if [[ $(cat ${PACKAGES}) == "NetworkManager" ]]; then
|
|
arch_chroot "systemctl enable NetworkManager.service && systemctl enable NetworkManager-dispatcher.service" >/tmp/.symlink 2>/tmp/.errlog
|
|
else
|
|
arch_chroot "systemctl enable $(cat ${PACKAGES})" 2>/tmp/.errlog
|
|
fi
|
|
|
|
check_for_error
|
|
NM_ENABLED=1
|
|
}
|
|
|
|
if [[ $NM_ENABLED -eq 0 ]]; then
|
|
# Prep variables
|
|
echo "" > ${PACKAGES}
|
|
nm_list="connman CLI dhcpcd CLI netctl CLI NetworkManager GUI wicd GUI"
|
|
NM_LIST=""
|
|
NM_INST=""
|
|
|
|
# Generate list of DMs installed with DEs, and a list for selection menu
|
|
for i in ${nm_list}; do
|
|
[[ -e ${MOUNTPOINT}/usr/bin/${i} ]] && NM_INST="${NM_INST} ${i}"
|
|
NM_LIST="${NM_LIST} ${i}"
|
|
done
|
|
|
|
# Remove netctl from selectable list as it is a PITA to configure via arch_chroot
|
|
NM_LIST=$(echo $NM_LIST | sed "s/netctl CLI//")
|
|
|
|
DIALOG " $_InstNMTitle " --menu "$_AlreadyInst $NM_INST\n$_InstNMBody" 0 0 4 \
|
|
${NM_LIST} 2> ${PACKAGES}
|
|
clear
|
|
|
|
# If a selection has been made, act
|
|
if [[ $(cat ${PACKAGES}) != "" ]]; then
|
|
# check if selected nm already installed. If so, enable and break loop.
|
|
for i in ${NM_INST}; do
|
|
[[ $(cat ${PACKAGES}) == ${i} ]] && enable_nm && break
|
|
done
|
|
|
|
# If no match found, install and enable NM
|
|
if [[ $NM_ENABLED -eq 0 ]]; then
|
|
# Where networkmanager selected, add network-manager-applet
|
|
sed -i 's/NetworkManager/networkmanager network-manager-applet/g' ${PACKAGES}
|
|
basestrap ${MOUNTPOINT} $(cat ${PACKAGES}) 2>/tmp/.errlog
|
|
|
|
# Where networkmanager selected, now remove network-manager-applet
|
|
sed -i 's/networkmanager network-manager-applet/NetworkManager/g' ${PACKAGES}
|
|
enable_nm
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Show after successfully installing or where attempting to repeat when already completed.
|
|
[[ $NM_ENABLED -eq 1 ]] && DIALOG " $_InstNMTitle " --msgbox "$_InstNMErrBody" 0 0
|
|
}
|
|
|
|
install_multimedia_menu() {
|
|
local PARENT="$FUNCNAME"
|
|
|
|
install_alsa_pulse() {
|
|
# Prep Variables
|
|
echo "" > ${PACKAGES}
|
|
ALSA=""
|
|
PULSE_EXTRA=""
|
|
alsa=$(pacman -Ss alsa | awk '{print $1}' | grep "/alsa-" | sed "s/extra\///g" | sort -u)
|
|
pulse_extra=$(pacman -Ss pulseaudio- | awk '{print $1}' | sed "s/extra\///g" | grep "pulseaudio-" | sort -u)
|
|
|
|
for i in ${alsa}; do
|
|
ALSA="${ALSA} ${i} - off"
|
|
done
|
|
|
|
ALSA=$(echo $ALSA | sed "s/alsa-utils - off/alsa-utils - on/g" | sed "s/alsa-plugins - off/alsa-plugins - on/g")
|
|
|
|
for i in ${pulse_extra}; do
|
|
PULSE_EXTRA="${PULSE_EXTRA} ${i} - off"
|
|
done
|
|
|
|
DIALOG " $_InstMulSnd " --checklist "$_InstMulSndBody\n\n$_UseSpaceBar" 0 0 6 \
|
|
$ALSA "pulseaudio" "-" off $PULSE_EXTRA \
|
|
"paprefs" "pulseaudio GUI" off \
|
|
"pavucontrol" "pulseaudio GUI" off \
|
|
"ponymix" "pulseaudio CLI" off \
|
|
"volumeicon" "ALSA GUI" off \
|
|
"volwheel" "ASLA GUI" off 2>${PACKAGES}
|
|
|
|
clear
|
|
# If at least one package, install.
|
|
if [[ $(cat ${PACKAGES}) != "" ]]; then
|
|
basestrap ${MOUNTPOINT} $(cat ${PACKAGES}) 2>/tmp/.errlog
|
|
check_for_error
|
|
fi
|
|
}
|
|
|
|
install_codecs() {
|
|
# Prep Variables
|
|
echo "" > ${PACKAGES}
|
|
GSTREAMER=""
|
|
gstreamer=$(pacman -Ss gstreamer | awk '{print $1}' | grep "/gstreamer" | sed "s/extra\///g" | sed "s/community\///g" | sort -u)
|
|
echo $gstreamer
|
|
for i in ${gstreamer}; do
|
|
GSTREAMER="${GSTREAMER} ${i} - off"
|
|
done
|
|
|
|
DIALOG " $_InstMulCodec " --checklist "$_InstMulCodBody$_UseSpaceBar" 0 0 14 \
|
|
$GSTREAMER "xine-lib" "-" off 2>${PACKAGES}
|
|
|
|
# If at least one package, install.
|
|
if [[ $(cat ${PACKAGES}) != "" ]]; then
|
|
basestrap ${MOUNTPOINT} $(cat ${PACKAGES}) 2>/tmp/.errlog
|
|
check_for_error
|
|
fi
|
|
}
|
|
|
|
install_cust_pkgs() {
|
|
echo "" > ${PACKAGES}
|
|
DIALOG " $_InstMulCust " --inputbox "$_InstMulCustBody" 0 0 "" 2>${PACKAGES} || install_multimedia_menu
|
|
|
|
clear
|
|
# If at least one package, install.
|
|
if [[ $(cat ${PACKAGES}) != "" ]]; then
|
|
if [[ $(cat ${PACKAGES}) == "hen poem" ]]; then
|
|
DIALOG " \"My Sweet Buckies\" by Atiya & Carl " --msgbox "\nMy Sweet Buckies,\nYou are the sweetest Buckies that ever did \"buck\",\nLily, Rosie, Trumpet, and Flute,\nMy love for you all is absolute!\n\nThey buck: \"We love our treats, we are the Booyakka sisters,\"\n\"Sometimes we squabble and give each other comb-twisters,\"\n\"And in our garden we love to sunbathe, forage, hop and jump,\"\n\"We love our freedom far, far away from that factory farm dump,\"\n\n\"For so long we were trapped in cramped prisons full of disease,\"\n\"No sunlight, no fresh air, no one who cared for even our basic needs,\"\n\"We suffered in fear, pain, and misery for such a long time,\"\n\"But now we are so happy, we wanted to tell you in this rhyme!\"\n\n" 0 0
|
|
else
|
|
basestrap ${MOUNTPOINT} $(cat ${PACKAGES}) 2>/tmp/.errlog
|
|
check_for_error
|
|
fi
|
|
fi
|
|
}
|
|
|
|
submenu 5
|
|
DIALOG "$_InstMultMenuBody" --default-item ${HIGHLIGHT_SUB} " $_InstMultMenuTitle " --menu 0 0 5 \
|
|
"1" "$_InstMulSnd" \
|
|
"2" "$_InstMulCodec" \
|
|
"3" "$_InstMulAcc" \
|
|
"4" "$_InstMulCust" \
|
|
"5" "$_Back" 2>${ANSWER}
|
|
|
|
HIGHLIGHT_SUB=$(cat ${ANSWER})
|
|
case $(cat ${ANSWER}) in
|
|
"1") install_alsa_pulse
|
|
;;
|
|
"2") install_codecs
|
|
;;
|
|
"3") install_acc_menu
|
|
;;
|
|
"4") install_cust_pkgs
|
|
;;
|
|
*) main_menu_online
|
|
;;
|
|
esac
|
|
|
|
install_multimedia_menu
|
|
}
|