Gentoo Archives: gentoo-user-es

From: Arnau Bria <arnau@×××××××××.net>
To: gentoo-user-es@l.g.o
Subject: Re: [gentoo-user-es] organizando los programas que tengo instalados
Date: Thu, 07 Dec 2006 11:52:01
Message-Id: 20061207125033.05f3a219@lx-arnau.pic.es
In Reply to: Re: [gentoo-user-es] organizando los programas que tengo instalados by Javier M Mora
1 On Thu, 7 Dec 2006 11:27:30 +0100
2 Javier M Mora wrote:
3
4 > 2006/12/7, Arnau Bria <arnau@×××××××××.net>:
5 > > On Wed, 6 Dec 2006 11:09:45 +0100
6 > > Javier M Mora wrote:
7
8 > Fíjate que hablo de nuevos programas, no de nuevas versiones.
9 > Simplemente quería decir que ya no necesito instalarme el sodipodi
10 > para saber de que va.
11 Si, perdona...
12
13 [...]
14 > >
15 > > De todos modos, creo que es más complicado de lo que parece, porque
16 > > mantener varios "worlds" se puede complicar cuando las dependencias
17 > > estén repetidas en varios archivos, [...]
18 >
19 > Bueno, no son exactamente varios worlds. Yo lo veo más como un único
20 > world dividido en varios ficheros. A la hora de procesarlos se
21 > interpreta como un único fichero, pero físicamente están separados por
22 > temas o areas.
23
24 Si, bueno, no sabía como referenciarlo, pero entiendo tu idea, sólo que
25 lo llamo varios worlds... Pongamos un ejemplo, para
26 aclarar, yo quiero instaar beryl, todo lo que me instale (dependencias
27 incluidas) irían a parar a un fichero llamado ~arnau/portage/beryl, por
28 ejemplo, ok?
29
30
31 > [Hasta donde yo se (HDYS)] En el fichero world no están todos los
32 > paquetes instalados en el sistema, ni hay relación de dependencias.
33 > Sólo están los ficheros que el administrador ha instalado manualmente
34 > con un emerge. Todo paquete instalado que no aparezca en el fichero
35 > world es una de dependencia.
36
37 Eso es.
38 i.e: wc- l: 120 /var/lib/portage/world
39
40 > (HDYS) Al parecer no existe ningún fichero que guarde las dependencias
41 > entre paquetes, de hecho en cada emerge, el primer mensaje es siempre
42 > "Construyendo las dependencias".
43
44 exacto.
45
46 > así que por este camino, habría que añadir a emerge una opción que
47 > indicase el "area" (¿continente? ¿pais?, el que más me gusta es
48 > región) donde se instalará un programa. (dejando por defecto world) y
49 > que todas las utilidades que usan el fichero world, enlacen con su
50 > contenido todas las regiones que estén disponibles.
51
52 Mmmmm... esto lo veo más complicado.
53
54 > Creo que es una solución sencilla y menos complicada de lo que
55 > comentabas aunque hay que tocar en el código del sistema de portage.
56
57 Por eso lo veo más complicado. Además de tener que refenciar todos los
58 paquetes con sus regiones...
59
60 > > Repito, la idea me gusta.
61 >
62 > Estupendo. Solo necesito a un patrocinador generoso. :-)
63 >
64 > La otra idea, que no mencionas, es incluso más sencilla de implementar
65 > y creo que voy a usar. Recuerdo para el que no tenga ganas de subir en
66 > el hilo: cuando se instala un paquete se añade "un texto que incluya
67 > una razón" y todos los paquetes instalados y sus dependencias quedan
68 > marcadas con dicha razón. En cualquier momento podemos saber porque
69 > cierto paquete se instaló hace ya.... 3 largos meses y borrarlo o
70 > mantenerlo según nos interese.
71 >
72 > La implementación será: incluir el fichero world (situado en
73 > /var/lib/portage/world) en un sistema de control de versiones. RCS
74 > puede valer estupendamente para un fichero.
75 >
76 > El siguiente paso sería escribir un wrapper de la utiliddes de portage
77 > que exigiesen un texto de explicación. Se efectuaría el emerge (o lo
78 > que correspondiese) y se guardaría la nueva versión enlazado con la
79 > explicación.
80 >
81 > Para saber porque se instaló un programa, solo hay que ver el arbol de
82 > cambios en el word y la explicación en aquel momento y actuar en
83 > consecuencia.
84
85 Bueno, tomando de ejemplo el script en bash que comentaba, veo más
86 sencillo que se genere un nuveo fichero llamado beryl (siguiendo el
87 ejemplo de antes) que contenga beryl-manager y sus dependecias (si las
88 tiene, que habalos de un ejemplo)... Y si queremos añadir más cosas
89 (por ejmplo, x11-misc/emerald-themes) tener la posibilidad de meterlo
90 en fichero beryl ya creado.
91
92 Ahora bien, a la hora de borrar, habría que comprobar que las
93 dependencias instaladas no las necesita nadie más. Ejemplo:
94
95 #emerge -puDt beryl-manager
96
97 These are the packages that would be merged, in reverse order:
98
99 Calculating dependencies... done!
100 [nomerge ] x11-misc/beryl-manager-0.1.2
101 [ebuild U ] x11-libs/gtk+-2.10.6 [2.8.19]
102 [ebuild U ] x11-libs/pango-1.14.7 [1.12.3]
103 [ebuild U ] x11-terms/xterm-222 [218]
104 [nomerge ] media-fonts/font-alias-1.0.1
105 [nomerge ] dev-libs/atk-1.12.1
106 [ebuild U ] dev-libs/glib-2.12.4-r1 [2.10.3]
107 [ebuild U ] x11-libs/cairo-1.2.4 [1.0.4] USE="pdf%* -directfb% -svg%"
108 [ebuild U ] media-libs/glitz-0.5.6 [0.4.4]
109 [nomerge ] virtual/opengl-7.0
110 [nomerge ] media-libs/mesa-6.5.1-r1
111 [nomerge ] x11-libs/openmotif-2.2.3-r9
112 [nomerge ] sys-libs/glibc-2.4-r4
113 [ebuild U ] sys-libs/timezone-data-2006p [2006o]
114 [ebuild U ] sys-kernel/linux-headers-2.6.17-r2 [2.6.17-r1]
115 [nomerge ] app-misc/ca-certificates-20050804
116 [nomerge ] x11-apps/xlsclients-1.0.1
117 [nomerge ] x11-libs/libX11-1.0.3
118 [nomerge ] x11-proto/kbproto-1.0.3
119 [nomerge ] sys-devel/binutils-2.16.1-r3
120 [ebuild U ] sys-devel/binutils-config-1.9-r3 [1.9-r2]
121 [nomerge ] sys-devel/automake-1.9.6-r2
122 [nomerge ] sys-devel/autoconf-2.60
123 [ebuild U ] sys-devel/m4-1.4.7 [1.4.6]
124
125 Yo tendría esto en ~arnau/portage/beryl
126
127 Claro que al hacer un emerge beryl-amanger no tiene porque instalarme
128 gtk ni glibc (que ya tengo) pero si que puede que me haga un update,
129 con lo cual ese paquete irá a ~arnua/portage/beryl. Y al hacer el
130 remove debería comprobar que tanto glibc y gtk pueden ser borrados
131 porque nadie más lo utilizará... y eso es complicado (sino, te aseguro
132 yo que un emerge -C borraría las dependencias huérfanas)
133
134 Ese punto es el que veo más peliagudo.
135
136 Aunque si que se podría tomar una foto del world actual y el world tras
137 el emerge de beryl, y hacer un diff, así eliminaríamos los paquetes
138 updateados, y sólo nos quedarían los que hemos incluido nuevos...
139
140 > Y aquí terminó la divagación de hoy.
141 >
142 > > PD: mantenos informados del asunto :-)
143 >
144 > Si llego a alguna conclusión funcional, lo sabreis. Aunque eso puede
145 > que no llegue pronto.
146
147 Yo pasaría la idea por los foros, seguro que toma forma rápido y
148 encuentras a algún developer dispuesto a colaborar...
149
150 > atte. javier m mora (jamarier)
151 salu2,
152
153
154 --
155 Arnau Bria
156 http://blog.emergetux.net
157 Wiggum: Dispara a las ruedas Lou.
158 Lou: eee, es un tanque jefe.
159 Wiggum: Me tienes hartito con todas tus excusas.
160
161 --
162 gentoo-user-es@g.o mailing list