File: maint-guide.fr.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 (3395 lines) | stat: -rw-r--r-- 130,404 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
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
<!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.44 $"  -->
<!-- CVS revision of original english document "1.98"  -->

<debiandoc>
 <book>
  <titlepag>
   <title>
     Guide du nouveau responsable Debian
   </title>
   <author>
     <name>Josip Rodin </name><email>joy-mg@debian.org</email>
   </author>
<translator>
 <name>Mohammed Adn�ne Trojette</name>
 <email>adn+deb@diwi.org</email>
</translator>
<translator>
 <name>et les membres de la liste</name>
 <email>debian-l10n-french@lists.debian.org</email>
</translator>
<translator>
 <name>Fr�d�ric Dumont (ancien traducteur)</name>
 <email>frederic.dumont@easynet.be</email>
</translator>
   <version>
     version&nbsp;1.2.3, 18&nbsp;janvier&nbsp;2005.
   </version>
   <copyright>
    <copyrightsummary>
      Copyright &copy; 1998-2002 Josip Rodin.
    </copyrightsummary>
    <p>
      Ce document peut �tre utilis� selon les termes de la Licence publique 
      g�n�rale de GNU version&nbsp;2 ou suivante.
    </p>
    <p>
      Ce document a �t� cr�� en se basant sur les deux suivants&nbsp;:
    </p>
    <p>
      Making a Debian Package (the Debmake Manual), copyright &copy; 1997 
      Jaldhar Vyas.
    </p>
    <p>
      The New-Maintainer's Debian Packaging Howto, copyright &copy; 1997 
      Will Lowe.
    </p>
   </copyright>
  </titlepag>
  <toc detail="sect">
 
 <chapt id="start">
  <heading>
    Commencer de la bonne mani�re
  </heading>
  <p>
    Ce document essaie de d�crire � l'utilisateur Debian moyen, et au 
    d�veloppeur en devenir, la construction d'un paquet Debian. Il utilise 
    un langage assez courant et est compl�t� par des exemples, selon le 
    vieux proverbe romain&nbsp;: <em>Longum iter est per preaecepta, breve et 
    efficax per exempla</em> (c'est long par la r�gle, court et efficace par 
    l'exemple).
  </p>
  <p>
    Une des choses qui font de Debian une distribution de si haut niveau est 
    son syst�me de paquets. Bien qu'il existe une grande quantit� de 
    logiciels au format Debian, vous devrez parfois installer un logiciel 
    qui ne l'est pas. Vous pouvez vous demander comment faire vos propres 
    paquets et peut-�tre pensez-vous que c'est une t�che tr�s difficile. Eh 
    bien, si vous �tes vraiment un d�butant sous Linux, c'est dur, mais si 
    vous �tiez un d�butant, vous ne seriez pas en train de lire ce 
    document. Vous devez en savoir un peu sur la programmation Unix, mais 
    vous n'avez certainement pas besoin d'�tre un magicien.
  </p>
  <p>
    Une chose est certaine, cependant&nbsp;: pour correctement d�velopper et 
    maintenir des paquets Debian, vous aurez besoin de journ�es/homme. Ne 
    vous faites pas d'illusion, pour que votre syst�me fonctionne, les 
    responsables doivent � la fois �tre techniquement comp�tents et rapides.
  </p>
  <p>
    Ce document va expliquer toutes les �tapes les plus petites (et 
    peut-�tre a priori insignifiantes), vous aider � cr�er ce premier 
    paquet, et � gagner de l'exp�rience pour construire les versions 
    suivantes ainsi peut-�tre que d'autres paquets.
  </p>
  <p>
    Les nouvelles versions de ce document devraient toujours �tre 
    disponibles en ligne sur <url 
    id="http://www.debian.org/doc/maint-guide/" 
    name="http://www.debian.org/doc/maint-guide/">.
    La version de r�f�rence en anglais est disponible sur <url
    id="http://www.debian.org/doc/maint-guide/index.en.html" 
    name="http://www.debian.org/doc/maint-guide/index.en.html">
    et dans le paquet 
    �&nbsp;<package>maint-guide</package>&nbsp;�. La traduction en fran�ais 
    est �galement disponible dans le paquet 
    �&nbsp;<package>maint-guide-fr</package>&nbsp;�.
  </p>
  <sect id="needprogs">
   <heading>
     Programmes n�cessaires au d�veloppement
   </heading>
   <p>
     Avant de commencer quoi que ce soit, vous devriez vous assurer que vous 
     avez correctement install� certains paquets suppl�mentaires n�cessaires 
     pour le d�veloppement. Notez que la liste ne contient aucun paquet 
     marqu� �&nbsp;essentiel&nbsp;� ou �&nbsp;requis&nbsp;� - nous supposons 
     que vous avez d�j� install� ceux-ci.
   </p>
   <p>
     Cette version du document a �t� mise � jour pour les paquets de 
     Debian&nbsp;2.2 (<em>Potato</em>) et 3.0 (<em>Woody</em>).
   </p>
   <p>
     Les paquets suivants sont fournis dans l'installation standard de 
     Debian&nbsp;2.1, de sorte que vous les avez probablement d�j� (ainsi 
     que les paquets suppl�mentaires dont ils d�pendent). N�anmoins, vous 
     devriez le v�rifier avec �&nbsp;dpkg -s &lt;paquet&gt;&nbsp;�.
    <list>
     <item>
      <p>
        <package>dpkg-dev</package> - ce paquet contient les outils 
        n�cessaires pour d�paqueter, construire et t�l�charger les paquets 
        sources Debian (voir <manref section="1" name="dpkg-source">).
      </p>
     </item>
     <item>
      <p>
        <package>file</package> - ce programme bien pratique peut d�terminer 
        la nature d'un fichier (voir <manref section="1" name="file">).
      </p>
     </item>
     <item>
      <p>
        <package>gcc</package> - le compilateur C de GNU, n�cessaire si 
        votre programme, comme la plupart, est �crit en C (voir <manref 
        section="1" name="gcc">). Ce paquet va aussi �&nbsp;tirer&nbsp;� 
        plusieurs autres paquets tels que <package>binutils</package> qui 
        inclut les programmes utilis�s pour assembler et lier des fichiers 
        objets (voir �&nbsp;info binutils&nbsp;� dans le paquet 
        <package>binutils-doc</package>) et <package>cpp</package>, le 
        pr�processeur C (voir <manref section="1" name="cpp">).
      </p>
     </item>
     <item>
      <p>
        <package>g++</package> - le compilateur C++ de GNU, n�cessaire si 
        votre programme est �crit en C++ (voir <manref section="1" 
        name="g++">).
      </p>
     </item>
     <item>
      <p>
        <package>libc6-dev</package> - les biblioth�ques et fichiers 
        d'en-t�tes C dont gcc a besoin pour les lier aux fichiers objets 
        cr��s (voir �&nbsp;info libc&nbsp;� dans le paquet 
        <package>glibc-doc</package>).
      </p>
     </item>
     <item>
      <p>
        <package>make</package> - d'ordinaire, la cr�ation d'un programme se 
        fait en plusieurs �tapes. Plut�t que d'avoir � taper les m�mes 
        commandes encore et encore, vous pouvez utiliser ce programme pour 
        en automatiser le processus, en cr�ant des fichiers 
        �&nbsp;Makefile&nbsp;� (voir �&nbsp;info make&nbsp;�).
      </p>
     </item>
     <item>
      <p>
        <package>patch</package> - ce programme tr�s utile prend un fichier 
        contenant une liste de diff�rences (produite par le programme diff) 
        et l'applique au fichier original, produisant une version mise � 
        jour (voir <manref section="1" name="patch">).
      </p>
     </item>
     <item>
      <p>
        <package>perl</package> - Perl est un des langages de script les 
        plus utilis�s sur les syst�mes modernes similaires � Unix, souvent 
        qualifi� de �&nbsp;couteau suisse d'Unix&nbsp;� (voir <manref 
        section="1" name="perl">).
      </p>
     </item>
    </list>
   </p>
   <p>
     Vous devrez probablement aussi installer les programmes suivants&nbsp;:
    <list>
     <item>
      <p>
        <package>autoconf</package> et <package>automake</package> - 
        beaucoup de nouveaux programmes utilisent des scripts de 
        configuration et des fichiers Makefile pr�trait�s � l'aide de 
        programmes comme ceux-ci (voir �&nbsp;info autoconf&nbsp;�, 
        �&nbsp;info automake&nbsp;�)&nbsp;;
      </p>
     </item>
     <item>
      <p>
        <package>dh-make</package> et <package>debhelper</package> - dh-make 
        est n�cessaire pour cr�er le squelette de notre exemple de paquet et 
        il utilise certains outils de debhelper pour cr�er les paquets. Ils 
        ne sont pas indispensables pour la cr�ation des paquets, mais ils 
        sont <strong>fortement</strong> recommand�s pour les nouveaux 
        responsables. Ils rendent le processus complet bien plus facile � 
        d�marrer et � contr�ler par la suite (voir <manref section="1" 
        name="dh_make">, <manref section="1" name="debhelper">, 
        /usr/share/doc/debhelper/README)&nbsp;;
      </p>
     </item>
     <item>
      <p>
        <package>devscripts</package> - ce paquet contient de jolis scripts 
        utiles qui peuvent aider les responsables, mais ils ne sont pas 
        indispensables pour la cr�ation de paquets (voir 
        /usr/share/doc/devscripts/README.debian.gz)&nbsp;;
      </p>
     </item>
     <item>
      <p>
        <package>fakeroot</package> - cet utilitaire vous laisse pr�tendre 
        �tre le superutilisateur, ce qui est n�cessaire pour certaines 
        parties du processus de construction (voir <manref section="1" 
        name="fakeroot">)&nbsp;;
      </p>
     </item>
     <item>
      <p>
        <package>gnupg</package> - un outil qui vous permet de 
        <em>signer</em> num�riquement les paquets. Ceci est sp�cialement 
        important si vous comptez les distribuer � d'autres personnes, et 
        c'est certainement ce que vous ferez quand votre travail sera inclus 
        dans la distribution Debian (voir <manref section="1" 
        name="gpg">)&nbsp;;
      </p>
     </item>
     <item>
      <p>
        <package>g77</package> - le compilateur FORTRAN de GNU, n�cessaire 
        si votre programme est �crit en FORTRAN (voir <manref section="1" 
        name="g77">)&nbsp;;
      </p>
     </item>
     <item>
      <p>
        <package>gpc</package> - le compilateur PASCAL de GNU, n�cessaire si 
        votre programme est �crit en Pascal. Digne d'�tre mentionn� ici, 
        <package>fp-compiler</package>, le compilateur pascal libre, est 
        �galement bon pour cette t�che (voir <manref section="1" 
        name="gpc">, <manref section="1" name="ppc386">)&nbsp;;
      </p>
     </item>
     <item>
      <p>
        <package>xutils</package> - certains programmes, d'ordinaire ceux 
        con�us pour X11, utilisent aussi ces programmes pour g�n�rer les 
        fichiers Makefile � partir d'un ensemble de fonctions macros (voir 
        <manref section="1" name="imake">, <manref section="1" 
        name="xmkmf">)&nbsp;;
      </p>
     </item>
     <item>
      <p>
        <package>lintian</package> - c'est le v�rificateur de paquet Debian, 
        qui peut vous indiquer de nombreuses erreurs courantes apr�s la 
        construction de votre paquet et expliquer les erreurs trouv�es (voir 
        <manref section="1" name="lintian">, <manref section="1" 
        name="diffstat">, 
        /usr/share/doc/lintian/lintian.html/index.html)&nbsp;;
      </p>
     </item>
     <item>
      <p>
        <package>pbuilder</package> - ce paquet contient des programmes 
        utilis�s pour cr�er et maintenir un environnement chroot. Construire 
        un paquet Debian dans cet environnement permet de v�rifier les 
        d�pendances correctes de construction et �vite les erreurs FTBFS 
        (voir <manref section="8" name="pbuilder"> et <manref section="1" 
        name="pdebuild">).
      </p>
     </item>
    </list>
   </p>
   <p>
     Enfin, ces paquets <em>tr�s importants</em> doivent �tre install�s et 
     leur contenu lu en parall�le � ce document&nbsp;:
    <list>
     <item>
      <p>
        <package>debian-policy</package> - la Charte inclut des explications 
        sur la structure et le contenu de l'archive Debian, plusieurs 
        consid�rations sur l'architecture du syst�me d'exploitation, la 
        norme de hi�rarchie des fichiers (qui dit o� chaque fichier ou 
        r�pertoire doit aller), etc. Le plus important pour vous est qu'il 
        d�crit les crit�res que chaque paquet doit v�rifier pour �tre inclus 
        dans la distribution (voir &debian-policy;)&nbsp;;
      </p>
     </item>
     <item>
      <p>
        <package>developers-reference</package> - concerne tout ce qui n'est 
        pas sp�cifique aux d�tails techniques de la cr�ation de paquets, 
        comme la structure des archives, comment renommer, rendre orphelin, 
        choisir un paquet, faire un NMU (une version du paquet non faite par 
        le responsable), comment g�rer les bogues, les meilleures pratiques 
        d'empaquetage, o� et quand faire des envois de paquets, etc. (voir 
        &developers-reference;).
      </p>
     </item>
    </list>
   </p>
   <p>
     Les courtes descriptions qui sont donn�es ci-dessus ne servent que 
     d'introduction � ce que fait chaque paquet. Avant de continuer, 
     veuillez lire attentivement la documentation de chaque programme, au 
     moins l'usage standard. Cela peut vous sembler fastidieux maintenant, 
     mais plus tard vous serez <em>tr�s</em> content de l'avoir fait.
   </p>
   <p>
     Remarque&nbsp;: <package>debmake</package> est un paquet qui contient 
     certains programmes qui fonctionnent d'une mani�re similaire � dh-make, 
     mais son usage sp�cifique n'est <strong>pas</strong> couvert dans ce 
     document, parce qu'il est obsol�te. Veuillez lire le <url 
     id="http://www.debian.org/~jaldhar/" name="manuel Debmake"> pour plus 
     d'informations.
   </p>
  </sect>
  <sect id="otherinfo">
   <heading>
     Plus d'informations
   </heading>
   <p>
     Vous pouvez faire deux types de paquets&nbsp;: source et binaire. Un 
     paquet source contient le code que vous pouvez compiler en un 
     programme. Un paquet binaire contient juste le programme fini. Ne 
     m�langez pas les termes comme source du programme et le paquet source 
     du programme&nbsp;! Veuillez lire les autres manuels si vous avez 
     besoin de plus de d�tails sur la terminologie.
   </p>
   <p>
     Debian utilise le terme �&nbsp;responsable&nbsp;� pour la personne qui 
     fait des paquets, �&nbsp;auteur&nbsp;� pour la personne qui a cr�� le 
     programme, et �&nbsp;responsable amont&nbsp;� pour la personne qui 
     maintient le programme actuellement. D'ordinaire, l'auteur et le 
     responsable amont sont une seule et m�me personne. Si vous avez �crit 
     un programme, et que vous voulez qu'il soit dans Debian, vous pouvez 
     remplir une demande pour devenir un responsable.
   </p>
   <p>
     Apr�s avoir construit votre paquet (ou pendant la cr�ation), vous 
     devrez devenir responsable Debian officiel si vous souhaitez que votre 
     programme soit dans la prochaine distribution (si le programme est 
     utile, pourquoi pas&nbsp;?) Ce processus est expliqu� dans la R�f�rence 
     du d�veloppeur. Veuillez la lire.
   </p>
  </sect>
 </chapt>
 <chapt id="first">
  <heading>
    Premiers pas
  </heading>
  <sect id="choose">
   <heading>
     Choisir votre programme
   </heading>
   <p>
     Vous avez probablement choisi le paquet que vous voulez cr�er. La 
     premi�re chose � faire est de v�rifier si le paquet se trouve d�j� dans 
     la distribution. Si vous utilisez la distribution �&nbsp;stable&nbsp;�, 
     le mieux est d'aller sur la <url 
     id="http://www.debian.org/distrib/packages" name="page de recherche des 
     paquets">. Si vous utilisez une distribution �&nbsp;unstable&nbsp;� 
     <strong>courante</strong>, v�rifiez-le avec ces commandes&nbsp;:
    <example>
  dpkg -s programme
  dpkg -l '*programme*'
  </example>
   </p>
   <p>
     Si le paquet existe d�j�, et bien, installez-le&nbsp;:-). S'il se 
     trouve qu'il est orphelin &mdash; si son responsable est �&nbsp;Debian 
     QA Group&nbsp;�, vous devriez pouvoir le reprendre. Consultez <url 
     id="http://www.debian.org/devel/wnpp/orphaned" name="la liste des 
     paquets orphelins"> et <url 
     id="http://www.debian.org/devel/wnpp/rfa_bypackage" name="la liste des 
     paquets disponibles pour adoption"> pour v�rifier que le paquet est 
     bien disponible.
   </p>
   <p>
     Si vous pouvez adopter le paquet, r�cup�rez les sources (avec quelque 
     chose comme <tt>apt-get source nom_du_paquet</tt>) et 
     examinez-les. Malheureusement ce document n'inclut pas d'informations 
     exhaustives sur l'adoption de paquets. Cependant vous ne devriez pas 
     avoir de probl�mes pour comprendre comment le paquet fonctionne puisque 
     quelqu'un a d�j� fait la configuration pour vous. Continuez quand m�me 
     � lire ce document, une bonne partie des conseils qui suivent seront 
     applicables dans votre cas.
   </p>
   <p>
     Si le paquet est nouveau, et que vous d�cidez que vous voulez le voir 
     dans Debian, proc�dez comme suit&nbsp;:
    <list>
     <item>
      <p>
        v�rifiez que personne d'autre ne travaille d�j� sur ce paquet en 
        consultant <url id="http://www.debian.org/devel/wnpp/being_packaged" 
        name="la liste des paquets en cours de cr�ation">. Si quelqu'un 
        travaille d�j� dessus, contactez-le si vous pensez que vous le 
        devez. Sinon, trouvez un autre programme int�ressant dont personne 
        n'est responsable.
      </p>
     </item>
     <item>
      <p>
        le programme <strong>doit</strong> avoir une licence, si possible 
        libre conform�ment aux <url 
        id="http://www.debian.org/social_contract.html#guidelines" 
        name="principes du logiciel libre selon Debian">. S'il n'est pas 
        conforme � certaines de ces r�gles mais peut quand m�me �tre 
        distribu�, il peut malgr� tout �tre inclus dans les sections 
        �&nbsp;contrib &nbsp;� ou �&nbsp;non-free&nbsp;� de Debian. Si vous 
        ne savez pas trop o� il doit aller, postez la licence sur 
        <email>debian-legal@lists.debian.org</email> et demandez conseil.
      </p>
     </item>
     <item>
      <p>
        le programme ne devrait certainement <strong>pas</strong> �tre 
        setuid root, ou encore mieux, il ne devrait pas �tre setuid ou 
        setgid quoi que ce soit.
      </p>
     </item>
     <item>
      <p>
        le programme ne devrait pas �tre un d�mon, ou quelque chose qui va 
        dans les r�pertoires */sbin, ou ouvre un port comme root.
      </p>
     </item>
     <item>
      <p>
        le programme devrait �tre sous forme de binaire ex�cutable, les 
        biblioth�ques sont plus dures � g�rer.
      </p>
     </item>
     <item>
      <p>
        il devrait �tre bien document�, et le code doit �tre compr�hensible 
        (c'est-�-dire, pas volontairement obscur).
      </p>
     </item>
     <item>
      <p>
        vous devriez contacter le(s) auteur(s) du programme pour v�rifier 
        qu'il(s) est(sont) d'accord pour la cr�ation du paquet. Il est 
        important d'�tre � m�me de consulter le(s) auteur(s) � propos du 
        programme en cas de probl�mes sp�cifiques � celui-ci, aussi 
        n'essayez pas de cr�er un paquet � partir de programmes non 
        maintenus.
      </p>
     </item>
     <item>
      <p>
        enfin, vous devez �tre s�r qu'il fonctionne, et l'avoir test� 
        pendant quelques temps.
      </p>
     </item>
    </list>
   </p>
   <p>
     Bien s�r, toutes ces remarques ne sont que des mesures de s�curit�, et 
     ont pour but de vous sauver d'utilisateurs fous de rage si vous faites 
     une erreur dans un d�mon setuid. Quand vous aurez plus d'exp�rience 
     dans la cr�ation des paquets, vous serez capable de faire de tels 
     paquets, mais m�me les d�veloppeurs les plus exp�riment�s consultent la 
     liste de discussion debian-mentors en cas de doute. Et l� les gens 
     seront heureux de vous aider.
   </p>
   <p>
     Pour plus d'informations � ce sujet, consultez la R�f�rence du 
     D�veloppeur.
   </p>
  </sect>
  <sect id="getit">
   <heading>
     Obtenir le programme, et l'essayer
   </heading>
   <p>
     La premi�re chose � faire est de trouver et de t�l�charger le paquet 
     original. Je suppose que vous avez d�j� le fichier source que vous avez 
     pris sur la page web de l'auteur. Les sources pour les logiciels Unix 
     libres sont d'habitude au format tar/gzip avec l'extension .tar.gz, et 
     contiennent normalement un sous-r�pertoire nomm� programme-version avec 
     toutes les sources dedans. Si le source de votre programme est 
     disponible dans une autre sorte d'archive (par exemple, le programme se 
     termine par '.Z' ou '.zip'), d�compressez-le avec les outils ad�quats 
     ou demandez sur la liste de discussion debian-mentors si vous n'�tes 
     pas s�r quant � la fa�on de le d�compresser correctement (indice&nbsp;: 
     utilisez �&nbsp;file archive.extension&nbsp;�).
   </p>
   <p>
     Comme exemple, je vais utiliser un programme nomm� 
     �&nbsp;gentoo&nbsp;�, un gestionnaire de fichiers pour X utilisant 
     GTK+. Sachez qu'il y a d�j� un paquet pour ce programme, et qu'il a 
     chang� substantiellement depuis que ce texte a �t� �crit la premi�re 
     fois.
   </p>
   <p>
     Cr�ez un sous-r�pertoire sous votre r�pertoire racine nomm� 
     �&nbsp;debian&nbsp;� ou �&nbsp;deb&nbsp;� ou quoi que ce soit d'ad�quat 
     (ou le nom du programme, <file>~/gentoo</file>, ferait l'affaire dans 
     notre cas). Placez l'archive t�l�charg�e dedans, et d�compressez-la 
     avec �&nbsp;tar -xzf gentoo-0.9.12.tar.gz&nbsp;�. Assurez-vous qu'il 
     n'y a pas d'erreurs, m�me �&nbsp;sans importance&nbsp;�, parce qu'alors 
     il y aura des probl�mes pour d�compresser sur les syst�mes d'autres 
     personnes, dont les outils de d�compression pourraient ne pas g�rer ces 
     erreurs.
   </p>
   <p>
     Maintenant vous avez un autre sous-r�pertoire, nomm� 
     �&nbsp;gentoo-0.9.12&nbsp;�. Allez dans ce r�pertoire et lisez 
     <strong>attentivement</strong> la documentation fournie. Il s'agit 
     d'habitude de fichiers nomm�s README*, INSTALL*, *.lsm ou 
     *.html. Dedans, vous devez trouver les instructions pour compiler et 
     installer correctement le programme (elles supposent tr�s probablement 
     que vous voulez installer dans le r�pertoire /usr/local/bin&nbsp;; ce 
     n'est pas le cas, mais on reviendra sur ce point plus tard dans <ref 
     id="destdir">).
   </p>
   <p>
     La m�thode varie d'un programme � l'autre, mais de nombreux programmes 
     modernes viennent avec un script �&nbsp;configure&nbsp;� qui configure 
     les sources selon votre syst�me et s'assure que votre syst�me est � 
     m�me de les compiler. Apr�s la configuration avec 
     �&nbsp;./configure&nbsp;�, les programmes sont compil�s avec 
     �&nbsp;make&nbsp;�. Certains d'entre eux supportent �&nbsp;make 
     check&nbsp;�, pour se tester eux-m�mes. L'installation dans les 
     r�pertoires de destination est g�n�ralement obtenue avec �&nbsp;make 
     install&nbsp;�.
   </p>
   <p>
     Maintenant, essayez de compiler et d'ex�cuter votre programme, pour 
     vous assurer qu'il fonctionne correctement et ne casse rien d'autre 
     quand il est install� ou qu'il tourne.
   </p>
   <p>
     Sachez aussi que vous pouvez g�n�ralement entrer �&nbsp;make 
     clean&nbsp;� (ou mieux, �&nbsp;make distclean&nbsp;�) pour nettoyer le 
     r�pertoire de compilation. Parfois, il y a m�me un �&nbsp;make 
     uninstall&nbsp;� qui peut �tre utilis� pour retirer tous les fichiers 
     install�s.
   </p>
  </sect>
  <sect id="namever">
   <heading>
     Les noms et versions des paquets
   </heading>
   <p>
     Vous devriez commencer la cr�ation du paquet avec un r�pertoire source 
     compl�tement propre (originel), ou plus simplement avec les sources 
     fra�chement d�compress�es.
   </p>
   <p>
     Pour que le paquet soit correctement construit, vous devez changer le 
     nom du programme en minuscule (si ce n'est d�j� fait), et vous devriez 
     changer le r�pertoire source en &lt;nompaquet&gt;-&lt;version&gt;.
   </p>
   <p>
     Si le nom du programme consiste en plus d'un mot, r�duisez-le � un mot, 
     ou faites une abr�viation. Par exemple, le paquet du programme 
     �&nbsp;John's little editor for X&nbsp;� serait nomm� johnledx, ou 
     jle4x, ou quoi que vous vouliez, aussi longtemps qu'il reste sous une 
     limite raisonnable, en g�n�ral 20&nbsp;caract�res.
   </p>
   <p>
     V�rifiez aussi la version exacte du programme (qui sera inclus dans la 
     version du paquet). Si ce logiciel n'est pas num�rot� avec un num�ro de 
     version comme X.Y.Z, mais avec une date de distribution, vous pouvez 
     utiliser cette date comme num�ro de version, avec comme pr�fixe 
     �&nbsp;0.0.&nbsp;� (juste au cas o� les responsables amont d�cident de 
     distribuer une jolie version comme 1.0). Donc, si la date est le 
     19&nbsp;d�cembre&nbsp;1998, vous pouvez utilisez 0.0.19981219 comme 
     cha�ne pour la version.
   </p>
   <p>
     Certains ne seront pas num�rot�s du tout, auquel cas vous devriez 
     contacter le responsable amont pour voir s'il a une autre m�thode de 
     gestion des r�visions.
   </p>
  </sect>
  <sect id="dh_make">
   <heading>
     �&nbsp;Debianisation&nbsp;� initiale
   </heading>
   <p>
     V�rifiez que vous �tes dans le r�pertoire du code source du programme, 
     et lancez ceci&nbsp;:
   </p>
   <p>
    <example>
  dh_make -e votre.adresse@de.responsable -f ../gentoo-0.9.12.tar.gz
  </example>
   </p>
   <p>
     Bien s�r, remplacez la cha�ne 
     �&nbsp;votre.adresse@de.responsable&nbsp;� avec votre adresse 
     �lectronique pour l'inclure dans l'entr�e changelog et dans d'autres 
     fichiers, et le nom du fichier par le nom de la source d'archive 
     originale. Voyez <manref section="1" name="dh_make"> pour plus de 
     d�tails.
   </p>
   <p>
     Des informations sont affich�es. Il vous demande quelle sorte de paquet 
     vous voulez cr�er. Gentoo est un paquet binaire simple &mdash; il ne 
     cr�e qu'un ex�cutable, et donc un seul fichier .deb &mdash; donc nous 
     s�lectionnons la premi�re option, avec la touche �&nbsp;s&nbsp;�, 
     v�rifions l'information sur l'�cran et confirmons en pressant 
     &lt;Entr�e&gt;.
   </p>
   <p>
     Apr�s cette ex�cution de <prgn>dh_make</prgn>, une copie de l'archive 
     TAR est cr��e sous <file>gentoo_0.9.12.orig.tar.gz</file> dans le 
     r�pertoire parent pour permettre la cr�ation d'un paquet source Debian 
     non natif avec le <file>diff.gz</file>. Veuillez noter deux aspects 
     cl�s dans ce nom de fichier&nbsp;:
    <list compact="compact">
     <item>
      <p>
        le nom de paquet et la version sont s�par�s par 
        �&nbsp;<tt>_</tt>&nbsp;�&nbsp;
      </p>
     </item>
     <item>
      <p>
        il y a �&nbsp;<tt>orig.</tt>&nbsp;� avant le 
        �&nbsp;<tt>tar.gz</tt>&nbsp;�.
      </p>
     </item>
    </list>
   </p>
   <p>
     Rappelons-le, en tant que nouveau responsable, vous ne devriez pas 
     cr�er des paquets compliqu�s, par exemple&nbsp;:
    <list compact="compact">
     <item>
      <p>
        des paquets � ex�cutables multiples&nbsp;;
      </p>
     </item>
     <item>
      <p>
        des paquets de biblioth�que&nbsp;;
      </p>
     </item>
     <item>
      <p>
        des formats de fichier source n'�tant ni en <tt>tar.gz</tt> ni 
        <tt>tar.bz2</tt>&nbsp;;
      </p>
     </item>
     <item>
      <p>
        une archive TAR source ayant des contenus non distribuables.
      </p>
     </item>
    </list>
     Ce n'est pas si difficile, mais cela requiert un peu plus de 
     connaissances, et nous n'entrerons pas dans les d�tails ici.
   </p>
   <p>
     Notez que vous ne pouvez ex�cuter <prgn>dh_make</prgn> <strong>qu'une 
     fois</strong>, et qu'il ne se comportera pas correctement si vous 
     l'ex�cutez � nouveau dans le m�me r�pertoire d�j� debianis�. Cela 
     signifie aussi que vous devrez utiliser une autre m�thode pour 
     distribuer une nouvelle r�vision ou une nouvelle version de votre 
     paquet dans le futur. Pour plus d'informations � ce sujet, lisez <ref 
     id="update">.
   </p>
  </sect>
 </chapt>
 <chapt id="modify">
  <heading>
    Modifier les sources
  </heading>
  <p>
    Normalement, les programmes s'installent d'eux-m�mes dans les 
    sous-r�pertoires /usr/local. Mais les paquets Debian ne doivent pas 
    utiliser ce r�pertoire, car il est r�serv� � l'usage priv� de 
    l'administrateur syst�me (ou de l'utilisateur). Cela signifie que vous 
    devez examiner le syst�me de cr�ation de votre programme, en g�n�ral en 
    commen�ant par le Makefile. C'est le script que <manref section="1" 
    name="make"> utilisera pour automatiser la cr�ation du programme. Pour 
    plus de d�tails sur les Makefile, regardez <ref id="rules">.
  </p>
  <p>
    Notez que si votre programme utilise GNU <manref section="1" 
    name="automake"> et/ou <manref section="1" name="autoconf">, ce qui 
    signifie que les sources incluent des fichiers Makefile.am et/ou 
    Makefile.in, respectivement, vous devrez modifier ces fichiers, parce 
    que chaque appel d'automake va �craser les Makefile.in avec des 
    informations g�n�r�es � partir des Makefile.am, et que chaque appel de 
    ./configure fera de m�me avec les fichiers Makefile, avec des donn�es 
    des Makefile.in. �diter les fichiers Makefile.am requiert des 
    connaissances sur automake, que vous pouvez apprendre dans la section 
    info d'automake, alors qu'�diter les fichiers Makefile.in est 
    globalement identique � l'�dition de fichiers Makefile, si ce n'est 
    qu'il faut faire attention � toutes les variables, � savoir toute cha�ne 
    entour�e de �&nbsp;@&nbsp;�, comme par exemple @CFLAGS@ ou @LN_S@, qui 
    sont remplac�es par des valeurs r�elles � chaque appel de 
    ./configure. Veuillez lire <file>&autotools-dev;</file> avant de 
    commencer.
  </p>
  <p>
    Notez qu'il n'y a pas la place ici pour entrer dans <em>tous</em> les 
    d�tails sur les modifications, mais voici quelques-uns des probl�mes qui 
    reviennent souvent.
  </p>
  <sect id="destdir">
   <heading>
     Installer dans un sous-r�pertoire
   </heading>
   <p>
     La plupart des programmes ont une certaine mani�re de s'installer dans 
     la structure de r�pertoires de votre syst�me, de sorte que leurs 
     ex�cutables sont inclus dans votre $PATH, et que vous trouvez leurs 
     documentation et pages de manuel aux places habituelles. Cependant, si 
     vous faisiez cela, le programme serait install� au milieu de tout ce 
     qui est d�j� sur votre syst�me. Les outils de cr�ation de paquet 
     auraient plus de difficult�s pour d�cider ce qui appartient ou non � 
     votre paquet.
   </p>
   <p>
     D�s lors, vous devez faire autre chose&nbsp;: installer le programme 
     dans un sous-r�pertoire temporaire � partir duquel les outils du 
     responsable vont construire un paquet .deb fonctionnel. Tout ce qui est 
     contenu dans ce r�pertoire sera install� sur le syst�me de 
     l'utilisateur quand il installe votre paquet, la seule diff�rence est 
     que dpkg installera les fichiers dans le r�pertoire racine.
   </p>
   <p>
     Ce r�pertoire temporaire est d'ordinaire cr�� sous votre r�pertoire 
     debian/ dans l'arbre des sources d�compress�es. Il est normalement 
     nomm� <file>debian/nom_du_paquet</file>.
   </p>
   <p>
     Gardez � l'esprit que bien que vous deviez faire en sorte que le 
     programme s'installe sous debian/nom_du_paquet, il doit continuer � 
     s'ex�cuter correctement quand il est install� sous le r�pertoire 
     racine, c'est-�-dire quand il est install� � partir du paquet 
     .deb. Aussi vous ne devez pas laisser le syst�me de cr�ation coder en 
     dur dans les fichiers du paquet des cha�nes de caract�res comme 
     <tt>/home/me/deb/gentoo-0.9.12/usr/share/gentoo</tt>.
   </p>
   <p>
     Avec des programmes utilisant GNU autoconf, cela est relativement 
     facile. La plupart de ces programmes ont des fichiers makefile et sont 
     par d�faut configur�s de mani�re � permettre l'installation dans un 
     r�pertoire quelconque, en gardant � l'esprit que /usr (par exemple) est 
     le pr�fixe standard. Quand il d�tecte que votre programme utilise 
     autoconf, dh_make va mettre en place des commandes pour le faire 
     automatiquement, et vous pouvez tout aussi bien passer � la section 
     suivante. Mais avec d'autres programmes, vous devrez plus que 
     probablement examiner et �diter les fichiers Makefile.
   </p>
   <p>
     Voici les parties concern�es du Makefile de gentoo&nbsp;:
   </p>
   <p>
    <example>
  # Where to put binary on 'make install'?
  BIN     = /usr/local/bin

  # Where to put icons on 'make install'?
  ICONS   = /usr/local/share/gentoo
  </example>
   </p>
   <p>
     Nous voyons que les fichiers sont configur�s pour s'installer sous 
     <file>/usr/local/</file>. Changez ces chemins en&nbsp;:
   </p>
   <p>
    <example>
  # Where to put binary on 'make install'?
  BIN     = $(DESTDIR)/usr/bin

  # Where to put icons on 'make install'?
  ICONS   = $(DESTDIR)/usr/share/gentoo
  </example>
   </p>
   <p>
     Mais pourquoi dans ce r�pertoire, et pas dans un autre&nbsp;? Parce que 
     Debian n'installe jamais de fichiers sous <file>/usr/local</file> 
     &mdash; cet arbre est r�serv� � l'usage de l'administrateur 
     syst�me. Sur un syst�me Debian, de tels fichiers doivent plut�t aller 
     sous <file>/usr</file>.
   </p>
   <p>
     Les positions exactes des ex�cutables, ic�nes, documentation, etc., 
     sont sp�cifi�es dans le standard de la hi�rarchie de fichiers (voir 
     /usr/share/doc/debian-policy/fhs/). Je vous recommande de le 
     consulter et de lire les sections relatives � votre paquet.
   </p>
   <p>
     D�s lors, nous devrions installer l'ex�cutable sous /usr/bin plut�t que 
     /usr/local/bin, la page de manuel sous /usr/share/man/man1 plut�t que 
     sous /usr/local/man/man1, etc. Notez qu'il n'y a pas de page de manuel 
     mentionn�e dans le fichier Makefile, mais comme la Charte Debian 
     requiert que chaque programme en ait une, nous en cr�erons une plus 
     tard et l'installerons sous /usr/share/man/man1.
   </p>
   <p>
     Certains programmes n'utilisent pas les variables des fichiers Makefile 
     pour d�finir des chemins comme ceux-ci. Cela signifie que vous pouvez 
     avoir � �diter des fichiers sources C r�els pour les faire utiliser les 
     positions correctes. Mais o� et que chercher&nbsp;? Vous pouvez trouver 
     o� en lan�ant&nbsp;:
   </p>
   <p>
    <example>
  grep -nr -e 'usr/local/lib' --include='*.[c|h]' .
  </example>
   </p>
   <p>
     Grep va r�cursivement parcourir l'arbre des sources et vous dire le nom 
     des fichiers et le num�ro des lignes o� il trouve une occurrence.
   </p>
   <p>
     �ditez ces fichiers et � ces lignes, remplacez /usr/local/* par /usr/* 
     &mdash; et c'est � peu pr�s tout. Soyez attentif � ne pas casser le 
     reste du code&nbsp;!
   </p>
   <p>
     Apr�s quoi, vous devriez trouver la cible d'installation (cherchez une 
     ligne qui commence avec �&nbsp;install:&nbsp;�, d'ordinaire cela 
     fonctionne) et renommez toutes les r�f�rences aux r�pertoires autres 
     que ceux d�finis au d�but du Makefile. Auparavant, la cible 
     d'installation de gentoo disait&nbsp;:
   </p>
   <p>
    <example>
  install:        gentoo
                  install ./gentoo $(BIN)
                  install icons/* $(ICONS)
                  install gentoorc-example $(HOME)/.gentoorc
  </example>
   </p>
   <p>
     Apr�s votre modification elle dit&nbsp;:
    <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>
   <p>
     Vous aurez s�rement remarqu� qu'il y a maintenant une commande 
     <tt>install -d</tt> avant les autres commandes dans la r�gle. Le 
     fichier Makefile originel ne l'avait pas parce qu'habituellement 
     /usr/local/bin et les autres r�pertoires existent d�j� sur le syst�me 
     dans lequel �&nbsp;make install&nbsp;� est ex�cut�. Cependant, comme 
     nous installerons dans nos propres r�pertoires vides (ou m�me non 
     existants), nous aurons � cr�er chacun de ces r�pertoires.
   </p>
   <p>
     Nous pouvons ajouter d'autres choses � la fin de la r�gle, comme 
     l'installation de la documentation additionnelle que l'auteur amont 
     oublie parfois&nbsp;:
   </p>
   <p>
    <example>
                  install -d $(DESTDIR)/usr/share/doc/gentoo/html
                  cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html
  </example>
   </p>
   <p>
     Le lecteur attentif notera que j'ai chang� �&nbsp;gentoo&nbsp;� en 
     �&nbsp;gentoo-target&nbsp;� dans la ligne �&nbsp;install:&nbsp;�. C'est 
     ce qu'on appelle une correction de bogue sans rapport&nbsp;:-).
   </p>
   <p>
     Chaque fois que vous faites des modifications qui ne sont pas 
     sp�cifiquement li�es � Debian, envoyez-les au responsable amont pour 
     qu'elles puissent �tre incluses dans la version suivante du programme 
     et que tout le monde puisse en b�n�ficier. Souvenez-vous aussi de ne 
     pas rendre vos corrections sp�cifiques � Debian ou Linux (ou m�me 
     Unix&nbsp;!) avant de les envoyer &mdash; faites-les portables. Cela 
     rendra vos corrections beaucoup plus faciles � appliquer.
   </p>
   <p>
     Remarquez que vous ne devez pas envoyer les fichiers debian/* en amont.
   </p>
  </sect>
  <sect id="difflibs">
   <heading>
     Biblioth�ques diff�rentes
   </heading>
   <p>
     Il y a souvent un probl�me courant&nbsp;: des biblioth�ques sont 
     souvent diff�rentes d'une plate-forme � l'autre. Par exemple, Makefile 
     peut contenir une r�f�rence � une biblioth�que qui n'existe pas sur les 
     syst�mes Debian. Dans ce cas, nous devons la changer en une 
     biblioth�que qui existe dans Debian, et qui sert � la m�me chose.
   </p>
   <p>
     Ainsi, s'il y a une ligne dans le Makefile (ou Makefile.in) de votre 
     programme qui dit quelque chose comme ceci (et votre programme ne 
     compile pas)&nbsp;:
   </p>
   <p>
    <example>
  LIBS = -lcurses -lquelquechose -lautrechose
  </example>
   </p>
   <p>
     Changez-la en ceci, et cela marchera probablement&nbsp;:
   </p>
   <p>
    <example>
  LIBS = -lncurses -lquelquechose -lautrechose
  </example>
   </p>
   <p>
     (L'auteur r�alise que ceci n'est pas le meilleur exemple dans la mesure 
     o� notre paquet libncurses est maintenant livr� avec un lien symbolique 
     libcurses.o, mais il n'en a pas trouv� de meilleur. Les suggestions 
     sont les bienvenues).
   </p>
  </sect>
 </chapt>
 <chapt id="dreq">
  <heading>
    Ce qui est requis sous debian/
  </heading>
  <p>
    Il y a un nouveau sous-r�pertoire sous le r�pertoire des sources du 
    programme (�&nbsp;gentoo-0.9.12&nbsp;�), nomm� �&nbsp;debian&nbsp;�. Il 
    y a un certain nombre de fichiers dans ce r�pertoire que vous devriez 
    �diter pour configurer le comportement du paquet. Les plus importants 
    d'entre eux sont �&nbsp;control&nbsp;�, �&nbsp;changelog&nbsp;�, 
    �&nbsp;copyright&nbsp;� et �&nbsp;rules&nbsp;�, qui sont requis pour 
    tous les paquets.
  </p>
  <sect id="control">
   <heading>
     Fichier �&nbsp;control&nbsp;�
   </heading>
   <p>
     Ce fichier contient plusieurs valeurs que <prgn>dpkg</prgn>, 
     <prgn>dselect</prgn> et d'autres outils de gestions de paquets vont 
     utiliser pour g�rer le paquet.
   </p>
   <p>
     Voici le fichier �&nbsp;control&nbsp;� que dh_make cr�e pour nous.
   </p>
   <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;insert up to 60 chars description&gt;
  12  &lt;insert long description, indented with spaces&gt;
  </example>
     (J'ai ajout� les num�ros de ligne.)
   </p>
   <p>
     Les lignes&nbsp;1 � 6 sont les informations de contr�le pour le paquet 
     source.
   </p>
   <p>
     La ligne&nbsp;1 est le nom du paquet source.
   </p>
   <p>
     La ligne&nbsp;2 est la section de la distribution dans laquelle ce 
     paquet va.
   </p>
   <p>
     Comme vous l'avez constat�, Debian est divis�e en sections&nbsp;: main 
     (logiciels libres), non-free (logiciels non libres), et contrib 
     (logiciels libres qui d�pendent de logiciels non libres). Sous 
     celles-ci, il y a des sous-sections logiques qui d�crivent de mani�re 
     concise les paquets qui s'y trouvent. Ainsi nous avons 
     �&nbsp;admin&nbsp;� pour les programmes r�serv�s � l'administrateur, 
     �&nbsp;base&nbsp;� pour les outils de base, �&nbsp;devel&nbsp;� pour 
     les outils de programmation, �&nbsp;doc&nbsp;� pour la documentation, 
     �&nbsp;libs&nbsp;� pour les biblioth�ques �&nbsp;mail&nbsp;� pour les 
     lecteurs et les d�mons de courriel, �&nbsp;net&nbsp;� pour les 
     applications et d�mons r�seaux, �&nbsp;x11&nbsp;� pour les programmes 
     X11 qui ne sont pas plus appropri�s ailleurs, et bien d'autres.
   </p>
   <p>
     Changeons donc la section en x11 (le pr�fixe �&nbsp;main/&nbsp;� est 
     implicite, donc nous pouvons l'omettre).
   </p>
   <p>
     La ligne&nbsp;3 d�crit l'importance pour l'utilisateur d'installer ce 
     paquet. Lisez la Charte Debian pour des informations sur ces 
     valeurs. La priorit� �&nbsp;optional&nbsp;� marche habituellement pour 
     les nouveaux paquets.
   </p>
   <p>
     Les sections et les priorit�s sont utilis�es par des interfaces comme 
     <prgn>dselect</prgn> quand elles trient les paquets et s�lectionnent 
     les valeurs par d�faut. Quand vous enverrez votre paquet dans Debian, 
     les valeurs de ces deux champs peuvent �tre modifi�es par les 
     responsables des archives, auquel cas vous serez notifi� par courriel.
   </p>
   <p>
     Comme c'est un paquet de priorit� normale et qu'il n'entre pas en 
     conflit avec quoi que ce soit, nous le laissons � 
     �&nbsp;optional&nbsp;�.
   </p>
   <p>
     La ligne&nbsp;4 est le nom et l'adresse �lectronique du 
     responsable. Assurez-vous que ce champ contient un en-t�te 
     �&nbsp;To:&nbsp;� valide pour un courrier �lectronique, car apr�s le 
     t�l�chargement, le syst�me de suivi des bogues l'utilisera pour vous 
     d�livrer les courriels de bogues. �vitez d'utiliser des virgules, 
     esperlu�tes (�&nbsp;&amp;&nbsp;�) ou parenth�ses.
   </p>
   <p>
     La ligne&nbsp;5 contient la liste des paquets n�cessaires pour 
     construire le paquet. Certains paquets comme gcc ou make sont 
     implicites, voyez le paquet <package>build-essential</package> pour les 
     d�tails. Si un compilateur non standard ou un autre outil est 
     n�cessaire pour construire le paquet, vous devez l'ajouter dans la 
     ligne �&nbsp;Build-Depends&nbsp;�. Les diff�rentes entr�es sont 
     s�par�es par des virgules&nbsp;; lisez ci-dessous les explications sur 
     les d�pendances entre binaires pour mieux comprendre la syntaxe de ce 
     champ.
   </p>
   <p>
     Vous pouvez avoir aussi ici des champs Build-Depends-Indep, 
     Build-Conflicts et d'autres champs. Ces donn�es seront utilis�es par le 
     logiciel de construction de paquets automatique Debian pour cr�er les 
     paquets binaires pour d'autres plates-formes d'ordinateurs. Lisez la 
     Charte Debian pour plus d'informations sur les d�pendances de 
     construction et la R�f�rence du D�veloppeur pour plus d'informations 
     sur ces autres plates-formes (architectures) et comment porter des 
     logiciels vers celles-ci.
   </p>
   <p>
     Voici une bidouille que vous pouvez utiliser pour d�couvrir les paquets 
     dont le v�tre a besoin pour �tre construit&nbsp;:
    <example>
  strace -f -o /tmp/log ./configure
  # ou make � la place de ./configure, si votre paquet n'utilise pas 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>
   <p>
     Pour d�terminer manuellement la d�pendance de construction exacte pour 
     <prgn><var>/usr/bin/foo</var></prgn>, vous ex�cuterez
    <example>
  objdump -p <var>/usr/bin/foo</var> | grep NEEDED
  </example>
     et pour chaque biblioth�que list�e, par exemple 
     <prgn>libfoo.so.6</prgn>, ex�cutez
    <example>
  dpkg -S libfoo.so.6 
  </example>
     Ensuite vous prenez simplement la version -dev de chaque paquet comme 
     entr�e �&nbsp;Build-deps&nbsp;�. Si vous utilisez <prgn>ldd</prgn> � 
     cet effet, il va rapporter les d�pendances de biblioth�que indirectes, 
     ayant pour r�sultat un probl�me de d�pendances de constructions 
     excessives.
   </p>
   <p>
     Il se trouve que Gentoo a aussi besoin de <package>xlibs-dev</package>, 
     <package>libgtk1.2-dev</package> et <package>libgl1.2-dev</package> 
     pour �tre construit, aussi nous les ajouterons ici � c�t� de 
     <package>debhelper</package>.
   </p>
   <p>
     La ligne&nbsp;6 est la version de la Charte Debian que ce paquet 
     respecte, la version de la Charte Debian que vous lisez quand vous 
     cr�ez votre paquet.
   </p>
   <p>
     La ligne&nbsp;8 est le nom du paquet binaire. C'est d'ordinaire le m�me 
     que le nom du paquet source, mais ce n'est pas n�cessairement le cas.
   </p>
   <p>
     La ligne&nbsp;9 d�crit l'architecture CPU pour laquelle le paquet 
     binaire peut �tre compil�. Nous le laissons � �&nbsp;any&nbsp;� car 
     <manref section="1" name="dpkg-gencontrol"> trouvera la valeur 
     appropri�e pour toute machine sur laquelle ce paquet sera compil�.
   </p>
   <p>
     Si votre paquet est ind�pendant d'une architecture (par exemple, un 
     script shell ou Perl, ou un document), changez cette entr�e en 
     �&nbsp;all&nbsp;�, et lisez plus loin dans <ref id="rules"> comment 
     utiliser la r�gle �&nbsp;binary-indep&nbsp;� au lieu de 
     �&nbsp;binary-arch&nbsp;� pour construire le paquet.
   </p>
   <p>
     La ligne&nbsp;10 montre une des caract�ristiques les plus puissantes du 
     syst�me de paquet Debian. Les paquets peuvent �tre li�s entre eux de 
     plusieurs fa�ons. Hormis Depends:, les autres champs d�crivant ces 
     relations sont Recommends:, Suggests:, Pre-Depends:, Conflicts:, 
     Provides:, et Replaces:.
   </p>
   <p>
     Les outils de gestion de paquets se comportent d'ordinaire de la m�me 
     mani�re quand ils g�rent ces relations&nbsp;; sinon, ce sera expliqu� 
     (voir <manref section="8" name="dpkg">, <manref section="8" 
     name="dselect">, <manref section="8" name="apt">, <manref section="1" 
     name="aptitude">, etc.).
   </p>
   <p>
     Voici ce que les d�pendances veulent dire&nbsp;:
   </p>
   <p>
    <list>
     <item>
      <p>
        Depends:
      </p>
      <p>
        Le paquet ne sera pas install� � moins que les paquets dont il 
        d�pend ne soient install�s. Utilisez-le si votre programme ne 
        s'ex�cute absolument pas (ou cause des d�g�ts s�rieux) tant qu'un 
        paquet particulier n'est pas pr�sent&nbsp;;
      </p>
     </item>
     <item>
      <p>
        Recommends:
      </p>
      <p>
        Des interfaces comme dselect ou aptitude vous demanderont 
        d'installer les paquets recommand�s en m�me temps que votre 
        paquet&nbsp;; dselect insistera m�me. dpkg et apt-get ignoreront ce 
        champ, cependant. Utilisez-le pour les paquets qui ne sont pas 
        vraiment indispensables mais qui sont typiquement utilis�s avec 
        votre programme&nbsp;;
      </p>
     </item>
     <item>
      <p>
        Suggests:
      </p>
      <p>
        Quand un utilisateur installe votre programme, toute interface lui 
        demandera probablement s'il faut installer les programmes qu'il 
        sugg�re. dpkg et apt-get ne s'en soucient pas. Utilisez-le pour les 
        paquets qui marchent bien avec votre programme mais qui ne sont pas 
        n�cessaires&nbsp;;
      </p>
     </item>
     <item>
      <p>
        Pre-Depends:
      </p>
      <p>
        Ceci est plus fort que Depends. Le paquet ne sera pas install� � 
        moins que les paquets dont il pr�-d�pend ne soient install�s <em>et 
        correctement configur�s</em>. Utilisez-le <strong>tr�s</strong> 
        rarement et seulement apr�s en avoir discut� sur la liste de 
        discussion debian-devel. Traduction&nbsp;: ne l'utilisez pas du 
        tout&nbsp;;&nbsp;:-)
      </p>
     </item>
     <item>
      <p>
        Conflicts:
      </p>
      <p>
        Le paquet ne sera pas install� avant que les paquets avec lesquels 
        il est en conflit n'aient �t� retir�s. Utilisez ceci si votre 
        programme ne peut absolument pas fonctionner ou s'il cause d'�normes 
        probl�mes quand un paquet particulier est pr�sent&nbsp;;
      </p>
     </item>
     <item>
      <p>
        Provides:
      </p>
      <p>
        Quand il y a plusieurs alternatives pour certains types de paquets, 
        des noms virtuels ont �t� d�finis. Vous pouvez trouver la liste 
        compl�te dans 
        <file>/usr/share/doc/debian-policy/virtual-package-name-list.text.gz</file>. 
        Utilisez ceci si votre programme fournit une fonction d'un paquet 
        virtuel existant&nbsp;;
      </p>
     </item>
     <item>
      <p>
        Replaces:
      </p>
      <p>
        Utilisez ceci quand votre programme remplace des fichiers d'un autre 
        paquet, ou remplace compl�tement un autre paquet (utilis� en 
        conjonction avec Conflicts:). Les fichiers du paquet nomm� seront 
        �cras�s par les fichiers de votre paquet.
      </p>
     </item>
    </list>
   </p>
   <p>
     Tous ces champs ont une syntaxe uniforme. Il s'agit d'une liste de 
     paquets s�par�s par des virgules. Ces noms de paquets peuvent aussi 
     �tre une liste d'alternatives, s�par�s par des symboles barre verticale 
     <tt>|</tt> (symbole tube).
   </p>
   <p>
     Le domaine d'application des champs peut �tre restreint � des versions 
     particuli�res de chaque paquet nomm�. Ces versions sont list�es entre 
     parenth�ses apr�s chaque nom de paquet individuel, et doivent contenir 
     une relation de la liste suivante suivie par un num�ro de version. Les 
     relations autoris�es sont <tt>&lt;&lt;</tt>, <tt>&lt;=</tt>, 
     <tt>=</tt>, <tt>&gt;=</tt> et <tt>&gt;&gt;</tt> pour strictement plus 
     petit, plus petit ou �gal, exactement �gal, plus grand ou �gal et 
     strictement plus grand, respectivement. Par exemple,
   </p>
   <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>
   <p>
     La derni�re caract�ristique que vous devez conna�tre est 
     ${shlibs:Depends}. Lorsque votre paquet aura �t� construit et install� 
     dans le r�pertoire temporaire, <manref section="1" name="dh_shlibdeps"> 
     le scannera pour les ex�cutables et biblioth�ques, d�terminera leurs 
     d�pendances en biblioth�ques partag�es et d�tectera dans quels paquets 
     elles se trouvent. Il passera la liste � <manref section="1" 
     name="dh_gencontrol"> qui l'ins�rera � la bonne place, et vous ne 
     devrez pas vous en soucier.
   </p>
   <p>
     Ceci �tant dit, nous pouvons laisser la ligne Depends: exactement comme 
     elle est maintenant, et ins�rer apr�s une ligne disant <tt>Suggests: 
     file</tt>, car gentoo peut utiliser certaines fonctionnalit�s fournies 
     par ce programme/paquet.
   </p>
   <p>
     La ligne&nbsp;11 est la description courte. L'�cran de la plupart des 
     gens est large de 80 colonnes, aussi cela ne devrait pas d�passer les 
     60 caract�res. Je le change en �&nbsp;fully GUI configurable X file 
     manager using GTK+&nbsp;�.
   </p>
   <p>
     � la ligne&nbsp;12 commence la description longue. Celle-ci devrait 
     �tre un paragraphe qui donne plus de d�tails sur le paquet. La 
     colonne&nbsp;1 de chaque ligne doit �tre vide. Il ne peut y avoir de 
     ligne vide, mais vous pouvez mettre un seul �&nbsp;.&nbsp;� (point) 
     dans la colonne&nbsp;2 pour simuler une ligne vide. De plus, il ne peut 
     pas y avoir plus d'une ligne vide apr�s la description longue.
   </p>
   <p>
     Finalement, voici le fichier control mis � jour&nbsp;:
   </p>
   <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 GTK+ file manager
  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>
     (J'ai ajout� les num�ros de ligne.)
   </p>
  </sect>
  <sect id="copyright">
   <heading>
     fichier �&nbsp;copyright&nbsp;�
   </heading>
   <p>
     Ce fichier contient les informations sur les ressources en amont, le 
     copyright et la licence du paquet. Le format n'est pas dict� par la 
     Charte Debian, mais son contenu l'est (voir section&nbsp;12.6 
     �&nbsp;Copyright Information&nbsp;�).
   </p>
   <p>
     dh_make en cr�e un par d�faut, qui ressemble � ceci&nbsp;:
   </p>
   <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;fill in ftp site&gt;
  5
  6  Upstream Author(s): &lt;put author(s) name and email here&gt;
  7
  8  Copyright:
  9
  10 &lt;Must follow here&gt;
  </example>
     (J'ai ajout� les num�ros de ligne.)
   </p>
   <p>
     Les choses importantes � ajouter � ce fichier sont l'endroit o� vous 
     avez trouv� ce paquet, ainsi que le copyright et la licence 
     d'exploitation r�elle (incluez-la en entier). Si la licence est une des 
     licences de logiciel libre populaires comme GNU GPL ou LGPL, BSD ou 
     Artistic, vous pouvez juste faire r�f�rence au fichier appropri� dans 
     le r�pertoire /usr/share/common-licenses/, qui existe sur chaque 
     syst�me Debian.
   </p>
   <p>
     En bref, voici ce � quoi le fichier copyright de gentoo devrait 
     ressembler&nbsp;:
   </p>
   <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.
  13 On Debian systems, the complete text of the GNU General Public
  14 License can be found in the file `/usr/share/common-licenses/GPL'.
  </example>
     (J'ai ajout� les num�ros de ligne.)
   </p>
  </sect>
  <sect id="changelog">
   <heading>
     changelog
   </heading>
   <p>
     C'est un fichier requis, qui a un format sp�cial d�crit dans la Charte 
     section&nbsp;4.4 �&nbsp;debian/changelog&nbsp;�. Ce format est utilis� 
     par dpkg et d'autres programmes pour obtenir le num�ro de version, de 
     r�vision, de distribution et l'urgence de votre paquet.
   </p>
   <p>
     Pour vous, il est aussi important, puisqu'il est bon de documenter 
     toutes les modifications que vous avez faites. Cela aidera les gens qui 
     t�l�chargent votre paquet � voir s'il y a des probl�mes non r�solus � 
     propos desquels ils doivent �tre imm�diatement mis au courant. Il sera 
     sauv� sous �&nbsp;/usr/share/doc/gentoo/changelog.Debian.gz&nbsp;� dans 
     le paquet binaire.
   </p>
   <p>
     dh_make en cr�e un par d�faut, et il ressemble � ceci&nbsp;:
   </p>
   <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>
     (J'ai ajout� les num�ros de ligne.)
   </p>
   <p>
     La ligne&nbsp;1 est le nom du paquet, la version, la distribution et 
     l'urgence. Le nom doit correspondre au nom du paquet source, la 
     distribution devrait �tre �&nbsp;unstable&nbsp;� (ou m�me 
     �&nbsp;experimental&nbsp;�, et l'urgence ne devrait pas �tre chang�e en 
     quoique ce soit de plus haut que �&nbsp;low&nbsp;�.&nbsp;:-)
   </p>
   <p>
     Les lignes&nbsp;3 � 5 sont l'entr�e d'audit, o� vous documentez les 
     modifications faites dans la r�vision du paquet (pas les modifications 
     amont &ndash; il y a un fichier sp�cial pour cela, cr�� par les auteurs 
     en amont, que vous installerez comme 
     /usr/share/doc/gentoo/changelog.gz). Les nouvelles lignes doivent �tre 
     ajout�es juste avant la premi�re ligne qui commence avec une ast�risque 
     (�&nbsp;*&nbsp;�). Vous pouvez le faire avec <manref section="1" 
     name="dch">, <manref section="1" name="emacs">, ou manuellement avec un 
     �diteur de texte.
   </p>
   <p>
     Vous obtiendrez quelque chose comme&nbsp;:
   </p>
   <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>
     (J'ai ajout� les num�ros de ligne.)
   </p>
   <p>
     Vous pouvez en apprendre plus sur la mise � jour du fichier changelog 
     plus loin dans <ref id="update">.
   </p>
  </sect>
  <sect id="rules">
   <heading>
     fichier �&nbsp;rules&nbsp;�
   </heading>
   <p>
     Maintenant nous devons examiner les r�gles que <manref section="1" 
     name="dpkg-buildpackage"> va utiliser pour cr�er vraiment le paquet. Ce 
     fichier est en fait un autre Makefile, mais diff�rent de celui/ceux des 
     sources amont. Contrairement aux autres fichiers sous debian/, celui-ci 
     est marqu� comme ex�cutable.
   </p>
   <p>
     Chaque fichier �&nbsp;rules&nbsp;�, comme tout autre Makefile, consiste 
     en plusieurs r�gles indiquant comment manipuler les sources. Les r�gles 
     sont des cibles, noms de fichiers ou d'actions � ex�cuter (par exemple, 
     �&nbsp;build:&nbsp;� ou �&nbsp;install:&nbsp;�). Les r�gles que vous 
     voulez ex�cuter doivent �tre donn�es comme param�tre � la ligne de 
     commande (par exemple, �&nbsp;rules build&nbsp;� ou �&nbsp;rules 
     install&nbsp;�). Apr�s le nom de la cible, vous pouvez nommer les 
     d�pendances, le programme ou le fichier dont la cible d�pend. Apr�s 
     cela il peut y avoir un nombre quelconque de commandes indent�es par 
     &lt;tab&gt;, jusqu'� ce qu'une ligne vide soit trouv�e. Une nouvelle 
     r�gle commence avec une d�claration de cible dans la premi�re 
     colonne. Les lignes vides ainsi que celles qui commencent par un 
     �&nbsp;#&nbsp;� (di�se) sont consid�r�es comme des commentaires et sont 
     ignor�es.
   </p>
   <p>
     Tout ceci vous semble probablement confus pour l'instant, mais cela va 
     devenir clair � l'examen du fichier �&nbsp;rules&nbsp;� que dh_make 
     nous donne par d�faut. Vous devriez avoir lu l'entr�e 
     �&nbsp;make&nbsp;� dans info pour plus d'information.
   </p>
   <p>
     Ce qu'il faut savoir � propos du fichier rules cr�� par dh_make, est 
     qu'il s'agit juste d'une suggestion. Il fonctionnera pour des paquets 
     simples, mais pour ceux qui sont plus compliqu�s, vous ne devez pas 
     craindre de le modifier pour le faire correspondre � vos besoins. Les 
     seules choses que vous ne pouvez pas changer sont les noms des r�gles, 
     car tous les outils utilisent ces noms comme requis par la Charte.
   </p>
   <p>
     Voici (approximativement) ce � quoi ressemble le fichier par d�faut 
     debian/rules g�n�r� pour nous par dh_make&nbsp;:
   </p>
   <p>
    <example>
&makefile;
  </example>
     (J'ai ajout� les num�ros de ligne. Dans le <file>debian/rules</file> 
     r�el, les espaces en d�but de ligne sont des codes TAB).
   </p>
   <p>
     Vous avez probablement l'habitude de la ligne&nbsp;1 avec les scripts 
     shell et perl. Cela signifie que ce fichier doit �tre ex�cut� par 
     /usr/bin/make.
   </p>
   <p>
     La signification des variables DH_* mentionn�es des lignes 
     8&nbsp;�&nbsp;9 devrait �tre �vidente � partir du commentaire. Pour 
     plus d'informations sur DH_COMPAT, lisez la section �&nbsp;Debhelper 
     compatibility levels&nbsp;� de la page de manuel <manref section="1" 
     name="debhelper">.
   </p>
   <p>
     Les lignes&nbsp;11 �&nbsp;16 sont un squelette de support pour les 
     param�tres DEB_BUILD_OPTIONS, d�crits dans la Charte section&nbsp;10.1 
     �&nbsp;Binaries&nbsp;�. Fondamentalement, ces choses d�terminent si 
     l'ex�cutable doit �tre construit avec les symboles de d�bogage, et 
     s'ils doivent �tre retir�s � l'installation. Une fois encore, il s'agit 
     juste d'un squelette, une indication que vous devriez le faire. Vous 
     devriez v�rifier comment le syst�me de construction amont g�re 
     l'inclusion des symboles de d�bogage, et comment il les retire � 
     l'installation, et impl�menter cela vous-m�me.
   </p>
   <p>
     D'habitude, vous pouvez dire � gcc de compiler avec �&nbsp;-g&nbsp;� en 
     utilisant la variable CFLAGS &mdash; si c'est le cas pour votre paquet, 
     propagez la variable en <em>ajoutant</em> <tt>CFLAGS="$(CFLAGS)"</tt> � 
     l'invocation de $(MAKE) dans la r�gle de construction (voir plus 
     bas). Alternativement, si votre paquet utilise un script de 
     configuration autoconf, vous pouvez la lui passer en <em>pr�fixant</em> 
     la cha�ne ci-dessus � l'appel de ./configure dans la r�gle de 
     construction.
   </p>
   <p>
     Pour ce qui est de retirer les symboles, les programmes sont configur�s 
     couramment pour s'installer avec, et souvent sans option pour changer 
     cela. Heureusement, vous avez toujours <manref section="1" 
     name="dh_strip"> qui d�tecte quand le drapeau DEB_BUILD_OPTIONS=nostrip 
     est mis, et qui quitte silencieusement.
   </p>
   <p>
     Les lignes&nbsp;18 � 26 d�crivent la r�gle �&nbsp;build&nbsp;� (et son 
     enfant �&nbsp;build-stamp&nbsp;�), qui ex�cute make avec le fichier 
     Makefile de l'application pour compiler le programme. Si votre paquet 
     utilise les utilitaires GNU configure pour construire les ex�cutables, 
     soyez absolument certain d'avoir lu <file>&autotools-dev;</file>. Nous 
     en dirons plus sur l'exemple comment� docbook-to-man plus loin dans 
     <ref id="manpage">.
   </p>
   <p>
     La r�gle �&nbsp;clean&nbsp;�, sp�cifi�e aux lignes&nbsp;28 � 36, efface 
     tous les binaires inutiles et les trucs g�n�r�s automatiquement, 
     laiss�s l� par une construction du paquet. Cette r�gle doit �tre 
     op�rationnelle tout le temps (m�me si les r�pertoires sources 
     <em>sont</em> nettoy�s&nbsp;!), donc vous devriez utiliser les options 
     pour forcer (par exemple pour rm, c'est �&nbsp;-f&nbsp;�) ou pour 
     ignorer la valeur de retour (les �checs), avec un �&nbsp;-&nbsp;� 
     devant le nom de la commande.
   </p>
   <p>
     Le processus d'installation, la r�gle �&nbsp;install&nbsp;�, commence � 
     la ligne&nbsp;38. Fondamentalement, elle ex�cute la r�gle install du 
     fichier Makefile du programme, mais installe dans le r�pertoire 
     <tt>$(CURDIR)/debian/gentoo</tt> &ndash; c'est pour cette raison que 
     nous avons sp�cifi� $(DESTDIR) comme racine de l'installation dans le 
     Makefile de gentoo.
   </p>
   <p>
     Comme le commentaire le laisse penser, la r�gle 
     �&nbsp;binary-indep&nbsp;�, sur la ligne&nbsp;48, est utilis�e pour 
     construire des paquets ind�pendants de l'architecture. Comme il n'y en 
     a pas dans cet exemple, rien n'est fait.
   </p>
   <p>
     Ensuite on trouve la r�gle �&nbsp;binary-arch&nbsp;�, des lignes 52 � 
     79, pour laquelle nous ex�cutons plusieurs petits utilitaires du paquet 
     debhelper qui font quelques op�rations sur votre paquet pour le rendre 
     conforme � la Charte Debian.
   </p>
   <p>
     Si votre paquet est un �&nbsp;Architecture: all&nbsp;�, vous devez 
     inclure toutes les commandes pour construire le paquet sous la r�gle 
     �&nbsp;binary-indep&nbsp;�, et laisser la r�gle 
     �&nbsp;binary-arch&nbsp;� vide.
   </p>
   <p>
     Les noms des programmes debhelper commencent par dh_ et la suite 
     indique ce que chaque petit utilitaire fait. Tout cela est plut�t 
     explicite, mais voici quelques explications suppl�mentaires&nbsp;:
    <list>
     <item>
      <p>
        <manref section="1" name="dh_testdir"> v�rifie que vous �tes dans le 
        bon r�pertoire (i.e. le r�pertoire racine des sources),
      </p>
     </item>
     <item>
      <p>
        <manref section="1" name="dh_testroot"> v�rifie que vous avez les 
        permissions root, n�cessaire pour les cibles 
        �&nbsp;binary-arch&nbsp;�, �&nbsp;binary-indep&nbsp;� et 
        �&nbsp;clean&nbsp;�,
      </p>
     </item>
     <item>
      <p>
        <manref section="1" name="dh_installmanpages"> copie les pages de 
        manuel � la bonne place dans le r�pertoire de destination, vous 
        devez juste lui dire o� elles sont, relativement au r�pertoire 
        racine des sources,
      </p>
     </item>
     <item>
      <p>
        <manref section="1" name="dh_strip"> retire les en-t�tes de d�bogage 
        des fichiers ex�cutables pour les rendre plus petits,
      </p>
     </item>
     <item>
      <p>
        <manref section="1" name="dh_compress"> compresse les pages de 
        manuel et la documentation plus large que 4&nbsp;kb, avec <manref 
        section="1" name="gzip">,
      </p>
     </item>
     <item>
      <p>
        <manref section="1" name="dh_installdeb"> copie les fichiers 
        relatifs au paquet (par exemple les scripts du responsable) sous le 
        r�pertoire <file>debian/gentoo/DEBIAN</file>,
      </p>
     </item>
     <item>
      <p>
        <manref section="1" name="dh_shlibdeps"> calcule les d�pendances des 
        biblioth�ques et des ex�cutables,
      </p>
     </item>
     <item>
      <p>
        <manref section="1" name="dh_gencontrol"> g�n�re et installe une 
        version soigneusement ajust�e du fichier control dans 
        <file>debian/gentoo/DEBIAN</file>
      </p>
     </item>
     <item>
      <p>
        <manref section="1" name="dh_md5sums"> g�n�re les sommes de contr�le 
        MD5 pour tous les fichiers dans le paquet.
      </p>
     </item>
    </list>
   </p>
   <p>
     Pour une information plus compl�te sur ce que font tous ces scripts 
     dh_*, et ce que sont leurs options, lisez les pages de manuel 
     respectives. Il y en a d'autres, potentiellement tr�s utiles, qui ne 
     sont pas mentionn�s ici. Si vous en avez besoin, lisez la documentation 
     de debhelper.
   </p>
   <p>
     La section binary-arch est celle o� vous devriez vraiment commenter ou 
     retirer toutes les lignes qui appellent des fonctionnalit�s dont vous 
     n'avez pas besoin. Pour gentoo, je commente les lignes concernant 
     exemples, cron, init, man et info, simplement parce que gentoo n'en a 
     pas besoin. De plus, � la ligne 68, je remplace �&nbsp;ChangeLog&nbsp;� 
     par �&nbsp;FIXES&nbsp;�, parce que c'est le nom du fichier des 
     modifications amont.
   </p>
   <p>
     Les deux derni�res lignes (avec toutes celles qui ne sont pas 
     expliqu�es ici) sont juste des choses plus ou moins n�cessaires, � 
     propos desquelles vous pouvez lire le manuel de make, et la Charte 
     Debian. Pour l'instant il n'est pas important d'en savoir plus.
   </p>
  </sect>
 </chapt>
 <chapt id="dother">
  <heading>
    Autres fichiers dans le r�pertoire debian/
  </heading>
  <p>
    Vous verrez qu'il y a plusieurs autres fichiers dans le sous-r�pertoire 
    debian, la plupart d'entre eux avec le suffixe �&nbsp;.ex&nbsp;�, ce qui 
    signifie qu'ils sont des exemples. Jetez un coup d'&oelig;il � chacun 
    d'entre eux. Si vous souhaitez ou devez utiliser une de ces 
    options&nbsp;:
   <list>
    <item>
     <p>
       lisez la documentation relative (astuce&nbsp;: la Charte Debian),
     </p>
    </item>
    <item>
     <p>
       si n�cessaire, modifiez les fichers selon vos besoins,
     </p>
    </item>
    <item>
     <p>
       renommez-les pour retirer le suffixe �&nbsp;.ex&nbsp;� s'ils en ont,
     </p>
    </item>
    <item>
     <p>
       renommez-les pour retirer le pr�fixe �&nbsp;ex.&nbsp;� s'ils en ont,
     </p>
    </item>
    <item>
     <p>
       modifiez le fichier �&nbsp;rules&nbsp;� si n�cessaire.
     </p>
    </item>
   </list>
  </p>
  <p>
    Certains de ces fichiers, les plus utilis�s, sont d�crits dans les 
    sections suivantes.
  </p>
  <sect id="readme">
   <heading>
     README.Debian
   </heading>
   <p>
     Tous les d�tails ou diff�rences entre le paquet original et votre 
     version debianis�e devraient �tre document�s ici.
   </p>
   <p>
     dh_make en cr�e un par d�faut, qui ressemble � ceci&nbsp;:
   </p>
   <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>
   <p>
     Puisque nous n'avons rien en particulier � mettre ici, nous effa�ons le 
     fichier.
   </p>
  </sect>
  <sect id="conffiles">
   <heading>
     conffiles.ex
   </heading>
   <p>
     L'une des choses les plus irritantes � propos des logiciels est de 
     consacrer beaucoup de temps et d'efforts pour configurer un programme, 
     et de voir une seule mise � jour d�truire tous vos changements. Debian 
     r�sout ce probl�me en marquant les fichiers de configuration de sorte 
     que quand vous mettez � jour un paquet, il vous sera demand� si vous 
     voulez gardez votre ancienne configuration ou pas.
   </p>
   <p>
     La fa�on de proc�der pour un paquet est d'entrer le chemin complet de 
     chaque fichier de configuration (en g�n�ral sous /etc), un par ligne 
     dans un fichier nomm� <tt>conffiles</tt>. Gentoo a un fichier de 
     configuration, /etc/gentoorc, et nous le mettons dans 
     <tt>conffiles</tt>.
   </p>
   <p>
     Si votre programme utilise des fichiers de configuration, mais les 
     r��crit aussi de son c�t�, il vaut mieux ne pas les marquer comme 
     conffiles, parce que dpkg va alors interroger les utilisateurs pour 
     v�rifier les modifications tout le temps.
   </p>
   <p>
     Si le programme que vous empaquetez requiert que chaque utilisateur 
     modifie le fichier de configuration pour fonctionner tout court, 
     envisagez de ne pas le marquer non plus comme conffile.
   </p>
   <p>
     Vous pouvez g�rer des fichiers d'exemple de configuration � partir des 
     �&nbsp;scripts du responsable&nbsp;�. Lisez <ref id="maintscripts"> 
     pour plus d'information.
   </p>
   <p>
     Si votre programme n'a pas de conffiles, vous pouvez tranquillement 
     effacer le fichier <tt>conffiles</tt> du r�pertoire debian.
   </p>
  </sect>
  <sect id="crond">
   <heading>
     cron.d.ex
   </heading>
   <p>
     Si votre paquet requiert des t�ches programm�es r�guli�rement pour 
     fonctionner correctement, vous pouvez utiliser ce fichier pour le 
     configurer.
   </p>
   <p>
     Notez que ceci n'inclut pas la rotation des journaux&nbsp;; pour cela, 
     voyez <manref section="1" name="dh_installlogrotate"> et <manref 
     section="8" name="logrotate">.
   </p>
   <p>
     Sinon, supprimez-le.
   </p>
  </sect>
  <sect id="dirs">
   <heading>
     dirs
   </heading>
   <p>
     Ce fichier sp�cifie les r�pertoires dont nous avons besoin mais que la 
     proc�dure d'installation normale (make install) ne cr�e pas.
   </p>
   <p>
     Par d�faut, il ressemble � ceci&nbsp;:
   </p>
   <p>
    <example>
  usr/bin
  usr/sbin
  </example>
   </p>
   <p>
     Remarquez que le pr�fixe slash n'est pas inclus. Nous devrions 
     normalement le changer comme ceci&nbsp;:
   </p>
   <p>
    <example>
  usr/bin
  usr/man/man1
  </example>
   </p>
   <p>
     mais ces r�pertoires sont d�j� cr��s dans Makefile, donc nous n'avons 
     pas besoin de ce fichier, et allons plut�t l'effacer.
   </p>
  </sect>
  <sect id="docs">
   <heading>
     docs
   </heading>
   <p>
     Ce fichier sp�cifie les noms des fichiers de documentation que 
     dh_installdocs peut installer pour nous dans le r�pertoire temporaire.
   </p>
   <p>
     Par d�faut, il inclut tous les fichiers, existant dans le r�pertoire 
     racine des sources, qui sont nomm�s �&nbsp;BUGS&nbsp;�, 
     �&nbsp;README*&nbsp;�, �&nbsp;TODO&nbsp;�, etc.
   </p>
   <p>
     Pour gentoo, j'ai aussi inclus d'autres choses&nbsp;:
   </p>
   <p>
    <example>
  BUGS
  CONFIG-CHANGES
  CREDITS
  ONEWS
  README
  README.gtkrc
  TODO
  </example>
   </p>
   <p>
     Nous pouvons aussi retirer ce fichier et � la place lister ces fichiers 
     directement dans la ligne de commande <tt>dh_installdocs</tt> dans le 
     fichier <tt>rules</tt>, comme ceci&nbsp;:
   </p>
   <p>
    <example>
        dh_installdocs BUGS CONFIG-CHANGES CREDITS ONEWS README \
                       README.gtkrc TODO
  </example>
   </p>
   <p>
     Aussi incroyable que cela puisse �tre, vous pouvez ne pas avoir de tels 
     fichiers dans les sources de votre paquet. Dans ce cas, vous pouvez 
     tranquillement effacer ce fichier. Mais ne retirez pas l'appel 
     <tt>dh_installdocs</tt> du fichier <tt>rules</tt> parce qu'il est 
     utilis� pour installer le fichier <tt>copyright</tt> et d'autres 
     choses.
   </p>
  </sect>
  <sect id="emacsen">
   <heading>
     emacsen-*.ex
   </heading>
   <p>
     Si votre paquet fournit des fichiers Emacs qui peuvent �tre 
     byte-compil�s au moment de l'installation, vous pouvez utiliser ces 
     fichiers pour les configurer.
   </p>
   <p>
     Ils sont install�s dans le r�pertoire temporaire par <manref 
     section="1" name="dh_installemacsen">, donc n'oubliez pas de 
     d�commenter cette ligne dans le fichier <tt>rules</tt> si vous 
     l'utilisez.
   </p>
   <p>
     Si vous n'en avez pas besoin, effacez-les.
   </p>
  </sect>
  <sect id="initd">
   <heading>
     init.d.ex
   </heading>
   <p>
     Si votre paquet est un d�mon qui doit �tre lanc� au d�marrage du 
     syst�me, vous avez de toute �vidence ignor� mes recommandations 
     initiales, n'est-ce-pas&nbsp;? :-)
   </p>
   <p>
     Ceci est un squelette de fichier g�n�rique pour un fichier script 
     <file>/etc/init.d/</file>, donc vous aurez � l'�diter souvent. Il est 
     install� dans le r�pertoire temporaire par <manref section="1" 
     name="dh_installinit">.
   </p>
   <p>
     Si vous n'en avez pas besoin, effacez-le.
   </p>
  </sect>
  <sect id="manpage">
   <heading>
     manpage.1.ex, manpage.sgml.ex
   </heading>
   <p>
     Votre programme devrait avoir une page de manuel. S'il n'en a pas, 
     chacun de ces fichiers est un squelette que vous pouvez remplir.
   </p>
   <p>
     Les pages de manuel sont normalement �crites en <manref section="1" 
     name="nroff">. L'exemple <tt>manpage.1.ex</tt> est aussi �crit en 
     nroff. Lisez la page de manuel <manref section="7" name="man"> pour une 
     description br�ve de la fa�on d'�diter ce genre de fichier.
   </p>
   <p>
     D'un autre c�t�, si vous pr�f�rez �crire du SGML � la place de nroff, 
     vous pouvez utiliser le patron <tt>manpage.sgml.ex</tt>. Si vous le 
     faites, vous devez&nbsp;:
    <list>
     <item>
      <p>
        installer le paquet <package>docbook-to-man</package>
      </p>
     </item>
     <item>
      <p>
        ajouter <tt>docbook-to-man</tt> � la ligne <tt>Build-Depends</tt> 
        dans le fichier <tt>control</tt>
      </p>
     </item>
     <item>
      <p>
        retirer le commentaire de l'appel docbook-to-man dans la r�gle 
        �&nbsp;build&nbsp;� de votre fichier <tt>rules</tt>.
      </p>
     </item>
    </list>
   </p>
   <p>
     Et souvenez-vous de renommer le fichier en quelque chose comme 
     <tt>gentoo.sgml</tt>&nbsp;!
   </p>
   <p>
     Le nom du fichier de la page de manuel finale devrait inclure le nom du 
     programme qu'elle documente, donc nous le renommons de 
     �&nbsp;manpage&nbsp;� en �&nbsp;gentoo&nbsp;�. Le nom du fichier inclut 
     aussi �&nbsp;.1&nbsp;� comme premier suffixe, ce qui signifie que c'est 
     une page de manuel pour une commande utilisateur. Assurez-vous de 
     v�rifier que cette section est bien la bonne. Voici une courte liste 
     des sections de pages de manuel&nbsp;:
   </p>
   <p>
    <example>
  Section |     Description      |     Notes
     1     Commandes utilisateur   Commandes ou scripts ex�cutables.
     2     Appel syst�me           Fonctions fournies par le noyau.
     3     Appel biblioth�que      Fonctions des biblioth�ques syst�me.
     4     Fichiers sp�ciaux       D'ordinaire trouv�s dans /dev.
     5     Formats de fichiers     Par ex. le format /etc/password.
     6     Jeux                    Ou d'autres programmes frivoles.
     7     Paquets de macros       Comme les macros de man.
     8     Administration syst�me  Des programmes d'habitude ex�cut�s par root.
     9     Routines noyau          Appels non standards et routines internes.
  </example>
   </p>
   <p>
     Donc, la page de manuel de gentoo devrait �tre appel�e gentoo.1. 
     Il n'y avait pas de page de 
     manuel gentoo.1 dans les sources originales, donc j'en ai �crit une � 
     partir de l'exemple et de la documentation amont.
   </p>
  </sect>
  <sect id="menu">
   <heading>
     menu.ex
   </heading>
   <p>
     Les utilisateurs de X Window ont un gestionnaire de fen�tres avec un 
     menu qui peut �tre configur�. S'ils ont install� le paquet 
     <package>menu</package> de Debian, un ensemble de menus pour chaque 
     programme sur le syst�me sera cr�� pour eux.
   </p>
   <p>
     Voici le fichier <tt>menu.ex</tt> cr�� par d�faut par dh_make&nbsp;:
   </p>
   <p>
    <example>
  ?package(gentoo):needs="X11|text|vc|wm" section="Apps/see-menu-manual"\
    title="gentoo" command="/usr/bin/gentoo"
  </example>
   </p>
   <p>
     Le premier champ apr�s les deux points est �&nbsp;needs&nbsp;�, et il 
     indique le genre d'interface dont a besoin le programme. Changez ceci 
     en une des alternatives list�es, par exemple �&nbsp;text&nbsp;� ou 
     �&nbsp;X11&nbsp;�.
   </p>
   <p>
     Le suivant est �&nbsp;section&nbsp;�, avec le menu et le sous-menu dans 
     lesquels l'entr�e devrait appara�tre. La liste courante des sections 
     est dans&nbsp;: 
     <file>/usr/share/doc/debian-policy/menu-policy.html/ch2.html#s2.1</file>.
   </p>
   <p>
     le champ �&nbsp;title&nbsp;� est le nom du programme. Vous pouvez le 
     commencer par une majuscule si vous le souhaitez. Mais gardez-le court.
   </p>
   <p>
     Enfin, le champ �&nbsp;command&nbsp;� est la commande qui lance le 
     programme.
   </p>
   <p>
     Maintenant nous changeons l'entr�e menu en ceci&nbsp;:
   </p>
   <p>
    <example>
  ?package(gentoo): needs="X11" section="Apps/Tools" title="Gentoo" command="gentoo"
  </example>
   </p>
   <p>
     Vous pouvez aussi ajouter d'autres champs comme 
     �&nbsp;longtitle&nbsp;�, �&nbsp;icon&nbsp;�, �&nbsp;hint&nbsp;�, 
     etc. Voir <manref section="5" name="menufile">, <manref section="1" 
     name="update-menus"> et 
     <file>/usr/share/doc/debian-policy/menu-policy.html/</file> pour plus 
     d'informations.
   </p>
  </sect>
  <sect id="watch">
   <heading>
     watch.ex
   </heading>
   <p>
     Ce fichier est utilis� pour configurer les programmes <manref 
     section="1" name="uscan"> et <manref section="1" name="uupdate"> (dans 
     le paquet <package>devscripts</package>). Ils sont utilis�s pour 
     surveiller le site sur lequel vous avez obtenu les sources.
   </p>
   <p>
     Voici ce que j'y ai mis&nbsp;:
   </p>
   <p>
    <example>
# watch control file for uscan
# Site            Directory  Pattern               Version  Script
ftp.obsession.se  /gentoo    gentoo-(.*)\.tar\.gz  debian   uupdate
  </example>
   </p>
   <p>
     Astuce&nbsp;: connectez-vous � Internet, et essayez d'ex�cuter 
     �&nbsp;uscan&nbsp;� dans le r�pertoire du programme une fois que vous 
     avez cr�� ce fichier. Et lisez les manuels. :-)
   </p>
  </sect>
  <sect id="doc-base">
   <heading>
     ex.package.doc-base
   </heading>
   <p>
     Si votre paquet a de la documentation autre que des pages de manuel et 
     des documents info, vous devriez utiliser le fichier 
     <package>doc-base</package> pour l'enregistrer, de sorte que 
     l'utilisateur puisse le trouver avec par exemple <manref section="1" 
     name="dhelp">, <manref section="1" name="dwww"> ou <manref section="1" 
     name="doccentral">.
   </p>
   <p>
     Cela inclut normalement les fichiers HTML, PS et PDF, d�livr�s dans 
     <file>/usr/share/doc/nom_du_paquet/</file>.
   </p>
   <p>
     Voici ce � quoi le fichier doc-base de gentoo ressemble&nbsp;:
   </p>
   <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>
   <p>
     Pour plus d'informations sur le format de ce fichier, voir <manref 
     section="8" name="install-docs"> et le manuel de 
     <package>doc-base</package>, dans 
     <file>/usr/share/doc/doc-base/doc-base.html/index.html</file>.
   </p>
   <p>
     Pour plus d'informations sur l'installation de documentation 
     suppl�mentaire, voir <ref id="destdir">.
   </p>
  </sect>
  <sect id="maintscripts">
   <heading>
     postinst.ex, preinst.ex, postrm.ex, prerm.ex
   </heading>
   <p>
     Ces fichiers sont nomm�s scripts de responsable. Ce sont des scripts 
     plac�s dans la zone de contr�le du paquet et sont ex�cut�s par 
     <prgn>dpkg</prgn> lorsque votre paquet est install�, mis � jour ou 
     supprim�.
   </p>
   <p>
     Pour l'instant, vous devriez �viter les scripts de responsable si vous 
     le pouvez parce qu'ils ont tendance � �tre complexes. Pour plus 
     d'informations regardez dans le chapitre&nbsp;6 de la Charte Debian, et 
     examinez les fichiers d'exemples fournis par dh_make.
   </p>
  </sect>
 </chapt>
 <chapt id="build">
  <heading>
    Construire le paquet
  </heading>
  <p>
    Nous devrions maintenant �tre pr�ts � construire le paquet.
  </p>
  <sect id="completebuild">
   <heading>
     Reconstruction compl�te
   </heading>
   <p>
     Allez dans le r�pertoire principal du programme et lancez ceci&nbsp;:
   </p>
   <p>
    <example>
  dpkg-buildpackage -rfakeroot
  </example>
   </p>
   <p>
     Ceci fera tout pour vous. Il va&nbsp;:
    <list>
     <item>
      <p>
        nettoyer l'arbre des sources (debian/rules clean), en utilisant 
        <prgn>fakeroot</prgn>
      </p>
     </item>
     <item>
      <p>
        construire le paquet source (dpkg-source -b)
      </p>
     </item>
     <item>
      <p>
        construire le programme (debian/rules build)
      </p>
     </item>
     <item>
      <p>
        construire le paquet binaire (debian/rules binary), en utilisant 
        <prgn>fakeroot</prgn>
      </p>
     </item>
     <item>
      <p>
        signer le fichier source <tt>.dsc</tt>, en utilisant 
        <prgn>gnupg</prgn>
      </p>
     </item>
     <item>
      <p>
        cr�er et signer le fichier de t�l�chargement <tt>.changes</tt>, en 
        utilisant <prgn>dpkg-genchanges</prgn> et <prgn>gnupg</prgn>.
      </p>
     </item>
    </list>
   </p>
   <p>
     La seule entr�e qui vous sera demand�e est votre phrase de passe 
     secr�te GPG, deux fois.
   </p>
   <p>
     Une fois que c'est fait, vous verrez les fichiers suivants dans le 
     r�pertoire au-dessus (<file>~/gentoo/</file>)&nbsp;:
   </p>
   <p>
    <list>
     <item>
      <p>
        <em>gentoo_0.9.12.orig.tar.gz</em>
      </p>
      <p>
        Ceci est le code source original, simplement renomm� pour �tre 
        conforme aux standards Debian. Notez qu'il a �t� cr�� en utilisant 
        l'option �&nbsp;-f&nbsp;� du programme <prgn>dh_make</prgn> quand 
        nous l'avons initialement appel�.
      </p>
     </item>
     <item>
      <p>
        <em>gentoo_0.9.12-1.dsc</em>
      </p>
      <p>
        Ceci est un r�sum� du contenu du code source. Ce fichier est g�n�r� 
        � partir du fichier �&nbsp;control&nbsp;�, et est utilis� pour 
        d�compresser les sources avec <manref section="1" 
        name="dpkg-source">. Ceci est un fichier sign� en GPG, de sorte que 
        les gens peuvent �tre s�rs qu'il s'agit bien du v�tre.
      </p>
     </item>
     <item>
      <p>
        <em>gentoo_0.9.12-1.diff.gz</em>
      </p>
      <p>
        Ce fichier compress� contient chacune des additions que vous avez 
        faites au code source original, sous une forme connue comme 
        �&nbsp;diff�rence unifi�e&nbsp;�. Il est cr�� et utilis� par <manref 
        section="1" name="dpkg-source">. Attention&nbsp;: si vous ne nommez 
        pas le paquet source original nomdupaquet_version.orig.tar.gz, 
        <prgn>dpkg-source</prgn> �chouera � g�n�rer le fichier .diff.gz 
        correctement.
      </p>
      <p>
        Si quelqu'un d'autre veut recr�er votre paquet depuis le d�but, il 
        peut facilement le faire en utilisant ces trois fichiers. La 
        proc�dure d'extraction est facile&nbsp;: copier simplement ces trois 
        fichiers quelque part et lancer <tt>dpkg-source -x 
        gentoo_0.9.12-1.dsc</tt>.
      </p>
     </item>
     <item>
      <p>
        <em>gentoo_0.9.12-1_i386.deb</em>
      </p>
      <p>
        Ceci est le paquet binaire finalis�. Vous pouvez utiliser 
        <prgn>dpkg</prgn> pour l'installer ou le retirer comme tout autre 
        paquet.
      </p>
     </item>
     <item>
      <p>
        <em>gentoo_0.9.12-1_i386.changes</em>
      </p>
      <p>
        Ce fichier contient toutes les modifications faites dans la r�vision 
        courante du paquet, et est utilis� par les programmes de maintenance 
        des archives FTP Debian pour y installer les paquets binaires et 
        sources. Il est partiellement g�n�r� � partir du fichier 
        �&nbsp;changelog&nbsp;� et du fichier .dsc. Ce fichier est sign� en 
        GPG, de sorte que les gens peuvent �tre s�rs qu'il s'agit bien du 
        v�tre.
      </p>
      <p>
        Au fur et � mesure que vous travaillez sur le paquet, son 
        comportement va changer et de nouvelles capacit�s seront 
        ajout�es. Les gens qui t�l�chargent votre paquet peuvent lire ce 
        fichier et voir rapidement ce qui a chang�. Les programmes de 
        maintenance des archives Debian vont aussi poster le contenu de ce 
        fichier sur la liste de distribution debian-devel-change.
      </p>
     </item>
    </list>
   </p>
   <p>
     Les longues cha�nes de chiffres dans les fichiers .dsc et .changes sont 
     des sommes MD5 pour les fichiers mentionn�s. Les personnes 
     t�l�chargeant vos fichiers peuvent les tester avec <manref section="1" 
     name="md5sum"> et si les fichiers ne correspondent pas, elles sauront 
     que le fichier a �t� corrompu ou qu'il a �t� falsifi�.
   </p>
  </sect>
  <sect id="quickrebuild">
   <heading>
     Reconstruction rapide
   </heading>
   <p>
     Avec un paquet imposant, vous ne voudrez sans doute pas reconstruire 
     depuis le d�but chaque fois que vous faites une petite modification � 
     <file>debian/rules</file>. Pour tester, vous pouvez faire un fichier 
     .deb sans reconstruire les sources amont comme ceci&nbsp;:
   </p>
   <p>
    <example>
  fakeroot debian/rules binary
  </example>
   </p>
   <p>
     Une fois que vous avez fini vos ajustements, souvenez-vous de 
     reconstruire en suivant la proc�dure correcte ci-dessus. Vous pouvez ne 
     pas �tre capable de t�l�charger correctement si vous essayez de 
     t�l�charger des fichiers .deb construits comme ceci.
   </p>
  </sect>
  <sect id="debuild">
   <heading>
     La commande <prgn>debuild</prgn>
   </heading>
   <p>
     Vous pouvez automatiser encore plus le processus de construction avec 
     la commande <prgn>debuild</prgn>. Voir <manref section="1" 
     name="debuild">.
   </p>
   <p>
     La configuration de la commande debuild peut �tre faite via 
     <file>/etc/devscript.conf</file> ou <file>~/.devscript</file>. Je 
     sugg�re au moins les entr�es suivantes:
   </p>
   <p>
    <example>
  DEBSIGN_KEYID="Votre_ID_Cle_GPG"
  DEBUILD_DPKG_BUILDPACKAGE_OPTS="-i -ICVS -I.svn"
  </example>
     Avec ceux-ci, vous pouvez construire des paquets en utilisant toujours 
     votre cl� GPG et �viter d'inclure des composants non d�sir�s (c'est bon 
     aussi pour le parrainage). Par exemple, nettoyer les sources et 
     reconstruire le paquet depuis un compte utilisateur est simple 
     comme&nbsp;:
   </p>
   <p>
    <example>
  debuild clean
  debuild
  </example>
   </p>
  </sect>
  <sect id="dpatch">
   <heading>
     Le syst�me <prgn>dpatch</prgn>
   </heading>
   <p>
     Le simple usage des commandes <prgn>dh_make</prgn> et 
     <prgn>dpkg-buildpackage</prgn> va cr�er un unique et large ficher 
     <file>diff.gz</file> qui contient les fichiers de maintenance de paquet 
     dans <file>debian/</file> et les fichiers de diff�rences par rapport 
     aux sources. Un tel paquet est un peu d�licat � inspecter et � 
     comprendre pour chaque modification de l'arbre source par la suite. Ce 
     n'est pas bien. <footnote><p>Si vous n'�tes pas encore d�veloppeur 
     Debian et que vous demandez � votre parrain de t�l�charger votre paquet 
     apr�s son examen, vous devriez rendre ce paquet aussi facile que 
     possible � examiner. </p></footnote>
   </p>
   <p>
     Plusieurs m�thodes pour la maintenance de l'ensemble de diff�rences ont 
     �t� propos�es et sont utilis�es avec les paquets Debian. Le syst�me 
     <prgn>dpatch</prgn> est l'un des plus simples parmi ce genre de 
     syst�mes. D'autres sont dbs, cdbs, etc.
   </p>
   <p>
     Un paquet qui est empaquet� correctement avec le syst�me 
     <prgn>dpatch</prgn> a les modifications des sources clairement 
     document�es comme des ensembles de fichiers de diff�rences dans 
     <file>debian/patches</file> et l'arbre source est intact � l'ext�rieur 
     du r�pertoire <file>debian</file>. Si vous demandez � votre parrain de 
     t�l�charger votre paquet, cette s�paration plut�t claire et cette 
     documentation de vos changements sont tr�s importantes pour acc�l�rer 
     l'examen du paquet par votre parrain. La m�thode d'utilisation de 
     <prgn>dpatch</prgn> est expliqu�e dans <manref section="1" 
     name="dpatch">.
   </p>
   <p>
     Quand quelqu'un (�ventuellement vous-m�me) fournit par la suite une 
     diff�rence sur les sources, la modification du paquet avec dpatch est 
     assez simple&nbsp;:
    <list compact="compact">
     <item>
      <p>
        �ditez la diff�rence pour en faire une diff�rence -p1 sur l'arbre 
        source&nbsp;;
      </p>
     </item>
     <item>
      <p>
        ajoutez l'en-t�te en utilisant <prgn>dpatch 
        patch-template</prgn>&nbsp;;
      </p>
     </item>
     <item>
      <p>
        d�posez-le dans <file>debian/patches</file>&nbsp;;
      </p>
     </item>
     <item>
      <p>
        ajoutez les noms de fichiers dpatch � 
        <file>debian/patches/00list</file>.
      </p>
     </item>
    </list>
   </p>
   <p>
     De plus, <prgn>dpatch</prgn> a la capacit� de cr�er des diff�rences 
     li�es � l'architecture en utilisant des macros CPP.
   </p>
  </sect>
  <sect id="option-sa">
   <heading>
     Inclure <file>orig.tar.gz</file> pour le t�l�chargement
   </heading>
   <p>
     Lorsque vous t�l�chargez le paquet vers l'archive pour la premi�re 
     fois, vous devez inclure les sources <file>orig.tar.gz</file> 
     originales. Si la version du paquet n'est pas � une r�vision Debian 
     <tt>-0</tt> ou <tt>-t</tt>, vous devez passer l'option 
     �&nbsp;<tt>-sa</tt>&nbsp;� � la commande 
     <prgn>dpkg-buildpackage</prgn>. D'un autre c�t�, l'option 
     �&nbsp;<tt>-sd</tt>&nbsp;� forcera l'exclusion des sources 
     <file>orig.tar.gz</file> originales.
   </p>
  </sect>
 </chapt>
 <chapt id="checkit">
  <heading>
    Contr�ler les erreurs du paquet
  </heading>
  <p>
  </p>
  <sect id="lintians">
   <heading>
     Les paquets <package>lintian</package>
   </heading>
   <p>
     Lancez <manref section="1" name="lintian"> sur votre fichier .changes&nbsp;; ces programmes vont 
     rechercher un grand nombre d'erreurs d'empaquetage courantes. Les 
     commandes sont&nbsp;:
   </p>
   <p>
    <example>
  lintian -i gentoo_0.9.12-1_i386.changes
  </example>
   </p>
   <p>
     Bien s�r, remplacez le nom de fichier par celui du fichier .changes 
     g�n�r� pour votre paquet. S'il s'av�re qu'il y a des erreurs (les 
     lignes commen�ant avec E:), lisez l'explication (les lignes N:), 
     corrigez les erreurs, et reconstruisez comme d�crit dans <ref 
     id="completebuild">. S'il y a des lignes qui commencent avec W:, il 
     s'agit de mises en garde, donc vous pouvez ajuster votre paquet ou vous 
     assurer que les mises en garde sont inutiles (et faire en sorte que 
     lintian les ignore&nbsp;; voir la documentation pour les d�tails).
   </p>
   <p>
     Remarquez que vous pouvez reconstruire le paquet avec 
     <prgn>dpkg-buildpackage</prgn> et lancer <prgn>lintian</prgn> en une seule commande avec <manref section="1" 
     name="debuild">.
   </p>
  </sect>
  <sect id="mc">
   <heading>
     La commande <prgn>mc</prgn>
   </heading>
   <p>
     Vous pouvez d�compresser le contenu d'un paquet <file>*.deb</file> avec 
     la commande <manref section="1" name="dpkg-deb">. Vous pouvez lister le 
     contenu d'un paquet Debian g�n�r� avec <manref section="1" 
     name="debc">.
   </p>
   <p>
     Tout ceci peut �tre transform� en un processus intuitif en utilisant un 
     gestionaire de fichiers comme <manref section="1" name="mc"> qui vous 
     permet de consulter non seulement le contenu des fichiers paquet 
     <file>*.deb</file>, mais aussi les fichiers <file>*.diff.gz</file> et 
     <file>*.tar.gz</file>.
   </p>
   <p>
     Soyez attentif aux fichiers inutiles ou de taille nulle, � la fois dans 
     les paquets binaires et source. Souvent les fichiers inutiles ne sont 
     pas nettoy�s correctement&nbsp;; ajustez votre fichier rules pour 
     compenser.
   </p>
   <p>
     Astuce&nbsp;: �&nbsp;<tt>zgrep ^+++ 
     ../gentoo_0.9.12-1.diff.gz</tt>&nbsp;� vous donnera la liste de 
     changements/additions faites aux fichiers source, et 
     �&nbsp;<tt>dpkg-deb -c gentoo_0.9.12-1_i386.deb</tt>&nbsp;� ou 
     �&nbsp;<tt>debc gentoo_0.9.12-1_i386.changes</tt>&nbsp;� donnera la 
     liste des fichiers dans le paquet binaire.
   </p>
  </sect>
  <sect id="debdiff">
   <heading>
     La commande <prgn>debdiff</prgn>
   </heading>
   <p>
     Vous pouvez comparez la liste des fichiers de deux paquets Debian 
     binaires avec <manref section="1" name="debdiff">. Ceci est utile pour 
     v�rifier qu'aucun fichier n'a �t� d�plac� ou supprim� 
     malencontreusement, et qu'aucune autre modification inattendue n'a �t� 
     faite en mettant � jour les paquets. Vous pouvez v�rifier un groupe de 
     fichiers <file>*.deb</file> simplement avec �&nbsp;<tt>debdiff 
     old-package.change new-package.change</tt>&nbsp;�.
   </p>
  </sect>
  <sect id="interdiff">
   <heading>
     La commande <prgn>interdiff</prgn>
   </heading>
   <p>
     Vous pouvez comparer deux fichiers <file>diff.gz</file> avec la 
     commande <manref section="1" name="interdiff">. Ceci est utile pour 
     v�rifier qu'aucune modification inattendue n'a �t� effectu�e sur les 
     sources par le gestionnaire en mettant � jour les paquets. Ex�cutez 
     �&nbsp;<tt>interdiff -z old-package.diff.gz 
     new-package.diff.gz</tt>&nbsp;�.
   </p>
  </sect>
  <sect id="debi">
   <heading>
     La commande <prgn>debi</prgn>
   </heading>
   <p>
     Installez le paquet pour le tester vous-m�me, par exemple en utilisant 
     <manref section="1" name="debi"> en tant que root. Essayez de 
     l'installer sur d'autres machines que la v�tre et v�rifiez 
     attentivement chaque avertissement ou erreur tant � l'installation 
     qu'en ex�cutant le programme.
   </p>
  </sect>
  <sect id="pbuilder">
   <heading>
     Le paquet <package>pbuilder</package>
   </heading>
   <p>
     Pour un environnement de construction propre (chroot) permettant de 
     v�rifier les d�pendances de construction, <package>pbuilder</package> 
     est tr�s utile. Cela garantit une construction propre des sources en 
     construction automatique pour diff�rentes architectures et �vite 
     l'erreur de gravit� s�rieuse FTBFS (Fails To Build From Source, ne se 
     construit pas � partir des sources), qui est toujours en cat�gorie RC 
     (Release Critical, bloquant l'int�gration). Voir <url 
     id="&buildd-home;"> pour plus d'informations sur le constructeur 
     automatique de paquet Debian.
   </p>
   <p>
     L'usage le plus basique du paquet <package>pbuilder</package> est 
     l'invocation directe de la commande <prgn>pbuilder</prgn> en tant que 
     root. Par exemple, ex�cutez les commandes qui suivent dans le 
     r�pertoire o� <file>.orig.tar.gz</file>, <file>.diff.gz</file> et 
     <file>.dsc</file> se trouvent pour construire un paquet.
    <example>
  root # pbuilder create # if second time, pbuilder update
  root # pbuilder build foo.dsc
</example>
     Les paquets nouvellement cr��s seront plac�s dans 
     <file>/var/cache/pbuilder/result/</file> et appartiendront au 
     superutilisateur.
   </p>
   <p>
     La commande <prgn>pdebuild</prgn> vous aide a utiliser les fonctions du 
     paquet <package>pbuilder</package> depuis un compte utilisateur 
     normal. Depuis la racine de l'arbre source, en ayant le fichier 
     <file>orig.tar.gz</file> dans son r�pertoire parent, vous ex�cutez les 
     commandes suivantes&nbsp;:
    <example>
  $ sudo pbuilder create # si deuxi�me fois, sudo pbuilder update
  $ pdebuild
</example>
     Les paquets nouvellement cr��s seront plac�s dans 
     <file>/var/cache/pbuilder/result/</file> et n'appartiendront pas au 
     superutilisateur. <footnote><p>Pour l'instant, je vous recommande de 
     configurer votre syst�me en donnant acc�s en �criture au r�pertoire 
     <file>/var/cache/pbuilder/result/</file> � l'utilisateur, et en 
     ajoutant aux fichiers <file>~/.pbuilderrc</file> au 
     <file>/etc/pbuilderrc</file> la ligne <example> AUTO_DEBSIGN=yes 
     </example> Ceci vous permettra de signer les paquets g�n�r�s avec votre 
     cl� secr�te GPG sous <file>~/.gnupg/</file>. Dans la mesure o� le 
     paquet <package>pbuilder</package> �volue toujours, vous aurez � 
     v�rifier la configuration r�elle en consultant la derni�re 
     documentation officielle. </p></footnote>
   </p>
   <p>
     Si vous voulez ajouter des sources suppl�mentaires apt pour �tre 
     utilis�es par le paquet <package>pbuilder</package>, mettez 
     <tt>OTHERMIRROR</tt> dans <file>~/.pbuilderrc</file> ou 
     <file>/etc/pbuilderrc</file> et ex�cutez (pour <em>Sarge</em>)&nbsp;:
    <example>
$ sudo pbuilder update --distribution sarge --override-config
</example>
     L'utilisation de <tt>--override-config</tt> est n�cessaire pour mettre 
     � jour les sources apt dans l'environnement chroot.
   </p>
   <p>
     Voir <url id="&pbuilder-home;">, <manref section="1" name="pdebuild">, 
     <manref section="5" name="pbuilderrc">, et <manref section="8" 
     name="pbuilder"> .
   </p>
  </sect>
 </chapt>
 <chapt id="upload">
  <heading>
    Envoyer votre paquet
  </heading>
  <p>
    Maintenant que vous avez test� votre nouveau paquet en d�tail, vous �tes 
    pr�t � commencer le processus d'application de nouveau responsable 
    Debian, comme d�crit dans <url 
    id="http://www.debian.org/devel/join/newmaint">.
  </p>
  <sect id="upload-debian">
   <heading>
     Envoyer vers l'archive Debian
   </heading>
   <p>
     Une fois que vous �tes devenu un responsable Debian officiel, vous 
     devrez t�l�charger le paquet sur les archives Debian. Vous pouvez le 
     faire manuellement, mais c'est plus facile d'utiliser les outils 
     automatiques fournis, comme <manref section="1" name="dupload"> ou 
     <manref section="1" name="dput">. Nous d�crirons la fa�on de faire avec 
     <prgn>dupload</prgn>.
   </p>
   <p>
     D'abord vous devez �crire le fichier de configuration de dupload. Vous 
     pouvez soit �diter le fichier global <file>/etc/dupload.conf</file>, ou 
     avoir votre propre fichier <file>~/.dupload</file> pour remplacer les 
     quelques d�tails que vous voulez changer. Mettez quelque chose comme 
     ceci dans le fichier&nbsp;:
   </p>
   <p>
    <example>
  package config;

  $default_host = "anonymous-ftp-master";

  $cfg{'anonymous-ftp-master'} = {
      fqdn => "ftp-master.debian.org",
      method => "ftp",
      incoming => "/pub/UploadQueue/",
      # les fichiers passent par dinstall sur ftp-master qui envoie
      # les courriers �lectroniques lui-m�me
      dinstall_runs => 1,
  };

  1;
  </example>
   </p>
   <p>
     Bien s�r, remplacez mes informations personnelles par les v�tres, et 
     lisez la page de manuel <manref section="5" name="dupload.conf"> pour 
     comprendre ce que chacune de ces options signifie.
   </p>
   <p>
     L'option $default_host est la plus compliqu�e &mdash; elle d�termine la 
     queue de t�l�chargement qui sera utilis�e par 
     d�faut. �&nbsp;anonymous-ftp-master&nbsp;� est la principale, mais il 
     est possible que vous souhaitiez en utiliser une autre, plus 
     rapide. Pour plus d'informations sur les queues de t�l�chargement, 
     lisez la R�f�rence du D�veloppeur, section �&nbsp;La mise � jour d'un 
     paquet&nbsp;�, dans <file>&uploading;</file>.
   </p>
   <p>
     Puis connectez-vous � votre fournisseur d'acc�s Internet et lancez 
     cette commande&nbsp;:
   </p>
   <p>
    <example>
  dupload gentoo_0.9.12-1_i386.changes
  </example>
   </p>
   <p>
     <prgn>dupload</prgn> v�rifie que les sommes md5 des fichiers sont 
     identiques � celles du fichier .changes, pour qu'il puisse vous avertir 
     de reconstruire comme d�crit dans <ref id="completebuild"> et qu'il 
     charge le fichier correctement.
   </p>
   <p>
     Si vous rencontrez un probl�me d'envoi � <url id="&ftp-uploadqueue;">, 
     vous pouvez le r�soudre manuellement en envoyant un fichier 
     <file>*.commands</file> sign� gpg � <url id="&ftp-uploadqueue;"> avec 
     <prgn>ftp</prgn>. <footnote><p>Voyez <url 
     id="&ftp-command;">. Alternativement, vous pouvez utiliser la commande 
     <prgn>dcut</prgn> du paquet <package>dput</package>. </p></footnote> 
     Par exemple, utilisez <file>hello.commands</file>&nbsp;:
    <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>
   </p>
  </sect>
  <sect id="upload-private">
   <heading>
     Envoyer vers une archive priv�e
   </heading>
   <p>
     Si vous souhaitez cr�er une archive personnelle de paquets � 
     <tt>URL="http://people.debian.org/~<var>nom_compte</var>"</tt> en tant 
     que d�veloppeur avec une simple invocation de <tt>dupload -t 
     <var>nom_cible</var></tt>, vous devriez ajouter les lignes suivantes au 
     fichier <file>/etc/dupload.conf</file>:
    <example>
# Compte developpeur
$cfg{'<var>nom_cible</var>'} = {
        fqdn =&gt; "people.debian.org",
        method =&gt; "scpb",
        incoming =&gt; "/home/<var>nom_compte</var>/public_html/package/",
        # Je n'ai pas besoin d'annonce
        dinstall_runs =&gt; 1,
};
$cfg{'<var>nom_cible</var>'}{preupload}{'changes'} = "
        echo 'mkdir -p public_html/package' | ssh people.debian.org  2&gt;/dev/null ;
        echo 'R�pertoire paquet cr�� !'";

$cfg{'<var>nom_cible</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 'Archive paquet cr��e !'";

</example>
     Ici, l'archive APT est cr��e avec une ex�cution rapide et sale shell � 
     distance sur SSH. Les fichiers de remplacement requis par 
     <prgn>dpkg-scanpackages</prgn> et <prgn>dpkg-scansources</prgn> sont 
     sp�cifi�s comme <file>/dev/null</file>. Cette technique peut �tre 
     utilis�e par d'autres que les D�veloppeur Debian pour placer leurs 
     paquets dans leur site web personnel. Vous pouvez aussi utiliser 
     <prgn>apt-ftparchive</prgn> ou d'autres scripts pour cr�er une archive 
     APT.
   </p>
  </sect>
 </chapt>
 <chapt id="update">
  <heading>
    Mettre � jour le paquet
  </heading>
  <sect id="newrevision">
   <heading>
     Nouvelle r�vision Debian
   </heading>
   <p>
     Disons qu'un rapport de bogue a �t� rempli pour votre paquet, #54321, 
     et qu'il d�crit un probl�me que vous pouvez r�soudre. Pour cr�er une 
     nouvelle r�vision du paquet, vous devez&nbsp;:
    <list>
     <item>
      <p>
        Corriger le probl�me dans le paquet source, bien s�r.
      </p>
     </item>
     <item>
      <p>
        Ajouter une nouvelle r�vision au sommet du fichier changelog Debian, 
        par exemple avec �&nbsp;<tt>dch -i</tt>&nbsp;�, ou explicitement 
        avec �&nbsp;<tt>dch -v &lt;version&gt;-&lt;revision&gt;</tt> 
        &nbsp;�, et ajoutez ensuite les commentaires en utilisant votre 
        �diteur favori.
      </p>
      <p>
        Astuce&nbsp;: comment obtenir facilement la date au format 
        requis&nbsp;? Utilisez �&nbsp;<tt>822-date</tt>&nbsp;� ou 
        �&nbsp;<tt>date -R</tt>&nbsp;�.
      </p>
     </item>
     <item>
      <p>
        Ajoutez une courte description du bogue et de la solution dans 
        l'entr�e du changelog, suivie par ceci&nbsp;: 
        �&nbsp;Closes:&nbsp;#54321&nbsp;�. De cette mani�re, le rapport de 
        bogue sera automatiquement ferm� par le logiciel de maintenance des 
        archives au moment o� votre paquet sera accept� dans l'archive 
        Debian.
      </p>
     </item>
     <item>
      <p>
        Recommencez ce que vous aviez fait dans <ref id="completebuild">, 
        <ref id="checkit">, et <ref id="upload">. La diff�rence est que 
        cette fois, l'archive des sources originales ne sera pas incluse, 
        car elle n'a pas �t� chang�e et est d�j� dans l'archive Debian.
      </p>
     </item>
    </list>
   </p>
  </sect>
  <sect id="newupstream">
   <heading>
     Nouvelle version amont (basique)
   </heading>
   <p>
     Consid�rons maintenant une autre situation, l�g�rement plus compliqu�e 
     &ndash; une nouvelle version amont est disponible, et bien s�r vous 
     voulez en faire un paquet. Vous devez donc&nbsp;:
    <list>
     <item>
      <p>
        t�l�charger les sources et mettre l'archive source (par exemple 
        nomm�e �&nbsp;<file>gentoo-0.9.13.tar.gz</file>&nbsp;�) dans le 
        r�pertoire au dessus des anciennes sources (par exemple 
        <file>~/gentoo/</file>)&nbsp;;
      </p>
     </item>
     <item>
      <p>
        entrer dans l'ancien r�pertoire source, et lancer&nbsp;:
       <example>
  uupdate -u gentoo-0.9.13.tar.gz
  </example>
      </p>
      <p>
        Bien s�r, remplacez le nom de fichier par celui de l'archive source 
        de votre programme. <manref section="1" name="uupdate"> va 
        correctement renommer cette archive, essayer d'appliquer les 
        modifications de votre pr�c�dent fichier <file>.diff.gz</file>, et 
        mettre � jour le nouveau fichier 
        <file>debian/changelog</file>&nbsp;;
      </p>
     </item>
     <item>
      <p>
        aller dans le r�pertoire 
        �&nbsp;<file>../gentoo-0.9.13</file>&nbsp;�, l'arbre des sources du 
        nouveau paquet, et recommencer ce que vous aviez fait dans <ref 
        id="completebuild">, <ref id="checkit"> et <ref id="upload">.
      </p>
     </item>
    </list>
   </p>
   <p>
     Remarquez que si vous configurez 
     �&nbsp;<file>debian/watch</file>&nbsp;� comme indiqu� dans <ref 
     id="watch">, vous pouvez lancer <manref section="1" name="uscan"> pour 
     automagiquement chercher les nouvelles sources, les t�l�charger et 
     ex�cuter <prgn>uupdate</prgn> dessus.
   </p>
  </sect>
  <sect id="newupstream-real">
   <heading>
     Nouvelle version amont (r�el)
   </heading>
   <p>
     Lorsque vous pr�parez des paquets pour l'archive Debian, vous devez 
     v�rifier les paquets en r�sultant en d�tail. Voici un exemple plus 
     r�aliste de cette proc�dure&nbsp;:
    <enumlist numeration="arabic" compact="compact">
     <item>
      <p>
        v�rifiez les modification dans la source amont&nbsp;;
       <list compact="compact">
        <item>
         <p>
           lisez les <file>changelog</file> et <file>NEWS</file> amonts, 
           ainsi que toute autre documentation distribu�e avec la nouvelle 
           version&nbsp;;
         </p>
        </item>
        <item>
         <p>
           faites un �&nbsp;<tt>diff -urN</tt>&nbsp;� entre l'ancienne et la 
           nouvelle source amont pour avoir une id�e de l'�tendue des 
           modifications, o� le travail est en cours (et donc o� les 
           nouveaux bogues sont susceptibles d'appara�tre), et pour avoir � 
           l'&oelig;il quoi que ce soit de suspect&nbsp;;
         </p>
        </item>
       </list>
      </p>
     </item>
     <item>
      <p>
        portez l'ancien empaquetage Debian dans la nouvelle version&nbsp;;
       <list compact="compact">
        <item>
         <p>
           d�compressez l'archive source et renommez la racine de 
           l'arborescence source en 
           <file>&lt;nompaquet&gt;-&lt;version_amont&gt;/</file> et 
           �&nbsp;<tt>cd</tt>&nbsp;� dans ce r�pertoire&nbsp;;
         </p>
        </item>
        <item>
         <p>
           copiez l'archive source et renommez-la en 
           <file>&lt;nompaquet&gt;_&lt;version_amont&gt;.orig.tar.gz</file>&nbsp;;
         </p>
        </item>
        <item>
         <p>
           appliquez les m�mes modifications au nouvel arbre source qu'� 
           l'ancien. Les m�thodes possibles sont&nbsp;;:
          <list compact="compact">
           <item>
            <p>
              la commande �&nbsp;<tt>zcat 
              <var>/path/to/</var>&lt;nompaquet&gt;_&lt;ancienne-version&gt;.diff.gz 
              | patch -p1</tt>&nbsp;�&nbsp;;
            </p>
           </item>
           <item>
            <p>
              la commande �&nbsp;<prgn>uupdate</prgn>&nbsp;�&nbsp;;
            </p>
           </item>
           <item>
            <p>
              la commande �&nbsp;<tt>svn merge</tt>&nbsp;� si vous g�rez les 
              sources dans un r�pertoire Subversion&nbsp;;
            </p>
           </item>
           <item>
            <p>
              simplement copier le r�pertoire <file>debian/</file> de 
              l'ancien arbre source s'il a �t� empaquet� avec 
              <package>dpatch</package>.
            </p>
           </item>
          </list>
         </p>
        </item>
        <item>
         <p>
           pr�servez les anciennes entr�es changelog (cela va de soit, mais 
           il y a d�j� eu des incidents...)&nbsp;;
         </p>
        </item>
        <item>
         <p>
           le nouveau num�ro de version et le num�ro de version amont ajout� 
           au num�ro de r�vision Debian <tt>-t</tt>, par exemple 
           �&nbsp;`<tt>0.9.13-1</tt>&nbsp;�&nbsp;;
         </p>
        </item>
        <item>
         <p>
           ajoutez une entr�e changelog avec "New upstream release" pour 
           cette nouvelle version au sommet de 
           <file>debian/changelog</file>. Par exemple, �&nbsp;<tt>dch -v 
           0.9.13-1</tt>&nbsp;�&nbsp;;
         </p>
        </item>
        <item>
         <p>
           d�crivez succinctement les modifications <em>dans</em> la 
           nouvelle version amont qui fixent des bogues et qui ferment les 
           rapports associ�s dans le changelog&nbsp;;
         </p>
        </item>
        <item>
         <p>
           d�crivez succinctement les modifications <em>�</em> la nouvelle 
           version amont par le responsable qui fixent des bogues rapport�s 
           et qui ferment les rapports dans le changelog&nbsp;;
         </p>
        </item>
        <item>
         <p>
           si les modifications/fusions<footnote><p>NdT&nbsp;: 
           patch/merge</p></footnote> ne s'appliquent pas proprement, 
           inspectez la situation pour d�terminer ce qui a �chou� (les 
           indices sont dans les fichiers <file>.rej</file>). La plupart du 
           temps, le probl�me est qu'une modification que vous aviez 
           appliqu�e aux sources a �t� int�gr�e en amont, et donc n'est plus 
           pertinente&nbsp;;
         </p>
        </item>
        <item>
         <p>
           les mises � jour vers la nouvelle version devraient �tre 
           silencieuses et non intrusives (les utilisateurs existants ne 
           devraient pas remarquer la mise � jour � part en d�couvrant que 
           de vieux bogues ont �t� r�solus, et peut-�tre que de nouvelles 
           fonctionnalit�s sont pr�sentes)&nbsp;; <footnote><p>Faites en 
           sorte que votre paquet mette � jour correctement les fichiers de 
           configuration lors des mises � jour en utilisant des scripts de 
           responsable (<prgn>postinst</prgn>,&nbsp;...) bien con�us, de 
           sorte qu'il ne <strong>fasse pas</strong> ce que l'utilisateur ne 
           veut pas&nbsp;! Ce sont ces am�liorations qui expliquent 
           <strong>pourquoi</strong> les gens choisissent Debian. </p><p> 
           Lorsque la mise � jour est n�cessairement intrusive (par exemple 
           des fichiers de configuration �parpill�s � travers plusieurs 
           r�pertoires home avec des structures compl�tement diff�rentes), 
           vous pouvez envisager de remettre une configuration par d�faut 
           s�re du paquet (par exemple, le service est d�sactiv�), et de 
           fournir les documentations ad�quates requises par la Charte 
           Debian (<file>README.Debian</file> et <file>NEWS.Debian</file>) 
           en dernier ressort. Mais ne vous souciez pas d'une note 
           debconf. </p></footnote>
         </p>
        </item>
        <item>
         <p>
           si vous devez, pour quelque raison que ce soit, ajouter des 
           fichiers mod�les qui avaient �t� effac�s, pour pouvez ex�cuter 
           <prgn>dh_make</prgn> � nouveau dans le m�me r�pertoire, d�j� 
           �&nbsp;debianis�&nbsp;�, avec l'option <tt>-o</tt>. Puis �ditez 
           les correctement&nbsp;;
         </p>
        </item>
        <item>
         <p>
           les modifications Debian existantes doivent �tre r��valu�es; 
           jetez tout ce qui a �t� incorpor� en amont (sous une forme ou une 
           autre), et souvenez-vous de garder ce qui ne l'a pas �t�, � moins 
           qu'il n'y ait une bonne raison de ne pas le faire&nbsp;;
         </p>
        </item>
        <item>
         <p>
           si le syst�me de construction a �t� chang� (avec un peu de 
           chance, vous �tes au courant depuis l'�tape&nbsp;1), mettez � 
           jour les d�pendances de construction <file>debian/rules</file> et 
           <file>debian/control</file>, si besoin est.
         </p>
        </item>
       </list>
      </p>
     </item>
     <item>
      <p>
        construisez le nouveau paquet comme expliqu� dans <ref id="debuild"> 
        ou <ref id="pbuilder">. L'utilisation de <package>pbuilder</package> 
        est souhaitable&nbsp;;
      </p>
     </item>
     <item>
      <p>
        v�rifiez que le nouveau paquet est construit correctement&nbsp;;
       <list compact="compact">
        <item>
         <p>
           effectuez <ref id="checkit">&nbsp;;
         </p>
        </item>
        <item>
         <p>
           effectuez <ref id="upgrading">&nbsp;;
         </p>
        </item>
        <item>
         <p>
           v�rifiez � nouveau si des bogues rapport�s dans le <url 
           id="http://www.debian.org/Bugs/" name="syst�me de suivi des 
           bogues Debian (Bug Tracking System BTS)"> ont �t� r�solus&nbsp;;
         </p>
        </item>
        <item>
         <p>
           v�rifiez le contenu du fichier .changes pour vous assurer que 
           vous t�l�chargez vers la bonne distribution, que les rapports de 
           bogues referm�s sont correctement list�s dans les champs Closes:, 
           que les champs Maintainer: et Changed-By: correspondent, que le 
           fichier est sign� GPG, etc.&nbsp;;
         </p>
        </item>
       </list>
      </p>
     </item>
     <item>
      <p>
        si des modifications devaient �tre faites pour corriger quoi que ce 
        soit dans l'empaquetage, recommencez � l'�tape 2 jusqu'� obtenir 
        satisfaction&nbsp;;
      </p>
     </item>
     <item>
      <p>
        si votre t�l�chargement doit �tre parrain�, souvenez-vous de noter 
        toute option sp�ciale requise pour construire le paquet (comme 
        �&nbsp;<tt>dpkg-buildpackage -sa -v ...</tt>&nbsp;�) et d'en 
        informer votre parrain/marraine pour qu'il/elle construise le paquet 
        correctement&nbsp;;
      </p>
     </item>
     <item>
      <p>
        si vous t�l�chargez vous-m�me, effectuez <ref id="upload">.
      </p>
     </item>
    </enumlist>
   </p>
  </sect>
  <sect id="orig-tar">
   <heading>
     Le fichier <file>orig.tar</file>
   </heading>
   <p>
     Si vous essayez de construire des paquets seulement � partir de la 
     nouvelle arborescence source avec le r�pertoire <file>debian</file> 
     sans le fichier <file>orig.tar.gz</file> dans le r�pertoire parent, 
     vous aurez cr�� sans le vouloir un paquet source natif, qui vient sans 
     fichier <file>diff.gz</file>. Ce genre d'empaquetage n'est appropri� 
     que pour les paquets sp�cifiques � Debian, qui ne seront jamais utiles 
     dans une autre distribution. <footnote><p>Certains affirment que, m�me 
     pour des paquets sp�cifiques � Debian, il est pr�f�rable de conserver 
     le contenu du r�pertoire <file>debian/</file> dans le fichier 
     <file>diff.gz</file>, plut�t que dans le fichier 
     <file>orig.tar.gz</file>. </p></footnote>
   </p>
   <p>
     Pour obtenir un paquet source non natif qui contient � la fois le 
     fichier <file>orig.tar.gz</file> et le fichier <file>diff.gz</file>, 
     vous devez copier manuellement l'archive amont dans le r�pertoire 
     parent avec son nom chang� en 
     <file>&lt;nompaquet&gt;_&lt;version_amont&gt;.orig.tar.gz</file>, comme 
     l'avait fait la commande <prgn>dh_make</prgn> dans <ref id="dh_make">.
   </p>
  </sect>
  <sect id="cvs-buildpackage">
   <heading>
     La commande <prgn>cvs-buildpackage</prgn> et similaires
   </heading>
   <p>
     Vous devriez consid�rer l'usage d'un syst�me de gestion de code source 
     pour g�rer l'activit� d'empaquetage. Il y a plusieurs scripts qui sont 
     personnalis�s pour �tre utilis�s avec les plus populaires.
    <list compact="compact">
     <item>
      <p>
        CVS
       <list compact="compact">
        <item>
         <p>
           <package>cvs-buildpackage</package>
         </p>
        </item>
       </list>
      </p>
     </item>
     <item>
      <p>
        Subversion
       <list compact="compact">
        <item>
         <p>
           <package>svn-buildpackage</package>
         </p>
        </item>
       </list>
      </p>
     </item>
     <item>
      <p>
        Arch (tla)
       <list compact="compact">
        <item>
         <p>
           <package>tla-buildpackage</package>
         </p>
        </item>
        <item>
         <p>
           <package>arch-buildpackage</package>
         </p>
        </item>
       </list>
      </p>
     </item>
    </list>
   </p>
   <p>
     Ces commandes automatisent aussi l'empaquetage de nouvelles versions 
     amonts.
   </p>
  </sect>
  <sect id="upgrading">
   <heading>
     V�rifier les mises � jour de paquet
   </heading>
   <p>
     Quand vous construisez une nouvelle version du paquet, vous devriez 
     toujours suivre cette proc�dure pour v�rifier le paquet, pour �tre 
     tranquillement mis � jour&nbsp;:
    <list>
     <item>
      <p>
        mettez � jour depuis la version pr�c�dente&nbsp;;
      </p>
     </item>
     <item>
      <p>
        revenez � la version pr�c�dente, puis retirez-la&nbsp;;
      </p>
     </item>
     <item>
      <p>
        installez le nouveau paquet&nbsp;;
      </p>
     </item>
     <item>
      <p>
        retirez-le et r�installez-le � nouveau&nbsp;;
      </p>
     </item>
     <item>
      <p>
        purgez-le.
      </p>
     </item>
    </list>
   </p>
   <p>
     Si le paquet utilise des scripts pre/post/inst/rm non triviaux, veillez 
     � tester leurs chemins de mises � jour.
   </p>
   <p>
     Gardez � l'esprit que si votre paquet a �t� livr� avec Debian, les gens 
     vont souvent mettre � jour votre paquet � partir de la r�vision qui 
     �tait dans la derni�re version Debian. Souvenez-vous de tester aussi 
     les mises � jour � partir de cette r�vision.
   </p>
  </sect>
 </chapt>
 <chapt id="helpme">
  <heading>
    O� demander de l'aide
  </heading>
  <p>
    Avant de vous d�cider � poser une question dans un lieu public, 
    s.v.p. RTFM. Ceci inclut la documentation sous 
    <file>/usr/share/doc/dpkg</file>, <file>/usr/share/doc/debian</file>, 
    <file>&autotools-dev;</file>, <file>/usr/share/doc/paquet/*</file> et 
    les pages de manuel/d'info pour tous les programmes mentionn�s dans ce 
    document. Consultez toutes les informations dans <url id="&nm-home;"> et 
    <url id="&mentors-faq;">.
  </p>
  <p>
    Si vous avez des questions sur la cr�ation de paquets pour lesquelles 
    vous n'avez pas pu trouver de r�ponse dans la documentation, vous pouvez 
    les poser sur la liste de diffusion Debian Mentors, sur 
    <email>debian-mentors@lists.debian.org</email>. Les responsables Debian 
    les plus exp�riment�s seront heureux de vous aider, mais au moins lisez 
    une partie de la documentation avant de poser une question&nbsp;!
  </p>
  <p>
    Consultez <url id="http://lists.debian.org/debian-mentors/"> pour plus 
    d'informations sur cette liste de diffusion.
  </p>
  <p>
    Quand vous recevez un rapport de bogue (oui, un rapport de bogue 
    r�el&nbsp;!) vous saurez qu'il est temps pour vous de plonger dans le 
    <url id="http://www.debian.org/Bugs/" name="syst�me de suivi de bogues 
    Debian"> et de lire la documentation, pour �tre � m�me de g�rer les 
    rapports efficacement. Je recommande chaudement la lecture de la 
    R�f�rence du D�veloppeur, chapitre �&nbsp;G�rer les bogues&nbsp;�, dans 
    <file>&bughandling;</file>.
  </p>
  <p>
    Si vous avez encore des questions, posez-les sur la liste de diffusion 
    Debian Developers � 
    <email>debian-devel@lists.debian.org</email>. Consultez <url 
    id="http://lists.debian.org/debian-devel/"> pour plus d'informations sur 
    cette liste de diffusion.
  </p>
  <p>
    M�me si tout marche bien, il est temps de commencer � 
    prier. Pourquoi&nbsp;? Parce que dans quelques heures (ou jours) les 
    utilisateurs du monde entier vont commencer � utiliser votre paquet, et 
    si vous avez fait des erreurs critiques, vous serez bombard� par les 
    courriers �lectroniques d'utilisateurs Debian furieux... Je 
    plaisante.&nbsp;:-)
  </p>
  <p>
    Relaxez-vous et soyez pr�t pour les rapports de bogues, parce qu'il y 
    aura beaucoup plus de travail � faire avant que votre paquet soit 
    parfaitement conforme aux r�gles Debian (une fois encore, lisez la 
    <em>documentation r�elle</em> pour les d�tails). Bonne chance&nbsp;!
  </p>
 </chapt>
 <appendix id="pkg-eg">
  <heading>
    Exemples
  </heading>
  <p>
    Ici nous empaquetons l'archive amont <var>gentoo-1.0.2</var>.tar.gz et 
    envoyons tous les paquets vers la <tt><var>cible_nm</var></tt>.
  </p>
  <sect id="pkg-simple">
   <heading>
     Exemple d'empaquetage simple
   </heading>
   <p>
    <example>
  $ mkdir -p <var>/chemin/vers</var> # nouveau r�pertoire vide
  $ cd <var>/chemin/vers</var>
  $ tar -xvzf <var>/chemin/depuis/gentoo-1.0.2</var>.tar.gz # prendre les sources
  $ cd <var>gentoo-1.0.2</var>
  $ dh_make -e <var>nom@domaine.dom</var> -f <var>/chemin/depuis/gentoo-1.0.2</var>.tar.gz
  ... R�pondre aux questions.
  ... Corriger l'arbre source
  ... Si c'est un paquet script, mettre debian/control � "Architecture: all"
  ... Ne pas effacer ../<var>gentoo_1.0.2</var>.orig.tar.gz
  $ debuild
  ... S'assurer qu'il n'y a pas d'alerte
  $ cd ..
  $ dupload -t <var>cible_nm</var> <var>gentoo_1.0.2-1</var>_i386.changes
</example>
   </p>
  </sect>
  <sect id="pkg-dpatch">
   <heading>
     Exemple d'empaquetage avec les paquets <package>dpatch</package> et 
     <package>pbuilder</package>
   </heading>
   <p>
    <example>
  $ mkdir -p <var>/chemin/vers</var> # nouveau r�pertoire vide
  $ cd <var>/chemin/vers</var>
  $ tar -xvzf <var>/chemin/depuis/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>nom@domaine.dom</var> -f /chemin/depuis/<var>gentoo-1.0.2</var>.tar.gz
  ... R�pondre aux questions.
  ... Corriger l'arbre source
  ... Essayer de construire le paquet avec "dpkg-buildpackage -rfakeroot -us -uc"
  ... �diter les sources pour permettre la construction du paquet
  ... Ne pas effacer ../<var>gentoo_1.0.2</var>.orig.tar.gz
  $ cd ..
  $ cp -a <var>gentoo-1.0.2</var> <var>gentoo-1.0.2-keep</var> # copie de sauvegarde
  $ mv <var>gentoo-1.0.2</var>/debian debian
  $ diff -Nru  <var>gentoo-1.0.2-orig</var> <var>gentoo-1.0.2</var> &gt; <var>fichier-diff</var>
  ... Vous pouvez �craser le r�pertoire <var>gentoo-1.0.2</var> en faisant ceci.
  ... Assurez-vous de garder <var>gentoo-1.0.2</var>-keep pour votre s�curit�
  $ mkdir -p debian/patches
  $ dpatch patch-template <var>fichier-diff</var> \
     -p "01_patchname" "description fichier-diff" \
     &lt; <var>fichier-diff</var> &gt; debian/patches/01_patchname.dpatch
  $ cd debian/patches
  $ echo 01_patchname.dpatch >00list
  $ cd ../.. # retour vers <var>/chemin/vers</var>
  $ rm -rf <var>gentoo-1.0.2</var>
  $ editor debian/rules
</example>
     Voici � quoi ressemble le <file>debian/rules</file> originel&nbsp;:
    <example>
  config.status: configure
       ./configure --prefix=/usr --mandir=/usr/share
  build: config.status
       ${MAKE}
  clean:
       $(testdir)
       $(testroot)
       ${MAKE} distclean
       rm -rf debian/imaginary-package debian/files debian/substvars
</example>
     �ditez <file>debian/rules</file> de la mani�re suivante pour utiliser 
     <package>dpatch</package>:
    <example>
  config.status: patch configure
       ./configure --prefix=/usr --mandir=/usr/share
  build: config.status
       ${MAKE}
  clean: clean-patched unpatch
  clean-patched:
       $(testdir)
       $(testroot)
       ${MAKE} distclean
       rm -rf debian/imaginary-package debian/files debian/substvars
  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>
   <p>
     Vous �tes maintenant pr�t pour r�empaqueter l'arbre source avec le 
     syst�me <package>dpatch</package>.
    <example>
  $ tar -xvzf <var>gentoo_1.0.2</var>.orig.tar.gz
  $ cp -a debian/ <var>gentoo-1.0.2</var>/debian
  $ cd <var>gentoo-1.0.2</var>
  $ sudo pbuilder update
  $ pdebuild
  $ cd /var/cache/pbuilder/result/
  $ dupload -t <var>cible_nm</var> <var>gentoo_1.0.2-1</var>_i386.changes
</example>
   </p>
  </sect>
 </appendix>
</book>
</debiandoc>