Welcome, Guest. Please Login or Register
FUG-FR logo
 
  HomeHelpSearchLoginRegister  
 
Freebsd stable et binaires (Read 2100 times)
Marck
God Member
*****
Offline


I Love New YaBB

Posts: 1113
Freebsd stable et binaires
19. Mar 2007 at 16:34
 
Salut

Je me suis aperçu que les binaires disponibles pour FreeBSD-stable évoluent assez vite et, s'il existe des outils pour gérer l'évolution des ports, je ne crois pas qu'il en existe pour gérer celle des binaires (j'ai regardé portupgrade -P ou -PP mais cela ne me convient pas). Or j'ai bien l'intention d'utiliser les binaires sous FreeBSD-stable et de les mettre à jour régulièrement sans passer des heures à chercher (car je ne compile des ports que si c'est absolument obligatoire).

J'ai donc écrit un premier script. Celui-ci se base sur le fichier INDEX des binaires disponibles sur les ftp... puis il compare les paquets installés (pour moi presque tous des binaires donc) à cette liste.
- soit il trouve la même chose, et il ne dit rien
- soit il trouve une différence (normalement un upgrade) et propose le changement
- soit il ne trouve rien du tout et il le dit

Dans ce dernier cas il peut y avoir diverses possibilité qui ne sont pas traitées par le script (à l'administrateur de savoir):
- le paquet vient des ports et n'a jamais existé en binaire
- le paquet a existé en binaire mais ce n'est plus le cas
- le paquet a changé de "version majeur" (j'entends par là "xine-0" pour "xine-0.99.4_8" par exemple)...

Code:
#!/bin/sh
# pkg_index

FTP="ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable"
MAINDIR=~/.pkg_index
OLDPKG=""
PKGNAME=""
NEWPKG=""
ANSWER=""

if [ ! -d $MAINDIR ] ; then
	mkdir $MAINDIR
fi
cd $MAINDIR
if [ ! -f INDEX ] ; then
	fetch $FTP/INDEX
	else
		echo -n "Fetch new INDEX file (Y/n) "
		read ANSWER
			if [ "$ANSWER" != "n" ] && [ "$ANSWER" != "N" ] ; then
			  mv INDEX INDEX.old
				fetch $FTP/INDEX
			fi
fi
for OLDPKG in `ls -1 /var/db/pkg/` ; do
	if ! grep -q $OLDPKG INDEX ; then
		PKGNAME=`echo $OLDPKG | cut -d"." -f1`
		if NEWPKG=`cut -d"|" -f1 < INDEX | grep -e ^$PKGNAME` ; then
			echo "Old: $OLDPKG . . . . New: $NEWPKG"
			echo -n "Change this package (Y/n) "
			read ANSWER
			if [ "$ANSWER" != "n" ] && [ "$ANSWER" != "N" ] ; then
			  pkg_delete -f $OLDPKG
				pkg_add -r $FTP/All/$NEWPKG.tbz
			fi
		else
			echo "Old: $OLDPKG . . . . $PKGNAME.* not found"
		fi
	fi
done
 



En pratique cela donne par exemple:
Code:
Fetch new INDEX file (Y/n) n
Old: lame-3.97_1 . . . . lame-3.* not found
Old: vlc-0.8.5_8 . . . . New: vlc-0.8.5_10
Change this package (Y/n) n
...
 



Ici lame vient des ports et vlc n'a pas assez changé pour que je le réinstalle... Sinon j'ai "mis à jour" mes binaires ainsi (en répondant Y bien sûr pour ceux qui avaient le plus changé, pas comme ci-dessus) et cela semble fonctionner. Mais pour combien de temps...

Voilà certains d'entre vous combinent-ils aussi "stable" et "binaires" ? Ont-ils des conseils à me donner pour la mise à jour de ces binaires ? Ou de façon plus pessimiste combien de jours donnez-vous à l'utilisation de ce bricolage avant que tout ne s'écroule ?

Merci d'avoir lu toute cette prose, Marc
Back to top
 
WWW WWW  
IP Logged
 
shes
Global Moderator
*****
Offline


Et qemu c'est du flan?

Posts: 178
Geneva
Gender: male
Re: Freebsd stable et binaires
Reply #1 - 19. Mar 2007 at 17:32
 
Qu'est-ce qui ne te convient pas dans portupgrade -PP ?
Back to top
 

...&&Dirty Freebsd: http://www.freebsders.org/.
WWW WWW  
IP Logged
 
Marck
God Member
*****
Offline


I Love New YaBB

Posts: 1113
Re: Freebsd stable et binaires
Reply #2 - 19. Mar 2007 at 21:25
 
A vrai dire, je ne sais plus trop (oui c'est un peu nul mais je n'avais pas vraiment prévu que l'on me pose la question Smiley )

J'ai toujours géré mes binaires et mes (rares) ports "à la main" et disons que ce script est une façon d'automatiser un peu les choses pour les binaires tout en restant dans le même esprit...

Bon ce n'est pas vraiment une "bonne réponse" mais là je n'en ai pas d'autre !
Back to top
 
WWW WWW  
IP Logged
 
Marck
God Member
*****
Offline


I Love New YaBB

Posts: 1113
Re: Freebsd stable et binaires
Reply #3 - 23. Apr 2007 at 19:23
 
Pour ceux qui seraient tentés d'essayer... en fait le script ci-dessus est imparfait au niveau de sa recherche dans le fichier INDEX donc même s'il focntionne il n'est pas à utiliser.

J'ai corrigé cela mais ne le mets pas en ligne car... car je pense que finalement cette façon de procéder (ou du moins d'essayer) correspond à un "bricolage assez personnel"... que je garde donc pour moi (ceci d'autant plus que j'ai encore pas mal d'améliorations à faire sur ce script et quelques autres qui l'accompagnent).
Back to top
 
WWW WWW  
IP Logged