Actualités & Annonces de l'équipe de développement et des administrateurs du forum.
Répondre

Nouveau format de paquets pour pacman 5.2

#1Messageil y a 4 ans

:bjr:
Encore un changement sous le capot de Archlinux est annoncé

La prochaine version de pacman va utiliser des archives .zst à la place des actuel .xz , donc nos extensions de paquets seront prochainement .pkg.tar.zst

Pour nous simple utilisateur ? rien, c'est complètement transparent !

Nouveau format de paquets pour pacman 5.2

#2Messageil y a 4 ans

:salut: papajoke, merci pour l'info et le lien. J'ai vu passer cette news, ce matin, dans mon logiciel de MAJ (kalu) mais je n'ai pas pris le temps de la lire. :merci:

Nouveau format de paquets pour pacman 5.2

#3Messageil y a 4 ans

Salut.
Qu'en est-il de la rétro-compatibilité ? Est-ce que l'on pourra toujours installer des paquets en tar.xz ?

Nouveau format de paquets pour pacman 5.2

#4Messageil y a 4 ans

En fait le support de ce format a été intégré il y a déjà un an (2018-09-19) dans pacman !

pacman reconnait déjà de nombreux formats de compression (de paquets) :
`.tar`, `.tar.gz`, `.tar.bz2`, `.tar.xz`, `.tar.zst`, `.tar.lzo`, `.tar.lrz`, `.tar.lz4`, `.tar.Z`
- par exemple, perso j'utilise le format ".pkg.tar.gz" pour générer mes paquets aur

Ici cette annonce est plus pour prévenir que les fichiers dans les dépôts vont changer. Cela sera à l'occasion de la sortie de pacman 5.2 (mais en fait cette version n'est pas spécifique à ce changement : voir readme)

Nouveau format de paquets pour pacman 5.2

#5Messageil y a 4 ans

:bjr:
pacman 5.2 est finalisé, le commit et l'annonce est faite ; sans grand changements particuliers ; bientôt la sortie chez archlinux EDIT: Fait le 23...

A noter que l'option --force est cette fois supprimée

Nouveau format de paquets pour pacman 5.2

#6Messageil y a 4 ans

En testing depuis hier.
Pacman-5.2 a donné le coup de grâce au vénérable yaourt qui n'est plus du tout compatible.

Nouveau format de paquets pour pacman 5.2

#7Messageil y a 4 ans

j'ai cet écart pour le fichier de config pacman.conf

- doit-on supprimer CacheDir ?
- doit on supprimer package required siglevel ?

sudo diff -y /etc/pacman.conf /etc/pacman.conf.pacnew
#								#
# /etc/pacman.conf						# /etc/pacman.conf
#								#
# See the pacman.conf(5) manpage for option and repository di	# See the pacman.conf(5) manpage for option and repository di

#								#
# GENERAL OPTIONS						# GENERAL OPTIONS
#								#
[options]							[options]
# The following paths are commented out with their default va	# The following paths are commented out with their default va
# If you wish to use different paths, uncomment and update th	# If you wish to use different paths, uncomment and update th
#RootDir     = /						#RootDir     = /
#DBPath      = /var/lib/pacman/					#DBPath      = /var/lib/pacman/
CacheDir = /var/cache/pacman/pkg/			      |	#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log				#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/				#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/				#HookDir     = /etc/pacman.d/hooks/
HoldPkg      = pacman glibc manjaro-system			HoldPkg      = pacman glibc manjaro-system
# If upgrades are available for these packages they will be a	# If upgrades are available for these packages they will be a
SyncFirst    = manjaro-system archlinux-keyring manjaro-keyri	SyncFirst    = manjaro-system archlinux-keyring manjaro-keyri
#XferCommand = /usr/bin/curl -C - -f %u > %o		      |	#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u		#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled					#CleanMethod = KeepInstalled
#UseDelta    = 0.7					      <
Architecture = auto						Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and membe	# Pacman won't upgrade packages listed in IgnorePkg and membe
#IgnorePkg   =							#IgnorePkg   =
IgnorePkg = os-prober					      <
#IgnoreGroup =							#IgnoreGroup =

#NoUpgrade   =							#NoUpgrade   =
#NoExtract   =							#NoExtract   =

# Misc options							# Misc options
#UseSyslog							#UseSyslog
Color							      |	#Color
#TotalDownload							#TotalDownload
# We cannot check disk space from within a chroot environment <
CheckSpace							CheckSpace
#VerbosePkgLists						#VerbosePkgLists

# By default, pacman accepts packages signed by keys that its	# By default, pacman accepts packages signed by keys that its
# trusts (see pacman-key and its man page), as well as unsign	# trusts (see pacman-key and its man page), as well as unsign
SigLevel = Required DatabaseOptional			      |	SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional					LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required					#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using p	# NOTE: You must run `pacman-key --init` before first using p
# keyring can then be populated with the keys of all official	# keyring can then be populated with the keys of all official
# packagers with `pacman-key --populate archlinux manjaro`.	# packagers with `pacman-key --populate archlinux manjaro`.

#								#
# REPOSITORIES							# REPOSITORIES
#   - can be defined here or included from another file		#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined he	#   - pacman will search repositories in the order defined he
#   - local/custom mirrors can be added here or in separate f	#   - local/custom mirrors can be added here or in separate f
#   - repositories listed first will take precedence when pac	#   - repositories listed first will take precedence when pac
#     have identical names, regardless of version number	#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the curren	#   - URLs will have $repo replaced by the name of the curren
#   - URLs will have $arch replaced by the name of the archit	#   - URLs will have $arch replaced by the name of the archit
#								#
# Repository entries are of the format:				# Repository entries are of the format:
#       [repo-name]						#       [repo-name]
#       Server = ServerName					#       Server = ServerName
#       Include = IncludePath					#       Include = IncludePath
#								#
# The header [repo-name] is crucial - it must be present and	# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.				# uncommented to enable the repo.
#								#

# The testing repositories are disabled by default. To enable <
# repo name header and Include lines. You can add preferred s <
# after the header, and they will be used before the default  <
							      <
[core]								[core]
SigLevel = PackageRequired				      <
Include = /etc/pacman.d/mirrorlist				Include = /etc/pacman.d/mirrorlist

[extra]								[extra]
SigLevel = PackageRequired				      <
Include = /etc/pacman.d/mirrorlist				Include = /etc/pacman.d/mirrorlist

[community]							[community]
SigLevel = PackageRequired				      <
Include = /etc/pacman.d/mirrorlist				Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 syste	# If you want to run 32 bit applications on your x86_64 syste
# enable the multilib repositories as required here.		# enable the multilib repositories as required here.

[multilib]							[multilib]
SigLevel = PackageRequired				      <
Include = /etc/pacman.d/mirrorlist				Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman 	# An example of a custom package repository.  See the pacman 
# tips on creating your own repositories.			# tips on creating your own repositories.
#[custom]							#[custom]
#SigLevel = Optional TrustAll					#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs				#Server = file:///home/custompkgs
							      <

Nouveau format de paquets pour pacman 5.2

#8Messageil y a 4 ans

bonjour

pour CacheDir, c'est la valeur par défaut donc en commentaire ou non ne change rien
pour SigLevel, le premier s'applique à tous les dépôts (core,extra,...), donc dans le paragraphe dépôt ([extra]) , il est là aussi optionnel. Généralement on n'a pas a rajouter un SigLevel pour un dépôt sauf si c'est un dépôt non officiel
lemust83 a écrit : il y a 4 ans Pacman-5.2 a donné le coup de grâce au vénérable yaourt qui n'est plus du tout compatible.
ras chez moi ? et il n'y a pas de raison puisque c'est juste un script bash
Par contre yaourt utilise le paquet package-query qui lui est à jour (1.10 sur aur) contrairement au dépôt manjaro instable (v1.9)

Nouveau format de paquets pour pacman 5.2

#9Messageil y a 4 ans

Papajoke a écrit :Par contre yaourt utilise le paquet package-query qui lui est à jour (1.10 sur aur) contrairement au dépôt manjaro instable (v1.9)
Effectivement , si je lance yaourt avec le package-query des dépôts:

package-query: error while loading shared libraries: libalpm.so.11: cannot open shared object file: No such file or directory
Par contre en construisant directement package-query depuis Aur via git clone + makepkg ça passe :bien
Un sursis de plus :clap

Nouveau format de paquets pour pacman 5.2

#10Messageil y a 4 ans

Salut,

Je suis tombé sur la discussion des devs sur la mailing list, le déploiement est prévu pour le 27 Décembre. On peut donc espérer voir de nouveaux paquets arriver avec le nouveau format d'archive à partir de l'année prochaine, les paquets déjà en place migreront progressivement, la durée de cette transition est prévue sur deux ans. Pour les devs, le gain est significatif pour la vitesse de création des paquets, la compression étant très rapide.

Côté utilisateur, ce nouveau format de paquet permettra d'exploiter au maximum la puissance processeur et la rapidité des disques. Ce sera intéressant surtout sur les grosses applications, les paquets s'installeront bien plus vite si vous avez un processeur avec beaucoup de coeurs/threads et des disque SSD de compète.

Pour ceux qui voudraient créer leur paquets perso dans ce nouveau format, il ya deux lignes a éditer dans makepkg.conf :

COMPRESSZST=(zstd -c -T0 -20 --ultra -)
 .....
PKGEXT='.pkg.tar.zst'
L'option -T0 laisse zstd détecter le nombre de processeurs/threads de votre machine, vous pouvez aussi définir le nombre de coeurs/threads à utiliser, -T1 pour 1 -T2 pour 2 etc...
-20 est le niveau de compression avec --ultra pour accéder aux niveaux 20 à 22, zstd est rapide, mais il compresse moins que xz, c'est pourquoi il faut un niveau aussi élevé pour avoir des paquets tar.zst de taille à peu près équivalente à ceux en tar.xz.

Nouveau format de paquets pour pacman 5.2

#11Messageil y a 4 ans

J'aimerai juste revenir sur ce que lemust a dit
Pacman-5.2 a donné le coup de grâce au vénérable yaourt qui n'est plus du tout compatible.
Pour le moment je n'ai eu aucun soucis depuis le passage en 5.2 et je continue avec yaourt comment ça ce fait ?
J'avais l'habitude d'utiliser yaourt-gui pour faire certaines choses, je peut du coup encore continuer à l'utiliser ? ( Il est vraiment utile pour moi )

Merci

Nouveau format de paquets pour pacman 5.2

#12Messageil y a 4 ans

En fait, c'est le paquet package-query qu'il a fallu mettre à jour depuis Aur.
J'avais constaté que suite à cette mise à jour , yaourt ne fonctionnait plus chez moi et vu qu'il n'est plus maintenu, j'ai été un peu trop rapide a tirer des conclusions...

Nouveau format de paquets pour pacman 5.2

#13Messageil y a 4 ans

Ok merci pour l'info car je n'utilise que lui du coup je me suis demander si je n'allais pas avoir de soucis
Répondre