Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 106398
Collapse All | Expand All

(-)/home/anpereir/gdocs/cvs/doc/es/kde-split-ebuilds.xml (-120 / +152 lines)
Lines 4-16 Link Here
4
4
5
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
5
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
6
6
7
<guide link="/doc/es/kde-split-ebuilds.xml">
7
<guide link="/doc/es/kde-split-ebuilds.xml" lang="es">
8
8
9
<title>El COMO de los Ebuilds separados de KDE</title>
9
<title>El COMO (HOWTO) de los Ebuilds separados de KDE</title>
10
10
11
<author title="Author">
11
<author title="Autor">
12
  <mail link="danarmak@gentoo.org">Dan Armak</mail>
12
  <mail link="danarmak@gentoo.org">Dan Armak</mail>
13
</author>
13
</author>
14
<author title="Editor Es">
15
   <mail link="chiguire@gentoo.org">John Christian Stoddart</mail>
16
</author>
17
<author title="Editor Es">
18
   <mail link="yoswink@gentoo.org">José Luis Rivero</mail>
19
</author>
14
<author title="Editor">
20
<author title="Editor">
15
    <mail link="bass@gentoo.org">José Alberto Suárez López</mail>
21
    <mail link="bass@gentoo.org">José Alberto Suárez López</mail>
16
</author>
22
</author>
Lines 19-102 Link Here
19
</author>
25
</author>
20
26
21
<abstract>
27
<abstract>
22
Con el lanzamiento del KDE 3.4, fueron introducidos a portage los 'ebuilds
28
Con el lanzamiento de KDE 3.4, se incorporaron a Portage los 'ebuilds
23
separados'. Esta página documenta las razones detrás de esta transición y las
29
separados'. Esta página documenta las razones detrás de esta transición, las
24
nuevas funcionalidades brindadas por la misma.
30
nuevas funcionalidades brindadas por la misma y la forma de actualizar 
31
del viejo estilo de los ebuilds 'monolíticos'.
25
</abstract>
32
</abstract>
26
33
27
<!-- The content of this document is licensed under the CC-BY-SA license -->
34
<!-- The content of this document is licensed under the CC-BY-SA license -->
28
<!-- See http://creativecommons.org/licenses/by-sa/2.0 -->
35
<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
29
<license/>
36
<license/>
30
37
31
<version>1.1</version>
38
<version>1.5</version>
32
<date>19 de febrero del 2005</date>
39
<date>2005-07-02</date>
33
40
34
<chapter>
41
<chapter>
35
<title>Los ebuild separados del KDE</title>
42
<title>Los ebuilds separados de KDE</title>
36
<section>
43
<section>
37
<title>Que es lo que son</title>
44
<title>¿Qué es lo que son?</title>
38
<body>
45
<body>
39
46
40
<p>
47
<p>
41
Antes de Enero del 2005, los únicos ebuilds de KDE en portage eran los
48
Hasta Enero del 2005, los únicos ebuilds de KDE en Portage eran los
42
'monolíticos'. Eso significa que solamente existían 15 ebuilds, y cada uno de
49
'monolíticos'. Eso significa que solamente existían 15 ebuilds, y cada uno de
43
ellos instalaba muchas aplicaciones que, de hecho, no dependían uno del otro.
50
ellos instalaba muchas aplicaciones que, de hecho, no dependían uno del otro.
44
Esto era claramente una situación no muy óptima que digamos, y no sigue la
51
Esto era claramente una situación no muy óptima que digamos, y no sigue la
45
filosofía Gentoo; fue tolerado por un largo tiempo, hasta hoy.
52
filosofía Gentoo; pero fue tolerado por un largo tiempo, hasta hoy.
46
</p>
53
</p>
47
54
48
<p>
55
<p>
49
Los nuevos ebuilds 'separados' han enderezado esta situación, nos
56
Los nuevos ebuilds 'separados' han rectificado esta situación, nos
50
proveen ebuilds separados para todas las aplicaciones del KDE. Esto nos da un
57
proveen ebuilds separados para todas las aplicaciones de KDE. Esto nos da 
51
total de 330 nuevos ebuilds en la categoría kde-base.
58
cerca de 330 nuevos ebuilds en la categoría kde-base.
52
</p>
59
</p>
53
60
54
<p>
61
<p>
55
Todavía se proveen ebuilds 'monolíticos' para KDE 3.4 e interoperan con los
62
Todavía se proveen ebuilds 'monolíticos' para KDE 3.4 e interoperan con los
56
'separados' transparentemente. Sin embargo, los ebuild separados son el nuevo
63
'separados' transparentemente. Sin embargo, los ebuilds separados son el nuevo
57
valor por defecto, y no habrán más ebuilds monolíticos para cuando salga el KDE
64
valor por defecto, y no habrán más ebuilds monolíticos para cuando salga KDE
58
4.0.
65
4.0.
59
</p>
66
</p>
60
67
61
<p>
68
<p>
62
También se encuentran los ebuilds separados para el Koffice. Estos nos proveen
69
También se encuentran los ebuilds separados para el Koffice. Estos nos proveen
63
de kword, kugar, etc.. como paquetes separados.
70
de kword, kugar, etc. como paquetes separados.
64
</p>
71
</p>
65
72
66
</body>
73
</body>
67
</section>
74
</section>
68
<section>
75
<section>
69
<title>Como usarlos</title>
76
<title>¿Cómo usarlos?</title>
70
<body>
77
<body>
71
78
72
<p>
79
<p>
73
En el momento de la edición de este documento, la última versión de KDE 3.4.0
80
En el momento de edición de este documento, la última versión de KDE es la 3.4.1,
74
es 3.4.0_beta1. En portage se encuentran los correspondientes ebuilds separados
81
la cual fue marcada como estable hace poco. En Portage se encuentran los 
75
(y monolíticos) enmascarados.
82
correspondientes ebuilds separados y monolíticos.
76
</p>
83
</p>
77
84
78
<ul>
85
<ul>
79
  <li>
86
  <li>
80
    Para realizar un emerge de un paquete particular, como kmail, simplemente
87
    Para realizar un emerge de un paquete particular, como kmail, simplemente
81
    debes de escribir <c>emerge kmail</c>.
88
    debe de escribir <c>emerge kmail</c>.
82
  </li>
89
  </li>
83
  <li>
90
  <li>
84
   Para realizar un emerge del entorno básico del KDE en donde puedas realizar
91
   Para realizar un emerge del entorno básico de KDE en donde pueda realizar
85
   un login del una sesión minimalística del KDE, tienes que ejecutar <c>emerge
92
   login a una sesión minimalística de KDE, tiene que ejecutar <c>emerge
86
   kdebase-startkde</c>
93
   kdebase-startkde</c>
87
  </li>
94
  </li>
88
  <li>
95
  <li>
89
    Finalmente, el equivalente a lo que realiza un ebuild monolítico (por
96
    Finalmente, el equivalente a lo que realiza un ebuild monolítico (por
90
    ejemplo, para instalar todas las aplicaciones incluídas en
97
    ejemplo, para instalar todas las aplicaciones incluidas en
91
    <c>kdebase</c>) utilizando los ebuilds separados, debes de ejecutar
98
    <c>kdebase</c>) utilizando los ebuilds separados, debe de ejecutar
92
    <c>emerge kdebase-meta</c> (o kdepim-meta, etc.). Para instalar
99
    <c>emerge kdebase-meta</c> (o kdepim-meta, etc.). Para instalar
93
    absolutamente todo el paquete KDE ejecuta <c>emerge kde-meta</c>
100
    absolutamente todo el paquete KDE (usando ebuilds separados) ejecute <c>emerge kde-meta</c>
94
  </li>
101
  </li>
95
</ul>
102
</ul>
96
103
97
</body>
104
</body>
98
</section>
105
</section>
99
<section>
106
<section>
107
<title>¿Cómo actualizar a los ebuilds separados a partir de los monolíticos?</title>
108
<body>
109
110
<p>
111
Si tiene instalado KDE 3.3.x, puede simplemente ejecutar <c>emerge kde-meta</c>
112
para instalar los ebuilds separados de 3.4.x sin afectar su instalación existente.
113
</p>
114
115
<p>
116
Si tiene instalados los ebuilds monolíticos de KDE 3.4.x, debe desinstalarlos 
117
antes de proceder con los ebuilds separados. No obstante, este proceso puede ser hecho por partes, 
118
es decir, puede desinstalar los ebuilds monolíticos uno a continuación de otro sin tener que 
119
desinstalar todo KDE de una vez.
120
</p>
121
122
<p>
123
Si tiene dudas, recuerde que hay dependencias bloqueantes entre cada ebuild
124
monolítico y los ebuilds separados que derivan del primero. Portage no permitirá
125
que se cree un estado ilegal, así que cualquier emerge o unmerge que permita estará
126
correcto.
127
</p>
128
129
</body>
130
</section>
131
<section>
100
<title>Ventajas de utilizar los ebuilds separados</title>
132
<title>Ventajas de utilizar los ebuilds separados</title>
101
<body>
133
<body>
102
134
Lines 107-164 Link Here
107
139
108
<ul>
140
<ul>
109
  <li>
141
  <li>
110
    La mayoría  de los paquetes no cambian entre versiones del KDE
142
    La mayoría  de los paquetes no cambian entre versiones menores de KDE. 
111
    menores. Por ejemplo, al realizar una actualización del 3.3.1 al 3.3.2,
143
    Por ejemplo, al realizar una actualización del 3.3.1 al 3.3.2,
112
    apenas cambian alrededor de 100 de los 320 paquetes. Los paquetes separados
144
    apenas cambian alrededor de 100 de los 320 paquetes. Los paquetes separados
113
    nos permiten crear nuevos ebuilds solamente para aquellos paquetes que
145
    nos permiten crear nuevos ebuilds solamente para aquellos paquetes que
114
    realmente cambian, ahorrándonos (en este ejemplo) más de dos terceras
146
    realmente cambian, ahorrándonos (en este ejemplo) más de dos tercios
115
    partes del tiempo en compilación en la actualización.
147
    del tiempo en compilación en la actualización.
116
  </li>
148
  </li>
117
  <li>
149
  <li>
118
    Los parches usualmente afectan a un paquete en particular. Con los ebuilds
150
    Los parches usualmente afectan a un paquete en particular. Con los ebuilds
119
    separados, pueden ser probados y realizar un commit de ellos más rápido,
151
    separados, pueden ser probados y realizar un commit de ellos más rápido,
120
    y los desarrolladores tienen menos cosas para hacer; y como en el item
152
    y los desarrolladores tienen menos cosas para hacer; y como en el ítem
121
    anterior, el usuario se ahorraría tiempo en compilación al actualizar el
153
    anterior, el usuario se ahorraría tiempo en compilación al actualizar el
122
    KDE. En particular, esto es muy importante para las actualizaciones de
154
    KDE. En particular, esto es muy importante para las actualizaciones de
123
    seguridad.
155
    seguridad.
124
  </li>
156
  </li>
125
  <li>
157
  <li>
126
    Los usuarios de otros entornos de escritorios y manejadores de ventanas mas
158
    Los usuarios de otros entornos de escritorios y administradores de ventanas más
127
    simples, pueden realizar un emerge de las aplicaciones que ellos quieran
159
    simples, pueden instalar vía emerge las aplicaciones que quieran
128
    sin la necesidad de instalar todas las demás aplicaciones de, por ejemplo,
160
    sin necesidad de instalar todas las demás aplicaciones de, por ejemplo,
129
    kdebase o kdepim.
161
    kdebase o kdepim.
130
  </li>
162
  </li>
131
  <li>
163
  <li>
132
    Los usuarios tienen un control más detallado con respecto a los paquetes que
164
    Los usuarios tienen un control más detallado con respecto a los paquetes que
133
    tienen instalados. Las razones por las cuales querrás esto son:
165
    tienen instalados. Las razones por las cuales pueda querer esto son:
134
    
166
    
135
    <ul>
167
    <ul>
136
      <li>
168
      <li>
137
        Te importa el tiempo de compilación. <c>emerge kdebase kdepim
169
        Le importa el tiempo de compilación. <c>emerge kdebase kdepim
138
        kdenetwork</c> tarda mucho tiempo cuando lo único que necesitas es
170
        kdenetwork</c> tarda mucho tiempo cuando lo único que necesita es
139
        konqueror, kmail y kopete.
171
        konqueror, kmail y kopete.
140
      </li>
172
      </li>
141
      <li>
173
      <li>
142
        Te importa el uso del espacio en el disco.  Cada paquete que no es
174
        Le importa el uso del espacio en el disco.  Cada paquete que no es
143
        usado, malgasta muchos megabytes de tu disco, "tapando sus poros". Un
175
        usado, malgasta muchos megabytes de su disco, "tapando sus poros". Un
144
        disco con más espacio libre puede "respirar mejor"; es un disco
176
        disco con más espacio libre puede "respirar mejor"; es un disco
145
        rígido feliz :).
177
        duro rápido y feliz :).
146
      </li>
178
      </li>
147
      <li>
179
      <li>
148
        Te importa la seguridad de tu sistema. Todo el software instalado es
180
        Le importa la seguridad de su sistema. Todo el software instalado es
149
        una fuente potencial de vulnerabilidades, y no existe excusa alguna
181
        una fuente potencial de vulnerabilidades, y no existe excusa alguna
150
        para andar teniendo software por ahí en tu sistema sin ser usado.
182
        para andar teniendo software por ahí en su sistema sin ser usado.
151
      </li>
183
      </li>
152
      <li>
184
      <li>
153
        Tu sigues fielmente la
185
        Sigue fielmente la
154
        <uri link="http://www.gentoo.org//main/en/philosophy.xml">filosofía de
186
        <uri link="http://www.gentoo.org//main/en/philosophy.xml">Filosofía de
155
Gentoo</uri> al hacer las cosas, y no soportas el hecho de que muchos
187
Gentoo</uri> al hacer las cosas, y no soporta el hecho de que muchos
156
programas estén en un enorme paquete, forzándote a instalarlos.
188
programas estén en un enorme paquete, forzándolo a instalarlos.
157
      </li>
189
      </li>
158
    </ul>
190
    </ul>
159
  </li>
191
  </li>
160
  <li>
192
  <li>
161
    Finalmente, los ebuilds separados también nos permiten más flexibilidad con
193
    Finalmente, los ebuilds separados permiten más flexibilidad con
162
    respecto al tiempo de compilación y el uso de los parámetros USE (USE flags).
194
    respecto al tiempo de compilación y el uso de los parámetros USE (USE flags).
163
  </li>
195
  </li>
164
</ul>
196
</ul>
Lines 172-194 Link Here
172
<p>
204
<p>
173
Los ebuilds monolíticos y separados pueden ser mezclados libremente. La única
205
Los ebuilds monolíticos y separados pueden ser mezclados libremente. La única
174
restricción es que un ebuild monolítico no puede ser instalado al mismo tiempo
206
restricción es que un ebuild monolítico no puede ser instalado al mismo tiempo
175
que un ebuild separado derivado de este. Existen dependencias que bloquean en
207
que un ebuild separado derivado de este. Existen dependencias bloqueantes en
176
los ebuilds que refuerzan esto, así que solo podrás hacer cualquier cosa que
208
los ebuilds que hagan esto, así que sólo podrá hacer cualquier cosa que
177
emerge te permita.
209
emerge le permita.
178
</p>
210
</p>
179
211
180
<p>
212
<p>
181
Sin embargo, por lo general, no existe razón alguna para utilizar una
213
Sin embargo, por lo general, no existe razón alguna para utilizar una
182
configuración mixta. De hecho, excepto en casos especiales, como que
214
configuración mixta. De hecho, excepto en casos especiales, como que
183
la compilación tarde demasiado (CPUs mips), deberías utilizar los ebuilds
215
la compilación tarde demasiado (CPUs mips), debería utilizar los ebuilds
184
separados.
216
separados.
185
</p>
217
</p>
186
218
187
<p>
219
<p>
188
Los ebuilds separados son los ebuilds por defecto. Esto significa que cuando
220
Los ebuilds separados son los ebuilds por defecto. Esto significa que cuando
189
otro ebuild dependa de una aplicación de KDE, querra instalar un ebuild
221
otro ebuild dependa de una aplicación de KDE, querrá instalar un ebuild
190
separado. Sin embargo, el ebuild monolítico equivalente también cumpliría con la
222
separado. Sin embargo, el ebuild monolítico equivalente también cumpliría con la
191
dependencia, de manera que puedes realizar un emerge del ebuild monolítico
223
dependencia, de manera que puede realizar un emerge del ebuild monolítico
192
manualmente y luego realizar el emerge del ebuild que depende del mismo.
224
manualmente y luego realizar el emerge del ebuild que depende del mismo.
193
</p>
225
</p>
194
226
Lines 199-205 Link Here
199
<chapter>
231
<chapter>
200
<title>Inconvenientes de rendimiento</title>
232
<title>Inconvenientes de rendimiento</title>
201
<section>
233
<section>
202
<title>Porque los ebuilds separados son lentos</title>
234
<title>¿Por qué los ebuilds separados son lentos?</title>
203
<body>
235
<body>
204
236
205
<p>
237
<p>
Lines 207-242 Link Here
207
debido a la sobrecarga de descomprimir y ejecutar 'configure' por
239
debido a la sobrecarga de descomprimir y ejecutar 'configure' por
208
cada paquete los ebuilds separados tomarán mucho más tiempo en realizar un
240
cada paquete los ebuilds separados tomarán mucho más tiempo en realizar un
209
emerge que los monolíticos. Un <c>emerge kde-meta</c> podría tomar un 20-30%
241
emerge que los monolíticos. Un <c>emerge kde-meta</c> podría tomar un 20-30%
210
más que el clásico <c>emerge kde</c>, el cual es inaceptable debido al ya largo
242
más que el clásico <c>emerge kde</c>, lo cual es inaceptable debido al ya largo
211
tiempo de compilación.
243
tiempo de compilación.
212
</p>
244
</p>
213
245
214
<p>
246
<p>
215
Además, en este momento los ebuilds separados siempre ejecutan <c>make -f
247
Además, en este momento los ebuilds separados siempre ejecutan <c>make -f
216
admin/Makefile.cvs</c> (esto significa ejecutar autoconf, automake, etc. y demás
248
admin/Makefile.cvs</c> (esto significa ejecutar autoconf, automake, etc. y demás
217
scripts relacionados al kde). El tiempo que esto toma, se encuentra en el
249
scripts relacionados a KDE). Esto añade un tardanza adicional aproximadamente del
218
mismo orden que tarda el configure para ejecutarse.
250
mismo orden que demora el 'configure' en ejecutarse.
219
</p>
251
</p>
220
252
221
<p>
253
<p>
222
A simple vista se puede observar que este análisis es méramente superficial y no
254
A simple vista se puede observar que este análisis es meramente superficial y no
223
es muy detallado. Muchos de los factores causantes de esta relentización, serán
255
es muy detallado. Sin embargo, muchos de los factores causantes de esta ralentización, serán
224
detallados en las próximas secciones.
256
detallados en las próximas secciones.
225
</p>
257
</p>
226
258
227
<p>
259
<p>
228
Vale la pena reiterar que con los ebuilds separados el tiempo de actualización
260
Vale la pena reiterar que con los ebuilds separados el tiempo de actualización
229
del KDE puede ser 2 veces mas rápido, y en algunos casos 10 o más veces,
261
de KDE puede ser 2 veces mas rápido, y en algunos casos 10 o más veces,
230
con el simple hecho de realizar una actualización de los paquetes que realmente
262
con el simple hecho de realizar una actualización de los paquetes que realmente
231
cambian. El beneficio de una nica actualización por lo general hace valer la
263
cambian. El beneficio de una actualización única por lo general hace que valga la
232
pena pasar por la sobrecarga inicial de la instalación.
264
pena pasar por la sobrecarga inicial de la instalación.
233
</p>
265
</p>
234
266
235
<p>
267
<p>
236
Finalmente, instalar todo el KDE tiene sentido si quieres explorar los paquetes
268
Finalmente, instalar todo el KDE tiene sentido si quiere explorar los paquetes
237
disponibles o si estás configurando un entorno multi-usuario; sin embargo, la
269
disponibles o si está configurando un entorno multi-usuario; sin embargo, la
238
mayoría de las personas utilizan algunas de las más de 300 aplicaciones disponibles
270
mayoría de las personas utilizan algunas de las más de 300 aplicaciones disponibles
239
del KDE. Cualquier persona a quien le importe el tiempo de compilación, como
271
de KDE. Cualquier persona a quien le importe el tiempo de compilación, como
240
los usuarios que poseen máquinas viejas, pueden ganar mas tiempo seleccionando
272
los usuarios que poseen máquinas viejas, pueden ganar mas tiempo seleccionando
241
solamente los paquetes que quieran.
273
solamente los paquetes que quieran.
242
</p>
274
</p>
Lines 244-267 Link Here
244
</body>
276
</body>
245
</section>
277
</section>
246
<section>
278
<section>
247
<title>Que se hará para acelerar los ebuilds separados</title>
279
<title>¿Que se hará para acelerar los ebuilds separados?</title>
248
<body>
280
<body>
249
281
250
<p>
282
<p>
251
La mejora más obvia será la de distribuir archivos .tar.gz/tar.bz2 
283
La mejora más obvia sería distribuir archivos .tar.gz/tar.bz2 
252
(tarballs) para los ebuilds separados, evitando así el hecho de descomprimir
284
(tarballs) para los ebuilds separados, evitando así el hecho de descomprimir
253
piezas de los tarballs de los ebuilds monolíticos (kdebase, etc...) que son
285
partes de los tarballs de los ebuilds monolíticos (kdebase, etc...) que son
254
distribuidos oficialmente. Esto eliminaría dos de los tres factores que influyen
286
distribuidos oficialmente. Esto eliminaría dos de los tres factores que influyen
255
en la sobrecarga del sistema: la repetida extracción de enormes tarballs y la
287
en la sobrecarga del sistema: la repetida extracción de enormes tarballs y la
256
regeneración de los archivos makefile ( la etapa de <c>make -f
288
regeneración de los archivos makefile ( la etapa de <c>make -f
257
admin/Makefile.cvs</c> descripta arriba).
289
admin/Makefile.cvs</c> descrita arriba).
258
</p>
290
</p>
259
291
260
<p>
292
<p>
261
Esto nos deja solamente con el inconveniente de ejecutar repetidamente
293
Esto nos deja solamente con el inconveniente de ejecutar repetidamente
262
 <c>configure</c>. La solución apropiada a este problema es confcache: es un
294
 <c>configure</c>. La solución apropiada a este problema es confcache: es un
263
cache de configure que se comparte entre ejecuciones del emerge. Ya existe una
295
caché de configure que se comparte entre ejecuciones del emerge. Ya existe una
264
implementación en la rama de desarrollo de portage (la herramienta, no el árbol
296
implementación en la rama de desarrollo de Portage (la herramienta, no el árbol
265
de paquetes); se espera una versión estable de confcache para dentro de
297
de paquetes); se espera una versión estable de confcache para dentro de
266
aproximadamente 6 meses.
298
aproximadamente 6 meses.
267
</p>
299
</p>
Lines 269-284 Link Here
269
</body>
301
</body>
270
</section>
302
</section>
271
<section>
303
<section>
272
<title>Otros factores que relentizan los ebuilds separados.
304
<title>Otros factores que contrarrestan la ralentización de los ebuilds separados.
273
</title>
305
</title>
274
<body>
306
<body>
275
307
276
<p>
308
<p>
277
En la sección anterior se mencionan métodos para mejorar el rendimiento de los
309
En la sección anterior se mencionan métodos para mejorar el rendimiento de los
278
ebuilds separados en particular. A continuación, mencionaremos algunas mejoras
310
ebuilds separados en particular. A continuación, mencionaremos algunas mejoras
279
que son igualmente aplicables a los ebuilds monolíticos como a los separados.
311
que son igualmente aplicables a los ebuilds monolíticos.
280
Estas mejoras ayudan a que los ebuilds separados sean lo 'suficientemente
312
Estas mejoras ayudan a que los ebuilds separados sean lo 'suficientemente
281
rápidos'.
313
rápidos', exceptuando las comparaciones con soluciones menos peculiares como los
314
ebuilds monolíticos.
282
</p>
315
</p>
283
316
284
<ul>
317
<ul>
Lines 297-305 Link Here
297
    Todas las demás herramientas involucradas en la construcción serán aún mas
330
    Todas las demás herramientas involucradas en la construcción serán aún mas
298
    rápidas con el pasar del tiempo, y consecuentemente los tiempos de
331
    rápidas con el pasar del tiempo, y consecuentemente los tiempos de
299
    compilación de varios paquetes relacionados con kde serán menores. La nueva
332
    compilación de varios paquetes relacionados con kde serán menores. La nueva
300
    funcionalidad del GCC 4.0 (visibility=hidden) y las cabeceras precompiladas
333
    funcionalidad de GCC 3.4 (visibility=hidden) y las cabeceras precompiladas (GCC 4.0)
301
    son dos ejemplos actuales. No son algo que uno gana debido al hecho de
334
    son dos ejemplos actuales. No son algo que uno gana debido al hecho de
302
    utilizar ebuilds separados; solo significa que ahora podemos sobrellevar
335
    utilizar ebuilds separados; sólo significa que ahora podemos sobrellevar
303
    compilaciones que utilizan más la CPU.
336
    compilaciones que utilizan más la CPU.
304
  </li>
337
  </li>
305
</ul>
338
</ul>
Lines 315-322 Link Here
315
<body>
348
<body>
316
349
317
<p>
350
<p>
318
DO_NOT_COMPILE es una variable interna de entorno que usa el sistema de
351
DO_NOT_COMPILE es una variable de entorno interna que usa el sistema de
319
construcción de KDE. Permite seleccionar los directorios que no queremos que se
352
construcción de KDE. Permite seleccionar los subdirectorios que no queremos que se
320
compilen. Algunas personas lo usaban para compilar un subconjunto de los ebuilds
353
compilen. Algunas personas lo usaban para compilar un subconjunto de los ebuilds
321
monolíticos del KDE. Por ejemplo, si ejecutamos 
354
monolíticos del KDE. Por ejemplo, si ejecutamos 
322
 <c>DO_NOT_COMPILE=konqueror emerge kdebase</c>, entonces instalaríamos a
355
 <c>DO_NOT_COMPILE=konqueror emerge kdebase</c>, entonces instalaríamos a
Lines 324-332 Link Here
324
</p>
357
</p>
325
358
326
<p>
359
<p>
327
Sin embargo, DO_NOT_COMPILE nunca fue diseñado para interactuar de manera
360
Sin embargo, DO_NOT_COMPILE nunca fue diseñado para interferir con la operación
328
alguna con ningún sistema de manejo de paquetes, en particular portage. No
361
alguna con el sistema de administración de paquetes, en particular, Portage. No
329
funciona, puede romper tu sistema y jamás fue soportado. Les pedimos a todos
362
funciona, puede romper su sistema y jamás fue soportado. Les pedimos a todos
330
que desistan de su uso.
363
que desistan de su uso.
331
</p>
364
</p>
332
365
Lines 336-343 Link Here
336
369
337
<ul>
370
<ul>
338
  <li>
371
  <li>
339
    Rompe completamente con el sistema de localización de depenencias de
372
    Rompe completamente con el sistema de localización de dependencias de
340
    portage. Portage no sabe nada acerca de DO_NOT_COMPILE, y piensa que el
373
    Portage. Portage no sabe nada acerca de DO_NOT_COMPILE, y piensa que el
341
    paquete monolítico entero fue instalado y puede satisfacer una dependencia
374
    paquete monolítico entero fue instalado y puede satisfacer una dependencia
342
    de otro paquete. Esto puede causar que otros paquetes no puedan ser
375
    de otro paquete. Esto puede causar que otros paquetes no puedan ser
343
    instalados o que no puedan ejecutarse.
376
    instalados o que no puedan ejecutarse.
Lines 345-356 Link Here
345
  <li>
378
  <li>
346
    Obliga al usuario a saber acerca de los nombres y significados de todos los
379
    Obliga al usuario a saber acerca de los nombres y significados de todos los
347
    subdirectorios de los módulos del KDE. Muy pocos usuarios saben acerca de
380
    subdirectorios de los módulos del KDE. Muy pocos usuarios saben acerca de
348
    esto, y a menos que sean desarrolladores del KDE, no saben utilizar
381
    esto, y a menos que sean desarrolladores de KDE, no saben utilizar
349
    DO_NOT_COMPILE apropiadamente. 
382
    DO_NOT_COMPILE apropiadamente. 
350
  </li>
383
  </li>
351
  <li>
384
  <li>
352
    Los módulos del KDE pueden tener interdependencias entre ellos, y requieren
385
    Los módulos de KDE pueden tener interdependencias entre ellos y requieren
353
    de un orden en particular para poder ser construídos, también requieren que
386
    de un orden en particular para poder ser construidos, también requieren que
354
    otro subdirectorio se encuentre presente incluso si no es necesario
387
    otro subdirectorio se encuentre presente incluso si no es necesario
355
    instalarlo. En este aspecto, hemos puesto mucho trabajo en los ebuilds
388
    instalarlo. En este aspecto, hemos puesto mucho trabajo en los ebuilds
356
    separados, de manera que funcionen correctamente.  DO_NOT_COMPILE no se
389
    separados, de manera que funcionen correctamente.  DO_NOT_COMPILE no se
Lines 359-365 Link Here
359
    información al usuario para poder usarlo. La única cosa que hace es
392
    información al usuario para poder usarlo. La única cosa que hace es
360
    deshabilitar la compilación de un par de aplicaciones. Es prácticamente
393
    deshabilitar la compilación de un par de aplicaciones. Es prácticamente
361
    imposible que sea utilizado para seleccionar la instalación de determinadas
394
    imposible que sea utilizado para seleccionar la instalación de determinadas
362
    aplicaciones de los modulos como kdebase o kdepim.
395
    aplicaciones de los módulos como kdebase o kdepim.
363
  </li>
396
  </li>
364
  <li>
397
  <li>
365
    Si ayer instalé kmail y hoy quisiera agregar korn, utilizando
398
    Si ayer instalé kmail y hoy quisiera agregar korn, utilizando
Lines 380-387 Link Here
380
<body>
413
<body>
381
414
382
<p>
415
<p>
383
Sorpresivamente, ésta es una pregunta que siempre hacen. Estoy halagado que los
416
Sorpresivamente, ésta es una pregunta que siempre hacen. Estamos halagados que los
384
usuarios sean tan considerados con nosotros los mantenedores. Pero dejenmé
417
usuarios sean tan considerados con nosotros los mantenedores. Pero permitanos
385
aprovechar esta oportunidad para decirles que nosotros estamos haciendo esto
418
aprovechar esta oportunidad para decirles que nosotros estamos haciendo esto
386
por nuestra propia voluntad; que creemos que podremos continuar manteniendo los
419
por nuestra propia voluntad; que creemos que podremos continuar manteniendo los
387
ebuilds con una buena calidad; y que nadie nos podrá convencer a que dejemos de
420
ebuilds con una buena calidad; y que nadie nos podrá convencer a que dejemos de
Lines 389-398 Link Here
389
</p>
422
</p>
390
423
391
<p>
424
<p>
392
Mencionaré que los mantenedores de otras arquitecturas se han quejado por el
425
Por completitud, mencionamos que los mantenedores de otras arquitecturas se han quejado por el
393
gran aumento de trabajo que les toma realizar verificaciones y modificaciones a
426
gran aumento de trabajo que les toma realizar verificaciones y modificaciones a
394
tantos ebuilds separados. Estamos trabajando para resolver esto y cabe aclarar
427
tantos ebuilds separados. Estamos trabajando para resolver esto y cabe aclarar
395
que esto fué una de las grandes razones por las cuales existen ebuilds
428
que esto fue una de las grandes razones por las cuales existen todavía ebuilds
396
monolíticos para el KDE 3.4.
429
monolíticos para el KDE 3.4.
397
</p>
430
</p>
398
431
Lines 404-415 Link Here
404
437
405
<p>
438
<p>
406
Tenemos la idea de, eventualmente, borrarlos. Sin embargo, existirán los
439
Tenemos la idea de, eventualmente, borrarlos. Sin embargo, existirán los
407
ebuilds monolíticos y separados para las todas versiones del KDE 3.4.
440
ebuilds monolíticos y separados para las todas versiones de KDE 3.4.
408
</p>
441
</p>
409
442
410
<p>
443
<p>
411
Si prefieres utilizar los ebuilds monolíticos, por favor, 
444
Si prefieres utilizar los ebuilds monolíticos por sobre los separados, por favor, 
412
<uri link="http://bugs.gentoo.org">cuéntanos</uri> tus razones.
445
<uri link="http://bugs.gentoo.org">cuéntenos</uri> sus razones.
413
</p>
446
</p>
414
447
415
</body>
448
</body>
Lines 420-458 Link Here
420
<body>
453
<body>
421
454
422
<p>
455
<p>
423
Bueno, primero que nada, si sabes que el paquete que estás buscando se
456
Bueno, primero que nada, si sabe que el paquete que está buscando se
424
encuentra en kdebase, entonces puedes, todavía, ejecutar <c>emerge
457
encuentra en kdebase, entonces puede, todavía, ejecutar <c>emerge
425
kdebase-meta</c>, con casi los mismos resultados que si hubieses realizado un
458
kdebase-meta</c>, con casi los mismos resultados que si hubiese realizado un
426
emerge del ebuild monolítico <c>kdebase</c>. Así que, en realidad, las cosas no
459
emerge del ebuild monolítico <c>kdebase</c>. Así que, en realidad, las cosas no
427
han empeorado para nada debido a la introducción de los ebuilds separados.
460
han empeorado para nada debido a la introducción de los ebuilds separados.
428
</p>
461
</p>
429
462
430
<p>
463
<p>
431
Obviamente, siguen vigentes todas las maneras de localizar un paquete. ¿Cómo
464
Obviamente, siguen vigentes todas las maneras de localizar un paquete. ¿Cómo
432
encontrarías tu ebuild si fuese una aplicación de Gnome?. Mínimamente deberías
465
encontraría su ebuild si fuese una aplicación de Gnome?. Mínimamente debería
433
de saber, por lo menos, el nombre de la aplicación que estas buscando.
466
de saber, por lo menos, el nombre de la aplicación que estas buscando.
434
</p>
467
</p>
435
468
436
<p>
469
<p>
437
Tal vez, la situación podría ser mejorada con la introducción de varios
470
Tal vez, la situación podría ser mejorada con la introducción de varios
438
paquetes -meta. Solamente son listas de dependencias, así que no nos costaría
471
paquetes -meta. Solamente son listas de dependencias, así que no nos costaría
439
nada. Esto todavía no ha sido decidido. Sin embargo estaría bien tener la funcionalidad de conjuntos en Portage antes de usar este recurso demasiado.
472
nada. Esto todavía no ha sido decidido. Sin embargo sería bueno tener la funcionalidad 
473
de conjuntos en Portage antes de hacer esto en extenso.
440
</p>
474
</p>
441
475
442
</body>
476
</body>
443
</section>
477
</section>
444
<section>
478
<section>
445
<title>¿Cómo puedo realizar un unmerge del KDE viejo?</title>
479
<title>¿Cómo puedo realizar desinstalar (unmerge) de un KDE viejo?</title>
446
<body>
480
<body>
447
481
448
<p>
482
<p>
449
Supongamos que sale la versión 4.0 del KDE y que quieres realizar un unmerge de
483
Supongamos que sale la versión 4.0 del KDE y quiere realizar un unmerge de
450
todos los ebuilds separados del KDE 3.4. Debido a que corresponden a diferentes
484
todos los ebuilds separados de KDE 3.4. Debido a que corresponden a diferentes
451
slots, el programa emerge no te permitirá hacer esto, así que se necesita hacerlo de otra forma.
485
slots, el programa emerge no le permitirá hacer esto, así que se necesita hacerlo de otra forma.
452
</p>
486
</p>
453
487
454
<p>
488
<p>
455
Una solución a este problema requiere modificaciones a portage. Una posible
489
Una solución a este problema requiere modificaciones a Portage. Una posible
456
solución se encuentra descrita en <uri
490
solución se encuentra descrita en <uri
457
link="http://www.gentoo.org/proj/en/glep/glep-0021.html">GLEP 21</uri>. Sin
491
link="http://www.gentoo.org/proj/en/glep/glep-0021.html">GLEP 21</uri>. Sin
458
embargo, antes de que eso esté implementado, deberemos utilizar scripts como el
492
embargo, antes de que eso esté implementado, deberemos utilizar scripts como el
Lines 465-471 Link Here
465
siguiente código funciona:
499
siguiente código funciona:
466
</p>
500
</p>
467
501
468
<pre>
502
<pre caption="Borrando KDE 3.4 del sistema">
469
# <i>for x in `ls /usr/portage/kde-base`; do</i>
503
# <i>for x in `ls /usr/portage/kde-base`; do</i>
470
> <i>if [ "$x" != "CVS" ]; then</i>
504
> <i>if [ "$x" != "CVS" ]; then</i>
471
> <i>echo -n "=kde-base/$x-3.4* "</i>
505
> <i>echo -n "=kde-base/$x-3.4* "</i>
Lines 487-528 Link Here
487
<body>
521
<body>
488
522
489
<p>
523
<p>
490
El objetivo aquí es el de listar todos los ebuilds del KDE derivados de, por
524
El objetivo aquí es el de listar todos los ebuilds de KDE derivados de, por
491
ejemplo, el ebuild monolítico kde-base. Una vez más, una implementación
525
ejemplo, el ebuild monolítico kde-base. Una vez más, una implementación
492
apropiada (como <uri
526
apropiada (como <uri
493
link="http://www.gentoo.org/proj/en/glep/glep-0021.html">GLEP 21</uri>) haría
527
link="http://www.gentoo.org/proj/en/glep/glep-0021.html">GLEP 21</uri>) haría
494
de esto algo trivial. Sin embargo, hoy, tienes que entender la implementación de
528
de esto algo trivial. Sin embargo, hoy, tiene que entender en cierto grado la 
495
los eclasses del KDE. Así que, si quieres utilizar alguno de estos métodos en
529
implementación de las eclasses de KDE. Así que, si usa alguno de estos métodos en
496
un script que no sea para uso personal, por favor cuéntanos.
530
un script que no sea para uso personal, por favor cuéntenos.
497
</p>
531
</p>
498
532
499
<p>
533
<p>
500
kde-functions.eclass define las funciones llamadas get-parent-package() y
534
kde-functions.eclass define las funciones llamadas get-parent-package() y
501
get-child-packages() que hacen la "traducción" por tí. Estas dos funciones son
535
get-child-packages() que hacen la "traducción" para Ud. Estas dos funciones son
502
la manera correcta de completar satisfactoriamente este trabajo a partir de un
536
la manera correcta de completar satisfactoriamente este trabajo a partir de un
503
ebuild o de un script de bash externo. Aquí te mostramos un ejemplo:
537
ebuild o de un script de bash externo. Aquí te mostramos un ejemplo:
504
</p>
538
</p>
505
539
506
<pre>
540
<pre caption="Ejemplo de uso de las funciones de kde-functions">
507
$ <i>function die() { echo $@; } # se llama para reportar errores</i>
541
$ <i>function die() { echo $@; } # se llama para reportar errores</i>
508
$ <i>source /usr/portage/eclass/kde-functions.eclass</i>
542
$ <i>source /usr/portage/eclass/kde-functions.eclass</i>
509
$ <i>get-parent-package konqueror # no va a funcionar, tienes que especificar el
543
$ <i>get-parent-package konqueror # no va a funcionar, tiene que especificar el
510
nombre completo</i>
544
nombre completo</i>
511
<i>Package konqueror not found in KDE_DERIVATION_MAP, please report bug #
545
<i>Package konqueror not found in KDE_DERIVATION_MAP, please report bug # el error es mostrado en la salida</i>
512
el error es mostrado en la salida</i>
546
$ <i>get-parent-package kde-base/konqueror # nombre completo del paquete</i>
513
$ <i>get-parent-package kde-base/konqueror # nombre completo del
514
paquete</i>
515
<i>kde-base/kdebase # el resultado es mostrado por pantalla</i>
547
<i>kde-base/kdebase # el resultado es mostrado por pantalla</i>
516
$ <i>get-child-packages kde-base/kdebase</i>
548
$ <i>get-child-packages kde-base/kdebase</i>
517
<i> # (una enorme lista de paquetes mostrado aquí)</i>
549
<i> # (una enorme lista de paquetes mostrado aquí)</i>
518
</pre>
550
</pre>
519
551
520
<p>
552
<p>
521
Si tu script no está escrito en bash, puedes realizar un grep del
553
Si su script no está escrito en bash, puede realizar un grep del
522
kde-functions.eclass para extraer la definición (multilínea) de la variable
554
kde-functions.eclass para extraer la definición (multilínea) de la variable
523
KDE_DERIVATION_MAP, que las funciones mencionadas usan. Esta variable contiene
555
KDE_DERIVATION_MAP, que las funciones mencionadas usan. Esta variable contiene
524
una lista de palabras separadas por un espacio en blanco; y cada par de palabras
556
una lista de palabras separadas por un espacio en blanco; y cada par de palabras
525
consecutivas realizan un mapeo entre un paquete "padre" contra un hijo ebuild
557
consecutivas realizan un mapeo entre un paquete "padre" a un hijo ebuild
526
separado.
558
separado.
527
</p>
559
</p>
528
560

Return to bug 106398