This file is indexed.

/usr/share/doc/maint-guide-es/html/start.es.html is in maint-guide-es 1.2.39.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Capítulo 1. Empezando «de la forma correcta».</title>
    <link rel="stylesheet" type="text/css" href="debian.css"/>
    <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <link rel="home" href="index.es.html" title="Guía del nuevo desarrollador de Debian"/>
    <link rel="up" href="index.es.html" title="Guía del nuevo desarrollador de Debian"/>
    <link rel="prev" href="index.es.html" title="Guía del nuevo desarrollador de Debian"/>
    <link rel="next" href="first.es.html" title="Capítulo 2. Primeros pasos"/>
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Capítulo 1. Empezando «de la forma correcta».</th>
        </tr>
        <tr>
          <td align="left"><a accesskey="p" href="index.es.html"><img src="images/prev.png" alt="Anterior"/></a> </td>
          <th width="60%" align="center"> </th>
          <td align="right"> <a accesskey="n" href="first.es.html"><img src="images/next.png" alt="Siguiente"/></a></td>
        </tr>
      </table>
      <hr/>
    </div>
    <div class="chapter">
      <div class="titlepage">
        <div>
          <div>
            <h1 class="title"><a id="start"/>Capítulo 1. Empezando «de la forma correcta».</h1>
          </div>
        </div>
      </div>
      <div class="toc">
        <p>
          <strong>Tabla de contenidos</strong>
        </p>
        <dl class="toc">
          <dt>
            <span class="section">
              <a href="start.es.html#socialdynamics">1.1. Dinamismo social en Debian</a>
            </span>
          </dt>
          <dt>
            <span class="section">
              <a href="start.es.html#needprogs">1.2. Programas necesarios para el desarrollo</a>
            </span>
          </dt>
          <dt>
            <span class="section">
              <a href="start.es.html#needdocs">1.3. Documentos necesarios para el desarrollo</a>
            </span>
          </dt>
          <dt>
            <span class="section">
              <a href="start.es.html#helpme">1.4. Dónde pedir ayuda</a>
            </span>
          </dt>
        </dl>
      </div>
      <p>
Este documento tratará de describir cómo se construye un paquete Debian
GNU/Linux para el usuario común de Debian y para futuros desarrolladores en
un lenguaje informal, y con multitud de ejemplos.  Hay un antiguo dicho
romano que dice, «<span class="emphasis"><em>Longum iter est per preaecepta, breve et efficax
per exempla!</em></span>» (¡Es un largo camino con las reglas, pero corto y
eficiente con ejemplos!).
</p>
      <p>
Este documento está actualizado a la versión
<code class="literal">jessie</code> de Debian <a href="#ftn.idm75" class="footnote" id="idm75"><sup class="footnote">[1]</sup></a>.
</p>
      <p>
Una de las cosas que hace a Debian una de las distribuciones más importantes
del mercado es su sistema de paquetes.  Aunque hay una gran cantidad de
programas disponibles en forma de paquetes de Debian, algunas veces
necesitarás instalar programas que no están disponible en este formato.
Puede que te preguntes cómo hacer tus propios paquetes y que pienses que
quizás ésta es una tarea demasiado difícil.  Bueno, si eres un principiante
en GNU/Linux, sí es duro, pero si eres un novato, no deberías estar leyendo
esto ahora mismo.  :-) Necesitas saber algo sobre programación en Unix,
pero, desde luego, no tienes que ser un maestro <a href="#ftn.idm81" class="footnote" id="idm81"><sup class="footnote">[2]</sup></a>.
</p>
      <p>
Sin embargo, hay una cosa que es verdad: para construir y mantener paquetes
Debian adecuadamente, necesitarás muchas horas.  Para que nuestro sistema
trabaje sin errores, nuestros desarrolladores necesitan ser técnicamente
competentes y concienzudos.
</p>
      <p>
Si quieres información complementaria sobre cómo construir paquetes lee
<a class="xref" href="start.es.html#helpme" title="1.4. Dónde pedir ayuda">Sección 1.4, “Dónde pedir ayuda”</a>.
</p>
      <p>
Las nuevas versiones de este documento están en <a class="ulink" href="http://www.debian.org/doc/maint-guide/">http://www.debian.org/doc/maint-guide/</a>
y en el paquete <code class="systemitem">maint-guide</code>. Las
traducciones pueden obtenerse en paquetes como <code class="systemitem">maint-guide-es</code>. Debe tenerse presente que las
traducciones pueden estar desactualizadas.
</p>
      <p>
Como se trata de un tutorial, he optado por explicar cada paso
detalladamente en algunos temas importantes. Algunas explicaciones pueden
parecerte irrelevantes. Te ruego que seas paciente. También he omitido
intencionalmente algunos casos extremos y algunos aspectos sólo se mencionan
con la intención de que el documento sea sencillo.
</p>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="socialdynamics"/>1.1. Dinamismo social en Debian</h2>
            </div>
          </div>
        </div>
        <p>
Aquí explico mis observaciones sobre la dinámica social en Debian. Espero
que esto te preparará para la interacción con Debian:
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>Todos somos voluntarios.</p>
              <div class="itemizedlist">
                <ul class="itemizedlist">
                  <li class="listitem">
                    <p>No puedes imponer a los demás lo que debe hacerse.</p>
                  </li>
                  <li class="listitem">
                    <p>Debes estar motivado para hacer las cosas por ti mismo.</p>
                  </li>
                </ul>
              </div>
            </li>
            <li class="listitem">
              <p>La cooperación amistosa es la fuerza motriz.</p>
              <div class="itemizedlist">
                <ul class="itemizedlist">
                  <li class="listitem">
                    <p>Tu contribución no debe estresar a los demás.</p>
                  </li>
                  <li class="listitem">
                    <p>Tu contribución es valiosa sólo cuando los demás te lo agradecen..</p>
                  </li>
                </ul>
              </div>
            </li>
            <li class="listitem">
              <p>Debian no es la escuela donde recibir atención automática de los profesores.</p>
              <div class="itemizedlist">
                <ul class="itemizedlist">
                  <li class="listitem">
                    <p>Debes ser capaz de aprender muchas cosas por ti mismo.</p>
                  </li>
                  <li class="listitem">
                    <p>La atención por parte de otros voluntarios es un recurso muy escaso.</p>
                  </li>
                </ul>
              </div>
            </li>
            <li class="listitem">
              <p>Debian está mejorando constantemente.</p>
              <div class="itemizedlist">
                <ul class="itemizedlist">
                  <li class="listitem">
                    <p>Se espera que generes paquetes de alta calidad.</p>
                  </li>
                  <li class="listitem">
                    <p>Debes adaptarte al cambio.</p>
                  </li>
                </ul>
              </div>
            </li>
          </ul>
        </div>
        <p>
Se utilizan distintos nombres para referirse a los roles dentro de Debian:
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>
<span class="strong"><strong>autor original</strong></span> («upstream author»): para
referirse a la persona que ha escrito el código original del programa (o la
documentación original en el caso de paquetes de documentación).
</p>
            </li>
            <li class="listitem">
              <p>
<span class="strong"><strong>desarrollador original</strong></span> («upstream
maintainer»): la persona que se encarga de mantener el programa (el código
fuente) en la actualidad.
</p>
            </li>
            <li class="listitem">
              <p>
<span class="strong"><strong>empaquetador (desarrollador)</strong></span>
(«maintainer»): la persona que se encarga de construir y mantener
actualizados paquetes para Debian (N.  del t.: hay una cierta ambigüedad en
la traducción de «maintainer» por desarrollador puesto que se puede
confundir con la traducción de «Debian Developer», desarrollador que
pertenece al proyecto, y de «upstream maintainer», desarrollador del
programa original).
</p>
            </li>
            <li class="listitem">
              <p>
<span class="strong"><strong>patrocinador</strong></span> («sponsor»): la persona (que
debe ser un DD o DM, véase más adelante) que transfiere los paquetes
elaborados por el desarrollador al archivo de paquetes de Debian (al
repositorio de Debian) después de comprobar que el paquete cumple los
requisitos exigidos.
</p>
            </li>
            <li class="listitem">
              <p>
<span class="strong"><strong>mentor</strong></span>: la persona que ayuda a los
desarrolladores principiantes a iniciarse en la construcción y mantenimiento
de paquetes.
</p>
            </li>
            <li class="listitem">
              <p>
<span class="strong"><strong>desarrollador de Debian (DD)</strong></span> («Debian
Developer»): la persona que es miembro de Debian.  Tiene permiso total para
transferir paquetes al repositorio oficial de Debian.
</p>
            </li>
            <li class="listitem">
              <p>
<span class="strong"><strong>empaquetador de Debian (DM)</strong></span> («Debian
Maintainer»): la persona que tiene permiso limitado para transferir paquetes
al repositorio oficial de Debian.
</p>
            </li>
          </ul>
        </div>
        <p>
No puedes convertirte en <span class="strong"><strong>desarrollador oficial de
Debian</strong></span> (DD) de la noche a la mañana porque hace falta algo más
que habilidades técnicas.  No te sientas desilusionado por esto.  Aún puedes
subir tu paquete, si es útil a otras personas, como <span class="strong"><strong>empaquetador</strong></span> a través de un <span class="strong"><strong>patrocinador</strong></span> o un <span class="strong"><strong>empaquetador de Debian</strong></span>.
</p>
        <p>
Ten en cuenta que no es necesario construir un paquete nuevo para poder
convertirte en desarrollador oficial de Debian.  Una opción para ser
desarrollador oficial es contribuir al mantenimiento de los paquetes ya
existentes en la distribución.  Hay muchos paquetes esperando un buen
responsable (véase <a class="xref" href="first.es.html#choose" title="2.2. Elige el programa">Sección 2.2, “Elige el programa”</a> ).
</p>
        <p>
Dado que nos concentramos sólo en los aspectos técnicos del mantenimiento de
paquetes en este documento, consulta las siguientes referencias para
aprender cómo funciona Debian y cómo puedes participar:
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p><a class="ulink" href="http://upsilon.cc/~zack/talks/2011/20110321-taipei.pdf">Debian: 17 años de software libre,
"meritocracia" y democracia</a> (diapositivas de introducción en inglés) </p>
            </li>
            <li class="listitem">
              <p><a class="ulink" href="http://www.debian.org/intro/help">¿Cómo puedo ayudar a Debian?</a>
(documentación oficial) </p>
            </li>
            <li class="listitem">
              <p><a class="ulink" href="http://www.debian.org/doc/FAQ/ch-contributing">Las Preguntas Frecuentes de Debian GNU/Linux
FAQ, capítulo 13 - 'Contribuir al proyecto Debian' </a> (documentación
semi-oficial) </p>
            </li>
            <li class="listitem">
              <p><a class="ulink" href="http://wiki.debian.org/HelpDebian">Debian Wiki, HelpDebian</a> (documentación
complementaria) </p>
            </li>
            <li class="listitem">
              <p><a class="ulink" href="https://nm.debian.org/">Sitio web de nuevos miembros de Debian</a>
(documentación oficial) </p>
            </li>
            <li class="listitem">
              <p><a class="ulink" href="http://wiki.debian.org/DebianMentorsFaq">PUF de mentores en Debian</a>
(documentación complementaria) </p>
            </li>
          </ul>
        </div>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="needprogs"/>1.2. Programas necesarios para el desarrollo</h2>
            </div>
          </div>
        </div>
        <p>
Antes de empezar, debes asegurarte que tienes instalados algunos paquetes
adicionales necesarios para el desarrollo. Observa que la lista no contiene
paquetes marcados como  <code class="literal">esencial</code> o
<code class="literal">requerido</code> - al dar por supuesto que ya los tienes
instalados.
</p>
        <p>
Los siguientes paquetes vienen en una instalación estándar de Debian, así
que probablemente ya los tengas (junto con los paquetes de los que
dependen).  Aún así, deberías comprobarlo ejecutando <code class="literal">aptitude show
<em class="replaceable"><code>nombre_del_paquete</code></em></code> o con <code class="literal">dpkg
-s <em class="replaceable"><code>nombre_del_paquete</code></em></code>.
</p>
        <p>
El paquete imprescindible para el desarrollo es <code class="systemitem">build-essential</code>.  Al instalarlo,
<span class="emphasis"><em>también se instalaran otros paquetes</em></span> requeridos,
consiguiendo una instalación básica para la construcción de paquetes.
</p>
        <p>
Para la construcción de algunos paquetes esto seria suficiente, pero hay
otros paquetes que, no siendo esenciales en general para la construcción de
nuevos paquetes, puede ser útil tener instalados o, incluso, necesarios para
el paquete que estás construyendo:
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>
<code class="systemitem">autoconf</code>, <code class="systemitem">automake</code> y <code class="systemitem">autotools-dev</code> - muchos programas nuevos usan
ficheros de configuración y ficheros <code class="filename">Makefile</code> que se
procesan con la ayuda de programas como éstos (véase <code class="literal">info
autoconf</code>, <code class="literal">info automake</code>).  El paquete
<code class="systemitem">autotools-dev</code> permite mantener
versiones actualizadas de los archivos autoconf y automake y tiene
documentación para usar eficientemente ese tipo de archivos.
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">dh-make</code> y <code class="systemitem">debhelper</code> - <code class="systemitem">dh-make</code> es necesario para construir el esqueleto
de nuestro paquete ejemplo, y se usarán algunas de las herramientas de
<code class="systemitem">debhelper</code> para construir los
paquetes.  Aunque no son imprescindibles para la construcción de paquetes se
recomiendan <span class="emphasis"><em>encarecidamente</em></span> para nuevos
desarrolladores.  Hacen el proceso mucho más fácil al principio, y más fácil
de controlar en el futuro (véase <span class="citerefentry"><span class="refentrytitle">dh_make</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">debhelper</span>(1)</span>) <a href="#ftn.idm211" class="footnote" id="idm211"><sup class="footnote">[3]</sup></a>.
</p>
              <p>
The new <code class="systemitem">debmake</code> may be used as the
alternative to the standard <code class="systemitem">dh-make</code>.  It does more and comes with HTML
documentation with extensive packaging examples in <code class="systemitem">debmake-doc</code>.
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">devscripts</code> - este paquete contiene
algunos guiones útiles para los desarrolladores, pero no son necesarios para
construir paquetes.  Vale la pena mirar los paquetes recomendados y
sugeridos por este paquete (véase <code class="filename">/usr/share/doc/devscripts/README.gz</code>).
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">fakeroot</code> - esta utilidad te permite
emular al usuario administrador («root»), lo cual es necesario para ciertas
partes del proceso de construcción (véase <span class="citerefentry"><span class="refentrytitle">fakeroot</span>(1)</span>).
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">file</code> - este útil programa puede
determinar de qué tipo es un fichero (véase <span class="citerefentry"><span class="refentrytitle">file</span>(1)</span>).
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">gfortran</code> - el compilador GNU de
Fortran 95, necesario si el programa está escrito en Fortran (véase
<span class="citerefentry"><span class="refentrytitle">gfortran</span>(1)</span>).
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">git</code> - este paquete instala el
popular sistema de control de versiones, diseñado para hacer el seguimiento
de proyectos grandes con eficacia y rapidez; se utiliza para proyectos de
código libre importantes como es el caso del núcleo («kernel») de Linux
(véase <span class="citerefentry"><span class="refentrytitle">git</span>(1)</span> y git Manual
(<code class="filename">/usr/share/doc/git-doc/index.html</code>)).
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">gnupg</code> - herramienta que te permite
<span class="emphasis"><em>firmar</em></span> digitalmente los paquetes.  Esto es
especialmente importante si quieres distribuir tu paquete a otras personas,
y ciertamente, tendrás que hacerlo cuando tu trabajo vaya a incluirse en la
distribución de Debian (véase <span class="citerefentry"><span class="refentrytitle">gpg</span>(1)</span>).
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">gpc</code> - el compilador GNU de Pascal,
necesario si el programa está escrito en Pascal.  Merece la pena mencionar
aquí <code class="systemitem">fp-compiler</code>, un compilador
libre de Pascal, que también es bueno en esta tarea (véase <span class="citerefentry"><span class="refentrytitle">gpc</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">ppc386</span>(1)</span>).
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">lintian</code> - este es el programa que
comprueba los paquetes de Debian, puede indicarte muchos de los errores
comunes después de construir un paquete, y explica los errores encontrados
(véase <span class="citerefentry"><span class="refentrytitle">lintian</span>(1)</span> y <a class="ulink" href="https://lintian.debian.org/manual/index.html">Manual
de usuario de Lintian</a>)
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">patch</code> - esta utilidad es muy
práctica para modificar el original de un archivo a partir de un archivo de
diferencias (elaborado por el programa <span class="command"><strong>diff</strong></span>) produciendo
un archivo parcheado (véase <span class="citerefentry"><span class="refentrytitle">patch</span>(1)</span>).
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">patchutils</code> - este paquete contiene
programas para trabajar con los «parches» como <span class="command"><strong>lsdiff</strong></span>,
<span class="command"><strong>interdiff</strong></span> y <span class="command"><strong>filterdiff</strong></span>.
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">pbuilder</code> - este paquete contiene
programas para generar y mantener entornos <span class="command"><strong>chroot</strong></span>.  Al
construir paquetes Debian en estos entornos <span class="command"><strong>chroot</strong></span> se
verifica que las dependencias son las adecuadas y se evitan fallos al
construir desde el código fuente (FTBFS de «Fails To Build From Source»).
Véase <span class="citerefentry"><span class="refentrytitle">pbuilder</span>(8)</span> y <span class="citerefentry"><span class="refentrytitle">pdebuild</span>(1)</span>.
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">perl</code> - Perl es uno de los lenguajes
interpretados para hacer guiones (o «scripts») más usados en los sistemas
Un*x de hoy en día, comúnmente se refiere a él como la «navaja suiza de
Unix» (véase <span class="citerefentry"><span class="refentrytitle">perl</span>(1)</span>).
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">python</code> - Python es otro de los
lenguajes interpretados para hacer guiones (o «scripts») en Debian debido a
la combinación de su poder y sintaxis clara (véase <span class="citerefentry"><span class="refentrytitle">python</span>(1)</span>).
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">quilt</code> - este paquete ayuda a aplicar
modificaciones («parches») y hacer el seguimiento de los cambios
realizados.  Aplica las modificaciones ordenadamente en pila, y es posible
aplicar, deshacer y actualizar las modificaciones fácilmente recorriendo la
pila (véase <span class="citerefentry"><span class="refentrytitle">quilt</span>(1)</span> y
<code class="filename">/usr/share/doc/quilt/quilt.pdf.gz</code>.)
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">xutils-dev</code> - algunos programas,
normalmente aquellos hechos para X11, también usan programas para generar
<code class="filename">Makefile</code> ejecutando un conjunto de funciones de macro
(véase <span class="citerefentry"><span class="refentrytitle">imake</span>(1)</span>, <span class="citerefentry"><span class="refentrytitle">xmkmf</span>(1)</span>).
</p>
            </li>
          </ul>
        </div>
        <p>
Las breves descripciones dadas anteriormente sólo sirven para introducirte a
lo que hace cada paquete.  Antes de continuar, por favor, lee la
documentación de cada programa, al menos para su uso normal.  Puede
parecerte algo duro ahora, pero más adelante estarás
<span class="emphasis"><em>muy</em></span> contento de haberla leído.
</p>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="needdocs"/>1.3. Documentos necesarios para el desarrollo</h2>
            </div>
          </div>
        </div>
        <p>
Por último, la documentación que se indica a continuación es de
<span class="emphasis"><em>gran importancia</em></span> y debería leerse junto con este
documento:
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>
<code class="systemitem">debian-policy</code> - el <a class="ulink" href="http://www.debian.org/doc/devel-manuals#policy">manual de normas de Debian</a> incluye la
descripción de la estructura y contenidos del archivo, ciertas notas sobre
el diseño del sistema operativo, el <a class="ulink" href="http://www.debian.org/doc/packaging-manuals/fhs/fhs-2.3.html">Filesystem Hierarchy
Standard</a> («FHS», que explica dónde deberían estar cada fichero y
directorio), y, lo más importante para ti, describe los requisitos que debe
satisfacer cada paquete para ser incluido en la distribución (véase la
copias locales en <code class="filename">/usr/share/doc/debian-policy/policy.pdf.gz</code> y
<code class="filename">/usr/share/doc/debian-policy/fhs/fhs-2.3.pdf.gz</code>).
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">developers-reference</code> - la <a class="ulink" href="http://www.debian.org/doc/devel-manuals#devref">referencia del desarrollador de Debian</a>
para todos los temas no específicamente relacionados con los detalles
técnicos de cómo empaquetar, tales como la estructura del archivo (o
repositorio de Debian), cómo renombrar, abandonar, adoptar paquetes, cómo
hacer NMU («Non-Maintainer Uploads», o envíos por personas distintas del
desarrollador), como gestionar los errores que los usuarios envían, buenas
prácticas de empaquetado, cómo y cuando enviar los paquetes, etc.  (véase la
copia local en <code class="filename">/usr/share/doc/developers-reference/developers-reference.pdf</code>).
</p>
            </li>
          </ul>
        </div>
        <p>
Por último, la documentación que se indica a continuación es de
<span class="emphasis"><em>gran importancia</em></span> y debería leerse junto con este
documento:
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>
<a class="ulink" href="http://www.lrde.epita.fr/~adl/autotools.html">Tutorial de «Autotools»</a> contiene
un tutorial muy bueno sobre <a class="ulink" href="http://es.wikipedia.org/wiki/Autotools">el sistema de
compilación GNU conocido como «GNU Autotools»</a> cuyos componentes más
importantes son «Autoconf», «Automake», «Libtool», y «gettext»
</p>
            </li>
            <li class="listitem">
              <p>
<code class="systemitem">gnu-standards</code> - este paquete
contiene dos documentos del proyecto GNU: <a class="ulink" href="http://www.gnu.org/prep/standards/html_node/index.html">«GNU
Coding Standards»</a>, y <a class="ulink" href="http://www.gnu.org/prep/maintain/html_node/index.html">«Information for
Maintainers of GNU Software»</a>.  Aunque no se exige su cumplimiento en
Debian, son útiles como orientación y sentido común (véase las copias
locales en <code class="filename">/usr/share/doc/gnu-standards/standards.pdf.gz</code> y
<code class="filename">/usr/share/doc/gnu-standards/maintain.pdf.gz</code>).
</p>
            </li>
          </ul>
        </div>
        <p>
Si este documento contradice en algún aspecto a los documentos mencionados
anteriormente, prevalecen estos últimos.  Por favor, envía un informe de
error del paquete <code class="systemitem">maint-guide</code>
utilizando la orden <span class="command"><strong>reportbug</strong></span>.
</p>
        <p>
El siguiente documento es un tutorial alternativo que puedes leer a la vez
que el presente documento.
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>
                <a class="ulink" href="http://www.debian.org/doc/packaging-manuals/packaging-tutorial/packaging-tutorial">Debian Packaging Tutorial</a>
              </p>
            </li>
          </ul>
        </div>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="helpme"/>1.4. Dónde pedir ayuda</h2>
            </div>
          </div>
        </div>
        <p>
Antes de decidirte a plantear alguna cuestión en algún lugar público, lee la
documentación:
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>
archivos en
<code class="filename">/usr/share/doc/<em class="replaceable"><code>package</code></em></code> para
cada uno de los paquetes
</p>
            </li>
            <li class="listitem">
              <p>
contenidos de <code class="literal"><span class="command"><strong>man</strong></span>
<em class="replaceable"><code>command</code></em></code> para todos los comandos
pertinentes
</p>
            </li>
            <li class="listitem">
              <p>
contenidos de <code class="literal"><span class="command"><strong>info</strong></span>
<em class="replaceable"><code>command</code></em></code> para todos los comandos
pertinentes
</p>
            </li>
            <li class="listitem">
              <p>
contenidos de <a class="ulink" href="http://lists.debian.org/debian-mentors/">debian-mentors@lists.debian.org archivo de la
lista de correo</a>
</p>
            </li>
            <li class="listitem">
              <p>
contenidos de <a class="ulink" href="http://lists.debian.org/debian-devel/">debian-devel@lists.debian.org
mailing list archive</a>
</p>
            </li>
          </ul>
        </div>
        <p>
Considera el uso eficaz de los motores de búsqueda en la web incluyendo
<code class="literal">site:lists.debian.org</code> en la cadena de búsqueda, para
limitar el dominio.
</p>
        <p>
Construir un paquete pequeño es una buena forma de aprender los detalles del
mantenimiento de paquetes. Inspeccionar paquetes bien mantenidos es la mejor
forma de aprender cómo otros mantienen paquetes.
</p>
        <p>
Si todavía tienes preguntas acerca de la construcción de paquetes a las que
no puedes encontrar respuesta en la documentación disponible y los recursos
web, puedes formularlas interactivamente:
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>
<a class="ulink" href="http://lists.debian.org/debian-mentors/">debian-mentors@lists.debian.org mailing
list</a>. (Esta lista de correo es para los principiantes.)
</p>
            </li>
            <li class="listitem">
              <p>
<a class="ulink" href="http://lists.debian.org/debian-devel/">debian-devel@lists.debian.org mailing
list</a>. (Esta lista de correo es para expertos.)
</p>
            </li>
            <li class="listitem">
              <p>
<a class="ulink" href="http://www.debian.org/support#irc">IRC</a> tal como
<code class="literal">#debian-mentors</code>.
</p>
            </li>
            <li class="listitem">
              <p>
Los equipos se centran en un conjunto específico de paquetes.(La lista
completa está en <a class="ulink" href="https://wiki.debian.org/Teams">https://wiki.debian.org/Teams</a>)
</p>
            </li>
            <li class="listitem">
              <p>
Listas de correo en un idioma concreto como
debian-devel-{french,italian,portuguese,spanish}@lists.debian.org o bien
debian-devel@debian.or.jp.  (La lista completa está disponible en  <a class="ulink" href="https://lists.debian.org/devel.html">https://lists.debian.org/devel.html</a> and <a class="ulink" href="https://lists.debian.org/users.html">https://lists.debian.org/users.html</a>)
</p>
            </li>
          </ul>
        </div>
        <p>
Los desarrolladores de Debian con más experiencia te ayudaran con gusto, si
haces las preguntas después realizar el esfuerzo requerido.
</p>
        <p>
Cuando recibas un aviso de fallo (sí, avisos de fallos, ¡de verdad!) sabrás
que es el momento de indagar en el <a class="ulink" href="http://www.debian.org/Bugs/">Sistema de seguimiento
de fallos de Debian</a> y leer su documentación para poder tratar los
informes de forma eficiente.  Te recomiendo la lectura de la Referencia del
Desarrollador, en particular el capítulo de «<a class="ulink" href="http://www.debian.org/doc/manuals/developers-reference/pkgs.html#bug-handling">Referencia del desarrollador sección 5.8 -
Manejo de fallos</a>» («Handling Bugs»).
</p>
        <p>
Aunque todo funcione bien, es el momento de cruzar los dedos.  ¿Por qué? Por
que en sólo unas horas (o días) usuarios de todo el mundo empezarán a usar
tu paquete, y si cometiste algún error crítico centenares de usuarios
furiosos de Debian te bombardearán con correos...  sólo bromeaba :-)
</p>
        <p>
Relájate y prepárate para recibir informes de fallos, porque hay mucho más
trabajo que realizar antes de que tu paquete cumpla las Normas de Debian
(una vez más lee la <span class="emphasis"><em>documentación real</em></span> para más
detalles).  ¡Buena suerte!
</p>
      </div>
      <div class="footnotes">
        <br/>
        <hr/>
        <div id="ftn.idm75" class="footnote">
          <p><a href="#idm75" class="para"><sup class="para">[1] </sup></a> El documento asume que estás utilizando la versión
<code class="literal">jessie</code>.  Si quieres utilizar este documento con
una versión anterior (incluidas versiones anteriores de Ubuntu u otras)
debes instalar (como mínimo) la versión «backport» de los paquetes
<code class="systemitem">dpkg</code> y <code class="systemitem">debhelper</code>.
</p>
        </div>
        <div id="ftn.idm81" class="footnote">
          <p><a href="#idm81" class="para"><sup class="para">[2] </sup></a>
Puedes aprender las operaciones básicas del sistema Debian en <a class="ulink" href="http://www.debian.org/doc/manuals/debian-reference/">Debian Reference</a>. Ese documento también trata algunos
aspectos sobre programación en UNIX.
</p>
        </div>
        <div id="ftn.idm211" class="footnote">
          <p><a href="#idm211" class="para"><sup class="para">[3] </sup></a> Hay varios paquetes similares pero más específicos como <code class="systemitem">dh-make-perl</code>, <code class="systemitem">dh-make-php</code>, etc.  </p>
        </div>
      </div>
    </div>
    <div class="navfooter">
      <hr/>
      <table width="100%" summary="Navigation footer">
        <tr>
          <td align="left"><a accesskey="p" href="index.es.html"><img src="images/prev.png" alt="Anterior"/></a> </td>
          <td align="center"> </td>
          <td align="right"> <a accesskey="n" href="first.es.html"><img src="images/next.png" alt="Siguiente"/></a></td>
        </tr>
        <tr>
          <td align="left" valign="top">Guía del nuevo desarrollador de Debian </td>
          <td align="center">
            <a accesskey="h" href="index.es.html">
              <img src="images/home.png" alt="Inicio"/>
            </a>
          </td>
          <td align="right" valign="top"> Capítulo 2. Primeros pasos</td>
        </tr>
      </table>
    </div>
  </body>
</html>