aboutsummaryrefslogtreecommitdiff
blob: 817f421693fe22c67abb4b12e2ae491b3dd6ac0e (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
# ChangeLog for Portage; the Gentoo Linux ports system 
# Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2
# $Id: ChangeLog,v 1.785 2004/10/11 15:03:57 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.


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