New installer
Features: +when update, disabled plugins stay disabled +if new install, choice to disable some plugins
This commit is contained in:
66
install.sh
66
install.sh
@@ -1,14 +1,70 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
italic="\033[3m"
|
||||||
|
underline="\033[4m"
|
||||||
|
bold="\033[1m"
|
||||||
|
reset="\033[0m"
|
||||||
|
|
||||||
KYMSU_PATH=`pwd`
|
KYMSU_PATH=`pwd`
|
||||||
|
|
||||||
# Make Kymsu accessible in PATH
|
# Make Kymsu accessible in PATH
|
||||||
|
echo -e "Installing ${bold}kymsu2${reset} in ${bold}/usr/local/bin${reset} ..."
|
||||||
ln -fs "${KYMSU_PATH}"/kymsu2.sh /usr/local/bin/kymsu2
|
ln -fs "${KYMSU_PATH}"/kymsu2.sh /usr/local/bin/kymsu2
|
||||||
|
|
||||||
# Store Kymsu stuff in home directory
|
# Store Kymsu stuff in home directory
|
||||||
mkdir -p ~/.kymsu && echo "${KYMSU_PATH}" > ~/.kymsu/path
|
mkdir -p $HOME/.kymsu && echo "${KYMSU_PATH}" > $HOME/.kymsu/path
|
||||||
cp -R "${KYMSU_PATH}/plugins.d" ~/.kymsu
|
|
||||||
|
|
||||||
echo "altKYMSU has been installed. Run kymsu2 command!"
|
pluginpath=$HOME/.kymsu/plugins.d/
|
||||||
echo "It's a fork from https://github.com/welcoMattic/kymsu"
|
|
||||||
echo "All credits to welcoMattic"
|
if [ ! -d $pluginpath ]; then new_install=true; fi
|
||||||
|
|
||||||
|
# Backup disabled plugins
|
||||||
|
disabled=$(ls $pluginpath | grep ^_ | sed 's/^_//')
|
||||||
|
|
||||||
|
# Delete plugins folder
|
||||||
|
rm -rf $pluginpath
|
||||||
|
|
||||||
|
# Install new plugins
|
||||||
|
echo -e "Copying plugins in ${bold}$pluginpath${reset} ..."
|
||||||
|
cp -R "${KYMSU_PATH}/plugins.d" $HOME/.kymsu
|
||||||
|
|
||||||
|
if [ -n "$disabled" ]; then
|
||||||
|
|
||||||
|
echo -e "Disabling previous disabled plugins ..."
|
||||||
|
# Disable previous disabled plugins
|
||||||
|
for i in $(ls $pluginpath)
|
||||||
|
do
|
||||||
|
[[ $disabled =~ $i ]] && mv "$pluginpath$i" "$pluginpath"_"$i"
|
||||||
|
done
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "\n${bold}altKYMSU${reset} has been installed. Run ${bold}kymsu2${reset} command!"
|
||||||
|
echo -e "It's a fork from ${italic}https://github.com/welcoMattic/kymsu${reset}"
|
||||||
|
echo -e "All credits to ${underline}welcoMattic${reset}\n"
|
||||||
|
|
||||||
|
# If NEW install, we choose to desactivate some plugins
|
||||||
|
if [ "$new_install" = true ]; then
|
||||||
|
read -p "Do you want to activate / deactivate some plugins ? [y/n]" deactivate
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
if [[ "$deactivate" == "y" || "$deactivate" == "Y" ]]; then
|
||||||
|
|
||||||
|
for i in $(ls $pluginpath)
|
||||||
|
do
|
||||||
|
|
||||||
|
if [[ ${i: -3} == ".sh" ]] && [[ ! ${i:0:2} == "00" ]] && [[ ! ${i:0:1} == "_" ]]; then
|
||||||
|
|
||||||
|
a=$(echo -e "Do you want to deactivate ${bold}$i${reset} plugins ? [y/n]")
|
||||||
|
read -p "$a" rep
|
||||||
|
|
||||||
|
if [[ "$rep" == "y" || "$rep" == "Y" ]]; then
|
||||||
|
mv "$pluginpath$i" "$pluginpath"_"$i" && echo -e "${bold}$i${reset} deactivated !"
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
fi
|
||||||
|
fi
|
||||||
69
plugins.d/conda.sh
Executable file
69
plugins.d/conda.sh
Executable file
@@ -0,0 +1,69 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# conda plugin for KYMSU
|
||||||
|
# https://github.com/welcoMattic/kymsu
|
||||||
|
|
||||||
|
# If you'd prefer that conda's base environment not be activated on startup, set the auto_activate_base parameter to false:
|
||||||
|
# conda config --set auto_activate_base false
|
||||||
|
|
||||||
|
# In order to initialize after the installation process is done,
|
||||||
|
# first run source <path to conda>/bin/activate and then run conda init.
|
||||||
|
|
||||||
|
|
||||||
|
# Update conda
|
||||||
|
|
||||||
|
echo -e "\033[1m🦎 conda \033[0m"
|
||||||
|
|
||||||
|
path_to_conda=$(conda config --show | grep 'root_prefix' | awk '{print $2}')
|
||||||
|
|
||||||
|
cd $path_to_conda
|
||||||
|
#conda update conda
|
||||||
|
# conda update -n base -c defaults conda
|
||||||
|
#upd=$(conda update --all)
|
||||||
|
#echo $upd
|
||||||
|
|
||||||
|
#avail_update=$(echo $upd | grep '$ conda update -n base -c defaults conda')
|
||||||
|
#avail_update=$(conda update --all | grep '$ conda update -n base -c defaults conda')
|
||||||
|
#avail_update=$(conda update --all)
|
||||||
|
conda update --all
|
||||||
|
|
||||||
|
|
||||||
|
avail_update="$(conda update --all 2>&1 > /dev/null)"
|
||||||
|
|
||||||
|
|
||||||
|
# Proceed ([y]/n)? n
|
||||||
|
|
||||||
|
echo "---"
|
||||||
|
|
||||||
|
if echo "$avail_update" | grep -q "$ conda update -n base -c defaults conda"
|
||||||
|
then
|
||||||
|
echo "need update"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# If you want to update to a newer version of Anaconda, type:
|
||||||
|
#
|
||||||
|
# $ conda update --prefix /Users/bruno/miniconda3 anaconda
|
||||||
|
|
||||||
|
|
||||||
|
# Initialisation
|
||||||
|
|
||||||
|
# source $HOME/miniconda3/bin/activate
|
||||||
|
# source $path_to_conda/bin/activate
|
||||||
|
# conda init
|
||||||
|
|
||||||
|
|
||||||
|
# Configuration
|
||||||
|
|
||||||
|
#conda config --help
|
||||||
|
#conda config --set auto_update_conda False
|
||||||
|
|
||||||
|
|
||||||
|
# Packages installés dans l'environnement conda
|
||||||
|
|
||||||
|
echo -e "\033[4mInstalled packages in conda environment:\033[0m"
|
||||||
|
echo ""
|
||||||
|
conda list
|
||||||
42
plugins.d/gem.sh
Executable file
42
plugins.d/gem.sh
Executable file
@@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# gem plugin for KYMSU (install local package)
|
||||||
|
# https://github.com/welcoMattic/kymsu
|
||||||
|
# https://guides.rubygems.org/what-is-a-gem/
|
||||||
|
|
||||||
|
# No distract mode
|
||||||
|
no_distract=false
|
||||||
|
|
||||||
|
if [[ $1 == "--nodistract" ]]; then
|
||||||
|
no_distract=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "\033[1m 💍 Gem (Ruby) \033[0m"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
gem_outdated=$(gem outdated --local)
|
||||||
|
upd=$(echo "$gem_outdated" | awk '{print $1}')
|
||||||
|
|
||||||
|
if [ -n "$upd" ]; then
|
||||||
|
nb=$(echo "$upd" | wc -w | xargs)
|
||||||
|
|
||||||
|
echo -e "\\033[1;41m $nb \033[0m \033[4mavailables updates:\033[0m"
|
||||||
|
echo "$gem_outdated"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
for i in $upd
|
||||||
|
do
|
||||||
|
|
||||||
|
if [ "$no_distract" = false ]; then
|
||||||
|
echo "$i" | xargs -n 1 gem info
|
||||||
|
echo "$i" | xargs -p -n 1 gem update
|
||||||
|
echo -e "\n"
|
||||||
|
else
|
||||||
|
echo "$i" | xargs -n 1 gem update
|
||||||
|
echo -e "\n"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo -e "\033[4mNo gem updates.\033[0m"
|
||||||
|
fi
|
||||||
@@ -8,12 +8,17 @@
|
|||||||
|
|
||||||
# npm local install
|
# npm local install
|
||||||
local_path=/Users/bruno/Sites/node_modules/
|
local_path=/Users/bruno/Sites/node_modules/
|
||||||
chemin=$(pwd)
|
# folder contains Brewfile and Installer.md
|
||||||
|
#chemin=$(pwd)
|
||||||
|
chemin=$HOME/Documents/kymsu
|
||||||
#version: pip ou pip3
|
#version: pip ou pip3
|
||||||
pip_version=pip3
|
pip_version=pip3
|
||||||
#
|
#
|
||||||
#########################################
|
#########################################
|
||||||
|
|
||||||
|
#if [ ! -d chemin ]; then mkdir $chemin; fi
|
||||||
|
mkdir -p $chemin
|
||||||
|
|
||||||
now=$(date +"%d-%m-%Y_%T")
|
now=$(date +"%d-%m-%Y_%T")
|
||||||
mac=$(hostname -s)
|
mac=$(hostname -s)
|
||||||
file=$mac"@"$now
|
file=$mac"@"$now
|
||||||
@@ -23,19 +28,19 @@ echo -e "\033[1m🛠 Installed \033[0m"
|
|||||||
|
|
||||||
echo ''
|
echo ''
|
||||||
|
|
||||||
Installed=$(find . -name 'Installed*.md' -maxdepth 1)
|
Installed=$(find $chemin -name 'Installed*.md' -maxdepth 1)
|
||||||
if [ -n "$Installed" ]; then
|
if [ -n "$Installed" ]; then
|
||||||
echo -e "A file \033[93mInstalled*.md\033[0m already exist! We remove it."
|
echo -e "A file \033[93mInstalled*.md\033[0m already exist! We remove it."
|
||||||
a=$(echo "$Installed" | xargs rm)
|
a=$(echo "$Installed" | xargs rm)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ -f Brewfile ]; then
|
if [ -f $chemin/Brewfile ]; then
|
||||||
echo -e "The \033[93mBrewfile\033[0m already exist! We rename it."
|
echo -e "The \033[93mBrewfile\033[0m already exist! We rename it."
|
||||||
find . -name 'Brewfile_*' -maxdepth 1 -print0 | xargs rm
|
find $chemin -name 'Brewfile_*' -maxdepth 1 -print0 | xargs rm
|
||||||
d=$(date -r Brewfile "+%d-%m-%Y_%H:%M:%S")
|
d=$(date -r $chemin/Brewfile "+%d-%m-%Y_%H:%M:%S")
|
||||||
|
|
||||||
mv Brewfile "Brewfile_$mac@$d"
|
mv "$chemin/Brewfile" "$chemin/Brewfile_$mac@$d"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -50,11 +55,11 @@ echo ''
|
|||||||
|
|
||||||
echo '## 🍺 Homebrew'
|
echo '## 🍺 Homebrew'
|
||||||
echo ''
|
echo ''
|
||||||
} >> Installed.md
|
} >> $chemin/Installed.md
|
||||||
|
|
||||||
echo -e "🍺 Get Homebrew \033[3m\033[93mtap\033[0m list"
|
echo -e "🍺 Get Homebrew \033[3m\033[93mtap\033[0m list"
|
||||||
|
|
||||||
echo '### Tap:' >> Installed.md
|
echo '### Tap:' >> $chemin/Installed.md
|
||||||
tap=$(brew tap)
|
tap=$(brew tap)
|
||||||
{
|
{
|
||||||
echo "\`\`\`bash"
|
echo "\`\`\`bash"
|
||||||
@@ -62,49 +67,49 @@ echo "$tap"
|
|||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo ""
|
echo ""
|
||||||
echo ''
|
echo ''
|
||||||
} >> Installed.md
|
} >> $chemin/Installed.md
|
||||||
|
|
||||||
echo -e "🍺 Get Homebrew \033[3m\033[93mpackages\033[0m installed list"
|
echo -e "🍺 Get Homebrew \033[3m\033[93mpackages\033[0m installed list"
|
||||||
|
|
||||||
echo '### Packages:' >> Installed.md
|
echo '### Packages:' >> $chemin/Installed.md
|
||||||
brew=$(brew list)
|
brew=$(brew list --formula)
|
||||||
{
|
{
|
||||||
echo "\`\`\`bash"
|
echo "\`\`\`bash"
|
||||||
echo "$brew"
|
echo "$brew"
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo ""
|
echo ""
|
||||||
echo ''
|
echo ''
|
||||||
} >> Installed.md
|
} >> $chemin/Installed.md
|
||||||
|
|
||||||
echo -e "🍺 Get Homebrew \033[3m\033[93mCask\033[0m installed list"
|
echo -e "🍺 Get Homebrew \033[3m\033[93mCask\033[0m installed list"
|
||||||
|
|
||||||
echo '### Casks:' >> Installed.md
|
echo '### Casks:' >> $chemin/Installed.md
|
||||||
cask=$(brew cask list)
|
cask=$(brew list --cask)
|
||||||
{
|
{
|
||||||
echo "\`\`\`bash"
|
echo "\`\`\`bash"
|
||||||
echo "$cask"
|
echo "$cask"
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo ""
|
echo ""
|
||||||
echo ''
|
echo ''
|
||||||
} >> Installed.md
|
} >> $chemin/Installed.md
|
||||||
|
|
||||||
# liste des apps de l'Appstore installées (nom & numéro)
|
# liste des apps de l'Appstore installées (nom & numéro)
|
||||||
|
|
||||||
echo -e "🍏 Get mas \033[3m\033[93mApp Store applications\033[0m list"
|
echo -e "🍏 Get mas \033[3m\033[93mApp Store applications\033[0m list"
|
||||||
|
|
||||||
echo '## 🍏 mas (Mac App Store)' >> Installed.md
|
echo '## 🍏 mas (Mac App Store)' >> $chemin/Installed.md
|
||||||
echo '' >> Installed.md
|
echo '' >> $chemin/Installed.md
|
||||||
|
|
||||||
appfrommas=$(mas list | sort -k2)
|
appfrommas=$(mas list | sort -k2)
|
||||||
#echo "$appfrommas"
|
#echo "$appfrommas"
|
||||||
#declare -a appstore
|
#declare -a appstore
|
||||||
echo "\`\`\`bash" >> Installed.md
|
echo "\`\`\`bash" >> $chemin/Installed.md
|
||||||
# todo: trier la liste par nom
|
# todo: trier la liste par nom
|
||||||
while read -r line; do
|
while read -r line; do
|
||||||
number=$(echo "$line" | awk '{print $1}')
|
number=$(echo "$line" | awk '{print $1}')
|
||||||
#name=$(echo "$line" | awk -F "(" '{print $1}' | awk {'first = $1; $1=""; print $0'} | sed 's/^ //g')
|
#name=$(echo "$line" | awk -F "(" '{print $1}' | awk {'first = $1; $1=""; print $0'} | sed 's/^ //g')
|
||||||
name=$(echo "$line" | awk -F "(" '{print $1}' | awk '{first = $1; $1=""; print $0}' | sed 's/^ //g')
|
name=$(echo "$line" | awk -F "(" '{print $1}' | awk '{first = $1; $1=""; print $0}' | sed 's/^ //g')
|
||||||
echo "$name ($number)" >> Installed.md
|
echo "$name ($number)" >> $chemin/Installed.md
|
||||||
#echo " " >> Installed.md
|
#echo " " >> Installed.md
|
||||||
#appstore["$name"]="${number}"
|
#appstore["$name"]="${number}"
|
||||||
done <<< "$appfrommas"
|
done <<< "$appfrommas"
|
||||||
@@ -112,14 +117,14 @@ done <<< "$appfrommas"
|
|||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo ""
|
echo ""
|
||||||
echo ''
|
echo ''
|
||||||
} >> Installed.md
|
} >> $chemin/Installed.md
|
||||||
|
|
||||||
# Extensions PHP PECL
|
# Extensions PHP PECL
|
||||||
|
|
||||||
echo -e "🐘 Get PECL \033[3m\033[93mPHP extensions\033[0m list"
|
echo -e "🐘 Get PECL \033[3m\033[93mPHP extensions\033[0m list"
|
||||||
|
|
||||||
echo '## 🐘 PECL extensions' >> Installed.md
|
echo '## 🐘 PECL extensions' >> $chemin/Installed.md
|
||||||
echo '' >> Installed.md
|
echo '' >> $chemin/Installed.md
|
||||||
|
|
||||||
ext_pecl=$(pecl list | sed '1,3d' | awk '{print $1}')
|
ext_pecl=$(pecl list | sed '1,3d' | awk '{print $1}')
|
||||||
{
|
{
|
||||||
@@ -128,13 +133,13 @@ echo "$ext_pecl"
|
|||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo ""
|
echo ""
|
||||||
echo ''
|
echo ''
|
||||||
} >> Installed.md
|
} >> $chemin/Installed.md
|
||||||
|
|
||||||
# Python packages (pip)
|
# Python packages (pip)
|
||||||
|
|
||||||
echo -e "🐍 Get pip \033[3m\033[93mPython 3 packages\033[0m installed list"
|
echo -e "🐍 Get pip \033[3m\033[93mPython 3 packages\033[0m installed list"
|
||||||
echo '## 🐍 Python packages' >> Installed.md
|
echo '## 🐍 Python packages' >> $chemin/Installed.md
|
||||||
echo '' >> Installed.md
|
echo '' >> $chemin/Installed.md
|
||||||
|
|
||||||
pip_packages=$($pip_version list | sed '1,2d' | awk '{print $1}')
|
pip_packages=$($pip_version list | sed '1,2d' | awk '{print $1}')
|
||||||
{
|
{
|
||||||
@@ -143,7 +148,7 @@ echo "$pip_packages"
|
|||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo ""
|
echo ""
|
||||||
echo ''
|
echo ''
|
||||||
} >> Installed.md
|
} >> $chemin/Installed.md
|
||||||
|
|
||||||
# atom
|
# atom
|
||||||
|
|
||||||
@@ -163,7 +168,7 @@ done <<< "$atom"
|
|||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo ""
|
echo ""
|
||||||
echo ''
|
echo ''
|
||||||
} >> Installed.md
|
} >> $chemin/Installed.md
|
||||||
|
|
||||||
# Node.js packages (npm)
|
# Node.js packages (npm)
|
||||||
|
|
||||||
@@ -179,7 +184,7 @@ echo '### Global:'
|
|||||||
echo "\`\`\`bash"
|
echo "\`\`\`bash"
|
||||||
echo "$pkg_global_npm"
|
echo "$pkg_global_npm"
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
} >> Installed.md
|
} >> $chemin/Installed.md
|
||||||
|
|
||||||
if [ -d "$local_path" ]; then
|
if [ -d "$local_path" ]; then
|
||||||
cd "$local_path" || exit
|
cd "$local_path" || exit
|
||||||
@@ -202,7 +207,26 @@ if [ -d "$local_path" ]; then
|
|||||||
cd "$chemin" || exit
|
cd "$chemin" || exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "" >> Installed.md
|
echo "" >> $chemin/Installed.md
|
||||||
|
|
||||||
|
# gem
|
||||||
|
|
||||||
|
echo -e "💍 Get \033[3m\033[93mgem\033[0m installed list"
|
||||||
|
gems=$(gem list --no-versions)
|
||||||
|
{
|
||||||
|
echo '## 💍 Gem packages'
|
||||||
|
echo ''
|
||||||
|
echo "\`\`\`bash"
|
||||||
|
|
||||||
|
while read -r line; do
|
||||||
|
a=$(echo "$line")
|
||||||
|
echo "$a"
|
||||||
|
done <<< "$gems"
|
||||||
|
|
||||||
|
echo "\`\`\`"
|
||||||
|
echo ""
|
||||||
|
echo ''
|
||||||
|
} >> $chemin/Installed.md
|
||||||
|
|
||||||
echo ''
|
echo ''
|
||||||
|
|
||||||
@@ -215,10 +239,12 @@ echo ''
|
|||||||
echo -e "To restore everything listed in that file, run \033[3m\033[93m'$ brew bundle'\033[0m in folder that contains the Brewfile."
|
echo -e "To restore everything listed in that file, run \033[3m\033[93m'$ brew bundle'\033[0m in folder that contains the Brewfile."
|
||||||
echo ''
|
echo ''
|
||||||
|
|
||||||
|
mv Brewfile "$chemin/Brewfile"
|
||||||
|
|
||||||
#iconv -f macroman -t utf-8 Installed.md > Installed-utf8.md
|
#iconv -f macroman -t utf-8 Installed.md > Installed-utf8.md
|
||||||
#mv Installed-utf8.md "$filename".md
|
#mv Installed-utf8.md "$filename".md
|
||||||
#rm Installed.md
|
#rm Installed.md
|
||||||
|
|
||||||
mv Installed.md "$filename".md
|
mv $chemin/Installed.md "$chemin/$filename".md
|
||||||
|
|
||||||
open "$filename".md
|
open "$chemin/$filename".md
|
||||||
72
plugins.d/perl.sh
Executable file
72
plugins.d/perl.sh
Executable file
@@ -0,0 +1,72 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Display info on updated pakages
|
||||||
|
display_info=true
|
||||||
|
|
||||||
|
# Also add module for prevent to update it.
|
||||||
|
declare -a do_not_update=('')
|
||||||
|
|
||||||
|
|
||||||
|
perl_app=$(which perl)
|
||||||
|
perl_v=$(perl -v | sed -n '2p')
|
||||||
|
|
||||||
|
echo -e "\033[4mPerl:\033[0m $perl_app"
|
||||||
|
echo -e "\033[4mVersion:\033[0m $perl_v"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
module="App::cpanoutdate"
|
||||||
|
if ! perl -M$module -e 1 2>/dev/null; then
|
||||||
|
echo -e "\033[4mRequierement:\033[0m module $module is not installed"
|
||||||
|
|
||||||
|
a=$(echo -e "Do you wanna run \033[1mcpan -i "$module"\033[0m ? (y/n)")
|
||||||
|
read -p "$a" choice
|
||||||
|
if [ "$choice" == "y" ]; then
|
||||||
|
#cpan -i $module
|
||||||
|
install_ok=true
|
||||||
|
else
|
||||||
|
echo "Bye"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "$module installed"
|
||||||
|
install_ok=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$install_ok" == "true" ]; then
|
||||||
|
echo "$module installed"
|
||||||
|
|
||||||
|
# install with cpan
|
||||||
|
# % cpan-outdated | xargs cpan -i
|
||||||
|
|
||||||
|
# install with cpanm
|
||||||
|
# % cpan-outdated | cpanm
|
||||||
|
# % cpan-outdated -p | cpanm
|
||||||
|
|
||||||
|
outdated=$(cpan-outdated -p)
|
||||||
|
nb=$(echo $outdated | wc -w)
|
||||||
|
|
||||||
|
a=$(echo -e "Do you wanna update\033[1m "$nb" outdated\033[0m modules ? (y/n)")
|
||||||
|
read -p "$a" choice
|
||||||
|
|
||||||
|
if [ "$choice" == "y" ]; then
|
||||||
|
|
||||||
|
for i in $outdated
|
||||||
|
do
|
||||||
|
FOUND=`echo ${do_not_update[*]} | grep "$i"`
|
||||||
|
if [ "${FOUND}" = "" ]; then
|
||||||
|
echo ""
|
||||||
|
if [ "$display_info" = true ]; then
|
||||||
|
cpan -D "$i"
|
||||||
|
fi
|
||||||
|
echo -e "\033[1m"
|
||||||
|
echo "$i" | awk '{print $1}' | xargs -p -n 1 cpan -i
|
||||||
|
echo -e "\033[0m"
|
||||||
|
#echo ""
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "Bye"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
fi
|
||||||
80
plugins.d/perlbrew.sh
Executable file
80
plugins.d/perlbrew.sh
Executable file
@@ -0,0 +1,80 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
#Display useful information about the perlbrew installation.
|
||||||
|
#If a module is given the version and location of the module is displayed.
|
||||||
|
perlbrew info
|
||||||
|
|
||||||
|
<<COMMENT
|
||||||
|
|
||||||
|
Current perl:
|
||||||
|
Name: perl-5.30.1
|
||||||
|
Path: /Users/bruno/perl5/perlbrew/perls/perl-5.30.1/bin/perl
|
||||||
|
Config: -de -Dprefix=/Users/bruno/perl5/perlbrew/perls/perl-5.30.1 -Aeval:scriptdir=/Users/bruno/perl5/perlbrew/perls/perl-5.30.1/bin
|
||||||
|
Compiled at: Dec 16 2019 08:44:12
|
||||||
|
|
||||||
|
perlbrew:
|
||||||
|
version: 0.87
|
||||||
|
ENV:
|
||||||
|
PERLBREW_ROOT: /Users/bruno/perl5/perlbrew
|
||||||
|
PERLBREW_HOME: /Users/bruno/perl5/perlbrew
|
||||||
|
PERLBREW_PATH: /Users/bruno/perl5/perlbrew/bin:/Users/bruno/perl5/perlbrew/perls/perl-5.30.1/bin
|
||||||
|
PERLBREW_MANPATH: /Users/bruno/perl5/perlbrew/perls/perl-5.30.1/man
|
||||||
|
|
||||||
|
COMMENT
|
||||||
|
|
||||||
|
# List the recently available versions of perl on CPAN.
|
||||||
|
perlbrew available
|
||||||
|
|
||||||
|
|
||||||
|
# Removes all previously downloaded Perl tarballs and build directories.
|
||||||
|
perlbrew clean
|
||||||
|
|
||||||
|
# Show the version of perlbrew.
|
||||||
|
perlbrew version
|
||||||
|
|
||||||
|
<<COMMENT
|
||||||
|
|
||||||
|
# Build and install the given versions of perl.
|
||||||
|
perlbrew install [options] stable
|
||||||
|
perlbrew install [options] blead
|
||||||
|
perlbrew install [options] <version>
|
||||||
|
# https://github.com/perl11/cperl
|
||||||
|
perlbrew install [options] cperl-<version>
|
||||||
|
|
||||||
|
Options for "install" command:
|
||||||
|
|
||||||
|
-f --force Force installation
|
||||||
|
-j $n Parallel building and testing. ex. C<perlbrew install -j 5 perl-5.14.2>
|
||||||
|
-n --notest Skip testing
|
||||||
|
|
||||||
|
--switch Automatically switch to this Perl once successfully
|
||||||
|
installed, as if with `perlbrew switch <version>`
|
||||||
|
|
||||||
|
--as Install the given version of perl by a name.
|
||||||
|
ex. C<perlbrew install perl-5.6.2 --as legacy-perl>
|
||||||
|
|
||||||
|
--noman Skip installation of manpages
|
||||||
|
|
||||||
|
--thread Build perl with usethreads enabled
|
||||||
|
--multi Build perl with usemultiplicity enabled
|
||||||
|
--64int Build perl with use64bitint enabled
|
||||||
|
--64all Build perl with use64bitall enabled
|
||||||
|
--ld Build perl with uselongdouble enabled
|
||||||
|
--debug Build perl with DEBUGGING enabled
|
||||||
|
--clang Build perl using the clang compiler
|
||||||
|
--no-patchperl
|
||||||
|
Skip calling patchperl
|
||||||
|
|
||||||
|
-D,-U,-A Switches passed to perl Configure script.
|
||||||
|
ex. C<perlbrew install perl-5.10.1 -D usemymalloc -U versiononly>
|
||||||
|
|
||||||
|
--destdir $path
|
||||||
|
Install perl as per 'make install DESTDIR=$path'
|
||||||
|
|
||||||
|
--sitecustomize $filename
|
||||||
|
Specify a file to be installed as sitecustomize.pl
|
||||||
|
|
||||||
|
# Uninstalls the given perl installation.
|
||||||
|
perlbrew uninstall <name>
|
||||||
|
|
||||||
|
COMMENT
|
||||||
Reference in New Issue
Block a user