From 3f7e47d0b07f3886045e0255d6907c9bb90e27ce Mon Sep 17 00:00:00 2001 From: Daniel Tartavel Date: Thu, 14 Jan 2021 20:19:33 +0100 Subject: [PATCH] =?UTF-8?q?=20premier=20r=C3=A9el=20commit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SOURCES/Lalis.desktop | 20 ++ SOURCES/RPM-GPG-KEY-Lalis | 52 ++++ SOURCES/checklist.txt | 34 +++ SOURCES/identMM.pl | 474 +++++++++++++++++++++++++++++++ SOURCES/journald.conf | 33 +++ SOURCES/lalis-i586-source.repo | 9 + SOURCES/lalis-i586.repo | 9 + SOURCES/lalis-x86_64-source.repo | 9 + SOURCES/lalis-x86_64.repo | 9 + SOURCES/lalis.png | Bin 0 -> 19471 bytes SOURCES/lalistunnel | 5 + SOURCES/simple-scan.mo.patch | Bin 0 -> 173 bytes SOURCES/ssh_id_rsa | 38 +++ SOURCES/test.desktop | 19 ++ SPECS/lalis-config.spec | 198 +++++++++++++ 15 files changed, 909 insertions(+) create mode 100644 SOURCES/Lalis.desktop create mode 100644 SOURCES/RPM-GPG-KEY-Lalis create mode 100644 SOURCES/checklist.txt create mode 100755 SOURCES/identMM.pl create mode 100644 SOURCES/journald.conf create mode 100644 SOURCES/lalis-i586-source.repo create mode 100644 SOURCES/lalis-i586.repo create mode 100644 SOURCES/lalis-x86_64-source.repo create mode 100644 SOURCES/lalis-x86_64.repo create mode 100644 SOURCES/lalis.png create mode 100755 SOURCES/lalistunnel create mode 100644 SOURCES/simple-scan.mo.patch create mode 100644 SOURCES/ssh_id_rsa create mode 100644 SOURCES/test.desktop create mode 100644 SPECS/lalis-config.spec diff --git a/SOURCES/Lalis.desktop b/SOURCES/Lalis.desktop new file mode 100644 index 0000000..760c7b9 --- /dev/null +++ b/SOURCES/Lalis.desktop @@ -0,0 +1,20 @@ +[Desktop Entry] +Comment[fr_FR]= +Comment= +Exec=/usr/bin/lalistunnel +GenericName[fr_FR]= +GenericName= +Icon=/usr/share/icons/hardware_configuration_section.png +MimeType= +Name[fr_FR]=LALIS +Name=LALIS +Path= +StartupNotify=true +Terminal=true +TerminalOptions=\s--noclose +Type=Application +X-DBUS-ServiceName= +X-DBUS-StartupType=none +X-KDE-RunOnDiscreteGpu=false +X-KDE-SubstituteUID=false +X-KDE-Username= diff --git a/SOURCES/RPM-GPG-KEY-Lalis b/SOURCES/RPM-GPG-KEY-Lalis new file mode 100644 index 0000000..dceaa62 --- /dev/null +++ b/SOURCES/RPM-GPG-KEY-Lalis @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=nRMk +-----END PGP PUBLIC KEY BLOCK----- diff --git a/SOURCES/checklist.txt b/SOURCES/checklist.txt new file mode 100644 index 0000000..1ce0153 --- /dev/null +++ b/SOURCES/checklist.txt @@ -0,0 +1,34 @@ +Les différentes options sont OK, HS (non fonctionnel), NT (présent mais non testé), vide (non disponible) +Ajouter à la main les composants non listés ici. + +touchpad : +trackpad : +bouton gauche haut : +bouton droit haut : +bouton gauche bas : +bouton droit bas : + +Prises USB 2 : +Prises USB 3 : +e-sata : + + +audio intégré +jack audio out : +jack audio in : +Jack micro : + +VGA : +HDMI : +mini-HDMI : +display port : + +bluetooth : +Wifi : + +lecteur DVD : +lecteur d'empreinte digitale : + +port firewire : +port série : +SD_card : diff --git a/SOURCES/identMM.pl b/SOURCES/identMM.pl new file mode 100755 index 0000000..4f6931e --- /dev/null +++ b/SOURCES/identMM.pl @@ -0,0 +1,474 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use Tk; + +#********** INITIALISATION DE LA GENERATION FICHIER CHECKLIST ********* +#my $CheckFile="/home/lalis/Documents/checklist.txt"; +my $CheckFile="/usr/share/lalis/checklist.txt"; +my $PathFicout="/usr/share/lalis/"; + +#************* INITIALISATION DES INFORMATIONS GENERALES (LSHW) **************** +# copie de la commande dans un tableau pour lshw +my @LshwTab=`lshw`; +# Extraction des champs relatifs aux item +my @ChampsLshw=("description|produit|fabriquant|numéro", # champs Identification ORDINATEUR + "description|produit|fabriquant|version",# champs Identification CARTE MERE + "description|fabriquant|version",# champs Identification BIOS + "description|produit|bits|configuration",# champs Identification CPU + "description|produit|fabriquant", # champs Identification CARTE GRAPHIQUE + "description|produit|fabriquant|capacité",# champs Identification RESEAU + "description|produit|fabriquant",# champs Identification RESEAU + "produit|fabriquant|capacité|configuration"# champs Identification BATTERIE + ); +my @LshwTitres=("\n########## Identification ORDINATEUR ##########\n", + "\n########## Identification CARTE MERE ##########\n", + "\n########## Identification BIOS #########\n", + "\n########## Identification CPU ##########\n", + "\n########## Identification CARTE GRAPHIQUE ##########\n", + "\n########## Identification RESEAU ##########\n", + "\n########## Identification BATTERIE ##########\n"); +# Descripteur de l'item ordinateur +my @DescOrdi=("0", # titre du chapitre general (@LshwTitres) + "0", # champs (@ChampsLshw) de donnees à extraire + "localhost", # debut du bloc a extraire + "\\*\\-" # fin du bloc a extraire + ); +# Descripteur de l'item carte mère +my @DescCM=("1", # titre du chapitre general (@LshwTitres) + "1", # champs (@ChampsLshw) de donnees à extraire + "\\*\\-core", # debut du bloc a extraire + "\\*\\-" # fin du bloc a extraire + ); +# Descripteur de l'item BIOS +my @DescBios=("2", # titre du chapitre general (@LshwTitres) + "2", # champs (@ChampsLshw) de donnees à extraire + "\\*\\-firmware", # debut du bloc a extraire + "\\*\\-" # fin du bloc a extraire + ); +# Descripteur de l'item CPU +my @DescCPU=("3", # titre du chapitre general (@LshwTitres) + "3", # champs (@ChampsLshw) de donnees à extraire + "\\*\\-cpu", # debut du bloc a extraire + "\\*\\-" # fin du bloc a extraire + ); +# Descripteur de l'item Affichage +my @DescDisp=("4", # titre du chapitre general (@LshwTitres) + "4", # champs (@ChampsLshw) de donnees à extraire + "\\*\\-display", # debut du bloc a extraire + "\\*\\-" # fin du bloc a extraire + ); +# Descripteur de l'item reseau +my @DescNet=("5", # titre du chapitre general (@LshwTitres) + "5", # champs (@ChampsLshw) de donnees à extraire + "\\*\\-network", # debut du bloc a extraire + "\\*\\-" # fin du b loc a extraire + ); +# Descripteur de l'item battery +my @DescBat=("6", # titre du chapitre general (@LshwTitres) + "7", # champs (@ChampsLshw) de donnees à extraire + "\\*\\-battery", # debut du bloc a extraire + "\\*\\-" # fin du bloc a extraire + ); + +my @RefItems=("PC","CM","BIOS","CPU","DISP","NET","BAT"); +#my @RefItems=("PC","CM","BIOS"); + +my @temp; +my @ident; +my $flag=0; + +my $titre; +my $start; +my $end; +my $data; + +#********** INITIALISATION DES INFORMATIONS USB (lsusb) ********* + + +#********** INITIALISATION DES INFORMATIONS MEMOIRES (DMIDECODE) ********* +# copie de la commande dans un tableau pour dmidecode +my @tabdmidecode=`dmidecode -t memory`; +my @ChampsMem=("Data|Size|Bank Locator:|Type:|Speed:|Manufacturer"); +my @MemTitres=("\n########## Identification MEMOIRE ##########\n"); +my @DescMem=("0", # titre du chapitre general (@SmartTitres) + "0", # champs (@ChampsMem) de donnees à extraire + "Memory Device", # debut du bloc a extraire + "Part" # fin du bloc a extraire + ); + + +#*********** INITIALISATION DES INFORMATIONS DISK (SMARTCTL) ************** +my @champsdisk=("Family|Model:|Serial|Capacity|Form|SATA"); +my @ListDisk=`ls /dev/sd?`; +my @DescDisk=("0", # titre du chapitre general (@SmartTitres) + "0" # champs (@champsdisk) de donnees à extraire + ); +my @DiskTitres=("\n########## Identification DISK ##########\n"); + +my $D; +my @tabsmart; +my @temp2; +my $PathD; +my $nb=0; + +#********** INITIALISATION DE LA GENERATION FICHIER RESULTAT ********* +my @RefMachine=("PC", "CM"); +my @ChampsRef=("numéro", # champs Identification ORDINATEUR + "numéro" # champs Identification CARTE MERE + ); + +# Descripteur de l'item ordinateur +my @DescOrdi2=("0", # titre du chapitre general (@LshwTitres) + "0", # chamextraireps (@ChampsLshw) de donnees à extraire + "localhost", # debut du bloc a extraire + "\\*\\-" # fin du bloc a extraire + ); +# Descripteur de l'item carte mère +my @DescCM2=("1", # titre du chapitre general (@LshwTitres) + "1", # champs (@ChampsLshw) de donnees à extraire + "\\*\\-core", # debut du bloc a extraire + "\\*\\-" # fin du bloc a extraire + ); +my @FicTab=@LshwTab; +my $RefPC=undef; +my $RefCM=undef; +my $NomFic=undef; +my $A; +my $item; + +#********** INITIALISATION TRAITEMENT CODE REOUR RSYNC ********* +my %CodeRetourRsync = (0 => "Succes", + 1 => "Erreur de syntaxe ou d'utilisation", + 2 => "Incompatibilite de protocole", + 3 => "Erreurs lors de la selection des fichiers et des repertoires d'entree/sortie", + 4 => "Action non supportee", + 5 => "Erreur lors du démarrage du protocole client-serveur", + 6 => "Demon incapable d'ecrire dans le fichier de log", + 10 => "Erreur dans la socket E/S", + 11 => "Erreur d'E/S fichier", + 12 => "Erreur dans le flux de donnée du protocole rsync", + 13 => "Erreur avec les diagnostics du programme", + 14 => "Erreur dans le code IPC", + 20 => "SIGUSR1 ou SIGINT reçu ", + 21 => "Une erreur retournee par waitpid() ", + 22 => "Erreur lors de l'allocation des tampons de mémoire principaux", + 23 => "Transfert partiel dut à une erreur", + 24 => "Transfert partiel dut à la disparition d'un fichier source", + 25 => "La limite --max-delete a été atteinte", + 30 => "Dépassement du temps d'attente maximal lors d'envoi/reception de donnees"); + +#********** INITIALISATION DE L'AFFICHAGE POPUP DE FIN DE TRAITEMENT ********* +my @affich; + +######################################################################### +# PROGRAMME RENSEIGNEMENT DU FICHIER CHECKLIST +######################################################################### +# Renseignement du fichier checklist.txt de l'ordinateur par l'opérateur +system("su -c 'kwrite $CheckFile' lalis"); + +######################################################################### +# PROGRAMME DES INFORMATIONS GENERALES (LSHW) +######################################################################### +foreach (@RefItems) { # foreach @RefItems + # Pour chaque item a afficher + if ($_ eq "PC"){($titre, $data, $start, $end)=@DescOrdi;} + if ($_ eq "CM"){($titre, $data, $start, $end)=@DescCM;} + if ($_ eq "BIOS"){($titre, $data, $start, $end)=@DescBios;} + if ($_ eq "CPU"){($titre, $data, $start, $end)=@DescCPU;} + if ($_ eq "DISP"){($titre, $data, $start, $end)=@DescDisp;} + if ($_ eq "NET"){($titre, $data, $start, $end)=@DescNet;} + if ($_ eq "BAT"){($titre, $data, $start, $end)=@DescBat;} + #print("$end\n"); + + $flag=0; + foreach (@LshwTab) { # foreach @LshwTab + # vidage buffer temporaire + @temp=(); + # extraction d'un bloc memoire dans @temp + if ( $flag==0 ){ # attente debut du bloc vu + if ( m/$start/ ){ # debut du bloc vu + s/$_//; + $flag=1; + push(@ident,$LshwTitres[$titre]); + } + }else{ # attente fin du bloc vu + push(@temp,$_); + if ( m/$end/ ){ # fin du bloc vu + $flag=0; + } + } + # Extraction des champs d'un bloc memoire contenu dans @temp + foreach (@temp) { # foreach temp + if ( m/$ChampsLshw[$data]/ ){ + s/\s+/ /; + push(@ident,$_); + } + } # fin boucle foreach temp + } # fin boucle foreach @LshwTab +} # fin boucle foreach @LshwTitres + + +######################################################################### +# PROGRAMME DES INFORMATIONS GENERALES (LSUSB) +######################################################################### + # vidage buffer temporaire + @temp=(); + @temp=`lsusb`; + push(@ident,"\n########## Identification USB ##########\n"); + # Extraction des champs d'un bloc memoire contenu dans @temp + foreach (@temp) { # foreach temp + $_=" ".$_; + push(@ident,$_); + } +######################################################################### +# PROGRAMME DES INFORMATIONS DES MEMOIRES (DMIDECODE) +######################################################################### +# titre Identification MEMOIRE +push(@ident,$MemTitres[$DescMem[0]]); +# initialisation des variables +$flag=0; +# vidage des tableaux temporaires +@temp=(); +# Pour chaque item a afficher +foreach (@tabdmidecode) { # foreach @tabdmidecode + #print"@tabdmidecode \n"; + # vidage des tableaux temporaires + @temp=(); + # extraction de la capacite maxi + if ( m/Capacity/ ){ + s/\s+/ /; + push(@ident,$_); + #s/Capacity//; + } +# extraction d'un bloc memoire dans @temp + if ( $flag==0 ){ # attente debut du bloc vu + if ( m/$DescMem[2]/ ){ # debut du bloc vu + $flag=1; + push(@ident,"\n************* BANK ***************\n"); + } + }else{ # attente fin du bloc vu + push(@temp,$_); + if ( m/$DescMem[3]/ ){ # fin du bloc vu + $flag=0; + } + } + +# Extraction des champs d'un bloc memoire contenu dans @temp + foreach (@temp) { # foreach temp + if ( m/$ChampsMem[$DescMem[1]]/ ){ + s/\s+/ /; + #print; + + push(@ident,$_); + } + } # fin boucle foreach temp +} # fin boucle foreach @tabdmidecode + + +######################################################################### +# PROGRAMME DES INFORMATIONS DISK (SMARTCTL) +######################################################################### +# titre Identification DISK +push(@ident,$DiskTitres[$DescDisk[0]]); +# pour chaque disque +foreach (@ListDisk) { # foreach disk +# commande infos des disques +@tabsmart=`smartctl -i $_`; +# separation du chemin et nom du disque +(my $A, my $B, $D)=split /\//; +chop($D); +# memorisation chemin + nom du disque +$PathD =$_; +chop($PathD); + +#@tabsmart=`smartctl -i /dev/$D`; +push(@ident,"\n*************** disk ".$D." *************\n"); + +# pour chaque disque extraction des champs description + foreach (@tabsmart) { # foreach tabsmart + if ( m/$champsdisk[$DescDisk[1]]/ ){ + $_=" ".$_; + #print; + push(@ident,$_); + } + } # fin boucle foreach tabsmart + # Sante du disque + push(@ident,"\n--------------- Etat Disk ".$D." --------------\n"); + @temp=(); + @temp=`smartctl -H $PathD`; + # pour chaque ligne de la commande smartctl + foreach (@temp) { + # recherche du resultat sante disk + #$nb++; + if ( m/result:/ ){ + #$nb++; + #print "$nb\n"; + # Affichage de la ligne pour POPUP + #push(@affich,"Partition"."sdisk".":"$_); + push(@affich,"Partition ".$D.": ".$_); + # si le resultat est OK alors enregistrement + if ( m/PASSED/ ){ + #$nb++; + #print "$nb\n"; + push(@ident,$_); + } + else{ + # si le resultat est NOK alors enregistrement de la commande + @temp2=`smartctl -a $PathD`; + foreach (@temp2) { + push(@ident,$_); + } # fin foreach (@temp2) + } + } + } # fin foreach (@temp) +} # fin foreach disk + +######################################################################### +# PROGRAMME DE LA GENERATION FICHIER RESULTAT +######################################################################### +# initialisation des variables +$flag=0; +foreach (@RefMachine) { # foreach @RefMachine + @temp=(); + # Pour chaque item a afficher + if ($_ eq "PC"){($A, $data, $start, $end)=@DescOrdi2;} + if ($_ eq "CM"){($A, $data, $start, $end)=@DescCM2;} + $item=$_; + #print "$A\n"; + #print "$data\n"; + #print "$start\n"; + #print "$fin\n"; + foreach (@FicTab) { # foreach @FicTab + # extraction d'un bloc memoire dans @temp + if ( $flag==0 ){ # attente debut du bloc vu + if ( m/$start/ ){ # debut du bloc vu + s/$_//; + $flag=1; + } + }else{ # attente fin du bloc vu + push(@temp,$_); + if ( m/$end/ ){ # fin du bloc vu + $flag=0; + } + } + + # Extraction des champs d'un bloc memoire contenu dans @temp + foreach (@temp) { # foreach temp + if ( m/$ChampsRef[$data]/ ){ + #s/\s+//; + #print"$_"; + (my $E, my $Ref)=split(/:/,$_); + $_=$Ref; + s/\s+//; + chop($_); + #print"$_"; + if ($item eq "PC"){$RefPC=$_;} + if ($item eq "CM"){$RefCM=$_;} + } + } # fin boucle foreach temp + } # fin boucle foreach @FicTab + +} # fin boucle foreach @RefMachine +#print "$RefPC"; +#print "$RefCM"; + +# patern pour test de la validite du test de la reference PC et CM +#$RefPC="CZC1194MME"; +#$RefPC=undef; +#$RefPC=""; + +#$RefCM="CZC1194MMF"; +#$RefCM=undef; +#$RefCM=""; +# fin patern pour test de la validite du test de la reference PC et CM + +# Test si $RefPC est: defini ET n'est pas une chaine vide ET ne contient pas d'espace +# Test si $RefCM est: defini ET n'est pas une chaine vide ET ne contient pas d'espace +if ((defined $RefPC) && ($RefPC ne "") && !($RefPC =~ m/\s+/)) +{ $NomFic="PC_".$RefPC.".txt"; +}elsif((defined $RefCM) && ($RefCM ne "") && !($RefCM =~ m/\s+/)){ + $NomFic="CM_".$RefCM.".txt"; + }else{ + $NomFic="ERROR.txt"; +} + + +######################################################################### +# PROGRAMME DE CONCATENATION DES FICHIERS CHECKLIST PLUS CARACTERISTIQUES +######################################################################### +# La concatenation des fichiers checklist suivi de caractéristiques +# se trouve dans un fichier nommé avec la référence du PC ou de la carte +# Enregistrement du tableau @ident dans le fichier de nom $NomFic + +open(my $FIN, "<",$CheckFile) or die "Ouverture du fichier $CheckFile impossible\n"; +open(my $FOUT, ">",$PathFicout.$NomFic) or die "Ouverture du fichier $NomFic impossible\n"; +# Recopie du fichier checklist dans le fichier ref PC ou carte $NomFic +while(<$FIN>){ +print ($FOUT $_); # ecrit la ligne dans le fichier $NomFic +#print("$_"); +} +#print ($Fout "TOTO\n"); +#print "\n"; +# Recopie du tableau caracteristiques PC dans le fichier ref PC ou carte $NomFic +foreach(@ident){ +print ($FOUT $_); +#print("$_"); +} +close ($FIN); +close ($FOUT); + +######################################################################### +# PROGRAMME D'ENVOI DU FICHIER RESULTAT VERS LE SERVEUR +######################################################################### +# Envoi du fichier concatené checklist plus caracteristiques PC sur le serveur +my $ret=system("rsync --port 10073 -aP " . $PathFicout.$NomFic . " 'lalis69.ddns.net::lalis-ordis/'"); +#my $ret=system("rsync --port 10073 -aP " . $PathFicout.$NomFic . " 'lalis68.ddns.net::lalis-ordis/'"); +# sauvegarde du code retour +#my $ret=$?; +#print "******* $? ******\n"; +#$ret=10; +#print "******* $ret ******\n"; + +# Libele et affichage du code retour de rsync + if (exists ($CodeRetourRsync{$ret})){ + $_ = "Code retour rsync: ".$ret; + push(@affich,$_); + $_ = "Libellé code retour rsync: ".$CodeRetourRsync{$ret}; + push(@affich,$_); + } + else{ + push(@affich,"Code retour rsync Inconnu!!! ".$ret); + } + +######################################################################### +# PROGRAMME DE L'AFFICHAGE POPUP DE FIN DE TRAITEMENT +######################################################################### +my $mw = MainWindow->new(); +$mw->title("Resultat test HDD"); +$mw->geometry("700x100"); +foreach (@affich) { + # affichage dans la fenetre + $mw->Label(-text => $_)->pack; +} +MainLoop; + +print "\n########## Nom fichier resultat: $NomFic ##########\n"; +print "\n################ Traitement terminé ################\n"; +print "\n"; +################################ FIN PROGRAMME ################################ + + + + + + + + + + + + + + diff --git a/SOURCES/journald.conf b/SOURCES/journald.conf new file mode 100644 index 0000000..7a77697 --- /dev/null +++ b/SOURCES/journald.conf @@ -0,0 +1,33 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# See journald.conf(5) for details + +[Journal] +#Storage=auto +Compress=yes +#Seal=yes +#SplitMode=login +#SyncIntervalSec=5m +#RateLimitInterval=30s +#RateLimitBurst=1000 +SystemMaxUse=200M +SystemKeepFree=1G +SystemMaxFileSize=200M +RuntimeMaxUse=200M +RuntimeKeepFree=300M +RuntimeMaxFileSize=200M +#MaxRetentionSec= +MaxFileSec=15days +ForwardToSyslog=yes +#ForwardToKMsg=no +ForwardToConsole=yes +TTYPath=/dev/tty12 +#MaxLevelStore=debug +#MaxLevelSyslog=debug +#MaxLevelKMsg=notice +#MaxLevelConsole=info diff --git a/SOURCES/lalis-i586-source.repo b/SOURCES/lalis-i586-source.repo new file mode 100644 index 0000000..a0c6629 --- /dev/null +++ b/SOURCES/lalis-i586-source.repo @@ -0,0 +1,9 @@ +[lalis-i586-source] +name=Lalis $releasever - i586 -source +baseurl=https://lalis69.ddns.net:10443/mageia/lalis/$releasever/ +#metalink=https://mirrors.mageia.org/metalink?distrib=mageia-$releasever&arch=i586§ion=core&repo=release +#mirrorlist=https://lalis69.ddns.net:10443/mageia/lalis/$releasever/i586/media/core +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Lalis +fastestmirror=1 +enabled=0 diff --git a/SOURCES/lalis-i586.repo b/SOURCES/lalis-i586.repo new file mode 100644 index 0000000..3be1713 --- /dev/null +++ b/SOURCES/lalis-i586.repo @@ -0,0 +1,9 @@ +[lalis-i586] +name=Lalis $releasever - i586 +baseurl=https://lalis69.ddns.net:10443/mageia/lalis/$releasever/ +#metalink=https://mirrors.mageia.org/metalink?distrib=mageia-$releasever&arch=i586§ion=core&repo=release +#mirrorlist=https://lalis69.ddns.net:10443/mageia/lalis/$releasever/i586/media/core +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Lalis +fastestmirror=1 +enabled=0 diff --git a/SOURCES/lalis-x86_64-source.repo b/SOURCES/lalis-x86_64-source.repo new file mode 100644 index 0000000..2e41b3a --- /dev/null +++ b/SOURCES/lalis-x86_64-source.repo @@ -0,0 +1,9 @@ +[lalis-x86_64-source] +name=Lalis $releasever - x86_64 - source +baseurl=https://lalis69.ddns.net:10443/mageia/lalis/$releasever/ +#metalink=https://mirrors.mageia.org/metalink?distrib=mageia-$releasever&arch=x86_64§ion=core&repo=release +#mirrorlist=https://lalis69.ddns.net:10443/mageia/lalis/$releasever/x86_64/media/core +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Lalis +fastestmirror=1 +enabled=1 diff --git a/SOURCES/lalis-x86_64.repo b/SOURCES/lalis-x86_64.repo new file mode 100644 index 0000000..64f7876 --- /dev/null +++ b/SOURCES/lalis-x86_64.repo @@ -0,0 +1,9 @@ +[lalis-x86_64] +name=Lalis $releasever - x86_64 +baseurl=https://lalis69.ddns.net:10443/mageia/lalis/$releasever/ +#metalink=https://mirrors.mageia.org/metalink?distrib=mageia-$releasever&arch=x86_64§ion=core&repo=release +#mirrorlist=https://lalis69.ddns.net:10073/mageia/lalis/$releasever/x86_64/media/core +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Lalis +fastestmirror=1 +enabled=1 diff --git a/SOURCES/lalis.png b/SOURCES/lalis.png new file mode 100644 index 0000000000000000000000000000000000000000..c9c725f5f9eb8aab8963ba6da90651bff099f8f1 GIT binary patch literal 19471 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 }AJsFO{Hes9cANm6QD3x%c9c@FN|b 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 literal 0 HcmV?d00001 diff --git a/SOURCES/ssh_id_rsa b/SOURCES/ssh_id_rsa new file mode 100644 index 0000000..b2f8862 --- /dev/null +++ b/SOURCES/ssh_id_rsa @@ -0,0 +1,38 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +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 +-----END OPENSSH PRIVATE KEY----- diff --git a/SOURCES/test.desktop b/SOURCES/test.desktop new file mode 100644 index 0000000..9408f67 --- /dev/null +++ b/SOURCES/test.desktop @@ -0,0 +1,19 @@ +[Desktop Entry] +Comment[fr_FR]=Outils de test et d'inventaire matériel de LALIS +Comment=Outils de test et d'inventaire matériel de LALIS +Exec=kdesu -u root /usr/bin/identMM.pl +GenericName[fr_FR]=Test +GenericName=Test +Icon=bleachbit +MimeType= +Name[fr_FR]=Test +Name=Test +Path= +StartupNotify=true +Terminal=true +TerminalOptions=\s--noclose +Type=Application +X-DBUS-ServiceName= +X-DBUS-StartupType= +X-KDE-SubstituteUID=false +X-KDE-Username= diff --git a/SPECS/lalis-config.spec b/SPECS/lalis-config.spec new file mode 100644 index 0000000..5a63db9 --- /dev/null +++ b/SPECS/lalis-config.spec @@ -0,0 +1,198 @@ +Summary: Install LALIS configuration +Name: lalis-config +Version: 1 +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 +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 + +%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 +} + +# 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 {\n}" >>/etc/urpmi/urpmi.cfg + echo "urpmi.update lalis" | at now +1 minutes +fi + +%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 +} + +# supprime l'utilisateur Lalis +echo "Suppression de l'utilisateur lalis (dossier personnel compris)" +userdel -rf 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