mirror of https://framagit.org/kyodev/kyopages.git
0.10.0
This commit is contained in:
parent
350571ff7b
commit
f850f10a5f
155
scripts/getInfo
155
scripts/getInfo
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
version=0.9.5
|
||||
version=0.10.0b1
|
||||
date="07/08/2017"
|
||||
projet="simpledeb"
|
||||
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues"
|
||||
|
@ -115,51 +115,36 @@ f__wget_test(){
|
|||
f__error "Erreur wget" " réessayer et si persistance, contacter $projet $contact" " en indiquant les messages précédents."
|
||||
}
|
||||
|
||||
# install du script dans le système
|
||||
fscript_install(){
|
||||
f__root || f__error "vous devez être ROOT pour installer ce script dans le système"
|
||||
# install /opt
|
||||
mkdir -p /opt/bin/
|
||||
cp -d "$(basename $0)" "/opt/bin/$script"
|
||||
chmod a+rwx "/opt/bin/$script"
|
||||
chown "$user_": "/opt/bin/$script"
|
||||
ln -s "/opt/bin/$script" "/usr/bin/$script" &>/dev/null
|
||||
# cron/anacron install
|
||||
fscript_cronAnacron "install"
|
||||
# création fichier log
|
||||
touch "$fileLogs"
|
||||
chmod a+rwx "$fileLogs"
|
||||
chown "$user_": "$fileLogs"
|
||||
[ -f "$script"_changelog.md ] || rm "$(basename $0)" &>/dev/null ## on efface pas si changelog (dev)
|
||||
f__info "$GREEN$script installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
|
||||
f__log "$script $version installé dans le système"
|
||||
}
|
||||
|
||||
# suppression du script dans le système
|
||||
fscript_remove(){
|
||||
f__root || f__error "vous devez être ROOT pour supprimer ce script dans le système"
|
||||
# suppression de /opt
|
||||
rm /opt/bin/"$script" &>/dev/null
|
||||
unlink /usr/bin/"$script" &>/dev/null
|
||||
unlink /usr/local/bin/"$script" &>/dev/null # ancienne localisation
|
||||
# cron/anacron remove
|
||||
fscript_cronAnacron remove
|
||||
f__info "$GREEN$script supprimé du système."
|
||||
f__log "$script $version supprimé du système"
|
||||
}
|
||||
|
||||
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko
|
||||
fscript_get_version(){
|
||||
versionScript="$(wget -q --tries=2 --timeout=15 -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)"
|
||||
if [ "$versionScript" ]; then
|
||||
if [ "$version" != "$versionScript" ]; then
|
||||
f__info "version script en ligne: $versionScript, mise à jour possible"
|
||||
script_aJour="ko"
|
||||
else
|
||||
f__info "version script en ligne: $versionScript"
|
||||
script_aJour="ok"
|
||||
fi
|
||||
else f__info "version script en ligne non accessible"; fi
|
||||
# inscription dans tache upgrade en anacron hebdomadaire, via cron horaire
|
||||
fscript_cronAnacron(){
|
||||
local dirAnacron="/home/$user_/.config/anacron"
|
||||
local dirSpool="$dirAnacron/spool"
|
||||
local fileAnacron="$dirAnacron/$script.anacrontab"
|
||||
case "$1" in
|
||||
install )
|
||||
mkdir -p "$dirAnacron"
|
||||
# table anacron
|
||||
echo "7 01 $script nice /opt/bin/$script --upgrade &>/dev/null" > "$fileAnacron"
|
||||
## test: anacron journalier:
|
||||
echo "1 01 ""$script""test nice /opt/bin/$script --upgrade &>/dev/null" > "$fileAnacron"
|
||||
chown -R --no-preserve-root "$user_": "$dirAnacron"
|
||||
chmod -R --no-preserve-root ug+xw "$dirAnacron"
|
||||
# création spool anacron utilisateur
|
||||
mkdir -p "$dirSpool"
|
||||
chown -R --no-preserve-root "$user_": "$dirSpool"
|
||||
chmod -R --no-preserve-root ug+xw "$dirSpool"
|
||||
# cron tab pour activation horaire anacron
|
||||
grep -q ".*$script.anacrontab" /etc/crontab || \
|
||||
echo "@hourly $user_ /usr/sbin/anacron -t $fileAnacron -S $dirSpool" >> /etc/crontab
|
||||
;;
|
||||
remove )
|
||||
rm "$dirSpool/$script"* &>/dev/null
|
||||
sed -i "/$script.anacrontab/d" /etc/crontab
|
||||
rm "$fileAnacron" &>/dev/null
|
||||
rm "$dirSpool/$script" &>/dev/null
|
||||
rmdir "$dirSpool" "$dirAnacron" &>/dev/null
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# mise à jour script si dispo
|
||||
|
@ -179,35 +164,55 @@ fscript_dl(){
|
|||
exit 0
|
||||
}
|
||||
|
||||
# inscription dans tache upgrade en anacron hebdomadaire, via cron horaire
|
||||
fscript_cronAnacron(){
|
||||
local dirAnacron="/home/$user_/.config/anacron"
|
||||
local dirSpool="$dirAnacron/spool"
|
||||
local fileAnacron="$dirAnacron/$script.anacrontab"
|
||||
case "$1" in
|
||||
install )
|
||||
mkdir -p "$dirAnacron"
|
||||
# table anacron
|
||||
echo "7 01 $script nice /opt/bin/$script --upgrade &>/dev/null" > "$fileAnacron"
|
||||
## test: anacron journalier: echo "1 01 ""$script""test nice /opt/bin/$script --upgrade &>/dev/null" > "$fileAnacron"
|
||||
chown -R --no-preserve-root "$user_": "$dirAnacron"
|
||||
chmod -R --no-preserve-root ug+xw "$dirAnacron"
|
||||
# création spool anacron utilisateur
|
||||
mkdir -p "$dirSpool"
|
||||
chown -R --no-preserve-root "$user_": "$dirSpool"
|
||||
chmod -R --no-preserve-root ug+xw "$dirSpool"
|
||||
# cron tab pour activation horaire anacron
|
||||
grep -q ".*$script.anacrontab" /etc/crontab || \
|
||||
echo "@hourly $user_ /usr/sbin/anacron -t $fileAnacron -S $dirSpool" >> /etc/crontab
|
||||
;;
|
||||
remove )
|
||||
rm "$dirSpool/$script"* &>/dev/null
|
||||
sed -i "/$script.anacrontab/d" /etc/crontab
|
||||
rm "$fileAnacron" &>/dev/null
|
||||
rm "$dirSpool/$script" &>/dev/null
|
||||
rmdir "$dirSpool" "$dirAnacron" &>/dev/null
|
||||
;;
|
||||
esac
|
||||
# version script en ligne, assigne $versionScript, $script_aJour=ok|ko
|
||||
fscript_get_version(){
|
||||
versionScript="$(wget -q --tries=2 --timeout=15 -O - "$urlScript" | grep '^version=' | cut -d '=' -f 2)"
|
||||
if [ "$versionScript" ]; then
|
||||
if [ "$version" != "$versionScript" ]; then
|
||||
f__info "version script en ligne: $versionScript, mise à jour possible"
|
||||
script_aJour="ko"
|
||||
else
|
||||
f__info "version script en ligne: $versionScript"
|
||||
script_aJour="ok"
|
||||
fi
|
||||
else f__info "version script en ligne non accessible"; fi
|
||||
}
|
||||
|
||||
# install du script dans le système
|
||||
fscript_install(){
|
||||
if dirname "$0" | grep -q 'bin' ; then
|
||||
f__info "$script $version est déjà installé"
|
||||
return 1
|
||||
fi
|
||||
[ $EUID -eq 0 ] || f__error "vous devez être ROOT pour installer ce script dans le système"
|
||||
# install /opt
|
||||
mkdir -p /opt/bin/
|
||||
cp -d "$(basename $0)" "/opt/bin/$script"
|
||||
chmod a+rwx "/opt/bin/$script"
|
||||
chown "$user_": "/opt/bin/$script"
|
||||
ln -s "/opt/bin/$script" "/usr/bin/$script" &>/dev/null
|
||||
# cron/anacron install
|
||||
fscript_cronAnacron "install"
|
||||
# création fichier log
|
||||
touch "$fileLogs"
|
||||
chmod a+rwx "$fileLogs"
|
||||
chown "$user_": "$fileLogs"
|
||||
[ -f "$script"_changelog.md ] || rm "$(basename $0)" &>/dev/null ## on efface pas si changelog (dev)
|
||||
f__info "$GREEN$script $version installé dans le système." "maintenant, appel du script par:$GREEN $script$BLUE (sans ./)"
|
||||
f__log "$script $version installé dans le système"
|
||||
}
|
||||
|
||||
# suppression du script dans le système
|
||||
fscript_remove(){
|
||||
f__root || f__error "vous devez être ROOT pour supprimer ce script dans le système"
|
||||
# suppression de /opt
|
||||
rm /opt/bin/"$script" &>/dev/null
|
||||
unlink /usr/bin/"$script" &>/dev/null
|
||||
unlink /usr/local/bin/"$script" &>/dev/null # ancienne localisation
|
||||
# cron/anacron remove
|
||||
fscript_cronAnacron remove
|
||||
f__info "$GREEN$script supprimé du système."
|
||||
f__log "$script $version supprimé du système"
|
||||
}
|
||||
|
||||
# assigne $context_appli, context_break
|
||||
|
|
Loading…
Reference in New Issue