Charles.w Posté(e) le 28 mars 2005 Partager Posté(e) le 28 mars 2005 tuXXX -> J'essaierais de voir ca dans deux semaines...parceque là, on est partit pour 1 semaine de partiels Lien vers le commentaire Partager sur d’autres sites More sharing options...
r0x0r Posté(e) le 28 mars 2005 Partager Posté(e) le 28 mars 2005 Après les devéloppeurs c'est la meilleure version depuis l'existance de gentoo Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 28 mars 2005 Partager Posté(e) le 28 mars 2005 resiser4, reiser4, reiser4??? (bon , j'y crois pas trp, bon tout est permis... ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 28 mars 2005 Auteur Partager Posté(e) le 28 mars 2005 resiser4, reiser4, reiser4???(bon , j'y crois pas trp, bon tout est permis... ) Tant que ce sera pas dans le noyau "vanilla" (kernel.org), ça m'étonnerais que ce soit sur le live-CD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Oddjob Posté(e) le 29 mars 2005 Partager Posté(e) le 29 mars 2005 J'install la gentoo en se moment, la branche 2005.0 Que ce soit avec le live CD 2004.3 ou en prenant un arbre mise un jour sur le net j'ai toujour cette erreur lors du emerge -e system. make[1]: *** [../obj_s/tty_update.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/var/tmp/portage/ncurses-5.4-r5/work/ncurses-5.4/ncurses' make: *** [all] Error 2 !!! ERROR: sys-libs/ncurses-5.4-r5 failed. !!! Function src_compile, Line 84, Exitcode 2 !!! make failed !!! If you need support, post the topmost build error, NOT this status message. j'ai donc mise à jour portage, j'ai maintenant une autre erreur: The bug is not reproducible, so it is likely a hardware or OS problem. make[1]: *** [mice.o] Error 1 make[1]: *** Waiting for unfinished jobs.... synaptics.c:888: attention : `tp_dump_report_data' defined but not used make[1]: Leaving directory `/var/tmp/portage/gpm-1.20.1-r4/work/gpm-1.20.1/src' make: *** [do-all] Error 1 !!! ERROR: sys-libs/gpm-1.20.1-r4 failed. !!! Function src_compile, Line 37, Exitcode 2 !!! emake failed !!! If you need support, post the topmost build error, NOT this status message. Je me pose beaucoup de question sur la première ligne ... hop un dernier emerge --sync, 3ème essais pour l'install tout passe, pourvu que ca dure. edit et ben non gettext passe pas ... hum. Last edit: bon, après une mise a jour des mirrors, je relance, pour l'install ca compile ca compile, aller on allume un sierge Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 29 mars 2005 Partager Posté(e) le 29 mars 2005 tu es sûr que tu as assez d'espace disque temporaire pour faire toute ces grossec ompilation? Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 29 mars 2005 Auteur Partager Posté(e) le 29 mars 2005 Hm... pourquoi un "emerge -e"? "emerge -uD" suffit !! (et quand ils disent "post the topmost build error, NOT this status message.", il faut aussi mettre les erreurs de compilation, sinon ça sert à rien...) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bébé_Pingouin Posté(e) le 29 mars 2005 Partager Posté(e) le 29 mars 2005 J'install la gentoo en se moment, la branche 2005.0Que ce soit avec le live CD 2004.3 ou en prenant un arbre mise un jour sur le net j'ai toujour cette erreur lors du emerge -e system. T'es sur d'avoir correctement renseigné ton make.conf ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Duke98 Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 tiens une petite question gentoo voila je met à jour ma gentoo à la main, c'est à dire que je choisit ce que je veux et ce que je veux pas. Ces dernier temps j'ai pas trop eu le temps, donc la liste des paquest à mettre à jour c'est considérablement allongée. En regardant de près, je me suis rendu compte qu'une grosse partie des paquets à mettre à jour faisaient parti de media-plugin, media-sound, media-gfx, media-libs, media-video etc... Ce genre de paquets pas hautement sensibles pourraient etre mis à jour automatiquement. Ca me permettrait de pourvoir me concentrer sur les trucs importants (kernel et autres trucs systeme) lors de la maj. Bref voila ma question, comment faire pour mettre à jours par exemple tout les paquets installé de media-plugin? ca serait pour l'intégrer à mon crontab à la suite du esync journalier. Je pense pas que ces fonctionnalités soient intégrée à portage. Le recours à un script est-il obligatoire ? genre un truc comme ca emerge -Dupv world | grep media-plugins | awk {'print $4'} par contre il faudrait que je retire le numéro de version, que je l'écrive en ligne et que je passe ca en parametre à emerge. Je sais pas encore comment faire mais ca doit etre faisable Voila je cherche avant tout la solution la plus "propre" possible Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Oddjob Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 T'es sur d'avoir correctement renseigné ton make.conf ? Oui tout a fait, cependant je pense faire une install Stage 3 et tout recompiler après, j'ai des erreurs que je ne devrais pas avoir, mais je suis pas le seul a avoir des problèmes a compiler avec un AthlonXP 1600+. Sur mon AMD Thunderbird aucun problème, anisi que sur le PIV. Lien vers le commentaire Partager sur d’autres sites More sharing options...
olasd Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 Cher Duke98, je ne saurai que te conseiller ce script (sur les forums de gentoo) qui te permettra de récupérer les paquets d'une catégorie qui sont a mettre à jour. Après, je pense qu'il faudra basher un peu autour pour demander a emerge d'installer ces paquets... Pourquoi pas un pye -c media-plugins -s -e uDv world | xargs emerge -u ? avec pye : script du site, -c media-plugins : catégorie à afficher, -s : emerge sync avant tout, -e uDv : options à passer à emerge (upgrade Deep verbose) A explorer en fait ... EDIT : D'oh EDEDIT J'ai installé pye, je cherche le moyen de le "désinteractiviser" (oui, j'aime les néologismes, mais Guijnor ne traine pas ici ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 31 mars 2005 Auteur Partager Posté(e) le 31 mars 2005 tiens une petite question gentoo voila je met à jour ma gentoo à la main, c'est à dire que je choisit ce que je veux et ce que je veux pas. Ces dernier temps j'ai pas trop eu le temps, donc la liste des paquest à mettre à jour c'est considérablement allongée. En regardant de près, je me suis rendu compte qu'une grosse partie des paquets à mettre à jour faisaient parti de media-plugin, media-sound, media-gfx, media-libs, media-video etc... Ce genre de paquets pas hautement sensibles pourraient etre mis à jour automatiquement. Ca me permettrait de pourvoir me concentrer sur les trucs importants (kernel et autres trucs systeme) lors de la maj. Bref voila ma question, comment faire pour mettre à jours par exemple tout les paquets installé de media-plugin? ca serait pour l'intégrer à mon crontab à la suite du esync journalier. Je pense pas que ces fonctionnalités soient intégrée à portage. Le recours à un script est-il obligatoire ? genre un truc comme ca emerge -Dupv world | grep media-plugins | awk {'print $4'} par contre il faudrait que je retire le numéro de version, que je l'écrive en ligne et que je passe ca en parametre à emerge. Je sais pas encore comment faire mais ca doit etre faisable Voila je cherche avant tout la solution la plus "propre" possible Merci Bon, j'ai trouvé un moyen...mais c'est pas super top... en fait, ce qui gêne, c'est les numéros de version, car ils peuvent défférer d'une version à l'autre, peuvent comprendre des revisions, etc... Donc tout d'abord, utiliser equery (du gentoolkit) pour récupérer les applis de la catégorie installés : equery list "media-plugins/" Ensuite, éliminer " * installed packages", ceci devrait suffire : equery list "media-plugins/" | grep -v "^ * " Après cela, ajouter \>= devant chaque entrée (donc en gros, ça ne gère pas du tout le downgrade) equery list "media-plugins/" | grep -v "^ * " | sed 's/^/\\>=/' ensuite, transformer les retours chariots en espaces : equery list "media-plugins/" | grep -v "^ * " | sed 's/^/\\>=/' | tr '\n' ' ' et voilà... c'est presque fini : appeler emerge avec l'option -u (bon, là j'ai mis -pv en plus...) $ emerge -pvu `equery list "media-plugins/" | grep -v "^ * " | sed 's/^/\\>=/' | tr '\n' ' '` Conclusion : c'est presque ça, mais il reste un problème au niveau des numéros de version qui gènent... On continue, toujours plus fort !!!! Bon, je viens de me rappeler que tout ça reste sur le disque dur de manière consultable facilement... donc utilisons cela !!! il suffit de remplacer <<equery list "media-plugins/" | grep -v "^ * ">> par <<ls /var/db/pkg/media-plugins>> ... en plus, c'est beaucoup plus rapide !!! (...plus tard :) Bon, finalement j'ai trouvé comment virer les numéros de version : lister les chaînes entre les "-" et s'arrêter à la première qui commence par un nombre (merci google !!!) Donc une petite fonction bash permet de le faire... Ensuite, il suffit de lister cela... Et ça donne ce script : listpackages.sh function packageName { LIST=`echo $1 | tr '-' ' '` OUT="" for i in $LIST do if [ `echo $i | cut -c 1 | tr -d '[:digit:]'` ] then OUT="$OUT-$i" else break # si il y a un chiffre, on s'arrete fi done echo $OUT | cut -c 2- # on elimine le tiret originel } if [ ! $1 ] then echo "Usage : $0 categorie" exit 0 fi cat=`echo $1 | awk -F "/" '{print $1}'` if ! ls -d /var/db/pkg/$cat 1>/dev/null 2>/dev/null then echo "Erreur : mauvaise catégorie !" 1>&2 exit 1 fi PACKAGES=`ls /var/db/pkg/$1` EMERGE_LIST="" for pack in $PACKAGES do EMERGE_LIST="$EMERGE_LIST $cat/"`packageName $pack` done echo $EMERGE_LIST ensuite, il suffit de lancer : $ emerge -pvu `./listpackages.sh media-plugins` Bon, je vois qu'il y a déjà une solution (peut-être plus simple...) mais bon, en tout cas, ça m'aura entraîné (ouais, pour questions pour un pingouin ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
olasd Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 Bon, j'ai trouvé un moyen...mais c'est pas super top...en fait, ce qui gêne, c'est les numéros de version, car ils peuvent défférer d'une version à l'autre, peuvent comprendre des revisions, etc... Donc tout d'abord, utiliser equery (du gentoolkit) pour récupérer les applis de la catégorie installés : equery list "media-plugins/" Ensuite, éliminer " * installed packages", ceci devrait suffire : equery list "media-plugins/" | grep -v "^ * " Après cela, ajouter \>= devant chaque entrée (donc en gros, ça ne gère pas du tout le downgrade) equery list "media-plugins/" | grep -v "^ * " | sed 's/^/\\>=/' ensuite, transformer les retours chariots en espaces : equery list "media-plugins/" | grep -v "^ * " | sed 's/^/\\>=/' | tr '\n' ' ' et voilà... c'est presque fini : appeler emerge avec l'option -u (bon, là j'ai mis -pv en plus...) $ emerge -pvu `equery list "media-plugins/" | grep -v "^ * " | sed 's/^/\\>=/' | tr '\n' ' '` Conclusion : c'est presque ça, mais il reste un problème au niveau des numéros de version qui gènent... On continue, toujours plus fort !!!! Bon, je viens de me rappeler que tout ça reste sur le disque dur de manière consultable facilement... donc utilisons cela !!! il suffit de remplacer <<equery list "media-plugins/" | grep -v "^ * ">> par <<ls /var/db/pkg/media-plugins>> ... en plus, c'est beaucoup plus rapide !!! (...plus tard :) Bon, finalement j'ai trouvé comment virer les numéros de version : lister les chaînes entre les "-" et s'arrêter à la première qui commence par un nombre (merci google !!!) Donc une petite fonction bash permet de le faire... Ensuite, il suffit de lister cela... Et ça donne ce script : listpackages.sh function packageName { LIST=`echo $1 | tr '-' ' '` OUT="" for i in $LIST do if [ `echo $i | cut -c 1 | tr -d '[:digit:]'` ] then OUT="$OUT-$i" else break # si il y a un chiffre, on s'arrete fi done echo $OUT | cut -c 2- # on elimine le tiret originel } if [ ! $1 ] then echo "Usage : $0 categorie" exit 0 fi cat=`echo $1 | awk -F "/" '{print $1}'` if ! ls -d /var/db/pkg/$cat 1>/dev/null 2>/dev/null then echo "Erreur : mauvaise catégorie !" 1>&2 exit 1 fi PACKAGES=`ls /var/db/pkg/$1` EMERGE_LIST="" for pack in $PACKAGES do EMERGE_LIST="$EMERGE_LIST $cat/"`packageName $pack` done echo $EMERGE_LIST ensuite, il suffit de lancer : Bon, je vois qu'il y a déjà une solution (peut-être plus simple...) mais bon, en tout cas, ça m'aura entraîné (ouais, pour questions pour un pingouin ) Ca m'a l'air beaucoup mieux que ma solution de script interactif a ininteractivifier alors que je suis une bille en Python TuXXX tu gagnes le prix du pingouin d'or Non mais serieusement, c bien en si peu de temps... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Duke98 Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 tuXXX j'ai adopté ton script par contre avec l'option -pvu il sort massivement de la catégorie (normal). Je me demandais si c'est risqué de faire la maj sans le "u"? C'est grave de pas mettre à jour les dépendances (je pense surtout aux plugin audio et video) ? edit: merci aussi NicolasD, mais je vais suivre la methode de tuXXX Lien vers le commentaire Partager sur d’autres sites More sharing options...
olasd Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 Possible de faire la maj sans le u, mais avec le script de TuXXX, ca va te réemerger les paquets qui n'ont pas besoin d'update dans la catégorie, puisque ca liste tous les paquets installés de la catégorie (AMHA)... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Duke98 Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 exact, le coup du ls c'est bien mais pas top en fait. retour à l'utilisation d'emerge, ca donne function packageName { LIST=`echo $1 | tr '-' ' '` OUT="" for i in $LIST do if [ `echo $i | cut -c 1 | tr -d '[:digit:]'` ] then OUT="$OUT-$i" else break # si il y a un chiffre, on s'arrete fi done echo $OUT | cut -c 2- # on elimine le tiret originel } if [ ! $1 ] then echo "Usage : $0 categorie" exit 0 fi cat=`echo $1 | awk -F "/" '{print $1}'` if ! ls -d /var/db/pkg/$cat 1>/dev/null 2>/dev/null then echo "Erreur : mauvaise catégorie !" 1>&2 exit 1 fi PACKAGES=` emerge -Dupv world | grep $1 | awk {'print $4'}` EMERGE_LIST="" for pack in $PACKAGES do EMERGE_LIST="$EMERGE_LIST "`packageName $pack` done echo $EMERGE_LIST et ca roxe Lien vers le commentaire Partager sur d’autres sites More sharing options...
olasd Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 #!/bin/bash # # UpdCateg # Lists packages that have to be updated in a category # For Gentoo@PC INpact # # Authors : tuXXX and Duke98 # http://www.pcinpact.com/forum/rubrique_20.htm # Released under GNU-GPL v2 # function packageName { LIST=`echo $1 | tr '-' ' '` OUT="" for i in $LIST do if [ `echo $i | cut -c 1 | tr -d '[:digit:]'` ] then OUT="$OUT-$i" else break # si il y a un chiffre, on s'arrete fi done echo $OUT | cut -c 2- # on elimine le tiret originel } if [ ! $1 ] then echo "Usage : $0 categorie" exit 0 fi cat=`echo $1 | awk -F "/" '{print $1}'` if ! ls -d /var/db/pkg/$cat 1>/dev/null 2>/dev/null then echo "Erreur : mauvaise catégorie !" 1>&2 exit 1 fi PACKAGES=` emerge -Dupv world | grep $1 | awk {'print $4'}` EMERGE_LIST="" for pack in $PACKAGES do EMERGE_LIST="$EMERGE_LIST "`packageName $pack` done echo $EMERGE_LIST bowdown.gif effectivement, ca roxe... Je le vole^Wcopylefte sans états d'âme biggerGrin.gif EDIT : De plus, il faudrait trouver une astuce quand la liste de paquets est vide, pour pas que emerge nous signifie gentiment : g3nt00 ~ # emerge -u emerge: please tell me what to do. ... Ce message a été modifié par NicolasD le 31-03-2005 17:09:55 Edit duke: oupsss édité au lieu de cité Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 pourriez mettre un petit authors : tuxxx, duke98 for pcinpact distributed under the GNU-GPL http://www.pcinpact.com/forum/rubrique_20.htm Lien vers le commentaire Partager sur d’autres sites More sharing options...
Duke98 Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 genre ca ? #!/bin/bash # # UpdCateg # Lists packages that have to be updated in a category # For Gentoo@PC INpact # # Authors : tuXXX and Duke98 # http://www.pcinpact.com/forum/rubrique_20.htm # Released under GNU-GPL v2 # function packageName { LIST=`echo $1 | tr '-' ' '` OUT="" for i in $LIST do if [ `echo $i | cut -c 1 | tr -d '[:digit:]'` ] then OUT="$OUT-$i" else break # si il y a un chiffre, on s'arrete fi done echo $OUT | cut -c 2- # on elimine le tiret originel } if [ ! $1 ] then echo "Usage : $0 categorie" exit 0 fi cat=`echo $1 | awk -F "/" '{print $1}'` if ! ls -d /var/db/pkg/$cat 1>/dev/null 2>/dev/null then echo "Erreur : mauvaise catégorie !" 1>&2 exit 1 fi PACKAGES=` emerge -Dupv world | grep $1 | awk {'print $4'}` if [ PACKAGES -eq "" ] then echo "Rien à mettre à jour dans la catégorie $1;-)" exit 2 fi EMERGE_LIST="" for pack in $PACKAGES do EMERGE_LIST="$EMERGE_LIST "`packageName $pack` done echo $EMERGE_LIST bon le coup de la chaine vide j'ai pas testé, il faudrait trouver une catégorie vide de maj, je sais pas si j'ai ca tellement je suis à la bourre dans mes maj Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 31 mars 2005 Auteur Partager Posté(e) le 31 mars 2005 D'ailleurs, y'a un truc cool : on peut même mettre un truc genre "sys-*" en catégorie (faut pas oublier les guillemets !) Pour la chaîne vide, ça marche, mais il faudrait plustôt mettre = au lieu de -eq (-eq c'est plutôt pour les nombres!) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Duke98 Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 ca se voit tant que ca que j'ai jamais écrit de script de ma vie sinon, il y a un bug emerge -Dupv world | grep 'media-libs' [ebuild UD] media-libs/gst-plugins-0.8.7 [0.8.8] +alsa -debug +esd +oss 0 kB duron21 ~ # emerge -Dupv world | grep 'media-libs' | awk {'print $4'} [0.8.8] on peut pas utiliser awk... le D collé au crochet fout tout en l'air Lien vers le commentaire Partager sur d’autres sites More sharing options...
olasd Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 ca se voit tant que ca que j'ai jamais écrit de script de ma vie sinon, il y a un bug emerge -Dupv world | grep 'media-libs' [ebuild UD] media-libs/gst-plugins-0.8.7 [0.8.8] +alsa -debug +esd +oss 0 kB duron21 ~ # emerge -Dupv world | grep 'media-libs' | awk {'print $4'} [0.8.8] on peut pas utiliser awk... :8 le D collé au crochet fout tout en l'air :8 Et en essayant avec emerge -Dupv world | sed "s/ /\n/g" | grep 'media-libs' ? EDIT : Voire : emerge -Dup world | grep 'media-libs' | sed "s/ /\n/g" | grep 'media-libs' pour economiser du sed (je sais pas niveau perf, mais je pense que la deuxieme est mieux) Et enlever le flag verbose, en a-t-on vraiment besoin dans un script discret pour un cron ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
lorinc Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 ton optimisation n'est pas tout le temps rentable, elle ne l'est que si il n'y a que peu de 'media-libs' dans l'emerge. cas extreme, si il ne a que ça, tu parses trois fois l'intégralité du texte, alors que tu ne le faisait que 2 fois dans le premier... Lien vers le commentaire Partager sur d’autres sites More sharing options...
olasd Posté(e) le 31 mars 2005 Partager Posté(e) le 31 mars 2005 ton optimisation n'est pas tout le temps rentable, elle ne l'est que si il n'y a que peu de 'media-libs' dans l'emerge.cas extreme, si il ne a que ça, tu parses trois fois l'intégralité du texte, alors que tu ne le faisait que 2 fois dans le premier... Le problème est qu'il y a 8 espaces par ligne dans un emerge -p (à peu près) ca nous donne donc 9 lignes à parser pour grep... Mais bon... il faut de toute facon enlever le "-v", puisque ca ajoute pas mal d'espaces pour séparer les use-flags...et là ce qui nous donne : emerge -Dup world | sed "s/ /\n/g" | grep 'media-libs' Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 31 mars 2005 Auteur Partager Posté(e) le 31 mars 2005 ben facile... cut !! emerge -pvuD world | cut -c 16- | grep 'media-libs' | awk {'print $1'} ce qui donne donc : #!/bin/bash # # UpdCateg # Lists packages that have to be updated in a category # For Gentoo@PC INpact # # By tuXXX and Duke98 # http://www.pcinpact.com/forum/rubrique_20.htm # Released under GNU-GPL v2 # function packageName { LIST=`echo $1 | tr '-' ' '` OUT="" for i in $LIST do if [ `echo $i | cut -c 1 | tr -d '[:digit:]'` ] then OUT="$OUT-$i" else break fi done echo $OUT | cut -c 2- } if [ "$1" ] then echo -n ""; else echo "Usage : $0 categorie" echo "" echo "categorie examples :" echo " media-plugins" echo " \"sys-*\"" exit 0 fi cat=`echo $1 | awk -F "/" '{print $1}'` if ! ls -d /var/db/pkg/$cat 1>/dev/null 2>/dev/null then echo "Erreur : mauvaise catégorie !" 1>&2 exit 1 fi PACKAGES=`emerge -puD world | cut -c 16- | grep $1 | awk {'print $1'}` if [ ! "$PACKAGES" ] then echo "Rien a mettre à jour" 1>&2 exit 2 fi EMERGE_LIST="" for pack in $PACKAGES do EMERGE_LIST="$EMERGE_LIST "`packageName $pack` done echo $EMERGE_LIST Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.