1
0
This repository has been archived on 2023-11-30. You can view files and clone it, but cannot push or open issues or pull requests.
dtux__lalis-config/SPECS/lalis-config.spec

210 lines
6.0 KiB
RPMSpec

Summary: Install LALIS configuration
Name: lalis-config
Version: 2
Release: %mkrel 1
License: GPLv3
Group: Tools
Url: http://lalis.fr
BuildArch: noarch
Source1: journald.conf
Source2: lalistunnel
Source3: Lalis.desktop
Source4: identMM.pl
Source5: test.desktop
Source6: checklist.txt
Source8: ssh_id_rsa.pub
Source9: RPM-GPG-KEY-Lalis
Source10: lalis-i586.repo
Source11: lalis-i586-source.repo
Source12: lalis-x86_64.repo
Source13: lalis-x86_64-source.repo
Obsoletes: task-lalis-minimal < 5.6
Recommends: openssh-server
Recommends: lsb-release
Recommends: lsb-lib64
Recommends: wpa_supplicant
Recommends: ssmtp
Recommends: tigervnc-server
%description
Configure for lalis tools
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/lalis
mkdir %{buildroot}%{_datadir}/kio_desktop
mkdir -p %{buildroot}%{_datadir}/dist/desktop-files/default
mkdir -p %{buildroot}%{_sysconfdir}/pki/rpm-gpg
mkdir %{buildroot}%{_sysconfdir}/yum.repos.d
cp %{SOURCE2} %{buildroot}%{_bindir}
cp %{SOURCE4} %{buildroot}%{_bindir}
cp %{SOURCE3} %{buildroot}%{_datadir}/kio_desktop/
cp %{SOURCE3} %{buildroot}%{_datadir}/dist/desktop-files/default/
cp %{SOURCE5} %{buildroot}%{_datadir}/dist/desktop-files/default/
cp %{SOURCE1} %{buildroot}%{_datadir}/lalis/
cp %{SOURCE6} %{buildroot}%{_datadir}/lalis/
cp %{SOURCE8} %{buildroot}%{_datadir}/lalis/
cp %{SOURCE9} %{buildroot}%{_sysconfdir}/pki/rpm-gpg/
cp %{SOURCE10} %{buildroot}%{_sysconfdir}/yum.repos.d/
cp %{SOURCE11} %{buildroot}%{_sysconfdir}/yum.repos.d/
cp %{SOURCE12} %{buildroot}%{_sysconfdir}/yum.repos.d/
cp %{SOURCE13} %{buildroot}%{_sysconfdir}/yum.repos.d/
%files
%{_bindir}/lalistunnel
%{_bindir}/identMM.pl
%{_datadir}/kio_desktop/Lalis.desktop
%{_datadir}/lalis/*
%{_datadir}/dist/desktop-files/default/*
%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-Lalis
%{_sysconfdir}/yum.repos.d/*
%post
# configuration de l'assistance à distance
# trouve le nom du dossier de bureau
desktop()
{
if [ -f "$1/.config/user-dirs.dirs" ]; then
DESKTOP=`grep XDG_DESKTOP_DIR $1/.config/user-dirs.dirs`
DESKTOP=`echo ${DESKTOP##*/} | sed -e s/\"//g`
else
DESKTOP=""
fi
}
if [ $1 -eq 1 ];then
# crée un utilisateur Lalis et enlève les droits de lecture/écriture/visibilité/exécution à others
cp -f /usr/share/lalis/journald.conf /etc/systemd/
getent passwd lalis
if [ ${?} -ne 0 ]; then
adduser lalis
chmod -R o-rwX /home/lalis
passwd lalis << EOF
Lalis
Lalis
EOF
fi
# Ajoute l'utilisateur lalis à la liste des utilisateurs autorisés à se connecter en ssh
echo "Ajout de l'utilisateur Lalis dans sshd_config"
if [ -z "`grep lalis /etc/ssh/sshd_config`" ]; then
if [ -z "`grep -i allowusers /etc/ssh/sshd_config`" ]; then
echo "Allowusers lalis" >>/etc/ssh/sshd_config
else
sed -i -e 's/^Allowusers.*/& lalis/g' /etc/ssh/sshd_config
fi
fi
echo "relance sshd"
/usr/bin/systemctl restart sshd
# Ajoute le fichier test.desktop sur le bureau de l'utilisateur lalis
echo "Ajout du script de test sur le bureau de lalis"
desktop /home/lalis
echo $DESKTOP
if [ "$DESKTOP" = "" ]; then
/usr/bin/mkdir "/home/lalis/Desktop"
fi
chmod a+rw /usr/share/lalis/checklist.txt
cp /usr/share/dist/desktop-files/default/test.desktop /home/lalis/$DESKTOP/
chown lalis:lalis -R /home/lalis/$DESKTOP/test.desktop
# Copie le fichier Lalis.desktop dans le dossier /etc/skel
cp -f /usr/share/kio_desktop/Lalis.desktop /etc/skel/$DESKTOP
# Copie le fichier Lalis.desktop sur le bureau des utilisateurs existant
echo "copie de lalis.desktop dans le bureau des utilisateurs"
cp -f /usr/share/kio_desktop/Lalis.desktop /usr/share/dist/desktop-files/default/
for i in /home/*
do
USER=`basename "$i"`
getent passwd "$USER"
if [ ${?} -eq 0 ]; then
if [ -d $i ]; then
desktop "/$i"
echo $DESKTOP
if ! [ -d "$i/$DESKTOP" ]; then
su -c "mkdir $i/$DESKTOP" - "$USER"
echo "su -c mkdir $i/$DESKTOP - $USER"
fi
cp -fa /usr/share/kio_desktop/Lalis.desktop "$i/$DESKTOP/"
chown $USER:$USER "$i/$DESKTOP"
fi
fi
done
#disabling mdadm when no raid detected
MD=`grep -c active /proc/mdstat`
if [ $MD > 0 ]; then
echo "Désactivation de mdadm"
systemctl disable mdadm.service
fi
#disabling network-up if nfs not used
if [ ! -e /etc/nfs.conf ]; then
echo "Désactivation de network-up"
systemctl disable network-up
fi
ARCH=`uname -i`
U=`uname -r`
MGAVERSION=${U##*.mga}
#adding lalis mirror
echo "ajout du miroir Lalis"
grep -q 'lalis rsync://lalis69.ddns.net:10073/mageia/lalis/' /etc/urpmi/urpmi.cfg
if [ ${?} -ne 0 ]; then
echo -e "\nlalis rsync://lalis69.ddns.net:10073/mageia/lalis/$MGAVERSION/x86_64/media/core {\nupdate\n}" >>/etc/urpmi/urpmi.cfg
echo "urpmi.update lalis" | at now +1 minutes
fi
fi
echo "post end"
%postun
# trouve le nom du dossier de bureau
desktop()
{
if [ -f "$1/.config/user-dirs.dirs" ]; then
DESKTOP=`grep XDG_DESKTOP_DIR $1/.config/user-dirs.dirs`
DESKTOP=`echo ${DESKTOP##*/} | sed -e s/\"//g`
else
DESKTOP=""
fi
}
if [ $1 -eq 0 ];then
# supprime l'utilisateur Lalis
echo "Suppression de l'utilisateur lalis (dossier personnel compris)"
userdel -rf lalis
groupdel lalis
# supprime l'utilisateur lalis de la liste des utilisateurs autorisés à se connecter en ssh
echo "suppression de l'utilisateur lalis de sshd_config"
if [ -n "`grep lalis /etc/ssh/sshd_config`" ]; then
sed -i -e 's/ lalis//g' /etc/ssh/sshd_config
fi
/usr/bin/systemctl restart sshd
# Supprime le fichier Lalis.desktop dans le dossier /etc/skel
echo "suppression de Lalis.desktop du dossier /etc/skel"
rm -f /etc/skel/$DESKTOP/Lalis.desktop
# Supprime le fichier Lalis.desktop de bureau des utilisateurs existant
echo "suppression de Lalis.desktop du dossier de bureau des utilisateurs"
for i in /home/*
do
USER=`basename "$i"`
getent passwd "$USER"
if [ ${?} -eq 0 ]; then
if [ -d $i ]; then
desktop "/$i"
echo $DESKTOP
rm -f "$i/$DESKTOP/Lalis.desktop"
fi
fi
done
# supprime le miroir lalis
echo "suppression du dépôt lalis"
echo "urpmi.removemedia lalis" | at now +1 minutes
fi