pkgin 0.5.2.3

!@#!@# de bug.

Des mois que je cherchais au mauvais endroit, en effet, uniquement chez certains utilisateurs (évidemment), un pkgin up / fug proposait d’installer l’univers. Problème dans le moteur de dépendances me dis-je; que de temps perdu à décortiquer ce qui fonctionnait parfaitement, pour finalement tomber sur ceci:

Il ne faut PAaaaaaaas coder avec de l’alcool dans le sang, il ne faut pas, parce qu’après, on se retrouve avec des bouts de trucs ni faits ni à faire qui supposent que les membres d’une structure seront forcément alignés, et des effets de bords qui n’ont rien à voir.

Bref, stacktic m’a proposé cette méthode, bien plus élégante: static const struct Summary { const int type; const char *tbl_name; const char *deps; const char *conflicts; const char *requires; const char *provides; const char *end; } sumsw[] = { [LOCAL_SUMMARY] = { LOCAL_SUMMARY, “LOCAL_PKG”, “LOCAL_DEPS”, “LOCAL_CONFLICTS”, “LOCAL_REQUIRES”, “LOCAL_PROVIDES”, NULL }, [REMOTE_SUMMARY] = { REMOTE_SUMMARY, “REMOTE_PKG”, “REMOTE_DEPS”, “REMOTE_CONFLICTS”, “REMOTE_REQUIRES”, “REMOTE_PROVIDES”, NULL }, };

[…]

/* (REMOTE[LOCAL)_PKG is first -> skip */
for (arr = &(sum.tbl_name) + 1; *arr != NULL; ++arr) {

Aaah, bah oui, tout de suite c’est moins dégueulasse hein.

0.5.2.3 est dans current, et le pullup request vient de partir.

meh.