View previous topic :: View next topic |
Author |
Message |
alctraz Tux's lil' helper
Joined: 12 May 2004 Posts: 117 Location: belgium
|
Posted: Tue May 10, 2005 12:10 pm Post subject: [emerge] paquets ~masqués |
|
|
Salut,
Ya une chose qui m'agace un peu avec la commande emerge lorsqu'on cherche a emerger un paquet ~masqué qui a de très nombreuses dépendances qui sont elles aussi ~masquées. On doit se taper un "emerge -vp" pour repérer chacune des dép une-à-une et les ajouter dans package.keywords a chaque étape.
Exemple:
Code: | root@gentoo-lap # emerge -vp kde
These are the packages that I would merge, in order:
Calculating dependencies -
!!! All ebuilds that could satisfy "~kde-base/kdeartwork-3.4.0" have been masked.
!!! One of the following masked packages is required to complete your request:
- kde-base/kdeartwork-3.4.0 (masked by: ~x86 keyword)
For more information, see MASKED PACKAGES section in the emerge man page or
section 2.2 "Software Availability" in the Gentoo Handbook.
!!! (dependency required by "kde-base/kde-3.4.0" [ebuild]) |
Ce qui indique qu'il faut ajouter kde-base/kdeartwork dans package.keywords. Puis il faut répéter l'operation jusqu'a épuiser ttes les dép. C'est très long...
Donc ma question est:
Est-ce que je suis passé a coté d'une option d'emerge qui permettrait d'obtenir directement la liste des paquet ~masqués qu'il faut ajouter dans package.keywords et pas ce message d'erreur? (pas question d'ACCEPT_KEYWORDS evidemment)
Si ce n'est pas le cas, je crois que je vais essayer de scripter un truc pour accomplir cette tache.
merci _________________ Shell-reminder |
|
Back to top |
|
|
lmarcini Guru
Joined: 21 Jul 2004 Posts: 534 Location: Plouyé (Brittany / France)
|
|
Back to top |
|
|
alctraz Tux's lil' helper
Joined: 12 May 2004 Posts: 117 Location: belgium
|
Posted: Tue May 10, 2005 2:31 pm Post subject: |
|
|
Non je crois pas, ils parlent de 2 methodes: ou bien ACCEPT_KEYWORDS, ou bien package.keywords.
La premiere n'étant pas acceptable, ils proposent la methode que j'ai indiqué plus haut pour repérer toi meme les paquets a ajouter dans package.keywords. _________________ Shell-reminder |
|
Back to top |
|
|
Apsforps Guru
Joined: 27 Sep 2004 Posts: 520 Location: Belgium
|
Posted: Tue May 10, 2005 2:40 pm Post subject: |
|
|
Ben oui, à part que si tu vas un peu plus bas, ils te donnent le moyen de le faire automatiquement (avec une boucle for) _________________ Apsforps |
|
Back to top |
|
|
alctraz Tux's lil' helper
Joined: 12 May 2004 Posts: 117 Location: belgium
|
Posted: Tue May 10, 2005 3:04 pm Post subject: |
|
|
Apsforps wrote: | Ben oui, à part que si tu vas un peu plus bas, ils te donnent le moyen de le faire automatiquement (avec une boucle for) |
Nan mais vous comprenez pas, je porte aucun interet a kde, c'est juste un exemple.
Leur truc avec la boucle for ca marche que pour kde, ca ira pas pour e-9999 par exemple.
Je veux un truc tt a fait general -> je vais devoir faire un script. _________________ Shell-reminder |
|
Back to top |
|
|
Enlight Advocate
Joined: 28 Oct 2004 Posts: 3519 Location: Alsace (France)
|
Posted: Tue May 10, 2005 3:21 pm Post subject: |
|
|
Ah bah là t'es bon pour un truc récursif qui grep les depend et les rdepend...ou tu sed dans l'output d'emerge -pv. où alors tu passe en full ~x86 et tu te dis que c'est pas plus mal. |
|
Back to top |
|
|
alctraz Tux's lil' helper
Joined: 12 May 2004 Posts: 117 Location: belgium
|
Posted: Tue May 10, 2005 4:46 pm Post subject: |
|
|
voila le script 'tilde-emerge':
Code: | #!/usr/bin/perl
# Unmask the depedencies of a given package if necessary
# so that you can easily emerge without addind all these depedencies
# one-by-one in the package.keywords file yourself.
# USAGE: tilde-emerge <package>
use strict;
$ARGV[0] || die 'Please specify a package';
my (@emerge, @package);
open(KEYWORDS, '>>/etc/portage/package.keywords');
LABEL: {
open(EMERGE, "-|", "emerge -vp $ARGV[0]");
@emerge = <EMERGE>;
close EMERGE;
@package = @emerge[6] =~ /- (.*?)-[^-]+(?:-r\d*)? \(masked by: (\S*) keyword\)/ or last LABEL;
print KEYWORDS "@package[0] @package[1]\n";
print "Added '@package[0] @package[1]' to package.keywords...\n";
redo LABEL;
}
close KEYWORDS; |
et voila ce que ca donne pour e-9999 par exemple:
Code: | root@gentoo-lap # echo 'x11-wm/e -*' >> /etc/portage/package.keywords
root@gentoo-lap # emerge -vp e
These are the packages that I would merge, in order:
Calculating dependencies -
!!! All ebuilds that could satisfy "dev-libs/embryo" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-libs/embryo-9999 (masked by: -* keyword)
- dev-libs/embryo-0.9.1.004 (masked by: ~x86 keyword)
For more information, see MASKED PACKAGES section in the emerge man page or
section 2.2 "Software Availability" in the Gentoo Handbook.
!!! (dependency required by "x11-wm/e-9999" [ebuild])
root@gentoo-lap # tilde-emerge e
Added 'dev-libs/embryo -*' to package.keywords...
Added 'dev-libs/eet ~x86' to package.keywords...
Added 'x11-libs/ecore ~x86' to package.keywords...
Added 'x11-libs/evas ~x86' to package.keywords...
Added 'media-libs/edje ~x86' to package.keywords...
root@gentoo-lap # emerge -vp e
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild N ] dev-libs/embryo-9999 -doc +nls 0 kB
[ebuild N ] dev-libs/eet-0.9.10.004 -doc +nls 0 kB
[ebuild N ] dev-db/edb-1.0.5 -debug -doc +gtk +ncurses +nls 614 kB
[ebuild N ] x11-libs/evas-0.9.9.004 +X -cairo -debug +directfb -doc +fbcon +jpeg -mmx +nls +opengl +png +sse 0 kB
[ebuild N ] x11-libs/ecore-0.9.9.002 +X -doc +fbcon +nls +opengl 0 kB
[ebuild N ] media-libs/edje-0.5.0.004 -doc +nls 0 kB
[ebuild N ] x11-wm/e-9999 -doc +nls 0 kB
Total size of downloads: 614 kB |
J'ai aussi essayé avec kde, ca fonctionne, et on se rend compte que ca sert absolument a rien de demasquer tt ce qui se trouve dans kde-base et kde-extra, il suffit de qqs paquets seulement. _________________ Shell-reminder |
|
Back to top |
|
|
Apsforps Guru
Joined: 27 Sep 2004 Posts: 520 Location: Belgium
|
Posted: Tue May 10, 2005 4:50 pm Post subject: |
|
|
Ce script à l'air très bien, ça me servira sûrement (pour les -* puisque je suis en full ~x86)
Juste une petite remarque par contre, pour enlightenment, il démasque en fait les ~x86 alors que ce sont les -* (comme ça il va en live sur le cvs au lieu de prendre des snapshots) qu'il faudrait démasquer... _________________ Apsforps |
|
Back to top |
|
|
alctraz Tux's lil' helper
Joined: 12 May 2004 Posts: 117 Location: belgium
|
Posted: Tue May 10, 2005 7:00 pm Post subject: |
|
|
Apsforps wrote: | Ce script à l'air très bien, ça me servira sûrement (pour les -* puisque je suis en full ~x86)
Juste une petite remarque par contre, pour enlightenment, il démasque en fait les ~x86 alors que ce sont les -* (comme ça il va en live sur le cvs au lieu de prendre des snapshots) qu'il faudrait démasquer... |
Ok, mais je peux helas rien faire pour ce cas particulier :(
Le script demasque les paquets comme portage le suggère. _________________ Shell-reminder |
|
Back to top |
|
|
SunMetis Apprentice
Joined: 10 Mar 2005 Posts: 234
|
Posted: Thu May 12, 2005 12:44 am Post subject: |
|
|
salut je trouve ce post proche de mon probleme
concerant la mise a jour de Xorg en faisant un petit eix xorg-x11 je trouve
x11-base/xorg-x11
Available versions: 6.8.0-r5 6.8.2-r1 [M]6.8.2-r2 [M]6.8.99.3 [M]6.8.99.5
Installed: 6.8.2-r1
Homepage: http://xorg.freedesktop.org/
Description: An X11 implementation maintained by the X.Org Foundation
Je veux passer a la derniere version alors comme d'hab je vais dans /usr/portage/package.keywords.. rajoute une ligne
x11-base/xorg-x11 ~x86 je refais un petit emerge xorg-x11 et la stupefaction il reste sur la meme version
alors je le fais "plus manuel" : ACCEPT_KEYWORDS="~x86" emerge xorg-x11 et nan toujours la versio 6.8.2
comment je fais pour mettre ce xorg a jour je le guide sur le bon fichier au fusil a pompe
? |
|
Back to top |
|
|
Dais l33t
Joined: 05 Aug 2004 Posts: 977 Location: Québec
|
Posted: Thu May 12, 2005 1:08 am Post subject: |
|
|
SunMetis: fais une recherche concernant les paquets "hard masked" et l'utilisation du fichier /etc/portage/package.unmask _________________ Tout ce que je suis n'est que cause
Tout ce que je suis n'est que conséquence
Pourquoi s'attacher à toutes ces choses
Pourquoi continuer dans la souffrance ?
-
Shiki Soku Ze Ku, Ku Soku Ze Shiki |
|
Back to top |
|
|
loopx Advocate
Joined: 01 Apr 2005 Posts: 2787 Location: Belgium / Liège
|
Posted: Thu May 12, 2005 10:56 am Post subject: |
|
|
Génial ce ptit script
_________________ Mon MediaWiki perso : http://pix-mania.dyndns.org |
|
Back to top |
|
|
she0gorath n00b
Joined: 25 May 2009 Posts: 25
|
Posted: Mon Jul 04, 2011 3:42 pm Post subject: |
|
|
Le script le marche pas chrz moi. Message d'erreur :
Code: |
Senilis ~ # ./tilde-emerge texlive
Unrecognized character \xC2; marked by <-- HERE after <-- HERE near column 1 at ./tilde-emerge line 16.
Senilis ~ # |
Je n'y connais pas grand-chose en perl, je ne sais pas trop ce que tout ça veut dire... _________________ Sorry for my very poor english, but it is not my native language... |
|
Back to top |
|
|
Poussin l33t
Joined: 08 Jun 2007 Posts: 659 Location: Liège
|
Posted: Mon Jul 04, 2011 9:10 pm Post subject: |
|
|
Si ça ce n'est pas du bon déterrage!
Alors, ce paquet pourrait t'aider:
app-portage/autounmask
Ou si tu n'as pas froid aux oreilles, il y a un mécanisme équivalent (mais que je trouve "mieux") dans portage 2.2 |
|
Back to top |
|
|
netfab Veteran
Joined: 03 Mar 2005 Posts: 1897 Location: 127.0.0.1
|
Posted: Tue Jul 05, 2011 7:47 am Post subject: |
|
|
Poussin wrote: |
Ou si tu n'as pas froid aux oreilles, il y a un mécanisme équivalent (mais que je trouve "mieux") dans portage 2.2 |
Dans portage stable aussi. |
|
Back to top |
|
|
|