Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[PORTMASTER] dépendances circulaires

8 réponses
Avatar
Che Averell
Hello,

J'ai installé sur mon FreeBSD quelques mises à jour de sécurité, et
portmaster m'a proposé de mettre à jour Perl. Groumpf.

Ensuite, j'ai voulu réinstaller tous les modules perl, avec la
commande :
# portmaster p5-

Et, là, portmaster part en vrille, parce qu'il a détecté que p5-libwww
a comme dépendance lui-même :
===>>> Launching child to update p5-libwww-5.837 to p5-libwww-6.02_1
p5-libwww-5.837 >> p5-libwww-5.837 >> p5-libwww-5.837 >>
>> p5-libwww-5.837 >> p5-libwww-5.837 >> p5-libwww-5.837 >>
>> p5-libwww-5.837

===>>> Port directory: /usr/ports/www/p5-libwww

===>>> Launching 'make checksum' for www/p5-libwww in background
===>>> Gathering dependency list for www/p5-libwww from ports

===>>> The dependency for net/p5-Net-HTTP
seems to be handled by p5-libwww-5.837


Comment on traite correctement ce cas ?


En attendant, la commande "perl-after-upgrade" règle le problème, mais
j'ai toujours un soucis de mise à jour.

'rci !

8 réponses

Avatar
xavier
Che Averell wrote:

J'ai installé sur mon FreeBSD quelques mises à jour de sécurité, et
portmaster m'a proposé de mettre à jour Perl. Groumpf.



Toujours un grand moment, et l'occasion de boire quelque litres de
café :-)

Et même pour les versions mineures (5.14 -> 5.14.4)

Comment on traite correctement ce cas ?



Je sais pas, j'utilise portupgrade et n'ai eu aucun souci en suivant les
instructions dans UPDATING :

------------------ >8 -----------------------
20110517:
AFFECTS: users of lang/perl*
AUTHOR:

lang/perl5.14 is out. If you want to switch to it from, for example
lang/perl5.12, that is:

Portupgrade users:
0) Fix pkgdb.db (for safety):
pkgdb -Ff

1) Reinstall new version of Perl (5.14):
env DISABLE_CONFLICTS=1 portupgrade -o lang/perl5.14 -f
perl-5.12.*

2) Reinstall everything that depends on Perl:
portupgrade -fr perl

Portmaster users:
portmaster -o lang/perl5.14 lang/perl5.12

Conservative:
portmaster p5-

Comprehensive (but perhaps overkill):
portmaster -r perl-

Note: If the "perl-" glob matches more than one port you will need to
specify the name of the Perl directory in /var/db/pkg
explicitly.
------------------ >8 -----------------------

Et c'est curieux, je n'ai pas eu de problème avec les dépendances
de p5-libwww
Portmaster s'appuie sur quoi ? ports/INDEX-X ou une DB à lui ?

Peut-être reconstruire l'un ou l'autre...

HTH,

--
XAv
In your pomp and all your glory you're a poorer man than me,
as you lick the boots of death born out of fear.
(Jethro Tull)
Avatar
Che Averell
(Xavier) écrit :
J'ai installé sur mon FreeBSD quelques mises à jour de sécurité, et
portmaster m'a proposé de mettre à jour Perl. Groumpf.


Toujours un grand moment, et l'occasion de boire quelque litres de
café :-)
Et même pour les versions mineures (5.14 -> 5.14.4)



Wep, et là, c'est justement une version mineure : 5.12.3 -> 5.12.4.

Je sais pas, j'utilise portupgrade et n'ai eu aucun souci en suivant les
instructions dans UPDATING :



Justement, j'ai suivi les instructions d'UPDATING.

Et c'est curieux, je n'ai pas eu de problème avec les dépendances
de p5-libwww
Portmaster s'appuie sur quoi ? ports/INDEX-X ou une DB à lui ?



D'après le man :
It does not use an external database to track what you have installed.
Rather it uses the existing ports infrastructure, including what is
located in /var/db/pkg.

Et c'est justement pour ça que j'ai préféré portmaster par rapport à
portupgrade.

Peut-être reconstruire l'un ou l'autre...



Je ne pense pas avoir de soucis avec mon /var/db/pkg...
Avatar
xavier
Che Averell wrote:

Je ne pense pas avoir de soucis avec mon /var/db/pkg...



De toutes façons dans /var/db/pkg, tu n'as que les dépendances ascendantes :

| [ ~]$ cat /var/db/pkg/p5-libwww-6.02_1/+REQUIRED_BY
| p5-Mail-SpamAssassin-3.3.2_2

et pour le Makefile, il n'y a pas de bug :

| [ ~]$ less /usr/ports/www/p5-libwww/Makefile
| [...snip...]
| RUN_DEPENDS= p5-Authen-NTLM>=1.02:${PORTSDIR}/security/p5-Authen-NTLM
| p5-Encode-Locale>=0:${PORTSDIR}/converters/p5-Encode-Locale
| p5-File-Listing>=6:${PORTSDIR}/sysutils/p5-File-Listing
| p5-HTML-Parser>=0:${PORTSDIR}/www/p5-HTML-Parser
| p5-HTTP-Cookies>=6:${PORTSDIR}/www/p5-HTTP-Cookies
| p5-HTTP-Daemon>=6:${PORTSDIR}/www/p5-HTTP-Daemon
| p5-HTTP-Date>=6:${PORTSDIR}/www/p5-HTTP-Date
| p5-HTTP-Message>=6:${PORTSDIR}/www/p5-HTTP-Message
| p5-HTTP-Negotiate>=6:${PORTSDIR}/www/p5-HTTP-Negotiate
| p5-LWP-MediaTypes>=6:${PORTSDIR}/www/p5-LWP-MediaTypes
| p5-Net-HTTP>=6:${PORTSDIR}/net/p5-Net-HTTP
| p5-URI>=1.10:${PORTSDIR}/net/p5-URI
| p5-WWW-RobotRules>=6:${PORTSDIR}/www/p5-WWW-RobotRules
| [...snip...]
et pas de BUILD_DEPENDS

Ton problème est curieux... Je ferais quand même un make fetchindex pour être
sûr. Ou make index si tu as beaucoup de café :-)

--
XAv
In your pomp and all your glory you're a poorer man than me,
as you lick the boots of death born out of fear.
(Jethro Tull)
Avatar
Che Averell
(Xavier) écrit :
Ton problème est curieux... Je ferais quand même un make fetchindex pour être
sûr. Ou make index si tu as beaucoup de café :-)



J'ai passé un "make fetchindex", et pas mieux. Je suis en train de
faire passer un "make index", mais je ne pense pas que ça change
grande chose...

Mais en fait ce qui me
parait curieux, c'est ça :
===>>> The dependency for net/p5-Net-HTTP
seems to be handled by p5-libwww-5.837

Hors, si on regarde p5-Net-HTTP, on a :
RUN_DEPENDS p5-Compress-Raw-Zlib>=0:${PORTSDIR}/archivers/p5-Compress-Raw-Zlib
p5-IO-Compress>=0:${PORTSDIR}/archivers/p5-IO-Compress
p5-IO-Socket-SSL>=1.38:${PORTSDIR}/security/p5-IO-Socket-SSL
BUILD_DEPENDS:= ${RUN_DEPENDS}
CONFLICTS= p5-libwww-5*

Hors, p5-libww-5 est la version actuellement installée, et il essaye
de mettre à jour vers p5-libwww-6.

Je ne vois rien de déconnant là dedans, et je ne comprends pas pourquoi
il essaye d'installer libwww à la place de p5-Net-HTTP...
Avatar
xavier
Che Averell wrote:

Mais en fait ce qui me parait curieux, c'est ça :
===>>> The dependency for net/p5-Net-HTTP
seems to be handled by p5-libwww-5.837
[....]
Je ne vois rien de déconnant là dedans, et je ne comprends pas pourquoi
il essaye d'installer libwww à la place de p5-Net-HTTP...



Ah oui, là normalement portupgrade t'injurie ("will install same files
at the same place")

un pkgdb -F ne t'indique pas une "duplicate dependency" ?

Quand j'ai ce genre de problème, je désinstalle (pkg_delete -f) les
deux, et relance pkgdb -F qui en général donne le choix et/ou la marche
à suivre. portupgrade/portmaster ne sont pas parfaits, mais je préfère
leur granularité à celle de Debian. Avec un peu de méthode, on s'en sort
toujours.

--
XAv
In your pomp and all your glory you're a poorer man than me,
as you lick the boots of death born out of fear.
(Jethro Tull)
Avatar
Che Averell
(Xavier) écrit :
Ah oui, là normalement portupgrade t'injurie ("will install same files
at the same place")
un pkgdb -F ne t'indique pas une "duplicate dependency" ?



Je n'ai pas portupgrade, donc je n'ai pas pkgdb. C'est portmaster que
j'utilise.

Quand j'ai ce genre de problème, je désinstalle (pkg_delete -f) les
deux, et relance pkgdb -F qui en général donne le choix et/ou la marche
à suivre. portupgrade/portmaster ne sont pas parfaits, mais je préfère
leur granularité à celle de Debian. Avec un peu de méthode, on s'en sort
toujours.



Je peux toujours essayer de supprimer le package, et l'installer
directement depuis les ports. Mais le soucis, c'est que si ça échoue
pour une raison ou une autre, y'a des choses qui vont moins bien
marcher. Du coup, j'aimerais être sûr avant de le faire...
Avatar
Eric Masson
Che Averell writes:

'Lut,

Je ne vois rien de déconnant là dedans, et je ne comprends pas pourquoi
il essaye d'installer libwww à la place de p5-Net-HTTP...



Sjmsb, il y a une entrée sur le sujet dans ports/UPDATING.

--
TK> A la rentrée proposer un seul forum jeux vidéo modéré
Si c'est le cas je sollicite un droit de regard sur le travail des
modérateurs, avec d'autres joueurs volontaires.
-+- Spip in Guide du Neuneu Usenet - Modérons les modérateurs
Avatar
Che Averell
Eric Masson écrit :
Je ne vois rien de déconnant là dedans, et je ne comprends pas pourquoi
il essaye d'installer libwww à la place de p5-Net-HTTP...


Sjmsb, il y a une entrée sur le sujet dans ports/UPDATING.



Grmmbbl. Tu as raison :
portmaster cannot process the upgrade of www/p5-libwww from version
5 to version 6. To upgrade p5-libwww, use portupgrade instead, or
deinstall p5-libwww before reinstalling:

If you use portmaster:
# pkg_delete -f 'p5-libwww-5*' ; portmaster www/p5-libwww

If you use portupgrade, no special treatment is necessary.


'rci Eric.