Téléchargé 11 fois
Vote des utilisateurs
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.