[asymptote-svn] Gérer la dépendance texlive-core

Mise à jour / Création /debug de paquetages
Répondre
MbdM
Hankyu
Messages : 10
Inscription : ven. 14 déc. 2012, 11:57

[asymptote-svn] Gérer la dépendance texlive-core

Message par MbdM »

Bonjour, je souhaite installer le paquet asymptote-svn (sur AUR) qui présente une dépendance avec texlive-core. Or, je ne souhaite pas installer ce paquet puisque j'ai installé la distribution texlive directement via leur script d'installation install-tl (afin de disposer de tlmgr qui permet d'installer et de gérer les paquets texlive avec une plus grande souplesse). Ma question est donc la suivante :

Est-il possible de 'simuler' l'installation du paquet texlive-core afin que le gestionnaire de paquet le considère comme installé ? (sinon, je dois éditer à chaque fois le fichier PKGBUILD afin de supprimer la dépendance ?)

[Edit] En fait je pense qu'il est plus simple que je passe moi même par une compilation directe d'asymptote sans passer par AUR car les chemins (latex et context) risquent de ne pas correspondre.

Merci pour vos suggestions. ;)
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [asymptote-svn] Gérer la dépendance texlive-core

Message par FoolEcho »

Salut,

Que des pistes car je ne sais pas où se passe l'installation via de texlive via l'install-tl...

Si tout se passe dans ton HOME, alors continue de tout installer manuellement (mais si c'est en dehors de ton home, :aimepas:).
Sinon, privilégier l'installation d'asymptote-svn via ton propre PKGBUILD, moins la dépendance texlive-core et en adaptant le build (la partie du configure avec --with-latex=/usr/share/texmf/tex/latex \ --with-context=/usr/share/texmf/tex/context suffit a priori).
«The following statement is not true. The previous statement is true.» :nage:
MbdM
Hankyu
Messages : 10
Inscription : ven. 14 déc. 2012, 11:57

Re: [asymptote-svn] Gérer la dépendance texlive-core

Message par MbdM »

Merci pour la réponse.

L'installation par install-tl ne se passe pas dans le home mais latex se trouve dans /usr/local/bin/latex (lien symbolique vers /usr/local/texlive/2012/bin/x86_64-linux/latex). Pour l'instant j'ai opté pour une installation directe via les sources svn (qui fonctionne d'ailleurs très bien et qui ne nécessite pas de renseigner les chemins vers latex ou context).
FoolEcho a écrit :Sinon, privilégier l'installation d'asymptote-svn via ton propre PKGBUILD, moins la dépendance texlive-core et en adaptant le build (la partie du configure avec --with-latex=/usr/share/texmf/tex/latex \ --with-context=/usr/share/texmf/tex/context suffit a priori).
J'avais pensé à faire ces modifications, mais étant un nouveau venu sur Archlinux je me demande si ces modifications doivent être effectuées à chaque fois qu'il y a une mise à jour. Je suppose que oui et dans ce cas autant passer directement par les sources non ?
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [asymptote-svn] Gérer la dépendance texlive-core

Message par FoolEcho »

MbdM a écrit :Je suppose que oui et dans ce cas autant passer directement par les sources non ?
Tu supposes bien... mais pas pour les sources: tu as intérêt à passer par le PKGBUILD pour conserver la gestion par pacman (en plus ça permet de rectifier plus facilement si tu fais une installation foireuse :mrgreen: ).
Note que le paquet est un svn, une version de développement, par conséquent les sources sont en évolution constante (en théorie, je ne sais pas ce qu'il en est pour latex et cie). Encore plus que pour tout autre paquet, c'est toi qui détermine quand mettre à jour (un svn, git, etc. sur AUR n'est mis à jour que si la construction le nécessite, ça veut dire que tu peux rester des années sans que le PKGBUILD ne change à la différence d'une sortie stable).

Concrétement, tu te fais un répertoire pour ta version d'asymptote-svn (il suffit de récupérer l'archive sur AUR, si tu utilises yaourt avec yaourt -G par exemple) avec adaptation des chemins pour ton usage (probablement /usr/local plutôt que /usr/share) puis un coup de makepkg. Faire ceci te permettra de suivre si le paquet sur AUR est révisé à l'avenir... et donc de toujours de baser dessus pour ton propre paquet.
«The following statement is not true. The previous statement is true.» :nage:
MbdM
Hankyu
Messages : 10
Inscription : ven. 14 déc. 2012, 11:57

Re: [asymptote-svn] Gérer la dépendance texlive-core

Message par MbdM »

Ok, je vais tenter de passer par un makepkg, mais justement ton intervention m'interroge sur quelques points !
FoolEcho a écrit :Note que le paquet est un svn, une version de développement, par conséquent les sources sont en évolution constante (en théorie, je ne sais pas ce qu'il en est pour latex et cie). Encore plus que pour tout autre paquet, c'est toi qui détermine quand mettre à jour (un svn, git, etc. sur AUR n'est mis à jour que si la construction le nécessite, ça veut dire que tu peux rester des années sans que le PKGBUILD ne change à la différence d'une sortie stable).
Lorsqu'il s'agit de versions de développement comme asymptote-svn par exemple, je me demande comment fonctionne exactement le dépôt AUR. Je veux bien que le PKGBUILD ne change que très rarement mais il me semblait que le dépôt pouvait être mis à jour même sans changement de PKGBUILD (puisque par exemple dans ce cas le dépôt signale une mise à jour le 2012-11-03 10:51 et indique un numéro de version 5540-1 qui correspond d'ailleurs à la dernière révision en date sur svn). Donc il me semblait avoir compris que c'était le mainteneur du paquet AUR qui décidait quand récupérer les dernières sources svn pour les mettre à disposition sur AUR qui serait alors mis à jour. Je me trompe ?
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [asymptote-svn] Gérer la dépendance texlive-core

Message par FoolEcho »

MbdM a écrit :Donc il me semblait avoir compris que c'était le mainteneur du paquet AUR qui décidait quand récupérer les dernières sources svn pour les mettre à disposition sur AUR qui serait alors mis à jour. Je me trompe ?
Absolument pas. Je n'ai visiblement pas été assez clair. :)

Le PKGBUILD contient les infos pour récupérer les sources. Dans le cas d'une version de développement et d'un dépôt approprié (svn, git, bzr, etc.), les commandes du PKGBUILD permettent de récupérer la dernière version en date depuis tel dépôt dans tous les cas. Le mainteneur n'a donc pas à retoucher son PKGBUILD dès qu'une nouvelle révision arrive -- encore heureux ^^ (dans le détail et pour info, tu peux modifier pkgver que ça ne change rien: pour obtenir une version à une date précise il faut modifier comment les sources sont récupérées, donc cf. man de svn, git et cie). Dès lors, tu n'auras jamais de notification pour mettre à jour le paquet svn, à moins que le mainteneur ne modifie son PKGBUILD (et comme je disais, on ne le fait que parce que ça ne compile plus, que les dépendances ont changé de nom, qu'un patch doit être appliqué, etc.).
Si tu veux une version de développement à jour, tu devras la mettre à jour périodiquement (PKGBUILD ou pas ça n'y change rien: mais du moment que ça touche à l'arborescence hors HOME, passer par pacman est préférable).
«The following statement is not true. The previous statement is true.» :nage:
MbdM
Hankyu
Messages : 10
Inscription : ven. 14 déc. 2012, 11:57

Re: [asymptote-svn] Gérer la dépendance texlive-core

Message par MbdM »

FoolEcho a écrit :Le mainteneur n'a donc pas à retoucher son PKGBUILD dès qu'une nouvelle révision arrive -- encore heureux ^^ (dans le détail et pour info, tu peux modifier pkgver que ça ne change rien: pour obtenir une version à une date précise il faut modifier comment les sources sont récupérées, donc cf. man de svn, git et cie).
Ah bon, je pensais pourtant bien que le $pkgver renseigné dans le PKGBUILD indiquait la révision à récupérer. On trouve d'ailleurs la commande suivante :

Code : Tout sélectionner

svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
Il me semble bien que l'option -r indique à subversion la révision à récupérer.
FoolEcho a écrit :Dès lors, tu n'auras jamais de notification pour mettre à jour le paquet svn, à moins que le mainteneur ne modifie son PKGBUILD (et comme je disais, on ne le fait que parce que ça ne compile plus, que les dépendances ont changé de nom, qu'un patch doit être appliqué, etc.). Si tu veux une version de développement à jour, tu devras la mettre à jour périodiquement.
Comment on fait alors pour mettre à jour si yaourt ne repère pas de nouvelle version ?
Désolé pour les questions mais je découvre Archlinux depuis peu après plusieurs années dans le monde debian. ^^
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [asymptote-svn] Gérer la dépendance texlive-core

Message par FoolEcho »

MbdM a écrit :Ah bon, je pensais pourtant bien que le $pkgver renseigné dans le PKGBUILD indiquait la révision à récupérer. On trouve d'ailleurs la commande suivante :

Code : Tout sélectionner

svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod
Oui, mais ça n'est pas valable pour tous, j'avais ça en tête (cf wiki en):
When makepkg is run, by default it will check for newer revisions and then update the pkgver in the PKGBUILD. Look at --holdver in man makepkg if you want otherwise. --holdver only works for cvs and svn, which allow checkout of older revisions.
Et donc, erreur de ma part, pour svn, ça fonctionne (par contre, je te confirme que pour du bzr ou autre, makepkg se fiche d'un numéro de révision basé sur pkgver)...

Donc du coup, oui, le PKGBUILD doit être mis à jour (mince, moi qui maintient un paquet svn, va falloir que je vérifie :oops: ).
À l'inverse pour du git ou du bzr, l'utilisateur peut mettre à jour tout seul (mais y a des chances qu'il ne le fasse pas avant que le PKGBUILD soit rectifié).

Vu la cohérence là-dessus, une raison de plus d'éviter les paquets de développement. :P
Pour aller dans ce sens: si texlive que tu as installé est une version stable, tu devrais installer la version stable d'asymptote.
«The following statement is not true. The previous statement is true.» :nage:
MbdM
Hankyu
Messages : 10
Inscription : ven. 14 déc. 2012, 11:57

Re: [asymptote-svn] Gérer la dépendance texlive-core

Message par MbdM »

FoolEcho a écrit :Pour aller dans ce sens: si texlive que tu as installé est une version stable, tu devrais installer la version stable d'asymptote.
C'est une version stable de texlive mais je ne suis pas passé par les paquets archlinux ce qui va impliquer des problèmes de dépendances (et de chemins) pour l'installation d'asymptote.

En tous cas, si j'ai bien compris, voilà ce que je peux faire :

1) Je récupère de PKGBUILD dans mon home via yaourt -G asymptote-svn.
2) Je modifie le fichier PKGBUILD pour supprimer les dépendances demandées, modifier éventuellement les chemins (à priori il n'est pas nécessaire de les indiquer à ./configure pour que ça fonctionne dans le cadre d'une installation install-tl de texlive) et supprimer le $pkgver et l'option -r de svn co afin de récupérer toujours les dernières sources.
3) Ensuite je lance un makepkg qui devrait tout compiler et installer correctement.

Maintenant il me reste à comprendre comment vont fonctionner les mises à jour du paquet. A priori il suffirait que je relance le makepkg depuis mon home ce qui devrait me lancer un svn up puis une recompilation et installation. Mais yaourt va dire quoi dans tout ça ?
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [asymptote-svn] Gérer la dépendance texlive-core

Message par FoolEcho »

C'est un brin tordu en fait. Le truc très marrant avec svn dans les PKGBUILDs (m'a fallu vérifié ^^) est que, même si ça récupère et compile effectivement la version indiquée par pkgver dans -r, pkgver dans le PKGBUILD est lui correctement mis à jour (dans le cas où tu compiles à partir de ton propre répertoire), du coup la compilation suivante devient à jour, d'où utilisation de makepkg --holdver pour bloquer (fonctionne aussi pour bzr, tiens). :mrgreen:

Mais bref:
MbdM a écrit :A priori il suffirait que je relance le makepkg depuis mon home ce qui devrait me lancer un svn up puis une recompilation et installation. Mais yaourt va dire quoi dans tout ça ?
Oui, il suffit de relancer makepkg. Tant que tu n'utilises ni --holdpkg ni -r dans le svn, la version du PKGBUILD sera la dernière en date (sauf que ça crée une incohérence entre la version du paquet et la version extraite: il vaut mieux définir un -r pkgver).
Ensuite tu installes normalement le paquet avec pacman (ou d'un coup avec makepkg -sir). Ensuite à toi de voir si tu renommes le paquet ou pas (vaudrait peut-être mieux sinon tu risques d'avoir des soucis lors des mises à jour avec yaourt / ou alors ça peut te permettre de savoir quand toi tu as à recompiler :fou: ).
«The following statement is not true. The previous statement is true.» :nage:
MbdM
Hankyu
Messages : 10
Inscription : ven. 14 déc. 2012, 11:57

Re: [asymptote-svn] Gérer la dépendance texlive-core

Message par MbdM »

Ok, merci pour tous ces éclaircissements. Je vais faire quelques tests maintenant histoire de tout mettre au clair. :mrgreen:
Répondre