Packaging

Les propositions de correctifs ou d'exercices pour Pyromaths.

Modérateur : Développeurs

Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
Messages : 1083
Inscription : 26 août 2006, 13:10
Localisation : Nantes
Contact :

Re: Packaging

Message par Jérôme » 26 mai 2014, 18:56

Yves a écrit :j'ai repackagé Pyromaths 14.05 pour Mac:
http://www.pyromaths.org/telecharger/py ... -macos.dmg

Pourrais-tu récupérer cette version et la mettre en ligne ?
En effet, je n'avais pas vu ce message. Voilà qui est fait.
Merci Yves
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Packaging

Message par Yves » 26 mai 2014, 19:15

Merci Jérôme pour la mise en ligne :)

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Packaging

Message par Yves » 26 mai 2014, 21:16

Le fichier pyromaths, celui qui se trouve à la racine (pas dans src), se retrouve dans Pyromaths.app/Contents/Frameworks/ et je l'élimine ensuite avec le Makefile.

Je cherche un moyen de modifier setup.py pour que ce fichier ne soit tout simplement pas intégré dans l'application. Comme ce fichier semble être considéré comme un framework par py2app, j'ai essayé des variantes de
dylib-excludes = ['pyromaths'],
mais j'obtiens à chaque fois "SyntaxError: keyword can't be an expression".

Une idée pour que ce fichier soit exclu ou tout simplement pas découvert par py2app ?

Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
Messages : 1083
Inscription : 26 août 2006, 13:10
Localisation : Nantes
Contact :

Re: Packaging

Message par Jérôme » 26 mai 2014, 21:41

Avec un slash ?
dylib-excludes = ['/pyromaths'],
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Packaging

Message par Yves » 26 mai 2014, 22:26

Non, même erreur avec le slash.

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Packaging

Message par Yves » 26 mai 2014, 23:04

C'est le fichier pyromaths qui se trouve là qui est inclus dans l'application:
$ ls
AUTHORS		Makefile	data		setup.py	utils
COPYING		NEWS		debian		src
Doc		README		pyromaths	test
Je suis même étonné qu'à ce niveau de l'arborescence, il soit découvert via setup.py.

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Packaging

Message par Yves » 27 mai 2014, 07:16

En appelant py2app ainsi ça fonctionne, mais ça renvoie le problème au Makefile qui appelle py2app:
python setup.py py2app --dylib-excludes 'pyromaths'
Le fichier pyromaths n'est alors pas inclus mais quand même vu par py2app qui essaye de faire un strip:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip: can't process non-object and non-archive file: /Users/administrateur/pyromaths/pyromaths
Ce doit certainement être possible de rajouter l'option --dylib-excludes directement dans setup.py.

Dans la version 13.03, ce fichier n'était pas inclus par py2app. Je n'ai pas réussi à déterminer quelle bout de code nouveau de setup.py conduit à la découverte du fichier inutile pyromaths.

jbreizh
Messages : 51
Inscription : 14 déc. 2012, 22:46

Re: Packaging

Message par jbreizh » 27 mai 2014, 14:42

Hello,
de rien pour le partage, c'est la communauté pyromaths qui a fait le plus en rendant ses sources disponibles. Sinon à propos de sources, le lien vers les sources de la 14.05 est mort.
Tiens sinon un autre petit partage pour améliorer l'import des packages externes (tabvar).Actuellement, il est importé en créant la variable "tabvar" qui ce substitue à ##{{TABVAR}}## dans le template (fonction "copie_tronq_modele").
Astuce :
La variable d’environnement TEXINPUTS
Dans "copie_tronq_modele":
On supprime tout ce qui parle de tabvar ou autre paquet externe
Dans "creation":
On rajoute juste avant la compilation (ligne 213)

Code : Tout sélectionner

    ## Import des packages locaux
    ligne = ""
    for package in listdir(join(DATADIR, 'packages')):
        ligne += normpath(join(DATADIR, 'packages', package))
        ligne += ';'
    environ['TEXINPUTS']= ligne
Dans le template, on remplace:
\input{##{{TABVAR}}##} par \input{tabvar.tex}
Avantage :
Un nouveau package ??? rien à faire hormis l'import dans le template.
Bon boulot, il me tarde de lire ce nouveau code
JB

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Packaging

Message par Yves » 28 mai 2014, 09:17

Je reviens encore une fois sur ce fichier pyromaths qui se trouve dans le même dossier que setup.py et qui se retrouve inutilement dans l'application.
En effet, py2app trouve ce fichier malgré les directives de setup.py :
packages    = find_packages('src'),
package_dir = {'': 'src'},
Quand je veux lancer ce fichier pyromaths, j'obtiens l'erreur:
Traceback (most recent call last):
  File "pyromaths", line 6, in <module>
    basedir = path.dirname(path.realpath(__file__))
NameError: name 'path' is not defined
Quelle est l'utilité de ce fichier pyromaths ? Est-il possible de le supprimer des sources ?

jbreizh
Messages : 51
Inscription : 14 déc. 2012, 22:46

Re: Packaging

Message par jbreizh » 28 mai 2014, 12:10

hello,
il me semble qu'il n'y a pas les vignettes dans le paquet debian. N'étant pas sur debian, je n'ai pas pu tester, mais c'est ce qui me semble en parcourant le contenu du deb et sa taille 200ko vs 650ko pour la 13.03.
@ yves :
Il me semble que c'est le script de lancement sous linux (je ne sais pas pour les autres) qui se retrouve dans le dossier /bin et vers lequel pointe le fichier .desktop et qui permet aussi le lancement de pyromaths depuis le shell (en tapant pyromaths du nom exact de ce fichier). Je dirais donc indispensable pour linux, mais peut-être que je me trompe.
Bonne journée

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Packaging

Message par Yves » 28 mai 2014, 12:33

Merci pour ta réponse, ça doit effectivement être le script de lancement sous linux.

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Packaging

Message par Yves » 28 mai 2014, 12:57

jbreizh a écrit :il me semble qu'il n'y a pas les vignettes dans le paquet debian. N'étant pas sur debian, je n'ai pas pu tester, mais c'est ce qui me semble en parcourant le contenu du deb et sa taille 200ko vs 650ko pour la 13.03.
Je te confirme que les vignettes sont absentes. Par exemple, dans le dossier cinquièmes:

Image

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Packaging

Message par Yves » 28 mai 2014, 16:49

Bug avec les modèles de document (tout les systèmes d'exploitation)

Je viens de trouver un bug qui empêche l'utilisation d'un modèle de document personnalisé. Dans System.py, il y avait:
if os.path.isfile(os.path.join(parametres['datadir'], 'templates', source)):
        source = os.path.join(parametres['datadir'], 'templates', source)
    elif os.path.isfile(os.path.join(parametres['datadir'], 'templates', source)):
        source = os.path.join(parametres['datadir'], 'templates', source)
au lieu de :
if os.path.isfile(os.path.join(parametres['datadir'], 'templates', source)):
        source = os.path.join(parametres['datadir'], 'templates', source)
    elif os.path.isfile(os.path.join(parametres['configdir'], 'templates', source)):
        source = os.path.join(parametres['configdir'], 'templates', source)
J'ai fait un commit. Je pense que ce bug nécessite la publication d'un correctif pour tout les systèmes d'exploitation.
En tout cas, voici une nouvelle version pour OS X: http://www.pyromaths.org/telecharger/py ... -macos.dmg

Avatar de l’utilisateur
Jérôme
Administrateur - Site Admin
Messages : 1083
Inscription : 26 août 2006, 13:10
Localisation : Nantes
Contact :

Re: Packaging

Message par Jérôme » 28 mai 2014, 19:17

Merci Yves et jbreiz. J'ai publié la nouvelle version MacOS. Il faut que je regarde ces histoires de vignettes (je m'en suis aperçu hier matin également) et je publierai un correctif :(
J'ai voulu aller trop vite...
Pyromaths génère des fiches d'exercices et leur corrigé en toute simplicité.
Un programme multi-plateformes libre et gratuit sous licence GPL

Avatar de l’utilisateur
Yves
Messages : 456
Inscription : 21 janv. 2009, 20:40
Contact :

Re: Packaging

Message par Yves » 28 mai 2014, 21:53

Merci Jérôme pour la publication de la version OS X :)

Le bug avec les modèles de document était présent depuis 2011, avec la version 11.05 :o

Dans l'article Installer la version Mac OS X, j'ai contourné le bug d'affichage avec les balises h1, h2, h3 etc. en utilisant des balises html <h3> plutôt que la syntaxe Textile h3. Le bug est encore visible dans l'article Version 14.05. Soit dit en passant, la rédaction des articles avec un éditeur html plutôt que Textile serait une avancée appréciable ;)

Il y a aussi un soucis avec la page http://forum.pyromaths.org/ par contre index.php fonctionne.
It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.
Bon jeudi de l'ascension quand même ! ;)

Répondre