File: maint-guide.es.sgml

package info (click to toggle)
maint-guide 1.2.14
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 1,256 kB
  • ctags: 27
  • sloc: makefile: 186; sh: 39
file content (2579 lines) | stat: -rw-r--r-- 110,867 bytes parent folder | download
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
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
<!DOCTYPE debiandoc PUBLIC "-//DebianDoc//DTD DebianDoc//EN" [

<!-- textual data entities -->
<!-- first definition wins in SGML -->
<!ENTITY % default  SYSTEM "default.ent">  %default;

]>
<!-- CVS revision of this document "$Revision: 1.45 $"  -->
<!-- CVS revision of original english document "1.115"  -->

<!-- Comentarios traduccion:
  - En esta traduccion se utiliza 't�' en lugar de 'usted' por 
    ser un poco m�s informal de lo habitual
-->

<!-- Comentarios al original:
* URL's a package manual?
* por qu� a veces usa tt y otras no para los programas ?
* no se usa prgn consistentemente cuando se habla de programas ni
  la etiqueta file
-->

<debiandoc>

 <book>

  <titlepag>

   <title>Gu�a del nuevo desarrollador de Debian</title>

   <author>Josip Rodin <email/joy-mg@debian.org/
   </author>


   <author>Traducido por: 
   Javier Fern�ndez-Sanguino Pe�a <email/jfs@debian.org/
   </author>

   <author>Traducido por: 
   David Mart�nez <email/ender@debian.org/
   </author>

   <author>Traducido por: 
   Ana Beatriz Guerrero L�pez <email/ana@debian.org/
   </author>

   <version>version 1.2.11, 12 de enero de 2007.</version>

   <copyright>
   <copyrightsummary>Copyright &copy; 1998-2002 Josip Rodin.<copyrightsummary>
   <copyrightsummary>Copyright &copy; 2005-2007 Osamu Aoki.</copyrightsummary>
   <copyrightsummary>Translation Copyright &copy; 1999, 2000, 2001, 2007 Javier Fern�ndez-Sanguino Pe�a, David Mart�nez y Ana Guerrero L�pez.</copyrightsummary>

   <p>Este documento puede utilizarse en los t�rminos descritos en 
   la Licencia P�blica GNU versi�n 2 o posterior.

   <p>Este documento se ha escrito usando estos dos documentos como
   ejemplo:

   <p>Making a Debian Package (AKA the Debmake Manual), copyright &copy;
   1997 Jaldhar Vyas.

   <p>The New-Maintainer's Debian Packaging Howto, copyright &copy; 1997
   Will Lowe.

<!--
   <p><em>Nota:</em> Esta versi�n est� muy desactualizada con respecto
   a la versi�n original en ingl�s (actualmente la 1.2.x). Se ofrece
   como ayuda a los usuarios que tengan problemas con el idioma ingl�s
   pero si est� realmente interesado le recomendamos que consulte
   la versi�n original por el momento. Es posible que esta traducci�n
   se actualice en el futuro, cuando as� se haga se eliminar� esta nota.</p>
-->
   </copyright>

  </titlepag>

  <toc sect>

  <chapt id="start">Empezando �de la forma correcta�.

<!-- 'Prospectus developer' podr�a traducirse tambi�n como 
     "desarrollador en potencia" o "desarrollador potencial" -->
  <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, <em>Longum iter est
  per preaecepta, breve et efficax per exempla!</em> (�Es un largo
  camino con las reglas, pero corto y eficiente con ejemplos!)

  <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 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.

  <p>Sin embargo, hay una cosa que es verdad: para crear 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>Este documento explicar� cada peque�o paso (al principio quiz�s
  irrelevantes), te ayudar� a crear tu primer paquete, ganar
  alguna experiencia en construir pr�ximas versiones de �l, y quiz�s
  otros paquetes despu�s.
  
  <p>Se pueden obtener versiones nuevas de este documento en l�nea
  en <url name="http://www.debian.org/doc/maint-guide/"
  id="http://www.debian.org/doc/maint-guide/"> y en el paquete
  �maint-guide-es�.

  <sect id="needprogs">Programas que necesitas para el desarrollo

  <p>Antes de empezar nada, deber�as asegurarte de que tienes
  instalados algunos paquetes adicionales necesarios para el
  desarrollo. Observa que en la lista no est�n incluidos paquetes
  cuyas prioridades son �esencial� o �requerido�, que se suponen ya
  instalados.

  <p>En la revisi�n de este documento se han actualizado los paquetes
  para Debian 2.2 (�potato�) y 3.0 (�woody�).

  <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 con
  �dpkg -s &lt;paquete&gt;�.

  
  <list>
  <item><package/dpkg-dev/ - este paquete contiene las herramientas
  necesarias para desempaquetar, construir y enviar paquetes fuente de
  Debian (v�ase <manref name="dpkg-source" section="1">).
 
  <item><package/file/ - este �til programa puede determinar de qu�
  tipo es un fichero (v�ase <manref name="file" section="1">).

  <item><package/gcc/ - el compilador de C de GNU, necesario si el
  programa, como la gran mayor�a, est� escrito en el lenguaje de
  programaci�n C (v�ase <manref name="gcc" section="1">).
  Este paquete tambi�n vendr� con otros paquetes como
  <package/binutils/ que incluye programas para ensamblar y enlazar
  ficheros objeto
  (v�ase �info binutils� en el paquete <package/binutils-doc/)
  y el preprocesador de C en el paquete <package/cpp/
  (v�ase <manref name="cpp" section="1">).

  <item><package/libc6-dev/ - las bibliotecas y archivos de cabecera de C
  que gcc necesita para enlazar y crear ficheros objeto
  (v�ase �info libc� en el paquete <package/glibc-doc/).
  
  <item><package/make/ - habitualmente la creaci�n de un programa consta de
  varios pasos. En lugar de ejecutar las mismas �rdenes una y otra
  vez, puedes utilizar este programa para automatizar el proceso,
  creando ficheros �Makefile� (v�ase �info make�).

  <item><package/patch/ - esta utilidad es muy pr�ctica, ya que permite
  tomar un fichero que contiene un listado de diferencias (producido
  por el programa diff) y aplic�rselas al fichero original,
  produciendo una versi�n "parcheada". (v�ase <manref name="patch"
  section="1">)

  <item><package/perl/ - Perl es uno de los lenguajes interpretados
  para hacer guiones (o �scripts�) m�s usados en los sistemas Un*x de hoy
  en dia, com�nmente se refiere a �l como la �navaja suiza de Unix�
  (v�ase <manref name="perl" section="1">).
  </list>


  <p>Probablemente, necesitar�s instalar adem�s los siguientes paquetes:

  <list>
  <item><package/autoconf/ y <package/automake/ - muchos programas
  nuevos usan ficheros de configuraci�n y ficheros �Makefile� que se
  procesan con la ayuda de programas como �stos (v�ase �info
  autoconf�, �info automake�).

  <item><package/dh-make/ y <package/debhelper/ - dh-make es necesario
  para crear el esqueleto de nuestro paquete ejemplo, y se usar�n
  algunas de las herramientas de debhelper para crear los paquetes. Aunque 
  no son imprescindibles para la creaci�n de paquetes se recomiendan 
  <strong>encarecidamente</strong> para nuevos desarrolladores. Hacen
  el proceso mucho m�s f�cil al principio, y m�s f�cil de controlar
  tambi�n m�s adelante (v�ase <manref name="dh_make" section="1">,
  <manref name="debhelper" section="1">,
  /usr/share/doc/debhelper/README).
  
  <item><package/devscripts/ - este paquete contiene algunos guiones
  �tiles para los desarrolladores, pero no son necesarios para crear
  paquetes (v�ase /usr/share/doc/devscripts/README.gz).
    
  <item><package/fakeroot/ - esta utilidad te permite emular al
  usuario administrador (o �root�, N. del T.), lo cual es necesario
  para ciertas partes del proceso de construcci�n (v�ase <manref
  name="fakeroot" section="1">).

 <item><package/gnupg/ - herramienta que te permite <em>firmar</em> 
  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 <manref name="gpg" section="1">).

  <item><package/g77/ - el compilador GNU de Fortran 77, 
  necesario si el programa est� escrito en Fortran
  (v�ase <manref name="g77" section="1">).

  <item><package/gpc/ - el compilador GNU de Pascal, 
  necesario si el programa est� escrito en Pascal.
  Merece la pena mencionar aqu� <package/fp-compiler/,
  un compilador libre de Pascal, que tambi�n es bueno en esta tarea
  (v�ase <manref name="gpc" section="1">, <manref name="ppc386" section="1">).

  <item><package/xutils/ - algunos programas,
  normalmente aquellos hechos para X11, tambi�n usan programas para
  generar Makefiles de un conjunto de funciones de macro
  (v�ase <manref name="imake" section="1">, <manref name="xmkmf" section="1">).

  <item><package/lintian/ - este es el comprobador de paquetes de Debian,
  que te indica muchos de los errores comunes despu�s de construir un
  paquete, y explica los errores encontrados
  (v�ase <manref name="lintian" section="1">, 
  /usr/share/doc/lintian/lintian.html/index.html).

  <item><package/pbuilder/ - este paquete contiene programas para
  crear y mantener entornos chroot. Al construir paquetes Debian en
  estos entornos chroot se verifica que las dependencias son las
  adecuadas y se evitan fallos al construir desde el c�digo
  fuente (v�ase <manref name="pbuilder" section="8"> y <manref
  name="pdebuild" section="1">).

  </list>

  <p>Por �ltimo, la documentaci�n que se indica a continuaci�n 
  es de <em>gran importancia</em> y deber�a leerse junto con este documento:

  <list>
  <item><package/debian-policy/ - incluye la estructura y contenidos
  del archivo, ciertas notas sobre el dise�o del sistema operativo, el est�ndar de la
  jerarqu�a del sistema de ficheros (�Filesystem Hierarchy Standard�,
  N. del T.), y, lo m�s importante para ti, describe los
  requisitos que debe satisfacer cada paquete para ser incluido en la
  distribuci�n (v�ase &debian-policy;).

  <item><package/developers-reference/ - para todos los temas no
  espec�ficamente relacionados con los detalles t�cnicos de c�mo
  empaquetar, tales como la estructura del archivo, c�mo renombrar,
  abandonar, adoptar paquetes, c�mo hacer NMUs (�Non-Maintainer Uploads�,
  o env�os por personas distintas del desarrollador, N. del T.), como
  gestionar los errores que los usuarios env�an, buenas pr�cticas de
  empaquetado, c�mo y cuando
  enviar los paquetes, etc.
<!-- traduzco upload por "enviar" pero no me gusta mucho - jfs -->
  (v�ase &developers-reference;).
  </list>

  <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
  <em>muy</em> contento de haberla le�do.

  <p>Nota: <package/debmake/ es un paquete que incluye otros programas
  con funciones similares a dh-make, pero su uso espec�fico
  <strong>no</strong> est� cubierto en este documento porque
  se trata de una herramienta obsoleta.

  <sect id="debiandeveloper">Desarrollador oficial de Debian

  <p>Puede que quieras convertir en un desarrollador oficial de Debian
  una vez hayas construido tu paquete (o incluso mientras lo est�s
  haciendo) para que el paquete se introduzca en la nueva distribuci�n
  (si el programa es �til, �por qu� no?).
  
  <p>No puedes convertirte en desarrollador oficial de Debian de la
  noche a la ma�ana porque hace falta m�s que s�lo habilidades
  t�cnicas. No te sientas desilusionado por esto. A�n puedes subir tu
  paquete, si es �til a otras personas, como su mantenedor a trav�s de
  un patrocinador mientras tu entras en el <url name="proceso de
  nuevos desarrolladores de Debian" id="&nm-home;">. En este caso el
  patrocinador es un desarrollador oficial de Debian que ayuda a la
  persona que mantiene el paquete a subirlo al archivo de
  Debian. Encontrar�s m�s informaci�n de este procedimiento en el
  documento <url id="&mentors-faq;" name="preguntas frecuentes de
  debian-mentors">.

  <p>Ten en cuenta que no tienes que crear un paquete nuevo para poder
  convertirte en desarrollador oficial de Debian. Un camino posible para
  ser desarrollador oficial es contribuir al mantenimiento de los
  paquetes ya existentes en la distribuci�n.

  <sect id="otherinfo">M�s informaci�n

  <p>Puedes construir dos tipos de paquetes: fuentes y binarios. Un
  paquete fuente contiene el c�digo que puedes compilar en un programa.
  Un paquete binario contiene s�lo el programa terminado. �No mezcles
  los t�rminos como �fuentes de un programa� y el �paquete fuente de
  un programa�! Por favor, lee los otros manuales si necesitas m�s
  detalles sobre terminolog�a.

  <p>Debian usa el t�rmino desarrollador (�maintainer�, N. del T.)
  para la persona que hace paquetes, autor original (�upstream
  author�, N. del T.) para la persona que hizo el programa, y
  desarrollador original (�upstream maintainer�, N. del T.) para la
  persona que actualmente mantiene el programa fuera de
  Debian. Generalmente el autor y el desarrollador fuente son la misma
  persona - y algunas veces incluso el desarrollador es el mismo. Si
  haces un programa, y quieres incluirlo en Debian, tienes total
  libertad para solicitar convertirte en desarrollador.

  <chapt id="first">Primeros pasos

  <sect id="choose">Elige el programa

  <p>Probablemente hayas escogido ya el paquete que deseas construir.
  Lo primero que debes hacer es comprobar si el paquete est� ya
  en el archivo de la distribuci�n utilizando <prgn>aptitude</prgn>.
  Si usas la distribuci�n �estable�, quiz�s sea mejor que vayas a la <url
  name="p�gina de b�squeda de paquetes"
  id="http://www.debian.org/distrib/packages">. 

  <p>Si el paquete ya existe, �inst�lalo! :-) Si te encuentras con que
  el paquete es un paquete hu�rfano (cuando su desarrollador es el �Debian QA
  Group�, es decir, el grupo de calidad de Debian), entonces
  podr�as adoptarlo.
  
  <p>Consulta <url name="la lista de paquetes en prospecci�n y que
  necesitan trabajo" id="http://www.debian.org/devel/wnpp/"> as� como
  las p�ginas enlazadas a �sta para verificar si el paquete est�
  hu�rfano o est� siendo adoptado.

  <p>Si puedes adoptar el paquete, descarga las fuentes (con algo como
  <tt/apt-get source packagename/) y exam�nalas. 
  Este documento, desafortunadamente, no incluye a�n informaci�n exhaustiva
  sobre la adopci�n de paquetes.
  No deber�a ser d�ficil entender c�mo funciona el paquete
  ya que alguien ha hecho el trabajo inicial por ti.
  A�n as� es mejor que sigas leyendo, muchos de los consejos 
  que se dan a continuaci�n ser�n tambi�n aplicables para tu caso.
  
  <p>Si el paquete es nuevo y decides que te gustar�a verlo en Debian
  debes seguir los pasos indicados a continuaci�n:

  <list>
  <item>Comprueba que no hay nadie m�s trabajando ya en el paquete consultando
  <url name="la lista de paquetes en los que se est� trabajando" id="http://www.de.debian.org/devel/wnpp/being_packaged">.
  Si ya hay alguien trabajando en �l, contacta con esa persona.
  Si no, intenta encontrar otro programa interesante que nadie mantenga.
  </item>
  
  <item>El programa <strong>debe</strong> tener una
  licencia. Preferiblemente la licencia deber� ser libre en el sentido
  marcado por las <url name="Directrices de Debian para el software
  libre" id="http://www.debian.org/social_contract.html#guidelines"> y
  <strong>no puede</strong> depender de un paquete que no est� dentro
  de �main� para compilarse o para poder utilizarse.  Si la licencia
  no sigue alguna de estas reglas a�n puede incluirse en las secciones
  �contrib� o �non-free� de Debian dependiendo de su situaci�n. Si no
  est�s seguro sobre en qu� lugar deber�a ir, env�a el texto de
  la licencia y pide consejo con un correo (en ingl�s) dirigido a
  <email/debian-legal@lists.debian.org/.  </item>

  <item>El programa <strong>no</strong> deber�a ejecutarse con �setuid
  root�, o a�n mejor: no deber�a ser �setuid� ni
  �setgid�.</item>

  <item>El programa no deber�a ser un demonio, o algo que vaya en los
  directorios */sbin, o abrir un puerto como usuario administrador.</item>

  <item>El programa deber�a estar compuesto por binarios ejecutables,
  no intentes empaquetar a�n con bibliotecas.</item>

  <item>El programa deber�a tener una buena documentaci�n, o al menos
  un c�digo fuente legible y no ofuscado.
  </item>

  <item>Deber�as contactar con el autor o autores del programa para
  comprobar si est�/n de acuerdo con que se empaquete. Es importante
  que el autor o autores sigan manteniendo el programa para que puedas
  en el futuro consultarle/s en caso de que haya problemas
  espec�ficos.  No deber�as intentar empaquetar programas que no est�n
  mantenidos.</item>

  <item>Y por �ltimo, pero no menos importante, deber�as saber c�mo
  funciona, y haberlo utilizado durante alg�n tiempo.</item>
  </list>

  <p>Por supuesto, esta lista es para tomar medidas de seguridad, y
  con la intenci�n de salvarte de usuarios enfurecidos si haces algo
  mal con alg�n demonio �setuid�... Cuando tengas m�s experiencia
  en empaquetar, podr�s hacer este tipo de paquetes,
  incluso los desarrolladores m�s experimentados preguntan en la
  lista de correo de debian-devel cuando tienen dudas. La
  gente all� te ayudar� gustosamente.

  <p>Para m�s ayuda sobre esto, lee la Referencia del desarrollador.

  <sect id="getit">Obt�n el programa y pru�balo

  <p>Lo primero que debes hacer es encontrar y descargar el paquete
  original. A partir de este punto se da por supuesto
  que ya tienes el c�digo fuente que obtuviste de la
  p�gina del autor. Las fuentes de los programas libres de Linux
  generalmente vienen en formato tar/gzip, con extensi�n .tar.gz, y
  generalmente contienen un subdirectorio llamado �programa-versi�n�
  con todas las fuentes en �l. Si tu programa viene en otro tipo de
  archivo (por ejemplo, el fichero termina en ".Z" o ".zip"),
  descompr�melo con las herramientas adecuadas, o pregunta en
  la lista de correo debian-mentors si tienes dudas de c�mo se puede desempaquetar
  correctamente (pista: prueba �file archivo.extensi�n�).

  <p>Como ejemplo, usar� el programa conocido como �gentoo�, un gestor
  de ficheros de X11 en GTK+. Observa que el programa ya ha sido
  empaquetado previamente pero ha cambiado sustancialmente de versi�n
  desde que este texto se escribi�.

  <p>Crea un subdirectorio bajo tu directorio personal llamado
  �debian� o �deb� o lo que creas apropiado (por ejemplo <file>~/gentoo/</file>
  estar�a bien en este caso). Mueve a �l el archivo que has
  descargado, y descompr�melo de la siguiente forma: �tar xzf
  gentoo-0.9.12.tar.gz�. Aseg�rate de que no hay errores, incluso
  errores �irrelevantes�, porque es muy probable que haya problemas
  al desempaquetarlo en sistemas de otras personas, cuyas herramientas de
  desempaquetado puede que no ignoren estas anomal�as.

  <p>Ahora tienes otro subdirectorio, llamado �gentoo-0.9.12�.
  Mu�vete a ese directorio y lee <strong>en profundidad</strong> la
  documentaci�n que encuentres. Generalmente se encuentra en ficheros que se
  llaman README*, INSTALL*, *.lsm o *.html. All� encontrar�s
  instrucciones de c�mo compilar e instalar el programa (muy
  probablemente asumir�n que lo quieres instalar en el directorio
  /usr/local/bin, no har�s esto, pero eso lo veremos m�s adelante en
  <ref id="destdir">).

  <p>El proceso var�a de un programa a otro, pero gran parte de los
  programas modernos vienen con un gui�n �configure� que configura
  las fuentes para tu sistema y se asegura de que el sistema est� en
  condiciones de compilarlo. Despu�s de configurarlo (con
  �./configure�), los programas generalmente se compilan con �make�.
  Algunos de ellos soportan �make check� para ejecutarse incluyendo
  comprobaciones autom�ticas. Generalmente se instalar�n en sus
  directorios de destino ejecutando �make install�.
  
  <p>Ahora intenta compilar, y ejecutar el programa, para asegurarte
  de que funciona bien y de que no rompe nada mientras est�
  instal�ndose o ejecut�ndose.

  <P>Tambi�n, generalmente, puedes ejecutar �make clean� (o mejor
  �make distclean�) para limpiar el directorio donde se genera el
  programa. A veces hay incluso un �make uninstall� que se puede utilizar
  para borrar todos los archivos instalados.

  <sect id="namever">Nombre del paquete y versi�n

  <P>Deber�as empezar a construir tu paquete en un directorio de
  fuentes completamente limpio, o simplemente con las fuentes reci�n
  desempaquetadas.

  <p>Para construir correctamente el paquete, debes cambiar el nombre
  original del programa a letras min�sculas (si no lo est� ya), y
  deber�as renombrar el directorio de fuentes a
  &lt;nombre_de_paquete&gt;-&lt;versi�n&gt;.

  <P> Si el nombre del programa est� formado por varias palabras, contr�elas a una
  palabra o haz una abreviatura. Por ejemplo, el paquete del programa
  �el editor para X de Javi� se podr�a llamar javiedx o jle4x, o lo
  que decidas, siempre y cuando no se exceda de unos l�mites
  razonables, como 20 caracteres.

  <p>Comprueba tambi�n la versi�n exacta del programa (la que se
  incluye en la versi�n del paquete). Si el programa no est� numerado
  con versiones del estilo de X.Y.Z, pero s� con fecha de publicaci�n,
  eres libre de utilizar la fecha como n�mero de versi�n, precedida
  por �0.0� (s�lo por si los desarrolladores originales deciden sacar
  una versi�n nueva como 1.0). As�, si la fecha de las fuentes es el
  19 de diciembre de 1998, puedes utilizar la cadena
  0 0.0.19981219 (que utiliza el formato de fecha norteamericano, N. del T.)
  como n�mero de versi�n. 
  
  <p>A�n as� habr�
  algunos programas que ni siquiera est�n numerados, en cuyo caso deber�s
  contactar con el desarrollador original para ver si tienen alg�n
  otro sistema de seguimiento de revisiones.

  <sect id="dh_make">�Debianizaci�n� inicial
  <p>Aseg�rate que te encuentras en el directorio donde est�n las fuentes del
  programa y ejecuta lo siguiente:

  <p><example>
  dh_make -e tu.direcci�n@de.desarrollador -f ../gentoo-0.9.12.tar.gz
  </example>

  <p>Por supuesto, cambia la cadena
  �tu.direcci�n@de.desarrollador� por tu direcci�n de correo
  electr�nico para que se incluya en la entrada del fichero de cambios
  as� como en otros ficheros, y el nombre de fichero de tu archivo
  fuente original. Lee <manref name="dh_make" section="1"> para m�s
  detalles.

  <p>Saldr� alguna informaci�n. Te preguntar� qu� tipo de paquete
  deseas crear. Gentoo es un s�lo paquete de binarios - crea s�lo un
  binario, y, por tanto, s�lo un fichero .deb - as� que
  seleccionaremos la primera opci�n, con la tecla �s�. Comprueba la
  informaci�n que aparece en la pantalla y confirma pulsando la tecla
  &lt;intro&gt;. 

  <p>Tras ejecutar <prgn>dh_make</prgn>, se crea una copia del c�digo
  original con el nombre <file>gentoo_0.9.12.orig.tar.gz</file> en el
  directorio ra�z para facilitar la creaci�n del paquete de fuentes
  no nativo de Debian con el <file>diff.gz</file>.
  Observa que hay dos cambios clave en este nombre de fichero:
  <list compact>
  <item>El nombre del paquete y la versi�n est�n separados por �<tt>_</tt>�.
  <item>Hay un �<tt>orig.</tt>� antes de �<tt>tar.gz</tt>�.
  </list>
  
  <p>Como nuevo desarrollador, se desaconseja crear paquetes
  complicados, por ejemplo:

  <list compact>
  <item>m�ltiples paquetes binarios
  <item>paquetes de bibliotecas
  <item>paquetes en los que el formato del archivo fuente no es en <tt>tar.gz.</tt> ni en <tt>tar.bz2</tt>, o
  <item>paquetes cuyas fuentes contienen partes que no se pueden distribuir.
  </list>

  Estos casos no son extremadamente dif�ciles, pero s� necesita
  algunos conocimientos m�s, as� que aqu� no se describir� el proceso
  de empaquetado para este tipo de paquetes.

  <p>Ten en cuenta que deber�as ejecutar <prgn>dh_make</prgn> <strong>s�lo una
  vez</strong>, y que no se comportar� correctamente si lo haces otra
  vez en el mismo directorio ya �debianizado�. Esto tambi�n significa
  que usar�s un m�todo distinto para crear una nueva revisi�n o una
  nueva versi�n de tu paquete en el futuro. Lee m�s sobre esto m�s
  adelante, en <ref id="update">.

  <chapt id="modify">Modificar las fuentes

  <p>Por lo general, los programas se instalan a s� mismos en el
  subdirectorio <file>/usr/local</file>. Pero los paquetes Debian no pueden
  utilizar este directorio ya que est� reservado para el uso privado
  del administrador (o de los usuarios). Esto significa que tienes que
  mirar el sistema de construcci�n de tu programa, generalmente
  empezando por el fichero �Makefile�. �ste es el gui�n <manref name="make"
  section="1"> que se usar� para automatizar la creaci�n de este programa.
  Para m�s detalles sobre los ficheros �Makefiles�, consulta <ref id="rules">.

  <p>Observa que si tu programa usa GNU <manref name="automake"
  section="1"> y/o <manref name="autoconf" section="1">, lo que quiere
  decir que las fuentes incluyen ficheros Makefile.am y Makefile.in,
  respectivamente, ya que necesitar�s modificar esos ficheros, porque
  cada invocaci�n de automake reescribir� los ficheros �Makefile.in�
  con informaci�n generada a partir de los ficheros �Makefile.am�, y
  cada llamada a <file>./configure</file> har� lo mismo con los
  ficheros �Makefile�, con informaci�n de los ficheros
  �Makefile.in�. Editar los ficheros �Makefile.am� requiere algunos
  conocimientos de <prgn>automake</prgn>, que puedes obtener leyendo
  la entrada de <prgn>info</prgn> para automake, mientras que editar
  los ficheros �Makefile.in� es casi lo mismo que editar ficheros
  �Makefile�, simplemente basta con poner atenci�n en las variables,
  es decir, cualquier cadena que empiece y acabe con el caracter �@�,
  como por ejemplo @CFLAGS@ o @LN_S@, que se sustituyen por otros
  valores cada vez que se ejecute <file>./configure</file>. Por favor,
  lee <file>&autotools-dev;</file> antes de empezar.

  <p>Ten en cuenta que no hay espacio aqu� para entrar en
  <em>todos</em> los detalles respecto a los arreglos que deben
  hacerse en las fuentes originales. Sin embargo, a continuaci�n se
  detallan algunos de los problemas m�s frecuentes.

  <sect id="destdir">Instalaci�n en un subdirectorio

  <p>La mayor parte de los programas tienen alguna manera de
  instalarse en la estructura de directorios existente en tu sistema,
  para que los binarios sean incluidos en tu $PATH, y para que
  encuentre la documentaci�n y p�ginas de manual en los lugares
  habituales. Sin embargo, si lo instalas de esta forma, el programa
  se instalar� con los dem�s binarios que ya est�n en tu sistema. 
  Esto dificultar� a las herramientas de paquetes averiguar qu�
  archivos pertenecen a tu paquete y cuales no.
  
  <p>Por lo tanto, necesitas hacer algo m�s: instalar el programa en
  un subdirectorio temporal desde el cual las herramientas de desarrollo
  construir�n el paquete .deb que se pueda instalar. Todo
  lo que se incluye en este directorio ser� instalado en el sistema
  del usuario cuando instale su paquete, la �nica diferencia es que
  dpkg instalar� los ficheros en el directorio ra�z.
  
  <p>Este directorio temporal se crear� bajo el directorio debian/
  que est� dentro del �rbol del c�digo descomprimido,
  generalmente con el nombre 
  <file>debian/nombre_de_paquete</file>.

  <p>Ten en cuenta que, aunque necesitas que el programa se instale en
  <file>debian/nombre_de_paquete</file>, tambi�n necesitas que se comporte correctamente cuando se
  instale en el directorio ra�z, es decir, cuando se instale desde el
  paquete .deb. As� que no deber�as permitir que al construirse 
  lo haga con cadenas como
  <tt>/home/me/deb/gentoo-0.9.12/usr/share/gentoo</tt> 
  dentro de los archivos del paquete a distribuir.

  <p>Esto ser� sencillo con los de programas que utilicen la
  herramienta GNU <prgn>autoconf</prgn>.  La mayor�a de estos
  programas tienen ficheros �Makefile� por omisi�n que permiten
  configurar la instalaci�n en un subdirectorio cualquiera, aunque
  recordando que, por ejemplo, <file>/usr</file> es el prefijo normal.
  Cuando detecte que tu programa usa <prgn>autoconf</prgn>,
  <prgn>dh_make</prgn> fijar� las opciones necesarias para hacer esto
  autom�ticamente, as� que puedes dejar de leer esta secci�n.  Pero con
  otros programas puede
  ser necesario que examines y edites los ficheros �Makefile�.

  <p>Esta es la parte importante del Makefile de gentoo:

  <p><example>
  # �D�nde poner el binario en �make install�?
  BIN     = /usr/local/bin
  
  # �D�nde poner los iconos en �make install�? 
  ICONS   = /usr/local/share/gentoo/
  </example>

  <p>Vemos que los ficheros est�n configurados para instalarse bajo
  <file>/usr/local</file>.
  Cambia estas rutas a:
  
  <p><example>
  # �D�nde poner el binario en �make install�?
  BIN     = $(DESTDIR)/usr/bin

  # �D�nde poner los iconos en �make install�? 
  ICONS   = $(DESTDIR)/usr/share/gentoo
  </example>

  <p>Pero: �por qu� en este directorio y no en otro? Porque los paquetes
  de Debian nunca se instalan bajo <file>/usr/local</file>, este �rbol
  de directorio, est� reservado para el uso del administrador del sistema.
  As� que estos ficheros deben instalarse en <file>/usr</file>.

  <p>La localizaci�n correcta de los binarios, iconos, documentaci�n,
  etc, est� especificada en el �Est�ndar de la jerarqu�a del
  sistema de ficheros�
  (v�ase /usr/share/doc/debian-policy/fhs).
  Te recomiendo que leas las secciones que podr�an aplicar a tu
  paquete.
  
  <p>As� pues, deber�amos instalar el
  binario en /usr/bin en lugar de /usr/local/bin y la p�gina de
  manual en /usr/share/man/man1 en lugar de /usr/local/man/man1.
  No hemos mencionado ninguna p�gina de manual en el Makefile de gentoo,
  pero en Debian se requiere que cada programa debe tener una, as� que
  haremos una m�s tarde y la instalaremos en /usr/share/man/man1.

  <p>Algunos programas no usan variables en el makefile para definir
  rutas como �stas. Esto significa que tendr�s que editar algunos de los
  ficheros de c�digo C para arreglarlos y que usen las rutas correctas.
  Pero, �d�nde buscar?, y exactamente, �el qu�?
  Puedes probar a encontrarlos usando:
  
  <p><example>
  grep -nr -e 'usr/local/lib' --include='*.[c|h]' .
  </example>
  
  <p>(En cada subdirectorio que contenga ficheros .c y .h, <prgn/grep/
  nos indicar� el nombre del fichero y la l�nea cuando encuentre una
  ocurrencia.
  
  <p>Ahora edita esos ficheros y cambia en esas l�neas usr/local/lib con
  usr/share y ya est�. S�lo tienes que reemplazar usr/local/lib por tu
  localizaci�n, pero debes ser muy cuidadoso para no modificar el 
  resto del c�digo, especialmente si no sabes mucho sobre c�mo 
  programar en C. :-)

  <p>Despu�s de esto deber�as encontrar el objetivo �install� (busca
  una l�nea que comience por �install:�) y renombra todas las
  referencias a directorios distintos de los definidos al comienzo del
  Makefile. Anteriormente el objetivo �install� dec�a:

  <p><example>
  install:        gentoo
                  install ./gentoo $(BIN)
                  install icons $(ICONS)
                  install gentoorc-example $(HOME)/.gentoorc
  </example>

  <p>Despu�s del cambio dice:
  <example>
  install:        gentoo-target
                  install -d $(BIN) $(ICONS) $(DESTDIR)/etc
                  install ./gentoo $(BIN)
                  install -m644 icons/* $(ICONS)
                  install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc
  </example>
  
  <p>Seguramente has notado que ahora hay una orden <tt>install
  -d</tt> antes de las dem�s �rdenes de la regla. El makefile original
  no lo ten�a porque normalmente /usr/local/bin y otros directorios ya
  existen en el sistema donde se ejecuta �make install�. Sin embargo,
  dado que lo instalaremos en un directorio vac�o (o incluso
  inexistente), tendremos que crear cada uno de estos directorios
  
  <p>Tambi�n podemos a�adir otras cosas al final de la regla,
  como la instalaci�n de documentaci�n adicional que los desarrolladores
  originales a veces omiten:

  <p><example>
                  install -d $(DESTDIR)/usr/share/doc/gentoo/html
                  cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html
  </example>

  <p>Un lector atento se dar� cuenta de que he cambiado �gentoo� a
  �gentoo-target� en la l�nea �install:�. A eso se le llama arreglar
  un fallo en el programa. :-)

  <p>Siempre que hagas cambios que no est�n espec�ficamente
  relacionados con el paquete Debian, aseg�rate de que los env�as al
  desarrollador original para que �ste los pueda incluir en la pr�xima
  revisi�n del programa y as� le puedan ser �tiles a alguien m�s.
  Adem�s, recuerda hacer que tus cambios no sean espec�ficos para
  Debian o Linux (�ni siquiera para Unix!) antes de enviarlos, hazlo portable.
  Esto har� que tus arreglos sean m�s f�ciles de aplicar.

  <p>Ten en cuenta que no tienes que enviar ninguno de los ficheros debian/* 
  al desarrollador original.
  
  <sect id="difflibs">Bibliotecas diferentes

  <p>Hay otro problema com�n: las bibliotecas son generalmente diferentes
  de plataforma a plataforma. Por ejemplo, un Makefile puede contener
  una referencia a una biblioteca que no exista en Debian o ni siquiera
  en Linux. En este caso, se necesita cambiarla a una biblioteca que s�
  exista en Debian y sirva para el mismo prop�sito. 

  <p>As�, si hay una l�nea en el Makefile (o Makefile.in) de tu
  programa que dice algo como lo siguiente (y tu programa no compila):

  <p><example>
  LIBS = -lcurses -lcosas -lm�scosas
  </example>

  <p>Entonces c�mbiala a lo siguiente, y funcionar� casi con
  seguridad:
  <p><example>
  LIBS = -lncurses -lcosas -lm�scosas
  </example>

  <p>(El autor se ha dado cuenta de que �ste no es el mejor ejemplo ya
  que ahora el paquete <package/libncurses/ incluye un enlace
  simb�lico a libcurses.so, pero no puedo pensar uno mejor. Cualquier
  sugerencia ser�a muy bien recibida :-)
 
  <chapt id="dreq">Las cosas necesarias bajo debian/

  <p>Ahora hay un nuevo subdirectorio bajo el directorio principal del
  programa (�gentoo-0.9.12�), que se llama �debian�. 
  Hay algunos ficheros en este directorio que debemos editar para adaptar
  el comportamiento del paquete. La parte m�s importante es modificar
  los ficheros �control�, �rules�, �changelog�, y
  �copyright� que son necesarios en todos los paquetes.

  <sect id="control">El fichero �control�

  <p>Este fichero contiene varios valores que <prgn/dpkg/, <prgn/dselect/
  y otras herramientas de gesti�n de paquetes
  usar�n para gestionar el paquete. 
  
  <p>Aqu� est� el fichero de control que dh_make crea para nosotros:

  <p><example>
  1  Source: gentoo
  2  Section: unknown
  3  Priority: optional
  4  Maintainer: Josip Rodin &lt;joy-mg@debian.org&gt;
  5  Build-Depends: debhelper (>> 3.0.0)
  6  Standards-Version: 3.6.2 
  7
  8  Package: gentoo
  9  Architecture: any
  10 Depends: ${shlibs:Depends}
  11 Description: &lt;insertar hasta 60 caracteres de descripci�n&gt;
  12  &lt;inserta una descripci�n larga, indentada con espacios.&gt;
  </example>
  (He a�adido los n�meros de l�nea).

  <p>Las l�neas 1 a 6 son la informaci�n de control para el paquete
  fuente. 
  
  <p>La l�nea 1 es el nombre del paquete fuente.

  <p>La l�nea 2 es la secci�n de la distribuci�n dentro de la que
  estar� este paquete. 
  
  <p>Como puede que hayas notado, Debian est� dividida
  en secciones: �main� (principal, N. del T.) (el software libre),
  �non-free� (no libre, N. del T.) (el software que realmente no es
  libre) y �contrib� (software libre que depende de software no libre).
  Bajo ellas hay subdivisiones l�gicas que describen en una palabra
  qu� paquetes hay dentro. As� que tenemos �admin� para programas que
  s�lo usa un administrador, �base� para las herramientas b�sicas,
  �devel� para las herramientas de programaci�n, �doc� para la
  documentaci�n, �libs� para las bibliotecas, �mail� para
  lectores y demonios de correo-e, �net� para aplicaciones y demonios
  de red, �x11� para programas espec�ficos de X11, y muchos m�s.

  <p>Vamos a cambiarla para que ponga x11. El prefijo "main/" ya va 
  impl�cito, as� que podemos omitirlo.

  <p>La l�nea 3 describe c�mo de importante es para el usuario la
  instalaci�n de este paquete. Podr�s consultar en el manual de normas
  de Debian (�Debian Policy�, N. del T.) la gu�a de los valores que
  deber�an tener estos campos.  La prioridad �optional� suele ser lo
  mejor para los paquetes nuevos.
  
  <p>�Section� y �Priority� se usan en las interfaces 
  como <prgn/dselect/ cuando ordenan los paquetes. Una vez que envies el
  paquete a Debian, el valor de estos dos campos puede no ser aceptado
  por los responsables del archivo, en cuyo caso te lo notificar�n por
  correo electr�nico.
  
  <p>Como es un paquete de prioridad normal y no tiene conflictos con
  ning�n otro, lo dejaremos con prioridad �optional� (opcional, N. del T.).

  <p>La l�nea 4 es el nombre y correo electr�nico del desarrollador.
  Aseg�rate de que este campo incluye una cabecera v�lida �To: �,
  para una direcci�n de correo electr�nico, porque despue� de que env�es
  el paquete, el sistema de seguimiento de errores (�Bug Tracking System�, N. del T.)  
  utilizar� esta direcci�n para enviarte los mensajes de los bugs.
  Evita usar comas, el signo �&amp;� y par�ntesis. 
  
  <p>La l�nea 5 incluye la lista de paquetes requeridos para construir
  tu paquete. Algunos paquetes como gcc y make est�n impl�citos,
  consulta el paquete <package/build-essential/ para m�s detalles.
  Si se necesita alg�n compilador no est�ndar u otra herramienta
  para construir tu paquete, deber�as a�adirla en la l�nea �Build-Depends�.
  Las entradas m�ltiples se separan con comas, lee la explicaci�n de las 
  dependencias binarias para averiguar m�s sobre la sintaxis de este campo.

  <p>Tambi�n tienes los campos �Build-Depends-Indep� y �Build-Conflicts� 
  entre otros. Estos datos los usar�n los programas de construcci�n
  autom�tica de paquetes de Debian para crear paquetes binarios para
  el resto de arquitecturas.
  Consulta las normas de Debian para m�s informaci�n sobre las dependencias
  de construcci�n y la Referencia del Desarrollador para m�s informaci�n
  sobre las otras arquitecturas y sobre c�mo migrar los programas
  a ellas.

  <p>Aqu� tienes un truco que puedes usar para averiguar qu� paquetes
  necesitar� tu paquete en su construcci�n:
  <example>
  strace -f -o /tmp/log ./configure
  # o make en lugar de ./configure, si el paquete no usa autoconf
  for x in `dpkg -S $(grep open /tmp/log|\
                      perl -pe 's!.* open\(\"([^\"]*).*!$1!' |\
                      grep "^/"| sort | uniq|\
                      grep -v "^\(/tmp\|/dev\|/proc\)" ) 2>/dev/null|\
                      cut -f1 -d":"| sort | uniq`; \
        do \
          echo -n "$x (>=" `dpkg -s $x|grep ^Version|cut -f2 -d":"` "), "; \
        done
  </example>

  <p>Para encontrar manualmente las dependencias exactas de
  <prgn><var>/usr/bin/foo</var></prgn>, ejecuta 
  <example> 
  objdump -p <var>/usr/bin/foo</var> | grep NEEDED 
  </example> 
  y para cada biblioteca, por ejemplo, <prgn>libfoo.so.6</prgn>, ejecuta
  <example>
  dpkg -S libfoo.so.6 
  </example> 
  Debes utilizar la versi�n �-dev�
  de cada uno de los paquetes dentro de la entrada �Build-deps�. Si usas
  <prgn>ldd</prgn> para este prop�sito, tambi�n te informar� de las
  dependencias de bibliotecas indirectas, lo que puede llevar a que se
  introduzcan demasiadas dependencias de construcci�n.

  <p>Gentoo tambi�n requiere <package/xlibs-dev/,
  <package/libgtk1.2-dev/ y <package/libglib1.2-dev/ 
  para su construcci�n, as� que lo a�adiremos junto a 
  <package/debhelper/.

  <p>La l�nea 6 es la versi�n de los est�ndares definidos en las normas de
  Debian que sigue este paquete, es decir, la versi�n del manual de normas
  que has le�do mientras haces tu paquete.

  <p>La l�nea 8 es el nombre del paquete binario. Este suele ser el mismo
  que el del paquete fuente, pero no tiene que ser necesariamente as� siempre.

  <p>La l�nea 9 describe la arquitectura de CPU para la que el paquete binario
  puede ser compilado. Dejaremos puesto �any� (cualquiera, N. del T.),
  porque <manref name="dpkg-gencontrol" section="1"> la rellenar� con
  el valor apropiado cuando se compile este paquete en cualquier
  arquitectura para la cual pueda ser compilado.
 
  <p>Si tu paquete es independiente de la arquitectura (por ejemplo, un
  documento, un gui�n escrito en Perl o para el int�rprete de �rdenes), cambia esto a
  �all�, y consulta m�s adelante <ref id="rules"> sobre c�mo usar la regla
  �binary-indep� en lugar de �binary-arch� para construir el paquete.

  <p>La l�nea 10 muestra una de las m�s poderosas posibilidades del
  sistema de paquetes de Debian. Los paquetes se pueden relacionar
  unos con otros de diversas formas. Aparte de �Depends:� (depende de,
  N. del T.) otros campos de relaci�n son �Recommends:� (recomienda,
  N. del T.), �Suggests:� (sugiere, N. del T.), �Pre-Depends:�
  (predepende de, N. del T.), �Conflicts:� (entra en conflicto con,
  N. del T.), �Provides:� (provee, N. del T.), �Replaces:� (reemplaza
  a, N. del T.).

  <p>Las herramientas de gesti�n de paquetes se comportan habitualmente
  de la misma forma cuando tratan con esas relaciones entre paquetes;
  si no es as�, se explicar� en cada caso. 
  (v�ase <manref name="dpkg" section="8">, 
  <manref name="dselect" section="8">, 
  <manref name="apt" section="8">, 
  <manref name="aptitude" section="1">, etc.)

  <p>A continuaci�n se detalla el significado de las dependencias:

  <list>
  <item>Depends:
  <p>No se instalar� el programa a menos que los paquetes de los que
  depende est�n ya instalados. Usa esto si tu programa no funcionar� de
  ninguna forma (o se romper� f�cilmente) a no ser que se haya instalado un
  paquete determinado.</item>

  <item>Recommends:
  <p>Programas como dselect o aptitude informar�n en la instalaci�n
  de los paquetes recomendados por tu paquete, dselect incluso insistir�.
  dpkg y apt-get ignorar�n este campo. Usa esto para paquetes que no 
  son estrictamente necesarios pero que se usan habitualmente con tu programa.
  </item>

  <item>Suggests:
  <p>Cuando un usuario instale el paquete, todos los programas le
  informar�n de que puede instalar los paquetes sugeridos. Salvo
  <prgn/dpkg/ y <prgn/apt/, que ignorar�n estas dependencias. Utiliza
  esto para paquetes que funcionar�n bien con tu programa pero que no
  son necesarios en absoluto.</item>

  <item>Pre-Depends:
  <p>Esto es m�s fuerte que �Depends�. El paquete no se instalar� a menos 
  que los paquetes de los que pre-dependa est� instalados
  <em>y correctamente configurados</em>. Utiliza esto
  <strong>muy</strong> poco y s�lo despu�s de haberlo discutido en la
  lista de distribuci�n de debian-devel. En resumidas cuentas: no lo
  utilices en absoluto :-)</item>

  <item>Conflicts:
  <p>El paquete no se instalar� hasta que todos los paquetes con los
  que entra en conflicto hayan sido eliminados. Utiliza esto si tu
  programa no funcionar� en absoluto (o fallar� f�cilmente) si un paquete
  en concreto est� instalado.
  </item>

  <item>Provides:
  <p>Se han definido nombres virtuales para algunos tipos determinados de 
  paquetes que ofrecen m�ltiples alternativas para la misma funci�n.
  Puedes obtener la lista completa en el fichero
  /usr/share/doc/debian-policy/virtual-package-names-list.text.gz.
  Usa esto si tu programa ofrece las funciones de un paquete virtual
  que ya exista.</item>

  <item>Replaces:
  <p>Usa esto si tu programa reemplaza ficheros de otro paquete o
  reemplaza totalmente otro paquete (generalmente se usa conjuntamente
  con �Conflicts:�). Se eliminar�n los ficheros de los paquetes
  indicados antes de instalar el tuyo.</item>
  </list>

  <p>Todos estos campos tienen una sintaxis uniforme: se trata de una lista
  de nombres de paquetes separados por comas. Estos nombres de
  paquetes tambi�n puede ser listas de paquetes alternativos,
  separados por los s�mbolos de barra vertical <tt>|</tt> (s�mbolos
  tuber�a). 
  
  <p>Los campos pueden restringir su aplicaci�n a versiones
  determinadas de cada paquete nombrado. Esto se hace listando despu�s
  de cada nombre de paquete individual las versiones entre par�ntesis,
  e indicando antes del n�mero de versi�n una relaci�n de la siguiente
  lista. Las relaciones permitidas son: <tt>&lt;&lt;</tt>,
  <tt>&lt;=</tt>, <tt>=</tt>, <tt>&gt;=</tt> y <tt>&gt;&gt;</tt>
  para estrictamente anterior, anterior o igual, exactamente igual,
  posterior o igual o estrictamente posterior, respectivamente.
  Por ejemplo:
  
  <p><example>
  Depends: foo (>= 1.2), libbar1 (= 1.3.4)
  Conflicts: baz
  Recommends: libbaz4 (>> 4.0.7)
  Suggests: quux
  Replaces: quux (<< 5), quux-foo (<= 7.6)
  </example>
  
  <p>La �ltima funcionalidad que necesitas conocer es
  $(shlibs:Depends). Despu�s de que tu paquete se compile y se
  instale en el directorio temporal, 
  <manref name="dh_shlibdeps" section="1"> lo escanear� en busca
  de binarios y bibliotecas para determinar las dependencias
  de bibliotecas compartidas y en qu� paquetes est�n, tales como 
  como libc6 o xlib6g. Luego pasar� la lista a
  <manref name="dh_gencontrol" section="1"> que rellenar� estas 
  dependencias en el lugar adecuado. De esta forma no tendr�s que preocuparte
  por esto.
  
  <p>Despu�s de decir todo esto, podemos dejar la l�nea de �Depends:�
  exactamente como est� ahora e insertar otra l�nea tras �sta que diga
  <tt>Suggests: file</tt>, porque gentoo utiliza algunas funciones de 
  este paquete/programa.

  <p>La l�nea 11 es una descripci�n corta. La mayor parte de los
  monitores de la gente son de 80 columnas de ancho, as� que no
  deber�a tener m�s de 60 caracteres. Cambiar� esto a �fully GUI
  configurable GTK+ file manager� (�Gestor de ficheros GTK+
  completamente configurable por GUI�).

  <p>La l�nea 12 es donde va la descripci�n larga del paquete. Deber�a
  ser al menos un p�rrafo que d� m�s detalles del paquete. La primera 
  columna de cada l�nea deber�a estar vac�a. No puede haber l�neas en
  blanco, pero puede poner un . (punto) en una columna para simularlo.
  Tampoco debe haber m�s de una l�nea en blanco despu�s de la
  descripci�n completa.


  <p>Aqu� est� el fichero de control actualizado:

  <p><example>
  1  Source: gentoo
  2  Section: x11
  3  Priority: optional
  4  Maintainer: Josip Rodin &lt;joy-mg@debian.org&gt;
  5  Build-Depends: debhelper (>> 3.0.0), xlibs-dev, libgtk1.2-dev, libglib1.2-dev
  6  Standards-Version: 3.5.2
  7
  8  Package: gentoo
  9  Architecture: any
  10 Depends: ${shlibs:Depends}
  11 Suggests: file
  12 Description: fully GUI configurable X file manager using GTK+
  13  gentoo is a file manager for Linux written from scratch in pure C. It
  14  uses the GTK+ toolkit for all of its interface needs. gentoo provides
  15  100% GUI configurability; no need to edit config files by hand and re-
  16  start the program. gentoo supports identifying the type of various
  17  files (using extension, regular expressions, or the �file� command),
  18  and can display files of different types with different colors and icons.
  19  .
  20  gentoo borrows some of its look and feel from the classic Amiga file
  21  manager "Directory OPUS" (written by Jonathan Potter).
  </example>
  (He a�adido los n�meros de l�nea).

  <sect id="copyright">El fichero �copyright�

  <p>Este fichero contiene la informaci�n sobre la licencia y
  copyright de las fuentes originales del paquete. El formato no est�
  definido en las normas, pero s� en sus contenidos (secci�n 12.6
  �Copyright information�).
  
  <p>dh_make crea por omisi�n un fichero como este:

  <p><example>
  1  This package was debianized by Josip Rodin &lt;joy-mg@debian.org&gt; on
  2  Wed, 11 Nov 1998 21:02:14 +0100.
  3
  4  It was downloaded from &lt;rellena con el sitio ftp site&gt;
  5
  6  Upstream Author(s): &lt;pon el nombre del autor y direcci�n de correo&gt;
  7
  8  Copyright:
  9
  10 &lt;Debe incluirse aqu�&gt;
  </example>
  (He a�adido los n�meros de l�nea).

  <p>Las cosas importantes que se deben a�adir a este fichero son el
  lugar de donde obtuviste el paquete junto con la nota de copyright y
  licencia originales. Debes incluir la licencia completa, a menos que
  sea una licencia com�n en el mundo del software libre como GNU GPL o
  LGPL, BSD o la �Licencia art�stica�, donde basta referirse al fichero
  apropiado en el directorio /usr/share/common-licenses/ que existe en
  todo sistema Debian. 
  
  <p>Gentoo est� publicado bajo la Licencia P�blica
  General GNU, as� que cambiaremos el fichero a esto:

  <p><example>
  1  This package was debianized by Josip Rodin &lt;joy-mg@debian.org&gt; on
  2  Wed, 11 Nov 1998 21:02:14 +0100.
  3
  4  It was downloaded from: ftp://ftp.obsession.se/gentoo/
  5
  6  Upstream author: Emil Brink &lt;emil@obsession.se&gt;
  7
  8  This software is copyright (c) 1998-99 by Emil Brink, Obsession
  9  Development.
  10
  11 You are free to distribute this software under the terms of
  12 the GNU General Public License  either version 2 of the License,
  13 or (at your option) any later version.
  14 On Debian systems, the complete text of the GNU General Public
  15 License can be found in the file `/usr/share/common-licenses/GPL-2'.
  </example>
  (He a�adido los n�meros de l�nea).

  <p>Por favor, sigue el COMO de debian-devel-announce:
  <url id="&copyright-howto;"> .

  <p>(Nota del T.: las normas actuales de Debian actuales indican que los
  documentos aqu� citados est�n escritos en ingl�s, al ser el idioma
  oficial del proyecto, por lo que no se traducen en este documento).

  <sect id="changelog">El fichero �changelog�

  <p>Este es un fichero requerido, que tiene un formato especial
  descrito en las normas, secci�n 4.4 "debian/changelog". Este es el
  formato que usan dpkg y otros programas para obtener el n�mero de
  versi�n, revisi�n, distribuci�n y urgencia de tu paquete.

  <p>Para ti es tambi�n importante, ya que es bueno tener documentados
  todos los cambios que hayas hecho. Esto ayudar� a las personas que se
  descarguen tu paquete para ver si hay temas pendientes en el paquete
  que deber�an conocer de forma inmediata. Se guardar� como
  �/usr/share/doc/gentoo/changelog.Debian.gz� en el paquete binario.

  <p>dh_make crea uno por omisi�n, el cual es como sigue:

  <p><example>
  1  gentoo (0.9.12-1) unstable; urgency=low
  2
  3   * Initial Release.
  4
  5  -- Josip Rodin &lt;joy-mg@debian.org&gt;  Wed, 11 Nov 1998 21:02:14 +0100
  6
  </example>
  (He a�adido los n�meros de l�nea).
  
  <p>La l�nea 1 es el nombre del paquete, versi�n, distribuci�n y
  urgencia. El nombre debe coincidir con el nombre del paquete fuente,
  la distribuci�n deber�a ser, por ahora, �unstable� (o incluso �experimental�)
  y la urgencia no deber�a cambiarse a algo mayor que �low�. :-)
  
  <p>Las l�nea 3-5 son una entrada de registro, donde se documentan
  los cambios hechos en esta revisi�n del paquete (no los cambios en
  las fuentes originales - hay un fichero especial para este
  prop�sito, creado por los autores originales y que instalar�s luego como
  /usr/share/doc/gentoo/changelog.gz). Las nuevas l�neas deben
  insertarse justo antes de la l�nea que hay m�s arriba que comienza
  por un asterisco (�*�). Puede hacerlo con <manref name="dch"
  section="1">, o manualmente con cualquier editor de texto. 
  
  <p>Terminar�s con algo as�:
  
  <p><example>
  1  gentoo (0.9.12-1) unstable; urgency=low
  2
  3   * Initial Release.
  4   * This is my first Debian package.
  5   * Adjusted the Makefile to fix $DESTDIR problems.
  6
  7  -- Josip Rodin &lt;joy-mg@debian.org&gt; Wed, 11 Nov 1998 21:02:14 +0100
  8
  </example>
  (He a�adido los n�meros de l�nea).

  <p>Puedes leer m�s sobre c�mo actualizar el fichero changelog m�s
  adelante en <ref id="update">.

  <sect id="rules">El fichero �rules�

  <p>Ahora necesitamos mirar las reglas exactas que <manref
  name="dpkg-buildpackage" section="1"> utilizar� para crear el
  paquete. Este fichero es en realidad otro Makefile, 
  pero diferente al que viene en las fuentes originales.
  A diferencia de otros ficheros en debian/, �ste necesita ser
  un fichero ejecutable.
  
  <p>Cada fichero �rules� (de reglas, N. del T.), como muchos otros
  Makefiles, se compone de varias reglas que especifican c�mo tratar
  las fuentes. Cada regla se compone de objetivos, ficheros o nombres
  de acciones que se deben llevar a cabo (por ejemplo, �build:� o
  �install:�). Las reglas que quieras ejecutar deber�an llamarse como
  argumentos de la l�nea de �rdenes (por ejemplo, �./debian/rules
  build� o �make -f rules install�). Despu�s del nombre del objetivo,
  puedes nombrar las dependencias, programas o ficheros de los que la
  regla dependa. Despu�s de esto, hay un n�mero cualquiera de
  instrucciones (�indentado con &lt;tab&gt;!), hasta que se llega a
  una l�nea en blanco. Ah� empieza otra regla. Las l�neas m�ltiples en
  blanco, y las l�neas que empiezan por almohadillas (�#�) se tratan
  como comentarios y se ignoran.

  <p>Probablemente ya te hayas perdido, pero todo quedar� m�s claro
  despu�s de ver el fichero �rules� que dh_make pone por omisi�n.
  Deber�as leer tambi�n la entrada de �make� en info para m�s
  informaci�n.

  <p>La parte importante que debes conocer sobre el fichero de reglas
  creado por dh_make, es que s�lo es una sugerencia. Funcionar� para
  paquetes simples pero para m�s complicados, no te asustes y a�ade o
  quita cosas de �ste para ajustarlo a tus necesidades. Una cosa que
  no debes cambiar son los nombres de las reglas, porque todas las
  herramientas utilizan estos nombres, como se describe en las normas.

  <p>�ste es, m�s o menos, el contenido del fichero debian/rules que
  dh_make genera por omisi�n:
  
 <p><example>
&makefile;
 </example>
  (He a�adido los n�meros de l�nea. En el fichero <file>debian/rules</file>
  los espacios iniciales de las l�neas son c�digos de tabulaci�n)

  <p>(N. del T.: se han traducido los comentarios del fichero de
  reglas, pero en el fichero generado por dh_make estar�n en ingl�s)
  
  <p>Probablemente est�s familiarizado con l�neas como la primera de guiones
  escritos en shell o Perl. Esta l�nea indica que el fichero debe
  ejecutarse con /usr/bin/make. 
 
  <p>El significado de las variables DH_* que se mencionan en las
  l�neas 8 y 9 deber�a ser evidente de la descripci�n corta.
  Para m�s informaci�n sobre DH_COMPAT consulte la secci�n 
  �Debhelper compatibility levels� del manual de 
  <manref name="debhelper" section="1">.

  <p>Las l�neas de la 11 a la 16 son el esqueleto de apoyo para
  los par�metros de DEB_BUILD_OPTIONS, descritos en las normas secci�n
  10.1 �Binarios�. Basicamente, estas cosas controlan si los binarios
  se construyen con los s�mbolos del depurador
  y si deber�an eliminarse tras la instalaci�n.
  De nuevo, es s�lo un esqueleto, una pista de lo que deber�as hacer.
  Deber�as comprobar c�mo el sistema de construcci�n de las fuentes
  maneja la inclusi�n de los s�mbolos del depurador y su eliminaci�n
  en la instalaci�n e implementarlo por ti mismo.

  <p>Habitualmente puedes decirle a gcc que compile con "-g" usando la variable
  CFLAGS. Si este es el caso de tu paquete, pon la variable
  <em>a�adiendo</em> <tt>CFLAGS="$(CFLAGS)"</tt> a la invocaci�n de 
  $(MAKE) en la regla de construcci�n (ver m�s abajo). Alternativamente,
  si tu paquete usa un gui�n de configuraci�n de autoconf puedes definir
  la cadena arriba mostrada <em>anteponi�ndola</em> a la llamada a ./configure
  en la regla de construcci�n.
    
  <p>Los programas a los que se le quitan los s�mbolos del depurador
  con <prgn/strip/ se configuran normalmente para instalarse sin pasar
  por <prgn/strip/, y a menudo sin una opci�n para cambiar esto.
  Afortunadamente, tienes <manref name="dh_strip" section="1"> que
  detectar� cuando la bandera (N. del T., �flag�)
  DEB_BUILD_OPTIONS=nostrip est� activada y finalizar� silenciosamente.

  <p>Las l�neas 18 a la 26 describen la regla build (y su hija
  �build-stamp�), que ejecuta make con el propio Makefile de la
  aplicaci�n para compilar el programa. Si el programa utiliza las
  utilidades de configuraci�n de GNU para construir los binarios, por
  favor, aseg�rate de leer <file>&autotools-dev;</file>. Hablaremos
  sobre el ejemplo comentado docbook-to-man m�s adelante en <ref
  id="manpage">.

  <p>La regla �clean� (limpiar, N. del T.), como se especifica en las
  l�neas 28 a la 36, limpia cualquier binario innecesario o cosas
  generadas autom�ticamente, dejadas despu�s de la construcci�n del
  paquete. 
  Esta regla debe funcionar en todo momento (�incluso cuando
  el �rbol de fuentes <em>est�</em> limpio!), as� que, por favor, usa
  las opciones que fuercen a hacer cosas (por ejemplo para rm, ser�a
  �-f�), o ignora los valores devueltos (con un �-� al principio de la
  orden).

  <p>El proceso de instalaci�n, la regla �install�, comienza en la
  l�nea 38. B�sicamente ejecuta la regla �install� del Makefile del
  programa, pero lo instala en el directorio <tt>$(CURDIR)/debian/gentoo</tt>.
  Esta es la raz�n por la que especificamos $(DESTDIR) como el directorio
  ra�z de instalaci�n del Makefile de gentoo.
 
  <p>Como sugiere el comentario, la regla �binary-indep�, en la l�nea 48,
  se usa para construir paquetes independientes de arquitectura.
  Como no tenemos ninguno, aqu� no se har� nada.

  <p>Lo siguiente es la regla �binary-arch�, en las l�neas 52 a 79, en
  la que ejecutamos varias peque�as utilidades del paquete debhelper
  que nos permiten hacer diversas operaciones en nuestro paquete para
  que cumpla las normas de Debian.
  
  <p>Si tu paquete es del tipo �Architecture: all� necesitar�s incluir
  todas las �rdenes para crear el paquete bajo esta regla, y dejar la 
  siguiente regla (�binary-arch�) vac�a en su lugar.

  <p>Los nombres comienzan con dh_ y el resto del nombre es la descripci�n 
  de lo que la utilidad en particular realmente hace. Es todo m�s o menos
  auto-explicativo, pero a continuaci�n tienes algunos a�adidos a las
  explicaciones:

  <list>
  <item><manref name="dh_testdir" section="1"> comprueba que est�s en
        el directorio correcto (esto es, el directorio ra�z de la
        distribuci�n de las fuentes),
  <item><manref name="dh_testroot" section="1"> comprueba que tienes
        permisos de superusuario que son necesarios para las reglas
         �binary-arch�, �binary-indep� and �clean�,
  <item><manref name="dh_installman" section="1"> copiar� todas las
        p�ginas de manual que encuentre en el paquete fuente en
        el paquete, s�lo has de indicarle donde est�n de forma relativa, 
	desde el nivel m�s alto del directorio de codigo.
  <item><manref name="dh_strip" section="1"> elimina las cabeceras de
        depuraci�n de los ficheros ejecutables para hacerlos m�s
        peque�os,
  <item><manref name="dh_compress" section="1"> comprime las
        p�ginas de manual y los ficheros de documentaci�n que sean m�s
        grandes de 4 kB con <manref name="gzip" section="1">,
  <item><manref name="dh_installdeb" section="1"> copia los ficheros
        relativos al paquete (es decir, los guiones del desarrollador
        que mantiene el paquete)
        bajo el directorio <file>debian/gentoo/DEBIAN</file>,
  <item><manref name="dh_shlibdeps" section="1"> calcula las
        dependencias de los ejecutables y bibliotecas con las bibliotecas
        compartidas,
  <item><manref name="dh_gencontrol" section="1"> genera e instala el
        fichero de control en <file>debian/gentoo/DEBIAN</file>,
  <item><manref name="dh_md5sums" section="1"> genera las sumas de
        comprobaci�n MD5 para todos los ficheros del paquete.
  </list>

  <p>Para informaci�n m�s completa de lo que hacen cada uno de estos
  guiones dh_* , y qu� otras opciones tienen, por favor lee sus
  p�ginas de manual respectivas. Hay otros guiones con la misma
  nomenclatura (dh_*) que no se han mencionado aqu�, pero pueden serte 
  �tiles. Si los necesitas, lee la documentaci�n de debhelper.

  <p>La secci�n binary-arch es en una de las que deber�as comentar o eliminar 
  las l�neas que llamen a funciones que no necesites. Para gentoo,
  comentar� de ejemplos, cron, init, man e info,
  simplemente porque gentoo no las necesita. 
  Tan s�lo, en la l�nea 68, reemplazar� �ChangeLog� con �FIXES�, 
  porque este es el nombre del fichero de cambios de las fuentes.

  <p>Las �ltimas dos l�neas (junto con otras que no se explican) son
  cosas m�s o menos necesarias, sobre las que puedes leer en el manual
  de make, y las normas. Por ahora no es importante que sepas nada de
  ellas.
  
  <chapt id="dother">Otros ficheros en el directorio debian/.

  <p>Ver�s que existen otros ficheros en el subdirectorio debian/,
  muchas de los cuales tendr�n el sufijo �.ex�, que indica que son
  ejemplos. Echale un vistazo a todos. Si lo deseas o necesitas usar
  alguna de estas caracter�sticas:

  <list>
    <item>revisa todo la documentaci�n relacionada (sugerencia: las normas de Debian),
    <item>si es necesario, modifica los ficheros para ajustarlos a tus necesidades,
    <item>ren�mbralos para eliminar el sufijo �ex.�, si lo tiene,
    <item>ren�mbralos para eliminar el prefijo �.ex�, si lo tiene,
    <item>modifica el fichero �rules� si fuera necesario.
  </list>

  <p>Algunos de los ficheros que se usan habitualmente se detallan en
  las secciones que siguen.
  
  <sect id="readme">README.debian (L�EME.debian, N. del T.)

  <p>Cualquier detalle extra o discrepancias entre el programa
  original y su versi�n debianizada deber�a documentarse aqu�.
   
  <p>dh_make crea una por omisi�n, y �ste es su aspecto:

  <p><example>
  gentoo for Debian
  -----------------

  &lt;possible notes regarding this package - if none, delete this file&gt;

   -- Josip Rodin &lt;joy-mg@debian.org&gt;, Wed, 11 Nov 1998 21:02:14 +0100
  </example>

  <p>Dado que no tenemos que poner nada aqu� - est� permitido
  borrarlo.

  <sect id="conffiles">conffiles

  <p>Una de las cosas m�s molestas de los programas es cuando pasas
  mucho tiempo y esfuerzo adaptando un programa y una actualizaci�n
  destroza todos tus cambios. Debian resuelve este problema marcando
  los ficheros de configuraci�n de forma que cuando actualizas un
  paquete se te pregunta si deseas mantener la nueva
  configuraci�n o no. 
  
  <p>Eso se consigue poniendo la ruta completa a cada
  fichero de configuraci�n (se encuentran generalmente en /etc), una
  por l�nea, en un fichero llamado �conffiles� (abreviatura de ficheros de confguraci�n, N. del T.).
  Gentoo tiene un fichero de configuraci�n, /etc/gentoorc, y
  meteremos �ste en el fichero <tt/conffiles/. 
  
  <p>En el caso de que tu programa utilice ficheros de configuraci�n pero tambi�n los 
  reescriba �l mismo es mejor no marcarlos como �conffiles�. Si lo haces,
  dpkg informar� a los usuarios que verifiquen los cambios de estos ficheros
  cada vez que lo actualicen.
  
  <p>Tambi�n deber�as considerar no marcar el fichero como un conffile 
  si el programa que est�s empaquetando requiere que cada usuario
  modifique su fichero de configuraci�n para poder trabajar.

  <p>Puedes tomar ejemplos de ficheros de configuraci�n de los 
  guiones ya existentes de desarrolladores, para m�s informaci�n 
  consulta <ref id="maintscripts">.

  <p>Puedes eliminar el fichero
  <tt/conffiles/ del directorio debian/ si tu programa no tiene �conffiles�.

  <sect id="crond">cron.d.ex

  <p>Si tu paquete requiere tareas peri�dicas para funcionar adecuadamente,
  puedes usar este fichero como patr�n. 

  <p>Ten en cuenta que �sto no incluye la rotaci�n de archivos de registro,
  para hacer eso consulta
  <manref name="dh_installlogrotate" section="1"> y
  <manref name="logrotate" section="8">.

  <p>Elimina el fichero si el paquete no utiliza dichas tareas.

  <sect id="dirs">dirs

  <p>Este fichero especifica los directorios que se necesitan pero que
  por alguna raz�n no se crean en un proceso de instalaci�n normal
  (�make install�).

  <p>Por omisi�n, tiene este aspecto:
  <p><example>
  1 usr/bin
  2 usr/sbin
  </example>

  <p>Observa que la barra precedente no est� incluida. Normalmente lo
  cambiar�amos a algo as�:
  <p><example>
  1 usr/bin
  2 usr/man/man1
  </example>

  pero estos directorios ya se crean en el Makefile, as� que no
  necesitaremos este fichero y lo podremos borrar.
  
 <sect id="docs">docs

  <p>Este fichero especifica los nombres de los ficheros
  de documentaci�n que dh_installdocs instalar� en el directorio
  temporal.

  <p>Por omisi�n, se incluir�n todos los ficheros existentes en los directorios
  de m�s alto nivel del c�digo que se llamen �BUGS�, �README*�, �TODO� etc.

  <p>Tambi�n incluir� algunos otros para gentoo:

  <p><example>
  BUGS
  CONFIG-CHANGES
  CREDITS
  ONEWS
  README
  README.gtkrc
  TODO
  </example>
  
  <p>Tambi�n podemos eliminar este fichero y en su lugar listar
  estos ficheros en la l�nea de �rdenes de
  <tt/dh_installdocs/ en el fichero <tt/rules/, de esta forma:

  <p><example>
        dh_installdocs BUGS CONFIG-CHANGES CREDITS ONEWS README \
                       README.gtkrc TODO
  </example>

  <p>Es posible que no tengas ninguno de estos ficheros en las fuentes
  de tu paquete. Puedes eliminar este fichero si este es t� caso. Pero
  no elimines la llamada a <tt/dh_installdocs/ desde el fichero
  <tt/rules/ porque tambi�n se usa para instalar el fichero
  <tt/copyright/ entre otras cosas.

  <sect id="emacsen">emacsen-*.ex

  <p>Si tu paquete proporciona ficheros Emacs que pueden ser
  compilados a bytes en el momento de la instalaci�n, puede usar estos
  ficheros.

  <p><manref name="dh_installemacsen" section="1"> los instala en el
  directorio temporal, as� que no olvides descomentar esta l�nea en el
  fichero <tt/rules/ si los usas.

  <p>Elim�nalos si no los necesitas.

  <sect id="initd">init.d.ex

  <p>Si tu paquete es un demonio que necesita ejecutarse en el arranque
  del sistema, obviamente has desatendido mi recomendaci�n inicial, �o no?
  :-)

  <p>Este fichero es pr�cticamente un esqueleto gen�rico para un fichero de
  guiones en <file>/etc/init.d/</file>, as� que probablemente tendr�s que 
  editarlo y mucho. 
  <manref name="dh_installinit" section="1"> lo instalar� en el directorio temporal.

  <p>Elimina el fichero si no lo necesitas.
  
  <sect id="manpage">manpage.1.ex, manpage.sgml.es

  <p>El programa deber�a tener una p�gina de manual. Cada uno de 
  estos ficheros es una plantilla que puedes rellenar en el caso de que
  no tengas una.

  <p>Las p�ginas de manual se escriben normalmente con <manref name="nroff" section="1">.
  El ejemplo <tt/manpage.1.ex/ est� tambi�n escrito con nroff.
  Consulta la p�gina de manual <manref name="man" section="7"> para una breve
  descripci�n de como editar el fichero.

  <p>Por otro lado, puede que prefieras escribir usando SGML en lugar de
  nroff. En este caso, puedes usar la plantilla <tt/manpage.sgml.ex/. 
  Si haces esto, tendr�s que:
  <list>
    <item>instalar el paquete <package/docbook-to-man/
    <item>a�adir <tt/docbook-to-man/ a la l�nea de <tt/Build-Depends/ 
	      en el fichero de <tt/control/
    <item>eliminar el comentario de la llamada a docbook-to-man en
          la regla �build� de tu fichero <tt/rules/ 
  </list>

  <p>�Y recuerda renombrar el fichero a algo como <tt/gentoo.sgml/!

  <p>La p�gina final del nombre deber�a incluir el nombre del programa
  que est� documentando, asi que lo renombraremos de "manpage" a "gentoo".
  El nombre del fichero incluye tambi�n ".1" como primer sufijo,
  lo que significa que es una p�gina de manual para una programa de usuario.
  Asegurate de verificar que esa secci�n es la correcta.
  Aqu� tienes una peque�a lista de las secciones de las p�ginas de manual.

  <p><example>
  Secci�n |     Descripci�n        |     Notas
     1     Ordenes de Usuario        Programas o guiones ejecutables.
     2     Llamadas al Sistema       Funciones que ofrece el n�cleo.
     3     Llamadas a Bibliotecas    Funciones dadas por las bibliotecas del sistema.
     4     Ficheros Especiales       Generalmente se encuentran en /dev.
     5     Formatos de Fichero       Por ejemplo, el formato del /etc/passwd.
     6     Juegos                    U otros programas fr�volos.
     7     Paquetes de Macros        Como las macros de man.
     8     Administraci�n del Sist.  Programas que s�lo suele ejecutar el superusuario.
     9     Rutinas del N�cleo        Llamadas al sistema no est�ndar.
  </example>
  
  <p>As� que la p�gina de manual de gentoo deber�a llamarse <tt/gentoo.1/.
  No hab�a una p�gina de manual gentoo.1 en el paquete fuente
  asi que la escrib� usando la informaci�n del ejemplo y de los documentos
  del programador original.

  <sect id="menu">menu.ex

  <p>Los usuarios de X Windows suelen tener un gestor de ventanas con men�s
  que pueden adaptarse para lanzar programas. Si tienen instalado el
  paquete <package/menu/ de Debian, se crear� un conjunto de men�s para cada
  programa del sistema para ellos. 
  
  <p>�ste es el fichero <tt/menu.ex/ que dh_make crea por omisi�n:
  
  <p><example>
  ?package(gentoo):needs="X11|text|vc|wm" section="Apps/lea-manual-menu"\
    title="gentoo" command="/usr/bin/gentoo"
  </example>

  <p>El primer campo tras la coma (�needs�) son las necesidades, y especifica
  qu� tipo de interfaz necesita el programa. Cambia �sta a una de las
  alternativas que se listan, como por ejemplo �text� o �X11�.

  <p>Lo siguiente (�section�) es la secci�n donde deber�an aparecer la entrada del men� y
  del submen�. La lista actual de secciones est� en:
  <file>/usr/share/doc/debian-policy/menu-policy.html/ch2.html#s2.1</file>

  <p>El campo �title� es el nombre del programa. Puedes comenzar este
  en may�sculas si lo quieres, pero hazlo lo m�s corto que puedas.

  <p>Finalmente, el campo �command� es la orden que ejecuta el programa.

  <p>Ahora cambiaremos la entrada del men� por �sta:

  <p><example>
  ?package(gentoo): needs="X11" section="Apps/Tools" title="Gentoo" command="gentoo"
  </example>

  <p>Tambi�n puedes a�adir otros campos como son �longtitle� (t�tulo largo), �icon� (icono), �hints� (pistas), etc.
  Para m�s informaci�n consulta <manref name="menufile" section="5">,
  <manref name="update-menus" section="1">
  y <file>/usr/share/doc/debian-policy/menu-policy.html/</file>.


  <sect id="watch">watch.ex

  <p>Este fichero se usa para configurar los programas <manref
  name="uscan" section="1"> y <manref name="uupdate" section="1"> 
  (en el paquete <package/devscripts/), que se usan para vigilar 
  el servidor de donde obtuviste las fuentes originales.

  <p>Esto es lo que he puesto yo:

  <p><example>
# watch control file for uscan
# Site		Directory	Pattern			Version	Script
ftp.obsession.se	/gentoo		gentoo-(.*)\.tar\.gz	debian	uupdate
  </example>

  <p>Pista: con�ctate a Internet, e intenta ejecutar el programa
  �uscan� en el directorio donde has creado el fichero. Consulta la p�gina
  de manual para m�s detalles.

  <sect id="doc-base">ex.package.doc-base

  <p>Si tu paquete tiene documentaci�n aparte de las p�ginas de manual
  y documentos �info�, deber�as usar el fichero �<package/doc-base/� 
  para registrarla, as� el usuario puede encontrarlos con
  <manref name="dhelp" section="1">,
  <manref name="dwww" section="1"> o <manref name="doccentral" section="1">.

  <p>Esto incluye generalmente ficheros HTML, PS y PDF que se instalen en
  <file>/usr/share/doc/nombre_de_paquete/</file>.

  <p>As� es como el fichero doc-base de gentoo <tt>gentoo.doc-base</tt> debe
  ser:

  <p><example>
  Document: gentoo
  Title: Gentoo Manual
  Author: Emil Brink
  Abstract: This manual describes what Gentoo is, and how it can be used.
  Section: Apps/Tools

  Format: HTML
  Index: /usr/share/doc/gentoo/html/index.html
  Files: /usr/share/doc/gentoo/html/*.html
  </example>

  <p>Para informaci�n sobre el formato del fichero revisa <manref
  name="install-docs" section="8"> y el manual de <package/doc-base/ en
  <file>/usr/share/doc/doc-base/doc-base.html/index.html</file>.

  <p>Encontrar� m�s detalles de la instalaci�n de documentaci�n
  adicional en <ref id="destdir">.

  <sect id="maintscripts">postinst.ex, preinst.ex, postrm.ex y prerm.ex

  <p>Estos ficheros se llaman guiones del desarrollador (�maintainer
  scripts�, N. del T.), y son guiones que se colocan en el �rea de
  control del paquete y que <package/dpkg/ ejecuta cuando tu paquete
  se instala, se actualiza o se elimina.

  <p>Por ahora, deber�as intentar evitar editar manualmente estos
  guiones si puedes porque suelen hacerse muy complejos. Para m�s
  informaci�n lee el manual de normas, cap�tulo 6, y echa un
  vistazo a los ejemplos dados por dh_make.

  
  <chapt id="build">Construir el paquete
  
  <p>Deber�amos estar preparados para construir el paquete.

  <sect id="completebuild">Reconstrucci�n completa

  <p>Entra en el directorio principal del programa y ejecuta la
  siguiente orden:

  <p><example>
  dpkg-buildpackage -rfakeroot
  </example>
  
  <p>Esto lo har� todo por t�:
  
  <list>
    <item>limpia el �rbol del c�digo (debian/rules clean), usando <prgn/fakeroot/
    <item>construye el paquete de c�digo (dpkg-source -b)
    <item>construye el programa (debian/rules build)
    <item>construye el paquete binario (debian/rules binary), usando <prgn/fakeroot/
    <item>firma el fichero fuente <tt/.dsc/, usando <prgn/gnupg/
    <item>crea y firma el fichero de subida <tt/.changes/, usando
          <prgn/dpkg-genchanges/ y <prgn/gnupg/
  </list>

  <p>Lo �nico que se te pedir� es que escribas tu contrase�a secreta
  de la clave GPG, dos veces.

  <p>Despu�s de hacer todo esto, ver�s las siguientes l�neas en el directorio
  encima del que est� (<file>~/gentoo/</file>):

  <p><list>
  <item><em>gentoo_0.9.12.orig.tar.gz</em>
  <p>Este es el c�digo fuente original comprimido, simplemente se ha renombrado
  para seguir los est�ndares de Debian. N�tese que ha sido creado usando
  la opci�n �-f� de <prgn/dh_make/ cuando lo ejecutamos en el inicio.
  
  <item><em>gentoo_0.9.12-1.dsc</em>
  <p>Este es un sumario de los contenidos del c�digo fuente. Este
  fichero se genera a partir del fichero de �control� 
  y se usa cuando se descomprimen las fuentes con <manref
  name="dpkg-source" section="1">. Este fichero est� firmado con GPG
  de forma que cualquiera pueda estar seguro de que es realmente suyo.

  <item><em>gentoo_0.9.12-1.diff.gz</em>
  <p>Este fichero comprimido contiene todos y cada uno de los cambios
  que hizo al c�digo fuente original, en un formato conocido como �diff
  unificado�. El programa que lo hace y lo usa es <manref name="dpkg-source"
  section="1">. Precauci�n: si no renombras el archivo comprimido original 
  nombre_de_paquete_versi�n.orig.tar.gz �<prgn/dpkg-source/
  fallar� al generar el fichero .diff.gz!

  <p>Si alguien quiere volver a crear tu paquete desde cero, puede hacerlo
  f�cilmente usando los tres ficheros de arriba. El proceso de extracci�n
  es trivial: s�lo se debe copiar los tres ficheros en alg�n lado y ejecutar
  <tt>dpkg-source -x gentoo_0.9.12-1.dsc</tt>.
  
  <item><em>gentoo_0.9.12-1_i386.deb</em>
  <p>Este es el paquete binario completo. Puedes usar <prgn/dpkg/ 
  para instalar o eliminar tanto este paquete como cualquier otro.
  
  <item><em>gentoo_0.9.12-1_i386.changes</em>
  <p>Este fichero describe todos los cambios hechos en la revisi�n
  actual del paquete, y se usa por los programas de gesti�n del
  archivo FTP para instalar los paquetes binarios y fuentes en �l. Se
  genera parcialmente a partir del fichero �changelog�  y el fichero �.dsc�.
  Este fichero est� firmado con GPG, de forma que
  cualquiera puede estar a�n m�s seguro de que es realmente tuyo.
  
  <p>Mientras sigues trabajando en el paquete, �ste cambiar� su
  comportamiento y se le a�adir�n nuevas funciones. Las personas que
  descarguen tu paquete pueden leer este fichero y ver qu� ha
  cambiado. Los programas de mantenimiento del archivo de Debian, tambi�n
  enviar�n el contenido de este fichero a la lista de correo
  debian-devel-changes.
  </list>
  
  <p>Las largas listas de n�meros en los ficheros .dsc y .changes
  son las sumas MD5 para los ficheros. 
  Las personas que descarguen estos ficheros pueden
  comprobarlos con <manref name="md5sum" section="1"> y si los n�meros
  no coinciden, sabr�n que el fichero est� corrupto o ha sido
  modificado.

  
  <sect id="quickrebuild">Reconstrucci�n r�pida
  
  <p>Con un paquete grande, puede que no quieras recompilar desde cero
  cada vez que tocas un detalle en el fichero <file>debian/rules</file>. 
  Para prop�sitos de prueba, puedes hacer un fichero .deb sin necesidad de
  recompilar las fuentes originales de esta forma:

  <p><example>
  fakeroot debian/rules binary
  </example>


  <p>Una vez que has terminado la puesta a punto, recuerda reconstruir
  el paquete siguiendo el procedimiento adecuado que est�
  arriba. Puede que no seas capaz de enviar correctamente el paquete
  si intentas enviar los archivos .deb construidos de esta forma.

<!-- JFS: REVIEW -->
  <sect id="debuild">La orden <prgn>debuild</prgn>

  <p>Puedes automatizar a�n m�s el proceso de construcci�n de paquetes
  con la orden <prgn>debuild</prgn>.  Ve�se <manref name="debuild"
  section="1">.
  
  <p>La personalizaci�n de la orden debuild puede hacerse a trav�s de
  <file>/etc/devscripts.conf</file> o <file>~/.devscripts</file>. 
  Te sugiero al menos los siguientes valores:

  <p><example>
  DEBSIGN_KEYID="Tu_ID_clave_GPG"
  DEBUILD_DPKG_BUILDPACKAGE_OPTS="-i -ICVS -I.svn"
  </example>
  Con estos valores, puedes construir paquetes siempre con tu clave
  GPG y evitar incluir componentes no deseados. (Esto tambi�n es bueno
  para patrocinar).  Por ejemplo, limpiar el c�digo y reconstruir el
  paquete desde una cuenta de usuario es tan simple como:

  <p><example>
  debuild clean
  debuild
  </example>

<!-- JFS: REVIEW -->
  <sect id="dpatch">Los sistemas <prgn>dpatch</prgn> y <prgn>quilt</prgn>

  <p>El uso de las �rdenes <prgn>dh_make</prgn> y
  <prgn>dpkg-buildpackage</prgn> crear� un gran fichero
  <file>diff.gz</file> que contendr� los archivos de mantenimiento del
  paquete en <file>debian/</file> as� como los parches de los ficheros
  fuente. Este tipo de paquetes es un poco engorroso de inspeccionar y
  entender para cada una de las modificaciones de c�digo
  posteriores. Esto no es muy bueno.
  <footnote>
  Si no eres todav�a un Desarrollador de Debian y le pides a tu
  patrocinador que te suba un paquete tras revisarlo, deber�as hacer
  el paquete lo m�s f�cil posible para que �l pueda revisarlo.  
  </footnote>
  
  <p>Se han propuesto y se utilizan distintos m�todos para la gesti�n
  de conjuntos de parches en Debian. Los sistemas <prgn>dpatch</prgn> y
  <prgn>quilt</prgn> son los dos m�s simples de todos los propuestos.
  Otros son dbs, cdbs, etc.
  
  <p> Un paquete que haya sido empaquetado correctamente con el
  sistema <prgn>dpatch</prgn> o <prgn>quilt</prgn> tiene las
  modificaciones al c�digo fuente claramente documentadas como un
  conjunto de ficheros parche de tipo �-p1� en
  <file>debian/patches/</file> y el �rbol de c�digo permanece m�s
  all�del directorio <file>debian/</file>. Si est�s pidiendo a un
  patrocinador que suba tu paquete, este clara separaci�n y
  documentaci�n de los cambios son muy importantes para acelerar la
  revisi�n del paquete por parte del patrocinador.  El modo de empleo
  de <prgn>dpatch</prgn> y <prgn>quilt</prgn> se explica en <manref
  section="1" name="dpatch">, <manref section="1"
  name="dpatch-edit-patch"> y <manref section="1" name="quilt">.
  Ambos programas ofrecen ficheros que se pueden incluir en
  <file>debian/rules</file>:
  <file>/usr/share/dpatch/dpatch.make</file> y
  <file>/usr/share/quilt/quilt.make</file>.

  <p>Cuando alguien (incluy�ndote a ti) proporciona un parche para
  las fuentes, modificar el paquete con es muy sencillo:

  <list compact>
  <item>Edita el parche para crear un parche -p1 sobre el �rbol el
  c�digo fuente.
  <item>En el caso de <prgn>dpatch</prgn>, a�ade una cabecera
  empleando la orden <tt>dpatch patch-template</tt>.
  <item>Pon ese fichero en <file>debian/patches</file>
  <item>A�ade el nombre de fichero de este parche a
  <file>debian/patches/00list</file> (en <prgn>dpatch</prgn>) o
  <file>debian/patches/series</file> (en <prgn>quilt</prgn>).
  </list>

  <p>Adem�s, <prgn>dpatch</prgn> puede crear parches dependientes de
  la arquitectura usando macros CPP.

  <sect id="option-sa">Incluir <file>orig.tar.gz</file> para subir
  
  <p>Cuando subes por primera vez un paquete al archivo, necesitas
  incluir las fuentes originales <file>orig.tar.gz</file>. Si la
  versi�n del paquete no es una revisi�n de Debian <tt>-0</tt> o
  <tt>-1</tt>, debes proporcionarle la opci�n �<tt>-sa</tt>� a la
  orden <prgn>dpkg-buildpackage</prgn>. Por otro lado, la opci�n
  �<tt>-sd</tt>� forzar� la exclusi�n del c�digo original
  <file>orig.tar.gz</file>.
 
  <chapt id="checkit">C�mo comprobar tu paquete para encontrar fallos

  <sect id="lintians">Los paquetes <package>lintian</package>
 
  <p>Ejecuta <manref name="lintian" section="1"> sobre tu fichero de cambios .changes.
   Estos programas comprobar�n muchos errores comunes al empaquetar. Las
   �rdenes es:
  
  <p><example>
  lintian -i gentoo_0.9.12-1_i386.changes
  </example>
  
  <p>Por supuesto, cambia el nombre de fichero con el nombre del
  fichero de cambios generado por tu paquete. Si parece que hay
  algunos errores (l�neas que comienzan por E:), lee la explicaci�n
  (l�neas N:), corrige errores, y reconstruye como se describe en <ref
  id="completebuild">. Las l�neas que comienzan con W: son s�lo avisos
  (warnings, N. del T.), as� que afina el paquete o verifica que los
  avisos son falsos (y haz que lintian
  los acepte, consulta la documentaci�n para m�s detalles).
  
  <p>Observa que puedes construir el paquete con
  <prgn/dpkg-buildpackage/ y ejecutar <prgn/lintian/ 
  todo con s�lo una orden si utilizas <manref name="debuild" section="1">.

  <sect id="mc">La orden <prgn>mc</prgn>

  <p>Puedes descomprimir el contenido del paquete <file>*.deb</file> con
  la orden <manref name="dpkg-deb" section="1">.
  Puedes listar el contenido de un paquete Debian con
  <manref name="debc" section="1">.
 
  <p>Este proceso puede ser muy intuitivo si empleamos un gestor de
  ficheros como <manref name="mc" section="1">, que permite visionar
  tanto el contenido del paquete <file>*.deb</file>, como el de los
  ficheros <file>*.diff.gz</file> y <file>*.tar.gz</file>.
  
  <p>Vigila que no haya ficheros innecesarios extra o de tama�o cero,
  tanto en el binario como en el paquete fuente. A veces, hay cosas
  que no se limpiaron adecuadamente, debes ajustar tu fichero �rules�
  para arreglar esto.

  <p>Pista: �<tt>zgrep ^+++ ../gentoo_0.9.12-1.diff.gz</tt>� te dar�
  una lista de tus cambios o contribuciones a las fuentes, y
  �<tt>dpkg-deb -c gentoo_0.9.12-1_i386.deb</tt>� o �<tt>debc
  gentoo_0.9.12-1_i386.changes</tt>� listar� los ficheros en el
  paquete binario.

  <sect id="debdiff">La orden <prgn>debdiff</prgn>
 
  <p>Puedes comparar la lista de ficheros de dos paquetes binarios de
  Debian con la orden <manref name="debdiff" section="1">.  Este
  programa es �til para verificar que no hay ficheros que se hayan
  cambiado de sitio o eliminado por error, y que no se ha realizado
  ning�n otro cambio no deseado al actualizar el paquete. Puedes
  comprobar un grupo de ficheros <file>*.deb</file> simplemente con
  �<tt>debdiff paquete-viejo.change paquete-nuevo.change</tt>�.

<!-- JFS: REVIEW -->
  <sect id="interdiff">La orden <prgn>interdiff</prgn> 
 
  <p>Puedes comparar dos ficheros <file>diff.gz</file> con la orden
  <manref name="interdiff" section="1">. Esto es muy �til para
  verificar que no se han realizado cambios inadvertidos por el
  mantenedor al actualizar el paquete.  Ejecuta �<tt>interdiff -z
  paquete-viejo.diff.gz paquete-nuevo.diff.gz</tt>�.

  <sect id="debi">La orden <prgn>debi</prgn> 

  <p>Instala el paquete para probarlo t� mismo, por ejemplo, usando la
  orden <manref name="debi" section="1"> como superusuario. Intenta
  instalarlo y ejecutarlo en otras m�quinas distintas de la tuya, y
  presta atenci�n para detectar errores o avisos tanto en la instalaci�n
  como en la ejecuci�n del programa.

  <sect id="pbuilder">El paquete <package>pbuilder</package> 
 
  <p>El paquete <package>pbuilder</package> es muy �til para conseguir
  un entorno limpio (chroot) donde verificar las dependencias. Esto
  asegura una construcci�n limpia desde el c�digo en los programas que
  realizan la compilaci�n autom�tica de paquetes para diferentes
  arquitecturas y evita fallos serios del tipo FTBFS (Fallo al
  construir desde la fuente o �Fail to Build From Source�), que son
  siempre del tipo RC (fallos criticos o �release critical�). Para
  m�s informacon del paquete debian <package/auto-builder/ v�ase <url
  id="&buildd-home;">.

  <p>El uso m�s b�sico del paquete <package>pbuilder</package> es la
  ejecuci�n directa de la orden <prgn>pbuilder</prgn> como
  administrador.  Por ejemplo, puedes construir un paquete si escribes
  las siguientes �rdenes en el directorio donde se encuentran los
  ficheros <file>.orig.tar.gz</file>, <file>.diff.gz</file> y
  <file>.dsc</file>.

  <example>
  root # pbuilder create # si se ejecuta por segunda vez, pbuilder update
  root # pbuilder build foo.dsc
  </example>
   
  Los paquetes reci�n construidos se pueden encontrar en
  <file>/var/cache/pbuilder/result/</file> y el propietario ser� el
  usuario administrador.

  <p>La orden <prgn>pdebuild</prgn> te ayuda a usar las funciones del
  paquete <package>pbuilder</package> como usuario sin permisos de
  administraci�n. Desde el directorio ra�z del c�digo fuente, con el
  archivo <file>orig.tar.gz</file> en el directorio padre, escribe las
  siguientes �rdenes:
 
  <example>
  $ sudo pbuilder create # si se ejecuta por segunda vez, sudo pbuilder update
  $ pdebuild
  </example>

  Los paquetes construidos se pueden encontrar en
  <file>/var/cache/pbuilder/result/</file> y el propietario no ser� el
  administrador.
  
  <footnote>
  Actualmente, te sugiero configurar el sistema dando al directorio
  <file>/var/cache/pbuilder/result/</file> permisos de escritura a los
  usuarios, y editando <file>~/.pbuilderrc</file> o
  <file>/etc/pbuilderrc</file> para incluir:
  
  <example>
  AUTO_DEBSIGN=yes
  </example>
  
  Esto te permitir� firmar los paquetes generados con la clave secreta
  GPG que tienes en <file>~/.gnupg/</file>.  Puesto que el paquete
  <package>pbuilder</package> est� aun en desarrollo, tendr�s que
  comprobar como funciona la configuraci�n consultando la �ltima
  documentaci�n oficial.

  </footnote>

  <p>Si deseas a�adir fuentes de apt para que las utilice el paquete
  <package>pbuilder</package>, configura <tt>OTHERMIRROR</tt> en
  <file>~/.pbuilderrc</file> o <file>/etc/pbuilderrc</file> y ejecuta
  (para sarge):

  <example>
  $ sudo pbuilder update --distribution sarge --override-config
  </example>
  
  Es necesario el uso de <tt>--override-config</tt> para actualizar las
  fuentes de apt dentro del entorno chroot.

  <p>
  V�ase <url id="&pbuilder-home;">,
  <manref section="1" name="pdebuild">,
  <manref section="5" name="pbuilderrc">, y
  <manref section="8" name="pbuilder"> .

  <chapt id="upload">Enviar el paquete
  
  <p>Ahora que has probado tu nuevo paquete en profundidad, estar�s
  preparado para comenzar el proceso de nuevo desarrollador de Debian 
  tal y como se describe en:
  <url id="http://www.debian.org/devel/join/newmaint">

  <sect id="upload-debian">Enviar al archivo de Debian

  <p>Tendr�s subir el paquete al archivo de Debian una vez que llegues
  a ser un desarrollador oficial. Puedes hacer esto manualmente,
  pero es m�s f�cil hacerlo con las herramientas autom�ticas ya disponibles
  como
  <manref name="dupload" section="1"> o <manref name="dput" section="1">.
  A continuaci�n describiremos como hacerlo con <prgn/dupload/.

  <p>En primer lugar, tienes que crear un fichero de configuraci�n de dupload.
  Puedes hacerlo editando el fichero general del sistema <file>/etc/dupload.conf</file>, 
  o creando tu propio fichero <file>~/.dupload.conf</file> con lo que tu quieras
  cambiar.
  Pon algo como esto en el fichero:
  
  <p><example>
  package config;

  $default_host = "anonymous-ftp-master";

  $cfg{'anonymous-ftp-master'} = {
        fqdn => "ftp-master.debian.org",
        method => "ftp",
        incoming => "/pub/UploadQueue/",
        # files pass on to dinstall on ftp-master which sends emails itself
        dinstall_runs => 1,
  };

  1;
  </example>

  <p>Por supuesto, cambia el nombre por el tuyo y lee
  la p�gina de manual <manref name="dupload.conf" section="5"> para
  comprender qu� significa cada una de estas opciones.
  
  <p>La opci�n $default_host es la m�s problem�tica, determina cual de las
  colas de envios se usar� por defecto. "anonymous-ftp-master" es la primaria,
  pero es posible que quieras usar otra m�s r�pida.
  Para m�s informaci�n sobre las colas de env�o, consulta la Referencia del 
  desarrollador, en concreto la secci�n
  �Uploading a package�, en
  <file>&uploading;</file>
  
  <p>Ahora conecta con tu proveedor de Internet, y ejecuta la
  orden:
  
  <p><example>
  dupload gentoo_0.9.12-1_i386.changes
  </example>

  <p><prgn/dupload/ comprueba que las sumas md5 coinciden con aquellas en el
  fichero .changes, y te avisar� de rehacer el paquete como se
  describe en <ref id="completebuild"> para poder enviarlo correctamente.

  <p>Si encuentras alg�n problema con la subida del paquete a <url
  id="&ftp-uploadqueue;">, puedes arreglarlo subiendo manualmente a
  <url id="&ftp-uploadqueue;"> a trav�s de <prgn>ftp</prgn> un fichero
  �<file>*.commands</file>� firmado con gnupg.
  
  <footnote>
  V�ase <url id="&ftp-command;">. Como alternativa, puedes usar la orden
  <prgn>dcut</prgn> de el paquete <package>dput</package>.
  </footnote>.
    
  Por ejemplo, usando �<file>hello.commands</file>�:
  <example>
   -----BEGIN PGP SIGNED MESSAGE-----
   
   Uploader: Roman Hodek &lt;Roman.Hodek@informatik.uni-erlangen.de&gt;
   Commands: 
    rm hello_1.0-1_i386.deb
    mv hello_1.0-1.dsx hello_1.0-1.dsc
   
   -----BEGIN PGP SIGNATURE-----
   Version: 2.6.3ia
   
   iQCVAwUBNFiQSXVhJ0HiWnvJAQG58AP+IDJVeSWmDvzMUphScg1EK0mvChgnuD7h
   BRiVQubXkB2DphLJW5UUSRnjw1iuFcYwH/lFpNpl7XP95LkLX3iFza9qItw4k2/q
   tvylZkmIA9jxCyv/YB6zZCbHmbvUnL473eLRoxlnYZd3JFaCZMJ86B0Ph4GFNPAf
   Z4jxNrgh7Bc=
   =pH94
   -----END PGP SIGNATURE-----
  </example>

  <sect id="upload-private">Enviar a un archivo privado
   
  <p>Puedes crear un repositorio personal de paquetes en
  <tt>URL="http://people.debian.org/~<var>nombre_de_cuenta</var>"</tt>
  (si eres desarrollador oficial) con una simple llamada a <tt>dupload
  -t <var>nombre_de_objetivo</var></tt>. Para hacerlo deber�as a�adir
  lo siguiente al fichero �<file>/etc/dupload.conf</file>�:

  <example>
# Cuenta de desarrollador
$cfg{'<var>nombre_de_objetivo</var>'} = {
        fqdn =&gt; "people.debian.org",
        method =&gt; "scpb",
        incoming =&gt; "/home/<var>nombre_de_cuenta</var>/public_html/package/",
        # No necesitas anunciarlo
        dinstall_runs =&gt; 1,
};
$cfg{'<var>nombre_de_objetivo</var>'}{preupload}{'changes'} = "
        echo 'mkdir -p public_html/package' | ssh people.debian.org  2&gt;/dev/null ; 
        echo '�Directorio de paquetes creado!'";
   
$cfg{'<var>nombre_de_objetivo</var>'}{postupload}{'changes'} = "
        echo 'cd public_html/package ;
        dpkg-scanpackages . /dev/null &gt;Packages || true ;
        dpkg-scansources . /dev/null &gt;Sources || true ;
        gzip -c Packages >Packages.gz ;
        gzip -c Sources &gt;Sources.gz ' | ssh people.debian.org  2&gt;/dev/null ;
        echo '�Archivo de paquetes creado!'";
   
</example>

  Aqu�, el repositorio APT se construye mediante una simple ejecuci�n
  remota con SSH.  Los ficheros de sobreescritura que necesitan
  <prgn>dpkg-scanpackages</prgn> y <prgn>dpkg-scansources</prgn> se
  especifican como <file>/dev/null</file>.
 
  Esta t�cnica la puede emplear alguien que no es desarrollador de
  Debian para almacenar sus paquetes en su p�gina personal. Tambi�n se
  pueden usar <prgn>apt-ftparchive</prgn> o otros programas para crear
  un repositorio APT.
 
  <chapt id="update">Actualizar el paquete
  
  <sect id="newrevision">Nueva revisi�n Debian del paquete

  <p>Supongamos que se ha creado un informe de fallo en tu paquete
  con el n�mero #54321, y que describe un problema que puedes solucionar.
  Para crear una nueva revisi�n del paquete, necesitas:

  <list>
  <item>Corregir, por supuesto, el problema en las fuentes del
  paquete.

  <item>A�adir una nueva revisi�n en el fichero de cambios (changelog,
  N. del T.) de Debian, con �<tt>dch -i</tt>�, o expl�citamente con
  �<tt>dch -v &lt;versi�n&gt;-&lt;revisi�n&gt;</tt>� y entonces insertar los 
  comentarios con tu editor favorito.
  
  <p>Sugerencia: �Como obtener la fecha f�cilmente en el formato requerido?
  Usa �<tt>822-date</tt>�, o �<tt>date -R</tt>�.
  
  <item>Incluir una breve descripci�n del error y su soluci�n
  en la entrada del fichero de cambios, seguido por: �Closes: #54321�. 
  De esta forma, el informe del error ser� autom�gicamente cerrado por los
  programas de gesti�n del archivo en el momento en que tu paquete se
  acepte en el archivo de Debian.

  <item>Repite lo que hiciste en <ref id="completebuild">, <ref id="checkit">,
  y <ref id="upload">. La diferencia es que esta vez, las fuentes
  originales del archivo no se incluir�n, dado que no han cambiado y
  ya existen en el archivo de Debian.
  </list>


  <sect id="newupstream">Nueva versi�n del programa fuente (b�sico)
  
  <p>Ahora consideremos una situaci�n diferente y algo m�s complicada:
  ha salido una versi�n nueva de las fuentes originales, y, por
  supuesto, deseas empaquetarla. Debes hacer lo siguiente:

  <list>
  <item>Descarga las nuevas fuentes y pon el archivo tar (pongamos que
  se llama <file>gentoo-0.9.13.tar.gz</file>) un directorio por encima del
  antiguo �rbol de fuentes (por ejemplo ~/gentoo/).

  <item>Entra en el antiguo directorio de las fuentes y ejecuta:

  <example>
  uupdate -u gentoo-0.9.13.tar.gz
  </example>

  <p>Por supuesto, reemplaza este nombre de fichero con el nombre de
  las fuentes de tu programa. <manref name="uupdate" section="1">
  renombrar� apropiadamente este fichero tar, intentar� aplicar los
  cambios de tu fichero <file>.diff.gz</file> previo y actualizar� el
  nuevo fichero <file>debian/changelog</file>.

  <item>Cambia al directorio �<file>../gentoo-0.9.13</file>�, el nuevo
  directorio fuente del paquete, y repite la operaci�n que hiciste en
  <ref id="completebuild">, <ref id="checkit">, y <ref id="upload">.
  </list>

  <p>Observa que si has puesto el fichero �<file>debian/watch</file>�
  como se describe en <ref id="watch">, puedes ejecutar <manref
  name="uscan" section="1"> para buscar autom�ticamente fuentes
  revisadas, descargarlas, y ejecutar <prgn/uupdate/
  
  <sect id="newupstream-real">Nueva versi�n de las fuentes (realista)
 
  <p>Cuando prepares paquetes para el archivo de Debian, debes
  comprobar los paquetes resultantes en detalle. A continuaci�n,
  tienes un ejemplo m�s realista de este procedimiento.
 
  <enumlist compact>
 
  <item>Verificar los cambios en las fuentes.
 
  <list compact>
 
  <item>De las fuentes, lee los ficheros <file>changelog</file>,
  <file>NEWS</file>, y cualquier otra documentaci�n que se haya
  publicado con la nueva versi�n.
 
  <item>Ejecuta �<tt>diff -urN</tt>� entre las fuentes viejas y las
  nuevas para obtener una visi�n del alcance de los cambios, donde se
  ha trabajado m�s activamente (y por tanto donde podr�an aparecer
  nuevas erratas), y tambi�n busca cualquier cosa que pudiera parecer
  sospechosa.  </list>
 
  <item>
  Porta el paquete Debian viejo a la nueva versi�n.

  <list compact>
  <item>Descomprime el c�digo fuente original y renombra la ra�z del
  �rbol de las fuentes como
  <file>&lt;nombrepaquete&gt;-&lt;versi�n_original&gt;/</file> y haz
  �<tt>cd</tt>� en este directorio.
 
  <item>Copia el c�digo fuente en el directorio padre y renombrarlo como
  <file>&lt;nombrepaquete&gt;_&lt;versi�n_original&gt;.orig.tar.gz</file> .
 
  <item>Aplica el mismo tipo de modificaci�n a el nuevo c�digo que al viejo.
  Algunos posibles m�todos son:
  <list compact>
  <item>orden �<tt>zcat
  <var>/path/to/</var>&lt;nombrepaquete&gt;_&lt;versi�n-vieja&gt;.diff.gz
  | patch -p1</tt>�,
  <item>orden �<prgn>uupdate</prgn>�,
  <item>orden �<tt>svn merge</tt>� si gestionas el c�digo con un
  repositorio Subversion o,
  <item>simplemente copia el directorio <file>debian/</file> del �rbol
  de c�digo viejo si se empaquet� con <package>dpatch</package> o <package>quilt</package>.
  </list>
 
  <item>Conserva las entradas viejas del fichero �changelog� (puede parecer
  obvio, pero se han dado casos...)
 
  <item>La nueva versi�n del paquete es la versi�n original
  a�adi�ndole el n�mero de revisi�n de Debian <tt>-1</tt>, por ejemplo,
  `<tt>0.9.13-1</tt>'.
 
  <item>A�ade una entrada en el fichero �changelog� para esta nueva
  versi�n al comienzo <file>debian/changelog</file> que ponga �New
  upstream release� (nueva versi�n original, N. del T.).  Por ejemplo,
  �<tt>dch -v 0.9.13-1</tt>�.
 
  <item>Describe de forma resumida los cambios <em>en</em> la nueva
  versi�n del c�digo fuente que arreglan fallos de los que ya se ha
  informado y cierra esos fallos en el fichero �changelog�.

  <item>Describe de forma resumida los cambios hechos <em>a</em> la nueva
  versi�n del c�digo por el mantenedor para arreglar fallos de los que
  se ha informado y cierra esos fallos en el fichero �changelog�.

  <item>Si el parche/fusi�n no se aplic� limpiamente, inspecciona la
  situaci�n para determinar qu� ha fallado (la clave est� en los
  ficheros <file>.rej</file>). A menudo el problema es que un parche
  que has aplicado a las fuentes se ha integrado en el c�digo fuente
  original, y, por lo tanto, el parche ya no es necesario.
 
  <item>Las actualizacioens de versi�n deber�an ser silenciosas y no
  intrusivas (los usuarios s�lo deber�an advertir la actualizaci�n al
  descubrir que se han arreglado viejos fallos y porque se han
  introducido algunas nuevas caracter�sticas).

  <footnote>
  Aseg�rate de que tu paquete actualiza adecuadamente los ficheros de
  configuraci�n con <prgn>postinst</prgn> etc, bien dise�ados, para
  que �<strong>no</strong> se hagan cosas que el usuario no quiere!
  Estas son las mejoras que explican <strong>por qu�</strong> la gente
  escoge Debian.

  <p>Cuando la actualizaci�n es necesariamente intrusiva (por ejemplo,
  en la nueva versi�n se han repartido los ficheros de configuraci�n
  en distintos directorios personales con estructuras totalmente
  diferentes), puedes considerar hacer que el paquete tome un valor
  seguro por omisi�n (por ejemplo, deshabilitando el servicio) y
  proporcionar la documentaci�n necesaria (tal y como lo exigen las
  normas: en ficheros <file>README.Debian</file> y
  <file>NEWS.Debian</file>) como �ltimo recurso. Pero no te molestes
  en incluir una nota con debconf. </footnote>
 
  <item>Si necesitas a�adir plantillas eliminadas por alguna raz�n,
  puedes ejecutar <prgn>dh_make</prgn> otra vez en el mismo directorio
  ya �debianizado�, con la opci�n <tt>-o</tt>. Una vez hecho esto
  ed�talo como sea necesario.
 
  <item>Deber�as reconsiderar todos los cambios introducidos para
  Debian: elimina aquello que el autor original haya incorporado (de
  una forma u otra) y recuerda mantener aquellos que no hayan sido
  incorporados, a menos que haya una raz�n convincente para no incluirlos.

  <item>Si se ha realizado alg�n cambio en el sistema de construcci�n
  (esperemos que lo supieras desde el primer paso), actualiza los
  ficheros <file>debian/rules</file> y las dependencias de
  construcci�n en <file>debian/control</file> si es necesario.
 
  </list>
 
  <item>Construye el nuevo paquete como se describe en <ref
  id="debuild"> o <ref id="pbuilder">. Es conveniente el uso de
  <package>pbuilder</package>.
 
  <item>Comprueba que los paquetes nuevos se han construido correctamente.
 
  <list compact>
 
  <item>Ejecuta <ref id="checkit">.
 
  <item>Ejecuta <ref id="upgrading">.   
 
  <item>Comprueba de nuevo si se ha arreglado alguno de los fallos que
  actualmente est�n abiertos en <url name="el sistema de seguimiento
  de fallos de Debian (BTS)" id="http://www.debian.org/Bugs/"> .
 
  <item>Comprueba el contenido del fichero �.changes� para asegurarte
  de que lo est�s enviando a la distribuci�n correcta, que se cierran
  los fallos adecuadamente en el campo �Closes:�, que los campos
  �Maintainer:� y �Changed-By:� coinciden, que el fichero se ha
  firmado con GPG, etc.

  </list>
 
  <item>Si realizaste alg�n cambio en el empaquetado durante el proceso,
  vuelve al segundo paso hasta que todo est� correcto.
 
  <item>Si tu env�o necesita que se patrocine, aseg�rate de comentar
  cualquier opci�n especial que se requiera en la construcci�n del
  paquete (como �<tt>dpkg-buildpackage -sa -v ...</tt>�) y de informar
  a tu patrocinador, as� podr� construirlo correctamente.
 
  <item>Si lo env�as t�, ejecuta <ref id="upload">.
  </enumlist>
 
  <sect id="orig-tar">El archivo <file>orig.tar.gz</file>

  <p>Si intentas construir los paquetes s�lo desde el nuevo c�digo
  fuente con el directorio <file>debian/</file>, sin que exista el
  fichero <file>orig.tar.gz</file> en el directorio padre, acabar�s
  creando un paquete de fuentes nativo sin querer. Estos paquetes se
  distribuyen sin el fichero <file>diff.gz</file>.  Este tipo de
  empaquetamiento s�lo debe hacerse para aquellos paquetes que son
  espec�ficos de Debian, es decir, aquellos que no ser�an �tiles en
  otra distribuci�n.
 
  <footnote>
  Algunas personas argumentan que, incluso en el caso de paquetes
  espec�ficos de Debian, es una pr�ctica mejor de empaquetamiento que los
  contenidos del directorio <file>debian/</file> est�n en el archivo
  <file>diff.gz</file> en lugar de incluirse en el archivo
  <file>orig.tar.gz</file>.
  </footnote>
 
  <p>Para obtener un paquete no nativo de fuentes que consista tanto
  en un archivo <file>orig.tar.gz</file> como en un archivo
  <file>diff.gz</file>, debes copiar manualmente el archivo tar del
  c�digo fuente original al directorio padre con el nombre cambiado a
  <file>&lt;nombrepaquete&gt;_&lt;versi�n&gt;.orig.tar.gz</file>. Igual
  que como lo hizo la orden <prgn>dh_make</prgn> en <ref
  id="dh_make">.
 
 <sect id="cvs-buildpackage">La orden <prgn>cvs-buildpackage</prgn> y similares

 <p>Deber�as considerar el utilizar alg�n sistema de administraci�n de
 c�digo para gesti�na el proceso de empaquetado. Hay varios guiones
 adaptados para que puedan utilizarse en algunos de los sistemas de
 control de versiones m�s populares.

 <list compact>
 <item>CVS
 <list compact>
 <item><package>cvs-buildpackage</package>
 </list>
 <item>Subversion
 <list compact>
 <item><package>svn-buildpackage</package>
 </list>
 </list>
 <p>

 Estas �rdenes tambi�n automatizan el empaquetado de nuevas versiones
 del c�digo fuente.

  <sect id="upgrading">Verificar actualizaciones del paquete
  
  <p>Cuando construyas una nueva versi�n del paquete, deber�as hacer
  lo siguiente para verificar que el paquete puede actualizarse
  de forma segura:

  <list>
    <item>actualiza el paquete a partir de la versi�n previa,
    <item>vuelve a la versi�n anterior y elim�nala,
    <item>instala el paquete nuevo,
    <item>elim�nalo y reinst�lalo de nuevo,
    <item>p�rgalo.
  </list>

  <p>Si el paquete hace uso de unos guiones pre/post/inst/rm
  complicados, aseg�rate de probar �stos con las distintas rutas
  posibles en la actualizaci�n del paquete.

 
  <p>Ten en cuenta que si tu paquete ha estado previamente en Debian,
  lo m�s frecuente es que gente actualice el paquete desde la versi�n
  que estaba en la �ltima versi�n de Debian. Recuerda que debes probar 
  tambi�n las actualizaciones desde esa versi�n.
	
  <chapt id="helpme">D�nde pedir ayuda

  <p>Antes de que te decidas a preguntar en lugares p�blicos, por
  favor, simplemente RTFM (�Lee el dichoso manual�, N. del T.), que
  incluye la documentaci�n en <file>/usr/share/doc/dpkg</file>,
  <file>/usr/share/doc/debian</file>, <file>&autotools-dev;</file>,
  <file>/usr/share/doc/package/*</file> y las p�ginas de man/info para
  todos los programas mencionados en este documento.  Consulta toda la
  informaci�n en <url id="&nm-home;"> y <url id="&mentors-faq;">.
 
  <p>Si tienes dudas sobre empaquetado a las que no has podido encontrar
  respuesta en la documentaci�n, puedes preguntar en la lista de correo
  de Debian Mentors <email/debian-mentors@lists.debian.org/. 
  Los desarrolladores m�s experimentados de Debian, te ayudar�n gustosamente,
  pero �leete la documentaci�n antes de preguntar!

  <p>Consulta <url id="http://lists.debian.org/debian-mentors/"> para m�s
  informaci�n sobre esta lista de correo.
    
  <p>Cuando recibas un aviso de fallo (s�,
  avisos de fallos, �de verdad!) sabr�s que es el momento de indagar en
  el <url name="Sistema de seguimiento de fallos de Debian"
  id="http://www.debian.org/Bugs/"> y leer la documentaci�n de all�
  para poder tratar los informes de forma eficiente. 
  Te recomiendo la lectura de la Refencia del Desarrollador, 
  en particular el cap�tulo de �Manejo de Bugs� (Handling Bugs, N. del T.), en
  <file>&bughandling;</file>.

  <p>Si a�n tienes preguntas, h�zlas en la lista de distribuci�n de
  Desarrolladores de Debian en <email/debian-devel@lists.debian.org/.
  V�ase <url id="http://lists.debian.org/debian-devel/"> para m�s
  informaci�n sobre esta lista de correo.

  <p>Aunque todo funcione bien, es el momento de empezar a rezar. �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>Rel�jate y prep�rate para recibir informes de fallos, porque hay
  mucho m�s trabajo que hacer antes de seguir completamente las
  Normas de Debian (una vez m�s lee la <em>documentaci�n real</em>
  para m�s detalles). �Buena suerte!

 <appendix id="pkg-eg">Ejemplos.

 <p>En este ejemplo mpaquetaremos el c�digo fuente original
 <var>gentoo-1.0.2</var>.tar.gz y subiremos todos los paquetes al
 <tt><var>nm_objetivo</var></tt>.
 
 <sect id="pkg-simple">Ejemplo de empaquetado sencillo
 <p>
 <example>
 $ mkdir -p <var>/ruta/a</var> # nuevo directorio vac�o
 $ cd <var>/ruta/a</var>
 $ tar -xvzf <var>/ruta/desde/gentoo-1.0.2</var>.tar.gz # obt�n la fuente
 $ cd <var>gentoo-1.0.2</var>
 $ dh_make -e <var>nombre@dominio.com</var> -f <var>/ruta/desde/gentoo-1.0.2</var>.tar.gz
 ... Responde a las preguntas
 ... Arregla el �rbol de las fuentes
 ... Si es un paquete que contiene programas guiones, indica en debian/control �Architecture: all�
 ... No borres ../<var>gentoo_1.0.2</var>.orig.tar.gz
 $ debuild
 ... Aseg�rate de que no hay ning�n aviso
 $ cd ..
 $ dupload -t <var>nm_objetivo</var> <var>gentoo_1.0.2-1</var>_i386.changes
 </example>

 <sect id="pkg-dpatch">Ejemplo de empaquetado con <package>dpatch</package> y <package>pbuilder</package>
 
<p>
<example>
 $ mkdir -p <var>/ruta/a</var> # nuevo directorio vac�o
 $ cd <var>/ruta/a</var>
 $ tar -xvzf <var>/ruta/desde/gentoo-1.0.2</var>.tar.gz
 $ cp -a  <var>gentoo-1.0.2</var> <var>gentoo-1.0.2-orig</var>
 $ cd <var>gentoo-1.0.2</var>
 $ dh_make -e <var>nombre@dominio.com</var> -f /ruta/de/<var>gentoo-1.0.2</var>.tar.gz
 ... Responde a las preguntas
</example>
 En un principio, <file>debian/rules</file> es as�:
<example>
configure: configure-stamp
configure-stamp:
        dh_testdir
        # Add here commands to configure the package.
        touch configure-stamp
build: build-stamp
build-stamp: configure-stamp 
        dh_testdir
        # Add here commands to compile the package.
        $(MAKE)
        #docbook-to-man debian/gentoo.sgml > gentoo.1
        touch $@
clean:
        dh_testdir
        dh_testroot
        rm -f build-stamp configure-stamp
        # Add here commands to clean up after the build process.
        -$(MAKE) clean
        dh_clean 
 </example>

 Cambia lo siguiente con un editor en <file>debian/rules</file> para
 usar <package>dpatch</package> y a�ade <package>dpatch</package> a la
 l�nea <tt>Build-Depends:</tt> en el fichero
 <file>debian/control</file>:
 <example>
configure: configure-stamp
configure-stamp: patch
        dh_testdir
        # Add here commands to configure the package.
        touch configure-stamp
build: build-stamp
build-stamp: configure-stamp 
        dh_testdir
        # Add here commands to compile the package.
        $(MAKE)
        #docbook-to-man debian/gentoo.sgml > gentoo.1
        touch $@
clean: clean-patched unpatch
        dh_testdir
        dh_testroot
        rm -f build-stamp configure-stamp
        # Add here commands to clean up after the build process.
        -$(MAKE) clean
        dh_clean 
patch: patch-stamp
patch-stamp:
     dpatch apply-all
     dpatch call-all -a=pkg-info >patch-stamp
unpatch:
     dpatch deapply-all
     rm -rf patch-stamp debian/patched
 </example>
 <p>
 Ahora est� todo preparado para reempaquetar el �rbol de c�digo con el sistema 
 <package>dpatch</package> y con la ayuda de 
 <prgn>dpatch-edit-patch</prgn>.
 <example>
 $ dpatch-edit-patch patch 10_firstpatch
... Arregla el arbol de fuentes con el editor
$ exit 0
... Intenta construir el paquete con �debuild -us -uc�
... Limpia las fuentes con �debuild clean�
... Repite con dpatch-edit-patch hasta que las fuentes compilen.
$ sudo pbuilder update
$ pdebuild
$ cd /var/cache/pbuilder/result/
$ dupload -t <var>nm_objetivo</var> <var>gentoo_1.0.2-1</var>_i386.changes
 </example>

 </book>

</debiandoc>