OK
AJAX error!

Les forumsGrammalecteAméliorations de "setup.py"

Améliorations de "setup.py"

Bonjour,

J'ai remarqué que le fichier "setup.py" dupliquait certains fichiers lors de l'installation, en particulier "grammalecte-cli.py", "grammalecte-server.py" et "bottle.py", qui se retrouvent à la fois dans le répertoire racine de l'application et dans le sous-répertoire "bin/".

Je suggère donc de supprimer 'grammalecte-cli.py', 'grammalecte-server.py', 'bottle.py' de data_files, puisqu'ils sont déjà présents dans la variable scripts.

Par ailleurs, il me semble que setuptools gère l'installation de la licence, donc on peut aussi enlever 'LICENSE.txt' de la variable data_files.

Enfin, restent 'README.txt', 'grammalecte-server-options.fr.ini', et 'grammalecte-server-options._global.ini'. Ce n'est pas très propre de les laisser dans la racine du répertoire d'installation. Il faudrait les installer dans "share/grammalecte/". Bien sûr, cela implique de modifier les exécutables en conséquent.

Serait-il possible d'effectuer ces modifications ?

Cordialement,

--
Nicolas Goaziou
le 05 juillet 2018 à 10:59
Bonjour,

J'ai remarqué que le fichier "setup.py" dupliquait certains fichiers lors de l'installation, en particulier "grammalecte-cli.py", "grammalecte-server.py" et "bottle.py", qui se retrouvent à la fois dans le répertoire racine de l'application et dans le sous-répertoire "bin/".


Je ne suis pas sous Linux, mais effectivement, ces fichiers sont copiés deux fois, ce qui n’est pas vraiment utile.

Enfin, restent 'README.txt', 'grammalecte-server-options.fr.ini', et 'grammalecte-server-options._global.ini'. Ce n'est pas très propre de les laisser dans la racine du répertoire d'installation. Il faudrait les installer dans "share/grammalecte/". Bien sûr, cela implique de modifier les exécutables en conséquent.


Les fichiers .ini ont leur place là où est le script serveur.

Mais justement, je me demande si le serveur et la CLI n’auraient finalement pas leur place dans le paquet principal…
Sinon, je mets tout ça dans /scripts. (Sauf le README et LICENSE…)

J’hésite.
le 05 juillet 2018 à 14:38
Bon, je me suis décidé. CLI, Serveur et les deux fichiers .ini dans /Scripts. Je n’ai pas ajouté le README.txt et le LICENSE.txt.
le 05 juillet 2018 à 14:55
Merci.

Toutefois, les fichiers ".ini" se retrouvent maintenant dans le répertoire "bin/", qui ne devrait contenir que des exécutables. Ce n’est pas l’idéal.

Les fichiers de configuration font plutôt partie de "data_files", comme indiqué à

docs.python.org…

Je suggère donc de les installer dans un autre répertoire, et de modifier "grammalecte-server.py" afin qu'il les trouve.

Cordialement,
le 07 juillet 2018 à 01:21
Argh. Navré.
Tout ceci est décidément peu clair. Je pensais que ça se contenterait d’être dans le répertoire /Scripts comme sur Windows.
le 07 juillet 2018 à 09:19
Finalement, le mieux, c’était de corriger le problème en supprimant l’existence de ces deux fichiers.

Idéalement, il faudrait que je fusionne la CLI et le serveur, mais ça va attendre que des choses plus urgentes soient finies.

L’archive téléchargeable a été mise à jour.
le 07 juillet 2018 à 18:07
Merci. Je regarderai dès que l'archive apparait sur le site. Pour l'instant, celui-ci propose encore la version 0.6.5.
le 08 juillet 2018 à 12:10
Vous pouvez déjà la télécharger, je n’ai pas augmenté le numéro de version.
le 08 juillet 2018 à 12:36
L’arborescence est correcte désormais. Merci.

En revanche, serait-il possible de ne pas publier de modifications sans modifier le numéro de version de Grammalecte ? C’est très important pour de nombreuses distributions GNU/Linux. Pour gérer les mises à jour, elles partent du principe qu'à chaque numéro de version est associé une unique source. Certaines, dont celle pour laquelle je package Grammalecte, vérifient même le checksum de la source, ce qui devient impossible dans cette situation (même nom d'archive, deux checksums différents) : la mise à jour est impossible et l’ancienne version est considérée comme fautive.

Bref, dans ce cas, une version 0.6.5-1 (si 0.6.6 est trop significatif pour ce changement mineur) est plus adaptée. Je conçois que c’est moins pratique, mais, encore une fois, c’est très important pour de nombreuses distributions.
le 09 juillet 2018 à 11:36
Oui, je sais, mais je prends parfois le risque d’outrepasser cette exigence quand la version corrective paraît juste après la première version considérée fautive, dans la mesure où la correction est considérée comme indispensable et la version précédente non légitime.
Ça m’évite d’avoir à conserver une archive pour rien (autre demande des linuxiens).
le 09 juillet 2018 à 12:15
Je comprends, mais alors pouvons-nous trouver une solution ?

La taille de l’archive n’est pas vraiment un problème je pense. Il est possible, certains logiciels le font, je pense notamment à Xcas, de proposer deux « sources » :

- un « grammalecte-latest.zip », par définition à jour, écrasé à chaque nouvelle publication ;
- une source avec une politique de « versioning » stricte, « grammalecte-0.6.5-1.zip » dans le cas présent.

Qu’en pensez-vous ?
le 09 juillet 2018 à 13:35
Non, je vais me contenter d’upgrader le numéro ...x, si minime soit la différence, mais je ne conserverai pas l’archive fautive.

En fait, j’ai beaucoup de mal avec le versioning strict, car LibreOffice, Firefox et Thunderbird ou la CLI présentent des problématiques différentes. Par ailleurs, le numéro de version de Grammalecte représente globalement la version du cœur grammatical, indépendamment des interfaces et des logiciels qui l’intègrent, c’est pourquoi il règne un certain flou autour des mises à jour.

Je vais m’efforcer de changer le numéro à chaque fois à présent.
le 09 juillet 2018 à 14:53
Entendu.

Concernant la problématique du versioning, peut-être faut-il essayer un nouveau système tel que « grammalecte-cœur-interface-build.zip ». Ainsi on pourrait trouver « grammalecte-0.6.6-cli-2.zip », « grammalecte-0.6.6-firefox.zip », etc.
le 09 juillet 2018 à 15:21

Notification par e-mail    0