Téléchargé 6 fois
						
					
					
						Vote des utilisateurs
					
					
	 0
0  0
0 
						Détails
					
					Licence : GPL
						Mise en ligne le 13 février 2024
												
																										Plate-forme : 
								Linux							
												
													Langue : Français
						
					
							Référencé dans
						
						
										
					
						Navigation
					
					
				
						
							
							
								script d'installation de qcad							
						 
					
					
								script d'installation de qcad							
						vous le lancez avec la commande installqcad-2.0 . On obtient qcad dans la liste des logiciels. Fonctionne avec les distributions Debian et dérivées
version avec ajout du téléchargement de git, et un message à la fin
version 2.0 pour la nouvelle version de Qt
ajout de g++
					
										
					
					
							version avec ajout du téléchargement de git, et un message à la fin
version 2.0 pour la nouvelle version de Qt
ajout de g++
il suffit d'aller sur a page du code source et cliquer sur "éditer"
					Bonjour, 
Je vous propose un nouvel élément à utiliser : script d'install qcad
vous le lancez avec la commande installqcad.
au bout d'une heure 30 à peu près, il demandera votre mot de passe pour installer Qcad dans votre système
Qu'en pensez-vous ?
					Je vous propose un nouvel élément à utiliser : script d'install qcad
vous le lancez avec la commande installqcad.
au bout d'une heure 30 à peu près, il demandera votre mot de passe pour installer Qcad dans votre système
Qu'en pensez-vous ?
Bonjour,
- cut | sed est maladroit.
- supprimer un répertoire sans demande de confirmation, c'est violent. Pourquoi ne pas le déplacer en le datant ?
- tu fais un install sans faire d'update avant ?
- ce script ne fonctionnera donc d'ailleurs que sur les distributions basées sur Debian. Il faut le vérifier avant.
- pourquoi installDir n'est-il pas sous /tmp, s'il n'a pas à être conservé ?
- les noms de variables tout en majuscules sont par convention réservés aux variables d'environnement système (HOME, PWD...)
- un script d'installation doit être exécutable par root :
	
	- pourquoi passer par temporaire pour finalement le copier, puis le supprimer ?
					- cut | sed est maladroit.
- supprimer un répertoire sans demande de confirmation, c'est violent. Pourquoi ne pas le déplacer en le datant ?
- tu fais un install sans faire d'update avant ?

- ce script ne fonctionnera donc d'ailleurs que sur les distributions basées sur Debian. Il faut le vérifier avant.
- pourquoi installDir n'est-il pas sous /tmp, s'il n'a pas à être conservé ?
- les noms de variables tout en majuscules sont par convention réservés aux variables d'environnement système (HOME, PWD...)
- un script d'installation doit être exécutable par root :
| Code : | Sélectionner tout | 
((UID)) && { >&2 echo "must be root"; exit 1;}
merci pour la réponse
	
		
	
	
que me propose-tu pour récupérer la version de Qt?
	
		
oui c'est vrai
correction:
	
	
	
		
ca marche dans un terminal, mais dans le script ça me donne:
	
	
	
		
comment le vérifie-t-on?
	
		
correction:
	
	quand j'éxécute ce script comme ceci:
	
	ça me donne
	
	
une idée?
					
			
			
				- cut | sed est maladroit.
			
		
	| Code : | Sélectionner tout | 
| 1 2 3 | $ qmake --version QMake version 3.1 Using Qt version 5.15.8 in /usr/lib/x86_64-linux-gnu | 
			
			
				- supprimer un répertoire sans demande de confirmation, c'est violent. Pourquoi ne pas le déplacer en le datant ?
			
		
	correction:
| Code : | Sélectionner tout | 
| 1 2 3 4 5 | dirinstall=/tmp/qcad aujourdhui="$(date|cut -d\ -f2,3,4)" if [ -d $dirinstall ];then mv $dirinstall $dirinstall-"$aujourdhu"i fi | 
			
			
				((UID)) && { >&2 echo "must be root"; exit 1;}
			
		
	| Code : | Sélectionner tout | 
./installqcad: 19: UID: not found
			
			
				- ce script ne fonctionnera donc d'ailleurs que sur les distributions basées sur Debian. Il faut le vérifier avant
			
		
	
			
			
				- pourquoi installDir n'est-il pas sous /tmp, s'il n'a pas à être conservé ?
			
		
	| Code : | Sélectionner tout | 
dirinstall=/tmp/qcad
| Code : | Sélectionner tout | 
sudo ./installqcad
| Code : | Sélectionner tout | 
| 1 2 3 4 | git@github.com: Permission denied (publickey). fatal*: Impossible de lire le dépôt distant. Veuillez vérifier que vous avez les droits d'accès | 
| Code : | Sélectionner tout | 
qmake --version | tail -1 | cut -d ' ' -f4
| Code : | Sélectionner tout | 
qmake --version | sed -n '$s/.* \([0-9]\+\.[^ ]*\).*/\1/p'

pour l'UID, c'est une variable non connu de /bin/sh (/bin/sh n'est pas toujours un lien vers /bin/bash, mais vers un shell plus POSIX qui permet moins de souplesse) :
| Code : | Sélectionner tout | 
if test ${UID:-$(id -u)} -gt 0; then echo "must be root"; fi
| Code : | Sélectionner tout | 
| 1 2 3 4 5 6 | Clonage dans '/tmp/qcad'... git@github.com: Permission denied (publickey). fatal*: Impossible de lire le dépôt distant. Veuillez vérifier que vous avez les droits d'accès et que le dépôt existe. | 
| Code : | Sélectionner tout | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #!/bin/sh
#    installqcad, installeur de qcad
#    Copyright (C) 2023  Mathieu SERPA
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
 #   You should have received a copy of the GNU General Public License
 #   along with this program.  If not, see <https://www.gnu.org/licenses/>.
if test ${UID:-$(id -u)} -gt 0; then echo "must be root"; exit 1; fi
apt update
apt install qtbase5-dev #pour qmake
version="$(qmake --version | tail -1 | cut -d ' ' -f4)"
dirinstall=/tmp/qcad
aujourdhui="$(date|cut -d\  -f2,3,4)"
apt install gcc make libx11-dev libxext-dev libxrender-dev libglu1-mesa-dev libfreetype6-dev libfontconfig1-dev libssl-dev libdbus-1-dev libsm-dev gcc make libx11-dev libxext-dev libxrender-dev libglu1-mesa-dev libfreetype6-dev libfontconfig1-dev libssl-dev libdbus-1-dev libsm-dev qt5-qmake libqt5svg5-dev libqt5script5 libqt5help5 libqt5designer5 libqt5scripttools5 qtscript5-dev qtxmlpatterns5-dev-tools libqt5xmlpatterns5 libqt5xmlpatterns5-dev libqt5designer5 python3-pyside2.qtuitools libqscintilla2-qt5-designer libqt5designer5 qttools5-dev qt5-image-formats-plugins qtwayland5 qtwayland5-dev-tools libqt5waylandclient5 qtscript5-dev qttools5-dev libqt5xmlpatterns5-dev
if [ -d $dirinstall ];then
   mv $dirinstall $dirinstall-"$aujourdhui"
fi
mkdir -p $dirinstall
git clone git@github.com:qcad/qcad.git $dirinstall
if [ ! -d $dirinstall/src/3rdparty/qt-labs-qtscriptgenerator-"$version" ] ;then
   mkdir -p $dirinstall/src/3rdparty/qt-labs-qtscriptgenerator-"$version"
   cd $dirinstall/src/3rdparty/qt-labs-qtscriptgenerator-"$version"
   cat > qt-labs-qtscriptgenerator-"$version".pro <<FIN
include( ../../../shared.pri )
SUBDIRS = ../qt-labs-qtscriptgenerator-5.5.0/qtbindings
TEMPLATE = subdirs
FIN
fi
cd $dirinstall
qmake -r CONFIG+=ractivated
make release
cp -r $dirinstall /opt
cat > /usr/local/bin/qcad <<FIN
XDG_SESSION_TYPE=x11
LD_LIBRARY_PATH=/opt/qcad/release /opt/qcad/release/qcad-bin
FIN
chmod 755 /usr/local/bin/qcad
cp /opt/qcad/qcad.desktop /usr/share/applications
if [ ! -d /usr/local/share/icons/hicolor/256x256/apps ];then
   mkdir -p /usr/local/share/icons/hicolor/256x256/apps
fi
cp /opt/qcad/scripts/qcad_icon.png /usr/local/share/icons/hicolor/256x256/apps
rm -rf $dirinstall
mv $dirinstall$-$aujourdhui $dirinstall | 
une idée?
il faut faire:
	
	
	
	
je reviens dans 2 heures vous dire si ça a marché
sinon, comment utiliser /etc/os-release?
					| Code : | Sélectionner tout | 
git clone https://github.com/qcad/qcad.git $dirinstall
| Code : | Sélectionner tout | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #!/bin/sh
#    installqcad, installeur de qcad
#    Copyright (C) 2023  Mathieu SERPA
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
 #   You should have received a copy of the GNU General Public License
 #   along with this program.  If not, see <https://www.gnu.org/licenses/>.
if test ${UID:-$(id -u)} -gt 0; then echo "must be root"; exit 1; fi
apt update
apt install qtbase5-dev #pour qmake
version="$(qmake --version | tail -1 | cut -d ' ' -f4)"
dirinstall=/tmp/qcad
aujourdhui="$(date|cut -d\  -f2,3,4)"
apt install gcc make libx11-dev libxext-dev libxrender-dev libglu1-mesa-dev libfreetype6-dev libfontconfig1-dev libssl-dev libdbus-1-dev libsm-dev gcc make libx11-dev libxext-dev libxrender-dev libglu1-mesa-dev libfreetype6-dev libfontconfig1-dev libssl-dev libdbus-1-dev libsm-dev qt5-qmake libqt5svg5-dev libqt5script5 libqt5help5 libqt5designer5 libqt5scripttools5 qtscript5-dev qtxmlpatterns5-dev-tools libqt5xmlpatterns5 libqt5xmlpatterns5-dev libqt5designer5 python3-pyside2.qtuitools libqscintilla2-qt5-designer libqt5designer5 qttools5-dev qt5-image-formats-plugins qtwayland5 qtwayland5-dev-tools libqt5waylandclient5 qtscript5-dev qttools5-dev libqt5xmlpatterns5-dev
if [ -d $dirinstall ];then
   mv $dirinstall $dirinstall-"$aujourdhui"
fi
mkdir -p $dirinstall
git clone https://github.com/qcad/qcad.git $dirinstall
if [ ! -d $dirinstall/src/3rdparty/qt-labs-qtscriptgenerator-"$version" ] ;then
   mkdir -p $dirinstall/src/3rdparty/qt-labs-qtscriptgenerator-"$version"
   cd $dirinstall/src/3rdparty/qt-labs-qtscriptgenerator-"$version"
   cat > qt-labs-qtscriptgenerator-"$version".pro <<FIN
include( ../../../shared.pri )
SUBDIRS = ../qt-labs-qtscriptgenerator-5.5.0/qtbindings
TEMPLATE = subdirs
FIN
fi
cd $dirinstall
qmake -r CONFIG+=ractivated
make release
cp -r $dirinstall /opt
cat > /usr/local/bin/qcad <<FIN
XDG_SESSION_TYPE=x11
LD_LIBRARY_PATH=/opt/qcad/release /opt/qcad/release/qcad-bin
FIN
chmod 755 /usr/local/bin/qcad
cp /opt/qcad/qcad.desktop /usr/share/applications
if [ ! -d /usr/local/share/icons/hicolor/256x256/apps ];then
   mkdir -p /usr/local/share/icons/hicolor/256x256/apps
fi
cp /opt/qcad/scripts/qcad_icon.png /usr/local/share/icons/hicolor/256x256/apps
rm -rf $dirinstall
mv $dirinstall$-$aujourdhui $dirinstall | 
sinon, comment utiliser /etc/os-release?
tu sais que qcad propose déjà un installeur ?
					oui mais pour la version trial payante
					Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
		
	

 
				 
			 
			 
																	