210 lines
6.0 KiB
RPMSpec
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
|