aboutsummaryrefslogtreecommitdiff
blob: 841f27aabd8ee0dec8a0d3ef76f06fa69c722d9f (plain)
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
# ChangeLog for Portage; the Gentoo Linux ports system 
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
# $Id: ChangeLog,v 1.962 2005/05/03 13:49:35 jstubbs Exp $

  MAJOR CHANGES in 2.0.51:
    1. /var/cache/edb/virtuals is no longer used at all. It's calculated now.
    2. /var/cache/edb/world is now /var/lib/portage/world.
    3. /etc/portage/profile/virtuals is _USER_ configs only.

  03 May 2005; Jason Stubbs <jstubbs@gentoo.org> pym/portage_syntax.py
  pym/portage_dep.py: Fixed some bugs in the new intersects() and
  encapsulates() methods. Created a transform_dependspec() function that
  reorders DependSpec elements based on supplied preferences.

  03 May 2005; Jason Stubbs <jstubbs@gentoo.org> pym/portage_syntax.py:
  Added methods for modifying DependSpec externally.

  03 May 2005; Jason Stubbs <jstubbs@gentoo.org> pym/portage_syntax.py:
  Added intersects() and encapsulates() functions to the Atom class for
  comparing relationships between similar atoms.

  03 May 2005; Jason Stubbs <jstubbs@gentoo.org> man/portage.5:
  Removed invalid example from package.keywords section.

  03 May 2005; Jason Stubbs <jstubbs@gentoo.org> pym/portage_dep.py
  pym/portage_syntax.py: Mostly completed DependSpec and started on
  TargetGraph.

  29 Apr 2005; Mike Frysinger <vapier@gentoo.org> bin/doman:
  Recognize more subchapters than just [1-8n] #32584.

  29 Apr 2005; Mike Frysinger <vapier@gentoo.org> bin/env-update.sh 
  pym/portage.py pym/portage_const.py:
  Remove execution of depscan.sh #86523.

  26 Apr 2005; Marius Mauch <genone@gentoo.org> cnf/make.globals*:
  Add FEATURES=strict.

  25 Apr 2005; Mike Frysinger <vapier@gentoo.org> bin/ebuild-functions.sh:
  Remove autoconfig FEATURE and make it always run Bug #81822.

  25 Apr 2005; Marius Mauch <genone@gentoo.org> pym/portage.py:
  remove the stupid "masked by -* keyword" message.

  24 Apr 2005; Jason Stubbs <jstubbs@gentoo.org> pym/portage_syntax.py:
  Added a class called DependSpec which handles parsing *DEPEND and SRC_URI
  strings. Read-only at the moment, but will probably change later.

  24 Apr 2005; Jason Stubbs <jstubbs@gentoo.org> bin/emerge pym/portage.py:
  Removed support for --inject and --upgradeonly as well as the now unused
  digraph class.

  23 Apr 2005; Marius Mauch <genone@gentoo.org> pym/ebuild.py:
  forward port fix for bug 77794.

  19 Apr 2005; Mike Frysinger <vapier@gentoo.org> bin/etc-update:
  Clean up some silly `cat` usages and make the output format pretty.

  12 Apr 2005; Mike Frysinger <vapier@gentoo.org> bin/quickpkg pym/ebuild.py 
  pym/portage.py:
  Rename 'portage-pkg' to 'binpkgs' so tab completion for 'portage' works.

  08 Apr 2005; Marius Mauch <genone@gentoo.org> bin/emerge:
  Add a list of active user config files to emerge --info.
  
  06 Apr 2005; Marius Mauch <genone@gentoo.org> pym/set_modules/*.py:
  Added a basic framework for package sets including modules for "system",
  general filelists (including "world") and "security", the latter currently
  depending on glsa.py from gentoolkit.

  03 Apr 2005; Jason Stubbs <jstubbs@gentoo.org> pym/portage_dep.py:
  Added shortcut to circular dep "resolution" as per bug 85130. Removed
  the traversed cache dict from __traverse_nodes and made the original
  list into a dict.

  27 Mar 2005; Brian Harring <ferringb@gentoo.org> bin/ebuild-functions.sh:
  Pushed ECONF_SOURCE support forward from stable.  Seems kind of fluffish.

  23 Mar 2005; Jason Stubbs <jstubbs@gentoo.org> bin/dispatch-conf:
  Removed the -a argument from all diff usage.

  21 Mar 2005; Marius Mauch <genone@gentoo.org> pym/portage_const.py:
  Adding prerm and postrm to EBUILD_PHASES so logging works there too.
  
  21 Mar 2005; Marius Mauch <genone@gentoo.org> bin/ebuild-functions.sh:
  Force the copy by removing the destination first in econf/autoconfig,
  prevents sandbox violations by libtoolize calls without --copy.

  15 Mar 2005; Brian Harring <ferringb@gentoo.org> pym/cache/*;
  Cache updates moving _eclasses_ handling up into the template layer, 
  added delayed sync'ing support (see database.autocommit) which is relevant 
  for rdbms backends.

  13 Mar 2005; Brian Harring <ferringb@gentoo.org> pym/portage_dep.py:
  Addded a traversed cache dict to __traversed per call, the slowdown was 
  pointed out by Thomas de Grenier de Latour (TGL).  56s, to ~6s.  Probably 
  should be using a dict for traversed, but is dependant on whether the returned
  list is order, or can be random.

  10 Mar 2005; Marius Mauch <genone@gentoo.org> pym/portage.py:
  fix breakage wrt portage_const.EBUILD_PHASES

  09 Mar 2005; Brian Harring <ferringb@gentoo.org> bin/emerge:
  emerge --metadata can now be ran by non-root users.

  09 Mar 2005: Brian Harring <ferringb@gentoo.org> pym/ebuild.py, bin/emerge:
  Don't set 02775 on depcache_dir.
  Ever.
  If the cache backend is stupid and can't get the perms right, fix the backend.

  09 Mar 2005; Brian Harring <ferringb@gentoo.org> pym/cache/fs_template.py:
  _ensure_dirs didn't account for umask.

  09 Mar 2005; Brian Harring <ferringb@gentoo.org> pym/cache/flat_list.py:
  Damn I'm cool- _eclasses_ are now properly returned.

  09 Mar 2005; Brian Harring <ferringb@gentoo.org> pym/portage.py, pym/ebuild.py:
  Two issues- use parsed restrict handling, and depends phase not bailing when
  a cpv's key's can't be sourced

  09 Mar 2005; Marius Mauch <genone@gentoo.org> pym/elog_modules/mod_mail.py:
  Add a "To" header to mails.

  09 Mar 2005; Marius Mauch <genone@gentoo.org> bin/ebuild-daemon.sh:
  portageq shouldn't prefix its output as it's used in variables.

  08 Mar 2005; Brian Harring <ferringb@gentoo.org> pym/ebuild.py: Revert part of 
  the restrict/portage_restrict changes so use conditionals in restrict work
  again.

  08 Mar 2005; Brian Harring <ferringb@gentoo.org> pym/portage.py, pym/portage_dep.py,
  pym/portage_util.py, pym/config.py:  Moved match_from_list, match_to_* stuff
  into portage_dep, and updated references, and fixed a few bugs related to 
  match_* locations from last check in.
  Threw out match_from_list_original func- it's dead code.

  08 Mar 2005; Brian Harring <ferringb@gentoo.org> pym/portage.py: Harring's law 
  in effect- stupid one line bugs do not rear their head till the delta hits the 
  repository... :/
  Fix for the INHERITED auto-determination in portdbapi.aux_get

  08 Mar 2005; Brian Harring <ferringb@gentoo.org> pym/portage.py, bin/emerge, 
  cache/*, pym/eclass_cache.py :  Cache refactoring.  Eclass_cache is now just 
  a dict of stacked eclasses, but doesn't track per pkg eclasses.
  That is left up to the cache.  The cache now ignores/drops INHERITED- this 
  is replaced by _eclasses_, which is a serialized dict of 
  {eclass name: (on disk location, long(mtime))}.  Note the tuple- returns from the 
  cache subsystem *should* be tuples, just the same as mtime should be a long.
  aux_get *should* return INHERITED, but it should do it dynamically.
  Basically, INHERITED is determined on the fly from the cache's _eclasses_ setting.
  Beyond that, a sql cache template was added, along with a sqlite example.
  flat_list, along with a metadata/cache specific backend, and cache.util.mirror_cache, 
  for metadata transfers.
  Note all existing cache modules/implementations are now invalidated.  Sorry.  Upgrade em.
  Existing cache's on disk are invalidated also, with the exemption of portdir/metadata/cache.
  Old cache classes have been banished to the attic.

  08 Mar 2005; Marius Mauch <genone@gentoo.org> pym/portage.py, pym/ebuild.py:
  Fixing fetch restriction code. Replace references to PORTAGE_RESTRICT with 
  just RESTRICT and fix broken writemsg() calls.

  08 Mar 2005; Marius Mauch <genone@gentoo.org> pym/portage.py:
  Reverting broken patch for fakedbapi.cp_all(): it returned a nested list 
  instead of a simple list and was weird at best.

  06 Mar 2005; Brian Harring <ferringb@gentoo.org> autogen.sh:
  used for autogenerating auto* crap after a checkout.

  06 Mar 2005; Brian Harring <ferringb@gentoo.org> bin/emerge, pym/portage_dep.py, 
  pym/portage_file.py, pym/portage_util.py, pym/portage.py, pym/config.py, 
  pym/eclass_cache:
  Broke config class out into it's own module.  Minimal hacks, 3 from portage
  imports that can't be gutted till reliance on global db is gone.  Aside 
  from that, shifts of funcs around.
  Also broke eclass_cache out.

  06 Mar 2005; Jason Stubbs <jstubbs@gentoo.org> bin/emerge: Added a check
  to make sure the file exists before working with it, when called with an
  ebuild path. #84102  Fixed the invalid call to isvalidatom() #84144
  Expanded syslist during the unmerge phase so that all packages listed in
  system are correctly checked and warned against.  #83670

  02 Mar 2005; Jason Stubbs <jstubbs@gentoo.org> pym/portage.py: Fixed a
  var substitution that caused installed virtuals to not be considered.

  02 Mar 2005; Brian Harring <ferringb@gentoo.org> pym/ebuild.py: added a 
  check to force PORTAGE_LOGFILE to have the appropriate owner/perms.

  02 Mar 2005; Jason Stubbs <jstubbs@gentoo.org> pym/portage_util.py: Added
  missing bsd_chflags import required after forward porting.

  02 Mar 2005; Jason Stubbs <jstubbs@gentoo.org> pym/portage.py: Added -* to
  FEATURES before saving back to the env after modification.

  27 Feb 2005; Jason Stubbs <jstubbs@gentoo.org> bin/emerge pym/ebuild.py:
  Fixed a couple of syntax errors.

  26 Feb 2005; Jason Stubbs <jstubbs@gentoo.org> src/chflags/*: Added
  spb's bsd chflags support.

  26 Feb 2005; Jason Stubbs <jstubbs@gentoo.org> cnf/*: Brought forward
  changes from portage_2_0.

  26 Feb 2005; Jason Stubbs <jstubbs@gentoo.org> pym/*: Brought forward
  changes from portage_2_0.

  26 Feb 2005; Jason Stubbs <jstubbs@gentoo.org> bin/*: Brought forward
  changes from portage_2_0. Repoman is broken until pym/* is updated.

  25 Feb 2005; Brian Harring <ferringb@gentoo.org> pym/portage.py: 
  yanked PORTAGE_TMPFS support, no longer relevant since data is fed 
  back via daemon pipes, not via file on disk.

  24 Feb 2005; <solar@gentoo.org> bin/ebuild-default-functions.sh:
  - added manifest_files to USER_CONFIG_PATH+/manifest_excludes. The way it
  works is to add a file to /etc/portage/manifest_files and this file will be
  ignore when checking the Manifest. This is mainly only useful when you
  rsync_exclude a file thats list in the Manifest. (embedded)

  21 Feb 2005; Marius Mauch <genone@gentoo.org> bin/isolated-functions.sh,
  cnf/make.conf, cnf/make.conf.alpha, cnf/make.conf.amd64,
  cnf/make.conf.arm, cnf/make.conf.hppa, cnf/make.conf.ia64,
  cnf/make.conf.mips, cnf/make.conf.ppc, cnf/make.conf.ppc64,
  cnf/make.conf.s390, cnf/make.conf.sh, cnf/make.conf.sparc,
  cnf/make.conf.x86, pym/ebuild.py, pym/portage.py, pym/portage_const.py,
  +pym/elog_modules/__init__.py, +pym/elog_modules/mod_custom.py,
  +pym/elog_modules/mod_mail.py, +pym/elog_modules/mod_save.py,
  +pym/elog_modules/mod_syslog.py:
  New shiny flexible modular logging system. Supports logging of ebuild
  messages via syslog, mail and storing on disc with an optional command for
  post-processing. See make.conf on how to configure it. On the technical side
  it's one of the first pluggable subsystems, you can just put mod_foo in
  /usr/lib/portage/pym/elog_modules, set PORTAGE_LOG_SYSTEM=foo and all logs
  are processed by your new module (see existing modules for the very simple
  API).

  17 Feb 2005; Brian Harring <ferringb@gentoo.org> pym/portage.py, 
  pym/portage_db_flat.py: Collection of speedups, some massive. 
  J?rgen H?tzel <gentoo@hoetzel.info> deserves massive props for identifying
  a huge slow down in cp_all.  Aside from that, pushed the locking 
  rewrite for flat_list forward from stable, and cleaned up aux_get and
  eclass.is_valid.

  06 Jan 2005; Marius Mauch <genone@gentoo.org> bin/emerge:
  Fixing some calls to pkgsplit to not modify the returned tuple.

  29 Dec 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge: Sort the unmerge
  to make the --pretend output easier to review when there is a large list.
  Fixed depclean's attempt at modifying a tuple returned from pkgsplit.

  28 Dec 2004; Brian Harring <ferringb@gentoo.org> man/Makefile.am:
  Removed eclass man pages from makefile references.

  15 Dec 2004; Marius Mauch <genone@gentoo.org>
  bin/ebuild-default-functions.sh:
  Disabling the warning for GID=portage as it affects most/all packages and
  gets really annoying.

  14 Dec 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge pym/portage.py:
  Fixed emerge so that the "emerge by path" message is only shown when the
  "path" ends in .ebuild or .tbz2. Fixed the package.keywords bug that caused
  all packages to become unmasked.

  11 Dec 2004; Jason Stubbs <jstubbs@gentoo.org> pym/portage_syntax.py:
  Modified atom.match() to reflect the change of cpv becoming an attribute of
  atom.

  10 Dec 2004; Jason Stubbs <jstubbs@gentoo.org> pym/portage.py: Fixed a bug
  due to the cleanup patch where zfill() was being called on an integer.

  09 Dec 2004; Marius Mauch <genone@gentoo.org> bin/ebuild-functions.sh:
  Fixing stupid typo that broke einstall for CONF_LIBDIR archs.

  09 Dec 2004; Marius Mauch <genone@gentoo.org>
  bin/ebuild-default-functions.sh:
  Changing LDFLAGS to CFLAGS for the setXid check.

  08 Dec 2004; Marius Mauch <genone@gentoo.org> pym/portage.py:
  Changing CWD back to the original value broke verify-rdepend, fixing it with
  the same code as used for collision-protect. Also made the time displays in
  treewalk more readable.

  08 Dec 2004; Jason Stubbs <jstubbs@gentoo.org> portage_syntax.py: Inital
  commit. Refactors all of portage_versions.py and some functions from
  portage.py into a CPV class and an Atom class.

  08 Dec 2004; Jason Stubbs <jstubbs@gentoo.org> ebuild-default-functions.sh
  emerge portageq portage.py portage_dep.py portage_exec.py portage_util.py
  portage_versions.py: Added Ludal's clean up patch. #69523

  05 Dec 2004; Brian Harring <ferringb@gentoo.org> tarball.sh: Yanked
  the script- A) it's specific to nicks setup, B) the tarball/release 
  creation functionality is already handled by the autotooling of portage
  (make dist), C) make dist does it better, and automatically handles
  pulling in all required deps as an ancillary function of it's building/installing,
  D) make dist requires no specific maintenance while tarball.sh does.

  05 Dec 2004; Brian Harring <ferringb@gentoo.org> pym/cache, pym/cache/template.py,
  pym/cache/fs_template.py, pym/cache/sql_template.py, pym/cache/flat_list.py, 
  pym/cache/anydbm.py, pym/cache/sqlite.py, pym/cache/cache_errors.py, 
  pym/cache/__init__.py:  Cache refactoring, not active in the code currently.
  All backends should work, although the code is not finished.  Locking support
  needs to be added into fs_template- possibly do it in the derived fsbased 
  backeends, since locking for flat_list is quite different from locking for 
  anydbm.

  05 Dec 2004; Nicholas Jones <carpaski@gentoo.org> pym/portage.py: swegener
  made quite a find in portdbapi.cpv_exists, the comparison on the tuple
  returned by findname2 always evaluated true.

  05 Dec 2004; Nicholas Jones <carpaski@gentoo.org> bin/: Added SpanKY's
  patch for stripping coherency -- All stripping is performed in prepstrip.

  28 Nov 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild-daemon.sh: 
  Correction of return code for execute_phases w/ logging.

  26 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge: Fixed a bug in
  graph_display.use_flags().

  24 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge: Fixed a bug in
  the relevant package calculation for dep display.

  24 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge: Added the removal
  of fully installed dependency subtrees causing faster calculation due to less
  circular dependencies.

  23 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge: --columns
  support is in and working. Algorithm has changed a little so that the minimum
  space is used while keeping 2 spaces between all columns.

  23 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge: Added class
  graph_display and moved most of depgraph.display() into various functions
  of it. --columns and --resume are not yet supported with it, so the
  depgraph.display() has been kept for the time being.

  23 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> pym/portage.py: Commented
  the deprecation notice for /etc/portage/virtuals as it does not yet have
  a newer counterpart.

  22 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/transports/fetchcommand.py:
  spawn_bash, not spawn.

  22 Nov 2004; Brian Harring <ferringb@gentoo.org> src/filter-env/posix.c:
  Anchor generated regex filters, fix to the damned looping over stdin still.

  22 Nov 2004; Brian Harring <ferringb@gentoo.org> src/filter-env/posix.c:
  Final bugs should be shaken out of the pipe reading now.
  realloc and I don't get along.

  22 Nov 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild-functions.sh:
  econf now ignores update_confcache's exit_code, and uses configure's.  Should
  kill off the occasionaly "couldn't update confcache" and killing of compile phase.

  22 Nov 2004; Brian Harring <ferringb@gentoo.org> src/filter-env/posix.c:
  Commited what should be a fix for the "lets randomly drop part of the env"
  issue that's been around lately.   Basically, it looks like it wasn't reading
  all of what was dumped to stdin.  Converted it to fread/fopen based, and used
  feof.  General cleanup aside from that, close fd's on the way out, etc.

  20 Nov 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild.sh:
  filter-env is now in use.  In other words, you *will* have to do 
  the configure/install to get the binary, since it *is* required for
  correct env processing.  I tried a host of other solutions, so far 
  I can't break this one (aside from dumb typos in the code).  Processing 
  the envs from kdelibs/arts is now possible again.

  20 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portage_const.py:
  Added compatibility hack due to sandbox being moved.  Will remove it once 
  people have shifted over to using the split out sandbox's new location.

  20 Nov 2004; Brian Harring <ferringb@gentoo.org> <collection-of-files>:
  Portage is now autotool'd, w/ relevant configure.  Needs work, specifically,
  cnf installation isn't there yet- would prefer to add that when the 101 arch 
  specific make.conf's are collapsed down to one file.  Note sandbox was busted 
  out, and moved into it's own module.

  18 Nov 2004; Marius Mauch <genone@gentoo.org> pym/portage_versions.py:
  Fixing version regexp to allow weird package names.

  15 Nov 2004; Marius Mauch <genone@gentoo.org> bin/ebuild-default-functions.sh:
  NEVER try to change permissions on symlinks, stupid chmod will change the
  referenced files instead (fixed the portage uid/gid checks in dyn_install)

  15 Nov 2004; Nicholas Jones <carpaski@gentoo.org> portage.py, portage_gpg.py:
  Fixes for the gso changes in gpg. Removed the 'virtuals' file handling
  which caused an empty file to be recreated. Added XXX marks on potentially
  bad calls.

  14 Nov 2004; Brian Harring <ferringb@gentoo.org> spec/emerge.syntax:
  Bye bye emerge.syntax, we hardly knew ye.

  14 Nov 2004; Marius Mauch <genone@gentoo.org> bin/emerge, man/make.conf.5,
  spec/emerge.syntax, cnf/make.conf.*, cnf/make.globals*:
  removing all support for AUTOCLEAN=no, it's breaking too many things these
  days and has no real use anyway.

  10 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/dcache.py:
  Updated to make it more memory efficient- slots based, uses weakref
  to handle symlink'd dirs.  Still a bit slower, but it's also stat'ing
  all directories upto the target directory.  That can probably be removed.
  Note, there is a bug in it currently- invalidate isn't a valid node method.
  Nobody should hit this though, since dcache is only used in treewalk.
  I'll correct it in a few days.

  10 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portage_locks.py:
  Reversion of lock choice strategy to what I stuck in originally, and 
  removal of the 3s sleep in hardlink.  The 3s is obviously bad, the 
  reason for reverting to trying flock then lockf then hardlink is simple-
  hardlink is slow, and requires creation of extra files on disk.  It
  also won't behave with fd's passed in (which should be used often, 
  rather then this lets default to creating lots of files strategy.  This makes 
  a huge difference in runtime in certain cases.  Case that exposed this- 
  9m relying on lockf -> hardlink reduced to 1.5m for flock -> lockf -> 
  hardlink.  The difference?  lockf didn't work on that fs, so it was using
  hardlink.  Leave it in, it's faster, it's redundant, and it works.

  10 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py,
  pym/portage_versions.py: Moved catsplit into versions and updated
  references to it.  Likely just broke a few external tools (assuming
  they were coded correctly and weren't abusing string.split("/")).

  10 Nov 2004; Brian Harring <ferringb@gentoo.org> 
  bin/ebuild-default-functions.sh, bin/affect-fakeroot-perms.sh:
  Closing out bug where suid/sgid is wiped by chowning,
  noticed a similar issue in affect-fakeroot-perms. (#56129)

  10 Nov 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild.sh:
  Dropping all support for reloading env attributes from a .51 dump.
  It wasn't implemented correctly, and it's not worth the duct tape
  and questionable code to try and half-ass support it.

  10 Nov 2004; Brian Harring <ferringb@gentoo.org> bin/etc-update:
  Fixed etc-update so it actually runs; long story short, the portageq
  calls for getting CONFIG_PROTECT(|_MASK) were wrong.

  10 Nov 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild.sh:
  Added kludge to filtering for env reloading to match the export kludge
  added to 2.0.51.  This code must stay in as long as .51 env's 
  *potentially* exist on a users system.

  10 Nov 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild-daemon.sh:
  Made it much more noisy when a violation is hit.

  10 Nov 2004; Brian Harring <ferringb@gentoo.org> 
  bin/affect-fakeroot-perms.sh:  rewrote this script so that it's less 
  likely to piss off fakeroot by spawning multiple instances of a client.

  10 Nov 2004; Marius Mauch <genone@gentoo.org> +pym/portage_versions.py,
  bin/db-update.py, bin/emerge, bin/fixvirtuals, bin/pkgname, bin/repoman,
  pym/ebuild.py, pym/portage.py, pym/portage_dep.py:
  Integrated the new version parsing and comparison code from bug #37406, moved
  pkgsplit, catpkgsplit, pkgcmp, vercmp and ververify in portage_versions.py
  and changed all calls to them. The new code allows for more flexible 
  version strings, some functions probably still have to be fixed to work
  with those new extensions.

  09 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/dcache.py, 
  pym/orig_dict_cache.py, portage.py:  Removed listdir optional arg
  EmptyOnError- wasn't abided by for non-recursive calls, for recursive calls
  it only returned None when recursing.  Optional arg wasn't used, so it's gone.
  Moved followSymlink logic into listdir, so that orig_dict_cache is strictly
  a caching mechanism.  Added dcache, a symlink aware list based cache class.
  dcache needs work, but reduces listdir($IMAGE_OF_XORG,recursive=1) from 
  spending hours to return (on my machine), to around a minute.
  Made dcache active *only* for treewalk currently, since that's the 
  instance where the original cache implementation's lack of symlink-awareness
  made things bad.

  09 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/ebuild.py: make
  prelink + confcache play nice (calc_prelink=1).

  09 Nov 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild-daemon.sh:
  Added appropriate addwrites for logs for -r3 sandbox, and corrected logging
  for bash v2 systems.

  09 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: Corrected
  som idiocy I introduced into listdir.

  09 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: buggy logic
  in listdir w/ ignorecvs on. (#70170)

  08 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: tweaked
  portage.exit_callbacks so it's more flexible.  
  Call portage.append_exit_callback to append to it, optionally specifying args
  and keyword args.

  08 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portageq.py, bin/portageq:
  Tied portageq script into using the portageq module.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> bin/repoman: converted repoman
  over to using the users preferred fetcher (via portage.get_preferred_fetcher,
  oddly enough).

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/transports/fetchcommmand.py:
  corrected an issue where it wasn't correctly parsing out an appropriate distdir
  when file_name was specified.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild-default-functions.sh: 
  addition of INSTALL_MASK support to dyn_preinst.   #67190

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portage_db_flat.py: added a
  mtime cache to revert the the # of stats to 1 for aux_get calls (which calls 
  get_timestamp).

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portage_exec.py, sync/rsync.py:
  Bug fixes for selinux.setexec typo, and noisy rsync.  Aside from that, a collection
  of header updates.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portage_util.py,pym/portage.py:
  tweak to make movefile not implode, and get_preferred_fetcher not implode.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portage_metadata.py, 
  pym/orig_dict_cache.py, pym/portage.py, pym/portage_util.py: Added missing 
  metadata module (contributed via solar iirc), and corrected circular dependency
  issue regarding portage_util trying to provide backwards compatability via
  portage_util.normpath.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/ebuild.py: forgot to commit this
  in the last commit.  Kind of required. :)

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py, bin/emerge, 
  bin/env-update, bin/repoman, cnf/make.conf, pym/ebuild.py, bin/affect-fakeroot-perms.sh:  Merge of the 
  ebuild-daemon code (ebuild.py), along with massive shifts/cleanup/fixes.  At this
  point, the env of an ebuild *should* be perfectly preserved, and used.  This deprecates
  portage.doebuild, in favor of eventually calling an ebuild.py:process_phase.  The 
  code of doebuild now exists as ebuild.py:__adjust_env.  That code needs cleanup, 
  and splitting.  Rough stats for the daemonized ebuild processor code is a 33% reduction
  in run time for a full regen, with the initial framework laid out to allow parallel
  regens on smp systems.  Aside from making all of the previous refactorings active
  (sync refactoring in emerge, transports refactoring in portage.py and repoman), this 
  adds the following-
  portage.exit_callbacks- append a function to this list, and it'll be called at shutdown
  FEATURES="verify-rdepend"- don't trust the packages stated rdepends, ldd the crap out of 
  the package to verify it.  When severe is on, bail, if unstated rdepends are encountered.
  FEATURES="prelink"- do prelinking of binaries after merging.  Initial patch submitted by
  Urilith.
  FEATURES="userpriv_fakeroot"- run the install phase in userpriv'd fakeroot instance, removing
  the root requirement for all building phases but setup
  FEATURES="confcache"- a implementation of stuart's confcache alg, minus the sandbox
  modifications.
  FEATURES="parallel-fetch"- bug #1661, fork and fetch while merging.  Requires distlocks to be 
  enabled, and only kicks in when more then one package is being merged.  This is based on 
  portage_exec.spawn_func, and depgraph.__fetch.
  Aside from the feature additions, a large amount of code shifting to break the need for 
  globals, and try to centralize the code for modularizing (this is the start of it).
  A large amount of code cleanup in addition.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild-default-functions.sh:
  Compatability hack to treat USE="selinux" as both a feature, and use.  With the 
  env saving/restoring, it's possible a binpkg is created on a non-selinux system- 
  the use vars are preserved and reused, so that systems USE="-selinux", merged on a 
  selinux system results in preinst's selinux code not being executed.  No labels.
  That's bad.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portageq.py: 
  Isolated functions from bin/portageq.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild: missing
  portage_util import.  Only exposed when intentionally bailing out of a
  phase that is executing.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild.sh, 
  bin/ebuild-default-functions.sh, bin/ebuild-function.sh, 
  bin/ebuild-isolated-functions.sh: Env clean ups, fixups.  Not compatable
  with doebuild at this commit, since it tries to write back via pipes.  
  To make it compatible (should a revert occur), define an appropriate speak
  funciton.  This commit closes out #52652, #51552, #51370, #46223, potential issues
  from installed ebuilds not functioning correctly due to assuming use/has behave a
  certain way #40993, ultimately #56408.  Essentially, this is all the required
  bash modifications to properly save/restore the env, allowing for ebuilds to 
  be uninstalled despite eclasses/ebuilds no longer existing.  Also contains a 
  fair amount of protective code, since older env savings were incorrect.  Additionally,
  it properly restores variables attributes- export fex, shopt, etc.  This is the basis
  of the ebuild-daemon.
  Finally, adds (pre|post) hooks for all relevant ebuild phases.  Required, since 
  /etc/portage/bashrc is sourced only once.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> pym/portage_util.py: 
  fixed import issue.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> portage_dep.py: code
  transfer out of portage.py.  Functions are still in portage.py at this point, 
  removed shortly.  Closes a few bugs with paren_reduce not returning a list, 
  but a tuple also.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> portage_db_template.py,
  portage_db_flat.py: Addition of get_timestamp, way of requesting -just- the
  mtime.  Useful for speeding up checking if an entry is stale, if the mtime 
  differs, no need to read the file in- you know it's stale already.  Cuts down
  on a few syscalls.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> sync/__init__.py, 
  sync/parseuri.py, sync/cvs.py, sync/rsync.py, sync/snapshot.py, 
  bin/emerge-webrsync: Rewrite of Marius Mauch's (genone) sync refactoring code.  
  Relies on the transport refactoring for snapshots module.  This obsoletes 
  emerge-webrsync.  Supports old SYNC format for cvs, and new- new being
  SYNC="cvs://[CVS_RSH:]user@host:cvsroot:cvs-module".  New is preferred, otherwise
  have to assume CVS_RSH=ssh, and cvs-module=gentoo-x86.  Example of new-
  SYNC="cvs://ssh:ferringb@cvs.gentoo.org:/var/cvsroot:gentoo-x86"
  The snapshot uri is a bit odd, possible to rework it I'd think- either
  SYNC="snapshot"
  which pulls a mirror to use from portage.thirdpartymirrors["gentoo"], or explicitly
  SYNC="snapshot-[mirror-uri]".  fex
  SYNC="snapshot-http://gentoo.chem.wisc.edu/gentoo/snapshots" would use 
  snapshots from gentoo.chem.wisc.edu. Sync uri for rsync is unchanged.
  This is just the requisite code, the conversion to emerge to use it shall follow.
  (#35535).

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> transports/__init__.py,
  transports/bundled_lib.py, transports/fetchcommand.py: Fetch refactoring.
  Basically, a rewrite of portions of getbinpkg in httpConnection, and ftpConnection.
  Those classes are hidden behind BundledConnection, which has an api that is 
  the same as fetchcommand.py:CustomConnection- that class abstracts the parsing and
  handling of (FETCH|RESUME)COMMAND, and their protocol specific settings into a central
  class.  Code isn't in use as of this commit, but will be in use once ebd's code is 
  fully in cvs (portage.py commit essentially).  The sync refactoring also uses it.
  bug #23327 also is addressed, although it's ancillary- bundledConnection is able
  to handle specific user/passwd, although for fetchcommand, we need to add a specific
  user/password set of variables.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> orig_dict_cache.py:
  Transfer of the cacheddir func out of portage.py, and into it's own module.
  Current implementation isn't symlink aware, and has other issues (follow_symlinks
  fex).  This shift of it is intended so replacing it just involves creation and 
  importation of an alternative caching module.

  07 Nov 2004; Brian Harring <ferringb@gentoo.org> portage_exec.py, 
  portage_checksums.py, portage_gpg.py, portage_const.py, portage_util.py,
  portage_locks.py:  Code cleanup, moves, and shifting away from 
  commands.gso to portage_exec.spawn_get_output.  Multiple additions to 
  portage_exec adding fakeroot support, a native collect status output, 
  and centralized code for killing off a set of pids.  Correction to 
  portage_exec so that the spawned_list is correctly pruned- previously it 
  was a list of _all_ pids spawned, so portage could try to kill off a pid 
  that was previous a child, but by chance a new process runs as (depends on
  how random the pid selection is).  Aside from changes to cleanup, these changes
  are mostly standalone.
  Additionally, moved selinux context switching into portage_exec post-fork- 
  just specify the desired selinux_context, and it'll make the switch- if
  portage_exec.selinux_capable, it makes the switch.  Otherwise, it ignores it.
  Finally, new function added, spawn_func.  Pass in a python function, it'll fork,
  then call the function w/ the args/kwargs passed to it- optionally using an additional
  passed in function to interpret the results, and return an appropriate exitcode.
  Also, a *large* amount of inline documentation is contained in this commit.

  07 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> dispatch-conf: Moved back
  to the version of dispatch-conf that was released (due to python-2.2
  compatibility) and fixed a small type in that version. #70282

  07 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> portage_dep.py emerge: Added
  a few more readable optimizations to the DependencyGraph class along with
  apprioriate comments. Changed all usage of digraph in emerge to use the new
  DependencyGraph class.

  06 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> portage_dep.py emerge:
  Added full code comments to the DependencyGraph class. Did some code
  optimization where readability was not adversly affected. Removed the
  testing output from emerge.

  06 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> portage_dep.py emerge:
  Added a reimplementation of digraph. Still some work to do (including
  comments) in order to support the differences between *DEPEND. Modified
  emerge a little to build up both dep graphs for testing purposes.

  05 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> doins: Added vapier's fix
  for doins changing existing directory permissions. #69896

  04 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> tbz2tool.c: Added include
  for stdlib.h as per vapier's bug report. #70001

  04 Nov 2004; Marius Mauch <genone@gentoo.org> pym/portage.py: Added
  a 'return 0' in treewalk() to avoid the "Unable to run required binary"
  problem.

  03 Nov 2004; Brian Harring <ferringb@gentoo.org> portage_dep.py: Bug in
  paren_reduce where it was returning a tuple, not a list.

  03 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> dispatch-conf: Simplified
  the temp file creation and usage.

  03 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Fixed issues
  with PROVIDE calculation by flattening the dep array. #32114

  02 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Fixed two bugs
  in the ExtractKernelVersion changes as per dsd's patch. #67804

  02 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> ebuild.sh: Turned off
  shell option extglob as it interferes with the g++ QA interceptor. #69690

  02 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Fixed a bug
  where a broken symlink blocking the installation of a regular file would
  cause a traceback. #69672

  02 Nov 2004; Jason Stubbs <jstubbs@gentoo.org> quickpkg: Applied vapier's
  fix for processing file names that contain spaces. #36997  Applied
  vapier's fix for parallel quickpkg's writing to a single log file. #37270

  31 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> g-cpan.pl: Applied fix
  for case-less matching of packages names. #69464

  31 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Updated
  ExtractKernelVersion() to support 2.6.9's new localversion. #67804
  Reordered a cache update and a return statement so that the cache is
  actually updated in ververify. #69523

  31 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> bin/ebuild: Added missing
  portage_util import.

  29 Oct 2004; Brian Harring <ferringb@gentoo.org> emerge: Close stdin after 
  the spawn fork for rsync, not in global scope.  #68946

  29 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> emerge: Fixed issue where
  emerge adds package to world when --onlydeps is specified. #69260
  Fixed issue where emerge was adding packages to world when --uprade is
  specified even if the package is already installed. #69287 Fixed logic
  in path/to/ebuild check so that symlinks do not cause false positives.

  29 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> dispatch-conf: Added usata's
  fix for mac-os compatibility. #69304

  29 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> getbinpkg.py: Reversed the
  logic of ftp passive-mode selection. #69371

  28 Oct 2004; Brian Harring <ferringb@gentoo.org> portage.py: Closed out 
  an issue with config.reset() gradually nuking items out of backupenv- 
  identified by Ludovic Aubry, solved w/ his provided fix. (#69388)

  28 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> emergehelp.py: Fixed up
  some incorrect descriptions. Added documentation for new and changed
  functionality. Removed documentation for deprecated options.

  28 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> getbinpkg.py: Added missing
  substitution of ${FILE} in resume command. #69068

  28 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> repoman: Fixed aux_get error
  due to calling getfetchlist() when an ebuild no longer exists. #69051

  28 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> emerge: Removed a duplicate
  loop from the userquery function. #69020

  27 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> dispatch-conf: Moved temp file
  creation into a safe directory under /tmp. Made the log file a configurable
  option that is disabled by default.

  26 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py:  Added a check to
  portdbapi.fetchcheck to account for a missing digest.

  26 Oct 2004; Brian Harring <ferringb@gentoo.org> portage_exec.py, bin/ebuild:
  bug with the path lookup code (added find_binary func for upcoming additions), 
  and bin/ebuild was bailing due to a missing portage_util import.

  25 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Wrapped entire
  lock-holding section of fetch() in a try-finally to ensure that the lock
  file gets released regardless of exception.

  25 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> etc-update: Added patch
  from #48218 to continue on to next file when answering "no" to the
  interactive replace prompt of menu option -3.

  25 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> emerge: Fixed the space/tab
  usage through the spinner_msgs definition. Removed COMPILER from emerge info
  output.

  25 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Converted
  config.pkeywordsdict from {atom:[keyword]} to {cp:{atom:[keyword]}} to
  prevent a lot of unnecessary calculation.

  24 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> emerge: Added a percentage
  counter to the cache update phase based on patch from #68694

  24 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py:
  s/macos/ppc-macos/ change.

  24 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> portage_locks.py
  portage_db_flat.py: Fixed a couple of race conditions with regard to
  stating files.

  23 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py portage_util.py:
  Added syntax checking for package.mask, package.unmask and packages files.

  23 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> dohtml: Reimplemented the
  option processing to remove the dependency on optparse.

  23 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> repoman: Made the invalid
  profile slightly more intelligable and got rid of the duplicate. Moved
  the profile KEYWORDS.invalid failure so that it only occurs if the
  corresponding KEYWORD is valid.

  23 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Added settings
  parameter to dep_virtual as the virtuals can now change during dep graph
  creation. #68220

  23 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> repoman: Changed repoman to
  use the first stable profile found for each arch listed in profiles.desc
  rather than the last profile listed. Added notification on any invalid
  profile in profiles.desc. Made exception into a repoman error where a
  ebuild is using a keyword for which no profile can be found.

  23 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> repoman: Fixed traceback in
  repoman on invalid LICENSE syntax.

  22 Oct 2004; Brian Harring <ferringb@gentoo.org> ebuild.sh: silencing use/has.

  22 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> emerge: Added python version
  to "emerge info" output.

*portage-2.0.51-r2 (20 Oct 2004): Everyone loves finding bugs in stable!

  20 Oct 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Fixed the result
  checking when ebuilds are called -- this removes the continuing-after failure
  big discovered by AMD64 today.

  20 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> emerge: Fixed a bug where
  users were warned against emerging by path when a file/dir exists of the
  same name of the package to be merged. #68372  Added an warning with delay
  when emerging an ebuild that is masked.  Added a check on PORTAGE_GPG_DIR
  which removes "gpg" from FEATURES on an invalid settings. #68387

*portage-2.0.51 (20 Oct 2004): Everyone loves stable!

  19 Oct 2004; Nicholas Jones <carpaski@gentoo.org> portage.5: patch included
  to fix a few typos.

  19 Oct 2004; Nicholas Jones <carpaski@gentoo.org> g-cpan.pl patch included
  that doesn't recreate inherently-created ebuilds.

  20 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> repoman: Added check for
  digest entries that aren't used within the corresponding ebuild's SRC_URI.

  20 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> emerge: Added support for
  EMERGE_WARNING_DELAY defaulting it to 10. Changed all the hardcoded delays
  to use it. Needed for the catalyst guys as it includes a number of unmerges
  of system packages.

  20 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> emerge: Changed the
  /path/to/ebuild warning. Added a check on what ebuild is chosen and
  a failure if it doesn't match what was specified. Added the same for
  /path/to/tbz2.

*portage-2.0.51_rc10 (19 Oct 2004): Potential Final #1.

  19 Oct 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Visual acuity
  enhancements. Fixed all the spaces in the option handling.

  19 Oct 2004; Nicholas Jones <carpaski@gentoo.org> emerge.1: Updated for
  'f' and 'S'.

  19 Oct 2004; Nicholas Jones <carpaski@gentoo.org> getbinpkg.py: Potential
  fix for a missing dict key.

  19 Oct 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Prelink
  tempfile per pid.

  18 Oct 2004; Nicholas Jones <carpaski@gentoo.org> *.py: Added a protocol
  change for cPickles to make them more efficient (binary).

  18 Oct 2004; Nicholas Jones <carpaski@gentoo.org> sandbox: Fixes for some
  incorrect indexes that cause some boxes to have very random issues.

  18 Oct 2004; Nicholas Jones <carpaski@gentoo.org> portage_locks.py: Reverted
  the lock code to the lockf()+hardlock version as the new code has some
  inexplicable incompatibility with NFS.
  
  18 Oct 2004; Nicholas Jones <carpaski@gentoo.org> portage_exception.py: Added
  a couple exceptions pretaining specifically to packages and digests.

  18 Oct 2004; Nicholas Jones <carpaski@gentoo.org> portage_checksum.py: Now
  takes care of missing files better for the partial-digest handling.

  18 Oct 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fixed up some
  of the output lines to use writemsg instead of print. Adjusted the fetch
  code to handle partial-digests. digestCreate can substitute in old digest
  entries now for missing files -- the assumption is that they are correct.
  Portage no longer downloads all parts when FEATURES=cvs is enabled, but
  does require a complete digest to commit, whether it was created piecewise
  or en masse. Added 'fetch_check' to portdbapi which helps with with emerge's
  pretend output for Fetch-Restriction.

  18 Oct 2004; Nicholas Jones <carpaski@gentoo.org> repoman: Added in support
  for partial-digests -- It complains, downloads, and adjusts. Sorted the QA
  categories to make them easier to scan.

  18 Oct 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Added -F to force
  all URIs to be downloaded. Added in a green, lowercase 'f' when the fetch
  restriction is satisfied for pretend. Added Kevin Quinn's patch for some
  prepstrip sanity and friendliness regarding TEXTRELs.

  18 Oct 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Added a message
  about use/useq/usev. CCACHE_DIR and CCACHE_SIZE are now properly exported.
  
  17 Oct 2004; <genone@gentoo.org> pym/portage.py:
  Added a followSymlinks parameter to listdir() as otherwise it gets stuck in
  an infinite loop when it encounters self-referencing symlinks, this behavior
  was exhibited by the collision-protect feature.

  17 Oct 2004; Brian Harring <ferringb@gentoo.org> portage-locks.py: Tweaked 
  unlockfile, no point in attempting to relock the file for deletion, if you're 
  not deleting the lockfile (basically moved locking w/in if unlinkfile).

  17 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> emerge portage_locks.py:
  Added more information to the --inject deprecation notice. Removed the sleep
  call from unlockfile as it severely affects performance (apparently only
  under some schedulers)

  16 Oct 2004; Brian Harring <ferringb@gentoo.org> portage_locks.py: Corrected 
  a bug involving unlocking + lockf.

  12 Oct 2004; Brian Harring <ferringb@gentoo.org> portage_exec.py: spawn_sandbox
  wasn't passing the opt_name down to spawn, it now does.

  11 Oct 2004; Jason Stubbs; <jstubbs@gentoo.org> emerge: Reverted back to
  previous command line parsing code as --search options were being mishandled.

  11 Oct 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fix for the
  SHA1 digest slipout and the exec missing/broken binary traceback.

  11 Oct 2004; Nicholas Jones <carpaski@gentoo.org> pym/*: See below.

  11 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> bin/*: Added catching and
  propogating of SystemExit exception to all blanket exception handlers.

  11 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> repoman: Fixed repoman LICENSE
  check to accept || () conditions.

*portage-2.0.51_rc8 (10 Oct 2004): RC + Lock cleanup, Happy RC #4

  10 Oct 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Added in close()
  calls to ensure that control-C gets intercepted by portage instead of the
  children. Added in a re-raise for the SysExit exception inside of the
  regen and metadata targets.
  
  10 Oct 2004; Nicholas Jones <carpaski@gentoo.org> cnf/make.conf*:
  benno@nietvergeten.nl's touchups to make.conf files.

  10 Oct 2004; Nicholas Jones <carpaski@gentoo.org> sandbox/*: Includes one
  of solar's patches to fix up potential holes in sandbox.

  10 Oct 2004; Nicholas Jones <carpaski@gentoo.org> portage_exec.py: Added
  a cleanup routine.

  10 Oct 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: A could cwd
  fixes and removed the compat-writing for digests.

  10 Oct 2004; Nicholas Jones <carpaski@gentoo.org> md5check/mirror: brought
  them more up to date for the digest changes.

  10 Oct 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Moved the imports
  around to ensure that portage.py gives output on failure instead of emerge
  just dying. Added '-1' as a short for oneshot. Added shorter messages for
  the titlebar. Fixed signal handling more -- Emerge sets up a handler that
  calls to portageexit() before quitting normally.

  10 Oct 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Changed around
  the tarvars to make them STAR friendly. Added ECONF_SOURCE as a way to move
  econf out of the source directory and into a new build directory -- it
  defines the path to configure, not the command. Added CTARGET support. Added
  an rm for the infodir entries installed by autoconf so they don't kill what
  portage regens and vice versa.

  10 Oct 2004; Nicholas Jones <carpaski@gentoo.org> doins: Added Spanky's
  recursion patch.

  10 Oct 2004; Nicholas Jones <carpaski@gentoo.org> dolib: Added Spanky's
  symlink fix and condensed dolib*.

  10 Oct 2004; Nicholas Jones <carpaski@gentoo.org> doman: Added Spanky's
  i18n patch.

  08 Oct 2004; Brian Harring <ferringb@gentoo.org> portage_exec.py: Removed 
  the portage_exec.spawn_bash call for tee logging- instead, transferred in 
  some code that does path lookups (closer to the older portage.spawn call).
  Path lookup by default is on, but can be disabled via path_lookup=False.

  08 Oct 2004; Brian Harring <ferringb@gentoo.org> portage_locks.py: Reverted 
  to using flock by default- if it fails (unavailable), -then- use lockf, then
  hardlink.

  07 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Updated
  portdbapi.getfetchsizes function for new digestParseFile return values.

  05 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> quickpkg: Fixed bug whereby
  creating a package from within /var/db/pkg/cat and specifying pkg would
  create a broken package.

  05 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> emerge: Modified output for
  slotted installations. #26139

  05 Oct 2004; Jason Stubbs <jstubbs@gentoo.org> emerge: Refactored argv
  processing a little bit and made "emerge rsync" to emerge rsync with notice
  and "emerge --rsync" to emerge --sync with notice.

  05 Oct 2004; Nicholas Jones <carpaski@gentoo.org> portage_util.py: grabfile
  now handles a compat_level option for comment-based compatability changes --
  This feature is for migration only and is thus transitory.

  05 Oct 2004; Nicholas Jones <carpaski@gentoo.org> portage_exception: Added
  a DigestException which is a SignatureException.

  05 Oct 2004; Nicholas Jones <carpaski@gentoo.org> perform_checksum.py: Added
  a perform_all() and verify_all() functions that handle the new dict of hashes
  that digestParse returns -- It creates hashes for all the listed/known
  formats or verifies them all returning a tuple of ok,reason.

  05 Oct 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Cleared up
  a few system-package import-alls (stat,commands) -- If it breaks something,
  they can fix their code -- They are standard modules. Removed the import
  for select, as it appears nowhere in usage. Changed the portage_data import.
  Added exithandler() back into usage, it was disabled -- Also corrected it's
  handling. Unified the digest-parsing code and made it into an intelligable
  dict instead of the fixed format. Merged digest functions and added SHA1
  (arbitrary) handling in a new COMPAT mode using comments until we get the
  handling transitioned into common usage. digestCreateLines() handles the
  compatibility line values, and grabfile() has a compat-level handler.

  05 Oct 2004; Nicholas Jones <carpaski@gentoo.org> man/*: Random touchups.

  04 Oct 2004; <jstubbs@gentoo.org> pym/portage.py: Added fix for config
  protection failure when destination is a symlink. #13007

  04 Oct 2004; <jstubbs@gentoo.org> bin/repoman: Added detection of multiple
  overlays to repoman.

  04 Oct 2004; <jstubbs@gentoo.org> bin/repoman: Added repoman check
  for DEPEND-syntax following LICENSEs.

  03 Oct 2004; <genone@gentoo.org> pym/emergehelp.py:
  Add --metadata documentation to --help output.

  03 Oct 2004; <genone@gentoo.org> cnf/*, man/emerge.1, man/make.conf.5, 
  man/portage.5, pym/emergehelp.py:
  Changed documentation to use --action instead of action (bug #2365). 
  Also changed ufed references in make.conf to use the correct category.

*portage-2.0.51_rc7 (30 Sep 2004): RC + Lock cleanup, Happy RC #3

  30 Sep 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Rsync fix part 2
  for the distfiles, local, and packages directory unlinks.
  
  30 Sep 2004; Nicholas Jones <carpaski@gentoo.org> emerge-webrsync: Fix for
  the missing md5sum causing failure to download. Fixed up a couple messages.
  Modified the local rsync line.
  
  30 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Make more of
  the chown calls friendly. More output on strange exceptions in aux_get.
  
  30 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_db_template.py:
  Added some more putput to the corruption message.

  29 Sep 2004; Jason Stubbs <jstubbs@gentoo.org> output.py: Added unicode-rxvt
  to the list of legal term types. #65762

  28 Sep 2004; Jason Stubbs <jstubbs@gentoo.org> etc-update: Added patch to
  use gsed on BSD from bug 60721.

*portage-2.0.51_rc6 (26 Sep 2004): RC + Lock cleanup, Happy RC #2

  26 Sep 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Restart fix for
  the -a into execv code.
  
  26 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_locks.py: Fixed
  a traceback for Fat32 users.

*portage-2.0.51_rc5 (26 Sep 2004): RC + Lock cleanup, Happy RC #1

  26 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_data.py: Fixed
  the BSD lchown issues.

  26 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Added the
  selinux secure dirs patch.

  26 Sep 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Modified the
  spinner again, --nospinner provides a basic ticker of one '.' per 100,
  normal spinner is the twirly one, and the FEATURES=candy spinner is a
  scrolly message.
  
  26 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_locks.py: Fixed it.
  Discovered that the hardlocks were failing due to the creation of the lock
  prior to the link operation which was due to the NFS fcntl lock failure.
  
  26 Sep 2004; Jason Stubbs <jstubbs@gentoo.org> pym/portage.py: Added
  support for per profile package.mask. Included check of packages file
  to ensure that the profile depends on an adequate portage version.

*portage-2.0.51_rc4 (26 Sep 2004): RC + Lock cleanup

  26 Sep 2004; Nicholas Jones <carpaski@gentoo.org> bin/clean_locks: A new
  tool to aid in the maintainence of hardlock-based locks. It can clean
  all locks from a directory or just the ones pertinent to the running host.

  26 Sep 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Updated the
  spinner.

  26 Sep 2004; Nicholas Jones <carpaski@gentoo.org> cnf/*: Added distlocks
  as a default feature. Added comments on distlocks and maketest and gpg.

  26 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_locks.py: Lots
  of changes. Corrected the lockfile code to be an IOError. Added some
  helper functions to reduce duplication in the hardlink code. Added a
  callback to a cleanup function registered with atexit to ensure we clean
  locks up on normal terminations. Fixed the code to actually work on most
  NFS systems and hopefully have the fallback (INODE test) working on
  very broken systems. Added a cleanup function that is interfaced through
  the clean_locks script and the registered atexit call.

*portage-2.0.51_rc3 (26 Sep 2004): And we have another Release Candidate!

  26 Sep 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Modified the
  spinner.
  
  26 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_db_flat.py: Fixed
  a lockfile descriptor leak due to duplicated lock calls.

  26 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_lock.py: Added
  more cleanup to the lockfile descriptors.

*portage-2.0.51_rc2 (25 Sep 2004): And we have another Release Candidate!

  25 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_db_flat.py: Fix
  for typos.

  25 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_locks.py: Changed
  all the calls to lockf which wraps fcntl. Made the chown on the locks
  optional -- if it fails, it'll be annoying, but there's a message. Added
  code to perform the hardlink-shuffle which uses hardlinks as a locking
  mechanism (NFSv2 needs this).

  25 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_db_flat.py:
  Added locking around the file creation to ensure atomicity.
  
  25 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_localization.py:
  A little spot to provide the '_' function and examples and future code.

  25 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_file.py: Added
  the module to contain file/directory functions that are useful. Additional
  function 'makedirs' handles creation of directories with recursive perms.
  
  25 Sep 2004; Nicholas Jones <carpaski@gentoo.org> getbinpkg.py: Fixed the
  exception handling to not traceback.
  
  25 Sep 2004; Nicholas Jones <carpaski@gentoo.org> etc-update: Typo fix.
  
  25 Sep 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Caused the
  binary metadata downloading to be a little more verbose. Fixed the
  sync command's arguments so that it deletes top level files.

  25 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Added
  Cretin's patch for prelink blacklists. Increased the verbosity of the
  'mylines' output to let people know what files are affected with nulls.
  Added a workaround for a race condition that somehow exists inside of
  auxget when there is heavy lockfile contention -- Must be a lockfile
  cleanup issue.

  25 Sep 2004; Jason Stubbs <jstubbs@gentoo.org> emerge: Modified env_update
  to always run ldconfig if makelinks is True, in order to ensure that
  missing symlinks are created. Added logic to treewalk to check if package
  is being downgraded and only run env_update with makelinks=False in that
  case. (#54655)

  24 Sep 2004; Jason Stubbs <jstubbs@gentoo.org> emerge: Added the removal
  of --ask from argv when restarting after an emerge of portage. (#47379)

  21 Sep 2004; Jason Stubbs <jstubbs@gentoo.org> portage_util.py: Changed
  varexpand to convert '\'-prepended newline chars to space rather than '\n'.

  21 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fixed the
  bintree ebuild locating. Removed the virts_p debug/bug statements.
  
  21 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_checksum: Added
  a fix for checksum tracebacks that tracebacked.
  
  21 Sep 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Added more
  variables to vardb.

  21 Sep 2004; Jason Stubbs <jstubbs@gentoo.org> emerge: Added (slightly
  modified) patch from bug 64682.

  16 Sep 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Modified
  getmaskingstatus() to use settings.prevmaskdict rather than reading packages
  directly in support of cascading profiles.

*portage-2.0.51_rc1 (25 Sep 2004): And we have a Release Candidate!

  15 Sep 2004; Nicholas Jones <carpaski@gentoo.org> ebuild: On merge, disable
  the noauto feature explicitly.

  15 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fixed the
  'missing ebuild' for uninstalls of packages not in the tree.

  15 Sep 2004; Nicholas Jones <carpaski@gentoo.org> man/*: Started adding
  to the documentation in order to break it an make it look funny. Added a
  couple entries for missing concepts like 'inherit' and 'useq' and 'hasq'.
  Cleared up a few things here and there with usage. Added in the metadata
  target for emerge.

*portage-2.0.51_pre24 (14 Sep 2004): Last _pre before docs and rc/stable.

  14 Sep 2004; Nicholas Jones <carpaski@gentoo.org> repoman: Extra handling
  for weird CVS/Repository info on OSX.

  14 Sep 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Fixed a traceback
  in traceback handling where a value was trying to be extracted from an
  exception. Handled the case where a binary package does not have an ebuild
  in a tree or overlay and the verbose overlay output requires it. Change to
  the CVS checkouts for emerge sync, moved the -P immediately after the co.

  14 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_exception.py:
  Added in some spacing between related exception groups.

  14 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Changed a bunch
  of lines unnecessarily to start getting the locale strings ready -- I'll
  probably have bugs due to this because I've been doing dumb things like
  that recently. 

  14 Sep 2004; Nicholas Jones <carpaski@gentoo.org> man/*: Fixed ka0ttic's
  email address.

  14 Sep 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild.sh: Removed 
  the ${T}/successful logic, it's no longer needed.  Existed only for the 
  $0 "$@" 2>&1 | tee $PORTAGE_LOG trickery, which is now handled via
  portage_exec.spawn.

  13 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fix for empty
  categories/portage-tree causing a traceback.
  
*portage-2.0.51_pre23 (11 Sep 2004): Fixes and stuff.

  11 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Another fix
  to the virtuals/use code -- It wasn't using treeVirtuals.

*portage-2.0.51_pre22 (11 Sep 2004): Fixes and stuff.

  11 Sep 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Fixed breakage
  in cacheddir changes upon stat'ing a broken symlink.

  11 Sep 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Fixed missing
  check in autouse function. Fixed out-of-bounds exception on catpkgsplit
  tuple access in vardbapi.move_ent. Changed to manual stat calls in cacheddir.

  10 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Removed the
  circular deps of vardbapi and config.

*portage-2.0.51_pre21 (09 Sep 2004): Fixes and stuff.

  09 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Possible fix
  for autouse() that will prevent recursion and locks.
  
*portage-2.0.51_pre210 (09 Sep 2004): (pre-pre release for 21)
  
  09 Sep 2004; Nicholas Jones <carpaski@gentoo.org> archive-conf: Added patch
  so that it runs.
  
  09 Sep 2004; Nicholas Jones <carpaski@gentoo.org> dispatch-conf: Added patch
  to die when rcs isn't installed but is required by options.
  
  09 Sep 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Solar's checks
  for suid bind issues.
  
  09 Sep 2004; Nicholas Jones <carpaski@gentoo.org> fixvardbentries: Updated
  to Jason's current script.
  
  09 Sep 2004; Nicholas Jones <carpaski@gentoo.org> g-cpan.pl: Added a fix
  to store the ebuilds in a defined overlay.
  
  09 Sep 2004; Nicholas Jones <carpaski@gentoo.org> output.py: Added all
  xterm* terms to the title-list.
  
  09 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fixed the
  cascade/stack functions -- use.defaults is fully line-incremental now.
  Removed a lot of cruft commented-code. Added an ebuild-mover into the
  entry move functions.
  
  09 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_util.py: Placed
  the lex code into a try/except so we can add the filename into the error
  that is passed back from shlex.
  
  08 Sep 2004; Brian Harring <ferringb@gentoo.org> portage.py: Modified
  config.__init__(clone=1) so that profiles list is preserved, allowing for 
  all profile's bashrc's to be sourced.

  06 Sep 2004; Brian Harring <ferringb@gentoo.org> portage.py: Fixed 
  fetch logic for when DISTDIR isn't writable, but the file is fully 
  fetched already (#62985).

  05 Sep 2004; Brian Harring <ferringb@gentoo.org> portage.py ebuild.sh:
  Added use flag support to RESTRICT; usual syntax.

  04 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_data.py: Added
  FreeBSD as a BSD-type OS and merged the Darwin branch with them.

  04 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_contents.py: The
  parsing portion of a persistent contents file parser that can return the
  owner of a particular file or directory by parsing (and storing) data from
  the contents files.

  04 Sep 2004; Nicholas Jones <carpaski@gentoo.org> portage_const.py: Added
  LOCALE_DATA_PATH to the constants for future gettext (internal) support.

  04 Sep 2004; Nicholas Jones <carpaski@gentoo.org> output.py: Fixed the
  title changes to no clear the icon title.

  04 Sep 2004; Nicholas Jones <carpaski@gentoo.org> prepman: No longer
  gzip's symlinks -- This needs to gain 'target changed' logic.

  01 Sep 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py:
  Cleaned up the imports, cutting down on from blah import *, instead 
  importing only what is strictly needed for backards compatability.

  01 Sep 2004; Brian Harring <ferringb@gentoo.org> pym/portage_exec.py:
  Nick caught this- changed setgid/setuid order so it works.

  01 Sep 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py:
  Added Michael Stewart's patch correcting optional args being specified 
  via position- bug #61881.

  01 Sep 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py, 
  pym/portage_exec.py, pym/portage_checksum.py: Restructured spawn
  so that we don't have two versions; all spawn calls trace back to 
  portage_exec.spawn, either through spawn_bash or spawn_sandbox.
  portage_exec.spawn is strictly an os.execve wrapper now, so bash 
  doesn't have to be involved unless desired (if desired use spawn_bash).

  31 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/emerge: Debug
  print statement left in global scope, corrected it.

  31 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_checksum.py:
  Solar's patch to check if prelink binary exists prior to executing it.

  31 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_checksum.py:
  Only prelink-check when requested -- This is only valid for merge/unmerge
  operations -- Also happens to fix the access violations in portageq.

  31 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Adjustments
  for the prelink-check changes.

  31 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_exception.py:
  Made the exceptions more hierarchial. Yes, I'm aware I can't speel.

  30 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/repoman: Added 
  solar's patch to make the file.size check display the size of the 
  offender.

  30 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py, 
  pym/portage_util.py: Removed -all- duplicate function definitions between 
  portage_util and portage.  This is just -begging- for a bug where 
  portage.py's definitions are fixed, but portage_util isn't.
  If you're moving code out of portage.py (good thing) please yank the def 
  from portage.py.  Especially if you're importing everything from new 
  home of the module.

  30 Aug 2004; Jason Stubbs <jstubbs@gentoo.org> pym/emerge: Added python 2.2
  compatibility fix. (#62128) Added fix to fail nicely on missing
  /etc/gentoo-release. (#62149)

  30 Aug 2004; Jason Stubbs <jstubbs@gentoo.org> pym/portage.py: Fixed two
  bugs in bindbapi.aux_get() preventing retrieval of information about tbz2s.

  26 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/etc-update: minor 
  tweak to etc-update to support single quotes in /etc/etc-update.conf
  bug (#56785).  Added Mamoru Komachi (usata)'s fix for osx (#60721).

  26 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py, 
  pym/portage_exec.py, bin/ebuild.sh: Removed the PORT_LOGDIR $0 $* | tee 
  hack, and re-implemented it using spawn.  Spawn has been extended so that 
  fd_pipes can receive a dict of fd # -> fd, and optionally be nonblocking 
  via returnpid.  portage.spawn has support for a logfile optional arg- if 
  specified, spawn logs stdout/stderr via tee -i -a to the specified file.
  Note portage_exec.spawn doesn't currently support this option.

  25 Aug 2004; <genone@gentoo.org> pym/portage.py, +pym/portage_checksum.py, 
  pym/portage_gpg.py, -pym/portage_md5.py:
  renamed portage_md5 to portage_checksum which includes support for sha1.

  24 Aug 2004; Brian Harring <ferringb@gentoo.ogr> bin/ebuild.sh: Tweak to
  dyn_test to check if $S exists prior to cd'ing to it.

  24 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: Fixed a 
  traceback issues in dblink.treewalk when collision-protect is active.  
  Also added specific check/complaint for PORT_LOGDIR='' to the config class,
  since it should either not be set, or something non-null- a null 
  PORT_LOGDIR triggers a traceback in doebuild do to an attempted chmod.

  23 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: Added a 
  macos ranlib hack; dblink.mergeme by default resets each files mtime, which 
  makes static archives merged to the fs worthless (linker notes the files 
  mtime differs from an internal mtime, and bails).  This closes out bug 
  (#58848), and will be obsoleted when refcounts are used instead of mtime + 
  md5.

  21 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild.sh: Expanded
  CONF_LIBDIR support, so it honors --prefix set values. (#61060)

  19 Aug 2004; Marius Mauch <genone@gentoo.org> bin/repoman: Added
  FEATURES and USE to the readonly variable check.

  17 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage_data.pym:
  Adding missing imports.

  17 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/repoman: Minor 
  tweak to make repoman detect the repolevel correctly in overlays.
  (#60298).

*portage-2.0.51_pre20 (16 Aug 2004): Fixes and Public Readiness & GPG
  
  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fixed the
  imports and new modules so that the API remains constant.

  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_exec.py: Created
  for external operations and calls. Presently contains spawn. Mostly for
  prevention of circular imports.

  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_md5.py: using
  the spawn call from portage_exec.py to avoid the circular import.

  16 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/repoman: Fixed a 
  traceback related to file.size and --fix, added compatability tweaks for
  xmllint.

  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Fixed the lock
  handling and unique_array calls.

*portage-2.0.51_pre19 (16 Aug 2004): Fixes and Public Readiness & GPG
  
  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Add predict
  for gpg verification.

  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fixed the
  lock code to use the external module.

  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_gpg.py: Fixed
  the writing operations and access violations.

  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_locks.py: Fixed
  the code so it acutally works and is used.

  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_md5.py: Fixed
  the lock calls.

*portage-2.0.51_pre18 (16 Aug 2004): Fixes and Public Readiness & GPG
  
  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> dolib*: Added LV's
  CONF_LIBDIR patch to help out the 32/64 bit lib migrations.
  
  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: CONF_LIBDIR
  patch updates. Added a possible fix for the export issues in environment.

  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> prepall/lib: CONF_LIBDIR

  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Adjusted the
  manifest/gpg code to reduce the output on missing sigs. Changed the GPG
  homedir to the PORTAGE_GPG_DIR instead of using rsync for the keyring --
  This requires manual intervention.

  16 Aug 2004; Nicholas Jones <carpaski@gentoo.org> sandbox: Added the 32/64
  paths in for 32/64 lib migrations.

  16 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/cvstree.py 
  pym/portage.py: Round #2 of ignorecvs, now w/ sane regex goodness and an 
  addition to digest(gen|check) to use the same cvs filter for Manifests.
  (#46070).

  15 Aug 2004; Nicholas Jones <carpaski@gentoo.org> emerge: message fix for
  packages.provided.

  15 Aug 2004; Nicholas Jones <carpaski@gentoo.org> repoman: Made file.size
  a warning for the time being.

  15 Aug 2004; Nicholas Jones <carpaski@gentoo.org> cvstree.py: Removed the
  auto-ignore regex as it is broken AND it breaks Manifests due to excess
  files allowed into them.

  15 Aug 2004; Nicholas Jones <carpaski@gentoo.org> emerge: A couple changes
  to the select_dep exception handling for the signing code.

  15 Aug 2004; Nicholas Jones <carpaski@gentoo.org> env-update.sh: Added
  Spanky's env-update  shell script version.
  
  15 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Moved more
  code into seperate modules. Added support for Manifest verification and
  usage of 'gpg' 'strict' 'severe' to enable various condition responses.
  
  15 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_const.py: Moved
  all constants to this module. (All uppercase defines)

  15 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_data.py: Contains
  all calculated information. uid/gid info. system-specific values. All probed
  information should go here.
  
  15 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_exception.py:
  Added many exceptions for the GPG verification code. Added many general
  exceptions to help differentiate from explicit portage exceptions and
  those issued by python.
  
  15 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_gpg.py: Handling
  of gpg verification code and keyring management/trust.
  
  15 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_locks.py: Moved
  the lock code out of portage.py.

  15 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_md5.py: Moved the
  MD5 calculation code out of portage.py.

  15 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_util.py: Moved
  writemsg and unique_array into portage_util.

  13 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild.sh: Added 
  support for ECONF_LIBDIR; if it isn't defined, then --libdir isn't 
  passed to the configure script.  If it is defined, then the configure 
  script gets --libdir=/usr/${ECONF_LIBDIR}.

  13 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/cvstree.py: 
  Added robbat2's patch to ignore files that cvs ignores. (#46070). 

  13 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild.sh: Shifted 
  the add* sandbox function definitions to before profile.bashrc srcing.
  As bug #60147 demonstrated, profiles occasionally need to adjust 
  SANDBOX_WRITE (current case being for /usr/lib64/{conftest,cf}).

  13 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/emerge: Related to 
  bug #60256, adjusted format_size so that is always returns a string.

  13 Aug 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge:
  Relocated blocker checking code to before pkgsettings.setcpv() is called
  on it in depgraph.create()

  13 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: 
  Tweaked lockfile, so it attempts a non-blocking lock_ex first, then
  states it's waiting on lock blar, then attempts a blocking lock.  This 
  will be useful for informing the user why portage seems to have hung, 
  and good for debugging.

  13 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/emerge-webrsync:
  Added support for snapshot md5sum's (mirrors now carry them).
  This is used to ensure the fetched snapshot is sane; if it's sane, 
  then we reuse it for sync'ing.  This nulls the -n option, so it's been
  removed. Closes out #15990, but no longer automatically forcing a refetch.
  Refetches are only forced if the md5 is invalid.

  12 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: 
  Cleaned up fetch a bit more, saner error messages when unable to 
  write to DISTDIR.

  12 Aug 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge:
  Fixed the fix for the earlier traceback on installed package not being
  in PORTDIR to remove duplicate work.

  11 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild.sh: 
  Added FEATURES="autoconfig" support. (#55476)

  11 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: 
  Added check to lockfile and fetch, if file already is owned by 
  portage group, don't try and chown it.  This will close #60079.

  10 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/emerge: Fixed a 
  traceback issue, an ebuild is no longer in the tree, but is installed 
  and needs to be used in the depgraph- the problem was, emerge 
  assumed the ebuild was in porttree's db, when vartree should be used 
  if the package is known to be installed.

  10 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py:
  Killed a couple of corner cases for non-root fetch and lockfile calls.

  10 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py
  bin/ebuild.sh: Add check to ensure that install phase has been 
  ran prior to qmerge phase being attempted.  This can happen 
  when the user is using ebuild to step through the phases.
  Corrected bug in listdir where it would return None, rather then 
  []- all callee's expect a returned list, not None.  Same for ftype,
  cause's a tb if you just haphazardly rely on cachedir's return.

  09 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: 
  Leave /var/tmp with it's own permissions, chowning/chmoding just 
  /var/tmp/portage (#37521).

  09 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild.sh 
  pym/portage.py: Corrected bug in profile.bashrc support, added aliases 
  for saving/restoring IFS (remove_path_entry and profile.bashrc loop 
  adjust IFS temporarily).  Closes #59749.

  08 Aug 2004; Brian Harring <ferringb@gentoo.org> dispatch-conf: 
  Converted os.rename calls to shutil.move; the former can't cross fs's,
  the latter can. (#46148)

  07 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fixed the
  cache updates so that an env-update forces ld updating.
  
  07 Aug 2004; Jason Stubbs <jstubbs@gentoo.org> pym/portage.py
  pym/portage_dep.py: Added a new parameter to use_reduce so that !arch?
  checks can be adhered to even when matchall=1 and arch is not is masklist.

  07 Aug 2004; Jason Stubbs <jstubbs@gentoo.org> pym/portage.py
  pym/portage_dep.py: Added profile masked use flags to repoman check.
  Moved || refactoring to a separate function. Reworked use_reduce logic
  into simpler sections.

  05 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage_dep.py:
  What can I say, I can't get enough of bug (#59574).
  I'm operating under the assumption there still is a bug in the 
  use_reduce logic, soo I've left a fairly massive amount of debugging 
  code in place that's currently disabled.  It's *very* useful for 
  tracking exactly what/how use_reduce decides on a operator node.

  05 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: 
  I introduced a bug in the previous commit, basically 
  portage.settings.archlist list of arch keywords was being actively 
  pruned by repoman as it stepped through arches for dep checking.
  Basically, needed to make a copy of archlist rather then using the 
  actual archlist object.  Should be the final issue for (#59574).

  05 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: Fix 
  in the same area, if use="all" (repoman wants -every use flag- checked),
  it should call use_reduce w/ matchall set appropriately. (#59574)

  05 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: And...
  repoman's arch check got hosed again.  The code in dep_check for 
  building a masklist was incorrect, 3 line fix. (#59574)

*portage-2.0.51_pre17 (03 Aug 2004): Fixes and Public Readiness

  03 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_dep.py: Again
  fixed the || exceptions to understand nested legal || statements.

*portage-2.0.51_pre16 (03 Aug 2004): Fixes and Public Readiness

  04 Aug 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Changed the
  virtual/glibc references to virtual/libc.

  04 Aug 2004; Nicholas Jones <carpaski@gentoo.org> prepman: No longer runs
  gzip on .keep files.

  04 Aug 2004; Nicholas Jones <carpaski@gentoo.org> getbinpkg.py: Added in
  an active/passive option for FTP connections -- Requires the appending of
  an asterisk to the HOST portion of the ftp string to use active connections.

  04 Aug 2004; Nicholas Jones <carpaski@gentoo.org> make.conf*: Updates for
  the active-connection ftp option.

  04 Aug 2004; Nicholas Jones <carpaski@gentoo.org> emergehelp.py: Removed
  the bin/ version and replaced it with a duplicated pym/ version.

  03 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: 
  Added check to ensure /var/tmp/portage's permissions were sane. (#56665)

  03 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/repoman: Added 
  explicit check for missing files directory, rather then ignoring it.
  Also added an explicit commit-time check for CVS/Entries being sane.
  (#57141).

  03 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/repoman: reworked 
  the qacats definition so that the type of bug that borked emerge help is 
  no longer possible.

  03 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py, 
  bin/emerge: Corrected emerge --fetch-all-uri issues, now works.  Basically,
  FEATURES="cvs" emerge -f blar == emerge --fetch-all-uri blar.  The fetch
  option handling in emerge could use some cleanup.

  03 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: Ongoing 
  cleanup in emerge -fp; this corrects a minor naggle affecting previous 
  releases, where emerge -fp would still attempt to do md5 checks on files.

  03 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py: Corrected 
  logic for fetch(..., ..., use_locks=1,listonly=1) attempting to use locks, 
  when fetch is just printing the src_uri's.  (#59394).

  03 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/repoman: Corrected the
  borkage I introduced into repoman's help option- it was throwing a traceback
  due to file.executable's key name being typoed.

  03 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_dep.py: Enhanced
  the invalid depend string identification for || (and &&) strings.

*portage-2.0.51_pre15 (03 Aug 2003): Fixes and Public Readiness

  03 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/repoman: Corrected 
  typo, trying to remove .backup_metadata.dtd rather then metadata.dtd.

  03 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_dep.py: Changing
  from dep_opconvert to use_reduce introduced a bug due to how OR'd lists are
  managed by the remaining dep handling functions -- Fixed by emulating the
  format in use_reduce.

  02 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/repoman, pym/portage.py:
  Added local caching of metadata.dtd, to prevent flaky connections from 
  flagging a packages metadata.xml as invalid due to xmllint failing to fetch 
  metadata.dtd.  Simplified version of patch in (#57210).

  02 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild.sh, 
  pym/portage.py:  Added support for src'ing a profile bashrc.  Fex, if
  /etc/make.profile/profile.bashrc exists, it is sourced prior to ebuild.sh
  defining any of it's functions.  (#58415).

  02 Aug 2004; Brian Harring <ferringb@gentoo.org> bin/emerge-webrsync: General
  cleanup; uses the make.conf defined FETCHCOMMAND for fetching (fixing #57887),
  runs emerge metadata after a successful sync also.

*portage-2.0.51_pre14 (02 Aug 2003): Fixes and Public Readiness

  02 Aug 2004; Nicholas Jones <carpaski@gentoo.org> do*: Added exit calls
  on failures and changed the install to use short options for BSD compat.
  
  02 Aug 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: unset
  GLOBIGNORE added. Echo out the confingure command from econf. Moved the
  maketest code to dyn_preinst so it didn't force-run maketest. Added a
  patch for keyword expansion (requires portage-2.0.51 for use).

  02 Aug 2004; Nicholas Jones <carpaski@gentoo.org> emerge: --fetch-all-uri
  added to force all URIs to be downloaded (works like features=cvs). libc
  version printing enhancements. Fixed the binary package selection in an
  alt ROOT. Headers and libtool added to info. --ask removed on a resume.
  
  02 Aug 2004; Nicholas Jones <carpaski@gentoo.org> prepstrip: Change ewarn
  to echos to stderr with beeps.
  
  02 Aug 2004; Nicholas Jones <carpaski@gentoo.org> repoman: Added to the
  OK message output for issues that fail.

  02 Aug 2004; Nicholas Jones <carpaski@gentoo.org> make.conf: Typo correction
  patch added.
  
  02 Aug 2004; Nicholas Jones <carpaski@gentoo.org> output.py: Added kterm
  to the titlebar terminals.

  02 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Added a message
  regarding the location of the virtuals file (move to /etc/portage/profile).
  Added a invalid-mirror message and a missing URI message for fetching. Added
  the selinux sandbox patch. Removed the old dep_opconvert call as all ?:
  syntax is gone.

  02 Aug 2004; Nicholas Jones <carpaski@gentoo.org> portage_dep.py: Fixed the
  use_reduce code to properly handle negative requirements on masked flags.
  
  02 Aug 2004; Nicholas Jones <carpaski@gentoo.org> tbz2tool.c: Made all the
  comments to C style.

  02 Aug 2004; Nicholas Jones <carpaski@gentoo.org> libsandbox: Code from
  Seth Robertson that tracked down all adjuct flags for read operations that
  did not invoke a write operation.

  01 Aug 2004; Masatomo Nakano <nakano@gentoo.org> bin/emerge: Added
  message about ._cfg* files after emerge sync.

  01 Aug 2004; Masatomo Nakano <nakano@gentoo.org> pym/portage.py: Modified 
  updating /etc/portage/package.* logic to see  CONFIG_PROTECT and 
  CONFIG_PROTECT_MASK.

  01 Aug 2004; Marius Mauch <genone@gentoo.org> bin/emerge:
  Added a warning for `emerge /path/to/ebuild`

  01 Aug 2004; Marius Mauch <genone@gentoo.org> bin/emerge:
  Fixing broken logic for the `emerge rsync` deprecation notice (it only showed
  up on `emerge --rsync`).

  01 Aug 2004; Brian Harring <ferringb@gentoo.org> pym/portage.py bin/emerge:
  Fixed the lockfile/unlockfile functions so that they correctly support having
  an int passed in (the fd #), or having a file object passed in.  Corrected 
  lockfile so that the lock is owned by portage group, with g+w permissions
  (this is needed since sudo emerge blar can bail, leaving a stale lock that 
  non-root usage cannot remove).  Added locking to emerge's emergelog function, 
  preventing log messages from potentially getting mixed together.  Added check 
  to fetch function to complain if unable to write to DISTDIR (previously the 
  fetcher just bailed, stepping through each src_uri).  Added lockfiles for 
  fetching/md5ing of the src- these lockfiles are stored in a subdirectory 
  (locks_in_subdir=".locks") if specified, and locking is controlled via 
  use_locks (defaults to on).  emerge -f no longer requires root/sudo to run 
  (ebuild never had this restriction). (#42969)

  31 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> pym/portage.py bin/emerge:
  Removed USE-based SLOT support. Removed uselist from getslot methods.

  29 Jul 2004; Brian Harring <ferringb@gentoo.org> bin/repoman: Added check for
  files over 20k in a packages files directory.  file.size, repoman treats it 
  as a a failure.  Added the repoman manpage entries for file.size, and 
  file.executable (I missed file.executable earlier).

  28 Jul 2004; Masatomo Nakano <nakano@gentoo.org> pym/portage.py: Fixed a bug
  emerge doesn't pkg_setup() with -k/-K option. (#25152)

  28 Jul 2004; Masatomo Nakano <nakano@gentoo.org> pym/portage.py:
  Added ._cfg* file for updating /etc/portage/packages.* during global
  update.

  28 Jul 2004; Masatomo Nakano <nakano@gentoo.org> bin/emergehelp.py,
  man/emerge.1: Added explanation of --newuse to manpage/help. 
  Added information of --verbose to manpage.

  27 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> pym/portage.py:
  Reversed the order of profile virtuals (dirVirtuals) so that a cascading
  profile's virtuals are stacked in the correct order.

  26 Jul 2004; Brian Harring <ferringb@gentoo.org> bin/emerge:
  Removed the `which blah` calls- A) stage1 lacks which, B) which searches
  $PATH- all sane shells do this already when handed a command that 
  isn't absolute path.  These which calls were used in 
  commands.getstatusoutput() calls, which starts up a shell with
  the arg passed to the shell, so "`which blar` args" isn't needed.

  26 Jul 2004; Brian Harring <ferringb@gentoo.org> bin/repoman:
  Added file.executable check- ebuilds, digests, Manifest, ChangeLog, and
  metadata.xml don't need the executable bit set.  CVS preserves it upon 
  commit, so we do the check prior to commit.  (#55647)

  26 Jul 2004; Brian Harring <ferringb@gentoo.org> bin/emerge:
  Removed the hardcoding of uname for emerge info, using which to find it
  instead.

  26 Jul 2004; Brian Harring <ferringb@gentoo.org> bin/repoman:
  Added check to ensure manifest recommit is at least possible when 
  committing, and corrected handling of CVS/Root files for OSX machines.
  Removed readline import, doesn't seem to be used at all.

  26 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge pym/portage.py:
  Refactored slot code into portage.py to remove usage off portage_dep.

  25 Jul 2004; Brian Harring <ferringb@gentoo.org> bin/dohtml:
  Corrected a bug in dohtml where it was unable to install files with a space 
  in their name (#58258)

  25 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge pym/portage.py:
  Deprecated --inject and added support for package.provided in both the
  profiles and /etc/portage/profile directory.

  24 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge pym/portage.py:
  Added USE flag based SLOT support.

  24 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge pym/portage.py:
  Added USE flag based PROVIDE support. (#32114)

  24 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> src/sandbox-1.1/libsandbox.c:
  Fixed lchown sandbox bug. (#58084)

  23 Jul 2004; Brian Harring <ferringb@gentoo.org> bin/repoman: Corrected a 
  false positive on the ebuild.nesteddie check.  Basically it wasn't looking 
  to see if the line was active or not (fex # (die), bash skips, but repoman 
  caught).  Aside from that, that check is still capable of missing multiline 
  ebuild.nesteddie instances.  (#33011)

  22 Jul 2004; Brian Harring <ferringb@gentoo.org> bin/ebuild.sh: Re-enabled
  binary QA interceptors, with a minor twist- the QA_INTERCEPTORS is used to 
  specify what QA interceptors will be defined.  These functions are no longer
  saved in the ebuild's stored env (exist *only* in depend phase), and have been 
  expanded to identify if it's the ebuild, or eclass that's triggering the QA 
  Notice (#54652).  The interceptors behaviour when the binary is missing has 
  been corrected to correctly output "missing command $bin: args".

  21 Jul 2004; Masatomo Nakano <nakano@gentoo.org> bin/emerge: Fixed bug 
  which blocks a package itself with -U option.

  20 Jul 2004; Masatomo Nakano <nakano@gentoo.org> bin/repoman: Fixed
  profile cache problem. (#43601, #56170)

  20 Jul 2004; Marius Mauch <genone@gentoo.org> bin/ebuild.sh:
  added usev() and hasv() as complement to useq() and hasq().

  18 Jul 2004; Brian Harring <ferringb@gentoo.org> bin/repoman: Corrected 
  ebuild.allmasked check, so that it checks for an available version across all
  arches, rather then the last arch processed.  Typo fixed also- bugs #57356 and
  #57068.

  17 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> bin/repoman: Added patch from
  #49126 that makes repoman check that a USE flag from use.local.desc applies
  to the packages that make use of it.

  14 Jul 2004; Marius Mauch <genone@gentoo.org> bin/emerge:
  added a deprecation warning for --upgradeonly

  14 Jul 2004; Marius Mauch <genone@gentoo.org> bin/etc-update:
  Added a hint to etc-update so people that don't know what to do don't use -3
  or -5 by accident.

  12 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge:
  Adjusted masked binary checking code to exclude --usepkgonly.

  10 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> man/portage.5:
  Adjusted documentation for user use.mask to match implementation.

*portage-2.0.51_pre13 (09 Jul 2004): Fixes and Public Readiness

  21 Jun 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Included
  ferringb's logic fix for the repoman code. Fix that prevents vardb from
  using all files and directories in the vardb as keys instead of only the
  proper ones. Code touchups.

  21 Jun 2004; Nicholas Jones <carpaski@gentoo.org> prepstrip: Fixes that
  result in BSD compat and split the regex -- find doesn't do extended.

  21 Jun 2004; Nicholas Jones <carpaski@gentoo.org> emerge: included a uname
  fix for bsd. Added --fetch-all-uri as a way to get all URIs downloaded for
  a package regardless of conditionals.

  21 Jun 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Moved the
  declaration of ebuild_phase toward the top.

  09 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge:
  Fixed incorrect assignment of depgraph.mydbapi[] objects.

  07 Jul 2004; Marius Mauch <genone@gentoo.org> bin/repoman:
  Solved a big memory problem in repoman where a full scan required several
  gigabytes, caused by apparently unused objects.

  04 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge pym/portage.py:
  Fixed issue that allowed installed virtuals to overide user virtuals.

  03 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge: Added masked
  package removal to binpkg candidates before getting the best. (#55871)

  01 Jul 2004; Jason Stubbs <jstubbs@gentoo.org> pym/portage.py:
  Fixed exception catching on module import.

  27 Jun 2004; Jason Stubbs <jstubbs@gentoo.org> bin/repoman:
  Fixed year (2003 -> 2004) in copyright lines.

  27 Jun 2004; Marius Mauch <genone@gentoo.org> pym/portage.py:
  Added a check for symlinked dirs to the collision-protect code so it doesn't
  double-check files in symlinked dirs with wrong pathnames.

  26 Jun 2004; Masatomo Nakano <nakano@gentoo.org> bin/regenworld: Fixed 
  regenworld. It always failed without -h or --help.

  26 Jun 2004; Masatomo Nakano <nakano@gentoo.org> bin/emerge: Added more
  messages when emerge fails due to masked package.

  26 Jun 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py:
  Added pkgsplit check on values returned by vardbapi.cpv_all()

  26 Jun 2004; Jason Stubbs <jstubbs@gentoo.org> repoman: Removed a stray dot.

  25 Jun 2004; Jason Stubbs <jstubbs@gentoo.org> repoman: Changed CVS
  header regex to "Gentoo Foundation"

*portage-2.0.51_pre12 (21 Jun 2003): Fixes

  21 Jun 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Removed the
  extra spawn of portageq as sandbox handles the python pyo's accesses now.

  21 Jun 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fixes for
  the HOME issues. Correction of permissions from 6770 to 2770.

  21 Jun 2004; Masatomo Nakano <nakano@gentoo.org> pym/portage.py:
  Fixed problem that 'emerge something' would install all depeneded pkgs 
  even if they are already installed.
  
*portage-2.0.51_pre11 (21 Jun 2004): Fixes

  21 Jun 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Disabled the
  URL encoding for BINHOST as it will take a lot of work to get it right.
  Execve try/except added to handle missing binaries and such. Changed the
  default HOME to be TMPDIR/homedir. Try/except on db close operations. Add
  in missing unlocks. Hacked in the /var/lib/portage in a chroot fix.

  21 Jun 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Added more info
  into the profile for the stacked profiles.

  21 Jun 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: The userland
  fixes for *BSD. QA Notice fix for IUSE verbosity on global scope stuff.
  Missing quote fix for QA intercepters. Return 0 in the use_* functions.
  Removed AA from the readonly list.

  21 Jun 2004; Nicholas Jones <carpaski@gentoo.org> dohtml: Karl's update
  which is mostly a rewrite.

  21 Jun 2004; Jason Stubbs <jstubbs@gentoo.org> bin/emerge:
  Modified emerge to build up a fakedb regardless of 'empty' in params, 
  and to incrementally add any packages added to the dep graph.
  (#1343, #8810, #54608)

  20 Jun 2004; Masatomo Nakano <nakano@gentoo.org> bin/repoman:
  Fixed problem which fails to detect IUSE value. (#21544)

  20 Jun 2004; Masatomo Nakano <nakano@gentoo.org> bin/emerge:
  Added an exception code for broken timestamp.chk. (#54380)

  20 Jun 2004; Jason Stubbs <jstubbs@gentoo.org> pym/ebuild.sh: Adjusted 
  returns for use_with and use_enable to only return 1 on invalid usage.

  20 Jun 2004; Masatomo Nakano <nakano@gentoo.org> pym/portage.py:
  Fixed problems that portage doesn't block with --update option(#52377)
  and fail to block virual packages(#52506).

  20 Jun 2004; Masatomo Nakano <nakano@gentoo.org> pym/portage.py:
  Fixed CONFIG_PROTECT/CONFIG_PROTECT_MASK in /etc/csv.env(#51646).

  20 Jun 2004; Masatomo Nakano <nakano@gentoo.org> bin/ebuild.sh:
  Added error message when pkg_config is not defined. (#51167)

  14 Jun 2004; Jason Stubbs <jstubbs@gentoo.org> pym/portage.py:
  Fixed bug in portdbapi.aux_get where a problem ebuild would cause a lock
  to not be released.

  09 Jun 2004; Marius Mauch <genone@gentoo.org> bin/emerge:
  Changed emerge --info to reflect libc versions other than glibc.  

  08 Jun 2004; Marius Mauch <genone@gentoo.org> pym/portage.py:
  Added the collision-protect feature that prevents packages from
  overwriting files they don't own. Has to be enabled with 
  FEATURES=collision-protect  as it needs more testing before it 
  can be enabled by default (bug #28228).

  05 Jun 2004; Marius Mauch <genone@gentoo.org> bin/ebuild.sh:
  Fix rpm support by changing rpm to rpmbuild (bug #13508).

  05 Jun 2004; Marius Mauch <genone@gentoo.org> bin/regenworld:
  Added a --help message ro regenworld (bug #37539).

  03 Jun 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Fixed bug #52720
  and restored patch for a 35% drop in dep calc time.

*portage-2.0.51_pre10 (02 Jun 2003): Fixes

  02 Jun 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Added MANPATH
  to the colon_seperated list -- parsing code NEEDS TO BE FIXED. * and ~*
  matches allowed for package.use for arch-development -- ~* implies *.

  02 Jun 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Fix for a new
  typo in the logger function that prevented emerge.log from being written.

  02 Jun 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: make test
  only occurs when enabled in FEATURES and not in RESTRICT -- defaults OFF.
  Added ferringb's local B_* fix for eclasses. Made db vars readonly via bash
  for non-depend phases after the global scope.
  
  02 Jun 2004; Jason Stubbs <jstubbs@gentoo.org> pym/portage.py: Reverted
  adjusted made to config.setcpv on 18 May 2004 due to bug #52720.

  01 Jun 2004; Marius Mauch <genone@gentoo.org> bin/repoman,bin/regenworld:
  only messages about broken log entries in regenworld when called with
  --debug. Fix signing stuff in repoman.

*portage-2.0.51_pre9 (22 May 2003): Speedups and bug fixes

  22 May 2004; Nicholas Jones <carpaski@gentoo.org> portage_db_template.py:
  Added in last-three caching for db modules. Ensuring that keys are strings.

  22 May 2004; Nicholas Jones <carpaski@gentoo.org> portage_db_cpickle.py: Fix
  that ensures the Unpickler works properly.

  22 May 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Updates for
  environment files ordering in ebuild.sh. Added in normalize_path to handle
  the really annoying "'//' is a legal prefix" issue with os.path.normpath.
  Applied normalize_path to cacheddir() so that the keys match and we have
  more cache hits and better performance. Added statistics to to cacheddir
  available with noise=2. Do not return a blocker when doing a zerolist.
  Fixed the stacking functions to properly order the incrementals and apply
  the removals forward. Changed all string.atoi() to int(). Added in the
  selinux changes for spawning the fetch command. Added a patch that allows
  ebuild.sh to display 'validcommands'. close_caches() added to allow atexit
  to close all the DB connections. close_portdbapi_cache() handles the global
  that has all db instances -- This avoids problems with the API nulling the
  internal links. Adjusted the db handling for sync() calls and removed some
  object duplication db calls.

  22 May 2004; Nicholas Jones <carpaski@gentoo.org> getbinpkg.py: Fix for HTTP
  redirects (301 and 302) so that the redirect opens a new connection to the
  move-location server -- This allows us to redirect to a different machine.

  22 May 2004; Nicholas Jones <carpaski@gentoo.org> emerge: For iuse output we
  now ensure that the correct db is referenced. The worldfile additions do not
  occur when a packages is new and updates are not being performed. Patch to
  add binutils to the emerge info.

  22 May 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Rearranged the
  sourcing of the profiles and the special environment files. Added src_test
  as an optional test method -- Some packages are extremely dumb and need to
  be prevented from using this via RESTRICT.

  18 May 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Minor speed
  improvement in config.setcpv preventing a useless regenerate

  18 May 2004; Jason Stubbs <jstubbs@gentoo.org> portage.py: Reversed the
  order of config.getvirtuals' stack_dictlist call for correct ordering.

*portage-2.0.51_pre8 (16 May 2003): Big cleanups & Ebuild QA Stuff.

  16 May 2004; Nicholas Jones <carpaski@gentoo.org> portage_exception.py: New
  file containing portage exceptions. Added 'CorruptionError' for the db code.

  16 May 2004; Nicholas Jones <carpaski@gentoo.org> portage_util.py: New file
  that contains utility functions. Allows db_modules to use portage functions
  without a circular dependency. CODE IS DUPLICATED and needs to be fixed in
  portage.py to use this new module. grab*, getconfig, varexpand, pickle_*,
  ReadOnlyConfig

  16 May 2004; Nicholas Jones <carpaski@gentoo.org> portage_db_*: Modules
  do not have an __init__ any longer -- module_init() is called by the
  template after loading the config and setting the 5 variables inside of
  the class. self.config is a ReadOnlyConfig object which is just a dict
  that you can't write to. Throws CorruptionError when the read functions
  return exceptions. 

  16 May 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Reversed the
  virtuals order so it matches the documented format. When an ebuild does not
  exist, we now raise a KeyError with a useful string. 'couple minutes' changed
  to 'couple of minutes' for Seemant. ;)

  16 May 2004; Nicholas Jones <carpaski@gentoo.org> prepstrip, ebuild.5,
  repoman.1: Typo corrections/text replacements.

  16 May 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Added deprecation
  notice to 'emerge rsync' to favor 'emerge sync'. Modified the emerge.log
  code to not change permissions on the files beyond what is necessary -- NEEDS
  TO BECOME AN ADDITIVE FUNCTION. Produce a warning instead of a traceback
  when an ebuild does not exist for -U.

  16 May 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Touched up the
  logging stuff at the top. Removed extra_functions.sh. src_compile additions
  so that it can run make without having a config file requirement.

  16 May 2004; Nicholas Jones <carpaski@gentoo.org> dobin,dosbin: Removed the
  duplicated stripping from the helper tools.

  09 May 2004; Jason Stubbs <jstubbs@gentoo.org> pym/portage_dep.py:
  fixed bug in use_reduce that caused returned list to be flattened.

  30 Apr 2004; Marius Mauch <genone@gentoo.org> bin/ebuild.sh:
  modified ebuild.sh error message on seemants and roger55s request.

*portage-2.0.51_pre7 (26 Apr 2003): Big cleanups & Ebuild QA Stuff.

  25 Apr 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fixed masking
  problems due to the new stacking functions and empty-value stripping.

*portage-2.0.51_pre6 (25 Apr 2003): Big cleanups & Ebuild QA Stuff.

  25 Apr 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Dropped selinux
  from the IUSE complainer list.

  25 Apr 2004; Nicholas Jones <carpaski@gentoo.org> repoman: Made it use the
  constants defined in portage.py for the world file.
  
  25 Apr 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Modifications
  so that the virtuals are incremented in the proper order and reversed the
  final values so that the first virtual is the 'best' one. Try to put the
  INHERITED variable back into the environment before calling out to portage.
  This makes the ECLASS QA notices actually valid.

*portage-2.0.51_pre5 (25 Apr 2003): Big cleanups & Ebuild QA Stuff.

  25 Apr 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fixed name
  of the world file constant. Fixed the virtuals loading and vartree creation
  circular dep with a repitition hack. Fixed the virtuals loading function so
  that it doesn't destroy the virtuals before saving them.

  25 Apr 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Fixed all the
  references to the world file to use portage constants. Made the verbose
  output for use flags call unique array to make sure values aren't duped.

  25 Apr 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Typo fix for
  inherited, and removed the delay.

*portage-2.0.51_pre4 (25 Apr 2003): Big cleanups & Ebuild QA Stuff.

  25 Apr 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Creation of
  a great number of 'constants' that were hard coded in various places and
  now are created in a cascaded style, for the most part. Exception handling
  for the loading of modules added along with verbose messages about the
  exception being handled for user info. PRIVATE_PATH is a new constant that
  points to the new directory we will be using for portage internal data --
  It is a secure directory that only group portage may write, read, and scan.
  PORTAGE_CACHEDIR is deprecated -- The real cache directory is FHS and is a
  constant -- The dep cache is named specifically now as 'PORTAGE_DEPCACHEDIR'.
  
  **Changed the stacking functions** so they are quite a bit more sane -- They
  still need a little help though -- stack_* functions are now used to stack
  specific types instead of using grab_stacked "super functions" -- The naming
  is a little rough but intelligable.
  
  **VIRTUALS modification** The /var/cache/edb/virtuals file is unnecessary
  as portage now loads the provides from the vartree itself. /etc/portage
  may have a virtuals file that stacks on top of the var and profile virtuals.
  This also entails the removal of the virtual-file handling code (yay!).

  25 Apr 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Fix for the name
  change for PORTAGE_CACHEDIR to PORTAGE_DEPCACHEDIR.

  25 Apr 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Added checks
  to ensure that use flags are properly mentioned in IUSE. Adjusted the QA
  Interceptors (function overrides for common app names) to make sure they
  don't interfere in weird cases -- Relying on 'type -p' now. Eclasses are
  checked for illegal inheritance modes (conditional-based). Increased the
  cache lines for an entry -- Added 'PROVIDE' and 8 empties.

  22 Apr 2004; Marius Mauch <genone@gentoo.org> bin/repoman:
  added a CVS Header check to repoman

  20 Apr 2004; Marius Mauch <genone@gentoo.org> pym/portage.py:
  fix for getmaskingreason if the mask isn't in PORTDIR's package.mask (#48447)

  17 Apr 2004; Masatomo Nakano <nakano@gentoo.org> repoman: Fixed for
  python-2.2 compatibility.

*portage-2.0.51_pre3 (13 Apr 2003): Cleanups and small features.

  13 Apr 2004; Nicholas Jones <carpaski@gentoo.org> portage_db_*: Fixed the
  permissions issues regarding the umask problems with DB vars.

  13 Apr 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fix for the
  import urllib call that was misspelled for PORTAGE_BINHOST. Genone's patch
  that allows FETCHCOMMAND_${PROTOCOL}. getmaskingreadon() from genone's
  package.mask display patch.

  13 Apr 2004; Nicholas Jones <carpaski@gentoo.org> output.py: For some reason
  people have a problem with my bad spelling of semi-common colors, so I added
  in requested changes for the color 'fuchsia'.

  13 Apr 2004; Nicholas Jones <carpaski@gentoo.org> cnf/make.conf: Comment
  fixes for the CHOST line. FEATURES modification.

  13 Apr 2004; Nicholas Jones <carpaski@gentoo.org> dispatch-conf.conf: Removed
  the 'a' option.

  13 Apr 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Catagory searches
  added if search is prefixed with '@'. jstubbs/spider's fix for binary use
  flag passing problems worked in. Genone's patch for package.mask comment
  display. Patch to display warnings when unmerging system packages worked in.

  13 Apr 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Quieted up
  some output for use/has internally. Added a patch for the help output.
  Added functionality to pass down IUSE from eclasses. Made several variables
  readonly inside of ebuilds:
    P PN PV PVR PR A AA D EBUILD EMERGE_FROM O PPID FILESDIR EBUILD_PHASE

*portage-2.0.51_pre2 (11 Apr 2003): Release Fixes

  11 Apr 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Portage can now
  match categories if the search is prefixed with an '@' -- @app-portage will
  list all packages in app-portage... '@portage' will match all in app-portage
  and will match anything with portage in the title -- It's still a regex.

  11 Apr 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: nostrip in
  RESTRICT now enables DEBUGBUILD -- stripping and related functionality
  needs to get cleaned up better.

  11 Apr 2004; Masatomo Nakano <nakano@gentoo.org> etc-update, ebuild.sh:
  Fixed infinity loop in etc-update(#19144). Fixed glob problem in 
  ebuild.sh(#37066). Fixed deleting build-info problem with
  FEATURES="keepwork"(#29044).
  
  10 Apr 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Includes the
  deadlock breaks marked with 'XXX:' to indicate where fixes are needed. Added
  HTTP encoding to PORTAGE_BINHOST with checks and fallbacks. Fallback for
  dbkey settings spawned from ebuild. Exception handling for db classes in
  the case of random corruption. jstubb's fix for the dep code to handle
  empty lists, added a notice about that being rude.

  10 Apr 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Made more QA
  notices and made them slightly more pretty 'QA Notice:'. Made the depend
  phase trap less violent -TERM not -KILL.

  10 Apr 2004; Masatomo Nakano <nakano@gentoo.org> repoman: Added IUSE missings
  a check(#21544).

  10 Apr 2004; Marius Mauch <genone@gentoo.org> tarball.sh, pym/portage.py:
  Fixing broken regexp in fixdbentries() (bug 46096), changing version
  number.

  10 Apr 2004; Masatomo Nakano <nakano@gentoo.org> repoman: Fixed unsafety
  temporary file name(#44455). 

  09 Apr 2004; Masatomo Nakano <nakano@gentoo.org> portage.py: Fixed
  reorder ld.so.conf bug(#44028). Portage should skip not existing DIR
  during unmerge(#25339).

  09 Apr 2004; Masatomo Nakano <nakano@gentoo.org> repoman: Added
  jstubbs's patch to add a check invalid DEPEND format to repoman.
  This should fix #36857.

  09 Apr 2004; Masatomo Nakano <nakano@gentoo.org> emerge, portage.py,
  output.py: Fixed some bugs. See #45164, #24299, #34967.
  
  01 Apr 2004; Masatomo Nakano <nakano@gentoo.org> portage.py: Fixed 
  virtuals in reverse order(jstubbs's patch and my fix).
  This should close #45468.

  20 Mar 2004; Nicholas Jones <carpaski@gentoo.org> portage_db_*: Updated
  all the db modules to be current and correct and updated the testing code
  to make sure everything is working properly.

  20 Mar 2004; Nicholas Jones <carpaski@gentoo.org> ebuild: Fix for traceback
  and incorrent ROOT variable when using an alternate root and hand-merging.

  20 Mar 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Exported the
  sandbox variables so that they work.

  20 Mar 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Enhancements for
  binary downloads -- proper selection for virtuals, etc... Proper slot
  handling for pretend output with binaries.

  20 Mar 2004; Nicholas Jones <carpaski@gentoo.org> prepman: symlink fix.

  20 Mar 2004; Nicholas Jones <carpaski@gentoo.org> prepstrip: Added the
  readelf PIC code for the TEXTREL stuff.

  20 Mar 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Removed some
  functions: evaluate, dep_listcleanup, dep_getjiggy. Made inheritance for
  profiles relative from the profile's directory instead of from the profile's
  base directory. OBSOLETING two functions dep_parenreduce and dep_opreduce in
  favor of the new code in portage_dep paren_reduce and use_reduce. dep_zapdeps
  got an overhaul for much more intelligent selection of packages and virtual
  handling during depgraph generation. Binary tree enhancements and selection
  enhancements. bindbapi created to do aux_get on binaries. isInjected added
  to vardbapi to get injected status. SRC_URI uses the new portage_dep code
  to handle strings now -- nesting should would flawlessly and FEATURES=cvs
  should get _all_ files.

  20 Mar 2004; Nicholas Jones <carpaski@gentoo.org> portage_db_cpickle.py:
  Added pickle loading safety.

  20 Mar 2004; Nicholas Jones <carpaski@gentoo.org> portage_dep: Temp home
  for the dep resolution code that will be moving from portage.py and emerge
  until we get the modular structure set up.

  17 Mar 2004; Masatomo Nakano <nakano@gentoo.org> ebuild.sh, emerge,
  portage.py, portage_db_anydbm.py, portage_db_cpickle.py,
  portage_db_flat.py, portage_db_template.py:
  Improved handling cache files on multi portage trees.
  Fixed 'BAD COUNTER' error when emerge --inject. (#41062)
  Added ferringb's patch to avoid sed command. (#40819)
  
  12 Mar 2004; Marius Mauch <genone@gentoo.org> bin/repoman:
  repoman: Added a readonly-variable-assignment check (#44424)

  06 Mar 2004; Masatomo Nakano <nakano@gentoo.org> repoman, portage.py:
  Fixed some repoman/portage bugs. repoman shouldn't use /etc/portage/*
  files. repoman shouldn't use PORTDIR_OVERLAY(#11335). repoman should use
  each arch profile dir(#43601). portage didn't handle virtual dependency
  with version (>=virtual/package-1.0) in some places.

  05 Mar 2004; Marius Mauch <genone@gentoo.org> bin/emerge:
  Trivial fix for emerge -pv if the download size is a long.

  03 Mar 2004; Marius Mauch <genone@gentoo.org> bin/repoman,
  pym/portage.py:
  Fixing the "letter before endversion" bug (#17172). Replacing
  keywords.desc with arch.list in repoman (#35398). FEATURES=strict
  is now sufficient for Manifest validation (#41292).

  01 Mar 2004; Marius Mauch <genone@gentoo.org> bin/emerge,
  bin/emergehelp.py, man/emerge.1:
  Updated docs for --update and removed the "help" action (wasn't working
  anyway).

  29 Feb 2004; Masatomo Nakano <nakano@gentoo.org> portage.py: Fixed 
  wrong USE in 'emerge info'. This should fix #34260.

  27 Feb 2004; Masatomo Nakano <nakano@gentoo.org> emerge: Fixed info dir
  regeneration produces errors with a non-C locale and misleading error 
  message. This should fix #41872,#24299.

  27 Feb 2004; Masatomo Nakano <nakano@gentoo.org> emerge, emergehelp.py,
  emerge.1: Added genone's patch for man/help of --tree option.

  27 Feb 2004; Masatomo Nakano <nakano@gentoo.org> ebuild.sh: Removed 
  /usr/share directory in ${D} when it's empty. This should close #42312.

  26 Feb 2004; Masatomo Nakano <nakano@gentoo.org> emerge: Added new option
  --newuse. This option is to rebuild a package whose USE has been changed.

  22 Feb 2004; Masatomo Nakano <nakano@gentoo.org> emerge, portage.py: speedup
  when /etc/portage/package.keywords is defined. Moved loading
  /etc/portage/package.* processs to config class. This should fix #41520.

  19 Feb 2004; Masatomo Nakano <nakano@gentoo.org> portage.py:
  Fixed CATEGORY value after preinst phase. This should close #6414. Fixed
  nested dependency problem and cleaned up dep_zapdeps function.
  This bug happened with DEPEND='|| ( cat_a/pkg_a flag? ( cat_b/pkg_b ) )'.
  This should close #41869.

  13 Feb 2004; Masatomo Nakano <nakano@gentoo.org> portage.py: Fixed parsing
  SRC_URI bug when FEATURES="cvs". This should close #16159.

  12 Feb 2004; Masatomo Nakano <nakano@gentoo.org> emerge, pym/portage.py:
  TGL's patch for correction package size when emerge -v. -- Fixed
  use.default bug. It occurs when package in use.default exists in system
  and it's virtual package. This should close #40831. 

  12 Feb 2004; Masatomo Nakano <nakano@gentoo.org> emerge: Fixed 
  --ask bugs. It breaks with "--clean". It also breaks when blocker
  exists.  This should close #39865.

  12 Feb 2004; Masatomo Nakano <nakano@gentoo.org> emerge: Fixed
  --ask bug with --changelog. This should close #41293.

  11 Feb 2004; Masatomo Nakano <nakano@gentoo.org> emergehelp.py: Added
  help of F flag with emerge --pretend. This should close #28253.

  11 Feb 2004; Masatomo Nakano <nakano@gentoo.org> pym/portage.py: Fixed 
  ccache dir permission problem with FEATURES="userpriv".
  This should fix #22125.

*portage-2.0.50-r1 (09 Feb 2003): Release Fixes

  09 Jan 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Fix the config
  code so that it doesn't fail when the profile does not exist -- allows
  sync'ing without a tree like it should. Parser returns an exception with
  the parse error now for getconfig(). TGL's patch for another cache issue
  in class config. Modified the /etc/make.profile message. Fix for the
  "eclass does not exist" messages on sync.

  09 Jan 2004; Nicholas Jones <carpaski@gentoo.org> repoman: Fix the repopath
  so that it cna be run outside of cvs repos. 

  09 Jan 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Add portage's
  pym path to SANDBOX_PREDICT to stunt any further .pyc/.pyo problems. Add
  nofetch to the 'successful' kill list to stop the $T definition woes.

  08 Feb 2004; Masatomo Nakano <nakano@gentoo.org> repoman: repoman should
  read each arch virtual file. This should close #40813.

  08 Feb 2004; Masatomo Nakano <nakano@gentoo.org> emerge: Fixed -s/-S 
  bug. "Latest version installed:" was incorrect. This should fix #40847

  08 Feb 2004; Masatomo Nakano <nakano@gentoo.org> portage.py: Fixed ldconfig
  bug. emerge didn't ldconfig after removing library directory.
  This should fix #40694.

*portage-2.0.50 (06 Feb 2003): Release -- API change, cleanups, speedups

  06 Jan 2004; Nicholas Jones <carpaski@gentoo.org> *: repoman got a quick fix
  from genone. Ed's fix for ask/pretend. Made sure that emerge force-updated
  the eclass cache before trying to update all the metadata. masking type
  patch from Genone. masking info patch and regenworld patch added.

*portage-2.0.50_pre22 (04 Feb 2003): Cleanups and stablizing

  04 Feb 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: TGL's fixes
  for exec/child/wait problems. Unset GREP_OPTIONS GREP_COLOR. has() and use()
  no longer attempt to determine if they are to be quiet or noisy -- They
  default to noisy -- useq() and hasq() are the non-verbose versions.
  EBUILD_PHASE set to add a hack-ish way around global scope calls in
  eclasses -- NOTHING SHOULD BE CALLED IN THE GLOBAL SCOPE. Touchup to the
  inherit() code that should finally allow the removal of the ECLASS and
  INHERITED settings. Removed tty (use/has) calls. Removed dirname calls --
  portage.py handles setting the dbkey filename now.
  
  04 Feb 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Ed Catmur's
  (with a  little TGL added in) patch for --ask. Added a 'metadata' target
  that skips the sync and only updates the cache. FEATURES="getbinpkg" added.
  TGL's exit code fixes. Fixed match code for -S so it doesn't complain about
  specific and double versions. Unmerge via dbpath fix. Rewrote rsync's
  options that supports --verbose and --quiet operation now and can force
  checksumming all files using --debug. Sort the files in the cache update
  so it's a little more predictable. 

  04 Feb 2004; Nicholas Jones <carpaski@gentoo.org> prepstrip: changed 
  --strip-debug to --strip-unneeded.

  04 Feb 2004; Nicholas Jones <carpaski@gentoo.org> getbinpkg.py: Updates to
  enable HTTP/HTTPS authentication.

  04 Feb 04; Nicholas Jones <carpaski@gentoo.org> portage.py: best_from_dict
  added to grab the best entry from set of dicts using a list of the keys for
  priority. jstubb's patch to fix listdir -- splits it into a cache and list
  setup. jstubb's patch for varexpand to handle $VAR better. Latexer's patch
  for KernelVersion code to use Makefiles instead of the version.h. Modules
  are loaded from /etc/portage/modules or defaults, whichever works. Fixed
  the /etc/make.profile-is-missing traceback. Spawn can be given 3 pipes to
  redirect stdin,stdout,stderr to specific outputs, terminals, or files.
  TGL's patch for cache functions in portage.py so that they do not cache at
  inappropriate times. PORTAGE_TMPFS is now used if set as a temporary file
  operation area -- recommended to actually be a ramfs/tmpfs filesystem for
  speed. Genone enhanced the deprecated profile patch.

  31 Jan 2004; Masatomo Nakano <nakano@gentoo.org> emerge: Fixed --skipfirst
  bug. This closes #36880.

  29 Jan 2004; Masatomo Nakano <nakano@gentoo.org> emerge: TGL's patch
  for imporving overlay verbose. This closes #39765.

  27 Jan 2004; Masatomo Nakano <nakano@gentoo.org> portage.py: Fixed
  autouse bug. autouse were ignored.

  21 Jan 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Output failed
  cache updates during emerge sync.

  21 Jan 2004; Nicholas Jones <carpaski@gentoo.org> *: VDB_PATH fixes.

  21 Jan 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Only use
  custom profiles when not called by repoman. ROOT never changes profile
  roots, only custom/system profiles var/cache/edb/virtuals. Sandbox fix
  where sandbox was creating an invalid logfile (not giving a summary)
  due to a '/' in SANDBOX_LOG. Turned down the Lockfile output. Double
  check the INCOMPLETE MERGE identifications as it can be caused by cache.

  24 Jan 2004; <nakano@gentoo.org> emerge: Improved timestamp check 
  when 'emerge sync'. Added catching amiguous error when unmerge.
  This closes #24325.

  23 Jan 2004; <nakano@gentoo.org> emerge, portage.py: Fixed 2 bugs. 
  Portage doesn't read local virtuals file, which happens on only cvs
  version. package is blocked by itself.

  21 Jan 2004; Nicholas Jones <carpaski@gentoo.org> portage.py, emerge:
  Fix from genone for emerge's direct reading of packages and his patch
  that also adds in /etc/portage/profile as a stacked profile.

  21 Jan 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Completed
  inheritence capabilities for portage.config reading some files. Moved a
  copy of the getvirtuals() function into settings to handle multiple
  profiles properly.

*portage-2.0.50_pre17/18/19 (21 Jan 2004): Modules for DBs and quick fixes

  21 Jan 2004; Nicholas Jones <carpaski@gentoo.org> *: Moved all references
  to var/db/pkg to portage.VDB_PATH --- This will change again -- NEED TO
  BE MOVED INTO A PATH/CONSTANTS SETUP.

  21 Jan 2004; Nicholas Jones <carpaski@gentoo.org> dosed: Quick fix for
  the basename missing/misplaced issue.

  21 Jan 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Added
  /dev/console to PREDICT to attempt a workaround for a serial console
  bug. dbkey is now set through portage.py/doebuild to allow for modular
  db code.

  21 Jan 2004; Nicholas Jones <carpaski@gentoo.org> emerge: regen doesn't
  require root anymore. Edited the timestamp check to be a little more
  friendly -- delete the portdir timestamp and it won't use the alternate.
  Fix some permission settings. Added some warnings in for cachedirs that
  are very likely to ruin your system. Cleaned out some of the eclass code
  that isnt valid any longer.

  21 Jan 2004; Nicholas Jones <carpaski@gentoo.org> portageq: Added vdb_path
  as a target to get the db directory. Quickpkg uses this.

  21 Jan 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Added
  load_mod() -- grabs a class/function from a module and passes it back
  without loading the module into the global scope. Added unique_array()
  which eliminates duplicates from an array. grab_stacked() operates like
  the other grab* and getconfig functions, but takes a filename and a set
  of paths that it will apply incrementally or clobbers -- for profile
  inheritance. getconfig no longer exits on non-existance returns None.
  Class config now should be passed a profile path and a set of incremental
  values instead of using the globals -- defaults to using the globals
  presently and print an error message. Adding support for module configs
  as a set of strings 'class.subclass.objectmodule':'module.to.use.object'
  for load_mod and the database modules. Profile inheritance started. Killed
  the eclass() super-function and replaced it with class eclass_cache that
  is visible and conceptually simpler -- Also uses the plugable modules.
  Cleaned out the sync calls for the DBs. MASSIVE simplification of the
  aux_get code -- removed memory-caching in favor of system cache (actually
  faster in all cases so far -- P100 and P4-2.2G). Lockfile usage around the
  cachefile.
  
  21 Jan 2004; Nicholas Jones <carpaski@gentoo.org> portage_db_*: Updated
  the API a little but to have permissions set properly. A little more
  reorganization and removed the keycount checks.

  21 Jan 2004; Masatomo Nakano <nakano@gentoo.org> emerge: download size 
  should not be displayed when the package is nomerge with --tree.

  20 Jan 2004; Masatomo Nakano <nakano@gentoo.org> portage.py: Reverted
  ambiguity package fix in cpv_expand().

  20 Jan 2004; Masatomo Nakano <nakano@gentoo.org> emerge: Moved
  backup timestamp.chk file from portage tree to PORTAGE_TMPDIR.

  20 Jan 2004; Masatomo Nakano <nakano@gentoo.org> emerge: Reverted the 
  backing up the timestamp.chk fix.

  20 Jan 2004; Masatomo Nakano <nakano@gentoo.org> emerge: Improved the
  list of --tree by TGL's patch. This should close #38070.

  20 Jan 2004; Masatomo Nakano <nakano@gentoo.org> emerge: Removed debug
  message without --debug. This should close #23840.

  19 Jan 2004; Masatomo Nakano <nakano@gentoo.org> emerge: Improved
  timestamp check of rsync. This should close #37403.

  19 Jan 2004; Masatomo Nakano <nakano@gentoo.org> portage.py: Improved
  regeneration ld.so.cache. This should close #37858.

  19 Jan 2004; Masatomo Nakano <nakano@gentoo.org> emerge: Fixed bug which
  emerge doesn't block same package but different version.
  (example: DEPEND="!<cat/pkg-1.0.0" in cat/pkg-1.0.0.ebuild)

  19 Jan 2004; Masatomo Nakano <nakano@gentoo.org> portage.py:
  Modified cpv_expand() to check package.mask. This should close #38592.

  19 Jan 2004; Masatomo Nakano <nakano@gentoo.org> portage.py: Escaped
  regualar expression for replace entry in fixdbentries().

  18 Jan 2004; Masatomo Nakano <nakano@gentoo.org> portage.py:
  Fixed AUTOCLEAN delay problem in .50pre* by TGL's patch. This close 
  #38189. Fixed unmerge failture bug when 'ebuild foo-1.0.0 unmerge'.
  These close #38189, #38366

  18 Jan 2004; Masatomo Nakano <nakano@gentoo.org> emerge, portage.py:
  Fixed "ebuild /foo/bar-1.0.0.ebuild unmerge" and "emerge bar-1.0.0 unmerge" 
  problems. This should close #38420.

  17 Jan 2004; Masatomo Nakano <nakano@gentoo.org> portage.py: Fixed
  "!<=" style block problem. Fixed symlink with absolute path 
  problem in treewalk().

*portage-2.0.50_pre16 (13 Jan 2004): Quick Fixes -- ~arch version

  13 Jan 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Removed an
  unnecessary depend call that double eclass-using ebuild's cache regen
  time.

*portage-2.0.50_pre15 (12 Jan 2004): Quick Fixes -- ~arch version

  12 Jan 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Unmerge
  traceback fix.

*portage-2.0.50_pre14 (12 Jan 2004): Quick Fixes -- ~arch version

  12 Jan 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Fix for
  traceback on '-S'.

  12 Jan 2004; Nicholas Jones <carpaski@gentoo.org> repoman: Fix for
  traceback on --help.

  12 Jan 2004; Nicholas Jones <carpaski@gentoo.org> sandbox: Fix for
  sandboxpids.tmp file accesses.

  12 Jan 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Sandbox, as
  above. Catch invalid package names and print a sane message about it.

*portage-2.0.50_pre13 (11 Jan 2004): Fixes

  11 Jan 2004; Nicholas Jones <carpaski@gentoo.org> cnf/*: Updated the
  Advanced masking section to aid the reduction of user complaints and
  requests for unreasable usage of ACCEPT_KEYWORDS.
  
  11 Jan 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: A counter
  fix was fixed to actually check the counters of all CP versions to ensure
  the new counter is higher than all existing ones. Modified the dblink
  class to have class lockfiles for the db and tmpdb dirs as well as lock
  other files before editing. Reorganization of the merge code in dblink
  so that the tmpdb is filled immediately after preinst and prior to the
  actual FS merging -- COUNTER and CONTENTS go directly into the tmpdb
  and not into the infodir.
  
*portage-2.0.50_pre11/12 (09 Dec 2003): repoman/binpkg/exit conditions

  09 Jan 2004; Nicholas Jones <carpaski@gentoo.org> emerge: getbinpkgonly
  fixes for emerge -G world, should behave properly now instead of using
  ebuild masks. Only downloads immediately before a merge -- fetchonly now
  applies to binary packages.

  08 Jan 2004; Masatomo Nakano <nakano@gentoo.org> repoman: Ignore other 
  arches check in repoman when --ignore-other-arches(-I).

*portage-2.0.50_pre10 (06 Dec 2003): API change + enhancements

  06 Jan 2004; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Fix for
  dyn_preinst being called before IMAGE was set -- IMAGE is now valid
  in pkg_preinst. Added suidctl for SELinux.

  06 Jan 2004; Nicholas Jones <carpaski@gentoo.org> emerge: Added -P to
  initial cvs checkout.

  06 Jan 2004; Nicholas Jones <carpaski@gentoo.org> quickpkg: Fix for
  the 'tar up /' problem.

  06 Jan 2004; Nicholas Jones <carpaski@gentoo.org> portage.py: Caught a
  traceback generated by bad depend atoms for repoman. Fixes from genone
  for package.*. Fixed the checks for doebuild calls in treewalk that was
  ignoring exit conditions for ebuilds.

  04 Jan 2004; Masatomo Nakano <nakano@gentoo.org> repoman: Added PDEPEND
  dependency check. This closes #24796

  04 Jan 2004; Masatomo Nakano <nakano@gentoo.org> repoman, portage.py:
  Added new dependency check to repoman. This closes #36887.

  03 Jan 2004; Masatomo Nakano <nakano@gentoo.org> emerge: Modified 
  to specific port number in emerge sync. This closes #36994

  02 Jan 2004; Masatomo Nakano <nakano@gentoo.org> portage.py: Fixed 
  a problem that emerge doesn't block package when it's required.
  It happens in .50_pre*.

  02 Jan 2004; Masatomo Nakano <nakano@gentoo.org> portage.py: Fixed 
  issue with getsize() when --debug.

  02 Jan 2004; Masatomo Nakano <nakano@gentoo.org> portage.py: Fixed 
  issue with virtual. This closes bug #9050, #22225, #29499.

  01 Jan 2004; Masatomo Nakano <nakano@gentoo.org> ebuild, emerge, portage.py:
  Fixed issue with not cleaning up temp directory. This closes bug #34967.

  31 Dec 2003; Masatomo Nakano <nakano@gentoo.org> emerge:
  Fixed 'emerge sync' issue which continuously connects to same host.

  31 Dec 2003; Nicholas Jones <carpaski@gentoo.org> emerge: Found the line
  that was causing the package dir to be printed... It was a spawn call.

  31 Dec 2003; Nicholas Jones <carpaski@gentoo.org> portage.py: Fix for
  the symlink corruption in the db from the movefile() bug.

  29 Dec 2003; Masatomo Nakano <nakano@gentoo.org> portage.py:
  Fixed bug which emerge stops when no denpendencies exist in || ( ) 
  by USE flags. This closes #36568.

  29 Dec 2003; Masatomo Nakano <nakano@gentoo.org> emerge, portage.py:
  Added an ambiguity package check when emerge. This closes bug #22700.

*portage-2.0.50_pre9 (24 Dec 2003): API change + enhancements

  24 Dec 2003; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Added
  PORTAGE_TMPDIR to SANDBOX_READ/WRITE to ensure it works. SpanKY's
  patch for use negation added (use !foo). pkg_setup doesn't die on
  a non-zero exit status.

  24 Dec 2003; Nicholas Jones <carpaski@gentoo.org> emerge: using os.uname
  instead of calling out to uname.

  24 Dec 2003; Nicholas Jones <carpaski@gentoo.org> quickpkg: Added SpanKY's
  patch for delayed exit/error conditions.
  
  24 Dec 2003; Nicholas Jones <carpaski@gentoo.org> xpak.py: chdir's added
  to the getcwd fix for missing dirs.

  24 Dec 2003; Masatomo Nakano <nakano@gentoo.org> emerge: Added OVERLAY
  directories display for --verbose.

*portage-2.0.50_pre8 (24 Dec 2003): API change + enhancements

  22 Dec 2003; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Added
  /proc/self/maps to SANDBOX_PREDICT, and /dev/shm to read/write.
  
  22 Dec 2003; Nicholas Jones <carpaski@gentoo.org> emerge: Added automake
  and autoconf versions to the output of emerge info.

  22 Dec 2003; Nicholas Jones <carpaski@gentoo.org> etc-update: Added
  edit merged file option -- defaults to EDITOR var or "nano -w".

  22 Dec 2003; Nicholas Jones <carpaski@gentoo.org> portage.py: Use
  os.uname instead of calling out to uname which might not exist.

*portage-2.0.50_pre7 (22 Dec 2003): API change + enhancements

  22 Dec 2003; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: patch to
  quote most of the path operators that might involve spaces.

  22 Dec 2003; Nicholas Jones <carpaski@gentoo.org> portage.py: Fix for
  invalid entries in package.keywords. Character chopping on mirrors
  fixed again.

  21 Dec 2003; Masatomo Nakano <nakano@gentoo.org> bin/ebuild, bin/emerge,
  pym/portage.py: Changed to show disabled USE flags from use.mask when
  using emerge -vp. And fixed use.mask issue.

  20 Dec 2003; Nicholas Jones <carpaski@gentoo.org> portage.py: Rewrote
  match_from_list -- Simplified and made pkgcmp and match_from_list
  properly compare package names.

  20 Dec 2003; Nicholas Jones <carpaski@gentoo.org> repoman: Fix for mysigs
  traceback when signing.
  
  20 Dec 2003; Nicholas Jones <carpaski@gentoo.org> portage.py: Added
  PYTHONPATH to the specials list -- created a colon_seperated list.
  Fixed reset() in class config so that you can specify keeping the
  pkg dictionary when resetting the values.

  19 Dec 2003; Masatomo Nakano <nakano@gentoo.org> repoman: Added check 
  whether "ebuild foo.ebuild digest" succeeds.

  19 Dec 2003; Nicholas Jones <carpaski@gentoo.org> portage.py: Fix for
  pkg settings being maintained after an unmerge.

  19 Dec 2003; Nicholas Jones <carpaski@gentoo.org> pym/portage_db_*: Moved
  to using cPickle instead of marshal. More standardization of the API.

  18 Dec 2003; Masatomo Nakano <nakano@gentoo.org> repoman: Added virtual
  dependency check on each arch.

  17 Dec 2003; Nicholas Jones <carpaski@gentoo.org> portage.py: Fixed a
  permission issue involving $T and userpriv. Lockfile touchup.
  
  17  Dec 2003; Nicholas Jones <carpaski@gentoo.org> portage_db_*: Added
  templates and db for cache interfaces. Presently have a anydbm and a
  flat file interface working. See the test for operations.

  15 Dec 2003; Nicholas Jones <carpaski@gentoo.org> emerge: Added a call
  to portageq that causes python to create optimized modules prior to it
  ending up inside the sandbox. Added more output and logging to sync.
  
  15 Dec 2003; Nicholas Jones <carpaski@gentoo.org> prepstrip: 'tree' is not
  the same as 'true'.
  
  15 Dec 2003; Nicholas Jones <carpaski@gentoo.org> portage.py: invalid
  settings in package.keywords caused a traceback -- fixed with error message.
  
*portage-2.0.50_pre1 (12 Dec 2003): API change + enhancements

  10 Dec 2003; Nicholas Jones <carpaski@gentoo.org> chkcontents: Uses portage
  functions to do md5sum calcs.

  10 Dec 2003; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Removed try()
  as it isn't used, and was deprecated for a long while. Genone's fetching
  size display added for --verbose. License display added. Added a little
  debug for IUSE so we can figure out the binary package --verbose IUSE
  issues that are randomly reported. XXXXXXXXXXXXXXXXXXX's 'buildsyspkg'
  patch for building only system packages into tbz2s. Unmerge fix for new
  settings instances. RSYNC_RATELIMIT added.
  
  10 Dec 2003; Nicholas Jones <carpaski@gentoo.org> portage.py: ADA path
  variables added to specials for env_update. Error messaeg correction for
  make.defaults syntax errors. Unmerge now uses the environment file, if it
  exists, to get the complete environment back to perform unmerge operations.
  load_infodir() uses pkg settings completely now. Fixed the passing of
  settings in unmerge and dblink. Fixed an issue regarding unlinking lockfiles
  while inside of a sandbox.
  
  09 Dec 2003; Nicholas Jones <carpaski@gentoo.org> ebuild.sh, *.sh:
  Moved helper scripts into bin/functions and made them sourceable -- they
  now will die in cases where sub-parts fail. dodoc and keepdir are now
  recursive-capable.

  09 Dec 2003; Nicholas Jones <carpaski@gentoo.org> emerge: emerge.log now
  set as portage:portage with 0660 perms. --debug now enables tracebacks
  for dep generation instead of moving code out of the try block.
  
  09 Dec 2003; Nicholas Jones <carpaski@gentoo.org> g-cpan.pl: rac's patch
  to get arch list from portage's list of arches in the profiles.
  
  09 Dec 2003; Nicholas Jones <carpaski@gentoo.org> repoman: Moved a bit of
  the existing gpg code around -- it might work as is, but requires 'sign'
  in features. Fixed a potential for repoman to miss updates that should
  get a new manifest and commit. Fixed digest/manifest generation for
  non-packagedir runs of repoman.
  
  09 Dec 2003; Nicholas Jones <carpaski@gentoo.org> emergehelp.py, make.conf,
  getbinpkg.py:  Message touch ups.
  
  09 Dec 2003; Nicholas Jones <carpaski@gentoo.org> portage.py: load_infodir()
  uses pkg settings now instead of env and backup. Genone's custom mirror
  patch included. Added some missing 'strict' flags for recursion in digest*().
  Refixed the invalidentry stuff that was lost across patch merges. Fix for
  pkg-keywords from genone included. Genone's deprecated profile patch for
  reporting to a user that their current profile is deprecated. Message about
  missing arch.list instead of spouting invalid keywords messages.

  08 Dec 2003; Masatomo Nakano <nakano@gentoo.org> repoman:
  Added all arch dependency check. This closes bug #24160.

  07 Dec 2003; Masatomo Nakano <nakano@gentoo.org> emerge,portage.py:
  Fixed bugs. 1.--debug doesn't work 2.Portage breaks files
  in /var/db/*/*. 3.No stop if dependency problem happens.
  They are only cvs version problems.

  01 Dec 2003; Masatomo Nakano <nakano@gentoo.org> emerge: Fixed bug which 
  always remakes info dir file.

  29 Nov 2003; Masatomo Nakano <nakano@gentoo.org> portage.py: Fixed issue with
  ebuild name rule. Fixed typo with variable name.
  This closes bug #17172,#34666

  29 Nov 2003; Masatomo Nakano <nakano@gentoo.org> emerge: Fixed issue with 
  lacking the "setting" argument for pkgmerge()

  29 Nov 2003; Masatomo Nakano <nakano@gentoo.org> emerge: fixed rsync bug.
  This closes bug #34660.

  28 Nov 2003; Nicholas Jones <carpaski@gentoo.org> portage.py: Migration
  to non-global settings started -- class config has new functionality and
  is locked after portage is finished initializing -- changes cannot be made
  to the global instance of config 'settings' -- reset() is now functional,
  setcpv() loads PKGUSE from /etc/portage/package.use, load_infodir() loads
  all small files (under 4k) from the vardb directory of an installed package
  so that operations have the same post* settings as they had at merge time.
  Begin modifications to spawn() to allow for files/pipes to be used for
  IO instead of using getstatusoutput which does not take an environment
  parameter like execve(). check_config_instance() ensures that the provided
  parameter is a 'class config' instance -- for ensuring that everything is
  being passed properly with the changes. Fix for the local FS mirror issue
  where it removed the first '/' instead of the last one. doebuild() cleanups
  for readability and pkguse enhancements -- also remove getstatusoutput()
  usage for depend so that we don't have to modify the active environment.
  Fix for symlink mtime values returned from movefile. (Nakano) SLOTMOVE
  added to global update functionality to fix some issues where a package
  suddenly must become slotted. portdbapi takes a root parameter instead
  of using settings. Slightly more useful output from depend. binarytree()
  now takes a pkgdir instead of using settings. Portage will now die if
  ebuild.sh exits on a signal.
  
  Moved some functions around and renamed them for general use -- derived
  from match2 in class portagetree:
  match_to_list() find all atoms in a list that match a given package.
  best_match_to_list() determines the most specific match. Needs work.
  match_from_list() find all packages in a list that match a given atom.

  28 Nov 2003; Nicholas Jones <carpaski@gentoo.org> emerge: Fixed an issue
  with searchdesc wanting root permissions if run as non-root. Migrated to
  the non-global config class. EMERGE_FROM added for the dyn_preinst patch
  -- Indicates if a merge is occuring from an ebuild or from a binary. Patch
  for rsync timestamp checking from Nakano.
  
  28 Nov 2003; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: Save PKGUSE.
  Pebeneto's patch for dyn_preinst and SELinux added as a fix for binary
  and ebuild merges. Added a kill for portage during the depend phase so
  that portage will actually die if you control-C.

  28 Nov 2003; Nicholas Jones <carpaski@gentoo.org> *: MASSIVE set of changes
  to start using locally defined 'class config' instances. This allows us to
  start working on some parallelism among other things. Created this way:
  mysettings = portage.config(clone=portage.settings)
  
  The Following functions now take a 'config' parameter:
  spawn(), fetch(), digestgen(), digestcheck(), spawnebuild(), doebuild(),
  merge(), dep_opconvert(), dep_check(), dblink.__init__()
  
  package.keywords is now implemented curtasy of genone/max. PKGUSE was
  rewritten for the global config killing and is also included. X11 man
  pages now found and zipped correctly. SYS.PATH fixes for the python
  migration -- issue actually only shows up on 2.2 systems because of how
  compiled modules are used if found regardless of the original source's
  existance.

  28 Nov 2003; Nicholas Jones <carpaski@gentoo.org> tabcheck.py: An easier
  way to make sure that all the python stuff is correctly using tabs and
  not mixing spaces.

  28 Nov 2003; Nicholas Jones <carpaski@gentoo.org> xpak, xpak.py: Fixes
  to ensure that it works if the current dir is missing and that the python
  path gets set properly.
  
  22 Nov 2003; Daniel Robbins <drobbins@gentoo.org> portage.py: Fixed
  calls in vartree method to invalidentry().... made them call call
  self.dbapi.invalidentry() (there were multiple wrong method calls.)
  
  10 Nov 2003; Nicholas Jones <carpaski@gentoo.org> md5check.py: Checks all
  digests and SRC_URIs for filenames and associated MD5s. Reports collisions
  between versions/packages, missing, and extra lines in digests.

*portage-2.0.49-r17/18 (10 Nov 2003): Fixes

  10 Nov 2003; Nicholas Jones <carpaski@gentoo.org> *: Changed portage to
  be the first path in sys.path for all python scripts. Also enabled
  optimizations from the scripts to ensure everything imported is built
  for speed. ebuild: applied fix for the '//' root breaking the db[].
  prepstrip: etdyn quickfix
  
  10 Nov 2003; Nicholas Jones <carpaski@gentoo.org> portage.py: fix for
  RESTRICT=nouserpriv. GENTOO_MIRRORS can have paths set to take files
  from. Fixes for mishandled cache data regarding *pkgsplit(). Fixes for
  '*' being returned as part of a package split. An 'invalidentry()' fix
  for a traceback. Nakano's fixes for virtual removals not working properly,
  sandbox violations during pkg_nofetch, || depend selection. Genone's
  fixpackages speedup.

  10 Nov 2003; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: PORTAGE_TMPDIR
  fix for distcc. Variable passing bug patch for export_functions. Exit 1
  added for nofetch to stop sandbox violation. Nakano's --tree patch added.
  Improved the unmerge messages to denote what kind of unmerge fails. Info
  pages regex pattern adjusted to allow most any name for a page.

  10 Nov 2003; Nicholas Jones <carpaski@gentoo.org> repoman: genone's xml
  linting additions.

  01 Nov 2003; Robin H. Johnson <robbat2@gentoo.org> pym/cvstree.py:
  fix bug #32071, by properly escaping a string to not be a regex. Checked
  thru entire *.py tree and found this is the only mis-use of strings that
  need to be escaped.

  31 Oct 2003; Daniel Robbins <drobbins@gentoo.org> portage.py: /lib/modules
  now gets "unmerge protection." This is half of the config protection
  functionality. It means that anything in /lib/modules will not be deleted
  when a package is unmerged (often automatically when a user merges a
  kernel module ebuild for a new kernel.) This solves the "my module
  disappeared!" issue. This closes bug #1477.
  
  31 Oct 2003; Daniel Robbins <drobbins@gentoo.org> emerge: Should no longer
  spit out wacky "!!! no match found" warnings when auto-cleaning.
  
  30 Oct 2003; Daniel Robbins <drobbins@gentoo.org> portage.py: Only run
  depscan.sh if it exists on disk. This allows Portage to run inside a stage1
  where /sbin/depscan.sh doesn't exist.
  
  30 Oct 2003; Daniel Robbins <drobbins@gentoo.org> portage.py: Applied fix to
  allow multi-level "use? (   )" in SRC_URI, closing bug #16159.

*portage-2.0.49-r15/16 (21 Oct 2003): Fixes

  21 Oct 2003; Nicholas Jones <carpaski@gentoo.org> fix-db.py: was broken
  for python2.3 -- fixed now.
  
  21 Oct 2003; Nicholas Jones <carpaski@gentoo.org> portage.py: Added
  lockfiles to prelink md5 checks. Fixed caching bug where cache objects
  were passed back as pointers instead of copies. Added 'invalidentry'
  function to handle lockfiles -- It tests/deletes them using unlockfile.
  Added fix-db.py to the 'databases is broken' messages.

  21 Oct 2003; Nicholas Jones <carpaski@gentoo.org> ebuild.sh: added CDPATH
  to unset. SELinux fix for sandbox.