Une place pour une véritable innovation. Partagez vos propres utilitaires créés avec la communauté Manjaro.
Questions et discussions sur la programmation et le codage.

Le grand retour du BASIC (et en bien plus mieux)!

#21Messageil y a 7 ans

Salu papajoke, :salut:

papajoke a écrit :[*]Comment désinstaller proprement ? pas de script
[*]L'éditeur (en VM) est franchement très très lent, a la limite du praticable
[*] premiere utilisation ca marche (sans reboot?), ensuite, après re-boots, éditeur ne se lance plus :confus:
[*]le BASIC beau/compréhensible ? utiliser une telle mise en page du code me fait fuir tout de suite (exemple sudoku.bas)[/list]

Merci pour tes retours.

J'ai passé une grande partie de la nuit à complètement réécrire ce script pour qu'il soit, d'après tes remarques fort justifiées, acceptable.

Donc :

- installation dans /bin
- plus de modifications des 3 fichiers systèmes (rendues inutiles par l'installation dans /bin)
- création propre d'une entrée dans le menu en prenant exemple sur celui de Code::Blocks
- refonte des numérotations des dialogues (c'est le plus long à faire)
- et correction d'un petit glitch.

Il me reste un détail à régler avec un double problème à résoudre :

Pour l'instant,je ne sais créer un lien de QB64 (QB64_link) que sur le bureau de l'utilisateur qui a installé QB64 (via le script). Mais :

a) où créer ce lien (QB64_link) pour qu'il s'affiche sur le bureau de TOUS les utilisateurs d'un système. J'ai pensé à un endroit dans /etc/skel mais je ne vois pas bien où ? :saispas:

b) et comment attribuer à ce lien, l'icône de QB64. Là, je sèche complètement ? :saispas:

Je teste cette nouvelle mouture à fond cette nuit et je la poste demain après l'avoir validé sur différentes distributions.

Pour la désinstallation, elle est automatiquement proposée par le script si il trouve que QB64 a déjà été installé avant de proposer une nouvelle installation. Il suffit alors d'accepter la désinstallation et de dire non à la réinstallation. S'est simple et efficace et il n'y a qu'un seul script. :pompom:

Pour la vitesse d'exécution de QB64 en VM, je subodore que tu utilises VirtualBox... ! :siffle

De plus, tu peux utiliser n'importe quel autre éditeur de ton choix vu que QB64 peut être lancé en ligne de commande sans utiliser l'éditeur comme n'importe quel de facto standard compiler (par exemple GCC). Exemple ci-dessous :

qb64 -x /my_source_folder/my_program.bas -o /my_result_folder/my_program

Enfin, pour la beauté du code, je n'ai pas écrit les exemples fournis (sinon j'aurai un peu honte de certains d'entre eux). De plus comme avec n'importe quel langage de programmation, être propre, lisible et bien documenté dépend de celui (ou celle) qui écrit ce code... et le BASIC ne fait aucune exception à cette règle. Donc, JAMAIS de GOTO, des noms de variables, de sous routines et de fonctions significatifs, et tout plein de commentaires et quelque soit le langage, n'importe qui pourra le lire et le maintenir ! :bien

Merci encore de tes commentaires avisés. :merci::maître:

Cordialement.

Le grand retour du BASIC (et en bien plus mieux)!

#22Messageil y a 7 ans

A vous tous (les amis qui m'aident à faire ce script) et aussi à tous ceux qui lisent ce thread (topic - sujet) sans grand intérêt pour eux.

Je suis presque arrivé (grâce à vous) à ce que j'espérais faire :

- un script d'installation de l'IDE QB64 accessible à tout utilisateur depuis le menu des applications sous la rubrique Programmation.

Maintenant, l'IDE QB64 est installé dans le répertoire: /bin/qb64 et on peut le lancer depuis le menu des applications.

Cependant, il me reste encore deux petits poblèmes à gérer :

1 - comment faire en sorte que sans devoir redémarrer l'OS on puisse lancer qb64 dans un terminal dès la fin de l'exécution du script avec la commande : qb64 (alors que le script fait bien) :

PATH=$(PATH:/bin/qb64)
export $PATH


car à la fin de l'exécution du script, la commande "echo $PATH" ne prend pas en compte ce qui est défini dans /etc/profile.d/qb64.sh alors que ce nouveau chemin est bel et bien pris en compte après un nreboot, et donc qu'après le redémarrage suite à l'installation de QB64, la commande qb64 lancée depuis une terminal fonctionne parfaitement!

Donc, avez-vous une idée de comment faire prendre en compte le nouveau chemin (PATH=$PATH:bin/qb64) de manière dynamique dès la fin de l'exécution du script (c'est à dire, si cela est possible, sans devoir rebooter le système) ?

2 - comment créer un "lanceur" sur le bureau de TOUS les utilisateurs (je sais le faire sur le bureau de celui qui lance le scipt d'installation mais pas sur le bureau de TOUS les comptes uilisateurs de la machine) ?

A un endroit dans /etc/skel ?

Meric d'avance de vos conseils avisés.

Très cordialement.

PS : Grâce à vous tous, la ré-écriture de mon script qui installe QB64 dans /bin/b64 sans devoir modifier aucun fichier système (mais qui demande quand même un reboot pour lancer qb64 dans un teminal) est à télécharger (toujours en béta) ici : http://www.as2.com/qb64/QB64_install.tar.bz2.

Merci encore à tous de votre aide précieuse.

Très cordialement.
Dernière modification par Fnuxil y a 7 ans, modifié au total 1 fois.

Le grand retour du BASIC (et en bien plus mieux)!

#23Messageil y a 7 ans

Bonsoir.
Je ne suis pas très calé en programmation, mais je pense que ça pourrait le faire si tu place vers la fin dans ton script un truc du genre:

export PATH=$PATH: /etc/profile.d/qb64.sh 

Le $PATH prendra en compte ce chemin en dernière position. L'avantage est que cette commande est volatile.
Pour le lanceur, il me semble que c'est dans /usr/share/application qu'il faut le mettre.

Le grand retour du BASIC (et en bien plus mieux)!

#24Messageil y a 7 ans

pour le lanceur, j'avais donné le code plus haut, avec le bon path pour tous utilisateurs et un code sans 36 "echo"

Pour ton $PATH, je ne comprend pas, tu as créé un sous répertoire dans bin ?
je te suggérais justement de t'en passer en gardant ton programme hors /usr/bin mais de créer des liens symbolique (pour l'éditeur?) ou alors un bash (pour le compilateur?)
type:

#!/usr/bin/env sh
#fichier bash /usr/bin/qb64
cd /opt/qb64 # ou autre repertoire
/opt/qb64 $@ # on lance le programme avec les paramètres passés au script

Le grand retour du BASIC (et en bien plus mieux)!

#25Messageil y a 7 ans

Salut lemust83, :salut:

tu n'es peut-être pas (à te lire)) un génie en programmation (ce dont je doute plus que trés sérrieusement) mais ta maîtrise du comportement de l'OS suite à une série de commandes en ligne (uilisables dans un script) est une aide plus que précieuse.

Je vais donc essayer de "transcrire" (en bash) tes idées qui me semblent tout à fait approprées à ce que je cherche à faire.

En tous cas, merci encore mille fois de ton aide et de tes remaques (conseils) avisées. :merci::maître:

Cordialement.
Fnux.

Le grand retour du BASIC (et en bien plus mieux)!

#26Messageil y a 7 ans

Salut papajoke, :salut:

A mon âge avancé, désolé mais je ne comprends pas forcément tout du pemier coup car les abus de moto, de parapente et d'autres trucs plus ou moins licites (comme le base-jump par exemple mais il n'y a pas que ça LoL) m'ont un peu mangé quelques neurones ! :pappy:

papajoke a écrit :pour le lanceur, j'avais donné le code plus haut, avec le bon path pour tous utilisateurs et un code sans 36 "echo"


Pour le "lanceur" du menu, j'ai suivi tes conseils précédents en regardant dans /usr/profile.d et j'ai adapté "à ma guise" les données du lanceur de codelocks.desktop avec mon icône et les bonnes infos pour QB64 (et cela fonctionne très bien). Donc, là, c'est réglé. Et merci encore de tes conseils avisés. :clap

papajoke a écrit :Pour ton $PATH, je ne comprend pas, tu as créé un sous répertoire dans bin ?
je te suggérais justement de t'en passer en gardant ton programme hors /usr/bin mais de créer des liens symboliques (pour l'éditeur?) ou alors un bash (pour le compilateur?)
type:

#!/usr/bin/env sh
#fichier bash /usr/bin/qb64
cd /opt/qb64 # ou autre repertoire
/opt/qb64 $@ # on lance le programme avec les paramètres passés au script

Là, j'ai du manqué un épisode du feuilleton car j'avais justement compris qu'il fallait être dans /bin (trop con ce Fnux, il ne comprend jamais rien le vieux) ! :pappy:

Lorsque je cherche où est installé gcc, g++ ou c++, je reçoit ceci :

[fnux@manjaro ~]$ whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/share/man/man1/gcc.1.gz /usr/share/info/gcc.info.gz
[fnux@manjaro ~]$ whereis g++
g++: /usr/bin/g++ /usr/share/man/man1/g++.1.gz
[fnux@manjaro ~]$ whereis c++
c++: /usr/bin/c++ /usr/include/c++
[fnux@manjaro ~]$

Donc, j'installe QB64 dans /usr/bin/qb64 pour faire un peu "comme les autres" et en plus (avec un lien dans /bin)!

OK, ce n'est à ton avis (que je respecte) pas le bon répertoire ! Mais alors question précise :
où dois-je alors installer QB64 (dans quel répertoire) pour être (selon tes recommandations) acceptable ?

Ensuite, comment faire en sorte que ce programme puisse être lancé par n'importe quel utilisateur depuis n'importe quelle session terminal en tapant simplement qb64 (via qb64.sh et qb64.csh dans /etc/profile.d, ça fonctionne mais seulement après un reboot mais pas après la fin de l'exécution du script) ?

Petite précision:

- l'IDE complet est lancé par la simple commande : qb64
- mais le compilateur seul par : qb64 -x /my_source_folder/my_program.bas -o /my_destination_folder/my_program (et comme avec gcc ou n'importe quel autre compilateur, il faut que le répertoire de destination existe déjà.).

En outre, lorsque mon script fait PATH=$($PATH:/usr/bin/qb64) puis export $PATH alors là, j'ai tout un tas de choses qui s'affichent à l'écran mais le nouveau PATH n'est pris en compte que seulement après un reboot et pas à la fin de l'exécution du script ! Est-ce normal docteur ? :saispas:

Enfin, comment créer (si demandé par le script) un autre "lanceur'' (autre que celui du menu) sur TOUS les bureaux de TOUS les utilistateurs d'un système ? :saispas:

Merci de ton aide car je suis un peu (beaucoup) perdu pour régler ces derniers petits détails ! :merci::maître:

Cordialement.
Fnux

Le grand retour du BASIC (et en bien plus mieux)!

#27Messageil y a 7 ans

j'ai re-testé l'install :pleure: beaucoup de messages d'erreur :snif

- je n'avais pas compris pour ton lanceur, tu désires l'installer en plus du menu (/usr/share/applications) sur tous les bureaux :choc: cela ne se fait pas
- DESKTOP_NAME est faut car cela dépend du bureau (kde,...) par exemple pour moi kde (fr), je peux retrouver mon bureau avec systemd :

systemd-path user-desktop
/home/patrick/Desktop

- sinon tu peux chercher tous les "bureaux" de tous les users "/home/*/$DESKTOP_NAME" et faire une boucle et cela t'évite de demander le USER à l'install. De plus en copier un dans /etc/skel/$DESKTOP_NAME en cas de création d'un nouvel utilisateur (rappel cela ne ce fait pas normalement)

----------------------------------
On n'installe pas une arborescence sous linux dans /bin
Ton programme est multi-OS et est apparemment plutôt windows dans sa structure donc /opt/ est pour moi le meilleur choix (de plus tu le fais déjà en tmp)
PUIS
pour coller à Linux, comme donné dans post précédent tu peux écrire ton propre programme qui lui va être installé dans /bin comme cela pas de $PATH ou autre a modifier

#!/usr/bin/env sh
#fichier bash /usr/bin/qb64

QBDIR="/opt/qb64"
if [[ $1 == "-h" || $1 == "--help" ]]; then
cat <<EOF
QB64 Basic for linux
Usage :
  option -x : input basic file to compile
  option -o : ouput file to run
  option -f : file to load in editor ??
EOF
exit
fi

cd "$QBDIR"
# on lance le programme avec les paramètres passés au script
${QBDIR}/qb64 $@
cd -
et ici on ajoute -h histoire d'être compatible linux ;)

Le grand retour du BASIC (et en bien plus mieux)!

#28Messageil y a 7 ans

Bonjour papajoke :salut:

A nouveau, merci de toutes tes explications fort utiles. :merci:

J'ai ce week-end pour tenter de terminer ce script et je vais m'y employer sérieusement.

Cependant, j'ai besoin d'explications au sujet du fichier qui doit pouvoir lancer QB64 sans avoir besoin ni de modifier le PATH ni de rebooter: :confus:

1) Sous quel nom doit être créé ce fichier (qb64 ou qb64.sh) ?
2) dans quel répertoire doit-il être placé (/bin ou /usr/bin ou ailleurs) ?
3) enfin comment le lance-t-on depuis un terminal (qb64 ou ./qb64) ? :saispas:

J'ai essayé différentes options, mais pour l'instant ça ne fonctionne pas chez moi car lorsque je lance la commande qb64 ou ./qb64, j'ai systématiquement la réponse que qb64 n'est pas trouvé.

Bon, j'installe une Manjaro KDE 16.10.3 stable x86_64 toute fraiche (et en français) pour mes prochains essais pour avoir un environnement KDE similaire au tien. :maître:

Cordialement.

Le grand retour du BASIC (et en bien plus mieux)!

#29Messageil y a 7 ans

:salut:
Fnux a écrit :1) Sous quel nom doit être créé ce fichier (qb64 ou qb64.sh) ?

lire le commentaire ligne 2 : #fichier bash /usr/bin/qb64 (placé juste pour toi), il faut bien sur lui donner un droit en exécution (chmod +x /usr/bin/qb4). L'extension avec linux n'a aucune utilité fonctionnelle.
Fnux a écrit :2) dans quel répertoire doit-il être placé (/bin ou /usr/bin ou ailleurs) ?

cela dépend de la distribution, je ne les connais pas toutes :? mais pour nous, /bin et /usr/bin c'est exactement la même chose /bin est un lien vers usr/bin. Comme /usr/bin/ est le réel chez archlinux , je parle toujours de celui ci.

ls -ld {/usr/bin,/bin}                                                    
drwxr-xr-x 1 root root 67K "03.12.2016 19:01" /usr/bin/
lrwxrwxrwx 1 root root   7 "30.09.2015 21:17" /bin -> usr/bin/

Fnux a écrit :3) enfin comment le lance-t-on depuis un terminal (qb64 ou ./qb64) ? :saispas:

c'est la base (de sécurité) linux, si on est dans le répertoire du logiciel, on doit ajouter le chemin ./ avant le nom,
normalement on ne va pas dans le /bin et comme il existe un $PATH qb64 suffit pour appeler ton script et non le logiciel installé par ton script d'install dans un autre répertoire.
ps: sécurité car cela empêche d’exécuter un méchant programme copié dans ton $HOME (non sécurisé) avec un nom comme "sudo" par exemple

Fnux a écrit :Bon, j'installe une Manjaro KDE 16.10.3 stable x86_64 toute fraiche

Pour bien faire tu devrais installer dans virtualbox chacune de tes distributions :(

Le grand retour du BASIC (et en bien plus mieux)!

#30Messageil y a 7 ans

Hello papajoke, :salut:

Once again, thanx so much man. :merci:

Tes explications et commentaires m'en ont appris beaucoup plus en quelques jours que ce que j'ai essayé de découvrir seul en 2-3 ans de découverte à tâtons du monde Linux. :café:

Je suis donc d'accord avec toi sur presque tout... sauf pour VirtualBox que je connais très bien mais que je refuse définitivement d'utiliser. :tetu!

Comme je ne veux pas me faire d'ennemi avec certains geeks ayatollahs du libre qui pourraient me lire, disons que j'utilise depuis près de 15 ans autre chose de bien plus performant. No more comment. :siffle

Maintenant, on peut aussi en causer en MP (ou par e-mail) si tu veux savoir le détail du pourquoi et du comment basés sur des observations de comportement et des mesures extrêmement précises de l'outil que j'utilise Vs VirtualBox. :rire

C'est d'ailleurs comme ça que je dispose de plus d'une vingtaine de distributions différentes et qu'il m'est très facile de revenir à un état antérieur après une mauvaise manipe de ma part en ne recopiant un seul fichier. :bien

Pour simplifier, j'adore le libre (comme tout le monde), mais je ne crache jamais sur le propriétaire (freeware ou même payant quitte à payer quelques Euros) soit quand il est meilleur, soit quand il répond à un besoin qui n'est pas (ou mal) comblé par un équivalent libre (si tu vois ce que je veux dire). :siffle

En attendant, encore merci de ton aide précieuse et efficace. :maître:

Cordialement.

PS: j'adore vraiment la communauté de Manjaro FR.

Le grand retour du BASIC (et en bien plus mieux)!

#31Messageil y a 7 ans

Hi Fnux :salut:
Ça me traverse l'esprit , mais ce script pourrait être testé en conteneur via docker qui est dans les dépôts.
Une image de Manjaro est accessible par un simple docker pull jonathonf/manjaro
Là tu pourra faire tous les test nécessaires sans avoir a installer VBox .

Le grand retour du BASIC (et en bien plus mieux)!

#32Messageil y a 7 ans

Salut lemust83, :salut:

lemust83 a écrit :Hi Fnux :salut:
Ça me traverse l'esprit , mais ce script pourrait être testé en conteneur via docker qui est dans les dépôts.
Une image de Manjaro est accessible par un simple docker pull jonathonf/manjaro
Là tu pourra faire tous les test nécessaires sans avoir a installer VBox .

Ho la la, voici encore un nouveau truc à découvrir pour moi. :gsourire:

En attendant, comme dit à papajoke précédemment, j'utilise depuis très longtemps (environ 15 ans) une solution de virtualisation qui fonctionne à merveille (désolé VirtualBox, mais j'utilise LE champion de la catégorie). :siffle

Donc, j'ai X machines virtuelles (dont je sauvegarde l'état initial juste après une clean install et éventuellement après ses maj de sécurité prioritaires) aux quelles je fais subir les plus horribles traitements (mes scripts) et que je peux remettre dans leur état initial (dons sans mes con..ries) par une simple recopie d'un seul fichier d'origine. Cela me permet donc de pouvoir tout recommencer à zéro sans devoir me recogner une clean install ! :clap

Ces machines virtuelles me permettent (entre autre) d'avoir mes différentes distros Linux avec différentes GUI (cinnamon, gnome, kde, etc.) et aussi en différentes langues (en particulier pour tester les messages de mes scripts). :bien

Donc, merci à toi de cette idée que je regarderai plus tard car cela semble effectivement être très intéressant aussi, mais en attendant d'avoir le temps de découvrir et de maîtriser cette possibilité, je reste avec ma solution qui fonctionne à merveille (et pour moi, désolé pour certains, mais bien mieux que VirtualBox que je connais aussi très bien). :tetu!

Cordialement. :maître:

Le grand retour du BASIC (et en bien plus mieux)!

#33Messageil y a 7 ans

'LLo,

Puisque que tu connais bien les deux, tu nous ferais pas un rapide +/- de Vbox vs WMware (si c'est bien celui auquel je pense..?) :clindoeil:

Le grand retour du BASIC (et en bien plus mieux)!

#34Messageil y a 7 ans

Hello fassil, :salut:

fassil a écrit :'LLo,

Puisque que tu connais bien les deux, tu nous ferais pas un rapide +/- de Vbox vs WMware (si c'est bien celui auquel je pense..?) :clindoeil:

Oui, c'est bien celui au quel tu penses, mais... je ne veux pas m'attirer les foudres de certains geeks ayatollahs du libre (si tu vois ce que je veux dire) car j'ai déjà donné/reçu sur d'autres fora pour avoir osé parler de soft propriétaires (gratuits ou non d'ailleurs). :siffle

De plus, ce serait aussi comme comparer Word à Writer (open ou libre) ou Outlook à Thunderbird (ou Evolution ou autre soft de la même catégorie) et déclencher sur ce très agréable forum une guerre sans fin et surtout bien inutile des "pros" Vs. des "cons" (en tous respect de tous) du libre contre le propriétaire (gratuit (freeware) ou non) sans qu'aucun n'accepte de revenir sur ses positions, voir même d'accepter d'écouter les remarques de l'autre partie (been there, done that). :tetu!

Je n'ai plus l'âge à perdre du temps à ces enfantillages vraiment stériles (d'autant plus que j'ai bien d'autres choses à faire bien plus rigolotes comme aller voler en parapente ou faire quelques bons tours de circuits à Lédenon ou à Ales sur ma Suzuki 1000 GSX/R full). :rire

Par contre, et uniquement par e-mail, je peux te donner de bons renseignements sur le comportement et surtout les performances mesurées et comparées des deux, et je peux même (mais ça, il ne faut pas le répéter) te faire profiter de mes versions dument payées (soit dit en passant, pas si cher que ça vu la qualité du produit). :clap

Cordialement.

Le grand retour du BASIC (et en bien plus mieux)!

#35Messageil y a 7 ans

'LLo,
Fnux a écrit :Hello fassil, :salut:

Oui, c'est bien celui au quel tu penses, mais... je ne veux pas m'attirer les foudres de certains geeks ayatollahs du libre (si tu vois ce que je veux dire) car j'ai déjà donné/reçu sur d'autres fora pour avoir osé parler de soft propriétaires (gratuits ou non d'ailleurs). :siffle


C'est tout à ton honneur de vouloir préserver le calme par ici, mais je pense que "l'ayatollah-ttitude" n'y est pas trop de mise ainsi que chez Manjaro en général puisqu'il y a tout ce qu'il faut dedans/prévu pour que WMware fonctionne (& que cela doit donc le mériter !).

Je suis sur une iso/outil qui permet la première fois en virtuel de faire tourner les manjaro-tools pour se faire "fassilement" un live léger comme à la maison (home + ou moins intégré), à jour & de reproduire ensuite ceci dans une des six saveurs qui semblent le permettrent pour l'instant (dont les deux officiels bien sur !).
La gestion par défaut du disque virtuel de V-box est trop juste pour les saveurs les + "enveloppées", mais ce n'est pas difficile à configurer & ma requête n'était donc que pure (mais indispensable amha) curiosité ! :clindoeil:

Le grand retour du BASIC (et en bien plus mieux)!

#36Messageil y a 7 ans

Salut fassil, :salut:
Passe moi un mail sur fnux.fl @ gmail . com et je te fais un cadeau. :trinquer:
STP, pas de MP car je ne sais pas bien les gérer ni y ajouter un lien ou un fichier. :saispas:

A+

Le grand retour du BASIC (et en bien plus mieux)!

#37Messageil y a 7 ans

:bjr:
Que ce soit en MP ou autres, pour ajouter un lien, il suffit de le placer entre balises url.
Nous n'avons pas autorisé sur le forum la possibilité de fichiers liés pour raison de sécurité.

Le grand retour du BASIC (et en bien plus mieux)!

#38Messageil y a 7 ans

@ lemust83, papajoke, fassil et tous les autres intéressés par ce sujet. :salut:

Ca y est. J'ai enfin terminé mon script d'installation de l'IDE QB64. :fete:

Un immence MERCI à vous tous pour votre aide. :maître:

Il ne me reste plus qu'à ajouter d'autres langues (allemand, espagnol, italien, portugais, russe, etc.) pour qu'il fasse la promotion la plus simple possible de ce super outil, déjà par la phase d'installation (et oui, tous le monde ne parle pas forcément l'anglais). :snif

@papajoke

Juste pour info, ton code qb64.sh à placer sous le nom de qb64 dans /usr/bin ne fonctionne pas sur les distributions Debian et ses multiples dérivés (LinuxMint, LMDE, et la famille Ubuntu and Co.)

En effet la commande :

if [[ $1 == "-h" || $1 == "--help" ]]; then
  ...
fi

provoque deux erreurs d'interprétation :

1) == n'est pas reconnu,
2) la double condition entre [[ et ]] n'est pas reconnue non plus.

Je l'ai donc modifié (à ma sauce) par

if [ "$1" = "-h" ] || [ "$1" = "--help" ]
  then
    ...
fi

et aussi la fin du script

cd $QB64_FOLDER
$"$QB64_FOLDER"/qb64 $@"

par

cd $QB64_FOLDER
./qb64 $@

et ça fonctionne maintenant sur toutes les distributions.

J'en ai aussi profité pour présenter dans cette micro aide, tous les switchs de BQ64.

Ensuite, j'ai bien galéré avec la commande cat <<EOF car je ne savais pas (mais j'ai quand même trouvé à force de tests) qu'il fallait que la fin EOF soit en début de ligne (donc sans aucun espace avant) :Rouleau:

De plus, j'ai gardé la demande du nom de l'utilisateur qui installe QB64, d'une part par ce que cela m'a été demandé, et d'autre part par ce que cela me permet, si c'est demandé, de placer un lanceur (starter) sur le bureau de cet utilisateur (par défaut, c'est non).

Enfin, pour terminer, je n'ai pas utilisé ta proposition de me servir de system.d pour rechercher tous les utilisateurs d'une machine et placer un starter sur chacun des bureaux pour deux raisons :

a) ta remarque que ça ne se fait pas m'a particulièrement motivé,
b) et aussi car system.d n'est pas forcément disponible et/ou installé sur toutes les distributions que mon script vise.

Et, sans vouloir créer une nouvelle polémique, comme je pense que system.d qui a d'énormes qualités mais a quand même un réel manque de souplesse par rapport aux scripts de sysVinit, je n'ai pas voulu m'embarquer là dedans.

J'espère que maintenant ce script te parraitra enfin "acceptable" dans le monde Manjaro (je ne rêve même pas d'ArchLinux) car il ne demande plus de reboot ni ne fait plus de modifications des fichiers système.

Enfin, je fournis aussi le md5sum du script d'installation dans le package compacté.

Merci encore à vous tous de votre aide et de vos critiques constructives. :merci::merci::merci::maître::maître::maître:

Vous pouvez vous rendre sur la page que j'ai créée pour présenter rapidement QB64 et télécharger ce script ici : http://www.as2.com/qb64/index.html

Cordialement.
Dernière modification par Fnuxil y a 7 ans, modifié au total 2 fois.

Le grand retour du BASIC (et en bien plus mieux)!

#39Messageil y a 7 ans

Bravo à toi pour ta persévérance :clap .
Mais sans passer pour un rabat-joie , les distros Arch-based et donc Manjaro sont en rolling, ce qui veux dire que le mappage des dépendances doit-être gérer en permanence par pacman. Hors lorsqu'on installe un paquet avec son lot de dépendances sans passer par ce gestionnaire de paquets, on se retrouve tôt ou tard avec des conflit insolubles. C'est ce qui fait qu'une rolling diffère d'une Stable sur ce point. J'étais parti sur l'idée d'un PKGBUILD pointant vers ton script; ca construit bien un paquet mais il est vide puisque rien ne se compile en fait.
Le PKGBUILD doit reprendre à la phase build() la partie de ton script qui est consacrée à Manjaro. J'ai quelques idées , mais pas trop de temps en cette fin d'année mouvementée pour moi.
Si tu veux tenter la très instructive expérience de composer ce PKGBUILD, essaye! C'est franchement le meilleur moyen pour mieux comprendre la phylo "KISS" (qui ne l'est que vu des dèvs :gsourire: ) d'autant que tu as pratiquement fais tout le boulot en amont. Il faut renseigner la source(), les sha256sums=("" "") ou md5sums mais la norme est au sha256 voire 512....
Et on teste avec un makepkg depuis le dossier de travail qui contient le PKGBUILD. On corrige les erreurs et on recommence .....
Je reprendrai si tu veux cette idée car je trouve ton concept intéressant. Et ça me rappelle mes premiers scripts à base de "init 3,5" "if inkey$ then goto xxx" etc... :rire

Le grand retour du BASIC (et en bien plus mieux)!

#40Messageil y a 7 ans

Salut lemust83 :salut:
Je vois que comme moi tu ne te couches pas très tôt (la paix pour bosser tranquillement la nuit...). :rigole:

Merci de tes encouragements. :merci:

Pour ce qui est d'une rolling Vs. une stable, je pense que QB64 n'a pas trop de soucis à se faire car les seules dépendances sont (pour Manjaro et les descendants de ArchLinux) :

- gcc-c++
- mesa-libGLU-devel
- et alsa-lib-devel

Aussi, si les "devs" de cette famille de distributions Linux ne changent pas les noms de ces dépendances inopinément (et sans véritable raison) , ce script continuera de fonctionner tel quel pendant un bon bout de temps. :bien

Pour ce qui est de ton idée d'utiliser un PKGBUILD, c'est très tentant MAIS il faut d'abord que je sache comment m'en servir. :saispas:

Et c'est la même galère pour les autres familles de distributions avec leurs empaquetages différents (ce qui n'a d'ailleurs jamais été justifié sauf pour entretenir les guerres de chapelles ridicules et stériles). :tetu!

Donc, à temps perdu, je regarderai comment faire, sachant que ce script :

1) doit resté multi distros
2) que je ne suis pas propriétaire des sources de QB64, même si elles sont fournies dans le package.

Je dois donc rester très prudent sur ce point, car les sources de QB64 sont aussi modifiées régulièrement par les contributeurs de la petite équipe de développement. :rire

Il m'est en revanche très facile d'obtenir les "nighty builds" et de mettre mon script à jour :

- soit en pointant sur les dernières sources (ce qui est prévu dans le script pour laisser les utilisateurs avertis le faire eux-même),
- soit en faisant moi même un nouveau tar.bz2 qui les incorpore et que je stocke sur mon propre serveur (c'est ma solution actuelle car cela me permet de n'offrir au téléchargement via mon script qu'une version que j'ai déjà validée moi-même (on ne sait jamais avec les "nighty builds" LoL ).

Bon, on reparlera de tout ça plus tard, quand tu en auras le temps. :biere:

D'ici là, merci encore de ton aide et de tes conseils. :maître:

Très cordialement.
Répondre