/usr/share/aptitude/NEWS is in aptitude-common 0.8.7-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 8373 8374 8375 8376 8377 8378 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 8553 8554 8555 8556 8557 8558 8559 8560 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603 8604 8605 8606 8607 8608 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 8727 8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 | [2017-04-18]
Version 0.8.7
- User visible changes:
* Warn about invalid locales (Closes: #859907)
- Bug fixes:
* Preserve auto-installed flag with hold/unhold/keep operations
(Closes: #843536)
* [cmdline] Fix extreme slowness of keep-all (Closes: #842707)
Every change of marking the package to "keep" was triggering a reevaluation
in aptitudeDepCache::end_action_group() of what had changed ("mark and sweep",
duplicate of cache, triggers of packages state changes... etc), for every
package.
* Avoid problems or improve response in problems related to reinstalling
(Closes: #851901)
Improvements to deal with several problems that sometimes appear when
reinstalling or acting on scheduled reinstall actions, due to the versions
disappearing from the repositories.
* [cmdline] Failing to apply actions are not fatal with -f /
Aptitude::CmdLine::Fix-Broken (Closes: #835372)
The behaviour of refusing to continue when there are errors happens since
the change "[cmdline] Abort with Failure when actions cannot be taken
(Closes: #121313, #430392, #445034, #498239, #576212, #639789, #798320)",
but it's not an optimal solution for automatic installers like FAI, so this
is a way to revert to the old behaviour.
- Internal changes:
* new method is_version_available(), to check if the given version of a
package is available (to check availability e.g. for reinstalls)
- Translation updates:
* Italian documentation translation by Beatrice Torracca (Closes: #858784)
[2017-03-05]
Version 0.8.6
- User visible changes:
* [cmdline] Better message when there are no deb-src in sources.list
(Closes: #841875)
- Bug fixes:
* Use a more strict mask for comparison of dependency operators, thanks to
Aaron M. Ucko for the initial patch (Closes: #836567, #837946, #849370)
Recently apt started to use more values in an enum used for dependency
operator comparisons, which causes some problems because aptitude's code
from many years ago, which did not expect new values.
Using a stricter mask to capture only the operators, as per the
documentation of the enum (lower 4 bits).
* Fix reading tag and their classification in subtrees (Closes: #853037)
Newline characters were added to the last tag (or the only one), and it
caused extra problems like classifying the tag in their own subtree due to
the new-line mismatch in the tag name.
* Fix misdetection of auto-installed packages from apt
(Closes: #831858, #841347)
- Translation updates:
* ru.po: Russian translation by Lev Lamberov (Closes: #855329)
* Dutch documentation translation by Frans Spiesschaert (Closes: #854897)
[2017-01-24]
Version 0.8.5
- Translation updates:
* ru.po: Russian translation by Ulyanich Michael and Lev Lamberov
(Closes: #849761)
* nl.po: Dutch translation by Frans Spiesschaert (Closes: #851888)
* Dutch documentation translation by Frans Spiesschaert (Closes: #851890)
* French documentation translation by Cédric Boutillier (Closes: #852352)
[2016-12-27]
Version 0.8.4
- User visible changes:
* Updated section list and added descriptions. Thanks Josh Triplett!
(Closes: #847530)
* Support for Build-Depends/Conflicts-Arch, by David Kalnischkies
(Closes: #843789)
- Bug fixes:
* [curses] Do not fail immediately and attempt to continue when some package
lists cannot be updated (Closes: #834790)
The bug, in which the update of package lists stopped and the interface was
left at the "Loading cache" stage indefinitely, seems to be due to changes
in behaviour of apt or some strange interaction, because the relevant
sections of aptitude have not changed in a long time.
This is fixed now by not being strict with this kind of errors (to cope with
what seems to be a new behaviour from libapt -- to not report that the
update can proceed)... Hopefully this change will not create other problems.
- Internal changes:
* Support recent versions of googletest and google-mock, change of paths:
/usr/src/gtest -> /usr/src/googletest/googletest
/usr/src/gmock -> /usr/src/googletest/googlmock
- Translation updates:
* cs.po: Czech translation by Miroslav Kure (Closes: #838790)
* help-cs.txt: Czech translation by Miroslav Kure (Closes: #838790)
* nl.po: Dutch translation by Frans Spiesschaert (Closes: #841116)
* aptitude-defaults.ru: Russian translation of updated section list by Lev
Lamberov (Closes: #847965)
* Dutch documentation translation by Frans Spiesschaert (Closes: #842186)
[2016-08-07]
Version 0.8.3
- User visible changes:
* [cmdline] Commands "markauto", "unmarkauto", "hold", "unhold", "keep",
"keep-all" and "forbid-version" now work independently of other action
commands and they will not try to go ahead with pre-scheduled actions
(Closes: #142699, #567079, #764299)
This is similar to how "forget-new" or user-tag related commands worked, and
the fact that they started to install or remove packages caused confusion.
- Bug fixes:
* [curses] Use single-line for "forget-new" dialog when using minibuf prompts
(Closes: #832363)
* [cmdline] "download", "source" and others provided by a thin wrapper over
apt tools now accept "-t" and other options (Closes: #832320)
* [cmdline] Document "source" and "showsrc" in --help (Closes: #833584)
* [cmdline] Saying 'n' to a solution jumps to the end of the generated
solutions and tries to generate a new one (Closes: #832907)
This reverts b41db12f ("Rejecting a solution advances to the next one only")
but also improves the description.
* Fix code preventing to save package selection states to dpkg
(Closes: #825866, #833588)
- Internal changes:
* Create on_apt_errors_print_and_die(), for the common case of checking for
errors from apt, printing them on the screen and exiting immediately with an
error code
* cmdline_util: Add get_packages_from_set_of_strings(), to help parsing
package names and resolve patterns from the command line (using the
lower-level get_packages_from_string())
[2016-07-23]
Version 0.8.2
- New features:
* [cmdline] New commands "showsrc" and "source"
(Closes: #243412, #403372, #403631)
Provided by a thin wrapper over apt tools.
* [cmdline] "forget-new" accepts package names and pattern arguments
Addresses part of #421043 (and merged).
* [curses] "forget-new" accepts package names and pattern arguments
(Closes: #421043)
- Bug fixes:
* [curses] Apply solution ('!') guarded against crash when there are no
solutions (Closes: #823734)
* [cmdline] Command "download" now provided by a thin wrapper over apt tools
(Closes: #431568)
This command from aptitude did not provide verification of downloaded files.
* [curses] Flat view changed to honour ::Pkg-Display-Limit if exists
(Closes: #814037)
* Fix crash caused in infer_reason.cc for pkg_unused_remove (Closes: #824441)
Introduced in some difficult to reproduce conditions by fix for "Enhance
infer_reason() to explain more cases of pkg_unused_remove", bug #266061, in
0.8.
* [cmdline] Fix for code that failed to fetch the changelog for source
packages. Thanks Emmanouil Maroudas for the fix. (Closes: #827133)
- User visible changes:
* [curses] Change TUI message after "pressing 'q' and then 'Enter'"
to no more mention "shutting down". Use "quitting" instead.
- Internal changes:
* aptcache.{h,cc}: Split aptitudeDepCache::forget_new() in two parts, one to
unmark as 'new' a given set of PkgIterators, another unmarking all.
* cmdline_util: Add get_packages_from_string(), to help parsing package names
and resolve patterns in the command line
- Documentation:
* Guide/User's Manual:
* Enhance the documentation of the use of "architecture specification" for
?architecture search pattern arguments, instead of simple string matches
(Closes: #823927)
The commit d78de1ea in 0.6.8.2-1 had the side effect that the strings for
the arch search pattern are no longer treated as simple "string patterns"
as it happened before, when architectures were matched with partial
strings (as it does with package names, etc.).
In the case of TUI with interactive search enabled, it means that packages
do not match until the arch-specification is complete/valid, triggering
"beeps" meaning that no packaged match.
* Add clarification for ?any-version search pattern (Closes: #691531)
* manpage:
* Remove outdated exceptions of -t/--target-release for "changelog",
"download" and "show" (Closes: #693684, #821866)
* Describe aptitude-[create|run]-state-bundle as for internal use only
(Closes: #521190)
- Translation updates:
* Russian documentation translation by Lev Lamberov (Closes: #829681)
[2016-05-05]
Version 0.8.1
- Bug fixes:
* Install Essential or Required packages with the commands "full-upgrade"
(command line) and MarkUpgradable ('U' in the curses interface)
(Closes: #555896, #757028)
* Do not prevent to remove/purge aptitude if already removed or purged
(Closes: #822331)
E.g. aptitude:i386 in amd64 with multiarch.
* [curses] Indent section descriptions in subtrees (Closes: #103416)
Not the same as creating a column, but same effect.
* Invoke the resolver for unfulfilled Recommends only once (Closes: #822329)
After the fix for #819636, the resolver was invoked after every action taken
(in curses mode) to see if there were any unfulfilled dependencies. This is
too slow for some people/systems, so this is now only invoked will full
check of dependencies (Recommends / "soft deps") before the final action.
* [curses] Be more verbose when quitting after dpkg actions (Closes: #822560)
This is related to the fix in the previous version for #246672.
Make curses windows visible when restoring (instead of staying blank) to
show message of "Updating state and shutting down", and make some
improvements to speed up shut down.
The optimisation is achieved through a global variable shutdown_in_progress
that apt_load_cache() pays attention to, to e.g. avoid re-loading tags.
This mechanism is not very elegant, but:
a) we cannot quit directly (we need to save the state after package
actions were taken, for example), and
b) untangling the rest of the shutdown process is very difficult, with the
state of the code having grown organically for years without taking this
into account (it would need significant rewrites); and duplicating code
for the cases when we quit and we continue is not very good either
- Translation updates:
* ja.po: Japanese translation by Takuma Yamada (Closes: #822208)
* nl.po: Dutch translation by Frans Spiesschaert (Closes: #822889)
* Dutch documentation translation by Frans Spiesschaert (Closes: #822890)
[2016-04-20]
Version 0.8
- New features:
* Detect and suggest solutions when pkgstates is corrupt (Closes: #405506)
* Allow to choose between localized logs or not (default is not) with the
option ::Localized-Log (Closes: #357828, #596221)
* [curses] Left/Right arrow keys collapse/expand one level of the subtree, and
when in a package item (row) Left jumps to "parent"
(Closes: #157984, #241945, #415449)
The solution is a bit "hacky", because for example for the left arrow in the
package item to jump to its parent, the pkg_item objects have to capture
events of some keybinding ("collapse") and re-inject the event as "parent".
The direct route, which would be to add "left" as an alias of "Parent",
doesn't work in this case, because some elements using "left" for other
purposes would be confused and would interpret it as "Parent".
Maybe there is another way to achieve this more cleanly if it's possible to
assign bindings like "Parent" specific to e.g. tree items (pkg_items derive
from that), but even if cwidget allows for this, it seems to be quite
complicated to achieve it.
* [curses] Be able to Quit after dpkg run (Closes: #246672)
The current implementation seems to work, but the handling of these issues
is a bit brittle and with lots of circular dependencies, with signals and
events happening everywhere. E.g view (cwidget objects) being reloaded
automatically when cache is reloaded, while cwidget is supended for dpkg
run. The initial events trigger further updates and triggers using cwidget
objects and other structures, sometimes depending on different options being
enabled or how the curses mode was launched (e.g. "visual preview", or
"solution screen").
In any case, the cache needs to be reloaded (and with it, state saved to
disk) to perform some updates/cleanup after dpkg runs, like resetting
"reinstall" state when done (the "save pending reinstall" was implemented in
this version), or unmarking upgraded packages as needing upgrade after the
version has been upgraded to the desired one (bug fixed in this version,
when aptitude was not acknowledging the "upgrade" as having taken place, and
still marking it as update in the next runs).
Presumably all of these complications are why this hand't been implemented
before, in all the intervening years.
Still I thought that it was worth to implement it now because it will now at
least save the user/system from spending time in some of the curses actions,
save a few extra keystrokes, and with it a few seconds (specially in slower
systems) having to keep an eye just for quitting.
- Bug fixes:
* ~E pattern now returns packages with Essential only (Closes: #548505)
apt marks itsef as Essential, so this doesn't change much some aspects of
the bug report.
* Detect as "Security Upgrades" when site matches security.*.d.o
(Closes: #328620)
Previously it was only matching "security.debian.org", not accounting for
mirrors like "security.eu.debian.org".
* Allow to run in dumb terminals when not requiring curses preview or solution
screen (Closes: #817276)
The bug fixing #317928 forbade some uses which are not problematic. Also
added a few more checks to also forbid launching solution screens and
previews from the command-line.
* "reinstall" planned action is now preserved across sessions, when becoming
root or in the command line with --schedule-only (Closes: #255587, #785641)
After the successful reinstallation of this package (and probably other
installations/upgrades/deletions/... in the same action), the package is
unmarked for reinstallation. There's no way to detect individually whether
a package was reinstalled successfully, so if there is a failure in the
whole set of actions, the package will still be marked for reinstallation
even if the reinstallation itself has actually succeeded. This is the best
that we can do without significant complications (e.g. handling
reinstallations in a package-per-package basis and separate from other
actions, but this would be somewhat similar to going back to the current
situation -- not treating it just as other actions).
It is unlikely that this is a big problem in the real world, though.
Probably reinstallations are performed very frequently, and when they are,
it's unlikely that they are bundled in conjunction with package actions such
as big upgrades.
* Fix crash when invoking curses resolver from command line (Closes: #817776)
This fix is analog to the one for #816322, and previously to that the
problems involving boost::flyweights.
* Update internal state for upgrades without target version after the action
is performed (Closes: #721426)
This extends "Update internal state for upgrades/downgrades with target
version after the action is performed (Closes: #787658, #714429)", by also
trying to remove the "Upgrade: yes" line in pkgstates when the package has
been upgraded to the candidate version (when a explicit version is not
requested).
Otherwise the lines linger in "pkgstates" for longer than necessary, until
it is updated due to other packages needing changes; with the side effect
that if an "aptitude update" happens before the lines are removed, the
packages are automatically marked for upgrade in subsequent aptitude
sessions.
* [curses] Fix for miscalculated Download Size field (Closes: #817547)
After running dpkg run or under some other conditions (cache closed), the
object storing fetch information did not get reset and updated correctly.
* Marking as keep, through ':' or other actions, clears Forbidden version
Uncovered investigating #615481.
* Fix cases where user tags operations did not apply (Closes: #819002)
This was caused by misuse of locks before the operation of saving the state
file (pkgstates).
* Actions involving unfulfilled Recommends invoke the resolver
(Closes: #819636)
With APT::Install-Recommends="true" (the default), actions resulting in
unavailable Recommends (e.g., the recommended package is upgraded instead of
remaining in the required version) invoke the resolver, for the user to take
decision.
This is because now the resolver monitors situation when the
PolicyBrokenCount is not zero, before it was only taken BrokenCount into
account (it was the only count available when the code was set up).
* Enhance infer_reason() to explain more cases of pkg_unused_remove
(Closes: #266061)
Enhance infer_reason() to explain more cases where package is removed
because of automatically installed and unused (one case related to #819636).
The case related with #819636 is when the version of the depended package
(the one for which we look the reason of removal) changes because e.g. it is
upgraded, so maybe it doesn't fulfill the original dependency (for example
because the package depending on it it depends on an exact or less-than
version, as in the bug report).
The second case (#266061) was missing the explanation because it didn't take
into account reverse-depends of virtual packages provided by the package
being inspected.
- User visible changes:
* [cmdline] Output in dumb terminals, when there is no piping/redirection
involved and even if ioctl doesn't work to get window size (e.g. inside
emacs), will now use COLUMNS instead of the default very big default width
* Format string scapes for Source (%E->%e) and Architecture (%e->%E) swapped
This is for consistency while addressing #743769, while it's not too late
(only a few releases in unstable since they were added).
* New short form "~e" for search term "?source-package" (Closes: #743769)
* [curses] Remove option to run "dpkg-reconfigure" on a given package
(Closes: #680334, #686626, #738350)
Similar to "reportbug" recently removed, it was mostly an annoyance with
several related bugs open, with others fixed in the recent past (#474876),
was not integrated with the rest of actions -- no menu entry, would trigger
an immediate without confirmation (sometimes by mistake) instead of a
planned action, since it was immediate could not be saved as most/all
actions are...
In addition, this is a relatively dangerous operation that should seldom be
needed, and it's better if people run it run by hand rather than if they
trigger it by mistake.
Lastly, as a curiosity and as telling of the typical evolution of the
sofware features, the history of it is: Added in the version 0.2.3 released
on 2001-07-11, with this comment: "You can now run dpkg-reconfigure from
within aptitude (it's a silly feature, but it's also about 10 lines of
code..)". The original 10 lines of code are now 67 in pkg_item.cc, 1
keybinding in defaults.cc, mentions in the documentation and all of the
translations; needs to use different mechanisms for "su-to-root" permissions
that it needs, there were at least 4 bugs involving the feature, and
spending a few hours tracking all of this to finally remove it... so much
for an innocent silly feature with only 10 lines of code :-)
* [cmdline] Solution screen for "Remove the following packages" shows version
and suite
This is to make it more similar to the other cases shown, which include a
version, as well as being able to deduce when a package is local / obsolete
("now") instead of being part of other suites.
E.g. it will show:
Remove the following packages:
1) libsdl1.2-dbg [1.2.15+dfsg1-2 (now)]
instead of the previous:
Remove the following packages:
1) libsdl1.2-dbg
- User visible changes (Resolver):
This subsection is to separate the (many) changes of the Resolver in this
version from other changes.
When dealing with conflicts or when called when special options
(--full-resolver in the command line), aptitude fires an internal resolver to
try to address the resolution of conflicts caused by the requested action(s).
This was created at a time when apt was not resolving very well the
dist-upgrades and other actions, and long before Multi-Arch was implemented in
Debian, so with time the gap between aptitude and others was smaller, often
apt does a better job than aptitude, then unfavorable comparisons started to
be made, and other problems started to appear in the implementation.
This is a very complicated piece of software, and it's very difficult to fully
understand and reason about the consequences of deep changes. As a heuristic
system, the solutions that it gives are quite open (so it's better if it's
guided towards desired solutions), and tweaks to the process can have
unpredictable and undesired effects somewhere else.
That said, since in the last few years there were many complaints about the
first solution offered being very often undesirable (removal of many
packages), and (from most user's point of view) preferable solutions like
upgrades being offered only after many removals, and keeps only offered as
last resort; some changes were made to try to address these problems.
The main change that seems to have started this in the past was with #565867
in 0.6.1.5 back in 2010 (but there are bugs open much older than that, so it's
been a recurring problem):
+ [all] Changed the default resolver configuration so that removals
and "safe" actions are grouped together. Without this
change, aptitude was being too conservative and failing to
solve simple upgrades. (Closes: #565867)
The safe-upgrade resolver is unaffected by this change,
since it uses explicit constraints to prevent removals from
being installed.
In the comment of the bug report, the original developer says:
"In the 0.6 series, the aptitude resolver is a lot more conservative
than it used to be, due to repeated complaints by users that it was
removing too many packages in the first solution that was presented.
It looks like maybe I overcompensated, though (this is not the first
report along these lines).
The main difficulty in cases like this is getting the algorithm to
properly balance removals with upgrades. However, it looks like the
old scoring system works just fine here."
This is still true now. Hopefully after the changes in this version the
balance is acceptable for most common actions when using aptitude, including
day-to-day upgrades as well as occasional big upgrades between Debian
releases.
Now onto the changes. Executive summary:
* Changes to the order in which solutions are offered in conflict resolutions,
so upgrades or keeps are preferred over removal of many packages
(Closes: #341963, #359171, #365644, #453935, #569315, #570377, #574132,
#588202, #610845, #651410, #651947, #653284, #661678, #722211,
#798240)
A more detailed description of individual changes follows:
* Modify several resolver scores config variables
::ProblemResolver::RequiredScore was lower (4) than ImportantScore (5), even
if it's in fact higher in the rank; while ExtraScore was -1, even if many
regular package in current systems are priority "extra" -- they should not
be penalised as "could we do without". The new scores are:
::ProblemResolver::RequiredScore = 8 (was: 4)
::ProblemResolver::ImportantScore = 4 (was: 5)
::ProblemResolver::StandardScore = 2 (was: 3)
::ProblemResolver::OptionalScore = 1
::ProblemResolver::ExtraScore = 0 (was: -1)
* Add new score for removal of obsolete package and corresponding config
variable ::ProblemResolver::RemoveObsoleteScore
Removal of obsolete packages is treated as positive (310) to allow for
easier upgrades. It has to counter at least the penalty to remove packages
(currently -300).
* Add new score for partial solutions cancelling the removal of a package and
corresponding config variable ::ProblemResolver::CancelRemovalScore
Resolver actions cancelling the removal (or purge) of a package requested to
be removed/purged were not being penalised, now they are (default -300).
This was missing compared to penalisations for other actions like
RemoveScore, when removing packages not marked for removal. Now, solutions
of the resolver cancelling explicitly requested removals are also penalised.
* Only add Preserve{Auto,Manual}Score if the packages are actually installed
Without this, the algorithm was assigning extra score +60 (default
PreserveManualScore) for packages which remained uninstalled (were not to be
installed) and when the user actually didn't select them manually -- even if
the justification was "because it is the to-be-installed version of a
manually installed package".
This caused for example that in amd64 with multi-arch 386 "Score: +60 for
uno-libs3:i386 [UNINST] because it is the to-be-installed version of a
manually installed package (..::PreserveManualScore)", and "Score: -20 for
uno-libs3:i386 5.1.1-1 because it is a new install (..::InstallScore)", so
installing the version rather than keep it uninstalled had comparatively a
-80 disadvantage, 4 times worse than the penalty of installing the new
package itself (which is already quite big).
At the same time, since PreserveAutoScore is 0, the package which was
actually installed had "Score: +0 for uno-libs3:amd64 5.1.1-1 because it is
the to-be-installed version of an automatically installed package
(..::PreserveAutoScore)".
So this is now only applied to installed packages, to avoid these undesired
effects.
* Change the default score of several ::ProblemResolver config variables
These are:
::StepScore to -10 (was +70)
::PreserveManualScore to +20 (was +60)
::UpgradeScore to +30 (was 0)
Long explanations:
1) ::StepScore to -10 (was +70)
Due to #418385 (back in 2007) it was raised from +10 to +70. There were
already complaints after the change about "removing way too much stuff on
upgrades".
With positive numbers it gives extra score for exploring more and more steps
in the problem space (more inclined to search "depth-first" in the graph),
and the comparatively large score meant that this was offsetting the
negative score of some generally undesired actions (e.g. removing packages
which are otherwise fine), so the overall balance of taking more actions on
packages was positive even if it meant removing many packages removed rather
than upgrading only one.
(On a related note, RemoveObsoleteScore was added to consider removal of
local/obsolete packages as positive, when e.g. doing dist-upgrades and
leaving packages behind).
This played a big role in the problem (that appeared or became worse at some
point a few years ago) of the first suggestions offered by the full resolver
to be those removing many packages, rather than upgrading a single one or a
few, or at least suggesting the one(s) causing the conflict (selected to be
upgraded by the user) to be kept.
This has been tested in several bread-and-butter scenarios with
a better outcome than the previous solutions (dist-upgrade, and upgrading
packages that breaks others if not upgrading them --transitions,
dependencies on same versions of the same source package, etc--).
It will of course have some side effects, and perhaps has to be reverted or
further tweaked, but at least is an attempt to improve the general
situation.
2) ::PreserveManualScore to +20 (was +60)
As explained in another point of this version in the changelog, this
variable caused that the score for installing a new version was -20 plus +60
bonus to keep the "manual" uninstalled version uninstalled. This was
changed to only have into account cases where packages are installed, but it
affects still other cases in similar ways.
It also interacts badly with UpgradeScore, because if the score assigned to
this variable is higher than the one in ::UpgradeScore, the package is
preferred to be kept in the current versions than upgraded, and this used to
cause big penalties for situations packages that need to be upgraded to the
same versions. Upgrading packages coming from the same source in lock-step
is a typical case where packages have these strict dependencies with exact
versions.
So it seems sensible to lower this score to something that might be more
easily overcome by other package actions that are needed very often.
3) ::UpgradeScore to +30 (was 0)
Apart from the explanation in 2) (that this score should be higher than
::PreserveManualScore to have better suggestions in many common cases), it
seems natural that upgrades are preferred to actions at 0 like Keep, since
very often the purpose of launching package management tools like aptitude
is to upgrade -- if there are upgrades available.
* Change the default value of ::ProblemResolver::Keep-All-Level config
variable
::Keep-All-Level to 10000 (was 20000)
This cost level is assigned to solutions that cancel all the user's actions
("keep all"). A cost level that is lower is preferable in the "safety"
mode, which is the default. More information about Costs in the User's
Manual documentation, section "Resolving package dependencies".
There are two levels which were lower (at 10000 both) than this one,
Safe-Level and Remove-Level. The first is for safe actions, the other one
(also with 10000 in the last few years) is presumably to allow for packages
to be removed when they become obsolete, chiefly in dist-upgrade situations.
Since several years ago, in cases where the full resolver had to kick in,
the first suggestion for conflicts or unfulfilled dependencies was often to
remove a lot of packages. Part of the reason why this was preferred to
upgrades or installations of new packages had to do with other causes (see
other changes in the same version of the changelog).
But the reason why all of those were preferred to the "keep packages
uninstalled" (again, in the default settings with "safety" mode) is because
this class of solution is ranked in the ::Keep-All-Level, which is higher
than the others and thus left as the last resort. It was assumed that "keep
packages uninstalled" was undesirable because of cancelling all of the
user's requested actions of packages.
At the same time, the solution where "the package that you requested should
be removed rather than upgraded, and along this one this dozen too" was at
::Remove-Level, in consequence, always offered before ::Keep-All-Level.
It seems natural to have "keeps" being offered at the same "safety" level
than removal of many packages, and in fact it should be offered before
removing many packages, including ones that are installed and requested to
upgrade and trigger the conflict that is being resolved.
This change makes that almost all day-to-day solutions are classified at the
same level now, excluding exceptional cases like removing essential packages
or installing non-default versions. When at the same level, solutions are
classified by an extra score depending on the actions taken, which is a
cause of further tweaks in this version, so different solutions at the same
safety level are not offered randomly in any case.
But perhaps this change doesn't leave the "safety" levels mechanism in a
very good position, if almost all solutions are always in a single level.
In any case, I think that it's better to fix the oddity described above
rather than overhaul a very complex system, and potentially causing many
more unintended consequences than the one that this change might cause.
* Change how the costs are compared
Costs defer comparisons to "cost implementations" (cost_impl), and these
were compared based on "structural_level", and when it was equal, on
"actions".
"actions" is a vector of pairs with "level indices" and "levels". For
"levels" only the value is calculated. But before reaching that point,
vectors and pairs were compared in a more generic way, so if the vector had
a smaller number of elements and was equal up to that point, the shorter one
was chosen as smaller (similar to lexicographical comparisons of strings),
ignoring the effect of some modifiers in "actions".
This was extremely convoluted to follow and reason about, so a more explicit
comparison calculation is beneficial.
Additionally, the overall result with the previous comparison is that it
still produced undesired solutions in many cases, due to the levels of the
solutions being the same ("safe", "remove", the newly changed "keep-all")
when the resulting package changes (simple upgrades, removal of packages
requested to be upgraded, keep current state) are perceived as very
different in importance / desirability by the users.
The modifiers in the "actions" change the level values a bit, but these were
not taken into account in many cases in the previous comparison to give
preference to some solutions over the others.
Maybe these modifiers are not accurate or don't produce good results in all
cases (they are untested for a number of years due to the behavior of
comparisons until now, if nothing else), but the new sorting (with the
combination of the other changes in this release, modifying scores and
levels) seems to produce much better results overall.
* Apply InstallScore and UpgradeScore also when the packages are not "manual"
For some reason this was only enabled for "manual" packages, even if there
was nothing in the documentation mentioning this. This is another step to
promote Upgrades over other solutions.
- Internal changes:
* configure.ac: Allow to disable check for Boost library headers individually
Note: Should be used only when developing, if at all.
The reason to implement this is that the check is expensive, 1~2 minutes at
./configure time (more than 50% of the time that it takes to run the whole
script); and if it's known that the packages and versions of related Boost
libraries are there and working then it is unnecessary to check again and
again.
* Avoid extra code calling apt_load_cache() when already loaded
src/cmdline/cmdline_util.cc
src/ui_download_manager.cc
The cache just (re)loaded in last steps of download_manager (either
download_install_manager or download_update_manager).
Loading again is mostly harmless because the function when called detects
that it has already been loaded and quits, but duplicated code is not good
in general, and the call was modified several times lately, so it is always
a maintenance burden (not knowing / noticing that it was actually duplicated
code, otherwise would have removed it then).
* [cmdline] Rejecting a solution advances to the next one only
Previously it was advancing to the last generated solution, which is
equivalent at the moment (generates one by one), but not if/when several
solutions are generated at once (which might happen in future changes).
* [General] Update FSF's postal address everywhere, drop duplicated
boilerplates.
- Documentation:
* manpage:
* Minor clarification about "install" example (Closes: #268698)
- Translation updates:
* da.po: Danish translation by Morten Bo Johansen (Closes: #817065)
* ja.po: Japanese translation by Takuma Yamada (Closes: #819603)
* Actually enable Dutch (nl) documentation translation by Frans Spiesschaert
[2016-03-05]
Version 0.7.8
- Bug fixes:
* Allow update to happen at the start ("-u") (Closes: #816385)
While trying to make the code to behave the same in download_install_manager
and download_update_manager, a change was made to make the latter to save
the "package state" before proceeding. However, when aptitude is launched
with "-u", download_update_manager runs before apt_cache_file is loaded for
the first time, so it's not possible to save the "package state". So revert
the behaviour and act as before -- try to save the state, but don't enforce
it.
* Extra check in update_pkgAcquire_fetch_info() to make sure that pkgRecords /
apt_packagerecords is available
* Now explains packages being removed when deps are broken (Closes: #342835)
infer_reason() was not checking for this reason for package_auto_removed.
* Avoid crash due to divide by zero in progress counters (Closes: #816431)
* load_tags_from_verfiles(): guard against progress pointer being null
* Use factory from APT to support different progress bars for dpkg actions
(Closes: #816520)
* Fix problem with recent change that prevented to work with local
repositories (Closes: #816537)
Even if we would like to not have to get locks and have to call
fetcher->Run() if no (remote) fetch is needed (see #766122), it is needed
anyway to work with local repositories (see #816537).
* Fixing crash when invoking curses resolver from command line
(Closes: #816322)
The solution had already been found to deal with crashing problems involving
boost::flyweights in the past (copied from "struct close_cache_on_exit" in
main.cc). Instead of calling exit() directly, the solution is to invoke a
sequence of shutting down data structures from apt and aptitude via
apt_shutdown().
* Fix problem with auto-flag due to persistent Auto-New-Install in pkgstates
(Closes: #816497)
Auto-New-Install remained in pkgstates after the package was installed. As
a consequence, (un)markauto (and maybe some other parts) were not working on
packages where this had been recorded, because the persistent
Auto-New-Install was read back upon start and was interfering with the logic
of the code handling auto-flags.
* Convert std::sprintf to std::snprintf (Closes: #767533)
[2016-03-01]
Version 0.7.7
- New features:
* Only lock package cache dirs and call pkgAcquire->Run() when necessary
(Closes: #766122)
* [curses] Bindings for reject/approval of solutions in resolver can be
applied to subtrees (Closes:#475595)
* Several optimizations that improve performance at startup and when
reading/writing files (Closes: #312920)
See "Internal Changes" for more details.
Basically, when using some basic command that shouldn't perform much
computation ("aptitude install does-not-exist"), the time was cut down from
around ~3s to ~1.5s in my system.
The system is a relatively modern computer with SSD disks (but nothing
bleeding edge), with multi-arch enabled (2 architectures) and close to 90
thousand binary packages, which is the double of systems without multi-arch
enabled and affects many operations significantly (like doubling the size of
the file "pkgstates").
* [curses] Download Size field shows remaining to be fetched (Closes: #446085)
Now it will show "DL: 368 kB/661 kB" instead of "DL Size: 368 kB" when part
of the files to download are already there, and the field is now aligned to
the right. To make room for this in narrow terminals the field "Will use
43.0 kB of disk space" had been changed first to "Disk usage: +43.0 kB" due
to other needs, and now to "Disk: +43.0 kB".
The implementation was a bit tricky, though. The total size of downloads is
pre-calculated in libapt and readily available; but to check for the actual
size needed one needs to instantiate and initialize pkgAcquire,
pkgSourceList and pkgDPkgPM, and then call a method to check for the files
that are already there on the disk. The whole operation took only fractions
of a second (~0.03s in the development system, in the testing conditions),
but could be worse in other cases or when the disk is slow or busy.
In command-line mode this only happen once, so the overhead is negligible;
but on interactive systems this is bad because: a) it happens multiple
times; and b) because interactivity and screen freezes --even if small-- do
not mix well, and the program seems sluggish.
But specially, due to how aptitude implements redrawing the screen, this was
done in almost every key stroke, e.g. when moving to the next package/line
down, so the overhead was very significant.
So a mechanism was implemented (in previous commits) to only retrieve this
information when the state of any package changes (marked to install, to
delete, etc.), and to cache the result. Afterwards, on typical redraws of
the screen without changes of packages involved (e.g. just scrolling), only
the cached information is needed, and filling this field takes only 30
microseconds (in the development system) instead of ~30ms when full check is
needed.
- Bug fixes:
* [cmdline] Fix crash with "show" and not installed packages (Closes: #815581)
* [curses] Fix for wrong width/properties of some columns in the columnizer,
incl. "hostname" rendered with 4 characters instead of 8 (Closes: #815554)
Some columns like shortpriority, pin_priority and trust_state should not be
present in default_widths due to their size being fixed and independent of
translations. The mechanism is quite brittle, but maybe it's difficult to
get something more robust since it involves getting width values that depend
on width of translated strings.
* [curses] Fix crash when trying to view changelog. Thanks Wei-Cheng Pan for
the fix. (Closes: #815635)
* [cmdline] In "search" and "versions", when width is set explicitly,
pipes/redirections do not act as --disable-columns (Closes: #815690)
Width can be set through config or command line. The behaviour to act as
--disable-columns changed in the last version, 0.7.5; before it was using
80-width columns by default, or explicitly set width.
* [curses] "%r" (revdepcount) now includes virtual packages (Closes: #320089)
This was caused by the patch to address #270057, PkgIterator::ProvidesList()
doesn't include virtual packages provided by the visible version (should use
VerIterator::ProvidesList()).
* [curses] infer_reason() for pkg_unused_removed now has recommends/suggests
into account in all cases (Closes: #476596)
It was not taking into account several cases when packages were being
removed (because of being marked as auto-install and not required anymore),
e.g. when the dependency was downgraded to Suggests, or only showing
Recommends if config option APT::Install-Recommends was enabled.
Even if APT::Install-Recommends is not enabled, if a package is installed it
is kept as long as it's recommended (the user has decided to install it,
despite being only recommended); and similar for Suggests; so the reason for
removal should include these cases as explanation for being removed at this
point.
* Fixed case of packages wrongly being marked with auto-flag upon start
(Closes: #816229)
This was due to variable of extended-state previously_auto_package not being
cleared when marking the package as manually installed, combined with using
this variable to decide whether to write "Auto-New-Install: yes" in
pkgstates in a recent change of 0.7.6, commit 7369d8f9 to address/fix
#563877, which is another problem caused by the handling of automatic flags.
* Packages to "keep" when applying solutions of the resolver maintain current
manual/auto (Closes: #815551)
In previous versions, first it was removing the auto flag unconditionally
(#508428), probably due to APT thinking that it was a decision to keep it
manually, and aptitude not marking it explicitly as auto. The fix for
#508428 in recent versions changed this by setting the flag, but aptitude's
resolver considers "keep" as a more generic "install_version", with new
version being the same as current, and the auto-flag being always true in
those cases.
This is now refined to treat specially the "install" solutions when a
package is actually to be kept -- first it retrieves the auto-flag of the
current state of the package, then marks to keep, then sets the auto-flag
accordingly after asking APT to keep the current version.
- User visible changes:
* [curses] Change "Will use/free %sB of disk space" for "Disk: %sB"
Addresses some concerns of #815554, closed elsewhere. The new string is
shorter (helps when terminal width is 80 columnsor so) and should be equally
clear.
* [curses] In Preview screen, bottom pannel, improve dependency reasons
explanations for package to be installed (Closes: #814592)
* [curses] Remove option to run "reportbug" on a given package or package
version (Closes: #463510)
It was mostly an annoyance for the reasons explained in the bug report:
aptitude often running as root and reportbug complaining, often triggered by
mistake, and it is not a very useful feature in general.
* [cmdline] Operations like "show", "search", "versions", "why"/"why-not" or
"changelog" do not need to lock dpkg state directories (Closes: #498061)
Maybe some of the ones which still require it don't need it, but they are
not used very often and leaving locking enabled is the default, safe option.
- Internal changes:
* Support for most changes in recent versions of apt
(Closes: #687678, #687686, #687688, #687684)
aptitude had to be adapted already in the last few months for many of the
changes in recent versions of apt (up to 1.2.*), including some that
prevented compilation or caused warnings/errors to be emitted when
downloading changelogs, removed or deprecated API calls, and caused crashes
in some of the most unfortunate cases.
Keeping the above bugs open, several without any useful information, did not
help to make the needed changes happen after 3.5 years around; and Wheezy
and Jessie stable releases went out without these bugs being acted upon.
Some of the important remaining problems or bugs with actual useful
information will remain open. Several, like aptitude not handling config
options '-o' correctly, are not blocking or related to "catch-up with
changes in apt" at all, but problems in aptitude in its own right.
In general, changes of apt will keep coming continuously, maybe making some
of the changes in previous releases irrelevant, so as time goes on these
older and generic "to-dos" without useful information make less and less
sense to keep around.
So marking those bugs as closed in this release -- the changes that they
mention and that are not covered by specific bugs is basically complete, up
to 1.2.*.
* Move the definition methods of dpkg_selections to the headers (optimization)
These methods are called inside loops many times (based on the number of
packages, which are many tens of thousands), so it makes a difference in
common operations which happen very often (e.g. more than 0.1s, when saving
the file state).
* Lazy initialization of reading "tasks" information (optimization)
This functionality was called upon start from src/generic/apt/apt.cc, and
taking more than 0.3s (in modern computer with SSD disks), when many times
in command line mode is not needed. Now the loading is delayed until it's
needed (when other related methods are called and expect this information to
be present).
* Optimizations when reading/writing files
These operations happen typically several times every time that the program
runs. The changes save 0.2 to 0.3s (in modern computer with SSD disks),
with multi-arch enabled (2 architectures) and close to 90 thousand binary
packages, in a simple test where an inexisting package is requested to
install in the command line ("aptitude install does-not-exist").
The individual optimizations are:
- Not updating progress for every package when reading/writing files, only
~10 times (every 10% increment) instead of ~90 thousand for the test
scenario above
- Declare some variables, specially strings, out of the loop executing for
every package -- in that way, initialization and reserving memory is
saved
- Writing aptitude state file only when complete
* Optimizations when reading debtags
This functionality was called upon start from src/generic/apt/apt.cc. There
are two modes, with "debtags" package installed and from "verfiles".
Loading with "debtags" was improved from 0.13s to 0.05s, and "verfiles" from
0.4s to 0.27s, in modern computer with SSD disks, multi-arch with 2
architectures enabled.
The improvement consisted in doing some extra calculations to update
progress only ~10 times (every 10% increment) instead of ~54 thousand
("debtags") or ~121 thousand ("verfiles") for the test scenario above.
* Optimizations when building trees for package views
The tests were done in modern computer with SSD disks, multi-arch with 2
architectures enabled (close to 90 thousand packages to show).
This functionality is used in when building the views in curses mode.
Creating the tree for the initial default view takes ~0.42s, creating the
tree for a new default "Package view" ~0.22s, "Debtags browser" ~0.3s,
"Sources view" ~0.28s, "Flat" ~0.18s, "Package view" with limit "~slibs"
(section "libs") ~0.09s.
With optimizations enabled, the initial default view takes ~0.34s, creating
the tree for a new default "Package view" ~0.13s, "Debtags browser" ~0.21s,
"Sources view" ~0.23s, "Flat" ~0.12s, "Package view" with limit "~slibs"
(section "libs") ~0.08s.
The improvement consisted in doing some extra calculations to update
progress ("Building view") only ~10 times (every 10% increment) instead of
~90 thousand for the test scenario above (~10 thousand with the limit
"~slibs").
* src/generic/apt/apt.*: Create get_pkgAcquire_fetch_info() to reuse in the
future
Update the information when the package installation states change, and
cache the information, so it can be used for example in the interactive mode
without the information being retrieved again and again when the screen is
redrawn (simply moving a line up or down, for example).
* Make Progress parameters to be a pointer in several functions in aptcache.*,
so it can be passed as null if necessary/desirable
- Translation updates:
* Dutch documentation translation by Frans Spiesschaert (Closes: #815183)
* Dutch translation by Frans Spiesschaert (Closes: #815185)
[2016-02-21]
Version 0.7.6
- New features:
* [cmdline] "show -v" shows all hashes, not only MD5Sum
* Improvements to "why"/"why-not" (Closes: #729349)
It now gives more information about installed versions, manually or
automatic installations and priority; instead of "Unable to find a reason to
install/remove" when no dependencies require or conflict with a pacakge.
This enhancement is not only for the command-line commands "why" and
"why-not" -- it is also for one of the info screens in the bottom half in
curses/TUI (cycling with 'i'), and typing 'w PKG' in command line prompts
when requesting confirmation.
* Add support to clean the packages downloaded after successful install or
similar operations (config option ::Clean-After-Install) (Closes: #110685)
* [curses] "Keep" now works in version nodes (Closes: #585182)
* [curses] "Install" on virtual packages now installs single candidate, or
emits an error if there are no candidates or more than one (Closes: #174820)
* [curses] Dependency subtrees are now sorted in a pre-determined order
(Closes: #808882)
* Show Origin URI for packages being untrusted when asking for confirmation
(Closes: #582064)
It does not explain why they are untrusted (libapt does not seem to provide
much information) but at least is a better hint than just the package name.
* [curses] In package info screen, "Packages depending on [this]" are further
split based on the virtual (provided) packages that they depend upon
(Closes: #159584, #760610)
This helps to avoid the reverse dependencies listed multiple times within
the same subtree, as it was happening until now; but specially to vastly
improve the use-case to find out which packages depend not on this package
directly, but on virtual packages also provided by this package (so perhaps
an alternative can be installed).
* [cmdline] "search" and "versions" do not truncate columns with
redirections/pipes (Closes: #445206, #496728)
It will behave as passing "--disable-columns" without column limit (large
enough number for all practical purposes).
- Bug fixes:
* Properly set a default for $XDG_CACHE_HOME if not set. (Closes: #807545)
* [cmdline] "w" at prompt now actually works (Closes: #555014)
* Refuse to remove aptitude within aptitude (Closes: #319782, #568548)
* [cmdline] Address prompt deficiencies related with translation and input
methods (Closes: #475802)
* Abort with Failure (rather to continue with the installation) when packages
fail to be fetched -- except if APT::Get::Fix-Missing is present and set to
true. When this happens, the actions in the command line also return with
non-zero status. (Closes: #121313, #302784)
* [cmdline] Abort with Failure when actions cannot be taken
(Closes: #121313, #430392, #445034, #498239, #576212, #639789, #798320)
The Closes of #121313 overlap with other fixes, there are reports of each
case merged.
* [curses] Adjust widths and "expand"/"shrink"-ability of some fields so
Broken count and Download size are shown fully even with 80-width terminals
(Closes: #810221)
* [cmdline] Changelog operations now exit with non-zero on errors
(Closes: #675833)
* Fix problem showing versioned provides of virtual packages in error message
It was showing candidate version or version of the provider "real" package
instead of the version of virtual package ("versioned provides" is not a
very commonly used feature yet, but there were requests to support them
better).
* Fix problem showing the actual version of the package providing the virtual
package in error message
It was showing the candidate version of the provider, rather than the
version actually providing the virtual package -- the candidate version, and
in general different versions, do not necessarily provide the same virtual
packages.
* Avoid loss of automatic flags when packages are marked for removal but not
removed immediately, and the state is saved in between
(Closes: #686573, #718802, #787663)
Thanks to David Kalnischkies for the investigation and suggestion to fix
this.
It started to happen in aptitude after 2010 due to a change that happened in
apt to fix #572364 (a change of a default in a parameter in
pkgDepCache::writeStateFile() to ignore packages marked as deleted).
* Avoid loss of automatic flags when package actions are scheduled multiple
times before taking place
(Closes: #563877)
aptitude has a mechanism to store information about packages-to-be-installed
that are pulled in automatically, when apt doesn't save that information
(#435079, commit 1193257d). When scheduling actions multiple times, it was
not taking this extra information into account, so the new scheduled actions
ruined the automatically-installed flag of packages previously scheduled.
* [cmdline] Arguments for "versions" which are not patterns now treated as
'?exact-name' instead of '?name' (Closes: #691874)
* [curses] "Cancel pending actions" now reloads the cache (roughly equivalent
to restarting the program), rather than marking all packages as "keep" plus
ruining all auto-installed flags and holds
(Closes: #537735, #576319)
* Reinstate auto-installed flag when marking packages to keep in apt cache
(Closes: #508428)
There were situations like for example in conflicts/solution resolver, that
after applying the solution "Keep at current version", sometimes packages
had their auto-installed flag cleared.
* Message explaining unability to fetch changelogs now suggests "update"
operation (Closes: #456822)
* Do not use ncurses ("visual mode") in dumb terminals (Closes: #317928)
* [cmdline] Do not show "update" progress in dumb terminals (Closes: #757940)
* [cmdline] Catch exceptions when stdin is not available in prompts
(Closes: #620782)
* Brief explanation when column definitions could not be parsed
(Closes: #813319)
* Do not download changelogs when they are already being downloaded
(Closes: #810020)
Until now, pending changelogs kept being queued (e.g. pressing 'C'
repeatedly in the curses interface spawned many downloads), and in the
latest versions of apt (>= 1.1) it caused aptitude to crash. In previous
versions of aptitude/apt I did not crash, but it caused weird errors
("download queue being destroyed"). Maybe internal changes within apt cause
now crashes when they were errors before (not necessarily apt's fault, maybe
it's a misuse from aptitude).
The errors already seen in previous versions seem to be caused by aptitude
code, for example because all downloads with the same URI are deleted from
some internal structures of aptitude. With this "fix" at least repeated
downloads are not repeated (*), which is a nice feature in general, and
seems to solve this problem.
(*) Still, sometimes the changelog is downloaded and shown twice, maybe
this is because of sync problems between background threads, or maybe
because sometimes the download happens so fast that the first is already
downloaded by the time that the second is queued (this fix only prevents
to queue when "to-be-started" or "active-downloads", not when it was
downloaded previously).
More in general, the code related with downloading files/changelogs is
incredibly complex and entangled, spans many files and dozens of classes
nested again and using inheritences and overlapping code, and it uses a
home-grown implementation of threads in cwidget copied or based on POSIX
threads. After several multi-hour sessions trying to analyse the point of
the crash and improve this situation, and failing to wrap my head around it,
I think that it's probably better to implement a new way to download
changelogs, which I believe that can be simplified significantly, and
hopefully in this case other problems will be easier to fix, and we can
start to use pkgAcqChangelog and avoid the warnings about not being able to
change the user to "_apt". But this has to wait for another release.
* Fix so libapt can drop privileges to _apt:nogroup when downloading from the
network and use pkgAcqChangelog (Closes: #797527, #806595)
When downloading changelogs, aptitude was using temp::dirs which are owned
by root or the user launching aptitude, and libapt could not drop
privileges, causing unwanted annoying warnings (#806595). Since aptitude
can run as root and normal users, it is also not possible to let libapt
create files and copy them later: when running as normal users, it is not
possible to access those files to copy them. This was changed by letting
libapt to download to an intermediate place created by aptitude, and copy
the file afterwards.
Another change is that aptitude uses the specific functionality in libapt
for changelogs, pkgAcqChangelog, present since apt v1.1.
The whole set of classes dealing with download queues is very complex and
should probably be rewritten to adapt to real needs and adapt to changes in
apt over the years. This is a quick way to fix this annoying item present
already for months, without ripping apart the whole download subsystem. See
also comment of the other entry closing #810020.
* Improve support for trace dumps (Closes: #814408)
Probably due to changes in config variable handling from apt during the
years, this functionality (related with ::ProblemResolver::Trace-Directory
and ::ProblemResolver::Trace-File) was copying too many unrelated files,
including parts of the root fs and causing the temporary directory to
fill-up.
Improvements included to copy only the needed files, as well as trying to
safe-guard about similar problems with apt config values in the future.
Also, removed an extra block of code copying a directory twice by mistake.
- User visible changes:
* [cmdline] Prompt dialog shows lowercase instead of capitalised "yes"/"no"
(Closes: #607444)
* [cmdline] "search" now exits with non-zero on errors or empty results
(Closes: #497299)
* Remove the trailing period from some error messages (Closes: #803011)
* [curses] New style for Download Progress in Status bar, with higher contrast
(Closes: #803980)
* "why" modes, group-by modes and log levels should be provided in English,
translations not accepted anymore (Closes: #738345)
* [curses] Pressing keybinding "Keep" (":") on package names or versions does
not remove the auto-installed flag
* [cmdline] Show error message when using --purge (Closes: #434502)
* [cmdline] "show" selects by default the candidate version (as documented in
man page) and shows extra information when the package is installed but can
be upgraded, rather than showing "not installed" (Closes: #539978)
* [cmdline] Give more prominence to Version field in "show" command by showing
it as second
* [cmdline] Improve message about packages similar to mistyped names
(Closes: #812397)
- Internal changes:
* configure.ac: change order so aptitude CXXFLAGS, CPPFLAGS and LDFLAGS
override dependencies' (e.g. to set new compiler standards)
* Use pkgDepCache::GetCandidateVersion() instead of GetCandidateVer(),
deprecated apt API
* Create function to convert from priority to a string and reuse in several
places
* New apt function: is_auto_installed(PkgIterator)
* Lazy initialisation and better encapsulation of metadata download cache
(Closes: #807852)
This avoids some problems in builders, like pbuilder (not all env vars are
cleaned, or for some reason the home of the user invoking aptitude inside
pbuilder does not exist), and when home or some specific directories are not
writable for some reason.
This "metadata download cache" is only necessary for screenshots (GTK+,
possibly Qt?, disabled for a long time and probably removed soon), and to
store successfully downloaded changelogs after the user explicitly requests
that operation in command line or TUI/curses mode -- which does not happen
in every session, and never at all like when autobuilders use aptitude as
resolver.
* Add common function in apt.{h,cc} to clean cache of downloaded package files
* Convert from some deprecated methods of libapt to supported ones
* Add the common function (class method) add_msg_to_display() in
download_list.{h,cc} to reuse code in several places
* Move pkg_subtree_with_order to "pkg_subtree.h"
* New util function: is_dumb_terminal()
* New util function: print_ncurses_dumb_terminal()
* New util function: create_temporary_changelog_dir()
This functionality is similar to temp::file and temp::dir (and these were
used before), but apt v1.1 added a feature by which the process drops
privileges to _apt:nogroup when downloading files from the network, to not
have code running as root doing such tasks.
As a consequence, temp::dirs are owned by root and libapt cannot drop
privileges, causing unwanted annoying warnings (#806595). Since aptitude
can run as root and normal users, it is not possible to let libapt create
files and copy them later: when running as normal users, it is not possible
to access those files to copy them.
This function supports other code to get around these problems.
- Documentation:
* manpage:
* Explain that "why"/"why-not" need a valid package name (Closes: #535635)
* Improve documentation of "forbid-version" (Closes: #773023)
* Clarify automatic flag treatment with "install" actions (Closes: #469219)
* Fix typo in --autoclean-on-startup (Closes: #812864)
* Guide/User's Manual:
* Make images available in the french translation by copying them from the
original document (Closes: #414150, #697736)
This is obviously suboptimal because the images are not translated, but
since 10 of the 11 were missing altogether, this is not making the problem
worse. The remaining image of the copied ones was present in the french
translation, but was missing a key part of the interface described in the
surrounding text (it was still "wrong", and hopefully the new one is more
understandable in this context, even if in a different language).
The suboptimal solution is being taken at this point because the bugs have
been reported almost 9 years ago, and almost 2 years ago I requested help
from the Debian French l10n team, and there has not been any feedback so
far. Perhaps having English images in the French translation (rather than
missing the images altogether) will spike somebody into action, to send us
a recent and localised capture to fix the problem properly ;-)
* Add note about ?upgradable (Closes: #498440)
To explain that it just means that there are upgrades available, not
related at all with "safe-upgrade" or "full-upgrade" operations
- Translation updates:
* Italian documentation translation by Beatrice Torracca (Closes: #808985)
* Portuguese translation by Miguel Figueiredo (Closes: #810651)
* Danish translation by Morten Bo Johansen (Closes: #811400)
[2015-12-08]
Version 0.7.5
- New features:
* [curses] Show Origin and URI in pkg info screen
(Closes: #294040, #457794, #513622, #611515)
* [cmdline] Print version of provider of virtual package in conflicts/broken
(Closes: #802943)
* [cmdline] Show packages that will not be upgraded with verbose>0
(Closes: #553577)
* [cmdline] Notify of 'Download Only' mode before confirmation to continue
(Closes: #446265, #804287)
* [cmdline] When simulating do not prompt for removal of essential packages
(Closes: #613049)
* [cmdline] When simulating, add notice before confirmation to continue
actions (Closes: #173277)
* Use XDG_CACHE_HOME spec instead of ~/.aptitude/cache (Closes: #671780)
* Print useful message when package lists are out of date (Closes: #758764)
* [curses] Allow to hide bottom half in several screens (Closes: #453853)
* [curses] Show hostname on header line (Closes: #398101)
* Log now distinguishes between remove and purge (Closes: #705612)
* [cmdline] Improve error reporting of add/remove-user-tags (Closes: #652421)
* Reuse format string %T also for user-tags (Closes: #498442, #665824)
* Add format strings for Source (%E), Architecture (%e) and Origin (%O)
(Closes: #248561, #604982, #760608)
* [curses] Provide more info about broken packages in solution screen
(Closes: #642800)
This screen will now show the extra "(action, version/s involved)":
The following packages depend on cpp-5 and will be broken by its removal:
* cpp (upgraded, 4:5.2.1-6 -> 4:5.2.1-8) depends on cpp-5 (>= 5.2.1-13~)
* gcc-5 (held/unchanged, 5.2.1-26) depends on cpp-5 (= 5.2.1-26)
* Don't use __DATE__ & __TIME__ when printing version, for reproducible builds
- Bug fixes:
* [cmdline] Fix problems in 'build-depends' causing malfunctions
(Closes: #802532)
* Fix problem in which alternative dependencies of uninstalled packages were
not resolved and satisfied properly, causing "Unable to satisfy
dependencies", when they were actually installable. Due to a
mistake/typo, the possible packages were always compared against versions
of one of the alternatives (the last one), instead of comparing the proper
package-version of each alternative.
* Messages about build-depends conflicts (unable to satisfy dependencies)
now show version comparison operators. There was a mistake in the
variable to print (dependency type rather than operator).
* [curses] Use default string for Default-Grouping when config is empty
(Closes: #405970)
* [curses] Improve message when becoming root fails (Closes: #516854)
* [cmdline] For "search", use candidate or, if does not exist, current version
rather than a random version to show information about the package
(Closes: #490593)
* Check that the config files are valid, otherwise exit (Closes: #472701)
Upon reading the configuration files it did not check if they were valid,
and for "~/.aptitude/config" it was writing it back immediately. The
writing stopped at the point of the reading failure (instead of just
skipping the problematic parts), so part of the previous configuration file
was lost.
It is safer (and not too onerous) to ask the user to fix the configuration
file before continuing, rather than stomping on valid configuration values.
* Use new config_file.{h,cc} to improve config file management
(Closes: #504152, #502617, #442937, #407284)
* When becoming root with 'su', pass along "--login" (Closes: #190784)
* Return an error if adding/removing tags without "root" (Closes: #725272)
* Format string '%t' tells about locally installed packages (Closes: #349413)
* Save state before package reconfiguration (to not be lost) (Closes: #474876)
* [curses] Allow to view changelogs of packages in Backports (Closes: #755677)
This was already possible in command line. Now code was merged in command
line and curses to work in the same way.
* Get the real pin priority in "versions" and other cases (Closes: #640731)
* Use new user-tags implementation, more secure (Closes: #792601)
* Upgrades can do downgrades when pinned high (>1000, see apt_preferences)
(Closes: #344700, #348679)
"install" did the correct thing, but the differet upgrade modes
(command-line and TUI/curses) did not consider to downgrade versions pinned
higher than 1000, as established in apt_preferences. apt also behaves in
this way, so it improves compatibility.
Note that downgrading is highly discouraged in general, though.
- User visible changes:
* [cmdline] Minor improvements to help (Closes: #497136)
* [cmdline] Hide Show-Why reasons when the string is empty (Closes: #576584)
* [cmdline] Slightly improve and reformat --help
* [cmdline] Document add/remove-user-tag in --help
- Internal changes:
* Change APT::Changelogs::Server (src/apt_options.cc) from
http://packages.debian.org/changelogs to
http://metadata.ftp-master.debian.org/changelogs -- it is the default for a
few years already.
* Add function to get the URI of a package version
* Add function to get the Origin of a package version
* Add function to get the candidate version of a package
* Use Boost::Filesystem for some file-related operations
C++ Filesystem TS is derived from it not approved yet, and the support from
compilers is not great. When support is good, the switch should be almost
automatic.
* Add generic/apt/config_file.{h,cc} to help manage config file
* attach/detach_user_tag() now return results of the operation
* Create function get_user_tags() for compartimentalisation and reuse
* Changes to support apt-1.1/libapt-pkg5.0
* Improve user-tags implementation and move to own file, away from aptcache
- Documentation:
* manpage:
* Separate two elements in --add-user-tag-to description with comma, they
were displayed together
* Guide/User's Manual:
* Add keybindings for menu bar (Closes: #365298)
Add an indication in the document that "Control+[space]" and "F10" are
also valid.
[2015-10-16]
Version 0.7.4
- New features:
* [curses] Show providers of virtual packages in "description" area
(Closes: #103964)
The description area (bottom half of the screen in the default view) was
completely empty for virtual packages. Now it shows the list of "real"
packages providing the virtual package, in a nicely formatted list.
- Bug fixes:
* Retrieve again long descriptions (Closes: #801460)
When disabling the #ifdef of HAVE_DDTP, it was done the wrong way around and
the old code (untested for many years) compiled fine and didn't cause
errors, but didn't retrieve long descriptions anymore (it did for short
ones).
* Fix for circular dependencies in internal_mark_delete() (Closes: #801430)
Under some circumstances, when following reverse dependencies of packages to
be deleted to see if they are automatically installed and unused (so they
can be pro-actively marked for deletion as well), the function calls itself
recursively. In this case, it uses this version with an extra parameter to
detect when packages were already visited, to avoid infinite loops in the
case of circular dependencies (bug #801430).
* Fix race condition replacing ~/.aptitude/config (Closes: #764046)
- User visible changes:
* [cmdline] In versioned provides, include '=' symbol (Closes: #767393)
At the moment, there is only one symbol ('='), and it is hardcoded in dpkg
and apt, so doing the same to avoid possible confusion among users, as
suggested by David Kalnischkies from APT Team.
* [cmdline] "show" now shows arch of packages in multi-arch systems
Until now, it was not appending the arch in Depends and other places, so
there was output like:
Package: dput-ng
...
Conflicts: dput, dput
Replaces: dput, dput
Provides: dput
Now this shows:
Package: dput-ng
...
Conflicts: dput, dput:i386
Replaces: dput, dput:i386
Provides: dput
* [curses] Use 'w' in action column for package downgrades (Closes: #801310)
In the column that shows the action selected for the packages (between
current installation state and automatically installed), e.g. in the main
package view and the preview screen before installing of the curses
interface, there was no character for downgrades. There was 'u' for
upgrades, 'd' for removals, 'p' for purges, 'h' for holds, etc., but the
action character for downgrades was missing, so the column was left empty --
as it was an specific background colour until recently.
* [cmdline] Show feedback of some commands (hold, forbid-version, ...) with
verbose>0 (Closes: #270033, #638841)
* [cmdline] Require args for some commands: hold, keep... (Closes: #759520)
- Internal changes:
* In internal_mark_delete(), also check for auto-installability property of
real packages providing virtual packages to stop them being marked for
deletion. can_remove_autoinstalled() checks for this anyway, but the
implementation could change in the future, and it shouldn't hurt to double
check.
* Convert some instances of boost::unordered_{set,map,multimap} to std::
* Convert some instances of boost::hash to std::
* Remove two uses of boost::lexical_cast, use std::to_string() instead
* Create utility function remove_non_recursive()
- Documentation:
* manpage:
* Remove wrong assertion that safe-upgrade does not accept --full-resolver
(Closes: #560991)
* Document missing &BD specifier when installing packages (Closes: #696568)
* Guide/User's Manual:
* Update renamed config option ::CmdLine::Show-Summary (Closes: #776789)
The config option used in the code is ::CmdLine::Show-Summary, but in one
place in the documentation it was named ::CmdLine::Why-Display-Mode
(probably from an incomplete rename).
* Correct some wrong examples of search patterns (Closes: #519456)
[2015-10-07]
Version 0.7.3
- Bug fixes:
* [cmdline] Correctly calculate the indentation for multi-byte encoded strings
in command line "show" (Closes: #360202)
* [curses] Show intended action when downgrading (Closes: #516517)
In package view/info screen, it was not handling this action and not showing
anything in this case.
* Update internal state for upgrades/downgrades with target version after the
action is performed (Closes: #787658, #714429)
Thanks to David Kalnischkies and Julian Andres Klode from APT team for their
help, clues and patience. It took some serious effort to get to this fix,
which in the end is quite modest in terms of code changes.
Internal state was neither reset nor written to disk until other packages'
states changed, so aptitude marked the same action on the packages as
pending to be performed again and again (but the action had already been
taken, so there was no observable effect in terms of installations).
However, this meant that the packages that were downgraded to older versions
when newer were still available (e.g., mixing stable and unstable), was not
shown as "Upgradable" neither in the current sessions nor in subsequent
sessions (under Upgradable subtree in interactive mode; or command line like
"aptitude search ~U"), until the file pkgstates was written to disk because
of changes in other packages.
* [curses] Don't precede Tags field by newline in package info screen
(Closes: #799933)
* Correctly detect state of vers/pkg when is ConfigFiles (Closes: #698768)
* [cmdline] Show "RECOMMENDED but will not be installed" on pipes and redirs
(Closes: #647474)
The change was requested in #452202 in 2007 to not show this message and was
applied, but after that there are at least 3 separate requests (#647474,
#587676 and #720074) asking to show the same messages independently if the
output is an interactive terminal, a pipe or a redirection to a file, all
citing the lack of this message. (Makes sense, because it is one of the
most prominent messages that users see, and also because this way of hiding
messages is almost never used elsewhere in the code).
In principle, "quiet" shouldn't make a difference when using ttys or
pipes/files, but it does because it's primarily tied to the "progress"
messages appearing all around the command line code; so in main.cc quiet is
set to "1" when the output is not a tty.
I think that the best solution by now is to revert the behaviour and simply
show the message whenever there are packages to show. The only harm is if
people complain again that it's too verbose, but probably nobody is using
"-q" in practice to avoid having this message printed.
A proper implementation would involve to clean-up the mess of quiet/verbose
and convert it to only one single variable, and act verbosely accordinly,
and perhaps tie the condition of showing progress of operations on another
variable/mechanism.
* [curses] Improve the integration of Forbid upgrades (Closes: #439258)
Now it will advance the selection to the next line after marking a package
with 'F', if that option is enabled.
* Remove unneeded automatically installed packages in the same action
(Closes: #478116, #564545, #637257, #368037, #486454, #738517, #789803,
#779999, #756507, #759764, #766702, #655483, #740009)
There were some cases where manually installed packages were removed/purged,
but dependencies that were needed only by these packages (marked as
automatically installed, and unused after the removal of the main package)
were not removed as part of the the same "action", due to interactions
between aptitude (in find_not_orphaned()) and libapt.
The packages were detected as "garbage" in subsequent runs of apt (offering
to "autoremove" them), aptitude in the command line, or further actions
within the interactive session of aptitude; but nevertheless this caused
numerous complaints about aptitude not removing the "cruft" (sometimes
assuming that because it was not removed immediately, it will not be removed
later either).
Now, as part of the removal of a package and unless the option
"::Delete-Unused" is set to true (defaults to false); aptitude pro-actively
marks for removal the dependencies of the package marked as automatic and
not used by other packages; and find_not_orphaned() was modified to only
have into account installed packages or to-be-installed packages to prevent
removals.
* Honour ::Purge-Unused when removing packages (Closes: #724034)
* Be more informative when virtual packages are involved in broken deps
(Closes: #316633, #798898, #799918)
* Fix description of config option ::AutoClean-After-Update (Closes: #756937)
- User visible changes:
* Make boundaries of sessions in the log file more clear (Closes: #269275)
* [curses] Avoid marking as auto/non-auto if already set (Closes: #265013)
* [curses] Print message when starting to perform actions (Closes: #323371)
* Use uppercase APT:: for apt config vars, for consistency (Closes: #519425)
Both APT:: and Apt:: (the other common form that we were using) are valid,
in fact they are case-agnostic. But for internal consistency and specially
for consistency with APT documentation (apt.conf), use the uppercase form.
This mostly affects documentation, but also some code and translations. It
was substituted automatically in all translations.
* [cmdline] Print versions of Provides, if they exist (Closes: #767393)
Some aspects of the bug report refer to the curses TUI and it is still
unclear how to deal with them, so it was cloned to another report; but the
change implemented for this part could be useful, it is harmless, and it
simplifies code (two branches differentiating for this reason now merge).
- Internal changes:
* temp.cc: simplify code and messages and reduce the use of boost libs
* configure.ac: Remove checks for boost/scoped_array.hpp and boost/random.hpp,
not used anymore -- a few seconds less per compilation
* In file pkg_ver_item.cc, function pkg_ver_columnizer::setup_column(), the
switch/case handling for longstate was missing the options added in 2007 for
APT_HAS_TRIGGERS, present for stageflag case and both cases in
pkg_columnizer::setup_column() of pkg_columnizer.cc.
(In other words, it was missing in 1 of these 4 places where it is
necessary).
* Disable obsolete checks in configure.ac and preprocessor checks in code for
APT_HAS_TRIGGERS, APT_HAS_HOMEPAGE and HAVE_DDTP.
The support for these functionalities has been present in all involved tools
since 2007-2008 or earlier, so it is safe to disable the checks and the
dead code.
* Add functions to check if packages are installed, automatically installed,
if they are virtual, and others. They can be used later to make other code
more consistent, clear and clean.
* Remove sigc++ include from apt_config_widgets.h (fails to build with newer
versions)
- Documentation:
* Guide/User's Manual:
* Document Brown colour for downgraded packages in UI (feature implemented
in the last version)
- Translation updates:
* Russian by Lev Lamberov (Closes: #769425)
* Dutch by Frans Spiesschaert (Closes: #800516)
[2015-09-17]
Version 0.7.2
- New features:
* 'Escape' key cancels input dialogs (search, limit, etc.) (Closes: #493322)
* Extend "firstchar" grouping policy to optionally use source package names.
With "firstchar(binary)" or the default "firstchar" it will use binary
package names (same behaviour as before); while with "firstchar(source)" it
will use source package names.
This is useful for example when browsing packages coming from the same
source package ("source" grouping policy) within large collections
(examples: all installed packages, all upgradable packages, all packages
from "main" section), to add an intermediate grouping step. In this way,
one can for example emulate the hierarchy of FTPs (try grouping:
"section(topdir),firstchar(source),source").
* [curses] Add 'New Source Package View' to Views menu (thanks Thadeu Lima de
Souza Cascardo, see #497206), with some updates and minor modifications,
like more complex grouping.
The menu entry was removed before applying the patch attached to that bug
report, see comment to the commit: 66adb6c872f7b49279da43601e7d3ff199996c1a
* [curses] Use Yellow/Brown colour to highlight downgrades (Closes: #584510)
Previously downgrades were not highlighted, so it was bit confusing/odd and
it looked as if nothing would be done with the package.
There are not many colours "left" in the limited choice, only Yellow/Brown
(same as downloads) and Blue. Since Blue is used in the menus, Yellow/Brown
is probably better; Downgrades and Downloads are never on the same screen.
* Log file now contains version information for most actions (Closes: #222585)
Previously it only contained version information for upgrades and
downgrades, both current (old) and candidate (new) versions. Now most
actions show version information, either the candidate version
(e.g. install, auto install) or current version (remove, hold, ...).
* Save selection state of packages to dpkg database (Closes: #137771)
Aptitude maintains a separate database (in "pkgstates" file), with a field
Dselect-State to keep track of its selected state in dpkg ("status" file).
This is updated upon start of aptitude or some operations, so aptitude is
aware of changes of this selected state made by other tools; but it was
never updated back to dpkg after the selection state changed in aptitude.
As a result, for example packages set "hold" in aptitude were then not
respected by other tools which do use dpkg selected states.
* Consider packages "unknown" to dpkg as not to install (Closes: #328616)
While aptitude tried to take into account the selected state of packages in
dpkg, the ones not present (with state "unknown", meaning never installed,
or purged) were ignored in aptitude, and the internal selected state was
used. This was causing problems like not respecting actions taken with
other tools (see #328616 and duplicates) -- installing with aptitude and
then purging with either dpkg or apt (or higher level applications, like
puppet), meant that in the next run of aptitude it would try to install the
package again.
We now save the selected states of packages from aptitude to dpkg (another
feature added in this release), so the selected states are synchronised. If
it's "unknown" to dpkg, we will assume that other tools uninstalled it in
between aptitude runs, and we will keep it uninstalled.
The behaviour of scheduled aptitude actions will be preserved: if a package
is selected to install but is not actually installed in the session,
aptitude saves the selection in dpkg as "install", so it will be attemped to
install in the next aptitude runs (or other tools honouring the selected
state in dpkg). Or if a installed package is marked to purge with "aptitude
--schedule-only purge PKG", "dpkg --purge --pending" does honour the
request.
- Bug fixes:
* Disable strings gathered for translation (Closes: #790568)
* Change to try to make updated status stats more clear (Closes: #458351)
* [cmdline] Correctly print when a package should be purged (Closes: #798286)
* [curses] With the option of mini-buffer prompts enabled, cancellation of the
"Quit confirmation" with 'Escape' or 'Ctrl-g' does not cause the
dialog/prompt to stop working (Closes: #607118)
* [cmdline] Warn when package cannot be marked/unmarked auto (Closes: #498240)
* Install signal handlers and do clean-up when terminating abruptly
(Closes: #558352)
* [curses] Set better ordering for groups of Preview Actions (Closes: #434352)
- User visible changes:
* Change error string of source_policy_parser to be the same as the rest
* [curses] Improve titles and descriptions of views
- Internal changes:
* Improve retrieval of source package information with (upcoming) APT 1.1.
Thanks to David Kalnischkies for the suggestion and implementation advice.
Information about source package and version will be in the binary cache,
and available via the VerIterator (ver.SourcePkgName() and
ver.SourceVerStr()); and it is much faster than parsing the package record.
Additionally, retrieving the source package name in that way defaults to the
binary package name if no Source record is explicit, so there is no need to
check if it's empty.
It is not used in many places in the aptitude code (about 6 files and 10
different functions/places), but this speeds-up and simplifies the code
considerably where it was used.
* New helper dpkg_selections.{h,cc}, to help to manage saving selections to
the dpkg database (--set-selections)
- Documentation:
* Guide/User's Manual:
* Remove grouping policy "hier" from doc/??/aptitude.xml (the
categorial/hierarchical browser features were removed in version 0.7)
- Translation updates:
* Russian by Lev Lamberov (Closes: #798485, #769428)
[2015-09-06]
Version 0.7.1
- Bug fixes:
* Fix for wrong reported size of deleted files with 'autoclean' on 32-bit
arches (Closes: #499872)
* Be explicit when packages are already installed, cannot be removed/purged
because they are not installed, and similar (Closes: #421469).
It was changed to work in this way a few years ago in #258913 due to the
installer, and required to pass verbose flag to print these messages, but
this was caused at least 3 bug reports (merged) to be explicit, and aptitude
prints many other messages even ignoring these lines. It can be made to be
quiet with another flag, if needed.
* Check string formats for columns in both curses and command line interface,
and forbid characters which can lead to cwidget assertions and program
crashes. These strings can be specified in the the command line for
"search" or "versions" with -F or configuration options (and they can be
made permanent by mistake, causing crashes upon start, as the bug reports
prove). (Closes: #497129, #532662).
- Documentation:
* Quick help (help.txt):
* Document 'l' (Limit Display) in quick help (Closes: #514541)
* Improve description of '_' (Purge) (Closes: #495326)
* Improve the description of the search shortcut, and point more clearly to
search patterns in the full documentation
* man page:
* Fix example of '-F' with current and candidate versions (Closes: #752517)
* Guide/User's Manual:
* Upgrade doc/??/aptitude.xml documents from DocBook XML 4.2 to 4.5
* Use XHTML 1.0 rather than HTML 4.01, at least to have something from this
decade/century. The resulting documentation still does not fully validate
(see #496724), I think that due to bugs/problems of docbook-xsl
conversions using invalid elements in the different standards (tried HTML
4.0, 4.01, XHTML 1.0 and 1.1).
* Generate 'alt' tag for images in HTML documentation (see #496724)
* In "Customizing the package list", fix order of variables
::UI::Package-Status-Format and ::UI::Package-Header-Format and their
explanations
- User visible changes:
* Slightly change description of shortcut 'g' in title bar (Closes: #247487)
- Internal changes:
* search_graph.h, fix problem with code which was working for many years (with
boost 1.55 and many versions before), but now the straightforward option to
convert boost::optional to bool does not work with gcc-5.2 and boost-1.58,
so use .is_initialized() instead.
* solution_item.cc, copy string of package name coming from libapt because it
does not guarantee that the string is valid for all of the time span that we
need it, to not show garbage that it happens sometimes
(Closes: #795150, #795028)
* match.cc, pkg_info_screen.cc, reason_fragment.cc: remove and modify code
relying on pkg.Section() (from apt PkgIterator), it is deprecated code and
it will get removed soon according to the apt team (Versions have Sections,
Package in abstract doesn't have unique Sections)
* aptitude_resolver.cc: use std::unique_ptr instead of deprecated SPtrArray
* Add compatibility for APT 1.1:
* Create DepIterator values from Dependency pointers on-the-fly, where required
* Adjust AcqQueuedFile() for changed signatures of overriden methods
* Improving C++11 compatibilty mode:
* Convert std::auto_ptr (deprecated in C++11) to unique_ptr
* Convert boost::scoped_ptr (deprecated in C++11) to std::unique_ptr
* Convert instances of boost::shared_ptr, make_shared, and weak_ptr to be
explicitly prefixed by boost::, otherwise they clash or have problems
compiling with the new C++11 std::shared_ptr and analogues (many were not
converted in the previous version).
* Remove unused function serialize_pattern_list()
* Remove unused function wcsempty()
* Improvements of the autoconf/automake infrastructure.
* No more generate a dummy ChangeLog file just to please automake.
* Clean up some more leftover files in "make maintainer-clean"
* Use 'cp -u' when copying gtest and gmock, so they don't need to be
recompiled every time
- Translation updates:
* Swedish by Josef Andersson (Closes: #792911)
* Fix typos/syntax oddities and translation issues, thanks Jens Seidel
(Closes: #381702)
[2015-07-25]
Version 0.7
- Changes in the versioning scheme and changelog:
* From now on Aptitude's version numbers follow loosely the Semantic
Version specification (http://semver.org/), with a few exceptions:
* The leading zero is kept for now. The first digit after "0." is
currently considered being the major version.
* Trailing zeros may be omitted, i.e. 0.7 is the same as 0.7.0.0
with 7 being the major version.
* Dates in the NEWS file are now consistently written in an
unambiguous and more international way.
- Feature removals:
* The content-wise outdated and not-multiarch-compatible categorical
browser has been removed. The Debtags browser has replaced most of
its functionality already. Local package groups are no more
available, though. (Closes: #686124 and its duplicates as well as
#686142 and #686646 as well as LP: #1082198)
The removal discussion has taken place in #686646.
- Bug fixes:
* Fix reported installed size change when installing/deinstalling packages
which are bigger than 2 GiB (int type size 32 bits). Thanks Benny Baumann
and Jason Rhinelander for the report and info, and Sven Joachim for the
patch. (Closes: #759769)
- Internal changes:
* Use automake option subdir-objects to be able to use current
automake versions.
* Copy in configure.ac from /usr/src/gtest/src/gtest-all.cc and
/usr/src/gmock/src/gmock-all.cc to subdir tests/ -- otherwise, automake
(with subdir-objects option recently added) tried to build in
/usr/src/gtest/ and ../gmock/, and then failed to link
* Remove forward declaration of STL templated classes and containers
(basic_string, pair, vector...), use regular includes instead. Due to
internal changes of GCC-5 or libsdtc++ related with C++11 compatibility
(std::string and std::list had to change), the code failed to compile, and
there is not enough justification to "forward-include" in this case (it has
to be done copying declarations by hand, it's prone to errors when things
are updated in the backstage and not very elegant).
* Changes to allow to compile with C++11 compatibilty mode (prompted by
changes in the toolchain in Debian):
* Convert all instances of boost::make_shared and boost::shared_ptr to be
explicitly prefixed by boost::, otherwise they clash with the new C++11
std::shared_ptr.
* Convert some instances of boost::shared_ptr and boost::make_shared to the
corresponding versions now in the standard library. The reason for this
is that it failed to compile straight away with the version in unstable
(boost-1.55) in some sections of the code (e.g. problemresolver, sqlite,
file_cache), and because since it is now part of the standard, there is
little reason to use Boost for that. The rest of cases not covered in
this version shall be converted later on.
* Several other minor changes to allow to compile with C++11.
* Remove duplicated method in sqlite.* files (below). There is another method
with the same signature but with "const std::string&", and "const char*"
implicitly converts to use that one if there is not one available of the
same type.
std::shared_ptr<statement> statement::prepare(db &parent, const char *sql)
* Add top-level update-po target for not needing to remember in
which directories the update-po target needs to be called.
- Documentation:
* Previously missing trigger-related package states are now
documented. (Closes: #770073, #771305, #771704)
* Minesweeper: Fixed save/load keybindings in help. (Closes: #736934)
- Translation updates:
* Czech by Miroslav Kure (Closes: #758226)
* Russian by Yuri Kozlov (Closes: #760812)
* German man page translation by Mario Blättermann and
Jens Seidel <jensseidel@users.sf.net> (Closes: #762340)
* Catalan by Orestes Mas (Closes: #771618)
* French documentation translation by Cédric Boutillier (Closes:
#773807)
* Italian documentation translation by Beatrice Torracca (Closes:
#776706)
* Dutch by Frans Spiesschaert (Closes: #778425)
[2014-06-02]
Version 0.6.11
- Bug fixes:
* Load package tags from APT if debtags database is not available.
(Closes: #501732)
* [cmdline]: Use arch-qualified names for virtual packages.
* Empty environment variables are treated as though they are not
set.
* Remove -Werror from default compiler flags. (Closes: #746824)
- Internal changes:
* Access apt-xapian-index directly. Index path can be configured by
setting Apt-Xapian-Index::Index in apt.conf(5).
* Standardize on a single package tags interface.
* No longer use libept. (Closes: #504153, #677551)
- Translation updates:
* Italian docs. Thanks to Beatrice Torracca. (Closes: #741875)
* Portuguese (Closes: #748141)
[2014-02-10]
Version 0.6.10
Note that 0.6.9 was an experimental release. Most of the changes it
contained are temporarily reverted, but they will return.
- New features:
* New sort policy 'installsizechange', for sorting by change in installed size
of each package when the desired actions are applied (Closes: #676075)
- Bug fixes:
* Fix segfault and show the correct changelog when executing "aptitude
changelog <source-package-name>", and no binary packages in that source
package match the source package name (Closes: #723821)
* Use new URL to grab changelogs, redirections were set up so it is not
currently a problem, but the new location seems to be the canonical place
for metadata (Closes: #708345)
* Fix incorrect results with some sorting policies (Closes: #720750)
- Internal changes:
* Change INCLUDES to AM_CPPFLAGS in automake files to avoid warning:
"'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')"
- Documentation:
* Update manual to refer to canonical git repository.
- Translation updates:
* Improve and explain some translation messages, thanks helix84@centrum.sk
(Closes: #537858).
[2014-01-26]
Version 0.6.8.4
- New features:
* Get changelogs also when package origin is from "Debian Backports" and not
only "Debian", thanks Gerfried Fuchs (Closes: #714619)
* New sort policy 'debsize' for sorting by package size, thanks Marcel Partap
* Add "Reinstall (shortcut L)" to the package menu (Closes: #633788)
* Add descriptions for sections introduced in 2011 (education, introspection,
metapackages) (Closes: #674681)
- Bug fixes:
* Do not group packages as tasks based on their name, rather, use their
section (Closes: #679602)
* Change AC_ARG_ENABLE(package-state-loc, ...) for
AC_ARG_WITH(package-state-loc, ...), and the same for "lock-loc", to fix
inconsistency/bug in the configure file. Thanks Jeremy Laine (Closes:
#399757)
* Correct slightly the error message when the invocation of dpkg fails to
perform an operation (Closes: #348758)
- Documentation:
* Improve description and fix typo for the "show" command in man page, thanks
Regid Ichira (Closes: #692173)
- Translation updates:
* Fix inconsistent German translations (Closes: #720186)
* Fix important error in translation in Spanish manpage, thanks Martintxo
(Closes: #727815)
* Fix error in Spanish translation, thanks Manolo Díaz (Closes: #716669)
[2014-01-19]
Version 0.6.8.3
- Bug fixes:
* Avoid segfault with some status line formats (Closes: #714186)
* src/pkg_columnizer.cc (setup_column): Avoid a crash by checking that the
current item is really a package before accessing package properties.
- Build system changes:
* Fix FTBFS with g++-4.8 by removing unused typedefs (Closes: #701243)
* src/generic/apt/aptitude_resolver.universe.cc
* src/generic/apt/resolver_manager.cc
* src/generic/problemresolver/choice.h
* Support Boost 1.53 (Closes: #710208)
* configure.ac: Determine the return type of boost::make_shared.
* src/generic/util/sqlite.h: Use that information.
* src/generic/util/sqlite.h (statement, blob): Also befriend the new
boost::make_shared prototype. Some better solution may be possible at a
later point, this is enough for now.
* src/cmdline/mocks/terminal.h: Remove predefinition of boost::make_shared
that conflicts with Boost 1.53.
* Update support for automake and similar tools (autogen.sh)
* Do not restrict them to -1.11, use default instead
* Add --copy to automake, otherwise creates symbolic links
- Internal changes:
* task_list is not extern
* src/generic/apt/tasks.h:
* src/pkg_grouppolicy.cc: Variable task_list is only used within tasks.cc,
and need not be extern.
- Documentation:
* Replace solitary use of "visual mode" with "visual interface" in
doc/en/aptitude.xml
* Typo in manual: 'Apt::AutoRemove::InstallRecommends' should be
'RecommendsImportant' in doc/en/manpage.xml
- Translation updates:
* Russian translation of documentation. Thanks to Lev Lamberov and the
Russian localization team.
* Refresh of .pot and .po files with respect to current source
* Some config item strings should be the same width
* po/*.po: Use whitespace to adjust the widths where they differ.
* src/apt_config_treeitems.cc: Add comment for translators.
* German, by Benjamin Weis and Holger Wansing (Closes: #729329)
* Japanese (Closes: #728115)
* Russian by Yuri Kozlov (Closes: #725280)
* Asturian by Inigo Varela (Closes: #698512)
* Danish by Morten Bo Johansen (Closes: #700885)
* French by David Prévot (Closes: #693323)
* Fixed error close to line 3048 due to mismatch in parameters
[2012-09-07]
Version 0.6.8.2 "Say 'what' again"
- New features:
* [all]: Support for matching architectures using specification
strings and wildcards (for example, "linux-any"). See
Debian Policy section 11.1 "Architecture specification
strings" for more details.
- Minor bugs:
* [cmdline]: Fix typo which prevented installing tasks using the
apt-get compatible syntax ("aptitude install
gnome-desktop^").
* [cmdline]: Do not assume that APT::Default-Release always provides
the candidate version of a package, instead use the
policy defined by apt_preferences(5).
(Closes: #587775, #631464, #686316)
* [all]: Download changelogs from APT::Changelogs::Server instead
of a fixed location, and replace very ancient and disused
option for Aptitude::Changelog-URL-Template.
(Closes: #687239)
- Documentation:
* Update for default value of APT::AutoRemove::SuggestsImportant
which is "true" since apt 0.8.15.3. (Closes: #685310)
* Correctly reference APT::AutoRemove::RecommendsImportant and
SuggestsImportant which do not contain any hyphens.
(Closes: #579071)
- Translation updates:
* Czech (Closes: #681693)
* French (Closes: #680040, #685084)
* Polish (Closes: #678153)
* Russian (Closes: #686016)
* Spanish (Closes: #686752)
[2012-08-25]
Version 0.6.8.1 "Don hat"
- Crashes and serious errors:
* Multi-arch update for the problem resolver:
- handle conflicts without removing all foreign-arch
packages (Closes: #672340) (LP: #831768)
- correctly recognise dependencies solved by Multi-Arch:
foreign packages (LP: #968412)
- Minor bugs:
* [curses]: Use dpkg package names when calling dpkg
(Closes: #680333)
- Internal changes:
* Add (temporary) helpers for interacting with dpkg.
[2012-05-11]
Version 0.6.8 "Never need a reason,
never need a rhyme"
This version of aptitude requires apt 0.9 and will not build against
earlier releases.
- Crashes and serious errors:
* [all]: Fix build with g++ 4.7
Thanks Adrian Lang for the patch (Closes: #672335)
- New features:
* [all]: Support really big files in the download system
This follows recent changes in apt which added support for
files greater than several gigabytes in size -- using the
'unsigned long long' type to store the file size.
* [all]: Update to tasks support: task packages, multi-arch, syntax
Task packages (introduced with tasksel 3.0) are
meta-packages which define the dependencies of tasks. The
packages themselves have always worked but the 'tasks'
grouping policy and '?task' search term did not support
them. This update corrects for this.
As a result of this change to tasksel all Debian tasks now
function exactly like meta-packages. (Closes: #382631)
The syntax for installing tasks from the command line has
been updated. It now supports specifying an arch and
requires the same syntax as apt-utils ('^' must be the last
part of the name). Examples:
# aptitude install gnome-desktop^
# aptitude install ssh-server^:armel
This avoids ambiguity that may arise when a task and
package have the same name.
- Minor bugs:
* [all]: Changelog downloading is restored
(Closes: #669569, LP: #824708)
* [cmdline]: Exit with non-zero status when a package run is
aborted. (Closes: #293008)
* Restore candidate version on undo, keep
Previously, undo incorrectly restored the candidate
to be currently installed version. Keep did not
restore it at all. (Closes: #529403)
- Cosmetic and UI bugs:
* [curses]: Adjust default widths of localized columns:
broken_count, downloadsize (Closes: #674045)
* [all]: Fold some near-duplicate strings
* [curses]: Update package views after 'Cancel pending actions'
(Closes: #595753)
- Build system changes:
* Remove redundancy in doc build system
Lots of code was duplicated between makefiles for the
various translations. Much of this is now in common
rules files making it easier to add new translations.
- Documentation:
* [doc]: Add doctype headers to html docs.
* Italian translation (Closes: #674664)
* Fix minor errors in documentation. Thanks to Beatrice Torracca
(Closes: #674675)
* Fix groff warning in manpage (Closes: #675085)
* Fix encoding problems with README files
* Install some localized README files which were previously
left out.
- Translation updates:
* French (Closes: #673827, LP: #642840)
* German (Closes: #672467, #668875)
* Simplified Chinese
[2012-05-02]
Version 0.6.7 "I said 'Step pause turn
pause pivot step step'"
- Crashes and serious errors:
* [cmdline]: Avoid dpkg and infinite loop in download-only mode
(Closes: #629266) (LP: #975793)
* [cmdline]: Check for apt_init errors in cmdline_download.cc
(Closes: #670379)
- Minor bugs:
* [all]: Fix various locking issues:
- 'install' actions lock /var/cache/apt/archives
Other tasks which access that directory (such as 'apt-get
clean') will now fail if aptitude is downloading or
installing packages. (Closes: #370381)
* [all]: Actually use aptitude::Logging::Levels (Closes: #654344)
- Internal changes:
* [all]: No longer use ListUpdate (from libapt-pkg) to update package
lists. Instead, restore the previous code and update it to
include the semantics from ListUpdate which were missing.
ListUpdate was too coarse to suit download_update_manager
properly even though it more-or-less worked.
* [all]: Do not call debtags on list update. This was a rather
unsightly kludge is better suited as a script for
APT::Update::Post-Invoke.
* [all]: Destroy download_threads when done with them. The objects
were previously left undestroyed, consuming resources and
keeping, e.g., locks open longer than needed.
- Cosmetic and UI bugs:
* [curses]: Apply patch from Ubuntu: don't mention 'su' in 'Become
root'.
* [cmdline]: Use arch-qualified names in 'Provided by' for virtual
packages (LP: #972847)
* [curses]: Preview screen ignores Pkg-Display-Limit
Previously it would apply that limit if
UI::Preview-Limit was not set. This was causing
confusion and it is more useful to have these as two
clearly distinct settings. (LP: #381507)
- Build system changes:
* [all]: Include build of gtest when building gmock. (Closes: #670403)
* [all]: Fix check_boost.sh for out-of-tree builds
- Documentation:
* [doc]: Apply patch from Ubuntu: update Finnish manpage to point to
doc package.
- New translations:
* Croatian (Closes: #667934)
[2012-03-17]
Version 0.6.6 "There is not one you,
there are many."
This version of aptitude brings in basic multi-arch support. Similar
to APT, foreign-arch packages are displayed using their full name,
including architecture, for example: 'libc6:armel'.
This is intended to provide some support for users of multi-arch
systems without causing huge breakage. For users of single-arch
systems the changes are limited to displaying the full names of all
packages in log files and internal messages.
CAUTION: The problem resolver is not yet updated to handle multi-arch
properly. Do not rely on it to make intelligent suggestions at this
stage, instead, use the architecture information to manually check and
resolve any problems.
- Removed features:
* [gtk]: Remove menu entry for minesweeper. This was causing
security concerns by potentially invoking an external
program with root privledges. (Closes: #552522)
- Security fixes:
- Crashes and serious errors:
* [cmdline]: List update errors are reported. (Closes: #451137)
* [all]: Fix '?action(upgrade)' and others (were finding kept
packages instead). Thanks to Rogier <rogier777@gmail.com>
for the patch (Closes: #603862)
* [curses]: Hack to prevent debug messages dumping to the screen
(Closes: #651748)
- New features:
* [all]: Basic multi-arch support as discussed above.
- Use arch-qualified names (full names) in most places.
- Sorting by name considers full names (i.e. architecture).
- Show architecture and multi-arch fields in package info.
- Store package states uniquely by name *and* architecture.
- Add related search terms:
* ?architecture(architecture), ~rarchitecture
Select packages for the given architecture (such as
"amd64", or "all"). Special values: "native" and
"foreign".
* ?multiarch(multiarch)
Select packages with a multi-arch capability of multiarch
(that is, either "foreign", "same", "allowed", or "none").
- Default search (with no explicit term) now accepts "name:arch"
patterns which match "?exact-name(name)?architecture(arch)".
- Add architecture grouping policy.
(Closes: #659079, #661744)
(LP: #454941, #845136, #884945, #904486)
* [curses]: Use libraries ("liba", "libb", etc.) with 'firstchar'
grouping policy. Removes crowding of the "l" group.
- Minor bugs:
* [all]: List update now runs APT::Update hooks. (Closes: #476399)
* [cmdline]: Actually silence progress messages with '-q2'.
(Closes: #141719)
* [all]: Fix various locking issues:
- '[auto]clean' locks /var/cache/apt/archives;
- 'update' locks /var/lib/apt/lists; (Closes: #653479)
* [all]: Fix 'priority' cost level in resolver. The values should
have been negated but were not. Thanks to Modestas Vainius
for this one. (Closes: #608786)
* [all]: Make ~VCURRENT etc. behave like ?version(CURRENT). A
latent bug was preventing the special values from being
handled by the short form.
- Internal changes:
* [all]: Update package lists using ListUpdate (from libapt-pkg).
Now the process is identical to apt-get and other tools,
reporting errors more correctly and running the APT::Update
hooks.
* [all]: Refactor various APT-related comparison functors which
were spread all over the place. There is now a single
implementation of each which resides sanely in apt.h.
* [curses]: Refactor duplicated make_{info,dep,ver}_screen + insert
code. Three new functions replace all standard uses of
the previous code: show_info_screen, etc.
- Cosmetic and UI bugs:
* [cmdline]: Fix some help and prompt strings which wrongly included
localized names for commands such as 'why'.
(Closes: #486615)
* [curses]: Change ordering of top-level sections to match the order
in aptitude::Sections::Top-Sections. The default order
is now: main, contrib, non-free. (Closes: #181997)
* [curses]: Improve error messages when parsing grouping policies to
use the user-visible names, rather than the internal
names. (Closes: #231595)
* [all]: Change default width of %D, %I, %o, and %Z. Thanks to
Michał Kułach for this one. (Closes: #599209)
(LP: #741417)
* [all]: Change default width of %V, %v to 14. This greatly increases
the number of versions which will display completely.
(Closes: #624542)
* [cmdline]: Use nice formatting for both parts of the download
progress display. Previously the 'downloaded' size was
being reported in bytes; now it uses larger units as
appropriate to be more readable.
* [cmdline]: 'versions' now groups it's results by 'package:arch'
instead of 'package'.
* [all]: Cleared up grouping, sorting policy error messages.
(Closes: #231595)
- Build system changes:
* [all]: Add configure option '--disable-tests'.
* [all]: Don't check for libvte if GTK+ is disabled.
* [all]: Apply patch from Ubuntu to fix build -D_FORTIFY_SOURCE=2
errors. Thanks to Colin Watson and Michael Vogt
(Closes: #497539)
* [all]: Avoid most library and header checks if --disable-aptitude.
* [all]: GTK+ frontend is disabled by default.
* [all]: Enabling GTK+ or Qt is an error if libraries are missing.
- Documentation:
* [doc]: Minor correction to the user's manual. (Closes: #365485)
* [doc]: Clean recent changes to man page description of
'forbid-version'.
- Translation updates:
* Brazilian Portuguese (Closes: #483964)
* Hungarian (Closes: #592468)
* Polish (Closes: #659803)
* Russian (Closes: #662624)
[2012-02-06]
Version 0.6.5 "Splat!"
- Removed features:
* [cmdline]: Remove broken safe-upgrade-only options.
Specifically, Safe-Upgrade::No-New-Installs and
Safe-Upgrade::Show-Resolver-Actions.
These options were documented but have never worked. A
quick skim didn't turn up any bugs filed about them, so
I guess no-one ever tried them. Removed them.
- Minor bugs:
* [all]: Do not translate program options in Catalan translation.
(Closes: #462558)
* [all]: Do not translate program options in Simplified Chinese
translation. (Closes: #563132)
- Internal changes:
* [gtk]: Hopefully fix the use of VTE in the GTK+ frontend.
* [all]: Don't run file in aptitude-run-state-bundle. Thanks to
Sven Joachim for the patch. (Closes: #635572)
- Cosmetic and UI bugs:
* [curses]: Handles 'Enhances' relations in preview. (Closes: #583201)
* [cmdline]: Fix resolver help for next/previous. (Closes: #495046)
* [curses]: Boldness of Tags and User-Tags fields. (Closes: #652360)
* [curses]: Wrap long description of boolean_config_treeitems. (Closes: #653120)
* [cmdline]: Add versions, newlines to --help. (Closes: #581597, #604392)
* [all]: Fix prompt strings. (Closes: #652419)
* [cmdline]: Typos in output of version, usage.
- Build system changes:
* [all]: Clean up the use of AC_COMPILE_IFELSE and AC_LINK_IFELSE
to fix a bunch of autoconf warnings.
* [all]: Modify autoconf/automake scripts to handle gmock changes.
* [all]: Silence automake warnings about GNU extensions.
- Documentation:
* [doc]: Cleaned up the documentation of --new-new-upgrades and
--no-new-installs. (Closes: #568297)
* [doc]: Minor fixes in documentation and changelog. (Closes: #403220)
* [doc]: More precise wording suggested by jidanni in the
manpage. (Closes: #542293)
* [doc]: Switch Polish manpages to po4a. Thanks to Michał
Kułach. (Closes: #656820)
* [doc]: Fix link in users manual. (Closes: #397038)
* [doc]: Fix missing entity refs and filename elements. (Closes: #651289)
* [doc]: Update development details in the user's reference. (Closes: #651288)
* [doc]: Fix description of Aptitude::Sections::Top-Sections. (Closes: #651661)
* [doc]: Mention /etc/apt/apt.conf.d/* in Configuration file. (Closes: #497138)
* [doc]: Fix manpage text for safe-resolver. Thanks to Dan
Jacobson (Closes: #511731, #568297)
* [doc]: Update description of forbid-version. (Closes: #511365)
* [doc]: Fix typos in manpage. Thanks to A. Costa for reporting
them (Closes: #644651)
* [doc]: List items wrongly nested in the document. Thanks
Kobayashi Noritada <nori1@dolphin.c.u-tokyo.ac.jp> (Closes: #365615)
* [doc]: Update dead URL for regular expressions in the manual,
thanks Diederik de Haas <didi.debian@cknow.org> (Closes: #581508)
* [doc]: Properly document 'Q' and 'q' keys for user interface in
the Help file. Thanks Sebastian Kapfer and Stéphane
Aulery. (Closes: #242269)
- Translation updates:
* Calatan (Closes: #332592)
* Danish (Closes: #608593)
* Dutch (Closes: #601672)
* French (Closes: #631759)
* German (Closes: #603589)
* Greek (Closes: #606871)
* Hungarian (Closes: #548609)
* Japanese (Closes: #550451)
* Polish (Closes: #657174)
* Portuguese (Closes: #577995)
* Russian (Closes: #559664)
* Simplified Chinese (Closes: #594526, #566367)
* Slovak (Closes: #559288, #653056)
* Spanish (Closes: #564445)
[2011-04-02]
Version 0.6.4 "Spring is sprung"
This version of aptitude requires apt 0.8 and will not build against
earlier releases.
- Security fixes:
* [curses]: Fixed an arbitrary overwrite triggered by saving changes
in the hierarchy editor, if the current user's home
directory couldn't be determined. (Closes: #612034)
- Crashes and serious errors:
* [all]: Don't crash when apt-xapian-index isn't installed. (Closes: #588089)
- Interprets "~" as "?name(~)" instead of "?term(~)"
- If the Xapian index isn't available, attempts to mimic its
behavior to a first approximation: not perfectly, but enough
to make ?term and ?term-prefix do something sensible.
* [all]: Restore aptitude's old treatment of the auto flag, meaning
that instead of clearing the flag when the user asks to
upgrade a package, we leave it set. Worked around a change
in apt's behavior by forcibly preserving the auto flag's
setting regardless of what pkgDepCache::MarkInstall thinks
is right this week. (Closes: #622719)
- New features:
* [curses]: Add a "source" grouping policy that groups packages by
their source package name. Thanks to Thadeu Lima de
Sourza Cascardo for the patch, sorry it took so long to
apply! (Closes: #497206)
- Minor bugs:
* [all]: Fixed the debug logging code to output TRACE-level
messages.
* [all]: Fixed the debug logging code to properly allow log levels
to be disabled.
* [all]: Fixed the resolver cost levels for installs and upgrades.
- Internal changes:
* [all]: Include the current time and thread ID in all debug log
messages.
* [cmdline]: Refactor terminal handling to simplify some of the
tests.
* [qt]: Added the beginning of a Qt frontend, thanks to SoC 2010
student Piotr Galiszewski. Not really in a usable state
yet.
* [all]: Fixed build errors with gcc 4.6 (Closes: #624948)
- Cosmetic and UI bugs:
* [cmdline]: Overhaul how download progress is displayed at the
command-line. Fixes problems on large terminals and
should provide less glitchy behavior in general.
- Build system changes:
* [all] Use $(srcdir) whenever $(wildcard) is used, so wildcarded
files get picked up even when the build directory is not the
source directory.
* [all] Build src/generic/util before src/generic/apt (which depends
on it).
* [all] Multiple fixes to get VPATH builds working properly.
* [doc]: Added a doc-fo target that builds (very rough) PDF
documentation if you have fop installed.
* [gtk] If the GTK+ frontend isn't built, don't try to build tests
that require it.
[2010-06-18]
Version 0.6.3 "Sunlight, moonshadow"
This version of aptitude fixes some crashes that occurred when
exiting the program and overhauls how progress is displayed from the
command-line.
aptitude now requires google-test and google-mock; it will work with
newer versions of libept and older versions of boost; it no longer
requires log4cxx.
- New features:
* [cmdline] Modified the command-line progress counters so that
they're erased when they complete instead of leaving
cruft behind.
The old behavior and appearance can be recovered by
Aptitude::CmdLine::Progress::Retain-Completed and
Aptitude::CmdLine::Progress::Percent-On-Right to "true".
- Crashes and serious errors:
* [all] Ditching log4cxx will hopefully fix some of the crashes on
exit that people were seeing.
- Cosmetic and UI bugs:
* [cmdline, curses] Fixed the display of the archives associated
with a version so that duplicated archive names
are never displayed.
- Internal changes:
* [gtk] Started working on a redesign of the GTK+ interface, both
internal and external. The internal half involves
refactoring the code to better separate logic and
presentation and to improve testability and code reuse. The
external half adds the groundwork for a redesign of how the
UI is arranged at the top level.
This code is very incomplete and currently disabled by
default.
* [cmdline] The progress changes noted above included some
refactoring to make the command-line interface easier to
unit test. In particular, I created a terminal
abstraction that could be stubbed out for the purposes
of testing. Currently this is only used for the
progress code, but it's likely to become more widely
used as time goes on.
- Changes for build dependencies:
* [all] Stopped using log4cxx in favor of a homegrown module.
We're really only using it for debug output, so its most
powerful features aren't useful for aptitude. At the same
time, it appears to be behind some of the crashes on exit
that users have reported, and it's never really integrated
well into the program (the initialization process has always
been a hack). The new code is much better suited to
aptitude's requirements.
* [all] Added appropriate configure checks and conditionalization to
support building against either the current ept release or
the upcoming release. (Closes: #581009)
* [all] Write a proper configure check to detect the calling
convention used by boost::fusion::fold(); don't require
Boost 1.42 any more.
- Build system changes:
* [all] Added a build system based on scons. scons supports fully
parallel builds and variant builds without reconfiguration,
which should speed up the build process significantly on
multi-core machines.
* [all] Switch from automake 1.9 to automake 1.11.
[2010-04-21]
Version 0.6.2.1 "I didn't know it was a
real zebra!"
- Crashes and serious errors:
* Fixed a crash caused by being insufficiently careful about NULL
pointers in the resolver. (Closes: #578344)
* Boost 1.42 changed the order of arguments to fusion::fold(),
breaking aptitude. As an interim measure, I have modified
configure to require 1.42 or higher, and fixed the argument order.
The correct long-term fix here is to do a feature test to see
which order fold expects its arguments in.
- Backwards compatibility fixes:
* Restored the "conflict" safety level/tier.
* Fixed a bug that meant that the old configuration option names
(*-Tier instead of *-Level) could only be used to increase safety
levels, not to decrease them.
- Internal changes:
* Change the incremental_expression subsystem of the resolver to be
fully robust against NULL pointers and write unit tests for it.
* Reduced the number of explicit dependencies on log4cxx (using
indirection), in case I decide to resolve the random crashes it
causes by switching to some other framework or rolling my own.
[2010-04-18]
Version 0.6.2 "A costly proposition"
- New features:
+ [all] Resolver tiers are dead, long live resolver costs.
The resolver now supports a flexible system of multi-leveled
costs, in place of the fairly rigid tiers of previous
releases. The default behavior emulates how tiers worked,
but the resolver can also be configured with custom cost
vectors by setting Aptitude::ProblemResolver::SolutionCost
to something like this:
canceled-actions + 2*removals, ignored-recommends, installs
That says to minimize the number of packages kept at their
current version plus twice the number of removals (i.e., a
removal counts for two keeps). Within that group, ties are
broken by looking at the number of Recommends that were
ignored, and within that group, ties are broken by looking
at the number of new packages the resolver wants to install.
In addition to custom cost vectors, resolver hints can be
used to create completely custom costs.
See the reference manual for full details.
This is not optimized and I expect that pushing it to the
limits will show off all sorts of exponential explosions.
Have fun!
+ [cmdline] Implemented an "aptitude versions" command that I've
been kicking around for a while, to display and search
for individual package versions. Documented in the
manpage, but here are some highlights:
$ aptitude versions apt
i 0.7.25.3 unstable 500
p 0.7.26~exp3 experimental 1
$ aptitude versions '^apt$ ?installed'
Package apt
i 0.7.25.3 unstable 500
$ aptitude versions xserver-xorg udev
Package udev:
i 151-2 100
p 151-3 unstable 500
Package xserver-xorg:
i A 1:7.5+3 100
p A 1:7.5+5 unstable 500
$ aptitude versions --group-by=source-package '?name(aptitude)'
Source package aptitude:
i aptitude 0.6.1.5-2 100
p aptitude 0.6.1.5-3 unstable 500
i aptitude-dbg 0.6.1.5-2 100
p aptitude-dbg 0.6.1.5-3 unstable 500
i aptitude-doc-cs 0.6.1.5-2 100
p aptitude-doc-cs 0.6.1.5-3 unstable 500
(... many more lines of output snipped ...)
- Crashes and serious errors:
+ [cmdline] Don't crash if the user sets a rejection at the internal
command-line via package name and version rather than
using the new pick-by-numbers UI. (Closes: #567242)
+ [cmdline] Don't crash if the user asks to see information about a
removal.
+ [cmdline] Don't crash in "aptitude changelog" when the package
given on the command-line doesn't have a valid version
(Closes: #576318). Thinks to Dmitry Semyonov for the
patch.
- Cosmetic and UI bugs:
+ [curses] Don't leave a download progress bar hanging around after
downloading a changelog. (Closes: #566205)
- Internal changes:
+ [all] Replaced mktemp() with a custom function doing a similar
thing (albeit with slightly better randomness). This
eliminates the spurious linker warning I've been ignoring
for five years: the linker has no way to know that I only
use mktemp() to create names in a mode 0700 directory, which
is about the only way to use it safely.
[2010-01-20]
Version 0.6.1.5 "All around the dependency bush,
the monkey chased the weasel..."
- Crashes and serious errors:
+ [all] Changed the default resolver configuration so that removals
and "safe" actions are grouped together. Without this
change, aptitude was being too conservative and failing to
solve simple upgrades. (Closes: #565867)
The safe-upgrade resolver is unaffected by this change,
since it uses explicit constraints to prevent removals from
being installed.
- Cosmetic and UI bugs:
+ [test] Eliminated a spurious error message that was being printed
by the cppunit unit tests.
+ [curses] Fixed the progress display and error reporting for
changelog downloads.
- Documentation:
+ [doc] Added a note in the manpage explaining the principles of the
Linux command-line to hopefully forestall future bug reports
telling me that the manpage for "aptitude search"
contradicts the user manual. (Closes: #566003)
[2010-01-17]
Version 0.6.1.4 "You can't take the sky from me."
- New features:
+ [gtk] The status of each changelog download is now displayed in
the space where that changelog will appear.
+ [cmdline] When aptitude displays a resolver solution, it now
displays a number next to each entry in the solution.
This number can be used to manipulate the corresponding
entry (for instance, to reject it or to view information
about it). This makes it much more convenient to use
the command-line resolver interactively.
- Crashes and serious errors:
+ [all] Be paranoid about the sign of file offsets (on some
architectures they're apparently signed). (Closes: #557212)
+ [all] Fix various include and compilation errors revealed by the
new version of g++ being stricter. (Closes: #531687, #560517)
+ [all] Use pthread_sigmask() instead of sigprocmask() on startup to
avoid problems on architectures where sigprocmask() behaves
poorly in multi-threaded processes. (Closes: #559980)
+ [gtk] Fix a startup crash caused by not properly protecting the
call to Glib::thread_init(). (Closes: #555120)
- Cosmetic and UI bugs:
+ [cmdline] Document the flags that are shown after packages in the
preview.
+ [cmdline] Instead of showing broken packages in their own group,
show them in the group they would normally appear in but
with a "b" flag.
It was somewhat confusing that packages which were being
installed but had broken dependencies showed up in the
"broken" section instead of the "install" section.
Packages that are unchanged and have broken dependencies
won't show up in the preview any more, but they will
show up just below it, in the list of packages with
broken dependencies.
+ [all] Eliminate spurious error messages from log4cxx. (Closes: #557150)
- Internal changes:
+ [all] Download changelogs using the new internal download queue,
not the download_manager system. Fixes random crashes at
shutdown.
+ [gtk] Wrote the first draft of some harness code that will
underpin a redesign of the main window. Currently this is
unused.
[2009-11-19]
Version 0.6.1.3 "Too many cooks put lots of
beans in the soup."
- Build system fixes:
+ [doc] Fixed the Makefile for the Spanish translation of the
documentation so that it honors DESTDIR.
[2009-11-19]
Version 0.6.1.2 "I think I can, I think I can..."
- Crashes and serious erroors:
+ [all] Modified the new temporary file module so that it doesn't
rely on the order in which global destructors run. This was
causing an abort when the program exited if it was built
with optimizations.
- Internal changes:
+ [test] Wrote an additional unit test verifying that the program's
temporary directory is really deleted when it exits.
[2009-11-19]
Version 0.6.1.1 "Again with the bug-writing."
- Crashes and serious errors:
+ [test] Fixed the test code to actually compile against the new
temp API (major oops there).
+ [all] Fixed the temporary directory code to create directories in
$TMPDIR rather than ".".
[2009-11-18]
Version 0.6.1 "Instant toll logging."
- New features:
+ [gtk] Support for automatically downloading screenshots from
screenshot.debian.net. Eventually the screenshots will
probably show up in a few more places, such as the update
preview and package lists (but this will require careful
coding to only download screenshots that are visible).
- Internal changes:
+ [all] aptitude now has a generic global download queue. This is
actually implemented with the apt download queue object, but
it runs all downloads in the background, integrates with
aptitude's download cache, and provides support for getting
status information on individual downloads and canceling
them.
This new queue is used to implement screenshot support.
+ [all] Overhauled how temporary files are created. aptitude will
now create only one entry in $TMPDIR, and it will make a
stronger effort to delete all its temporary directories when
it exits normally. Abnormal exits (i.e., signals) will
still leave cruft behind, but at least it's only one file
and not dozens per run.
- Crashes and serious errors:
+ [all] Don't support trying to block the foreground thread while
dependencies are solved; doing so is very deadlock-prone and
was causing deadlocks in practice.
+ [all] Fix several places where the "why" code dereferenced version
iterators without checking whether they were valid, causing
a crash. (Closes: #546446)
+ [gtk] Fix several crashes in the resolver tab caused by trying to
generate tooltips using invalid version objects.
+ [gtk] Properly disconnect signals from the background thread in
the dashboard tab, instead of occasionally crashing when one
is delivered after they should have been disconnected.
+ [gtk] Fix a potential deadlock that could have occurred if the
main thread posted lots of thunks to itself.
- Minor bugs:
+ [all] The resolver will now ignore recommendations that are
already unresolved on the system, rather than trying to fix
them every time any dependency needs to be solved.
(Closes: #556042)
+ [curses] Fix becoming root with the "su" protocol. (Closes: #552471)
- Cosmetic and UI bugs:
+ [all] Correct how we decide when the resolver is out of solutions.
+ [all] Work around a spurious error message generated by apt.
(Closes: #526661)
+ [cmdline] The message that no packages are being installed,
removed or upgraded is more accurate now.
+ [cmdline] Another preview is shown after the resolver runs even if
-y was passed on the command-line.
+ [cmdline] Exit without prompting if the user tells the dependency
solver to cancel all of their changes. (Closes: #556866)
+ [gtk] Fix a typo in one of the resolver tab's tooltips.
+ [gtk] Fix the resolver tab to only show a new solution when the
user explicitly asked for one.
[2009-10-25]
Version 0.6.0.1 "Who's laughing now?"
- Build system fixes:
+ [all] Actually distribute the auxiliary data for the unit tests.
Hopefully this means that the unit tests can actually pass
in the distributed tarfile.
[2009-10-25]
Version 0.6.0 "Stick a fork in it,
it's done."
- Internal changes:
+ [all] The file cache now supports storing the last modification
time of cached files. Currently this isn't used (changelogs
are assumed to be up-to-date anyway), but future code will
need this.
+ [gtk] Factored out the common parts of the background threads that
handle changelog downloading into a generic utility class.
- Minor bugs:
+ [all] Load the download cache in apt_init() instead of
apt_preinit(). Avoids complaints from log4cxx if there are
errors, and also ensures that we have a download cache even
if the apt cache was closed and reopened.
+ [all] Add some missing #includes that showed up when NLS wasn't
enabled.
- Build system fixes:
+ [all] Don't include files in POTFILES.in that aren't distributed.
Hopefully this will prevent the unnecessary junk that was
getting into the Debian diff.
[2009-10-12]
Version 0.5.9rc4 "Trust me, you don't want
to know about the spork."
- New features:
+ [all] The test to see whether a changelog is in aptitude's
download cache now takes place in a background thread.
+ [gtk] When generating the upgrade summary, aptitude caches a
parsed version of the portion of each changelog that's
displayed. This makes the changelogs show up much faster
and with a lot less system load.
+ [gtk] The second tab in the upgrade view now displays information
about the currently selected package, rather than its full
changelog.
+ [gtk] "aptitude --version" prints the versions of GTK+ and GTK--
that it was compiled against.
- Crashes and serious errors:
+ [all] Fix how the background dependency solver thread communicates
with the foreground thread to eliminate at least one
deadlock.
- Cosmetic and UI bugs:
+ [curses] Don't print a spurious warning if we get --no-gui when
the GTK+ frontend was compiled out. (Closes: #550727)
- Build system fixes:
+ [gtk] Make "./configure --enable-gtk" enable GTK+ instead of
disabling it.
[2009-10-08]
Version 0.5.9rc3 "The stars, like little
starry things..."
- New features:
+ [cmdline] Package versions can be chosen by codename as well as by
archive. (Closes: #547707)
+ [all] Not exactly a new feature, but reverted from
dpkg-parsechangelog to parsechangelog: both of them require
extra dependencies, and parsechangelog is faster. (Closes:
#546280)
- Crashes and serious errors:
+ [all] Don't crash if the Xapian database fails to load. (Closes:
#512998)
+ [all] Recognize --no-gui even in non-GUI builds, so switching to
root can just always pass it. (Closes: #546406)
+ [all] Don't discard errors after dpkg fails. (Closes: #548879,
#548889)
+ [gtk] Don't crash when displaying the file list of a package
that's not installed.
- Cosmetic and UI bugs:
+ [curses] Block SIGWINCH by default so that cwidget can sigwait()
on it. (Closes: #547212)
+ [cmdline] Mention build-dep in "aptitude help". (Closes: #547151)
+ [cmdline] Consistently use a full-stop at the end of "--help"
lines.
+ [cmdline] Fix an incorrect message that stated that a package was
not installable, rather than that it was not going to be
installed.
+ [cmdline] Make --arch-only do what it should instead of the
opposite. (Closes: #547266)
+ [gtk] Make the "hold" command hold packages instead of deleting
them. (Closes: #549897)
+ [gtk] Use a single thread for all changelog downloads, to avoid
spawning as many instances of parsechangelog as there are
changelogs.
I really should move the extraction of changelogs from the
cache to a background thread as well; it takes ages to
extract every last changelog if there are a lot, and I
should be able to start parsing them as soon as the first
one is extracted.
- Documentation:
+ [doc] Mention Get-Root-Command in the section on "becoming
root". (Closes: #548657)
+ [doc] Correct the default value of Get-Root-Command to match the
code. (Closes: #550057)
- Translation updates:
+ Danish (Closes: #546497)
+ French
+ Portuguese (Closes: #522445)
+ Russian (Closes: #535806)
+ Spanish
[2009-09-09]
Version 0.5.9rc2 "Over five served."
- Crashes and serious errors:
+ [all] Fix a bug in the logic to filter package actions so that
only actions initiated by apt's greedy resolver are
affected, rather than all actions.
[2009-09-08]
Version 0.5.9rc1 "The only way to win
is not to play."
First release candidate for 0.6.0. Due to the length of time it's
taken me to prepare this and to the new Debian release cycle, I'm
releasing 0.6.0 before the GTK+ interface is really complete; it's
still in an experimental state. However, several of the other changes
in this release should really be rolled into the mainline before the
Debian release (particularly the improvements and optimizations to the
dependency solver).
This version disables the full-text Xapian search by default, although
it can still be accessed via ?term().
Version 0.5.9rc1
- New features:
+ [all] Internal file cache for auxiliary downloads, based on the
binary file engine SQLite and the Boost zlib wrapper. This
will substantially speed up the GTK+ interface's startup
time when it's just downloading the same thirty changelogs
it was showing before, and will be even more helpful once
aptitude can show screenshots. Hopefully it will also
reduce the load on the Debian network infrastructure.
+ [all] aptitude now uses the new hooks in apt to prevent the greedy
resolver from removing packages or breaking holds.
(Closes: #177374, #205049, #374353, #376802, #406506,
#430816, #434731, #442420, #452589)
+ [all] aptitude now uses dpkg-parsechangelog to parse changelogs
instead of parsechangelog, courtesy of Frank Lichtenheld's
patch in 2007. This means that it no longer requires
libparse-debianchangelog-perl to show changelogs.
+ [all] "aptitude update" now honors the configuration options
APT::Get::List-Cleanup and APT::List-Cleanup.
(Closes: #448958)
+ [cmdline] "aptitude safe-upgrade" now supports listing extra
actions on the command-line, just like "install",
"remove", etc. If any actions are listed, then only the
given actions are performed (the blanket upgrade is
skipped). Packages with no qualifications give a list
of the packages that should be upgraded; if they aren't
installed or aren't upgradable, they're ignored.
+ [curses] The commands to clean the package cache and to delete
obsolete files now support automatically becoming
root. (Closes: #492832)
- Crashes and serious errors:
+ [all] Fix some crashes that occurred when viewing dependency solutions.
+ [all] Make "aptitude update" correctly clean up the list
download directories. (Closes: #507603)
+ [all] Disable Xapian full-text search by default; it's still
available via the ?term pattern. Feedback on this "feature"
was uniformly negative; it seems to be flaky and not very
useful. Maybe it would be useful with more work, but it
won't be ready for Squeeze. (Closes: #527540, #538198,
#514625)
+ [cmdline] Fix a bug that caused lots of extra "unresolved
recommendations" to be displayed in dependency
solutions.
+ [curses] Fix a crash on exit that was caused by having dangling
boost::flyweight objects when the global destructor was
invoked (arguably this is a bug in Boost; we might want
to consider moving away from flyweights for this reason).
+ [curses] The auto-su-to-root code now passes --no-gui, so it
should actually work again (rather than popping up a
graphical UI).
- Cosmetic and UI bugs:
+ [all] Fix some corner cases in the serialization of search
patterns, such as the new "enhances" dependency type.
+ [curses] Hopefully fix pattern-based grouping in the curses UI.
+ [curses] Add descriptions of the new ftp sections to the default
sections file (thanks to Miroslav Kure).
+ [gtk] Make more of the UI translatable (thanks to Miroslav Kure).
+ [gtk] Don't attempt to translate the empty string when displaying
the state of a package that's unchanged.
- Documentation:
+ [doc] Document that full-upgrade and safe-upgrade take extra
actions on the command-line. (Closes: #268696)
+ [doc] Document that the "standard" apt options should be used
instead of Keep-Suggests and Keep-Recommends.
(Closes: #540230)
- Translation updates:
+ Czech (Closes: #545144)
+ French
+ Spanish
[2009-07-21]
Version 0.5.3.1 "Sky without end"
- Build system fixes:
+ Fixed the Spanish documentation Makefile to use DESTDIR.
- Translation updates:
+ Slovak (Closes: #521052)
[2009-07-20]
Version 0.5.3 "The Aardvark Contingency"
This version of aptitude now requires GTK+ 2.16 or greater and GTK--
2.16 or greater.
- Crashes and serious errors:
+ [gtk] Don't crash when displaying a solution that cancels the
installation of a package. (Closes: #525898)
- Internal changes:
+ [all] Rewrote the resolver code to trade memory for time. Large
dependency problems should be processed in about 20% of the
time that previous versions took.
- Cosmetic and UI bugs:
+ [gtk] Some redesigns to the GTK+ UI (Thanks to Arthur Liu).
+ [gtk] Display package short descriptions in the resolver tab.
+ [gtk] Display the search progress bar behind the text of the
search term (requires GTK+ 2.16 or greater).
- Translation updates:
+ Asturian (Closes: #521558)
+ Finnish (Closes: #531582)
+ Spanish: added translation of the user's manual.
[2009-04-26]
Version 0.5.2.1 "Albatross!"
- Crashes and serious errors:
+ Don't crash when tabs are closed from the menu or using Ctrl-W.
- Internal changes:
+ [gtk] Always use trampolines (via the main loop's idle handler) to
delete tabs, to hopefully avoid bad interactions when a tab
is closed as a side effect of some other action.
- Cosmetic and UI bugs:
+ [gtk] Eliminated some warnings that were caused by modifying a
tree model while iterating over its selection list.
+ [curses] Work around some buggy terminals so that the progress bar
doesn't get truncated or corrupted. (Closes: #455220)
+ [cmdline] Change the "last-package" summary mode to
"first-package". aptitude prints the package that's
selected by this option at the beginning of a chain, so
it seems counterintuitive to me to call it the "last"
package.
+ [cmdline] Renamed the configuration option
"Aptitude::Why-Display-Mode" to
"Aptitude::Show-Summary", to match the command-line flag
that it corresponds to (--show-summary).
+ [cmdline] Removed a stray space in the output of "aptitude why".
- Documentation:
+ [doc] Document --show-summary and Aptitude::CmdLine::Show-Summary.
+ [doc] Use rsvg instead of Inkscape to convert svg diagrams to png
files for the time being. Also cropped rsvg to the drawing
boundaries.
+ [doc] Add search-tier-diagram.svg to the distributed .tar.gz file.
- Translation updates:
+ French
[2009-04-22]
Version 0.5.2 "Ramparts of the Dawn"
This release merges in the work that was done on the lenny branch of
the program but not the post-lenny one (mostly translation work).
KNOWN BUGS:
+ Ctrl-W should close a tab, but instead it crashes the program. Do
not press Ctrl-W and you will be happier.
+ When you reject or accept a resolver choice, the corresponding row
in the solution might not update to reflect your change. If you
switch to another solution and back, it will update correctly.
- New features:
+ [all] aptitude now uses liblog4cxx to provide diagnostic logging
of much of the program.
+ [all] The aptitude dependency solver now supports a "tiered
search". Hopefully this will make dependency resolution
more predictable and allow more meaningful configuration.
In particular, removals are not attempted until all
solutions involving only keeps, installs and upgrades are
exhausted, and solutions involving versions that aren't the
default candidate are deferred until removals are exhausted.
See the user's manual for details.
Closes: #514820, #514930, #524221, #473296
+ [gtk] The resolver tab has been completely overhauled. It now
supports all the features of the backend dependency solver,
and it has an interface that is much more suitable for a
GTK+ program.
+ [gtk] The dpkg tab now attempts to detect when something is
waiting for input, by keeping track of how long it's been
since dpkg sent a status message. When input is available,
the "view details" button is flashed to hopefully get the
user's attention.
+ [gtk] The procedure for upgrading has been streamlined. aptitude
computes an upgrade in the background automatically using
the same algorithm that backs "safe-upgrade". The user can
either accept the solution or try to fix the remaining
dependencies manually.
+ [cmdline] Added a new command-line option, "--show-summary", to
the "why" command-line action. This option causes
aptitude to show a brief list of the first package in
each dependency chain that would have been displayed.
So combined with the "-v" option, you can easily get a
list of all the manually installed packages that require
a given package.
+ [gtk] When the user clicks on a package in the dashboard's list of
upgrades, the changelog display automatically scrolls to
that package.
+ [gtk] Some common notifications are now marked with the icon of
the task they're performing.
+ [gtk] Initial support for incremental search (currently you have
to click the "incremental" toggle button to enable it).
+ [gtk] Ctrl-PageDown and Ctrl-PageUp, or F7 and F6, now switch to
the next or previous tab, respectively.
+ [gtk] A link now exists below the package description to open all
the other packages from the same source package.
+ [all] The aptitude dependency resolver now continues searching for
a few steps after it finds a solution, in the hope that it
can find a better one. (Closes: #482825)
+ [all] The aptitude dependency resolver now adds a bonus to the
default apt resolution for a dependency (that is, the first
non-virtual package listed). The default bonus is 400 and
it may be configured via
Aptitude::ProblemResolver::DefaultResolutionScore.
+ [all] Setting the environment variable APT_ROOTDIR to a directory
name will cause aptitude to use the given directory as the
root for the purpose of locating apt files.
- Crashes and serious errors:
+ [gtk] Don't crash in the dependency chains tab. (Closes: #514714)
+ [gtk] Don't crash when the user views the information tab of a
virtual package.
+ [all] Fixed some serious inefficiencies in the algorithm used by
safe-upgrade. It's still a bit slow on very large upgrades,
but not as ridiculously slow as it was before.
+ [all] Fixed a bad interaction between the dependency solver and
reinstatement of unused packages, which could cause a
situation where a "solution" from the solver would actually
lead to broken dependencies, due to a conflict declared on
the newly reinstated package. (Closes: #522881, #524667)
- Cosmetic and UI bugs:
+ [gtk] Changelogs are now downloaded and parsed in the background.
aptitude still sets the download up in the foreground, and
this can take a long time if there are lots of available
upgrades.
+ [gtk] A background thread is used to find the packages that match
a search pattern and to build the list of matching packages
for display.
+ [gtk] Some work on the download screen, although more is needed.
+ [curses] Don't warn the user about removing an Essential package
if they're just purging the configuration files of one
they removed already. (Closes: #513472)
+ [curses] Don't compute an excessive amount of "why" information
every time a package is selected. Should make the curses
interface much less sluggish. (Closes: #516296)
+ [cmdline] Add a missing newline in the error message that
"aptitude why" prints if it has no arguments.
(Closes: #514676)
+ [cmdline] Fix some badly formatted messages that are displayed
when a build dependency can't be installed: they were
missing punctuation and newlines. (Closes: #492615)
+ [cmdline] Make the warning asking the user to use safe-upgrade
instead of upgrade a bit clearer.
+ [cmdline] Always display [held] next to the state of held
packages.
+ [cmdline] Pre-compute the column sizes needed to display "why", so
that columns don't wrap in Stupid Places[tm].
(Closes: #516389)
- Minor bugs:
+ [all] The dependency resolver's scoring of full package
replacement was not behaving as intended in the corner case
that the package was replaced due to a virtual package it
provided, and some other version of the replaced package
didn't provide that virtual package. The intent was to give
the non-providing package a bonus, but instead the versions
that got replaced were getting a bonus (more or less
negating the whole point of the full replacement score).
+ [all] The resolver should now more correctly obey approval
constraints set by the user (solutions that were previously
rejected and aren't rejected any more can be returned).
- Internal changes:
+ [all] The dependency resolver now supports "hypothetical
reasoning": it can calculate a solution to a dependency
problem from a starting state that isn't the "live" state of
the package cache. This is used, for instance, to compute
an upgrade before any packages are marked for upgrade.
+ [all] Implemented support in the dependency resolver for
propagating knowledge about dead-ends up the search tree.
Currently disabled as it turned out to greatly increase the
memory and CPU overhead of a search without significantly
decreasing the number of steps needed.
+ [all] The dependency resolver now stores solutions as sets of
"choices" rather than explicitly maintaining several lists
for the different types of choices a solution can contain
(for instance, installing a version vs leaving a Recommends
unresolved). This makes things a bit cleaner and should
make it easier to add new types of choices if that turns out
to be useful.
+ [gtk] The Glade file now stores each tab as a separate top-level
widget, which makes it a lot easier to edit and add tabs.
- Documentation:
+ [doc] Improve the documentation of --purge-unused.
+ [doc] Improved documentation of the resolver (in addition to
documenting the new features).
- Translation updates:
+ Asturian (Closes: #518981, #519693)
+ Danish (Closes: #512384)
+ German
+ Italian
+ Norwegian Bokmål (Closes: #510977)
+ Spanish (Closes: #517272)
+ Swedish (Closes: #511238, #514011)
[2009-01-18]
Version 0.5.1 "One step at a time"
- New features:
+ [all] New match term: ?term-prefix(term). This is like ?term(),
but it searches the Xapian database for any term which is an
extension of ?term. For instance, ?term-prefix(hour)
matches any package that contains the terms "hour",
"hourglass", "hourly", etc.
+ [all] If the user asks for the changelog of a version of a package
that's currently installed, aptitude will use the local copy
instead of downloading a new copy off the network. If the
local copy can't be used for some reason, aptitude will fall
back to downloading a copy.
+ [all] Implemented resolver hints: you can now place options in
apt.conf that control how the aptitude resolver treats
particular packages. For a full discussion see the user's
manual, but here is a flavor:
Aptitude::ProblemResolver::Hints
{
"reject pulseaudio"; // Prevent the "pulseaudio"
// package from being installed
// by the aptitude resolver.
"approve ?name(emacs[0-9]*)"; // Always choose emacsNN over
// any alternatives.
"300 ?true /unstable"; // Give a 300-point bonus to
// any version in the
// "unstable" archive.
};
Currently these hints do not influence the choices made
by the "immediate" dependency resolver (the one that runs as
soon as you mark a package for installation).
+ [gtk] aptitude now parses the dpkg status pipe, so it can show a
progress bar while dpkg is running. Closing the terminal
tab does not terminate the install; only destroying the
progress bar does that.
+ [gtk] The search entry box's background will turn slightly red if
the current text is not a valid search pattern.
+ [gtk] If the user enters an invalid search pattern into the search
entry box, the error will be shown below the box (rather
than being shoved onto the apt errors pane).
+ [gtk] aptitude prompts for confirmation before killing a download
or a dpkg process. The download prompt might be
superfluous, but considering the possible side-effects of
killing off dpkg, that prompt will remain for the
foreseeable future.
+ [gtk] aptitude will print a message to its embedded terminal
before and after running dpkg.
+ [gtk] A drop-down box of package filters is available under the
text box where searches are entered. This lets you quickly
filter a list of packages by some common criteria (showing
only packages that aren't installed).
+ [gtk] The "automatically installed" flags of packages can be
toggled from the Package menu or from buttons in the
description pane.
+ [gtk] Undo -> Undo works.
+ [gtk] When viewing a dependency solution, you can choose to see
the actions in their "logical" order (equivalent to typing
"o" in the curses front-end).
+ [gtk] In the version information tab (the one you get by
double-clicking a package), selecting a different version in
the list of versions causes information for that version to
be shown instead.
+ [gtk] You can now change which columns are visible in a package
list by selecting View -> Edit Columns... or by clicking the
"..." column heading.
+ [gtk] New package list column: "automatically installed".
Each value in this column is displayed as a check-box, where
the box is checked if the package is automatic. The
check-box can't currently be clicked because I'm worried
that people would click it by accident while trying to
select a package. Most likely the rendering will be changed
in the future to look less "clickable".
+ [gtk] New package list column: "archive".
- Crashes and serious errors:
+ [gtk] Fix several crashes, including one at start-up, that were
caused by some unusual package states.
- Minor bugs:
+ [cmdline] "aptitude why-not" no longer crashes when the final
argument is a virtual package.
+ [gtk] The "Download started" row in the Downloads page is no
longer shown.
+ [gtk] The dependency chains tab no longer misses some chains that
"aptitude why" would show.
+ [gtk] Fix buffer problems due to sprintf by using aptitude's safer
variant of that function. (Closes: #511559)
+ [gtk] When extracting just the part of a package's changelog that
corresponds to versions that are newer than the currently
installed version, truncate the changelog as soon as we see
the version numbers go "backwards" -- that is, as soon as
the previous version in the changelog is "newer" than the
current version.
This is important because some packages changed their
version scheme over time. For instance, g++-4.2 lost its
epoch in 2004 when the package name changed. But that
doesn't mean that those earlier versions of the package
should be displayed when we want to display the log for
today's upgrade!
- Cosmetic and UI bugs:
+ [all] The --help output now mentions --gui and --no-gui.
+ [gtk] Many tweaks and improvements to the appearance of the UI;
particular thanks to Luca Bruno for his patches. The
program looks a lot "nicer" overall as a result of his work.
+ [gtk] The RC style "tiny-button-style" is used for tab close
buttons.
+ [gtk] Use the "yes" icon (a green sphere) to indicate that a
package is installed and OK. This is far more recognizable
for me (dburrows) than the hard disk icon we were using
before.
+ [gtk] Not-yet-implemented menu options produce a "not implemented"
message.
+ [gtk] Some menu items are disabled if they don't apply to the
"currently selected object".
+ [gtk] When the user performs an action on several packages at
once, any packages they install will be marked as manually
installed, and package states won't change to fulfill
dependencies if those dependencies are already satisfied by
the selected actions.
For instance, suppose that the user selects A, B, and C for
installation. A depends on "D | B", and B depends on C.
Previously aptitude might decide to install D to fulfill A's
dependency, and would mark C as automatically installed
because of B's dependency. Now, just the three selected
packages will be installed, and they will all be marked as
manually instsalled.
- Documentation:
+ [doc] Wrote a new section of the documentation describing the
various dependency resolution mechanisms in aptitude. This
includes the old section on resolving dependencies, but also
describes the immediate resolver and how to configure the
full resolver using resolver hints.
- Internal changes:
+ [gtk] Redesigned the dpkg terminal creation code to make it
cleaner and more maintainable.
+ [gtk] Redesigned the code for the buttons in the package
description pane.
+ [gtk] Stopped using random bits of the glade file as templates for
other GUI elements, in preparation for making each tab a
separate top-level widget in the file.
- Translation fixes:
+ Fix how ngettext is used so that the plurals can be properly
translated. (Closes: #505675)
+ Slovak (Closes: #505676)
[2008-11-10]
Version 0.5.0 "Wheee!"
This version introduces the GTK+ frontend. Thanks are due to Obey
Arthur Liu for providing code, ideas and energy to the project, and to
Google for funding his work through their Summer of Code program in
2008.
This is an EXPERIMENTAL, DEVELOPMENT release. It can be used for
package management, but there may be bugs, there are probably places
that need improvement, and it is certainly incomplete.
- New features:
+ Integrated the GTK+ frontend written by Obey Arthur Liu for the
2008 Google Summer of Code. To manually suppress the GUI, run
"aptitude --no-gui" or set the option "Aptitude::Start-Gui" to
false.
+ Added Xapian support. Unadorned strings in search patterns now
search the apt Xapian database built by Enrico Zini. There is
also a new search term ?term that does the same thing.
+ Added the command-line option "--show-resolver-actions" to display
why aptitude made the decisions it did in "aptitude safe-upgrade".
- Known Regressions:
+ Incremental searching in the curses frontend is made much less
useful by introducing Xapian. It still works, but because Xapian
searches don't find substrings, the search will fail to match
anything until you finish typing the entire search string.
+ Documentation for the GTK+ frontend has not yet been written.
[2008-11-19]
Version 0.4.11.11 "And the moon be still as bright"
This is purely a translation release for Debian lenny.
- Translation fixes:
+ Catalan (Closes: #499464)
+ German (Closes: #500444)
+ Greek (Closes: #498583)
+ Italian
+ Romanian (Closes: #502413)
+ Slovak (Closes: #498910)
+ Spanish (Closes: #501096, #502695, #502696, #502697)
+ Traditional Chinese
[2008-09-05]
Version 0.4.11.10 "Upon the empty winds of time"
- Bug fixes:
+ Serious bugs:
* Never, ever remove an Essential package from the curses UI
without asking the user first. I chose a very simple
implementation for this patch because of the pending release of
lenny, and so users who are removing Essential packages will get
prompted twice. But I feel this is better than occasionally not
prompting at all; it will be cleanup up later, once lenny is
out.
+ Minor bugs:
* Fix displaying the section descriptions in non-UTF-8 locales.
(Closes: #483464)
* Add the ?task search term, which was documented in some areas
but not others, and wasn't actually implemented due to an
oversight.
- Documentation bugs:
+ A whole pile of minor improvements suggested by "jidanni".
(Closes: #497374, #497340, #496726, #471347, #496719, #496729,
#496732, #497333, #497336, #497726, #497969)
+ Give the right name for the preview limit configuration option:
it's Aptitude::UI::Preview-Limit, not Aptitude::Preview-Limit.
+ Generate the HTML documentation in a UTF-8 encoding.
- Translation fixes:
+ Brazilian Portuguese (Closes: #496613)
+ Czech (Closes: #497287)
+ Dutch (Closes: #497965)
+ Kurdish
+ Japanese (Closes: #494816)
+ Lithuanian (Closes: #496504)
+ Norwegian Bokmål
+ Simplified Chinese (Closes: #497550)
+ Ukranian
[2008-08-03]
Version 0.4.11.9 "This message brought to you
courtesy of the Friends of
Poland society."
- Bug fixes:
+ Minor bugs:
* Don't annoy every Polish user with a warning about a badly
formed string in the aptitude-defaults configuration file. Also
added some documentation for translators telling them about the
pitfall that led to this bug happening. (Closes: #483459)
* Fix some case fallthroughs that would cause the wrong
information to appear in the "archive" (%t) column for virtual
packages.
* Correctly handle install-and-mark-auto commands that are
targeted at a particular version, like "install foo/testing+M".
Previously aptitude would completely ignore the archive in this
case.
- Translation fixes:
+ German
+ Slovak
+ Swedish (Closes: #490782, #490818)
[2008-07-04]
Version 0.4.11.8 "Happy Fireworks Day."
- Bug fixes:
+ Minor bugs:
* Fix a long-standing and annoying bug that would cause aptitude
to sometimes delete package lists if downloading new copies
failed. (Closes: #201842, #479620)
[2008-06-28]
Version 0.4.11.7 "Yes I can"
- Internal changes:
* Fix several compilation errors on exotic architectures.
(Closes: #488132)
- Translation updates:
* Basque
* Portuguese (Closes: #482094)
* Thai
[2008-06-21]
Version 0.4.11.6 "Take two"
- Internal changes:
* Fixed several places where the code was a bit sloppy in ways that
were harmless at the moment but were turned up by -Wall -Werror.
[2008-06-21]
Version 0.4.11.5 "A tisket, a tasket"
- Bug fixes:
+ Crashes and serious errors:
* aptitude will no longer suggest removing Essential packages to
fulfill dependencies unless you explicitly allow it to. Also,
removing apt (if it is allowed) will be scored as if apt were an
Essential package, meaning that it should show up last in any
list of solutions. (Closes: #486748)
+ Minor bugs:
* "aptitude add-user-tag" and "aptitude remove-user-tag" will
return 0 instead of a random value when they succeed.
+ Translation updates:
* Dutch (Closes: #486858)
* Romanian (Closes: #486934)
- Internal changes:
* Consistently build with -Wall -Werror (it wasn't being used in all
subdirectories of the code).
* Clean up various minor and potential bugs turned up by increasing
the warning level.
[2008-06-07]
Version 0.4.11.4 "Turn down the suck."
- New features:
* "aptitude download" now properly handles both patterns and things
like version specifiers that contain a tilde.
* New option "--disable-columns" to "search" that prevents aptitude
from trying to reformat its output into columns. This should be
useful for people trying to call aptitude from scripts.
(Closes: #136874)
- Crashes and serious errors:
* Fix a problem with assigning scores in the dependency resolver
that severely distorted the relative weights of packages. If a
package conflicted with a virtual package that it also provided
and replaced, aptitude would randomly score some of its versions
as if they were full replacements of the current version. This
could lead to surprising and wrong resolver outputs.
(Closes: #483920)
- Documentation bugs:
* Fix some broken internal links.
* The manpage formatting of <literal> elements is correct now.
They're bolded, and literal file extensions don't get
misinterpreted as groff escapes. (Closes: #473580)
- Translation updates:
* Install defaults files for locales that contain an underscore,
like pt_BR. (Closes: #483620)
* Russian. (Closes: #483943)
[2008-05-26]
Version 0.4.11.3 "Not looking back."
- Crashes and serious errors:
* "unhold" should work now. (Closes: #477165)
* Fixed viewing changelogs at the command-line, which was almost
totally broken in recent releases. (Closes: #481458)
* Fix getting the changelogs of bin-nmued packages from the curses
interface. (Closes: #333468) For some reason when this was fixed
for the command-line mode, the equivalent change didn't make it
into the curses codebase.
* Don't die with an assertion error when --show-why is used in the
presence of impure virtual packages.
- Cosmetic and UI bugs:
* Always be at least as quiet as the user requested; when aptitude
automatically enabled quietness if its output wasn't a TTY, it
could actually become less quiet than otherwise! (Closes: #476749)
* If the user asks for the justification of a manually installed
package, try to find a nontrivial answer (some other package that
requires it) instead of just telling them that it's already
installed. (Closes: #477038)
* Remove an incorrect hyphen in the output of --help. (Closes: #476835)
* When the resolver is run several times in a row without user
interaction (for instance, in "safe-upgrade"), only print
"Resolving dependencies..." once.
* When listing the complete chains of dependencies that are holding
a package on the system, show "A provided by B" as "A <-P B", not
"AP<- B". (i.e., add a space after "A")
- Build system fixes:
* VPATH should be supported better in doc/.
* Most files will generate Doxygen output now (they were missing
\file tags).
- Documentation bugs:
* Clarify how aptitude's search language behaves in some syntactic
corner cases, like "~nname?installed": the "?" is part of the
string parameter to the first matcher, not the start of a new
match term "?installed".
* Change the documentation of "aptitude why": it shows why packages
should be installed, not why they can be installed, and be clearer
about what happens when "why" is called with a single argument.
* Fix the manpage to talk about Recommends-Important instead of
Install-Recommends. (Closes: #480533)
- Translation updates:
* Brazilian Portuguese (Closes: #481007)
* Danish (Closes: #476732)
* French
* Galician (Closes: #476837)
* German (Closes: #476344)
* Japanese
* Norwegian Bokmal (Closes: #480063)
* Polish (Closes: #480062)
* Simplified Chinese (Closes: #475740)
* Vietnamese (Closes: #477295)
[2008-04-09]
Version 0.4.11.2 "How far the sky,
how cold the night,
how still the flowing river.
How sharp the air --
so pure the light --
beneath Orion's quiver.
Beneath the frozen, staring,
starry sky we lay a-shiver."
- New features:
* The information area can display tabs for the alternative views it
supports. This is off by default because I found that it was too
intrusive (mainly because it appears between the short and the
long description of a package). If cwidget gets the ability to
put tabs at the bottom of multiplex widgets, I might change this.
- Documentation bugs:
* Fix several XML errors in the manpage source (Closes: #473722)
- Bug fixes:
+ Crashes and serious errors:
* Make the safe resolver not explode exponentially when new
Recommendations are present.
The root cause here was that the "mandate" mechanism the safe
resolver uses to ensure that it progresses monotonically towards
a solution doesn't work in the presence of Recommends, so the
resolver ended up exploring the entire space of possible
resolutions to packages' Recommendations. (Closes: #474680)
* Don't crash if a package's Section is empty. (Closes: #474115)
+ Cosmetic and UI bugs:
* The "why installed" information display in the package list will
now display an informative message when no package is selected,
the same way that the "related dependencies" display does.
* The "why installed" information display should work better for
newly installed packages now.
* "aptitude --version" prints more information about the libraries
it was compiled against.
* "Help -> About" prints a correct copyright date now.
* The status indicator has been rewritten so that it no longer
needs numeric conjugation (meaning it won't say "there are 1
update"). (Closes: #486186 and friends)
* "why" and "why-not" now appear in the list of commands in
"aptitude --help". (Closes: #454088)
+ Minor bugs:
* Use a 'latch' configuration option to migrate from
Recommends-Important, instead of just clobbering the old
option. (Closes: #473872)
* Treat packages that were removed but whose configuration files
remain on the system as if they're not installed in the output
of --show-why.
This fixes some cases where --show-why would hide the reasons
for some installations.
- Translation updates:
* Galician (Closes: #474672)
* Vietnamese (Closes: #473719)
[2008-03-30]
Version 0.4.11.1 "No, no, fool, I said bring
me the FLUFFY Bunny
Slippers of EXTREME
Dismemberment, not the
EXTREME Bunny Slippers
of FLUFFY dismemberment!
Does an evil overlord have
to do everything himself
around here?"
- New features:
* The command-line argument --show-why will cause all installation
and removal commands to display a brief summary of the
dependencies related to an installation or removal. For instance:
The following NEW packages will be installed:
libboost-iostreams1.34.1{a} (for wesnoth) wesnoth
wesnoth-data{a} (for wesnoth) wesnoth-music{a} (for wesnoth)
Note that wesnoth-music is a dependency of wesnoth-data, not
wesnoth. --show-why displays the manually installed package
behind each automatic installation. If -v is passed on the
command-line, it displays the entire chain of dependencies leading
to each manual package.
--show-why also handles upgrades:
The following packages will be upgraded:
klibc-utils libklibc (for klibc-utils)
--show-why is limited to the capabilities of the logic behind
"aptitude why". Although libklibc might be the package that was
originally marked for upgrade, --show-why has no knowledge of this
fact: it just knows that klibc-utils requires libklibc.
* In the ncurses interface, added a menu entry to cycle the display
in the lower pane (equivalent to pressing "i" but more
discoverable).
* The ncurses interface now displays the number of packages in a
tree next to the tree header, and in the information area when the
header is highlighted.
* The header for the list of versions in the ncurses interface now
reads "Versions of <package>" instead of just "Versions".
* A new extract-cache-subset command that will create a reduced copy
of the package cache, removing all but a given list of packages
and all references to packages not in the list. It's intended
for, e.g., generating test cases for package managers.
- Bug fixes:
+ Crashes and serious errors:
* Handle exceptions thrown by the Debtags constructor (e.g., when
debtags has been purged and there are no data files) instead of
just crashing. (Closes: #472695)
* Eliminate a case where we would access uninitialized memory
while starting up, found thanks to valgrind.
+ Cosmetic and UI bugs:
* Correct the documentation within the on-line help of how to
leave the on-line help (it was never updated when the help went
from being a dialog to being a top-level view).
* Correctly save changes to string configuration options.
(Closes: #471315)
* Don't print an error on startup when debtags isn't
installed. (Closes: #472678)
* Use less technical language when "why" fails to find a
derivation for "A transitively requires B".
* Eliminated some cases where description signals for tree
headings weren't being connected. These weren't noticable in
the past because in most cases, the heading had no description
anyway.
- Translation updates:
* The aptitude-defaults.* files are now installed to
/usr/share/aptitude. (Closes: #472625)
* Simplified Chinese (Closes: #458162, #473363).
* Vietnamese (Closes: #473229)
[2008-03-15]
Version 0.4.11 "When you're tired of
being beat with a stick,
you're tired of Debian."
- New features:
* Search terms can be named with words instead of single-character
flags. Each new-style search expression starts with a question
mark ("?"), followed by the name of the matcher; for instance,
"?obsolete" is equivalent to the old-style expression "~o". At
the command-line, package names containing question marks are
treated as search expressions, just like package names containing
tildes ("~") are.
The old-style syntax is still present and works just like it did
previously. See the reference manual for complete documentation
of the new syntax.
This will hopefully make the search syntax more memorable and make
it clearer what a given search expression actually does. In
addition, this opens up the possibility of greatly expanding the
number of search patterns supported by aptitude (the requirement
to choose a meaningful and unique single character had become a
major limiting factor in the ability to add new search terms).
* New search terms:
+ ?source-package(expr) matches packages whose source package matches
the given regular expression.
+ ?source-version(expr) matches packages whose source version matches
the given regular expression.
+ ?all-versions(expr) matches a package if expr matches all versions
of that package.
+ ?any-version(expr) matches a package if expr matches any single
version of that package.
+ ?user-tag(pattern) matches a package if it has an attached
user-tag matching the given regexp (see below).
+ ?for var: expr binds var inside expr to the package or
version being tested.
+ ?bind(var, expr) matches anything if the package or version
bound to var matches expr.
+ ?=var matches the package or version bound to
var by an enclosing ?for.
For instance, "?for x: ?depends(?recommends(?=x))" will match any
package X that depends on a package that recommends X.
* aptitude now supports attaching arbitrary strings to packages,
known as "user tags" (to distinguish them from debtags tags). The
following commands will manipulate user tags:
aptitude add-user-tag tag package...
aptitude remove-user-tag tag package...
Each of these commands will add user tags to or remove them from
one or more packages (possibly selected using search expressions).
In addition, all command-line actions that modify package state
now take the following optional arguments:
--add-user-tag TAG
--add-user-tag-to TAG PATTERN
--remove-user-tag TAG
--remove-user-tag-from TAG PATTERN
The variants that take a PATTERN will add tags to or remove tags
from any packages that match the given PATTERN. (e.g.:
"--add-user-tag-to installed-for-build-dep ?action(install)").
The variants that do not take a PATTERN will affect any package
that is being modified (this is equivalent to using the pattern
"?not(?action(keep))").
The ?user-tag(tag) matcher will select packages with a tag
matching the given regular expression. User tags also show up at
the end of package descriptions, next to the list of debtags tags
for a package.
* All command-line actions that modify package state now accept the
arguments --safe-resolver and --full-resolver. --safe-resolver
forces the command to use the same resolver logic as
--safe-upgrade (e.g., "aptitude install --safe-resolver exim4" to
install exim4 as long as it can be installed without removing any
packages). --safe-resolver can be enabled in the config file by
setting Aptitude::Always-Use-Safe-Resolver to "true"; passing
--full-resolver will override this configuration option.
The option --no-new-installs and the new option --no-new-upgrades
will control whether the safe resolver attempts to install new
packages or upgrade installed packages.
Future versions of aptitude will enable this logic in the curses
UI as well, but I haven't decided how it should be exposed yet.
* The aptitude dependency resolver will now refuse to adjust held
packages or install forbidden versions unless you manually allow
it to. This behavior can be disabled by setting
Aptitude::ProblemResolver::Allow-Break-Holds to "false".
aptitude will still break holds when packages are being
automatically installed; there is a pending patch against apt that
eliminates this behavior.
* The aptitude dependency resolver will add a bonus to solutions
that remove a package and install another package that fully
replaces it by declaring a conflicts/provides/replaces
relationship. (Closes: #466374)
* aptitude now has a "build-dep" command that will install
build-dependencies from the command-line. (Closes: #243317)
* A new "subdirs" variant of the section grouping policy is
introduced in this release, courtesy of Paul Donahue, and is
enabled by default. This will behave just like the old sectioning
policy, except that if a section has several components (for
instance, games/arcade/space), they will all be realized as tree
levels in aptitude.
A side effect of this change is that section descriptions are no
longer hard-coded in the source (see the documentation of
Aptitude::Sections::Descriptions).
* Command-line updates in aptitude will now list packages that are
newly obsolete. This doesn't work when a source is removed and
all its packages become obsolete, for technical reasons.
* aptitude now uses libept to handle debtags information instead of
a slow and wrong internal implementation. (Closes: #397652,
#406201) "aptitude update" will merge new package information into
the debtags database automatically by running "debtags update --local".
- Bug fixes:
+ Cosmetic and UI bugs:
* The curses interface now uses a spinner to indicate download
progress, since the percentage measurement can't be made correct
in the current apt model.
* Remove some stray cw:: strings that made it into user-visible
messages (thanks to Jacobo Tarrio for pointing them out).
* Interpret %-escapes in the descriptions of configuration options
instead of displaying them to the user; thanks to Jens Seidel
for pointing this out.
* At the command-line prompt, don't list packages that aren't
being upgraded unless the user tried to upgrade them. e.g.,
"aptitude install foo" will no longer spew the entire list of
pending upgrades to the terminal.
* When displaying dependencies or version numbers at the
command-line (i.e., -D or -V is passed), add an extra space
between packages, to make it a little more obvious which tags
"belong" to which package.
* If the resolver is allowed to produce the solution 'cancel all
actions' (i.e., "Aptitude::ProblemResolver::Discard-Null-Solution"
is false), the brief indicator in the UI will say that it cancels
all the pending actions instead of counting its component actions.
* When displaying the packages that could satisfy a versioned
dependency, don't list packages that provide the package name
unless they declare a versioned provides that matches the
dependency's version restriction. (Closes: #464131)
* Don't try to generate and then parse a matcher when searching
for packages that look like what the user typed; instead, write
explicit code to compare against package names and descriptions.
This allows aptitude to find similar package names even if the
corresponding command-line argument is an invalid search pattern
(without having to write complex escaping logic); e.g.,
"aptitude install +5" does something sensible instead of
printing a confusing error message.
* If the user enters "q" during command-line dependency
resolution, quit the program instead of falling back to manual
resolution; manual resolution is only used if automatic
resolution hits a fatal error or if the user requests it by
typing "x". (Closes: #459629)
+ Translation bugs:
* Generate POTFILES.in automatically, so it stays up-to-date
without requiring manual intervention.
* Flag W_() as a translation marker; failure to do this caused a
lot of strings to be incorrectly left out of the translation
files; pointed out by Jens Seidel.
* Fix translation of strings displayed by the options editor (they
weren't getting translated at all); thanks to Jens Seidel for
reporting this.
+ Minor bugs:
* Fix task handling in the case that different versions of a
package are in different tasks. (Closes: #459348)
* "safe-upgrade" will now attempt to automatically maximize the
upgrade. Hopefully this will eliminate the situation where you
run "aptitude safe-upgrade" and then discover that there are
still some upgradable packages.
+ Crashes and serious errors:
* aptitude will now build with g++ 4.3, assuming that
4.3-compatible versions of cwidget and sigc++ are installed.
(Closes: #452204, #452540)
* Reduce the translation percent threshold for the various
versions of the manual until it compiles. (Closes: #470054)
* aptitude now uses Apt::Install-Recommends instead of
Aptitude::Recommends-Important to control whether
recommendations are automatically installed. (Closes: #458189,
#448561) Old configurations will be migrated to the new
configuration option, if possible.
Among other things, this means that --without-recommends works
again (it was broken when recommends handling moved to apt).
* Ensure the resolver state is always synchronized with the
package cache, eliminating some cases where the resolver would
break or produce wrong answers. (Closes: #421395, #432411)
* Don't crash at the command-line when displaying the version
numbers of packages being removed that don't have an
installation candidate; also, the version display for removed
packages is now meaningful. (Closes: #459336)
* Don't crash at the command-line when displaying the version
numbers of packages in the ConfigFiles state that are being
purged; instead, display "Config Files" as the removed
version. (Closes: #461669)
As a side note: the code in question has been adjusted to be
robust against bad version pointers, and should display "??"
instead. If you see this, it's a bug, but at least aptitude
won't crash in this case.
* Don't crash in "aptitude update" when the package lists can't be
parsed for some reason; instead just go ahead and download new
ones. (Closes: #468751)
+ Documentation bugs:
* Fix the documented default keybinding for PrevPage.
* The documentation of searching has been substantially rewritten,
and is hopefully much more useful now. In particular, there's
more information about how versions are handled, and a concise
table listing all the search expressions supported by aptitude.
* Document some of the files aptitude uses in a FILES section in
the manpage (Closes: #470839).
+ Translation updates:
* Basque
* French
- Christian Perrier: Fix the use of quote in the French
translation (Closes: #460808).
* Galician
* German (thanks to Jens Seidel)
* Japanese (thanks to Noritada Kobayashi)
* Norwegian Bokmål
* Portuguese
* Romanian (thanks to Eddy Petrișor)
* Russian
* Simplified Chinese
* Slovak
* Spanish
* Vietnamese
[2007-12-15]
Version 0.4.10 "Oscillating Reindeer"
- New features:
* In command-line mode, if the resolver fails to produce a solution
for whatever reason, then instead of aborting the program entirely
aptitude will now display a prompt at which you can fix the
dependency problems by hand. Enter "r" at this prompt to try to
automatically fix dependencies again.
* safe-upgrade will now install new packages to fulfill dependences
(but it will never remove packages, downgrade packages, or install
a version that's not the default). The option --no-new-installs
will disable this behavior.
* Updates and commands that install, remove, or upgrade packages
will now display a brief summary of what changed. For instance:
There are now 64 updates [+10], 3 new [+1].
Unfortunately, this change requires reading the cache after an
update is complete. Passing -q will disable this behavior, but
also make the update progress bar less attractive. More work on
resolving this tension between features and performance remains to
be done.
* Add an option --allow-untrusted to override trust warnings.
(Closes: #452201, #452541)
* Recommended packages are now hidden if quiet mode is enabled.
(Closes: #452202)
* The options Aptitude::ProblemResolver::Trace-File and
Aptitude::ProblemResolver::Trace-Directory allow you to generate a
minimal cut of the cache that allows a problem resolver run to be
reproduced. The eventual aim is both to simplify bug reporting
and to generate a corpus of automatic test cases for the resolver
(although more work needs to be done to accomplish the latter).
* When run in command-line mode, instead of displaying many separate
and sometimes duplicative groups of packages (e.g.: installed,
auto-installed, auto-installed in a light cream sauce, etc),
aptitude displays packages in a few exclusive categories and uses
tags (like the existing "purge" tag) to provide more state
information. For instance:
$ aptitude -s install wesnoth
The following NEW packages will be installed:
wesnoth wesnoth-data{a} wesnoth-music{a}
$ aptitude -s remove freeciv-data
(... dependency resolution ...)
The following packages will be REMOVED:
freeciv-client-gtk{a} freeciv-data freeciv-server{a} ggzcore-bin{u}
libggz-gtk1{u} libggz2{u} libggzcore9{u} libggzdmod6{u} libggzmod4{u}
Here {a} indicates that a package was automatically installed or
removed, and {u} indicates that a package is being removed because
it is unused. Hopefully this will be less confusing than the old
format.
- Bug fixes:
+ Crashes and serious errors:
* Track down and fix a SEGV triggered on the first action after a
cache reload (sometimes). There are multiple bugs where this
might have been the root cause, but it's confirmed that it was
the cause of at least #454695, #454700, #455349, and #453362.
Bug #455865 is almost certainly the same issue, and bug #352278
may be another manifestation of it.
* If StepLimit is set to 0, refuse to solve dependencies instead
of going into an infinite loop. (Closes: #451311)
+ Minor bugs:
* Return a failing exit code after jumping from the command-line
to visual mode if the last install run failed. (Closes: #282408)
* Return a failing exit code from "aptitude update" if any
download fails. (Closes: #233129)
+ Cosmetic and UI bugs:
* In addition to Enter, Space will now activate checkboxes and
radio buttons. (Closes: #451765)
* Abort the program if we get EOF at the resolver prompt instead
of claiming the resolver failed.
* Command-line searches will now only print each result once.
(Closes: #450798)
+ Documentation bugs:
* The options menu documentation now minimally describes the new
configuration interface.
* The documentation of the configuration file options has been
placed back in alphabetic order after apparently suffering
bitrot over the years.
* Corrected the documented default of Parse-Description-Bullets to
match reality.
* The manpages for aptitude-create-state-bundle and
aptitude-run-state-bundle are now generated using DocBook, which
should produce higher-quality and more consistent typesetting,
as well as making the manpages more maintainable and allowing
translators to easily produce localized versions of the manpages.
- Internal changes:
* Removed some unit tests that really tested cwidget.
- Translation updates:
* French (Christian Perrier)
[2007-11-17]
Version 0.4.9 "Ow. Ow. Ow. Ow. Ow."
- New features:
* Add a matcher ~o for obsolete/local packages. (Closes: #397547)
- Bug fixes:
* Correctly set the name, description, and long description
of radio options. (Closes: #449138)
* Don't remove *.gmo in distclean. Apparently this causes trouble
for translations. (Closes: #451584, #441696)
[2007-11-15]
Version 0.4.8 "The fun never stops!"
This change removes the internal widget set, instead using the cwidget
curses widget library (which just happens to provide all the same
functionality as the aptitude widget set, imagine that).
- Bug fixes:
+ Cosmetic and UI bugs:
* Interpret key names in the broken indicator as wide-character
strings; fixes actual display corruption on some platforms and
potential corruption on all platforms. (Closes: #448753)
[2007-10-30]
Version 0.4.7 "Where did all these
balloons come from?
And why am I wearing
a fake nose?"
- New features:
* The options dialogs have been completely replaced by a new
interface, based on a top-level list view. This fixes many
deficiencies of the old interface: it handles long strings more
gracefully, avoids many of the focus-handling bugs that the old
dialogs had, and should generally be better-behaved.
(Closes: #197976, #331200, #424708)
* Prompts that ask you to enter text will now wrap to multiple lines
when the text gets long, rather than hiding parts of the string.
* The online help and other Help-menu items are now top-level views,
which should make them somewhat more usable. (Closes: #434349)
* Support for the "Breaks" field and for trigger states (thanks to
Michael Vogt and Ian Jackson for patches and prodding).
(Closes: #438548)
* Two new styles, "PkgDowngraded" and "PkgDowngradedHighlighted",
are provided to control how downgraded packages look. By default
these packages look like any other installed package.
(Closes: #439924)
* aptitude can now display homepage URLs stored in the Homepage
field of packages. This requires a recent version of apt;
0.7.8 or better includes it.
- Bug fixes:
+ Crashes and serious errors:
* When applying the resolver's output, only set the packages that
are newly installed to be automatic, rather than making
everything the resolver touches automatic.
* Save and restore the automatic flag on packages that are not
not currently installed and that are being installed.
(Closes: #435079)
* Fix the help generated when the user presses '?' at the prompt
to not segfault, and rewrite the code to avoid this bug in the
future (it was using a format string with a huge number of
placeholders; now it builds a list of the output lines
explicitly).
* Eliminate a crash on startup caused by using a global pointer to
the cache in the package matching logic (which might be null)
instead of taking a valid pointer to the cache as a parameter.
This is necessary since the matcher might be invoked while the
cache is being loaded, e.g., to decide if a package should be
part of the root set.
+ Minor bugs:
* Fix the 'pattern' grouping policy: it was inserting packages
into all the trees that matched, not just the first one.
* Make removals and holds that occur later on the command-line
override earlier commands.
* The debugging output from "why" no longer tries to dereference
invalid pointers or display multibyte strings as single-byte
strings. (Closes: #447290)
+ Cosmetic and UI bugs:
* If the text in a column of the "why" output exceeds the column
width, the column will now wrap correctly onto the next line.
* Auto-held and unconfigured packages no longer generate ?????? in
the aptitude log.
+ Documentation bugs:
* Fix the documentation on aptitude development. It now gives the
correct URL and version control system for the upstream
repository, and somewhat more actively solicits contributions.
- Translation updates:
* Galician (Closes: #446620)
* Nepali
* Russian
* Spanish
* Swedish (Closes: #434643)
[2007-07-25]
Version 0.4.6.1
- Minor bugfix to include the new scripts/manpages that didn't get
distributed with the previous release.
[2007-07-25]
Version 0.4.6 "He who works and works
all day, gets to work
another day."
- New features:
* Added two programs, aptitude-create-state-bundle(1) and
aptitude-run-state-bundle(1), to eliminate some of the drudgery
involved in collecting apt state and running aptitude with a state
snapshot.
* "why" output is now available in visual mode (hit 'i' to cycle
through informational displays). The formatting and styling are
pretty awful in this release.
- Bug fixes:
+ Crashes and serious errors:
* Handle EINTR from select() better; thanks to Jiří Paleček for
tracking this down. (Closes: #431054, #431688, #432323)
Note that there is still a race condition lurking here, although
it's almost impossible to trigger it. The next release should
eliminate it, though.
* Run mark-and-sweep on startup, to initialize apt's auto flags.
This should prevent aptitude from losing the auto flag when a
package is marked for upgrade. (Closes: #432017)
* Don't crash on startup when something goes wrong early in the
initialization process (e.g., when the cache is locked;
Closes: #430061).
+ Minor bugs:
* Disable unused-package removal if Delete-Unused is false.
(Closes: #431716)
+ Cosmetic and UI bugs:
* Don't garble descriptions in non-UTF8 locales. (Closes: #432911)
* Hopefully fixed the problem that was garbling the startup
progress indicator.
* Eliminate another bogus error about a supposedly locked cache.
(Closes: #431909)
+ Documentation bugs:
* Fix the manpage's metainformation so that the footer gets
generated.
+ Potential bugs:
* Handle some unusual cases where the resolver could dereference
invalid pointers (no bugs reported).
* Added code to recover with an error if apt improperly marks a
dependency as broken.
- Translation updates:
* Basque (Closes: #432535)
* Dzongkha
* French
* Vietnamese (Closes: #432283)
[2007-07-03]
Version 0.4.5.4 "Oh my God,
THEY KILLED LENNY!
(actually, it was sid,
but I wanted to say that)"
- New features:
* Expose the "why" command from the command-line Y/n prompt. Typing
"w <args>" will invoke "why <args>". The resolver prompt doesn't
support this, maybe it should?
- Bug fixes:
+ Crashes and serious errors:
* Eliminate a bounds error that was crashing the vs_editline.
(Closes: #429673)
+ Minor bugs:
* Force aptitude to write out a state cache the first time it
runs. Without this change, it won't know which packages are
"new" until after the first time the user installs something.
(Closes: #429732)
+ Build system fixes:
* Add a configure check for the new apt, so users get more
sensible build errors with incompatible apts.
* Have 'make clean' remove autogenerated XML files, so they don't
show up in the Debian diff.
- Translation updates:
* Basque (Closes: #418862)
* Galician (Closes: #429504)
* Vietnamese (Closes: #429447)
[2007-06-17]
Version 0.4.5.3 "The Long Dark Tea-Time
Of The Code"
- New features:
* Added two commands "aptitude why" and "aptitude why-not" that
provide explanations of why a package is, must be, should be, or
must not be installed on your system. They are not complete, by
which I mean that they can't always provide the most useful
justification, but they should answer a lot of questions that I
hear people asking regularly.
- Bug fixes:
+ Crashes and serious errors:
* Eliminate a nasty race that was probably the cause of corrupted
output on some dual-core systems. (Closes: #414838, #406193)
* Fix a bug that could cause aptitude to try to remove a package
that it had already removed. (Closes: #429388) This can't be
totally eliminated without help from dpkg, but hopefully this
fix will make the problem much more difficult to trigger.
Unfortunately, the fix also means that aptitude has to perform a
save/load cycle after installing packages to make sure that
everything is consistent.
* Allow "keep" actions to be undone.
* Don't consider every removed package to be an unused package.
* Clear the broken package indicator when the user undoes an
action.
* Fix build errors on other architectures. (Closes: #429348)
* Set packages to manual mode when the user cancels their removal.
(Closes: #429271)
* Fix compile bugs with g++-4.3. (Closes: #413488)
[2007-06-15]
Version 0.4.5.2 "To ook is human,
to meow feline"
- Bug fixes:
* Multiple minor bugs introduced by the patches to support apt's
auto-marking were fixed.
- Packages kept at their current version by applying a solution
no longer get their hold flags turned on.
- Packages that are installed by a solution get their auto-installed
flag set.
- Applying a solution updates the resolver state (so the error
bar doesn't stick around until you change a package's state
by hand).
* Fixed a broken cross-reference in the manpage.
[2007-06-15]
Version 0.4.5.1 "Nothing could possibly go
wrAAAAAAAAAAaaaa..."
- New features:
* aptitude now uses apt's central database to track which packages
are auto-installed. Aptitude's own list of automatic packages
will be merged into the global list the first time that aptitude
is run.
* Packages that are not fully configured are now listed in aptitude's
preview, and aptitude will let you do an install run if there are
unconfigured packages but nothing to install/remove. (Closes: #424709)
- Translation updates:
* French (Closes: #428585, #428826)
* Portuguese (Closes: #425779)
* Vietnamese (Closes: #426976)
[2007-05-14]
Version 0.4.5 "Confused Cockroach"
- New features:
* For standard string prompts, the default is now initially
displayed, but erased if the user starts out by inserting a new
character.
* 'N' now repeats the last search in the opposite direction (as
opposed to 'n', which repeats it in the same direction).
(Closes: #414020, #397880)
* aptitude now recognizes Apt::Get::AllowUnauthenticated as a
synonym for Aptitude::Ignore-Trust-Violations. (Closes: #411927)
* Fix the handling of dselect/dpkg state. Previously, mixing the
command-line and visual modes of operation could result in
aptitude thinking it should remove a package that was actually
installed on your system. This was especially nasty since the
Debian installer tripped this condition, leaving people with a
broken initial system. Ow. (Closes: #411123)
* Added a config option "Aptitude::CmdLine::Resolver-Show-Steps",
which causes the dependency resolver to default to displaying its
output as a list of individual resolutions, rather than a list
organized by the type of change that will be made. (equivalent to
pressing "o" at the first resolver prompt)
* Added "safe-upgrade" and "full-upgrade" as synonyms for "upgrade"
and "dist-upgrade" respectively. The goal here is to eliminate
massive confusion about what these commands actually do.
"upgrade", in particular, is now deprecated ("dist-upgrade"
probably has too much currency to kill off, but hopefully people
will at least be rid of the notion that it's exclusively for
whole-distribution upgrades).
* The option "Aptitude::Get-Root-Command" can be used to choose how
aptitude tries to gain root privileges. It defaults to "su";
setting it to "sudo" will choose that program, and other programs
can also be chosen (see the user's manual for details).
- Bug fixes:
+ Crashes and serious errors:
* Improve the internal consistency of aptitude's reduction of the
apt dependency graph. As part of this change, a new
(undocumented, primarily for debug purposes) command-line action
"check-resolver" was added; it verifies empirically that the
dependency structure obeys the invariants that it's expected to
obey (for instance, that all forward dependencies have a
corresponding reverse dependency).
In addition to a number of harmless discrepancies, this flushed
out the forward/reverse dependency mismatch that was causing
crashes in the resolver. (Closes: #420358, #420381, #420407).
Note that check-resolver only verifies *internal* properties of
the resolver's model; it doesn't verify that the model
faithfully represents the dependency problem posed by the apt
package database.
* Don't crash on amd64 and other architectures where va_args
structures can't be reused. This is an old bug; it was turned
up by a new test for ssprintf.
* Increase the default value of StepScore to 70 and improve its
documentation. This should make it much less likely that the
resolver wanders off into lala land trying to solve dependency
problems. (Closes: #418385)
* When --without-recommends is passed at the command-line,
automatically enable Keep-Recommends at the same time we disable
Recommends-Important, so we don't automatically remove half the
user's system. (Closes: #143532)
* Fix an internal sprintf variant to produce correct output (the
previous code was safe, just wrong; it safely produced a buffer
of the correct size, then truncated it to its initial buffer
size).
* If the dependency resolver throws an exception, catch it and
handle it as cleanly as possible, rather than unceremoniously
exploding.
* Don't block signals when running dpkg after a package install
failed, and tell dpkg not to use TSTP in this circumstance.
This tended to cause horrible breakage of dpkg's
auto-backgrounding (the "Z" conffile prompt option).
(Closes: #367052)
* Fix a crash that occurred when generating a revdep-count column
for some virtual packages. (Closes: #420405)
* Don't abort() if something tries to display a progress
percentage that's not strictly between 0 and 100. (Closes: #425145)
+ Cosmetic and UI bugs:
* If a package is both "new" and "upgradable", place it in the
"upgradable packages" list instead of the "new packages list",
since this seems to be the path of least confusion. (Closes:
#419999)
* Try to include more information when an internal consistency
check is triggered (e.g., the dependency that the program was
looking at).
* Only print an error about being unable to acquire a lock after
downloading when an error actually occurred during the call to
GetLock(); this message was getting triggered by stray errors
from methods invoked earlier in the download/install
process. (Closes: #422700)
* Don't ever display more than one "really quit?" dialog box, so
people who hold down the "q" key don't have to also hold down
"n". (Closes: #411158)
* When writing out the aptitude state file, open it mode 0644 and
explicitly chmod it to mode 0644, so it doesn't start out
world-writable, but ends up group- and world-readable even if
root has a more restrictive imask. pkgstates isn't
security-sensitive, and aptitude produces surprising results if
it can't read this file. If you really need to hide pkgstates
from non-root users for some reason, you can chmod -x the
directory /var/lib/aptitude.
(Closes: #41809, #421811)
* If a command (e.g., update) takes no arguments, aptitude will
produce an error if it receives arguments. (Closes: #411152)
* Write "[Enter]" instead of "enter" in the media-change prompt,
to make it clear that the user should press the key of that
name. (Closes: #414777)
* Remove *.gmo in distclean, so the Debian package can be built
twice in a row. (Closes: #424102)
+ Potential bugs:
* Delete some internal cache arrays using operator delete[]
instead of operator delete.
* Initialize package selection states to the Unknown state
explicitly.
+ Documentation:
* Fix the docbook encoding of the users manual and manpages.
* Fix an error in the DocBook code of the manual page that caused
the AUTHOR section to appear twice.
* Fix how bolding is applied to literal elements in the manpage,
so that the manpages are no longer screwed up.
(Closes: #415468, #416232)
* Users manual corrections (thanks to Noritada Kobayashi for
patches).
* Improve the description of the Recommends-Important,
Keep-Recommends, and Keep-Suggests: clean up the language and
try to make their precise behavior clearer. Thanks to Stefan
Kangas for the initial suggestion. (Closes: #405002)
* Try to make it clearer in both the manpage and the user's manual
that "aptitude search" does an implicit OR on its command-line
parameters, rather than an implicit AND. (arguably it SHOULD do
an "AND", but it's probably too late to change this now)
* Add some commands to the online help that weren't previously
documented. (Closes: #402360)
* Fix misaligned items in the online help. (Closes: #399048)
- Translation updates:
* Task group names localized.
* Basque (Closes: #418862)
* Catalan (Closes: #353308)
* Chinese (Simplified) (Closes: #405166)
* Chinese (Traditional) (Closes: #338056, #418139)
* Danish (Closes: #409480)
* Finnish (Closes: #392305)
* French (Closes: #403561, #388504)
* Galacian (Closes: #412829, #425358)
* Greek
* Hungarian (Closes: #405550)
* Japanese users manual added.
* Marathi (Closes: #416807)
* Nepali (Closes: #452278)
* Portuguese (Closes: #418940)
* Romanian (Closes: #415763)
* Slovak (Closes: #401105)
* Spanish (Closes: #416339)
* Ukranian (Closes: #415448)
[2006-10-26]
Version 0.4.4 "I shall smite you with my
Ultimate Power of Cuteness!"
- New features:
* "unhold" now just clears the hold flag; it doesn't try to upgrade
the package that was just unheld.
* The grammar used to parse bulleted lists has changed. Full stops
are no longer considered to be paragraph breaks or otherwise
significant unless they are indented by exactly one space (i.e.,
unless they are significant in the standard grammar).
A second change introduced by this patch is that a full stop by
itself on a line no longer terminates a bullet list; the list will
continue as long as the text after the paragraph break is indented
at the same level as the rest of the list.
This fixes some cases where aptitude badly mangled descriptions
that used to work, and means I feel safe re-enabling bullets by
default. (Closes: #388594)
- Bug fixes:
* By default, don't remove Linux kernel images that are unused.
(Closes: #386307)
* Generate a more useful error message for corrupted or unverifiable
file downloads. (Closes: #387537)
* Fix minibuffer messages so that they go away when you press a
key. (Closes: #395201)
* Apparently time is allowed to go backwards, so don't assert that
it doesn't in the test suite. (Closes: #381481)
* Document what "unhold" does. (Closes: #387336)
* Consistently use <literal> instead of <option> to mark up
command-line options. (Closes: #388502)
* Force the package selected by a search to be at the top of the
screen, so that it's visible underneath the search dialog.
(Closes: #389763)
* Change the progress indicator to be less visually distracting:
instead of flashing yellow and blue, just display the operation
name and the current progress. (Closes: #390971)
* Unblock all signals before running dpkg, and restore the signal
mask afterwards. This should probably be done in libapt, but it
isn't. (Closes: #392870)
* When abbreviating dependency types in the command-line preview
(e.g., "Depends" or "Recommends"), use the first *character*, not
the first *byte*; this fixes the preview in multibyte
locales. (Closes: #395007)
* Fix iteration over a package's reverse dependencies when it has
only indirect dependencies (dependencies through a virtual
package). Among other things, this means that packages which were
getting left out of the list of "suggested/recommended packages
not being installed" will show up correctly.
* When "aptitude show" is given a pattern as its argument, show all
packages that match the argument, not just the "first" one.
Thanks to Martin Dorey for this patch.
* Delay auto-resolving dependencies when installing packages from
the command line, so that unnecessary stuff doesn't get installed
when packages listed later are non-default alternatives of a
dependency of an earlier package.
* Correct the default value of Request-Strictness to match the value
that it was set to in 0.4.3.
* Fix the manpage's reference to the HTML documentation to point to
the right location.
* Shorten the manpage's title so that it fits into the fixed-width
field that "man" uses.
* Fixes for a bunch of documentation typos from Kobayashi Noritada
(Closes: #389942).
* Close a very minor memory leak in "aptitude show".
- Translation updates:
* Arabic
* Basque (Closes: #389730)
* Brazilian (Closes: #387734)
* Catalan
* Chinese (Simplified) (Closes: #392305)
* Chinese (Traditional)
* Czech (Closes: #361050)
* Danish
* Dutch (Closes: #393643)
* Dzongkha (Closes: #388045)
* Finnish (Closes: #351531)
* French (Closes: #388552, #351531)
* Galacian (Closes: #387579)
* German
* Hungarian
* Italian
* Japanese (Closes: #389581, #389583, #390736, #391061)
* Khmer (Closes: #374919)
* Kurdish (Closes: #387803)
* Norwegian Bokmal (Closes: #391684)
* Portuguese (Closes: #393070)
* Romanian (Closes: #388401)
* Russian (Closes: #392305)
* Slovak (Closes: #386852, #394696)
* Spanish (Closes: #391663)
* Swedish (Closes: #391531)
* Turkish (Closes: #392305)
* Vietnamese (Closes: #388552, #392903, #392924)
[2006-09-03]
Version 0.4.3 "Everyone loves kittens"
- New features:
* Request-Strictness is now set to 10000 by default. This should
cause the internal problem resolver to produce more sensible
solutions when run from the command-line. (Closes: #385453)
- Bug fixes:
* Don't crash when trying to display text in the internal pager in
which a tab character appears in a column that is not a multiple
of 8. (Closes: #383488, #383549)
* Don't crash after su-ing to root. (Closes: #382090)
* Don't crash when saving the state while a non-default version of a
package that has no default version at all (e.g., exists only in
experimental) is selected for installation. (Closes: #383767, #384136)
* Eliminate duplicate entries from the "provided by" list displayed
by "aptitude show". (Closes: #384001)
* Grotesquely hack around ugly behavior in 256-color terms by
limiting the maximum number of foreground/background colors to 8.
(Closes: #384699)
* Fix the incorrect claim in the documentation that "l" is the
shortcut to remove the limit from the display.
* Make the in-menu hotkey for "mark upgradable" not conflict with
"update package list".
* Use groff escapes for extended characters when generating manpages
so that they look better in non-English locales. (Closes: #383463)
* Use the built-in Docbook XSLT templates to italicise <replacable>
tags in manpages. This is asserted to produce more correct
output.
- Translation updates:
* Dzongkha (Closes: #382606)
* French
* Galician (Closes: #381989)
* German
* Hungarian (Closes: #383584)
* Khmer (Closes: #374919)
* Swedish (Closes: #382992, #383630)
* Vietnamese (Closes: #382333, #383586)
[2006-07-31]
Version 0.4.2 "Rock on, Monkeyverse"
- New features:
* Added a command to cancel all pending actions from the full-screen
UI (an analogue of "keep-all" at the command line).
* Added an option "Aptitude::UI::ViewTabs" that controls whether the
"tabs" at the top of the screen are displayed. (Closes: #344569)
* Make the lockfile default to /var/lock/aptitude as per
FHS. (Closes: #160418)
* Add support for searching in the on-line user's manual.
(Closes: #364306)
- Bug fixes:
* Fix compilation errors with gcc 4.1. (Closes: #357557)
* Fix compilation errors with gcc 4.2. (Closes: #369382)
* Fix crashes that occurred during update (and perhaps install)
operations if a problem resolver was active.
(Closes: #346380, #348541, #348481, #376573)
* Don't crash when trying to install packages off multiple
CDs. (Closes: #349869)
* Handle NULLs being returned from get_changelog_from_source
(Closes: #343488).
* Don't crash when moving the selection up if the current selection
is invalid (Closes: #343676).
* Disable bullet-detection by default, since it is
backwards-incompatible in a bad way that cannot be easily solved.
(Closes: #373888)
* Make bullet-detection better defined by requiring exactly one
space after the bullet (subsequent spaces cause lines to be
literally formatted; without this, literal lines in bulleted
paragraphs aren't possible).
* Make the behavior of "aptitude show" more intuitive: state
information corresponds to the Version displayed, and the current
version is selected by default if the package is
currently installed. (Closes: #375393, #372796)
* Use PTHREAD_MUTEX_RECURSIVE instead of PTHREAD_MUTEX_RECURSIVE_NP
so we compile on the Hurd (Closes: #361439).
* Fix saving/restoring states when a non-default version is being
freshly installed.
* Correct how the progress indicator is updated when rebuilding the
cache.
* Don't read the package lists on startup when they're about to be
discarded to download new ones. (Closes: #366884)
* Fix incorrect behavior in the command-line changelog routine,
triggered by pending errors that weren't being dumped.
(Closes: #379903)
* Fix several places where error reporting via Errno was broken.
(Closes: #350264)
* Correctly handle scrollbar updates after resizing text layouts.
(Closes: #347445)
* Fix how the internal pager renders tabs. (Closes: #351323)
* Remove the pkgAcqFileSane class; the functionality it provides is
now available in libapt -- and better implemented, so this
(Closes: #299127).
* Use correct xml in the manual.
* Add a (non-default) target to build printable documentation.
* Use UTF-8 to output the manpage.
- Translation updates:
* Add some plural form support.
* Fix the P_() localization macro.
* Use po4a for the manual. (Closes: #351643)
* Basque (Closes: #349500, #275704, #349500)
* Brazillian (Closes: #363905)
* Catalan (Closes: #345226, #363648)
* Chinese (Simplified) (Closes: #347311, 355689)
* Czech (Closes: #345345, #349427)
* Danish
* Dutch (Closes: #350118, #364471)
* Dzongkha
* Finnish
* French (Closes: #344078, 343748)
* Galacian (Closes: #344380, #355586, #373893)
* German (Closes: #330226, #351557)
* Greek (Closes: #344630)
* Hungarian (Closes: #354844)
* Italian
* Japanese (Closes: #364621)
* Nepali (Closes: #372861)
* Norwegian
* Polish (Closes: #338989)
* Portuguese (Closes: #364186)
* Romanian (Closes: #362927, #375327)
* Russian (Closes: #349161, #366523, #376340)
+ Increased the field width for download size/disk usage to avoid
clipping.
* Slovak (Closes: #351839, #353449, #356396)
* Spanish
* Swedish (Closes: #345372, #363660, #374207)
* Vietnamese (Closes: #341924, #343850, #375089)
[2005-12-08]
Version 0.4.1 "Divers Alarums"
- New features:
* Assertion failures should print the failing assertion after
shutting down curses rather than before.
* The --purge-unused option is now provided as a synonym for
-o Aptitude::Purge-Unused=true.
* aptitude will now support ddtp if it is compiled against a version
of apt that supports ddtp.
* Setting the Aptitude::Cmdline::Resolver-Dump option to a filename
will cause the command-line mode of the program to dump a snapshot
of the resolver state to that file before attempting to resolve
dependencies.
* Setting the Aptitude::GC-Debug option will cause the garbage
collector to print voluminous debugging information as it searches
for unused packages.
- Bug fixes:
* Eliminate two deadlocks caused by the background resolver thread
trying to wait for itself. (Closes: #340067, #342319)
* Never select a version that was removed but not purged and is no
longer available as a candidate version. (Closes: #340385)
* Eliminate a corner case where the resolver could produce solutions
that were supersets of previous solutions.
* If an EOF is encountered while waiting for a media-change from the
command-line, signal media change failure instead of aborting.
* Don't ever use the minibuffer to display the list of packages
adjusted by the resolver (Closes: #341292).
* If the menu bar is auto-hidden, don't automatically unhide it when
the user clicks in the first row of the display; instead, pass the
clicks to the sub-widget. (Closes: #341475)
* Enable colors on terminals where COLOR_PAIRS < COLORS*COLORS but
COLOR_PAIRS >= 64.
* Honor -y when the resolver runs out of time at the command-line.
* Make "cancel" at the "download complete" dialog actually cancel.
* Fix a portability bug due to cross-platform variation in the
members of sigaction (Closes: #337536)
* Fix how keybindings are parsed: keybinding names are now
case-insensitive and single-character keybindings are parsed
correctly. (Closes: #339131)
* Add spaces after various minibuffer prompts.
* Add a link from the search patterns documentation to the
command-line reference.
* When saving the package states, properly handle the case in which
the state file didn't previously exist. (Closes: #337869)
* Don't segfault when the user updates the package lists while a
solution examiner is open. (Closes: #338441)
* Trust any package version for which at least one source is trusted
(Closes: #337982).
* Work around apt bug #339533 to avoid an aptitude
segfault. (Closes: #339648)
* Fixed the assertion failure message printed when an inconsistency
is detected because a supposedly broken dependency isn't broken (it was incorrect).
* If a --schedule-only operation fails, print any errors that
occurred before exiting.
* Document the new backslash behavior in help.txt. (Closes: #337810)
* Document that "default" can be used as a background color.
* Correct the names of the problem-resolver control knobs in the
documentation.
- Translation updates:
* Chinese (Simplified) (Closes: #339140)
* Dutch (Closes: #337629)
* Italian
* Galacian (Closes: #337656)
* Lithuanian (Closes: #341051)
* Portuguese (Closes: #339828)
* Slovak (Closes: #338527)
* Swedish (Closes: #334520, #337725, #339820)
* Turkish (Closes: #339943)
* Vietnamese (Closes: #341924)
[2005-11-04]
Version 0.4.0 "Aptitude Below Zero"
- New features:
* The primary binding of the menu toggle command is now Control-t
instead of f10. All old bindings still work, but this means that
the binding displayed at the top of the screen will work on all
terminals. (Closes: #147862, #335034)
* By default, the solution that reverts all user actions is
discarded entirely.
* The "changelog", "download", and "show" command-line actions
recognize "-t <archive>" and handle it by acting as if
"/<archive>" had been appended to each argument of the
command. (Closes: #334096)
* When "show" cannot locate a package by name, it now exits with an
error instead of exiting with status 0.
* When the user requests a particular version of a package, "show"
will display only that version, even if the verbosity level would
normally cause all versions to be displayed.
* Highlight stuff that looks like bullets when viewing a changelog
file.
* Doxyfile.in is distributed, so the doxygen documentation should be
buildable from the distributed tarball.
* Added a Keep-Recommends option that is analogous to Keep-Suggests:
it doesn't cause recommendations to be automatically installed,
but it does cause them to be held on the system by the garbage
collector if they were automatically installed.
- Bug fixes:
* Forward and reverse dependency lists are sorted by name and
version.
* Made page-up in a list of packages properly trigger the update of
all connected information.
* "search" now completely ignores fake packages (Closes: #337407).
* The code to parse a bullet list in a description now knows how to
handle any number of spaces following a bullet (including
zero). (Closes: #337344)
* Don't hide the preview screen when downloading stuff other than
packages. (Closes: #334343)
* Deal sanely with changelogs and other formatted text that
contains newlines or tabs.
* More real and potential UTF-8 display problems fixed.
(Closes: #317119)
* Fix some anomalies in the display of the menu bar's left/right
arrows.
* Corrected how the sigc++ version against which the program was
compiled is reported.
* Added "install" to the manpage synopsis. (Closes: #336584)
* Cleaned up some parts of the resolver interface and wrote
top-level API documentation for it.
- Translation updates:
* sv is now included in ALL_LINGUAS.
* Translation updates:
- Chinese (Simplified) (Closes: #335290)
- Danish (Closes: #335880)
- Finnish
- French (Closes: #336261)
- Romanian (Closes: #335680, #325749)
- Russian (Closes: #336261, #336420)
[2005-10-14]
Version 0.3.5.1 "Slantwise Cacophany"
- Bug fixes:
* Corrected several trivial but fatal bugs in the build and install
system.
* Document 'aptitude reinstall' in the --help output. (Closes: #333872)
- Translation updates:
* Add a Swedish translation of help.txt. (Closes: #333918)
[2005-10-13]
Version 0.3.5 "Yoink"
Upstream aptitude development is now stored in darcs. See the
documentation for additional details.
- New features:
* Redesigned how versions are handled in the pattern matching
language. The set of versions matched against is more uniform
(typically all the versions of a package). This set is narrowed
at appropriate times; for instance, reverse dependency matchers
will only pass those versions that assert a dependency into their
subexpression. You can manually narrow the set by selecting
versions with ~S, and manually widen it by using ~W.
* Forward and reverse dependency matchers can be restricted to only
broken dependencies.
* The version matcher (~V) has support for matching the current,
target, or candidate version of a package (in addition to matching
a regexp against the version number).
* Add a canned package view that only displays packages which are
targets of unsatisfied Recommends.
* Sort reverse and forward dependencies by package name and version
number.
* In the command-line preview, display {p} next to packages that are
being purged.
* More command-line compatibility with apt-get for -q and
--quiet. (Closes: #217477)
* Only override $HOME with getpwuid if $HOME/.aptitude does not
exist. NOTE: this doesn't work right now with the auto-su-to-root
behavior, because that resets $HOME. You have been warned.
* Add a sorting policy that sorts packages by version number.
- Bug fixes:
* The problem resolver will no longer try to install versions of
packages that don't actually exist. In particular, it won't try
to install packages that were removed but not purged, so their
configuration files and metadata stayed on the system.
* Eliminated a reference-to-freed-memory segfault caused by passing
unsafe references to widgets around. (Closes: #331400)
* Don't crash when the user asks to see the changelog of a
non-installed package. (Closes: #331245)
* Don't crash when the cache is closed while a changelog is being
downloaded (for instance, if a changelog is downloaded while
packages are being installed).
* Encode match results as std::strings instead of const char *s, as
some of the buffers are destroyed before the get_match routine
exits.
* Don't reopen the cache after a download unless it's necessary.
(Closes: #332708)
* Version items are now styled in the same way as package items.
* Explicitly keep the search dialog alive while its Ok handler is
executing, so that the "actually search" signal isn't disconnected
too soon and searching by clicking Ok works. (Closes: #332179)
Similar fixes to other stock dialogs.
* Use the right encoding when converting the name of a dependency
type to a wide character string. (Closes: #331199)
* Write out the descriptions of solution elements using
wide-character functions.
* Ensure that string inputs in the configuration dialogs are always
visible. (Closes: #331200)
* Read the debtags vocabulary file from /var/lib instead of
/usr/share, and hint that the user should install debtags to make
the error go away. (Closes: #331408)
* Fix the parser of the backwards-compatibility filter grouping
policy. (Closes: #331404)
* Really bypass the authentication prompt if Ignore-Trust-Violations
is true. (Closes: #332883)
* Don't duplicate packages in the filter policy.
* Accept archive or version specifiers with installauto (+M) as well
as install.
* Document ~t.
- Translation updates:
* Basque (Closes: #275704)
* Czech
* French
* Swedish (Closes: #333267)
[2005-09-30]
Version 0.3.4 "Up The Airy Mountain"
- New features:
* The solution examiner is now a view coequal with package trees and
other views rather than a pop-up dialog box.
* From the solution examiner, you can select individual actions
within a solution and approve or reject them to influence the
future course of the resolver; you can also access quite a bit
more information, such as explanations of why actions were
included in the solution and alternatives to the actions.
* Rebalanced the default resolver weights to focus it more on
generating a solution quickly and less on generating a "good"
solution.
* The problem resolver now understands about Recommendations. It
will try to solve Recommendations that are currently satisfied or
that are only present in a newly installed version of a package
and not the current version, but it can also leave them broken
(with a penalty to the resulting solution).
* The visual mode of the program is now threaded: in particular,
long-running tasks such as downloading packages and resolving
dependencies are run in the background and no longer cause the
interface to become nonresponsive.
This also eliminates the need to use recursive main loops, and
hence this Closes: #136973.
* Holds are now implicitly cancelled by the "Keep" command in visual
mode (but not from the command line). (Closes: #326949)
* Search patterns now treat whitespace as a term separator (but
whitespace between a pattern code and its argument is ignored).
To search for literal whitespace, use double quotes or
tilde-escaping.
* You can now search for text in internal text pagers (for instance,
when viewing a package's Changelog).
* A generic grouping policy based on search patterns is available.
(Closes: #156065)
* Selecting a package version other than the current version and the
default candidate version explicitly is now sticky. (Closes:
#158771)
* Debtags support is available: tags are shown after a package's
description, you can search for them (~G), and a tag-based grouping
policy is available. (Closes: #243830)
* More predefined package views are available: a flat view and a
view based on debtags.
* The command-line now has "keep" and "keep-all" commands (the
latter cancels all sticky actions that are queued on packages).
(Closes: #312923)
* From the command-line, changelogs can be downloaded by source
package name in addition to the binary package name.
* The command-line option "--schedule-only" will write the
commands you ask for to the database and then exit without
downloading, installing, or removing anything. (Closes: #312249)
* You can search both backwards and forwards (the backslash key
has been changed from 'repeat last search' to 'search backwards').
(Closes: #323239)
* You can repeat searches in all pagers and dialogs.
(Closes: #270699)
* You can now find downgraded packages using "~adowngrade".
* aptitude now works with the apt status reporting patch from
Michael Vogt.
* The rather useless "missing" grouping policy is no longer
necessary and has been deprecated, although it is still recognized
by the parser for backwards-compatibility.
* You can now access the default background color under the name
"default" when altering styles.
The default foreground color is unavailable; for technical reasons
it's impossible for aptitude to support both at once in a standard
X terminal. However, I believe that most of the requests for this
feature stemmed from an interest in terminals with transparent
backgrounds; if you set the default widget style to "bg default;",
aptitude should work reasonably well with transparent terminals
now. (Closes: #161872)
* Every combination of the package state and the highlighted status
of the package now has a separate style, which should allow a
great deal more flexibility for people who don't like the
defaults.
* aptitude now automatically keeps a single backup of the pkgstates
file, in the same manner as dpkg. (Closes: #316460)
* Warn the user once when they modify the cache while the program is
in read-only mode. (Closes: #175408)
* The resolver keystroke hints at the bottom of the screen dim out
when they're not available.
* Menus and menu bars behave more gracefully on small terminals:
menus can be scrolled up and down, and menu bars can be scrolled
left and right.
* You can automatically purge packages which are removed because
they are unused. This option is dangerous and it is recommended
that you leave it off. (Closes: #275150)
* Timestamps in the aptitude log file include the time zone.
(Closes: #318501)
* If libparse-debianchangelog-perl is installed, aptitude will parse
changelogs and highlight newer versions of the package. (Closes:
#290692)
- Bug fixes:
* aptitude no longer goes bonkers when you suspend and resume it.
(Closes: #137311, #169479)
* Use the password database instead of $HOME to find the user's home
directory; this will fix the mode 0700 root-owned files that
people were seeing. (Closes: #272429, #274216, #285334)
* Temporary files and directories are created in /tmp instead of
cluttering ~/.aptitude/.tmp. (Closes: #146485, #245348)
* If becoming root fails, re-load the file containing the current
selections so that they don't get lost. (Closes: #281232)
* ~akeep now matches any package that no action will be performed
on, including packages that are not installed.
* The apt error dialog now properly appears every time errors occur.
* Fix several UTF-8 related display bugs. (Closes: #317115)
* The cursor is now placed correctly again.
* Get the width of the screen right in a number of places when
running in command-line mode. (Closes: #230187)
* Set packages that were to be removed because they were unused back
to manual mode when the user keeps them at their current
version. (Closes: #278490)
* Various bugs in the resolver fixed.
* Fix a crash that occurred when aptitude got EOF on standard input;
the program now just aborts. (Closes: #318749)
* Fix a redundancy in some text at the command line. (Closes: #318396)
* Don't segfault if errors are encountered in the initialization
routines. (Closes: #309445)
* When there are currently broken packages, print an explanation of
why the command-line upgrade is aborting instead of just silently
terminating. (Closes: #316027)
* Fix the return value of 'aptitude clean'. (Closes: #274098)
* Terminate abnormally if the user tries to show a non-existant
package or if other errors come up. (Closes: #301291)
* The startup progress bar no longer hangs around too long.
* The message displayed when the installation procedure encounters
errors is somewhat more levelheaded. (Closes: #230188)
* Add support for making the command-line mode "quiet" (option -q).
(Closes: #217477)
* If -s is passed on the command-line, the cache will always be
opened read-only, even if the user is root.
* Hold onto the apt lock while running reportbug, so we don't have
to reload the cache and discard user selections. (Closes: #304748)
* Don't use terminal tricks to display continually updating progress
indicator if stdin is not a tty. (Closes: #276767)
* For some years now, aptitude has not freed memory belonging to
widget objects. This is now fixed, and an explicit memory
management model for widgets based on reference-counting has been
hammered out.
* Fix the manpage's SEE ALSO entry for the reference manual.
(Closes: #265723)
* Apply typo fixes for the documentation. (Closes: #268916)
* Explicitly document that ~a only matches the current state of a
package. (Closes: #311290)
* Delete some unnecessary text that both lacks a trailing newline
and is rather rude. (Closes: #295924)
- Translation updates:
* Czech (Closes: #330014)
* Danish (Closes: #317824)
* Finnish (Closes: #316225)
* French (Closes: #318906)
* Romanian (Closes: #318947)
* Vietnamese (Closes: #316994, #319702, #322276)
- Internal changes:
* Migrated all build scripts to automake-1.9 and the latest gettext
version.
* Restructured the resolver code to be far more legible.
* Much optimization of the problem resolver, including:
- Detect logical conflicts to avoid going down the same blind
alleys over and over.
- Use shared-memory data structures to greatly decrease virtual
memory usage (memory usage in test cases that used to take
hundreds of megabytes is now negligible).
- When ordering solutions, use the score first (since it's
essentially a hash of the information in the solution), and only
examine the incoming solutions in their entirety if they have
the same score.
* Split the horrible download code into a much more pleasant group
of "download process" classes with an interface that's generic
enough to allow the frontend to implement a general "execute
download process" function. The new download classes were pushed
down into the generic level.
* Split generic/ into generic/util and generic/apt.
* Restructured the way grouping policies and matchers are parsed to
allow them to work together without unpleasant surprises.
* A test suite (based on cppunit) is now available; most of the
tests are currently of backend code.
* Most dynamic casting in menu_tree was eliminated; now it just
checks whether the selected item implements the menu_redirect
interface and proxies for it (as far as the package and solution
item menu commands go) if so.
* Exceptions can now dynamically generate a program backtrace --
however, in order for this to be useful, you have to have many
more symbols compiled into the program (in tests, this DOUBLED the
final executable size). To get a binary that will generate a
backtrace for uncaught exceptions, compile with
--enable-dynamic-backtrace.
[2005-07-04]
Version 0.3.3 "Universal Text Format Ate My Package Manager"
- New features:
* Full support for UTF-8 and other wide character locales. Anything
that doesn't work (aside from bug #316663 in curses) is a bug.
Some languages might lack full support, as I'm releasing this
before the translators have time to catch up!
* Colors and text styles are now selected in a much more flexible
way. Each visual can independently alter or override each setting
of its surrounding text. Foreground and background colors can be
set independently.
- Translation updates:
* Chinese (Simplified) (Closes: #314330)
* Chinese (Traditional) (Closes: #311587)
* Czech (Closes: #314328)
* Dutch (Closes: #315376, #316279)
* Finnish (Closes: #312311, #313450)
* German (Closes: #313663)
* Lithuanian (Closes: #314643)
* Norwegian Bokmal (Closes: #313459)
* Norwegian nynorsk (Closes: #315988)
* Polish (Closes: #315338)
* Portuguese (Closes: #315486)
* Russian (Closes: #313619)
* Slovak (Closes: #309824)
* Spanish (Closes: #313412)
* Vietnamese (Closes: #313321)
- Bug fixes:
* Fix a case where different packages would be selected on startup
than on shutdown. (Closes: #315359)
* Fix several longstanding coding errors that caused the progress
bar to disappear/freeze while the program was starting up.
* Don't crash when trying to display information about packages
with no Archive. (Closes: #312533)
* Allow the user to cancel a media change. (Closes: #315885)
* Be more explicit in warning the user that they are in read-only
mode. (Closes: #313417)
* Typo fix in cmdline_prompt (Closes: #313322)
* Adjusted the input polling frequency in the download code; the
program should feel a bit more responsive while it's downloading.
[2005-05-01]
Version 0.3.2 "Eat cold logic, feeble dependency problem!"
- New features:
* Finally tossed the APT problem resolver over the side. aptitude
now has its own problem resolver, with (among other things) the
following features:
- It's restartable and nondestructive -- meaning that if you
don't like its suggestion, you can ask it to find another one.
- It understands how to resolve dependencies by installing
non-default package versions. For instance, it can figure out
that to install aptitude from experimental, you need to also
install apt and synaptic from experimental (if unstable's
synaptic is installed).
- The priorities of the resolver are fully configurable; see the
configuration file section of the reference manual.
- It's generic: in theory you could apply the code to many
package systems, including some that are not APT-based.
- It has a formal model of dependencies underlying it; see
src/generic/problemresolver/model.tex (although not all my
notes have migrated into the LaTeX source yet; this will be
fixed in the future).
* Implemented my proposed description formatting extensions of
http://lists.debian.org/debian-devel/2005/03/msg02770.html --
aptitude now detects and appropriately formats most bulleted
lists in package descriptions.
* From the confirmation prompt (and now the resolver prompt) of the
command-line mode, you can now additionally keep packages back
(without setting a hold), mark packages as automatic or manual,
and simultaneously install a package and mark it as manual.
* ~ahold now matches only packages that have a "sticky" hold set.
~akeep will find packages upon which no action is being taken. To
get the old behavior of ~ahold, use ~U~akeep. (Closes: #216730)
* A brief summary of the currently-open views now appears at the top
of the screen when multiple views are open.
* Merged command-line support for apt-secure from 0.2.15.9.
- Bugfixes:
* Don't discard messages about how to resolve a problem with loading
the cache file. In particular, the dialog box that you get if
dpkg was interrupted should make a lot more sense.
(Closes: #160418)
* Actually process the message about failed downloads using fragf.
(Closes: #298713)
* Fix the "help crashes" bug. (Closes: #293935, plus all the other
bugs reported by people who don't check the BTS first)
* Hard-wrap, don't clip, long literally formatted lines (in
accordance with Policy).
* Text in a number of places is now automatically formatted instead
of having hard-wired line wrapping.
* Fixed the formatting and size calculation of fragments even in the
presence of indentation.
* Made the description widget (and other similar widgets) actually
cache its formatting, rather than recalculating it every time the
screen is redrawn.
* Centralized the detection of the terminal width when running in
command-line mode; previously, some commands would properly wrap
text, but others wouldn't.
* Don't abort, just print a warning if the user passes -s in
interactive mode. (Closes: #243192)
* Fixed an ugly problem with the docbook documentation -- instead of
using the DTD on the user's system, it was loading it off the net
(merged from the stable branch).
* Correct the documentation of Delete-Unused (merged from stable).
[2005-01-10] "Ow, my thesis!
That's funny, it didn't hurt that time..."
- Bugfixes:
* (sort of) fixed a bug which caused aptitude to want to remove
stuff installed with another package manager. In order to trigger
this, you would have to remove the package with aptitude, quit
aptitude without installing or removing anything else, then
install the package in the other package manager before running
aptitude again.
The caveat on the fix is that if you ^C aptitude between removing
the package and reloading the cache, you can still get bitten. A
more proper fix may be included in a future aptitude version.
- New features:
* By default, aptitude will only pause after a download if errors
occured. Both of the old settings (always/never pause) are still
available.
* "autoclean" will tell you how much stuff it cleaned up. For
technical reasons, "clean" cannot easily produce the same
information.
- Internal changes:
* Ported aptitude to libsigc++ 2.0.
* Various bits of text are now displayed as fragments instead of
labels, so they get properly word-wrapped and so on. This work is
ongoing and has revealed some structural weaknesses in fragments
that need to be fixed before entrenching them too much.
[2004-12-21]
Version 0.3.0 "Let it snow, let it snow, let it snow"
This is the first release of a new development branch, forked from 0.2.15.8.
- Bugfixes:
* The buttons in the search dialog are properly centered.
* Internal errors that are generated because of bad formatting
characters are less cryptic.
- New features:
* Support for apt 0.6's security features: aptitude will flag
packages that are untrusted, and will warn you if you try to
install an untrusted package or upgrade from a trusted to an
untrusted version. The warnings are currently quite obtrusive and
strongly worded, and cannot be turned off.
- Internal changes:
* Completely redesigned widget layout to better accomodate widgets
whose width and height are interrelated. The new system
completely allocates widths before allocating heights, allowing
stuff like word-wrapped text to be handled sanely.
- Translation updates:
* Arabic [NEW]
* Basque (Closes: #275704)
* Brazilian Portuguese (Closes: #275220)
* Chinese (Simplified)
* Chinese (Traditional) (Closes: #274268)
* Czech
* Danish
* Finnish
* French [now includes translated manual] (Closes: #274953)
* German (Closes: #283546)
* Hebrew [NEW] (Closes: #275266)
* Lithuanian (Closes: #280049)
* Norwegian Bokmal
* Polish (Closes: #265481)
* Romanian (Closes: #281531)
* Slovak (Closes: #279559)
* Spanish
* Turkish (Closes: #280009)
[2004-03-26]
Version 0.2.15.9 "I see you see we all see C see sea"
- Bugfixes:
* Correct the English documentation of Aptitude::Delete-Unused;
its description of this option's behavior was exactly the
reverse of what actually happens!
* Fix a trivial typo that caused an unsightly disfigurement
of the Search dialog.
- Backports from aptitude 0.3.x:
* aptitude now compiles cleanly against APT 0.6, with full support
for package trust.
- Translation updates:
* Arabic
* Basque (Closes: #275704)
* Chinese, Simplified
* Chinese, Traditional (Closes: #274268, #290284)
* Czech
* Danish
* Dutch (Closes: #288815)
* Finnish
* French (Closes: #274953)
Includes a new user's manual.
* German (Closes: #283546, #293127)
* Hebrew (Closes: #275266)
* Lithuanian (Closes: #280049)
* Norwegian Bokmal
* Polish (Closes: #265481)
* Portuguese, Brazilian (Closes: #275220)
* Romanian (Closes: #281531)
* Slovak (Closes: #279559)
* Spanish
[2004-09-28]
Version 0.2.15.8 "UTF-what?"
- Bugfixes:
* Patch from Konstantinos Margaritis to "fix" the UTF-8 problem with
a sledgehammer: if aptitude sees UTF-8 in the locale, it will
set the locale to C instead.
* Under "Suggested packages", only show packages that something suggests.
(previously, other relationships -- such as Replaces or Conflicts --
were causing stuff to end up there). (Closes: #270667)
* Belatedly apply a very old patch to improve saving Minesweeper games
and to add some sanity-checks to Minesweeper. (Closes: #179533)
- Translation updates:
* French (Closes: #272824)
* Italian (Closes: #265243)
* Japanese (Closes: #272454)
* Russian
[2004-09-17]
Version 0.2.15.7 "Kerplop"
- Bugfixes:
* Use the candidate version to look for stuff to install; this makes
installation via patterns work better.
* Parse priority strings up-front, and accept either an English string
or the string in the current locale.
* Fixed a segfault that occured if the %r escape was used.
* Fix several potential (unreported, perhaps un-triggerable) segfaults
in the table code.
* Various documentation fixes (Closes: #269102, #269100).
- Translation updates:
* Brazilian (Closes: #271411)
* Catalan (Closes: #270917)
* Finnish (Closes: #263313)
* French (Closes: #270713)
* Greek (Closes: #265006)
* Italian (Closes: #268263)
* Japanese (Closes: #264867)
* Norwegian (Closes: #269976)
* Russian (Closes: #266294)
* Spanish (Closes: #269311)
[2004-08-06]
Version 0.2.15.6 "Brrrrrrr"
- Bugfixes:
* When displaying the size change in a single version, use '+'
for increases and '-' for decreases rather than the other
way around.
* "make install" installs localized manpages in $mandir now (thanks
to Sebastian Kapfer for pointing out that this wasn't happening)
- Translation updates:
* Czech (Debian bug #262524)
* Danish (Debian bug #262129)
* Dutch (Debian bug #262000)
* Finnish (Debian bug #263313)
* German (Debian bug #262534)
* Italian (Debian bug #261819)
* Portuguese (Debian bug #261502)
[2004-07-25]
Version 0.2.15.5 "Is it just me, or is it freezing in here?"
- New features and bugfixes:
- 'aptitude moo' no longer insults the user, even under extreme provocation.
- It is now possible to log to multiple destinations. (Debian bug #259714)
- A format code (%i) has been added to display policy information about
package versions (ie, the priority to which they are pinned).
(Debian bug #240423)
- An option has been added which disables some of the sanity checks
performed prior to installing packages: the program will proceed
to the preview screen if any packages are upgradable, even if they
aren't being upgraded. (Debian bug #260590)
- Undoing "forget new" works again.
- Scrolling in pagers scrolls by the correct amount now. (Debian bug #260713)
- You can once again enter an empty limit string to reset the limit.
(Debian bug #260244)
- Changed (completely useless at the moment) creation of a pthreads
mutex to compile on FreeBSD.
- Translation updates:
- Brazilian (Debian bug #260953)
- Catalan (Debian bug #261095)
- Czech (Debian bug #259966)
- Dutch (Debian bug #260632)
- Italian (Debian bug #261017)
- Greek (Debian bug #261029)
- Portuguese (Debian bug #261425)
[2004-07-15]
Version 0.2.15.4 "Flying Space Cucumber"
- New features:
* Recommended (but not installed) packages are shown in both previews
now.
* Suggests-Important is back as a synonym for Keep-Suggests. This
should smooth out the transition for people who were using it.
(Debian bug #259387)
* Changelogs can be viewed from the command-line.
* When downloading a package from the command-line, you can select
the version to be downloaded. (Debian bug #160145)
* Added a menu/keyboard command to search for the next broken package.
(Debian bug #162474)
* Extended the package menu with options to manipulate a package's
automatic flag, view its information, or view its changelog.
* Dependency patterns can now match on any dependency field; see the
documentation for details.
- Bugfixes:
* Several potential and actual memory leaks in the command-line code
were fixed.
* The command-line mode now complains loudly in some places where it
used to fail silently.
[2004-07-13]
Version 0.2.15.3 "Release Roulette"
- New features:
* When displaying aptitude's explanations about dependency
situations, packages that are unavailable will be marked as such.
* Some messages from the command-line mode (eg, about packages that
are already installed/removed) are now suppressed unless you pass
-v on the command-line.
- Bugfixes:
* Document the Yes/No commands.
* Return the newest version available from visible_version(), which
should make changelog viewing and a few other things work in a
less obscure fashion.
* Correctly initialize the menu autohide setting (Debian bug #258688).
* Suppress self-conflicts more vigorously (Debian bug #258533).
* Fixed a number of bugs related to undos; they should work much better
now (in particular, undoing an upgrade command will work reliably).
* The tracking of automatic packages is somewhat smarter about
versions: if upgrading a package causes it to become unused, it
will be held back; if a package is being removed because it is
unused and something depending on its current version is
installed, the package will be held even if it could be
upgraded. (say that five times fast!)
Basically, aptitude won't randomly remove packages that you try to
upgrade because they're suddenly "unused"; instead, it will refuse
to upgrade them.
- Translation/i18n updates:
* Miroslav Kure heroically translated the entire DocBook manual into
Czech, along with general updates to the Czech translation.
* The keybindings for Yes and No are now translatable (Debian bug #258409).
* Split the English manpage into a separate XML file (Debian bug #259089).
* Brazilian translation update (Debian bug #258667).
* Greek translation update (Debian bug #258805).
* French translation update.
* Spanish translation update from Rubes Porras (Debian bug #258243).
[2004-07-07]
Version 0.2.15.2 "Configure this!"
- New features:
* Added a configuration option Aptitude::Keep-Suggests. This will
cause automatically installed packages to stay on the system if
any installed package even Suggests them.
* Added a command-line argument -o; this behaves in the same way as
the apt-get -o command-line argument.
- Bugfixes:
* Fixed a very old bug in configuration handling. This version of
aptitude will only save configuration options that you have
modified in your personal file. (this includes options that you
changed and re-set to their default values) This means that future
changes in aptitude's default settings will be picked up by most
people; right now you will only see changes to the defaults if
you've never used an Options dialog. You may want to revert your
options to the defaults to take advantage of this feature.
(Debian bug #175409)
* Fixed the manpage synopsis: it said forbid-upgrade instead of
forbid-version. (Debian bug #257901)
* Removed an accent that accidentally crept into an image filename
in the documentation.
* In the Vertical-Split theme, version numbers are hidden by default
(there isn't room for them on a standard terminal)
- Translation updates:
* Updated Finish translations (Debian bug #257902)
* Updated Italian translations (Debian bug #257710)
[2004-07-04]
Version 0.2.15.1 "Obligatory July 4th reference"
- Bugfixes:
* Fix a segfault that occured in certain (undetermined) circumstances:
a codepath that never ran on my computer would inevitably dereference
NULL.
* Include all the screen-shot images.
[2004-07-01]
Version 0.2.15 "Daniel's Adventures in the Land of DocBook"
- New features:
* aptitude now has a "proper" manual, or at least the first iteration
of one. It weighs in at ~7000 lines of DocBook (which is less
impressive than it sounds, since most lines of DocBook are fluff)
and generates HTML pages, text documentation, and a manpage from
a single source.
* You can now keep a package at its current version without setting a
sticky hold by pressing ':'.
* A new %-escape for the display format, %Z, has been added. It
displays the change in disk usage due to an individual package (or
version); the default package format uses it.
* Several new menus added: you can now change a package's state or
search for a package from the menu.
* A convenient keybinding for reporting a bug has been added.
* Matchers for reverse dependencies are now much more powerful;
matchers for reverse and forward provides are available.
* Passing -v to an installation command will display packages that are
suggested and won't be installed.
* You can now retrieve information about a package from the command-line
mode's prompt.
* "aptitude show" will display a package's Essential flag.
* The new "--visual-preview" command-line option uses the visual mode
to handle previews and downloads for command-line actions.
(Debian bug #253335)
* aptitude should now display translated task descriptions; thanks
to Denis Barbier.
(Debian bug #203725)
- Bugfixes:
* aptitude now handles limits that match no packages more gracefully.
* All traces of Suggests-Important were removed. (Debian bug #245410)
* aptitude should compile with g++ 3.4 now.
* aptitude now looks for unused packages on startup, so the old behavior
(where some package states would be illogical and "snap" to the correct
values as soon as you did anything) no longer occurs.
* Handling of automatic/manual packages was tweaked in a few other
ways; handling of automatically changed packages was also tweaked.
* Completely disabled the use of the severely broken non-hierarchical
view; the categorical browser just uses a hierarchical display now.
(Debian bugs #120978, #144079, #144083, #151437, #242397)
* Undoing the "forbid upgrade" command should work in all cases now.
* Removed trailing periods from all menu item descriptions.
(Debian bug #244676)
* Fixed compilation on all 5 existing ia64 systems (Debian bug #243932).
* If the user tries to remove an essential package but then cancels
the removal, aptitude no longer displays an ominous warning about
removing essential packages. (Debian bug #254422)
* Fixed the display of ORed dependencies in "aptitude show".
(Debian bug #254740)
* Menus are now sized more intelligently; text within menus is laid
out slightly better.
* When a very narrow terminal is being used, menus should be displayed
a bit more gracefully.
* Fixed some bugs with rebinding keys.
* Removed references to some obsolete (unused) keybindings and colors.
* There is now a space between the current and candidate versions in
the default display format.
* Widget alignment within a row is now written as "top" and
"bottom", not "left" and "right".
* Reverting options affects the user's configuration file
immediately.
* "aptitude show" no longer performs a search unless the input
contains a tilde.
* Fixed the display of ORed dependencies when describing reasons
for a package's state. (Debian bug #242663)
* Improved the calculation of reasons for a package's state in the
presence of virtual packages. (Debian bug #244817)
- Translations:
* Basque updates (Debian bug #244858)
* Brizilian updates (Debian bug #242332)
* Catalan updates (Debian bug #248764)
* Czech updates (Debian bug #243728, #256326)
* Danish updates (Debian bug #244539)
* Dutch updates (Debian bug #249405)
* German updates (Debian bug #233917, #255396)
* Italian updates (Debian bug #244679)
* Japanese updates (Debian bug #250023)
* Lithuanian updates (Debian bug #242815)
* Norwegian Bokmal translation added (Debian bug #250500, #252507)
* Polish updates (Debian bug #248365)
* Portugese updates (Debian bug #242309, #242372, #244850, #245699)
* Russian added (Debian bug #250498)
* Traditional Chinese translation added (Debian bug #244359)
[2004-04-03]
Version 0.2.14.1 "Spit and polish"
Thanks to Christian Perrier <bubulle@debian.org> for helping to triage
the large pile of new and updated translations that appeared in this
release.
- Bugfixes and new features:
* You can now forbid aptitude to automatically select a particular
package version in an upgrade. This is mainly meant to make
situations where a known-bad package is in unstable easier to handle.
This functionality can be accessed via "F" in visual mode, or via
the "forbid-version" command-line action.
* Several more improvements to how autoinstalled packages are
handled. In particular, you no longer have to chase the whole
dependency tree if you de-select and then re-select a package with
many autoinstalled dependencies.
* Save whether packages are currently going to be upgraded in the
state file (separately from whether the package should be
installed at all).
* If the preview screen will be empty, an explanatory dialog is
displayed instead of a blank screen. If it looks like the user
just forgot to press "U", suggest that.
* Added a "reinstall" command-line action. (Debian bug #240225)
* Added a "%t" formatting escape which displays the Archive of a package.
In addition, "aptitude show" with verbosity>1 will display Archive
information. (Debian bug #113354)
* aptitude now supports the Key attribute of tasks (Debian bug #202781)
* Fixed fetching ChangeLogs for classes with epoched versions and
for non-free/contrib packages. (Debian bugs #237340, #233855)
* Manpage proofreading and polishing from Danilo Piazzalunga.
The reference to apt-get(8) has been corrected, and -t is documented.
(Debian bugs #198891, #225053)
* Fixed the names of download views in the View menu.
(Debian bug #234041)
* Use fragment-based layout instead of a vs_pager to display error
messages. This means that they will wrap to the terminal
width. (Debian bug #233923)
* In the dependency ("d") and version ("v") lists, the description
of the selected package is now visible by default.
* Added section descriptions for the new archive sections.
(Debian bug #233913)
* Information on Provides is now included in the package information
display and in "aptitude show". (Debian bug #121979)
* Upgrades from security.debian.org should go in a separate
top-level tree. (note: this is untested!) Also, re-ordered the
toplevel trees.
* Avoid destroying all visible widgets without quitting in some corner
cases. (Debian bug #233783)
* Removed some text that was being ignored anyway from the
definition of the "miscellaneous" options dialog. I would have
left it alone, but I think it could theoretically cause a problem.
(Debian bug #233528)
- Translation updates:
* Brazilian Portuguese program translation update.
(Debian bugs #237866, #199306)
* Czech translation update. (Debian bug #240604)
* Danish program translation update. (Debian bugs #230642, #234805)
* Finnish program translation update. (Debian bug #238188)
* French program translation update. (Debian bug #237501)
* German program translation update. (Debian bug #233917)
* Italian translation update. (Debian bug #239915)
* Japanese program translation update. (Debian bug #235256)
* Japanese translation update. (Debian bug #239242)
* Lituanian translation update. (Debian bug #240683)
* Norwegian Nynorsk translation update. (Debian bug #241104)
* Partial Greek program translation added. (Debian bug #237808)
* Partial Traditional Chinese program translation update. (Debian bug #230893)
* Portuguese program translation. (Debian bug #239171)
* Simplified Chinese translation update. (Debian bug #240739)
* Spanish program translation update. (Debian bug #234537)
[2004-02-15]
Version 0.2.14 "I say a package, and you say ah pahckahge"
- Bugfixes and new features:
* Several command-line actions no longer crash when sources.list is
missing or unreadable. In addition, if sources.list is present but
unreadable, the visual frontend no longer crashes. (Debian bug #220732)
* Fixed the detection of packages broken by conflicts.
- Build system and internal changes:
* Use AS_HELP_STRING to format help output from configure.
- Translation updates
* Italian updates (including a manpage translation) from Danilo Piazzalunga.
* Fixed the translation of a format string in the Czech translation, which
was causing segfaults.
[2004-02-13]
Version 0.2.13.9999.3 "Sisyphus Boulder Transportation and
Delivery Engineers, Incorporated[tm]"
- Bugfixes and new features:
* In the information area for packages, a note about disk usage
is printed (eg, "This package will be upgraded for <v1> to <v2>,
using 1111kB of additional disk space.") Useful for sending
bug reports to maintainers who accidentally upload unstripped
binaries of their latest package version.
* (undocumented) Experimental support for "filling" some text to the
screen width; set Aptitude::UI::Fill-Text to True to use this.
* An FAQ is now shipped with aptitude. I could only think of two
questions, but I expect that more will be asked over time.
- Build system and internal changes:
* aptitude can now be compiled with g++ 3.0. g++ 2.95 is not
supported due to at least one nasty bug in its STL which prevents
aptitude from compiling. However, compiling with g++ 3.0 is enough
to get a woody backport.
- Translation updates:
* Further Italian updates from Danilo Piazzalunga.
* Spanish translation updates from Ruben Porras.
[2004-02-08]
Version 0.2.13.9999.2 "Polar Eclipse"
- Bugfixes and new features:
* Further enhancements to the new information display. It now shows
any packages that are broken "because of" the currently selected
package. In addition, the information is colorized (if the
terminal supports it) to give a better idea of why dependencies
are broken.
* The information area will automatically switch to showing
dependency information when a package breaks (press 'i' to switch
back).
* Fixed the changelog fetching code. (Debian bugs #103455, #208041)
* aptitude no longer automatically holds packages in any
circumstance; packages can be automatically kept back, but this
doesn't persist the way hold does. (Debian bug #149161)
* Added support for a "show" action on the command-line.
* Invalid patterns no longer crash the search function.
(Debian bug #214245)
* Downgrades are now written to the log. (Debian bug #222583)
Patch from Danilo Piazzalunga.
* Scrollbars are now clickable.
* Many minor changes not mentioned here; see ChangeLog for the gory
details.
- Internal changes:
* Removed the HAVE_LIBAPT_PKG3 macro: this was intended to support
compiling against old apt versions, but those versions are now
ancient, and the program doesn't compile against them anyway.
Even if you wanted to, aptitude relies on having a newer version
of g++, while older apt versions won't even compile on modern g++
versiosn.
- Translation-related changes:
* zh_CN translation of help.txt added (also from Carlos).
* pt_BR translation updated (Andre Luis Lopes).
[2004-02-03]
Version 0.2.13.9999 "It goes ZIP when it moves!"
- Bugfixes and new features:
* Don't abort loading the cache if apt generates warnings, such as
the warning that a new source is available. This means that
aptitude doesn't behave pathologically when you add a new line to
sources.list. (Debian bug #143732)
* Holding a package back or clearing a package's hold flag no longer
affect the auto-install flag. (Debian bug #159582)
* Expanded the "reason" information that can be shown about
packages, and hooked it into the visual interface (the preview
display will show this information automatically)
* In previews, include a list of packages which are not installed
but are suggested by packages that are being installed.
* Entering the Preferences dialog for the first time no longer
causes Suggested packages to be automatically installed.
* Fix the way that options set via the dialogs are saved.
(Debian bug #216268)
* Added a scrollbar for the package description.
* Added padding between the labels of options and their settings (in the
* preference dialogs)
* Removed the idempotency option from the dialogs.
* Removed ~e: it was broken, inelegant, and superceded by regexps.
(Debian bug #196447)
* Additional minor bugfixes and editorial changes.
- Build system and internal changes:
* Now uses autoconf2.5.
* Added a flexible system for formatting text (see fragment.cc).
This system is now used to handle package descriptions, as well as
a few other things. This is a very promising addition to
aptitude's UI toolkit, and will almost certainly be used for
additional features in the future. (for instance, it's about
80-90% of the way to being able to display simple hypertext)
- Translation-related changes:
* Missing i18n markings added to many strings.
(Debian bug #230060)
* Fixed the German translation of "limit" (Debian bug #214021)
* Added a pt_BR translation, thanks to Gustavo Silva.
(Debian bug #214116)
* Added an Italian translation, thanks to Danilo Piazzalunga.
* Updates to da.po from Morten Bo Johansen.
* Added a Czech translation, thanks to Miroslav Kure.
[2003-06-09]
Version 0.2.13 "Pop goes the weasel"
* Fixes a number of crashes due to mishandling of memory, spotted
by Peter Lundkvist and Sami Liedes.
(Debian bug #192073 and #109420)
* Fix some crashes after updates, diagnosis by Peter Lundkvist.
(Debian bug #109420)
* No longer occasionally uses the first letter of the description as
a flag character, diagnosis by Seneca Cunningham. (Debian bug #183462)
* Translation updates to pt_BR by Andre Luis Lopes (Debian bug #195755)
* Ported to libsigc++-1.2. Hopefully everything should work fine,
but I can't guarantee that no problems remain.
* Added an option to disable -Werror, needed until Debian's ncurses
implementation is fixed.
[2003-02-10]
Version 0.2.12 "O Ye of Little Faith!"
* Compiles with g++-3.2. (Debian bugs #166435, 177092, 177463, 178520, and
maybe others)
* Match strings can be POSIX regular expressions. (note that
regular expression metacharacters which also have a special
meaning for aptitude, such as "(", ")", and "!", must be tilde-escaped)
(Debian bug #142450)
* You can now see how much each package's installed size changed by
by specifying -Z on the command-line. (only works for command-line
upgrades so far)
* You can search for text in the internal pagers. (Debian bug #144085)
* Fixes to formatting code (Debian bug #163749)
* When searching for packages from the command-line, you can now
specify the order in which to sort results.
* If no version of any package could possibly fulfill a dependency,
it is textually flagged as "UNAVAILABLE". (Debian bug #157950)
* The quick-help bar now indicates that "g" will also remove packages.
(Debian bug #158966)
* Disable saving/loading of packages' reinstall state, it's too annoying.
(Debian bugs #167236, #121346)
* Bold colors can be specified in the config file (although they will
cause problems in some contexts). (Debian bug #168287)
* "Minor" fix to the package gc: when marking packages, follow
pre-depends. This fixes the bug which prevented installation of
the new dpkg (this fix was previously introduced as a Debian revision,
and closed bug #151701)
* Startup should be faster in certain circumstances (eg: when many new
packages are available, or many packages have changed state)
* "aptitude install <task-name>" will install all packages in the task.
(Debian bug #165624)
* The resize bug in curses is fixed; re-enabled asynchronous resizing.
* Equivalent to apt-get's "-t" command-line argument.
(Debian bug #151583) NOTE: this is untested, since I don't have a
machine where it would have any interesting effect, but I'm setting the
same APT option as apt-get, so it should work. The effects on
the interactive mode of the program are unknown at this time, use
with caution!
* Translation updates to:
- da.po by Morten Bo Johansen <mojo@image.dk> (Debian bug #171903)
- pt_BR.po by Andre Luis Lopes <andrelop@ig.com.br> (Debian bug #162512)
In addition, changed the content-type of fr.po (Debian bug #156616)
* The information in the log file about how much the size changed by
should be much more legible now. (Debian bug #154924)
* Fixed an integer overflow when downloading really humongous packages.
(Debian bug #171903)
* Documented "M" and "m" in the online help (Debian bugs #160936, #154000)
* Expunged all references to the "x" keybinding. (Debian bug #166571)
* Several minor fixes of bugs, memory leaks, etc.
[2002-04-21]
Version 0.2.11.1 "Data updates are my friend"
* This release has corrections to typos and other data issues; it does
not change a single line of code. This should be pushed into woody.
* Merged updated Polish translations from Michal Politowski
<mpol@charybda.icm.edu.pl> (Debian bug #143051)
* Merged updated Finnish translations from Jaakko Kangasharju <ashar@iki.fi>
* Included information on the CVS tree (Debian bug #141371)
* Fixed the dangling reference to SEARCHING in the manpage
(Debian bug #142651)
[2002-04-06]
Version 0.2.11 "Look Ma, No Hands!"
aka "Hello, JoeyH :)"
* IMPORTANT: The "new" command style is now default. The old one is
available from the options menu, and users of previous versions may have
it in ~/.aptitude/config. The new style is fairly straightforward,
and similar to dselect. (eg: '+' tells the program to install the package
at the most recent version, and/or cancels holds)
With any luck, this will squeeze into woody; I don't need a whole new
generation of users used to the old imprecise system before I change it.
* '+' on an installed package no longer reinstalls it. A separate
keybinding for reinstalling packages is now available, defaulting to 'L'.
(Debian bug #183122)
* The prompt in command-line mode now allows you to enter the full UI,
or to modify the set of installed/removed/purged packages.
(Debian bug #136916)
* The preview in command-line mode can be more informative: it can display
version numbers and dependency information. (-V and -D)
* Added a -P option; passing it causes aptitude to always prompt for
confirmation.
* Verbosity levels are now available. Right now this only affects
simulation (with verbosity=0, the long list of "Inst foo/Conf foo/etc"
is suppressed)
* Many command-line options can now be given in the configuration file.
(eg, Aptitude::CmdLine::Show-Versions for -V)
* The command-line mode now supports an "unhold" command.
(Debian bug #137770)
* Tasks and sections now have "descriptions" which appear in the
`package description area'. (Debian bug #136684)
* Added a %H display escape, which expands to the hostname of the
computer aptitude is running on. (Debian bug #137754)
* In command-line mode, the prompt is suppressed on upgrades when nothing
is to be done. (Debian bug #137302)
* Reinstalled packages are displayed in the preview screens again.
(Debian bug #138120)
* Rewrote the description widget's formatting code to be reasonably
legible; this had the side effect of fixing an otherwise tricky bug.
(Debian bug #137783)
* Fixed a bug which made the Tasks tree virtually useless by hiding
many packages. (Debian bug #136684)
* If the user aborts an update, reload the cache. (Debian bug #138070)
* autoclean now defaults to false, the "safe" option. (Debian bug #138685)
* Fixed a nasty segfault involving running off the end of the list.
(Debian bug #136967)
* Fixed an infinite loop if the user tried to scroll the description while
it was hidden. (Debian bug #140361)
* The "install" command-line action doesn't interpret trailing plus
characters (or hyphens, underscores, or equal signs) in a package name
as explicit install requests if a package by that name already exists.
In short: "aptitude install g++" actually works. (Debian bug #140933)
* Focus handling: you can no longer focus an empty description widget, and
the highlight bar in the package tree is hidden when the tree loses focus.
(Debian bug #136550)
* "aptitude --help" now documents the "download" command.
(Debian bug #138150)
* The status messages on startup are now suppressed in the "aptitude search"
command. (Debian bug #136873)
* When the download is stalled, "stalled" is now displayed in the progress
bar. (Debian bug #136520)
* The command-line mode deals sanely with window resizes.
(Debian bug #137945)
* For obsolete and local packages, an "available" version is not displayed.
(Debian bug #120872)
* Added a description for the "alien" section (Debian bug #136684)
* aptitude now recognizes "--version" (Debian bug #141296)
* German translation updated, courtesy of Erich Schubert <erich@debian.org>
* Thanks go to joeyh (and others) for sending in a slew of bug reports
and suggestions.
[2002-03-02]
Version 0.2.10 "World Domination Or Bust"
* aptitude now has support for batch/command-line mode, similar to apt-get.
This isn't going to make everyone happy just yet, but it should cover
most common cases. Upgrades via this approach get all the usual benefits
of aptitude (tracking unused packages, recommends, etc). There are
various other features; see aptitude(1).
* If a package matches the "never remove these packages" expression,
not only will it not be removed automatically, but its dependencies
are also protected.
* Documented the "p" state of packages. (Debian bug #135112)
* Matchers now exist for upgradable and new packages. The new meaning
of the ~r matcher (things which would be removed due to being unused)
has been assigned to the new ~g matcher; the old ~r meaning has been
reinstated. (Debian bug #135571)
* If Suggested packages are being installed by default, no packages
will be removed automatically if something else Suggests them. There
are still a few odd cases here, but this is probably about as
good as I can do for now. (Debian bug #135956)
* There is now a menu item to mark all upgradable and not manually held
packages for upgrade.
* Packages being downgraded are now split into their own section in the
preview.
* Logging is now on by default; /var/log/aptitude is used.
* When Auto-Upgrade is off, packages which are not manually held are
not displayed with "h" in the action field.
* Updated Finnish translations from Jaakko Kangasharju <ashar@iki.fi>
* Fixed a display problem in the download screen; the amount of time
displayed in the summary always had an extra "s" appended to it.
(Debian bug #135567)
* Removed the INSTALLATION section from the manual; however, it
was replaced by command line options. I'm not sure how joeyh
will feel about this fix. (Debian bug #136478)
[2002-02-17]
Version 0.2.9.4 "Black Holes Are Where God Divided By Zero"
* When calculating the time remaining in a download, aptitude
was dividing by CurrentCPS. Unfortunately, CurrentCPS is often
zero! On some platforms this works anyway, but it crashes on others
(eg, alpha)
The code now tests whether CurrentCPS is zero when generating the
progress bar. (Debian bug #122064)
* Forget-new-on-update actually works. (Debian bug #134226)
[2002-02-10]
Version 0.2.9.3 "Curse you, gcc steering committe!"
* g++-3 #defines _GNU_SOURCE by default, causing compilation to
die in because it's already defined. All #define _GNU_SOURCE
directives are now protected. (Debian bug #133250)
* Actually include the Polish translation of the manpage, and update
pl.po slightly.
(Debian bug #114396)
[2002-02-09]
Version 0.2.9.2 "Odds 'n Ends"
* This release is because I accidentally left some uncommitted cruft on
a computer I wasn't planning to use for a while. I rediscovered it,
equally accidentally, and am now releasing it officially.
* Added %M to the default column display.
* Tweaked the preview screen so that packages which are being automatically
upgraded do not appear as being "Automatically Installed" (maybe not the best
way of doing things?)
* Really fixed the su-to-root stuff.
* ~ahold now really does the Right Thing (same for some related stuff)
(Debian bug #126800)
[2002-02-09]
Version 0.2.9.1 "Silence of the LANs"
* Argh. I left a bug in 0.2.9; marking a package as auto-installed screwed
up undo. Fixed now.
[2002-02-09]
Version 0.2.9 "Please Sir, Can I Have Some More?" aka
"When Changelog Entries Attack" aka
"Slower Than Cold Molasses"
* This one took so long to get out and has so many bugfixes that it
gets three release names. Aren't you happy? :)
* aptitude now has functionality similar to debfoster/deborphan.
It tracks whether a package was automatically installed and
automatically marks automatically installed, but not-depended-upon,
packages for removal. You can of course adjust this behavior; see
the "TRACKING UNUSED PACKAGES" section of the manual.
(Debian bugs #122726, #102205, #114464)
* Added logic for idempotent package commands, and an option to enable
them. I feel that these commands are actually much more logical than
the old-style aptitude commands.
* Packages which are held, but broken, are now visually flagged as being
broken. (Debian bug #120785)
* The log messages now include date/time. (Debian bug #120874)
* Re-ordered the preview screen's grouping. I would like feedback
on this. (Debian bug #128542)
* Rewrote several sections of the documentation, partly based on user
input. (Debian bug #126492)
* Mark all upgradable packages for upgrade before resolving any
dependencies. This handles a situation involving ORed version-specific
dependencies. (Debian bug #108379)
* Changed the symbols for collapsed/opened trees to something not
using +/-, which seem to be ambiguous. (Debian bugs #120890, 102033)
* When editing a string, the cursor now starts at the beginning of the
line. (Debian bug #120890)
* When reconfiguring packages, gracefully handle the case where
/usr/sbin/su-to-root does not exist. (Debian bug #130423)
* Really made translated header widths work (and I tested it this time! :) )
(Debian bug #114401)
* Corrected a misspelling in the options dialog (Debian bug #120887)
* Updates to da.po from Morten Brix Pederson <morten@wtf.dk>
* The information bar at the top of the screen is now translatable.
Patch from Morten Brix Pederson.
* Fixed a misspelling in de.po. (Debian bug #123644)
* Fixed a minor display bug when a package category was longer than the
width of the screen and the last item in the display. (Debian bug #123652)
[2001-12-09]
Version 0.2.8.1 "Sigh"
* Incremental search now returns the display to the starting location on
the empty string and invalid patterns.
* There is now a matcher for packages which are not depended on in various
ways. (Debian bug #122726)
* The pause after a download is now optional (Debian bug #120873)
* package data moved to /var/lib by default. (Debian bug #122334)
* Aptitude should not crash on alpha any more, at least, not the way
it used to.
* Description of the "comm" section changed to explicitly include
non-faxmodems. (Debian bug #121951)
* "j" and "k" were reversed in the help text. They are now correct.
(Debian bug #122061)
* Danish translation from Morten Brix Pedersen <morten@wtf.dk>
* es_ES.po has been renamed to es.po. Someone who knows more about
Spanish than me (Jordi Malloch) told me this was a better name for it.
* pt_BR.po updated from patch supplied by
Andre Luis Lopes <andrelop@ig.com.br> (Debian bug #122251)
[2001-11-22]
Version 0.2.8 "I Like Bunnies"
* Better documentation for the behavior of "/" when no special search
terms are used. (Debian bug #120592)
* Fixes some segfaults accidentally introduced with the incsearch code.
* Incremental search is now an option (defaulting to ON)
* Added special matchers which match packages depending on another
package. These matchers take another matcher as an argument, so
you can specify conditions such as "packages depending on packages
maintained by me"
[2001-11-21]
Version 0.2.7.999 "This release will self-destruct in 10 seconds"
* This release is a prerelease to 0.2.8, to test the new incsearch code.
* Incremental search implemented, finally.
* Don't crash if tasksel is missing. (Debian bug #120578)
* Make sure to use the correct translated column widths all the time.
(Debian bug #114401)
* Minor memory leak in search code fixed (it would leak a few bytes
every time you entered a new search term)
[2001-11-20]
Version 0.2.7.3 "Boy I'm glad I'm not a turkey"
* Categories updated to take into account many new packages in the
archive.
* New pl translation finally merged. (Debian bug #114396)
* Fixed reference to ~a/~A in README (Debian bug #116695)
[2001-11-20]
Version 0.2.7.2 "Ludicrous Speed"
* Rewrote the task loader based on input from Jason Gunthorpe.
The new version should be significantly faster, especially on
low-end systems. (Debian bug #116750)
* Fixed an annoying visual bug involving the page-up key.
* Added a menu item to reload the cache on demand (useful for debugging)
This is a compile-time option and defaults to being disabled.
* The "f" key in Minesweeper mode is now documented in the online help.
(Debian bug #120251)
[2001-10-01]
Version 0.2.7.1 "Millenium Hand and Shrimp"
* Made it compile again using g++-3.
[2001-10-01]
Version 0.2.7 "All the zeros and ones"
* Version number bumped, just because this is not merely a trivial bugfix,
and the version numbers were getting silly.
* Added support for the Task header. (Debian bug #113657)
I'm not sure what will happen if you have task- packages as well as
Task headers. Probably something weird.
[2001-09-22]
Version 0.2.6.5 "Twisting arms"
* Work around a g++ bug on arm by reversing the order of some #includes.
* Reverting options no longer sets options which had been set by the user's
personal configuration to a blank string.
[2001-09-15]
Version 0.2.6.4 "If at first you don't succeed"
* Loading keybindings works again. In addition, it works correctly
in the presence of themes. (the keybindings defined in the theme can
be individually overridden by the user) Fixes Debian bug #112307
* The list of available keybindings in README has been corrected.
[2001-09-14]
Version 0.2.6.3 "More bug-skooshing"
* When compiled without optimization, aptitude no longer crashes whenever
a package is unhighlighted. (I shudder to think why the optimized build
wasn't crashing)
* move_forward_level no longer ever "falls off the edge of the world".
This fixes the segfault reported in #112267.
[2001-09-13]
Version 0.2.6.2 "Bug-skooshing"
* The program no longer crashes when the hierarchy editor is used.
All known something-completely-doesn't-work type bugs are now fixed.
* Updated the package categorizations.
[2001-09-13]
Version 0.2.6.1 "Darkness over Manhatten"
* Fixes a horrible bug in 0.2.6 which prevented downloads from working.
(Debian bug #111950)
* The translations should be back in the package again. (d'oh!)
(Debian bug #111904)
* The default display is back to its usual configuration (oops)
* An option now appears in the "UI Options" dialog for the default grouping.
* The scrolling behavior of the line-editor should be more friendly.
(it'll scroll by single characters to a greater extent)
[2001-09-08]
Version 0.2.6 "It's against my programming to impersonate a deity"
* IMPORTANT NOTE: this version will not compile on potato. If anyone
cares about this, I can patch the code to not compile themes on
potato. (the problem is that a feature I use to load themes isn't
available in potato's libapt) Alternatively, some brave soul could
patch aptitude to load themes using potato's libapt...
* Released despite the fact that 0.2.5.3 is not yet in testing. From
my glances at the testing bot's output, the problem is that the deity
people are being lazy and not fixing RC bugs, which (since aptitude depends
on a version of apt not in testing) is preventing the new apt from going
into testing (which would break deity in testing). And aptitude can't go
into testing without the new apt. Blah.
By the time deity-devel fixes their bugs and gets recompiles for all archs
and so on, this will be ready for testing. I would have uploaded it a
long time ago, had I realized what would happen.
* This version adds support for externally defined package hierarchies,
one of the major original goals of aptitude.
As usual, this turned out to integrate less well into the program than
I had hoped. Fixing this will probably require another tree-class rewrite,
and I think I'll aim at fixing it in 0.4.x. Anyway, though, the basic
stuff is there. A lot of the work, actually, was in a massive and concerted
attempt to make a first-cut hierarchy of all the packages in sid. This
was successful, in the limited sense that such a hierarchy now exists (and
is distributed with the program) However, it has many problems and
even some inconsistencies. Further work on that front is needed.
The hierarchy stuff is documented in README.hier. If you are an APT
frontend author, please be aware that it is trivial to implement, and a
(slow) generic implementation is available in src/generic/pkg_hier.{cc,h}.
(this is currently the implementation used by aptitude itself)
In other words: I want to encourage people to use this mechanism.
If you are interested in helping improve the categorizations, I suggest
using the internal category editor (press "E" while viewing packages) The
Vertical-Split layout is particularly useful for this.
Efficiency is somewhat of a concern with this code; however, if you do
not use it, it is my hope that it will never affect your use of the program.
* In addition, there is slightly hacky support for a "flat package browser".
This goes hand-in-hand with the above change, as I found that complex
hierarchies were actually harder (for my little mind :) ) to navigate using
aptitude's traditional tree-based approach. Do "New Categorical Browser"
from the "Views" menu to try this out.
* The screen layout may now be configured by the user. This is
currently only available by editing configuration files, and is
undocumented (because it's complicated, and I may change the format
for a few revisions while I'm trying to figure out the best way
of doing things) See $prefix/share/aptitude/aptitude-defaults for
some examples.
* "Theming support" is available. A "theme" is basically a collection
of settings that makes aptitude behave and look differently. The only
themes available are "Vertical-Split" (highly recommended by me for wide
consoles or xterms, especially if you're editing package hierarchies), and
"Dselect" (not particularly useful even if you are a dselect junkie)
* Aptitude::UI::Default-Grouping is now documented, and will not be
used to set the grouping of a preview screen (bug #110704)
* Aptitude::UI::Package-Header-Format is now documented.
* Colors can be defined as being bold. This cleans out a lot of evil
cruft.
* A 'short priority' column is now available (added to support a
dselect theme)
* autoclean-on-update works again. (bug #108565)
* ~ahold works again. (bug #111466)
* Several bugs in the table layout code were fixed; it should behave much
more sanely now.
* If aptitude (God forbid!) crashes or is killed with a catchable signal,
it will now properly shut the display down instead of leaving it in a
screwy state.
* Fixed building on ia64 (old nasty debug code was breaking it)
* Deleted the note in the README about "Save Options"
* The configuration is now saved to config.new and moved to config using
rename(2). This should guard better against problems with the save process.
* Subtree names in small windows are no longer clipped to one character
too short.
* Updated my mailing address in README and AUTHORS to @debian.org.
[2001-08-06]
Version 0.2.5.3 "I hate build errors"
* getopt_long returns an int, not a char. This caused signedness problems
on powerpc.
* time() and difftime() are in time.h. This caused compile problems
on the Hurd; it seems they were accidentally implicitly included on other
platforms.
* "make dist" no longer generates the ChangeLog automatically from RCS
entries. This means that I'll have to maintain it manually, but that
REALLY beats having to download the full log for every file over a phone
line every time I release a new version.
[2001-07-27]
Version 0.2.5.2 "Dashing away with a smoothing iron"
* Fix an endianess problem that caused crashes on Alpha (among others)
(Debian bug #106588)
[2001-07-24]
Version 0.2.5.1 "Hand me the brown paper bag, nurse!"
* Using a widget with a history list no longer segfaults the program.
Lesson of the day: never assume that a change is benign even if it couldn't
possibly cause any problems! (Debian bug #106378)
[2001-07-23]
Version 0.2.5 "Drop the text editor and back away slowly"
* Multi-CD installs now work. (Debian bug #104236)
* Mouse support added. Doesn't do much now, but the menus and buttons will
work with it, and you can double-click packages to see information on them.
* The download list can be scrolled left and right using the left and right
arrow keys.
* Line-editors can now have a history list. (used when entering search and
limit terms, grouping mechanisms, and sorting policies)
* The prompt to enter a search term now defaults to an empty string; press
up or Control-P to recall the previous term.
* The 'set group' command now displays the current group as a default
entry. (Debian bug #103962)
* The Minesweeper help screen should really work this time.
* The Install/Remove menu item does the same thing as pressing 'g' when
a preview is selected.
* Added a line at the top of the screen listing some important keybindings,
and removed the welcome dialog. The welcome dialog was annoying, and
extensive user testing (consisting of me watching over my sister's shoulder
for about 5 minutes) revealed that people don't bother to read the
keybinding information in it anyway. (Debian bug #104483)
* The primary Undo keybinding (ie, the one displayed in the menu) is now
C-u, not C-_.
[2001-07-19]
Version 0.2.4 "C++ standard? What C++ standard?"
* aptitude compiles with g++-3.0. (Debian bug #104723)
* help-fi.txt is now in CVS (it was in the distribution tar.gz, but never
got added to CVS. Go figure)
[2001-07-11]
Version 0.2.3 "Curse you, Peter Pan!"
* Finally, a new version..unfortunately, aptitude 0.2.2 needs two more days
to get into testing, and I'm going to be gone in a few days. I want to
upload this version significantly before the freeze, since it fixes some
bugs and could also add some that'll have to be squashed. So I'm going to
say farewell to my dreams of 0.2.2 in testing, and upload this. Maybe I
should increase the urgency, I really don't want the version in testing
to be released with woody.
* This version of aptitude should compile on Progeny Linux and on potato.
* aptitude can now attempt to automatically su to the root user when
running as a non-root user. Treat this with some care, as it's a fairly
complex and new feature -- ie, there are probably bugs and unexpected
behavior lurking in it.
However, this should provide an escape route in "OMG, I just spent an hour
picking programs to install and forgot I wasn't root!" situations.
* aptitude now supports some command-line options, see "man aptitude" for
details.
* "status bar" downloads aren't any more; "split-screen" is more
accurate. They display the currently active items and leave out the
history of past downloads.
* With any luck, the media-change message should now fit on one line.
This still doesn't handle the case where the CD name is longer than the
screen width, but I hope it'll do for now.
* Pressing "q" while a 'status bar' download is in progress now stops it.
* If the package list is resized so that the selection would be off the
screen, the selection will now be preserved. (Debian bug #103963)
* A package description with a word which is longer than the screen width
will no longer crash aptitude. (Debian bug #103691)
* Broken dependencies now have a visual marking other than color.
(Debian bug #79047)
* If the menubar autohides and the user opted to be able to close all
screens without exiting the program, force the menu to be visible
anyway if no screens are active. (Debian bug #102918)
* Fixed bugs that prevented the "utils" and "hamradio" sections from having
descriptions displayed.
* If you try to start aptitude as root while the apt cache is locked, it
will open the cache read-only. (previously it just refused to run at all)
* A limit type based on the action to be taken with a package
(install/upgrade/remove/purge/reinstall/hold) is now available.
(Ted Tso's suggestion, no bug #)
* The 'action' keys can now advance the cursor to the next item at the
current level. They won't advance into subtrees or out of the current
subtree; this is because it's nontrivial for me to move to the "next"
subtree due to the design, and moving out of a subtree violates the
Principle of Least Surprise (not to mention probably causing you to delete
half your packages) (Debian bug #104209)
* Pressing '?' while playing Minesweeper will actually show a help screen
now.
* You can now run dpkg-reconfigure from within aptitude (it's a silly
feature, but it's also about 10 lines of code..)
* When aptitude starts for the first time, it will *not* mark every
package as new.
[2001-06-29]
Version 0.2.2 "Finlandia"
* The Finnish translations have been updated to work with 0.2.0. This is
the major change in this release.
* Default widths can now be set by the translator, albiet in a slightly
hacky way. (you can translate a string of numbers to set them. See
pkg_columnizer.cc for a short description)
* A short description of each section is now displayed next to the section
itself. This clutters things up a bit and may be modified or removed in
a future release.
[2001-06-28]
Version 0.2.1 "Another Fine Mess"
* Options are now automatically saved when you hit "OK". Let's hope I was
overly paranoid earlier about the possible consequences of this..
* Installing from CD-ROMs works. Amazingly, this worked perfectly in every
release through 0.1.9 -- 0.2.0 broke it when I changed the semantics of
popup_widget(), and I couldn't test it until I finally found a CD..
* Minesweeper's dialog boxes (new game, etc) work. (although pressing
Enter while Cancel is selected does the Wrong Thing..)
* The original behavior of the tree widgets has been restored: they only
scroll one line at a time. Personally, I find this to be much better; I
hope you do too.
* Really fixed the signedness issues with addch() this time. (I hope..)
* The ancient bug that caused the root of the tree to be hidden when you
pressed End has been found and terminated (with extreme prejudice)
[2001-06-25]
Version 0.2.0 "Damn The Torpedoes, Full Speed Ahead!"
* Ok, it took a bit longer than I expected. Sue me.
This is the first version in the 0.2.0 "stable" series, where "stable"
means "working reasonably well". User-visible changes from 0.0.x include:
* The UI has been completely rewritten. Several changes below
follow from this, but in general it allowed the interface to become
more flexible and dynamic.
* aptitude now supports a split-screen display. It isn't visible by
default in all screens; press 'D' to show or hide it.
* There is a global menubar.
* The currently active views are arranged less like a stack: you can
cycle between them or jump to a particular one.
* 'x' no longer has any function. You cannot say "revert all
changes I made in this display", because with a non-stack display
model, "all changes I made in this display" doesn't make sense.
* You can read this document from within the program.
* The program options can be modified from within the program.
* You can configure the way in which packages are grouped and
sorted.
* You can play Minesweeper from within the program.
* The download display has been entirely rewritten. ie, it works
now and isn't so much of a hack.
* When a package is marked for installation, aptitude can now
install the packages it recommends and/or suggests as well.
* aptitude can now perform clean and autoclean operations.
* much, much more. (well, maybe not. Do I look like I know?)
Changes from version 0.1.9:
* Aptitude::UI::Prompt-On-Exit works again.
* The extended description area can be hidden by default.
* Autoclean actually works, rather than just saying that it works.
* The menubar now automatically pops up the first menu, rather than
doing this "select the menu name" thing.
* It should now be possible to view the NEWS file from the Help
menu.
* Removed the Test Error.
* Added src/vscreen/README.layout to the files which are included in
the distribution.
* You now get the extended description area, status line, and so on
in all screens, even if you access them via a version item (oops)
* The extended description no longer allows you to scroll off the bottom.
* Fixed sorting, in an only slightly ugly way. (the configurable
sorting was only being applied to the first level of hierarchy)
* Eight-bit characters should work again in vs_pager, I hope.
* vscreen/ compiles with g++-3.0.
The convention I'm now using for STL classes is this: header files
should explicitly use "std::" to access them; .cc files should
declare "using std" (AFTER all #includes!)
* Several strings were still hard to translate because they were
used in concatenation to produce a result.
* Menu tweaks: the "o" in "Remove obsolete packages" is now
highlighted.
* Fixed some random deadlocks by using recursive mutexes.
* Documentation updated, although not as much as I wanted to.
Pre-0.2.0 versions:
===============================================================================
[2001-06-18]
Version 0.1.9 "Speak Now Or Forever Hold Your Peace."
* If there are no serious bug reports about this, APTITUDE 0.2 WILL
BE UPLOADED TO UNSTABLE IN THE NEAR FUTURE! Therefore, if you know of
a problem that should prevent this from being released into the wild,
PLEASE TELL ME! Thank you.
* There is now a header which displays various useful information.
* The views all display a header, description area, and status line.
(previously only the main package list displayed them)
* The status line now does something slightly more sensible when no package
is selected. Suggestions for further refinement welcome
* Changing the status layout configuration now has an immediate effect.
* You can now have a separate limit for preview screens
(Aptitude::UI::Preview-Limit)
* Various informational messages are displayed in the status line now if
the "minibuffer interaction" option is set.
* Package matchers for Origin and Archive are now available.
* There is now an option ("Aptitude::UI::Welcome-Dialog") controlling
whether the potentially annoying welcome dialog is displayed on startup.
* Various potential crashes fixed, I hope.
[2001-06-15]
Version 0.1.8 "Making a List and Checking It Twice"
* Viewing dependencies no longer causes Aptitude to enter an infinite loop
* Added consistency checking: you can no longer perform an installation
run if there are broken packages (the problem-resolver will run and you
will be sent back to the preview screen)
* Aptitude can now install Recommends and Suggests when a package is
selected for installation. (note, however, that libapt is a little screwy
and seems to behave incorrectly if there is an OR in the Recommends: or
Suggests: line. I'll work up a proper bug report when I have a chance)
This only works if Auto-Install is on. Therefore:
* Auto-Install IS NOW ON BY DEFAULT! I think this should be fine, but people
should be aware of this.
* Aptitude can now perform the "autoclean" operation of apt-get. It can
also perform the "autoclean" operation automatically whenever packages are
updated. Addresses Debian bug #97653.
THIS IS ON BY DEFAULT!
If you think having it be on by default is bad, PLEASE LET ME KNOW!
If you think having it be on by default is good, PLEASE LET ME KNOW!
I have mixed feelings about this, because while naive users who just take
the defaults will probably benefit from this, I feel that it violates the
"principle of least surprise".
* Reinstalled packages are no longer listed as broken in the preview screen.
* Reinstalled packages and versions of reinstalled packages are colorized
correctly.
* Aptitude::Log is now documented.
* Action logs are now sorted by type and package name. In other words: it
should now be possible to make sense of them.
* Essential packages can be selected using a matcher.
* Packages which are essential have a line saying "Essential: Yes" in
their info screens.
* Marking an essential package for removal is now difficult (if you can get
the problem-resolver to do it, though, the program won't complain when you
try to remove them. I don't think the problem-resolver will ever do this,
though..) Addresses Debian bug #86115
* Packages can be grouped and sorted by priority.
* Cleaning the package cache gives more feedback.
* Recommends and suggests are colored red if they are not met.
* Certain trees (specifically package installation modes and priorities)
now are sorted in a non-alphabetical order. For instance, with priorities,
the highest priority comes first, followed by the next-highest, and so on.
* Fixed a crash when using ANDs in matching expressions.
[2001-06-04]
Version 0.1.7 "No."
* Scrollbars should now be fixed in the popup pagers. (there are still some
visual artifacts, which I'm tempted to attribute to Curses bugs..)
* A Minesweeper game is now available in aptitude, to liven up those long
downloads. Select "play Minesweeper" from the main menu..
* Trying to repeat a search before a search has been performed no longer
crashes the program.
* Many more items added to the options menu and dialogs. Internally we now
use static tables to build the option dialogs, which should make it easier
to add new options to them.
* Fixed several small problems with the documentation of configuration
options.
* A popup window now appears for the entire time that aptitude is setting
up after loading the cache. (it currently says "loading cache") The real
solution is to make this not take so long, but..
* NOTE: this version does NOT have the "don't let the user do something
broken" code featured in 0.0.8.7. With luck, 0.1.8 will have its own
version of that logic.
[2001-05-03]
Version 0.1.6 "Are We There Yet?"
* Merged with the stable branch through 0.0.8.6
* File menu renamed to Actions (since that's what it is)
* Undo re-enabled, and created an "Undo menu". Note that undo no longer has
the mark/revert behavior it used to -- in fact, it cannot, because the UI
is no longer a strict stack (you can switch from one screen to another freely)
* The README can now be viewed (from within the program) from the Help menu.
* The menus and a lot more UI stuff should now be fully translatable.
* Fixed a nasty little bug where undoing one action would make all
auto-upgraded packages revert to being held. (backported to 0.0.8.6)
* When displaying a keybinding to the user, C-_ is displayed as C-_ rather
than C-^?.
* Information about the currently selected item is now displayed in the
"status bar" style, with an additional "bold" attribute. Makes it easier to
tell apart from, say, an extended description.
* Fixed some bugs in the logic for causing the download display to
constantly stick to the end: in particular, the currently downloading
item should now be on the bottom line of the screen rather than being
off the bottom (and thus invisible)
* If ~/.aptitude does not exst when the user selects "save options",
it is now created.
[2001-04-27]
Version 0.1.5 "Will Debianize For Food"
* All changelog entries which are really from 2001 are now listed as being
from 2001. However much I wish I could stop the forward march of time, I
don't think that's the way to go about doing it.
* Split-screen! Ok, it's slightly hacky, unconfigurable, can't display
anything besides the package description, and the bindings are quirky, but
hey, the idea is there :)
For lazy people :), 'D' shows/hides the description window and 'a' and 'z'
move up/down in it. 'Tab' can be used to switch to it, at which point the
usual navigation keys work. At least, the ones I've implemented (up one line
and down one line) work.
* A precompiled matcher is now always used to perform searches. This not
only makes searches (hopefully) faster, it also prevents crashes when a bad
search term is encountered a la bug #95455.
* Packages which don't have an explicit source package listed should have
a source package which has the same name as the package itself. The info
screen now makes use of this fact.
* Exiting now saves the selection info again (there's not yet an
"exit and discard changes" -- just Ctrl-C :-) )
[2001-04-10]
Version 0.1.4 "Once there was an Elephant, who tried to use the Telephant"
* Merged with stable up through 0.0.8.3.
* The multiplexer now jumps to the "previous" widget when the current
one is destroyed. The point of this is that the main aptitude display will
act more or less like a stack again, which is a lot more convenient than how
it was acting in 0.1.3.
* The "Cancel" button displayed after downloading packages actually works.
* When downloading stuff, the "saving extended information" progress
bar is hidden.
* The (non-minibuffer) download screens now have an "overall progress"
indicator.
* The status line now displays information about the currently
selected menu item.
[2001-03-23]
Version 0.1.3 "South Blue Quickly"
* Still a BETA DEVELOPMENT RELEASE.
* Worked around a dumb autoconf bug.
* Merged with stable updates through 0.0.8.0.
* Added a match type for versions (~V)
* Fixed a bug that caused the download-list to be updated at very
irregular intervals.
* Added a popup after the download that claims you can continue
or cancel. You can't. But it's a nice thought anyway. (see the first item)
* Added sorting policies. It was harder than it sounds. See README.
[2001-02-21]
Version 0.1.2 "Erlkönig"
* Still a BETA DEVELOPMENT RELEASE.
* How packages are grouped into the hierarchy can finally be configured!
Currently there are only a few totally new options, but I'm sure people will
find novel ways to brea^H^H^H^Hconfigure their systems. Also, it's dead
simple to add parsing for new policies (see load_config.cc and
pkg_grouppolicy.cc)
See the "GROUPING CONFIGURATION" section in the README for more information.
* The download screen now scrolls automagically! This closes one of the
longest-standing and most just complaints about Aptitude. (TODO: add a
scollbar widget -- not hard)
* The "bytes downloaded" message shown when download completes now allows you
to scroll the download screen behind it. (TODO: display this as a "minibuffer"
if the user requests it)
* Synced with 0.0.7.15, fixes various minor issues and makes the default
grouping more sane.
* When you do a "forget new", the display is updated to reflect that fact.
* Supposedly, package-info lines should be hidden when you perform a download.
I'm not sure this actually works..
* There's code to allow different sorting policies, not that you can actually
use it. (eg, sort by size..)
* Divide-by-zero errors no longer randomly happen while you're downloading.
[2001-01-30]
Version 0.1.1 "Fool! I told you the Electric Rubber Ducky Incident
was never to be mentioned in my presence again!"
* Still a BETA DEVELOPMENT RELEASE.
* Updating package lists and installing packages is now possible! This is
still a little dicey and will improve in coming releases, but you can do it.
* aptitude now compiles (and works) with APT 0.4, in addition to APT 0.3
No 0.4 special features are explicitly supported yet.
* configure.in now aborts if libsigc++ can't be found.
* Keybindings for the current view were incorrectly active while the menu was
being used. Fixed.
* You can now choose whether the menu should auto-hide, and by default it
doesn't.
* Searching for packages is again possible. I've tried something that will
hopefully make it less slow..
* The apt package cache can be cleared from aptitude.
* Various crashes fixed.
[2000-12-03]
Version 0.1.0 "Release without a name"
* This is a BETA DEVELOPMENT RELEASE. It is not fully functional yet; please
use older versions if you need missing features.
* The ui-rewrite tag finally belches forth a working binary! Yes,
aptitude 0.1.0 is here at last. Changes are too numerous to really list, but:
* vscreen is now a full widget library based on libsigc++, supporting real
layout, signals/slots (of course), and..um..lots of other good stuff. Look
at the header files for more info (yes, I'll probably eventually fork it into
another project)
* this means that aptitude now depends (build and runtime) on libsigc++0.
Sorry, potato users :(
* On the plus side, we finally have a (links-style) menubar.
* User-specific options (in ~/.aptitude/config) are supported, and can be
explicitly saved by the user.
* The new version doesn't handle small terminals so well yet (and resizing
an xterm will cause a segfault!)
===============================================================================
Pre-0.1.0 versions begin here:
[2001-06-08]
Version 0.0.8.7.1 "D'oh"
* The limit of the preview screen can once again be modified. Thanks to
Michael Politowski for pointing out a simple typo.
[2001-06-04]
Version 0.0.8.7 "Home from the Hospital"
* Displaying information about a particular package version will now use
the description of THAT version.
* Fixed some problems with the autotools suite.
* If the user's selections in the preview screen mean that something has
to be fixed-up, the program now does the fixing and presents another preview.
This addresses the following Debian bugs: #87774, #96559. It may not fully
close them; I am not certain whether the problem in those bugs is that I
am incorrectly displaying the state of the packages, or that the problem
resolver is doing stuff behind the user's back.
Note: this is NOT forward-ported to version 0.1.x; this code is different
enough in that track that I'll have to come up with a solution separately.
[2001-05-03]
Version 0.0.8.6 "Groundhog Day"
* Really don't save extended state info if that info was modified (I thought
this worked in 0.0.8.4, but, doh, I actually had done it in the unstable
branch)
* Hitting "purge" on a package version now does the expected.
(Debian buf #96228, reported by the same JP)
[2001-05-01]
Version 0.0.8.5 "Bring Me A Shrubbery!"
* Fixed two bugs relating to translations, reported by the ever-vigilant
Michal Politowski:
- Reran gettextize so that translations get installed with usable names.
(Debian bug #95749)
- Changed "purge" to "purged" when it is used to describe a package's
current state. (this lets translators distinguish between them, and is
probably better anyway) (Debian bug #95867)
[2001-04-27]
Version 0.0.8.4 "I hate finals"
* aptitude now only saves its extended state information if that information
was modified (Debian bug #93135, reported by JP Sugarbroad <taral@taral.net>)
* Don't segfault when the user searches while the cursor is on the last
item in the tree. (Debian bug #95495, reported by
Len Sorensen <lsorense@opengraphics.com>)
* Added description of action/state flags to online help and README.
(Debian bug #93216, reported by Piotr Krukowiecki <piotr@pingu.ii.uj.edu.pl>)
PS - debian bug #90909, referenced below, dealt with a crash that occured when
updating the package lists while viewing information about a package. Sorry
for the overly terse entry.
[2001-04-05]
Version 0.0.8.3 "Palindrome"
* Fix Debian bug #90909, reported by Robert Bihlmeyer <robbe@orcus.priv.at>
This bug was due to the fact that I inexplicably overrode an important
method to do nothing.
* Added a Galacian manpage and help file.
Thanks go to Jacobo Tarrio <jtarrio@iname.com>.
[2001-03-23]
Version 0.0.8.2 "Midterms suck"
* Fix compile problems with apts in the 0.3 series. (this one was actually
tested with 0.3, so there)
[2001-03-18]
Version 0.0.8.1 "Do you know how hard it is to come up with dozens of
clever and witty release names? I bet you don't! I bet
no-one even reads these! I bet it doesn't matter if I rant
for pages and pages and pages about teapots in the sky!"
* Fixed a long-standing but undetected bug. It turns out that some packages
exist in the database but aren't available (they are called into existence by,
for instance, a dependency on a non-existant package) But aptitude was storing
"sticky" state information for these packages. This had a number of
subtle but potentially startling consequences; among them is the
fact that if a package of that name was eventually uploaded to the
archive, it wouldn't show up as "new".
[2001-03-16]
Version 0.0.8.0 "Roll over, roll over.."
* Galician translations, thanks to Jacobo Tarrio <jtarrio@iname.com>.
(is it a sign that your program is popular when people translate it to
languages you've never heard of? Thank God for web1913 :) )
* Spent a few minutes figuring out how to do (non-sticky, sorry) installation
of a particular version. Finally those version lists do what they oughta!
More or less.
* Incremented the third digit of the version. Please don't laugh.
[2001-03-04]
Version 0.0.7.19 "Jubjub"
* help-pl.txt is really installed.
* Don't print spurious errors when the user enters blank patterns.
* The "search again" binding now really has two values instead of just one.
[2001-03-03]
Version 0.0.7.18 "Jabberwocky"
* Retroactively corrected NEWS entries which were in '00 but should have been
in '01.
* Fixed bugs reported by Michal Politowski <mpol@charybda.icm.edu.pl>
- Accented characters in the status line are no longer displayed
incorrectly (a stupid sign-extension bug)
- Fixed a few cases of overeager marking of strings for translation.
- Fixed three crashes in the parsers for matchers and limits
* Entering an invalid limit will no longer occasionally cause dozens of
errors.
* Gave in and made "n" an alternate binding for "search again".
* Added Polish translation, contributed by Michal Politowski.
[2001-02-24]
Version 0.0.7.17 "I will not make a stupid Brown Paper Bag reference here"
* Fixed a horribly STUPID bug in the APT 0.5 support, involving me misreading
the prototype of VersioningSystem::CheckDep and passing the arguments
in reverse order from what it expected! Oops.
[2001-02-23]
Version 0.0.7.16 "Brought to you by the letter F"
* Added two new translations:
- Finnish, contributed by Jaakko Kangasharju <ashar@iki.fi>
- French, contributed by Martin Quinson <mquinson@ens-lyon.fr>
* Made some formerly untranslatable strings in load_config.cc translatable
(thanks to Jaakko for pointing this out)
* configure.in now hacks around brokenness in some autoconf releases
that caused C++ code to break.
[2001-02-01]
Version 0.0.7.15 "Coda"
* Fixed a whole slew of bugs that Zack Weinberg <zackw@stanford.edu> was
unfortunate to run into simultaneously:
- Running into an error while loading the configuration no longer causes
the program to panic and display a blank "we couldn't start successfully"
screen.
- Keybinding subgroups don't cause a spurious error message.
- If startup isn't successful (and thus the package file wasn't read),
trying to exit no longer causes a crash. (just in case, added checks in
several other places for NULL pointers as well)
- The bindings for vs_tree (Aptitude::UI::Keybindings::Tree) can now also
be reconfigured from the toplevel, as expected.
[2000-12-18]
Version 0.0.7.14 "Grouping therapy"
* Suggestions and patches from Arto Jantunen <viiru@debian.org>:
- Tasks are now displayed as a separate "section"
- The hierarchy has been 'inverted'. The primary grouping mechanism is now
the 'subsection', with the 'top section' above it.
- Redundant hierarchy such as "virtual/virtual" is no longer there.
- the online help explains about the 'f' key.
* Various bugs, crashes, and bad behavior with APT 0.4 thrashed out.
[2000-12-12]
Version 0.0.7.13 "Portage"
* aptitude should now compile without modifications against APT 0.4. The
fancy new features won't be used and will probably never be hooked into this
branch -- the long-vapoured (but still slowly approaching) rewritten version
will be where I fiddle with that stuff.
[2000-11-27]
Version 0.0.7.12 "Bored in Providence"
* The long-standing TODO item of allowing a single package to be installed
without affecting anything else is more-or-less fixed, although I'm not
sure if it's the best implementation (actually, I'm sure it probably has
unfortunate glitches still..) Press "I" and read about it in the README
(although I should clear that documentation up..)
[2000-11-26]
Version 0.0.7.11 "My Grandma, what big Segfaults you have!"
* Fix a long-standing bug that triggered a segfault-on-start in extremely
unusual circumstances (which is how it avoided me for so long)
[2000-11-26]
Version 0.0.7.10 "I didn't do it! No-one saw me do it!"
* Errr...the changes in the last version included a hack to make packages
appear in the right indentation from the left-hand side of the screen. This
hack also happened to cause the program to misbehave very badly in some
circumstances (eg, when trying to download packages) I've replaced it with
a more invasive hack that actually works. Oh, and I tested it this time.
Testing things is a good idea..
[2000-11-25]
Version 0.0.7.9 "YOW! I've been LAID OUT by a COLUMN GENERATOR!"
* The only change in this release is a total rewrite of the column-generation
code. It's much less crufty and should allocate space more cleverly on
larger displays. (this also fixes a debbts report)
The column configuration is slightly different; if you have a custom
configuration, you might want to check the README.
[2000-11-22]
Version 0.0.7.8 "Silence of the Turkeys"
* Fixed a minor typo in the README reported in the Debian BTS.
* Similarly, fixed a small interface bug with the package-limit string.
* Finally got around to adding the delete-to-end-of-line and
delete-to-beginning-of-line functions to the line-editor.
* Logs of install runs now display (for upgraded packages) the version being
upgraded from and the version being upgraded to.
[2000-10-27]
Version 0.0.7.7 "Pentecost"
* More translations (es_ES and pt_BR) added. Thanks to
Jorge Carrasquilla Soares and Douglas Moura Ferreira for contributing
these.
[2000-10-15]
Version 0.0.7.6 "Package Management for Pern"
* Debian bug #74788 fixed: threads are eliminated if not available, allowing
aptitude to compile on the Hurd. (go Hurders!)
[2000-10-13]
Version 0.0.7.5 "Friday the 13th"
* Fixed the bug reported by Jordi Mallach <jordi@debian.org>, where "x"
had its view of its arguments backwards. (this was introduced by the change
in 0.0.7.2 which altered the messages displayed when saving as an
unprivileged user)
[2000-10-11]
Version 0.0.7.4 "Ich bin ein Berliner!"
* corrected German translations. Hopefully .de users won't mind no longer
being amused by my fractured Deutsch. Thanks to Sebastian Schaffert
for contributing these.
* Masato Taruishi has contributed a patch to internationalize even more
strings (it is even possible to have language-specific online help,
although no internationalized help files are written yet) He also
updated the Japanese translation to reflect this. (the German translation,
unfortunately, continues to lag behind)
[2000-10-03]
Version 0.0.7.3 "If I only had a brain"
* aptitude now REALLY has a manpage. (if it doesn't get installed by
"make dist", it's not in the program..)
[2000-09-23]
Version 0.0.7.2
* "Bug-reports keep fallin' on my head"
* aptitude now has a manpage.
* The program now works properly with local files (this was a problem
that arose from my abuse of libapt)
* If aptitude is run as an unprivileged user, pressing "q" and "x" no longer
mention saving anything.
* Merged in an i18n patch (thanks to Masato Taruishi for this and the
Japanese translation) There is a German translation done by me, but
given the state of my German, a native speaker may want to send me
a corrected translation.
[2000-08-03]
Version 0.0.7.1
* "Faster than a speeding river of molasses" release.
* The lengthy hiatus here was due to the fact that I was originally
planning to fix a bunch of cruft and release quickly towards the
beginning of the summer <sarcastic laughter> Then I decided to rewrite
the UI in a branch in CVS. That's not done, but the more braindead
mistakes really ought to be fixed, and should have been back in May when
I found them...
* Aptitude can now generate a simple logfile when doing a dpkg run
(and optionally pipe it into a command) It's not much (it should really
be sorted, or at least include more info), but it can help with "err, what
were those 500 packages I just upgraded?" situations :-)
* Column-formatting uses printf-style %-escapes instead of the old
method.
* Fixes the "DOH, lockfiles don't go in /" bug.
* file: URLs (ie, local package repositories) now work.
[2000-04-18]
Version 0.0.7
* The segfault that plagued 0.0.6.9 seems to be gone. Thanks go to
Panu Hällfors <panupa@iki.fi> for helping me narrow the problem down.
Please let me know if you encounter similar problems (or, indeed, any
problems :) ).
The following changes were in 0.0.6.9 but not mentioned (oops):
* Wrote a proper help screen, so you don't get the full README when you press
'?'. We still don't have a mechanism for dynamically adjusting the display
based on keybindings, but this should make things somewhat nicer for
newbies.
[2000-04-09]
Version 0.0.6.9
* This version introduces undo capabilities. You can undo any number of
actions on packages (install, remove, etc--even "forget new") See the
manual for details.
* As a result, there are now two ways to quit: "q" quits and saves changes,
and "x" quits and discards changes.
* Major restructuring of the directory tree. The toplevel now contains only
code for aptitude itself--low-level UI stuff is in vscreen/ and generic
useful routines (eg, the apt-cache wrapper) are in generic/
* Major changes to the keybinding code; keybindings are now mostly shared
between the different contexts they occur in, with the ability to override
a keybinding in a particular context.
* Added some alternative keybindings (vi-style and others), by popular
request.
* Reorganized the TODO list and added a bunch of stuff to it.
* Searching now handles virtual packages
* Limiting on package names no longer segfaults
* Columns with nothing to display should display a placeholder value
(eg, "<none>") instead of simply being blank.
* Fixed various problems with detecting and flagging broken dependencies
* Fixed various problems with the handling and displaying of OR groups
* Reverse dependencies which occur because of Provides are now displayed
correctly.
* There is no longer a default binding for just displaying a package's
description; "i" will display the full information screen by default.
(it's just as easy to see the description this way, and you get more
information as well) The old behavior can be regained by binding
Description to "i": 'Aptitude::UI::Keybindings::Description "i";' in
/etc/apt/apt.conf (you may need to remove the binding for InfoScreen
as well)
* Various segfaults when trying to get information about virtual packages
were fixed.
* You can now perform a package-list update or an install run from any apt
tree, not just a package list (or at least you should be able to) Of course,
if the package you are viewing vanishes from the cache as a result, you will
be sent back to where you came from.
* Added a match type, ~c, which matches removed packages with conffiles
remaining on the system.
* You can now easily toggle the display of column headers at runtime by
pressing "h".
[2000-02-06]
Version 0.0.6a
* Fixed a rather embarassing compile error that got into 0.0.6.
[2000-02-06]
Version 0.0.6
* Greatly improved search capabilities. You can now match on many different
attributes of a package, and combine search terms into complex expressions.
This is used both for searching and implementing "display limits", which
act as a filter for the visible list of packages. See README for details.
* Added commands to expand and collapse an entire tree of packages.
* Searches now have a 'wraparound' behavior.
* Actually set up a binding for Refresh, handle it globally.
* Made the display of broken packages more uniform.
* Fixed a problem that caused packages to be put on hold when you cancelled
a removal or an install.
* Pressing "hold" on a package which can't be upgraded now /toggles/ the
sticky-hold state (it was hard to turn it off previously)
* Fixed another dependency-OR handling bug which caused OR lists to appear
to include the first package before the list.
* Changed the install-preview screen to more correctly packages whose state
was changed by fixing broken dependencies. Packages which are being
installed or deleted for this reason get their own trees.
* The amount of padding after a column can now vary by column and is
configurable.
* Errors now use a single color definition, and are white on red.
* You can now download and view the Changelog for a package (not perfect
yet: you get HTML cruft, not all packages work (that I may not be able
to fix) )
* Fixed a bug which caused problems with displaying errors.
* Added column types for the section and priority.
* Added a minimal online-help system (just displays the README)
* Internal change (not used yet): the vscreen main loop now supports the
registration of timers. (configure with --with-periodic-beep to
enable a really annoying beep at one-second intervals)
* Internal change: the status/header-lines and status widget handling of
vs_tree were split into a new class, vs_minibuf_win.
* Internal change: vscreen::repaint no longer implicitly calls refresh.
* Internal change: the code to orchestrate downloads moved to
download.{cc,h}
[2000-01-19]
Version 0.0.5
* This release has a lot of bugfixes, column formatting support, and a
greatly fixed status-line editor.
* Sanitized and made consistent a lot of arbitrary decisions about what
version to use when looking statistics up about a package. The function
pkg_item::visible_version() handles this.
* You can now get package information by pressing Enter while a particular
version of a package is selected. Information about that version will
be displayed.
* Don't crash if the user tries to update the package lists while not root
or while another apt is running. (oops..)
* The preview screen *should* separate out packages which can't be upgraded
because of broken dependencies.
* Broken versions weren't being displayed with a "broken" color; fixed.
* Throttle the update frequency of the progress bars; previously I was
updating as quickly as possible, which lead to a massive loading up of the
system. This change greatly improved startup times.
* libncurses5 sometimes sends KEY_RESIZEs -- don't assert their absence
anymore, just ignore them :)
* column support! Configurable! This is really the major feature in this
release; see the README for more
* Overhauled the status-line editing widget to fix a lot of small bugs and
greatly improve editing.
* Added a single keystroke to repeat the last search (bind something to
ReSearch)
* At the request of omega@anomie.dhis.net, added a status tree for obsolete
packages.
[2000-01-10]
Version 0.0.4a
* "Faster than a speeding bullet" release. (I really am starting to regret
trying to come up with clever names for releases. :) )
* Had a sudden flash of inspiration and added the three-line fix needed to
hack around libncurses5's leaveok() brokenness.
[2000-01-10]
Version 0.0.4
* "New Year's Resolution" release. I actually managed to fix everything
which I claimed I would, but I've resolved never to promise to fix
something in the next release again. Even to myself. ;-) Also, I want
to release versions more often..
* Aptitude now tries to Do The Right Thing with regard to the dselect
state of a package by adjusting its own state when the dselect state
changes in between runs. This prevents the really bad problems I
experienced.
* The interface coloration is now configurable (see README for details)
* More information is available in the download screen -- the actual amount
of data dowloaded for each item and an estimated time to completion (for
everything) are displayed.
* Compiles against libncurses5, although there's an annoying visual bug when
using libncurses5 that I can't get rid of (leaveok doesn't seem to hide
the cursor anymore..)
* Fixed the bug which caused ORs in dependencies to apparently continue
forever (that is, "Depends: libc6, mutt | mail-reader, libncurses4" would
be displayed as "Depends: libc6, mutt | mail-reader | libncurses4")
* Rewrote the various messages and interaction involving the status line
to be done the Right Way[tm].
* Aptitude now (by default) displays what changes will be made -- that
is, which packages will be installed, removed, etc, before
performing a package run -- press the "install packages" key again to
continue.
* Setting Aptitude::Auto-Install to true will cause dependencies of a
package to automatically be marked for installation when you select it to
be installed.
* Aptitude now (by default) attempts to resolve missing dependencies and
fix broken packages before doing an install run. To disable this, set
"Aptitude::Fix-Broken" to false.
* A screen with all information about the package collected into one
location is now available (by default, you can access it by pressing
Enter while a package is selected)
* Finally got rid of the visual bug that caused non-selectable things to
appear selected (I fixed it by not displaying them as selected even when
they are ;-) )
* Added descriptive headers to the version and dependency lists.
* Made the behavior of selections around non-selectable items much more
logical.
* Package trees now display, in the header, an estimate of the number of
bytes which will be downloaded and installed on the next package run.
* Packages can now be reinstalled.
* Removed a lot of the old test code. The next release will probably (see
my resolution :) ) rename "testscr.cc" to "main.cc".
* Documentation updates. Rewrote aptitude-hackers-guide.txt to be less a
file-by-file tour and more a high-level overview.
* Included a real CVS commit log (see ChangeLog)
[1999-12-20]
Version 0.0.3
* "Merry Christmas and a Happy Armageddon" release. This'll probably be the
last Aptitude release before the year 2000. Assuming that civilization has
not collapsed, expect to see another version early in the new year.
(hopefully before potato freezes ;-) ) If not, I guess I'll have to start
porting it to the abacus platform..
* Configurable keybindings! Rejoice! See README for more info and
examples.
* aptitude now has persistent state, stored (by default) in
/var/state/aptitude.
* This is used to implement some dselect-like capabilities, including
'sticky' selections that persist across sessions and the ability to track
new packages. New packages are implemented in a manner entirely orthogonal
to selection state, which means (in short words) that a package can
remain "new" for an indefinite amount of time, even after it's installed.
* Two configuration options, Aptitude::Forget-New-On-Update and
Aptitude::Forget-New-On-Install, are provided to automatically clear the
list of new packages.
* As an unforunate side-effect, dselect selections are no longer inherited.
The main reason is that I couldn't think of a clean way to save the
package states into the dselect database (calling dpkg --set-selections
should work, but you have to play with lockfiles then..) And it's tricky
in general to try to manage two almost-but-not-quite identical databases
of info.
This may come back in the next release if I can work out how to do it
(but it'll probably be controlled by a flag and off by default) On the
other hand, it's not really needed unless you're trying to mix dselect
and aptitude.
* The package list can be searched. This occasioned at least one really
nasty (but non-buggy!) hack, which I'll fix in the next release. Currently
*only* package lists (not version lists, etc) can be meaningfully searched,
and searching only looks for substrings in the package name -- no
regexps or checking of descriptions. (guess when this'll be fixed?)
* A progress bar is now available for initialization and so on
* Errors are displayed by the UI (needs a little work still, but
functional..)
* An annoying resize bug in 0.0.2 was fixed -- if you resized the xterm
during a download, everything would start to flicker.
* Various segfaults, crashes, hangs, and visual quirks were eliminated.
* This is the first release to get a tag in CVS! :)
[1999-12-05]
Version 0.0.2
* aptitude can now download and install packages! This means that it's
now technically possible to use it in place of other package management
tools, although it's still lacking some stuff that would make it a really
useful program. This is the major change, and the reason for the new
release.
* dselect selections are now inherited
* short package descriptions are displayed in the status line of the package
tree
* you can mark package *versions* for installation and removal (sometimes)
* broken dependencies should be visually flagged
* Various other bugfixes and tweaks.
[1999-11-18]
Version 0.0.1 -- Very preliminary alpha version released for comment and/or
criticism.
[1999-10-20]
Version 0.0.0 -- Added automake support, it requires this file.
Nothing else to say, I don't have enough code to make
this file useful yet.
|