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 |