[Résolu] [Mesa] Mise à jour Mesa 19.2.3

Applications, problèmes de configuration réseau
Répondre
yostral
Daikyu
Messages : 73
Inscription : mar. 05 nov. 2013, 18:51

[Résolu] [Mesa] Mise à jour Mesa 19.2.3

Message par yostral » sam. 09 nov. 2019, 18:27

Bonjour.

Depuis quelques jours il y a une mise à jour de Mesa vers la version 19.2.3. Je n'ai pas encore fait cette mise à jour car je me pose une question : pourquoi la "Taille de la mise à jour nette" est 450Mo inférieure à avant ? Qu'est-ce qu'il y a en moins pour perdre autant ? C'est énorme. Quelqu'un aurait une explication ?
Dernière modification par yostral le dim. 10 nov. 2019, 01:25, modifié 1 fois.

hopimet
Elfe
Messages : 941
Inscription : mer. 14 mars 2012, 22:48

Re: [Mesa] Mise à jour Mesa 19.2.3

Message par hopimet » sam. 09 nov. 2019, 18:54

Salut,

Je vois mal comment mesa pourrait être responsable de ça (-450 Mo ça fait beaucoup). Tu peux donner le retour ce que renvoie : sudo pacman -Syu (sans valider la mise à jour)

benjarobin
Maître du Kyudo
Messages : 15534
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Mesa] Mise à jour Mesa 19.2.3

Message par benjarobin » sam. 09 nov. 2019, 18:54

Bonjour,
Ce n'est sûrement pas mesa qui a diminué... La taille du paquet ne fait que grossir (J'ai utilisé https://archive.archlinux.org pour vérifier)...
Comment es tu arrivé à cette conclusion ??
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

hopimet
Elfe
Messages : 941
Inscription : mer. 14 mars 2012, 22:48

Re: [Mesa] Mise à jour Mesa 19.2.3

Message par hopimet » sam. 09 nov. 2019, 18:58

"Taille de la mise à jour nette" c'est un message de pacman, non ?

benjarobin
Maître du Kyudo
Messages : 15534
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Mesa] Mise à jour Mesa 19.2.3

Message par benjarobin » sam. 09 nov. 2019, 20:24

@hopimet Oui, mais c'est le résultat de l'ensemble de la mise à jour. Je ne pense pas que sa mise à jour ne contienne que mesa.
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

yostral
Daikyu
Messages : 73
Inscription : mar. 05 nov. 2013, 18:51

Re: [Mesa] Mise à jour Mesa 19.2.3

Message par yostral » dim. 10 nov. 2019, 00:40

J'ai utilisé la commande suivante pour comparer la taille des paquets avant et après la mise à jour :

Code : Tout sélectionner

join -a1 <(package-query -Q -f "%n\t%2" $(pacman -Qqu) | sort -u) <(package-query -S -f "%n\t%2" $(pacman -Qqu) | sort -u) | column -t
Et oui ça vient bien de Mesa.

J'ai aussi fait une mise à jour de tous les autres paquets, dont la taille ne varie que très peu, et ai laissé les paquets Mesa de côté. Et quand j'ai demandé une mise à jour avec uniquement Mesa qu'il restait, il y avait bien toujours les -450Mo.
Et c'est pareil sur les 6 ordis que je gère.

yostral
Daikyu
Messages : 73
Inscription : mar. 05 nov. 2013, 18:51

Re: [Mesa] Mise à jour Mesa 19.2.3

Message par yostral » dim. 10 nov. 2019, 01:24

Je viens de charger les paquets sur archive des versions 19.2.1, 19.2.2 et 19.2.3. Concrètement, les tailles sont identiques.

En regardant dans les fichiers pkginfo, il y a la valeur "size" du paquet une fois décompressé, valeur sur laquelle se base certainement la commande donnée ci-dessus. Et là on se rend compte que pour les versions 19.2.1 et 19.2.3 ces valeurs correspondent bien à la taille réelle et sont quasi identiques. Mais pas pour la 19.2.2, où cette valeur est beaucoup plus grande. Et la différence de 450Mo vient de là.

Je penche donc plutôt pour une erreur lors de l'empaquetage de la version 19.2.2. :)

Merci à tous et désolé du dérangement :copain: .

hopimet
Elfe
Messages : 941
Inscription : mer. 14 mars 2012, 22:48

Re: [Mesa] Mise à jour Mesa 19.2.3

Message par hopimet » dim. 10 nov. 2019, 08:07

benjarobin a écrit :
sam. 09 nov. 2019, 20:24
@hopimet Oui, mais c'est le résultat de l'ensemble de la mise à jour. Je ne pense pas que sa mise à jour ne contienne que mesa.
C'est bien pour ça que je demandais pacman -Syu : pour voir quels autres paquets il y avait dans la mise à jour.

avi3000
Chu Ko Nu
Messages : 378
Inscription : dim. 19 juin 2011, 18:53
Localisation : dans le neuf trois

Re: [Résolu] [Mesa] Mise à jour Mesa 19.2.3

Message par avi3000 » lun. 11 nov. 2019, 10:17

Il y a eu dernièrement 2 mises à jour de makepkg.
Ces mises à jour avaient pour but de donner un résultat constant et reproductible pour la taille du paquet, quel que soit l'os (linux, bsd, darwin) et le système de fichiers utilisé par le mainteneur du paquet.

La première mise à jour donnait un résultat constant, mais comptabilisait plusieurs fois la taille des 'hardlinks'.
La deuxième ne comptabilise qu'une seule fois les 'hardlinks'.

La variation de 200 Mo est due au contenu de /usr/lib/dri.

dirsize (version compte multiple pacman)

Code : Tout sélectionner

	find . -type f -exec cat {} + 2>/dev/null | wc -c
dirsize (version actuelle pacman, /usr/share/makepkg/util/dirsize.sh)

Code : Tout sélectionner

dirsize() {
        local file inode
        declare -A files

        {
                find . -type f -links 1 -exec cat {} + 2>/dev/null
                while read -rd ' ' inode; do
                        IFS= read -r file
                        if [[ -z ${files[$inode]} ]]; then
                                files[$inode]=found
                                cat "$file"
                        fi
                done < <(find . -type f -links +1 -exec stat -c '%i %n' {} + 2>/dev/null)
        } | wc -c
}
dirsize ( ma version, non retenue par l'équipe de développeurs pacman )

Code : Tout sélectionner

dir_size () {
    local _ sz size=0

    while read _ sz; do
        size=$(( size + sz ))
    done < <( find "$@" -xdev -type f -exec stat -c '%i %s' -- {} + 2>/dev/null | sort -u )
    echo $size
}

echo $(dir_size "$@")
La mienne est plus rapide sur linux (testée extN, vfat, ntfs), mais non testée sur bsd et darwin.

benjarobin
Maître du Kyudo
Messages : 15534
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Résolu] [Mesa] Mise à jour Mesa 19.2.3

Message par benjarobin » lun. 11 nov. 2019, 11:05

avi3000 a écrit :
lun. 11 nov. 2019, 10:17
dirsize ( ma version, non retenue par l'équipe de développeurs pacman
Pourrais tu fournir un lien vers la discussion à ce sujet ? Je serais curieux d'avoir une justification des choix réalisés, car à première vue ta solution est assez propre et ne nécessite pas de lire tout le contenu du fichier. Après leur nouvelle solution est théoriquement guère plus lente que l'ancienne, donc bon...
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

avi3000
Chu Ko Nu
Messages : 378
Inscription : dim. 19 juin 2011, 18:53
Localisation : dans le neuf trois

Re: [Résolu] [Mesa] Mise à jour Mesa 19.2.3

Message par avi3000 » lun. 11 nov. 2019, 11:43

https://lists.archlinux.org/pipermail/p ... 23772.html
Allan Mac Rae a écrit : On 28/10/19 3:01 am, la.luge wrote:
> Uses stat -c '%i %s' and sort -u to count hardlink one time.
> Gives same result than cat | wc -c without harlinks and good result with hardlinks.
> Doesn't use filenames
>

Forwarding to the pacman-dev list.

My concern is that this is using the same information that du does to
get the file size. And we have had repeated issue after issue for
calculating file sizes with du, though we are not entirely sure of the
cause (weird filesystem behaviour being the best guess). So I'd prefer
just to stick to wc -c.
c'est lui le patron

quelques tests sur /usr
pacman version multiple

Code : Tout sélectionner

time find /usr -type f -exec cat {} + 2>/dev/null | wc -c
1710926627

real    0m12,627s
user    0m0,578s
sys     0m3,551s

time find /usr -type f -exec cat {} + 2>/dev/null | wc -c
1710926627

real    0m0,996s
user    0m0,259s
sys     0m1,090s
pacman version actuelle

Code : Tout sélectionner

time echo $(/usr/share/makepkg/util/dirsize.sh)
1575704085

real    0m1,184s
user    0m0,330s
sys     0m1,192s
ma version

Code : Tout sélectionner

time /mnt/homes/C/sh/dirsize
1575704085

real    0m1,050s
user    0m0,738s
sys     0m0,336s
avec cat |wc -c, la première passe est beaucoup plus longue.
Quand les fichiers sont dans le cache, l'ordre de grandeur est le même.

benjarobin
Maître du Kyudo
Messages : 15534
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Résolu] [Mesa] Mise à jour Mesa 19.2.3

Message par benjarobin » lun. 11 nov. 2019, 11:59

OK, merci pour les info.
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

avi3000
Chu Ko Nu
Messages : 378
Inscription : dim. 19 juin 2011, 18:53
Localisation : dans le neuf trois

Re: [Résolu] [Mesa] Mise à jour Mesa 19.2.3

Message par avi3000 » lun. 11 nov. 2019, 13:25

N'ayant pas testé tous les systèmes de fichiers et tous les os, je ne peux pas affirmer que ma solution est 100% fiable.
Mais cela suppose que les tailles fournies par 'stat' ne soient pas fiables.
stat fait partie de coreutils. Je suppose que les infos sont justes pour linux et bsd.
Quand il y a une erreur pour un système de fichiers le bug doit être corrigé relativement rapidement.
Je pense qu'il en est de même pour coreutils dans macports

yostral
Daikyu
Messages : 73
Inscription : mar. 05 nov. 2013, 18:51

Re: [Résolu] [Mesa] Mise à jour Mesa 19.2.3

Message par yostral » lun. 11 nov. 2019, 23:12

Merci avi3000 pour tes lumières :chinois: .

Répondre