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

Autres projets et contributions
amennelet
newbie
Messages : 6
Inscription : sam. 28 juil. 2012, 14:40

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

Message 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.
Alexandre
Avatar de l’utilisateur
jc51
Chu Ko Nu
Messages : 317
Inscription : jeu. 08 déc. 2011, 16:37

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

Message 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
Thinkpad 13 Archlinux/XFCE
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

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

Message 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.
Avatar de l’utilisateur
Ypnose
Maître du Kyudo
Messages : 1363
Inscription : sam. 01 mai 2010, 13:17

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

Message 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.
amennelet
newbie
Messages : 6
Inscription : sam. 28 juil. 2012, 14:40

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

Message 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...
Alexandre
Répondre