Page 1 sur 1

[Script] Mise a jour des paquets installé depuis AUR

Publié : mar. 31 juil. 2012, 11:07
par amennelet
Bonjour,
Je cherchais à avoir june commande équivalente à

Code : Tout sélectionner

sudo pacman -Syu
pour mettre a jour les paquets que j'avais installé depuis AUR.
Ne trouvant pas grand chose à part yaourt (mais j'aime trop pacman, rien que le nom!!) et voulant apprendre le bash, j'ai décidé d'écrire mon script pour faire ça.
L'idée est de retrouver les paquets installés explicitement ayant pour mainteneur "Unknown Packager", puis de les chercher sur AUR. Si les versions sont différentes, je propose de les mettre à jour.

Code : Tout sélectionner

#!/bin/sh

AUR_URL="https://aur.archlinux.org"

echo search aur package

# list all package explicitly installed
for package in `pacman -Qe|sed -e "s/\([^\ ]*\)\ .*/\1/"`; do
	
	# search for package with "Unknown Packager" (because install from makepgk not correctly setup)
	if [[ `pacman -Qi $package|grep "Unknown Packager"` == *"Unknown Packager" ]]; then
		
		# get the current version installed
		version_cur=`pacman -Q $package|cut -d" " -f2`

		# get the AUR version and url
		package_info=`curl -s "$AUR_URL/rpc.php?type=info&arg=$package"`
		version_new=`echo $package_info|sed -e "s/.*\"Version\":\"\([^\"]*\)\".*/\1/"`
		package_url=`echo $package_info|sed -e "s/.*\"URLPath\":\"\([^\"]*\)\".*/\1/"|sed -e "s,\\\\\\,,g"`

		printf "found %s (%s)\t%s\t%s\n" $package $package_url $version_cur $version_new

		# if version differ, then ask for installation
		if [[ $version_cur != $version_new ]];then
			read -p "Update $package from $version_cur to $version_new ?(y/n)"
			echo
			if [[ $REPLY =~ ^[Yy]$ ]]; then

				echo do update $package
				# get the tar.gz from AUR
				curl $AUR_URL$package_url -o $package.tar.gz

				# unzip
				tar zxvf $package.tar.gz

				# makepkg -s
				cd $package
				makepkg -s
				sudo pacman -U $package*

				# delete the tar.gz
				cd ..
				rm -r $package
				rm $package.tar.gz
			fi
		fi
	fi
done
https://gist.github.com/3215172

Voila.

Re: [Script] Mise a jour des paquets installé depuis AUR

Publié : mar. 31 juil. 2012, 11:14
par jc51
bonjour

pour mettre à jour tous les paquets même ceux de aur il y a la commande

Code : Tout sélectionner

yaourt -Syua

Re: [Script] Mise a jour des paquets installé depuis AUR

Publié : mar. 31 juil. 2012, 11:41
par tuxce
Je saisis pas bien, tu veux écrire un AUR Helper ? (il y en a déjà des tonnes non ?)

Pour avoir la liste des paquets AUR à mettre à jour, t'as des commandes pour pouvoir faire ça :

Code : Tout sélectionner

cower -u --format %n
# ou
package-query -Auf %n
Pour du pur bash, tu peux voir du côté de packer.

Re: [Script] Mise a jour des paquets installé depuis AUR

Publié : mar. 31 juil. 2012, 12:05
par Ypnose
Je fait pas de la flagornerie ou quoi, mais c'est vrai que j'adore package-query.
Je peux checker si des nouvelles versions sont dispos, chaque jour.

Re: [Script] Mise a jour des paquets installé depuis AUR

Publié : mar. 31 juil. 2012, 12:36
par amennelet
L'idée c'était plutôt de faire un script, c'est tombé sur la mise à jour des paquets AUR, mais ça aurait pu tomber sur autre chose...