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 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 9895 9896 9897 9898 9899 9900 9901 9902 9903 9904 9905 9906 9907 9908 9909 9910 9911 9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 9959 9960 9961 9962 9963 9964 9965 9966 9967 9968 9969 9970 9971 9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999 10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011 10012 10013 10014 10015 10016 10017 10018 10019 10020 10021 10022 10023 10024 10025 10026 10027 10028 10029 10030 10031 10032 10033 10034 10035 10036 10037 10038 10039 10040 10041 10042 10043 10044 10045 10046 10047 10048 10049 10050 10051 10052 10053 10054 10055 10056 10057 10058 10059 10060 10061 10062 10063 10064 10065 10066 10067 10068 10069 10070 10071 10072 10073 10074 10075 10076 10077 10078 10079 10080 10081 10082 10083 10084 10085 10086 10087 10088 10089 10090 10091 10092 10093 10094 10095 10096 10097 10098 10099 10100 10101 10102 10103 10104 10105 10106 10107 10108 10109 10110 10111 10112 10113 10114 10115 10116 10117 10118 10119 10120 10121 10122 10123 10124 10125 10126 10127 10128 10129 10130 10131 10132 10133 10134 10135 10136 10137 10138 10139 10140 10141 10142 10143 10144 10145 10146 10147 10148 10149 10150 10151 10152 10153 10154 10155 10156 10157 10158 10159 10160 10161 10162 10163 10164 10165 10166 10167 10168 10169 10170 10171 10172 10173 10174 10175 10176 10177 10178 10179 10180 10181 10182 10183 10184 10185 10186 10187 10188 10189 10190 10191 10192 10193 10194 10195 10196 10197 10198 10199 10200 10201 10202 10203 10204 10205 10206 10207 10208 10209 10210 10211 10212 10213 10214 10215 10216 10217 10218 10219 10220 10221 10222 10223 10224 10225 10226 10227 10228 10229 10230 10231 10232 10233 10234 10235 10236 10237 10238 10239 10240 10241 10242 10243 10244 10245 10246 10247 10248 10249 10250 10251 10252 10253 10254 10255 10256 10257 10258 10259 10260 10261 10262 10263 10264 10265 10266 10267 10268 10269 10270 10271 10272 10273 10274 10275 10276 10277 10278 10279 10280 10281 10282 10283 10284 10285 10286 10287 10288 10289 10290 10291 10292 10293 10294 10295 10296 10297 10298 10299 10300 10301 10302 10303 10304 10305 10306 10307 10308 10309 10310 10311 10312 10313 10314 10315 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 10326 10327 10328 10329 10330 10331 10332 10333 10334 10335 10336 10337 10338 10339 10340 10341 10342 10343 10344 10345 10346 10347 10348 10349 10350 10351 10352 10353 10354 10355 10356 10357 10358 10359 10360 10361 10362 10363 10364 10365 10366 10367 10368 10369 10370 10371 10372 10373 10374 10375 10376 10377 10378 10379 10380 10381 10382 10383 10384 10385 10386 10387 10388 10389 10390 10391 10392 10393 10394 10395 10396 10397 10398 10399 10400 10401 10402 10403 10404 10405 10406 10407 10408 10409 10410 10411 10412 10413 10414 10415 10416 10417 10418 10419 10420 10421 10422 10423 10424 10425 10426 10427 10428 10429 10430 10431 10432 10433 10434 10435 10436 10437 10438 10439 10440 10441 10442 10443 10444 10445 10446 10447 10448 10449 10450 10451 10452 10453 10454 10455 10456 10457 10458 10459 10460 10461 10462 10463 10464 10465 10466 10467 10468 10469 10470 10471 10472 10473 10474 10475 10476 10477 10478 10479 10480 10481 10482 10483 10484 10485 10486 10487 10488 10489 10490 10491 10492 10493 10494 10495 10496 10497 10498 10499 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 10514 10515 10516 10517 10518 10519 10520 10521 10522 10523 10524 10525 10526 10527 10528 10529 10530 10531 10532 10533 10534 10535 10536 10537 10538 10539 10540 10541 10542 10543 10544 10545 10546 10547 10548 10549 10550 10551 10552 10553 10554 10555 10556 10557 10558 10559 10560 10561 10562 10563 10564 10565 10566 10567 10568 10569 10570 10571 10572 10573 10574 10575 10576 10577 10578 10579 10580 10581 10582 10583 10584 10585 10586 10587 10588 10589 10590 10591 10592 10593 10594 10595 10596 10597 10598 10599 10600 10601 10602 10603 10604 10605 10606 10607 10608 10609 10610 10611 10612 10613 10614 10615 10616 10617 10618 10619 10620 10621 10622 10623 10624 10625 10626 10627 10628 10629 10630 10631 10632 10633 10634 10635 10636 10637 10638 10639 10640 10641 10642 10643 10644 10645 10646 10647 10648 10649 10650 10651 10652 10653 10654 10655 10656 10657 10658 10659 10660 10661 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 10688 10689 10690 10691 10692 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10712 10713 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 10743 10744 10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 10757 10758 10759 10760 10761 10762 10763 10764 10765 10766 10767 10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 10781 10782 10783 10784 10785 10786 10787 10788 10789 10790 10791 10792 10793 10794 10795 10796 10797 10798 10799 10800 10801 10802 10803 10804 10805 10806 10807 10808 10809 10810 10811 10812 10813 10814 10815 10816 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 10829 10830 10831 10832 10833 10834 10835 10836 10837 10838 10839 10840 10841 10842 10843 10844 10845 10846 10847 10848 10849 10850 10851 10852 10853 10854 10855 10856 10857 10858 10859 10860 10861 10862 10863 10864 10865 10866 10867 10868 10869 10870 10871 10872 10873 10874 10875 10876 10877 10878 10879 10880 10881 10882 10883 10884 10885 10886 10887 10888 10889 10890 10891 10892 10893 10894 10895 10896 10897 10898 10899 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 10910 10911 10912 10913 10914 10915 10916 10917 10918 10919 10920 10921 10922 10923 10924 10925 10926 10927 10928 10929 10930 10931 10932 10933 10934 10935 10936 10937 10938 10939 10940 10941 10942 10943 10944 10945 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 10978 10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 10992 10993 10994 10995 10996 10997 10998 10999 11000 11001 11002 11003 11004 11005 11006 11007 11008 11009 11010 11011 11012 11013 11014 11015 11016 11017 11018 11019 11020 11021 11022 11023 11024 11025 11026 11027 11028 11029 11030 11031 11032 11033 11034 11035 11036 11037 11038 11039 11040 11041 11042 11043 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 11069 11070 11071 11072 11073 11074 11075 11076 11077 11078 11079 11080 11081 11082 11083 11084 11085 11086 11087 11088 11089 11090 11091 11092 11093 11094 11095 11096 11097 11098 11099 11100 11101 11102 11103 11104 11105 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 11128 11129 11130 11131 11132 11133 11134 11135 11136 11137 11138 11139 11140 11141 11142 11143 11144 11145 11146 11147 11148 11149 11150 11151 11152 11153 11154 11155 11156 11157 11158 11159 11160 11161 11162 11163 11164 11165 11166 11167 11168 11169 11170 11171 11172 11173 11174 11175 11176 11177 11178 11179 11180 11181 11182 11183 11184 11185 11186 11187 11188 11189 11190 11191 11192 11193 11194 11195 11196 11197 11198 11199 11200 11201 11202 11203 11204 11205 11206 11207 11208 11209 11210 11211 11212 11213 11214 11215 11216 11217 11218 11219 11220 11221 11222 11223 11224 11225 11226 11227 11228 11229 11230 11231 11232 11233 11234 11235 11236 11237 11238 11239 11240 11241 11242 11243 11244 11245 11246 11247 11248 11249 11250 11251 11252 11253 11254 11255 11256 11257 11258 11259 11260 11261 11262 11263 11264 11265 11266 11267 11268 11269 11270 11271 11272 11273 11274 11275 11276 11277 11278 11279 11280 11281 11282 11283 11284 11285 11286 11287 11288 11289 11290 11291 11292 11293 11294 11295 11296 11297 11298 11299 11300 11301 11302 11303 11304 11305 11306 11307 11308 11309 11310 11311 11312 11313 11314 11315 11316 11317 11318 11319 11320 11321 11322 11323 11324 11325 11326 11327 11328 11329 11330 11331 11332 11333 11334 11335 11336 11337 11338 11339 11340 11341 11342 11343 11344 11345 11346 11347 11348 11349 11350 11351 11352 11353 11354 11355 11356 11357 11358 11359 11360 11361 11362 11363 11364 11365 11366 11367 11368 11369 11370 11371 11372 11373 11374 11375 11376 11377 11378 11379 11380 11381 11382 11383 11384 11385 11386 11387 11388 11389 11390 11391 11392 11393 11394 11395 11396 11397 11398 11399 11400 11401 11402 11403 11404 11405 11406 11407 11408 11409 11410 11411 11412 11413 11414 11415 11416 11417 11418 11419 11420 11421 11422 11423 11424 11425 11426 11427 11428 11429 11430 11431 11432 11433 11434 11435 11436 11437 11438 11439 11440 11441 11442 11443 11444 11445 11446 11447 11448 11449 11450 11451 11452 11453 11454 11455 11456 11457 11458 11459 11460 11461 11462 11463 11464 11465 11466 11467 11468 11469 11470 11471 11472 11473 11474 11475 11476 11477 11478 11479 11480 11481 11482 11483 11484 11485 11486 11487 11488 11489 11490 11491 11492 11493 11494 11495 11496 11497 11498 11499 11500 11501 11502 11503 11504 11505 11506 11507 11508 11509 11510 11511 11512 11513 11514 11515 11516 11517 11518 11519 11520 11521 11522 11523 11524 11525 11526 11527 11528 11529 11530 11531 11532 11533 11534 11535 11536 11537 11538 11539 11540 11541 11542 11543 11544 11545 11546 11547 11548 11549 11550 11551 11552 11553 11554 11555 11556 11557 11558 11559 11560 11561 11562 11563 11564 11565 11566 11567 11568 11569 11570 11571 11572 11573 11574 11575 11576 11577 11578 11579 11580 11581 11582 11583 11584 11585 11586 11587 11588 11589 11590 11591 11592 11593 11594 11595 11596 11597 11598 11599 11600 11601 11602 11603 11604 11605 11606 11607 11608 11609 11610 11611 11612 11613 11614 11615 11616 11617 11618 11619 11620 11621 11622 11623 11624 11625 11626 11627 11628 11629 11630 11631 11632 11633 11634 11635 11636 11637 11638 11639 11640 11641 11642 11643 11644 11645 11646 11647 11648 11649 11650 11651 11652 11653 11654 11655 11656 11657 11658 11659 11660 11661 11662 11663 11664 11665 11666 11667 11668 11669 11670 11671 11672 11673 11674 11675 11676 11677 11678 11679 11680 11681 11682 11683 11684 11685 11686 11687 11688 11689 11690 11691 11692 11693 11694 11695 11696 11697 11698 11699 11700 11701 11702 11703 11704 11705 11706 11707 11708 11709 11710 11711 11712 11713 11714 11715 11716 11717 11718 11719 11720 11721 11722 11723 11724 11725 11726 11727 11728 11729 11730 11731 11732 11733 11734 11735 11736 11737 11738 11739 11740 11741 11742 11743 11744 11745 11746 11747 11748 11749 11750 11751 11752 11753 11754 11755 11756 11757 11758 11759 11760 11761 11762 11763 11764 11765 11766 11767 11768 11769 11770 11771 11772 11773 11774 11775 11776 11777 11778 11779 11780 11781 11782 11783 11784 11785 11786 11787 11788 11789 11790 11791 11792 11793 11794 11795 11796 11797 11798 11799 11800 11801 11802 11803 11804 11805 11806 11807 11808 11809 11810 11811 11812 11813 11814 11815 11816 11817 11818 11819 11820 11821 11822 11823 11824 11825 11826 11827 11828 11829 11830 11831 11832 11833 11834 11835 11836 11837 11838 11839 11840 11841 11842 11843 11844 11845 11846 11847 11848 11849 11850 11851 11852 11853 11854 11855 11856 11857 11858 11859 11860 11861 11862 11863 11864 11865 11866 11867 11868 11869 11870 11871 11872 11873 11874 11875 11876 11877 11878 11879 11880 11881 11882 11883 11884 11885 11886 11887 11888 11889 11890 11891 11892 11893 11894 11895 11896 11897 11898 11899 11900 11901 11902 11903 11904 11905 11906 11907 11908 11909 11910 11911 11912 11913 11914 11915 11916 11917 11918 11919 11920 11921 11922 11923 11924 11925 11926 11927 11928 11929 11930 11931 11932 11933 11934 11935 11936 11937 11938 11939 11940 11941 11942 11943 11944 11945 11946 11947 11948 11949 11950 11951 11952 11953 11954 11955 11956 11957 11958 11959 11960 11961 11962 11963 11964 11965 11966 11967 11968 11969 11970 11971 11972 11973 11974 11975 11976 11977 11978 11979 11980 11981 11982 11983 11984 11985 11986 11987 11988 11989 11990 11991 11992 11993 11994 11995 11996 11997 11998 11999 12000 12001 12002 12003 12004 12005 12006 12007 12008 12009 12010 12011 12012 12013 12014 12015 12016 12017 12018 12019 12020 12021 12022 12023 12024 12025 12026 12027 12028 12029 12030 12031 12032 12033 12034 12035 12036 12037 12038 12039 12040 12041 12042 12043 12044 12045 12046 12047 12048 12049 12050 12051 12052 12053 12054 12055 12056 12057 12058 12059 12060 12061 12062 12063 12064 12065 12066 12067 12068 12069 12070 12071 12072 12073 12074 12075 12076 12077 12078 12079 12080 12081 12082 12083 12084 12085 12086 12087 12088 12089 12090 12091 12092 12093 12094 12095 12096 12097 12098 12099 12100 12101 12102 12103 12104 12105 12106 12107 12108 12109 12110 12111 12112 12113 12114 12115 12116 12117 12118 12119 12120 12121 12122 12123 12124 12125 12126 12127 12128 12129 12130 12131 12132 12133 12134 12135 12136 12137 12138 12139 12140 12141 12142 12143 12144 12145 12146 12147 12148 12149 12150 12151 12152 12153 12154 12155 12156 12157 12158 12159 12160 12161 12162 12163 12164 12165 12166 12167 12168 12169 12170 12171 12172 12173 12174 12175 12176 12177 12178 12179 12180 12181 12182 12183 12184 12185 12186 12187 12188 12189 12190 12191 12192 12193 12194 12195 12196 12197 12198 12199 12200 12201 12202 12203 12204 12205 12206 12207 12208 12209 12210 12211 12212 12213 12214 12215 12216 12217 12218 12219 12220 12221 12222 12223 12224 12225 12226 12227 12228 12229 12230 12231 12232 12233 12234 12235 12236 12237 12238 12239 12240 12241 12242 12243 12244 12245 12246 12247 12248 12249 12250 12251 12252 12253 12254 12255 12256 12257 12258 12259 12260 12261 12262 12263 12264 12265 12266 12267 12268 12269 12270 12271 12272 12273 12274 12275 12276 12277 12278 12279 12280 12281 12282 12283 12284 12285 12286 12287 12288 12289 12290 12291 12292 12293 12294 12295 12296 12297 12298 12299 12300 12301 12302 12303 12304 12305 12306 12307 12308 12309 12310 12311 12312 12313 12314 12315 12316 12317 12318 12319 12320 12321 12322 12323 12324 12325 12326 12327 12328 12329 12330 12331 12332 12333 12334 12335 12336 12337 12338 12339 12340 12341 12342 12343 12344 12345 12346 12347 12348 12349 12350 12351 12352 12353 12354 12355 12356 12357 12358 12359 12360 12361 12362 12363 12364 12365 12366 12367 12368 12369 12370 12371 12372 12373 12374 12375 12376 12377 12378 12379 12380 12381 12382 12383 12384 12385 12386 12387 12388 12389 12390 12391 12392 12393 12394 12395 12396 12397 12398 12399 12400 12401 12402 12403 12404 12405 12406 12407 12408 12409 12410 12411 12412 12413 12414 12415 12416 12417 12418 12419 12420 12421 12422 12423 12424 12425 12426 12427 12428 12429 12430 12431 12432 12433 12434 12435 12436 12437 12438 12439 12440 12441 12442 12443 12444 12445 12446 12447 12448 12449 12450 12451 12452 12453 12454 12455 12456 12457 12458 12459 12460 12461 12462 12463 12464 12465 12466 12467 12468 12469 12470 12471 12472 12473 12474 12475 12476 12477 12478 12479 12480 12481 12482 12483 12484 12485 12486 12487 12488 12489 12490 12491 12492 12493 12494 12495 12496 12497 12498 12499 12500 12501 12502 12503 12504 12505 12506 12507 12508 12509 12510 12511 12512 12513 12514 12515 12516 12517 12518 12519 12520 12521 12522 12523 12524 12525 12526 12527 12528 12529 12530 12531 12532 12533 12534 12535 12536 12537 12538 12539 12540 12541 12542 12543 12544 12545 12546 12547 12548 12549 12550 12551 12552 12553 12554 12555 12556 12557 12558 12559 12560 12561 12562 12563 12564 12565 12566 12567 12568 12569 12570 12571 12572 12573 12574 12575 12576 12577 12578 12579 12580 12581 12582 12583 12584 12585 12586 12587 12588 12589 12590 12591 12592 12593 12594 12595 12596 12597 12598 12599 12600 12601 12602 12603 12604 12605 12606 12607 12608 12609 12610 12611 12612 12613 12614 12615 12616 12617 12618 12619 12620 12621 12622 12623 12624 12625 12626 12627 12628 12629 12630 12631 12632 12633 12634 12635 12636 12637 12638 12639 12640 12641 12642 12643 12644 12645 12646 12647 12648 12649 12650 12651 12652 12653 12654 12655 12656 12657 12658 12659 12660 12661 12662 12663 12664 12665 12666 12667 12668 12669 12670 12671 12672 12673 12674 12675 12676 12677 12678 12679 12680 12681 12682 12683 12684 12685 12686 12687 12688 12689 12690 12691 12692 12693 12694 12695 12696 12697 12698 12699 12700 12701 12702 12703 12704 12705 12706 12707 12708 12709 12710 12711 12712 12713 12714 12715 12716 12717 12718 12719 12720 12721 12722 12723 12724 12725 12726 12727 12728 12729 12730 12731 12732 12733 12734 12735 12736 12737 12738 12739 12740 12741 12742 12743 12744 12745 12746 12747 12748 12749 12750 12751 12752 12753 12754 12755 12756 12757 12758 12759 12760 12761 12762 12763 12764 12765 12766 12767 12768 12769 12770 12771 12772 12773 12774 12775 12776 12777 12778 12779 12780 12781 12782 12783 12784 12785 12786 12787 12788 12789 12790 12791 12792 12793 12794 12795 12796 12797 12798 12799 12800 12801 12802 12803 12804 12805 12806 12807 12808 12809 12810 12811 12812 12813 12814 12815 12816 12817 12818 12819 12820 12821 12822 12823 12824 12825 12826 12827 12828 12829 12830 12831 12832 12833 12834 12835 12836 12837 12838 12839 12840 12841 12842 12843 12844 12845 12846 12847 12848 12849 12850 12851 12852 12853 12854 12855 12856 12857 12858 12859 12860 12861 12862 12863 12864 12865 12866 12867 12868 12869 12870 12871 12872 12873 12874 12875 12876 12877 12878 12879 12880 12881 12882 12883 12884 12885 12886 12887 12888 12889 12890 12891 12892 12893 12894 12895 12896 12897 12898 12899 12900 12901 12902 12903 12904 12905 12906 12907 12908 12909 12910 12911 12912 12913 12914 12915 12916 12917 12918 12919 12920 12921 12922 12923 12924 12925 12926 12927 12928 12929 12930 12931 12932 12933 12934 12935 12936 12937 12938 12939 12940 12941 12942 12943 12944 12945 12946 12947 12948 12949 12950 12951 12952 12953 12954 12955 12956 12957 12958 12959 12960 12961 12962 12963 12964 12965 12966 12967 12968 12969 12970 12971 12972 12973 12974 12975 12976 12977 12978 12979 12980 12981 12982 12983 12984 12985 12986 12987 12988 12989 12990 12991 12992 12993 12994 12995 12996 12997 12998 12999 13000 13001 13002 13003 13004 13005 13006 13007 13008 13009 13010 13011 13012 13013 13014 13015 13016 13017 13018 13019 13020 13021 13022 13023 13024 13025 13026 13027 13028 13029 13030 13031 13032 13033 13034 13035 13036 13037 13038 13039 13040 13041 13042 13043 13044 13045 13046 13047 13048 13049 13050 13051 13052 13053 13054 13055 13056 13057 13058 13059 13060 13061 13062 13063 13064 13065 13066 13067 13068 13069 13070 13071 13072 13073 13074 13075 13076 13077 13078 13079 13080 13081 13082 13083 13084 13085 13086 13087 13088 13089 13090 13091 13092 13093 13094 13095 13096 13097 13098 13099 13100 13101 13102 13103 13104 13105 13106 13107 13108 13109 13110 13111 13112 13113 13114 13115 13116 13117 13118 13119 13120 13121 13122 13123 13124 13125 13126 13127 13128 13129 13130 13131 13132 13133 13134 13135 13136 13137 13138 13139 13140 13141 13142 13143 13144 13145 13146 13147 13148 13149 13150 13151 13152 13153 13154 13155 13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 13185 13186 13187 13188 13189 13190 13191 13192 13193 13194 13195 13196 13197 13198 13199 13200 13201 13202 13203 13204 13205 13206 13207 13208 13209 13210 13211 13212 13213 13214 13215 13216 13217 13218 13219 13220 13221 13222 13223 13224 13225 13226 13227 13228 13229 13230 13231 13232 13233 13234 13235 13236 13237 13238 13239 13240 13241 13242 13243 13244 13245 13246 13247 13248 13249 13250 13251 13252 13253 13254 13255 13256 13257 13258 13259 13260 13261 13262 13263 13264 13265 13266 13267 13268 13269 13270 13271 13272 13273 13274 13275 13276 13277 13278 13279 13280 13281 13282 13283 13284 13285 13286 13287 13288 13289 13290 13291 13292 13293 13294 13295 13296 13297 13298 13299 13300 13301 13302 13303 13304 13305 13306 13307 13308 13309 13310 13311 13312 13313 13314 13315 13316 13317 13318 13319 13320 13321 13322 13323 13324 13325 13326 13327 13328 13329 13330 13331 13332 13333 13334 13335 13336 13337 13338 13339 13340 13341 13342 13343 13344 13345 13346 13347 13348 13349 13350 13351 13352 13353 13354 13355 13356 13357 13358 13359 13360 13361 13362 13363 13364 13365 13366 13367 13368 13369 13370 13371 13372 13373 13374 13375 13376 13377 13378 13379 13380 13381 13382 13383 13384 13385 13386 13387 13388 13389 13390 13391 13392 13393 13394 13395 13396 13397 13398 13399 13400 13401 13402 13403 13404 13405 13406 13407 13408 13409 13410 13411 13412 13413 13414 13415 13416 13417 13418 13419 13420 13421 13422 13423 13424 13425 13426 13427 13428 13429 13430 13431 13432 13433 13434 13435 13436 13437 13438 13439 13440 13441 13442 13443 13444 13445 13446 13447 13448 13449 13450 13451 13452 13453 13454 13455 13456 13457 13458 13459 13460 13461 13462 13463 13464 13465 13466 13467 13468 13469 13470 13471 13472 13473 13474 13475 13476 13477 13478 13479 13480 13481 13482 13483 13484 13485 13486 13487 13488 13489 13490 13491 13492 13493 13494 13495 13496 13497 13498 13499 13500 13501 13502 13503 13504 13505 13506 13507 13508 13509 13510 13511 13512 13513 13514 13515 13516 13517 13518 13519 13520 13521 13522 13523 13524 13525 13526 13527 13528 13529 13530 13531 13532 13533 13534 13535 13536 13537 13538 13539 13540 13541 13542 13543 13544 13545 13546 13547 13548 13549 13550 13551 13552 13553 13554 13555 13556 13557 13558 13559 13560 13561 13562 13563 13564 13565 13566 13567 13568 13569 13570 13571 13572 13573 13574 13575 13576 13577 13578 13579 13580 13581 13582 13583 13584 13585 13586 13587 13588 13589 13590 13591 13592 13593 13594 13595 13596 13597 13598 13599 13600 13601 13602 13603 13604 13605 13606 13607 13608 13609 13610 13611 13612 13613 13614 13615 13616 13617 13618 13619 13620 13621 13622 13623 13624 13625 13626 13627 13628 13629 13630 13631 13632 13633 13634 13635 13636 13637 13638 13639 13640 13641 13642 13643 13644 13645 13646 13647 13648 13649 13650 13651 13652 13653 13654 13655 13656 13657 13658 13659 13660 13661 13662 13663 13664 13665 13666 13667 13668 13669 13670 13671 13672 13673 13674 13675 13676 13677 13678 13679 13680 13681 13682 13683 13684 13685 13686 13687 13688 13689 13690 13691 13692 13693 13694 13695 13696 13697 13698 13699 13700 13701 13702 13703 13704 13705 13706 13707 13708 13709 13710 13711 13712 13713 13714 13715 13716 13717 13718 13719 13720 13721 13722 13723 13724 13725 13726 13727 13728 13729 13730 13731 13732 13733 13734 13735 13736 13737 13738 13739 13740 13741 13742 13743 13744 13745 13746 13747 13748 13749 13750 13751 13752 13753 13754 13755 13756 13757 13758 13759 13760 13761 13762 13763 13764 13765 13766 13767 13768 13769 13770 13771 13772 13773 13774 13775 13776 13777 13778 13779 13780 13781 13782 13783 13784 13785 13786 13787 13788 13789 13790 13791 13792 13793 13794 13795 13796 13797 13798 13799 13800 13801 13802 13803 13804 13805 13806 13807 13808 13809 13810 13811 13812 13813 13814 13815 13816 13817 13818 13819 13820 13821 13822 13823 13824 13825 13826 13827 13828 13829 13830 13831 13832 13833 13834 13835 13836 13837 13838 13839 13840 13841 13842 13843 13844 13845 13846 13847 13848 13849 13850 13851 13852 13853 13854 13855 13856 13857 13858 13859 13860 13861 13862 13863 13864 13865 13866 13867 13868 13869 13870 13871 13872 13873 13874 13875 13876 13877 13878 13879 13880 13881 13882 13883 13884 13885 13886 13887 13888 13889 13890 13891 13892 13893 13894 13895 13896 13897 13898 13899 13900 13901 13902 13903 13904 13905 13906 13907 13908 13909 13910 13911 13912 13913 13914 13915 13916 13917 13918 13919 13920 13921 13922 13923 13924 13925 13926 13927 13928 13929 13930 13931 13932 13933 13934 13935 13936 13937 13938 13939 13940 13941 13942 13943 13944 13945 13946 13947 13948 13949 13950 13951 13952 13953 13954 13955 13956 13957 13958 13959 13960 13961 13962 13963 13964 13965 13966 13967 13968 13969 13970 13971 13972 13973 13974 13975 13976 13977 13978 13979 13980 13981 13982 13983 13984 13985 13986 13987 13988 13989 13990 13991 13992 13993 13994 13995 13996 13997 13998 13999 14000 14001 14002 14003 14004 14005 14006 14007 14008 14009 14010 14011 14012 14013 14014 14015 14016 14017 14018 14019 14020 14021 14022 14023 14024 14025 14026 14027 14028 14029 14030 14031 14032 14033 14034 14035 14036 14037 14038 14039 14040 14041 14042 14043 14044 14045 14046 14047 14048 14049 14050 14051 14052 14053 14054 14055 14056 14057 14058 14059 14060 14061 14062 14063 14064 14065 14066 14067 14068 14069 14070 14071 14072 14073 14074 14075 14076 14077 14078 14079 14080 14081 14082 14083 14084 14085 14086 14087 14088 14089 14090 14091 14092 14093 14094 14095 14096 14097 14098 14099 14100 14101 14102 14103 14104 14105 14106 14107 14108 14109 14110 14111 14112 14113 14114 14115 14116 14117 14118 14119 14120 14121 14122 14123 14124 14125 14126 14127 14128 14129 14130 14131 14132 14133 14134 14135 14136 14137 14138 14139 14140 14141 14142 14143 14144 14145 14146 14147 14148 14149 14150 14151 14152 14153 14154 14155 14156 14157 14158 14159 14160 14161 14162 14163 14164 14165 14166 14167 14168 14169 14170 14171 14172 14173 14174 14175 14176 14177 14178 14179 14180 14181 14182 14183 14184 14185 14186 14187 14188 14189 14190 14191 14192 14193 14194 14195 14196 14197 14198 14199 14200 14201 14202 14203 14204 14205 14206 14207 14208 14209 14210 14211 14212 14213 14214 14215 14216 14217 14218 14219 14220 14221 14222 14223 14224 14225 14226 14227 14228 14229 14230 14231 14232 14233 14234 14235 14236 14237 14238 14239 14240 14241 14242 14243 14244 14245 14246 14247 14248 14249 14250 14251 14252 14253 14254 14255 14256 14257 14258 14259 14260 14261 14262 14263 14264 14265 14266 14267 14268 14269 14270 14271 14272 14273 14274 14275 14276 14277 14278 14279 14280 14281 14282 14283 14284 14285 14286 14287 14288 14289 14290 14291 14292 14293 14294 14295 14296 14297 14298 14299 14300 14301 14302 14303 14304 14305 14306 14307 14308 14309 14310 14311 14312 14313 14314 14315 14316 14317 14318 14319 14320 14321 14322 14323 14324 14325 14326 14327 14328 14329 14330 14331 14332 14333 14334 14335 14336 14337 14338 14339 14340 14341 14342 14343 14344 14345 14346 14347 14348 14349 14350 14351 14352 14353 14354 14355 14356 14357 14358 14359 14360 14361 14362 14363 14364 14365 14366 14367 14368 14369 14370 14371 14372 14373 14374 14375 14376 14377 14378 14379 14380 14381 14382 14383 14384 14385 14386 14387 14388 14389 14390 14391 14392 14393 14394 14395 14396 14397 14398 14399 14400 14401 14402 14403 14404 14405 14406 14407 14408 14409 14410 14411 14412 14413 14414 14415 14416 14417 14418 14419 14420 14421 14422 14423 14424 14425 14426 14427 14428 14429 14430 14431 14432 14433 14434 14435 14436 14437 14438 14439 14440 14441 14442 14443 14444 14445 14446 14447 14448 14449 14450 14451 14452 14453 14454 14455 14456 14457 14458 14459 14460 14461 14462 14463 14464 14465 14466 14467 14468 14469 14470 14471 14472 14473 14474 14475 14476 14477 14478 14479 14480 14481 14482 14483 14484 14485 14486 14487 14488 14489 14490 14491 14492 14493 14494 14495 14496 14497 14498 14499 14500 14501 14502 14503 14504 14505 14506 14507 14508 14509 14510 14511 14512 14513 14514 14515 14516 14517 14518 14519 14520 14521 14522 14523 14524 14525 14526 14527 14528 14529 14530 14531 14532 14533 14534 14535 14536 14537 14538 14539 14540 14541 14542 14543 14544 14545 14546 14547 14548 14549 14550 14551 14552 14553 14554 14555 14556 14557 14558 14559 14560 14561 14562 14563 14564 14565 14566 14567 14568 14569 14570 14571 14572 14573 14574 14575 14576 14577 14578 14579 14580 14581 14582 14583 14584 14585 14586 14587 14588 14589 14590 14591 14592 14593 14594 14595 14596 14597 14598 14599 14600 14601 14602 14603 14604 14605 14606 14607 14608 14609 14610 14611 14612 14613 14614 14615 14616 14617 14618 14619 14620 14621 14622 14623 14624 14625 14626 14627 14628 14629 14630 14631 14632 14633 14634 14635 14636 14637 14638 14639 14640 14641 14642 14643 14644 14645 14646 14647 14648 14649 14650 14651 14652 14653 14654 14655 14656 14657 14658 14659 14660 14661 14662 14663 14664 14665 14666 14667 14668 14669 14670 14671 14672 14673 14674 14675 14676 14677 14678 14679 14680 14681 14682 14683 14684 14685 14686 14687 14688 14689 14690 14691 14692 14693 14694 14695 14696 14697 14698 14699 14700 14701 14702 14703 14704 14705 14706 14707 14708 14709 14710 14711 14712 14713 14714 14715 14716 14717 14718 14719 14720 14721 14722 14723 14724 14725 14726 14727 14728 14729 14730 14731 14732 14733 14734 14735 14736 14737 14738 14739 14740 14741 14742 14743 14744 14745 14746 14747 14748 14749 14750 14751 14752 14753 14754 14755 14756 14757 14758 14759 14760 14761 14762 14763 14764 14765 14766 14767 14768 14769 14770 14771 14772 14773 14774 14775 14776 14777 14778 14779 14780 14781 14782 14783 14784 14785 14786 14787 14788 14789 14790 14791 14792 14793 14794 14795 14796 14797 14798 14799 14800 14801 14802 14803 14804 14805 14806 14807 14808 14809 14810 14811 14812 14813 14814 14815 14816 14817 14818 14819 14820 14821 14822 14823 14824 14825 14826 14827 14828 14829 14830 14831 14832 14833 14834 14835 14836 14837 14838 14839 14840 14841 14842 14843 14844 14845 14846 14847 14848 14849 14850 14851 14852 14853 14854 14855 14856 14857 14858 14859 14860 14861 14862 14863 14864 14865 14866 14867 14868 14869 14870 14871 14872 14873 14874 14875 14876 14877 14878 14879 14880 14881 14882 14883 14884 14885 14886 14887 14888 14889 14890 14891 14892 14893 14894 14895 14896 14897 14898 14899 14900 14901 14902 14903 14904 14905 14906 14907 14908 14909 14910 14911 14912 14913 14914 14915 14916 14917 14918 14919 14920 14921 14922 14923 14924 14925 14926 14927 14928 14929 14930 14931 14932 14933 14934 14935 14936 14937 14938 14939 14940 14941 14942 14943 14944 14945 14946 14947 14948 14949 14950 14951 14952 14953 14954 14955 14956 14957 14958 14959 14960 14961 14962 14963 14964 14965 14966 14967 14968 14969 14970 14971 14972 14973 14974 14975 14976 14977 14978 14979 14980 14981 14982 14983 14984 14985 14986 14987 14988 14989 14990 14991 14992 14993 14994 14995 14996 14997 14998 14999 15000 15001 15002 15003 15004 15005 15006 15007 15008 15009 15010 15011 15012 15013 15014 15015 15016 15017 15018 15019 15020 15021 15022 15023 15024 15025 15026 15027 15028 15029 15030 15031 15032 15033 15034 15035 15036 15037 15038 15039 15040 15041 15042 15043 15044 15045 15046 15047 15048 15049 15050 15051 15052 15053 15054 15055 15056 15057 15058 15059 15060 15061 15062 15063 15064 15065 15066 15067 15068 15069 15070 15071 15072 15073 15074 15075 15076 15077 15078 15079 15080 15081 15082 15083 15084 15085 15086 15087 15088 15089 15090 15091 15092 15093 15094 15095 15096 15097 15098 15099 15100 15101 15102 15103 15104 15105 15106 15107 15108 15109 15110 15111 15112 15113 15114 15115 15116 15117 15118 15119 15120 15121 15122 15123 15124 15125 15126 15127 15128 15129 15130 15131 15132 15133 15134 15135 15136 15137 15138 15139 15140 15141 15142 15143 15144 15145 15146 15147 15148 15149 15150 15151 15152 15153 15154 15155 15156 15157 15158 15159 15160 15161 15162 15163 15164 15165 15166 15167 15168 15169 15170 15171 15172 15173 15174 15175 15176 15177 15178 15179 15180 15181 15182 15183 15184 15185 15186 15187 15188 15189 15190 15191 15192 15193 15194 15195 15196 15197 15198 15199 15200 15201 15202 15203 15204 15205 15206 15207 15208 15209 15210 15211 15212 15213 15214 15215 15216 15217 15218 15219 15220 15221 15222 15223 15224 15225 15226 15227 15228 15229 15230 15231 15232 15233 15234 15235 15236 15237 15238 15239 15240 15241 15242 15243 15244 15245 15246 15247 15248 15249 15250 15251 15252 15253 15254 15255 15256 15257 15258 15259 15260 15261 15262 15263 15264 15265 15266 15267 15268 15269 15270 15271 15272 15273 15274 15275 15276 15277 15278 15279 15280 15281 15282 15283 15284 15285 15286 15287 15288 15289 15290 15291 15292 15293 15294 15295 15296 15297 15298 15299 15300 15301 15302 15303 15304 15305 15306 15307 15308 15309 15310 15311 15312 15313 15314 15315 15316 15317 15318 15319 15320 15321 15322 15323 15324 15325 15326 15327 15328 15329 15330 15331 15332 15333 15334 15335 15336 15337 15338 15339 15340 15341 15342 15343 15344 15345 15346 15347 15348 15349 15350 15351 15352 15353 15354 15355 15356 15357 15358 15359 15360 15361 15362 15363 15364 15365 15366 15367 15368 15369 15370 15371 15372 15373 15374 15375 15376 15377 15378 15379 15380 15381 15382 15383 15384 15385 15386 15387 15388 15389 15390 15391 15392 15393 15394 15395 15396 15397 15398 15399 15400 15401 15402 15403 15404 15405 15406 15407 15408 15409 15410 15411 15412 15413 15414 15415 15416 15417 15418 15419 15420 15421 15422 15423 15424 15425 15426 15427 15428 15429 15430 15431 15432 15433 15434 15435 15436 15437 15438 15439 15440 15441 15442 15443 15444 15445 15446 15447 15448 15449 15450 15451 15452 15453 15454 15455 15456 15457 15458 15459 15460 15461 15462 15463 15464 15465 15466 15467 15468 15469 15470 15471 15472 15473 15474 15475 15476 15477 15478 15479 15480 15481 15482 15483 15484 15485 15486 15487 15488 15489 15490 15491 15492 15493 15494 15495 15496 15497 15498 15499 15500 15501 15502 15503 15504 15505 15506 15507 15508 15509 15510 15511 15512 15513 15514 15515 15516 15517 15518 15519 15520 15521 15522 15523 15524 15525 15526 15527 15528 15529 15530 15531 15532 15533 15534 15535 15536 15537 15538 15539 15540 15541 15542 15543 15544 15545 15546 15547 15548 15549 15550 15551 15552 15553 15554 15555 15556 15557 15558 15559 15560 15561 15562 15563 15564 15565 15566 15567 15568 15569 15570 15571 15572 15573 15574 15575 15576 15577 15578 15579 15580 15581 15582 15583 15584 15585 15586 15587 15588 15589 15590 15591 15592 15593 15594 15595 15596 15597 15598 15599 15600 15601 15602 15603 15604 15605 15606 15607 15608 15609 15610 15611 15612 15613 15614 15615 15616 15617 15618 15619 15620 15621 15622 15623 15624 15625 15626 15627 15628 15629 15630 15631 15632 15633 15634 15635 15636 15637 15638 15639 15640 15641 15642 15643 15644 15645 15646 15647 15648 15649 15650 15651 15652 15653 15654 15655 15656 15657 15658 15659 15660 15661 15662 15663 15664 15665 15666 15667 15668 15669 15670 15671 15672 15673 15674 15675 15676 15677 15678 15679 15680 15681 15682 15683 15684 15685 15686 15687 15688 15689 15690 15691 15692 15693 15694 15695 15696 15697 15698 15699 15700 15701 15702 15703 15704 15705 15706 15707 15708 15709 15710 15711 15712 15713 15714 15715 15716 15717 15718 15719 15720 15721 15722 15723 15724 15725 15726 15727 15728 15729 15730 15731 15732 15733 15734 15735 15736 15737 15738 15739 15740 15741 15742 15743 15744 15745 15746 15747 15748 15749 15750 15751 15752 15753 15754 15755 15756 15757 15758 15759 15760 15761 15762 15763 15764 15765 15766 15767 15768 15769 15770 15771 15772 15773 15774 15775 15776 15777 15778 15779 15780 15781 15782 15783 15784 15785 15786 15787 15788 15789 15790 15791 15792 15793 15794 15795 15796 15797 15798 15799 15800 15801 15802 15803 15804 15805 15806 15807 15808 15809 15810 15811 15812 15813 15814 15815 15816 15817 15818 15819 15820 15821 15822 15823 15824 15825 15826 15827 15828 15829 15830 15831 15832 15833 15834 15835 15836 15837 15838 15839 15840 15841 15842 15843 15844 15845 15846 15847 15848 15849 15850 15851 15852 15853 15854 15855 15856 15857 15858 15859 15860 15861 15862 15863 15864 15865 15866 15867 15868 15869 15870 15871 15872 15873 15874 15875 15876 15877 15878 15879 15880 15881 15882 15883 15884 15885 15886 15887 15888 15889 15890 15891 15892 15893 15894 15895 15896 15897 15898 15899 15900 15901 15902 15903 15904 15905 15906 15907 15908 15909 15910 15911 15912 15913 15914 15915 15916 15917 15918 15919 15920 15921 15922 15923 15924 15925 15926 15927 15928 15929 15930 15931 15932 15933 15934 15935 15936 15937 15938 15939 15940 15941 15942 15943 15944 15945 15946 15947 15948 15949 15950 15951 15952 15953 15954 15955 15956 15957 15958 15959 15960 15961 15962 15963 15964 15965 15966 15967 15968 15969 15970 15971 15972 15973 15974 15975 15976 15977 15978 15979 15980 15981 15982 15983 15984 15985 15986 15987 15988 15989 15990 15991 15992 15993 15994 15995 15996 15997 15998 15999 16000 16001 16002 16003 16004 16005 16006 16007 16008 16009 16010 16011 16012 16013 16014 16015 16016 16017 16018 16019 16020 16021 16022 16023 16024 16025 16026 16027 16028 16029 16030 16031 16032 16033 16034 16035 16036 16037 16038 16039 16040 16041 16042 16043 16044 16045 16046 16047 16048 16049 16050 16051 16052 16053 16054 16055 16056 16057 16058 16059 16060 16061 16062 16063 16064 16065 16066 16067 16068 16069 16070 16071 16072 16073 16074 16075 16076 16077 16078 16079 16080 16081 16082 16083 16084 16085 16086 16087 16088 16089 16090 16091 16092 16093 16094 16095 16096 16097 16098 16099 16100 16101 16102 16103 16104 16105 16106 16107 16108 16109 16110 16111 16112 16113 16114 16115 16116 16117 16118 16119 16120 16121 16122 16123 16124 16125 16126 16127 16128 16129 16130 16131 16132 16133 16134 16135 16136 16137 16138 16139 16140 16141 16142 16143 16144 16145 16146 16147 16148 16149 16150 16151 16152 16153 16154 16155 16156 16157 16158 16159 16160 16161 16162 16163 16164 16165 16166 16167 16168 16169 16170 16171 16172 16173 16174 16175 16176 16177 16178 16179 16180 16181 16182 16183 16184 16185 16186 16187 16188 16189 16190 16191 16192 16193 16194 16195 16196 16197 16198 16199 16200 16201 16202 16203 16204 16205 16206 16207 16208 16209 16210 16211 16212 16213 16214 16215 16216 16217 16218 16219 16220 16221 16222 16223 16224 16225 16226 16227 16228 16229 16230 16231 16232 16233 16234 16235 16236 16237 16238 16239 16240 16241 16242 16243 16244 16245 16246 16247 16248 16249 16250 16251 16252 16253 16254 16255 16256 16257 16258 16259 16260 16261 16262 16263 16264 16265 16266 16267 16268 16269 16270 16271 16272 16273 16274 16275 16276 16277 16278 16279 16280 16281 16282 16283 16284 16285 16286 16287 16288 16289 16290 16291 16292 16293 16294 16295 16296 16297 16298 16299 16300 16301 16302 16303 16304 16305 16306 16307 16308 16309 16310 16311 16312 16313 16314 16315 16316 16317 16318 16319 16320 16321 16322 16323 16324 16325 16326 16327 16328 16329 16330 16331 16332 16333 16334 16335 16336 16337 16338 16339 16340 16341 16342 16343 16344 16345 16346 16347 16348 16349 16350 16351 16352 16353 16354 16355 16356 16357 16358 16359 16360 16361 16362 16363 16364 16365 16366 16367 16368 16369 16370 16371 16372 16373 16374 16375 16376 16377 16378 16379 16380 16381 16382 16383 16384 16385 16386 16387 16388 16389 16390 16391 16392 16393 16394 16395 16396 16397 16398 16399 16400 16401 16402 16403 16404 16405 16406 16407 16408 16409 16410 16411 16412 16413 16414 16415 16416 16417 16418 16419 16420 16421 16422 16423 16424 16425 16426 16427 16428 16429 16430 16431 16432 16433 16434 16435 16436 16437 16438 16439 16440 16441 16442 16443 16444 16445 16446 16447 16448 16449 16450 16451 16452 16453 16454 16455 16456 16457 16458 16459 16460 16461 16462 16463 16464 16465 16466 16467 16468 16469 16470 16471 16472 16473 16474 16475 16476 16477 16478 16479 16480 16481 16482 16483 16484 16485 16486 16487 16488 16489 16490 16491 16492 16493 16494 16495 16496 16497 16498 16499 16500 16501 16502 16503 16504 16505 16506 16507 16508 16509 16510 16511 16512 16513 16514 16515 16516 16517 16518 16519 16520 16521 16522 16523 16524 16525 16526 16527 16528 16529 16530 16531 16532 16533 16534 16535 16536 16537 16538 16539 16540 16541 16542 16543 16544 16545 16546 16547 16548 16549 16550 16551 16552 16553 16554 16555 16556 16557 16558 16559 16560 16561 16562 16563 16564 16565 16566 16567 16568 16569 16570 16571 16572 16573 16574 16575 16576 16577 16578 16579 16580 16581 16582 16583 16584 16585 16586 16587 16588 16589 16590 16591 16592 16593 16594 16595 16596 16597 16598 16599 16600 16601 16602 16603 16604 16605 16606 16607 16608 16609 16610 16611 16612 16613 16614 16615 16616 16617 16618 16619 16620 16621 16622 16623 16624 16625 16626 16627 16628 16629 16630 16631 16632 16633 16634 16635 16636 16637 16638 16639 16640 16641 16642 16643 16644 16645 16646 16647 16648 16649 16650 16651 16652 16653 16654 16655 16656 16657 16658 16659 16660 16661 16662 16663 16664 16665 16666 16667 16668 16669 16670 16671 16672 16673 16674 16675 16676 16677 16678 16679 16680 16681 16682 16683 16684 16685 16686 16687 16688 16689 16690 16691 16692 16693 16694 16695 16696 16697 16698 16699 16700 16701 16702 16703 16704 16705 16706 16707 16708 16709 16710 16711 16712 16713 16714 16715 16716 16717 16718 16719 16720 16721 16722 16723 16724 16725 16726 16727 16728 16729 16730 16731 16732 16733 16734 16735 16736 16737 16738 16739 16740 16741 16742 16743 16744 16745 16746 16747 16748 16749 16750 16751 16752 16753 16754 16755 16756 16757 16758 16759 16760 16761 16762 16763 16764 16765 16766 16767 16768 16769 16770 16771 16772 16773 16774 16775 16776 16777 16778 16779 16780 16781 16782 16783 16784 16785 16786 16787 16788 16789 16790 16791 16792 16793 16794 16795 16796 16797 16798 16799 16800 16801 16802 16803 16804 16805 16806 16807 16808 16809 16810 16811 16812 16813 16814 16815 16816 16817 16818 16819 16820 16821 16822 16823 16824 16825 16826 16827 16828 16829 16830 16831 16832 16833 16834 16835 16836 16837 16838 16839 16840 16841 16842 16843 16844 16845 16846 16847 16848 16849 16850 16851 16852 16853 16854 16855 16856 16857 16858 16859 16860 16861 16862 16863 16864 16865 16866 16867 16868 16869 16870 16871 16872 16873 16874 16875 16876 16877 16878 16879 16880 16881 16882 16883 16884 16885 16886 16887 16888 16889 16890 16891 16892 16893 16894 16895 16896 16897 16898 16899 16900 16901 16902 16903 16904 16905 16906 16907 16908 16909 16910 16911 16912 16913 16914 16915 16916 16917 16918 16919 16920 16921 16922 16923 16924 16925 16926 16927 16928 16929 16930 16931 16932 16933 16934 16935 16936 16937 16938 16939 16940 16941 16942 16943 16944 16945 16946 16947 16948 16949 16950 16951 16952 16953 16954 16955 16956 16957 16958 16959 16960 16961 16962 16963 16964 16965 16966 16967 16968 16969 16970 16971 16972 16973 16974 16975 16976 16977 16978 16979 16980 16981 16982 16983 16984 16985 16986 16987 16988 16989 16990 16991 16992 16993 16994 16995 16996 16997 16998 16999 17000 17001 17002 17003 17004 17005 17006 17007 17008 17009 17010 17011 17012 17013 17014 17015 17016 17017 17018 17019 17020 17021 17022 17023 17024 17025 17026 17027 17028 17029 17030 17031 17032 17033 17034 17035 17036 17037 17038 17039 17040 17041 17042 17043 17044 17045 17046 17047 17048 17049 17050 17051 17052 17053 17054 17055 17056 17057 17058 17059 17060 17061 17062 17063 17064 17065 17066 17067 17068 17069 17070 17071 17072 17073 17074 17075 17076 17077 17078 17079 17080 17081 17082 17083 17084 17085 17086 17087 17088 17089 17090 17091 17092 17093 17094 17095 17096 17097 17098 17099 17100 17101 17102 17103 17104 17105 17106 17107 17108 17109 17110 17111 17112 17113 17114 17115 17116 17117 17118 17119 17120 17121 17122 17123 17124 17125 17126 17127 17128 17129 17130 17131 17132 17133 17134 17135 17136 17137 17138 17139 17140 17141 17142 17143 17144 17145 17146 17147 17148 17149 17150 17151 17152 17153 17154 17155 17156 17157 17158 17159 17160 17161 17162 17163 17164 17165 17166 17167 17168
|
mini-buildd (2.4.4) unstable; urgency=medium
[ Stephan Sürken ]
* [5d4a3b3] manual/administrator.rst: Add workflow how to update archive
key's UID
[ Carles Pina i Estany ]
* [1cb5307] Added po-debconf Catalan translation (Closes: 1106015)
-- Stephan Sürken <absurd@debian.org> Tue, 26 Aug 2025 13:27:16 +0200
mini-buildd (2.4.3) unstable; urgency=medium
* [2e49b52] package.py (KeyringPackage): Don't call json_pretty twice
for dput profile (Fixes dput syntax error)
-- Stephan Sürken <absurd@debian.org> Sat, 23 Aug 2025 18:59:58 +0200
mini-buildd (2.4.2) unstable; urgency=medium
2.4.2 stable release: Minor fixes && maintenance after trixie release
* [49f345b] webapp.py: [django 4.0] Set CSRF_TRUSTED_ORIGINS (can fix
django logins on a proxy setup)
* [2f380d7] debian/control (Vcs-Git): Add branch hint (for 2.4.x/stable)
* [d6b4c05] dist.py: Add new trixie APT keys (archive, release,
security)
* [c234ee4] dist.py: Update APT keys for trixie
* [c397ef4] dist.py: Add forky template
* [a27ac9e] api.py (KeyringPackages): Use same (timestamp) version
across distributions (Fixes: keyring packages may not be dist-
upgradeable)
-- Stephan Sürken <absurd@debian.org> Sun, 17 Aug 2025 10:47:02 +0200
mini-buildd (2.4.1) unstable; urgency=medium
2.4.1 stable release: Minor doc and web search tweaks.
[ Stephan Sürken ]
* [10334f6] manual/roadmap.rst(brainstorm): Fix RST "syntax error" for
bullet list
* [814fbae] manual/roadmap.rst: Add hint to master/development roadmap
on the home page
* [c53eb9f] api.py (Search._run): Make search case insensitive
* [362ab75] api.py (Search): Make actual search pattern string available
as class variable
* [821c93b] api/search.html: Show glob pattern actually searched for
[ Gerhard A. Dittes ]
* [8b387f9] mini_buildd.{css,js}: Tweak search form (i.a. change
placeholder text && hide search button)
* [9744097] mini_buildd.{css,js}: Improve "search packages"
responsiveness
* [25afa9d] mini_buildd.css: Improve "search's optional arguments
positioning"
-- Stephan Sürken <absurd@debian.org> Mon, 11 Aug 2025 17:01:28 +0200
mini-buildd (2.4.0) unstable; urgency=medium
Initial 2.4.x stable release.
[ Gerhard A. Dittes ]
* [b01c06d] src/mini_buildd/static/icons/back.svg: Create
* [76cf48a] base.html, mini_buildd.{css,js}: Intelligently add back
button to improve "file view" browsing usability
* [653f6dd] file.html, mini_buildd.css: Enhance "clipboard && download"
buttons appearance
* [6226186] mini_buildd.css: Slightly adjust "search results" layout
* [ad5b2ff] base.html: Fix alignment (cosmetics)
* [51f98eb] base.html, mini_buildd.css: Don't use extra "a" element to
shape "back button"
* [0ae6600] mini_buildd.css: Fix some alignment to apply only for "file
view" purposes
* [88fe1b6] api/base.html: Fix "Don't show convenience URL if call
already is non-popup"
* [a9c4e8e] mini_buildd.css: Tweak "cli-json links" position (when shown
w/o "url")
* [4ee6303] mini_buildd.css: Finetune "mbd-info" positioning
* [5d85a8d] mini_buildd.css: Fix datatable corners (affecting chromium
based browsers)
* [d527ca5] mini_buildd.css: Improve "plain result" appearance
* [c933f26] manual/conf.py: Switch from "localtoc" to "navigation" for
sidebar content
* [544aeec] events/index.html: Transform some comment from html to
django (to not be displayed after rendering)
* [12b16e4] mini_buildd.css: Don't wrap "Event" column contents (for >=
medium screen sizes)
* [b8d4909] manual/_static/custom.css: Slightly tweak navigation font
sizes
[ Stephan Sürken ]
* [3a62f03] api/base.html: Don't show convenience URL if call already is
non-popup
* [f9708e3] Revert "api/base.html: Fix "Don't show convenience URL if
call already is non-popup""
* [e85d860] config.py (Route.get_uri): Replace static_uri() w/ more
general get_uri() function
* [fb91fb1] urls.py (mbd_path): Drop mbd_path() helper (rather
explicitly write path config django-style)
* [05a6f69] src/mini_buildd/urls.py: Add (django) URLs for
[events|builds|repositories]-static
* [adee8d4] devel (mbd_test_urls): Add (tidy) test for new search API
call
* [5909069] api.py (Search): (json) result: Canonize result file paths
&& separate match list per source (repositories, events, ...)
* [55001f5] api/search.html: Update to new json result && present both
"download" and "view" links for each match
* [b09277a] api.py (Search._run): Also search in the "builds" directory
* [a4a2059] api.py (Search): Add mild warning for matches in builds and
events (&& place builds before events results)
* [90a8a8a] api/search.html: Add warnings/notes on search results
* [c88b856] manual/roadmap.rst: Prepare roadmap for 2.4.x release
* [8637414] manual/roadmap.rst: Add "apt key rollover" to brainstorm
* [d0ccc57] manual/roadmap.rst: Add deb822 sources support to brainstorm
-- Stephan Sürken <absurd@debian.org> Sun, 11 May 2025 11:40:38 +0200
mini-buildd (2.3.10) experimental; urgency=medium
[ Gerhard A. Dittes ]
* [9522d89] icons/{top,up}.svg: Improve coloring
* [bde7ea0] icons/{browse-directory-view,list-view}.svg: Adapt coloring
(to top/up icons)
* [c30bacc] base.html, mini_buildd.css: Enhance browsing usability
* [a84b1b2] base.html, mini_buildd.css: Improve "file view" appearance
* [d977138] mini_buildd.css: Slightly reposition ".dataTables_info"
* [fafb51c] icons/download.svg: Adapt coloring (to browse icons)
* [9929df3] mini_buildd.js: Show search-form's input text title again
* [9532f46] icons/files.svg: Create
* [8cc12b6] search.html, mini_buildd.css: Improve "search results"
appearance
* [027b3f8] src/mini_buildd/static/icons/html.svg: Get rid of (as not
being needed any longer)
* [23b2cbe] icons/ubuntu.svg: Improve
* [410fcd9] mini_buildd.css: Fix "browse buttons scrolling"
* [421b3e9] mini_buildd.css: Tweak some heading sizes
[ Stephan Sürken ]
* [3bc1f8f] api/search.html: Use datatable to list files (adds filter
ability useful for large lists)
* [9435e85] api/search.html: Revert back to hiding file results by
default
* [99f4ac0] api/search.html: Show main result in detail summary (again)
* [da9624b] api.py (Search.iarguments): Move versatile pattern
description to argument docs
* [562e5cd] api.py, builtins.py: Make "popup" an argument to custom
mbd_api tag (rather than a fixed per call definition atrribute)
* [7988c8c] dist.py: Add support for Ubuntu oracular (24.10)
* [4dafe6a] dist.py: Add support for Ubuntu plucky (25.04)
* [75a751f] base.html: On login, dynamically redirect to calling page
-- Stephan Sürken <absurd@debian.org> Thu, 01 May 2025 19:39:43 +0200
mini-buildd (2.3.9) experimental; urgency=medium
[ Stephan Sürken ]
* [943e880] debian/po/pt.po: Update translation. Thanks to Américo
Monteiro (Closes: 1099365)
* [6b84173] debian/control (Standards-Version): Update to 4.7.2 (no
changes needed)
* [084f6d8]
src/mini_buildd/templates/mini_buildd/includes/api/search.html: Drop
obsolete section
* [9c964f8] views.py (web): Improve wording for Events Queue page
* [e15cc00] base.html (web): Improve wording for directory/standard view
(browse, list view)
* [2c834b8] base.html (web): Re-add "ls" (replaced by search) to bottom
* [d54a91f] tags/api_arg.html: Add developer comment about "header"
support
* [220ab98] api.py (refac): Update call categories to mixin options
* [d3d9dee] api.py (Argument): Add usage(): Combine id, doc and syntax
help
* [87c921c] tags/api_arg.html: Use new argument usage() instead of
HTML_HELP, and drop doc from "id" (redundant)
* [68ef7b8] api.py(argument): Rename HTML_HELP->HTML_SYNTAX and adapt
wording
* [1e5d7ec] base.html: Drop explicit next= arg for login&co, configure /
as django default redirect URL
* [c842e5b] debian/copyright (License): Fix FSF address wording (lintian
warning)
* [704cac9] debian/po/pt_BR.po: Update translation. Thanks to Adriano
Rafael Gomes (Closes: 1103460)
* [3f3ec78] gnupg.py (GnuPG): Add test for non-interactive key
generation
* [1f062ce] gnupg.py (GnuPG): Fix non-interactive key generation for
gnupg versions 2.3 and 2.4
[ Gerhard A. Dittes ]
* [c051907] mini_buildd.css: Adjust "search" form instead of "ls"
* [fd48c74] search form appearance: Tweak to hopefully make it more
comprehensible
* [d76c797] base.html: Just use "Events" as menu item (, keep "Events
Queue" as heading)
* [594f8ce] icons/structure.svg: Create
* [9fe9092] events/index.html: Use new icon to "structure" related
events
* [a1039cc] html/css: Keep handling content and layout separately
* [1ca3d2f] src/mini_buildd/static/mini_buildd.css: Tweak some spacing
(between date && icon)
* [0928c9b] mini_buildd.css: Fix hiding of search label
* [cd4ed66] includes/api/search.html: Always show search results
* [16af8d4] mini_buildd.css: Prepare styling of "icon links" hovering
* [4bc2a34] style: Consistently brighten "icon links" when hovering
(instead of using "text background")
* [8a970e2] mini_buildd.js: Disguise redundant titles in search form
when javascript is enabled (and dedicated tooltip is shown on top)
* [af5634f] mini_buildd.js: Fix form tooltip positioning to be
independent of page scrolling
* [15cbd1c] api/search.html, mini_buildd.css: Slightly realign search
results
* [3930e6b] mini_buildd.css: Tweak footer's "ls form"
* [dcf332d] mini_buildd.css: Improve "search results" responsiveness
* [8cfb9c9] mini_buildd.css: Adapt responsiveness to new "search form"
* [e1aec54] tags/file.html: Style clipboard and download icon like other
"link icons" on hovering
* [bd47f1e] mini_buildd.css: Improve "search results" link appearance
* [a5442b9] icons/list-view.svg: Create
* [3fa869e] base.html: Use "list-view" instead of "html" icon
* [28f3e54] icons/browse-directory-view.svg: Create
* [899fa34] icons/list-view.svg: Slightly adapt
* [c65a4ed] base.html: Use "browse-directory-view" instead of "folder"
icon
* [adc4b9c] icons/structure.svg: Improve
* [e410038] mini_buildd.css: Fix "search results" link hovering
* [2f790e8] mini_buildd.css: Adapt responsiveness tweaks to new
"dirview" icon
* [6a2c988] icons/file.svg: Make less intense
* [6c626c1] icons/details.svg: Create
* [bf14111] mini_buildd/dir.html: Make "file details view" more obvious
* [9a9a391] icons/installed.svg: Create
* [4108d32] api/show.html: Use dedicated "installed" icon (instead of
"file") for "INSTALLED events" links
* [3a95a38] icons/{changes,details,file,installed}.svg: Harmonize
* [814f64e] icons/details.svg: Reduce to magnifier
-- Stephan Sürken <absurd@debian.org> Thu, 24 Apr 2025 17:36:20 +0200
mini-buildd (2.3.8) experimental; urgency=medium
Summary:
* Adds 'search' for more user-friendly lookup of source/binray packages
* Drops confusing searchable full events view (only show actual
current events queue)
* Misc fixes
Details:
[ Stephan Sürken ]
* [1657a18] testsuite-packages/installed-udeb: New testsuite package to
test installation of 'udebs'
* [427f0a2] devel (apt-tofu-bootstrap): Rather add all suites to
installed sources.list (was 'stable' only)
* [0dd1594] pool.py (Pool): Initial (APT) pool support
* [1910aed] api.py (Search): Initial "search" implementation
* [4057e50] models.py: Move Repository.mbd_dsc_pool_path impl. to
pool.py
* [da2c64a] webapp.py (configure): Add simple example config for jinja2
(commented)
* [241ce8a] views.py (ExceptionMiddleware.error): Add code note why we
don't log errors in production mode here
* [6e67430] views.py: Remove "range" (limit && before) from events view
* [f46c45b] events/index.html: Add own column for the ("transaction")
key && move events-dir link from menu there
* [e4431bf] events/index.html: Add support for optional title && tooltip
in view; only show path if non-empty
* [fc27a55] views.py (EventsView.setup): If path is empty, show live
events queue (not all events from events dir)
* [6625188] mini-buildd-changelog-mode.el (default codename list): Add
bookworm, trixie, remove buster
* [2475ac4] manual/developer.rst (emacs cl mode): Fix typo in example
config
* [bf15f0c] debian/po/de.po: Update translation. Thanks to Helge
Kreutzmann (Closes: 1081441)
* [ba8852d] events/index.html: Drop extra column for "transaction key"
* [231cfac] setup.cfg (pylint 3.3.1): Adapt `max-positional-arguments`
(new check)
* [a43f507] src/mini-buildd-backup: Just run 'backup' by default (no
need to give '--backup' arg explicitly)
* [62bbb8d] src/mini-buildd-backup: Improve (auto) backup file name (add
hostname && version, drop redundant parts)
* [44478fc] src/mini-buildd-backup: Don't override existing backup file
* [a596a67] includes/api/search.html: Hide options from "ls" API call
* [96905d4] includes/api/search.html (html5): Fix: Use 'code', not 'tt'
* [a8a47ee] includes/api/search.html: Don't use h2 for pattern info
* [2569b7c] includes/api/search.html: Fix h2/h3 endtag
* [518b9bb] includes/api/search.html: Use section for each source result
* [5eb9d9e] includes/api/search.html: Drop redundant "dir" link for
events
* [ce642bb] includes/api/search.html: Simplify results display
* [b7369bb] includes/api/search.html: Simplify -- iterate result strings
* [06a0775] includes/api/search.html: Show number of results
* [28fcc57] api.py (Search.__add_ebdir): Remove superfluous fstring
* [72425b8] pool.py (Pool.isearch): Optimize pool search routine
* [21e187f] debian/po/nl.po: Update translation. Thanks to Frans
Spiesschaert (Closes: 1087215)
* [6927efa] mini_buildd.js: mbd-localize-date(): Trim text input from
html (Fixes 'Modified' display in dir views)
[ Gerhard A. Dittes ]
* [cdb5acb] mini_buildd.css: Fix "api details" misalignment for Chromium
based web browsers
[ Stephan Sürken ]
* [3d1b63a] src/mini_buildd/httpd.py (text): Fix new codespell error
* [7d4fb5a] testsuite-packages/installed-sbuild-checks/debian/changelog:
Disable piuparts mode
* [cd3a2c6] sbuild.py (SBuild.run): Explicitly set chroot mode to
"schroot"
* [f73700e] pool.py: Rename Pool->Dir and make glob pattern configurable
* [adccce0] api.py: Update for changed pool.py && drop search in builds
dir
* [8b85475] api.py (Call): Add support to avoid (html/js) popup as API
call configuration
* [bc97075] api.py (Search): Avoid (html/js) popup for search call
* [e2492b5] api.py (Search): Auto add '*' to glob pattern
* [e7f8ded] pool.py (Dir.isearch): Yield source _and_ found file, and
don't stop on 1st find
* [9119dcf] api.py (Search): Update to include all found files as URIs
* [c4aaba8] includes/api/search.html: Update to new URI search
* [d671f8c] base.html: Only display search on main page (drop ls)
* [8b72941] manual/roadmap.rst: Update for new "search" and new "Events"
-- Stephan Sürken <absurd@debian.org> Mon, 24 Mar 2025 11:13:20 +0100
mini-buildd (2.3.7) experimental; urgency=medium
Summary:
* reprepro reindex: Also run 'flood' && add explicit reindexing via
API call
* Misc minor fixes
Details:
* [f3fd726] manual/roadmap.rst (2.4.x): Minor wording fix (used vs
preset)
* [828f031] api.py, Manual (PubKey): Improve doc for API(pub_key) and
key retrieval
* [0da02e5] reprepro.py (Reprepro.reindex): Also run "reprepro flood"
(make arch=all packages available for potentially newly added
architectectures)
* [837769c] manual/roadmap.rst: Updates for the 2.4.x roadmap
* [4d4cf65] models.py (Daemon): Fix daemon.start|stop calls on
[de]activation
* [9618818] api.py (Call.doc): Rather use () (join) notation for doc
string
* [3d4adad] api.py (Call.doc): Automate warning note for '_Maintenance
calls'
* [f77dfb2] models.py (Repository.mbd_reprepro_update_config): Add arg
to force reindex (even if config did not change)
* [cd1e55a] manual/roadmap.rst (2.2.4): Rather use apicall macros
* [f76223f] api.py: New API call "reindex" (force reprepro reindex)
-- Stephan Sürken <absurd@debian.org> Fri, 06 Sep 2024 14:14:53 +0200
mini-buildd (2.3.6) experimental; urgency=medium
Summary:
* Makes web app initially "responsive" (usable on mobile devices). Thx
Gerhard!
* Fix suite sorting (for upgraded systems) [run explicit "Check" on
repositories to see this in API(show) as well]
* Misc minor fixes
[ Stephan Sürken ]
* [30a3231] templates/admin: Switch to override 'app_list.html' (django
>=3.1); this also syncs 'app_list HTML code' with django 3.2.
* [6447cb9] templates/admin: Split up "blocks" in several includes
[ Gerhard A. Dittes ]
* [5e51c5a] admin.css: Adapt to updated django version (>= 3.1)
* [ad56ce6] CSS, HTML: Make web application initially responsive. Thanks
to Boyuan Yang (Closes: 843396)
* [8a25c74] mini_buildd.css: Make page footer more space-efficient
* [ea41da1] mini_buildd.css: Reduce "toggle popup buttons" complexity
* [21e2fe0] icons/isolate.svg: Finetune
* [a174c27] source_header.html (usability): Make dedicated page links
more/faster accessible
* [fd8a972] mini_buildd.css (responsiveness): Further improve support
for small screen sizes
* [289a1f2] mini_buildd.css: Reposition "dirview" icon
* [3cabd0d] source_header.html: Phrase "non-popup title" a bit more
concisely
* [529eec0] mini_buildd.css: Better align "icons within link tags" for
dir listing
[ Stephan Sürken ]
* [cd691a3] dist.py (setup): Add "lintian_version" to all (non-rolling)
codenames
* [6468e4a] models.py (SuiteOption): Support (python) sorting
* [d5726af] models.py (SuiteOption): Fix (python) sorting of SuiteOption
* [d3f5ada] builtins.py: Add filter 'mbd_sorted'
* [6741921] models.py (Repository.mbd_sorted_distributions): Drop
(simply use ``sorted`` directly, and templates can now use
``mbd_sorted``)
* [983ba3f] dist.py, models.py (Component): Move sorting help to Model
* [4da041b] models.py, html: Make 'suiteoption' sorted wherever
applicable
* [351d471] builtins.py (mbd_fromtimestamp): Should use from_stamp()
from utils
* [c51ebb1] tags/file.html: Add "modified" stamp to file view
* [5fd8392] repositories/distribution.html: Fix class name for
distribution column (make suites colored)
-- Stephan Sürken <absurd@debian.org> Mon, 26 Aug 2024 14:24:46 +0200
mini-buildd (2.3.5) experimental; urgency=medium
Summary:
* 100% fix for "Daemon (singleton) race condition"
* API(dput_conf), m-b-cruft improved
Details:
[ Stephan Sürken ]
* [8fd83e1] debian/po/nl.po: Update translation. Thanks to Frans
Spiesschaert (Closes: 1075876)
* [e59a154] models.py: Fixup Distribution.sbuild_*_blocks fields (not to
have hardcoded implicit defaults when empty)
[ Gerhard A. Dittes ]
* [6f65b5b] events/index.html, mini_buildd.css: Improve style of events
table column "Source" and "Version"
[ Stephan Sürken ]
* [50ef40c] models.py (refac): Rename get_daemon() -> daemon()
* [e90eec4] *.py (refac): Replace all "util.daemon().model" by
"util.models().daemon()"
* [a4f9b38] daemon.py (refac): Drop "model" property
* [8ea98cb] daemon|cron|packager.py: Make importable w/o django config
* [ab641b0] setup.cfg: Drop global disabling of 'import-outside-
toplevel' (pylint)
* [1fe4666] *.py (refac): Move Daemon Model Getter to models.py ->
daemon.py
* [aad5711] daemon.py (refac): Move Daemon Getter to util.py ->
daemon.py
* [5437e5f] daemon.py (refac): Move start/stop outside Daemon class
* [cbb902c] daemon.py (refac): Drop (Daemon) singleton
* [84a9aca] daemon.py (Daemon.sync): Drop Daemon.sync() (no longer
needed)
* [fe5b565] mini-buildd-cruft (_add_outdated_paths_in): Add generic
function for outdated files
* [f3dcc0d] mini-buildd-cruft: Add check for outdated incoming files
* [ad512dd] mini-buildd-cruft: Add option '--automatic-remove'
* [d5e8f9b] mini-buildd-cruft: Improve usage/help display
* [94bc8b9] mini-buildd-cruft: Exit 0 on usage (--help must not fail)
* [c0506b2] setup.cfg (flake8, pydocstyle): Strictly do 'one line per
item' (diff-friendly) approach
* [36bf431] manual/administrator.rst (Remote): Add "remote hostname"
note (followup for bug #1076480)
* [ddc7974] api.py (dput_conf): [doc] Add note about custom side-wide
config add-on
* [a352494] api.py (dput_conf): Add '--with-global' option: Recommended
global config
* [fbbe4de] api.py (dput_conf): [doc] Explicitly mention that config
works for both dput and dput-ng
* [5801aa3] api.py (dput_conf): [refac] site config: Rather use 'exists
style', not try/catch (less code && more readable)
* [4384701] api.py (dput_conf): Add global recommended config: Avoid
accidental uploads to default target
* [97238d7] api.py (dput_conf): Add comment lines for the (three)
sections
* [31e4e4f] api.py (dput_conf): Rather make recommended global config
"opt out", not "opt in"
* [a788dee] manual/roadmap.rst: Drop "[refac] Drop Daemon singleton"
from brainstorm (done)
* [e994a0d] manual/roadmap.rst: Update dev brainstorm list
* [d8e3fd7] manual/roadmap.rst (2.4.x): Add note about change in
API(dput_conf)
-- Stephan Sürken <absurd@debian.org> Wed, 14 Aug 2024 11:23:23 +0200
mini-buildd (2.3.4) experimental; urgency=medium
Summary:
* Fixes up Distribution's lintian options support (and also suppresses
'bogus-mail-host*' by default now for newer distributions).
* Logging cleanups && make all django migration run output now available
Details:
[ Stephan Sürken ]
* [3d5654e] devel (testsuite-packages): Sync port codenames w/ changelog
of 'installed-port' test package
* [56568f2] Improve lintian support (add warnfail options field, drop
hardcoded run-time options)
* [2799761] models.py (Distribution): Update help on lintian options
* [6c8c3b3] dist.py (lintian): Suppress bogus-mail-host[-in-debian-
changelog] by default
* [b56ce5f] dist.py: Embed lintian defaults into SETUP dict
* [7bcf8b5] webapp.py (fix_sqlite_path): Log this as DEBUG only (was
INFO)
* [7cbdfe8] values.py (cache_clear): Log this as DEBUG only (was INFO)
* [282ca57] cli.py (logformat): Add thread name && id to [meta info]
* [3b9ad28] webapp.py (Call): Add Call() class: Smarter/better logging
for django-admin commands
* [e9bef76] webapp.py: Update all code to Call() (drop call() function)
* [ad113b4] sbuild.py (SBuild.run): Log with sbuild extras should rather
be debug
* [6e1ef5d] *.py (log): Unify names, str() and logging for threads
[ Gerhard A. Dittes ]
* [1b6fb65] admin.css: Adapt text field size to be larger if possible
[ Stephan Sürken ]
* [f564204] events.py (get): Unified event getter (correctly reacts to
SHUTDOWN)
* [df29964] mini-buildd (CLI.runcli): Be sure to initially create Daemon
singleton _before_ starting web services (avoid potential race on
Singleton creation)
* [f7f5a64] dist.py: Fix lintian defaults (accidentally borked by
b56ce5f5)
* [5c51e3f] django-admin: Drop monkey-patching for Field.deconstruct
* [dfde72d] models.py: Make all custom validators deconstructible (to
make makemigration work again)
* [ec2120b] webapp.py (init): Simplify init code
* [837951e] migrations/0034_sync_help_text_and_more.py: Sync to current
help_text status
* [c7bdd0f] models.py (Repository._mbd_package_migrate): Fix the
"rollback restore" functionality
-- Stephan Sürken <absurd@debian.org> Fri, 02 Aug 2024 20:03:58 +0200
mini-buildd (2.3.3) experimental; urgency=medium
[ Stephan Sürken ]
* [8919802] debian/NEWS: Change version for icon theme note to 2.3.1
(Fixes lintian warning about non-existing version)
* [553ab00] devel (mbd_test_urls): Add extra function to generate test
URLs
* [063f151] devel: Drop "httpd_testfiles" (clunky and not really needed)
* [e2e5ce7] devel (httpd-benchmark): Simplify: Use siege && use URLs
from mbd_test_urls()
* [9bf44f2] devel: Use curl everywhwere (so we can drop wget as
'testsuite dependency')
* [41b94b0] devel (kill): Don't fail when no process is found && cleanup
potential PID file
* [1c3d40c] devel (install): Explicitly kill service before installing
in chroot environments
* [de55ff6] setup.cfg (pycodestyle): Don't leave 'ignore' empty
(confusingly uses default value if not given)
* [ea35e9f] setup.cfg (pycodestyle): Enable test for E226 && fix one
find
[ Gerhard A. Dittes ]
* [ec0469b] events/index.html, mini_buildd.css: Disable "source form" if
pointless
[ Stephan Sürken ]
* [f9b766f] devel (mbd_pid): Ignore pids from foreign chroots
[ Gerhard A. Dittes ]
* [b0d688a] models.py (Remote.Admin): Reverse the order of "Key" and
"Key ID"
[ Stephan Sürken ]
* [d03f4cc] manual/conf.py: Suppress new sphinx (7.3.7) cache warning
[ Gerhard A. Dittes ]
* [f69f9c4] manual/administrator.rst: Improve systemd container example
to not unnecessarily install things outside of the container
* [4e6c206] manual/administrator.rst (Visit): Optically tweak sentence
to improve understandability
[ Stephan Sürken ]
* [23da454] devel (tidy): Fix variable name for sphinx testing
(uri->url)
* [4926c46] devel (tidy): Improve output of tidy result
* [c7c0a30] devel (tidy): Use --force-output yes (avoids extra warning
text (on supressed errors))
* [0cc1f05] devel (tidy): Drop exceptions 'False-positives due to django
"escapejs" tag' (seems no longer necessary)
* [24b2074] devel (tidy): Add exception for 'sphinx 7.3.7 seems to use
new "search" element'
[ Gerhard A. Dittes ]
* [7c37998] static/mini_buildd.css: Open form details (remake_chroots,
wake) to "the left" for better accessibility (in most cases)
* [40b6ee0] manual/administrator.rst: Rephrase sentence for better
understanding
[ Stephan Sürken ]
* [96121d2] templates/mini_buildd/events/index.html: Just use plain
text, not form for 'non-api source display'
* [1efd40a] events.py (Event): Add constant sets to distinguish
"building" and "packaging" events
* [07e3380] templates/mini_buildd/events/index.html: Use
Event.PACKAGING|BUILDING where applicable
* [f306e1b] reprepro.py (Ls.enrich): Improve extra data retrieval form
events dir (avoids multiple changes in show())
[ Gerhard A. Dittes ]
* [023b232] manual/administrator.rst (Remote): Improve section on how to
interconnect 2 mbd instances
* [6909095] manual/administrator.rst (wake): Improve description of
newly introduced feature
[ Stephan Sürken ]
* [3509935] testsuite-packages/installed-port/debian/changelog:
'Upgrade' to bookworm,bullseye (drop buster)
* [53e00c2] manual/roadmap.rst: Add upgrading note for minor JSON result
change in API(show).
* [ec78786] reprepro.py (Reprepro._call): Improve public message when
(any) reprepro call fails
* [27f4602] API port, portext && changes options: Silently uniquify
distributions to port to
* [8b2c0ff] manual/roadmap.rst: Fix version in 'Upgrading' section title
* [478f5e1] dist.py: Move 'lintian options' from SbuildCheck to sbuild
* [8a62e9c] devel (tidy): Mute 'BLANK_TITLE_ELEMENT' (new w/ tidy 5.8.0,
no fix known)
-- Stephan Sürken <absurd@debian.org> Sun, 21 Jul 2024 12:02:28 +0200
mini-buildd (2.3.2) experimental; urgency=medium
* [3360a29] util.py: Add "python" to VERSIONS (informational, and we
will need runtime compat code for python <3.12)
* [fc3adb2] util.py (shutil.rmtree()): Add run-time compatibility for
python < 3.12
* [203470b] base.html (text): Improve text when inspection cron has not
been run *yet*
* [c7d28a1] expire_builds, expire_events: Textual fixes and improvements
-- Stephan Sürken <absurd@debian.org> Sun, 30 Jun 2024 16:46:53 +0200
mini-buildd (2.3.1) experimental; urgency=medium
[ Gerhard A. Dittes ]
* [5f860df] manual: Fix style of "python TOC" (to not exceed sidebar and
overlap actual content)
* [69169ed] manual: Further tune "Alabaster" theme
[ Stephan Sürken ]
* [132c87a] debian/NEWS, README.Debian: Make both files generic (not
mini-buildd binary package only)
* [be7792b] python3-mini-buildd.maintscript: Proper symlink/dir handling
for icon theme (Fixes: Bogus file installs to numix-icon-theme package
paths)
-- Stephan Sürken <absurd@debian.org> Sun, 23 Jun 2024 11:06:15 +0200
mini-buildd (2.3.0) experimental; urgency=medium
Initial 2.3.x (development) release. Initial upload to experimental.
* [c09ca5f] debian/changelog: Add header for 2.3.x development
* [74b4873] debian/po/es.po: Update translation (Closes: 1072928)
* [4c14a54] debian/control: Drop dependency on python3-attr (no longer
needed twisted/buster workaround)
* [7b5b0d2] debian/control, httpd.py: Depend on twisted 24.3 && remove
all code workarounds
* [479fe65] debian/control: Depend on reprepro 5.3.1-1.4 (avoid bugs
1050321, 1056380)
* [60e4e51] contrib.py (DebianPackageTracker.__init__): Avoid "beautiful
soup" warning for missing "features" argument
* [fe376b2] examples/mini-buildd-utils/python-dpts: Add example to use
'DPTS support' from contrib
* [4c2492c] contrib.py (DebianPackageTracker.__init__): Drop "~+" from
changelog URLs (adapt to current DPTS state)
-- Stephan Sürken <absurd@debian.org> Sun, 16 Jun 2024 16:09:19 +0200
mini-buildd (2.2.0) unstable; urgency=medium
2.2.0 release. Initial upload to unstable.
-- Stephan Sürken <absurd@debian.org> Sun, 02 Jun 2024 20:30:09 +0200
mini-buildd (2.2.0~rc5) experimental; urgency=medium
Summary:
Rollback removal fix, minor manual fixes
Details:
* [01413b2] manual/roadmap.rst: Drop redundant "News" sections (Fixes
sphinx's 'autosectionlabel' duplicate warnings)
* [a4f82f7] devel (testsuite): Extend 'build-migrate' with removal tests
(especially rollback removal)
* [30fe76d] models.py (Repository.mbd_package_remove): Fix rollback
remove. Thanks to Magnus Holmgren (Closes: 1071181)
-- Stephan Sürken <absurd@debian.org> Mon, 20 May 2024 15:00:54 +0200
mini-buildd (2.2.0~rc4) experimental; urgency=medium
Summary:
2.2.x Release Notes, minor fixes
Details:
* [09172e0] mini-buildd-cruft: Suppress lvdisplay's stderr output
(Fixes: Confusing 'not root' warning while forcing uid=mini-buildd)
* [8fc6a4a] mini-buildd-debug-build: Fix program name in usage
* [489a6f1] doc: Make note about re-enabling vsyscall an admonition (and
move to schroot.py)
* [d3d9939] manual/roadmap.rst (2.0.x): Remove outdated notes
* [3b7cb29] manual/roadmap.rst: Initial 'News' for 2.2.x
-- Stephan Sürken <absurd@debian.org> Sun, 12 May 2024 12:19:17 +0200
mini-buildd (2.2.0~rc3) experimental; urgency=medium
Summary:
Setup updates for Ubuntu, misc cosmetic fixes and doc updates
[ Stephan Sürken ]
* [5dd4b5a] api.py (Setup.Dists.iexpand_arch): [style] Rather use 'yield
from' (Fixes new warning w/ pylint 3.1.0)
* [f932bfc] dist.py: Drop "broken" tags for Ubuntu mantic + lunar (we do
have a documented debootstrap workaround for some time)
* [950765b] dist.py: Add setup support for Ubuntu noble (24.04)
[ Gerhard A. Dittes ]
* [d980214] mini_buildd.css: Increase z-index by 1 (Fixes certain
"opened details" not being covered by "popup")
[ Stephan Sürken ]
* [a4600b2] models.py (Repository.__str__): [readability] Add space to
codename iteration
* [1f81c51] httpd.py (doc, admonitions): Merge & update admonitions
around twisted
* [c6ffc4c] events/index.html (BUILDING): Don't show empty '()' after
"Live Build Log" Link
* [bd53970] httpd.py (admonition): Dropping note about squeeze apt-
transport-https stalling twisted: Not reproducible any more
-- Stephan Sürken <absurd@debian.org> Sun, 05 May 2024 13:28:05 +0200
mini-buildd (2.2.0~rc2) experimental; urgency=medium
Summary:
Documentation updates & some minor fixes
Details:
* [18aa8cd] setup.py: Use pep440-style version for setuptools only
(Fixes: Incomplete version displayed if version has '~')
* [d1888da] util.py (log_exception): Don't use fstring for logging
* [15b5c8b] views.py (ExceptionMiddleware.error): Don't use django's
message system for HTTP errors (Fixes: Duplicate messages on error
pages)
* [08e7fed] views.py (ExceptionMiddleware.error): Use level DEBUG (not
WARNING) for (django) HTTP errors (Fixes: Potential log spam when
webapp is spammed)
* [b30a903] daemon.py (Daemon.mbd_start): Also clear value's cache on
start (Fixes: Potential wrong API server values after maintenance in
stopped state)
* [9610f8e] manual/administrator.rst (doc): Update "archiving urold"
workflow description
* [1ed6c07] manual/roadmap.rst: Add item to brainstorm (implicit chroot
deletion)
-- Stephan Sürken <absurd@debian.org> Sun, 28 Apr 2024 09:32:36 +0200
mini-buildd (2.2.0~rc1) experimental; urgency=medium
Summary:
Adds ``--codenames`` to debmirror API call (and some notes how to
archive urold distributions).
Label this RC: Only doc updates && bug fixes until 2.2.0.
Details:
* [5357f46] manual/administrator.rst: Add proposed workflow to archive
urold codenames
* [cde6d5b] models.py (Repository.mbd_get_diststrs): Use dedicated arg
for suiteoption_filter
* [f4e70e6] models.py (Repository.mbd_get_diststrs): Add
'distributions_filter' arg
* [48b04bd] api.py (debmirror): Add argument ``--codenames``
* [a0bc2c2] devel (testsuite): Add debmirror call test
* [f90ad0b] views.py (TemplateView.mbd_get_range): Update default
(events) limit to 100 (was 40)
-- Stephan Sürken <absurd@debian.org> Sun, 21 Apr 2024 18:26:03 +0200
mini-buildd (2.1.19) experimental; urgency=medium
Summary:
Fixes issues with updated twisted 24 in unstable, adds SQL migration
test to testsuite && and some doc cleanups.
Details:
* [0f8a190] django_settings.py (pseudo_configure): Make path to sqlite
configurable (defaults to memory still)
* [a8db646] webapp.py (refac): Simplify: No need for class WebApp
* [c50ce3c] webapp.py (call): Add generic "call" function
* [5a410aa] webapp.py (init): Divide into individual functions
* [08550a9] src/run-migrations: Initial POC to run/test migrations
standalone
* [b948a5d] webapp.py: Integrate django_settings.py into webapp.py
* [35640be] devel: Add automatic database migration test (from 20x
example db)
* [8869ac8] src/run-doctest: Use cli.py
* [a411147] manual/conf.py (pysources): Fix admonition links (regression
introduced by 7aff0d0d)
* [943f27f] reprepro.py: Update/clarify reprepro stall bug note
* [3b2a8c8] models.py: Move §duplicate AptKeys note from roadmal to
model.py's admonitions
* [65bd12e] models.py: Admonitions describing working workarounds should
be notes
* [50d3d1c] api|reprepro|models.py (doc): Consistently order admonitions
error..tip
* [378d5be] api.py (doc): Admonition about package loss on stop should
be "note" (by design)
* [b14415f] manual/roadmap.rst: Update brainstorm items
* [d53fd2c] httpd.py: Disable "producer workaround" for twisted >= 23.10
(fixes SSL with twisted 24)
* [09ddcb9] httpd.py: Disable "SSL workaround" for twisted >= 24
(broken, no longer needed)
-- Stephan Sürken <absurd@debian.org> Wed, 17 Apr 2024 18:40:54 +0200
mini-buildd (2.1.18) experimental; urgency=medium
Summary:
Makes builds/event expire dates configurable && misc code maintencance
Details:
* [9452e04] models.py (pylint): Drop one local override (seems false-
positive now fixed)
* [7305a83] setup.cfg (pycodestyle): Drop global exception for W503 (one
code issue fixed)
* [d3f4f05] setup.cfg (pycodestyle): Rather use max-line-length instead
of globally disabling E501
* [1fabbc1] devel(style): Use "isort" to manage consistent python import
order
* [b64c9ae] *.py: Bulk-fix all python import orders via isort (``./devel
isort fix``)
* [e9d35c3] setup.cfg (pylint): Drop extension-pkg-whitelist config --
no longer needed
* [9bd8796] devel: Rename .lintianrc -> devel.lintianrc
* [753234d] setup.cfg (generated-members): Update (via ``./devel
pylintgeneratedmembers``)
* [b1c5c1e] cron.py (expire): Make expire times for builds and events
dirs configurable (via Daemon)
* [9aa2f7f] *.py: Don't use fstrings for log messages
* [204dd28] changes.py: Add public error handling for binary-only
uploads
-- Stephan Sürken <absurd@debian.org> Sun, 14 Apr 2024 09:31:10 +0200
mini-buildd (2.1.17) experimental; urgency=medium
Summary:
2.1.14 regression fix, buildlog speedup && some Debian package
maintenance
Details:
* [041dae0] debian/control (Standards-Version): Update to 4.7.0 (no
changes needed)
* [ff6dc9f] values.py: Fix: m-b-api uses client values for some API args
(regression introduced in 2.1.14/values caching)
* [2a91dd4] builtins.py (PlainFilter.regex_filter): Optimize filter
(will significantly speed up render of huge buildlogs)
* [af1e4db] manual/08x*: Drop ancient/obsolete documents
* [d5be5a3] debian/mini-buildd.init: Add 'Short-Description' (soothes
pedantic lintian warning)
* [043330e] debian/mini-buildd.NEWS (format): Don't use asterisk here
(as recommended in the Developer Reference)
* [464d58b] debian/mini-buildd.config|postrm: Consistently don't use
quotes on 'db_*' calls
* [8c48350] debian/control (Rules-Requires-Root): Add with value "no"
* [16c83fe] .lintianrc (finetune): Don't show experimental and
overridden
-- Stephan Sürken <absurd@debian.org> Thu, 11 Apr 2024 10:11:27 +0200
mini-buildd (2.1.16) experimental; urgency=medium
Summary:
Fixes potential FTBFS & some more web tweaks.
Details:
[ Gerhard A. Dittes ]
* [beebad2] includes/range_menu.html: prepare to show "date-time limit
option" on demand
* [55b08ef] static/mini_buildd.js: show "date-time limit option" on
demand
* [27c132c] static/mini_buildd.css: tweak && refactor minorly
[ Stephan Sürken ]
* [0b0e1c2] cron.py (Tab.cronjob_expire_events): Cosmetic: Simplify call
(analog to expire_builds)
* [7aff0d0] rules: Drop calling ./devel directly (fixes potential FTBFS)
-- Stephan Sürken <absurd@debian.org> Tue, 09 Apr 2024 17:21:39 +0200
mini-buildd (2.1.15) experimental; urgency=medium
Summary:
Addresses various weaknesses of the setup system addressing sources (thx
Magnus Holmgren for the hint): Sources with same codename as the base
source will now survive inspection, and could also be used in the
predefined setups now (although there is no use case for the latter
yet).
Details:
* [859e7e7] api.py (Setup.__run): Retrieve source instance by codename
_and_ origin (Closes: 1067239)
* [5578e18] dist.py (SETUP): Use "extra_sources", not "sources"
* [3fcb9b2] dist.py (style): Use all upper-code variables in global test
code (avoids some pylint surprises)
* [efc7931] dist.py (SETUP): Make "extra_sources" list of dicts, not
dict itself (Fixes: Can't add extra sources that use same base
codename)
* [5998ae4] api.py (Setup, PrioSources): Fix to also use "origin" to
address Source
* [777d396] dist.py (SETUP): Add "priority" for extra sources (obsoletes
heuristic for security sources)
* [b87a4ff] dist.py (SETUP): Style: "origin" should be first key
-- Stephan Sürken <absurd@debian.org> Sun, 07 Apr 2024 18:03:51 +0200
mini-buildd (2.1.14) experimental; urgency=medium
Summary:
Enables API values caching (speeds up HTML page rendering with many
integrated API calls) and other mostly WEB GUI improvements.
Details:
[ Gerhard A. Dittes ]
* [41344b5] static/mini_buildd.css: improve menu item appearance when
getting "mbd-attention"
* [959550a] devel: fix "usage examples" regarding "profile network
options"
* [992add7] static/mini_buildd.css: indicate page (re)loading triggered
by "limit before form" (if "clicked")
* [527e483] manual/_templates/mbd-sidebar-apicalls.html: fix (potential)
iframe recursion
* [1fa6079] manual/_static/custom.css: finetune current theme
("Alabaster")
* [14cf855] static/mini_buildd.css: improve "button click" feedback
[ Stephan Sürken ]
* [8897be4] api/index.html: Drop redundant menu for API index
* [b02f7e6] devel (mbd_pygrep->grep): Rather grep whole project, not
just py code
* [0ef8dfd] manual/conf.py: Update copyright years
* [0cf4d72] values.py: Drop all values that definitely do not need to be
cached
* [bd92aea] values.py (misc refac): Fix naming, order; drop unused
(DUMMY, ALL_DISTRIBUTIONS)
* [269091a] values.models.py: Refacture codename set getter
* [4692ed2] api.py (Argument._get_value): Rather move slightly confusing
get_value() helper to api.py (only used there)
* [ee0e60a] devel (sphinx-build): Needs 'version_py' call to always work
standalone
* [236cf36] devel,manual/administrator.rst: Drop (incomplete) profiling
hint from manual && add (working) code to devel
* [ae19aad] values.py: Simplify: Just use one properly named module
function per value
* [e9a9779] values.py: Enable caching for most dynamic values
-- Stephan Sürken <absurd@debian.org> Mon, 01 Apr 2024 18:40:41 +0200
mini-buildd (2.1.13) experimental; urgency=medium
Summary:
Miscellaneous minor fixes (mostly user interface/documentation).
Details:
[ Gerhard A. Dittes ]
* [704c613] templates/accounts/profile/index.html: add <div> around
table to make "pkg notifications" referenciable via css
* [51c29c0] static/{mini_buildd,admin}.css: improve "Profile", "iframe
usability" && finetune several minor things
* [3a45d1f] templates/accounts/profile/index.html: fix datatable not
being automatically resized
[ Stephan Sürken ]
* [b059992] events/index.html (retry): Don't present on non-use-cases:
not on 'PACKAGING', only if event has source
* [2407121] events/index.html: More consistent wording for 'Build Log'
link titles
[ Gerhard A. Dittes ]
* [f72cf96] templates/mini_buildd/repositories/index.html: use "icon"
instead of "text" to link to repository specific manual
[ Stephan Sürken ]
* [743b75a] sphinx manual: Drop sphinx-copybutton (again)
* [cd71676] manual: Drop confusing "TOP" backlink
* [5c78ac0] manual/consumer.rst (apt secure strap): Rather add 'apt
update' as final step
* [4d2a0c1] client.py (prompt): Add '[]retry' (to make clear no input is
retry)
* [2b7c123] client.py (Client.getpass): Simplify (no need for a custom
prompt argument)
* [dc317fa] client.py (keyring): Add password input fallback on keyring
error
* [70b1201] package.py (KeyringPackage.__init__): Style: Drop shortcut
usage (model, gnupg)
* [0c88814] package.py (TemplatePackage.call): Add generic call method
(assure correct environment for all external calls)
[ Gerhard A. Dittes ]
* [2d04bf1] manual/{administrator,consumer}.rst: fix some typos
* [f414334] static/icons/standalone-view.svg: create
* [3888954] templates/mini_buildd/embed.html: use "standalone-view" icon
instead of text
* [7828d39] templates/mini_buildd/includes/error.html,
static/mini_buildd.css: utilize close button if popup
* [2198020] static/mini_buildd.css: do some minor positioning tweak and
cosmetics
* [7acbeae] static/admin.css: (ab)use button to indicate "iframe page
loading"
* [8f77ba4] static/admin.css: fix some bookworm specifics
* [ff57347] static/admin.css: finetune "recent actions" appearance
* [fab9302] static/admin.css: improve "login site" appearance
* [3b1fa3c] src/mini_buildd/static/admin.css: tweak positioning &&
further improve "iframe scrolling behavior"
[ Stephan Sürken ]
* [ed2bb86] schroot.py: Add note about schroot explicitly logging to
syslog
* [5358c7e] schroot.py (doc): Drop duplicate wording (from 'stale
sessions' note)
-- Stephan Sürken <absurd@debian.org> Sun, 17 Mar 2024 19:06:30 +0100
mini-buildd (2.1.12) experimental; urgency=medium
Summary:
* SQL schema migration support && resp. model cleanup
* More improvements for the web interface
Details:
[ Gerhard A. Dittes ]
* [90e9889] includes/api/base.html: fix (potential) iframe recursion
(inside "Setup" area)
* [03f316b] static/mini_buildd.css: finetune just everything
* [f8314c6] static/admin.css: some button adaption
* [658edd8] templates/mini_buildd/includes/range_menu.html: resort
"limit" && "before"
* [c40ff85] src/mini_buildd/static/icons/api.svg: improve
* [75b8b9e] src/mini_buildd/static/icons/setup.svg: create
* [08c13e7] src/mini_buildd/static/icons/crontab.svg: create
* [f98915f] templates/mini_buildd/base.html: use icons "setup" &&
"crontab"
* [9804da3] Revert "static/mini_buildd.css: make "logged in as 'admin'"
visually distinguishable"
* [5dd920d] Revert "static/icons/logged-in-as-admin.svg: create"
* [833047e] Reapply "static/icons/logged-in-as-admin.svg: create"
* [887b345] Reapply "static/mini_buildd.css: make "logged in as 'admin'"
visually distinguishable"
* [6771dc4] static/icons: some minor adaptions to several SVGs
* [d688f72] static/mini_buildd.css: slightly tweak && clean up
* [19e125a] static/mini_buildd.css: greatly improve header section's
icon hovering
* [22e939f] templates/mini_buildd/base.html: extend title of "setup" &&
"crontab" to be/look always reasonable
* [2aff615] templates/mini_buildd/base.html: be more clear about
"inspection info"
* [ccee634] static/mini_buildd.css: prevent menus from being brightened
(on hover)
* [f20d3b5] static/mini_buildd.css: kinda revert "inner-focus" coloring
* [3faf2b4] static/mini_buildd.css: improve appearance of "inner dt
rollbacks"
* [decb895] static/mini_buildd.css: improve "URL, CLI, JSON" area
* [43ee1f0] static/mini_buildd.css: improve "register user"
* [c532757] static/mini_buildd.css: improve "crontab"
* [1ce7dca] static/mini_buildd.css: tweak minor things
* [b95ee2c] static/mini_buildd.css: improve "Home, Reload,
Close"-"button hovering"
* [a4bffee] static/mini_buildd.css: crazily fix && improve "buildlog TOC
jumps"
* [146bdcd] builtins.py: add css classes to better support "toc buildlog
jumps"
* [6fd75ef] static/mini_buildd.css: make use of new buildlog classes and
further enhance "eyecandyness"
* [ab24877] static/mini_buildd.css: make sure "popup details" do not
exceed their spacial limits
* [7e8c3b6] includes/api/base.html: add css classes to address "result
title bar" elements
* [fc922b6] static/mini_buildd.css: make use of "result title bar"
classes && improve
* [04e4032] static/mini_buildd.css: enhance distribution snapshot
(inner) table
* [72a62af] static/mini_buildd.css: do not show close button on "non
popup" results
* [311dc06] templates/mini_buildd/includes/api/show.html: introduce css
class "mbd-api-port"
* [dcca5c9] static/mini_buildd.css: improve "port hovering" and stuff
like that
* [b35edc0] manual/_templates/mbd-sidebar-backlink.html: fix (potential)
iframe recursion
* [3f6a01b] static/mini_buildd.css: further improve "port hovering"
* [0dfbfff] static/mini_buildd.css: bring "UCJ" into line with "port"
appearance
* [406adb2] static/mini_buildd.css: harmonize cursor style for title bar
buttons
* [4b85614] mini_buildd/static/mini_buildd.css: minorly tweak some
things
* [c1a0ec3] templates/mini_buildd/includes/tags/file.html: add some css
classes
* [6907f6e] static/mini_buildd.css: improve "file" (using newly
introduced classes)
* [f6e7312] static/icons: brighten a bit more some header bar icons
* [4cf3474] static/admin.css: regain bookworm compatibility && finetune
* [76cdf69] static/mini_buildd.css: finetune
* [66e7ef5] static/admin.css: minorly finetune "django >= 4.x case"
[ Stephan Sürken ]
* [8ca34dc] django_settings.py (pseudo_configure): Update doc (emphasize
internal-only use)
* [fa577db] django_settings.py (pseudo_configure): Extend settings to be
able to run 'django admin' calls
* [8ec024b] src/makemigrations: Add tool to call ``django-admin
makemigrations`` (django SQL migrations)
* [e1d8c52] Move ``src/makemigration`` to more general ``django-admin``
* [f81b74b] devel: Add ``makemigrations`` shortcut command && ignore
pylint for migrations
* [d79db63] devel (mbd_installdeps): Add sqlite3
* [f56b409] migrations/0001_initial.py: Initial SQL migration (``./devel
makemigrations``)
* [5f1376a] migrations/0002_remove_pickled_data.py: Drop 'pickled_data'
field for good (not used since 1.0.x)
* [ada3d9a] migrations/0003_remove_daemon_sbuild_jobs.py: Drop unused
'sbuild_jobs' field
* [bf47a7a]
migrations/0004_remove_distribution_apt_allow_unauthenticated.py: Drop
unused field 'apt_allow_unauthenticated'
* [a92d960] migrations/0005_remove_daemon_smtp_server.py: Drop unused
field 'smtp_server'
* [92af936] migrations/0006_remove_daemon_custom_hooks_directory.py:
Drop unused field 'custom_hooks_directory'
* [7460b39] migrations/0007_remove_auto_reactivate.py: Drop unused field
'auto_reactivate'
* [7a9fc92] migrations/0008_remove_daemon_hostname.py: Drop unused field
'hostname'
* [693a9ca] migrations/__init__.py: Add "extra options" support for
(future) data migrations
* [520abe2] setup.cfg ("migration mode"): Add hints on how to taint to
also 'pylint' migration code
* [b151945] devel (mbd_makedatamigrations): Add shortcut for
datamigration (template)
* [a7bd5f4] migrations/0009_add_source_extra_options.py: Add explicit
fields for all functionality formerly in 'extra_options'
* [452814d] migrations/0010_migrate_source_extra_options.py: Migrate
'extra_options' data to new fields
* [140e28c] setup.cfg: Update 'pylintgeneratedmembers'
* [3e78356] migrations/0011_add_layout_extra_options.py: Add
meta_distribtions explicit fields, formerly in extra_options
* [8aaccaa] migrations/0012_migrate_layout_extra_options.py: Migrate
'extra_options' data to new field (meta_distributions)
* [9cf9b5b] src/mini_buildd/migrations/0013_alter_layout_meta_distributi
ons_and_more.py: Allow blank for JSONFields (extra_identifiers,
meta_distributions)
* [09168ea] migrations/0014_add_distribution_extra_options.py: Add
fields for all functionality formerly in 'extra_options'
* [59a9cb0] migrations/0015_migrate_distribution_extra_options.py: Add
data migration from extra_options to explicit fields
* [e9221a5] migrations/0016_add_daemon_extra_options.py: Add
custom_archive_origin field from extra options
* [e75d378] migrations/0017_migrate_daemon_extra_options.py: Add data
migration from extra options
* [e574513] migrations/0018_add_chroot_extra_options.py: Add explicit
fields for functionality formerly in extra options
* [d998b40] migrations/0019_migrate_chroot_extra_options.py: Add data
migration for extra options
* [6094eec] migrations/0020_add_suiteoption_extra_options.py: Implement
"rollback" as explicit field
* [8debe98] migrations/0021_migrate_suiteoption_extra_options.py: Data
migration for rollback
* [adce007] models.py (Source.clean): Fix validator for 'post
extra_options'
* [1bda586] models.py (Distribution.clean): Fix verification for 'post
extra_options'
* [4b9e371] migrations/0022_remove_extra_options.py: Remove generic
"extra_options" helper field for good
* [0b70721] *.py, manual: Fix up various places where "extra options"
are mentioned
* [555d9e5] webapp.py (WebApp.__init__): Post-fixup ``config.sqlite``
file permissions: 'rw-r' only
* [cff052f] share/remove-aptkey-constraints.sql: Drop -- does not make
sense after SQL migration in place
* [87f02f9] setup.py: Add 'version_py' command (use instead of
'build_py' where only working python is needed)
* [61da4a7] models.py (style): Update all models fields to more
consistent notation
* [e8d6163] *.py (style): Bulk-improve (read- && diffability) various
"multiline notations" (multiline str, dict, list)
* [5d022b0] models.py: Add ``help_html`` conversion helper && add to all
'help_text' args
* [9f23114] src/django-admin: Monkey-patch ``Field.deconstruct`` to
ignore 'help_text' changes for migrations
* [93951f2] mini-buildd-ssh-uploader-command: Don't run SSH command in
shell mode
* [ae8b11f] accounts/profile/index.html: Fix doubled title
* [bf19397]
migrations/0024_remove_daemon_keep_build_results_and_more.py: Drop
(unused) fields 'keep_build_results', 'wait_for_build_results'
* [46c8604] migrations/0025_remove_daemon_show_last_builds.py: Drop
'show_last_builds': No (longer) used
* [a60a1a8] files.py (AptLine.get): Update notation
* [a9405ae] files.py (AptLine.get): Quote (with '"') 'suite' part if it
contains space
* [a6f069e] net.py (Endpoint): Make _url_netloc() public as netloc()
* [efce89c] models.py (Repository._mbd_reprepro_conf_distributions):
[style] Fix multiline str notation
* [59cd27a] models.py (Meta): Consistently use list (not tuple) for
options
* [65d5d30] models.py (Admin): Consistently use tuple (not list) for
options
* [d73496e] cron.py (expire_builds): Rather should be daily, not weekly
* [c08f9fb] setup.cfg (pylint 3.0): Add exception 'duplicate-code' for
"migration mode"
* [aab89a5] migrations/0026_rename_show_...: Properly rename three model
fields
* [917a971] src/django-admin: Ignore arg "validators" for migrations
* [a3c8af6] models.py (RegexValidator): Update all 'regex validations'
to field level
* [da3a970] models.py (GnuPGPublicKey): Use MinLengthValidator on
'key_id' field (instead of overriding clean())
* [626d954] models.py (Source.extra_identifiers): Add per field
validator, drop clean() override
* [41ecbd1] models.py (RegexValidator): Support 'message' override
* [efa52ad] models.py (Archive): Move "trailing slash" validator to
field && regex
* [e25b653] models.py (Distribution): Update validators for
sbuild_config|setup_blocks,chroot_setup_script to field-based
* [0ae7dd9] models.py (Daemon): Update validators for ftpd_bind|options
to field-based
* [a2b99a0] models.py (Source, Distribution): Some bulk field re-order
for convenience
* [fa41089] src/django-admin (mbd_deconstruct): Also ignore arg
"editable" for migrations
* [e66e67d] models.py (GnuPGPublicKey): Rather use editable=False than
readonly_fields && adapt list_display
* [cbbb87d] models.py (Source.Admin): Add meta field "apt line" for
list_display
* [ebebe03] migrations/0027_source_codeversion_override.py:
(Re-)introduce codeversion_override (i.e., now with matching impl)
* [67f9141] migrations/0028_migrate_source_codeversion_override.py:
Datamigration: Keep old override behaviour for existing instances.
* [f121be6] models.py (StatusModel): Rather use _status, not
colored_status (renicing admin display)
* [39acecf] models.py (Source.Admin): Simplify list_display && search
options
* [e985511] models.py: Consistently add editable=False for all readonly
fields
* [15d8e5a] models.py (Model.Admin): For all models: Add "save as" &&
additional "save buttons" on top
* [0eb2e45] models.py (Source, Repository, Chroot): Drop 'magic readonly
fields' in favor of appropriate clean actions
* [5336688] models.py (Daemon): Fix field order
* [10fa1cc] migrations/0029_alter_source_options.py: Drop
'Meta.ordering' for Source
* [84ec3d0] models.py (Model.clean()): Consistently drop support for
optional arguments (Model.clean() does not use any)
* [eda72b3] models.py (Source.mbd_prepare): Rather use full_clean() now
we also use per-field validators
* [702683a] models.py (doc): Bulk-update field's 'help_text'
* [0a20ef9] migrations/0030_remove_suiteoption_auto_migrate_after.py:
Drop unused "auto_migrate_after"
* [613d692] reprepro.py: Update "reprepro hang" error note
* [9a99247] webapp.py: For all django admin calls: Just go with default
verbosity (instead of silencing)
* [3083bb6] webapp.py (__init__): Improve logging (levels, wording)
* [650ce85] django_settings.py: Move 'migration monkey-patching' here
(avoids 'missing migrations' warnings on actual migrations)
* [2517d62] django_settings.py: Fix/update comment
* [18df077] migrations/*.py: Post-drop all "help_text" field args
* [0acb6b6] Revert "django_settings.py: Move 'migration monkey-patching'
here (avoids 'missing migrations' warnings on actual migrations)"
* [59abcc2] devel (pylint): Add extra (automatic) pylint check for
migrations (previously ignored/manual only)
* [964d795] Daemon (fields identity, email_address, allow_emails_to):
Default values per function && post-fix migration code
* [65ba60d] devel (mbd_pid): Drop pgrep 'cgroup' support (only works in
certain conditions)
* [019f238] devel (pgrep helpers): Simplified and more robust support
for "pid" and "kill"
* [4970e3d] devel (mbd_pythonkeyringtestconfig): Force rc file to be a
symlink
* [7b0ef21] html (wording): Don't use "View foo" for link titles (just
foo)
* [e630cfe] html(style): Rather always use '<code>', not '<kbd>' (as
replacement for '<tt>')
* [d5624d3] api/show.html: Drop redundant "DSC URL" link on version
* [f08b1d8] api/show.html: Add pool link
* [bd040f3] net.py (Endpoint.geturl): Add support to provide relative
URL
* [546d884] api.py (Call.url_relative): Add helper function for template
use
* [b3e7c77] builtins.py: Add custom tag to build absolute URI from
relative location
* [626b498] api/base.html (URL): Fix URL link && value to use hostname
currently used (not the server's canonical hostname)
* [01124a7] webapp.py: Only output/log admin call's if log level is
>=DEBUG
* [b7b705a] models.py (Daemon): Make max_parallel_builds default via
function && retro-fit migration code
* [127adc6] devel (profiles): Add 'debug_django' profile
* [558e3b2] api.py (Ls, Show): Clarify description for 'ls' and 'show'
[ Gerhard A. Dittes ]
* [fa32286] src/mini_buildd/static/icons/pool-dir.svg: Create
* [3d2d925] templates/mini_buildd/includes/api/show.html: Make use of
new "pool icon"
-- Stephan Sürken <absurd@debian.org> Wed, 06 Mar 2024 14:08:02 +0100
mini-buildd (2.1.11) experimental; urgency=medium
Primarily (web) usability updates:
[ Gerhard A. Dittes ]
* [c744394] includes/events.html: fix illegal "alt" attribute
* [df497ac] includes/tags/api_args.html: fix unnecessary div element
affecting layout negatively
* [8e68cbe] includes/api/setup.html: cosmetically fix redundant
whitespace
* [d8596f1] static/mini_buildd.css: introduce "hover forms"
* [ef1e5f2] static/mini_buildd.css: homogenize button
* [6ab9c11] static/admin.css: transform "django-based" design of login
page "towards ours"
* [f88e417] static/mini_buildd.css: make footer always visible again
* [1bc81e8] static/mini_buildd.css: let header && footer still look
decent when scrolling
* [5032d9f] static/icons/logged-in-as-admin.svg: create
* [5dd03a2] static/mini_buildd.css: make "logged in as 'admin'" visually
distinguishable
* [ca0d12c] static/{mini_buildd.css,admin.css}: adapt button colors to
newly introduced form hover coloring
* [fd74367] templates/admin/base_site.html: fix iframe recursion
* [03d4737] templates/admin/base_site.html: use light theme (explicitly)
* [dcddca2] includes/api/setup.html: fix link to "configure icon"
* [07311f6] static/icons/manual.svg: create
* [6c5a523] templates/{admin/mini_buildd.html,base.html}: make use of
"manual icon"
* [facfc9d] static/mini_buildd.css: make empty "pre elements" completely
invisible
* [e6bf460] static/icons: overhaul several icons
* [b629ff3] static/mini_buildd.css: finetune bunch of appearance things
* [fd8af0d] static/admin.css: revise, brutally extend and make things
fit to surrounding world
* [d811c44] static/admin.css: finetune & clean up minor things
* [431c4f0] static/icons/top.svg: improve
* [bee879b] static/icons/top.svg: fix to be "Plain SVG" (again)
* [15579df] static/mini_buildd.css: finetune some z-index values
* [29b0146] src/mini_buildd/static/icons/api.svg: create
* [35320e2] templates/mini_buildd/base.html: make use of "API icon"
* [bc42763] static/mini_buildd.css: harmonize header menu icon sizes
* [908a8eb] src/mini_buildd/static/icons/api.svg: improve
* [240bd43] manual/administrator.rst: fix example "running mbd in a
systemd container"
* [79c02e6] static/mini_buildd.css: fix popup to cover footer as well
[ Stephan Sürken ]
* [dd4cca2] *.py (manual): Update/cleanup various admonitions
* [132bb90] net.py: Drop support for deprecated <host>:<port> endpoint
syntax
* [adc512a] manual/*/mbd-sidebar-commands.html: Don't use jquery (not
included with newer sphinx)
* [a6195c0] admin.py (AdminSite.get_app_list): Optional 'app_label' arg
needed for django >=4.1 (fixes 500er on /mini_buildd,/auth URIs)
[ Gerhard A. Dittes ]
* [158bf65] manual/developer.rst: fix typo
[ Stephan Sürken ]
* [ead55df] HTML(datatables): Per default, show all entries (no
pagination)
* [6dfefb3] HTML(datatables): Don't save state of datatables (rather
confusing than helpful)
* [0f2f2ca] HTML(datatables): Completely disable pagination (including
menu support)
* [cbbd877] HTML(datatables): Add 'dom' option: Only show info, filter,
table (ift)
* [2429863] HTML(datatables): Drop options 'searching' and 'info'
* [ccc06b2] HTML(datatables): Clean up option order
* [87e2e6f] HTML: Drop "Ongoing Events", make events page "home"
* [0302701] mini_buildd/includes/events.html: Drop (no need for the
include anymore)
[ Gerhard A. Dittes ]
* [489004a] static/mini_buildd.css, templates/*/datatable.html: improve
filter and table appearance
* [83e8cde] static/mini_buildd.css: assimilate "inner DataTables"; treat
"dist snapshots" specially
[ Stephan Sürken ]
* [9145d83] events/index.html: Don't use hash for datatable id
[ Gerhard A. Dittes ]
* [4199c7b] static/mini_buildd.css: no need to tune "DT paginate
buttons" any longer
* [e4062ec] static/mini_buildd.css: tweak DataTables coloring a bit
further
[ Stephan Sürken ]
* [0bea9b5] debian/gbp.conf: Rather use ignore-branch
-- Stephan Sürken <absurd@debian.org> Sun, 07 Jan 2024 09:23:12 +0100
mini-buildd (2.1.10) experimental; urgency=medium
Mostly updates for the manual's admonitions (bugs, todos, notes, faq):
[ Gerhard A. Dittes ]
* [0705ace] includes/api/setup.html: hide options within result section
[ Stephan Sürken ]
* [6e4c7ac] mini-buildd-debug-build: Use "starting-build" (not
"finished-build") as default drop-out hook
* [207741b] models.py (Remote.mbd_check): Don't prefix {self} in
exception descriptions (avoids duplication in logs)
* [3365644] api.py (Handshake._run): Add note about (for now
unreproducible) suspicious log
* [7eaaed7] util.py (log_exception): Add filename:lineno from last raise
* [8b892fa] models.py (mbd_msg): Don't implicitly also log in these
functions
* [ebbad0a] models.py (mbd_msg*): Drop mbd_msg_exception() && simplify
mbd_msg()
* [0dfb170] httpd.py (manual): Move all twisted-related admonitions here
* [4963da6] httpd.py (mbd_workaround_producer|ssl): Drop
unneeded/overcomplicated logging of __doc__
* [5f5be4c] httpd.py (manual): Move all admonitions to file doc
* [953293b] reprepro.py: Move all reprepro-related admonitions here
* [86e4b5d] reprepro.py: Add note about observed reprepro lockup
* [bdf2eda] models.py (manual): Move model-related admonitions here
* [b4775b1] api.py (manual): Update admonitions to be on top of file
* [e92e0df] reprepro.py (manual): Move another reprepro-relates
admonition here
* [63b64ab] models.py (manual): Move more model-related admonitions here
* [c61a62b] daemon|api|sbuild|models.py (manual): More admonitions moved
* [6dd7d5d] src/mini-buildd (manual): Drop todo for argparse issue
(wontfix in python)
* [e492bcc] manual/administrator|roadmap.rst: Minor admonition updates
* [a4c4614] manual/conf.py (admonitions): Fix/clarify descriptions for
'error' and 'attention'
-- Stephan Sürken <absurd@debian.org> Sun, 10 Dec 2023 13:11:07 +0100
mini-buildd (2.1.9) experimental; urgency=medium
Mostly internal refac to (pythonize and) improve
``mini-buildd-debug-build``:
[ Gerhard A. Dittes ]
* [5a26062] includes/api/setup.html: fix missing "</td>" and "</th>"
* [d98cfdf] includes/api/setup.html: fix table colspan mismatch
* [e48d790] static/mini_buildd.css: tweak "<details>"
[ Stephan Sürken ]
* [3cdcb9a] client.py (interactive): Make 'skip' and 'quit' separate
choices (quit exits immediately with current error)
* [e909a9a] devel (codespell): Update to use config files file for
'ignore-words' and (new) 'ignore-lines'
* [4a47179] devel (codespell): Ignore awkward interaction prompt line
from client.py
* [e9b68ba] devel (profile arm64): Also add arm64 chroots
* [6052b7c] models.py (PrioritySource): Make filterable (origin,
codename) in admin interface
* [9ed7893] changes.py (_move_to): Add analog 'copy_to', and make both
methods public
* [1afe52d] changes|events|models|packager.py: Simplify events/builds
creation/move
* [6592dd8] changes.py (Base): Add dir_name(), improve __str__()
* [1c255a4] changes.py (Base): _move_to(): Rather don't use files.Path
as path parameter
* [e3cdf0d] changes.py (Changes.save_to): Create path && don't use
files.Path
* [603b225] events.py (events.log): Add log_exception() call on
exception (fixes missing logs for error conditions on incoming)
* [e46c462] changes.py (Changes): Drop builds_path
* [068db38] changes.py (Changes): Drop 'events_path' class var (make
Changes class independent from config)
* [45f5c31] sbuild.py (SBuild.__init__): Use class var for environment
variables
* [5c0db53] sbuild.py (SBuild.__init__): (refac) Bundle all static
cmdline entries 1st, in one go
* [da42b7b] config.py (Routes): Add var/shared/debug dir to layout
(already used by m-b-debug-build)
* [ced535c] sbuild.py (SBuild.__init__): Add 'extra_args' and use --key-
id in builder only
* [590d634] builder|sbuild.py: Move "bres" var to sbuild
* [cb4d459] sbuild|builder.py: (refac) Only change bres in Sbuild
* [0d66dba] sbuild.py (SBuild): (refac) Don't actually change anything
on __init__, only on run()
* [3d2025b] mini-buildd-debug-build: Replace w/ python variant
* [a334112] cli.py: Move mini-buildd's '--dedicated-user' precaution arg
to cli.py (as generic optional arg)
* [0f5aa46] mini-buildd-debug-build: Add precaution: Run as user mini-
buildd only
* [05f9dc3] devel (service.log): Add timestamp per line (when following
log file)
-- Stephan Sürken <absurd@debian.org> Sun, 26 Nov 2023 13:58:11 +0100
mini-buildd (2.1.8) experimental; urgency=medium
[ Stephan Sürken ]
* [da74959] models.py (Archive): Avoid unnecessary double '/' in release
URL. Thanks to Magnus Holmgren (Closes: 1052459)
[ Gerhard A. Dittes ]
* [418c821] static/{mini_buildd,admin}.css: introduce less disturbing
"details popups" && finetune here and there
[ Stephan Sürken ]
* [b44e663] modely.py,admin.py(django 4.2): pylint adaptions (for
compatibility down to 2.2)
* [5ce8c8d] models.py (DaemonEmailField): Drop compat code for django <
3.2
* [bac77f3] client.py (Client.__init__): Drop unused class var '_status'
* [102304f] devel (tidy): Add exception for django 4.2
* [d373877] client.py (Client): Improve terminal interaction
* [564b8fc] httpd.py (FileResource.mbd_workaround_producer): Update
workaround note (it's twisted failing on APT pipelining)
* [f40f20b] httpd.py (FileResource.mbd_workaround_producer): Retest that
twisted trunk really fixes this && update notes
* [077cb2a] devel (mbd_pythonkeyringtestconfig): Create config dir
(needed on very 1st call)
* [6d2be8b] client.py: Drop 'systemcert workaround' (fixed bookworm+)
* [0942722] devel (mbd_installdeps): Use --yes on mk-build-deps as well
* [730a932] devel (mbd_api): Use --auto-save-password for API calls
(saves us one interaction on inital strap)
* [54f19ad] devel (codenames,events): Don't use admin URL where not
needed
* [2d2b687] devel: Add MBD_COMMON_OPTIONS && cleanup debug profiles
* [68823b2] devel (MBD_SETUP): Add config hint if no apt-cacher-ng is
running
* [3c18fdb] src/run-doctest: Don't run hardcoded with '-W default'
(rather use devel profile 'debug_all')
* [8ac8810] mini-buildd-cruft: Also find dated debug copies (as created
manually by m-b-debug-build)
* [838545e] mini-buildd-debug-build: Improve session/data info && issue
it 'post'
* [8d0df9c] src/mini-buildd-debug-build: Add convenience option to
install extra packages
* [944aaaf] mini-buildd-debug-build: Permission fix fixup: Fix all top
level files in copy (not only dsc)
* [3afd071] src/mini-buildd-debug-build: Do post info on exit via trap
* [68dae3e] mini-buildd-debug-build: Add workaround for buildsystems
that choose ccache even if not in PATH
* [7aad787] mini-buildd-debug-build: Add note that maybe rather sbuild
should be used directly
* [758f39a] mini-buildd-self-signed-certificate (CN): Fall back to
'localhost' if ``hostname`` fails (Closes: 1052822)
* [70221d0] devel (MBD_HOSTNAME): Fall back to localhost if ``hostname``
fails
* [367c689] dist.py (setup): Fix "broken" description for Ubuntu lunar
(debootstrap, not debmirror)
* [9d71931] dist.py: Add support for Ubuntu mantic
* [14fa87d] models.py (Chroot): Workaround: Be able to strap 'newer
Ubuntus' with Debian's ``debootstrap``
* [7fbb56a] devel (codespell): Adjustments for version 2.2.6: One actual
typo fixed, added new exception
-- Stephan Sürken <absurd@debian.org> Sun, 22 Oct 2023 11:08:58 +0200
mini-buildd (2.1.7) experimental; urgency=medium
[ Stephan Sürken ]
* [2e9aa81] debian/control (Depends): Drop blocking reprepro 5.4
* [d53a386] tags/api_arg.html (text input): Use doc as placeholder text
if it has no default value
[ Gerhard A. Dittes ]
* [04a7545] tags/datatable.html: use string "Filter" instead of "Search"
to make things more obvious
* [52c619f] static/mini_buildd.css: don't display (kind of) redundant
label of "source package name" search field && adjust font size
* [f64a9d4] static/mini_buildd.css: fix/restrict "spn" label hiding to
header area
* [c4d7f5f] static/mini_buildd.css: isolate "spn" label hiding even more
* [f804084] crontab/index.html: use <ul> instead of dataTable to present
cron log
[ Stephan Sürken ]
* [190ef82] debian/mini-buildd.templates (extra options): More (and more
explicit) examples
* [6bdacdf] client.py (Client): Add __str__ for client class
* [ca7b39d] cli.py (StdErrHandler): Update log format 'I: <msg> [meta]'
* [006a158] client.py (Client.api): Improve interactive prompt
* [59bce5d] debian/po: Updates from debconf-updatepo (after template
change)
* [3fc104b] api.py (Call.url): Make url() function versatile
* [0468208] client.py: Switch to use url() from Call class
* [a2bc6ae] client.py (Client.api): Simplify variable initialization
* [f1c49a5] etc/profile.d/mini-buildd.sh: Add sh/bash profile for user
mini-buildd (for now, only adds sbin path for convenience)
* [7917059] mini-buildd-cruft: Make interaction slightly less annoying
(when deleting many cruft files)
* [0217283] cli.py (logging): Set default level to "WARNING", "INFO" for
mini-buildd loggers only
* [02ca9e8] api.py (Setup): Don't place volatile native arch list in
docs
* [8e290d0] dist.py (Archs._atwarn): Make "missing arch-test" warning
more usable
* [73c2b5c] manual/roadmap.rst: Update reprepro 5.4 brainstorm notes
* [efe1dcb] cli.py(log level): Add generic parser function (to use for
both argparse.type and actually set)
* [2f72a70] cli.py (log level): Make advanced format '<logger>.<level>'
(not '<level>.<logger>')
* [38b73f3] cli.py (CLI): Manually handle default for --log-level
(argparse would append to default if given)
* [f503ae9] crontab/index.html: Fix left-over 'id' after change
datatable->ol switch
* [f5f6855] devel (python3-keyring): Drop support for urold versions &&
use config file (devel.keyringrc.cfg)
* [643e3be] devel (mbd_installdeps): Drop mk-build-deps cleanup
workaround (fixed bookworm+)
* [5bcefca] devel (mbd_api): Don't use --script-mode by default for API
calls
-- Stephan Sürken <absurd@debian.org> Sun, 24 Sep 2023 14:43:23 +0200
mini-buildd (2.1.6) experimental; urgency=medium
This release
* has more logging improvements
* refreshes debconf templates
* adds 'cruft tool'
Details:
* [74082b3] manual/administrator.rst: Move "log cruft" section to mini-
buildd user section
* [c52b6b4] debian/mini-buildd.init (PIDFILE): Move from mini-buildd's
home to /run (SYSV only)
* [894a3a5] debian/mini-buildd.init: Rather log to "/var/log/mini-
buildd.log", not "~/var/log/daemon.log" (SYSV only)
* [041fb76] src/mini-buildd-cruft: Add new tool to help admin to find
cruft files (merges m-b-reject-cleanup)
* [af8c44d] src/mini-buildd-cruft: Merge mbd-schroot-cleanup into mbd-
cruft
* [60d65c9] dir.html: Drop extra entry for "..": Redundant, and broke
datatable's 'modified' sorting
* [c254369] dir.html: Minor cleanup (no need to give data-search, data-
order explicitly for 'Name' any more)
* [15b73ce] manual/administrator.rst: Fix/update for "Logging and
Debugging" section
* [bcb2f52] cli.py (CLI.setup): Drop -- only used in mini-buildd (code
can simply be called in runcli())
* [d0444e7] cli.py (CLI.run): Move '-v/-q compat code' down && simply
set root logger level
* [855755c] cli.py (DputCf.target_completer): No need for extra list()
call on keys()
* [d5f7383] cli.py (--log-level): Add ability to give multiple times &&
with optional logger name
* [ef4b397] cli.py: Drop unused 'allow_unknown' option
* [b77350c] cli.py: Drop deprecated -v,--verbose,-q,--quiet options for
good
* [9c51839] cli.py: Add custom formatting for py.warnings (avoid
multiline)
* [8a01d96] cli.py (CLI.run): Always capture py.warning to our logging
* [01ebefa] devel (install): Use --force-confnew (rather than post-
sanitizing the default file)
* [0a49b27] cli.py: Programmatically ignore python warnings (unless
configured explicitly form outside (PYTHONWARNINGS, -W)
* [da1c0cb] Support PYTHONWARNINGS environment variable (debconf,
service, devel)
* [2912822] debian/mini-buildd.default: Drop superfluous comments
* [9680934] debian/mini-buildd.config: Drop unnecessary/convoluted
helper function
* [f0df6a9] debian/mini-buildd.templates: Fixup order and priorities
* [fbc9f36] debian/mini-buildd.templates: Minor wording improvements
* [f02ba04] debian/mini-buildd.config: Minor order fixes (again)
* [9f1339c] debian/mini-buildd.postinst: Add common function to update
default file
* [ad404c7] webapp.py, postinst (set admin pass): Always use LOG.info on
py side && drop extra output from postinst
* [adf9af5] debian/mini-buildd.postinst: Be less chatty on upgrades for
user changes
* [97de35a] webapp.py: Run "check" in quiet mode
* [38db3ce] api.py (Setup.report_load): Check for path existence (avoids
unnecessary WARN log)
* [2cf6bc2] devel (install): Drop --force-confnew (does not seem to
work) && clearing out values again
* [4b6ee20] mini-buildd: Drop deprecated ``-W,--httpd-bind`` option
* [35a84b9] builders/index.html: Don't warn if remotes are nor re-
checked -- rather note if they are
* [386a43e] debian/mini-buildd.templates: Improve description for "extra
options" (include most viable examples)
* [47edae5] debian/mini-buildd.templates: Improve description for
'pythonwarnings'
* [685000f] cli.py (--log-level): Fix && simplify help text
* [c9e2303] devel(build-migrate): Add test for rollbacks after migrate
* [05ffa64] models.py, reprepro.py: Fix rollbacks on migrate
* [33b119c] changes.py: Fix buildrequests for orig-less uploads
* [b532d27] examples/mini-buildd-utils/python-client: Update import
style && simplify
* [33aa5b3] debian/po/: Update debconf templates
* [98f056f] mini-buildd-api: Add --script-mode (force to be non-
interactive)
* [a9216b8] client.py (Client.api): Interact on any error && add
interactive skip option
* [35159cd] devel (mbd_pid): Fix for new path to (sysv) pidfile
* [8addcee] devel (mbd_pid): Drop sysv pidfile support && harden pgrep
call
-- Stephan Sürken <absurd@debian.org> Sun, 17 Sep 2023 17:07:26 +0200
mini-buildd (2.1.5) experimental; urgency=medium
This release improves logging && doubles down on the
"new-style daemon" approach.
It drops internal support to write the "daemon.log" file (&& web
support to view logs).
The olde "daemon.log file" is still used only for the (usually unused)
sysv-style init scripts (and will now actually include _all_ relevant
logs, even pure stderr logs from third party libraries).
* [ec53e1d] api|view.py: Add Call.__str__() (&& improve call error
messages)
* [9cf5fe3] src/mini-buildd-backup: Fix typo (whery->where)
* [fa700ec] Drop GUI support for service and access.log
* [d30da00] cli.py: Only use one (Console)LogHandler (w/ auto journalctl
support when there is no tty)
* [093f399] cli.py: Drop internal service logging to file (to
~/var/log/daemon.log)
* [0df496b] debian/mini-buildd.init: Simplify by using 'init-d-script'
* [cb24b17] httpd.py: Simplify twisted static support
* [aa7c4da] devel (log helpers): Clean up && make work for systems w/
systemd running (like systemd containers)
* [81bab25] debian/mini-buildd.init: Add a poor man's log rotate
* [1d395a5] src/mini_buildd/httpd.py: Simplify code for the two
workarounds
* [7d346ba] client|http|util.py: Naming consolidation for some
workaround functions
* [444305d] debian/mini-buildd.init (do_stop_cmd): Don't fail if start-
stop-daemon fails (may just be a stale pidfile)
* [3db9960] debian/mini-buildd.init: Overwrite do_start_cmd as well (to
avoid multiple starts)
* [38b173f] debian/mini-buildd.init (start/stop): Show extra info if
already stopped/running
* [0e76250] debian/mini-buildd.init (do_stop_cmd): Display cosmetics for
savelog case
* [3c56568] httpd.py: Configure twisted logs to go to stderr && with
mini-buildd's log level
* [a2041ff] ftpd.py (FtpD.bind): Drop special LOG config on DEBUG
* [2029a25] src/mini_buildd/cli.py (log_info): Add debug helper to list
all loggers + handlers
* [033c86c] cli.py (CLI, logging): Drop self.[w]logger, switch to
configure root logger only
* [1c0301a] cli.py (CLI): Drop loggers() 'conf function' (obsolete, we
really double down on "new style daemon" approach)
* [388dcb0] cli.py (ConsoleHandler): Switch to f-string style for log
formatting
* [6834655] cli.py (log_clone): Drop this helper function, no longer
used
* [cd4292c] cli.py (systemd prefix): Rather monkey-patch log record than
rewriting emit() code
* [faf3b0e] cli.py (StdErrHandler): Simplify, rename to StdErrHandler
* [12276ac] httpd.py: Use python's native logging system
* [dcbd6a2] cli.py (StdErrHandler): Update log format (show name 1st)
-- Stephan Sürken <absurd@debian.org> Sat, 02 Sep 2023 16:27:12 +0200
mini-buildd (2.1.4) experimental; urgency=medium
This release
- drops some more compatibility code && fixes some minor issues
- further refreshes Web GUI design
Details:
[ Gerhard A. Dittes ]
* [75a32ea] src/mini_buildd/static/icons/debian.svg: improve
* [d3b711e] src/mini_buildd/static/icons/ubuntu.svg: improve
[ Stephan Sürken ]
* [5ffdbd0] setup.py, debian/control: Depend on py-argcomplete >=2 &&
drop compatibility code from setup
* [18a86c8] debian/control (Build-Depends): Depend on py-django >= 3.2
* [787f912] models.py (StatusModel.Admin): [django 3.2] Use decorators
for admin actions (instead of monkey patching)
* [24a2ea5] models.py (StatusModel.Admin): Drop (no longer needed) local
pylint override for admin actions
* [8625f2b] debian/control (Build-Depends): Update sphinx dependency to
>= 3.5
* [118fa09] manual/conf.py: [sphinx 3.5] Use 'project_copyright'
(obsoletes 'redefined-builtin' pylint override)
[ Gerhard A. Dittes ]
* [e7ef918] css: improve & style towards (bookworm-)blue
[ Stephan Sürken ]
* [dba434a] manual/administrator.rst (admonition): Drop ancient
"eatmydata" note
* [9a11848] schroot.py (Session.check_sudo_workaround): Drop ancient
safeguard for possible insecure chroot
[ Gerhard A. Dittes ]
* [9751077] src/mini_buildd/static/icons/mini-buildd.svg: harmonize with
new icon theme
* [99d6f77] src/mini_buildd/static/icons/copy.svg: improve
* [1c24500] src/mini_buildd/static/icons/paste.svg: improve
* [04a5bc2] src/mini_buildd/static/mini_buildd.css: revive "menu-
active"; prefer unit "rem"; tweak elsewhere
* [9bc5161] css,js,svg: prevent outdated versions/files being loaded
from browser cache
* [0e2f778] src/mini_buildd/static/mini_buildd.css: use default "input"
with (to fix most non-reachability issues)
* [2fd56dd] src/mini_buildd/static/mini_buildd.css: adapt "textarea"
size
[ Stephan Sürken ]
* [92c5252] views.py (API): Error handling: Rather use BadRequest (not
Unauthorized) when confirmation is missing
* [181af06] tags/datatable.html: Drop "anti flicker" workaround &&
nowrap (fixes column widths on reload && avoids content possibly
unreachable)
[ Gerhard A. Dittes ]
* [0beb630] src/mini_buildd/static/mini_buildd.css: tweak some coloring,
alignment and such like
* [798cfbf] Revert "tags/datatable.html: Drop "anti flicker" workaround
&& nowrap (fixes column widths on reload && avoids content possibly
unreachable)"
* [8c6eabb]
src/mini_buildd/templates/mini_buildd/includes/tags/datatable.html:
tune "anti flicker" workaround to actually work
* [14dbdf5] src/mini_buildd/static/mini_buildd.css: tweak sizes of
"home, reload & close"-buttons
* [a802660]
src/mini_buildd/templates/mini_buildd/includes/tags/datatable.html:
slightly retweak "anti flicker" workaround
* [f3b0355] src/mini_buildd/static/mini_buildd.css: slightly improve
DataTables appearance & usability
* [834b670] src/mini_buildd/templates/mini_buildd/includes/events.html:
fix missing "list item" tags
* [b5489a3] src/mini_buildd/static/mini_buildd.css: make tables more
compact
[ Stephan Sürken ]
* [e130b85] debian/mini-buildd.templates (_Description): Add hint for
'debug mode'
* [bd11a0a] models.py (Builders): Add warning log on remote error (else
possible error reason would not show up at all)
* [94ba76b] dist.py (Codename): Drop debug log when using codename
sorting default (too much even for debug mode)
* [1efc874] debian/po: Updates from debconf-updatepo (after template
change)
-- Stephan Sürken <absurd@debian.org> Thu, 17 Aug 2023 18:39:23 +0200
mini-buildd (2.1.3) experimental; urgency=medium
This release
- drops compatibility for python < 3.11
- drops numix-icon-theme in favor of custom icons (thx Gerhard)
Details:
[ Stephan Sürken ]
* [57303a8] debian/control: Depend on python 3.11
* [3babf8b] util.py (PyCompat): Drop (depending on python 3.11 now)
* [4d3ae93] client.py (Client.api): Drop py compat note (no longer
relevant, code has changed)
* [934dd6f] mini-buildd-ssh-uploader-command: Fix embarrassing typo
(fixes: would run any user command)
* [e8fd1c9] mini-buildd-ssh-uploader-command: Make work for dput
implementations that use multiple connections to copy files (like
dput-ng/paramiko)
[ Gerhard A. Dittes ]
* [f632ca1] devel: remove "Numix icons" support
* [7431227] debian/python3-mini-buildd.links: don't link Numix icons any
longer
* [58cc3a7] debian/control (Depends): remove numix-icon-theme
* [68d2fa8] src/mini_buildd/static/icons/places/folder.svg: create
* [ac04749] src/mini_buildd/static/icons/actions/edit-clear.svg: create
* [5ea7678] src/mini_buildd/static/icons/actions/view-refresh.svg:
create
* [703f6ba] src/mini_buildd/static/icons/categories/preferences-
other.svg: create
* [ad40fc8] src/mini_buildd/static/icons/actions/edit-copy.svg: create
* [1dbbdaa] src/mini_buildd/static/icons/actions/window-close.svg:
create
* [933764e] src/mini_buildd/static/icons/places/folder.svg: improve
* [619618e] src/mini_buildd/static/icons/actions/window-close.svg:
improve
* [bf5ec0f] src/mini_buildd/static/icons/actions/edit-copy.svg: improve
* [1a8931f] src/mini_buildd/static/icons/mimetypes/text-html.svg: create
* [d5816ce] src/mini_buildd/static/icons/actions/go-up.svg: create
* [21bc3e0] src/mini_buildd/static/icons/actions/go-top.svg: create
* [4e09116] src/mini_buildd/static/icons/actions/edit-clear.svg: improve
* [7e84167] src/mini_buildd/static/icons/actions/edit-copy.svg: improve
* [bc46ff7] src/mini_buildd/static/icons/actions/go-top.svg: improve
* [069e0d5] src/mini_buildd/static/icons/actions/go-up.svg: improve
* [bc05bf4] src/mini_buildd/static/icons/actions/window-close.svg:
improve
* [5ba8f7c] src/mini_buildd/static/icons/categories/preferences-
other.svg: improve
* [7fdd64c] src/mini_buildd/static/icons/mimetypes/text-x-generic.svg:
create
* [8916e52] src/mini_buildd/static/icons/mimetypes/text-x-generic.svg:
rename to ../changes.svg
* [2ba6dcb] src/mini_buildd/static/icons/changes.svg: improve
* [452652d] src/mini_buildd/static/icons/file.svg: create
* [446bf88]
src/mini_buildd/templates/mini_buildd/includes/api/show.html: use new
"changes" icon
* [79b3ef6] src/mini_buildd/templates/mini_buildd/dir.html: use new
"file" icon
* [97ff18b] src/mini_buildd/static/icons/places/folder.svg: use 8x8 px
corners
* [2cfd373] src/mini_buildd/static/icons/mimetypes/text-html.svg: use
8x8 px corners
* [f4ff8a8] src/mini_buildd/static/icons/file.svg: use 8x8 px corners
* [64c8506] src/mini_buildd/static/icons/changes.svg: use 8x8 px
corners
* [cc321ab] src/mini_buildd/static/icons/categories/preferences-
other.svg: use 8x8 px corners
* [dcdd1c3] src/mini_buildd/static/icons/actions/view-refresh.svg:
improve
* [77f51b4] src/mini_buildd/static/icons/actions/window-close.svg:
improve
* [37764a9] src/mini_buildd/static/icons/actions/go-up.svg: improve
* [7bc77d3] src/mini_buildd/static/icons/actions/go-top.svg: improve
* [6d52636] src/mini_buildd/static/icons/actions/edit-clear.svg: improve
* [13f93c5] src/mini_buildd/static/icons/actions/edit-copy.svg: improve
* [3a5d7a6] src/mini_buildd/static/icons/actions/download.svg: create
* [6742399] src/mini_buildd/static/icons/actions: improve several icons
* [f751c67] src/mini_buildd/static/icons/mimetypes/package-x-
generic.svg: create
* [eddec95] src/mini_buildd/static/icons/actions/edit-copy.svg: rename
to edit-paste.svg
* [71e5a49] src/mini_buildd/static/icons/actions/edit-paste.svg: improve
* [eaa5fa3] src/mini_buildd/static/icons/actions/edit-copy.svg: create
* [a1df0b5] src/mini_buildd/static/icons/actions: improve some icons
* [463ae30] src/mini_buildd/static/icons/actions/edit-redo.svg: create
* [a70112b] src/mini_buildd/static/icons/actions/arrow-up.svg: create
* [ff72905] src/mini_buildd/static/icons/home.svg: create
* [8013c6b]
src/mini_buildd/templates/mini_buildd/includes/api/base.html: use new
"home" icon
* [8d1250c] src/mini_buildd/static/icons/events-dir.svg: create
* [406958f] src/mini_buildd/templates/mini_buildd/includes/events.html:
use new "events dir" icon
* [15e60eb] src/mini_buildd/static/icons/builds-dir.svg: create
* [61ce2d1] src/mini_buildd/templates/mini_buildd/includes/events.html:
use new "builds dir" icon
* [cff2e58] src/mini_buildd/static/icons/actions/arrow-up.svg: improve
* [10a9556] src/mini_buildd/static/icons/debian-pts.svg: create
* [8dfeae0]
src/mini_buildd/templates/mini_buildd/includes/api/source_header.html:
use new "debian pts" icon
* [c71fe87] src/mini_buildd/static/icons/logged-in.svg: create
* [d787eb9] src/mini_buildd/static/icons/logged-off.svg: create
* [14073cf] src/mini_buildd/templates/mini_buildd/base.html: use icons
to represent logged in/off users
* [42475a4] src/mini_buildd/static/icons/open-folder.svg: create
* [ad40354] src/mini_buildd/static/icons/open-folder.svg: improve
* [a91051e] src/mini_buildd/templates/mini_buildd/base.html: use new
"open folder" icon
* [ed8db3a] src/mini_buildd/static/icons/arguments.svg: create
* [368fc2e]
src/mini_buildd/templates/mini_buildd/includes/tags/api.html: use new
"arguments" icon
* [723ac07] src/mini_buildd/static/icons/categories/preferences-
other.svg: improve
* [870e35e] src/mini_buildd/static/icons/configure-chroots.svg: create
* [2280d60] src/mini_buildd/static/icons/configure-remotes.svg: create
* [5c2717c] src/mini_buildd/templates/mini_buildd/builders/index.html:
use new "configure-chroots/remotes" icons
* [22b9932] style: adapt mbd logo and other css delicacies
* [30118f1] reclassify: src/mini_buildd/static/icons/actions/arrow-
up.svg -> src/mini_buildd/static/icons/isolate.svg
* [6b774f8] reclassify:
src/mini_buildd/static/icons/actions/download.svg ->
src/mini_buildd/static/icons/download.svg
* [7141182] reclassify: src/mini_buildd/static/icons/actions/edit-
clear.svg -> src/mini_buildd/static/icons/clear.svg
* [8a184ce] reclassify: src/mini_buildd/static/icons/actions/edit-
copy.svg -> src/mini_buildd/static/icons/copy.svg
* [50a397d] reclassify: src/mini_buildd/static/icons/actions/edit-
paste.svg -> src/mini_buildd/static/icons/paste.svg
* [1ac6776] reclassify: src/mini_buildd/static/icons/actions/edit-
redo.svg -> src/mini_buildd/static/icons/restore.svg
* [435de44] reclassify: src/mini_buildd/static/icons/actions/go-top.svg
-> src/mini_buildd/static/icons/top.svg
* [cd9aa0b] reclassify: src/mini_buildd/static/icons/actions/go-up.svg
-> src/mini_buildd/static/icons/up.svg
* [706ceb6] reclassify: src/mini_buildd/static/icons/actions/view-
refresh.svg -> src/mini_buildd/static/icons/refresh.svg
* [a14373f] reclassify: src/mini_buildd/static/icons/actions/window-
close.svg -> src/mini_buildd/static/icons/close.svg
* [0032802] reclassify:
src/mini_buildd/static/icons/categories/preferences-other.svg ->
src/mini_buildd/static/icons/configure.svg
* [450fcad] reclassify: src/mini_buildd/static/icons/mimetypes/package-
x-generic.svg -> src/mini_buildd/static/icons/dsc.svg
* [e8b338e] reclassify: src/mini_buildd/static/icons/mimetypes/text-
html.svg -> src/mini_buildd/static/icons/html.svg
* [803ca4e] reclassify: src/mini_buildd/static/icons/places/folder.svg
-> src/mini_buildd/static/icons/folder.svg
* [f065c8c]
src/mini_buildd/templates/mini_buildd/includes/tags/api.html: fix
checkbox to be disabled when unauthorized
* [5c8cc14] src/mini_buildd/static/mini_buildd.css: tweak some minor
form/menu things
* [0ca3b3f] reclassify: src/mini_buildd/static/mini_buildd.svg ->
src/mini_buildd/static/icons/mini-buildd.svg
* [b43d6fa] reclassify: src/mini_buildd/static/{debian,ubuntu}.svg ->
src/mini_buildd/static/icons/
[ Stephan Sürken ]
* [d25b9b2] manual/conf.py: Fix logo path (after 'custom icons' update)
-- Stephan Sürken <absurd@debian.org> Sun, 06 Aug 2023 12:43:17 +0200
mini-buildd (2.1.2) experimental; urgency=medium
* [74ad96f] models.py (notify): Send emails "From" Daemon's configured
email address (fixes regression introduced in 3daee5ac)
* [71e01ae] events.py (Event.isummary): Improve output for 'auto ports'
* [08f03d6] builtins.py, html, css: Drop 'mbd_cssmap' custom builtin
* [b1b6499] devel(.lintianrc): Add '--info' to lintian run
* [64c40b3] .lintianrc (suppress-tags): Suppress changelog spelling
error check (really?)
* [6c9d324] html, css: Rename mbd-severity -> mbd-inspect-severity (this
is the only use case)
* [9158147] mini_buildd.css: Drop extra color handling for suites
* [216cb19] mini_buildd.css (:root): Better names for menu colors &&
drop unused 'mbd-highlight' class
* [4a8b2e8] mini_buildd.css: Drop hardly useful 'mbd-bg-<n>' classes
* [106a3ef] mini_buildd.css: Drop unused "firefox tweaks"
* [ed70349] mini_buildd.css (doc/consistency): Add comment header for
main custom classes
-- Stephan Sürken <absurd@debian.org> Sat, 29 Jul 2023 12:15:04 +0200
mini-buildd (2.1.1) experimental; urgency=medium
[ Stephan Sürken ]
* [4f4202e] manual/roadmap.rst (upgrade from 1.0.x): Fix: bullseye
support will be via ``Hellfield Archive`` && minor improvements
* [a52330f] manual/roadmap.rst: Update 2.2.x roadmap
* [a83b232] devel (mbd_browser): Add url for website
* [5e47c81] mini-buildd (usage): --http-endpoint: Add some newlines for
better readability
* [e615e5e] src/mini-buildd (usage): Don't use build host's FQDN in
usage (Closes: 1039506)
* [89bcd46] manual/roadmap.rst (2.0.x upgrade checklist): Add hint for
'keyring packages' && make item order more 'practical'
* [201cf8f] manual/roadmap.rst (2.0.x): Add note about custom SSH upload
setup in 'upgrading checklist'
* [5dc1d9b] manual/roadmap.rst (1.0.x): Integrate vintage installation
instructions from website
* [b5ea164] manual/roadmap.rst (0.8.x): Integrate vintage installation
instructions from website
* [eaa6321] manual/roadmap.rst (2.2.x): Drop two (too fine-grained &&
done) issues
* [44c5988] manual/roadmap.rst (2.2.x): Update roadmap
* [57b8f40] manual (sidebar): Improve and add "top" back link
* [b772c18] manual/administrator.rst: Add FAQ && example config on how
to run in systemd container
* [cb6ce4b] debian/control (Depends): Double down on warning for
reprepro 5.4 via dependency
* [cc5c97a] models.py (Remote.mbd_check): Wake remote on check
* [c560bf6] Move systemd container example to mini-buildd-utils
* [440e038] manual/administrator.rst: Minor text improvements
* [9580685] examples/mini-buildd/pin-sbuild-for-urold: Fix strange
wording in comment
* [335e696] admin/mini_buildd.html: Drop bogus links to manual (category
titles)
[ Gerhard A. Dittes ]
* [d845e47] src/mini_buildd/static/admin.css: make preformatted text
distinguishable in "dark mode"
[ Stephan Sürken ]
* [b3937b4] src/mini-buildd-ssh-uploader-command: Allow dput via dput
(bullseye and older) and dput-ng
* [3ef350c] dist.py (lenny): Add "timeout" as extra chroot package (has
it's own package in lenny) [we still don't get lenny to build though]
* [2457d5a] api.py (Migrate): Extra doc to make clear we migrate *from*
the given distribution
* [7fac276] manual/roadmap.rst (2.0.x): Upgrade checklist: Split (in
admin/consumer sections) && add note about changed paths in keyring
packages
* [dd11fe6] manual/roadmap.rst (2.2.x): Add "duplicate APT key" issue to
brainstorm
* [be82925] models.py (Daemon.mbd_notify_event): Fix (email) notify for
non-raw (i.e., with name attached) ``EMailAddress``es
* [0b2f655] api.py: Revive "output=plain" for API calls (on popular
demand)
* [e039dfb] *.py: Support dput-ng profile (API call dput_conf, archive-
keyring)
* [0bf0765] events.py (Event.__str__): Add architecture to description
* [8cd9065] src/mini-buildd-ssh-setup: Make --help output work better
with help2man
* [79da662] src/mini-buildd-debootstrap-uname-2.6 (DESCRIPTION): Fix
typo in description
* [658fc86] changes.py (buildrequest): Add "Buildlog-Building|Installed"
complete URLs (for convenience)
* [a42a8ad] base.html: Move "Builders" back to _left_ main menu
* [3daee5a] models.py (Daemon.mbd_notify_event): Rewrite email notify
code
* [7d7d90a] models.py, events.py (notify): (Re-)add textual email body
with json as attachement
-- Stephan Sürken <absurd@debian.org> Sun, 23 Jul 2023 19:28:19 +0200
mini-buildd (2.1.0) experimental; urgency=medium
Initial release from development branch (master)
* [0a7028c] Revert "debian/control: Drop sphinx-copybutton (from 2.0.x):
Not available in buster"
* [32fac7e] debian/changelog: Pseudo header for 2.2.x
* [7271f9b] debian/control (Standards-Version): Update to 4.4.1->4.6.2
(no changes needed)
* [798740f] debian/source/lintian-overrides: Remove override for (now
fixed) lintian false-positive missing-build-dependency-for-dh-addon
* [914e1d2] debian/python3-mini-buildd.lintian-overrides: Drop ldconfig-
escape override (no longer an issue)
* [ff0c08d] debian/mini-buildd.lintian-overrides (mini-buildd): Drop
'non-standard-file-perm' (no longer an issue)
* [0f0329a] debian/control (Multi-Arch): Make mini-buildd-doc Multi-
Arch: foreign
* [d1c5fee] debian/changelog: Fix dev version (2.1 not 2.2),
dist=experimental, help 'gbp dch' to get initial snapshot cl right
* [ff52b7a] mini-buildd-dput: Don't use build-time path for "--config"'s
default value (fixes help && man page)
* [ed14be2] manual/roadmap.rst: Update "next labeling" after 2.0.0
release
* [fba0e56] manual/roadmap.rst: Fix typo in 2.2.x roadmap
* [19351b5] debian/control (Depends): Move dependency for pyftpdlib to
python package
-- Stephan Sürken <absurd@debian.org> Sun, 25 Jun 2023 11:59:00 +0200
mini-buildd (2.0.0) unstable; urgency=medium
Initial stable release.
* Bug fix: "Not suitable for testing yet (due to outstanding migration
tests)", thanks to absurd@debian.org</a>; (Closes: #1026843).
* Bug fix: "answering "never" to auto-setup is not honored",
thanks to ydirson@free.fr</a>; (Closes: #886128).
(the 'auto-setup' script is gone)
Updates setup's APT keys after bookworm release && various minor doc
improvements.
Details:
* [7c87165] repositories/index.html: Add "sources_list" calls in top-
level overview
* [af341be] dist.py (bookworm release): Debian bookworm: Add bookworm-
backports-sloppy
* [c0ced49] dist.py (bookworm release): Add Debian trixie
* [62558ef] views|models.py: Fix both calls to mbd_msg_exception():
Actually us a 'prefix str' (fixes slightly wrong formatted messages)
* [41ac995] manual/administrator.rst: (Re)add example to manually list
all signatures in a release file
* [43184b3] manual (sphinx): Switch to 'alabaster' theme plus
'copybutton'
* [354a4c3] manual/administrator.rst: Improve wording for other APT
sosurces
* [3750660] manual/*.rst: Consistent 'section newlines' for all
documents
* [05bfb95] manual/abstract.rst: Fix "about manual" section placing &&
add "admonition section"
* [b9316e7] gnupg.py (gpgme_verify_release): Add (info) log for all
signatures found in a release file
* [b4030fe] dist.py: Add new bookworm APT keys
* [f3c1b4f] dist.py (setup): Update APT keys for sid (bookworm release)
* [638ead6] dist.py (setup): Update APT keys for trixie (bookworm
release)
* [5f5b5cf] dist.py (setup): Update APT keys for bookworm (bookworm
release)
* [d8d1d49] dist.py (setup): Update APT keys for bullseye (bookworm
release)
* [f84e0a1] dist.py (setup): Update APT keys for buster (bookworm
release)
* [b80e3af] dist.py (setup): Update APT keys for jessie (missing key)
* [f73516e] manual/roadmap.rst: Add note to drop "test_packages" API
call
* [50e092a] manual/administrator.rst: Add attention note about reprepro
5.4
* [a6bf3d3] debian/control: Drop sphinx-copybutton (from 2.0.x): Not
available in buster
* [40f0d8c] manual/roadmap.rst: Add note to re-enable copybutton for
2.2.x
-- Stephan Sürken <absurd@debian.org> Mon, 19 Jun 2023 16:26:42 +0200
mini-buildd (1.9.125) unstable; urgency=medium
Summary:
* Huge documentation update iteration (API,Manual). Release-ready
* Web/HTML update iteration. Release-ready
* Scheduled inspections: Stabilize implementation && make results persist
- Update codeversions logic so inspections can also notify on releases
(like bookworm ;)
Details:
* [f5519b8] models.py (Source): Make codeversion_override always be the
guessed codeversion (and make codeversion editable)
* [c82aa4b] api.py (Setup.__run.SourceInstance.diff): Add custom model
diff for codeversion (get notification when rolling becomes stable)
* [6b08ee8] builder.py (Builder): Cleanup and optimize builder 'stat'
methods (queued(), running(), load())
* [32c685f] api.py/api_arg.html (doc/HTML): Add input syntax help per
argument type
* [28bbe95] api.py (_pimpdoc): Replace 'result_doc' _pimpdoc argument by
RESULT_DESC class attribute
* [c9686c4] api.py(doc): Drop _pimpdoc(), rather do all automatic
injections in doc()
* [e5f707c] api.py: Update all result descriptions to RESULT_DOC
* [9e9f8e0] api.py (Calls): Be consistent in doc notation for all calls
* [2589ebb] api.py (doc): Update calls status, dput_conf
* [90b2538] api.py (Call.doc): Simplify && only inject result
description if there is one
* [f366f06] api.py (Call): Drop flag "CUSTOM_HTML_SNIPPET" (not
used/needed any more)
* [7521253] api.py (SourcesList): Doc proofreading fixes
* [91378f4] src/mini_buildd/static/mini_buildd.css (body): Add standard
margin/padding for span
* [6d27c8e] api.py (SnapshotLs): Drop outdated result description (which
does not really add information anyway)
* [faf3d0d] api.py (UploadOptions): Indent upload option usage text
(mitigates ugliness)
* [0f45043] api.py (Retry, Cancel): Doc proofread fixes
* [0677880] api.py (Port,PortExt): Doc proofread fixes
* [50fbbf8] api.py (Debmirror): Doc proofread and update
* [c4ecb98] manual: Add sphinx extension (example only for now)
* [55746da] manual/*.rst: Consistently use new line on section start
* [d4dbdaf] manual/*.rst: Bulk-reformat paragraphs for 120 char line
length
* [adf879a] manual/index.rst: Rather use order
consumer->developer->administrator (somewhat like in API index page)
* [f2f7f81] manual/administrator|consumer|developer.rst: Use
"Introduction, Installation, Setup, Workflows" as top sections for all
manuals
* [2978fc3] manual/consumer.rst: Properly reorder sections
* [158880a] manual/consumer.rst: Convert "multiple versions" section to
note
* [2b9d524] manual/developer.rst: Convert "reprepro symlink" section to
error
* [c261466] manual/administrator.rst: Re-order sections to new top level
section lineup
* [a265f66] manual/administrator.rst: Drop worklflow section "keyring
and test packages" (we already have "Build Keyring Packages")
* [fe6bdee] manual/administrator.rst: Bulk-drop superflous newlines
* [4ec5591] manual/roadmap.rst: RoadMap -> Roadmap
* [2438861] manual/roadmap.rst: Order versions "newest top"
* [3bd64a6] manual/roadmap.rst: Move "migrate from 0.8.x" to roadmap
* [571b1f8] manual/roadmap.rst: Simplify 2.2.x (next) issues list
* [e6145a5] manual/roadmap.rst: Drop 'ccache expire' issue (ccache
already limits and expires)
* [0dcee1a] manual/roadmap.rst: Re-order and fixup issues for 2.2.x
* [1f1a11f] manual/roadmap.rst: Make 2.0.x section "release ready"
* [53baa31] manual/roadmap.rst: Label 2.2.x section 'next+'
* [75fadea] manual/roadmap.rst: 2.2.x: Add reprepro 5.4 hint (multiple
versions per distribution)
* [594846d] manual/consumer.rst: Drop unnecessary attention for prio
table
* [ef45b66] manual/developer.rst: Move debbug link to title
* [795bd29] manual/consumer.rst: Move debbug link to title
* [def2085] manual/administrator.rst: Move debbug link to title
* [c3ea29d] manual/administrator.rst: Move debbug link to title
* [1cf5446] manual/administrator.rst: Move debbug link to title
* [f8d01c0] manual/administrator.rst: Move debbug link to title
* [1b8ba5b] mini-buildd-super-portext: Don't use 'attention' here (this
is experimental, should not appear as issue in docs)
* [b47a658] admin/mini_buildd.html: Drop (superflous/fixed) issue from
template
* [8859584] builtins.py (PlainFilter): Drop unused code line with
attention (this won't come)
* [e4b852e] builder.py (Build.__init__): Downgrade note on constructor
to code-comment only
* [65dcaba] api.py (KeyringPackages): "no apt-key support for urold"
should be 'note' not 'tip'
* [66f4527] manual/abstract.rst: Drop glossary (that does not seem to be
very helpful)
* [1df1bda] sphinx_ext_mini_buildd.py: Fix imports
* [6049f47] *.py (doc/admonitions): Consistently put debbug last in
title
* [2d82da6] manual/administrator.rst (Introduction): Remove "not revised
for 2.0" (no changes, but this should all still be valid)
* [1c45c7a] manual/administrator.rst: Remove use of glossary terms
(glossary has been removed)
* [b4a09f3] api.py (admonition): Improve wording on qemu tip
* [645bfeb] util.py (systemcert_workaround): python/SSL_CERTIFICATE
admonition should be "note" not "tip"
* [71dd3d3] manual/roadmap.rst (Upgrade from 1.0.x): Fix order of post-
upgrade check list
* [65e9497] manual: Move note on sbuildrc_snippet etc to roadmap's
upgrade checklist
* [bb1f799] manual/roadmap.rst Improve upgrade checklist
* [55d045d] manual/administrator.rst: Improve section 'Handling of
*ongoing* events' (make clear that uploads are now retried
indefinitely) (Closes: 877144)
* [a5cb6a0] mini_buildd.css (curstom margins): Add 'pre', drop 'span'
* [9419e3c] api.py (inpection report user msg): Make clear this is from
inspection run
* [0ee18c5] config.py: Drop MAIN_MENU_LEFT|RIGHT (used nowhere else,
should rather just be in HTML template)
* [be10da4] includes/main_menu_item.html: Drop extra support for names
setup, crontab (rather explicitly put them in base.html)
* [0333c5b] includes/main_menu_item.html: Drop completely (in favor of
explicit HTML menus in base.html)
* [4ac18cd] builtins.py (mbd_menu_active): Add builtin to simplify menu
HTML
* [4d08271] mini_buildd.css: Drop superfluous '-body-' in some class
names
* [f2cb495] api.py (Setup.Report.severity_class): Fix class name when
not run yet
* [ba2556c] api.py (Setup.Report): Improve wording for severity texts
* [3c6f9bc] api.py (Setup.Report.add_result): Move code to create report
into Report class
* [e82ad86] api.py (Setup.Report._add): Add support to persist setup
inspection run (saved to ``var/log/inspect.json``)
* [46c6fb1] base.html (main menu): Move "manual", "api" back ro tight
menu
* [046a54b] admin/mini_buildd.html: Improve wording for alive warning
* [bf0d52c] admin/mini_buildd.html (setup): Add link resp. manual
section
* [dfb0f61] base.html (main menu): Add drop-down menu "browse" (directly
access event, repositories, builds directory listings)
* [4e62a43] base.html (main menu): Fixup order: Events, Repositories,
Builds
* [1cacbf1] base.html (user menu): Redo, w/o button, obsolete
mbd_accounts extra builtin
* [f20f229] base.html (main menu): Reorder and 'improve'
* [d0a9458] mini_buildd.css: CSS fixes for drop-down menus
* [85030ac] includes/events.html: Add browse links per event (events
dir, builds dir)
* [b2b7c31] base.html (main menu): Move "builders" to right menu
* [bca6203] config.py: Drop "builds" view: Superfluous, "builds-dir"
view basically does the same
* [c7ef633] mini_buildd.css (suite colors): Add color for 'hotfix' &&
fix color for stable to blue
* [6a65e9d] repositories/distribution.html: Add suite colors
* [647b40f] devel, manual/administrator.rst: Release to version updates
after bookworm release
-- Stephan Sürken <absurd@debian.org> Sun, 11 Jun 2023 21:38:40 +0200
mini-buildd (1.9.124) unstable; urgency=medium
[@release team: This is NOT for bookworm; pseudo bug is in place to keep
mini-buildd in unstable.]
Summary:
* Promote emacs support (from examples->actual installs to site-lisp)
* Fix/update tooling to setup external 'SSH access'
* Improve inspecting with API call 'setup' && do scheduled inspections
Details:
* [695d4b7] includes/events.html: Drop "rebuild" menu item (redundant &&
significantly slows down 'daily cake' events view on bigger repos)
* [f092ff6] Promote emacs support from examples to proper installs to
site-lisp
* [cbdeb21] daemon.py (Stopped): Don't fail if restart fails (Fixes:
maintenance calls with deactivated Daemon)
* [2196dfd] src/mini-buildd-setup-ssh-access: Add admin tool to setup
SSH access (user add/del support for now)
* [8866288] src/mini-buildd-setup-ssh-access: Add support to auto-
generated GPG key (per user)
* [b542a0b] src/mini-buildd-setup-ssh-access: On --purge, kill all user
processes 1st (avoids error with deluser)
* [834deab] src/mini-buildd-setup-ssh-access: Add support to generate
extra dput.cf (and add to mbd setup)
* [a642f01] src/mini-buildd-setup-ssh-access (uploader): Add support to
setup incoming dir
* [55ef12e] src/mini-buildd-setup-ssh-access (uploader): Add support to
generate initial authorized_key (with example line)
* [6a0ae07] src/mini-buildd-setup-ssh-access (uploader): Add support to
generate ~/.dput.cf
* [7e45903] src/mini-buildd-setup-ssh-access: Add support to explicitly
give an endpoint (defaulting to current hostname/http)
* [8c5c05b] src/mini-buildd-setup-ssh-access: Get identity from endpoint
(use for dput.cf)
* [04d8663] src/mini-buildd-setup-ssh-access: Interactively ask to
continue -- i.e., also in non-purge case
* [d5df557] src/mini-buildd-setup-ssh-access (staff, admin): Add support
to setup for plain python keyrings
* [6a0be38] src/mini-buildd-setup-ssh-access (staff, admin): Add support
to setup user password
* [c8953d6] src/mini-buildd-setup-ssh-access: Generate GPG key for
uploader only && auto-set key via m-b-api set_user_key
* [18deef3] Improve naming: m-b-setup-ssh-access->m-b-ssh-setup
* [13f2e99] src/mini-buildd-*: For all "bash tools", get tool name in
usage automatically
* [ad5b06c] src/mini-buildd-*: For all "bash tools", also accept "-h" to
get help/usage
* [0d1d28b] src/mini-buildd-ssh-uploader-command: Initial (sort-of
working) code update/fix (greatly simplified)
* [9a336a6] src/mini-buildd-ssh-uploader-command (CLI.runcli): Add check
for original ssh command (give reasonable error on non sftp access)
* [c34ac47] src/mini-buildd-ssh-uploader-command (CLI.runcli): Also log
SSH_CONNECTION
* [174eae2] src/mini-buildd-ssh-uploader-command: Serialize calls (via
self-brewed filelock)
* [777fd29] cli.py (auth_log): Completely drop 'auth_log hack' code
* [5c28675] Rename ssh-client-command -> ssh-api-command
* [a50a93d] src/mini-buildd-ssh-setup: Generalize authorized_keys
"installer", and add for staff && admin as well
* [70b0c8d] src/mini-buildd-ssh-setup (_install_authorized_key_example):
Fix pub key part in example authorized_key file
* [33b281c] src/mini-buildd-ssh-api-command: Drop (we can simply call
m-b-api directly in command)
* [e6cfbea] src/mini-buildd-ssh-setup (_setup_pk_plain): Fix/reword
password store routine
* [d32693a] src/mini-buildd-ssh-*: Update && merge docs in ``m-b-ssh-
setup --help``
* [5554cfc] src/mini-buildd-ssh-setup: Drop saving user password for
-uploader && update docs/notes && add cavet note
* [a02f44e] src/mini-buildd-ssh-uploader-command (log): Simplify to just
log one message (string)
* [d8b408b] manual: Update "SSH access" docs in manual && drop thus last
TODO
* [498301a] builtins.py (mbd_dict_get): Add support for default value
* [15cb8c7] main_menu_item.html: Use empty string as default value
(avoids "None" as title if attention is unsupported)
* [93d717d] api.py (Setup.__run._report_add): Generalize 'report item
adding'
* [90ab588] api.py (Setup): Drop extra "desc" from report item (instead,
just use key as description)
* [5c6aa35] api.py (Setup): Make "total instances" a proper report item
* [7e7224f] api.py (Setup): Report: Add "overall severity"
* [9f04c56] mini_buildd.css (:root): 'okay' should rather be greenish,
like 'success'
* [d21d6b5] api.py (Setup.Report): Improve/sanitize API call setup's
'report' code
* [b80de3e] cron|daemon.py (cronjob_setup_inspect): Add 'inspecting' API
call 'setup' to weekly cron (renames cron "check" -> "setup_inspect")
* [4e113e3] api.py (Setup.Instance.Status): Use Enum for status (instead
of just strings)
* [10c9721] api.py (Setup.__run): Generalize reports based on instance
status
* [cf8266f] api.py (Setup.Instance.Status): Add checks FAILED, CHANGED
(and accompanying cleanups)
* [726600d] daemon.py, *: Drop all old-style "attention" code
-- Stephan Sürken <absurd@debian.org> Mon, 29 May 2023 17:23:07 +0200
mini-buildd (1.9.123) unstable; urgency=medium
[@release team: This is NOT for bookworm; pseudo bug is in place to keep
mini-buildd in unstable.]
Summary:
* Misc setup updates (bookworm, bullseye, xenial)
* Fixes for use w/ apt-cacher-ng ("apt-get update stall", ping)
Details:
[ Stephan Sürken ]
* [7d0a079] devel: Don't use --archives-from-proxy by default && update
notes on 'apt-get update stalls' problem
* [0c97cb6] dist.py (setup): Rename 'urold' flag back to 'broken' && add
temporary 'broken' flag for Ubuntu lunar
* [b287fd9] dist.py (setup): Add backports for bookworm
* [3b7a53c] dist.py (setup): Add backports-sloppy to bullseye
* [d77cad1] mini_buildd/base.html: Improve "Daemon stopped" message to
actually tell when is maintenance being done
* [426ac42] sbuild.py (apt-update): Use ``timeout`` on ``apt-get
update`` (also works around mysterious apt client/parallel bug)
* [6f33c36] examples (vsyscall-emulate.cfg): Drop "local-" prefix for
this example
* [49dc349] apt-parallel-bug: Add example script to repeat "apt-get
update stall phenomena"
* [512db34] manual/administrator.rst ('apt-get update stall' note):
Downgrade to 'attention' (now has workaround) && update to newest
findings
* [cfdb44f] sbuild.py: Add comment why we use timeout on apt-update
* [f02700e] models.py (Archive.mbd_ping): Drop trailing "/" on ping
(problems with newer apt-cacher-ng)
[ Gerhard A. Dittes ]
* [286dc2a] Enhance Debian changelog mode extension
[ Stephan Sürken ]
* [2e6fae7] sbuild.py (apt-update): Drop ``--verbose`` from ``timeout``
call (to be compatible with urold coreutils)
* [949581c] dist.py (setup): Ubuntu xenial: Should use ``apt-key-add``
sbuild block
* [3d9dcf6] sbuild.py (apt-update): Tweak timeout times && re-add sleep
-- Stephan Sürken <absurd@debian.org> Sun, 14 May 2023 07:16:28 +0200
mini-buildd (1.9.122) unstable; urgency=medium
[@release team: This is NOT for bookworm; pseudo bug is in place to keep
mini-buildd in unstable.]
Summary:
* Make production log more readable
* Web: Make start/stop (was: power) interface simpler
* Web: Improve API call result design
* Fix long-standing caveat 'No error handling for ftpd startup errors'
* Misc smaller cleanups && doc updates
Summary:
[ Gerhard A. Dittes ]
* [a4e9ed7] examples/mini-buildd-utils/mini-buildd.el (mini-buildd-
debian-changelog-mode-hook): rename submenu to improve consistency
* [e067813] examples/mini-buildd-utils/mini-buildd.el (mini-buildd-
debian-changelog-mode-hook): add separator to improve clarity
* [af1e3ed] examples/mini-buildd-utils/mini-buildd.el (mini-buildd-
debian-changelog-mode-hook): append dots to menu entries which require
further action
* [f9aa238] examples/mini-buildd-utils/mini-buildd.el (mini-buildd-
debian-changelog-mode-hook): combine "ignore items" into submenu to
improve usability
[ Stephan Sürken ]
* [1bd8e43] manual/roadmap.rst: 1.0.x done: setup testing
* [17dd0ee] models.py (StatusModel.Admin.mbd_check): code style: Error
handling 1st
* [405467f] models.py (KeyringKey): Drop this (obsoleted) abstract class
* [908b714] sbuild.py (sbuild setup blocks): Add notes on placing for
some blocks
* [9db09a5] repositories/index.html: Use datatables for top view as well
* [93b07ca] views.py (RepositoriesView.setup): Use separate templates
for repo overview / dist view
* [15eebd4] repositories/distribution.html: Customize for distribution
view (fixes misleading title/header)
* [47315f1] includes/popup.html: Fixup indent (cosmetic)
* [c079ceb] includes/popup.html: Simplify API popup (one menu only)
* [cf89bfd] includes/api/*.html: Drop all "trivial" custom API call
templates
* [5f55424] includes/api/list.html: Drop (this API call has been removed
a while ago)
* [b608a3a] api.py (Start): Replace 'Power' with 'Start', 'Stop'
* [19096c4] daemon.py (Daemon.mbd_start): Fail if Daemon instance is
deactivated (instead of just ignoring)
* [4dea367] static/mini_buildd.js: Do location.reload() after successful
``start`` and ``stop`` calls
* [008d6b5] ftpd.py (FtpD.run): Drop hiding/ignoring ftpd_options parse
errors
* [a5b29c8] ftpd.py (FtpD): Add extra bind() method (run before thread
run). Fixes ftpd startup error handling
* [3ff9ea5] threads.py (Thread): Update thread code for consistent
thread start/stop logs
* [51e3c94] twisted+pyftpd: Only bend resp. logging to ours if --log-
level=DEBUG
* [d986d97] threads.py (Thread.run): Cleanup log text
* [6b0f81c] cli.py (logging): Only use one (simplified) format
* [e68984d] *.py: Bulk-downgrade a number of log lines to debug (don't
clutter a production log)
* [eb75da8] httpd.py (HttpD.__init__): Make name of thread be the URL(s)
of endpoint(s) (like for ftpd)
* [5463b1d] daemon.py (Daemon.__init__): Make name of thread str(Model)
&& drop extra str(Daemon)
* [a6fe39d] builder.py: Drop thread names for Uploader, Packager,
(Cron)Tab
* [eaacb9d] builder.py (Build.__str__): Drop: Unused, confusing
* [dc18519] builder.py (Build.__init__): Only use build key as thread
name
* [a7a4a46] builder.py (Builder.__init__): Add useful info in thread
name && drop extra __str__()
* [85a1d29] threads.py (log, exceptions): Update wording and levels
* [7f2acda] static/mini_buildd.js: Fix position of hidden class removal
(Fixes ongoing not showing regression)
* [e813a92] *.py(doc): Bulk-drop all (remaining) trailing '.' in
exception strings (just for consistency)
* [5d44467] *.py(doc): Bulk-drop all remaining trailing '.' for all
python code documentation titles (just for consistency)
* [653b900] *.py: Bulk-drop remaining trailing '.' from annotation
titles (just for consistency)
* [f2739c8] dist.py: Add Ubuntu lunar 23.04
* [24c528a] api.py: Fix sphinx error with pimpdoc
* [723c19f] util.py, view.py (Versions): Pimp up && use as django
context (replacing mbd-only ``mbd.version`` context)
* [10281a8] devel (testsuite-packages): Do package removal (to assure
idem potence) before (not after) the actual test
-- Stephan Sürken <absurd@debian.org> Sun, 23 Apr 2023 17:45:37 +0200
mini-buildd (1.9.121) unstable; urgency=medium
[@release team: This is NOT for bookworm; pseudo bug is in place to keep
mini-buildd in unstable.]
Summary:
* Consolidate && update docs on internal 'sbuild config|setup blocks'
* More testing && doc for urold support (<= squeeze)
* More migration testing, docs and fixes
* [dde0f14] sbuild.py: Drop sbuild (auto) config block 'no-apt-update'
in favor of '--no-apt-update' sbuild option
* [1f37926] sbuild.py: Internal/cosmetic: Avoid extra space for
BASH_VARS
* [36ab36c] sbuild.py(setup blocks: Merge 'apt-setup-https' into 'apt-
setup'
* [50797df] *.py (sbuild config|setup blocks): Drop '-Top' variant.
Ordered list instead with (hardcoded) default && no automatic entries
* [015cb68] sbuild.py (apt-setup): Copy https cert only if exists and
non-empty
* [caf044c] dist.py(style): Bulk-fix multiline notation
* [96f7271] models.py: Fixup doc on Distrubtion's extra options
* [fb271cd] sbuild.py: Update block docs && order
* [82ea8d9] sbuild.py (SetupBlocks.configure): Drop Dir.add_dir (now
honors order of given setup blocks)
* [2a07948] dist.py: Minimize workrounds needed for wheezy, jessie
* [e37acf5] sbuild.py (setup blocks): Don't use 'show-sbuildrc' by
default
* [ee3645c] share/package-templates/mbd-test-cpp/debian/rules: Add
workaround to make it build for squeeze
* [2c3a415] examples/mini-buildd/pin-sbuild-for-urold: Add APT
preferences example -- pin sbuild for urold support
* [13f08bb] dist.py (squeeze): Add 'squeeze-lts' source
* [b2f3f24] dist.py: Setup updates and hints for (broken) urold:
squeezy, lenny, trusty
* [6089f48] manual/administrator.rst: Add doc/hints how to possibly re-
enable squeeze builds
* [56a36ea] sbuild.py(doc): Improve desc for eatmydata setup block
* [f529f05] manual/roadmap.rst (Upgrading from 1.0.x): Restructure &&
update
* [dffcd37] manual/roadmap.rst (upgrade): Drop 'sudoers workaround'
explanation (already covered in schroot.py)
* [91f5fc2] manual/roadmap.rst: Move version scheme changes docs to
administrators manual (as versionchanged for Source)
* [97d21c8] manual/roadmap.rst: post install hints->checklist, update &&
simplify
* [d737308] manual/administrator.rst: Update "Remotes" doc, hint to new
WOL support (and declare this todo done in roadmap)
* [a292ba4] manual/roadmap.rst: Update checklist notation && references
* [cdc215e] manual/roadmap.rst (Alternatively): Sub section for buster
option
* [bc549c0] manual/roadmap.rst: Drop 2.2 "Setup" brainstorm notes
(that's already done in 2.0)
* [ae68f3c] api.py (Setup.Instance.diff): Exclude deprecated
"smtp_server" field
* [558545f] api.py (Setup.Instance.diff): Explicitly "unexclude"
'sbuildrc_snippet' and 'chroot_setup_script' (even if target is empty)
* [dbc0137] manual/administrator.rst (Distribution): Add "versionadded"
hint for Sbuild (Config|Setup) Blocks
* [d21bb4f] manual/administrator.rst: Update and sync "API call setup"
section
* [f867f79] reprepro.py (Reprepro._del_snapshot): Fix (reprepro)
snapshot removal when distro is removed from repo
* [42286a4] files.py (SourcesList.get): Assure sources.list has a final
newline (mostly cosmetic)
* [f4c9dbd] api.py (Setup.__run.DistributionInstance.diff): Fix: Use
designated method, don't get components manually from SETUP
* [d74de06] dist.py(SETUP): Rename "default_components"->"components"
* [a568e5d] dist.py(SETUP): Add component "non-free-firmware" as default
for vendor Debian (exceptions for older releases)
* [579c74a] files.py (AptLine): Fix: Drop obsoleted sorting of given
components
* [81af97c] models.py (Component): Drop ordering support
* [f1aa205] dist.py: Add convenience order support for (str based)
component lists
* [48106a4] models.py (apt lines): Update to use sorted (str-based)
component lists where needed
* [b678eaf] devel (profiles): Rename broken -> urold
* [7ec2dce] dist.py (SETUP): Rename "broken" -> "urold" (they may still
work with tweaks)
* [09378d9] dist.py (codename sorting): Simplify/harden code. Makes it
work for pre-single-number release versions (<=squeeze)
* [b3d3eb6] dist.py (devel): Updates to __main__ test code
-- Stephan Sürken <absurd@debian.org> Sun, 09 Apr 2023 13:45:25 +0200
mini-buildd (1.9.120) unstable; urgency=medium
[@release team: This is NOT for bookworm; pseudo bug is in place to keep
mini-buildd in unstable.]
Summary:
* More misc testing, docs and fixes
* [618d04f] net.py (ClientEndpoint.__init__): Fix port parsing to make
work for raw IPv6 notation
* [0ddce9a] views.py (API): Log caller's IP address on API call (Closes:
933703)
* [289c59a] manual/administrator.rst: Document how to manually deal with
failing Sources due missing/wrong APT keys (Closes: 931732)
* [59b5cef] dist.py: Fix 'syntax typo' in lenny setup
* [98ed733] sbuild.py(apt-update): Use "exit", not "return" (old
variants of bash don't support return from script)
* [b08095e] sbuild.py (sbuild setup blocks): apt-urold->apt-(force-
yes|no-cache|no-pipelining) && generalize APT option scripts
* [cf6cdb8] files.py (Path.expire): Fix glob to only expire dirs _below_
the path (Fixes: expire jobs may remove skeleton paths)
* [87b97b7] models.py (Distribution): Deprecate
'apt_allow_unauthenticated' field (just use resp. setup block)
-- Stephan Sürken <absurd@debian.org> Sun, 02 Apr 2023 19:47:57 +0200
mini-buildd (1.9.119) unstable; urgency=medium
[@release team: This is NOT for bookworm; pseudo bug is in place to keep
mini-buildd in unstable.]
Summary:
* More testing, docs and fixes on the setup system
Details:
* [3bff244] api|models.py: Bulk-fix: Consistent notation for multiline
strings
* [c0ce751] manual/administrator.rst: Update structure for Setup section
* [38bbdea] manual/administrator.rst (Setup): Abstract doc, more
structural change
* [a904f03] api.py (Setup): Generalize "report" in json result
* [307efdf] api/setup.html: Add auto-selector (via js) for values from
report
* [69927b4] api/setup.html: Use one table_id var
* [1b82768] api/base.html: Drop extra section for result
* [2071854] api/setup.html: Improve layout: Report && Instances sections
with resp. title
* [302c5e3] api.py (Setup): Add reports for "deactivated" and "missing"
* [f9fa6d8] models.py (GnuPGPublicKey.mbd_key_id): Add (compat) helper
to get key_id
* [f1f57e8] api.py (Setup.__run.SourceInstance.diff): APT keys diff: Fix
false-positive for unprepared keys
* [8ff4060] manual/administrator.rst: Update "Bootstrap" section
* [2895006] manual/administrator.rst (Setup): Add contents for "Update",
"Extend" sections
* [0c9d134] manual/administrator.rst: Re-use old generic part as
'Introduction'; add some "not revised" warnings
* [7261f76] models.py (Builders): Only consider active builders (don't
wake explicitly deactivated remotes (or show in builders/))
* [614e1d2] manual/administrator.rst (squeeze HTTPS error): Small text
correction
* [1dfe18d] manual/administrator.rst (apt-update stall phenomena):
Update with some new test findings
* [9d33a01] api.py (Setup.Instance.diff): Don't create diff for non-
existing object (now hinted by 'missing' report)
* [f9b2c66] debian/changelog [internal]: Temporary (bigger) entry for
snapshot version schema update for internal snapshots
* [7a4ecff] models.py (Model.save): Drop save override (used to trigger
full_clean())
* [bf6e5f4] models.py (help texts): Drop some 'actual field name
ghosting' using 'verbose_name' (generally confusing && user can't
identify ``setup`` diff fields)
* [53f2707] config.py: Slightly re-order main menus
* [a596b1e] api.py: Simplify bootstrap (manual & web)
* [4448544] builtins.py (mbd_api): Bugfix: Wrong variable used in error
string
* [291d52d] api.py (Setup): Presets 'inspect' (was 'check'), 'extend'
(new)
* [0e854cd] api.py (Setup.iarguments): Add generic ``--from-origins``
option
-- Stephan Sürken <absurd@debian.org> Sun, 12 Mar 2023 21:18:11 +0100
mini-buildd (1.9.118) unstable; urgency=medium
[@release team: This is NOT for bookworm; pseudo bug is in place to keep
mini-buildd in unstable.]
Summary:
* Internal python package restructure
* More testing accompanied by misc fixes
Details:
* [4390927] devel (mbd_codenames): Fix mbd-api call syntax (re-enables
'internal port' testsuite tests)
* [84c91cd] api.py (_ExtendAction): (ListArgument): Simplify && add
workaround for https://github.com/python/cpython/issues/60603
* [8f799e2] api.py (RemakeChroots): Simplify, don't use mbd_actions &&
add some useful (json) results
* [1db9dc5] models/base.py (StatusModel.Admin): Actions: Rather use
'modeladmin', not 'self' as 1st argument for actions
* [39661e8] models/base.py (StatusModel.Admin.mbd_actions): Drop
mbd_actions()
* [543b6fc] models/base.py (StatusModel.Admin.mbd_action): Give action
func directly instead of string
* [b865b1e] includes/popup.html: Add title hints for keycodes
(Reload=f5, Close=ESC)
* [9420071] webapp.py (WebApp.remove_system_artifacts): Fixup: Use
mdls() implicit importer && don't use admin actions
* [8150e4a] cron.py (Tab.cronjob_check): Fixup: Don't use admin actions
&& move code to crontab
* [61fabad] models/base.py (StatusModel.Admin): Add class methods (non-
action) for pc, pca
* [7feb377] api.py (Setup.Instance): Fixup 'pca': Don't use admin action
(but mbd_pca class method) && add error handling
* [a13ffb6] models/base.py (StatusModel.Admin): Use pc, pca class
methods in resp. admin actions
* [e624f9a] packager.py (Packager.run_event): Add missing exception log
on REJECTED
* [1f5f1f0] *.py (refac): Update python package structure && import
convention
* [ec0cc24] devel (mbd_pyrpl): Add helper
* [7d201f7] *.py: Bulk fix a handful of cases where non 'util.HTTP*'
exceptions were raised ([pylint 2.16.2] fixes 'broad-exception-
raised')
* [285bdeb] models.py: [pylint 2.16.2] Bulk-fix new (correct) warnings
'superflous-parens'
* [da601e0] api/base|default.html: Minor improvements
* [5e544d2] cron.py (Tab.cronjob_retry_uploads): Move "run-maintenance"
to (minutely) cron job
* [689f178] cron.py (Type): Add support for HOURLY jobs && make 'upload
retry' job hourly (not minutely)
* [21fd80a] api.py (Retry._run): Fix: Make also work for REJECTED events
* [075f789] devel (profiles): Drop codespell check for buster
* [4f36632] files.py: Bugfix: Drop pydoctest on dev-local files
* [35b2a2a] devel (pydoctests): Run on *all* detected python scripts
(was only m-b, m-b-api)
* [c38c64e] debian/rules (override_dh_auto_test): Run ``./devel
pydoctests`` as package test
* [1b6671e] mini-buildd-super-portext: Fix doctests for BuildDep
(unicode str, class path)
* [48801ce] All py scripts: Bulk-protect to only run on ``__name__ ==
__main__``
* [eb28705] devel (pydoctests): Workaround for doctests in scripts
* [a94cb58] models.py (Daemon): Allow starting even if FQDN of system is
not configured (thanks to Lena Voytek for the patch)
* [f78fff7] debian/po/de.po: Add translations for de, es, nl, pt (thx to
all contributors!) (Closes: #1028241, #1028385, #1029029, #1029713)
* [e134151] devel (testsuite packages): Fix mini 'typo' in comment
* [80c0a02] util.py (Versions): Add utility for component versions
* [7634eb2] models.py(EMailValidator): Compatibility for django < 3.2
* [1413d81] devel (testsuite-packages): installed-port: Port for
released only (bullseye, buster) && skip non-working check on rebuild
* [552b224] package.py (upload_template_package): Fix return value on
error
* [7214272] sbuild.py: Harden setup scripts code on path computing
(using realpath)
* [77e8d45] sbuild.py (apt-update): Add retry functionality for rare
"File has unexpected size" error && document in adminstartors manual
-- Stephan Sürken <absurd@debian.org> Tue, 07 Mar 2023 11:47:09 +0100
mini-buildd (1.9.117) unstable; urgency=medium
[@release team: This is NOT for bookworm; pseudo bug is in place to keep
mini-buildd in unstable.]
Summary:
* Another evolution of the 'setup system'
* Misc fixes from some migration tests
* Fixes/improvemts for remote building (Builders)
* Improvements for the 'emacs cl mode' example (mr -- thx Gerhard)
[ Gerhard A. Dittes ]
* [6544e06] examples/mini-buildd-utils/mini-buildd.el: move to changelog
menu
* [f6bf1bd] examples/mini-buildd-utils/mini-buildd.el: separate from
other menu items
* [febf25f] examples/mini-buildd-utils/mini-buildd.el: be smart (,
"always"!)
* [31b60f3] examples/mini-buildd-utils/mini-buildd.el: homogenize menu
definitions
* [166cfa9] examples/mini-buildd-utils/mini-buildd.el: comply with
"Emacs Lisp Coding Conventions"
* [712e683] examples/mini-buildd-utils/mini-buildd.el: prevent redundant
information
* [ad92802] examples/mini-buildd-utils/mini-buildd.el: fix typo (auto-
ports parameter)
* [291503d] examples/mini-buildd-utils/mini-buildd.el: fix momentous
typo
* [d58cc66] examples/mini-buildd-utils/mini-buildd.el: some more
reasonable variable naming
* [411a384] examples/mini-buildd-utils/mini-buildd.el: prefer strings
over symbols
* [9bf9482] examples/mini-buildd-utils/mini-buildd.el: add some
variable/function documentation (& make 'mbd-distributions'
extensible)
[ Stephan Sürken ]
* [fa598e7] api.py (Setup.iarguments): --repositories: Fix
notation/logic have <id>[/<layout_id>] (not
<id>[/<some_internal_string])
* [5595595] includes/range_menu.html: Use step=any for date input (fixes
confusing browser validation errors)
* [e848af8] api.py (Setup): Add "current" Setup preset (computed from
current instances)
* [d68c83b] api.py (Setup.iarguments): Add architecture to '--chroots'
option
* [5d6db0a] api.py (Setup.iarguments): Update --repository syntax
* [80085e8] api.py (refac): Fix up repository setup
* [538fe4e] tags/api_arg.html: Don't use size= for text,url,number (CSS
already sets this)
* [deded82] mini_buildd.css (input[type="number|text"]): Make width
somewhat bigger
* [9b2a8cf] misc.py (esplit): Helper: Deliver empty list on strip(sep)
(unlike str.strip)
* [187b0b0] api.py: Fixup args --chroots* and --repositories*
* [05803e1] api.py (Setup._setup): Separate code for 'var' and 'run'
* [c16d4bd] mini-buildd: Clean up '--debug=foo,bar' option: Drops
'warnings','exceptions' (now w/ log level DEBUG) and 'http' (not used)
* [615416a] api.py (Setup._setup): (refac) Go with one setup dict
* [3b4c1d3] devel (mbd_ipython3): Convenience: Run ipython so we can
import directly from working dir
* [dcfc1d3] misc.py (uniq): Add helper to make lists unique
* [b92fe21] api.py (Setup): Update result to be a dict again: +setup,
instances (list as before), +report
* [96885eb] api.py (Setup): (refac) Split _setup -> __setup, __run (also
fixes some pylint codestyle complaints)
* [6a60628] api.py (Setup): (setup dict) Update all use of ``set`` to
``list`` (fixes order, makes setup dict JSON-serializable)
* [3067616] devel (snapshot): Fix: sources_list check should be limited
to "test" repository
* [30a2aa8] api.py (Setup): Add separate --distributions arg (instead of
combining w/ --repositories)
* [31894ab] api.py (Setup.preset_current): Fixup chroots "current setup"
* [e50c61d] api.py (Setup.Dists): Cleanup: Construct from iterable &&
drop separator
* [2075dd5] tags/api_arg.html: Drop prefixing argument name to doc
(duplication/cluttering only)
* [3616c4f] api.py (ListArgument/argparse): Add custom argparse 'extend'
action (fixes: Only last given values of '--list' options would be
used if given multiple times)
* [1eedf7a] src/mini-buildd (doc): --http-endpoint: Clear up wording
(option itself may not be given multiple times)
* [e84bb7b] devel (profiles): Update pureos setup
* [12ef2ed] devel (testsuite): Add profiles '_arm64', '_repos'
* [3d7def3] python3-mini-buildd.links: Switch Numix icon theme dir from
48->32 (since numix-icon-theme 0~20230112-1, 48/ is not complete)
* [b893d97] api.py (Setup.iarguments): Drop '--save' option (including
all support to auto save/retrieve from pickled_data)
* [d718d43] api.py (Setup._preset): Drop '--update=all' from
(Debian,Ubuntu) presets
* [2d79c9b] api.py (Setup): Drop --sources-from-origin-with-lts|all in
favor of <origin>:lts|all notation
* [83b9799] api.py (Setup.iarguments): --chroots-from-distributions ->
--chroots-from-sources (makes it suitable for builder-only hosts)
* [9eedb47] api.py (Setup.iarguments): Misc argument docs fixups
* [490d098] dist.py (refac): Make CODENAMES dict of Codenames (not
setup)
* [b477ef2] dist.py(refac): Drop CODENAMES global
* [45382dd] api|dist.py (refac): codename selector: Move to dists and
simplify
* [4cea9d2] api.py (Setup._check_codenames): Drop (projected: should
just go with a defaults)
* [c44eddc] dist.py (di_codenames): Add support to get all codenames
known to distro-info
* [66176d0] api.py (Setup): Fix: Provide empty list if no 'apt_keys'
setup found, not None
* [dea8d1d] dist.py (Codename): Initially support a default setup
* [cdb572c] api.py (Setup.__run.LayoutInstance.update): Remove some
left-over debug logs
* [fec5ea7] api.py (Setup.__run.SourceInstance.update): Skip clearing
apt_keys list, always, use 'Instance', simplify
* [a9d5a39] api.py (Setup.__run): Layout: Always use 'Instance',
simplify
* [dd6d3c2] api.py (Setup.Instance.diff): Model diff: Skip field if
Model's default is the empty string
* [394f583] misc.py (mdget): Add special "dict get" helper
* [ccd1c3b] dist.py (Codename): Add setup_* methods to retrieve data
from setup; updates && fixes for Sources+Distribution+Chroot
* [f9e7fb9] views.py (ExceptionMiddleware): Fix incorrect 'error' call
(fixes error response for django http errors)
* [b82a475] devel (profiles): Make '_debug' only raise log level; add
'_debug_full' to enable all the extra debug modes
* [4171105] repository.py (Repository._mbd_package_migrate): Bugfix:
Avoid repeated 'migration' when called w/o explicit version
* [6312148] api.py (Setup): Don't force 'Daemon start' after running
* [1a2731d] api.py: Add _Maintenance MixIn (lock && stop daemon), use
for both Setup and RemakeChroots
* [cca14f0] api.py (Setup): Add report counts for total setup+model
diffs
* [050c3dc] models/distribution.py (Distribution.__str__): Doc 'multiple
distributions fluke' && add 'id' to make distinguishable for the user
* [410bea6] api.py (Setup): Add preliminary-check: Fail on 'multiple
Distributions fluke'
* [1a5bd36] api.py (Setup): Update preset handling
* [7d37ec9] index.html, base.html: Move 'power' API call to main menu
* [d275a8d] models/daemon.py (Daemon): Don't 'power on' on activation
* [4c80a32] base|index|admin.html: Improved visualization && info for
power state
* [277fb1d] api.py: Add "test" repository for (Debian,Ubuntu) presets
* [525b2ca] api.py (doc): Update all argument doc strings to
consistently start capitalized
* [46a2dbb] devel (profiles): Better profile names for remote test setup
* [304758c] builders/index.html: Cleanup/simplify builders view
* [b757da9] models/gnupg.py (Remote.mbd_check): Not in remote status:
Choose slightly better exception wording
* [5eaf1c8] models/gnupg.py (Builders): Fix wrong call of mbd_check()
(&& simplify and document) (fixes building on remotes)
* [7f237a5] api.py (Wake): Change authorization: _Admin->_Staff
* [c2a2c78] models/gnupg.py (Remote): Don't implicitly wake on check;
instead, wake optionally for Builders instance
* [e6d036b] views.py (BuildersView): Automatically re-check remotes if
staff user is logged in
* [51a7f7e] api/*.html: Add custom HTML for power,cancel and retry API
calls
* [7126427] sbuild.py (SBuild.cancel): Improve: Add PID to logs, add
smart wait after terminate && kill as last resort
* [20b144f] models/*.py: Fixup all usages of obj.id -> obj.pk ('id' is
only available if model has a primary key field)
* [a5a02c7] api.py (Call.set_args): Drop debug logs per arg (way too
chatty, rather breaks debugging)
* [95d025a] api.py (Setup.Instance._get_obj): Add support to define
custom getter
* [7ee27be] api.py (Setup.Instance.diff): Add function doc
* [83b1017] api.py (Setup): Add custom AptKeyInstance: Support old short
keys in getter; always update 'key_id' (8) to 'long key id' (16)
* [33f084f] models/gnupg.py (GnuPGPublicKey.mbd_prepare): Always
implicitly update key_id to key_long_id
* [968d865] api.py (Setup.Instance): On update, set fields directly to
obj instead of QuerySet.update()
* [00aef08] api.py (SourceInstance): Do AptKeyInstances outside of
update() && clear apt_keys again on update
* [2c78bf8] api.py (Setup.Instance): Replace updated,created,pca
individual bool values by list of actions
* [a8e64c1] api.py (Setup): Distribution: Move PrioritySource,
Components outside of update()
* [0813365] api.py (Setup, DistributionInstance.update): Bugfix: Move
"archall fixer" code out of architecture loop
* [6594e85] includes/api/show.html: Use predictable datatable id (keeps
search setting per source)
* [738b9f2] mini-buildd-backup (--restore): Create mini-buildd user,
fail if exists
* [9d68a03] api.py (Setup --sources): Fix: Don't force only setup-known
codenames (we now have defaults)
* [bde2f91] manual/roadmap.rst: Add preliminary note about --debug
* [69f3297] api.py (Setup --pca): Always call with 'check' forced
* [dacedf6] sbuild.py (SBuild.run): Add LOG.info on sbuild start
-- Stephan Sürken <absurd@debian.org> Sun, 19 Feb 2023 14:17:14 +0100
mini-buildd (1.9.116) unstable; urgency=medium
Summary:
* More HTML/usability updates
* Improvements to new setup system
Details:
* [402dd6c] views.py: Pimp default "Events" limit to 40
* [d8c5fe7] dist.py (Codename): Bugfix: Account for that 'release' from
DistroInfo may be None
* [a26c5fc] api.py (Setup.setup_repositories): Don't fail (just skip) if
there is an existing (source) instance we have no setup for
* [4986b0c] models/base.py (Model.mbd_diff): Add exception log when not
comparable (this rather is a bug)
* [d04078d] models/base.py: Better name mbd_message->mbd_msg_exception
* [c7c71bb] models/base.py: Add mbd_msg generic function && also use for
non-error messages
* [a75d812] includes/messages.html: Don't show all messages directly
(hide in <details> tag)
* [a882e81] api.py (Setup.setup_repositories): Notation fix: Add custom
extra_options directly
* [b4b34ab] api.py (Setup.get_or_none): Add helper function
* [f18044b] models/base.py (Model.mbd_diff): Allow compared obj to be
None
* [e38f92f] api.py (Setup.x_or_create): refactor, only change (including
create) on --update && allow obj=None
* [b96b40b] api.py (Setup): Some fixes to deal with obj=None
* [6a0f3f6] models/base.py: Rather use decorators to set action
descriptions
* [0e88968] models/base.py: Admin actions: Fixup code order for PC, PCA
* [b456f47] models/base.py: Update mbd_msg (django) to also log
* [7cc6d57] models/base.py (StatusModel).Admin: Add mbd_pca() helper
* [e882ac4] api.py (Setup.x_or_create): Add "dynamic update" support
* [45c8047] src/mini_buildd/api.py: Add dynamic update function for
Source
* [3c9032a] api.py: Add dynamic update function for Distribution
* [61dfdf5] api.py: Add dynamic update function for Repository
* [e78fc26] api.py: Drop mbd_pca_all()
* [204be70] api.py: Divide setup_repositories (+ *_layouts,
*_distributions)
* [4467744] api.py (sources, chroot, distributions): Refactor, iterate
args (not existing instances)
* [79db4f9] api.py(setup): Minor code cleanups
* [4326169] api/setup.html: Show primary key in summary
* [11e8c34] api.py (Setup.x_or_create): Add to diff when dynamic update
fails (instead of failing)
* [18abbb9] api.py (Setup.x_or_create): diff: If there is no existing
instance, use kwargs as key
* [0cb221b] api.py (Setup.setup_chroots): Don't fail if resp. Source
cannot be found (rather add error to result)
* [b2f2af9] api.py (Setup.setup_distributions): Don't fail if resp.
Source does not exists
* [281be23] builtins.py (mbd_api): Fix argument setting when called with
command instance
* [2ab4643] api.py (Call.*command_line): Add support to arbitrarily
exclude options
* [913b4c9] api.py (Setup.run): Exclude '--save' and '--update' in saved
setup command line
* [678e86c] api.py (Setup.Instance): Update to use Instance class
(refactor)
* [e2e6754] api.py (Setup): Move ``get_or_none`` helper to Base model
``mbd_get_or_none``
* [71ef0e6] api.py /refac): Replace ``x_or_create`` helper by
``Instance.run``
* [b7571b2] api.py (Setup.Instance): Add call instance as class variable
* [5526347] api.py (Setup): (refac) Drop update_args
* [2043caa] api.py (Setup): (refac) update() via inheritance
* [14d9911] models/base.py (StatusModel): Revert action decorators back
to monkey patching (only for django 3.2+)
* [9115b09] devel: Add convenience profile '_debian_all'
* [10923fb] control (mini-buildd): Drop dependency on lsb-base (now
empty compat package only -- fixes lintian error)
* [6b6de84] control (*-utils: Recommends): Add lsb-release (used in m-b-
bootstrap-apt)
* [9f97dac] devel (mbd_installdeps): Add lsb-release (used early in
devel)
* [d2e8ae4] api.py (Setup.Instance.__init__): Add identity &&
identity_hash
* [efa7dbb] api.py (Setup): Change argument '--update' from bool->str
("", "all", "<hash_id>,..")
* [1a4de5d] api.py (Setup.setup_chroots): (refac) Simplify loop
* [04559a5] models/base.py, api.py: Move Model.mbd_diff() to
Instance.diff()
* [4e3ce55] api.py (Setup.Instance.diff): Fix: Instantiate default
(compare) object from kwargs as well
* [9e15ec9] models/base.py (Model): Add helper mbd_get_fields()
(encapsulating django's _meta.get_fields())
* [7ff3c42] api.py (Setup.Instance.diff): Update: Diff (nearly) all
model fields && distinguish diff against setup && (model) default
* [0ae9e4e] api.py (Setup.Instance.__init__): Make 'defaults' non-
optional
* [497c0c4] models/repository|source.py: Fix get_apt_line() to feed
AptLine only the *name* of components, not the objects themselves
* [dff240c] models/*.py: Sync all '__str__()' of models to make them
more consistent
* [6aad6ac] api.py (Handshake.run): Rather run log_exception on error
(make log-debugging possible)
* [766137a] dist.py: SETUP: Move (suite) rollbacks into layout
* [84b1791] models/distribution.py(SuiteOptionInline) Fix: Show
'extra_options' (for rollback)
* [5b7ef1a] api.py (Setup.Instance): (refac) Proper naming
(kwargs->identifiers, defaults->options, model_class->model)
* [72c57c9] dist.py: Replace 'needs_uname_26' by 'chroot_options'
* [584dae5] dist.py: Update SetupSources or "identifiers, options"
* [62cda28] models/distribution.py (Distribution.__init__): Add
constructor to set default for "extra_options"
* [e5499d2] dist.py: Cleanup Distribution options
* [b315d76] dist.py: Fixup format for distribution and chroot options
* [da44f48] dist.py (SETUP): Update, simplify and consolidate notation
* [32bfcd5] dist.py (SETUP): Consistently add trailing newline for
"extra_options"
* [0094c5a] dist.py: Cleanup/simplify sbuild import
* [7deac6f] api.py (Setup.run): Protect from being run in parallel
* [705f963] api.py (Setup.setup_chroots): Simplify && create
Architecture object if needed
* [bfe9817] api.py (Setup): Diversify --update -> --update, --pca
* [755518a] api/setup.html: Improve layout && add calls to 'update, pca,
update+pca' global && for each instance
* [c01f519] api.py (Setup.Instance.__init__): Simplify notation, add
debug log
* [d2edbea] api.py (Setup._setup): Simplify code to have one _setup()
method only
* [8501f4a] api.py (Setup._check_codenames): Add pre-check for (given)
codenames with no setup
* [fd4b11f] devel (changelog): Prefix '.dev' to snapshot (timestamp)
version (PEP 440)
* [bc6d254] setup.py: Convert version to be PEP 440 compatible (fixes
error w/ p-setuptools 66)
* [e883200] api.py (Setup._setup): PrioSource: Fix location of instance
generation (i.e., should not be in apt_keys loop)
* [3a47f2f] api.py (Setup.Instance): Simplify, drop superfluous run()
* [d8c7405] api.py (Setup._setup.SourceInstance.diff): Add 'dynamic'
diff for "apt_keys"
* [fd774f3] mini_buildd.css (nav>ul>li:hover>ul): Make login menu text
align to right
* [7125510] api/setup.html: Fixup instance description && status display
* [e1dc5e8] api/setup.html: Switch to use datatables to display
instances
* [74bd65f] api.py (Setup.Instance): Simplify result: Just a list of
instance (info) dicts does fine
* [afdf18b] api/setup.html: Add separate columns for setup/default diff,
created, updated
* [4d0c4cf] api.py (Setup.Instance.diff): "fields" list per diff "type"
(setup or model)
* [ec79377] api/setup.html(diff columns): Improve wording; consistent
search string to accommodate w/ datatables search
* [230603c] api.py (Setup.Instance._add_m2m_diff): Add generic method
for m2m diffs
* [b26566e] api.py (Setup, DistributionInstance.diff): Add m2m diffs for
fields "components", "extra_sources"
* [cc1f0af] api.py (Setup._setup.RepositoryInstance.diff): Add m2m diff
for "distributions"
* [32dd9ac] api.py (Setup.Instance.__init__): Fix: Compute 'status' and
'diff' _after_ (potential) update or pca runs
* [194049f] api/setup.html: Add extra support to show per-instance
change URL (convenience)
* [0cda6c5] models/base.py (UnixTextField): Replace all TextFields by
this new custom field (normalizes newlines to UNIX)
* [6dad8bc] dist.py, models: Remove all trailing newlines from Model
defaults and setup
* [bc81ade] api.py (Setup.Instance.diff): Simplify code
-- Stephan Sürken <absurd@debian.org> Sun, 29 Jan 2023 19:42:15 +0100
mini-buildd (1.9.115) unstable; urgency=medium
Summary:
* More HTML/usability updates
* Test and document "ongoing" handling (BUILDING, PACKAGING)
* Initial tests and improvements for new 'setup' feature
Details:
* [d30dc0e] dir.html: Avoid links to raw (static twisted default) dir
index && make text links always be "Download", icon links "View"
* [618fea6] dir.html: Add up (..) to dir index
* [9016daf] tags/datatable.html: better doc && somewhat nicer style for
reset workaround
* [857c808] mini_buildd/base.html: Rather show custom menu 1st (usually
keeps general menus on same place)
* [086a467] repositories/index.html: Fix: Don't show table when there
are no repos (e.g., after initial install)
* [8293ea9] web: Simplify HomeView to just show 'Ongoing Events'
* [81279bf] web: Simplify 'Events' && 'Builds' to not have an extra
header and menu
* [d71ca85] events/index.html: Consistent table id name
* [65cfa37] events.py: Drop "ongoing" run time flag workaround (no
longer needed)
* [9736378] api/show.html: DSC && CHANGES: Add DSC link to base version,
drop event links && consolidate code
* [b5ce6ea] manual/roadmap.rst: setup: Add sub-todo
* [70be1bf] manual(notation): Update section hierarchy to ``#*=-~``
* [dc0b444] manual/index.rst: Simplify && re-order toctree
* [9a1bf39] builder.py: Fix: Log ``BUILT`` event after build has
finished (not after successful upload)
* [f6d1068] events.py: Add per event "ongoing" template helper (enables
'ongoing' (blinking) display in 'EventsView')
* [6b74dcf] includes/events.html(cancel): Fix: Rather use 'ongoing'
shortcut, not calling function again
* [1b7bb59] includes/events.html: Add "retry" for orphaned PACKAGING as
well
* [543276d] manual/administrator.rst: Add section explaining the
'ongoing handling' on restart (or lack thereof)
* [e2907c2] manual/administrator.rst(Custom Event Hooks): Add version &&
minor fixups
* [9354b3b] api.py (Setup.x_or_create): Add _defaults var (handling
None-dict arg)
* [77eb017] api.py (Setup.x_or_create): Update obj creation/update code
(fixes: defaults would always be set, even w/o --update)
* [0ccff3a] api.py: Simplify code && json result
* [36394b7] api.py (Setup.x_or_create): Another refactoring of code
(fixes diff on --update)
* [9d0b8eb] api/setup.html: Add initial custom API 'setup' template
* [2c9f5ad] src/mini-buildd-backup (--restore): Rather default to "no"
&& add DANGER text before proceeding
* [446da0a] api/port.html: Reword "Event Queue"->"Ongoing Events"
-- Stephan Sürken <absurd@debian.org> Fri, 06 Jan 2023 18:51:28 +0100
mini-buildd (1.9.114) unstable; urgency=medium
Summary:
* Documentation: Cleans up roadmap && admonitions
* API: Adhere to "newer RFC" for json, allowing for a cleanup &&
simplification using non-dict JSON results
* Another painful "HTML iteration" (make it less ugly)
Details:
* [be86ab8] manual/administrator.rst: Update apt-get update stall
phenomena hint
* [1057224] manual/administrator.rst: Update profiling hint
* [7ee2c76] builder.py (Uploader): Migrate ``self.failed`` to dict
* [a7339e4] events.html (BUILDING): Display "Upload failed" warning
* [57fd86b] events.html: Display key (as title of event row)
* [9b691a9] events.html: Rather use 'yesno' for ongoing class
* [34e9e32] administrator.rst: Constitute two items from atok roadmap as
bugs ;)
* [55ef38c] manual/roadmap.rst: Fixup "setup todo"
* [3d23b72] manual/roadmap.rst: Move SSL bug (from roadmap) to
Administrator's Manual && update doc
* [5992d8a] manual/roadmap.rst: Remove mbd-off/web bug (retests show
it's fixed now)
* [1d8cfe5] manual/roadmap.rst: Don't use admonitions for Open Tasks &&
Brainstorm
* [4b02fab] manual/roadmap.rst: Drop 'debconf/make ssl default' item
from brainstorm
* [1fa0d66] manual/roadmap.rst: Move (to admin manual) and update
"ssl/squeeze" bug
* [96da765] manual/roadmap.rst: Move RFC 5147 hint/note to (PlainFilter)
code
* [972045c] manual/roadmap.rst: Drop dataclasses brainstorm (not valid I
think)
* [8a26188] manual/roadmap.rst: Simplify django brainstorm order
* [13443b4] manual/roadmap.rst: Update && fixup 'Open Tasks'
* [30700bc] manual/_templates/layout.html: Make 1st line of any
admonition be bolder (via CSS)
* [9a9f2e9] manual/roadmap.rst: Admonitions: Downgrade all wrong "error"
admonitions (fixes the "bug" list)
* [21501c3] *.py, *.rst: Replace "important" admonition by "note"
* [863e8ad] src/mini_buildd/api.py: Update debmirror bug note
* [c227031] includes/tags/file.html: Rather use 'strong', not 'h4'
* [93d3857] mini_buildd.css: Add standard padding for section
* [5e2c49d] api/base.html: cli/plin menus: Make result sections
* [a5eea00] mini_buildd.css (section, aside): Make section borders thin
(was medium)
* [22fb30a] api/show.html: Simplify version menu (drop "More")
* [dda07ba] *.py (refactor): Add generic misc.json_pretty() && update
all code
* [6a04eaa] api/base.html: Menu: Just show json, not json or plain
* [c5225df] mini_buildd.css (nav ul): vertical-align=top
* [71f79e8] api.py(Command): Add with_output option for http_args(); add
url()
* [558e8ac] api/base.html: Add "URL" to menu
* [2a58dd5] API(plain): Replace __PLAIN__ special key in favor of method
inheritance
* [9c36569] manual/roadmap.rst: Add item to test/doc remotes handling
* [205c886] api.py (calls with plain support): Update json result to be
list of lines, not one big string
* [4cbdb45] api/source_header.html: Fix: Don't use shortcut var "source"
(defined elsewhere)
* [158b8a6] mini_buildd.css: Center 'mbd-grid-ll'
* [ef20e05] builtins.py: Add custom helper tag: mbd_repository
* [883e6b3] api/migrate.html: Add custom template for "migrate"
* [b5398b2] api/remove.html: Add custom template for "remove"
* [3c17349] api.py: Remove mixin '_Show' (no longer needed)
* [0da3e76] builtins.py (mbd_api): Move "output" option to end
* [73177c9] package.py: Fix "port" when no version is supplied
* [ce81ceb] package.py (port): Refac: Rather (more consistently) use
'to_version', not 'port_version' var name
* [a674d8f] package.py (_port): Rather return a dict, omit unneeded
'source' && add 'dsc_url' (API calls port, portext)
* [d342eb1] api.py (_Plain calls): Simply use a list as json result
* [0ec93c7] api.py (all port-like calls): Just use list (of dicts) as
result (drop superfluous "uploaded" key)
* [72920ff] package.py (_port): Revive "source" entry in port results
(convenient when checking results)
* [7fabfd2] api.py (KeyringPackages): Fixup postprocessing (after port
result change)
* [ac85b47] api.py (TestPackages): Fixup postprocessing (after port
result change)
* [7ed2358] api/port.html: Add custom template
* [9765e3b] api/port.html: Add custom templates for all port-likes
(portext, keyring-packages, test-packages) as link
* [d96400d] api/port.html: Don't include generic "source header" here
* [67e6035] port_ext.html: Fix link name
* [745b8e7] views.py (ExceptionMiddleware.error): Rather use
log_exception (so we see stacktrace on debug)
* [37893b4] views.py (APIView.get): Allow non-dict JsonResponse
* [9007aef] api.py (subscribe/unsubscribe): Simplify json result
* [cde5816] api.py (SnapshotLs): Simlify json result
* [9777d33] api.py (retry, cancel): Simplify json result
* [222d14e] api.py (Debmirror): Fix typo in docs
* [468cf45] mini_buildd.css (pre, code): Use 'break-spaces'
* [c8a6ab1] api.py (get_plain(), plain(), json_pretty()): Refactor
* [962da75] scripts: Where ``m-b-api`` is used together with ``jq``, use
--json
* [f407eb2] mini-buildd-bootstrap-apt (get_pub_key): Fixup when getting
pub_key via wget ('__plain__' is no more)
* [ea2d694] models/gnupg.py (Remote.mbd_prepare): No longer needed to
call get_plain() on API results
-- Stephan Sürken <absurd@debian.org> Sun, 01 Jan 2023 16:36:00 +0100
mini-buildd (1.9.113) unstable; urgency=medium
This release mainly cleans up (debconf) templates, READMEs and various
other documentation; also changes handling of the default file (should
appease piuparts):
* [e4cee00] manual/administrator.rst: Add bug note about the rare "apt-
get update build stalled" phenomena
* [f32de6f] debian/mini-buildd.templates: Fix hint on (1.0.x)
'Quickstart' to new administrator's manual
* [949053c] mini-buildd.postinst: Don't mix quoting on options (' vs ")
when writing the default file (always use ")
* [e52316d] mini-buildd.postinst: Drop deprecated '--verbose' as default
option (now just empty)
* [35d974f] mini-buildd.default: Sync with the default postinst
(potentially) writes
* [f7bf531] mini-buildd.postinst (default file handling): Simplify: Just
always either write new line or replace
* [ee24ab1] mini-buildd.default: Clarify wording of comment
* [e805ef2] mini-buildd.postinst: Further simplify the default file
handling code
* [d26fca8] devel: Drop writing default file directly, rather do all via
debconf
* [855320a] devel (install): Use 'noninteractive' hardcoded for *.deb
install, as sudo arg
* [78963f5] mini-buildd.templates (admin_password): Description wording
clarifications
* [495712b] devel: Drop extra MBD_DEBIAN_FRONTEND (just directly set/use
DEBIAN_FRONTEND)
* [58896a0] devel (install): Empty out (old) options from default file
before dpkg-reconfigure
* [b40627a] devel (mbd_setupcert): Just always run 'create' (script
already does not overwrite itself)
* [fd065e1] devel (certificates): Setup certificates late (avoids perm
problems when mini-buildd user is missing) && only if needed
* [6afd7e7] devel (mbd_setupcert): Call browser/cert helper after
updating certs (not before any browser start)
* [f15c4b8] httpd.py (Events.mbd_ssl_workaround): Add setTimeout(None)
due to new findings w/ twisted 22.4
* [22e15f7] debian/mini-buildd.README.Debian: Update wording and link to
manual
* [8794e83] mini-buildd.README.Debian: Drop note on shm bug (fixed in
schroot, now an optional sbuild setup block snippet, documented there)
* [dc3ede3] mini-buildd.README.Debian: Drop emacs mode hint
* [f7574b8] src/mini-buildd: Update link to manual
* [86f23c9] devel (changelog): Fixup snapshot versioning (so it will be
> than the previous release)
* [dd6ed93] mini-buildd.templates (options): Improve wording, mention
options to get HTTPS
* [038eeca] manual/administrator.rst (Running encrypted): Improve and
complete section
* [73b4f4d] debian/po: Updates from debconf-updatepo
-- Stephan Sürken <absurd@debian.org> Sat, 24 Dec 2022 12:10:45 +0100
mini-buildd (1.9.112) unstable; urgency=medium
Upload to unstable:
* Bug fix: "mini-buildd (build-)depends on cruft package.", thanks to
Peter Michael Green (Closes: #933751).
* Bug fix: "Python2 removal in sid/bullseye", thanks to Matthias Klose
(Closes: #937049).
Please wait for a '2.0.x release' for any production purposes. While no
serious problem is known, some mandatory testing (&& documentation)
is still outstanding, especially on
- upgrades from 1.0.x
- the new 'setup' system
Details:
* [cf90668] dist.py(setup): 'wheezy' needs 'apt-key-add' workaround
* [bf3d0e1] dist.py(setup): 'wheezy' needs 'apt-urold' workaround
* [8a646b2] builder.py,ftpd.py: Cosmetic: Update two now misleading code
comments
* [5f4bc16] builtins.py (Css): Add "failed" as possible sbuild status
(color)
* [3d837a9] builder.py: Add "Canceled-By" tag for explicit build
cancellation (by shutdown or user)
* [353cddb] manual/administrator.rst: Improve 'vsyscall hint'
* [d7743d6] repository.py (Repository._mbd_package_migrate): Fix
'migrate' when 'version' not given
* [b4734f5] events.html: Add 'rebuild' button on 'INSTALLED'
* [e4b9c0e] dist.py: Add Ubuntu 22.10 (kinetic)
* [a21af05] api/source_header.html: Use same header for ls && show
* [a96f655] api.py (Output): Add meta argument class for 'output'
* [ce187e4] builtins.py, api.html (mbd_api): 'output': Rather use
'Output' meta option instance than explicit HTML
* [ff6c6ea] api.py, tags/api_arg.html: Revive HTML 'select' for Choice*
arguments
* [fe3b5df] tags/api_arg.html: Fix includes of "checked" and "required"
for correct spacing
* [918f2b4] mini_buildd.js(mbd_api_call): Code (mostly style)
improvements
* [c8d37ee] api.html/js(API calls): Switch "confirm" to HTML only
* [fea4f2c] api.html/mini_buildd.js: Switch to "onsubmit/action" (drop
extra <script> section)
* [a119883] api/base.html: Fix missing <li> end tags
* [53dd3c3] api/base.html: Drop page/json recall buttons (rather
confusing && can may now be done via 'output' option)
* [ac24ac0] html/API: Use better names for 'output' option values:
"html", "html-snippet", "json"
* [9aed9bc] tags/api_arg.html: Fix "required" flag in forms
* [ad30c5c] api.py (Output): doc: Make clear that 'html-snippet' usually
means 'js-browser-popup'
* [2eba2c5] builtins.py (mbd_api): Put "output" on top (of optional
options)
* [863192c] builtins.py: Drop mbd_api_popup (fixed output to html-
snippet: confusing, only used twice)
* [665618b] builtins.py (mbd_api): Drop "output" option
* [e806b8e] api.py (Output argument): Trim down to "html", "json"
options (use "html-snippet" internally only)
* [cb34e7c] api/base.html: Improve text for CLI/json menu items
* [02dcd27] builtins.py (mbd_api): Drop 'title' option (not used)
* [a0425f8] api/ls.html: Fix: Add missing 'repositories' argument
* [79931f0] CSS/popup.html: Simplify popup (fixed position && size, no
centering)
* [51444ad] devel (tidy): Add test for API call 'show'
* [6f6f4db] api/ls.html: Fix missing 'repositories' arg for 'all'
* [dbb9c84] api/ls.html: Use section per repo
* [7683b09] mini_buildd.css: Misc padding/margin adjustments
* [0159b82] api/show.html: For 'show', simply put all repos into one
table
* [1c83a0f] mini_buildd.js: Hide popup (API results) on ESC
* [50d78d7] mini_buildd.css: Add background classes (1-4)
* [ac21437] api/base.html: Use bg-2 for base API header, bg-3 for
show/ls common header
* [3d8022c] devel(prepare-system): Add "arch-test" to list of pre-
installed packages
* [294d2a1] devel (prepare-system): Add "firefox-esr" to list of
preinstalled packages
* [9ef7873] devel (restart): Don't run 'mbd_status' in subshell (breaks
p-keyring password interaction on 1st run)
* [a618cd2] debian/po/: Integrate changes from debconf-updatepo
* [ca6b18e] debian/mini-buildd.NEWS: Move contents to manual's roadmap
document (only hinting there)
* [26f2fa2] devel: Fixup run-lintian helper
* [cf4e35e] debian/mini-buildd.NEWS: Use already existing version number
* [ae80b7a] Update lintian override info format in d/mini-
buildd.lintian-overrides on line 2, 4.
-- Stephan Sürken <absurd@debian.org> Mon, 19 Dec 2022 17:58:52 +0100
mini-buildd (1.9.111) experimental; urgency=medium
Fixes for 'internal non-native port' regression, with some severe
internal logic/code changes; adds mechanism to retry failed buildresult
uploads, even after service restart; misc updates against sid/unstable
changes:
* [5c18949] fix(clipboard.js): Update path for node-clipboard >= 2.0.11
(&& add compat code for former path)
* [c29ab8c] doc(roadmap.rst): Add upgrade note about customizable
"Origin" string
* [0d5fe72] doc[codespell 2.2.1]: Fix some new doc/comment spelling
errors
* [35e6de6] src/mini_buildd/sbuild.py [pylint 2.15.3]: Fix new warnings
'consider-using-generator'
* [a9e2fe6] *.py [pylint 2.15.3]: Fix new warnings 'used-before-
assignment'
* [0d3da12] src/mini_buildd/models/daemon.py [pylint 2.15.3]: Fix new
warnings 'unnecessary-dunder-call'
* [6c91e95] *.py [pylint 2.15.3]: Fix new warnings 'arguments-differ'
(some classmethod/method mismatches)
* [38e0a7f] src/mini_buildd/dist.py [pylint 2.15.3]: Drop 'no-self-use'
disabling (now, this check is optional)
* [a417323] devel (_codename): Add function to (heuristically) provide a
proper codename where ``lsb_release`` now returns 'n/a'
(testing/unstable)
* [52e4a00] src/mini-buildd-bootstrap-apt: Add better error handling
when ``lsb_release`` fails to determine proper codename
* [0188bdd] devel (apt-tofu-bootstrap): Override MBD_CODENAME for ``m-b-
bootstrap-apt`` call (fixes auto testsuite under testing/unstable)
* [9fd571b] src/mini_buildd/cli.py (CLI.run): Error help: rather promote
new style '--log-level', not deprecated '-vv'
* [603522c] devel: Only try load per-codename profile if we have one
(drop profile funcs 'ignore_error' support)
* [cd44ca9] devel (MBD_CODVERSIONS): Fix duplicated values in variable
* [31973bf] src/mini_buildd/changes.py (Base._upload): Fix superfluous
use of f-string
* [d9a9c80] src/mini_buildd/package.py (port): Use Ls.filter(), not
removed Ls.exists() (partly fixes internal port regression)
* [bcf0292] src/mini_buildd/misc.py: New TmpDir impl && new tmp_dir()
context manager
* [ce9a392] devel: Add 'keep' to profile _debug
* [e3fc0c0] src/mini_buildd/*.py: Drop TemporaryDirectory, use tmp_dir()
instead (fixes "keep" functionality in --debug)
* [362ac45] src/mini_buildd/misc.py: Drop "skip_if_in_debug()": Only one
use case, non-intuitive
* [ef2a0fa] src/mini_buildd/package.py (TemplatePackage): Use prefix
"template-" for tmp dir
* [fafc61f] src/mini_buildd/misc.py (TmpDir.close): rmtree: Use
'onerror=LOG' for error agnostic run
* [78108cf] src/mini_buildd/gnupg.py: Make PublicKeyCache instance of
Daemon, not Singleton (fixes tmp dir leftover)
* [35e8004] devel (_codename): Fix again for updated base-files (fixes
'bookworm' codename detected under sid)
* [0e214ca] devel(test suite): Install all "recommends" and "suggests"
dependencies of all binary packages
* [632760b] devel (mbd_installdeps): Add 'firefox' to pre-installed
packages
* [63e5104] devel (codespell): New exception needed for version 2.2.2-1
* [bf2b95c] testsuite: Add source 'installed-port' (to at least manually
test (internal) porting)
* [deb0d9a] devel (testsuite packages): Automatically check installed-
port's ports
* [dc464f0] testsuite-packages: Upgrade 'installed-port' to non-native
(now catches (internal) port/ftp bug)
* [dee73fa] devel (mbd_service): Simplify to always use ``service`` tool
* [44b9508] devel (mbd_codenames): Add helper to get active codenames
from running mbd
* [78e0e4c] devel (testsuite packages): installed-portext: Only check
for successful port if codename is supported
* [e441a6d] devel (mbd_restart): Simplify code
* [3d2befe] devel (lintian): Drop support for MBD_IGNORE_LINTIAN (use
MBD_SKIP+=" lintian" instead)
* [577622f] changes.py: Move "move_to" method to base class
* [8a6b27b] changes.py (refac): Make _move_to() private && add
move_to_events(), move_to_builds() helper functions
* [488df4f] changes.py (style): Make file_name() method, not property
* [2c49011] changes.py (Base._move_to): Fixup file_path properly (&& add
doc)
* [68f363f] changes.py (cosmetics): Move move_to(), save_as() code
together && doc cosmetics
* [36ed4c6] *.py: Deliver changes objects in event queues, not filename
(fixes internal port regression)
* [0e85f60] ftpd|daemon.py: Use packager and builder queue in
ftp/incoming directly
* [106eb16] changes.py: Drop select() (not used)
* [cbdcdd0] ftpd|changes|daemon.py: Move queue code to changes.py, use
singleton to access queues && fix re-queuing in ftpd
* [519610b] changes.py: Drop create_events=True everywhere we run
move_to_events anyway (fixes possible wrong events path creation on
error)
* [be5e856] builder.py (Build.run_deferred): Drop post move_to_builds()
(this did nothing as we now pre-move to builds on incoming anyway)
* [c09906c] changes.py (Changes.__init__): Drop create_builds option
(not used)
* [57a72df] changes.py (Changes.__init__): Drop create_events= option
(use create_builds|events() methods instead)
* [44444d5] changes.py: Move event handling directly to incoming2changes
(fixes wrong status (500) on various user errors)
* [387373d] ftpd.py (FtpDHandlerMixin.on_disconnect): Fix/update cruft
removal after queuing
* [841169c] devel (bogus-ftp-uploads): Use different names for
reject/invalid test uploads (for better debugging)
* [f4bd571] ftpd.py: Drop all traditional cruft removal && re-queuing
code
* [114f857] ftpd.py: Simplify code, drop incoming helper class
completely
* [94e73ac] daemon.py: Make Daemon thread a PollerThread
* [9950b01] threads.py: EventThread: Integrate event queue instance
* [a3a9814] changes.py (Buildrequest.gen_buildresult): Also copy
"Upload-To" from 'breq to bres'
* [2c48ebd] builder.py (Uploader): Move uploading tasks to its own
thread
* [6cac8b3] daemon.py (Daemon.run_poller): Retry failed uploads
regularly
* [2ae9ba2] builder.py (Build.run_deferred): Drop special cases for
needs_upload|build
* [6d677fe] changes.py (Base.upload_file_path): Generalize 'upload file
path' && fix uploaded() helper
* [4f7453d] devel (mbd_installdeps): Don't depend on firefox (firefox
n/a for bullseye)
* [01bf401] builder.py (Uploader.retry_failed): Be extra cautious
accessing shared 'failed' instance
* [3a40a24] builder.py (Uploader): Make pending buildresult uploads pick
up on restart
-- Stephan Sürken <absurd@debian.org> Sun, 06 Nov 2022 20:48:13 +0100
mini-buildd (1.9.110) experimental; urgency=medium
More testing, doc updates and fixes:
* [d4cc6cd] refactor(models/repository.py): Repository: Replace
'mbd_find_dsc_path' by much simpler 'mbd_dsc_pool_path'
* [6e04339] feature(API): Add API call "debdiff" (&& place resp. buttons
in 'show' for rollbacks)
* [b1cbc36] fix(Ls.__init__): Only add to 'codenames' list if criteria
is matched
* [1ea772f] fix(show.html): Per-repo header: Don't repeat 'source', add
codenames
* [33886c3] doc(API): debdiff: Fix doc types & some minor code
improvents
* [de26cd5] html(show, events): Remove all extra "titles" from api calls
(we rather want to have the doc displayed)
* [36230ed] fix(migrate): (regression) Fix logic code error preventing
rollbacks on migration
* [4495b6a] refactor(reprepro.py): Ls: Simplify 'rollback' computation
(fixes suite order on rollback-only)
* [7bcdff7] refactor(reprepro.py): make match() private
* [eae37d0] refactor(Ls.rollbacks): Add method needed for later
refactoring
* [543aaa4] refactor(Ls._filter): Add method needed for later
refactoring
* [eede872] refactor(reprepro.py): Proper filter() impl, temporary
exists() impl via filter
* [82503b1] Bump debhelper from old 12 to 13.
* [8f1c1bc] Update renamed lintian tag names in lintian overrides.
* [8d935eb] Update standards version to 4.4.1, no changes needed.
* [2596a37] refactor(models/repository.py): Update all exists() calls
not using values w/ filter()
* [2fd5e29] refactor(models/repository.py): Update all exists() calls
that do not really need to use values w/ filter()
* [f640407] refactor(reprepro.py): filter(): Support raise if found
* [16a2a23] refactor(reprepro, repository.py): Update remaining code to
filter(), and remove exists()
* [4d8be45] style(models/repository.py): pkg_show should be pkg_ls
* [1df253a] fix/feature(rollbacks): Avoid having same source/version
multiple times in rollbacks
* [952d8c6] fix(mini-buildd.postinst): Use 'adduser' (not 'addgroup') to
add group to user (fix for fix for Debian bug 664869)
* [2246650] feature(setup/archs): Use 'arch-test' for list of
native/available architectures when installed
-- Stephan Sürken <absurd@debian.org> Sun, 17 Jul 2022 20:11:00 +0200
mini-buildd (1.9.109) experimental; urgency=medium
More testing, doc updates and fixes:
* [899fb29] devel(pylint): Use custom format to support 'severity' w/
generic parsers like emacs compilation mode (enables us to skip over
'locally-disabled')
* [37416f8] doc(roadmap/2.2): Add note about python ``dataclasses``
* [69f32e0] debian/control: Update qemu-user-static dep >= 1:5.2
(available in buster bpo)
* [8aba01a] doc(qemu): Update all qemu doc/hints
* [54b85f6] html(events): Improve table again (make important things
visible right away)
* [bdd40ab] style(port code): Bulk-update for new var/argument naming
conventions
* [80504fd] style(API): Move setup code all down
* [917f603] fix(API ls): Don't include empty repo results
* [432954b] doc(python3-keyring): Pimp dep to >= 17 (buster) && update
all notes/doc/examples
* [2e09342] fix(api/show.html): Wrong DSC path
* [ba3721c] fix(django DirView): Strip leading '/' from URL path (fixes:
any system path would be delivered via ``//any/path`` URI appendix)
* [1594426] devel(files.py): Add "find" including some alternate
approaches
* [9c94b44] reprepro.py (Ls.enrich): Scan and add (list of) changes
files (convenience) (in output of API call 'show')
* [ac0b2bb] api/show.html: Drop extra DSC link && add convenience
link(s) to changes files
* [170c561] html(django messages): Make extra include, and re-add again
in base.html
-- Stephan Sürken <absurd@debian.org> Sun, 19 Jun 2022 16:09:31 +0200
mini-buildd (1.9.108) experimental; urgency=medium
Breaking and fixing some porcelain again to solve runtime issues around
"ls && big repos", and misc other mostly 'user convenience' updates:
* [c0ae68d] fix(call_with_retry): Retry log should be' warning', not
'error'
* [6f96634] doc(keyring-packages): Add tip about urold ``apt-key add``
support (or the lack thereof)
* [1a1367d] refactor(API): Add "show" (formerly "ls") and make "ls"
simple (and fast)
* [e9df3ae] fix(devel): Update to --log-level instead of deprecated
--verbose
* [f510245] refactor(API): Make 'Show' derive from 'Ls'
* [4a87134] fix(api): ls: Move limiter options back
* [6c4b0e2] feature(API): dput_conf: Add support for a local config
snippet
* [e4628be] feature(API): Distribution argument: Add support to get
dist()
* [2871749] style(pylint): Pimp up 'max-bool-expr' to 10
* [c08cb19] refactor(repository): Simplify mbd_parse_dist[str]
methods/functions: Simply two, oo-class functions
* [d42970c] refactor(reprepro): Add new class 'Ls' for (later) use
(merge all needed code here, w/ some doctests)
* [be3a608] refactor(reprepro): Add ls() method (new style, for later
use), mark to-be obsoleted methods
* [7a1ad8f] reafactor(API): Update to new reprepo/ls setup
* [75544f5] reafactor(repository): Update (partly) to new reprepo/ls
setup
* [d93eae5] refactor(api/ls.html): Update to new reprepo/ls setup
* [b3ac0d5] refactor(api/show.html): Update to new reprepo/ls setup
* [48a97a7] refactor(reprepro): exists(): Allow context message string
in 'raise_exception' arg
* [8615d71] refactor(package, repository); Update all find[_in] to new
reprepro/ls style
* [6ac1569] refactor(reprepro): Drop find, find_in, ils (obsoleted)
* [3c3b9e0] style(repository.py): Bulk fix internal vars to match
conventions
* [3f371cd] feature(api): Drop API calls "list" and "find"
* [b9df5f3] style(mini_buildd.js): Fix wording 'API Call' -> 'API call'
* [9505d5e] feature(ls, html): Gather codenames in Ls (as class var) &&
update ls.html to merely have 'codename links' to "show"
* [a5afc44] feature(emacs example mini-buildd.el): Support new option
"add-depends"
* [2e0d6d7] fix(setup, py-argcomplete): Add compat for executable name
change in 2.0.0 (fixes bash-completion bookworm+)
* [d9ca421] devel(html-filter-icons): Add little tool to search for
icons
* [71c5285] fix(repositories/index.html): Add missing per repo "external
doc" link
* [b139586] refactor(guess_codename): Accept (vendor, codename, version)
args, not release object
* [31b6113] doc(API debmirror): Document debmirror bug/behavior not
mirroring contents for *experimenal* suites
* [ba11705] doc(API:debmirror): Fix typo in description
* [112e649] refactor(distro info): Add abstract class, support
mbd_codeversion
* [5cc8706] refactor(dist): Add Codename class (fixes codename ordering)
* [8920346] refactor(dist): Move guess_codeversion() to DistroInfo
* [5a0af97] fix(DistroInfo.mbd_guess_codeversion): Make work for single-
number "version"s
* [ec64739] doc(devel): pylint: Fix hint to configuration
* [e8bfaef] devel(pylint): Drop extra run with 'locally-disabled' only
-- recent pylints seem to behave as expected (i.e., not fail and issue
info logs)
* [ae7ae45] refactor(dist.py): DistroInfo: Rename distro() ->
mbd_vendor() (our naming && prefix)
* [1b34f8d] doc(devel): Add note/issue (pydocstyle not parsable)
* [158e0b6] devel(dist.py): List all codenames on __main__
* [bc9145e] fix(DebianDistroInfo.mbd_codeversion): Make only return
str, not DebianVersion
* [886aa39] refactor(codeversion): Merge/remove redundancy: from Release
file / from DistroInfo
* [0577578] feature(DistroInfo, Codename): Add "cmpversion support"
(fixes Codename sorting for Debian unstable, testing)
* [847699c] fix(Source): Don't fail if Release lacks a "Description"
* [a472638] refactor: Put (optional) DISTRO_INFO into own global dict
* [565f4ce] refactor: Update Codename for generic use && sort Source via
Codeanme
* [1cc3762] fix(Repository.mbd_sorted_distributions): Don't revert sort
(in-sync with Codename sorting)
* [6a36190] doc(Source): Sync __str__() w/ Codename
* [74c33bb] doc/style(*): Rephrase "vendor" -> "origin"
* [5d9de97] refactor(dist.py): Drop mbd_codeversion from DistroInfo
* [2ae13d6] fix(Codename.__eq__): Should use origin,codename, not
origin,version
* [eb9c936] style(setup.cfg, pylint): Drop all 'issue 516 local
workarounds' (in favor of 'good-names workaround' in setup.cfg)
* [c6d3a5a] style(setup.cfg, pylint): [register, urlpatterns] Drop
'django invalid name local workarounds' (in favor of 'good-names
workaround' in setup.cfg)
* [813d77d] fix(builtins): mbd_model_stats: Avoid using "eval"
* [9bb652a] setup.cfg(pylint): Handle 'no-member' false-positives from
gpg && twisted like those from django
* [a8efc7a] setup.cfg(pylint): Handle twisted naming oddity via 'good-
names' in setup.cfg
* [383cfdf] fix(api.py):Show.run: Iterate ls values directly (avoids
pylint except)
* [4c92e03] redactor(dist.py): Simplify/harden Codename
* [2331ca1] refactor(dist.py): Simplify, only supply "codeversion"
function
* [347f78b] doc(devel): Clean up profiles; always add origin archives
for dist selection profiles
* [6f898d3] fix(Source): is_matching_release() ->
check_matching_release(): Is only called once, and there we raise
anyway (enables precise error message)
* [5c55977] refactor(Source): Integrate check_matching_release() init
ReleaseFile.match()
* [c72016e] fix(API setup): Distribution, Chroot: 'archs' defaults
value: Only use host archs actually supported by source
* [11b9d49] fix(Source.Admin.mbd_filter_active_base_sources): Replace
hardcoded 'known origin' list (rather use from setup)
* [66bd4d1] doc(Source): Yet again improve error handling on "no archive
found" (keep all failed w/ exceptions, construct longish exception on
error)
* [2820e06] refactor(base.py): Add pub tool func 'mbd_message' (django
message from exception, special multiline support)
* [2280a88] feature(ExceptionMiddleware): Try to deliver message on
error as well
* [ececb7d] doc(exception): No details: Rather phrase 'no public
details' and add (HTML) hint to daemon log
* [498674c] fix(HTTPError): Make "detail" available as class var
* [a045166] refactor,fix(dist.py): Harden origin_from_setup, and rename
guess_origin
* [b2c43aa] style(dist.py): Fixup code ordering, name "codeversion"
"guess_codeversion" again (as that's what it does, I guess)
* [4b78367] style,doc(mbd_message): Update && 'renice'
* [de954f2] fix(Archive.ReleaseFile): Should raise 404 not 503 if
Release file can't be found
* [eec880f] feature(chroot): Add support to add arbitrary debootstrap
options (Closes: 797592)
* [56355ce] refactor(Chroot.Admin): Remove unused method
'mbd_host_architecture'
* [15bb900] fix(testsuite-packages/installed-options):
deb_build_profiles: Only test for amd64,i386 as in changelog (fixes
false-negative on other archs)
* [49b277f] refactor(dist, source): "native arch(s)": Instead of several
spread-out methods, use NATIVE_ARCH(S) globals in dist.py
* [7e3927e] feature(API setup): Add --chroots-extra-architecture,
--repositories-extra-architectures: Makes non-native archs available
via setup
* [74370af] feature(API setup): Add (limited) support for origin
"PureOS"
-- Stephan Sürken <absurd@debian.org> Sun, 12 Jun 2022 21:54:46 +0200
mini-buildd (1.9.107) experimental; urgency=medium
This release converts mini-buildd to a "new style daemon" (omg).
Besides, lot's of log consolidation, fixes for twisted/python/SSL
-- plus the usual madness:
* [bf0d5da] style(dist.py): Cleanup Ubuntu keys (reorder, rename
"current" -> "2004")
* [3c23f4b] style(dist.py): Cleanup all (non-broken) Ubuntu setups to
have exactly the signatures as of today
* [bb97c05] style(dist.py): Cleanup all (non-broken) Debian setups to
have exactly the signatures as of today
* [3262b09] fix(devel): browser: Update ca-certificates before calling
browser, not 'once always'
* [35fac88] fix(examples/ca-certificates2browser): Cope with multiple
installed mozilla variants
* [5e18d87] fix(twisted workarounds): Only run ssl/non-ssl workarounds
when needed (fixes SSL static delivery)
* [1e51b2f] fix(devel, setupcert): Only create (self-signed) when non-
existent (i.e., drop recreating key every time)
* [dbc20ad] fix(devel): Give DEBEMAIL a default value (else testsuite
might fail on ``gbp dch``)
* [beb5a53] fix/doc(systemcert_workaround): After re-check, enable
workaround based on python using ``libssl3`` or ``libssl1``
* [3449e6c] refacture(systemcert_workaround): Only use where actually
needed (Client.__init__)
* [55b1d1d] fix(twisted): Add error handling for listen() (network)
errors
* [fb6d394] doc(devel): Update and improve usage help
* [319ec53] doc(twisted,squeeze): Remove HTTP error note (tested to be
fixed with "unregister workaround")
* [249c9f7] style(pylint): Pimp up 'max-module-lines' to 2000
* [ec180de] feature(migrate, remove): Add _Ls mixin, and make
migrate/remove re-run Ls (limited to codename) as result
* [0a35844] feature(view): Update APIView.Snippets to support new
CUSTOM_HTML_SNIPPET (migrate, remove)
* [2e35129] feature(html): Make 'plain results' (usually json) available
(for all API call's HTML results)
* [c752c15] refactor(repository): mbd_package_migrate|remove: Purge all
code support to return reprepro output (not needed any more)
* [825cb75] devel(test suite): Add mbd_spamevents check (not run
automatically for now)
* [378aad5] doc(events): Some cosmetics on logging, code comments
* [7680986] fix(twisted): Use own thread pool, adds ability to specify
maxthreads (fixes strange random twisted stall on events spam)
* [dec67d8] devel (spameventsqueue): Spec up, and add to test suite
proper
* [29d1594] refactor(Events): Switch to use twisted's 'errBack' to do
the error handling
* [b9f9968] feature(httpd): Add ability to set 'minthreads' as well
* [13be79a] refactor(config): Add global configs 'MIN_HTTPD_THREADS',
'MAX_HTTPD_THREADS', 'MAX_EVENTS_QUEUE_CLIENTS'
* [8463642] fix(config): Pimp up min/max threads && max events clients:
0,10,100->10,100,70
* [d8a386d] devel(bogus-ftp-upload): Workaround for pyftpd + openssl 3
* [5786f8c] feature(upload options): Add 'add-depends' (like ``sbuild
--add-depends``)
* [9ed1d9a] style(datatables): Pimp up length menu 5,10*,50,All ->
All,10,20*,50 (*=default)
* [070c5ae] doc(exception str repr): Details 1st (HTTP status 2nd)
* [fa7192f] feature(events html): Also show 'retry' button on REJECTED
* [29c810d] fix(logging): setup_console_logging: Drop adding "one char"
log levels (just do it in format string)
* [fd4494f] cli.py (logtest): Add function for internal debug purposes
* [a718e27] fix(pydoctests): Use IGNORE_EXCEPTION_DETAIL f.a. exception
expects (text may change, even externally)
* [ceb9e31] style(pydoctests): Make more readable (call.py, dist.py)
* [79a328c] refactor(mini-buildd): Drop command line option -l,
--loggers
* [48f814e] refactor(cli): Add -l, --log-level (in favor of --quiet,
--verbose)
* [337e25f] feature: Pimp default logging level to 'INFO' (omg)
* [213ca3a] fix(cli): Use correct levels in logtest debug help
* [6aa8ea8] feature(mini-buildd): Convert to "new style daemon" (omg)
(drops ``--foreground`` command line option)
* [dff7f42] feature(mini-buildd): Drop ``--pidfile`` (systemd: not
needed, sysv: with s-s-d) (obsoletes ``python3-daemon`` dependency as
well)
* [10079c4] refactor(twisted): Drop reactor workaround (now we no longer
daemonize)
* [9850341] reafactor(logging): Drop 'setup_console_logging' (cli: must
not use, pydoctests: no need)
* [8778359] refactor(cli): Update and significantly simplify log
handling
* [8c54eaa] feature(cli, log): Drop 'debug addon' from pure console log
* [8245272] refactor(mini-buildd): Drop shm pre-check (only needed (for
better error handling) when daemonizing)
* [5144675] style(log): *.py: Bulk-update all 'info' log messages that
rather should be 'debug'
* [f618420] refactor(log_clone): Move to cli.py (where the other log
code is)
* [58df17d] style(changes): Overwrite __str__() for changes (make one
liner suitable for logging)
* [067dd7f] style(ftpd logs): Only show level >= WARNING (pyftpd has too
many 'info' logs)
* [1ec6b74] fix(cli.py): SystemDHandler: Prefix should not have a space
separator before actual message
* [9db7618] fix(notify log): Skipping mail addresses is not a warning
condition (->info)
* [6054e42] fix(cli): Always log py.warnings (and some cleanups)
-- Stephan Sürken <absurd@debian.org> Sat, 28 May 2022 13:13:55 +0200
mini-buildd (1.9.106) experimental; urgency=medium
More real-life testing, more fixes, more documentation. Adds API call
'debmirror':
* [c9a0dad] fix(mini-buildd-bootstrap-apt): Replace false hardcoded name
* [21e0f52] feat(setup): Add bookworm (testing)
* [f045bbc] devel (bash-completion): Rather use '*' for profile choices
(shellcheck complaint)
* [f164409] feat(devel): Implicitly use the OS (buster, bullseye, ..)
profile
* [f1a5e7a] doc(roadmap): Move debconf (ssl) update to 2.2
* [506a420] devel(mbd_installdeps): Do ``mk-build-deps`` last (needs
devscripts, which was installed after)
* [8b6b797] devel(codespell): Also check ./devel script
* [53cd808] devel(codespell): Remove ignores referer,stati,ser (no
longer needed)
* [e3f941c] devel(codespell): Fix three wrong spellings
* [4993292] refactor(*.py): mbd_get_distribution_string ->
mbd_get_diststr (adhere to our recommended notation, see dist.py)
* [0a3cb88] refactor(): Obsolete redundant mbd_distributions_strings()
(merging with mbd_get_diststr)
* [84eb832] style(css): Pimp up text input fields to 20em
* [e356fce] rafactor(Endpoint): Add scheme() getter
* [398416a] feature(api): Add initial implementation: debmirror
* [4e9b92a] feature(api,debmirror): Add support for option '--suite'
* [bafbdd8] feature(api, sources_list): Make '--rollbacks' behave like
max option (never trigger "out of range" error), and support a
notation for 'all rollbacks' (-1)
* [9d8dd4f] refactor(Rollbacks): Add generic class for '--rollback' arg
(we want to re-use it later for debmirror)
* [08e396b] debian/control (Depends): Pimp debootstrap min version
1.0.126+nmu1~ (support newest 'Ubuntus')
* [85633af] debian/control (Depends): Add 'zstd' (needed to debootstrap
newer "Ubuntus")
* [0cb47c7] devel: Add convenience support to start known browsers with
predefined urls
* [02f8efb] debian/control (Depends): Update reprepro min version to
5.3.0-1.4~ (support "newer Ubuntus" using zstd in packages)
* [c650d21] doc(manual): Add error annotation about unsolved 'S.gpg-
agent.extra-Problem' under buster
* [194c460] refactor(models/repository.py): Reorder methods
* [f16a03e] models/repository.py (mbd_get_diststrs): Add support for
rollbacks
* [3152ca5] api.py (Debmirror): Add support for rollbacks
* [4e5cdb0] refactor(repository.py): get_diststr(): Update variable to
self-imposed naming convention
* [583b9f5] api(debmirror): Add 'Suggests' for 'debmirror' && error
handling for executable existence
* [f9a5eaa] doc(debmirror): Improve description
* [dd790f0] models/repository.py (Repository): Add mbd_json()
(simplified structural representation)
* [c56f3ca] feature(API status): Add --with-repositories (optionally
list repositories on status)
* [d1676bb] rafactor(gnupg.py): Add dedicated exception class
GpgmeVerifyFailed (cleans up some redundancy && osbsoletes indirect
signature logging)
* [78a184e] refactor(gnupg.py): verify_release -> gpgme_verify_release
(be consistent - we already have gpgme_verify)
* [c41830e] gnupg.py (GpgmeVerifyFailed.__init__): Allow signatures to
be None
* [e447afb] fix(gnupg.py): gpgme_verify*(): Make sure GpgmeVerifyFailed
is raised for all gpgme exceptions
* [c5643ce] refactor(models/source.py): New 'ReleaseFile' class
replacing function 'mbd_get_matching_release'
* [5136354] fix(models/source.py): ReleaseFile: raise: Always use our
custom exceptions, not Exception
* [97a597d] fix(models/source.py): Archive.ReleaseFile: Add
'contextlib.closing-support' (close tmp files)
* [27ee2c5] fix(models/source.py): mbd_check(): Use 'closing' on
ReleaseFile + catch only our exceptions for skipping + code cleanups
* [f74587a] refactor(models/source.py): Archive.ReleaseFile.verify:
Return results from gpgme_verify_release
* [e9a1e56] refactor(models/source.py): Source.mbd_get_archive: Support
extra_msg for better error handling
* [7582c73] refactor(gnupg.py): GpgmeVerifyFailed: Add support to
convert list of sigs && code cleanup
* [0fdfaaf] doc(models/source.py): Source.mbd_check: Improve release
file's signatures info and error handling
* [92d1dca] doc(*.py): Fix up a bunch of info logs that should really
rather be debug
-- Stephan Sürken <absurd@debian.org> Sun, 22 May 2022 18:31:41 +0200
mini-buildd (1.9.105) experimental; urgency=medium
More real-life testing, more fixes, more documentation:
* [898c8aa] doc(upload): Upload failure should be an error level log
(not warning)
* [e2e1279] fix(compat): Add compat for old ':::<port>' notation (eases
upgrades, and we claim to fully support them anyway)
* [452bd8b] test(packages): Add test package 'installed-non-free' (test
install to non-main sections)
* [0b45b58] Revert "models/daemon.py (Daemon.mbd_get_archive_origin):
Simplify to 'Mini-Buildd <identity>'."
* [4986451] apt url: Drop location '/static/repositories/', use
'/repositories/' only (again)
* [2621dbe] mini-buildd-apt-bootstrap: Add generic ask() function
* [9a943b3] mini-buildd-apt-bootstrap (cleanup): Don't be interactive
(and some cosmetics)
* [8156a11] mini-buildd-apt-bootstrap: Beautify "check files" output
* [b182f53] mini-buildd-apt-bootstrap: Be quiet on ``apt-get update``
* [2b09fe6] mini-buildd-apt-bootstrap: Support "auto" option (fully
automatic operation)
* [33c3f6b] devel (_test_install): Use m-b-apt-bootstrap in test suite
* [4737ed0] mini-buildd-bootstrap-apt: Rename (from ``m-b-apt-
bootstrap``)
* [3b24937] doc(manual, roadmap): Add ccache expire todo (2.2)
* [e257ad9] feat(setup): Add Ubuntu jammy (22.04)
* [330ee25] fix(twisted): Add 'mbd_producer_workaround()' (fixes blocker
apt update bug)
* [80b23df] debian/control (Depends): gnupg >= 2.2.26 to avoid Debian
bugs #972525 #868550
* [93bab88] fix(httpd.py, mbd_producer_workaround): Rather use
loseConnection()
* [e7d1197] doc(setup blocks): Rename apt-repair->apt-clear and
straighten out doc
* [4112636] feature(html, datatables): Add button to reset user state
* [b6fd8e2] doc(manual/roadmap.rst): Add (raw for now) upgrade guide
(after initial buster upgrade experience)
-- Stephan Sürken <absurd@debian.org> Sun, 08 May 2022 21:15:19 +0200
mini-buildd (1.9.104) experimental; urgency=medium
More real-life testing, more fixes, more documentation:
* [8f11ee3] fix(mini-buildd-self-signed-certificate): remove: Don't fail
if directory does not exist in the 1st place
* [384ac10] fix(css): Move two admin-only values to admin.css (API
button)
* [1c0d906] fix(API power): Don't change Daemon's activation state,
update docs accordingly
* [3591edf] style(API doc): Bulk-remove all trailing periods from class
doc titles
* [c8b0e8a] feat(example ca-certificates2browser): Move code from devel
to (example) script (this might be useful elsewhere, too)
* [a8de340] doc(api): Lector/consolidate doc for all calls
* [478045e] doc(api.py): Pointless endeavor
* [5e6f0d6] refactor(api): Rather use name 'extra_doc' (Source,
Distribution) to not confuse with 'doc'
* [c0efaae] doc,style(api): Separate extra_doc by newlines
* [01b6c7a] doc(doctest): Update doctest to new layout names
(Test->test)
* [04c9a12] fix(pysources): Protect against files with spaces
* [ec13bdf] doc(api.py): Fixup class doc title notation to pointless &&
add additional doctest
* [54e410b] refactor(api, client): Move http_args dict gen code (from
Client) to Call
* [d83a773] fix(call http_args): Only consider given args
* [d8c1b6c] doc(manual, roadmap): Cleanup 2.2 section
* [98d4dd0] doc(manual, roadmap): Clean up 2.0, Open Issues
* [eb0b0f3] style(mini-buildd-backup): Minor notation/doc updates
* [a840332] refactor(mbd_join): Allow more than two parts
* [d7bb4ee] feature(dir HTML): Add direct static link (via icon)
* [4302996] doc(portext): Better error handling when URL is not a DSC
* [5a15d11] doc(portext): Better error handling when URL can't
downloaded
-- Stephan Sürken <absurd@debian.org> Sun, 01 May 2022 20:07:43 +0200
mini-buildd (1.9.103) experimental; urgency=medium
More testing, more fixes, more documentation; updates "setup" html
in django admin:
* [1d9bebf] stlye(html): Misc css/html updates
* [d72dacd] doc(api): --sources-from-vendor-with-all: Update/fix
description
* [181f32e] feat(css): Also setup default width for textarea (same as
for url)
* [838870e] style(css): Sanitize (both notation and values) form input
width (height) setup
* [ca75601] style(css): Use "condensed" notation on all one-liners and
some others
* [6198ded] doc(manual): Rechecked User/Uploader in admin, all seems
file (removes bug admonition)
* [0b38874] doc(manual): Rechecked "events dead lock bug", seems fine
(removes bug admonition)
* [23a8dde] doc(api:setup): --repositories: Fixup doc/names of repo
presets, and make optional (default to "default")
* [78187b1] refactor(api): Use import shortcuts from mini_buildd.dist
* [555c4b0] refactor(html): setup: Don't have api call code twice, just
twist the name
* [016d8e1] doc(html): setup: Drop warning for running daemon (setup
automatically stops daemon before running)
* [f39eb73] html(setup): Show command line as detail only
* [3316419] html(setup): Drop 'show command line' support (api call html
already has this)
* [71b60cf] html(admin css): Switch to external admin.css && fix width
* [48301ec] fix(setup): Presets should nor save or create repositories
* [217fa4a] doc(setup): Drop custom "title" from preset (html) -- else
no doc
* [5d6eda9] rafactor(api): setup: Add 'hr desc', not bool flag to saved
preset getter (simplifies template)
* [38a46bc] fix(api): make preset helper private
* [853f85b] doc(html): Properly label presets in setup HTML
* [703ee1c] doc(manual/roadmap): Add bug admonition: mbd-off on setup()
run
* [5088652] style(html): Update setup presets html in admin
* [2320508] fix(devel): Update to new layout preset names
-- Stephan Sürken <absurd@debian.org> Sun, 24 Apr 2022 22:06:34 +0200
mini-buildd (1.9.102) experimental; urgency=medium
More testing, more fixes, more documentation; integrates "setup" html
into django admin:
* [e790961] refactor(sbuild): Use global for sbuild's "setup.d"
* [3e472a6] doc(buildlog filter): Add (disabled) alternative to display
setup scripts in buildlog TOC
* [5daff34] feat(html, events): Show 'internal_error' of build results
(on FAILED)
* [7f460f4] refactor(thread debug): Move NoLock mock (unused) to threads
* [a1c50f9] fix(events attach): Return events queue from *locked* scope
* [17f023e] devel(testsuite-packages): Only run for one source if given
as arg
* [4f67264] doc(roadmap): Add bug: 'SSL: Sporadic errors reading event
queue'
* [8c62894] style(setup.cfg): Also ignore pydocstyle's 'D415' (omg#2)
* [8a534f5] devel(__init__.py): Add (debug) helper log_stack()
* [22ff691] refactor(gnupg): Move daemon's gnupg as instance to
``Daemon`` (avoids many superfluous gpg calls)
* [1489890] refactor(gnupg): Set/keep 'pub_key[_id]' in GnuPG instances
(avoids more superfluous gpg calls)
* [d527feb] fix(error handling): Move badly placed ``log_exception``
(would strangely log s.th. like 'None: NoneType')
* [22400fa] fix(error handling): Don't use ``log_exception`` in
middleware
* [e8403cd] fix(client login): Add "account null view" for (py) client
login (avoids always triggering the (relative) expensive home view)
* [c6fd575] refactor(html): Add separate include for distribution table
* [7c4d373] fix(repositories view): Show distribution details on proper
subpath only, overview w/ links only else (fixes long load times)
* [10a2ccf] refactor(repositories html): Migrate include back in (not
needed)
* [f22b1b8] refactor(repositories view): Move 'mbd_parse_distribution'
builtin tag's code to view class
* [0c257ed] refactor(setup html): Move extra section ("setup") in admin
oo-table
* [e01a9d3] doc(admonition generator): Also include admonitions from
html templates
* [ea06581] html(setup): Move (html code) to admin
* [35cb5bc] refactor(html): Common 'embed' template for manual && setup
* [e539ddf] fix(js): Do clipboard (and other) init on DOM-ready (make
immune against errors due to script order)
* [c842c14] refactor(js): Move back to separate file
* [88e1e05] Revert "feature(html): js: Add (global) helper variables for
the client's (browser's) date"
* [2309f04] refactor(html): Move popup (div) into separate include
* [a2eebb7] fix(admin html): Use mini-buildd's js and popup (makes setup
api calls functional)
* [17e0a84] style(html, js): Use 'mbd'-prefix for popup ids (be more
consistent)
* [dccfb8f] style(css): For all "mbd-" prefixed classes, remove
"body.mbd" restriction
* [2bb3ea4] style(css): Remove 'mbd-listing" styles - not used
* [84b8693] refactor(html head): Use common include for mbd and admin
(css, js, etc)
* [84361fb] style(css): Remove class "mbd" from body, and all
restrictions in css
* [20862e1] style(css): Notation (some doc) updates
* [e8320ec] refactor(events load): Use itertools and make more efficient
* [d017ab9] style(html): Fixup admin-embedded setup html code
-- Stephan Sürken <absurd@debian.org> Mon, 18 Apr 2022 17:56:03 +0200
mini-buildd (1.9.101) experimental; urgency=medium
More testing, more fixes, more documentation:
* [c4a22a3] doc(admonitions): Update order && display.
* [3d8d61a] doc(admonitions): Use "important", not "attention".
* [331308f] doc(admonitions): Use "attention", not "note".
* [a5d2376] doc(admonitions): Make auto-generator more auto and generate
nicer output
* [f223903] devel(prepare-system): Move sub-functions top-level (i.e.,
make accessible via ``./devel foo``)
* [03d5b6a] devel(setupcert): Improve convenience code for
firefox/chromium cert setup
* [43daad9] devel(setupcert): Always regenerate self-signed cert
* [3880b83] doc,http(source): Remove static "doc missing" extra 404 page
(complacent, elaborate, false-positives ;)
* [c0e6fe6] devel(pyscripts,pymodule,pysources): Avoid leading "./" in
file names
* [f299aae] doc(manual): Get python source files via ``./devel
pysources`` (adds admonitions from scripts)
* [51659ee] doc(source): Update three remaining "fixmes" (pylint) to
admonitions
* [117d34c] devel(pylint): Re-enable 'fixme' check && remove extra check
'pylint-fixme'
* [37feca2] doc(manual): Integrate roadmap (from home page project)
* [82a2c8f] doc(manual): Initial adaptions to roadmap: codespell,
sections
* [ff67440] doc(manual): roadmap.rst: Update all items to admonitions
* [76a2396] doc(manual): roadmap.rst: Phase out various 'things' that
are now obsolete
* [de75d6c] doc(manual): roadmap.rst: Fix rendering f.a. items (needs
space before 'admonition body')
* [07f8b5c] doc(manual): Rather use OrderedDict for automated
admonitions (in therory at least, dict could be unordered)
* [de02d94] doc(manual): Reverse admonition order (most to least
important)
* [f95b8d7] doc(manual): roadmap: Update documentation issue
* [8dac3b7] devel(pydoctests): Fix needed after pysources change
* [f80f3a2] devel(pysources): Move to extra script && use in manual
config (fixes FTBFS)
* [75b042b] devel(debug): Replace conf var MBD_DEBUG by
MBD_EXTRA_OPTIONS && add '_debug' profile
* [fd219ba] doc(source): Update 'ssl workaround doc' to 'attention'
* [a29b4e1] doc(source): Update 'SSL_CERT_FILE workaround doc' to
'attention'
* [4308c75] doc(source): Update 'chroot sudo workaround doc' to
'attention'
* [1cdeea2] doc(source): Adapt 'pycompat attention's notations
* [3113c29] doc(manual,source): Move and update outdated "shm workaround
doc' to compat 'attention' in-code
* [d3b2c4f] doc(source): Add compat attention for 'apt-force-urold'.
* [51b7086] doc(source): sbuild.py: Rather do 'attention' as comment in
(shell) code
* [aab0b9d] doc(source): sbuild.py: Mark 'auto-apt-keys' with compat
attention
* [bd5d01e] doc(source): gnupg.py: Mark 'mystery gnupg bug workaround
doc' as compat error
* [d73211c] doc(source): dist.py: Mark 'ddeb reprepro workaround doc' as
compat error
* [158d004] setup(dist): Re-add squeeze/lenny presets
* [62c311d] setup(squeeze,lenny): Add sbuild blocks 'apt-disable-check-
valid-until', 'apt-force-urold'
* [82e0b8d] html(css): Add template to add mozilla (firefox) tweaks
* [95eda18] fix(apt-force-urold): Fix to make this also work for lenny
* [fc0a8cd] refactor(setup): get_codenames: Implement w/o dict
comprehension - more readable (and faster)
* [aff0556] feature(setup): Add "urold" flag: codenames can be used, but
only if given explicitly. Flag lenny, squeeze
* [fa6c513] refactor(setup): All sbuild blocks: Sync names of created
'apt.conf.d/ files' (use '<NN>mini-buildd-<what>')
* [77525f3] doc(manual): General cleanup of '2.0 open issues' section
* [d7dfef4] doc(source): Updat/fix attention docs
* [c5f6a82] doc(manual): 2.0 issue done: "admonitions: check code
comments for more candidates"
* [47980df] doc(manual): 2.0 issue done: "Middleware exception:
OrderedDict mutated during iteration"
* [eb58898] refactor(setup): Rename urold -> broken.
* [61e6804] refactor,fix(setup): Cleanup "codenames support" code. Make
"broken" codenames accessible again.
* [6dcd93a] refactor(dist,changes): Add constants for sbuild 'config
paths' (removes redundancy cross sbuild+changes)
* [aa27ab5] style(pydocstyle): Ignore D400 "First line should end with a
period" (omg!)
* [06d9bbe] doc(dist): Add (FAQ style) doc "internal meaning of 'LTS'
per vendor"
* [ab4f9a1] doc(setup): Update Ubuntu update note: Keep all LTS + 4 most
recent
* [b9041aa] setup(Ubuntu): Drop 'eoan' (older 2 years and not LTS),
(re-)add 'trusty' LTS (as broken though)
* [161de65] html(events): Show 'cancel' only when ongoing
* [c8b3a32] html(events): Move 'Changes' to 'Version' (drops 'limit
events' view)
* [464ecc0] refactor(setup): Make all previously auto-generated internal
sbuild blocks 'static'
* [2191c2d] devel(pylint): Enable parallel (--jobs=0)
* [86fa3e5] devel(profile): Accept only '_'-prefixed args as profiles,
tunnel all other args (enables 'profiled multiarg calls')
* [c485d8e] setup(absuild blocks): Diverse compat code from auto-apt-
keys
* [184e1f6] setup(sbuild blocks): Drop prefix 'auto-' in names for
(formerly) dynamic scripts
* [01741f9] refactor(setup): Updates for naming, order, diversification,
documentation
* [23c10c8] style(sbuild.py): Improve code readability, non-absolute
imports from 'files'
* [fa08521] devel(profile): Add profile for (currently) "broken" sources
(squeeze, lenny, trusty)
* [591bc9b] doc(manual): Add FAQ how to get search cancel button in
firefox
* [0f9c64c] fix(html,code): Events & Builds views: Filter by "before",
and show latest by default
* [9961d74] html(builds): Add direct link to browse corresponding build
dir for buildogs
* [5ea435a] html(index): Sync page 'design' w/ events, builds
* [0d1414c] feature(static html): Upgrade PlainFilter and allow more
file types to be displayed
* [66a6adc] refactor(setup): Diversify sbuild config blocks
* [73d5f7d] feature(html): Range: Use 'datetime-local' (adds time option
for 'before')
* [c8bc3a1] doc(html): js error alert: Add js exception error string
* [87b4688] feature(html): js: Add (global) helper variables for the
client's (browser's) date
* [5808952] style(events): Reword 'since' to 'after' (since since is not
unambiguous)
* [589a059] refactor(dist): Generate && validate setup's "Sbuild-Setup-
Block"-Lines (protect against typos)
-- Stephan Sürken <absurd@debian.org> Sun, 10 Apr 2022 22:56:41 +0200
mini-buildd (1.9.100) experimental; urgency=medium
More testing, more fixes, more documentation:
* [fe2cb3d] files.py: Dir: Add "enumerate" support (makes setup.d/* work
via run-parts oob).
* [d41ed52] mini_buildd.css: Avoid user menu to go oo-view.
* [c41fe82] base.html: Rm (non-existing) 'mbd-account' class for user
menu.
* [1eb74dd] devel (httpd-benchmark): Sanitize values (so it does not
take ~7m on a full setup).
* [a965216] devel (mbd_profile): Error handling for unexisting profiles
* [24811c4] devel: Update/improve internal developer 'README'.
* [d23c577] devel: Add profile for bullseye; skip upgrading pylint for
buster, just skip.
* [01b1641] examples/mini-buildd/web-mode.el: Add emacs config snippet
example for web-mode.
* [9d9ca6e] sbuild.py (auto-apt-update): Add old apt-key compat handling
for Ubuntu xenial, yakketi.
* [86a3278] testsuite-packages/rejected-malformed-diststr: Add new test
for malformed diststr error handling.
* [f886162] builtins.py: Add mbd_codename filter.
* [bc4ee6e] includes/events.html: Per default, limit 'package ls' to
event's codename.
* [0df7c5e] events.py, events.html: Add human-readable semantics of all
event types.
* [0d6182f] files.py (Path.ifiles): Add support for until (time range).
* [e8089a2] views.py (BuildsView.setup): Rm deprecated (doubled) call to
collect build logs.
* [546d193] views.py, html: Add 'until' (time range) for events/builds.
* [c5e07b1] devel: New profiles, nicer profile names.
* [2bb575b] devel: Consolidate order/enumeration of test cases.
* [7e83dd9] devel: Merge "README part" into --help.
* [af6d3f2] views.py, html: Add explicit HomeView; make 'home' show
whole Events Queue (not just running).
* [251ffe3] devel: static checks: Run codespell 1st.
* [5c83cfc] devel: Update MBD_SKIP support: +Doc, allow short names
(without numbering).
* [7e0bf9a] views.py (BuildsView.setup): Actually support 'until'.
* [861b0b7] events.py (Event): Add special class var "ongoing": Mark
individual event objects.
* [ec294d9] events.py (Queue.mbd_copy): Add thread-safe copy method.
* [4d2ea33] views.py, html: Update home view to safe copy && ongoing
flag.
* [786c400] events.py, *: Update event wording: "running"->"ongoing".
* [0754755] daemon.py, *: Update events wording:
"events_queue"->"events".
* [31d0493] models/daemon.py (Daemon): Use 'show_last_builds' for 'Event
Queue View Size'.
* [e9a6d6b] events.py (Queue.mbd_copy): Fix: Actually use latest
partition, not oldest.
* [ac2218a] sbuild.py (SBuild.run): Fix too-clever code, possibly
writing unknown Sbuild-Status.
* [6d135bb] events.py (Event.strerror): Don't use "OK" on no error, just
empty string.
* [d1222c5] includes/events.html: Put results into event details.
* [d70ec21] models/repository.py (Repository._mbd_package_migrate): Per
default, log events (not vice versa).
* [bdabe15] includes/events.html: datatables, column Events: Explicit
search text (type name) && make searchable.
* [65c0f68] html: Localized dates when using js.
* [ccb5422] views.py, html: Improve 'Event Queue' display: Show sizes,
some explanatory texts.
* [fde1b71] events.html: Add column "ongoing" (so ongoing event can be
filtered via datatables search).
* [e5b4157] builtins.py (mbd_datatable): Use "columns" instead of
"columnsDef"
* [26af7fe] views.py (AccountProfileView.setup): Fix error 500 when
called logged out
* [948b00b] events.html: Fixup "ongoing" column, make 'ongoing, then
date' default ordering.
* [20b9d82] tags/datatable.html: Don't use quoting for config dict keys
* [89e5841] base.html, view.py: Add "max" for range form
* [0d07801] files.py: ifiles(): Simply yield (scandir) entries (not
tuple stamp, filename).
* [79c517f] includes/range_menu.html: Move range menu from base.html to
separate include.
* [ef84535] views.py (mbd_get_range): Add more user-friendly validation
error.
* [0bd2a64] views.py (events, builds): Apply 'max' range parameter
* [754fa4c] misc.py (Datetime): Add support to get aware (UTC) datetime
from isoformat.
* [78b66bb] views.py (TemplateView.mbd_get_range): Simplify (rm 'until')
and fix handling of naive isoformat dates from HTML
* [4a02ac3] devel(html-hack): Avoid running at all when active, offer
removal.
* [3cffc65] mini_buildd.css: Update min|max-width values for inputs.
* [d5d3d76] base.html: Rename block 'page_title'->'titledup'.
* [7d28a04] base.html: Rename block 'section'->'content'.
* [6f27b89] base.html: Rename block 'subtitle'->'tooltip'.
* [c66382f] views.py, html: Update builds view.
* [81de135] base.html: Obsolete block 'menu_c', only using 'menu' now.
* [daadcc2] events|builds/index.html: Update to in-content context menu.
* [1ce02cb] datatable.html: Cosmetic: Re-indent with new web-mode
defaults.
* [e073c06] api/index.html: Fix: Remove stray 'onclick'.
* [5060bfa] package.py (port_ext): Better error handling on non-working
given URL.
* [b0c3ad6] events.html: Re-style event summary.
* [96d0298] events.html: Move built details from "menu" to "event
details".
* [3e40dec] events.py: Remove trailing '.' from type descriptions.
* [cc20e5e] events.html: More display fixes.
* [15807c3] devel: Rename hack-html -> html-hack.
* [724de3f] datatable.html: initComplete(): Move 'class-setter post'
here && add call to columns.adjust().
* [b56814a] html: Update all (data)tables that should be "fullscreen"
with width=100% style.
* [244bc6d] base.html: Add class mbd-nojs (body).
* [7d0e11c] devel: Fix MBD_SKIP support.
-- Stephan Sürken <absurd@debian.org> Sun, 03 Apr 2022 15:30:02 +0200
mini-buildd (1.9.99) experimental; urgency=medium
More testing, more fixes, more documentation:
* [be87836] api.py (List.iarguments): distributions: Default to all
distributions.
* [d238265] models/base.py: Better 'attention support'.
* [b7ca178] daemon.py: Rather use "source" model for repository
attention.
* [7f5b26f] __init__.py: Add helper 'rrpes'.
* [a746e1f] builtins.py (mbd_parse_distribution): Avoid crash/deliver hr
error on build sources generation fail.
* [e2c76cd] html: Merge "chroots" into "builders".
* [d3dfa71] devel: Make MBD_PIPINSTALL conf'able via env.
* [5953526] devel: Convert local pip helpers to "global" tooling.
* [db322cd] devel: Embed 'profile scripts' into devel.
* [f739669] debian/control ([Build-]Depends): Fix: Need to use epoch for
py3-django.
* [fef5dff] devel: Add option to skip tests via MBD_SKIP.
* [c05974d] devel (mbd_prof_localhost_buster): Add profile for buster.
* [e28b1d7] devel (mbd_supertestall): Update to new 'profiles'.
* [349643e] devel: Update quickstart notes.
* [6e672ea] builders/index.html: Move 'remake_chroots' to (remote)
actions.
* [536e2bd] builders/index.html: Simplify chroot table.
* [cf789db] builders/index.html: Move status class (color) to remote
columns only.
* [e6662c6] builders/index.html: Simplify status column.
* [bd692f7] builders/index.html: Simplify remote column.
* [9f0b3d3] builders/index.html: Add 'status' to actions.
* [d2bb83e] builders/index.html: Move chroots table into remotes table
("ourselves").
* [86cc724] builders/index.html: Mv remake_chroot (all) actiion to
chroot table.
* [ee81760] models/base.py, html: attention: Return list, not multiline
str.
* [82397e6] daemon.py: attention: Rm obsoleted "chroots", make builders
use both chroot+remotes.
* [b65147b] repositories/index.html: Use one datatable per dist.
* [ce92e80] builders/index.html: Show 'attention' for chroots.
* [523ea03] builders/index.html: Show 'attention' for remotes.
* [23ead35] models/base.py (StatusModel.Admin.colored_status): Update to
fstrings.
* [be9cd87] models/base.py (StatusModel.Admin.colored_status): Show
'attention'.
* [0d9c4be] builders/index.html: Remove extra chroots table (admin
should suffice).
* [720cfe6] builders/index.html: chroots: Add remake action && move jump
to config (admin) here.
* [5265905] builders/index.html: Fix chroot/remote attention.
* [c3b73f2] repositories/index.html: Cosmetics, add (global)
'attention'.
* [a53155f] gnupg.py: Fix: Rm some leftover html fragments from help
text.
* [0b638f5] manual/administrator.rst: Move auth/ssh wrapper section
down.
* [7f98a91] Internal crontab: Remove "days_until_recheck" workaround
(obsoleted) && add doc section. (Closes: 892837)
* [fee9b92] testsuite-packages/installed-options: Pimp up tests: Also
test for arch-specific options.
* [6ab5f34] Upload Options: Add specific "nocheck" upload test, and
document setting via DEB_BUILD_OPTIONS as example. (Closes: 875920,
877083)
* [74ab123] manual/*.rst: Update to more recent codenames in some
examples.
* [2bfbca8] manual/developer.rst: Add FAQ: Can I access built packages
that have not been installed into the repository? (Closes: 906736)
* [aae3b79] manual/administrator.rst: Refine wording on m-b-debug-build
FAQ. (Closes: 796867)
* [62f75b9] etc/schroot/mini-buildd/fstab-generic: Add note about
special home setups. (Closes: 849544)
* [c9642f4] devel (bash-completion): Rm obsoleted
devel.hostname|localhost commands.
* [ccdf795] sbuild.py (Blocks.extra_option): Fix fstring usage
(cosmetic).
* [9759575] sbuild.py: apt-disable-check-valid-until: Fix missing
quoting && simplify.
* [8578da2] models/base.py (Model.mbd_get_extra_options): Document that
last entry wins.
* [1bd5ee8] dist.py: setup: Update jessie+wheezy to use 'apt-disable-
check-valid-until'.
* [1a98f29] dist.py: setup dict: Drop "produces_ddebs", just go with
extra_options.
* [4afdfce] dist.py: setup dict: Add Ubuntu impish.
* [c78263c] mini-buildd-debug-build: dpkg-source: Using '-x' not '--
extract' to be compatible with older dpkg.
* [ee47126] config.py, html: Cosmetic restructure of main menu.
* [feb3087] mini_buildd.css: Pimp h1 margin and padding.
* [7aeebe3] __init__.py (HTTPError): Fix: Remove obsoleted "detail"
class var, and fixup several wrong usages throughout code.
* [13dece5] events.py (Event.strerror): Better name and simplify.
* [e071f4d] devel: Change profile system (again). Make all bash-
complete-able.
* [97928e0] dist.py: Remove squeeze/lenny presets.
-- Stephan Sürken <absurd@debian.org> Sun, 27 Mar 2022 18:57:41 +0200
mini-buildd (1.9.98) experimental; urgency=medium
'Lost in documentation' release. Focus on in-place model documentation:
* [1fe17a0] mini_buildd.css: Fix margin/padding handling.
* [0fa3ed2] tags/api_arg.html: Fix: Arg header workaround not adapted to
new triple grid.
* [dfeb740] mini_buildd.css: Further simplify and add note for
padding/marging.
* [b03174c] mini_buildd.js: Add user alert on (any) js error (which
would otherwise fail silently for most users)
* [d86de3a] repositories/index.html: Fix typo in snapshot datatables
(fixes js error).
* [4ef91c1] base.html: Embed js error alert code, as 1st js code (really
catch all errors).
* [9cda430] base.html: Embed Clipboard.js init.
* [58b559c] base.html: Embed js cursor setup; obsoletes mbd_init().
* [c4984dc] base.html: Embed js functions.
* [fe6844c] setup, html: Completely remove mini_buildd.js.
* [b08debb] admin/base_site.html: Rather use HTML comment for CSS
workaround note.
* [daaa63d] models/daemon.py: "hostname": Rather use blank default
(obsoleted).
* [9bfa3f5] daemon.py (Daemon.get_title): Fix: Don't use obsoleted
'hostname' field.
* [613d32e] models/daemon.py: Document all remaining fields that
(inescapably) still need a Daemon restart. (Closes: 838393)
* [768919b] models/daemon.py: Just (mis)use "show_last_packages" as
event queue size && deprecate "show_last_builds".
* [0a7101b] models/daemon.py: Re-label "build queue size" to "max
parallel builds".
* [3466ec8] devel (tidy): Update code to be more flexible setting '--
mute' arg (ignore)
* [1caa404] devel (tidy): Add (sphinx) manual pages to tidy check.
* [18150c0] repositories/index.html: Silly typo time again.
* [3e20334] models/daemon.py, manual/developer.rst: Move && update note
about parallel package building to (developer) manual.
* [3c06ac6] daemon.py: Add internal note for deprecated
'custom_hooks_directory' field (doc for new custom event hooks is in
the 'Administrator's Manual') (Closes: 790058)
* [0006bb2] models/daemon.py: Config: Don't show any deprecated fields.
* [6d6f8d2] models/daemon.py: Move key generation/removal note to
'gnupg_template' doc.
* [32f083c] models/base.py: Support to automatically disable/reorder and
get custom help for 'pickled_data' and 'extra_options'.
* [b668148] models/daemon.py: Exclude unused fields
"wait_for_build_results", "keep_build_results".
* [3112a98] models/daemon.py: Add pickled_data help, drop custom
fieldset.
* [b9b5a34] models/base.py: Update/simplify extra_options generic help.
* [5fac59a] models/daemon.py: Add help for extra options (X-Archive-
Origin).
* [1484e40] models/base.py: Auto-embed all field's help in 'pre'.
* [cbcdf68] models/base.py: extra optios help text: may use <> now.
* [bd8b8fe] models/daemon.py: Bulk-Update all help to be plain text.
* [9bea732] ftpd.py: Update ftpd options usage to plaint text.
* [a34103f] devel (pylint-fixme, pylint-locally-disabled): Rather run
later (so we get 'real' errors 1st).
* [0fa04b1] models/chroot.py: Bulk-update for plain text help and new
extra options help.
* [fda579d] models/base.py: Add guard to not update help_text multiple
times (monkey-patch-style)
* [92b474b] models/distribution.py: Bulk-update all help_texts to plain.
* [8f8cdb5] models/distribution.py (Layout): Update to new extra options
doc setup.
* [34d0fc2] models/distribution.py (SuiteOptionInline): Should exclude
extra_options, pickled_data.
* [859b08e] models/distribution.py: Fix leftover <b> in plain text.
* [8e2e4e9] models/distribution.py (Distribution): Update extra options
doc to new style.
* [381c442] models/gnupg.py (GnuPGPublicKey.Admin): No longer need to
exclude pickled_data, extra_options.
* [7e3a61b] models/repository.py: Bulk-update to new plain help texts.
* [eb3749a] models/source.py: Bulk-update to new plain text and extra
options doc setup.
* [f0bc781] accounts/profile/index.html: Fix subscriptions display (was
not updated to 'class var view').
* [2a3f76e] mini_buildd/base.html: User Profile -> Profile (already in
context 'user').
* [c9b31fa] models/chroot.py: Re-add empty Meta/Admin classes (they need
to derive from superclass).
-- Stephan Sürken <absurd@debian.org> Sun, 20 Mar 2022 19:10:05 +0100
mini-buildd (1.9.97) experimental; urgency=medium
Adds tool 'mini-buildd-debug-build' && doc around manually
repeating/debugging failed builds.
Fixes "please consider adding a command to create the helper directory",
thanks to Marc Haber (Closes: #797587).
* [15af23f] sbuild.py: APT_GET: Remove '--option=APT::Install-
Recommends=false' duplication.
* [06b3555] src/mini-buildd-debug-build: Initial version of debug
helper.
* [95720ae] mini-buildd-debug-build: Also accept '-h' for help.
* [868d435] mini-buildd-debug-build: Fix order, don't change anything
before confirmation.
* [c856d3e] mini-buildd-debug-build: Allow <BUILD> arg with trailing
slash.
* [738abc8] mini-buildd-debug-build: Do 'chmod +w' outside chroot.
* [0f5c639] mini-buildd-debug-build: Print info before entering schroot
interactively.
* [8363b30] mini-buildd-debug-build: Rather use explicit DST directory
(guessing from DSC is clumsy).
* [a537ac8] mini-buildd-debug-build: MBD_CODENAME: Compute from breq,
and make configurable via env.
* [de17dd6] manual/developer.rst: Add tip for emacs changelog mode.
* [f73de6e] mini-buildd-debug-build: Avoid build-time values in man
(also for reproducibility).
* [b9e8229] administrator.rst: Add tip for local debugging.
-- Stephan Sürken <absurd@debian.org> Sun, 06 Mar 2022 15:59:34 +0100
mini-buildd (1.9.96) experimental; urgency=medium
More doc updates, tests, fixes:
* [1b4817f] reprepro.py: Remove "show_command" support, log reprepro
calls (to daemon.log).
* [2e49dc8] builtins.py: mbd_api: Use 'verbose' flag to set title/doc.
* [120bbde] mini_buildd.css: Rm button styles for C/R/D (obsoleted --
now icons).
* [3ea2a9f] tags/api_arg.html: On verbose, also add arg doc as pre.
* [7ced168] manual/developer.rst: Replace (redundant) 'Upload Options'
table by hint to apicall doc.
* [ed71809] manual/developer.rst: Use <arch> not <alt> as UO modifier
(there is no other use case).
* [4c98813] manual/developer.rst (via): UO: Fixup deprecated formatingg
&& add extra section.
* [05ecf62] manual/developer.rst: UO section: Move unrelated error to
"Advanced Topics" && structure fixes.
* [3851cda] api.py (Call): Add support to split a call's doc to title
and body.
* [f52c6dc] tags/api_arg.html: Use code, not pre (not allowed inside
span).
* [d6ac05f] devel: hack.html: Add icons path.
* [0c42617] devel (mbd_installdeps): Use --yes for unrelated upgrades as
well.
* [1864924] api.py: Docfix: port, port_ext: Rm (wrong) manual JSON
result help.
* [cb84bd3] mini_buildd.css: API inputs: Pimp min/max width values, and
also include types url,number.
* [043e221] tags/api_arg.html: Emphasize api arg label texts.
* [1e74262] tags/file.html: Rather use 'strong' for title, no 'h2'.
* [2853efa] api.html: Fixup API doc-style again; new 'aaa-grid' && do
mandatory/optional args in a generic way.
* [1165bd2] manual/introduction.rst: Add "About this Manual".
* [ba32489] manual: Rename Introduction->Abstract.
* [424983f] manual/abstract.rst: Conventions: Limit/fix usage && context
of admonitions (to four only).
* [5ef0353] manual/abstract.rst: Add py code doc.
* [acab802] manual: Hack to automate adminition index.
* [6651833] manual/conf.py: admonitions: Sort to workaround
reproducibility issue.
* [2006550] manual/conf.py: admonition hack: Fix paths for subpackages
&& __init__.py.
* [d797c7b] manual: Update path for pydoc: code/mini_buildd/ -> python/.
* [5c908d5] manual/_templates/layout.html: Make logo path absolute (make
always work when using embedded).
* [69ef98e] manual/administrator.rst: Cleanup iteration over all
admonitions.
* [5e97417] manual/administrator.rst: Update disk space tip.
* [a692f7f] manual/administrator.rst: Update installation section.
* [3b698db] manual/*.rst: Bulk-update "tip" format.
* [a827e86] manual/*.rst: Bulk-update "error" format.
* [d508feb] manual/*.rst: Bulk-update "attention" format.
* [ed6325e] manual/consumer.rst: Add tip: upgrade after main version
fix.
* [0ac19f4] debian/README.source: Add previously local "backports"
notes.
* [2079ef2] manual/consumer.rst: Add release2pin table.
* [9f140f1] models/base.py: Fix wrong uri path in action error handling.
* [90a4641] examples/mini-buildd-utils/mini-buildd.el: Initial emacs
support example.
* [f316216] examples/mini-buildd-utils/mini-buildd.el: Move all menu
inside hook.
* [7dc2a83] mini-buildd.el: Update notation.
* [72893d6] mini-buildd.el: Move dist entries to mini-buildd menu; hack
to make at least one entry work.
* [6d2f7f4] mini-buildd.el: lintian: Update to mode.
* [0a5eea8] mini-buildd.el: Call d-c-add-entry first.
* [a977b18] mini-buildd.el: Add autopkgtest, piuparts (ignore).
* [1a08dcc] mini-buildd.el: Update menu texts.
* [8f1c529] mini-buildd.el: Add deb-build-options, deb-build-profiles.
* [cfa9188] mini-buildd.el: Add header comments/doc.
* [70ced70] mini-buildd.el: Get rid of easy-menu.
* [cca2e01] mini-buildd.el: Add global MBD_DISTRIBUTIONS.
* [953bf7b] mini-buildd.el: Get rid of ddist global.
* [5f33121] mini-buildd.el: Extra func to set dist not needed.
* [83d7694] mini-buildd.el: Bugfix: Actually display all dist menu items
(not just the last).
* [0a71879] mini-buildd.el: submenu for distributions.
* [7b14624] mini-buildd.el: Make archives, codenames and suites
configurable.
* [52a1d5c] mini-buildd.el: Fixup handling of distributions global.
* [049b1cc] mini-buildd.el: Update comments.
-- Stephan Sürken <absurd@debian.org> Sun, 27 Feb 2022 13:46:50 +0100
mini-buildd (1.9.95) experimental; urgency=medium
Documentation release: Revamp && update of the (sphinx) manual, and
documentation in general:
* [e72c108] setup.py: Simplify package_data computation && add some
notes.
* [9758377] Rename "doc" -> "manual" (file hierarchy && python).
* [2d3ea00] manual/conf.py: Update to use '"' as primary quoting char
(like the rest of the code).
* [bed2afb] manual/conf.py: Disable sphinx' default 'body_max_width'
limitation (i.e., use full width of display).
* [d119487] manual/conf.py: Use 'html_logo|favicon' configs, drop custom
template.
* [e5979da] base.html: Move "sitemap" link to footer.
* [abe9176] manual/index.html: Add "manual" view (embedded via iframe)
&& add to main menu.
* [79db87c] base.html: Move "homepage" link to footer, "api" to main
menu; drop extra "Documentation" menu.
* [0c27076] setup/index.html: Embed 'admin' into setup view.
* [8bb9ff0] *.py, *.html: Move all menus to "attention" menu (for now).
Drop extra "admin" menu.
* [a00350e] includes/main_menu_item.html: Add generic include for main
menu items.
* [c7eb908] config.py: Split "attention menu" to two "main menus" (left,
right).
* [689a481] setup/index.html: Move presets to menu && improve custom
setup HTML.
* [1a0058f] manual/roadmap.rst: Add roadmap (stub for now).
* [e9605c8] devel: Fixup some forgotten doc->manual moves.
* [06e5833] admin site: Remove dome customizations no longer needed when
embedded.
* [0233ea6] base.html: footer: sitemap/homepgae: Flip order.
* [a83592b] manual/conf.py: Cleanup/reorder.
* [98bfd74] manual/conf.py: Remove "htmlhelp_basename": htmlhelp not
used (and default should be fine anyway).
* [7809843] manual/conf.py: Remove "pygments_style": Default or theme
default should really be fine.
* [72be6c3] manual/conf.py: General updates, notation fixes.
* [d1dbe9a] debian/rules, devel: Use 'sphinx-build' rather than 'python3
-m sphinx'.
* [df0ac62] manual/user.rst: Rm "custom hooks" todo (we now have
documented custom events hooks).
* [62b1476] manual/admin.rst: Update apt key todo/FAQ: Only one apt-key
now needed.
* [0e8481e] schroot.py (Session.close): Update "stale session" comment
to todo.
* [3d38fe6] manual/conf.py: Use (builtin) theme 'bizstyle': Looks ok,
has reasonable style support for admonitions.
* [6b842f8] src/*.py: Update all "todo"s to admonitions.
* [b2433ff] __init__.py: Add two new pycompat hints.
* [644ca56] manual/admin.rst: Update all "todo"s to admonitions.
* [520def3] manual/user.rst: Update all "todo"s to admonitions.
* [08f55fc] manual/todo.rst,conf.py: Remove 'todo' extension completely.
* [e1a94c4] admin/base_site.html: Re-add branding (else, no home link
for login popups).
* [c76ebe6] manual/Makefile: Remove, we don't use it.
* [b412776] manual/08x.README: Add README to explain 08x directory.
* [5b02187] manual/index.rst: Rm 'index', 'search': Already per default
in nav bar or footer, resp.
* [d975530] manual/index.rst: Drop "Special pages", go with only one
TOC.
* [b454525] manual/index.rst: Further simplifications && show depth 2.
* [4e485e9] manual/quickstart.rst: Merge quickstart to admin, user,
glossary.
* [a9ff2bf] manual/glossary.rst: Add list of known admonitions (WIP).
* [18ceb6e] manual: Rename glossary -> conventions.
* [0b0c915] manual/conventions.rst: Add && apply convention for
sections.
* [fa09193] manual/*.rst: Bulk-update new section conventions.
* [482040f] manual/conf.py: Enable extension 'autosectionlabel'.
* [c079413] manual/*.rst: Bulk: Remove all explicit ref-labels &&
replace refs by autosectionlabel-generated.
* [0e0523f] manual/introduction.rst: Update: httpd is now twisted, not
cherrypy.
* [5271281] manual/introduction.rst: Update tracker to
tracker.debian.org.
* [983ab96] manual/introduction.rst: Fix wording on API feature.
* [7434010] manual/introduction.rst: Add note about wake support.
* [daa221b] manual/admin.rst: Update abstract.
* [ba1e7cf] manual/admin.rst: New main section "Installation", merging
all relevant parts.
* [db57ac7] manual/admin.rst: Installation: Updates, wording
improvements.
* [c882862] manual/admin.rst: Quite some bulk space-to-tab action.
* [7f081a6] manual/admin.rst (using): Fix wrong section to quickstart.
* [d48723f] manual/admin.rst: Add new "Setup" section.
* [a63c317] config.py: Add 'homepage' as config.URI.
* [d2fdff2] manual/conf.py: Add automatic support for `<key>`_ links for
all config.URIS with "view" URI.
* [25a0743] devel (mbd_installdeps): Also automatically 'apt-upgrade'
after 'update'.
* [8a460c0] devel (mbd_installdeps): Do upgrades on extra installs
automatically.
* [bd96717] manual/user|admin.rst: Bulk-update all internal links to new
automated `<key>`_ -style.
* [c79da8a] devel (codespell): Update to also check manual/*.rst.
* [420dce3] manual/user|admin.rst: codespell: Fix handful of newly found
wrong spellings.
* [c4a5daa] manual/admin.rst: Fixup section categories (like in the
original).
* [369d451] manual/admin.rst: Put all individual "Model" docs under new
section "Models".
* [62540c4] manual/admin.rst: Move most of the "misc-like" sections to
'Odds & Ends'.
* [483d5b3] manual/admin.rst: Move "Quickstart" -> "Setup/Bootstrap".
* [bdafbeb] manual/admin.rst (using): Merge 'Configuration' section
content into 'Models'.
* [198dda5] manual/conf.py: Add "extlinks" extension && add "debbug"
role.
* [a2614a9] manual/admin,user.rst: Bulk-update all manual "debbug" refs
by new "debbug" role from extlinks.
* [ce9639c] manual/user.rst: Move keyring package bug 'inline'.
* [8d7f0ed] manual/conf.py: Add "_static/custom.css" (empty for now).
* [9a2e120] * manual/conventions.rst: Upodate for subsubsubsub ;).
* [447d7d3] manual/_static/custom.css: Add CSS for root/mbd-styled code
&& add initial convention docs.
* [0e1c6fa] manual/_static/custom.css: Make code hint texts opaque.
* [ceabb4f] manual/user,admin.rst: Bulk-update code-parts (as per new
convention).
* [3329522] * manual/admin.rst: Add "Configuration" section for
"Installation".
* [781fcd7] manual/conf.py: Add role "mbd" for links to local mbd
instance.
* [24157f4] manual/admin.rst: Squeeze out old "wizard" stuff, merging
content to Setup (and Models, where still applicable).
* [7d0b4d1] base.html: [debug]: 'force_escape' seems no longer
needed/worsening with current django.
* [545e5c2] api/index.html: Add support to display one command only.
* [d7a9ea3] tags/api.html: Simplify to use same code for 'unauthorized'.
* [9603ec5] builtins.py: Add 'mbd_api_cls' as standalone tag && rather
use BadRequest for 'unknown command'.
* [29afe64] api.py (Command): Add method title(): Get 1st __doc__ line
for doc purposes.
* [e724b0c] api/index.html: Improve index && standalone HTML.
* [1ee58c4] builtins.py: mbd_api: Add verbose option, use for API
index/call doc.
* [9e8eba7] builtins.py (mbd_api_popup): Simplify -- no need to
redundantly copy all kwargs.
* [2f4017c] manual/conf.py: Add "apicall" role (linking to new dynamic
standalone API call doc page).
* [119e679] manual/admin,user.rst: Bulk-update all mentions of "API
call" to ne "apicall" role.
* [3633f01] manual/conf.py: Rename role "mbd"->"mbdpage" (emebeds into
text more naturally).
* [f2d72d4] manual/user.rst: Save misc initial updates...
* [d2d2dd5] manual: Split "user" manual into "consumer" and "developer"
manuals.
* [c11ac7c] manual/consumer,developer.rst: Initial raw content split.
* [b06ddfc] manual/consumer.rst: Update abstract && structure.
* [0743798] manual/developer.rst: Structural fixup.
* [48ab685] base.html: Add 'sources_list' to footer.
* [0e8aea4] Add util "mini-buildd-apt-bootstrap": Automates archive
keyring bootstrapping.
* [fb5fb4e] manual/conf.py: Add new role "reqdeb".
* [90a8a61] manual/consumer.rst: Initial rewrite for "Setup".
* [f058c89] manual/developer.rst: Move "installation" content to
consumer.
* [a113262] manual/consumer.rst: Updates.
* [8373adf] mini-buildd-apt-bootstrap: Some cosmetic updates.
* [15959fe] mini-buildd-apt-bootstrap: Allow overriding of MBD_CODENAME
and MBD_IDENTITY.
* [b630912] mini-buildd-apt-bootstrap: FIX: Actually use
"$MBD_CODENAME", not sid :).
* [359ebb0] mini-buildd-apt-bootstrap: Ask (with info) before actually
doing it.
* [f4fa927] mini-buildd-apt-bootstrap: Also make MBD_APT_LINE
overwritable.
* [98eef26] manual/consumer.rst: APT boostrap: Add 'insecure'
alternative.
* [045bcbc] mini-buildd-apt-bootstrap: Update scheme: Rather
download/employ key manually 1st, then run safe apt calls.
* [b7d31bd] mini-buildd-apt-bootstrap: Add some dirty compat for
jessie/wheezy/squeeze where we need apt-key add still.
* [e576cbd] mini-buildd-apt-bootstrap: wget: Use --quiet.
* [e4344b3] mini-buildd-apt-bootstrap: Ask twice, give admin chance to
verify files.
* [0b9523f] manual/consumer.rst: APT bootstrap: sync with tool updates.
* [da32c82] manual/consumer.rst: Fixup "Sources" section.
* [a16b3c3] api.py: Add 'command_line_full' (for use in templates): Full
call && 'intelligently' compute user.
* [05d4280] api/base.html: Add "shell" menu item: Quickly grab same call
for "shell" use.
* [593f5b0] manual/developer.rst: dput: Stray note from consumer belongs
here.
* [d380234] manual/consumer.rst: Update Sources, User sections.
* [a0caabd] manual/consumer.rst: Update default layout examples to
bullseye.
* [8b394d8] manual/developer.rst: Update dput section.
* [b7746b1] manual/conf.py: Add support for static HTML manpages.
* [5f5e58b] manual/conf.py: Add new role "mbdcommand".
* [ba7d53d] manual/*.rst: Bulk-update to ":mbdcommand:".
* [fd6b7fe] manual/conf.py: Add "index" of all commands.
* [dc0ecd0] manual/conf.py: Role 'reqdeb' -> 'debpkg'.
* [d9b0899] manual/developer.rst: Update "authorize" section.
* [8c379ee] manual/administrator.rst: Add "ssh wrapper" pseudo section.
* [381c885] manual/developer.rst: Merge 'user upload' to one section.
* [88f4a0a] manual/developer.rst: Update section "Control package build
result".
* [871fd52] manual/developer.rst: Update "managing packages".
* [6ecf6ff] manual/index.rst: Simplify pydoc doctree entry && put last.
* [cb83da7] manual/introduction.rst: Merge conventions into
introduction.
* [ee104f5] manual/introduction.rst: Update main components to debpkg
role.
* [03b9830] manual/introduction.rst: Simplify core compenents.
* [498e6cc] manual/introduction.rst: Update abstract.
* [8cf5d4f] manual/conf.py: Overwrite layout template again, merge
custom.css.
* [bb764ee] manual: Add "commands" and "apicalls" as sidebar menus.
* [805b823] manual/_templates/mbd-sidebar.html: jinja2 reproducibility
workaround (random iteration order).
* [7c417f5] manual/_templates/mbd-sidebar.html: API: Add link to index
page.
* [2fa5646] manual/introduction.rst: Section fixes.
* [642e637] python-client example: Update to curent API and simplify.
* [928e8eb] client.py: Fix missing explicit import of events.
* [dda3020] manual/developer.rst: Update API section && also newly
document Events here.
* [e30a736] manual/consumer.rst: Fix section hierarchy to convention.
* [234a1ce] manual/developer.rst: Move "API and Events" to consumer.
* [7561ab1] manual/developer.rst: Move urold bootstrap bug note to
appropriate bootstrap section.
* [602ed4b] manual/developer.rst: Move aptitude note to (own section) in
consumer.
* [265bd73] manual/developer.rst: Move 'multiple version' note to (own
section) in consumer.
* [6eb6c14] manual/developer.rst: Update abstract && intro.
* [03eabc2] daemon.py: Remove unneeded api import.
* [cb2dd15] api.py: Update Command constructor to take (kw)args only.
* [06faf8b] api.py (Command): Make unknown args lethal, use
from_sloppy() for exceptions.
* [eb5d891] Update wording (doc and code): api.Command -> api.Call.
* [b7a5bc7] api.py: Move presets into Setup call class.
* [cdfe35a] api html: Update clear, reset, paste (args) and doc link
(index) to 'icon'.
* [23529a0] builtins.py, html: Remove 'mbd_icon' templatetag.
* [2814c0d] HTML: Properly support 'alt' for all 'imges'.
* [525aea1] manual, api.py: Sync API and manual sections.
* [c8f0818] api.py (Call): Add "category support" to help structuring
docs.
* [dfbf148] api.py: Add category exceptions (handshake, setuserkey).
* [9da630a] api/index.html: Update to new API categories.
* [94e744b] api.py: Remove all HEADERs (was workaround for categories
only).
* [872fb58] api.py: Consolidate wording for all API call descriptions.
* [a2f81d5] api/ls.html: Add bg colors for suites.
-- Stephan Sürken <absurd@debian.org> Sun, 20 Feb 2022 19:55:48 +0100
mini-buildd (1.9.94) experimental; urgency=medium
(HTML) GUI fixups: Uses 'numix-icon-theme' for (most) icons &&
various other GUI updates and fixes.
Details:
* [5261c73] SVG: Remove unused (home, migrate, remove, wizard).
* [a24ea0d] mini_buildd.css (@keyframes mbd_attention): Use bg colors
only (fix readability/contrast).
* [6d9cb54] setup.py: Prefer '"' for quoting.
* [50ff4f9] setup.py: Use setuptools.find_packages().
* [ccce127] builtins.py: Add 'mbd_icon' tag for upcoming 'icon theme
support' (&& helper in devel to list icon names).
* [0559491] *.html: Bulk-replace 'mbd_img' by 'mbd_icon' -- use naming
oriented on freedesktop's icon naming spec.
* [7ba91df] debian/control|links: Depend on and use 'numix-icon-theme'.
* [600a371] static/*.svg: Remove all custom icons now covered by icon-
theme.
* [6a34c15] events.html: Move version "filter" to version column.
* [9ee4aa1] API html: Move html/page convenience links to
'includes/api/base' (i.e., make available for both, snippet and page
views).
* [4893876] events.html: Fix indenting.
* [b4736b7] events.html: Make source name link to API call ls.
* [aaba672] events.html: Add 'changes' link whenever available (not just
on INSTALLED); drop extra 'ls'.
* [32e1414] api/ls.html: Fix some icon paths && drop changes and
buildlog links (only via events).
* [8635934] builtins.py: Add tag mbd_join (os.path.join).
* [77b3376] dir.html: Fix: Make links work no matter if page was called
w/ trailing '/' or not.
* [418d2b1] includes/events.html: Move json link to timestamp.
* [8813841] base.html: Switch to standard view icon: Rather use
mimetypes/text-html.
* [d7c13e5] api/ls.html: Fix hrefs for DSC links.
* [7f9026e] api/ls.html: Merge "Extra" column into "Menu".
* [a8728de] api/ls.html: Add direct DSC download link (version).
* [43c7ce7] builtins.py: Merge mbd_img to mbd_icon.
* [b2f987a] base.html: Move up/down/switch menu to center.
-- Stephan Sürken <absurd@debian.org> Sun, 16 Jan 2022 14:54:49 +0100
mini-buildd (1.9.93) experimental; urgency=medium
Summary:
* Add tool 'mini-buildd-internals' -- for now, for sbuild setup
blocks only.
* schroot.Session: Debug && fix intermittent schroot snapshot
left-overs.
* portext: Only download verified by default.
* Various minor tests && fixes.
* Code/setup updates for pylint 2.12.2.
Details:
* [dac35be] config.py: Remove (obsoleted) account URI "reset".
* [13b1fa8] config.py: Remove not-needed account URIS logout,
password_change, password_reset.
* [e57362f] package.py (_port): dget: Deny unverified downloads by
default && add allow_unauthenticated option to override.
* [f0c69c5] api.py (PortExt): Add --allow-unauthenticated argument.
* [c411dd5] mini-buildd-api: Fix description (which was still mentioning
events).
* [e61be9d] Add new CLI stub mini-buildd-utils.
* [a3eb56d] files.py (File.run): Add ability to run (script) files.
* [2987277] mini-buildd-utils: Add "sbuild" utility (sbuild setup
blocks).
* [766dbb4] files.py: Move File.run() to custom Script class in m-b-
utils.
* [ebad129] cli.py (CLI.run): Log run error with level=ERROR (not
default=WARNING).
* [6af196d] cli.py (CLI): Optionally allow unknown arguments.
* [0db6c6c] mini-buildd-utils: Remove script run again (does not make
much sense, really).
* [49751f8] sbuild.py: Cleanup naming/descriptions of sbuild blocks.
* [43a65a2] files.py (Script): Move run() and Script class to file.py
after all.
* [42b830d] files.py (File.__str__): Add __str__().
* [e63c5d4] mini-buildd-utils (sbuild): Add --cat && make printing
description default.
* [a334b1e] sbuild.py: apt-disable-check-valid-until: No need to exclude
codenames in-script.
* [af10297] sbuild.py: Some more description wording updates.
* [efcf012] devel (MBD_PIPINSTALL): Skip pip user install of pylint
(2.11.1 now in Debian).
* [139f819] models/distribution.py: Fix: Properly (HTML) escape some
usage() text used in help texts.
* [6df6a27] mini-buildd-utils: sbuild: Print usage() when no sbuild name
is provided.
* [9a80851] Rename mini-buildd-utils -> mini-buildd-internals.
* [2f916f0] mini-buildd-internals: 'sbuild' -> 'sbuild-setup-blocks'.
* [bd592e9] sbuild.py (SetupBlocks.default): Fix: '[apt-]disable-check-
valid-until' should not be default.
* [a3a3330] sbuild.py: setup blocks: Update name/description for various
blocks.
* [43b9a5b] devel.hostname.lts: Helper ('./devel' pre-configured w/
Debian + LTS).
* [072f80c] builder|changes|sbuild.py: Buildresults: Obsolete 'Sbuild-
Retval' (use 'Sbuild-Status' only).
* [92446ed] sbuild.py (SBuild): Buildresult: Add 'Build-Time', 'Package-
Time', 'Space', 'Package-Space' from sbuild summary (informational
only).
* [8b44cc6] builder.py: Remove 'Runtime-Start', 'Runtime-Delta':
Informational only, rather use new sbuild summary values.
* [f732bf0] sbuild.py: Move untar to sbuild.
* [b27fd30] builder.py: Move more 'sbuild context code' to
sbuild.SBuild.
* [3087f72] sbuild.py: Simplify. 'Harden' sbuild status when sbuild run
itself fails.
* [5f51ec3] daemon.py (Daemon): Make 'model' a property.
* [c911ce9] models/repository.py (EmailAddress): Exclude 'pickled_data'
from view.
* [d5fa28e] daemon.py: Skip monkey-patching
'django.conf.settings.DEFAULT_FROM_EMAIL' (FROM is already set
explicitly for all emails we sent).
* [9ab82cf] models/daemon.py (Daemon): 'custom_hooks_directory': Mark
"DEPRECATED", exclude from view (see new 'events hooks').
* [4ae5fce] changes.py [pylint]: Iterate some dicts w/o keys() (new
pylint 2.12.2 warning).
* [569162d] mini-buildd-ssh-uploader-command [pylint]: 'too-many-
statements' no longer needs to be locally disabled.
* [7d9b68f] mini-buildd [pylint]: Various local disablings around
PEP3143 (daemon.py) no longer needed.
* [391419a] src/* [cosmetic]: More consistently use one empty beauty
line after initial top level script/module comments.
* [4676b79] mini-buildd-import-08x [pylint]: Some local disablings
(redefined-outer-name, too-many-branches) no longer needed.
* [6182286] django_settings.py [pylint]: Remove two no longer needed
"no-member" local disablings.
* [48ed473] ftpd.py: [pylint]: Remove no longer needed "no-member" local
disabling.
* [4c731c4] files.py: Scripts: Drop pasting the whole script again &&
simplify banner methods.
* [ea98b38] files.py [pylint]: Remove no longer needed local disabling
(superfluous-parens).
* [30e18fe] sbuild.py [pylint]: Remove no longer needed local disabling
(no-member).
* [11d0fd1] setup.cfg [pylint]: Update "generated-members" (django):
Three no longer needed.
* [e7dc8d1] src/*.py [pylint]: django: Handle various 'no-member' local
disablings via generated-member.
* [57580a1] src/* [pylint]: Avoid local disabling of 'bare-except' using
explicit bare except via BaseException.
* [6a5b66a] net.py (detect_apt_cacher_ng) [pylint]: Rm "broad-except"
local disabling (we have a global exception anyway).
* [10e18b1] misc.py [pylint]: Simplify 'skip_if_debug', avoid
'inconsistent-return-statements'.
* [b4015c9] events.py [pylint]: Remove local disabling of 'too-many-
boolean-expressions', no longer needed.
* [1fff2fe] models/daemon.py [pylint]: Remove local disabling of
'arguments-differ', no longer needed (was false positive).
* [63246d6] values.py: CURRENT_BUILDS: Add comment why we need the
lambda here.
* [2a1ba48] values.py (OnOff): Rather use "ON, OFF" (capitalized) as
values.
* [6a0992a] models/repository.py [pylint]: Remove another unneeded local
disabling.
* [8426db2] models/base.py (StatusModel.Admin.mbd_action_remove):
Simplify code.
* [5664b22] gnupg.py [pylint]: Remove another unneeded local disabling.
* [30c35dc] __init__.py [pylint]: Rename Daemon() -> get_daemon().
* [ec77b8a] models/base.py (StatusModel.Admin.colored_status) [pylint]:
May be a classmethod.
* [725a078] *.py [pylint]: Convert various "no-self-use" methods to
classmethods.
* [b87046b] models/gnupg.py (Builders.add): Use "normal" mbd_check()
method call.
* [05260da] models/gnupg.py (Builders): Use all remote objects (again).
* [1dcb119] call.py (call_with_retry): Fix: Use 'is None' idiom.
* [6c15ef0] schroot.py (Session.close): Retry --end-session (fixes
occasional build fails && session leftovers).
* [628c4bb] builder.py (Build.run_deferred): Simplify, merge build().
* [cfb2cdc] builder.py (Build.run_deferred): Skip updating
'sources.list' in source chroots prior to build.
* [7efb02c] schroot.py, models/chroot.py: Simplify code around
sources.list update (only neded in mbd_check()).
-- Stephan Sürken <absurd@debian.org> Fri, 17 Dec 2021 15:28:44 +0100
mini-buildd (1.9.92) experimental; urgency=medium
Summary ("more things from the roadmap"):
* ftp: Make passive ports configurable.
* chroots: Use schroot sessions.
* django: Internal impl. of (user) registration, drop p-d-registration.
* internal: Create gnupg keyrings on-the fly (another step for #838393).
Details:
* [9812e2f] ftpd.py (FtpD.shutdown): Fix false idiom (use 'is not
None').
* [ae91fa5] ftpd.py (FtpD): Add support to set handler options
(supporting 'passive_ports' only for now).
* [229292f] models/daemon.py (Daemon): Enable previously unsused
ftpd_options for new handler options.
* [970ee35] includes/error.html: Make actual error stick out (header not
'mbd-error', small http description).
* [a63c050] devel (MBD_PIPINSTALL): For now, use pylint from pip (need
2.11.1).
* [03d2aae] devel (mbd_installdeps): Remove obsoleted extra "binary dep
installs" (install via apt already takes care).
* [647c88a] devel (mbd_installdeps): build-deps: Drop updating to newest
found version (via target-release='*').
* [b26cb46] devel (mbd_installdeps): Do build-deps first.
* [8832642] devel (mbd_installdeps): Put all non-build-dep installs in
one call && diff friendly.
* [e0301fa] devel (prepare-system): Run installdeps here (first).
* [9c5065d] devel: Move 'installdeps' code to 'prepare-system'.
* [ec451f2] call.py (Call.log): Support (log) level to be given
explicitly && now default to level "error" for failed runs.
* [7652742] schroot.py: New module, now essentially providing schroot
sessions (can avoid having auto-sessions for each call).
* [d7290f6] call.py (Call.log|check): Run log() when check() fails (&&
remove extra log line from check(), already in constructor).
* [6297e53] builder.py: Move buildlog_file_path var to build() alone.
* [bf06d9d] chroot.py (Chroot.mbd_set_debconf): Also set
DEBIAN_FRONTEND=noninteractive for the config call itself.
* [aae8b45] models/chroot.py: Update mbd_check to schroot.Session.
* [f6f4354] builder.py (Build): Doc: Add note that constructor should
not throw.
* [d0471eb] builder.py (Build.build): Move apt line updater to build()
&& use schroot.Session.
* [d3ae8d7] *.py: Bulk-replace log().check() by check().
* [f3d59cf] django: Add top-down top stub for internal "reset",
"register".
* [b315545] models/chroot.py (Chroot): Remove obsoleted
_mbd_schroot_run() && mv set_debconf to check(), using new
schroot.Session.
* [988fa25] schroot.py (Session): Add raw "call()" method (complementing
run()).
* [77c259d] schroot.py (Session.set_debconf): Don't fail if config can't
be set (workaround for debconf 1.5.78 / sid).
* [7209b1e] devel (mbd_installdeps): Rm *.changes|buildinfo (new
leftovers from mk-build-deps, see https://bugs.debian.org/cgi-
bin/bugreport.cgi?bug=989696).
* [e375ad1] schroot.py (Session.set_debconf): Use run() again (i.e., re-
enable error checking).
* [b14dfe0] profile/index.html: Fix using "section" not "main" block.
* [cef7625] __init__.py, error.html: Add 'HTTPOk' HTTP Error (as means
to convey simple non-error messages).
* [1031b5b] views.py (ExceptionMiddleware.error): Don't log if error is
HTTP_OK.
* [c7023b1] django_settings.py: Add password validators.
* [6d33002] views.py: Implement AccountRegisterView, add && implement
AccountActivateView.
* [56303cb] views.py: Rm AccountResetView (not needed).
* [b03c439] accounts/register/index.html: Fixup register template.
* [80edec7] base.html, config.py: Update uris/names for new
register/reset.
* [b23c89f] debian/control: Remove p-d-registration dep, and remove all
supporting code.
* [205714e] templates: Remove bunch of now-uneeded templates (post p-d-r
removal).
* [7ac637b] call.py (Call.success): Add success() method.
* [9846c93] schroot.py (Session.check_sudo_workaround): Implement using
call() (avoid confusing error log).
* [4e77d8b] api.py: Move 'upload_template_package' helper to package.py
(fix one FIXME ;).
* [7b048da] daemon.py: Keyrings: Add own classes for Remotes/Uploaders
keyrings; move all code to daemon.py.
* [81c9e69] daemon.py: Uploaders/RemotesKeyring classes: Remove (daemon)
model from constructor.
* [44b9c92] *.py: Generate gnupg verification keyrings (Remotes,
Uploaders) on the fly.
* [d888730] models/gnupg.py (Builders): Fix: Consider 'activatable'
remotes only.
* [2a4fc1d] models/source.py (Source.mbd_check): Simplify && fix logging
when archive does not match.
-- Stephan Sürken <absurd@debian.org> Mon, 01 Nov 2021 15:46:09 +0100
mini-buildd (1.9.91) experimental; urgency=medium
Summary:
* remotes: Stabilizing handshake/wake code.
* chroots:
- Add 'remake' convenience support.
- Update base sources list prior to any build.
- prepare: Configure debconf frontend to noninteractive.
Details:
* [588f5ef] api.py (Handshake.run): Add instance URL to handshake
failure message.
* [871a705] models/gnupg.py (Remote.mbd_check): Call status 1st (so wake
is done before handshake) && some minor fixes.
* [048d001] models/gnupg.py (Builders): Rather optionally 'check' (does
wake implicitly) not 'wake'.
* [bd0a1d9] api.py: Handshake: Move to pseudo section "Maintain".
* [efb59f0] api.py: Fix code still using direct import from models.
* [e7b7cd5] models/base.py (mbd_pca_all): Add 'request' arg && support
for optional prior 'remove'.
* [0b3a74d] models/gnupg.py: Simplify chroot key code.
* [5d8d0f6] models/base.py (StatusModel.Admin): Add helper
mbd_actions().
* [1764ecd] models/base.py (StatusModel.Admin): Use mbd_actions() for
'pc', 'pca' and 'pca_all'.
* [54c9ea4] values.py: Add value 'ALL_CHROOTS'.
* [5724077] api.py: Add "remake_chroots"; add resp. support to
builders.html.
* [b1c3023] builtins.py (Css): Add class mapping for django messages.
* [91750d4] includes/api/*.html: (Re)introduce django messages displays
for rendered API results.
* [b6df55a] daemon.py (Stopped): Run code with daemon stopped.
* [a597057] api.py (Setup.run): Use Stopped() on setup run.
* [3268340] api.py (RemakeChroots.run): Use Stopped.
* [4b90364] models/chroot.py (get): Add get() helper.
* [e63c843] models/chroot.py (Chroot.mbd_update_sources_list): Add
separate method to update base apt line.
* [824338d] builder.py (Build.__init__): Always update base apt line in
source chroot prior to build.
* [775ce8c] models/chroot.py (Chroot._mbd_schroot_run): Remove
DEBIAN_FRONTEND=interactive (as this does not actually end up in
chroot call).
* [d0ce548] models/chroot.py (prepare): Globally configure debconf
frontend to noninteractive.
* [cfc0fc6] sbuild.py, chroot.py: Use same apt-get base call.
* [608b0ff] builder.py, sbuild.py: Update to more congruent use of
breq.build_path.
* [6684463] changes,sbuild,chroots.py: Consolidate schroot name
generator.
* [7dd06e2] error.html: Use phrase (not description) for title && other
minor changes.
* [b8084bb] models/gnupg.py (Remote.mbd_get_status): Error message: Add
convenience hint when wake command is not configured.
-- Stephan Sürken <absurd@debian.org> Sun, 17 Oct 2021 16:58:02 +0200
mini-buildd (1.9.90) experimental; urgency=medium
Summary:
* Make work for django 3.2 (now compatible 2.2-3.2).
* New structure for internal store dirs "events" and "builds".
* New "setup" API call (replacing "wizards"), now including some
maintenance capabilities.
* Quite a lot of testing && micro changes, especially for the WEB UI.
Details:
* [bf04c89] base.html: api, doc, admin links: complete via config.
* [255261a] config.py: Mv all "accounts" uris to config.
* [0c05fdd] config.py, fstab: Just use one directory ('var/shared': to
be shared with chroots). Replaces "var/spool", "var/chroots-libdir".
* [7a757d5] config.py: Update id "spool" to "builds" (under new
'var/share').
* [bc1c2f6] config.py: Renaming "chroots_lib"->"libdir".
* [389745b] config.py: Fix some "acounts" uris: Should be relative.
* [dfdc54d] urls.py: Fix: Use config for account profile, not hardcoded.
* [0866407] httpd.py (HttpD._add_static_route): Support url hierarchy.
* [63c3969] config.py: (Temporary) fix for static compat log.
* [6650c4a] config.py: Cease using "home.html", always use "index.html"
(as default template).
* [67293a7] snippets/events.html: Fix event log links.
* [c74a4fa] devel (restart): Give up after 5 tries to call status (don't
loop forever on error).
* [0e4c565] django_settings.py (configure): Fix: Don't hardcode
STATIC_URL.
* [41a248b] api_view/show.html: Fix wrong mbd_uri call.
* [d4005a4] views.py (ExceptionMiddleware.__error): Log middleware
exceptions (else no chance to debug template errors).
* [7a2a02c] *.html: Various get -> getabs fixes ;(...
* [8192ccc] config.py: Rename "events-log" "events" (uri && dir).
* [de0bf01] events/log.html: Fix static link.
* [b14448b] models/repository.py (Repository.mbd_get_apt_line): Fix: Use
URIS config for repo url.
* [dc3d34d] devel: Update tidy test.
* [be14c68] config.py: Just use "attach" for event attach location.
* [d6d4b7f] httpd.py (FileResource): Move "doc missing" support to
FileResource.
* [3d63fcd] httpd.py (HttpD): Generalize route support (so we can add
events the same way).
* [c318c12] changes.py: Add "timecode" support: Once generated in
Upload, propagated through to buildrequest/result.
* [1b4032b] builder.py: Don't remove build dir port-building.
* [65d779e] packager.py (Packager): Fix: Log exception on unexpected
fail.
* [bc04a5b] views.py (API.dispatch): Fix: Log exception when api call
fails.
* [3cae7ec] events.py (Event.from_changes): Add timecode from changes to
events.
* [af570de] changes.py, packager.py: Fix "move_to_pkglog": Dump special
treatment for rejected/installed && any purge action.
* [e8c3699] builder.py (Build.run_deferred): With purging removed, dump
clean() and just remove buildrequest directly.
* [2f91ea4] changes.py: Upgrade LogPath implementation-
* [e5ca5ca] changes.py (Changes.get_spool_dir): Now obsolete, removed.
* [7c37202] changes.py (Changes): Remove "spool_hash" support: No longer
needed.
* [c83d629] net.py (reactor): Comment some debug logs (occur too often,
even for debug).
* [857fe6a] builder.py (Build.build): Remove safeguard code to remove
"live buildlog" due to possibly same sha1sum (we use timecode now).
* [6c4a0e0] config.py: Move 'static options' to config (and fully
automate static routes).
* [f6f04f1] config.py: Add Uris for "builds" (analog to "events").
* [52206aa] config.py (Home.__init__): STATIC, DOC global resources no
longer needed.
* [871c0ea] config.py: Resource, Home -> Route, Routes.
* [bf92fdf] httpd.py: Add custom directory indexer: Home, "up",
automated "view" link.
* [ef42ff2] base.html: Main menu: Add events, repositories and builds
(static) links.
* [d9641b1] views.py: Rename "buildlog" view "plain".
* [74e5350] views.py: New generic EventsView.
* [5db086d] views.py: Update/fix PlainView to work w/ events.
* [ab3f111] views.py: Rm obsoleted EventLog views.
* [a0fa305] urls.py: builds: Add buildlog view.
* [51d89b2] urls.py: Fix: Give route str ids only (ROUTES may not be
configured at import time).
* [79ea4ab] events|plain.html: block title should not have html tags.
* [298d284] builder.py: Remove extra "live buildlog" support (we now
just use 'builds' dir).
* [7151b1a] httpd.py: Allow multiple static routes (for compat routes).
* [570196f] config.py: Put all "static" routes (i.e., handled by httpd
directly) below '/static/' (avoids uri pollution / possible conflicts
with django apps).
* [0309ee4] config.py: Introduce StaticUri: Fix repetition of static
prefix && fix option handling.
* [a558d53] httpd.py (DirectoryLister.mbd_header): Use
StaticUri.uri2view to convert to view uri in directory listing hack.
* [f5d849b] config.py: Remove obsoleted "buildlogs" route.
* [b7ece38] packager.py (Package.auto_ports): Add log_exeptionif
auto_port fails && protect erro handling.-
* [c9e9ab9] config.py: Compat: Add "/repositories/" compatibility route.
* [920ae0f] config.py: Add "log_v10x" compat URI.
* [725da8c] changes.py (Changes): Get rid of extra properties:
file_name, file_path.
* [d04a3cf] changes.py: Get rid of superfluous is_new() method.
* [51efe1b] changes.py: Create path only when needed && simplify save().
* [60ac468] changes.py (Changes): Make file_name + is_new properties
(prepare for file_path to be None).
* [a04eb8f] changes.py (Changes): Allow initialization via dict.
* [dcd0c40] events.py: Log via logchanges() only, and with actual
'Changes' objects.
* [54b136d] config.py (StaticUri): Make options with kwargs.
* [e213198] httpd.py: Directory listing: Put "up" button before
directory (so it does not move).
* [6a335f9] snippets/repositories.html: Put old-style (per repo!) compat
link to repositories, not events.
* [535332b] snippets/repositories.html: Only one "browse repo" link (no
need for separate dist/ and pool/ links).
* [09ba836] config.py (StaticUri): Regex: Auto-prepend uri to regex &&
fix repository regex (i.e., allow conf/, db/ down in the tree).
* [42f1c20] config|httpd.py: Compile regex early (StaticUri), and don't
call at all if not given.
* [181c14b] httpd.py (FileResource): Use (one) dict for options && put
defaults & 'docs' to config.
* [e69800e] config.py: Rename option "with_cache" -> "cache_ttl" (and
support configuting the actual TTL (max-age) value).
* [4f4bedf] includes/mbd_events.html: Don't display "migrate", "remove"
on events page.
* [a4171f9] includes/mbd_events.html: Always show events link.
* [9379b09] templates/includes/mbd_sbuild_status.html: Remove newline at
EOF (make mbd_sbuild_status tag really spaceless).
* [85fbadf] templates/includes/mbd_events.html: Move crucial info to
'Details' only, remove redundancies.
* [04c6634] events.py (Event): Simplify extra_info() -> error(): Not
used any more.
* [596bab4] events.html: Use "All" as title if path is empty && add "up"
link.
* [e951e93] changes.py (DebianFileName): New class -- upcoming one-stop
for all debian file names.
* [a5040a5] changes.py (Changes): New precondition: Any object must
already have Source, Version, Distribution.
* [f81a67c] changes.py (Changes): Add "dfn" (DebianFileName) class var
(possible w/ new precondition).
* [4e86187] changes.py: Obsolete gen_changes_file_name, gen_file_name,
gen_dsc_file_name, dsc_name (all handled by DebianFileName now).
* [26c7618] changes.py: Obsolete get_buildlog_name (handled by
DebianFileName now).
* [791b46d] changes.py (Changes): Rename dsc_file_name -> dsc_file_path,
and un-property it.
* [2bb9af9] includes/mbd_events.html: Add static (browse) Events link.
* [40c1cab] changes.py (DebianFileName): Update to one generig generator
method (gen), and fixup json type.
* [15fb0b1] events.py (Event.save): Update to use DebianFileName.
* [dae6ed0] changes.py (DebianFileName): Do apdxes w/o leading slash.
* [e2d6884] devel: Add "fishy-words" test (just output, don't fail).
* [6098b30] files.py: Add 'Tar' helper class.
* [3136f94] changes.py (gen_buildrequests): Use DSC and its files for
buildrequest tar (instead of excluding from uploaded changes).
* [1732203] changes.py (Changes): Use files.Tar for tar, untar && remove
obsoleted functionality.
* [7a9a1f6] includes/mbd_events.html: Always show error in summary.
* [bd9e08c] repository.py: Fix: Don't log MIGRATE event on error-
rollback (due to failed binary install).
* [fc6a109] changes.py (Changes): Add get_files_path helper.
* [5bc9be0] config.py (Uri.getabs): Guess if uri is dir, and append "/"
in that case.
* [47c010c] mini_buildd.js: Add mbd_event (test code only).
* [fcee1dd] mini_buildd.js: Add some missing 'EOL-semicolons'.
* [7815d34] urls.py: api_view/, not api_view.
* [24d1570] doc: Don't use mini-build.css, fix logo paths to use twisted
static, and remove mini-buildd's static files.
* [6c7f6d7] devel (MBD_CODEVERSION): Fix bullseye: ~BULLSEYE, not 11
(still not released yet).
* [dabd18c] config.py: Rename 'static/events' -> 'static/events.attach'
(better name, and marks it "non-dir" for uris).
* [f2f0c66] events.py: Add new events: BUILDING and PACKAGING (to
eventually replace packaging/building display support).
* [78811e1] html: Remove 'packaging', 'building': Events only.
* [8a61b77] base.html: 'Events' not needed in header menu.
* [fd73331] *.html: Make all snippets (except events) normal templates.
* [175f07f] index.html: 'Un-snippet' events. Events are just on the
index page now (autoreload yourself if needed ;).
* [3231c64] mini_buildd.js: Rm all snippet-related code.
* [a6320be] includes/mbd_snippet.html: Rm, no longer used.
* [87801ec] mini_buildd.css: Rm snippet-related css code.
* [8b130fa] builtins.py: Rm mbd_snippet and mbd_next.
* [5114e65] changes.py: Move DebianFileName to 'files' module.
* [f63bdf9] changes.py: Mv *LogPath, Log to module "files".
* [0cc2622] config.py: Mv "Path" to module "files".
* [ae767e6] includes/mbd_events.html: POC: Try to prevent table
'changing design' after page/script load is complete.
* [c28749d] builtins.py: Generalize/simplify datatables javascript code
via template tag.
* [a18df9e] devel: Add "compat.*only" to fishy words.
* [ad3feae] files.py (Path): "merge" (sort-of) functionality of LogPath
into Path.
* [fb01495] files.py: Replace obsoleted "LogPath" by Path.
* [2b45f65] setup.cfg (max_line_length): Sync w/ prospector value.
* [2d5e6ad] changes.py (Changes): Temporary fix for temporary
get_buildlog_uri.
* [2418622] includes/mbd_events.html: Fix for events view uris: Use sub,
not path.
* [8805f2c] files.py: Update EventsPath to be used in events view.
* [4e2f3bd] models/repository.py (Repository.mbd_get_dsc_path): Simplify
code (after Path update).
* [288294e] files.py (Log): Rm onsolete Log class (and temporarily
comment/mark api call "retry").
* [e0af21d] devel: Help the elderly to better find errors by unasked-for
ridiculous terminal log eye-candy.
* [2a88e31] devel: Don't fail if tput fails.
* [05ff676] events.py (Event.save): Fix file_path for type BUILDING
(missing arch).
* [b034454] packager.py: Log PACKAGING event _before_ uploading
buildrequests -- else BUILDING events may be logged first if building
is on the same instance.
* [3eae9f5] events.py: Events: Add "running": Only PACKAGING/BUILDING
events that have not finished.
* [0c795da] mini_buildd/index.html: Only show "running" events on index
page.
* [743134f] misc.py (measure): Helper to log run time of functions (dev
only).
* [f851fe9] events.py (Events.log): Use only one method to log (events).
* [49ec769] devel: fishy-words: Add "deprecated".
* [17df869] mbd_events.html: Add microseconds to datatables timestamp
'data-order' (fixes sorting for events within same second).
* [d73acf4] misc.py (load_json): Add helper.
* [8d6aaee] files|daemon.py: Get events data on startup from events
directory (making 'pickled_data' workaround now completely unused).
* [3a68a91] files.py (Path.expire): Add "expire support" for Path.
* [6038ff8] daemon.py: Use Path.expire for 'expire cronjobs', and use
genrically expire 'builds' and 'events' paths.
* [5e55e5e] config.py: Make "log" URIS non-depcrecated again (deprecate
1.0.x compat uri only).
* [b33a2b6] httpd.py (HttpD._add_route): Use config.Uri (not plain str)
as argument.
* [f55e897] httpd.py (FileResource): Use Path, Uri objects as arguments.
* [f805b66] httpd.py (FileResource): Set 'defaultType' per constructor.
* [515f762] config.py (Route): Make 'uris' class var "never-none" (but
empty dict).
* [81ba6d4] httpd.py (HttpD.__init__): Actually loop over ROUTES to add
routes (simplifes code).
* [a08d027] config.py (StaticUri): Get rid of the implicit prefix (in
the end, it does make things more confusing).
* [d3533fd] config.py (Uri): Merge StaticUri into Uri (we want to use
options for both later).
* [6d19b38] config.py (Uri): Just use std pyway for options (no need for
extra options dict any more).
* [32872ca] config.py: Fix repositories compat path.
* [be1382b] config.py (Auth): Mv "auth" support code here from api.py
(so it can be used anywhere).
* [8c87101] views.py (context): Add pydoc.
* [f4ed52a] views.py: Update class based views to simply override get(),
not get_context_data().
* [bbb73cc] config.py (Uri): Add "auth" to options.
* [875f65b] config.py (Auth): Add check() (does throw on unauthorized).
* [604705a] httpd.py (FileResource): Add "auth" support.
* [2cd86e1] config.py (Auth.auth_err): Allow special case (user=None,
auth=NONE).
* [a3601e2] base.html: Generate all uri links from all routes to menu.
* [5b655d5] config.py (Uri): Update methods to naming scheme similar to
Path (mark compat methods).
* [d60ed69] views.py (API.dispatch): Update to auth.check().
* [0ffef65] config.py: Route 'log': Add (staff-protected) uris.
* [903e86a] httpd.py (FileResource.getChild): Add better (but still
secure) regex-does-not-match error page.
* [8052af2] config.py: Route "log": Rm 'static_v10x' compat uri (this
does not really work w/ twisted routes, and is not really needed).
* [c1b33ac] config.py: "repositories" uris: Use 'static_v10x', not
'static-v10x' (keep it accessible in templates).
* [a683fcf] django_settings.py: Strip down context_processors to django
(2.2.20) defaults.
* [46046e0] base.html: Rather use URIS (not ROUTES) for "site map".
* [2a3d338] config.py: Fixup URIS and ROUTES ordering.
* [d4efd1b] files.py: Mv EventsPath.uri_static to Routes.static_uri.
* [b554904] views.py (RouteView): New view (will eventually do all views
for configured ROUTES).
* [0435398] views.py: Switch to RouteView for builds and events
(obsoletes PlainView, EventsView).
* [d02faa8] views.py: RouteView: Add general tpl "route.html" (already
replaceing "builds.html" and "events.html"; but prefering specific
still).
* [f6bb222] views.py (RouteView): Add dirs && files (browsing).
* [3fec99b] views.py: RouteView: Rename "items"->"entries" (avoids
hickup when django resolves to dict.items()).
* [56e5e44] config.py (Uri.getabs): Update all code to new abs_join, and
remove.
* [7dd494c] config.py (Uri.url): Update all code to new url_join, and
remove.
* [e3b8603] mini_buildd/index.html: "running" include: Update to
"entries".
* [f8dc4d6] config.py (Uri.get): Update all code to new join, and
remove.
* [80d09bb] files.py (Path.get): Update all code to new join, and
remove.
* [01530bd] mini_buildd/route.html: Don't use "tiny" (tidy error, not
html 5 (?)).
* [99e3c7a] config.py: Add "menu" Uri option, add "sitemap" and auto-
produce menu.
* [cabba91] mini_buildd/plain.html: Rm, no longer needed.
* [98090cf] views.py (RouteView): Add ".log" to extension list (to show
"plain", for log/*).
* [fa7a78c] includes/mbd_events.html: Rm extra (non-script) css include
(was only needed for snippet support).
* [54eb265] includes/mbd_datatable.html: Auto-hide table while setting
up (avoids "table flicker").
* [3f5971a] *.html: Set mbd_datatables inside the table tag (i.e., avoid
"table-flicker" w/o breaking non-javascript browsers).
* [258618e] config.py: Minor menu re-order.
* [31ded8b] views.py: "chroots": Update to generic "route.html".
* [8a61f53] views.py: "repositories": Update to generic "route.html".
* [4adf0a8] views.py: "remotes": Update to generic "route.html".
* [1f96d77] urls.py: Fix: Special routes must come 1st.
* [3a7204d] views.py: "crontab": Update to generic "route.html".
* [c38b87c] sitemap.html: Upgrade design from utterly unreadable to
ugly.
* [d24e8d8] config.py: repositoreis, chroot, remotes, crontab: Update to
dir-based uri.
* [b965c30] devel (tidy): Mute TAG_NOT_ALLOWED_IN: Cries about "<script>
isn't allowed in <table>", but this isn't true for HTML5 afaik. And me
wants!
* [a06dbc7] api.py: Rm "logcat" (can now be viewed as superuser via
browser only).
* [c8adf3e] devel: shapshot version: Make dch fast for long stints (use
only last couple commits).
* [11a213b] misc.py (timecode): Make it work for any given stamp, not
now only.
* [cda2bca] *.py: Fix handful of literal "utf.*8" (instead of config)
uses.
* [3845480] files.py: Missing (explicit) import.
* [920ec08] cron.py: Make cron status persistent (log 20 runs).
* [a27aaa3] mini_buildd.css: lightblue -> mediumslateblue (much better
contrast).
* [fb3ad44] cron.py (_Job.readlog): Fix: We need to strip lines.
* [13a64be] index.html: Add initial "problem indicator" block (crontab
only for now).
* [4a49623] index.html: Rm event links (are in main menu already now).
* [1d999a0] __init__.py (open_utf8): Move to 'files' module.
* [0c759d6] httpd.py (DirectoryLister.render): bytes() was missing
encoder.
* [0eb595f] urls.py: Properly order account profile route.
* [623ff16] config.py: Update "sitemap" to "dir URI" && RouteView.
* [37b86ed] urls.py: extra "section" for API routes.
* [03173dd] views.py (RouteView): Use standard (non-re) <path> in
urls.py, do parsing in view.
* [bc5fe37] config.py: Update "home" uri to dir based.
* [f69a288] views.py (API, APIView): Override get(), not dispatch().
* [f1b9bef] views.py (RouteView): Rather use TemplateReponse directly,
not shortcut.
* [0953aed] config.py: Update "api_view" to "dir URI".
* [3b798c6] views.py: Merge Api + APIView classes; 'api/' as generic uri
(drop 'api_view/').
* [df6500d] views.py (APIView): Don't use class var for api_cmd (and
remove all pylint ignores).
* [f3dcf40] views.py: Eliminate PathView.
* [91e73ba] devel (tidy): Update check to test all (public django) uris.
* [fc90c2c] mbd_repositories.html: Fix some tidy errors.
* [44faa8b] config.py: Get rid of extra "api" uri.
* [ae33a70] config|files.py: Uri|Path: Add __str__() (similar to
pathlib.Path).
* [63930a1] config.py: Make all (dir) uris natively have trailing
slashes.
* [695f40b] config.py: Make all (dir) uris natively have leading
slashes.
* [c619bea] views.py (APIView.get): Fix template names (html view).
* [76e1955] mini_buildd.js: Fix api uri (trailing slash).
* [993fdd5] urls.py: Completely abandon any hardcoded paths (all from
config instead).
* [c3d0cac] config.py (Auth.test): Test method to be used w/ django
later.
* [29c4e61] urls|views.py: RouteView: Do auth automatically (as per
config.py) and via django (as per user_passes_test).
* [7569c4f] views.py (APIView): Fix error response in when output="html"
(to html error, not json).
* [a9c7b60] views.py: Mv 'api index' to RoutesView.
* [25b5e88] builtins.py (mbd_api): Default action to 'html' (not 'ajax')
for now.
* [663399e] api.py (Command): Add helper uri(): (Upcoming) api command
uri.
* [5330629] urls.py: APIView: Give each call its own uri ('/api/<cmd>/')
&& do auth automatically (as per config.py) and via django (as per
user_passes_test).
* [a077ae0] mini_buildd.js: Update to new API uris.
* [f763652] client.py (Client.api): Update to new API uri.
* [c0d66bb] mbd_api_submit.html: Don't disable command on auth_err (now,
django will do auto-login).
* [df50a3a] mini_buildd.js: aoi call: Add try/catch on result handling
(catch unexpected errors).
* [8fb932c] mbd_api.html: Update to new API uri.
* [3879fdc] api: Remove support for "command" parameter (add command
class directly as view parameter).
* [0e9cc0b] views.py: APIView: Use django decorator 'require.GET', rm
obsolete index support && simplify code.
* [26224b6] views.py: RouteView: Override get_contex_data() only (now we
do auth elsewhere).
* [95402d1] views.py (RouteView): get_context_data: Use (known) args
directly, not kwargs.
* [a9920f9] views.py (APIView): get: Use (known) args directly, not
args, kwargs.
* [189e366] views.py (AccountProfileView): Fix impl order.
* [dcd1bf1] Rename all include files for builtin tags
(mbd_tag_<name>.html), and remove API extra handling in RouteView.
* [dc314e3] files.py (load_json): Move here from misc.py.
* [dcc9459] files.py (find): Add recursive 'find' based on os.scandir().
* [d66816c] files.py (EventsPath.files): Use find, not glob (factor ~2
speed gain in our test setup).
* [a19f0fe] httpd.py: Directory listings: Fix home uri (just use / now).
* [6edaddf] files.py (EventsPath): Limit methods to events(), drop
files(), jsons() (not needed).
* [977382e] config.py (Routes): Allow "None" path for Route, and allow
for more diversified route adding in Routes.
* [2635ccf] config.py: remotes, sitemap, api: Make these "None-Paths"
(fixes unneeded directory creation).
* [76650f0] config.py, *.py: "events": Use EventsPath in ROUTES, and
always use that very object (instead of creating new 'Path's).
* [6c6db8c] files.py (load_json): Rm, not used any more.
* [67d1736] events.py (Event): Add LRU cache for events load from file
path (via functools).
* [29bed7a] misc.py (datetime_parse_since): Move here to other datetime
tools (from events cli).
* [fb1267a] misc.py: Put all datetime support functions in own class
(somewhat nicer at least).
* [0880ea9] setup.py: More diff-friendly notation.
* [42001d4] misc.py: Date parsing: Switch from datutil to dateparser
(allows for "2 weeks ago" and such).
* [b7d4f7e] devel: mbd_api, mbd_events, mbd_dput: Remove "full command
debug" support (would not work with space-separated args, what we now
need).
* [91c2f42] misc.py (Datetime): Update parse(): Default value, EPOCH
(not "all" for since values), move all doc/support here.
* [649a7c7] views.py: Add "since" support for route (for now, "events"
only).
* [32c6fc5] mini-buildd-events: --since: Use user doc from
misc.Datetime.parse.
* [c98139b] models/source.py: Update valid_until code.
* [baeba73] html: Initial HTML fixups: css, home, route.
* [aa8fa8a] views.py: route: Fix (plain) file display for events.
* [5eb4115] route.html: Put "Index" to nav.
* [44a2559] html: Improve route && index.
* [ad6aa25] includes/mbd_events.html: Generate (datatable) table id.
* [7d44fe5] cron.py: Rename "problem"->"attention", and return actual
problem string.
* [c749704] daemon.py (Daemon.attention): Add attention map support to
Daemon && generic context.
* [0c2abde] base.html: Display possible problems via attention map in
menu.
* [f9747bc] templates/includes/mbd_builds.html: Initial impl.
* [89f141a] urls.py: Add "names" for our paths (so they can be
potentially used w/ builtin 'url' ttag).
* [f8cca4a] includes/mbd_events.html: Update to builtin "url"; remove
static links as these are already elsewhere.
* [6256751] urls.py: Add static routes here, too, just so we can access
them via django's 'url' builtin.
* [8e6fe95] base.html: Update all "account" urls to use django's builtin
'url'.
* [4be2e1e] mbd_repsoitories, api/show.html: Fix some links && upgrade
last 'mbd_uri' to builtin 'url'.
* [9455b5b] builtins.py: Rm obsoleted mbd_uri, mbd_uri_home.
* [772d639] changes.py: move_to_pkglog -> move_to_events.
* [406b240] route.html: Add alternate updater using html "date" input.
* [8a11693] changes.py: Make "Architecture" mandatory.
* [479af78] changes.py (Incoming[Build]Changes): To better maintain
common code.
* [41cc255] includes/mbd_events.html: Fix terminate links (was swapped).
* [0afaa6c] devel (fishy-words): Print file name.
* [fd7d6de] changes.py: Initial code partition into new class skeletons.
* [e797a0d] changes.py: Fix timeocode impl for new multi-class setup.
* [7a01bf7] changes.py: Changes: "subpath", "events_path", "builds_path"
as class variables.
* [e151d39] changes.py (Upload.gen_buildrequests): Rm extra 'cset' of
timecode.
* [bc1f036] changes.py: Fix up 'buildlog' values.
* [0ea6d13] changes.py (Upload.get_builders): Merge breq generation &&
upload into Upload.request_builds().
* [b5d2825] daemon.py: Move Changes.get_builders() to
Daeomon.get_builders_for().
* [6f44141] daemon.py (Daemon.get_builders_for): Just do
'local_endpoint' automatically.
* [5fea5dd] changes.py (Changes): key, bkey: From property to class var
&& use the (now timecoded) paths.
* [c201b10] packager.py (Package.add_buildresult): Rm 'extra.log': No
longer used or needed.
* [9587b0c] packager.py (Package.add_buildresult): Merge
'move_to_events' to finally clause.
* [cd08a26] prospector.yaml (pylint): Allow slightly more local vars.
* [ffd2747] events.py: get json event file path from changes (and remove
extra, redundant code).
* [860a040] changes.py (Upload.request_builds): Remove redundancy by
putting all files in a dict 1st.
* [fa27546] changes.py: buildreqeust: Move all config files to subdir
".config/".
* [decef28] changes.py: request_builds(): Update path to files.Path.
* [a09e891] changes.py (Upload.request_builds): Should create in events
path, not builds path.
* [66f5c87] daemon.py (Daemon._port): Fix: Use Base changes to upload.
* [6c51784] packager.py (Packager.run_event): Fix: Use Base changes for
cleanup.
* [5db0bb3] changes.py: Simplify 'timecode' code, remove __str__ support
(mostly unused, rather confusing than helping).
* [2f840b2] mini-buildd-self-signed-certificate (usage): Don't use
actual default values (Fixes: Builder hostname ends up in man page).
* [18a2a29] changes.py (Buildrequest.gen_buildresult): Rm unused path
arg && simplify code.
* [2272022] changes.py: Simplify save support: Base.save_as (generic),
Changes.save_to (to path, auto file name, auto-sign).
* [89cc980] changes.py: Don't re-use buildrequest files.
* [7b22bb7] files.py: Update 'Tar' to not write to file on add -- write
on new save_as() only.
* [1ed6fb8] changes.py (Base.save_as): Fix: Update 'file_path' on save.
* [3799fd2] changes.py: Get rid of (manually) set file_path && update to
new Tar class.
* [44c5456] changes.py (Buildrequest.gen_buildresult): Simplify.
* [a6a30a6] changes.py (Changes): Upgrade "distribution" to actual class
car && and remove double impl.
* [53a7e9d] changes.py (Upload.Options): Fix doc tests to use Base
changes (else 'fail', configured django would be needed)
* [506c003] changes.py: Remove remove(), use new move_to() only
(effectively, buildrequests now get stored in 'builds', not just
removed).
* [fc415b9] builder.py (Build.__init__): Only use bkey for Builder
thread name (not whole contents of changes file).
* [02bd4c0] builder.py (Build.run_deferred): Properly handle
build/upload (Fixes: No buildresult reporting after internal error in
build).
* [1d565f0] events.py: from_changes, log: Add support for "exception"
arg.
* [70ec8d4] changes.py: to_json -> to_event_json, and move all (but
packager) context there.
* [b3d0830] packager.py (Packager.run_event): Improve REJECTED/Bogus
error handling.
* [bd9727c] packager.py (Package.add_buildresult): Move success check to
changes.Buildresult.
* [69be510] packager.py (Package): Use class dict vars 'buildrequest' +
'buildresults' symmetrically for code clarity.
* [4e02b98] packager.py: Rm "success", "failed" class vars (obsoleted by
buildresults dict).
* [55f5168] packager.py (Package): 'status' should not be class var.
* [f6d2563] packager.py (Package): 'extra' should not be class var.
* [6139828] packager.py (Package): Separate finish() from
add_buildresult().
* [d54e9dc] packager.py (Package): Rm "running": not used.
* [4f7600b] packager.py: Code order && cosmetics.
* [aa85c8c] builder.py: Log BUILT event after build, not upload; alsa
log BUILT w/ 'error' on 'internal error'.
* [8105b29] builder.py (Build.__init__): Do "libdir" support via
files.Path.
* [8687289] builder.py (Build.run_deferred): Log 'BUILDING' when build
actually starts (not in constructor).
* [bbdffc2] builder.py: No need for class var "config".
* [6b668f8] builder.py: No need for class var "sbuild_cmd".
* [5f09757] builder.py (Build): Use "builds_path" as shortcut for
'breq.builds_path', not builds_dir.
* [876058a] builder.py (Build.__init__): Cosmetics/ordering.
* [422ec5c] builder.py: No need for class var "setup".
* [65925a5] files.py (DebianName): Add "upload" file type.
* [b71834a] changes.py (Buildrequest.gen_buildresult): Load existing
(builds) file if exists.
* [b24e67f] changes.py: Buildrequest: Add status flags based on builds
dir: needs_build() (no buildresult file), needs_upload() (no upload
file).
* [f2f2d38] builder.py: Use new breq status flags.
* [53a7ce9] builder.py (Build.run_deferred): 'BUILT': When buildrequest
is built && uploaded.
* [2305ee3] builder.py: Move all sbuild stuff to class 'SBuild' in
sbuild.py.
* [bfb2585] sbuild.py (SBuild.__init__): No need to separate 'setup
parts', one beastly constructor is just fine.
* [b82b7d1] sbuild.py (SBuild): Add shortuct for config_path (get rid of
quite some redundancy).
* [d697987] sbuild.py: SBuild class: Rename 'sbuild_cmd' 'cmdline'.
* [a357140] builder.py (Build): Code simplification && some obsolete
class vars removed.
* [abe4592] sbuild.py: Also move actual sbuild call && buildlog parsing
here (from builder).
* [bda00ca] events.py: Simplify "running" dict handling to use
'changes.bkey' as key (already is unambiguous).
* [b648462] sbuild.py (SBuild): buildlog2buildresult: Make regex
precompiled once (as class attr).
* [b43720f] builder.py (Build.run_deferred): Remove wrong/forgotten
extra BUILT event log.
* [2e214bb] sbuild.py (SBuild.buildlog2buildresult): Fix RST syntax in
doc (now relevant for sphinx as method is no longer private).
* [0f91b93] changes.py (Changes.to_event_json): Add key && bkey to
events.
* [179e343] sbuild.py (SBuild.__init__): Update some class var naming
for now-class-solution.
* [9f179a5] sbuild.py: Little re-modelling of Sbuild/Build classes to
allow terminate() to work again.
* [8dbd62c] client.py (Client.api): Fix: Don't set "command" in http
args (commands now have their own uri).
* [832812d] api.py: Use call "cancel" to terminate running build. Drop
termination of whole package.
* [dcf5fcf] builder.py, api.py: Misc code cleanups.
* [864bc85] changes.py: Fix 'self.distribution': Only for "Upload"
(mapping && integrity) and "Buildrequest" (integrity).
* [43084b0] changes.py (Upload): Fix: Use "initial_value" on all
constructors.
* [d5332ed] devel: testsuite: Add test "bogus-ftp-uploads".
* [13819d0] api.py (SetupDaemon): Fix usage of obsoleted mbd_sync arg
(ssl only).
* [2c92f4c] changes.py (Changes.__init__): Improve && make "key missing"
check error public.
* [8788bc0] changes.py (Changes): Make MANDATORY a dict (i.e., add
optional 'hint' text for the public error string).
* [895c0cd] changes.py (Upload): Add 'Changed-By' to MANDATORY (with
hint) -- obsoleting extra check.
* [91f8c2d] builder.py: Handle "Internal-Error" custom header "like
exception" when creating event json.
* [2a2842f] static/data.svg: New svg from opencliparts.
* [382bcf5] builtins.py (Plain.cat): Support json file filter.
* [1e38f4a] events.py (Event.json_file_name): Gen json file name in
events directly (will make this available in templates later).
* [1d7fa41] mini_buildd/route.html: Leave out whole 'entries' section
when not needed.
* [2cad227] mbd_events.html: Fixes && Simplification. Drop json inline,
just go with link to json file.
* [7396970] builtins.py (PlainFilter): Plain -> PlainFilter, improve
extensibility.
* [3cd760b] builtins.py: PlainFilter: Add default filter.
* [edcb276] views.py (RouteView.get_context_data): Add 'static_uri' to
context, drop 'route', 'fullpath'.
* [e73af15] __init__.py (HTTPNotFound): Add (shortcut for) 404 error.
* [18bd8d7] views.py (RouteView.get_context_data): Add 404 error.
* [0ae3a5b] config.py (Routes.__init__): "builds" should also use the
dedicated class (files.BuildsPath).
* [b76fca1] misc.py: Datetime: Better name "stamp"->"now".
* [cd6f672] misc.py (Datetime): Add "file" helper (get ts from file).
* [616f6cf] misc.py (Datetime): Add .from_stamp().
* [d53797e] views.py: Generalize "since" support && add entries
(buildlogs) for builds.
* [e222c02] mbd_builds.html: Properly show new buildlog entries.
* [0d528c6] events.py: Add common events loader (Fixes possibly
different events queue order after restart).
* [53d8c1d] files.py: Make "find" Path.ifiles, and simplify other code.
* [4da28ee] route.html: Fix typo (fixes entries for non-since variants).
* [aff7582] views.py (RouteView): Use "lambda map" for entries variants
(rather than big if-else tree).
* [22d6036] events.py: Use i<name> for iters not <name>_iter.
* [37ccaf6] views.py (RouteView.get_context_data): Fix "builds" entry
uris.
* [667e02b] client.py (Client.api): Use "FIXME" on code cleanup note/py
> 3.7 (so we find it w/ fisyh-words).
* [96fcb1a] models/base.py: Add mbd_class_name (get class names in
templates).
* [8b7389f] mbd_chroots.html: Update to datatables and fixup to usable
state.
* [b123203] views.py: Provide index for "events" and "builds" only.
* [9ab93e1] includes/mbd_scandir.html: Display os.scandir().
* [9b93ddd] views.py, route.html: Update to scandir.
* [6cd76c7] mbd_chroots.html: Add 'Status', fix 'Admin" link.
* [d45ff6e] includes/mbd_remotes.html: Update/Fix to make initially
usable.
* [d02111b] views.py: Procude scandir for "logs".
* [4ef6fd3] views.py (RouteView.get_context_data): Add default entry
producer (emtpy list).
* [7b022b2] builtins.py (PlainFilter.regex_filter): Generalized filter
for other uses later.
* [a7952b2] builtins.py (PlainFilter): buildlog toc heuristic: Add
"critical" errors detection.
* [c3ae608] builtins.py (PlainFilter): Add "log" filter: TOC for levels
'warning' and up.
* [584842e] daemon.py (Daemon): Add models() method as future access
vehicle for all code "django".
* [cfe4885] daemon.py (Daemon): Remove get_active_chroots() (replaced by
generic models()).
* [f9683eb] daemon.py (Daemon): Remove get_active_repositories()
(replaced by generic models()).
* [2c549d2] daemon.py (Daemon): Remove get_suites() (replaced by generic
models()).
* [29a50a5] daemon.py (Daemon): Remove
get_active_or_auto_reactivate_remotes() (replaced by generic
models()).
* [1d74263] daemon.py (Daemon.get_active_codenames): Should not use
models() inside daemon.py.
* [c3ec178] models/repository.py (Repository.mbd_icodenames): Add
iterator to all codenames from a repository.
* [e8a422b] daemon.py (Daemon): Remove get_active_codenames() (replaced
by generic models()).
* [62451e9] daemon.py (Daemon): Remove get_subscription_objects()
(replaced by generic models()).
* [ce4c790] package.py (KeyringPackage.__init__): Use models(), not
import of models.
* [f7c58b4] devel (importchecker): Exemption for deamon.py.
* [b63f2ff] views.py: repository, chroots, remotes: show all (not active
only).
* [e25472b] config.py: Cosmetic: Put "api" (menu) before "log" &&
cosolidate map order in view.
* [663713c] models/gnupg.py (Remote.__str__): Fix: Really should not
call status on remote.
* [29adebb] client.py (Client.api): Improve user error handling (use
public exceptions where due).
* [2d524e9] static/configure.svg: Add from openclipart.
* [7501f05] config.py: No need to make uri class var private.
* [4e9bfa9] New generic "builders support" (in models/gnupg.py). html:
Improve && update "remotes" section to "builders".
* [46992d6] mbd_repositories.html: Rple two top-level "details" by plain
h3, h4 headers.
* [023ae6b] changes.py: Create builds/event paths on demand/when needed
only (fixes some superflous empty dirs).
* [d91297e] config.py: AUTH: Upgrade to proper enum; eliminates
AUTH_STRING extra code.
* [8e86907] mini_buildd.css, api: Add mbd-auth-* classes.
* [bf8b816] builtins.py: Rm "auth_err" (string) support in 'mbd_api' tag
(we now have auto-auth via django views).
* [6beb736] httpd.py (FileResource): Add (commented) auth-redirect code;
don't use 'auth_err' string.
* [29df24f] config.py (Auth): Drop 'auth_err string' && check, simplify
to just have is_authorized().
* [489d4e2] views.py: Add ouput "html-snippet" for API calls.
* [be862ed] includes/mbd_tag_api.html, base.html: Move HTML for 'ajaxed
api results' from individual API code to one static place in base.
* [d6ba91e] mini_buildd.js, api tag: Simplify JS to use load() in api
result html snippet.
* [2849016] builtins.py (mbd_api): Default to action "ajax" again.
* [3a96307] builtins.py (mbd_api): Add is_authorized context, resp. css
and force form action to 'login' on unauthorized.
* [914fd4d] includes/mbd_api_submit.html: Merge into mbd_tag_api.html.
* [26b92fb] mbd_tag_api.html: Make 'output' real hidden input (rather
than hidden by css).
* [3d0f463] mbd_tag_api.html: Make hiddens args actual hidden inputs
(instead of hiding by css && calling mbd_api_arg).
* [645ba50] mbd_tag_api.html: Fix login detour via link inside a button,
and use 'url' tag for login uri.
* [003d7dc] builtins.py: Rm "reload" from context (unused now).
* [e052ac1] views.py: API: output=json|snippet|page && get rid of
"action" option.
* [7ecdfb3] base_api.html: Remove, is now obsolete.
* [999e4f7] api.py (List, Show): New command class attr PREFER_PAGE_VIEW
(for web templates only).
* [e60495c] API form submit: Really fix the script/noscript dilemma;
remove all former css workarounds.
* [c22fa14] builtins.py (mbd_api): Remove 'output' arg (now obsolete).
* [b5184b5] builtins.py (mbd_api): Update context dict notation to diff-
friendly.
* [bdbd486] *.html: urlencode on get_full_path does not seem to be
necessary for some time (see
https://code.djangoproject.com/ticket/18456).
* [839c93d] mini_buildd.js: api: Add initial error handling && progress
bar.
* [d736c9e] mbd_api_show.html: Add "remove" only if exists.
* [7f7394b] Revert "*.html: urlencode on get_full_path does not seem to
be necessary for some time (see
https://code.djangoproject.com/ticket/18456)."
* [357e22d] events.py: Reword events.Events -> events.Queue (to not
confuse w/ "events" (log directory)).
* [b1ee5fd] daemon.py: Move cronjob methods to cron.py.
* [56f4d01] setup.py: Ignore mildly annoying 'snapshot version warning'
from setuptools.dist.
* [3e1e54b] devel: Make MBD_KEEP disable all "on exit" runs, not just
some.
* [93873b9] Add (empty) '__init__.py' for models sub package.
* [6a9c104] daemon.py: Move "port" functions to package.py.
* [afaeaa3] views.py: API: Minor restructuring so we can have generic
code for both, page and snippet (DRY).
* [804c9e6] builtins.py (mbd_plain): Show "as_detail" support.
* [8d1ad0a] mbd_api_call.html: Show cmd as "full" && add plain (json).
* [f951a29] django structure: Move includes into app dir (includes ->
mini_buildd/includes).
* [4d7a6ed] django structure: Move "base.html", "error.html" into app
dir (*.html -> mini_buildd/*.html).
* [c32623b] django structure: Tag includes: Remove 'mbd_tag_' file
prefixes and move to "tags/" (mbd_tag_*.html ->
mini_buildd/tags/*.html).
* [60a3f0d] django structure: API call includes: Remove 'mbd_api_' file
prefixes and move to "api/" (mbd_api_*.html ->
mini_buildd/api/*.html).
* [e71494c] django structure: Other includes: Remove 'mbd_' file
prefixes (mbd_*.html -> *.html).
* [72f8271] api.py: Fix one forgotten update from previous code move to
package.py.
* [c4c5959] devel: Rm "deprecated" from list of fishy words (only non-
fishy uses ;).
* [9026913] show: Add "architecture=source" for both, reprepro &&
repository show() variants (makes results suitable for Changes).
* [8856de5] repository.py (Repository.mbd_package_show): Use dict (not
tuple) for codename.
* [6a2d4ef] models/repository.py (Repository.mbd_package_show): Make
distributions dict, not list.
* [38d20e8] models/repository.py (Repository.mbd_package_show): Simplify
code.
* [37ca3c9] repository.py (Repository._mbd_package_migrate): Fix MIGRATE
distribution.
* [17d3f9e] reprepro.py: show(): Add 'component' to results && iterator
variant (ishow).
* [2df43f0] repository.py: get_dsc_path -> find_dsc_uri, components list
as parameter.
* [fca6d7f] api.py (Find._run): Accommodate pyflakes (W504, line break
after binary operator).
* [ad2b4c7] models/repository.py, api.py: Move "show" code to API, used
only there.
* [5aacfa4] reprepro.py: Move "package_find" methods here from
repository.py (these are reprepro only).
* [4bf85e5] reprepro.py, repository.py: Make private find variants
public.
* [b347bb5] devel (tidy): Fix API call URIs.
* [e9eca8d] api.py (show): Show all existing repos && update result to
have repository options (active).
* [ef02e7a] includes/api_results.html: Add api results include.
* [cb7685b] mini_buildd.js: api load function: Give form element
directly.
* [665f6dd] tags/api.html: Update to use from.action again (not multiple
submit buttons).
* [3e18efd] builtins.py: Drop extra builtin for 'api_arg'.
* [21c91d2] models/repository.py (Repository.mbd_icodenames): Sort list
of codenames.
* [4a9a032] includes/tags/api.html: Put api result back here, with ids
(enables more than one result per page).
* [7637fcb] tags/api.html: Move api results html back into api tag (we
need it only here).
* [2ae137d] includes/tracker.html. *: Add initial "tracker" route.
* [c23a1f2] mini_buildd.js: API submit: Use jquery hide()/show() && hide
"directly" via onclick=...
* [bb409b8] mini_buildd.js, tags/api.html: Rather use 'onsubmit' for js
submit.
* [878bd72] mini_buildd.js: api_form_submit: Code clean up.
* [5c2d43c] views.py: Pre-compute dict of available api command
templates.
* [24708e2] includes/api/call.html: Eliminate extra "call.html" (just
use page, snippet templates).
* [5456eac] views.py: Eliminate "repositories" from cmd context (really
not needed any more).
* [f4cd80c] api.py, tags/api.html: Drop PREFER_PAGE_VIEW (aiming for
extra tracker page).
* [4291f16] mini_buildd.css (div.mbd-api-results-content): Minor
padding/margin fixups.
* [54961c4] tags/api.html: 'close': Fix: Re-add class.
* [797c5c9] tags/api.html: JS API: Support choosing "popup" or "embed"
CSS variants.
* [d5c834c] includes: Mv all include templates used as "route" to
"routes/" subdir.
* [c2c9e18] includes/track.html: Add "track" include, use in base and
events.
* [91d2f72] includes/track.html: Hide source if given.
* [07af85b] includes/routes/tracker.html: Use "embed" css variant.
* [36a6d91] api.py: show(source) -> show(repository, codename, source)
* [4e40329] api.py (Show._run): No such rep error handling.
* [5d42fea] .prospector.yaml: Also customize argument-regex (same as
variable-regex).
* [30be31d] devel (tidy): Log complete URLs (so we can click on it to
debug quickly).
* [1c7c574] devel: testsuite: Updates for changed show() api call.
* [70036f3] reprepro.py (Reprepro): show() -> ils(), make versatile.
* [a8102c8] devel (testsuite): Tidy tests should run after auto-setup
(make show work).
* [8d8c801] reprepro.py (Reprepro.find_in): Fix: Rather use 'is None'.
* [d58e04c] api.py (Show._run): Minor code fixes.
* [95e83c8] api.py (Show._run): dsc_path -> dsc_uri.
* [fb29bdb] models/repository.py (get): Add generic getter helper.
* [57a5c06] api.py: Update dist / diststr parse functions.
* [b8a67f5] devel: Return of pylint standalone test.
* [6d09f03] devel: Return of pyflakes standalone test.
* [6113596] devel: Return of pydocstyle standalone test.
* [971745e] devel: Return of pycodestyle standalone test.
* [06fc7d4] admin.py (AdminSite): Fix two trivial pydocstyle warnings.
* [11c5d87] devel: Drop "prospector": Hardly helped, forced pip user
installs, no updates, stuck to old versions of checkers.
* [5af8165] devel: Reorder static tests && add new 1st 'build_py' static
test (instead of calling 'build_py' on any test again.)
* [457ab0b] devel (mbd_installdjango): Rm, outdated, not needed.
* [0abb12e] devel (mbd_installdeps): pycodestyle/pyflakes: From Debian.
* [0ee9ae8] devel (MBD_PYPATH): Make PYTHONPATH export global, rm
'pyenv' extra function.
* [709a7af] setup.cfg (ignore): D416 does not seem to exist (any more).
* [75f2625] devel: Drop fishy-words, configure pylint's "fixme" to do
the same.
* [fab0b79] *.py: Do 'raise from e' for all wrapped exceptions (pylint
2.5->2.7, W0707).
* [6dbd1e5] .pylintrc (extension-pkg-whitelist): Add 'apt_pkg', used in
super-portext (pylint 2.5->2.7, I1101).
* [7827073] api.py: Fix inconsistent return statement (pylint 2.5->2.7,
R1710).
* [b21d80e] distribution.py: Make sbuild check modes uppercase (pylint
2.5->2.7, R0103).
* [0ab1126] devel: Add term color for warn log.
* [0296153] api/snippet.html: debug: Add links for page && json output.
* [ae0637f] debian/control: Limit to python >= 3.6 (fstrings).
* [ea2291c] views.py: API: Put auth back to explicit view code (fixes
'output=json' error handling).
* [dcfe093] views.py (ExceptionMiddleware.error): Add html snippet
error.
* [1b9c605] templates/mini_buildd/error_snippet.html: Use 'rfc8707'
object directly.
* [59e54a2] .pylintrc (notes): Add "workaround" to 'noteable' strings.
* [d62ffce] daemon.py: Remove workaround for
https://github.com/PyCQA/pylint/issues/3742 (fixed in pylint 2.7.2).
* [bce699f] devel (mbd_pylintgeneratedmembers): Update (this semi-
automation) to use sll code (not just modesl) and directly append to
'.pylintrc' in the desired notation.
* [fcb5554] .pylintrc (generated-members): Update w/ adapted semi-
automation. Adds "destroy" exemption (from Singleton metaclass).
* [2ef23eb] __init__.py (PyCompat): Add python (now 3.6) 'compat class'.
* [d54b212] views.py (RouteView.get_context_data): Use py 3.6 compat for
'removeprefix' (3.9 only).
* [56d6063] call.py (Call._call2shell): Jail shlex.join to PyCompat
(fixes: Run again w/ py 3.6/buster).
* [e2e9fff] control (Build-Depends): Upgrade p-d-registration deps to
2.2-5~ (fixes: Breakage w/ newer django versions).
* [b3462aa] gnupg.py (PublicKeyCache): Add key2id() support (fixes
adding manual apt keys).
* [92203d1] control (Build-Depends): Add dep on python3-attr (>=19) (for
twisted; fixes buster ports).
* [a7d3be5] devel (mbd_installdeps): Fix pylint3->pylint (former is
virtual only).
* [667f4aa] gnupg.py (BaseGnuPG.get_colons): Make public since we use it
outside class.
* [677f13d] models/repository.py (Repository.mbd_sorted_distributions):
Reverse order (newest dist 1st).
* [8d22df8] static/mini_buildd.css (body): Rm now-unecessary config for
details.
* [a9e7493] includes/tags/api*.html: Only use "required" when
authorized.
* [2b2289b] static/mini_buildd.js: Move "lengthMenu" default to
datatable tag.
* [de2c0c3] static/mini_buildd.css: Make main header (navbar) sticky.
* [4fcb17e] mini_buildd.css; Make forms inline in datatable (track).
* [9396a1d] mini_buildd.css: API: get rid of extra colors for api-auth
status.
* [104b034] tags/api.html: Move result div out of form.
* [d8eea61] mini_buildd.css: API: Remove some configs interfering w/
embed.
* [999a5a8] builtins.py (mbd_api): Use popup=bool, not css=embed|popup
(fixes redundant display=none).
* [c09fc39] tags/api.html, js: API: In script mode, do confirmation via
js confirm().
* [b5bc945] mini_buildd.css: Put border around "embedded" api result.
* [5b0c859] routes/tracker.html: Rather loop dists (not codenames), and
do it sorted.
* [158b1b8] models/repository.py: Use mbd_sorted_distributions wherever
appropriate.
* [b97f4c6] tags/api.html: Show home, reload on 'popup' only.
* [1dd958a] api/snippet.html: Show debug links on webapp 'debug' only.
* [fedb737] mini_buildd.css: datatables: Also make "details" td elements
inline.
* [9f56801] django_settings.py (STATIC_URL): We can simply use .uri now
(not join() && explicitly add /).
* [2fd9327] tags/api.html: Fix: URLs in form input must *not* be
explicitly urlencoded.
* [06ca00b] config.py: accounts.profile: Set to default
'accounts/profile'.
* [610e7a1] views.py: Add custom LoginView (url "login" =
"accounts/login").
* [f3aac23] django_settings.py (configure): Remove explicit
LOGIN_REDIRECT_URL, but set LOGIN_URL explicitly.
* [9562657] html: Use "login" (new custom LoginView), not "admin:login".
* [d714eb5] views.py: Rm custom LoginView again (turns out this will not
solve any problems ;(.
* [540eb62] base.html: Remove remaining (logout, password_change) refs
to admin namespace.
* [f920c7b] builtins.py: Add new tag mbd_accounts.
* [84f30c5] base.html: Re-do "accounts" menu: Use 'mbd_accounts' && some
style updates.
* [964b7de] mini_buildd.css: OMG: Make all submit buttons 'roundish'.
* [6a47ecb] routes/api.html: Embed api calls.
* [7359b86] builtins.py (mbd_accounts): Add support to add extra css
class(es) for form.
* [176e98c] tags/api.html: Use 'mbd_accounts login' if unauthorized.
* [f2e63fa] tags/api*.html: Remove uneeded parts from the now authorized
'branch".
* [c27e767] builtins.py (mbd_accounts): Cleverly guess "next" if not
given; especially, use REFERER if we have a snippet request.
* [01453de] base.html: Improve accounts menu (Fixes tidy error: no forms
allowed in summary).
* [e261976] api.py: setup*: Update to Daemon.models() (obsoletes
Daemon.meta()).
* [8916dd5] api.py: get_key->pub_key.
* [f4760b6] api.py: status: Result cleanup: Rm obsoleted "remotes,
packaging, building, crontab, events".
* [92b233c] api.py: get_sources_list->sources_list.
* [5b9bcbd] devel: get_dput_conf->dput_conf.
* [547707e] api.py: activate, deactivate: Make confirm-able.
* [82bb4e8] Rename module: distribution.py -> dist.py.
* [3245990] dist.py: Rename class Distribution -> Dist.
* [86320dd] changes.py (Changes): Fix self.distribution -> self.dist.
* [19ad5ef] dist.py: Update 'Dist' to new nomenclature && add doc.
* [acf8d0e] devel: pylint: Disable "fixme" for general check && fail on
any issue; add extra check to (just show) 'fixme' warnings.
* [6ad0833] cli.py: Put 'auth_log' hack to m-b.cli (fixes duplicate code
in m-b-ssh-* commands).
* [515578a] devel (pylint): Add extra run to show 'locally-disabled'
(in-code exceptions).
* [d391a26] Distribution, Source, Component: Rm __hash__() from (sort
support): Does not seem to be necessary.
* [b3674e8] Fixed in pylint: Remove false-positive workarounds for
https://github.com/PyCQA/pylint/issues/1553
* [f76d3ba] gnupg.py: Remove workaround for pylint crash:
https://github.com/PyCQA/pylint/issues/3742.
* [75782a0] pylint: Rm 'too-many-ancestors' locally-disabled (incr 'max-
parents' instead).
* [25fa737] models/base.py (Model.save): Rm unneeded signature-differs
local disabled.
* [2764cb8] mini-buildd-ssh-uploader-command (CLI.runcli): Improve
comment wording (so it's no pylint "fixme").
* [03e8ca6] client.py (Client.api): Convert 'in-code fixme' to 'doc
todo'.
* [eb1d7b3] __init__.py: Move NEWLINE helper to 'mini_buildd' with
proper docs.
* [46c154f] threads.py (DeferredThread.run): Re-add info log ('wtf note'
does not seem to apply any more).
* [d187696] setup.py (Scripts.__init__): Improve doc on Debian files
creation (don't label as "workaround").
* [8d874aa] .pylintrc (disable): pylint 2.7: logging-format-
interpolation, f-string-without-interpolation: No longer needed.
* [bcc2f01] api.py: Rename "show"->"ls".
* [006225a] api.py (snapshot calls): Prefix "snapshot" && improve
naming.
* [1dd7694] api.py: Use Mixins for command options (AUTH,
NEEDS_RUNNING_DAEMON, CONFIRM).
* [806d51a] api.py (SetupDaemon): Remove all GroupXXX from actual
commands.
* [69362f6] tags/accounts.html: Don't filter name as title.
* [000ff04] base.html: Accounts menu: Add custom name for all entries.
* [aa5521e] API: Get rid of old-style grouping altogether.
* [e2f85b7] builtins.py (mbd_api): Make 'full' default to False.
* [c69e4de] api.py (RepoSup): Remove, move tool to KeyringPackages
command.
* [98a93d6] api.py (StatusResult): Remove, merge into Status command.
* [07faab8] routes/api.html: details per cmd.
* [78dd192] models/source.py, dist.py: Add Ubuntu "hirsute".
* [6352572] builtins.py (mbd_datatable): Add 'page_length' option &&
default to 10.
* [ac15b60] mini_buildd.js: Confirm API call: Show args.
* [7dba714] tags/api.html: Fix: Hidden values need to use raw_value.
* [c5f7d8a] models/source.py (Archive.clean): Improve exception error
text.
* [8b979cd] models/source.py: Move vendor archives "lib" to dists.py.
* [7fc00f9] models/source.py, api.py: Move
Archive.meta_add_debian|ubuntu -> api.py.
* [1397939] models/source.py, api.py: Move Archive.meta_add_loacl ->
api.py.
* [85ac34c] api.py (SetupSources): --with-vendor-archives=Bool ->
--vendor-archives=List.
* [a2257e3] models/source.py, dist.py: Move apt keys to dist.py.
* [bb3d4eb] dist.py, models/source.py: Move sources setup data to
dist.CODENAME_SETUP.
* [827d552] dist.py: CODENAME_SETUP: Separate by vendor.
* [a7c66d7] api.py (MultiSelectArgument._r2v): Filter out empty items
from (comma-) separated list.
* [94c9b9e] models/source.py, api.py (setup_sources): Move
meta_add_debian|ubuntu to api.py, and make setup call codename-based.
* [c4b3b42] tags/api_arg.html: Typo fix ('unknown').
* [3a4ca6f] tags/api_arg.html: Better wording for multiselect custom
input.
* [61ec5cf] models/source.py: Move _get_or_create (setup) code to
api.py.
* [c989e91] models/source.py (PrioritySource.Admin): Move
mbd_meta_add_extras (setup code) to api.py.
* [9c56920] net.py (ClientEndpoint.login): Don't log csrf security
token.
* [803d3a5] api.py (SetupSources): Default to 'empty' for vendors
options; rename '--with-local-archives' -> '--guess-local-archives'.
* [7636011] devel (testsuite): Only use computed MBD_CODENAME for tests
(drops internal port test).
* [ec6b0d9] devel: Drop MBD_ARCHIVES, MBD_VENDORS in favor of MBD_SETUP
(args to API call setup).
* [b095f80] api.py (SetupSources): Apt cacher 'guess support' as
separate option.
* [1465c54] devel (MBD_SETUP_DESC): Default to guess local apt-cacher
only for archives.
* [9ac9435] devel (mbd_supertestall): Update for new MBD_SETUP.
* [a38e85f] devel (profile): Rm 'allvendors' doc (option is no more).
* [31170f8] devel (profile): Rm "testkeyring" option (not used, can now
easily be called manually).
* [3d30031] devel (profile): Rm "testpackage" option (not used, can now
easily be called manually).
* [becb657] devel: Remove (now unneeded) RESTART_HOOK support.
* [109c0e2] dist.py: Move "config" structures top.
* [7b2f6e5] client.py (Client.api): Error handling: Just use Rfc7807
object (no json extra step needed).
* [025e601] client.py (Client.api): No need for extra error logging.
* [ba7a67d] client.py (Client.api): Simplify interactive code (always
retry after action).
* [e369027] client.py (Client.api): Further simplify error handling.
* [d595920] admin/mini_buildd.html: "setup" api call should offer full
options.
* [9c7ddeb] api.py (SetupSources.update_object): New method to replacing
get_or_create.
* [1b5d2ac] models/base.py: Remove extra mbd_get_or_create (just to show
a log).
* [de48fb6] models/repository.py: Move meta ("wizard") methods to api.py
(setup).
* [344f348] chroot.py; Use _mbd_meta_add_base_sources() in api.py
directly, drop all per-Class variants.
* [ed11433] models/chroot.py: Move to meta method to api.py.
* [b7fbd2a] models/distribution.py; Move meta add_base_sources to
api.py.
* [9437b56] .pylintrc (max-module-lines): Update to 1500.
* [578bee7] models/distribution.py: Move to meta.*defaults method to
api.py.
* [e0da26f] .pylintrc: Consistently use 'x=y' format (not 'x: y').
* [856b4c6] setup.cfg: Move .pylintrc here.
* [2edf81a] setup.cfg: Remove empty pylint sections.
* [85597d0] *.py: mbd_meta_pca_all -> mbd_pca_all.
* [b13845f] api.py: setup: Use 'update_object' (instead of
'get_or_create') everywhere.
* [c2b95cd] templates/admin/base_site.html: Overwrite some strange CSS
values from django admin (fixes 'select' api display)
* [649055a] models/chroot.py (Chroot.mbd_get_backend): Simplify &&
document.
* [ca3a064] models/chroot.py: LVM backends: Add user error if LVM is not
installed.
* [9fb3978] models/chroot.py (Chroot.__str__): Don't append backend info
(only works when instance is saved).
* [cfc26fa] models/distribution.py (Distribution.__str__): Switch to
diff-friendly notation.
* [237cf1c] models/distribution.py (Distribution.__str__): Simplify,
only show base source + archs.
* [81a649c] api.py (SetupRepositories): Layout: Update to setup dict.
* [70761ae] api.py (SetupRepositories): Separate suite/layout config
dicts && cover debdev layout.
* [0121e74] api.py (SetupRepositories): Update SUITE_SETUP to use
'options'.
* [0c0057b] api.py (SetupRepositories): Add dict-like config for
REPOSITORIES.
* [fa1385c] api.py (SetupRepositories): Remove *meta* calls (merge into
run)
* [fb121c7] api.py (SetupRepository): Rename (singular).
* [e920b0f] api.py_ setup_repositories->setup_repository, make id &&
preset freely configurable.
* [560635b] api.py: Move repository setup dicts to dist.py.
* [3f59a08] dist.py: Merge all "setup" to one big dict (dist.SETUP).
* [ba6cd6b] api.py: setup_chroots: Merge last meta method.
* [56e8791] api.py: Merge all setup calls.
* [dc620ed] api.py (Setup): Better wording for archive && codename
arguments.
* [e1340e5] api.py (Setup): Add --update option (noop for now).
* [d6bd55c] api.py: setup: update_object->x_or_create (implements '--
update' functionality).
* [78ace8d] api.py (Setup): Sources: Update apt_keys on --update.
* [9d69950] api.py: Add mbd_is_security to Source (greatly simplifying
priority source setup).
* [de20e2c] dist.py: Update SETUP format.
* [fcd30cb] api.py (SetupRepositories): Put default_components into
dist.SETUP.
* [544d81c] dist.py: Update SETUP format: Option to add more options per
codename.
* [f8ca3f4] dist.py: Add "supported" setting for codename setup.
* [339809b] dist.py: Add get_codenames() helper && [SUPPORTED_]CODENAMES
(replacing CODENAME_SETUP_BY_CODENAME).
* [b8450bc] changes.py (Upload.request_builds): "dist" var should be
"distribution".
* [c61676d] dist.py: Move Dist.apt_allow_unauthenticated -> SETUP
(jessie workaround).
* [7d10aa6] dist.py: Move Codename.arch_optional -> SETUP (Ubuntu
workaround).
* [b910f15] gnupg.py (PublicKeyCache): Fix: Also import Ubuntu archive
keyrings if installed.
* [772bfd5] dist.py: Move Dist.produces_ddeb_appendix -> SETUP (Ubuntu
workaround).
* [2768026] dist.py: Re-add squeeze apt keys.
* [0f1028c] dist.py: (Re-)add squeeze as unsupported codename.
* [530be71] dist.py: (Re-)add lenny apt keys.
* [a199e69] dist.py: (Re-)add lenny codename (as unsupported).
* [052baab] models/source.py (Source.mbd_is_security): Move to dist &&
fix after SETUP update.
* [2d7a14a] dist.py: Move "no_lintian_suppress" to SETUP.
* [4a8986f] dist.py: Remove 'Codename' class (obsolete now everything
has moved to SETUP).
* [d3f844e] dist.py: Update module doc wording.
* [f3cfe29] api.py (Setup._run): Move "needs_uname_26" (lenny) to SETUP.
* [d7adeef] dist.py: Move "usually used mirror paths" to SETUP/per
vendor.
* [7c1b6f5] dist.py: Move "distro info" instances to SETUP.
* [ec622fd] api.py (Setup._run): Add && use shortcuts for all model
classes.
* [90456b0] api.py (Setup._run): Use x_or_create() for Daemon.
* [c93c1a3] api.py (Setup.x_or_create): Fix default instance creation
code (even though currently commented).
* [6245916] api.py (Setup.x_or_create): Update to dict-based result.
* [a37eaf9] setup.cfg (generated-members): mbd_check was listed twice.
* [1aabf27] devel (mbd_pylintgeneratedmembers): Fix: Remove manual
addition of 'mbd_check'.
* [47bcc2c] devel (mbd_pylintgeneratedmembers): Update to now write to
setup.cfg.
* [d4f9a67] setup.cfg (generated-members): Update via ./devel
pylintgeneratedmembers (django 'Model._meta')
* [15d2146] models/base.py (Model): Add (experimental) mbd_diff().
* [66a478c] api.py: setup: x_or_create(): Add diff to result.
* [ba30511] devel (testsuite): 'auto-setup'->'setup' && split keyring-
and testpackages in own test cases.
* [3f42656] api.py (setup): suite option: Omit unnecessary dummy
variables.
* [3502972] api.py (setup): Continue on --update=Yes even if not created
(for suite, layout, distribution).
* [0fe2508] api.py (setup): Add comment why not using x_or_create when
updating sources apt keys.
* [82fb6e3] api.py (setup): Conforming naming convention for the
distribution setup code.
* [5a92af0] dist.py: SETUO(layout): Add "stable" and "testing" to
"Debian Developer" (els eit won't work w/ default suites).
* [e0e8fac] api.py (setup): Fix SuiteOption creation.
* [ca06f5b] models/base.py (Model): Add helper to get a field's default
value.
* [4c0132c] api.py (setup): Distribution: Mv
"apt_allow_unauthenticated", "lintian_mode" to x_or_create args.
* [ec10bec] api.py (setup): Distribution: Mv "extra_options" to
x_or_create args.
* [b8e2afa] api.py (setup): Distribution: components/prio source: Use
set/filters instead of manually adding.
* [cedb92a] api.py (setup): Add "setup" shortcut and sync some naming
conventions.
* [b712aeb] api.py (setup): Distribution: Mv "architecture_option" to
x_or_create().
* [6b838da] api.py (setup): Change order: Setup chroots before
repository.
* [a75e8bb] api.py (setup): "--codenames" -> "--sources".
* [5b7b00e] api.py (setup): Add (for now, dummy) methods for setup
parts.
* [6cff03d] api.py (status): Remove no-op __init__.
* [2785152] api.py: Separate setup code.
* [a8962b6] api.py (setup): "setup" shortcut as class attribute.
* [89783ea] api.py (setup): Make "chroots" fully configurable
(--chroots, --chroots-from-sources).
* [8bd37b6] api.py (setup): repositories: Give list of repo/preset
tuples to create (default to empty).
* [d43c72b] models/base.py (mbd_diff): Only compare fields actually
given.
* [1e82280] api.py (Setup.setup_sources): Generate prio sources directly
in loop for sources.
* [3029596] devel (mbd_supertestall): Adapt args (after setup change).
* [ce76cde] httpd.py (Events): Spurious disconnects on SSL: Identify
direct cause (in twisted) && add workaround.
* [e9bf658] dist.py: Get "supported" flag from distro_info.
* [a70b8ad] __init__.py: Shortcuts: Move 'm_b.Daemon.models()' to
'm_b.mdls()'.
* [9f6335e] api.py (setup): Remove 'variable shortcuts' for model
classes.
* [2d0c14c] api.py (setup): Get rid of some unneeded comments.
* [ff21704] config.py: HOSTNAME now unqualified, add HOSTNAME_FQDN &&
properly set values from --hostname arg && and use these values
everywhere.
* [b49d70d] api.py (Setup.setup_daemon): Add "identity" arg.
* [273caef] api.py (Setup.setup_archives): Rm MsgLog about netselect-apt
(rather confusing than helpful).
* [00b0c1c] api.py (Setup.setup_repositories): Simplify 'suite option'
code.
* [2edf936] api.py (Setup.setup_sources): Cosmetic: Update comment.
* [d590ba0] api.py (Setup.setup_repositories): Simplify distribution
setup code.
* [7edc2e5] api.py (setup): Simplify repository+chroot setup code.
* [1198f21] api.py (setup): Fix order (repositories last).
* [cbb1158] api.py (setup): Only run repository setup (layout, dists,
repos) if repo ids given.
* [3efcc08] dist.py: APT_KEYS: Vendor keys should be capitalized.
* [97a5fc2] config.py (default_ftp_endpoint): Move code to compute
default ftpd_bind to config.py.
* [191c358] models/daemon.py (get): Create model instance singleton with
computed ftpd_bind default.
* [bf9b36a] api.py: Argument refac I: r2v/v2r => s2v/s2r, classmethod
only.
* [3d0e0e8] api.py: Argument refac II: Get rid of 'raw_value'.
* [8b34c44] api.py: Argument refac III: Add 'given' value && compute
actual 'value' via method/property.
* [dbdee1a] api.py: Argument refac IV: argparse support as method only.
* [e7e3083] api.py: ident->id_list for specialized Argument classes.
* [18aa777] config.py: Move 'DEFAULT_HTTP_ENDPOINTS' to config.py.
* [8439fb8] __init__.py (PyCompat): Improve doc for 'PyCompat' class.
* [7a114de] config.py: Make config.HTTP_ENDPOINTS str (description)
only.
* [0193a06] models/daemon.py (get): Fix: 'ftpd_bind' must given as
default only, not as id.
* [1bdf12a] models/daemon.py (Daemon.clean): Add (django) validation for
ftpd_bind.
* [8357612] api.py (Argument): Let "default" optionally be a callable;
add magic value '<server_default>' to make this accessible from
clients.
* [1eba57b] api.py (Setup): Add --ftp-endpoint (with callback default).
* [01ebcf3] api.py (Setup): '--identity': Update to callable (server)
default.
* [c97d51f] api.py (Argument): default(), value(), strvalue(): No need
to be property.
* [bd7f360] mini_buildd.css: API: Remove image from 'setup' call.
* [525cf00] mini_buildd.css: Add 'mbd-boxed' class.
* [33dab34] routes/api.html: Just use a boxed div to separate commands,
and don't embed (rather popup) results.
* [ef2c60d] api.py (Setup): Update doc && move doctests to module level.
* [4d1f007] devel: Add MBD_SETUP_COMMON && update supertestall.
* [a2b3a7d] devel (profile): Drop (redundant) defaults.
* [47051dd] devel: Drop mbd_setup and mbd_profile (less is indeed more).
* [e408be7] api.py (Setup.setup_sources): Use set() to iterate over
codenames (avoids unnecessary duplicate runs).
* [e96626d] dist.py (DistroInfo): Add custom classes for Debian/Ubuntu
to abstract new method mbd_supported(with_lts=X).
* [1d44bb5] dist.py (get_codenames): Update to use new mbd_supported(),
and support 'with_lts'.
* [f08fe9a] api.py (Setup): sources: Add '--sources-from-vendor-with-
lts'.
* [0b8dc5d] devel (mbd_supertestall): Use 'lts' sources (add 'wheezy'
(non-LTS) manually for now).
* [c811269] tags/api_arg.html: Fix: Don't display 'select' if there are
no choices.
* [7785310] api.py: Arguments: Add "header" support to archive some sort
of grouping when commands have many args.
* [52f6940] api.py (Setup): Add argument headers (web display only).
* [690ca1f] static: Rename debian_swirl.svg -> debian.svg.
* [9c293c7] tags/api_arg.html: Fix: Add value to non-choices
[multi]select input.
* [c5dbe5f] static/ubuntu.svg: Add Ubuntu "Circle Of Friends" logo
(seems fine, see https://ubuntu.com/legal/intellectual-property-
policy).
* [98ee164] api.py: Move generic option(s) top (with header).
* [e0e0a12] api.py: Add "default setup" constants (Default, Debian,
Ubuntu)
* [564a1a2] index.html: Add default setups to main page (for now).
* [96c8385] HTML menus (WCAG): Use <ul> for all menus.
* [7f3cdb4] HTML menus (WCAG): Use 'aria-labelledby' (both main menus
for now).
* [27cf273] HTML menus (WCAG): Only use one nav-element (with nested
"<ul>s").
* [e94a935] mini_buildd.css: (Re-)add mbd-float-right class.
* [4254adf] HTML menus (WCAG): Adapt base.html && CSS to work with ul
tree (including dropdown menus)
* [c5deea6] mini_buildd.css: Purge old header setup (with few merges).
* [0280af7] base.html/CSS: Use global 'mbd' class for body, update
header stuff.
* [1efd827] mini_buildd.css: Update (most) configs to 'body.mbd style'.
* [c70ed75] base.html: Menu: Remove {{uri.class}} (this does no longer
exist).
* [9a249f0] base.html: Menu: Update 'attention' class add code to use
'yesno'.
* [6acbf58] config.py: Add new MENU dict (replacing extra 'URI.menu'
flag).
* [0a2197f] mini_buildd.css: Menu: Avoid right cutoff for submenus.
* [293ee48] config.py: MENU: Update to list of dicts (prepare for
various types).
* [633d0ba] api.py (Power): Replace commands "activate", "deactivate" by
"power".
* [ea2d8a3] config.py: MENU: Support 'href', and move homepage link
there.
* [fa602e9] includes/menu_item.html: Outsource menu items display to
include.
* [7fe9b6b] admin/mini_buildd.html: Fix: Update to new api call "power".
* [821ae36] config.py: MENU: Support submenus && add "Documentation",
"Admin" submenus.
* [113ec7c] mini_buildd.css: Menu: Fix/improve submenu display.
* [52098fd] menu_item.html: Auto-add 'mbd-active' for active URI menu
items.
* [adbf8e3] mini_buildd.css: menu: Can't use margin on submenus.
* [bcaf1c7] route.html: Update to new "nav style".
* [4242236] mini_buildd.css: Bring 'grid' to all headers, not just main.
* [2e9ffc4] menu: Two navs for main menu && update menu aria labels.
* [24c7971] mini_buildd.css: Remove mbd-float-right again.
* [e6f6537] base.html: Add "triangle down" for submenus.
* [b234a3b] mini_buildd/setup.html: Add new location
'mini_buildd/setup.html'.
* [82b65df] __init__.py (is_alive): Add shortcut (may also be used to
avoid importing django early).
* [a985647] api.py (Power): Make this toggle by default (with new
is_alive shortcut as default).
* [e42f13c] includes/menu_item.html: Support "api" menu items.
* [b51db75] config.py: "power" menu item via config.MENU.
* [5530a12] api.py (SelectArgument.argparse_kvsargs): Allow positional
args to be actually optional, if we have a default.
* [2431112] api.py (Power): Switch to select arg "to_state" (allows nice
``power [on|off]`` notation w/ toggle when not given).
* [17e95ac] includes/menu.html: Macro to spew out whole (static) menus.
* [5e6b387] config.py: MENU->MENUS as dict, update macros (prepare for
multiple static menus).
* [f190103] base.html: User menu: Rather use "Logged Off" than django
default "AnonymousUser".
* [17bb615] includes/menu.html: Include the "nav" container (and aria
label) here.
* [4ccbb4d] config.py: MENUS: Rm "api" support again, update main menu.
* [5c7bc98] base.html: Add aria label for account menu.
* [20021c4] base.html: Retreat: Skip 'menu as config' idea (really
causes way more pain than it helps).
* [07289b2] More main menu improvements.
* [726d79c] base.html (menu): Move "power" to admin menu.
* [2aa10c4] config.py: More consistently rename "documentation" ->
"doc".
* [abd2edd] daemon.py (Daemon.attention): Add stubs for all possible
"attention" candidates, and improve tooltip.
* [3dfa8c6] models/base.py (StatusModel): Add mbd_attention: HR-string
if any object is inactive.
* [10a19d4] daemon.py (Daemon): Attention: Update implementation && add
support for builders, chroots and respositories.
* [4304222] base.html: "Box" the account/user menu.
* [3487460] mini_buildd.css: Restrict header config to main header
(body.header).
* [d9d99ea] html: Sync headers in all page-like htmls.
* [dbbd9b0] mini_buildd.css (body.mbd>header): Merge dupped config.
* [d13d1c7] base.html: Fix footer (grid setup).
* [d493849] index.html, setup.html: Omit section, main content should be
just in main.
* [b0270c8] mini_buildd.css (body.mbd>main): Add main header config.
* [52e7774] route.html: Put nav to main header.
* [b36f6ac] views.py (RouteView): Default to None (not []) if there are
no entries.
* [29b5f1b] route.html: Fix for "no entries"; add (sort of) TOC.
* [4ef7541] net.py (Endpoint.geturl): Add support for a custom user
name.
* [06b71a8] api.py (Command.command_line): Add command line generator.
* [0440eb6] mini-buildd-api (CLI): Initial support to parse API command
line strings.
* [14d093a] api.py: Support to parse API command line strings.
* [3d15109] api.py (parse_command_line): Make argparse raise only (not
exit) on error. See https://bugs.python.org/issue41255
* [61c1bf2] views.py: Make "SetupView" accessible by superuser only.
* [c269183] views.py: Switch to use non-absolute imports for django
decorators.
* [04deac4] views.py: Make login_required for AccountProfile view.
* [b9d228c] builtins.py: (Re-)add 'mbd_next' tag.
* [c00814d] tags/api.html: Unauthorized: Be sure to use the same HTML
elements/classes here, to make CSS styling look the same.
* [d727df5] daemon.py (Daemon): Add set|get_setup() (hide that we
(mis)use 'pickled_data' for it).
* [bed4a6e] api.py: Update && fix setup command globals; add function to
get saved setup.
* [ba98b82] daemon.py (Daemon.sync): Don't blank out pickled_data (we
use it again now).
* [a835f07] setup.html: Fix mixed up headers/titles.
* [eb05f9e] api.py (Command.from_command_line): Constructor from command
line.
* [210e1f9] models/base.py,daemon.py: Make pickled_data (mis)use for
'setup' visible/documented via django.
* [54b703c] models/daemon.py (Daemon.clean): Add validation for
'pickled_data' field now used as command line setup.
* [f7ac00b] api.py (Argument): Add VALUE_TYPE, validation && ivalue (for
command line).
* [aef9af1] api.py (RaisingArgumentParser): Fix pydocstyle warning
(missing .).
* [0f655c9] api.py (Setup): Add --set (save command line).
* [d284ff6] daemon.py (Daemon.__init__): Add heuristic when to blank
pickled_data.
* [7e9f7a7] models/daemon.py (Daemon.clean): Remove "setup" validation
(not a good idea after all).
* [12cc762] api.py: set=True, update=True for predefined setups.
* [b18c685] api.py: --set -> --save.
* [944ccda] api.py (Command.__init__): Use dict comprehension for
self.args.
* [3ef2765] api.py (Command.__init__): Simplify args gathering code.
* [755fe0f] api.py (Command.__init__): Improve debug logs (and enable
for now).
* [3788e14] api.py (Command.__init__): args handling: Yet another
cleanup of current code (before real fix).
* [d570ede] devel (MBD_SETUP_COMMON_DESC): --save setup.
* [6f8abcf] net.py (Endpoint.geturl): Run urlencode with doseq=True (no
need for comma-separate lists).
* [4fbd9f8] client.py (Client.api): Add debug log to see command args.
* [0026fba] mini-buildd-api: Update to upcoming "from_argparse()".
* [298c1a6] views.py: APIView: Update to upcoming "from_request()".
* [46033d6] api.py (KeyringPackages): Update --distributions to "server
default"-style.
* [2e6d04b] api.py (Command): Add from_request, from_argparse
(obsoleting api_args).
* [45837f7] api.py: Rm obsoleted django import.
* [3e2046d] builtins.py, api.py: Command: Add from_templatetag() for
mbd_api templatetag.
* [1fbdcee] api.py (Argument): Simplify: Drop validate(), default() &&
misc fixups.
* [ddc7091] api.py (Command): Add/sync doc for all "from"-Constructors.
* [a2ca0ad] api.py (Command.from_argparse): Fix: Rather use cli_value we
already have.
* [395bbdc] api.py (Argument.__str__): Add for convenience (debug).
* [78d2985] api.py (Command.from_argparse): Distinguish between "str"
and other value types.
* [e4a9406] api.py (Command.from_templatetag|argparse): Fix: Use 'is
None'-style for value.
* [a7e9015] api.py: Let BoolArgument be 'false' by default.
* [cb16849] api.py (BoolArgument): Make default=false mandatory (so we
can use it naturally as --option in command lines).
* [f6476a5] api.py (BoolArgument): Command line: Make normal option
again ('--with-foo', not '--with-foo True').
* [232019b] api.py (BoolArgument): Web: Make (bool) options 'checkbox'
again.
* [3e42b89] api.py (Power): Use 'OnOff' enum; result to
state/previous_state instead of status.
* [c4d213d] api.py (BoolArgument): Use TRUE,FALSE (str) constants.
* [b2969c7] api.py: Move STATUS_RESULT_DOC to status only.
* [4eb77b4] api.py: Move all "set" code from update() methods (to server
defaults).
* [7d3c8b7] api.py (Argument.choices): Allow choices via function.
* [7eca1cc] api.py: Move all run-time value functions to one place.
* [7569e49] api.py: Remove RepositoryPattern class (not used).
* [47d5495] api.py (Repository, RepositoryRegex): Update to choices via
function.
* [d99431b] api.py (MultiSelectArgument.argparse_kvsargs): Fix: Don't
call choices().
* [4d25b77] api.py (Distribution): Update all 'dist' special arg classes
to 'choice functions'.
* [dae6509] api.py: Update 'codename, suite, sources' special arg
classes to 'choice functions'.
* [910e5df] api.py (Power._run): Result: previous_state -> state_pre.
* [908440c] api.py (Argument): Remove support for update().
* [2fdadb8] MsgLog removal: Bulk-replace all calls to MsgLog() by LOG.
* [8305c85] MsgLog removal: Fix all errors w/ static checkers (`devel
check`).
* [aad942f] MsgLog removal: models: Remove "request" from all (custom)
methods.
* [92be18a] MsgLog removal: api.py: Remove 'request' from all custom
model calls.
* [7989450] models/msglog.py: Delete MsgLog impl.
* [e4de753] models/base.py,source.py: Remove three now unneeded extra
LOG calls.
* [03fd642] css, html: Remove all support for messages.
* [59a8b88] daemon.py, webapp.py: Fixup mbd_action calls.
* [332b65d] django_settings.py: Remove django message loglevel
configuration (messages now only used by admin).
* [ef924d1] cron.py (_Job): Log exception on cron error.
* [21fcee6] client.py (Client.api): non-interactive: If possible, raise
API's RFC 7807 result (improves error handling).
* [5ea6cbd] api.py (Argument): Add "allow_none" (value) option; add
validate() method.
* [33501c5] api.py (SourceVersion): Use 'allow_none=True' (removes fixme
"false2none").
* [523bcc9] devel (MBD_SETUP_DESC): Default to none (i.e., setup for
current dist only).
* [b108c54] api.py (Setup.setup_repositories): Get 'with_rollback' from
layout, not suite setup (Fixes: Rollbacks per setup).
* [66ac74e] api.py: Update Repositories/Codenames special arg classes.
* [f0da8ac] api.py (Argument.argparse_kvsargs): help: Add server default
hint (the name of the function).
* [f504936] api.py: Update naming of (some) value functions.
* [f7f6ede] api.py: Update Distribution(s) special arg classes.
* [fe37c05] api.py:Repositories, Codenames special args: Back to
'id_list' as arg.
* [22e8232] api.py (power_toggle): Update all run value functions to
meaningful names (shown to the user).
* [47e04f6] api.py (Status): Remove (commented) debug code line for
MsgLog (which is no more).
* [b513db3] api.py (Status): Simplify code (status result no longer used
elsewhere).
* [8b985da] api.py (Status): Update doc, json result && simplify code.
* [53ddcd9] daemon.py (Daemon.get_status): Remove (no longer used).
* [e1842e7] api.py (Power): No need to state server default extra (it's
automatic now).
* [4555f4e] api.py (Cancel): Add choices && result.
* [a297503] api.py (PubKey, DputConf, GetUploaders): Update API doc.
* [19edaa1] api.py (Uploaders): Rename from GetUploaders.
* [7d97c84] repositories.html: Update 'sources_list' call args.
* [741ddad] api.py: Make "Status" very 1st command.
* [a1ecdaf] api.py: Re-oder all api commands (sort of 'light to heavy').
* [b011240] api.py: Add headers "Consume, Contribute, Maintain": Roughly
categorize api commands (for api overview only).
* [f2aad28] devel (apt-getters): Update && extend test calls.
* [9fe309d] mini_buildd.js: Add support to show actual command args.
* [3a99810] api.py (SourcesList): --suite -> --suites as multiselect.
* [7416006] api.py (Command.from_request): Rather 'unconsider' None, not
bool(http_value).
* [fa09766] api.py (SourcesList): options, snapshot, mirror options: Use
'allow_none'.
* [1d18f8d] api.py: Update doc notation ("Capitalize, end with .") up to
sources_list.
* [bf2c6c6] tags/api_arg.html: text: Properly deal w/ new allow_none.
* [83024d8] tags/api_arg.html: Argument.value|choices|default may run
code to determine resp. values; running these only once via 'with'
variables does speed things up.
* [37c152b] misc.py (singularize): Add poor man's singularize().
* [97410d8] api.py (MultiSelectArgument.argparse_kvsargs): Let's metavar
be singular.
* [813be54] misc.py (singularize): Add "s" plural (Huts -> Hut).
* [3876c99] api.py (Ls): Update doc.
* [5b969d6] api.py (Argument.__init__): argparse_is_positional() ->
is_positional().
* [ec3dd51] builtins.py (mbd_api): Make positional mandatory (don't call
value here).
* [87eeb0a] api.py (List): Update arguments and doc.
* [ce2db70] api.py: Put 'Find' after 'Ls'.
* [5a02f69] tags/api_arg.html: text: Always make required when
positional.
* [a9c7ecf] api.py: Update/fix "version" arguments (doc && code).
* [87f2c75] api.py: Sync specialized arg classes (kwargs).
* [51f402d] reprepro.py: Improve 'find' code && fix: check for None not
bool.
* [fada36f] api.py (Command.from_request): Improve code && fix: Discard
empty values (from form submit).
* [3adaaab] api.py (Ls): Add --version, --minimal-version limiters.
* [0f33321] api.py (Find): Be literally 'Ls', but failing on no results.
* [81acd08] routes/api.html: Misuse fieldset for box w/ label.
* [0caa023] api.py: Run values: Use general distribution helper, add
migratable_distributions.
* [828e0ea] api.py (Migrate): Update dist choices to migratable only.
* [784ea8f] api.py (UploadOptions): Remove in-method import.
* [642ca64] api.py (Argument): Make _s2v, _v2s non-private (de-facto
public, and no reason not to be).
* [6483555] api.py (Retry): Fix arg order && make version non-
positional.
* [dbe6c3e] package.py (_port): upload(): Rather use force=True
(although when porting, we should have a clear tmp directory).
* [ffea722] events.py, api.py (last_failed_bkeys): Add more convenience
tool functions (later needed for 'retry').
* [4035fc5] api.py (Retry): Rewrite to work with new events dir/bkey.
* [6ff82d7] api.py, events.py: Move convenience run-value functions to
api.py (only used there, and they are whacky).
* [8fa0dd3] misc.py (attempt): Extent to allow for return values.
* [e795591] api.py: Protect run-value convenience functions for events
via attempt.
* [fa1e054] api.py (Retry): Rewrite implementation again, now with over-
the-top validation ;).
* [dea4f09] api.py (Argument): Add "required" flag ("needs user input").
* [bb17405] api_arg.html: Update HTML 'required' to be set via
arg.required.
* [0474153] api_arg.html: select: Always make required (hardcoded).
* [f838fc9] api.py: Bulk-sync ARGUMENT notation for all API calls (and
yes, we love long lines).
* [33b84ce] views.py (AccountProfileView): Add user subscriptions to
context.
* [b876ab3] builtins.py (mbd_api): Show positional arguments as
mandatory only if value is not given.
* [4a5aa73] mini_buildd.css (div.mbd-api-results-container): Explicitly
set 'text-align: left;' (it can implicitly be otherwise).
* [2fc9e9e] api.py (Command.__init__): update() must be called last
(after self.request is set).
* [5eda23a] api.py (Argument.required): Change to function, not class
var (may change if value is set).
* [fe74ace] api.py: Replace "Subscription" by re-implementations
"Subscribe", "Unsubscribe".
* [b8b1125] account_profile.html: Update subscriptions to new
subscribe/unsubscribe (now more coneniently shows list of subs in
datatable).
* [37dd35f] routes/tracker.html: Update to "subscribe".
* [c8aea8b] tracker.html: Update to new 'ls' syntax.
* [f44c7fa] api.py (Distribution, Source): Add support for extra doc
string (use for subscribe).
* [c041b05] api.py (Command): Remove "update" support. Only used for
'port' (and not really a huge benefit there).
* [4302727] api_arg.html: text: If value is None, use "" as form value,
not "None".
* [a8097f8] api.py (Argument.v2s): If value is None, use "" as strvalue,
not "None".
* [4a09d36] api.py (Argument): Better (correct) name: ivalue() ->
icommand_line_value().
* [4c3b0c4] api.py (get_setup): Fix: Show usable log when saved setup
can't be parsed.
* [93c83b5] api.py (BoolArgument.icommand_line_value): Empty generator
(bool are now simple --with-foo options -- fixes computed command
lines).
* [e1108ca] src/mini-buildd-backup: Add tool to backup && restore (to a
fresh installation) a mini-buildd instance.
* [42f9b01] devel (MBD_CODENAME): Update bullseye codeversion (11), add
bookworm.
* [bc1a331] dist.py: bullseye release: Add new apt keys: archive,
release, security.
* [919febc] dist.py: bullseye release: Add 'buster-backports-sloppy' for
default buster setup.
* [6bd2721] dist.py: bullseye release: Add 'bullseye-security',
'bullseye-backports' for default bullseye setup.
* [5faf485] dist.py: APT_KEYS dict: Use better notation.
* [e7391b2] dist.py: Update SETUP w/ "lintian_options" (to be used next)
&& add doc about findings on "--fail-on[-warnings]" option.
* [2db315a] dist.py (get_lintian_options): Add function to get lintian
options (with fallback).
* [36c2b5e] dist.py: SETUP: Debian codenames: Order newest first.
* [5f2f611] dist.py: SETUP: Ubuntu codenames: Order newest first.
* [b271861] dist.py: Update lintian_options to be lists, handled with
shlex.join. Drop "no_lintian_suppress".
* [105c682] dist.py: SETUP: Correctly setup "warnfail" f.a. (older)
codenames.
* [6a7ed31] dist.py: Fixup all keys for all sources post-bullseye (i.e.,
definitely covers all current signatures, removes unused where found).
* [cbd5851] api.py (Setup): Add --sources-from-vendor-with-all option.
* [62ac7b4] gnupg.py, models/source.py: Improve per-source signature
logging.
* [3249f43] models/base.py, daemon.py: Move the description of 'setup'
use of pickled_data to Daemon model.
* [cc492b2] models/*.py: Exclude 'pickled_data' from 'prominent' Models.
* [f907ca6] models/daemon.py (Daemon): Update default keyserver:
pool.sks-keyservers.net (dead) -> keyserver.ubuntu.com.
* [75dd08f] gnupg.py: Move 'keyserver support' to 'PublicKeyCache'
completely (also properly errors out now when --recv-keys skips import
on 'newer' servers).
* [37e5638] api.py: get_setup(): Return None if there is none, not some
default.
* [2f83b56] api_arg.html: multiselect: Only 'require' if arg.required is
set.
* [8180e43] api.py (Argument): Add default method.
* [546a71c] api.py (Argument.set): Make bool expression more readable;
add log.
* [46ebb52] api.py (default_chroot_backend): Add run value for chroot
backend.
* [2226ed9] api_arg.html, *.py: select, multiselect: Always use html
input "text" (w/ datalist).
* [61f7333] api.py (Setup): Fix argument convenience header.
* [97d5d37] api_arg.html: text: Remove "multiple" attribute.
* [561983d] api_arg.html: Fix value for checkbox/bool.
* [379bb5a] api_arg.html: Add convenience button to clear text value
(js).
* [fbf96cc] api_arg.html: textarea: Use given as value.
* [aa88503] api_arg.html: Only "prefetch" choices.
* [010b553] api.py (Argument): Add strdefault, update strvalue.
* [0646a91] api.py: Simplify from_request, from_templatetag.
* [3ef1f2e] api.py (Command.__init__): Remove option that given_args may
be Arguments themselves (not used).
* [27d7167] api.py (Argument): Handle all value details is
Argument.set(), simplify && remove redundancies from_* constructors.
* [b6f1c40] api.py: Xommand: from_* constructors no longer necessary.
* [9f11622] models/daemon.py: Move "setup handling" completely to model.
* [8efc771] api.py (Setup): Fix: --chroots must accept any chroot, not
supported only.
* [5fc5d3b] api.py (Command.icommand_line): Fix: Rather use 'not None'.
* [8ff6547] api_arg.html: Add per-text-arg convenience buttons: reset,
default.
* [e7c02bf] api.py: Better names to all *Argument classes.
* [736aa35] api.py (ListArgument.s2v, v2s): Use "" as None.
* [f3d905b] models/daemon.py: Doc: Fix rst syntax (hard sphinx error).
* [277e460] api.py: Remove allow_none, just use default for that.
* [6d36e3a] api.py: required -> needs_value and other cleanups.
* [9a624f2] api.py: Add doc for generic Argument class && some code
fixes.
* [0fb467a] api.py: Add strgiven (always use that in forms), validate in
value().
* [44c40c6] api_arg.html: input: Use 'placeholder' to hint default when
value is empty.
* [c3373c7] api.py (ChoiceArgument.value): Add actual choice validator.
* [4e608f4] client.py (Client.api): Make it take a full Command instance
(not name && args).
* [f61a3b5] builtins.py (mbd_api): No need to check for empty values w/
new Arguments.
* [f1206a3] api.py (Command): Remove some obsoleted code.
* [f604e47] api.py (Argument.set): Fix: yield "None" on empty list.
* [d153cbc] api.py (Setup): Fix silly use of mutable objects from
arguments (would mysteriously change argument defaults ;).
* [5975aed] api.py (ListArgument.icommand_line_value->given): Fix: We
should yield from given, not value.
* [8e3f8ee] api.py (Command): Introduce iarguments() as (future)
replacement for ARGUMENTS (obsoletes copy).
* [0ec4d69] api.py: Bulk-update all Commands from ARGUMENTS ->
iarguments().
* [8d0baec] api.py: Remove ARGUMENTS completely.
* [5f699bd] api_arg.html: checkbox/bool: Fix 'True' value.
* [460857d] api_arg.html: "Default" button obsolete (we see default now
when cleared).
* [e009f16] api.py: Add doctest (Setup from command line and back).
* [f4e8a51] api.py (Argument.set()): Also set to None on False bool
value.
* [1aae965] api.py (Argument.__str__): Improve (debug).
* [c9c6d88] changes.py (Base._upload): Rather use "ftp_cls" not "FTP"
(get rid of the unnecessary local check disable).
* [5416051] api_arg.html: text: If there is strdefault/placeholder,
adapt size to it.
* [f2c5def] api_arg.html: Revive Default button (still useful); only
show buttons if action makes sense.
* [1daf0bc] mini_buildd.css: Some rather random adaptions to make api
forms look better (or at least different).
* [6478f02] builtins.py: Update helpers to access/set vars in templates:
mbd_get() ('identity function'), mbd_dict_get ('get value from dict').
* [37da13f] api.py (get_setup): Update to deliver dict w/ 'saved' info
&& deliver Setup() default on non-saved.
* [cc886f8] setup.html: Update to new get_setup && initial new 'common
main HTML strcuture'.
* [f2fc361] mini_buildd.css: Drop extra 'mbd-boxed' class in favor of
structural boxing of sections.
* [09a3830] route.html: Update to new main layout w/ sections.
* [a56ba16] index.html: Update to new main layout w/ sections.
* [74dd87c] mini_buildd.css: Put box around *any* section beneath main.
* [06d9e26] routes/api.html: Update to new main layout w/ sections;
generalize special "api header" (cmd && arg) support.
* [c0ec844] mini_buildd.css: "aside" no longer used.
* [de6f25c] mini_buildd.css: Re-order, some cleanup.
* [3a043f3] mini_buildd.css (div.mbd-api-results-container-popup): Don't
border "embed".
* [350d871] routes/tracker.html: Properly use sections.
* [69902cd] api.html, css: Minimize use of classes: 1 unused, 4
obsoleted.
* [70e9684] mini_buildd.css|js, api.html: Minimize use of classes and
ids.
* [161e5e8] tags/api.html: Container: Make proper nav (with ul &&
label).
* [b9e366e] tags/plain.html: Update to proper nav (label, ul).
* [42f269c] builtins.py (mbd_plain): Remove support for "as_detail".
* [1d0ef6f] mini_buildd.css: Make 'new style api css' to only act on
'body.mbd'.
* [70d42e8] tracker.html: Update to proper nav (ul, label).
* [222d58c] builders.html: Update navs (ul, label).
* [18ca492] api.html: Better id: container -> api-result-container.
* [9c5bc1d] static: Add close.svg, update reload.svg (from openclipart).
* [0a9147f] api.html: Make results not popup here.
* [bda74a6] tags/api.html: Always use Close + Reload, both w/ image.
* [9c7dafe] mini_buildd.css: Colors: Go with 6 (named) colors only.
* [b254a8b] mini_buildd.css: One segment for all 6 "log" levels.
* [1ee7562] admin/mini_buildd.html: Drop placing api call directly here,
rather hint to /setup. Also fixes GUI quirk.
* [80ee7db] mini_buildd.css (:root): Add base --bg-color (analog to
--color).
* [2841bcd] mini_buildd.css (:root): Fixup bg colors; downgrade to 4.
* [1fd6f00] /mini_buildd.css: Rm wrong 'api args' config (not really
improves things anyway).
* [537f806] mini_buildd.css: Cosmetic: Update doc comments for API.
* [805109d] mini_buildd.css (:root): Use hsl() (not hex) for greys &&
base fg color.
* [0dabf7a] mini_buildd.css (:root): More color updates/simplifications.
* [52dc1d6] builtins.py (mbd_api): Fix: Use needs_value() for mandatory.
* [9239ffb] tags/plain.html: Don't use extra 'section' here.
* [f8f3742] mini_buildd.css: Add generic classes (mbd-foo) for the six
'states'.
* [65439c6] mini_buildd.css: mbd-hidden: Unused, remove.
* [82a7dc4] builtins.py (PlainFilter): Update to generic css 'state'
classes.
* [fbe034f] builtins.py (Css): Add mbd_cssmap: Mapper helper for css.
* [fb84164] Update 'sbuild_status' to css mapper.
* [9bd1dba] Update 'sbuild_check' to css mapper.
* [4a0a197] Update 'events' to css mapper.
* [0d8ac91] builtins.py: mbd_cssify: no longer used, remove.
* [128b586] admin/mini_buildd/change_list.html: Move js-Hack to html.
* [6a8eba6] Update 'admin_actions' to css mapper (mapping in js for this
hack).
* [b8eb866] Update 'model_status' to css mapper.
* [82d8df6] Update 'mbd-dist-*' classes to generic ones.
* [df29793] Update 'mbd-[in]active' classes to generic ones.
* [a92667e] mini_buildd.css (:root): Update notation, order.
* [4683f1c] mini_buildd.css: Improve drop down menu.
* [5ff8871] mini_buildd.css: dropdown nav fixups: Also highlight
dropdown items, don't conflict with api html container.
* [2a7908d] models/daemon.py (Daemon.mbd_setup_v10x2v20x): Fix
(previously not-updated) save call.
* [70dde69] control: Make lintian a recommendation, and add piuparts,
autopkgtest.
* [18805ed] mini_buildd.css: Get rid of all extra margins/paddings.
* [6b55365] mini_buildd.css (form.mbd-api): No need for extra setup for
select/textarea.
* [b993ee3] mini_buildd.css (:root): Re-order colors.
* [272e154] mini_buildd.css: Obsolete class 'mbd-datatable'.
* [5907ff6] mini_buildd.css: Bulk-prefix (body.mbd) remaining parts.
* [6954c0c] mini_buildd.css (:root): Order && doc update again.
* [78e430d] routes/crontab.html: Update to new css.
* [7c5cecb] account_profile.html: Update to new css.
* [46fee68] *.html: Bulk-update to new (limited) css classes.
* [5193298] mini_buildd.css (body.mbd>header): Fix stray comment close.
* [c9dddd8] mini_buildd.css: Fix: Always use 'background-color', never
background (shortcut).
* [d2f5738] base|index.html: Move "power" menu from main (admin) menu to
home.
* [8729a92] mini_buildd.css: +mbd-highlight, mbd-unauthorized->mbd-dim.
* [9203375] images: Add power_on|off svgs (from openclipart).
* [4aa38c2] index.html: Power state via images. Obsoletes mbd-stopped
class.
* [f980774] mini_buildd.css: Cosmetics, reordering.
* [7d57c99] mini_buildd.css (body.mbd>main>header): Obsolete explicit
nav config.
* [0e26b0f] mini_buildd.css (:root): More cosmetics, some fixes.
* [6f00992] mini_buildd.css (:root): Move body-header color to var.
* [3883d41] mini_buildd.css: Add mbd-body-menu-active.
* [39787e9] mini_buildd.css (body.mbd a): Inherit colors for anchors.
* [58df184] mini_buildd.css: Simplify img handling: Omit mbd-logo, go
with mbd-icon only.
* [e94e07c] builtins.py (mbd_img): Fix clipboard: Get rid of clipboard
arg, use button.
* [67a243a] builtins.py (mbd_img): Remove "onclick" arg (rather use
button around img for that).
* [52e078b] builtins.py: Rm href support from 'mbd_img'; remove
'mbd_home'.
* [11fa83d] routes/events.html: Update "Action" to menu.
* [0c15df9] routes/events.html: Simplify: Type+Details->Results, one
menu.
* [5f20d49] tags/sbuild_status.html: Don't use 'spaceless' in tag.
* [5a7172d] mini_buildd.css: Datatables: No need for extra form/input
setup (nav already does this).
* [7390dee] api/ls.html: Update to nav, Migration && Menu coloms.
* [c554974] api.py (Ls.run): (Initial) fix for buggy rollbacks/json.
* [a48c24a] mini_buildd.js: api: Add helper vars: container,
args_serialized, get_uri.
* [421be7e] mini_buildd.js: api: Omit redundant 'form' argument.
* [fd4199e] mini_buildd.js: Discard empty api form arguments.
* [bcf35ad] mini_buildd.js: api: Explicitly use output=snippet on js api
calls.
* [270625e] tags/api.html: Use menu item w/ complete "Page Call" instead
of mere extra args display.
* [d31ac48] api call:: Misc code cosmetics.
* [3ba67ad] dist.py: Add doctest: get(rollback=False).
* [57be9b0] reprepro.py (Reprepro.ils): Fix result dict to 'recommended'
order: distribution,source,version.
* [4263de9] api.py: Add "Ls2": Simplified, will eventually replace Ls.
* [02c86ab] api/ls.html: Fix title (update to new ls args).
* [b3c5d5e] api/snippet.html: Simplify, rm debug.
* [f01494a] api/page.html: Fix title.
* [31e2463] mini_buildd.css: Configure "aside": Box, float right.
* [c522c30] api/snippet.html (Refine Call): Add as "aside".
* [f2e23ae] api/ls.html: Remove "Component" from table.
* [b218641] api.py: Ls2: Add "uri".
* [d8167ce] api/ls.html: Fix: Only show event link if we have a version.
* [21f0f6f] api.py (Ls2): Add uploadable, migrates_to, is_migrated.
* [8be4dd5] tags/api.html: Don't use empty href -- lintian dont like...
* [3a77736] api.py (Ls2.run): Fix: use bool for 'is_migrated'.
* [4edd91d] api.py: Make Ls2 the real Ls (ls apt display mostly works).
* [09083d5] api/ls.html: Make rollbacks display functional again.
* [38bb4c0] api/ls.html: Put rollbacks in its own table.
* [f1008c1] api/ls.html: Make rollbacks table dataTable.
* [b2f7fb6] mini_buildd.css: Drop custom dataTables styles -- we should
be fine just with the builtin style classes.
* [77fd5ef] mini_buildd.js: api: urldecode params (for confirmation
text).
* [7bb7566] mini_buildd.js: Instead of decoding previously encoded,
rather produce human-readable text from args array directly.
* [3bfd8c5] mini_buildd.js: Oops -- them javascript variables are global
by default...
* [3c65d17] api/snippet.html: Simplify.
* [1272300] routes/tracker.html: Simplify && add ls call for "all".
* [223f663] api/ls.html: Update table to have
Migration,Extra,Rollbacks,Menu as 'non-data' columns.
* [5fd883a] api/ls.html: Don't use section here.
* [8f54671] routes/tracker.html: Fix missing section close tag.
* [84a1a84] api/snippet.html: Don't use section here.
* [cda4f30] html: Remove ARIA labels for now.
* [cd18434] html: Get rid of any '/>' (element close) shorthand
(presumably cargo-cult, we dontwant ;).
* [0e0f976] api/ls.html: Extra: Fix order/wording.
* [ae18f96] builtins.py (mbd_api): Replace "full=False" by
"hide_options=False" (i.e., rather show options by default).
* [6027619] api/ls.html: Update "Migrate" column.
* [baf2043] builtins.py (mbd_datatable): Update to support no ordering.
* [9feef98] api/ls.html: Make table non-ordering.
* [a74ae5b] base.html: Fix noscript warning (class, wording).
* [8d0c1a3] builtins.py (mbd_api): Args: Drop "popup" in favor of
"output".
* [ecc6f7f] html: Drop extra "tracker". Just 'ls' will do fine.
* [1096c70] builtins.py (mbd_datatable): Add support for
searching,paging,info options.
* [869983e] api/ls.html: Minimize rollbacks datatable (no order, no
searching, no info, no paging).
* [9f02182] builtins.py: Add mbd_api_popup: Shortcut (for HTML) to
create a popup.
* [1696aa8] html: Bulk-update api candidates to "popup" variant.
* [ea3a708] devel (mbd_curl_admin): Add function to run request logged-
in (curl).
* [5ab91f6] devel (tidy): Switch to use logged-in requests.
* [3410f09] html: Fix three errors found w/ tidy logged-in.
* [30dcb77] devel (tidy): Add more tests.
* [8a90fb0] mini_buildd.css: Make body menu sticky.
* [9826c5c] base.html: Move api-result-container to base template (have
it once per page, not once per command).
* [d75dcfb] setup.html: Make api setup calls popups.
* [ccfa8db] devel: curl_admin -> curl-admin.
* [f4da8a1] builtins.py (mbd_api): Make token / element ids mostly
obsolete.
* [1201204] devel (mbd_changes): Use time for final logged-in curl call
(for debug).
* [88273a4] api/js/css: Popup: Make truly centered && dynamic size.
* [ba7b93b] mini_buildd.css: Grid class 'mbd-grid-lcr' (rather than
repeating it).
* [6769c3c] mini_buildd.css: Cosmetics, order.
* [ff962c4] mini_buildd.css (:root): Make all colors hsl-colors.
* [3201ea3] mini_buildd.css: Sync notation.
* [045ed10] mini_buildd.css: Rename api-result-container->api-popup &&
use section for popup snippet.
* [8a3446a] mini_buildd.css: Simplify popup css.
* [39d380b] mini_buildd.css: Simplify api header css.
* [6358a6b] mini_buildd.css: Deprecate mbd-api-header class.
* [d2955bf] mini_buildd.css: More CSS cleanups, removals, comments.
* [232f54f] tags/api_arg.html: Update wording for X,D,R value buttons.
* [580164e] mini_buildd.css (:root): Fix sticky header to not move; make
footer sticky as well; fixed bg for sections based on level.
* [a4835b5] mini_buildd.css: popup: Add max height (and width) and
enable scrolling.
* [5b2a068] html: Update API page, snippet, ls.
* [8d90382] devel: mbd_hack-html: Bad hack to hack HTML.
* [53c6756] html: plain, routes, builds, scandir: Some basic adaptions.
* [d534d5c] mini_buildd.css (body.mbd header): "a" config for headers
only.
* [f5873c6] mini_buildd.css (body.mbd): Add bg for "pre".
* [eacdfac] svg: Rename data->file, browse->dir.
* [e4b34d3] plain.html: Fix when doenload_uri is None, add browse menu.
* [a401f02] svg: Add builds, events (from openclipbaord for now).
* [3a45d40] models/repository.py: mbd_find_dsc_uri->mbd_find_dsc_path
(updates for api.py, package.py).
* [f636b27] api/ls.html: Update to new svgs && dsc_path.
* [83ed7e7] svg: Obsolete download, vanilla.
* [33cddb8] routes/builders.html: Proper header.
* [8206ca8] mini_buildd.css: Uff, some cssfiddle once again.
* [387dcef] svg: Update various svgs (from openclipart for now).
* [b695038] svg: Rm "start.svg" (not used).
* [6ca5ffc] routes/events.html: Update dataTable config.
* [55dc6c9] routes/builds.html: Update dataTable config.
* [b4e3792] changes.py: Add changes (path) to events.
* [4ed7d6c] routes/events.html: ls: Limit to this version only, hide
options.
* [60984fc] base.html: popup: Use ids again, actually use header for
header, add home again && reorder header menus.
* [8f4c8e1] mini_buildd.css (body.mbd>header): Remove bottom line again.
* [c0b9e14] mini_buildd.css (body.mbd>header): Rm padding.
* [68b5d0f] routes/events.html: ls only on INSTALLED.
* [0154c5b] values.py: New module: On-demand cached values.
* [4a02269] * src/mini_buildd/values.py: Add vget() helper.
* [a5757ce] api.py (Argument): Support default/choices to be
'values.Name'.
* [465c891] api.py (OnOff): Move OnOff class to values.
* [b8ba7a1] api.py: Move all "run values" to values.py.
* [e49eab4] api.py: Remove (now obsolete) support for callables.
* [edeaa3a] debian/mini-buildd.lintian-overrides (mini-buildd): Update
for new lintian version.
* [3524c28] api.py: Two more items moved to values; make them all non-
cached by default.
* [6b79b2a] testsuite packages: Add "copyright" files (error with newer
lintian).
* [abdfe15] tags/api.html: Revert to use id for form
('document.currentScript' would not work when used as snippet).
* [3ea53a4] httpd.py: Directory Listing: Add HTML template with similar
look-and-feel as the django pages.
* [fb7e43b] mini_buildd.css: Make table captions and column headers
align left.
* [ea2fc91] httpd.py: Directory Listing: Simplify header.
* [2c98159] devel (tidy): Add static events+builds tests.
* [f63fbd4] httpd.py (DirectoryLister.render): Code cosmetics.
* [e15dbab] httpd.py (DirectoryLister.render): Don't use (maybe not
stable) private methods from twisted class.
* [776d189] httpd.py (DirectoryLister.render): Use normal py templating
for template.
* [cd295d0] httpd.py (DirectoryLister): Rm (now-wrong) method doc.
* [5cd9264] mini_buildd.css: Config for directory listings.
* [1b8e066] files.py (Path.removeprefix): Add helper method.
* [ca0c9ba] httpd.py (DirectoryLister.render): Fix: Use configured char
encoding (rather than hardcoded 'utf-8')
* [af1977c] httpd.py (DirectoryLister.render): Make file links got to
"view".
* [aaa3d58] views.py (DefaultView): Add (again) (we already had s.th.
similar as PathView previously).
* [81f6d54] views.py, urls.py: Replace HomeView by DefaultView.
* [2d3dc75] views.py: Update AccountProfileView to DefaultView.
* [e283a6a] views.py (SetupView): Update to DefaultView.
* [f5a5d7f] views.py: API (index) back to non-route DefaultView.
* [c06d35a] views.py: Sitemap to non-route DefaultView.
* [7cb1749] views.py: Crontab to non-route DefaultView.
* [a547264] views.py: Builders to non-route custom View.
* [c6a7429] views.py: Chroots to non-route custom View.
* [0f32b48] crontab/index.html: Fix page layout.
* [80c7512] views.py: Update RouteView to DefaultView.
* [a6f8a30] html: events, builds, repositories: Add header+nav back
(from soon obsoleted route.html).
* [56c9493] html: API popup: Add JSON link.
* [7444710] close.svg: Update with more transparent variant (from
opencliparts).
* [918aca2] devel (mbd_installdeps): Add curl.
* [3f28be1] devel (tidy): curl: Fix: Make curl fail when HTTP request
fails (!= 200).
* [5167183] views.py, ...: Update error templates.
* [0783ffc] builders/index.html (Builders): Fix remote status link.
* [2042719] urls.py: Only add explicit "routes". Skip adding static
routes.
* [637eb46] views.py: Update RouteView to do file/dir again.
* [8404f8b] urls.py: Fix route adding to work for doctests.
* [62cb303] repositories/index.html: Fix "browse" link.
* [f11034e] webapp.py (WebApp): Add (commented) code to show
'diffsettings' (for debugging).
* [22cd3a8] builtins.py (PlainFilter): Fix (non-existing) 'mbd-critical'
CSS class to 'mbd-error'.
* [482c741] views.py (DirView): Add DirView, and update "log" to use it.
* [c4e661f] urls.py: Add events-dir, builds-dir, repositories-dir
(browsable).
* [bbd01a9] urls.py: Rm auth support (auth now should be in views.py
only, not needed for events,builds,repositories).
* [96d1516] urls.py: Rm route object from RouteView.
* [49efbf8] urls.py: Simplify code.
* [bda357d] views.py (RouteView.get): Rm support for dir/file.
* [5bf50b2] includes/events.html: Update to events-dir.
* [624da60] views.py (TemplateView): Add generic parent template class;
move 'since support'.
* [a416d2b] views.py: events, builds, repositories: Each get separate
view class.
* [03ad4e2] urls.py (mbd_uri): Add URI helper && make code more
readable.
* [9771cb0] svg: Add 'up' (from opencliparts).
* [e7d4473] views.py (EventsView): Update "events" to new class based
regime w/ setup().
* [0484426] views.py (BuildsView): Update "builds" to new class based
regime w/ setup().
* [28785bb] views.py: events/builds view: No need for extra "name" class
attribute.
* [afd2944] views.py (RouteView): Common view class for builds, events,
repositories.
* [3674de1] views.py (RepositoriesView): Update "repositories" to new
class based regime w/ setup().
* [29e546b] views.py: Update all remaining views to new class based
regime w/ setup().
* [28a4036] mini_buildd.css (body.mbd): Add left/right margins.
* [eeb4442] urls.py: Add 'name' arg for *all* mini_buildd/ urls but API.
* [7921bb6] crontab/index.html: Update header scheme.
* [a129102] builders/index.html: Fix bogus h2 close.
* [aea62bf] api: Cleanup template handling (snippets must be in
includes, add/use default snippet include).
* [1ca6d0f] views.py: Make 'defined-outside-init' pylint exception
module-global (and add some notes).
* [eb1e52d] views.py (APISnippets): Rename class, move outside View.
* [4639723] views.py (APIView): Update to use setup().
* [32f6c20] views.py: APIView: Update to use view class vars, not
context.
* [9877831] views.py (APIView): Move ApiSnippets back to APIView as
Snippets.
* [cd66c49] views.py (APIView.setup): Code cosmetics.
* [4aab930] templates: Remove obsoleted routes.html, file/index.html.
* [e66935e] httpd.py: Switch back to plain twisted DirectoryLister (now
that we have django DirView).
* [3842fcd] httpd.py: Actually remove all custom DirectoryLister code.
* [58f518a] devel (tidy): Rm pure static tests -- is now native twisted,
does not comply and we can't fix it.
* [f2a5f83] devel (tidy): Add tests for new self-made DirView routes.
* [60503e4] django 3.2: Add SECRET_KEY for pseudo-config as well.
* [8ba72c4] builds,repositories,events/index.html: Sync headers to be
generic.
* [1627de5] dir/index.html: Fix "Up" menu.
* [84dfbcc] dir/index.html: Fix file view (partly).
* [646218f] base_path.html: Add base template for
builds,events,repositories (common main title/header).
* [437b0ff] log/index.html: Rm, now done with DirView.
* [a0ff9a6] dir/index.html: Cosmetic fixes.
* [2c770d4] dir/index.html: Merge includes/dir.html (only used here).
* [4a23e7a] templates: dir/index.html -> dir.html (this is no explicit
route).
* [aacb3e2] dir.html: Skip section header.
* [5178bb5] html/templates: Rename "plain" -> "file".
* [44e9045] tags/file.html: "download_uri" -> uri (no special 'download'
support any more).
* [d754e81] tags/file.html: No need for default contents value.
* [74d966f] svg: Add "download" (from openclipart).
* [0bae45c] tags/file.html: "Raw File" -> Download.
* [fe1d05b] dir.html: Fix uri of file.
* [526c757] tags/file.html: Use "a", not button for clipboard (make menu
items same layout).
* [c3f55d1] views.py, builtins.py: Fixup plain view.
* [4c6480a] config.py: Add new Uri kind "dir".
* [6b48845] urls.py: Rename "name" kwargs (per default also template
context) to "route".
* [40ef4d9] urls.py, config.py (Uri): Move support for 'django path
regex' to Uri class.
* [438a1e4] config.py: Document special meanings of 'view', 'dir' and
'static' uris.
* [4e18231] builtins.py (PlainFilter): doc fixes for sphinx build.
* [7289b96] urls.py: Use mbd_path for mini_buildd paths.
* [9440b3a] base.html: Use django's "url" where possible.
* [714a9f7] tags/datatable.html: Set style/classes (once) via js.
* [6fd8842] builtins.py: mbd_dirname -> mbd_parent, properly 'implement'
w/ pathlib.
* [23684b1] svg: Add top (from opencliparts), rename index->view.
* [f2e7cf4] urls.py: Update route/dir menus.
* [1f4cc19] builtins.py: Add helper: mbd_fromtimestamp.
* [ead4a95] dir.html: Add 'size' && 'modified' columns to table.
* [b100f22] dir.html: Only use add 'view' link if it exists.
* [ebbc2d4] tags/datatable.html: Generally enable the "stateSave"
option.
* [387631d] builtins.py: Add mbd_hash: To create persistent but HTML/JS
compatible id strings.
* [fb97c4b] events: Use mbd_hash for datatable id's (makes state
actually persistent).
* [110511f] builds/index.html: Update to mbd_hash (effectively makes
datatable state persistent).
* [06a035a] changes.py (Changes.to_event_json): Fix "changes" (for
changes w/ multiple archs).
* [074138a] since param: Simplify && only use the browser builtin.
* [431adb6] html: Update base.html once again: Include main header, make
configurable via blocks.
* [381e004] views.py (BuildsView.setup): Fixup buildlog uris.
* [b213b26] base, dir.html: Fix dir menus.
* [70ca15d] repositories/index.html: Fixup main menu.
* [2dd6536] repositories/index.html: Upgrade to datatables && major
general fixes.
* [43fa532] repositories/index.html: Fix title (this view does not use
path).
* [ffc9f2a] repositories/index.html: Fixup datatable search options.
* [8c25110] tags/file.html: Remove link to 'real-raw' static browse.
* [560a8dc] tags/file.html: Improve content display handling when None.
* [2fd3d54] base.html: Menu: Don't show 'view switch' when file is
displayed.
* [339649d] devel (hack-html): start: Sufficient to only restart
service.
* [990adf2] html: Fix power on/off indicators.
* [3efc240] crontab/index.html: Rm menu 'remote' (falsely copied).
* [d2e413c] django_settings.py: django 3.2: Add DEFAULT_AUTO_FIELD to
settings.
* [02befd2] base.html: django 3.2: Drop (two) uses if 'ifequal' (now
depcrecated).
* [a8be4fc] admin/base_site.html: Use url tag for home uri.
* [ab1a45f] mini_buildd.css (img.mbd-icon): Make icon size slightly
bigger.
* [e295722] Revert "Distribution, Source, Component: Rm __hash__() from
(sort support): Does not seem to be necessary."
* [57e2eaf] distribution, source, component models: Simplify __hash__
impl (also avoids pylint same-code warnings).
* [ae5db3b] models/base.py: Add feedback (via messages) for admin
actions.
* [8fab58a] api.py (Status): Re-add 'remotes' to status (fixes remote
linking).
* [ec9a339] distribution.py (ArchitectureOptionInline): Fix: Hide
'pickled_data'.
* [2f17dba] files.py (Path.create): Add create() function.
* [0e18250] changes.py (Changes.move_to): Fix: Create path path before
moving files.
* [f4728fb] mini_buildd.js: API call progress bar: Display api call info
&& make look somewhat better on ff.
* [a14bb27] mini_buildd.css: minimal padding in section.
* [6026b8f] gnupg.py (Builders): Skip extra generator.
* [ca5ec57] models/gnupg.py (Builders): Add "ourselves" flag.
* [6187a65] builders/index.html: Update remote status, error handling &&
action.
* [db81fde] client.py (Client.api): Improve error handling for non-HTTP
urllib exceptions.
* [a586676] chroots/index.html: Fix actions to menu && fix link to
change specific item directly.
* [a4cd5cd] mini_buildd.css: Make 'a' inherit color 'everywhere mbd'.
* [5785519] builders/index.html: Add direct per-object configure link.
* [f37e2c9] builders/index.html: Update to new status meanings &&
general improvements.
* [ceb25ae] values.py: Add ALL_REMOTES.
* [9fe11a1] base.html: Instance id to footer (do we can identify the
instance on any page).
* [2c9990f] models/gnupg.py (Remote): Enable "wake_command".
* [a8efbf6] api.py: Add "wake" API call (wake remotes).
* [910cf48] builders/index.html: Add wake (remote) API call.
* [0617681] builders/chroots/repositories/index.html: Add convenience
configure links.
* [54aed90] *.html: Update all "admin" links to url template.
* [82eb1d9] devel (mbd_installdeps): (buster convenience) Install ftp if
ftp-ssl fails.
* [c8ab55d] debian/control (Build-Depends): We need version 1.0 of
distro-info (for lts options).
* [aac0fd4] pylint 2.11: Cosmetic (use fstring).
* [e211fbf] pylint 2.11: Update mbd_action call (fixes --remove-system-
artifacts).
* [02879f6] pylint 2.11: models/base.py: Improve comparison.
* [e248636] pylint 2.11: Daemon.check(): Update mbd_action call (fixes
check cronjob).
* [fd24a28] devel: Generalize pip installs (via MBD_PIPINSTALL global
config).
* [4b44301] devel (mbd_pipinstall): Remove "importchecker" check.
* [b030f08] devel: Update notes for MBD_PIPINSTALL.
* [ca6584d] cron.py (_Job.id): Add id (name+type) for jobs && a getter
from id.
* [5d93ca8] values.py: Add value: ALL_CRONJOBS.
* [9430066] cron.py: Add run() (for arbitrary runs outside of schedule).
* [6acf657] cron.py (_Job.__run): Protect from running in parallel.
* [245e9a7] api.py (Cronjob): Add new API call 'cronjob'.
* [25d407b] crontab/index.html: Improve view && add cronjob API call
(arbitraryily call cron job).
* [0905f11] crontab/index.html: Use dataTables to show logs.
* [68d4096] files.py: Move open_utf8() -> __init__.
* [babcfee] __init__.py (fopen): open_utf8() -> fopen().
* [af4bf14] pylint 2.11: Update all 'open' to use 'mini_buildd.fopen'
(fixes open-without-encoding).
* [7739c37] pylint 2.11: Fixup multiple 'open-like' calls to use "with".
* [89ed0e7] mini_buildd.css: Add !important to basic 'indicator'
classes.
* [5c01199] net.py (ClientEndpoint.urlopen): Support timeout.
* [648ff6f] client.py (Client.api): Support timeout.
* [c18e10b] gnupg.py (Remote.mbd_get_status): Limit retrieval time to 2
seconds.
* [b5dea5d] builtins.py (mbd_file): Add support for custom title (and
default to "Data", not "Plain").
* [b85f107] builders/index.html: Fix bogus table order (we just want no
default order).
* [6faaded] builders/index.html: Provide status (json) data as details,
omit extra status call.
* [875211f] models/gnupg.py (Remote.mbd_get_status): Put all the wake
logic here.
* [2840a38] models/gnupg.py (Builders): Add "wake support".
* [64f3829] changes.py (Upload.request_builds): Wake remotes on builds.
* [cbbeb93] api.py (Wake): Don't use list of remotes (--remotes ->
--remote), use new mbd_get_status().
* [f956e8e] models/gnupg.py (Remote.mbd_api): Add helper mbd_api().
* [8b9f8f9] api.py (Setup): Add support for remotes.
* [d081d6b] models/gnupg.py (Remote): Wake on prepare and check.
* [5068904] api.py (Setup.setup_remotes): Fix: Don't call mbd_pca_all()
in loop.
* [e73827c] setup.cfg (generated-members): Add mbd_pca_all().
* [6ce3796] devel.localhost: Add script to create "second" instance.
* [d315e20] devel (mbd_installdeps): Add piuparts, autopkgtest.
* [20ed90c] builders/index.html: Remote link: Directly jump to
'builders/' (not home).
* [93d2736] devel: Fix number of places where $(hostname) was used
instead of ${MBD_HOSTNAME}.
* [8d17b21] devel (bash-completion): Add ./devel.localhost to completion
commands.
* [13c4ef9] devel (MBD_SETUP_COMMON_DESC): Add localhost:8068 as remote
to setup.
* [bb5290f] devel (testsuite-packages): Skip skipping rebuilding
packages when already built.
* [7abbb1a] devel.hostname: Add extra script for hostname (two instances
on same network stack for testing).
* [8a2d416] devel (testsuite-packages): Clean out possible debris via
git.
* [44318f2] debian/source/lintian-overrides: Workaround (temporary) for
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=995498.
* [0f3376f] api.py (Argument.set): Improve error message on failed type.
* [fa754fb] gnupg.py (BaseGnuPG.verify2_bare): Add verify2_bare() (for
general (non-apt source) verifications).
* [facb9c5] gnupg.py (BaseGnuPG.sign2): Add message signing support via
py3-gpg.
* [b63025c] models/gnupg.py (GnuPGPublicKey.mbd_verify): Add standalone
message verification.
* [4dad019] daemon.py (Daemon.handshake_message): Add signed handshake
message generator.
* [77d2c5e] api.py (Handshake): Add API command to realize a (gnupg)
handshake.
* [7c57246] models/gnupg.py (Remote.mbd_check): Add (gnupg) handshake.
* [6b8097f] gnupg.py: Get rid of odd '*2 names', rather prefix w/
'gpgme_'.
* [7d4e987] gnupg.py (BaseGnuPG.gpgme_verify): Provide public errors on
GPG verify errors.
* [7de7802] gnupg.py: make all gpg_* methods expect 'str' (&& do
conversions internally only).
-- Stephan Sürken <absurd@debian.org> Mon, 11 Oct 2021 10:17:04 +0200
mini-buildd (1.9.21) experimental; urgency=medium
User summary:
* Add support for "Custom Event Hooks" (see admin doc).
* Internal refactoring of config.py (pre for upcoming changes).
Details:
* [67a4fa0] call.py (Call._call2shell): Use shlex.join().
* [3de9fde] Add support for "Custom Event Hooks" (see admin doc).
* [0b34dcf] config.py: LOG_FILE, ACCESS_LOG_FILE and MANUAL should not
be "resources".
* [e544b09] config.py: PACKAGE_TEMPLATES should not be "resource".
* [e056846] Merge MANUAL_PATH into DOC resource.
* [80035ea] config.py: Re-order resources definition.
* [f4559d0] config.py. httpd.py: Fix: STATIC resources path should be
set in config.py.
* [5380fdf] config.py: Move all HOME-relative "resource" config here
from 'mini-buildd' CLI.
* [f1e9eee] config.py: Add Uri and Path classes (separate Resources
impl), and make all uri-only resources 'static Uris'.
* [51ea0a8] config.py: Add setup_home helper.
* [c81b4e2] config.py. Add 'Home' class.
* [8a5f509] config.py: Make 'Home' a Resource itself, and get rid of
setup_home(), HOME_PATH, extra HOME resource.
* [6168197] setup.py: help2man: Add precheck so we see possible errors
from prog itself in output/buildlog.
* [d49bb43] config.py: mkdirs in config.Path; get rid of LOGIN_NEXT.
* [27b625e] config.py: Make 'Resource' multi-urinatory.
* [19e65d9] config.py: Add URIS global (for static/pre-home use).
* [5302151] config.py: Move all static Uri-only globals to URIS.
* [fcda374] config.py, *.py: Remove all the global dummies.
* [713a3de] config.py: Remove all compat from Uri, Path, Resource &&
update all python code.
* [6319f32] builtins.py: (Uri/Path/Resource): Adapt mbd_uri tag and
update all html.
* [4648a16] builtins.py: Fix tag order, re-use mbd_uri.
* [c8efdcb] config.py: Merge "EVENTS", "EVENTS_LOG".
* [6fa493a] config.py: Merge MBD_LOG, LOG.
* [de3660b] httpd.py (HttpD._add_static_route): Update to bas on
resource (and kill some redundancy).
* [4fe6c87] httpd.py (HttpD.__init__): Update comment on disabled static
HTTP cache.
* [4867175] config.py: Un-SHOUT uri and resource ids.
* [56f1cc8] base.html: Fixup 'login' link.
* [e7d8f45] config.py: Make URIS notation (more readable and) diff-
friendly.
* [ce46c54] config.py: Make LOG_FILE, ACCESS_LOG_FILE really static,
file name only.
* [fc0c3e0] config.py: Code order fixes, code cleanup, doc updates.
* [a8f19a4] config.py (Home): All path in home should be created.
* [17c5073] builtins.py: Fix left-over old-style shouting HOME resource;
adds mbd_uri_home() to fix redundancy.
* [4bd21a1] Bulk-Fix all old uses of 'geturi'.
* [d810f85] config.py (Home.__init__): Fix: Add uris to Home
class/resource.
* [b9c204a] views.py: Fix live buildlogs.
-- Stephan Sürken <absurd@debian.org> Thu, 25 Mar 2021 16:15:34 +0100
mini-buildd (1.9.20) experimental; urgency=medium
User summary:
* Speed and usability improvements on gpg key handling and source
checking.
* Minor improvements.
Details:
* [e920116] models/source.py (Archive): Add timeout for urlopen (fixes
possible stalls on firewalls etc.).
* [058896d] gnupg.py (BaseGnuPG.import_pub_key): Add timeout for 'recv-
key' (fixes possible stalls on firewalls etc.).
* [ab0a563] gnupg.py (BaseGnuPG.import_pub_key): Fix: Only try keyring
files prefixed 'debian-archive-', not all.
* [2342ec3] gnupg.py (BaseGnuPG.get_pub_keys): Fix: return code on wrong
indent (would only return first) (?).
* [c2b8952] gnupg.py (DebianArchiveKeyring): Add this (as singleton) (so
we don't need to import over and over again).
* [f39fbb6] models/source.py (Archive.mbd_get_matching_release): No
Release file found: Rather use HTTPUnavailable, not BadRequest.
* [fd0ffdf] models/source.py (Source): Update help text for apt_keys (we
now only need one fitting key).
* [e317aea] models/source.py: Allow 'apt_keys' to be empty ('check' will
then show you missing key id's, which might come handy).
* [95fcaeb] models/source.py (Source): Put validation code in clean()
(so we get proper error hinting in django admin).
* [d0059d2] gnupg.py, models.source.py: Update gpg verify error handling
so you always get a message with all Release file keys as hint.
* [35a1613] gnupg.py (BaseGnuPG): keyserver timeout rather 5 seconds
(was 15).
* [40af4d8] models/source.py (Source.mbd_check): Improve user error/info
messages.
* [c399c0b] gnupg.py (BaseGnuPG.import_pub_key): Renice code.
* [5fe8955] gnupg.py: DebianArchiveKeyring -> PublicKeyCache: Let's just
cache any key we've seen here, initially adding installed debian
archive keys.
* [7bb563b] daemon.py (Daemon._port): Upload changes to incoming like a
any decent dude.
* [705ff50] daemon.py (Daemon._port): Properly cleanup up tmpdir via
contextlib.
* [b70f692] packager.py (Package.move_to_pkglog): Remove hack to cleanup
tmpdir from ports.
* [a1837c3] misc.py (TmpDir): Upgrade to python 3
tempfiles.TemporaryDirectory.
* [451a4cf] gnupg.py (BaseGnuPG): Make 'signatures_info' a proper class
method, and only call when actually needed.
* [9f9321d] misc.py (TemporaryDirectory): Add class that can be used
just like tempfiles.TemporaryDirectory.
* [0dbac88] *.py: Use misc.TemporaryDirectory directly where easily
applicable (and add prefixes for these tmp dirs).
* [5222d8f] gnupg.py (TmpGnuPG): Update to use TemporaryDirectory
directly (and add prefixes for all TmpGnupg objects).
* [3ba3125] misc.py (TmpDir): Let's keep this. Still useful in mixin use
with contextlib.
* [07fd3b3] gnupg.py (PublicKeyCache.__init__): Add (tmpdir) prefix for
PublicKeyCache.
* [ee1dcd0] gnupg.py (BaseGnuPG.__init__): Add keyserver class var; use
keyserver in PublicKeyCache only.
* [22c2980] gnupg.py (BaseGnuPG.gpgme_sigs2info): Make fail-save (in
case keyinfo fails, we just use as-is from gpgme).
* [8597b28] gnupg.py (PublicKeyCache): Update doc string.
* [25c139f] gnupg.py: Improve get_pub_keys[_infos], both in efficiency
(call gpg only once) and data (subkeys, fingerprint).
* [5189ed9] api.py (GetUploaders._run): Rather use Use
get_pub_key_info().
* [a492205] gnupg.py (BaseGnuPG.gpgme_sigs2info): Fix for new info
format, and add subkeys.
* [abab1c7] gnupg.py (PublicKeyCache.keyinfo): Make keyinfo method of
PublicKeyCache.
-- Stephan Sürken <absurd@debian.org> Sun, 21 Mar 2021 16:44:47 +0100
mini-buildd (1.9.19) experimental; urgency=medium
User summary:
* Update sbuild config and setup handling:
* New 'Sbuild-Config-Blocks-Top' 'Extra Option': Configure 1st.
* New 'Sbuild-Setup-Blocks-Top' 'Extra Option': Run 1st.
* "auto-apt-keys": Smartly don't use deprecated 'apt-keys' when
possible.
* Proper usage help.
* "Banner support" (makes mini-buildd's setup sections appear in magic
buildlog TOCs)
* Moves '15mini-buildd-workarounds' chroot setup script to predefined
selectable blocks.
* Removes "fix-shm" workaround (not needed for quite some time now --
still available as selectable block, though).
* Minor improvements.
Details:
* [0491488] net.py (reactor): Add function to get twisted reactor, and
use this (not None) for *FromString (fixes twisted client warning).
* [aaf2197] Update two left-over uses of deprecated 'ignore-
lintian=true'.
* [d8fbd74] httpd.py: Events: Call notifyFinish() when connection is
lost, don't try to write().
* [670532f] sbuild.py: Add experimental block, trying to re-enable
squeeze (debug option only).
* [b266e19] includes/mbd_events.html: Fix: migrate, retry, remove should
not use action=html (they have no views).
* [c916094] sbuild.py: "experimental-squeeze-apt-fix": Fix non-escaped
'\n'.
* [918bee5] sbuild.py: Copy "15mini-buildd-workarounds" to setup blocks
(smoke tested).
* [cf5fe93] sbuild.py: Add getter for blocks, with user error handling.
* [75716ec] sbuild.py: Properly breakup 15mini-buildd-workarounds into
the two workarounds it actually is.
* [b26bd7c] builder.py (Build.build): Use new getter for setup blocks.
* [df660cd] builder.py: (Update sbuild getter, and) use getter for
sbuild config.
* [3184240] api.py: Commenting "too much debug" -- enable only when
needed.
* [8cd9f5d] files.py (PerlModule.add_sbuild_blocks): Add helper to add
sbuild blocks.
* [b2bba81] builder.py (Build.build): Blocks: Add support for '-Top'
variant: config: first in file, setup: run first.
* [7f14605] builder.py (Build): Use extra methods to generate setup,
config resp.
* [2e01021] builder.py (Build): Use class vars for config and setup.
* [c1da9db] sbuild.py: codespell: Fix wrong spelling in comment.
* [0b2c972] builder.py: Minor cosmetics.
* [a0bee9f] builder.py (Build.generate_sbuild_cmd): Put sbuild_cmd
generation in extra method, and make class var.
* [e27dcbb] models/distribution.py: Blocks: Fix up inline doc for new
-Top variant.
* [80a00e5] changes.py (Upload.gen_buildrequests): Also loop new -Top
through to buildrequest.
* [ea1b242] builder.py (Build.generate_config): Always define $path
first (use sbuild's default path).
* [70eed7d] builder.py (Build.generate_setup): Show sbuildrc 1st, even
before -Top.
* [bbe1a94] debian/mini-buildd.maintscript: Rm conffile
/etc/schroot/setup.d/15mini-buildd-workarounds (now in sbuild setup
blocks).
* [19be572] models/distribution.py: setup defaults: Use fix-shm, set-
check-valid-until for now by default (as before).
* [a80ea31] sbuild.py: "ccache" config block: Avoid possible overwrite
of unrelated values.
* [2822ad9] sbuild.py: Fix typo in comment.
* [4be11ce] sbuild.py: Block "fix-shm": Omit CHROOT_PATH, omit function.
* [5aca825] sbuild.py: Rename block "set-check-valid-until" ->
"disable-*" && use correct env var to make actually work again.
* [2717f1e] sbuild.py: "ccache": Don't ignore install errors.
* [bf7bc67] builder.py: Merge 'auto-apt-key-workaround' into 'auto-apt-
setup' && always only use least outdated variant to add apt keys.
* [b807244] Depend on schroot 1.6.10-3, and obsolete setup block 'fix-
shm'.
* [c1a630e] files.py (File): Support description string per 'File'.
* [c3cc4df] files.py (File): Add "banner" (i.e, headline to be easily
parsable later) support. Shell scripts only for now.
* [b943f7f] sbuild.py: Update all blocks to have a description.
* [a04ddf0] builder.py: Update all auto-Blocks to have a description.
* [dc875fb] builtins.py (Plain): Add files.py's banners to buildog TOC.
* [409efc0] builder.py: Stop generating extra "cat" command (banners now
cat themselves).
* [dc54042] sbuild.py: Add proper usage (name: description) for blocks.
* [532da63] sbuild.py: Use dedicated classes for CONFIG|SETUP_BLOCKS.
* [4efcecc] sbuild.py (Blocks): Integrate usage* and get* functions into
new generic class.
* [018defb] sbuild.py (Blocks): Compute extra_option(s) strings, update
usage().
* [de1c2c4] sbuild.py (Blocks): Generalize/fix validation functionality.
* [02d3bf1] models/distribution.py (Distribution.clean): Add
(config,setup) blocks validation.
* [744ce84] sbuild.py: Remove most hadcoded uses of Sbuild-*-Block[-*].
* [ce78d5b] sbuild.py (Blocks): Should rather be OrderedDict, not dict.
* [8f92a0c] sbuild.py: Add defaults settings here, and update default
setup (no more hardcoded use of Sbuild-*-Blocks[-*] now, albeit doc).
* [fd67a10] files.py (ShellScript.add_banner): Put actual banner before
cat'ing script.
* [9c30ad1] files.py (File): Add "name" option, put "name, description"
first.
* [6f6cd1e] files.py: Don't add banner in Dir, just produce it on the
fly in File.get().
* [bdb3bcd] builder.py (Build.generate_setup): Fix: Duplicate assignment
for self.setup.
* [b70e06b] files.py: Make "name" mandatory for all File(s).
* [191d5eb] sbuild.py (Blocks.add): Add add(), and remove all explicit
dict setters.
* [17372b0] builder.py: chroot setup commands: Renice directory name to
'.setup.d'.
* [0c9dbc9] sbuild.py: Derive sbuild.Blocks use files.Dir.
* [c442a82] sbuild.py: Move Blocks.get() to Dir.get() (generic).
* [2a6cedb] files|sbuild|builder.py: Skip all "prefix support"
(basically only makes things complicated and is confusing).
* [e3fe15c] builder.py (Build.generate_setup): Update all explicit dict
setters to add().
* [39241ed] files.py (File): Update doctests.
* [3ff0c0f] files.py (File): Banner support for both, whole file and
snippet.
* [96fb9b3] builder.py (Build.generate_config): Descriptions for all
snippets (instead of verbatim script comments).
* [744a6d4] files.py (File.banner): Prefix File.name in default banner.
* [e83c1de] files.py (PerlModule): Add "perl banner" example code
(commented).
* [96dcedc] files.py (File.__init__): Add support to add snippet
directly with constructor (most common use case).
* [bed4dc3] sbuild|builder.py: files: Update all applicable cases to add
snippet directly from constructor.
* [c2630ec] files.py (Dir.add): Never override existing (error out).
* [e6f45c6] files.py (Dir.add_dir): Add files from another 'Dir' (with
optional filtering).
* [39f99fe] builder|files|sbuild.py: Refactor, simplify.
* [08835fa] builder.py: auto setups: Properly rename show-sbuilrd ->
auto-show-sbuilrd.
* [8894d59] builder.py: auto setups: Rename auto-https -> auto-apt-
https.
* [b5c8f89] builder.py: auto setups: Split up 'auto-apt-setup' in 'auto-
apt-keys', 'auto-apt-update'.
* [92b6762] devel: testsuite: Simplify sequences to be three-digit
numbers.
* [74f3cfc] models/source.py (Archive.mbd_get_matching_release): Raise
proper internal excption when no Release file is found.
* [7345fad] models/source.py (Source.mbd_check): No need for extra
handling of internal Unauthorized; improve message wording.
* [0bc280b] distribution.py: Solve the jessie dilemma
('archive.debian.org' and 'ftp.debian.org' are not the same).
* [43256bb] control: Add dep python3-distro-info (for use in
distribution.py, import only for now).
* [5468203] __init__.py (e2http): Don't always log exception.
* [0e0baef] devel: Fix bash-completion for new sequence numbers.
* [dbacd28] files.py: File: API update: save_as, update_as, save,
update, add dir.update and update all code.
-- Stephan Sürken <absurd@debian.org> Tue, 16 Mar 2021 12:15:31 +0100
mini-buildd (1.9.18) experimental; urgency=medium
User summary:
* Update sbuild config and setup handling:
* New 'Sbuild-Config-Blocks' 'Extra Option': Predefined config blocks.
* New 'Sbuild-Setup-Blocks' 'Extra Option': Predefined script blocks.
* 'sbuildrc_snippet' and 'chroot_setup_script' are now blank by default
and truly custom options.
* When not using the (automatic) setup, 'Sbuild-Config-Blocks: ccache'
and 'Sbuild-Setup-Blocks: ccache eatmydata' need to be set manually
to get the previous (default) behaviour.
* Minor improvements.
Details:
* [07fbc79] files.py: Initial implementation: Handle line based text
files (configs, scripts, etc..).
* [fa5daaf] files.py: Real-world adaptions after sbuildrc POC.
* [aa55d3b] builder.py (Build.build): Use files.PerlModule for
.sbuildrc.
* [f4f9587] __init__.py: Move open_utf8 here (and add some explanation).
* [6161bb6] files.py: Rather use open_utf8().
* [47d672c] files.py (File): Add update() method (form ConfFile), make
'#' default comment.
* [e27f45c] models/repository.py: Update (reprepro) conffile generation
to files.File.
* [9dea2b1] models/chroot.py: Update (schroot) conffile generation to
files.File.
* [23e628b] misc.py (ConfFile): Remove ConfFile (no longer used).
* [6130912] models/repository.py
(Repository._mbd_reprepro_conf_options): Mv conf helper functions to
where they are used.
* [7195e3e] files.py (Dir): Manage a collection of Files in a directory.
* [4af044f] builder.py: Add general handling for chroot-setup-commands
(with custom script from buildreqeust initially converted).
* [50a930f] builder.py (Build.build): Convert apt-transport (https) to
new generic schroot-setup-command handling.
* [691e5d0] builder.py: Go back to """-multiline notation for script
strings (looks a bit weird, but otherwise only advantages).
* [df8ff6f] builder.py: Update remaining chroot setup code to general
handling.
* [e2b0db6] builder.py (Build.build): Rm useless comment, garbaging
around from somewhere.
* [7842abb] builder.py: sbuils perl config: Also back to multi-line
notation.
* [5d36d0e] builder.py (Build._buildlog_to_buildresult): Use
mini_buildd.open_utf8().
* [9a33ead] files.py (File): 'Don't edit' comment: Better wording:
Created, not Autogenerated.
* [5e528b9] builder.py: Add support for predefined schroot setup
scripts; use script name prefixes "auto-", "custom-", "custom-block-".
* [3b76ef8] chroot.py: New module; move new chroot setup blocks here.
* [7b4ca58] models/distribution.py (Distribution.Admin): Add doc for new
extra option: Chroot-Setup-Blocks.
* [8898bab] chroot.py: Copy all predefined scripts from
model/distribution.py.
* [2c11a79] builder.py (Build.build): chroot setup: 'custom-
buildrequest' should run after 'custom-block-*'.
* [0efa12f] builder.py: Acrually Chain Chroot-Setup-Block extra option
trough (dist->buildrequest->sbuild).
* [0821abf] chroot.py: APT_GET (Quiet, non-interactive, least invasive
and loggable apt-get call): To be used throughout internal script
code.
* [1dbbf92] Rename chroot.py -> sbuild.py.
* [d805ba1] builder.py: Use new APT_KEY shortcut for all auto-generated
scripts as well.
* [418eea4] sbuild.py: Re-order blocks (ccache 1st) and remove example
block.
* [cee7b4a] models/distribution.py: Make chroot setup blocks "ccache
eatmydata" default for setup.
* [110dee4] models/distribution.py: Remove all script code. Default
value for chroot_setup_script is now blank.
* [7f0590e] files.py: Add some shebang parsing && AutoScript
(autmatically parse whole script with shebang).
* [e340570] models/distribution.py: 'schroot_setup_script': Make shebang
mandatory if given (with django validation).
* [a1ab1c0] builder.py: "custom-buildrequest": Only add if not zero-
sized && use AutoScript (enables arbitrary shebangs again).
* [dd77185] files.py (AutoScript): Add file in non-snippet mode (fixes
double shebang).
* [c4959c5] builder.py: Chroot-Setup-Blocks -> Sbuild-Setup-Blocks.
* [8bcbf43] builder.py (Build.build): Add "auto" chroot command to cat
sbuildrc to buildlog.
* [aee9440] models/distribution.py, changes.py: New extra option
"Sbuild-Config-Blocks", and loop through in buildrequest.
* [e7c2047] sbuild.py: Add CONFIG_BLOCKS; copy 'ccache' from
distribution (with template strings).
* [454aaef] builder.py (Build.build): Support adding of Sbuild-Config-
Blocks.
* [ac200d3] files.py: Loop kwargs through for all subclasses of File.
* [91afa27] files.py (File): Support placeholders.
* [801c45e] builder.py: Support placeholders for sbuildrc (LIBDIR only).
* [938a67b] test-data/dos|unix.txt: Add test files: dos mode line break
(CRLF ASCII), unix line break.
* [33f8789] files.py: Skip writing extra "don't edit" comment (little
gain, duplicates if snippets are merged, hardens automatic testing)
* [bf3c973] files.py (File): Add tests that dos files are handled fine.
* [4cb6be7] models/distribution.py: Obsolete mbd_get_sbuildrc_snippet.
* [c2c9a2e] misc.py: Obsolete fromdos.
* [3d81791] models/distribution.py: Make default for sbuildrc_snippet
blank && doc update.
* [6877de1] misc.py (Hash): Upgrade file hash support to class, add
doctest.
* [f80459e] files.py: Move SourcesList support here.
* [7e1ffc2] files.py (SourcesList.has_https): Make tool function class
method.
* [f8958da] misc.py (chroot_libdir_path): Rm, obsoleted by
config.Resource.
* [cc6b4b5] misc.py (API): Remove unused 'API' class.
* [021eeea] builder.py (Build): No need for sbuildrc_path property.
* [a5dfc21] builder.py: Clean up (notation && doc) sbuildrc/setup
blocks.
* [2ac6ba9] builtins.py (Plain): buildlog index: Make generic E(RROR),
W(WARNING) ignore case.
* [b594117] builtins.py (Plain): buildlog index: Also recognize 'ERR:
foo', 'WARN: foo'.
* [dafd784] builder.py: sbuild apt setup: Copy apt keys to
/etc/apt/trusted.gpg.d if exists (instead of always using deprecated
apt-key).
* [dcb8f31] .prospector.yaml (pylint): Update to reality.
* [f6ce0c4] setup.cfg (max_line_length): Use _, not - (warnings from
dist.py).
-- Stephan Sürken <absurd@debian.org> Wed, 10 Mar 2021 12:10:03 +0100
mini-buildd (1.9.17) experimental; urgency=medium
User summary:
* Improve and harden chroot check to never be interactive.
* 'mini-buildd-events': Improve type handling (exit-on, fail-on).
* Deprecates '--jobs' (effectively enables parallel building by default).
* Support new upload options: deb-build-options, deb-build-profiles.
* Release signature verify updated to behave like apt ("any sig, not
all sigs").
Details:
* [3c220d8] models/chroot.py (Chroot._mbd_schroot_run): Always run w/
env DEBIAN_FRONTEND=noninteractive.
* [96d1b84] models/chroot.py (Chroot.mbd_check): Use dpkg options
--force-confdef, --force-confnew on (base) chroot upgrade.
* [62dfebe] gnupg.py (BaseGnuPG.verify2): Update to allow success if any
sig verifies (still not used).
* [64ae59e] models/source.py: Actually switch over to new (GPG) verify2.
I.e., release checking now succeeds if *any* sig is ok (like apt).
* [0005b8d] gnupg.py: Add keyinfo(): General tool to get info on an
(arbitrary) public key.
* [2e0d8d4] models/gnupg.py (GnuPGPublicKey.mbd_prepare): Update to use
gnupg.keyinfo().
* [3cf0e1f] gnupg.py: Log less, debug better.
* [7dd7510] gnupg.py (verify2): Improve error messaging && stop using
gpg.gpgme (discouraged) (using gpg.errors instead).
* [3c12cec] models/source.py (Source.mbd_check): Improve error handling:
Make public exception from gnupg available in MsgLog.
* [1273cb0] mini-buildd-events: Add --expect option.
* [9b9e92e] mini-buildd-events: Make types choices class attribute.
* [12d821f] events.py: Drop '--stop, --expect', go with '--exit-on,
--fail-on' (nicer inspection on events).
* [6b1aec9] setup.py: Install testsuite packages.
* [06b79a7] Add testsuite package to test upload options (i.e., that end
up in env during build).
* [d9d63ab] changes.py (Upload.Options): Add: deb-build-options, deb-
build-profiles (usage only for now).
* [2478323] changes.py (Upload.gen_buildrequests): Support user option
'deb-build-options', and newly support 'deb-build-profiles' the same
way.
* [eda74a4] testsuite package installed-options: Test for profiles as
well.
* [c84f7e8] builder.py: Support env setting for DEB_BUILD_PROFILES.
* [0586f65] models/distribution.py: Add doc for new "Deb-Build-Profiles"
extra options.
* [3d217f4] .gitignore: Update for installed-options.
* [aacb40e] Revert "setup.py: Install testsuite packages." (installs
artefacts too, not a good idea after all w/o more complex setup)
* [aa7b598] doc/user.rst: Add doc for new deb-build-options|profiles
upload options.
* [e97b572] models/daemon.py: Deprecate 'sbuild_jobs' field, and stop
using sbuild '--jobs' option.
* [e004d6e] base.html: On Login, Logout, Change User: Redirect to
original page.
* [9cb0722] views.py (BuildlogView.get_context_data): Fix: Forgot switch
to event-log.
* [3d267b1] mbd_events.html: Fix: Forgotten update of buildog links to
new event-log style.
* [21f8dde] events-log/log.html: Un-hardcode "/log/".
-- Stephan Sürken <absurd@debian.org> Fri, 05 Mar 2021 09:40:36 +0100
mini-buildd (1.9.16) experimental; urgency=medium
"Check please" release:
* Replaces old "pkg log" (var/log/<repo>/...) by
"events log" (var/events-log/<dist>/...):
- Avoid possible conflicts with actual log files in log/.
- Consistent file hierarchy && gets rid of extra '_failed/' dir.
- Now includes all item's events, so they can be replayed.
- Time-based expiration via internal crontab (weekly deletion
of items older 1 year).
* Sbuild checks:
- Add support for piuparts, autopkgtest.
- generic 'sbuild check' modes (upload options && config)
- generic 'sbuild check' result handling.
Detailed changes:
* [eb75e9a] control (Depends): twisted dep must be in module package
(fixes missings deps for *-util).
* [d51d0a9] building: Add autopkgtest support (needs to be enabled
explicitly in Distribution's extra options).
* [e76feff] models/distribution.py: Doc cosmetics (add missing spaces).
* [2c36004] Add (experimental) piuparts support.
* [4445be1] package-templates/mbd-test-cpp: Add simple autopkgtest.
* [cb79bc5] models/distribution.py: Rename LINTIAN_* constants to
CHECK_* (for later generalisation for piuparts and autopkgtest).
* [72d8165] models/distribution.py: Update piuparts mode to generic
constants.
* [faae147] autopkgtest: Move to upcoming generic mode.
* [a84ffbe] lintian: Update to generic check mode (buildrequest).
* [59ec2de] distribution.py: build checks: Add CheckMode class and put
other generic code here.
* [cae5a86] builder.py (Build._buildlog_to_buildresult): Also parse
status for Piuparts && Autopkgtest.
* [d53401e] buildresult: Rename Sbuildretval -> Sbuild-Retval.
* [86ce0b1] distribution.py: Add PASS, WARN, FAIL status name list
constants as parsed from sbuild source (unused for now).
* [d6b88af] changes.py: Add to_json(): json converter for Changes.
* [bfc6bac] changes.py (Upload.gen_buildrequests): Remove arg "daemon"
(now handled as singleton).
* [ee960ca] changes.py (Changes.to_json): Only consider simple values
(str).
* [6ebffd7] packager/builder events: Temporarily add "json" extra with
the new changes.to_json() values.
* [e6be751] Replace 'mini_buildd.config.primary_http_endpoint' by
'mini_buildd.http_endpoint' (shorter, better name && location).
* [1ad2f17] events: Cosmetic: 'timestamp first, not last'.
* [4b5021f] events: Use initial proposed new format, and put proposed
old down.
* [3889691] changes.py: Set "Packager" for buildrequests, "Builder" for
buildresults (instance's HTTP url).
* [f1086a8] packager.py: Harden corner-case error handling.
* [5fb3064] misc.py: Add class "Snake" for all conversions to snake
case.
* [db90bbb] api.py: Use Snake() class.
* [bf9cfb2] misc.py: Add Field class.
* [89d5717] *.py: Update code to new Field class.
* [155deb1] changes.py (Changes.to_json): Use Field class, and only
select custom fields.
* [4cd3de3] events.py: logchanges(): "changes" may be python dict, so we
cannot use cget().
* [7499a84] builder.py: buildresult: Add live_buildlog.
* [34ef54e] builder|changes.py: Rename custom field "Client" -> "Upload-
To".
* [290fde7] events.py: Cosmetic ordering: timestamp should be after main
fields, before extra.
* [15bcd97] builder.py: buildresult: Add Runtime-Start+Delta, and put
setters before file save.
* [fdddcb0] packager.py: Cosmetic: Indent fix.
* [8fd6ec2] builder.py: Add Buildlog-Name && remove non-buildresult
values from extra (events).
* [5584735] packager.py: Remove all non-buildresults values from extra
(except 'log' and 'auto_ports').
* [dad299d] events.py: Update to new extra syntax.
* [065426c] snippets/events.html: Update for new extra syntax.
* [b3a00fc] includes/mbd_api*.html: Fix some wrong usages of "in" (sort
of worked anyhow).
* [2886c70] events.html: Exclude build and check short status from
buildlog link.
* [0cbcd6a] templatetags/mini_buildd.py: Add tag to show short sbuild
status.
* [6b6b030] packager.py (Package.add_buildresult.check_lintian): Use
CheckMode.PASS|WARN.
* [85ffe4b] packager.py (Package.add_buildresult.check): check_lintian
-> check: Make generic.
* [8aa8b24] distribution.py: Integrate actual check run into CheckMode
class.
* [4765d61] distribution.py (CheckMode): Add human-readable option
strings.
* [6b88f63] changes.py (Upload.Options): _OPTIONS: Update to diff-
friendly notation.
* [088348e] devel (testsuite-packages): Auto-rebuild DSC when local
changes are newer.
* [9111cb8] changes.py (Upload.Options): Support new
"lintian|piuparts|autopkgtest-mode" options, deprecate "ignore-
lintian", "run-lintian".
* [b1ab7eb] changes.py (Upload.Options): We should use 'errfail', not
'warnfail' (when handling deprecated options).
* [c23b00e] Rename testdata for options parsing (deprecated, 1.0).
* [f0c690d] changes.py (Upload.Options): Add doctest for current set of
options.
* [46d9b51] test-data/changes.magic|options_1.0: Remove unneeded
content.
* [99f377d] changes.py (Upload.Options): Rename "magic" to
"options_0.8".
* [138fd33] builder.py (Build._buildlog_to_buildresult): Fix regex to
catch status w/ spaces (like autopkgtest's "no tests").
* [fc4f21b] templatetags/mini_buildd.py: Add tag mbd_cssify (needed
solely for "no tests" status from autopkgtest).
* [d6b13b7] mini_buildd.css: Slightly adapt colors for check status.
* [1eac2f4] distribution.py (CheckMode): Make actual status value arg
for check only (should not be a value of a CheckMode instance).
* [169fbfe] packager.py: Update buildresult check to check piuparts and
autopkgtest as well.
* [f51cf32] changes.py (Upload.gen_buildrequests): Update to produce
correct check modes (lintian, piuparts, autopkgtest).
* [d08120e] testsuite: Add new package 'installed-all-checks': w/
autopkgtest configured and all tests enabled as per user upload
options.
* [7b85c21] changes.py (Upload.Options._parse_ancient): codespell fix
(doc only).
* [9fa29f5] models/repository.py (Repository.mbd_package_precheck): Fix
typo in public error message.
* [878920b] doc/user.rst: Update "Upload Options".
* [3a0aa4b] distribution.py (CheckMode): Doc && naming updates.
* [2d282e1] distribution.py (CheckMode): Add validation checking and
public error messages && resp. doctests.
* [721af12] builder.py (Build.build): Fix: Explicitly set the "--no-
run-<checker>" for piuparts && autopkgtest as well.
* [8c77869] distribution.py (CheckMode.__init__): Make default mode
DISABLED.
* [8996ae5] testsuite-packages/installed-all-checks: For all checks:
default is errfail, disabled for i386.
* [b8d5752] Rename testsuite package: installed-all-checks -> installed-
sbuild-checks.
* [c940fa3] changes.py (Upload.check_mode): Update to return actual
CheckMode object.
* [7199e95] changes.py (Upload.gen_buildrequests): Fix wrong use of "or"
using new check_mode() method.
* [114132e] packager.py (Package.add_buildresult.check): Fix && simplify
using new check_mode() method.
* [b6836c9] changes.py (Upload.gen_buildrequests): Fix autpkgtest mode
config retrieval.
* [664ab55] testsuite-packages/installed-sbuild-checks: Actually also
rename file contents.
* [86ebc4d] distribution.py: Update CheckMode to use enum.Enum.
* [03b9186] distribution.py: Rename CheckMode -> SbuildCheck (Mode is
now SbuildCheck.Mode).
* [2d71fe1] *.py: Bulk-fix error-prone use of "or".
* [1ef961f] devel: (convenience): Try to avoid "connection refused"
warnings by appr. pre-sleep.
* [00576ca] changes.py: (rpl PkgLog): Add select() tool func && LogPath,
Log classes
* [62667c6] misc.py (rpl PkgLog): Update old PkgLog to deal with new log
dirs w/o subdirs.
* [c65c2f7] snippets/events.html: Add "migrate" and "remove" actions for
INSTALLED.
* [f602950] views.py (rpl PkgLog): LogView: Add new Log() to context.
* [048af3f] packager.py (rpl PkgLog): Update to new Log().
* [abac481] log.html: Add data from new Log() in POC (yes, can do what
PkgLog can and more) style.
* [a074c24] events.py (Event): Add from_changes(), update Events logger
functions.
* [702497b] events.py (Event.from_json): Rather use "data", not "json"
for "json data" (conflict with module).
* [1cbb770] events.py (Event.save): Add support to save even (as json
file).
* [09be165] packager.py: Write event file (as json) to (pkg) log.
* [07d5229] Put new (pkg) logs to var/logs (not /var/log).
* [dc1b9a2] Rename log_index.html -> logs.html (and update for new Log).
* [7d828e3] New Log: Start dir hierarchy with <dist>/ (not repo id), and
get rid of '_failed' dir workaround.
* [7f11fe9] snippets/events.html: Offer "retry" on FAILED.
* [ab2a001] events.py (Event.save): Save to logs as default.
* [296710f] events.py (Event.load): Add load() method.
* [75cc64b] events.py (Events.log): Always save event to logs.
* [68d76be] changes.py (LogPath): Add option to create fullpath.
* [88ba6bc] changes.py (Log): Support multiple events.
* [b70b37b] packager.py (Package.move_to_pkglog): No longer save event
here (done implicitly now).
* [835625e] api.py (Retry): Fix for multiple events in log.
* [1f4461a] views.py (LogsView.get_context_data): Use actual Event
objects, not json.
* [0d38b63] includes/mbd_events.html: Make events datatable available
via include; update throughout html.
* [262ae3f] Rename "logs" -> "events-log".
* [11e945c] events.py: "distribution first" (in-line with other
interrfaces).
* [5911b98] devel (testsuite-packages): Build these w/ artifacts (just
so we have the scenario "non source-only upload" as well).
* [cc19ebb] changes.py (Upload.Options.usage): Add usage() helper.
* [64544be] api.py (UploadOptions): Fixup usage && default (still used
deprecated ignore-lintian=True).
* [773dcd4] mini_buildd/log.html: Fixup browse link for multi-events.
* [2ab27cb] templates/mini_buildd/log[s].html: Fixes, add event table to
lof.
* [c56385a] events.py (Event.save): BUILT saves need arch in file name.
* [d7cf964] events.py (Event.log_path): Add log_path method.
* [4df8c6f] includes/mbd_events.html: Add event log link for all events
but REJECTED.
* [3b1954d] event log: Adapt template files to new naming.
* [ff01b12] django_settings.py: Make our custom templatetags and
"static" builtin.
* [6d36fc0] daemon.py: Add expire cronjob for new events log (delete
itmes older one year every week).
* [a6f060b] models/repository.py: Remove 'purge_orphaned' code for old-
style package log.
* [4950b93] misc.py: Actually remove old PkgLog class.
-- Stephan Sürken <absurd@debian.org> Thu, 25 Feb 2021 20:25:04 +0100
mini-buildd (1.9.15) experimental; urgency=medium
API cleanup and various bug fixes:
* [141f14a] models/source.py (Archive.mbd_get_matching_release):
Simplify: Use only one with statement.
* [6e2e0c6] models/source.py (Archive.mbd_get_matching_release): Support
'InRelease' (vs 'Release' + 'Release.gpg'), and make it primary
method.
* [cbaf22e] models/source.py (Archive.mbd_get_matching_release): Do
error handling w/ Exceptions only.
* [5edcf4b] models/source.py (Archive.mbd_get_matching_release):
Sanitize user messages.
* [49f3a14] api.py: doc: Don't add '.. commands' to group titles
(redundant).
* [41184d2] api.py: Move to group "Daemon": terminatepackage,
terminatebuild, getkey, getdputconf, getuloaders, logcat.
* [c351e67] api.py: New group "Repository": test|keyringpackages, repo
snapshots, getsourceslist.
* [b06876d] api.py: Snappier naming for groups repository, package,
user.
* [975ad5b] api.py: Simplimprove "list": List one distribution only.
* [8208735] api.py: Switch to use dedicated classes for common
arguments.
* [34ab883] api.py (Argument.update): Add support for per argument
updater method.
* [ec2f7c1] api.py (RepositoryRegex): --repository: Switch to dedicated
class, remove update() redundancy.
* [822bf99] mini_buildd.js: api: Fix status summary state change.
* [5c7d920] api.py: Make dedicated class for --distribution.
* [51a5329] api.py: Dedicated Argukent classes: Always explicitly give
arg identities.
* [c933ed1] api.py: Codename, Suite: Add dedicated classes.
* [b6287c4] api.py: Update (most) --distribution args to dedicated
classes.
* [147beb0] mbd_api_arg.html: Fix 'selected' for flag for "select".
* [2054453] api.py: Simplify BoolArgument.
* [59a6993] api.py (Distributions.__init__): Don't set default.
* [c255b6f] * src/mini_buildd/api.py: Fix distribution for --auto-port
and find.
* [74648ee] api.py: *Distribution*: Remove code redundancies generating
choices.
* [3a9447b] api.py: Update [Pattern]Source to dedicated classes.
* [e07d54a] api.py: Call command update after Argument's.
* [4972b71] api.py: Update remainig version && distribution args to use
dedicated classes.
* [cea3853] api.py: Update --repository (glob pattern) to dedicated.
* [35ffc72] api.py: Command.update() rather that Command._update().
* [9efbae7] api_view/show.html: Hide porting section in details.
* [09c0533] mbd_snippet.html: Auto-open packages && building again when
ongoing.
* [b2151f2] templatetags/mini_buildd.py (mbd_api): Better error handling
on unknown command name.
* [1320f7a] api.py: OMG: Make api command names snake case (i.e. GetKey
-> get_key, was getkey).
* [9932eee] api.py: Fix: Source must not have a default.
* [5565998] models/gnupg.py: Update code path for Client class (fixes
remote prepare).
* [d431677] misc.py: Add common function for chroot key.
* [f478ad4] models/chroot.py: Add mbd_key, and use common chroot_key()
function.
* [722b827] api.py: "status" result: chroots: Use list of chroot keys
(rather than dict).
-- Stephan Sürken <absurd@debian.org> Sun, 14 Feb 2021 18:39:16 +0100
mini-buildd (1.9.14) experimental; urgency=medium
Allow repository to have inactive distributions (i.e., don't go
completely down just because one dist has problems). Plus misc fixes:
* [00ae905] models/repository.py (parse_distribution): Fix wrong field
name (in error handling).
* [e1ad010] setup: Update keys for stretch-backports, stretch-backports-
sloppy.
* [1087041] Rename "autosetup"->"setup" ("auto" seems redundant).
* [3619b67] gnupg.py: Initial support for gpgme (not used for now).
* [013f4d7] setup: Update keys for stretch/updates (security).
* [c5ad3ab] remove-aptkey-constraints.sql: Add remedy script for AptKey
constraints.
* [ad2fbbd] Revert "models/gnupg.py (AptKey.Meta): Use UniqueConstraints
to avoid duplicate keys (Fixes: We can now change keys in admin)."
* [37476e5] models/gnupg.py (AptKey.clean): Use django validation error
&& allow changing of existing instances.
* [93cbe8d] gnupg.py (BaseGnuPG.verify2): Support to ignore expired sig
keys (not used yet).
* [59d4403] models/source.py: Add user message when source fails to find
archive.
* [44d2415] models/source.py (Archive.mbd_get_matching_release): Add
(commented) code to call verify2.
* [98585cd] models/base.py (on_change): Only run (for reverse deps) if
LETHAL_DEPS is true.
* [885e258] models/repository.py: Model Repository:
LETHAL_DEPENDENCIES=False.
* [727e9a3] models/distribution.py: Model Distribution: Add extra
mbd_is_active() (true when all sources are active).
* [a25b842] models/repository.py (parse_distribution): Add check for
active distribution.
-- Stephan Sürken <absurd@debian.org> Tue, 02 Feb 2021 10:34:45 +0100
mini-buildd (1.9.13) experimental; urgency=medium
Bug fixes (all sizes); add manual --archives option for autosetup;
1st complete testsuite run on a buster-based setup:
* [e4cde92] daemon.py: Protect mbd_start|stop w/ lock.
* [359df56] admin.py, models/base.py: Move code to disable
'delete_selected' to our custom AdminSite (i.e., makes that work
again).
* [3b67071] models/base.py (Model.Admin.delete_model): Rather call
super() that manually delete obj.
* [3d200fb] misc.py: Jazzing unused 'dont_care_run' up to 'attempt'.
* [04b5829] models/base.py (StatusModel.Admin.mbd_activate):
'on_activate' should be called any time if active, not just on change.
* [f49e817] mini-buildd: Ensure http shutdown (fixes possible zombie
runs after unexpected exceptions).
* [cd51408] devel: Add (commented) code w/ gbp --snapshot --distribution
working.
* [579dd26] api.py (BoolArgument): Don't use 'store_true' for command
line (Fixes regr. after making Bool=Select(True,False)).
* [5e38459] api.py: Move all negative bool args to --with-foo (makes no
sense now bool is select(true, false) with default).
* [9d70548] api.py: Conformly name all bool args that enable a feature:
--with-foo.
* [0c94e15] client.py (Client.api): Use extra result var for error
(fixes interaction loop).
* [7aeda7f] models/source.py (Archive.__str__): Round ping times.
* [364f02a] api.py (AutoSetup._run): Fix: Forgot to actually provide
args for subcommands.
* [f6416ec] devel: Add MBD_ARCHIVES as configurable for testsuite.
* [441be5f] devel (check_devsys): systemd-detect-virt: Be quiet.
* [00e3ce3] devel; bash-completion: Add newline.
* [74cf74f] devel (mbd_setup): Add 'setup' to ease top-level testsuite
setup.
* [dab6cdf] * devel (mbd_run): 'Name' arguments.
* [a4e12f0] devel: testsuite: Support MBD_IGNORE_LINTIAN.
* [a3583ef] devel (build-ourselves): Check for success (INSTALLED) now
it builds in non-experimental.
* [7ff7ab2] devel: Compute some codeversions, use in our own snapshot
Debian version (Fixes check 'build-ourselves' under buster &&
bullseye).
* [f47da9e] devel: testsuite-packages: Packages (hard-coded) go to sid-
test-unstable (fixes tests under bullseye, buster).
-- Stephan Sürken <absurd@debian.org> Wed, 27 Jan 2021 21:52:27 +0100
mini-buildd (1.9.12) experimental; urgency=medium
Support dput "ftps" method (internal uploads and custom
mini-buildd-dput command) -- instead of just try both variants (OT:
patches proposed for dput and dput-ng as well).
Also polishing around the 'model status code' -- i.e., 'Daemon status'
and 'Daemon running' should now correlate, and model data should be
synced at all times.
* [a9bf547] control (Depends): Add minimal version for node-clipboard
(to catch bug #960859).
* [90c1002] config.py: Default HOSTNAME should be 'localhost', not None.
* [2508324] net.py (Endpoint._url_netloc): Make code more readable.
* [14f0d7e] models/daemon.py (Daemon.mbd_get_dput_conf): Fix to use
"ftps" if ftp endpoint is ssl.
* [1fb2995] models/base.py: save_model(): Rather call
super().save_model(), not obj.save().
* [e0a3462] models/daemon.py: Make ftp_endpoint() dynamic (fixes: would
not change on model change).
* [851cc72] models/daemon.py: Make fullname() dynamic (fixes: would not
change on model change).
* [0fd818d] models/daemon.py: Make all gnupg stuff dynamic (fixes: would
not change on model change, redundant code, redundant properties).
* [193b54e] models/daemon.py: Make mbd_fullname normal method (property
historically needed for urold django, afair).
* [6397116] packager.py (Packager.run_event): Add missing exception
logging for bogus event.
* [7dff335] __init__.py: Move log_exception() helper to package init.
* [b40d59b] models/daemon.py (Daemon.mbd_notify_event): (Regr) Fix after
change that parse_distribution() throws.
* [a510efa] __init__.py (log_exception): Log to level WARNING (not
ERROR) by default. Auto-log on e2http().
* [ac408cf] httpd.py: Make twisted "events" error response safe.
* [785c27f] mini-buildd-dput: Don't retry TLS, just rely on configured
method (ftp or ftps).
* [de3cf70] cli.py: dput.cf parser, mbd-config detection: Methods in
ftp,ftps and section needs to start w/ "mini-buildd".
* [23867fc] cli.py: dput.cf parser: Properly handle 'ftps' method (and
let http completer only have either http or https choices).
* [75baba2] net.py: get_certificate(): Fix "unclosed resource" py
warning.
* [6c9496c] __init__.py: log_excpetion(): Impl. via (py3) 'exc_info'
flag.
* [455ddff] packager.py (upload_buildrequests): Don't try to upload
error results on upload fail -- package won't be started anyway (fixes
public error handling on buildrequest upload fail).
* [ed2e317] builder.py (Build.run_deferred): Rm obsolete level in
log_exception.
* [18f3e9d] builder.py: Skip "failed buildresult upload" altogether:
Failed buildresults messaging was not safe, virtually no use case,
greatly simplifies builder code.
* [7d6da55] api.py (keyring|testpackages): Fix: Also stop at event
REJECTED.
* [819b0f8] ftpd.py (FtpD): Fix: Don't bind in constructor.
* [6fa470b] ftpd.py: Use endpoint URL as thread name.
* [95e891a] daemon.py: Fix: ftpd thread not updated on model change.
* [3c819ed] api.py (AutoSetupDaemon): Call update_model after ftpd
change (fixes autosetup / ssl case).
* [c8ec2c3] models/daemon.py: Switch from model_save() to save(opt sync)
to sync with Daemon.
* [ccda8b6] daemon.py: Properly rename update_model -> sync.
* [0548f3c] models/daemon.py (Daemon.save): Fix: 'Normal' save() needs
to be run before (optional) sync().
* [03d8985] models/daemon.py (Daemon.save): Fix: Per default, sync must
be on.
* [0465983] daemon.py (Daemon.sync): Actually update from db (using
refresh_from_db()).
* [6d2236e] daemon.py (start): Don't start if daemon is not active.
* [a8e0087] daemon.py: Update start/stop/restart to be methods
(prefixing "mbd_")
* [cc0d6f7] daemon.py: mbd_restart() is not used (remove),
* [33263da] mini-buildd (CLI.runcli): Update to mbd_start|stop.
* [5e595cb] api.py: Update to mbd_start|stop.
* [21ffa85] models/daemon.py: Daemon model: mbd_start|stop on
de|activation.
* [d7dff3d] api.py: Start,Stop->Activate,Deactivate: Actually
(de)activate the model state.
-- Stephan Sürken <absurd@debian.org> Sun, 24 Jan 2021 14:03:09 +0100
mini-buildd (1.9.11) experimental; urgency=medium
Convert 'wizards' into diversed API calls, and some:
* [9b8eb86] api.py: autosetup: Divide into four commands (daemon,
sources, repositories, chroots).
* [41c62ff] admin: Integrate new diversed autosetup commands.
* [5f92138] mbd_api_arg.html: Fix: Do "bool" via select, not checkbox
(make sure value is always submitted).
* [2542405] mbd_api_arg.html: MultiSelect: We do still need the option
to enter 'manual' values.
* [b588639] api.py: AutoSetupSources: Complete arguments.
* [4f3bea9] admin.py: Rm "wizards" configs for 'Sources' (obsoleted by
autosetupsources).
* [8607462] admin.py: Rm "wizards" configs for 'Repositories' (obsoleted
by autosetuprepositories).
* [35cf679] admin.py: Rm "wizards" configs for 'Chroots' (obsoleted by
autosetupchroots).
* [9fd6edd] admin/mini_buildd.html: Rm 'wizard' support, now obsolete.
* [42f22e1] api.py: Rm API call "meta" (now we just have proper API
calls).
* [f541cd7] models/base.py (Model.save): Make all models run
full_clean() (i.e., validation) before save().
* [d66f90e] __init__.py (e2http): Allow django 'ValidatioError' as safe
(user message) exception.
* [571e8b4] models/base.py: Use ValidatioError (again) for model
verification.
* [481e69c] models/*.py: clean() aka model validation: Always run
default validation first.
* [41578f8] api.py: Command: Allow 'given_args' to be a dict of
Argument.
* [dc08f0a] api.py: autosetup commands: Simplify to just use ARGUMENTS +
concatting these in do-it-all 'autosetup'.
* [430c863] api.py: Make autosetup commands own group.
* [400da2f] api.py (Command.update): Simplify args update (1st step).
* [fe43a13] mbd_plain.html: Show "Waiting for..." (not "None") if
content is None.
* [c19a156] mini_buildd.js: mbd_api: (Optionally) show arguments.
* [d2b10ee] api.py: Further improve given_args parsing.
* [0169327] api.py (AutoSetup): Add little piece of Argument doctest.
* [9f1e3a1] api.py: Rename argument types/classes to (sort-of) better
match HTML counterparts.
* [3cfd2f9] api.py (Argument): Make "choices" generic.
* [5c39256] mbd_api_arg.html: Add choices/datalist support for
Text/Number/Url types.
* [ae4a819] api.py: Convert all wrong "Select" arguments to type "Text".
* [6bd8f7a] mbd_api_arg.html: Display "select" as actual HTML select.
* [80de035] api.py: Let BoolArgument just be a "Select([True, False])"
(no extra HTML support needed).
* [97a22fe] mini_buildd.css (mbd-api): Just do max-height for
select/textarea (limiting to 1em looks better, but we can't see that
values).
* [b652bc3] mbd_api_arg.html: Make select,multiselect one case.
-- Stephan Sürken <absurd@debian.org> Sun, 17 Jan 2021 19:30:25 +0100
mini-buildd (1.9.10) experimental; urgency=medium
Mixed bag release covering a number of roadmap issues; further efforts
to make all public messages secure and better:
* [929867a] models/source.py: PrioritySource wizard: Add security
sources with prio=500.
* [2fe194a] builder.py: Rather terminate() not kill() running sbuilds
(fixes schroot sessions not being cleaned up).
* [0d0dd25] snippets/events.html: Fix: Also show error details on
REJECTED.
* [bf8d0ec] snippets/building|packaging.html: Show (build|package) key
as title on stamp.
* [7e597a6] packager.py (Package.purge_spool): Extra method to purge
(spool) only.
* [2791d86] builder.py (Build.terminate): Report if terminate() was
actually called.
* [2cee9fd] threads.py (EventThread): Just always add a lock class var
for convenience use.
* [526a272] packager.py: Add termination support.
* [8973f7a] builder.py: Add termination support (to Builder class,
better error handling).
* [4e52411] api.py: Drop "terminate" in favor of "terminatebuild" and
"terminatepackage".
* [d4c7d7a] packager.py: Improve public messages for "stray" incoming
changes.
* [a6ce41e] snippets/events.html: "Show package" action should be there
on any event type.
* [aca8569] api.py: remove --no-rollback: Add option to skip rollback.
* [c379696] testsuite-packages: Two new test cases: rejected-not-
uploadable, rejected-rollback.
* [05720ac] packager.py (Package): Simplify "not uploadable" error case,
improve public message.
* [2b6d755] devel: Auto-generate testsuite dput.cf every time before
dput call.
* [eace4e5] devel (testsuit-packages): On successful INSTALLED testcase,
call 'remove' so the test can be repeated.
* [648002b] templatetags/mini_buildd.py: mbd_api: Make full=True
default.
* [94dff84] wizards; Rm Ubuntu trusty (LTS support expired).
* [7eeff7f] home.html: Regression: Fix ids for autoload (Fixes JS
autoload).
* [9ad0521] mbd_api.html: No need for "zero width space" (#8203) in
empty summary.
* [ded0dd1] Rfc7807.__str__: Don't include HTTP status description
(redundant, and just too noisy).
* [6d0da38] Add Rfc7807.from_json(): Be able to re-use code where we
only have json (analog to Events).
* [506755f] Add helper Event.extra_info(): Human-readable info on extra
data.
* [9ea8cae] snippets/events.html: Split "Actions" in "Details, Actions"
columns; use events.extra_info() and improve actions options.
* [d333c74] packager.py: Improve public error messages.
* [08e2287] packager.py: Do "uploadable check" in r.parse_distribution()
(fix 3x code repeat).
* [e0d5799] repository.py: Let mbd_find_package() raise public on not
found.
* [958d97e] *.py: Bulk-review all public error messages for possible
security issues and more conforming format.
* [e02b1bb] *.py: Adapting a number of dectests to message updates.
* [a3d59a4] models/repository.py (parse_distribution): Add user error
when dist string can not be found in db.
* [9720ad6] events.py: extra_info(): Should never fail (but log errors
for debugging).
* [22427f7] devel: Rm 'htmlmisc' check ('unused templatetags'): Too
cheesy, and creates false-positive w/ mbd_next now.
* [1ae74a0] devel: testsuite-packages: Only build test packages that do
not exist already.
* [01058c8] devel: testsuite-packages: Arg may now be used to select a
single test package.
-- Stephan Sürken <absurd@debian.org> Thu, 14 Jan 2021 18:30:02 +0100
mini-buildd (1.9.9) experimental; urgency=medium
After making web and API error handling safe, this does the same
with django messages (and also greatly reduces them). Also a lot
of unrelated bug fixes and improvements on the way:
* [12534ac] templatetags/mini_buildd.py (Plain): Auto-TOC: Convert
lintian regexes to more general warning/error style.
* [20c51f4] mini_buildd.css: Make "warn" color readable (gold->coral).
* [c6c0dd9] Source,Distribution,Component: Fix implementations of
__lt__/__eq__ (fixes some strange errors from django admin).
* [9beb6a7] models/chroot.py: mbd_path as property, not class var (fixes
error on chroot "Add" in django admin).
* [8802944] devel: Add 'prepare-system' to quick instructions.
* [2e89ff5] django admin: Compatibility for django 2.2.
* [d35f3e5] admin/mini_buildd.html: Integrate 'Help' link into header.
* [f015d50] admin/mini_buildd.html: Sync w/ django 2.2 code; add
developer notes.
* [9efa87e] mini_buildd.css: Fix fg-color to hve more contrast to bg
colors.
* [f20e3ab] mbd_api_arg.html: Regression: Fix all inputs to have id's
again to match labels.
* [9d68edc] httpd.py: Add support for "Cache-Control" (browser cache)
header (but we don't actually use it yet).
* [50f026a] templates/*.html: Fix some akward 'quote-in-quotes' on
static calls (though working).
* [777de84] Drop "uglifyjs" in favor of "minify", do conversions off-
tree and add "svg" and "css" to the mix.
* [0747df5] Drop "favicon.ico" - instead just use our logo as SVG
directly.
* [2cbe814] mbd_api.html: Improve result popup top menu.
* [a9b7f85] mbd_api.html: Properly name "rerun as html" option, and put
to top nav.
* [a173cd4] base.html: Add warning when javascript is not available.
* [4ce2c6a] templatetags/mini_buildd.py: mbd_api: Support default
"action" type (so integrated API html may be configure to show
api_view).
* [ab82dab] admin: Update js include/init (have script/noscript magic in
admin w/o errors).
* [43d98a7] mbd_api.html: ajax results: Add "reload" button to nav.
* [9b28403] templatetags/mini_buildd.py (mbd_api): Rm unused context:
request.
* [3fb9a6a] __init__.py: Add e2http() helper (construct safe/public
exception).
* [38e4d7f] mini_buildd.js: api call: Shwo result box before call is
fired.
* [81bb558] mbd_api.html: Update result design, indicate ongoing call.
* [2168f70] mini_buildd.css: Make API result box center and be as big as
needed (not fix 80%).
* [02d11d3] security: Events (FAILED): Update "error" part in events to
new safe public HTTPError.
* [ae3b284] builder.py: Cosmetic: Fix (strangely undetected by checks)
wrong indent.
* [b12e4d0] __init__.py (e2http): Add default status (i.e., option to
generate other raw HTTP errors than INTERNAL).
* [06b17e6] views.py (ExceptionMiddleware): Errors: Simplify w/ e2http
&& properly run log_exception (i.e., with the actual exception).
* [7d1e8b8] views.py: Rm MsgLog from error view (does not really make
sense).
* [149f31e] api.py: Rm 'msglog' arg from constructor (we already have
the request).
* [bcf3e7a] api.py: Make msglog() output safe.
* [cbf162b] *.py: MsgLog: Bulk fix "msglog" args to "request" args
(always call via MsgLog(LOG, request)).
* [8813c17] api.py: Mv msglog test calls to msglog.py.
* [751f5b4] mini_buildd.css: log: Support all default python levels.
* [9f07cd2] mbd_messages.html: Add include for messages, and use it for
both 'mini_buildd' and 'admin'.
* [b4b1d11] mini_buildd.css: Improve messages design.
* [7f1bb57] models/base.py (Model.mbd_get_or_create): Rm msglog about
existing instances (too many messages, not helpful).
* [11203aa] models: Component, Source, Distribution: Make objects
hashable again (fixes django admin).
* [d70e2e6] models/*.py: Thin-out 'MsgLog messages' -- just too many,
and debug() should not be here anyway
* [f02a18d] models/source.py (Source.mbd_check): Fix wrong usage of
log_exception.
* [2a1315e] models/repository.py
(Repository.mbd_package_purge_orphaned_logs): (regr) Fix call syntax.
* [59a518c] MsgLog: Remove log_text() support; subsequently removes (too
much, not helpful, not secure) MsgLog output for chroot creation &&
reprepro check.
* [43b3f9b] models/base.py (StatusModel.Admin._mbd_run_dependencies):
Secure msglog.
* [6b658a6] models/base.py (StatusModel.Admin.mbd_action): Add one
generic msglog for action calls, remove all other.
* [c52b5c6] models/chroot.py: Phase out all MsgLogs.
* [b763b87] models/gnupg.py: Thin-out MsgLog.
* [b12ec25] models/gnupg.py (AptKey.Meta): Use UniqueConstraints to
avoid duplicate keys (Fixes: We can now change keys in admin).
* [e741cea] models/base.py (StatusModel.Admin.mbd_action): MsgLog: Show
status w/ checked status.
* [7521648] models/source.py: Thin-out MsgLogs.
* [809dba1] devel (mbd_gen_httpd_testfiles): Make dirs/files created
belong to user mini-buildd (fixes repo removal after testsuite has
run).
* [1a30e1a] *.html: Make snippets sort-of work (w/ iframes) when
javascript is disabled.
* [4db2ec5] cli.py: Generalize left-over 'mini-buildd' specific code
(fixes "console" logs for other CLIs not to be customized).
* [047b257] devel (logI|E): Prefix date on log lines.
* [5146005] mbd_api.html: Offer HTML view for list,show only.
* [0b71609] snippets/building|packaging.html: Put back data to
datatables && config finetuning.
* [146b124] snippets/events.html: Datatables finetuning.
* [ff5388e] log.html: show package rendered.
* [9122395] mini_buildd.js: Make datatables 'lengthMenu' global setting.
* [d10b483] /mini_buildd.css (form.mbd-api div.mbd-api-result): Fix:
Needs 'z-index: 1' to always stay on top.
* [f078fec] mbd_api_arg.html: Rm extra inputs (regex select, manual) for
multiple select.
* [e939981] mini_buildd.css: API form: Make select/textarea be ~1em by
default, expand on focus (makes API HTML form like one line/readable)
* [e50994d] mbd_api_arg.html: Set size on multiple select (should be
more convenient in most situations (no scrolling)).
* [36d2fc8] mbd_api.html: Re-add home to result menu -- is useful to hop
to status from another page.
* [5f22078] templatetags/mini_buildd.py (mbd_next): Fix to deliver full
path (w/ GET params).
* [448a05c] misc.py: Fix PkgLog to use changes.py to identify changes
type.
* [8fea587] log.html: Improve log view.
* [aafc1fc] mini_buildd.css (details>summary): Don't decorate "a" inside
"header" or "nav" elements.
* [1eeca85] static/index.svg: New icon (from openclipart-svg.deb).
* [2b80102] views.py: Add LogIndexView: Index w/ links to all existing
package logs.
* [bc573dd] mini_buildd.css (details>summary): "nav": Inherit display.
* [b3efac8] repositories.html: Add links for the new LogIndexView.
* [ffa9b29] api_view/show.html: Improve datatable.
* [ecde1a4] devel: Add log index to tidy test.
-- Stephan Sürken <absurd@debian.org> Sun, 10 Jan 2021 17:28:54 +0100
mini-buildd (1.9.8) experimental; urgency=medium
API polish release. Summary:
* Implement RFC 7807 for error handling, consequently obsoleting
HTTP custom headers previously used.
* Introduce "public" exception classes -- detailed error messages
are now available (via WEB or API response) only when explicitly
raised. Previously, any exception message would go "public", which
is a possible security risk (and mostly not helpful).
* API is now truly json only. "output" parameter is completely
removed, HTML view is now accessible via 'mini_buildd/api_view/'.
* API calls per WEB are now (per default) AJAX calls (i.e., results
are displayed on the same page w/o reload).
* [4c22494] views.py, __init__.py: Move HTTPException to package init.
* [ca52290] __init__.py (HTTPException.rfc7807): Add rfc7807 (dict)
generator.
* [15ba077] __init__.py, views.py: Make explicit HTTP exception classes
(bad request, unauthorized, m. not allowed).
* [e2a756b] views.py: Update middleware exception handling to new
HTTPException classes.
* [f94563f] __init__.py (Rfc7807): Extra class (so code can be used
elsewhere later).
* [45185e6] API: Switch to RFC 7807 error handling; obsoletes all custom
HTTP header code.
* [e2582aa] config.py: cfield_exception also obsoleted (by previous
'json+problem update").
* [2d8b74c] __init__.py: Better naming: HTTPException -> HTTPError.
* [02b6045] mini_buildd.js: Initial generic API call support.
* [ba6491e] views.py: debug: Log exception for API errors.
* [de1e116] mbd_api.html, css: Just use input "disable" attr to mark API
call as unavailable.
* [04e25be] views.py: Move 'error.html' template top-level (it's not for
app mini_buildd alone).
* [a306432] views.py: django exceptions: Fix 404 function syntax &&
don't make any django exception messages 'public'.
* [283a11a] Move all API templates to subdir api/.
* [70d5ff2] Use 'mini_buildd/api_view' for any html-ized api output,
"mini_buildd/api" for json only. Obsoletes extra parameter 'output'.
* [d2c1ab2] mini_buildd.js, base.html: Add automated mbd-[no]script CSS
classes.
* [4d4f3ad] mini_buildd.js: Update js code for API calls.
* [ce86e85] mbd_api.html: tag mbd_api: Initial support to call/show
result directly via js.
* [3acaeea] mbd_api.html: Fix 'double button display' via
mbd-[no]-script class.
* [5bb347a] api.py: Renmame cls.plain(r) -> cls.get_plain(r), add
self.plain(): obsoleting extra tag mbd_api_plain.
* [5d7f7b0] mbd_api.html: Do "confirm" via required checkbox.
* [8b2d7d8] mbd_api.html: Add macro (include) for submit; add non-script
submit in js result.
* [fbf2beb] base.html, mini_buildd.js: Rather use "initial" (not
"inherit") as "active" value.
* [e460b9e] mbd_api.html: Use 'mbd_plain' tag to show plain results.
* [ccc7056] templatetags/mini_buildd.py: mbd_img, mbd_api: Remove
"target" support.
* [d154edf] mini_buildd.js: API call: Improve error handling.
* [6ea8542] base.html: Fix: Remove redundant explicit next= in user menu
(already in djanfo conf).
* [83100d5] *.py: Bulk-update all 'Excpetion's meant for user
consumption into 'mini_buildd.HTTPError's.
* [42712e6] models/*.py: Bulk-update use of django exceptions to
mini_buildd exceptions.
* [7c343bc] mbd_api_arg.html: Cosmetic: Put 'textarea' (non-input) down
in if-else tree.
* [df7c8d6] mbd_api_arg.html: Remove all form elements' hardcoded
"size"-like settings.
* [3fd60e2] mbd_api_arg.html: Fix: Use HTML 5 "number" type for
IntArgument.
* [40d1000] mini_buildd.js: API: Support __plain__ results.
* [03c63de] api.py (MultiSelectArgument): Fix: Properly raw_value from
default.
* [859681f] mbd_api_arg.html: Rm unneeded element "id"s.
* [c302cd2] mbd_api_arg.html: Just leave out 'value=' if not set &&
reorder attrs.
* [af77e87] mbd_api_arg.html: Make all inputs w/o value 'required'.
* [c9623ae] mbd_api.html: Skip next.
* [fedc9ee] mini_buildd.css: Add another bg level for plain.
* [085cc84] mbd_api.html: Make result details open by default.
* [7dcc881] api_view/index.html: Make API overview more HTMLy, add TOC.
* [e727d3b] mini_buildd.css|js, html: API: Display overlay for (js) API
results (i.e., don't break layout).
* [48d0f8c] api.py (MultiSelectArgument): Make separator class attr, and
fix default setting for any argument class.
* [a114e6d] mbd_api_arg.html: Fix: Set "required" only if 'value is
None' (not if value evaluates to False).
* [6cc0006] mini_buildd.py (mbd_api): Rather use value, nor raw_value.
* [863f2cc] api.py: logcat: Decrease default lines 500->100.
-- Stephan Sürken <absurd@debian.org> Sun, 03 Jan 2021 16:48:30 +0100
mini-buildd (1.9.7) experimental; urgency=medium
Another polish release, with a various miscellaneous updates and
fixups:
* [342de97] config.py: Add class: Resource.
* [d023fc4] config.py, *.py: Convert all *_DIR globals to 'Resource'.
* [84b3d39] config.py, *.py: Convert all HTTP_PATH_* globals to
'Resource'.
* [1fb578f] config.py: Fixup globals order, add utility methods for
Resource.
* [b67a708] config.py: Rename LOG_RENDER -> BUILDLOGS.
* [6717386] config.py (Resource): Add getter methods (uri & path).
* [49f3dfc] views.py, *.py: Update buildlogs for new resource setup.
* [b0b62da] *.py: Bulk-update all manual join() calls with
Resource.getpath().
* [07dca70] urls.py: Use resource configs where applicable.
* [a7e29e0] config.py (Resource): geturi_abs() imho obsolete.
* [79eec8f] templatetags/mini_buildd.py: mbd_uri: Add tag to generate
(resource) uri.
* [dd37c77] snippets/repositories.html: Update URI generation.
* [57a031c] templatetags/mini_buildd.py (mbd_home): Re-use mbd_img
template function.
* [1494129] templatetags/mini_buildd.py: Add "target" support for
mbd_api, mbd_img.
* [8a8faef] snippets/repositories.html: Make all mbd_img/mbd_api links
here open new window/tab.
* [21547a4] home.svg: Add from openclipboard.
* [718f9e4] snippets/repositories.html: Properly integrated per-repo
"external home" link.
* [dd023ec] base.html: Intergrate API calls: getdputconf, logcat,
getkey.
* [4373e75] snippets/repositories.html: Integrate per-repo API calls:
keyringpackages, testpackages.
* [2360779] snippets/repositories.html (Snapshots): Improve snapshots
display.
* [797aedf] mbd_snippet.html/js: Display a stamp and reload for each
snippet in summary.
* [9cd43e4] snippets/repositories.html: Only show snapshot section if
there are snapshots.
* [a0af74c] snippets/repositories.html: Integrate portext.
* [036a1e8] models/repository.py (Repository.__str__): Sort
distributions.
* [bae350f] mini_buildd.css: Define 4 (was 3) bg-colors.
* [9633799] mbd_api.html: Don't auto-reroute to login when unauth,
rather popup auth error.
* [aa29a9e] mini_buildd.js: stamp: Rather use toUTCString (not
toISOString) -- more human-readable.
* [5f10f06] api.py: status: Add 'crontab', 'events' (length only) for
snippet support.
* [7619c2f] devel (tidy check): Download html to deven.tidy.html (for
better debugging).
* [5620f0c] tidy check: Fix missing quote in mbd_api.html.
* [5a73db7] mini_buildd.css: Simplify footer CSS.
* [897c2fe] mini_buildd.css: Further simplify 'main' CSS.
* [42e24b0] mini_buildd.css: Further simplify 'header' CSS.
* [2af5696] mini_buildd.css: Further simplify 'admin extras' CSS.
* [74c8f83] mini_buildd.css: Minor code style cleanups.
* [45df88e] base.html: Use div (not span) for footer grid sections.
* [91ebdea] base.html, CSS: Remove all "ul" from 'header navs', and
further simplify 'header' CSS.
* [28090cb] includes/mbd_api.html: Don't invent extra div here.
* [204a335] mini_buildd.css: Simplify && fix "api" CSS.
* [fc0e19f] devel (tidy): Use '--quiet yes' (no one needs verbose), '--
gnu-emacs yes' (hop errors) and '--mute-id yes' (display error ids).
* [844c507] devel (tidy): Mute
BACKSLASH_IN_URI,ESCAPED_ILLEGAL_URI,ILLEGAL_URI_CODEPOINT: False-
positives due to django "escapejs" tag.
* [46d6757] devel (tidy): Convert "proprietary attr" exception to
--mute.
* [e6fe4a4] devel (tidy): Drop 'drop-empty-elements' exception (no
longer needed).
* [242e32a] includes/mbd_api.html: tidy 'empty span' fix: Only output
hidden opts 'span' if there are any.
* [822a6c0] devel (tidy): Update 'success test' == 'empty result' ('tidy
--mute' does affect output only, not retval).
* [26cec29] devel (tidy): Up-stock list of tested URLs.
* [7c5ac04] views.py (ExceptionMiddleware.__error): Add a
log_exception() call for better debugging.
* [52f2ad0] mbd_plain.html, tags: Create (buildlog) TOC as data
structure in tag, build TOC html in template.
* [a859a63] mini_buildd.css (:root): Better border colors.
* [0af609c] mini_buildd.css (:root): Add (fg) colors 1-3.
* [dc5106b] mini_buildd.css: Simplify/fixup 'ongoing' (blink).
* [3692731] devel (tidy): Drop URL for testing log (we can't be sure
package is there).
* [5876e79] mini_buildd.js: mbd_snippets_update skip (now obsolete)
check if status call has data; write stamp last.
* [ae7285e] builder.py: Move gpg verification back to build (so we get
event && failed buildresult handling).
* [a579432] api.py (AutoSetup): Temporary fix for keyring update.
* [bae0fb1] mini_buildd.css: Rather use american "gray" (not "grey") and
other minor CSS fixes.
* [5e9614d] admin/app_list.html: Rather override this than index.html
(removes some redundancy && fixes display issues).
* [6b59846] templatetags/mini_buildd.py: mbd_model_count ->
mbd_model_stats: Simplification, obsolete include.
* [39a048c] mini_buildd.css|js: Make action classes conform to lower
case naming.
* [c866e81] models/base.py: Downgrade html 'colored status' hack-level
from horrendous to average.
* [45f76ef] mini_buildd.js: Add initializer function (code clarity &&
fixes js error in admin).
* [1c04368] mini_buildd.css, *.html: Class name cleanup for "log",
"sbuild", "lintian" and "event" types.
* [5580c9f] mini_buildd.css: Group color settings by semantic.
* [abaaf39] admin/app_list.html: Fixup class for model counters.
* [912fd52] mini_buildd.css: Introduction of (10) 'bliss level' colors.
* [05f8442] mini_buildd.css: Fix bliss color2: Orange.
* [2cdd6cd] debian/source/options: Tar-ignore minified js (so it's never
ends up in source package).
* [a279db7] mini_buildd.css: Remove all remaining hardcoded color
values.
* [c71daa8] mini_buildd.css, *.html: Update and thin-out most other
color related classes.
* [fe06684] mini_buildd.css: Rm all qualified class configurations.
* [e7c8222] mini_buildd.css: Update global setting && style cosmetics.
* [a8c73f9] mini_buildd.css: "admin extras": Mostly obsolete, rest
merged.
* [ffef25c] mini_buildd.css, *.html: Use "grid" shortcut and simplify
all grid setups.
* [2f3baa2] mini_buildd.css (.mbd-api-autosetup, .mbd-api-meta): Use
background shortcut.
* [b63d9cd] mini_buildd.css: Add global default padding for some
elements, remove all other paddings/margins.
* [8960901] mini_buildd.css: Get rid of border colors (and other fine
updates).
* [dfe0f73] mini_buildd.css: Run for the lighthouse.
* [199adf6] mini_buildd.css, *.html: jquery "datatables": Force
header/row bg colors to our scheme.
* [caaa7fb] snippets/crontab.html: Fix various wrong class names.
* [6737611] mini_buildd.css: Globals: Don't outline 'summary', add
padding to 'label'.
* [64d55e6] mini_buildd.css: Fix snippet header design via grid.
* [f49e429] mini_buildd.css: color update.
* [76151be] mini_buildd.css: Drop global padding settings (more harm
than good).
* [a9c6590] *.html: Rm bunch of superfluous "div"s
* [e20a2b4] mini_buildd.css: mbd-plain: Only use one class.
* [bee8792] mini_buildd.css: mbd-snippet: Only use one class.
* [45eb7c7] mbd_api_arg.html: Improve layout of regex/manual extra
inputs for "select".
* [30aadf0] mbd_api[_arg].html: Don't use 'span' around non-trivial html
code.
* [84f180e] mini_buildd.css: Improve base header.
* [99d0be8] mini_buildd.css, home.html: Improve home.html structure &&
css.
* [25056a9] mini_buildd.css: Only use one fg color.
* [41dc450] mini_buildd.css/*.html: Fix various regressions.
* [f770058] mini_buildd.css: Update mbd_api design for "one class"
setup.
* [cbe7eea] api_show.html: Use mbd_uri.
* [e3307db] api_show.html: Update to be one searchable datatable.
* [4a850de] events.html: Use mbd_uri.
* [3354cf7] mini_buildd/snippets/building.html: Fix order, (re-)add
builder info string.
* [4dd7159] mini_buildd.py (mbd_daemon_is_alive): Rm, this tag is
obsolete.
* [17fa876] api_show.html: Fix table id.
* [bf1fda1] mini_buildd.css: More API fixups (tidy warnings).
* [271a906] devel (tidy check): Ignore TRIM_EMPY_ELEMENT (too picky).
-- Stephan Sürken <absurd@debian.org> Wed, 23 Dec 2020 19:00:46 +0100
mini-buildd (1.9.6) experimental; urgency=medium
Polish release, with a various miscellaneous updates and fixups:
* [405612b] snippets/*.html: Properly prefix all table ids (with
'mbd-').
* [a475468] mini_buildd.js: Rather call api 'status' in js directly to
get 'count' updates (obsoletes mbd_snippet_fixup_summary()).
* [f6ee35e] *.html: Remove 5 more br/hr (uncatched last cleanup ;).
* [8979d28] mini_buildd.js: Update snippets updater/reloader (make one
'global' updater).
* [8d20526] builder|packager.py: Add resp. __str__() convenience (fixes
status output).
* [86819f2] mini_buildd.js: Add convenience function mbd_smartlen().
* [a025a83] templatetags/mini_buildd.py (mbd_snippet): Add "show_count"
option and disable count for events, crontab.
* [e7ad2eb] home.html: Misc fixups, simplify again.
* [37a85cb] api.html: Move API (list) back to its own page.
* [038396f] home.html: Fixup home layout.
* [0276d90] mini_buildd.js: Rather not use const (may not be supported
by older browsers -- breaks uglifyjs@buster).
* [ba7e261] mini_buildd.js: Snippets: On detail.open: Only update the
resp. section, not all.
* [572f172] views.py (APIView.dispatch): General api call log: Don't use
msglog.
* [2b56054] api.html: Simplify; make details be open by default.
* [187d41b] devel: tidy test: Re-add 'api.html'.
* [acf2a0b] home.html: API autosetup: if shown, should be full.
* [f171101] api.py: Add commands 'getsnapshots', 'gensnapshot',
'delsnapshot' (replacing poor 'snapshot' do-it-all command).
* [231cae1] api.py/api.html: Deliver cmd objects in the convenience menu
struct (to better access attributes).
* [b3b1295] api.py (Command.__init__): Make 'given_args' optional.
* [a07e004] api.py (Commands): "defaults" not used - removing.
* [e9fdf55] cone_soft_vanilla.svg: Remove this accident vanilla...
* [52254a0] api.py: Just use Daemon singleton implicitly (remove
'daemon' arg for commands).
* [1e9de0e] setup.py: Generate "version.py" (not __init__.py) to
automate version (makes __init__.py "normal code file" again)
* [5bde5f6] __init__.py, *.py: Add shortcut for Daemon singleton.
* [0da405f] api.py: Use Daemon shortcut directly.
-- Stephan Sürken <absurd@debian.org> Thu, 10 Dec 2020 10:26:15 +0100
mini-buildd (1.9.5) experimental; urgency=medium
Polish release, with a various miscellaneous updates and fixups:
* [59c1f7e] mbd_snippet.html: Give summary an id.
* [3a05d2f] snippets (packaging, building): Instead of open if ongoing,
just use class 'mbd-ongoing'.
* [6f3274e] mini_buildd.js (packaging, building): Keep summary up-to-
date on snippet reload.
* [c5350b2] mini_buildd.js, snippets: Update all snippet to fixup
summary on load.
* [56ddd42] home.html: Separate sections (activities, instances, api).
* [5fcbe9c] base.html, css: Simplify messages display.
* [4406428] mini_buildd.js: Name snippet functions conformly.
* [2037fbd] templatetags/mini_buildd.py, mbd_api.html: Add new tag
mbd_next, use for API next (Fixes: 'next' could be on snippet).
* [9b16d8e] views.py: Add "api" module to generic context.
* [fa3d349] urls.py: Update redirects to got to 'home.html' (obsoletes
extra view 'HomeView').
* [e273730] config.py: Add HTTP_PATH_HOME and use it throughout code
(fixes unnecessary redirects && redundancy).
* [cd399cf] views.py: Cosmetic re-order of views implementations.
* [b3aecb8] mbd_api.html: Show doc/params again even if not
authenticated for the call.
* [8a86e22] base.html: Add meta "Description" (makes lighthouse
happier).
* [c828649] mini_buildd.css: Proper name for keyframe move.
* [db76d26] mini_buildd.js/snippets: Add autoreload support.
* [d8e3640] mini_buildd.css: Fixup styles for snippets.
* [ad38289] base.html: messages: Use span, not tt (deprecated).
* [486f872] mini_buildd.js/snippets: React on interval changes && harden
code.
* [89d0094] httpd.py: Make file resource default to text/plain (and drop
all other extra mime support).
* [e9d2c39] repositories.html: Skip distribution descriptions (simply
use the distribution string).
* [dc18f72] repositories.html: Switch to sections (not details) on
distribution level.
* [79f743f] mini_buildd.py (mbd_api): Rather do (convenience) auth w/
api_cmd instance (not class).
* [a0dde25] mini_buildd.py (mbd_api): 'cmd' arg: Allow it to be cmd
instance directly as well (allows reusing args).
* [dbfd329] API templates: Always show command form again (to
conveniently adapt call).
* [dc84f45] repositories.html: Do apt_lines via getsourceslist api call
inclusion. Obsoletes 'mbd_d_apt_line' tag.
* [801062b] templatetags/mini_buildd.py: Add 'mbd_snippet' tag (instead
of manual inclusion).
* [21443c2] templatetags/mini_buildd.py: Add 'mbd_api_arg' tag (instead
of manual inclusion).
* [2d1131e] templatetags/mini_buildd.py: Add 'mbd_plain' tag (instead of
manual inclusion).
* [c6bae18] templatetags/mini_buildd.py (mbd_plain): Add Plain class,
and get rid of extra mbd_cat template.
* [334b9ef] mbd_snippet.html: js: Use generic local functions for
load,autoload (fixes some redundancy).
* [302ddfb] templatetags/mini_buildd.py (Plain): Fix buildlog regexes to
be class attr of Plain.
* [21a94e1] views.py (LogView.get_context_data): Update PkgLog so it can
be used as-is in context.
* [7e75f7a] log.html: Simplify, assemble uri paths in context.
* [d3d9740] repositories.html: Cosmetic fixup repo summary.
* [3f86aaf] models/distribution.py (SuiteOption.__str__): Fix: Missing
format string for migrates_to.
* [2c778f4] templatetags/mini_buildd.py: Update and rename:
mbd_distribution_string -> mbd_get_distribution_string.
* [cb7eff3] templatetags/mini_buildd.py: Rather use one "parser" tag for
all values needed in repo overview.
* [f3bfe3c] models/distribution.py (SuiteOption.__str__): Simplify to
name only (not used).
* [b6f6930] repositories.html: dist attributes: Use 'span', not kbd.
Other cosmetic improvements.
* [56a2917] templatetags/mini_buildd.py; Add mbd_img (and mbd_home) tags
and generalize all 'img[link] html'.
* [656884e] templatetags/mini_buildd.py (mbd_img): Add convenience
support for 'clipboard.js'.
* [ff5fe47] mbd_plain.html: "div"ide whole/header/content; properly
prefix class names 'mbd-plain'; imrove style.
* [288e612]
templates/registration/activation|registration_complete.html: Fix
h1/h2 mismatch.
* [d8329b8] *.html: Bulk fix '{{foo}}' -> '{{ foo }}' (in-line w/
djangos code style).
* [047f5a5] *.html: Bulk-remove any use of '<hr>' or '<br>'.
-- Stephan Sürken <absurd@debian.org> Sun, 06 Dec 2020 17:47:26 +0100
mini-buildd (1.9.4) experimental; urgency=medium
WEB UI rewrite followup, with a lots of smaller related and unrelated
fixups:
* [1329584] templatetags/mini_buildd.py: Add basename filter.
* [8a56e91] includes/mbd_plain.html: Separate "Download" and "Raw File"
buttons.
* [3ce6ab0] mini_buildd.css: Rm bunch of uneeded (and unhelpful) font-
size settings.
* [6c56fe3] mini_buildd.js: mbd_load_snippet(): Simplify code.
* [81ef50a] devel: Also run m-d-dput with full debug.
* [a0309a7] mini-buildd-dput,cli.py: Add -c, --config option for our
custom dput.
* [f9a83e0] source/options: Add tar-ignore for devel.dput.cf (automated
testsuite only, local data).
* [a4fa918] devel: Generate dput.cf to use in testsuite on the fly via
getdputconf.
* [c98a908] devel, source/options: Name all (two) testsuite generated
files devel.<foo>, and update to nicer 'pattern tar-ignore'.
* [4acb457] home.html: packaging, building: Open by default if items
present.
* [6b10562] building.html: Rename column 'Status'->'Running', and add
actual content.
* [81f75f3] snippets/packaging|building.html: Set entries per page to 5
by default && add better menu including "all".
* [53143ac] mini_buildd.css: Add (currently unused) 'mbd-ongoing' class.
* [f6317cb] mini_buildd.css, base.html: Simplify "messagelist" display,
and get rid of all extra "messagelist svg"s.
* [aa0c6d7] mini_buildd.css: Introduce variables for main colors.
* [7b120e8] wizards: Add Ubuntu 20.10 (groovy).
* [ef2fabd] mini_buildd.css: colors: Add bg for all admin actions; rm
some unused classes.
* [181d278] urls|views.py: Use 'm-b/buildlogs/log|live' locationa to
render all buildlogs via generic BuildlogView class.
* [84f92d1] Rename file.html -> buildlog.html (only used for buildlogs).
* [88445d1] mbd_plain.html: Update "raw file" to "vanilla view" (and add
vanilla clipart from openclipart).
* [e0b2806] buildlog.html: Only use basename for title.
* [b6e3ee2] Rename logo mini-buildd.svg -> mini_buildd.svg (in sync w/
rest of files in static/).
* [b011905] doc 'layout.html': Fix logo link to new name.
* [d25666c] source/options: tar-options: Get back dpkg-source's default
ignore list.
* [6eb063e] .lintianrc (suppress-tags): Update to lintian tag rename:
changelog-should-mention-nmu- > no-nmu-in-changelog.
* [f1391f1] .lintianrc (suppress-tags): Add bad-distribution-in-changes-
file (does not make sense for dev testing).
* [0a42424] lintian: Override 'national-encoding' for test package file
(that actually tests wrong national encoding).
* [d67e604] lintian: Override 'breakout-link' (for javascript symlink in
/usr/lib/).
* [be09ac1] devel: Add helper to run lintian manually.
* [b2b35d3] devel (changelog): Run 'gbp dch' in non-snapshot mode for
now.
* [8112b7a] source.py (Source.__str__): Add 'codeversion'. Update format
to read like "Debian 10 (buster)".
* [6a80914] models/source.py: Add (python) sorting for 'Source' objects
(sort by origin, then codeversion).
* [09cf4e7] distribution.py (Distribution.__str__): Update to use
Source.__str__().
* [147e6dd] models/distribution.py: Add (python) sorting for
'Distribution' objects (based on base_source).
* [016ad6b] snippets/repositories.html: Use new sorting for
distributions.
* [07aa12b] mini_buildd.css: Add 'mbd-snippet' class/design.
* [b44c6f7] mini_buildd.css: Get all main colors into variables.
* [9f0b9a6] mbd_api_arg.html: Add/fix label for *any* form input.
* [e04f17a] templates/base.html: Add 'lang' to html tag ('en-us' fixed,
we don't do translations).
* [fb96490] templates/base.html: Add standard viewport meta (apparently
helps mobile devices).
* [748ffc6] base.html: Rather use minimized jquery: 'jquery.min.js'
* [a3ef8b8] JS: Add "min" version of our javascript (via uglifyjs).
* [23f0f2b] html/css: Convert all "image buttons" to be just images
(reload, vanilla, download, clipboard).
* [d5e6f2d] static(html: Add browse.svg (from openclipart), and renice
some links (log, api_show, repositories).
-- Stephan Sürken <absurd@debian.org> Sun, 29 Nov 2020 10:03:15 +0100
mini-buildd (1.9.3) experimental; urgency=medium
Issue Soup, plate VIII: WEB UI rewrite
This release focuses on improving internal "django code" (views, context,
templates, tags, css, apps) to make it more maintainable.
User-visible highlights:
* HTML much more 'HTML5ish', all gfx now svg, no more fixed
sizes (Fixes #843396).
* On-demand loading for crucial parts of home.
* Clipboard support for raw output (json, buildlog, etc).
* Tables are now done w/ datatables.js, offer sorting and search options.
* Buildlogs display adds a "guessed index" (help find relevant lines).
* Updated crontab view.
* Updated user menu.
* [fc75bf4] css/mini-buildd.css: Merge all CSS (except sphinx.css) here.
* [7ef8d5c] mini-buildd.css: Reorder; fix some comment headers.
* [96da74a] mini-buildd.css: Greatly simplify color coding.
* [7d4d1a0] mini-buildd.css: Convert all ID selectors to class
selectors.
* [42a5a9e] mini-buildd.css: To top-level colorcode: model stat, daemon
stat, user stat.
* [0138548] mini-buildd.css (.inner-inner-box): Rm, unused.
* [e8190c4] mini-buildd.css: More re-ordering and cleanup.
* [2cf7c0e] mini-buildd.css: Bulk-convert from 'px' to 'em'.
* [a8cffcd] mini-buildd.css: .smaller is a rather a tool.
* [25c0651] mini-buildd.css: More re-ordering.
* [6150b7a] mini-buildd.css: Greatly simplify 'header' and 'branding'
into new 'menu'.
* [9d8b650] devel (htmlmisc): Rm test for unused CSS id selectors (not
using these any more in CSS).
* [64e0767] base.html: "img" needs "alt" (says tidy).
* [ec0db50] devel (mbd_run): Log failed test on exit (helpful when
running longer testsuite).
* [e802ff1] devel: Split log -> logI, logE.
* [6a0bcfd] models/source.py (mbd_filter_active_base_sources): Exclude
"experimental" from base sources.
* [65ed90b] mini-buildd.css: menu: New setup (w/ divs), bring back hover
candy.
* [01004f8] mini-buildd.css: Remove a bunch of global config around font
sizes and padding.
* [89a7552] templates/base.html: menu: Do w/o extra 'divs'.
* [723b515] mini-buildd.css: Remove more global config.
* [3bd3e10] mini-buildd.css: Mv 'model status display' oo the way.
* [0fece5e] mini-buildd.css: "header": Rewrite, simplify.
* [a8ffde7] mini_buildd/base.html: Simplify: Merge base.html into this.
* [7abf488] mini-buildd.css: Fix and simplify 'footer'.
* [1593758] mini-buildd.css: More reordering.
* [ae4b69c] mini-buildd.css: 'api': mbd-api -> api, initial cleanups.
* [559a3c7] mini-buildd.css: Greatly simplify 'api' part.
* [37cff85] mini-buildd.css: admin: Fix/simplify colorized action
buttons.
* [2306114] control: Put libjs dep to module package, and make all 'deb-
installable' javascript available via '<static>/javascript'.
* [37c40c3] mini_buildd_tags.py (mbd_jquery_path): Remove (use new
'<static>/javascript' path instead).
* [5c6688c] base.html: Support js "datatables" (sort/filter) for
'events' table.
* [d506ca3] web: Simplify static/: Put all (few) files on top level.
* [7c1137e] mini-buildd.css: Update for default table elements &&
timestamp.
* [31c2cda] base.html: 'content' div should have class 'content'.
* [efb02c7] mini-buildd.css: Add top-lebel contents style.
* [e8c193e] home.html: Rm a ton of superflous/wrong class attributes.
* [8f068fe] mbd_api.html: Put submit button first.
* [c8bdb6d] mini-buildd.css: api: Display details inline.
* [4ec2171] base.html: Add little doc as comment.
* [cc503cd] base.html: Rename block: localscript -> javascript.
* [cce7571] mini-buildd.css: Convert menu to table.
* [53fca8f] mini-buildd.css: Update header.
* [248f7a3] mini-buildd.css: Update footer.
* [2727c96] mini-buildd.css: conten bg to whitesmoke.
* [29f25fa] mini-buildd.css: Bulk-remove all (but one) "global
defaults".
* [98f098e] bullet.svg: Remove, no longer used.
* [3e82f0b] home.html: Rm superflous boxed div from events,
repositories, chroots, remotes and crontab details.
* [9455711] views.py: home: Rather show all repositories, chroots and
repositories (previously, limited to activated).
* [c771da2] mini-buildd.css: Rm 'model status display' configs (don't
seem to be used).
* [e0cb75f] static/clipboard.svg: Add (for later use as icon).
* [818ac6a] mini-buildd.css: Re-nice color codes.
* [ec18355] html: Add clipboard.js support.
* [2f79a52] base.html: Use HTML5 "header" element.
* [c9400c4] base.html: Use HTML5 "nav" element.
* [2d45669] base.html: Use HTML5 "main" element.
* [17f674b] base.html: Use HTML5 "footer" element.
* [08c8e79] base.html: Fixup "nav" elements: One nav for header (omit
title); make all navs use "ul" for nav items.
* [390b854] base.html: Fix names: [h]title, [h]subtitles used for both
head.title and HTML header title (these should be the same, but django
does not allow DRY here).
* [64d5374] base.html: Renice <head> order.
* [20c5252] base.html: Fix header ot have nav0, nav1.
* [f636278] base.html: Clean up messagelist, add title zo main.header.
* [7e53019] views.py, django_settings.py: Move COMMANDS (previously for
API index only) to generic context.
* [d4ec564] base.html: Rm 'API Index' page -- instead have an elaborate
drop-down menu item "API" in nav0.
* [ba0678b] api.py (Commands.menu()): New method: Create actually
grouped/py structure (to help w/ creating the API menu in HTML).
* [d723731] base.html: Structure API menu w/ groups.
* [8a4279d] home.html: Rm "Toolbox": Now all in the API menu.
* [bedbd2c] mini-buildd.css: Improve body.header.
* [bddb332] devel (mbd_installdeps): Install build-deps last.
* [d44c389] devel (mbd_installdeps): Add libdistro-info-perl (avoid
warnings).
* [921bc69] client.py (Client.api): Fix: Avoid error if daemon_msg list
is empty.
* [fe09d1f] mini-buildd.css: More bulk remove (rather re-do from
scratch).
* [52816fb] mini-buildd.css: Separate admin.css again.
* [32a5b9a] includes/mbd_api.html: Rm extra "div" ("form" now top level
element).
* [732e1bc] mini-buildd.css: Top menu in one line again.
* [3cb3f95] base.html, *.html: Rename block: "content"->"main".
* [56dcc92] html: Do API call confirmation via javascript.
* [2c7366b] includes/mbd_api.html: Add call args to confirm window.
* [e19ff24] home.html: Fix key for 'builder kill' api call.
* [510b6ff] home.html: Fix key variable for package kill.
* [12b2c78] home.html: Use h2 (not h1) for packaging, building.
* [aa72f68] home|base.html: Mv 'API' from top menu to home menu.
* [7f8aef3] home.html: Rm extra "div" from main block.
* [e7ff195] home.html: "Configured: Bundle Repositories,Chroots,Remotes.
* [d7f8a0a] mini-buildd.css (body > header): Fix css syntax.
* [b48971c] home.html: Use more 'details' for content menu.
* [7c5e22c] mini-buildd.css: Make "details in details" indent.
* [c72a32c] django_settings.py: Enable site caching (with 'all-default'
(memory) backend).
* [3cecad5] home.html: Home nav: Use details, not ul.
* [3803547] repository_detail.html: Rm superflous html elements (ul,
div)
* [b82c11d] mini-buildd.css: Make api display "flex" for now.
* [413ae31] Revert "django_settings.py: Enable site caching (with 'all-
default' (memory) backend)."
* [7d319eb] home.html: Merge repository_detail.html.
* [aad8894] reprepro.py: Rm debug (occurs too often to be helpful).
* [330d09c] mini-buildd.css: Use CSS grid for header, more
simplifications.
* [0249584] web: Better names: main.css|js, not mini-buildd.css|js.
* [e60cb8f] views.py: Add new "snippets" view.
* [8ef1758] main.js: Add (initial) function to load snippets.
* [11815ef] includes/mbd_snippet.html: Add snippet includes.
* [7d7e6e6] home.html: Update Packaging+Building to new 'snippet setup'.
* [267677a] home.html: Update Events to new 'snippet setup'.
* [38a68bc] home.html: Update Crontab to new 'snippet setup'.
* [748df9d] home.html: Update Repositories to new 'snippet setup'.
* [32e2cfd] home.html: Update Chroots, Remotes to new 'snippet setup'.
* [20a6e43] main.js: Show 'wait' cursor on any 'ajax' activity.
* [bfb9e12] snippet, js: Use extra content element (fix clearing details
summary).
* [15449d6] main.js: Switch to to under_score, not camelCase.
* [fd8dc11] main.js: Indent fix, reordering.
* [19cc0f8] snippets/events.html: Fix: Enable jquery datatable in
snippet.
* [edb1aa3] snippets/packaging.html: Update to jquery datatable.
* [a3e655f] snippets/building.html: Update to jquery datatable.
* [d01491e] home.html: Cache API menu (increases time per request for
home by factor ~6).
* [b6d82ed] control: b-d: Remove max version restriction (<< 2:3.1) for
django.
* [621af43] base.html: Add (commented) code to show debug/context.
* [8954c3e] django_settings.py: Generic context: Simplify, and prefix
with "mbd.".
* [7205897] views.py: Omit "daemon" from home and snippet context (use
'mbd.daemon' from generic).
* [25f3a1e] views.py: hom/snippet: Omit extra repo/chroots/remotes
context vars, just use generic 'mbd.daemon...'
* [38acc88] views.py: AccountProfile no longer needed.
* [21c346b] urls.py: Rm URI '/repositories/<id>': No longer used.
* [ba22ccf] views.py: Rm extra view code for 'home' -- this can be just
a standard template view now.
* [a10f497] urls.py: Update to 'simplified-url-routing-syntax', and pimp
django min dep to 2.2.
* [fbf19a9] views.py: Cosmetics for error views.
* [b1d8a18] views.py: Class based views for Home and Snippet; mv generic
context to top-level View class.
* [463f355] views,urls.py: Update more path_re() -> path(), generalize
SnippteVire-YTplView.
* [af410bf] urls.py: Update all mini_buildd urls to "path".
* [464029d] urls.py: Update 'admin' urls to path(); omit 'admin/doc'
(not really useful).
* [c1aee56] urls.py: Update "registration" to path(). Obsoletes
're_path' altogether.
* [7b26abc] views.py: Add LogView (make log view class based).
* [52264bf] views.py: Add LiveBuildlogView (make live buildlog view
class based).
* [06f2f99] views.py: Put custom error view functions 1st.
* [403dae9] views.py: Add config.py (as "mbd.config") to generic view
context.
* [774b038] views.py (LogView.dispatch): Merge generic context.
* [ce120c0] mini_buildd_tags.py: Add "mbd_cat": Cat any (text) file.
* [4aac606] mbd_file.html: Add include to show a file inline.
* [98b195a] file.html: Add standalone page to show a file.
* [aea55f3] views.py (LiveBuildlogView.dispatch): Use new file page for
live buildlogs.
* [ad3eaa2] log.html (Build logs): Use new file include to show build
logs.
* [ec2eeb3] includes/mbd_file.html: Fix var name: 'file_name', not
'file'
* [8035ba4] log.html: Use file include for changes.
* [8f569df] log.html: Simplify.
* [4084196] views.py (View.setup): Overwrite setup() in top level view;
update special "mbd context" via private class var.
* [b5b7da7] views.py (LogView): Update to new context setup.
* [3ead6ec] views.py (LiveBuildlogView): Update to new context setup.
* [27caa3b] views.py (LogView): Simplify && make work again for "failed"
case.
* [0b4ea64] views.py (LiveBuildlog|LogView): No need to call
super().setup w/ mbd vars.
* [85bbd30] views.py (LogView.setup): Further simplify; remove 'double
context'.
* [c837e4d] urls|views.py: Don't customize 404; add missing 405.
* [f9ee270] views.py: Error views: Use http.HTTPStatus.
* [4ee821c] client|views.py: Drop feeding (possibly lots) messages
through HTTP header -- only one error description now.
* [02d993c] views.py (View.setup): Ignore attribute-defined-outside-init
for _mbd_context.
* [c62a352] devel: New configurable var: MBD_DEBUG.
* [64c0353] views.py (PathView): Rename TplView->PathView, minor
cometics.
* [cbcf097] views.py: api() view: Skip extra try catch (to default to
BAD_REQUEST).
* [80b787a] devel: Handle MBD_DEBUG in profiles.
* [2645137] views.py: Add initial Middleware for generic error
(exception) handling.
* [36fbb52] config.py (cfield_exception): Add common function for HTTP
header error field.
* [b64bd91] urls.py: Remove custom error handler config (will be
replaced by new middleware).
* [257c32e] error.html: Update to new middleware setup.
* [1bc2d8b] django_settings.py: Actually configure new exception/error
middleware.
* [7b15e8d] views.py: Remove all old custom error handling code; in api
view, raise new HTTPExceptions instead of returnin responses.
* [c6c9e79] api_show.html: Rm top level divs.
* [275d980] api_show.html: Rm (no longer existing) link to repo
overview.
* [9f4faa7] api_show.html: Update to jquery datatables.
* [2aa3b39] api_show.html: Make "details" menu repo.codename -> table.
* [38b006b] api_list.html: Update to details-based menu (repo -> table.)
* [f5734f1] api_list.html: Update to jquery datatables.
* [f2ace9f] api_show|list.html: Have details open by default.
* [a5e5856] mini_buildd_tags.py: Rm tag 'mbd_title'.
* [bad32e6] views.py: Update api view to class based.
* [c7b27f7] views.py: API: Don't use django shortcuts.
* [5dd7552] views|urls.py: Add and use class based view for
AccountProfile.
* [8e65184] main.css: More classes cleanup: Rm unsued, prefix w/ mbd-.
* [c425f79] admin/index.html: Revert wrong block renaming:
content->main.
* [074ddc5] admin/app_list.html: Rather overwrite app_list.html
(include) than index.html.
* [4162f6b] admin/app_list.html: Some cosmetcis on "header".
* [6d66cf7] admin.py: Move models/__init__.py here (this seems to be
django admin convention; eliminates explicit register call).
* [c2064d2] urls.py: Skip running autodiscover() ourselves (django seems
to do that by default).
* [0d489ee] admin.py: Create custom AdminSite class.
* [6902297] admin/index.html: Revert to overwrite index.html again
(app_list.html not supported in django 2.2)
* [f1846f9] admin/index.html: Skip base_site override ("branding").
* [84b7b23] admin/index.html: Add (commented) debug snippet.
* [8a5479a] admin.py: Add custom site header and title.
* [94b3743] admin.py, admin/index.html: Do most date processing in
AdminSite: App and model ordering, extra data for mini_buildd app.
* [337f5fd] admin/index.html: Sync w/ py-django 2.2 template.
* [b8aeb8e] admin/index.html: Put preliminary mini_buildd extra content
to mini_buildd app only.
* [68ba0e7] includes/mbd_model_count.html: Update to use classes only,
not explicit styles.
* [7223d36] admin/base_site.html: Overwrite base_site again (to get same
css/js in all pages).
* [cec82ef] main.css: Simplify css for messages.
* [a1db9a8] main.css: Cosmetic reordering.
* [6e8977a] main.css: Fix selector syntax: mbd-nav-search-and-user.
* [1a93315] main.js: Move "admin button magic" js code here.
* [e15ee61] templates/**.html: Bulk-remove obsoleted
type="text/javascript" for script element (fixes validator warnings).
* [a09a2a9] base.html: Rm (basically unused) JS blocks.
* [a2ffe26] templates/**.html: Bulk-fix multi 'load' commands to single.
* [e2204b5] mini_buildd/*.html: Bulk-cleanup to use only one 'title'
block.
* [bd70195] base.html: Move to top-level templates dir (used by various
apps).
* [dff1453] views.py: Add separate function for generic context.
* [4b57532] views.py: Mv generic context back to plain context processor
function.
* [23775f1] views.py (LogView): Override get_context_data(), not setup.
* [b342c33] views.py (LiveBuildlogView): Use get_context_data() (not
setup()) to extend context.
* [6c26f97] views.py: Generic View class now no longer needed.
* [f1c9553] views.py: API menu context: Only for home view.
* [bd3bb27] snippets/events.html: Show in ascending (was desc) timestamp
order by default.
* [efeeaf0] admin/base_site.html: Add jquery.js (fixes js error).
* [29a68eb] urls.py: Make path URL work for any '*.html' path.
* [a60ed13] base.html: Link config,admin as iframe.
* [f496fd6] api_default.html: Update to extend from base.
* [b94c991] includes/mbd_pre.html: New include for plain text view w/
copy-to-clipboard.
* [4c9ff87] snippets/events.html: Use mbd_pre include.
* [41524c8] snippets/repositories.html, tags: Add tag
'mbd_distribution_string'.
* [602c4c3] snippets/repositories.html: Use apt_pre include for all "raw
text".
* [5b6eacf] includes/mbd_file.html: Update to mbd_pre.
* [1528d0c] api_default.html: Update to mbd_pre.
* [0e5c719] repositories.html: Put browse links into resp. summaries.
* [362acb0] main.css: Use 'mbd' prefix for clipboard.
* [a2a01fc] base.html: Make js clipboard support available on any page.
* [44a6420] mini_buildd_tags.py: New tag: mbd_hash.
* [e0922b0] mbd_pre.html: Use hash from given id for html class id
(avoids possible wrong class id syntax).
* [7c448af] base.html: Reorder includes in header.
* [51276ba] django: Rename "mini_buildd_tags" -> "mini_buildd" (this is
already in 'tags context').
* [a37ec89] mbd_api.html,css: grey-out api button if needs login.
* [d0e7997] mbd_api*.html: Rm 'show_doc' support (not used).
* [9902ebc] mbd_api: Move most logic from template to tag.
* [da60cac] base.html: Mv DPT link to api_show.
* [6a5198d] templatetags/mini_buildd.py: mbd_api: Simplify code.
* [672eca2] home.html: Use 'full' api view in api menu.
* [a281b6d] main.css: Simlify header layout.
* [c1f8425] base.html: messages into main as "aside" element.
* [29a0d32] main.css: Add prefix "mbd" to all all color classes.
* [8c9b601] main.css: Rm class 'smaller'.
* [45a6f0f] main.css: Don't use one-liner notation.
* [a1bc29d] main.css: Alos fully classify main and footer.
* [bc898a0] main.css: Add mbd-Prefix for all messagelist classes.
* [fd556fc] Rename main.css|js -> base.js|css.
* [71d3f5e] base.css: Identify header,footer,main w/ classes.
* [043cd7f] base.css: Merge admin.css.
* [c6e56ed] doc/_templates/layout.html: Fix css and logo links.
* [d9c5596] base.css: Merge sphinx.css.
* [6801e23] base.css back to mini_buildd.css (now all css is in one
file).
* [9c9f4c2] Revert "base.html: Link config,admin as iframe."
* [0e87b28] mini_buildd.css: Merge admin button css to 'generic color
section'.
* [1f779a9] mini_buildd.css: Rm bunch of unused admin CSS.
* [dec1e55] includes/mbd_model_count.html: Update to mbd-Prefix.
* [6fc0b38] admin/index.html: Fix 'wizard' api display, add/changre
format.
* [d017777] mini_buildd.css: Logo via class.
* [88df1e5] admin/confirm.html: Revert wrong former block rename
content->main (only for mini_buildd templates).
* [7f9955a] admin.py: Only use 'index_title' (seems to be only thing
actually displayed).
* [6b7f764] admin/base_site.html: Minimize (only add css, js and favicon
now).
* [9877fb3] Better name for custom confirm template: confirm.html =>
mini_buildd/mbd_action_remove_confirm.html.
* [687a97f] mini_buildd.css, *.html: Bulk remove non-prefixed classes,
minor cleanups.
* [a40d6b2] mini_buildd.css: Use grid for footer.
* [110ab90] mini_buildd.css: Make logo s/what smaller, and align middle.
* [ab186ea] mini_buildd.css: header: Fixup "ul" margins and paddings.
* [7200de3] Bulk-remove all remaining static 'style=' from html
templates.
* [b9d9000] mini_buildd.css: Rather use margin-top|bottom (instead of
margin-block-start|end). (Fixes css validator complaining)
* [0232423] mini_buildd.css, api*.html: Use grid layout for optional api
args.
* [3dfdf2f] mbd_api_arg.html: Remove extra "details" tag for arg input
fields.
* [2009cdd] home.html: Rm extra details tag in api menu.
* [8e76e39] mbd_api.html: optargs: Display details inline && add
background.
* [7962521] mbd_api_arg.html: rm unused 'class' for label.
* [93fd5c5] mbd_api.html: Put div (class=mbd-api) around api (again)
(some css just does not work w/ form).
* [85c2a61] mini_buildd.css: Background whole api, not just optargs.
* [99288a3] css, mini_buildd/home.html: Display api block-inline.
* [ba7353a] cron.py: Job: Rename class var typ->type (analog to events:
key names should not matter for class vars).
* [20031e6] cron.py: Job: Make 'next_run' and 'desc' class vars public.
* [c555ab7] mbd_snippet.html: Add reload button.
* [774be05] mini_buildd.css: Rename class 'mbd-successful' (not used
afaict) to more conforming 'mbd-success'.
* [3c6cadb] events.html: datatables: Fix ordering of 'timestamp" using
'data-order' attr (and properly use "desc" default order again).
* [e96faed] cron.py: Update for better log/display purposes.
* [599eb52] daemon.py: Add code help debugging crontab.
* [275f92d] snippets/crontab.html: New crontab display based on jquery
datatables and updated cron implementation.
* [0d8c62e] mini_buildd.css: Make messagelist classes truly uniqe to
messagelist.
* [9e3aa41] misc.py: Rm local2utc: Obsoleted.
* [45b5888] cron.py (_Job.Log.seconds): Remove (unneeded) datetime tz
aware test.
* [c1f76e2] mini_buildd.css: General re-order && cleanup.
* [03a2f6f] home.html: Rm html caching for api menu (does not bode well
with dynamic API display and login change).
* [16e484d] admin/base_site.html: Return of branding.
* [a6019fd] Rename logo.svg -> mini-buildd.svg.
* [440e04e] base.html: Put all user navigation
(login/out,profile,register,reset) into header, mbd-nav1.
* [a35bf36] base.html,registration: Improve user menu && simplify
registration templates.
* [aa52228] mini_buildd/account_profile.html: Make independent from
registration templates.
* [226d173] registration/password_change_form|done.html: Rm, no need to
customize these.
* [7e0fe9d] templatetags/mini_buildd.py: mbd_api: Add "mbd" and
"request" to context.
* [bfc8ec2] config.py: Fix login path to admin app default login path.
* [a023433] mbd_api.html: login && api path: Use values from config.py
rather than hardcoded.
* [f7f4459] mbd_api.html: Use separate form for auth_err case, add
'next' handling after login.
* [6cfbb4e] registration/login|logout.html: Rm, now obsoleted (using
"standard" admin app login/logout).
* [1315e89] registration/password_reset_done|form.html: Both not actual
customizations, and not needed.
* [664009d] registration/password_reset_*: Remove all customization
around password reset (not-actually-custom or not functional anyway).
* [c9032be] registration/login.html: Add again, using 'admin/login.html'
as-is via 'extends'.
* [6d9c856] urls.py: Clean up accounts/ urls. Add default urls for
'admin' and 'registration' only.
* [093f9c0] config.py: Update login URL to accounts/login/ again.
* [492b5ba] base.html: Add "change user" to logged-in menu.
* [38a08f0] urls.py: Rm now-obsoleted import d.c.auth.views.
* [a3eee43] registration/activate.html: Rm -- this template is not used
(as per doc && tests).
* [3c11c40] registration/*.html: Update all reg. templates to extend
from base.html, and remove obsolete registration/base|simple
templates.
* [fee7af6] base.html: Minor updates to user menu.
* [8d667fd] registration/activation_email_subject.txt: Update to "sign
up" wording.
* [62a3c5a] registration/activation_email.txt: Support {{ scheme }} (for
p-d-registration >= 3).
* [85c5a01] Update clipboard.svg, add download.svg, reload.svg (from
public domain openclipart-svg Debian package).
* [0a1d81c] * src/mini_buildd/templates/includes/mbd_file.html: Add
support for direct download button.
* [6fadad8] includes/mbd_pre.html: Put clipboard button on top.
* [2bebd2c] log.html: Support direct download link for buildlogs &&
changes.
* [734e467] mini_buildd.css: Generalize CSS for clipboard, download and
reload.
* [9ebde01] templatetags/mini_buildd.py: Add 'mbd_token' tag (utilizing
uuid.uuid4()) as general means to produce unique ids.
* [881e187] includes/mbd_plain.html: Combine/replace mbd_file, mbd_pre.
Uses mbd_token for unique ids, adds direct download support.
* [f35b1af] mbd_api*.html: Switch to use mbd_token; rm mbd_hash tag and
extra 'tag_id' in mbd_api context.
* [2af9709] devel: profiles: Add 'production' switch (disable all
debugging).
* [facddbb] urls,views.py: Fix up custom error handling -- overwrites
django defaults for 400,403,404 and 500 again (still needed) in
addition to middleware.
* [c0bc6ee] devel (mbd_run): Don't run funcs in expression (Fixes: No
error errexit in function code).
* [de06b92] includes/mbd_plain.html: Sanitize arg names: file_path,
download_uri.
* [c65d601] templatetags/mini_buildd.py (mbd_cat): Rather open file in
proper text mode in the 1st place.
* [9bd48d2] mini_buildd.css: 'info' should rather be blueish, not
greenish...
* [c43fa98] templatetags/mini_buildd.py: Initial "buildlog index
guesser" support (for now, sbuild section headers only).
* [7467246] buildlog index guesser: Add support for fatal make errors.
* [acdd4d7] mini_buildd.css: mbd-warn should rather be mbd-warning
(corr. to py logger function).
* [68ef75f] /mini_buildd.css: Add bg colors for red and gold (better
readability).
* [3d4eca3] buildlog index guesser: Add support for lintian warnings and
errors.
* [51389fa] devel: Rm "api index" tidy (html) test (that location has
been removed).
* [4c22fdf] views.py (LiveBuildlogView.get_context_data): Fix context
name.
-- Stephan Sürken <absurd@debian.org> Tue, 10 Nov 2020 14:13:34 +0100
mini-buildd (1.9.2) experimental; urgency=medium
** 1.9.x are _development_ releases, use for testing only. **
This fixes another FTBFS, and adds a test to build ourselves to avoid
this embarrassment in the future.
* [a64690d] devel (changelog): Update snapshot version so it is suitable
for later test upload.
* [3fb777e] devel (build-ourselves): Add check to build ourselves.
* [8ea022f] devel (mbd_dput): Add general func for dput.
* [08afe12] models/source.py: wizard: Autogenerate 'Debian experimental'
(source+prio source).
* [1c7f9a9] mini-buildd-events: "--type" -> "--types", and fix doc
(after nargs update).
* [0490f42] rules: Don't run doctests for now (fixes FTBFS on buildds).
-- Stephan Sürken <absurd@debian.org> Thu, 03 Sep 2020 16:14:23 +0200
mini-buildd (1.9.1) experimental; urgency=medium
** 1.9.x are _development_ releases, use for testing only. **
Intermediate release mainly fix FTBFS. Fixes full test suite run w/
SSL enabled.
* [d84151c] devel: Calls mbd-api,events,dput with full debug.
* [0b6d54a] devel (mbd_supertestall): Generate log files in ../.
* [793814d] mini-buildd-dput: Skip mini-buildd internal restrictions on
changes (i.e., use changes.Changes, not changes.Upload).
* [fe2965f] devel (testsuite-packages): Adapt/simplify to changed m-b-
dput (can now upload unfinalized changes). Fixes this test for ssl.
* [1081282] devel: Rather use apt-get (not apt) as we are a script.
* [437c2ed] devel: Rm 'extra-packages' tests. All these (local!) dsc's
have now been integrated to 'testsuite-packages'.
* [373944b] control: Add b-d and dep or-utils: python3-apt (fixes
FTBFS). (Closes: 964557)
* [f21c2cb] control (Build-Depends): Fix 'contrib' module name in
comment.
-- Stephan Sürken <absurd@debian.org> Tue, 01 Sep 2020 18:19:40 +0200
mini-buildd (1.9.0) experimental; urgency=medium
** 1.9.x are _development_ releases, use for testing only. **
Issue Soup, plate VII: Armageddon
This release updates to 1.9.x versioning scheme (indicating
that next stable will be 2.0.x, and we are getting closer;). It
addresses various mixed issues -- some of which demanded severe
internal refactoring.
Let's try to summarize what's user-visible:
- Further improves 'events' format and handling; merges 'notify'
(E-Mail).
- REJECT on uploads with unfinalized changelog.
- testsuite now tests far more use cases.
- threads: Faster shutdown (remove polling).
- Builds may now be killed manually (via API call).
- Removes SIGHUP capability (there really is no use case).
- Command line args syntax for lists is now '--list a b' (was
'--list a --list b').
- API 'getsourceslist' overhauled, added ability to set apt line
options.
- Simplify default apt 'archive id' (origin), and add ability to
customize.
[ Stephan Sürken ]
* [c5d4f48] builder.py (Build.mbd_run): Indent fixes.
* [0d76cc0] repository.py: Minor formal code improvements around package
install.
* [4b4ee21] builder.py: More reasonable debug logs on live logs
expiration.
* [0ac756d] builder.py: No need to use django timezone util for UTC (any
more).
* [6f3062c] repository.py (Repository.mbd_package_install): On binary
package install failure, revert to rollback0 (Fixes possibly partially
installed packages).
* [9497ba3] changes.py (Upload.__init__): Forbid 'unfinalized' changelog
entries.
* [bab4bc9] changes.py: With dedicated 'Upload' class, Options parser
can now be initialised in constructor.
* [0c45875] daemon.py: Re-order code.
* [6621224] daemon.py (DaemonThread.mbd_run): Simplify code.
* [50d211a] daemon.py: Rename start, stop, restart: Prefix _mbd (prepare
class Daemon to be Thread itself).
* [d07dd94] misc.py: Alternative Thread impl Thread1.
* [8268706] httpd.py: Update to Thread1.
* [a3d3a6c] ftpd.py (FtpD): Update to Thread1.
* [8eeb43f] daemon.py (DaemonThread): Update to Thread1.
* [235cbda] cron.py (Tab): Update to Thread1.
* [42a7f0c] builder.py (Build): Update to Thread1.
* [f1b1e99] builder.py (Builder): Update to Thread1.
* [2b44add] Merge Thread1 -> Thread.
* [98b91c6] daemon.py: Merging DaemonThread w/ Daemon (sort of carnage
atm; not all works again).
* [192dba8] misc.py: Add (commented) debug log for temp use.
* [1a15833] misc.py: Add Singleton class (following metaclass template).
* [a8a6c88] daemon.py: Use Singelton class (instead of using globals).
* [d2b00ce] daemon.py: Daemon: Treat Daemon class naturally as Thread;
start/join in mini-buildd, mbd_start/mbd_stop now only handles
incoming (most things continue to work ;)
* [10383a4] packager.py: Fix stray build result error wording: Rather
"not packaging" than "not building".
* [a29cad9] builder.py: Fix: Don't use event Thread class for building.
* [6e4418e] daemon.py: Thread: Make *most* class vars '__init__ only'.
* [28e9329] ftpd.py: Instead of (mis)using __del__, properly overwrite
join().
* [7ed555d] misc.py (Singleton.destroy): Add destroy method.
* [f11c6ed] daemon.py (Daemon): Get rid of extra mbd_start(),
mbd_stop().
* [b422c70] daemon.py (Daemon): Get rid of extra is_running() (just use
thread's is_alive()).
* [2c546b3] daemon.py (Daemon): Remove (now no-op) is_busy().
* [b63b8ae] daemon.py: Move model getter to models.daemon.
* [b37dfac] daemon.py: Don't start subthreads in __init__ -- rather
overwrite start().
* [22451d0] daemon.py (Daemon): Use dict for subthreads.
* [1f8e521] daemon.py/cron.py: Switch to nicer notation for tab.add().
* [4c1023e] builder.py: Convert _expire_live_buildlogs() hack to weekly
daemon cronjob.
* [48d9558] daemon.py: Rather use list for threads.
* [a93a508] debian/control: Need twisted >=20 to make events work.
* [19a4ad5] daemon.py: Daemon class: Order methods.
[ Stephan Suerken ]
* [10e797e] devel: Use auto codename ${MBD_CODENAME} consistently (Fix:
sid/buster still occasionally hardoded).
[ Stephan Sürken ]
* [23c2a0d] misc.py: Rename Thread -> EventThread.
* [c67714a] misc.py (EventThread.__init__): Get rid of explicit daemon
arg.
* [f71d297] misc.py: Call task_done from EventThread.
* [4d28e32] builder.py: Get rid of extra func build_close() (used only
once, here).
* [627baab] misc.py: Add PollerThread.
* [c2e09d8] builder.py: Use Daemon singleton.
* [3ecd267] packager.py: Use Daemon singleton.
* [33bebbd] daemon.py: Remove get() in favour of Daemon() (singleton
call).
* [5ce9211] models/daemon.py: Re-fix Daemon save (we still need extra
update_model() method).
* [1e6ce79] models/daemon.py: Remove two unneeded calls to mbd_daemon().
* [6a6ce3d] daemon.py (Daemon.get_active_remotes): Remove, not used.
* [4f924d1] daemon.py: Fix in-code wording: builds -> building, packages
-> packaging.
* [2350749] Revert "misc.py: Call task_done from EventThread."
* [3b52472] Web home.html: Move crontab && toolbox down.
* [e987cf7] builder.py (Build): Add support to kill() sbuild run.
* [6ff3a5b] builder.py (Build): Add event log 'info'.
* [bd88cf5] builder.py: Move 'building' dict to Builder.
* [d578bbb] packager.py, daemon.py: Make 'Packager' its own thread
(analogous to 'Builder').
* [366abac] builder.py: build_queue: Feed with Changes instance directly
(no need to init Changes again).
* [4a60b21] builder.py: Conformly rename "build_queue"->"builder_queue".
* [f6dea7a] src: Bulk-remove some unnecessary f-strings (new pyflakes
warning).
* [a6f0c58] call.py: Fix pyflakes warning.
* [61e97a8] mini-buildd-super-portext: Fix is_satisfied() method calling
(triggered by pylint 2.5.3 warnings).
* [70ba415] pylint: repository.py, source.py: Fix four invalid-str-
returned warnings for __str__().
* [daf6cfe] daemon.py: Workaround for pylint crash
(https://github.com/PyCQA/pylint/issues/3742).
* [67fbbb0] API: New command "kill": Stop ongoing build arbitrarily.
* [c99fa9a] HTML: mbd_building.html: Add "kill" API call to 'currently
building' table.
* [4475b53] builder.py: sbuild: Retrieve retval from wait() directly.
* [d9eb58b] builder.py: Make Build thread non-daemon, and properly
join().
* [e0f90e0] daemon.py: Fix thread order; do shutdown()+join() both at
once.
* [97fa94e] builder.py: Remove the (historic) extra status of a Build
object.
* [cf55e06] packager.py: Remove the (historic) extra status of a Package
object (some compat still).
* [e51fb96] misc.py: Rm (now unused) class Status.
* [c8507f6] builder.py: Some structural changes (obsoletes extra
BuildQueue class, and stops fiddling with 'globals' in Build class).
* [b69c486] packager.py: Move packager queue to Packager class.
* [e1b8c85] builder.py: Drop sleep(), use maxsize queue to limit
parallel builds.
* [621994e] packager.py: Fix/regression: Make new class vars not
conflict w/ heritage.
* [f202a84] .prospector.yaml: Sanitize pylint 'max-public-methods'
(after Changes refac).
* [b1d5110] events.py: Event: Support additional fields: 'maintainer',
'changed_by' and 'urls'.
* [4aade81] .prospector.yaml: pylint: Adapt max-public-methods, max-args
to more worldly values.
* [e81e76d] changes.py (Changes.get_pkglog_url): New method to get pkg
log URL (currently manually assembled in template only).
* [bfab77a] models/daemon.py (Daemon.mbd_notify_event): New method
(currently wrapping mbd_notify()).
* [e3a101c] events.py (Events.logchanges): New convenience method (to
get most fields from changes automatically).
* [b2b8d58] config.py: Add HTTP_PATH_LOG constant.
* [6dd5917] events.py (Events.logevent): Enable (email) notify for
events.
* [22d5d86] Event: Update all (but) one event log call.
* [99e817e] devel: Adapt testsuite (MIGRATE will now show the "from"
distribution).
* [0b94bb7] packager.py (Package.install): Move INSTALLED event log to
packager.
* [2f9d2c8] packager.py (Package.autoports): Give automatic ports it's
own method.
* [16b1c62] devel: Add convenience shortcuts to build one test/keyring
package.
* [99b904d] packager.py: Install: Slightly re-design to make hacky
EventException workaround obsolete.
* [5c67bd8] packager.py: Improve logic of 'installer part' (avoids
double package_close()).
* [a4bd40b] packager.py (Packager.run_event): Rather check explicitly
for 'Upload' type.
* [abe61cf] models/repository.py (Repository._mbd_package_migrate):
Switch back to deliver destination dist on MIGRATE event.
* [909b5c8] models/repository.py: Rm mbd_package_notify() (and calls for
events MIGRATE and REMOVE).
* [c376b1f] devel: package build shortcuts: Add support for additional
arguments.
* [b595605] daemon.py (TestPackage): Add support to test auto-ports.
* [8696254] api.py (TestPackages): Support auto-ports.
* [584f27f] devel: Add auto-ports test to test suite.
* [0ca7af9] packager.py: Code cleanup: Puts event logs at same "level"
and makes 'port report' available in events.
* [226293c] packager.py: Remove extra (email) notify code.
* [cc59d75] daemon.py: Remove extra (email) notify code (for 'invalid
changes').
* [7387a73] models/daemon.py: Rm all "msglog" code from mbd_notify().
* [f4ebed4] models/daemon.py: Merge mbd_notify() into
mbd_notify_event().
* [ff6a8eb] models/daemon.py (Daemon.mbd_notify_event): Make this never
fail, just log on error.
* [8e69056] models/chroot,repository.py: mbd_reprepro, mbd_path: Rather
use class vars than method.
* [8ca24f3] src/*: Bulk-replace misleading field name "sourceversion" by
"version".
* [8ebc233] misc.py: Add commmon Thread class, Mandates shutdown()
method only.
* [41a94b3] ftpd.py: Update to new basic Thread class w/ shutdown()
method (eliminates polling).
* [6633b09] httpd.py: Update to new basic Thread class w/ shutdown()
method (eliminates polling; actually call reactor.stop()).
* [a7fc2d3] config.py: Add global "SHUTDOWN" object (so it may be used
outside Thread context as well).
* [b26daff] config.py: SHUTDOWN: Use str object (just more handy for
logging) && fix Thread to always use object comparison ("is").
* [ee0945c] events.py: Send SHUTDOWN to clients (fixes httpd shutdown
when event clients are connected).
* [4fe4296] httpd.py (Events._render): On SHUTDOWN, issue resp. error
via HTTP status.
* [0e3b45f] Add debug logs when threads are finished.
* [fbda719] cron.py: Decrease polling timeout from 5 to 3 seconds
(improves shutdown delay).
* [6c91093] mini-buildd: Properly start(), shutdown() and join() httpd
thread.
* [f15b321] mini-buildd: Remove support for SIGHUP (reload) (no real-
world use case, proper service restart is nearly the same).
* [ba9e084] devel: Add helper 'signal'.
* [978c1e8] mini-buildd: Simplify signal handling: Overwrite TERM, INT,
HUP: Proper shutdown, everything else default.
* [f836ba0] mini-buildd: Merge run_daemon() into runcli().
* [f964c35] misc.py (Thread.__init__): Add subthreads support.
* [3860a50] daemon.py (Daemon): Use subthreads.
* [5aab9ad] httpd.py (HttpD): Don't run as daemon thread.
* [21d47c9] devel: Add 'pid' helper shortcut.
* [525f213] src: Remove two left-over task_done() calls (we don't join
any queues).
* [2e6f37c] packager.py (Package.extra): Merge changes.extra().
* [0d191bb] events.py: Fix: Event log replay should be reversed.
* [1f9a93b] events.py (Event): Remove field "urls": Now in extra.
* [cf8ab03] src/*: Bulk update wording: "package"->"source" for all uses
of "package(s)" as "source package(s)".
* [459f9bb] events.py: Move position for timestamp arg.
* [85e0e2a] events.py (Event): Move all non-mandatory fields to field
"extra".
* [9c175b3] events.py: Harden event code.
* [b4caa83] misc.py (PollerThread.get_event): Renice implementation.
* [a4b8bad] devel: signal: Make work for multiple pids.
* [5974c3b] misc.py (PollerThread): Return w/o delay on shutdown()
(fixes (idle) daemon stop delay due to crontab).
* [cdc280f] misc.py (DeferredThread): Adopted from builder.Build.
* [3365be9] threads.py: Grant 'threads' their own module.
* [21a01dd] builder.py (Build): Simplify upload code.
* [71d3a6b] Fix three forgotten spots for the package->source renaming.
* [a8d691d] Bulk-update naming convention for 'changes' vars: Use
"upload", "buildrequest", "buildresult" where appropriate.
* [b7f53e8] packager.py (Package.precheck): Move "Changed-By empty?"
check here (for now, this is the correct place).
* [a31bb0e] daemon.py..: Queue incoming events (changes file names)
only, construct Changes objects later.
* [9323c86] changes.py (Upload.__init__): Move "Changed-By empty?" check
back here now (and let m-b-dput profit from early error).
* [4375757] builder.py (Build): Make buildrequest class var "public".
* [a4c9a81] events.py: Cosmetics: Put (automated) timestamp field last.
* [beb2ade] changes.py (Changes.key): Bulk-replace confusing
'get_pkg_id' method by 'key' property.
* [18c7b13] packager.py: Don't use extra var for key.
* [6020729] devel: extra-packages: Don't fail if m-b-dput fails (as we
now catch 'unfinalized' in user space already).
* [e98e3f3] Add 'share/testsuite-packages' (static packages for
testsuite): Add inital package 'unfinalized-changelog'.
* [f9e4d81] devel: Add support for testsuite-packages.
* [2d3785c] events.py: Add 'REJECTED' log event.
* [b4fa1c8] packager.py: Let master exception handler try to add changes
data to log.
* [31ebe64] packager.py: Use new type REJECTED for master handler fail.
* [2dd0efa] devel: testsuite: unfinalzed-changelog: Automatically test
for correct behaviour.
* [91ad5b8] .gitignore: Update for new testsuite dir.
* [9d6694f] share/testsuite-packages: New package test 'unknown-
repository'.
* [e80d7fc] devel: testsuite: Auto checking 'unknown-repository'.
* [d7f2ca0] share/testsuite-packages: Make package name prefix with
event to expect.
* [86e4bdc] devel: testsuite: Fully automate (albeit exception cases
handling) package tests.
* [9456466] packager.py: Initial fix for FAILED, REJECTED separation.
* [d3d110d] packager.py (Package): Make Package construct from event
directly.
* [2e1d96e] packager.py: Deletion from packaging dict must be in
Packager itself.
* [1ee20d4] packager.py (Package.__init__): Remove superfluous 'pid'
class var.
* [f7f764b] packager.py (Package.__init__): Merge validate() into
constructor.
* [9591991] packager.py: Get rid of package_close().
* [a757dfa] views.py: API: Don't 'weblog' json results line by line.
* [3ea4d57] builder.py: BUILT event: Use "architecture" (like in
changes), not "arch".
* [6765e3a] mini_buildd_tags.py (mbd_get): Add 'arbitrary key getter'.
* [f4267ef] builder.py: Remove all buildrequest shortcuts via properties
(superflous, code more concise when access directly via buildrequest
changes).
* [5cefefc] templates: Match include file names with internal names and
use singular: 'package', 'build', 'event'.
* [88213ff] builder.py(Build): Make misc.Distribution class var (prepare
mv/merge Compat).
* [84f4017] misc.py (Distribution): Merge Compat class from builder
here.
* [5e4e32f] distribution.py: New module.
* [fba2a7f] events.py: Rather always expect proper Type enums internally
(i.e., remove implicit 'str' conversion).
* [128ec34] distribution.py: Add "Codename" class.
* [e1ed176] distribution.py (Distribution): Simplify code (use class
vars, not properties).
* [d98ae5e] distribution.py (Distribution): Make self.codename of class
Codename.
* [ff34b6f] distribution.py (Distribution.has_lintian_suppress): Remove,
superfluous (this is already in Codename).
* [32a068d] devel: Fix dput call (-v is --version only, not --verbose).
* [2d583a4] mini-buildd-events: Fix behaviour when no type is given.
* [87e0564] mini-buildd-events: Rather use '--type', not '--types' (arg
needs to be given mult. times for a list).
* [b35f520] distribution.py: Import apt_transport_,.. compat into
Codename.
* [5486721] misc.py (datetime_stamp): Add shortcut for all interal UTC
stamps.
* [abfd715] devel (mbd_testpackage): General func for testpackages
(fixes redundancy).
* [b582efe] misc.py (StopWatch): New class (for later use in
builder/packager).
* [b34c037] threads.py (DeferredThread): Use StopWatch() (as
self.running) to control and measure deferred_run().
* [0d7af06] packager.py (Package): Use StopWatch (as self.running) to
measure and control packager run.
* [31a71c0] changes.py (Changes): Add generic "distribution" property,
and a mapping variant for 'Upload'.
* [ac1c1d4] builder|changes.py: Use new 'distribution' property.
* [cac5833] models/repository.py (parse_distribution): Move here (from
daemon.py).
* [bfc7d2a] packager.py (Package): Obsolete extra
self.distribution_string.
* [adadb2e] misc.py (StopWatch): Add to_json(); replace "took" by this.
* [b37122b] packager.py: Better names for internal class vars
(installed, rejected, failed).
* [2363681] builder.py: Rm obsoleted started+built stamps.
* [ffcedb7] builder.py (Build): Mv auth to constructor.
* [e1ac3a1] builder.py (Build): Drop extra _build_dir class var.
* [077a191] builder.py: Rename some class vars (like in packager).
* [7d4beb2] builder.py: Rm compat status, and simplify __str__().
* [a333def] builder.py (Build.__init__): key: Remove cruft '$' before
arch.
* [4db3da1] misc.py (StopWatch.__str__): Renice output.
* [e6ed492] changes.py: Renice key format (@distribution).
* [0c9492b] builder.py (Build.__str__): Drop. We will only need .key.
* [d16d741] packager.py (Package.__str__): Drop (we will only need
.key). Also drop superfluous status property.
* [be14870] templates/includes/mbd_build|package.html: Simplify.
* [b3fc66b] gnupg.py: Fix import order (cosmetic).
* [52e32de] modesl/gnupg.py: Fix missing import (mini_buildd.client).
* [2e9e6ac] config.py: Put constant for HTTP_MESSAGE_PREFIX here. Also
add generic "field" prefix for later use in 'changes'.
* [6ff6feb] daemon.py: Fix missing explicit import (config).
* [9ba92c0] daemon|events.py: Use new global for X-*-Originally-Changed-
By.
* [32cf3b8] packager.py: Fix missing import.
* [3c5fad7] models/repository.py: Three overlooked updates for
'distrinution.py/codename compat merger'.
* [d44d7c6] api.py: logcat: Fix wrong bulk-update (from introducing
'events').
* [a44c385] api.py (Find): Fix one forgotten bulk-update
("package"->"source" update).
* [84dd604] api.py (GetUploaders): Trigger keyring update.
* [d250957] devel: testsuite: apicalls->api-getters: Test _all_ getter
calls and move below build-port-migrate.
* [a4a4ece] devel: testsuite: Add "portext" test.
* [f3ff300] package.py: New modules for package classes.
* [80141ec] changes.py: Add config.cfield(), changes.cget|set(): Helper
for custom fields.
* [6fb4569] devel (mbd_pythonkeyringtestconfig): Fix for python3-keyring
21.3.0.
* [cbcfc9f] builder.py: Make all custom fields (for buildresult,
buildrequest) actually use our custom prefix.
* [12bc11a] builder.py (Build.build): Update "Arch-All" to custom
getter.
* [9c7dc46] misc.py (apt_line[p]): Add generic tool functions to
generate an apt line (see man sources.list).
* [d38c1a0] mini_buildd_tags.py: Log stack on error.
* [31d588d] models/source.py (Component): Make class Component 'python-
sortable' (skip extra compare function, just use sorted() on
iterables).
* [c6e26ab] models/source.py (Source.mbd_get_apt_line): Only one getter
function, use general formatter function from misc.
* [f310a52] models/repository.py: Update to new Source.mbd_get_apt_line
&& sorted(components).
* [311b9e6] models/chroot.py (Chroot.mbd_check): Update to new
Source.mbd_get_apt_line().
* [88b06bf] mini_buildd/daemon.py: Update to new
Souces.mbd_get_apt_line().
* [70434b2] misc.py (apt_line): Fix unit tests (we no longer sort here).
* [f04a5aa] models/repository.py (Distribution.mbd_get_apt_line): Use
generic formatter function.
* [ca9f47d] models/repository.py
(Distribution.mbd_get_apt_sources_list): Update result to be a list of
tuples (internally only for now).
* [ca8483e] daemon.py (Daemon.mbd_get_sources_list): Use list of tuples
internally.
* [ea03a42] misc.py (AptLine): Upgrade apt_line() func to class (this
will need to do more).
* [4122442] misc.py (SourcesList): Fixes for AptLine class, add
SourcesList class.
* [0423e15] package.py: Fix apt_line usage.
* [bda2692] models/chroot.py: Fix apt_line usage.
* [c96ecc3] api.py (GetSourcesList): Rather use '--types' list than '--
with-deb-src'.
* [5fbe8d6] models/repository.py (SuiteOption): Move all tool methods
needing 'repository' to class Repository.
* [a09604f] models/repository.py (Layout): Move all tool methods needing
'repository' to class Repository.
* [66fdd0a] models/repository.py (Distribution): Move all tool methods
needing 'repository' to class Repository.
* [1a714ea] models/repository.py (Repository): Better name
mbd_get_apt_sources_list->mbd_get_apt_build_sources_list.
* [0a8ce7a] models/distribution.py: Move Suite, Architecture, Layout,
Distribution to separate module.
* [a51bf79] models/daemon.py (Daemon): Move (non-build)
get_sources_list() to model.
* [395bfa9] api.py (MultiSelectArgument): Add 'choices' argparse args
(fixes argparse-completion).
* [9175da8] api.py (MultiSelectArgument): Make this argparse 'append'
type.
* [37a423d] api.py (AutoSetup): Update for new MultiSelect.
* [738df91] api.py (KeyringPackages): Update for new MultiSelect.
* [d06c9b4] api.py (TestPackages): Update for new MultiSelect.
* [be09c0d] api.py (GetSourcesList): Update for new MultiSelect.
* [2349b3b] api.py (Find): Update for new MultiSelect.
* [d031801] api.py (Port): Update for new MultiSelect.
* [a9eaaba] api.py (PortExt): Update for new MultiSelect.
* [952bd63] devel: Update to latest API changes.
* [a09ba0c] api.py, mini-buildd-api: Add dedicated api_args() function,
move to api.py.
* [5215d5f] api.py (GetSourcesList): Add --options.
* [227d8fd] api.py (GetSourcesList): --with-rollbacks -> rollbacks (this
is just the number of rollbacks, not bool).
* [20e10d5] api.py (GetSourcesList): --with-extra-sources -> --with-
extra (we already are in "sources context').
* [d8e6aa7] api.py (GetSourcesList): Add --with-comment.
* [d7fa569] api.py (GetSourcesList): Mv least important flags down
(with-comment, with-extra).
* [1bfb910] api.py (TestPackages): PACKAGES->TEMPLATES (naming in line
with package.py).
* [c74f183] api.py (MultiSelectArgument): argparse/non-positionals: Drop
'append', instead go for 'store' + 'nargs=+'.
* [6cd2ade] misc.py (AptLine): Add 'mirror' support.
* [2fa2c9e] mini-buildd, mini-buildd-events: Convert two 'append' args
to 'store nargs=+' (to be consistent across all tools).
* [cd66d08] misc.py (AptLine): 'options' and 'mirrors' via getter only.
* [f81a8e8] models/source.py (Source.mbd_get_apt_line): 'uri' no
(longer) needed.
* [64fd7f4] models/source.py (Source.mbd_get_apt_line): Autogeneration
of 'comment'; components->limit_components.
* [44cbef1] mini_buildd_tags.py (mbd_distribution_apt_sources_list):
Display 'with_comment'.
* [b31b900] misc.py (AptLine): Disallow components as str, and do
compnents sorting once, here.
* [a7ff70f] models/repository.py (Repository.mbd_get_apt_line): Auto-
generate comment.
* [4a3c870] api.py (GetSourcesList): Move impl. here ('getsourceslist'
is special and will not be further generalized).
* [e72fe43] models/daemon.py (Daemon.mbd_get_archive_origin): Simplify
to 'Mini-Buildd <identity>'.
* [33f989e] models/daemon.py (Daemon): Make archive 'Origin'
configurable via extra option. (Closes: 790056)
* [b1b4a7c] devel (auto-setup): Fix for new --vendor arg syntax.
* [d9a19e4] misc.py (AptLine.get): Add "no component" apt line support.
* [5b518ec] devel: apt-tofu-bootstrap: Update to use apt line w/
'trusted=yes' (this also moves the snapshot test code to a separate
test case).
* [077a8ac] mini_buildd_tags.py (mbd_cget): Analogous to mbd_get(), but
for custom fields.
* [1343117] changes.py: buildrequests: Better name for custom field:
"Upload-Result-To" -> "Client".
* [e7e28b1] changes.py (Buildrequest): Obsolete custom field "Base-
Distribution".
* [e69b2f6] changes.py (Buildrequest.upload_buildrequest.add_builder):
Rename remote(s) -> builder(s).
* [1837fde] changes.py (Buildrequest.upload_buildrequest): Remove live-
buildlog monkey-patch of status (we now just can use new "http" field
of status).
* [dd87886] changes.py (Buildrequest): Move all 'live buildlog' code
here; add new custom field "Builder", replacing class var hacks.
* [572e18c] mbd_package|builds.html: Update to new live buildlog setup.
* [4acdfc2] builder.py (Build): Remove extra live_buildlog class var
(now obsolete).
* [09dc48f] mini_buildd/home.html: Merge build.html, event.html,
package.html.
* [dd58364] mini_buildd/home.html: Update/simplify live building,
packaging.
* [729a402] changes.py (Buildresult.buildresult_stat): Merge this
unsused method to into __str__() (and use as build.info).
* [fe664c7] builder.py (Build): Make 'buildrequest' class var public.
* [5ce0bfa] config.py: Add HTTP_PATH_LOG_RENDER (Fixes: HTTP_PATH_LOG
set twice, overwriting).
* [300549f] events.py (Events.logchanges): Also set "architecture"
automagically.
* [7b4aad9] packager.py (Package.extra): Remove obsoleted stuff.
* [4564579] builder.py: BUILT event: Complete 'extra' part.
* [9a35454] home.html: events display: Show depending on type.
* [8cb944a] home.html: Remove bad "Go to" wording.
* [49c61f5] mini_buildd_tags.py (mbd_cget): Now obsolete.
* [374610e] events.py (Events.logchanges): Can't use cget() here (needs
to work for dicts also).
* [d536eb7] devel (mbd_supertestall): Test for all vendors.
* [7c5c6e5] devel (mbd_supertestall): Make non-interactive.
* [3ea53e4] home.html: BUILT event: Show sbuild result.
* [ba9a45a] Revert "api.py (AutoSetup): Update for new MultiSelect."
* [726e450] Revert "api.py (KeyringPackages): Update for new
MultiSelect."
* [ca1183e] Revert "api.py (TestPackages): Update for new MultiSelect."
* [a5aff4e] Revert "api.py (GetSourcesList): Update for new
MultiSelect."
* [80c4b6c] Revert "api.py (Find): Update for new MultiSelect."
* [75c7c3f] Revert "api.py (Port): Update for new MultiSelect."
* [5cb7bff] Revert "api.py (PortExt): Update for new MultiSelect."
* [a379809] Revert "devel: Update to latest API changes."
* [b4fe608] api.py: MultiSelect: Fix several default values.
* [4a17521] home.html: Renice extra raw view.
* [d5c6d34] home.html: Extra view: Use 'details summary'.
* [9937387] home.html: Add summary for MIGRATED, REMOVED, FAILED,
REJECTED.
* [4803926] mini-buildd.css: minor tab/spaces fix.
* [d7994e4] mini-buildd.css: Add general error class.
* [49c6b53] Events: extra.info -> extra.error: This is only used for
(human readable) *error* strings.
* [1dae21b] mini_buildd_tags.py (mbd_jsonpp): Add filter to json pretty-
print objects.
* [557042a] home.html: Events view: Make "extra" content full jso
pretty-printed event.
* [e45ec38] view.py, log.html: 'Brute-force fix' package logs (but that
code should not stand ;).
* [1972965] packager.py (Package.extra()): Simplify.
* [c9e720b] packager.py (Package): Replace 'is_installed',
'was_rejected', 'has_failed' by (event) status.
* [9afd168] packager.py (Package.extra): No need for 'installed' arg any
more.
* [228eaff] packager.py (Package.extra): Add error class var --
obsoletes redundant log event call.
* [a2353db] packager.py (Packager.run_event): Get rid of superflous
context exception handler && go with one run_event() method again.
* [b018bca] changes.py (load): Rm obsolete load() and simplify file
match functions.
* [2c1047b] changes.py: Move build key here (as "bkey" property).
* [b7c76ac] packager.py (run_event): Mv package internal code back to
add_buildresult.
* [358ce74] devel (build-port-migrate): Add failing port to check error
handling (manually)
* [e9d7b07] packager.py: Add 'extra' class var; drop "port_report",
doing extra port reporting via "auto_ports".
* [3f0b637] packager.py (Package.auto_ports): Use tuple <success,
result|error> for extra info.
* [28b6d08] packager.py: Mv error to self.extra.
* [b00aa08] packager.py (Package): Get rid of obsolete _extra() method.
* [140453d] packager.py (Package.auto_ports): Minor doc wording update.
* [814e827] devel (mbd_supertestall): Rather do non-SSL profile last.
-- Stephan Sürken <absurd@debian.org> Sun, 30 Aug 2020 16:49:17 +0200
mini-buildd (1.1.38) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
Issue Soup, plate VI: Repository snapshot support
- Manage manually via new 'snapshot' API call.
- Automated yearly (keeps 4), monthly (keeps 12) and weekly
(keeps 8) snapshots of all stable distributions.
- Web: Currently shown in repository "Overview".
* [4d65bba] cron.py: Typo fix.
* [2d92c85] Initial implementation for (weekly) reprepro snapshots.
* [19e77d4] cron.py: __str__(): Also show next run time in UTC.
* [8b73d6f] reprepro snapshots: Run only for "stable" suites (not
experimental, does not migrate).
* [b9d3ede] reprepro snapshots: Use isoformat(timespec=minutes) for
snasphot dir ("2020-06-16T12:54").
* [5612f3f] doc/user.rst: Add "sources.list" section.
* [3e8989e] templates/mini_buildd/repository_detail.html: Add doc for
reprepro snapshots.
* [a800809] reprepro snapshots: Add initial del support; move all cron
code to daemon.py.
* [a566663] reprepro.py: Expand and harden snapshot support.
* [f567993] api.py: New call "snapshot": Manage reprepro snapshots.
* [9edd9ab] repository.py (Distribution.mbd_get_apt_line): Support
snapshot.
* [8429fde] daemon.py (Daemon.mbd_get_sources_list): Support snapshot.
* [43cde4d] Web: Properly show snapshots (repo detail), including
deletion option.
* [7aee3fc] api.py (GetSourcesList): Add snapshot support.
* [6720882] devel (tidy test): Add test for 'repository detail' page.
* [a310b10] cron.py: On job error, don't fail, but log. Improve log
output.
* [e3a5cd5] misc.py (Thread.run): Don't log any re-run.
* [2220947] daemon.py (Daemon.cronjob_reprepro_snapshots): Make code it
actually work after mv from repository.py.
* [a27de32] cron.py: Make cron code more versatile.
* [020b2f5] cron: Cosmetics.
* [7f949de] cron.py: Fix minutely (for testing only) scheduler.
* [48f61e6] daemon.py: Make cronned snapshots prefix with cron type
(WEEKLY, MONTHLY, ...).
* [991a576] daemon.py (Daemon.cronjob_snapshots): Log && continue other
snapshots if one fails.
* [3ae6de1] reprepro.py (Reprepro.getsnapshots): Support limiting with a
prefix.
* [3eb1932] cron.py (_Job.__str__): Cosmetics.
* [49d217d] devel: Fail on any pipe error.
* [6b53b41] devel (apt-tofu-bootstrap): Add snapshot gen, del && 'apt-
able' tests.
* [df28e6b] daemon.py (Daemon.cronjob_snapshots): Add auto-expire code
(keep 4 yearly, 12 monthly, 8 weekly).
* [8e82398] daemon.py (Daemon.start): Add monthly && yearly cronjobs for
(reprepro) snapshots.
* [c02da40] reprepro.py (Reprepro.delsnapshot): Should also call
'deleteunreferenced'.
* [9836ff1] devel: tidy: Drop repo detail test again (we cannot be sure
repo exists).
* [d398117] repository.py (Repository.mbd_get_distribution_strings): New
helper.
* [aec32e8] misc.py: Rm "too much debug" log.
* [04f521a] reprepro.py: Fixup reindex() to handle snapshots.
-- Stephan Sürken <absurd@debian.org> Thu, 25 Jun 2020 20:45:42 +0200
mini-buildd (1.1.37) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
Issue Soup, plate V:
- With fixing long-standing 'ftpd upstart error not detected',
issue, this generally updates threading code.
- Adds "cron-like" support for periodic tasks.
* [3c3b3ea] devel: Fix mbd_events(): 1st arg was skipped.
* [a71d713] models/source.py: __str__(): Simplify (fixes possible
recursion/stackoverflow w/ mbd_get_archive()).
* [d39b951] misc.py: Add Thread class (to evntually replace
run_as_thread()).
* [e456f1e] daemon.py, ftpd.py: Upgrade to Thread class (Fixes:
Daemon.start() not catching ftpd start failure).
* [8a3777d] builder.py: Update to Thread class.
* [d245cf0] api.py: testpackages: Fix evaluation of the --check option
(Fixes: would always check).
* [b7afb49] daemon.py: Update helper build queue to Thread class.
* [cd3f898] builder.py: Update to Thread class.
* [985c0b3] httpd.py: Update to Thread class.
* [c8b5f0f] misc.py: Rm obsoleted run_as_thread().
* [aa7eade] misc.py, daemon.oy: BlockQueue -> BuildQueue, simplify code
and make put() seemingly non-blocking.
* [f4af039] daemon.py (BuildQueue): Move from misc.py (only used here).
* [6062078] misc.py (Thread.__init__): Add shutdown support.
* [e7c228b] ftpd.py (FtpD.run): Use Thread's shutdown support (gets rid
of all globals).
* [70fd6c0] builder.py: Merge BuildThread, Build.
* [4b91795] misc.py (Thread): Use abstract mbd_run() for actual code
(Fixes: threads not run ignoring exceptions).
* [ad16146] misc.py: Thread: Compatible re-implementation of shutdown()
support.
* [6d43138] ftpd.py: Use new Thread shutdown impl.
* [9b9ccdf] cron.py: Add cron-like scheduler.
* [860b658] daemon.py: Add crontab support to Daemon; add global 'check'
as weekly cronjob.
* [c4f4dd6] home.html: Make crontab visible on index.
* [f66a8ad] mini-buildd: Remove "timed restart w/ signals" workaround
(we now have global "check" as internal cronjob).
* [04d05d8] Archive wizard: aptsources: Only add 'valid' and 'enabled'
sources (fixes possible bogus entries via auto-setup).
* [33af842] cron.py: Various cosmetic fixes.
* [652f6cb] api.py: Remove --force-check, force_check from API start and
daemon.py (not needed; admin may do that in setup already).
-- Stephan Sürken <absurd@debian.org> Sun, 14 Jun 2020 18:23:36 +0200
mini-buildd (1.1.36) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
Issue Soup, plate IV:
- repository: Update compression options (gz+xz), add Contents support.
- Support rollbacks && mirror for 'getsourceslist'.
- Cleanup examples && properly split between m-b, m-b-utils
* [4d8a814] devel: Add profile tainter: allvendors.
* [f35bab5] autosetup: Workaround for Ubuntu dropping i386 (focal+).
* [20816c4] Rename mini-buildd-client -> mini-buildd-api.
* [6f5e650] Separate utilities m-b-api, m-b-events (again;)
* [d883510] mini-buildd-utils.maintscript: Fix conffile removal for old
mini-buildd-tool.
* [86d8348] debian/mini-buildd.maintscript: Add some helping comments.
* [29578d0] api.py: retry: Use key "uploaded" for json result.
* [c7396b6] api.py: port,portext,testpackages,keyringpackages: Add json
result; use same syntax.
* [90fb68d] api.py: testpackages: Add --check option. We will now
properly check *all* testpackages in test suite.
* [b9e4ab7] Remove examples/09bug728096shmfixer: This has been obsoleted
and no-op (issues a warning only) for some time.
* [1e59e7d] Remove examples/apache-ssl-proxy.conf: We do support SSL now
natively.
* [92b9c59] Split examples: 'useful for admin' go to mini-buildd,
'useful for users' go to mini-buildd-utils.
* [8c57c22] models/repository.py
(SuiteOption.mbd_get_distribution_string): Improve 'rollback oo range'
error description.
* [91b178d] pylint: Easy the global nested-blocks value (allow 8).
* [bed43a6] api.py (GetSourcesList): Add option --with-rollbacks.
* [34427bf] api.py (GetSourcesList): Add option --mirror.
* [b581cda] misc.py (ConfFile): Add update() method: Write on changes
only.
* [0404aaa] repository.py: reprepro: Update config on mbd_check() as
well; only run re-index if some conffile has actually changed.
* [548b95b] repository.py (Repository._mbd_reprepro_conf_distributions):
Switch to less eye-sore multi-line string notation.
* [76d2fbf] repository.py: reprepro: Add Contents to repository (i.e.,
support apt-file et.al.).
* [29cc894] src/*: Bulk-update multi-line notation.
* [e128045] sbuildrc, schroot.conf: Use ConfFile.update(), not save().
* [b629941] repository.py: repro config: Misc new line fixes.
* [d67530c] misc.py: Simplify ConfFile.
* [78835b7] user.rst: Fix for new python-client path.
* [b83a843] repository.py: reprepro: Indices compressions: Use gz only
on Contents (needs to be fast), .gz .xz on Packages, Sources.
-- Stephan Sürken <absurd@debian.org> Sun, 07 Jun 2020 13:26:47 +0200
mini-buildd (1.1.35) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
Issue Soup, plate III: super portext
This release makes new experimental utility 'mini-buildd-super-portext'
sort-of usable and documented. SSL workaround for buster; dput can
now --check (obsoleting *-dput-wait-for-build).
* [b73f52b] events.py: Event.id(): Just use type name.
* [648f291] client.py: events: Use contextlib to assure http conn is
closed (fixes python ResourceWarning).
* [b5e28a9] events.py: Event.id(): Add error to id.
* [6c3ea70] changes.py: Changes.upload(): return pre-upload timestamp
(convenience to handle events).
* [c3f4efb] client.py: Client().__init__(): Now accept both, endpoint as
obj or description.
* [05ba919] cli.py: DputCf: Add getter for http_url.
* [0ef27a9] mini-buildd-dput: Add --check-result.
* [545d3f8] setup.py: Rm m-b-dput-wait-for-build (m-b-dput now does it
naturally).
* [5837f67] events.py: Event: Rename "error" -> "info": Not all events
are errors.
* [030d5d4] mini-buildd-super-portext: Update formatting to fstrings.
* [5521c22] mini-buildd-super-portext: py3: rpl __unicode__ by __str__.
* [50923a7] mini-buildd-super-portext: Update to proper logging, not
printf.
* [7ecfbcb] mini-buildd-super-portext: Move all global code in-class.
* [ee86191] mini-buildd-super-portext: Less verbose logging.
* [c3f69bb] mini-buildd-super-portext: dputcf is not needed (yet).
* [75d53aa] mini-buildd-super-portext: Fix version lookup.
* [8efe3e5] mini-buildd-super-portext: Fix logging text for buils
result.
* [9b16819] mini-buildd-super-portext: More less verbose logging.
* [e278bc9] mini-buildd-super-portext: Generate global url list
"portext" (instead of running ports der dsc directly).
* [aa3ddef] mini-buildd-super-portext: Skip running apt-get update (via
sudo).
* [8f4940d] mini-buildd-super-portext: Skip redundant class var
"dry_run".
* [b950901] mini-buildd-super-portext: Fix is_in_repo().
* [c629072] client.py: Improve user interaction interface.
* [e790867] client.py: Conformingly rename events events_iter; add
event() convenience method.
* [6823456] mini-buildd-super-portext (CLI._get_build_deps): Rather use
urllib than call wget.
* [321a5e0] mini-buildd-super-portext: Minor log updates.
* [2176f3f] mini-buildd-super-portext: Fix: "find" should use
"backportized minimal version".
* [82f964a] mini-buildd-super-portext
(CLI._get_unsatisified_build_deps): "seen" can now be class var
"already_checked".
* [3424992] mini-buildd-super-portext: Directly add results to class var
portext.
* [1c45676] mini-buildd-super-portext: Rm unsused get_source_version
method.
* [f260912] mini-buildd-super-portext: Add proper instructions. Mark
EXPERIMENTAL.
* [2741af2] mini-buildd-super-portext: self.mbd_target not needed.
* [42e5453] mini-buildd-super-portext: Do apt setup in __init__().
* [5155ad7] mini-buildd, config.py: Add ssl default context workaround
for buster/py3.7.
-- Stephan Sürken <absurd@debian.org> Wed, 03 Jun 2020 22:21:40 +0200
mini-buildd (1.1.34) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
Issue Soup, plate II: Utilities cleanup
This release gives all support utilities a conforming naming:
mini-buildd-<util>
All utilities are now installed to system paths, ready to use:
/usr/sbin/: Daemon utilites (package mini-buildd)
/usr/bin/: User utilites (package mini-buildd-utils)
All utilities are now (forced to) have --help support and automated
man pages. All utilities written in python have automatic
bash-completion.
* [7148aa3] changes.py: ftp: Introduce private _upload() method for
versatile use.
* [d4dc9e1] changes.py: ftp: Add upload_retry_tls() convenience method.
* [3362924] mini-buildd-dput: Use upload_retry_tls(); purge --protocol
option.
* [8fd0afa] cli.py: DputCf: Minor improvements to the parser.
* [737b916] changes.py: FTP_TLS: Also call auth(), and put login after
call to set up secure channels.
* [4a53620] Add mbu-super-portext: A wild personal POC script from 2014.
Will it still superport?
* [87501ff] devel: prepare-systemd: For buster, we need 'P' again for
certutil (to work w/ chromium).
* [5dd52b1] mbu-super-portext: Make static code checkers happy.
* [5867b87] mbu-super-portext: Use new client API. Initial test run
sort-of successful.
* [a48d647] setup.py: Rename Help2Man -> SetupCLI, and make work for any
path.
* [4c94f1b] mbu-super-portext: Update to cli.py
* [8ce555b] Put _all_ utilities to src/.
* [1c6ce7b] Prefix all daemon utils w/ new common prefix 'mini-buildd'
(not mbd).
* [5a76c15] Prefix all user utils w/ new common prefix 'mini-buildd'
(not mbu).
* [b0e8e29] setup.py: Auto-generate configs for dh_bash-completion.
* [233da07] mini-buildd*.manpages: Make all src/*.1 man pages got to
m-b-util, all src/*.8 to m-b.
* [486dad4] setup.py: Add script: mini-buildd-super-portext (1).
* [0cfa2ec] setup.py: Put produced bash-completions to src/ as well.
* [7d499c0] setup.py: Auto-generate debhelper *.install files (no nicer
way to get scripts automated).
* [eb6e3ce] devel: installdeps: Add disorderfs, diffoscope (debrepro
warning: limited functionality)
* [5f13570] mini-buildd-super-portext: Don't open a log file, use py
logging.
* [09a7f7a] devel: Fix for new self-signed util path.
* [f8d2476] mini-buildd-ssh-uploader-command: Formal update to cli.py.
* [4a99afc] mini-buildd-ssh-uploader-command: Fix EPILOG for new command
path.
* [471b1a6] setup.py: Add script: mini-buildd-ssh-uploader-command (8).
* [7048d67] mini-buildd-ssh-tool-command: Formal update to cli.py.
* [b90e80d] Rename mini-buildd-ssh-tool-command -> mini-buildd-ssh-
client-command (as mini-buildd-tool has been renamed as well).
* [d855b21] mini-buildd-ssh-client-command: Fix EPILOG, comments for new
utilities path.
* [82d2bc3] setup.py: Add script: mini-buildd-ssh-client-command (8).
* [a2d6b56] mini-buildd-import-08x: Formal update to cli.py.
* [7e74d0b] mini-buildd-import-08x: Fix prog name to new naming scheme.
* [64976be] setup.py: Add script: mini-buildd-import-08x (8).
* [91dd2af] setup.py: Scripts: Run "name hack" on python scripts only.
* [fcaaa0e] setup.py: help2man: Parse DESCRIPTION for *any* script
(help2man *always* needs --name to avoid useless whatis entry).
* [94326a5] setup.py: help2man: Give --version-string explicitly (allows
us not to support --version for bash scripts).
* [c535ed6] mini-buildd-reject-cleanup: Add --help support.
* [9a987aa] setup.py: Add script: mini-buildd-reject-cleanup (8).
* [5c3c034] mini-buildd-dput-wait-for-build: Add --help support.
* [6e65266] setup.py: Add script: mini-buildd-dput-wait-for-build (1).
* [a6a800a] mini-buildd-debootstrap-uname-2.6: Support --help; make bash
script.
* [bd37847] setup.py: Add script: mini-buildd-debootstrap-uname-2.6 (8).
* [a421c6b] mini-buildd-schroot-cleanup: Support --help.
* [2a2e4f3] setup.py: Add script: mini-buildd-schroot-cleanup (8).
* [c6e92ec] mini-buildd-self-signed-certificate: Support --help.
* [58ad74e] setup.py: Add script: mini-buildd-self-signed-certificate
(8).
* [95839c5] setup.py: Order script adding.
* [1b350cf] setup.py: scripts: bash-completion support for python only.
-- Stephan Sürken <absurd@debian.org> Sun, 31 May 2020 16:23:41 +0200
mini-buildd (1.1.33) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
Issue Soup, plate I: Top user-visible changes:
- Adds ftps support custom m-b-dput (dput[-ng] don't support ftps)
- Deliver cert in keyring package, new sources.list.d tree.
- Events: Add --since filter.
- Events: json timestamps now in isoformat (ISO 8601).
- API keyringpackages: Impl w/ events (fixes timeout on failed builds).
* [38c9b9d] net.py: Add is_ssl() convenience method.
* [34a3498] ftpd.py: Handler subclass: Use super().
* [e200a84] changes.py: upload(): Support 'ftps' (RFC 4217) if ssl
endpoint.
* [97eed79] ftpd.py: Support ftps (rfc4217).
* [590a173] api.py: autosetup: On ssl(), guess ftps endpoint default
based on http endpoint.
* [c70f4dc] devel: Add MBD_RESTART_HOOK configurable variable.
* [0273384] archive-keyring package: Include SSL certificate.
* [5093fa6] archive-keyring package: Install (cert && sources) to
/usr/share/<id>-archive-keyring/ instead of /usr/share/mini-buildd/
* [dd408e8] devel: "autodoc" of config vars.
* [a270d83] devel: Add MBD_KEEP configurable variable.
* [44fef33] devel: apt-tofu-bootstrap: Rather use actual codename than
hardcoded "buster".
* [5658be1] archive-keyring package: sources lists: Switch to
'<codename>/<id>_<suite>.list' layout.
* [03a7d2c] archive-keyring package: Rather use "certs" as cert dir
(like /etc/ssl/certs /etc/ssl/mini-buildd/certs).
* [f67b3b0] events.py: Revise Events once more.
* [4417a14] events.py: Event: Add match() method.
* [a9d8133] events.py: attach: Make replay configurable.
* [872a8e1] httpd.py: event log: Use to_json().
* [d99ed40] events.py: Add filter_iter: Common filter generator (can be
used from client and internal alike).
* [71b49e8] client.py: Switch to use events.filter_iter().
* [6873899] mbd_events.html: Fix status colors, properly format
timestamp.
* [40d882c] changes.py: Put extra info creation code to changes.Upload.
* [a7f795d] Event FAILED: Fix extra arch reporting.
* [a437db1] Event timestamps: Must be aware/utc; json string must be
isoformat() (of an aware stamp).
* [e8f48fd] cli.py: Move ArgumentsDefaultRawTextFormatter here (from
misc.py).
* [7b60678] devel: codespell: Fix check output so 1st error is parsable
too.
* [02ebad4] Fix two typos found by new spellcheck.
* [fade30f] repository.py: Fix typo/double code on event extra args.
* [6ffde1f] devel: Add mbd_profile: Simplify resetting config for tests.
* [2fdd982] keyring package: Fix build for non-https.
* [dd3379f] devel: bash-completion: Add non-runner targets.
* [af1e180] events.py: Event.from_joson(): Properly convert timestamp.
* [5cae0b9] events.py: Event.match(): Fix "typ" comparison: Accept both
string and enum.
* [79aa48f] misc.py: Add helper check for time zone aware datetimes.
* [90603a7] devel: Add supertestall: Run updatetestall for all "test
profiles".
* [b6064d6] cli.py: Remove "preliminary logger" setup.
* [05957b3] cli.py: logging: capture python warnings on level debug
only.
* [28a11ee] cli.py: Fix: Make loggers to configure class vars, not
globals.
* [81b2f4c] misc.py: Add helper datetime_is_naive().
* [fb22c31] Events: Replace "replay" by more versatile additional
--since filter.
* [da4100f] events.py: Events: Fix match for typ=None case.
* [d120d5b] mini-buildd-client: --since: Add special value "all" (to
replay all).
* [48f865c] events.py: Add class Attach for internal attaching to
events.
* [6ea32d2] devel: log RESTART_HOOK before running.
* [a8d8e64] API: keyringpackages: Implement wait-for-migrate via events
(instead of polling).
* [557ae70] ftpd.py: Fix: Use ssl cert/key values from actual ftp
endpoint, not primary http.
* [b4d0060] models/base.py: Remove some too verbose logs (they rather
clutter than help).
* [fa57dd7] cli.py: Make log code more common.
* [4664ab7] devel: mbd_client: Don't run verbose, but log client call.
* [6cfe2b6] events.py: Add Event.__str__() for convenience.
* [f8a09f5] API: keyringpackages: Also consider FAILED (fixes endless
loop if keyring package fails). Upgrades type event matching to list
of types on the way.
* [de83761] devel: Improve mbd_profile: Make all known use cases easily
'setupable'.
* [7de2243] builder.py: Workaround for jessie builds w/ SSL enabled.
* [d8d1d9a] devel: Add 'supertestall' to usage.
* [84cb382] dput.py: Add module dput.
* [9bb609a] setup.py: Generate bash-completion scripts.
* [132b14c] Add cli util: mini-buildd-dput.
* [5e68847] dput.py: Sync helper && completer functions.
* [f9fd464] mini-buildd-dput: Finalize args && completers.
* [252352b] Skip extra module dput, merge to cli (we won't be able to
put projected code here).
* [6cd145d] Update DESCRIPTION (title) for all CLIs.
* [0bb8c03] changes.py: Put all model import in-method (avoid 'django
unconfigured' pita as long as possible)
* [458053e] changes.py: Changes.upload(): Add 'force' option; Improve
logs and .upload contents for endpoints.
* [62d904e] changes.py: Changes.upload(): Use context manager for FTP
(available since 3.3; fixes python ResourceWarning).
* [994cca2] net.py: Rm "PROTOCOLS" global -- no longer used.
* [7b2aa96] mini-buildd-utils.bash-completion: Actually install bash-
completions for m-b-dput.
* [90ced5f] cli.py: DputCf: parser code: Make more straight forward, and
add support for 'ftp hopos'.
* [567cfa9] mini-buildd-dput: Finally, actually implement upload.
* [fbfb6eb] devel: extra-packages: Use mini-buildd-dput.
-- Stephan Sürken <absurd@debian.org> Fri, 29 May 2020 08:55:11 +0200
mini-buildd (1.1.32) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
API fixup, part X: Merge Event Log
This concludes the API fixup. All obsoleted code api/client
code phased out; mini-buildd-events POC merged to new
mini-buildd-client.
* [4bc0f40] daemon.py: Fix error string wording (still mentions 'last
packages'...).
* [01ca194] src/mini_buildd/*: Internal: Conformly refer to the 'event
log' as 'events'.
* [bf67269] Events: Rename event "UPLOADED" -> "BUILT".
* [cab90e7] mbd_events.html: Fat event types. Much better...
* [106364b] mini-buildd-events: Add error handling.
* [018b4c0] Events: Actually remove http clients from queue, max client
limit && error handling via status code.
* [17e7b8a] Event "MIGRATED": 'distribution' should be dest dist, not
source dist.
* [8317a9b] events.py: Replay all past events to client.
* [4609661] cli.py: log format: Make more readable: Put possibly long
thread names last, don't indent prefix.
* [5351ad4] events.py: Make log() and attach() calls thread-save.
* [55ea9e9] mini-buildd-events: Add subcommand "monitor": Filter events,
optionally stop at found event.
* [f2d6f81] devel: build-and-migrate: Use m-b-events instead of
handwritten pull & wait.
* [da58f43] mini-buildd-events: Add --minimal-version filter.
* [9fac55c] mini-buildd-events: Merge code into mini-buildd-api.
* [5cece5c] Rename mini-buildd-api -> mini-buildd-client:.
* [10b229c] events.py: Add _NoLock() helper class for debugging.
* [808dc8e] devel: Add initial try to reproduce deadlock (later).
* [5ef3392] net.py: Add http_connect() helper function.
* [c7fd3e6] mini-buildd-client: Move actual 'events' impl to client
(also gets rid of 3rd party "requests" package)
* [090854f] Events: Rename json "typ" as "type" (python restriction
should influence json).
* [e412ebb] client.py: Move client code from api.py into own module.
* [f32831d] .prospector.yaml: Re-enable member-warnings.
* [44adb7b] .prospector.yaml: Don't use django. Return to half-automatic
'generated-members' exclusions.
* [227aa81] api.py: Rm wrong pylint disable comment.
* [62681cc] pylint no-member: false-positive exceptions for twisted.
* [46b898c] cli.py: Add pure virtual runcli() (fixes pylint no-member).
* [3d7bccb] devel: pylintgeneratedmembers: Add 'mbd_check'.
* [a5393a1] models/daemon.py: Fix name of login path config variable.
* [5cf6682] urls.py: pylint: Exception for django (sort of) false-
positive (invalid-name) for urlpatterns.
* [6cd254b] models/source.py: oylint: Exception for django false-
positive (unsubscriptable-object).
* [ab4c854] mini-buildd: pylint: Exceptions for false-positve no-member
for daemon module.
* [dd3eda6] webapp.py: pylint: Exception for no-member django false
positive.
* [c764464] devel: Importchecker: Make actually fail on error.
* [f1fbbb4] devel: on exit: In the end, do the workaround "for emacs"
anyway.
* [584fe8d] daemon.py: events import: Fix: Have deque 'maxlen' when
imported.
* [101c07d] api.py: Rm obsoleted absolute import net.
* [de3f590] html: Replace "<tt>" (not html 5) by "<code>" in various
places.
* [6257bef] devel: Make some wrong 'run targets' 'extra targets'.
* [831e4a1] client.py: Rename Client.call() -> Client.api().
* [21ebf4f] python-client: Update to new client module-
* [1b8258d] doc/user.rst: Some updates for new api/client setup.
* [10065cc] client.py: Finally remove all obsoleted extra functionality.
-- Stephan Sürken <absurd@debian.org> Tue, 19 May 2020 00:26:18 +0200
mini-buildd (1.1.31) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
API fixup, part IX: Embrace Event Log
Make event log roughly equivalent to "last package/last builds"
setup (and purge all code for the latter). This also changes
the html 'home' structure.
* [4c77dcf] mini-buildd: Move all logging code to cli.py.
* [4b42f1b] setup.py: Generalize man page generation code. Skip
cleaning.
* [e2587e1] setup.py: man pages: Get rid of extra "help2man" include
files.
* [e3a8177] setup.py: help2man: Extract description from scripts for the
--name arg.
* [26d3ecd] Revert "setup.py: Remove version from setuptools. We don't
really use it, and the only thing it gives us is warning."
* [6b323dc] setup.py: Taint Debian version to make setuptools not warn.
* [f79f9e5] devel: Add bash completion producer.
* [90c195d] devel: Improve doc of configurable vars.
* [b62f0b1] devel: New configurable variable: MBD_DEBIAN_FRONTEND.
* [29b3274] event.py: New: Put all event code into this module.
* [5c0da08] devel: Add cheap check that we are on a 'developer system'.
* [51608f0] Revert "devel: Also trap cleanup on INT TERM (seems there
are some corner cases when emacs kills the buffer while reading
input)."
* [bc0850c] .prospector.yaml: pylint: Update fstring exceptions for
pylint 2.5.2.
* [5db69ab] event.py: Less events, more fun.
* [eaa23c5] mbd_events.html: Add color to status.
* [e38e61b] Event INSTALLED: Add extra 'archs' info; display sbuild &&
lintian stats.
* [962344e] config.py: Better names: HTTP_PATH_*, not PATH_*.
* [bd854ac] config.py: Mv all constant http paths from httpd.py to
config.py.
* [a015b38] Event INSTALLED: Add buildlog to extra 'archs' info; display
in events table.
* [1d0f05b] Event INSTALLED: Add extra info 'log'; display in events
table.
* [a92811a] devel: Restart test package helper: rather install to
unstable (so we can also test migrate).
* [85951c3] Event UPLOADED: Add extra info 'uploaded_to'; display in
events table.
* [8e734df] Event UPLOADED: Add extra info 'took'; display in events
table.
* [b0b2347] mini-buildd.css: Clean up builder status css.
* [2956141] mini-buildd.css: Clean up packager status css.
* [2eb4f8f] mini-buildd.css: Clean up event status css.
* [75e4003] mini-buildd.css: Remove all now-obsoleted.
* [c0253a1] home.html: Initial new setup w/ events && w/o last_packages
&& last_builds.
* [1a542e5] home.html: Toolbox as detail item.
* [2a8594d] home.html: Repositories, Chroots and Remotes as detail item.
* [429d96d] home.html: Events as detail item.
* [22a4fb5] home.html: Rm all "id" attributes. None of these was
actually used.
* [a6d774e] *.py: Finally, remove all 'last_packages/last_builds code'.
* [b1a88a1] home.html: Prpperly name includes for packaging,building.
* [e92078a] mbd_building.html: Rm 'took': Does not make sense for live
status.
* [ecdda92] mbd_building.html: Rm 'uploaded' date: Does not make sense
for live status.
* [c53c73c] mbd_packacking.html: Rm 'took': Does not make sense for live
status.
* [b8ef420] mbd_packacking.html: Rm building status infos: Does not make
sense for live status.
* [540ebe8] mini_buildd_tags.py: Rm hacky && now-obsolete
'mbd_build_status' tag.
* [f4d7928] models/base.py: Persistent state hack: Also switch to json.
* [1578e8a] models/gnupg.py: Remote: Stop using persistent status.
* [4128dcc] mini_buildd_tags.py: mbd_dict_get(): No longer used.
-- Stephan Sürken <absurd@debian.org> Thu, 14 May 2020 09:07:44 +0200
mini-buildd (1.1.30) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
API fixup, part VIII: Event Log
Initial event log implementation (companion to be for API
calls). Adds 'mini-buildd-events' POC command line tool.
* [ce58549] mini-buildd-api: Fix spelling in comment.
* [fe9de2c] mini-buildd-api: help text: Remove one more leftover from
old syntax.
* [164baff] devel: restart: Fix (commented) package build helper line to
use mbd_tool function.
* [0c2da7c] devel: mbd_tool is now mbd_api.
* [2aab1bf] builder.py: Build(): Init with daemon instance (will need
this later).
* [6ead491] templates/*: Fix various mbd_api templatetag calls: 'output'
arg value must be quoted (fixes confirmable commands via web).
* [d891530] Initial 'event log' implementation.
* [6c95f2a] httpd.py: '/events': Initial impl. of web resource for event
log.
* [01e4f12] Add util 'mini-buildd-events': Initial POC. Can monitor
events to stdout for now.
* [5e3d812] reprepro.py: Fix sphinx citation warnings.
* [5a0c969] reprepro.py: Fix sphinx 'emphasis not closed' warning.
* [23fbadf] net.py: Various pydoc fixes. Fixes two sphinx warnings.
* [97f1671] models/base.py: Fix another sphinx warning.
* [247036d] httpd.py: Add some docstring to getChild(), else sphinx is
unhappy.
* [69f8b88] setup.py: Remove version from setuptools. We don't really
use it, and the only thing it gives us is warning.
* [a7409ff] mini-buildd-event: Support usage, manpage, bash-completion.
* [c8c7669] New module cli.py: Move common command line code here.
Update m-b-api and m-b-events.
* [19ca1ab] devel: Add 'importchecker' check -- solely to detect unused
absolute imports.
* [a87d211] Bulk-fix unused absolute imports.
* [e2c0806] devel: Add sphinx (doc) test that fails on warnings.
* [4736f66] mini-buildd: Remove in-code cProfile support (rather just
profile the whole script).
* [cdbaefb] mini-buildd: Use cli.py.
-- Stephan Sürken <absurd@debian.org> Sun, 10 May 2020 15:08:51 +0200
mini-buildd (1.1.29) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
API fixup, part VII: CLI: mini-buildd-api
This renames mini-buildd-tool to mini-buildd-api, and fixes
remaining issues like usage help and bash completion.
* [fad101d] misc.py: Add Ubuntu 'focal' to ddeb exceptions.
* [03de61b] models/gnupg.py: Exception msg: Clarify what to do if other
remote "does not know us".
* [bbc4642] api.py: "find": Add support for --minimal-version.
* [381bf4c] mini-buildd-tool: Update target completer to guess endpoints
(obsoletes 'x_mini_buildd'-style custom tainting of .dput.cf).
* [fe8fff4] mini-buildd-tool: Move ENDPOINT arg to each command (much
better user experience for subcommand --help)
* [a541b54] misc.py: Mv dput parsing code from mini-buildd-tool to
misc.py (there other use cases).
* [27b4faf] mini-buildd-tool: Rename cmd_call() -> api_call().
* [4d9b320] mini-buildd-tool: Rm leftover keyring log cloning (no longer
do anything special w/ p-keyring logs).
* [8488a31] mbd-ssh-tool-command: Use DputCf && Endpoints.
* [50b7f5e] mbd-ssh-uploader-command: Use DputCf.
* [adf974b] net.py: login handling: privatize vars in endpoint, and only
use the endpoint's user variable.
* [7626924] net.py: Endpoints: Make (nearly all) class vars private.
* [9ba0a68] net.py: Endpoints: Rm 'user' parameter (user given when
constructing from URL is the only use case).
* [ea48ca4] builder.py: Fix: Must be ClientEndpoint when uploading
failed buildresult.
* [3f267c5] net.py: Fixup defaults for "protocol".
* [0bbfb12] net.py: ClientEndpoint: Fix: User must be set after
super().__init__().
* [2ca80db] net.py: Adapt doctests for changes.
* [060664c] ftpd.py: Use already existing endpoint, don't create a new
one.
* [442c942] Rename mini-buildd-tool -> mini-buildd-api (better name,
incompatible changes).
* [ef252fc] mini-buildd-api: Update hint for subcommand help to new
syntax.
* [ddf919c] mini-buildd-api: --help: Use raw formatter for subparsers
also (does not seem to propagate).
-- Stephan Sürken <absurd@debian.org> Tue, 05 May 2020 14:15:11 +0200
mini-buildd (1.1.28) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
API fixup, part VI: Client code merge cleanup
Testing/fixing/code cleanup iteration mostly around the api and
network code. Adds new API call 'find'.
[ Gerhard A. Dittes ]
* [657dfdc] devel: prepare-system: Change trust attributes in order to
achieve self-singed certificates considered to be trusted
[ Stephan Sürken ]
* [409df5b] net.py: endpoint.url(): Don't add a trailing slash.
* [c56c33f] api.py: Endpoint: Rename url()->geturl().
* [fbc475e] net.py: Endpoint: Use only one geturl() impl (based on
urllib.parse).
* [fbf52b7] net.py: geturl(): Give query params as dict (so we can do
the urlencode once here).
* [a8f2b3e] Update all code to use the new endpoint.geturl().
* [2a2c214] net.py: Rather us __str__ (not __repr__) for human readable
descriptions.
* [a399c5b] API: Add option auto_save_passwords / --auto-save-passwords.
* [51e9b59] mini_buildd_tags.py: Avoid (otherwise harmless) warning for
live build result stati.
* [172c39a] mini_buildd_tags.py: None-status workaround: Rather use ""
than None, as lintian dict has None as choice.
* [26011cd] net.py: Remove urlopen() wrapper (python uses system
certificates by default).
* [571da1a] api.py: Solve the indent paradox.
* [9d552b6] .prospector.yaml: Disable pep257, D200.
* [02121f9] net.py: ClientEndpoint: No need for 'parse_url' to be a
class var any more.
* [baed74a] net.py: Update doctests for 'query now dict' change in
geturl().
* [169d1ce] mini-buildd-tool: Simplify/fix main error handling (we
should not need urllib).
* [d5d9bb4] api.py/net.py: Move login/logout code back to endpoint.
* [d0fc347] api.py: Fix/simplify logging.
* [2e7bfc1] api.py: call(): Don't use recursion.
* [f85c43c] api.py: call(): Loop retry options until RET (don't always
retry call).
* [a2480d3] api.py: call(): Fix retry loop condition (Fixes endless loop
on calls with empty dicts as result).
* [3a223c4] api.py: call(): Remove "plain" option from python api.
* [6b902ba] devel: codespell: Workaround: Ignore "ser", as it now
commplains about '(u)ser' string.
* [2b132e6] api.py: 'show': Rm '--verbose' (was only used in now-gone
plain result).
* [cb595b7] mini-buildd-tool: Further simplify call code.
* [7631414] views.py: On exception in API call: Rather use 400 (Bad
Request) than 405 (Method Not Allowed).
* [69158d5] api.py: MultiSelectArgument: Value should be empty list when
empty string was given.
* [444763f] models/repository.py: Make mbd_reprepro() non-private.
* [ed0a058] devel: build-and-migrate: Use the new find call.
* [33f4518] api.py: New API call: "find".
* [59a74cf] api.py: Call(): Fix: Don't enter retry mode if non-
interactive (fixes endless loop when piping).
* [6d8b59f] api.py: call(): Error handling: Prefer last server message
as only error message.
* [49bd56c] api.py: Fix regression: No raise on error (may lead to
endless loop).
* [61a68e7] devel: Make vendor list env-configurable.
* [0073a09] wizards: Update Ubuntu: Add focal (20.04), remove disco.
-- Stephan Sürken <absurd@debian.org> Sat, 02 May 2020 19:21:20 +0200
mini-buildd (1.1.27) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
API fixup, part V: Client code merge
Moves the client API code from 'api.client_1_0.Daemon' to
'api.Client', merges redundant code base into 'api' module only,
actually use the client API in mini-buildd itself and simplifies
'mini-buildd-tool' usage.
And a lot of wreckage along the way.
[ Gerhard A. Dittes ]
* [e84b6f4] devel: installdeps: Add libnss3-tools for self-sined cert
handling
[ Stephan Sürken ]
* [ae1c837] api/client_1_0.py: Rm "django_mode": w/o pickle, no need for
django pseudo configure.
* [0151c50] devel: Fix missing program name in main usage.
* [2fe08c8] api/__init__.py: Remove extra api.django_pseudo_configure():
No longer needed w/o pickle.
* [a3b2e25] API: Rename/Move api.client_1_0.Daemon -> api.Client.
* [ed4338d] API: Get rid of extra api sub package. Promote api._contrib
to top-level contrib (still "not part of mini-buildd :)
* [289d298] mini-buildd[-tool]: Fixup --verbose/--quiet argument doc
(--verbose said 'lower').
* [20837ad] api.py: Update api.Client to network endpoints.
* [bc90d6d] API: status,start,stop: Add archive/daemon identity to
status result.
* [1a1a695] API: status,start,stop: repository info: Add layout to
status result.
* [7b7ef70] Remove helper script 'mbu-migrate-keyring-packages'
(obsoleted by updates to keyring/migrate API calls).
* [306aefc] mini-buildd-tool: Use api.Client().
* [2be76e4] devel: install: Avoid dpkg asking about changed default
file.
* [dfcb98d] devel: install: Use non-interactive debconf (avoids extra
debconf post-install note).
* [0a23c5e] devel: getsourceslist call test: Rather use buster, not
wheezy.
* [686b9b5] api.py: Mark plain results via special json key, obsoleting
plain_result() extra methods.
* [4fd13a4] mini-buildd-tool: Update to new "plain" api: Cmd line args:
removes --output=type, adds --plain (former --output=plain).
* [c19654e] models/gnupg.py: Use mini_buildd.api (not manual urlopen):
getkey.
* [fc7144d] views.py: Update to new "plain api". Now defaults to json
output and removes "json-pretty".
* [1e803a6] devel: Use m-b-t --plain; fix tidy api test to explicitly
output html.
* [425ccde] templates/mini_buildd/api_default.html: Use new plain
result.
* [dba2b39] api.py: Client: Fix: Always use urljoin.
* [c291e6a] models/gnupg.py: Use mini_buildd.api (not manual urlopen):
status.
* [8489a47] HTTP header messages: Use *one* global prefix var (from
api), and fix parsing routines.
* [d42eab5] mini-buildd-tool, api.py: Print daemon messages in api.py
only.
* [d962e0c] net.py: web_login(): Rather raise HTTPError on login
failure.
* [263ea7e] net.py: web_login(): Remove obsolete try/catch.
* [22c392a] api.py: Add method logged_in().
* [c91d272] api: Move "implicit auth support" from mini-buildd-tool to
api.py.
* [2a53a85] mini-buildd-tool: Improve doc for --plain.
* [443ab79] api.py: Replace internal stderr logging by standard LOG.
* [5a379f6] misc.py: Remove compat for very old python-keyring versions.
* [28295a2] api.py: dput_cf caching is obsolete.
* [540292f] net.py: web_login: Better error handling on failed login.
* [a30203c] api.py: Move web_login() code to api.py.
* [fd68505] api.py: Move Keyring class code to api.py.
* [b6b268d] api.py: Keyring: Obsolete qualname().
* [da32a9d] api.py: Keyring: Fix for multiple users.
* [fa15d87] api.py: Merge login()+web_login(); make keyring class var.
* [0643582] api.py: login: canonize_url does not seem to be needed any
more. Removing.
* [7639b6d] api.py: Add username in login log msg.
* [74aedf1] api.py: Keyring: Remove whacky support for "save policy".
Simply always ask before a password is saved.
* [39e110f] devel: Also trap cleanup on INT TERM (seems there are some
corner cases when emacs kills the buffer while reading input).
* [c8fe7d1] api.py: Further keyring code cleanup.
* [e62679a] api.py: Merge keyring code into login().
* [b9b6712] doc/user.rst: Add note about python-keyring default backend
problem.
* [cf5aab3] api.py: Fix interactive loop in call() + code cleanups.
* [80679b7] api.py: call(): Remove whacky 'raise_on_error' option.
* [1ba0681] api.py: Client: Don't be interactive if not on a tty.
* [e48b718] api.py: call(): Fix error handling (forgotten raise).
* [0a6f727] api.py: Better wording to clarify that the superuser
username is very most likely 'admin'.
* [6f1fb7d] api.py: Client interaction: Prefix url in input() and
getpass().
* [a2004be] api.py: call(): rm 'batch mode' option (automatic now w/
isatty).
* [b5a4faa] api.py: Client: Add custom log() method for conforming
output.
* [05061e4] api.py: Client: Rename isatty->interactive, and make it an
option.
* [ded1d6a] api.py: Don't monkey patch enpoint.user; login in init phase
when user given explicitly; fix interactive relogin by try_login().
* [e12b696] api.py: Client(): 'dry_run' option does not really make much
sense atm. Removing for now.
* [6ed2ab1] mini-buildd-tool: Remove convenience removal of ancient
creds file location.
* [e4873ea] api.py: Client: Various log text fixes.
* [4b05523] api.py: Client.call(): Use nicer 'or style' for args.
* [ac90fdc] api.py: login(): Rather use endpoint.url() directly, not
extra alias "url".
* [ca788d6] mini-buildd-tool: Produce args: Rather use a pos identity
list from API than a hardcoded exclude list. Fixes possibly stray http
arguments.
* [2fbe907] api.py: Client: Fix: Actually set 'logged_in' var.
* [5249d3f] api.py: Fix: Don't install our login opener as global
opener.
* [5cf8dea] mini-buildd-tool: Replace per-command '--confirm=command' by
global '--auto-confirm' option.
* [3842235] mini-buildd-tool: Replace '--plain' by '--json'. Changes
default to plain (human readable) output.
* [15f3e3a] net.py: client notation: Clarify prefs for twisted-style
notation.
-- Stephan Sürken <absurd@debian.org> Fri, 24 Apr 2020 18:28:15 +0200
mini-buildd (1.1.26) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
API fixup, part IV: Purge pickle
Finally removes output "python", and updates all code
to json only.
* [d0108db] API: Remove output 'python' (pickle).
* [ba07279] models/gnupg.py: Update code: pickle->json.
* [4d8d3c8] changes.py: Update code: pickle->json (stati now are "json
dicts")
* [b42eba5] api/client_1_0.py: pickle -> json update
* [8a06d21] API: Remove "make pickable" workaround.
* [08893fb] examples/python-client: Fix for API json update.
* [5d8ac97] devel: Rather use buster, not stretch, for some tests.
* [c5c4a87] api/client_1_0.py: Update to json API calls.
* [16f501c] api/client_1_0.py: Fix use of dsc_url to dsc_path (has been
changed quite some time ago ;(.
* [6b4f5e8] examples/python-client: Add some more calls.
-- Stephan Sürken <absurd@debian.org> Mon, 20 Apr 2020 14:56:13 +0200
mini-buildd (1.1.25) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
API fixup, part III: Define json
Tries to give every call a reasonable json output, and removes extra
plain support for all calls that don't need it.
* [2649d08] API printuploaders(): Reasonable json result.
* [551a052] gnupg.py: Only use one 'get_colon' method.
* [92cf5a5] gnupg.py: Add get_pub_key_info() (moves code with gnupg impl
details to better place).
* [2930878] gnupg.py: Rpl get_pub_key_info() by get_pub_keys(): Fixes
user_id, updates printuploaders json result.
* [363e354] API: Rename call "printuploaders" to "getuploaders".
* [f3bd9aa] API: list(): Usable json output; drop extra 'plain' support.
* [4fb22a4] API: show(): Usable json output; drop extra 'plain' support.
* [6c05e81] API: migrate(): Update json output. Just a plain log for
now.
* [6518158] API: remove(): Update json output. Just a plain log for now.
* [a0bdc84] API: port(): Update json output. Skip extra 'plain' support.
* [e0794f4] API: portext(): Update json output. Skip extra 'plain'
support.
* [3602242] API: retry(): Update json output. Skip extra 'plain'
support.
* [1786405] API: subscription(): Update json output.
* [d6e2544] API: Remove now-obsolete helper func _get_table_format().
* [348ea7a] devel: package tests: Remove wait4package support (rather
wait until migrate succeeds).
-- Stephan Sürken <absurd@debian.org> Sat, 18 Apr 2020 18:30:38 +0200
mini-buildd (1.1.24) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
API fixup, part II: API code preps && cleanup
Adds 'json-pretty' output. Decision to keep 'plain' output, but
use 'json-pretty' as default; only some calls like "getkey" will
get special 'plain' output.
* [1fddb6d] devel: Add MBD_HOSTNAME to usage.
* [319f673] API: Add "json-pretty" output.
* [123b8f1] API: Fixup all remaining uses of __str__() to
plain_result().
* [94111bc] API: Drop result["result"] trick for plain result; rather
have all cmds that need it an explicit method, else fallback to json-
pretty.
* [fdc440f] API: Improve global command generation && api doc view.
* [93ff5e3] bin/package-templates.testbuild: Remove; ancient, and has
been obsoleted quite some time ago by api call 'testpackages'.
* [b8e33cc] API: Simplify global COMMAND list creation.
* [7a787d0] API: Improve code around how commands are accessed.
* [a87c361] API: Get rid of extra COMMAND class attribute.
* [71d7c50] API: Move common args 'macros' to GroupPackage (only used
there).
* [4893dc7] API: Fix 'printuploaders' for json output.
* [fa057bb] API: Use same result (status) for commands: status, start,
stop.
* [62aa8e9] API: Update command docs via decorator.
* [ae5c362] API: Remove extra plain support for: status, start, stop,
printuploaders, subscription.
* [cdcb86b] models/gnupg.py: Remotes: Fix non-json access to result.
-- Stephan Sürken <absurd@debian.org> Fri, 10 Apr 2020 16:50:46 +0200
mini-buildd (1.1.23) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
API fixup, part I: JSON output
Make json the primary internal result value and add support for all
API calls -- in 'as-was fashion'. I.e., most calls will just offer
the former plain result in key "result" for now. No incompatible
other changes yet.
* [9e5e799] api: Support "json" as output. Calls not supporting this
(currently all) deliver an empty dict.
* [8fb110f] API: status(): Support json.
* [17a0646] API: start(), stop(): Support json.
* [17c4e7c] devel: log tools: Switch back to tail (less tends to hog
CPU).
* [3cee477] API: printuploaders(): Support json.
* [aa43093] API: getkey(): Support json.
* [e1a1dc3] API: getdputconf(): Support json.
* [3039243] API: getsourceslist(): Support json.
* [2209103] API: logcat(): Support json.
* [87c10d9] api/__init__.py: list(): Add missing return in p_table()
helper func (fixes list(output=plain)).
* [7e682f2] API: list(): Support json.
* [3857045] API: show(): Support json.
* [cc067e5] API: migrate(): Support json.
* [9b267fb] API: remove(): Support json.
* [caa9d68] API: port(): Support json.
* [dba996e] API: portext(): Support json.
* [d22738e] API: retry(): Support json.
* [9eab881] API: subscription(): Support json.
* [afd5580] API: Drop extra internal '_plain_result' class variable.
-- Stephan Sürken <absurd@debian.org> Fri, 03 Apr 2020 14:50:12 +0200
mini-buildd (1.1.22) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
Code refactoring of Changes class: Use subclasses Upload,
Buildrequest and Buildresult -- make code somewhat more readable ;).
* [613354e] changes.py: Add Upload, Buildrequest and Buildresult sub
classes.
* [668646e] changes.py: Move Options support to Upload.Options.
* [9c8bd4d] changes.py: Buildresult, Buildrequest: Add FILE_APX.
* [0b5bbe7] changes.py: Rather use changes.load(), not create().
* [dcba3cb] changes.py: Move __str__ to subclasses.
* [36cfd76] changes.py: Remove extra type support from file path
generators.
* [56b07af] changes.py: Move gen_buildresult() && upload-
faild_buildresult() to Buildrequest.
* [0a57c73] changes.py: Remove all the extra type handling.
* [2011292] changes.py: Move upload_buildrequest() to Buildrequest.
* [16d27c9] changes.py: bres_stat(): Move to Buildresult.
* [e059b38] devel: Add (commented) line to test one package after each
restart.
* [933f691] changes.py: Move gen_buildrequests() to Upload.
-- Stephan Sürken <absurd@debian.org> Tue, 31 Mar 2020 19:33:56 +0200
mini-buildd (1.1.21) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
Initial release with feature-complete "https support". Still
defaults to http though -- you will need some manual steps
described in the adminstrator's manual to enable https.
* [b6691b0] api: status: Update result for dynamic proto (i.e., support
https).
* [148e4c6] registration/activation_email.txt: Add https variant of
activation URL.
* [37b5449] config.py: Properly define primary httpd: Add
'primary_httpd_endpoint()' for code and 'mbd_url' as static context
for templates.
* [37fab03] django_settings.py: Skip (overly ornate) support for
'component versions info', greatly simplifying our custom context.
* [8daffcf] Get rid of models/daemon.py custom http(url) methods.
* [472e784] httpd_twisted.py: "reactor" must be imported after
daemonize(): Workaround in httpd impl, not mini-buildd.
* [e272258] httpd.py: Commit to twisted. Skipping abstraction layer for
less/cleaner code.
* [2350529] share/bash-completions: Fix after py3 update (argcomplete
scripts are renamed w/ appendix '3').
* [3cd5409] mini-buildd.postinst: Fix typo in comment.
* [908d3b3] devel: Fixup to be able to test both (http and https)
setups.
* [30d3a1e] misc.py: Keyring: Don't mess around w/ usernames here.
* [f7ca36b] mini-buildd-tool: Skip '--protocol', and make 1st argument
an 'endpoint', not 'host'.
* [c6cc70d] net.py: web_login: use UserURL.
* [4465442] net.py: Redesign Endpoint* classes.
* [f7f0171] net.py: web_login: Use Endpoint, not UserURL.
* [a33caa2] net.py: Rm now-obsolete UserURL class.
* [f94098b] ftpd.py: Adapt ftpd to "endpoints".
* [1a34ea7] devel: Make PORT and SSL configurable from command line.
* [2ecf78f] models/daemon.py: ftpd_bind default: Fix for twisted
_server_ syntax.
* [2a5bdbc] mini-buildd-tool: Use same formatter mixin like mini-buildd
(raw+default values).
* [4aea996] net.py: Add generic help for twisted-style endpoints. Use
them in mini-buildd[-tool].
* [c7aa58f] net.py: Fix a couple of wrong values in the url converter
helper 'matrix'.
* [d1f408d] mini-buildd: Rather use "http-endpoint" than "httpd-
endpoint" (cl arg+internals).
* [a47509c] net.py: Endpoint help text: Add hopo-compat and extra-URL
syntax.
* [a047206] models/daemon.py: Add web endpoint help for daemon.ftp.
* [3a31510] models/gnupg.py: Remote: Add web endpoint help; update
default 'http' value.
* [de1b27f] src/mini_buildd/*: Various changes: Get remotes working
again using new endpoints (tested non SSL case).
* [d32a84f] net.py: Various code cleanups.
* [0f0a890] net.py: Make web_login() method of ClientEndpoint.
* [d380b9f] py3: Bulk-upgrade to python 3.6 format strings (fstrings).
* [037f9a2] net.py: Fix two spelling errors.
* [cd7e547] net.py: Rather use pydoc directly (for ntwork notation
help).
* [83209bf] net.py: Clean up doc && doctests.
* [2736234] net.py: Make urlopen_ca_certificates() into endpoint method
urlopen().
* [6eb2700] net.py: Fix/optimize url/hopo parser code.
* [d0fae99] net.py: Switch from urlparse() to urlsplit().
* [c61a26b] net.py: Put doctests to "module" (tests various classes).
* [08e5ba8] net.py: Simplify.
* [47c7276] net.py: Make url() properly work for client endpoints.
* [2a9e672] net.py: doc fix: mixed up [un]encrypted.
* [8947fc9] devel: Add log() function.
* [7c697c9] devel: Add 'pygrep' helper.
* [6355fec] net.py: urlopen() rather should not be a method of endpoint
after all.
* [1a1c9fc] mbd-self-signed-certificate: Add helper to generate self-
signed cert.
* [0729441] control: Add 'suggest' for openssl.
* [2a42af1] devel: Update for new self-signed tool (plus some).
* [d5a91fe] devel: Make pygrep not stall w/ no args.
* [e2e76a8] devel: Also put default back to non-SSL here.
* [a416edf] models/gnupg.py: Remote: Default back to non-SSL.
* [e479a98] mbd-self-signed-certificate: <CN> should rather be 1st arg.
* [6917f23] mini-buildd: Minimize --httpd-bind deprecation warning now
that bind notation is autodetected.
* [8bd44ce] mini-buildd: Add arg --hostname: To be used as global public
hostname f.a. services.
* [8db1e83] daemin.py, net.py: Use global hostname; rm extra host arg
from Endpoints.
* [6befad7] net.py: Add some more detailed doctests.
* [51754c3] Use endpoint URLs (instead of hopo) as remote id.
* [0c39834] templates/mini_buildd/home.html: Fix remote link.
* [ddf31af] remotes: Rename http2url -> url. Rather show url in info
string.
* [1b8a774] net.py: Network string: Unencyrpted example 1st, as this
will still be the default.
* [ec5a67b] doc/admin.rst: Add doc how to set up https.
* [725fb78] mbd-self-signed-certificate: Add status command && print
actual cert info.
* [859c5a3] mbd-self-signed-certificate: Use template to generate. Also
adds SAN to cert.
* [6738265] devel: prepare-system: Create self-signed-cert with
configured hostname.
* [da39be9] devel: prepare-system: Add _all_ locally configured system
ca-certificates to chromium/firefox cert storage.
* [a1fdd74] Fix Priority (extra->optional) f.a. test package templates.
-- Stephan Sürken <absurd@debian.org> Sat, 28 Mar 2020 17:57:11 +0100
mini-buildd (1.1.20) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
Second 2020 'catch up' release:
* [4454c44] devel: tidy check: Ignore warn-proprietary-attributes: tidy
complains about "autocapitalize" in django3, but this seems to be
valid html5.
* [3d6736c] Properly handle new lintian stati (warn, info) from sbuild
0.77.0.
* [b945fec] wizards: Ubuntu: Add 19.10 (eoan), skip older non-LTS
cosmic.
* [8390a8f] Add Ubuntu disco and eoan to 'ddeb' exception list.
* [b0c8b3c] API: Fix MultiSelect argument type for m-b-tool.
-- Stephan Sürken <absurd@debian.org> Fri, 10 Jan 2020 14:37:29 +0100
mini-buildd (1.1.19) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
Initial 2020 'catch up to sid' release:
* [cc8d67a] Merge root_urls.py and urls.py.
* [ac9f791] pylint: Fix four new 'unnecessary-comprehension' warnings.
* [30c0575] pylint: Globally ignore new 'import-outside-toplevel'
warnings.
* [9f3fce7] pylint: Fix one new 'subprocess-run-check' warning.
* [5c644b0] django: Use 'Etc/UTC' has (hardcoded) default time zone;
skip all deps on tzlocal.
* [6c8a8d2] django templates: Repl staticfiles->static; former is
removed w/ django >=3, latter works for 1.11 as well.
* [5ce0042] devel: Make pipclear not fail if nothing is installed itfp.
* [432f7cc] control: Allow django 3.0.
-- Stephan Sürken <absurd@debian.org> Fri, 03 Jan 2020 16:23:15 +0100
mini-buildd (1.1.18) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This and that: Moves to SVG-only for the webapp images; adds
internal restart (cron.weekly now removed); plus misc Debian
packaging upgrades (now dh 12 and 'lintian clean' again).
Offtopic: 1.0.x (stable) can no longer be maintained in Debian
unstable/bullseye. Please see http://mini-buildd.installiert.net/
on how to get further updates.
* [229b287] rules: Use 'python3 -msphinx' instead of sphinx-build.
* [f560b97] devel: Use "custom debi code" temporarily (see bug #932896).
* [322fe02] .lintian.cfg: 'fail-on-warnings': Is no more.
* [f6ff78f] .lintian.cfg: show overrides.
* [8e964a2] Remove mini-buildd.lintian-overrides: 'no-debconf-config' no
longer needs to be overwritten.
* [845fae1] devel: Roll own lintian check (ask to continue on warning or
error).
* [15bb2c1] devel: Persist last changes file; make lintian use that if
it exists (be able to repeat the lintian call).
* [f5f2d8c] debian/*: Update to debhelper 12 (change: fixup dh_missing
call).
* [6f090c6] control: Update to 'debhelper-compat' notation.
* [ddfe683] control: We need python3 >= 3.6 (f.e., use of enum.auto).
* [c400f3e] devel: Skip buildfast|check in favor of one build(): Always
no check, but always docs.
* [a59ea6b] devel: Run prepare-system on updatetestall only.
* [cccc79b] control: mini-buildd.deb: Add missing 'Pre-Depends' (Fixes
lintian/skip-systemd-native-flag-missing-pre-depends).
* [71ce9ec] Rename setup.py -> config.py (was confusing: setup.py has
special meaning in pyworld).
* [a6d1144] devel: Run lintian on updatecheck.
* [d7ac20c] .lintian.cfg: Use nicer notation (like in shipped).
* [b245b0d] lintian: Rather use '.lintianrc' as config file name
(similar to shipped).
* [bf72b63] .lintianrc: Also display experimental checks.
* [73dc748] devel: Add support for custom args.
* [1c45205] devel: lintian(): Custom args == addon arge for lintian run.
* [38986f6] debian/control: Fix short description of mini-buildd-doc
(was copy/paste from -utils).
* [c8b7f92] mini-buildd-doc: Register HTML manual with doc-base.
* [509bb7a] control: python3-mini-buildd desc: "Python" should be
capital.
* [88864f9] mini-buildd.timer: Add systemd timer (for weekly maintenance
restart).
* [624c248] control: Update stds-version to 4.4.0 (no changes required).
* [1bec858] devel: Fix running of non-queued functions (mbd_func).
* [fa1d334] daemon.py: Add convenience restart() method.
* [12f98e5] devel: Separate log functions (daemon, access)
* [9b02af7] pylint 2.3.1: Fix new 'no-else-raise' in models/base.py.
* [4451a3f] pylint 2.3.1: Now finds 'invalid-name' in
templatetags/mini_buildd_tags.py: Needs exception.
* [8763e5d] pylint 2.3.1: Now finds "broad-except" for BaseException
too: Disabling for now (too many).
* [d5c1ae3] devel: Since prospector 1.1.7, we no longer need to pin
pylint at 2.2.2.
* [8a24c72] mini-buildd: Better code for signal handling; prepare for
internal weekly restart.
* [699755d] devel: Use less to follow logs.
* [4008411] mini-buildd: Add internal restart schedule (hardcoded to
Sunday 2am).
* [49c787b] debian/*: Remove cron.weekly (we now have an internal
(hardcoded) scheduled restart in place).
* [3bae100] doc/*.svg: Convert all to plain SVG (was: inkscape SVG).
* [ddad215] Move all doc/*.svg into the static/img/.
* [3286533] Choose better names for the svg image files.
* [96d284f] setup.py: Also install *.svg files.
* [2a06a43] Remove mbd_migrate|remove|wizard.png: Using svg instead.
* [7e6ac04] images: Use svg only for logo.
* [9487f68] img/mbd_start.png: Convert and use as start.svg.
* [8e210da] img/mbd_migrate_rollback.png: Unused -- removed.
* [48ade15] img/mbd_rebuild.png: Unused -- removed.
* [eac726d] img/mbd_stop.png: Unused -- removed.
* [e1faeac] img: Use SVG for bullet list.
* [7d591f8] css: Do all "gradients" via CSS 'background-image'; remove
all "gradient pngs".
* [77160bf] doc: Fix logo to use SVG.
* [c488f4f] img: Convert message PNGs to SVGs.
* [711b98a] setup.py: Remove "png" from static files to be installed.
* [289ada3] static: Add script to generate favicon.ico && update
favicon.ico.
* [e6b5c1e] img: Remove progress_blue.gif; do rotation via CSS only.
* [3c8147f] setup.py: static data install: "gif" no longer needed.
* [086b959] img: Rename mini-buildd.svg -> logo.svg.
-- Stephan Sürken <absurd@debian.org> Wed, 31 Jul 2019 17:03:35 +0200
mini-buildd (1.1.17) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
'static code check' release. We now use 'prospector' to coordinate
3rd party static checkers. In addition to pylint, pycodestyle and
pyflakes this (for now) adds pydocstyle, mccabe, and dodgy.
Whole (new py3) code && exceptions have been reviewed and updated.
This release also fixes mini-buildd for django 2.2, and updates the
wizards for Debian repo changes after the buster release.
Offtopic: 1.0.x (stable) can no longer be maintained in Debian
unstable/bullseye. Please see http://mini-buildd.installiert.net/
on how to get further updates.
* [544a185] pylint: Rm exception for doc/conf.py (add specific
exceptions in-file).
* [3601724] devel: Add general "linters" check using pylama (exceptions
go to tox.ini for now).
* [b78f8a4] Rather use 'setup.cfg' than 'tox.ini'.
* [3b9b8f9] devel: Print list of files with in-file exceptions after
'linters' check.
* [0d33499] devel: Rm separate pycodestyle && pylint checkers.
* [049a5db] Remove .pycodestyle and .pylintrc files (now pylama conf in
setup.cfg).
* [b00c586] devel: Fix pylintgenerated... helper for setup.cfg.
* [e8f3757] devel: Rm obsolete bug 877637 reproducer.
* [cb441a4] devel: linters: Add pyflakes.
* [d99b100] devel: linters: Add mccabe.
* [c9a90cc] devel: linters: Add pydocstyle.
* [d326843] Bulk-remove all 'editor UTF-8 hints' from python files (py3
code is by default UTF-8).
* [a2bca1f] setup.cfg: sync max line length (240).
* [f2dbe5f] setup.cfg: pylint: We don't need the REPORT section.
* [603010f] setup.cfg: elpy/flake8: Fix exception order.
* [4a780f1] setup.cfg: elpy/flake8: Rm line length exception (since have
a line length configured).
* [c9b75c7] devel: prepare-system: Make sure pylama is upgraded.
* [7dc66a0] setup.cfg: pycodestyle: Fix syntax for max line length.
* [c59a32a] devel: pylama: Seems only version 7.6.5 seems to (kinda)
work (wtf?).
* [3919342] devel: Add pipclear (uninstall all pip3 local installs).
* [c596ee0] devel: Could not for the life of me get pylama to anything
consistent ;). Trying prospector now.
* [18f0212] doc/conf.py: pylint exceptions: Rather use symbolic names.
* [4ead2bc] .prospector.yaml: New config for prospector; pylama config
from setup.cfg moved here.
* [8248747] devel: Rename linters->prospector.
* [f5d5e9c] devel: rm flake8 check (obsolete w/ prospector).
* [fd3ee87] .prospector.yaml: Add run option for every tool; only enable
pep8 for now.
* [10831ad] .prospector.yaml: pep8: Run full with exceptions.
* [88a9f09] Fix pep8/E122 in api/__init__.py.
* [1c67ef9] Fix pep8/E122 in builder.py.
* [ca2cd6b] Enable pep8/E122 for prospector.
* [c4880cb] Fix pep8/E124 in models/daemon.py.
* [c0dcdd8] Fix pep8/E124 in models/source.py.
* [bd61a15] Fix pep8/E124 in reprepro.py.
* [2c6615f] Enable pep8/E124 for prospector.
* [343474e] Ignore pep8/E402 for doc/conf.py in-code.
* [b7674d4] Enable pep8/E402 in prospector.
* [d4b78b9] Fix pep8/E741 in mbd-import-08x.
* [eae863d] Fix pep8/E741 in mini_buildd/call.py.
* [0c72ad5] Fix pep8/E741 in mini_buildd/net.py.
* [183ef25] Fix pep8/E741 in models/chroot.py.
* [4dfee44] Fix pep8/E741 in views.py.
* [04e29ad] Fix pep8/E741 in models/msglog.py.
* [3fbd8a6] Fix pep8/E741 in api/__init__.py.
* [0e2e312] Fix pep8/E741 in builder.py.
* [5fbab17] Fix pep8/E741 in packager.py.
* [afe476f] Fix pep8/E741 in changes.py.
* [825ed0e] Fix pep8/E741 in misc.py.
* [cabd8d5] Fix pep8/E741 in models/repository.py.
* [6d48bfb] Fix pep8/E741 in templatetags/mini_buildd_tags.py.
* [339c9f4] Enable pep8/E741 in prospector.
* [7c96945] Don't disable pep8/W503 in prospector (seems to be ignored
anyway/W504 is being used rather)
* [572ab63] Ignore pep8/N802 for httpd_twisted.py in-code.
* [5bb6e35] Enable pep8/N802 in prospector.
* [38c2939] Fix pylint/invalid-name in run-doctest.
* [d40fef5] Fix pylint/wrong-import-order in mini-buildd.
* [f1322f4] .prospector.yaml: Tighten max module lines to 1400.
* [a101f6d] .prospector.yaml: pylint: Complete exceptions for scripts
(false-positive 'invalid-name').
* [6ed07ce] Disable pylint/import-error in mini-buildd (obviously false-
positive) in-code.
* [51c0fa9] Enable pylint/import-error globally.
* [3e3f679] Enable pylint/cyclic-import globally (there seem to be no
issue any more).
* [bbfc10f] .prospector.yaml (pylint): Update comments for logging-
format-interpolation exception.
* [3d61135] .prospector.yaml: Add skeleton config for dodgy and pyflakes
(disabled for now).
* [1cc5011] .prospector.yaml: Update strictness: low->veryhigh && use
django lib.
* [16cbfec] .prospector.yaml: Re-enable pylint.
* [ec35003] pylint: Remove "generated members" django workaround (seems
prospector django lib already handles this).
* [0d9c1c8] .prospector.yaml: Simplify/cleanup notation of pylint
config.
* [249e7c6] .prospector.yaml: Rm per tool run: option (too confusing).
* [da263a0] pylint: Disable invalid-name in mini_buildd_tags.py in-code.
* [47162f8] pylint: Disable "invalid-name" for all scripts in-code (and
remove 'good-names' global config).
* [54d818f] pylint: Globally disable cyclic-import in .prospector.yaml.
* [0a2f376] pylint: locally-disabled && missing-docstring don't need to
be disabled w/ prospector.
* [e53a5e1] pylint: Disable 'too-many-ancestor' locally in changes.py
only.
* [40c4044] pylint: Disable 'too-many-boolean-expressions' locally in
api/client_1_0.py only.
* [c0555d1] pylint: Remove 'max-statements' config: Does not seem to be
needed any more.
* [bdc3b23] pylint: Disable 'too-many-return-statemtments+branches' in
'views.py' locally only.
* [7ca6ac3] pylint: Adapt 'max-public-methods', add comment.
* [567b967] .prospector.yaml: Enable doc warnings.
* [64df174] pyflakes: Disable F841 globally ('# noqa' just does not work
as advertised).
* [99513a0] pep257: Fix D413 in models/base.py.
* [fd44ee4] pep257: Fix D412 in models/base.py.
* [771af13] pep257: Fix D404 in various modules.
* [ff6439a] pep257: Fix D403 in various modules.
* [edad9c8] pep257: Fix D401 in numerous modules.
* [ade8a97] pep257: Fix D400 in numerous modules.
* [2673142] models/chroot.py: Remove unused class method.
* [33fae70] pep257: Fix D301 in two modules.
* [a8f63e9] pep257: Fix D300 in numerous modules.
* [dfc45a7] pep257: Fix D213 in numerous modules.
* [eb2bc71] pep257: Fix D210 in models/chroot.py.
* [427d6e6] pep257: Enable D207 (no issues).
* [c8be5f2] pep257: Fix D205 in misc.py.
* [f0f84c5] pep257: Fix D204 in numerous modules.
* [0d8750d] pep257: Fix D202 in some modules.
* [76e7aff] pep257: Fix D200 in numerous modules.
* [6af7cd3] .prospector.yaml: Explicitly run pep257 (not default, unlike
documented).
* [c26bb95] devel: prospector: Skip printing exception files.
* [1b8a2e3] models/base.py: Renice module doc; avoid 'r' prefix.
* [42ed056] .prospector.yaml: pep257: Disable D416: seems to produce
false-positives now.
* [adbc543] src/*: Some code/text fixes due to new codespell.
* [1404aae] codespell: Rename some variables keyserver->key_server to
make it happy.
* [c089477] devel: codespell: Add exceptions (needed w/ version 1.15).
* [3fda8b0] doctests: Fix special escaping in some tests (no longer
needed and now breaks it).
* [e89e6f4] wizards (key updates after buster release): Add buster apt
keys, and update source wizards for buster and sid.
* [9fc5a7f] wizards (key updates after buster release): Update source
wizard for stretch.
* [289e9fa] wizards (key updates after buster release): Add buster
security key, and update source wizard for buster/updates.
* [3639136] wizards (key updates after buster release): Update source
wizards for jessie/updates.
* [803b700] wizards (key updates after buster release): Update source
wizards for stretch/updates.
* [94dc2c0] wizards (key updates after buster release): Update source
wizards for stretch-backports.
* [c8d7d5a] wizards (updates after buster release): Add stretch-
backports-sloppy.
* [fd01fd7] wizards (updates after buster release): Add buster-
backports.
* [1605c4c] wizards (updates after buster release): Add bullseye +
bullseye-security.
* [ee0d42b] Update in-place doc on sources after buster release.
* [61665e2] wizards: Add Ubuntu disco (and 2018 archive key).
* [b96b44a] devel: installdeps: Add py3-pip, py3-wheel.
* [033e1fd] devel: installdeps: Add devscripts and faketime (for
debrepro).
* [814f3bd] reprepro.py: Ignore 'unusedarch' check (fixes linux' <= 4.13
'make deb-pkg').
* [03ba21b] devel: pip3: uninstall user installations only.
* [05489c6] django 2.0: Call cleanupregistration w/o option
'interactive'.
* [86f66f6] django 2.1: Update to class based views in root_urls.
* [efb4712] django 2.0: django_settings.py, pseudo config:
MIDDLEWARE_CLASSES -> MIDDLEWARE
* [ba10dbe] django 2: django.contrib.message now _must_ mandatory in
INSTALLED_APPS.
* [7a2d48c] control: Allow django up to 2.2.
* [89fe749] pylint: Fix one in-code exception in net.py.
* [b95afb6] pylint: Remove no-longer-needed in-code exception in
models/source.py.
* [771195c] pylint: Remove no-longer-needed in-code exception in
models/gnupg.py.
* [a930627] pylint: Remove three no-longer-needed in-code exception in
models/repository.py.
* [4fc008d] pylint: Remove no-longer-needed in-code exception in
models/chroot.py.
* [0ea4698] pylint: Remove three no-longer-needed in-code excpetions in
httpd_twisted.py.
* [b7f74c0] pylint: Remove no-longer-needed in-code excpetion in
templatetags/mini_buildd_tags.py.
* [0f93a0f] pylint: Remove no-longer-needed in-code excpetion in
daemon.py.
* [dfe625b] pylint: Remove two no-longer-needed in-code exceptions in
changes.py.
* [84efa52] pylint: Remove no-longer-needed in-code exception in
api/__init__.py.
-- Stephan Sürken <absurd@debian.org> Tue, 23 Jul 2019 17:57:55 +0200
mini-buildd (1.1.16) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
'https part 2' release. This makes the testsuite run fine
with https enabled (for the self-signed case). Still doesn't work
with remotes, and some bells and whistles to make it 'just work'
still missing. Check the man page for the new new '--httpd-endpoint'
option if you care to ponder with it:
* [0b018f7] devel: Make tofu bootstrap test of its own.
* [88cdab1] source wizards: Adapt for new signing keys for
buster/updates (security).
* [686378e] control: Ups: switch left-over cherrypy dep to twisted.
* [846e84a] devel: Use fq hostname (instead of localhost) for testing
(will be more convenient for SSL later).
* [6b5af16] devel: Use local (rather that installed) mini-buildd-tool.
* [39a579d] devel: Global env name clean up. MBD_HOME removed (not
used).
* [f4055d8] devel: Remove 'sbuild key workaround testing' (the
workaround is gone).
* [68eb5cd] mini-buildd-tool: Handle down proto (http/https) argument to
web_login().
* [12b6ee9] misc.py: web_login(): Add Referer header (required by django
for https).
* [57c2560] misc.py: urlopen_ca_certificates: Use system's default
context.
* [bdc7053] src/mini_buildd/*: Always use urlopen_ca_certificates()
wrapper.
* [803beee] mini-buildd: Cleanup --httpd-endpoint option code.
* [e32be65] httpd: Move endpoint type check to Endpoint class.
* [2d5bc74] misc.py: Endpoint: Add type2proto conversion.
* [7713289] models/gnupg.py: Remote(): Support optional '[proto:]'
prefix (to support https URLs).
* [f28b334] changes.py: Use 1st endpoint's proto (http, https) for
internal remote.
* [d568c7b] daemon.py: Use 1st endpoint's proto (http, https) for
daemon's http url.
* [c8c7730] changes.py: upload scheduler: Monkey patch remote url for
now (fixes live build log URLs if hhtps is used).
* [31151f9] devel: Make proto (http, https) configurable via one
variable.
* [22285d2] devel: testfiles: Use an extra directory, and be sure it
exists.
* [9009280] mini-buildd-tool: Fix: subparsers (commands) should be
required.
* [b37537d] devel: Replace 'pyflakes3' test with 'flake8'.
* [89ea692] src/mini-buildd: Ignore unneeded checks from flake8
(pyflake).
* [e9b12c4] misc.py: web_login(): Return opener object, and use that in
m-b-t (fixes auth w/ https).
* [6c32733] devel: Use https for testsuite by default (as mini-buildd
does now).
* [eac9dcd] devel: Auto-prepare system to accept Debian snakeoil self-
signed.
* [82f4e28] devel: prepare-system: Also add snakeoil to browser
(chromium, firefox) certstores for testing.
* [cfa3f5a] misc.py: Endpoint(): Support protocol (http/ftp) && "ssl
aware" url() composition.
* [ac9e9c0] ftpd.py: Use Endpoint, not HoPo.
* [8286941] net.py: Split new module "net" (network code from misc).
* [fe97b52] net.py: Fix Endpoint doctests.
* [ecf3a32] net.py: Add server & client endpoint variants.
* [b450cc4] net.py: Endpoints: Add syntax check via twisted.
* [fbacbc9] mini-buildd: Fix typo in arg description.
* [ff3dc87] mini-buildd: Remove pre-daemon bind check via HoPo.
* [827df38] net.py: Minor improvemts (less long code).
* [3459df4] net.py: Various code improvements && some more compat.
* [a993614] models/daemon.py: Update to 'Endpoint only'.
* [d6f0f93] packager.py: Update to 'Endpoint only'.
* [1140e0b] models/gnupg.py: Update to 'Endpoint only'.
* [975aebd] changes.py: Update to 'Endpoint only'.
* [bcfab20] builder.py: Update to 'Endpoint only'.
* [1c13265] api/__init__.py: Update to 'Endpoint only'.
* [54208df] net.py: Remove class 'HoPo' for good.
* [049601a] net.py: Fix endpoint doctests.
* [af0aa47] net.py: Add support to receive ssl cert (server->local file,
client->remote host).
* [667538e] builder|changes.py: Bundle ssl cert with buildrequests.
* [fdfb331] devel: ssl-cert prepare: (Re-)Create snakeoil if not
present, and use different name for cacert.
* [98c9c21] .pycodestyle|.pylintrc: Update max line length to 250 for
now (really -- have 21x9 display ;).
* [a928577] src/mini-buildd: Put default back to non-https.
* [d5fefd0] net.py: get_certificate(): Don't fail in the non-https case.
* [9d44d84] misc.py: Add sources_list_has_https() tool function (code
from builder).
* [eda1a52] builder.py: Make work (again) for the non-https case.
* [00479e2] net.py: Remove left-over 'devel only' log.
-- Stephan Sürken <absurd@debian.org> Tue, 21 May 2019 13:19:21 +0200
mini-buildd (1.1.15) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This release mainly completes the new API calls 'keyringpackages' and
'testpackages'. 'keyringpackages' will now auto-migrate
up by default (also 'migrate' now has the option to fully migrate
up in one go):
* [849f297] templates/includes/mbd_api_arg.html: Bugfix: Never pre-set
manual value (breaks at leats MultiSelect).
* [4b5cd82] api 'testpackages': Move code from repository to api.
* [0a67a0a] api: 'testpackages': Add options (types and distributions).
* [ff1960e] api: 'keyringpackages': Move code from repository to api.
* [4dcf9ce] api: 'autosetup': Default should be vendor=Debian only.
* [3317c5e] Rename 'archive-keyring-template/' -> 'archive-keyring/'
(it's now already in the 'package-templates/').
* [be26492] setup.py: Put (hardcoded) package-templates dir to setup.
* [cab9945] daemon.py: Add TemplatePackage class; use for DSTPackage.
* [6c59142] daemon.py: Impl. KeyringPackage via TemplatePackage.
* [048ed50] api 'testpackages': Back to use full package names again.
* [1400452] api 'keyringpackages': Add option "distributions".
* [a29d4b1] .pylintrc: Remove 'similarities' pimp (only there for py2
"from future").
* [e19a532] api: Add common method to upload template packages.
* [9e2d426] repository.py: Rm _mbd_portext2keyring_suites() (obsoleted
by new api calls).
* [1da61d6] api: keyring|testpackages: Use NEEDS_RUNNING_DAEMON flag.
* [316173e] devel: wait3package: Improve note when package is found.
* [6e42337] api: keyring|testpackages: Make args optional.
* [e855c6a] mini-buildd-tool: Don't use ungiven args in api call.
* [dc2529e] devel: Fixup autosetup && migrate tests after api changes.
* [bcca432] daemon.py: Improve template packages.
* [8eafcb6] daemon.py: Avoid extra getters for test and keyring
packages.
* [6ba3ab4] daemon.py: typo fix in comment.
* [64c956f] api 'migrate': Add --full option (migrate up to top suite in
one call).
* [e6037fe] daemon.py: port() now returns triple 'dist,package,version'.
* [66c4564] api 'keyringpackages': Add support to auto-migrate (usually
unstable->testing->stable).
* [774ebec] devel: autosetup test: Remove extra interactive warning.
* [ce5550c] devel: Add support to run multiple code on exit (cleanup).
* [5c3fdf0] devel: test suite: Add repo boostrapping and install tests.
* [5d2caaf] devel: Improve apt-install test.
* [7e18f54] wizard: Fix (can now find archived wheezy security again)
and cleanup hardcoded archive list.
* [526e63e] misc.py: Add extra heuristic function to detect apt-cacher-
ng.
* [185ff09] archive wizard: Rename "from_sources_list" to "local" and
add support for apt-cacher-ng detection.
* [a299ef4] Add example for vsyscall workaround.
* [db944fe] source wizard: Flagging wheezy Security 'X-Check-Valid-
Until: no' (it's Valid-Until is no longer updated).
-- Stephan Sürken <absurd@debian.org> Fri, 12 Apr 2019 17:18:14 +0200
mini-buildd (1.1.14) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This release (mainly) completes
- the twisted HTTP backend implementation (should now have all the
features of former cherrypy impl.), and
- the 'valid-until support' for outdated/archived sources:
* [faebd02] httpd.py: Remove code needed for non-twisted backends only.
* [5fcc1cb] httpd_twisted.py: Implement "with_index" arg.
* [7cf927e] control: Add missing package dependency on py-dateutil.
* [e6fe4ae] httpd_twisted.py: Implement regex matching (using one
customized twisted file resource).
* [5342c6d] httpd_twisted.py: Separate customized (but otherwise
generic) twisted classes.
* [2f7596b] httpd_twisted.py: Remove temporary logs.
* [c00666d] mini-buildd: Adapt hardcoded path for manual again
(debhelper 11 per default installs it to the detected "main" package
mini-buildd).
* [f11957b] httpd_twisted.py: Implement 'with_doc_missing'.
* [cb17041] devel: Improve levels for tests.
* [74189c3] httpd_twisted.py: Implement (rotating) 'access.log logging'.
* [9971965] httpd_twisted.py: Use t.logging (no deprecated t.python.log)
to redirect twisted logging to ours.
* [58de9f4] httpd_twisted.py: Switch to better 'rotated access.log'
implementation (using t.p.logfile).
* [7d6c256] Get rid of script 'mbd-auto-setup' (we now "officially"
offer the auto-setup per API call).
* [f977001] api/__init__.py: portext: _update(): Clear choices before
adding (fixes ever-increasing choices list).
* [de5c788] mini-buildd-tool: subparsers still can't be grouped ;).
Updating note and issues.
* [78b0482] schroot/setup.d/15mini-buildd-workarounds: wheezy and jessie
are now archived (need Check-Valid-Until disabled).
* [4b46ef1] sources: Add 'X-Check-Valid-Until' per-source support.
* [f62f3be] wizards: Mark jessie-backports[-sloppy] source with
'X-Check-Valid-Until: no'.
* [14a6dcc] 15mini-buildd-workarounds: Update comment on 'valid-until'
global workaround.
* [e1e72bd] api: New way to group commands; automate creation of global
command helpers.
* [3ba8d3a] api: Add calls "testpackages" and "keyringpackages".
-- Stephan Sürken <absurd@debian.org> Mon, 01 Apr 2019 14:39:04 +0200
mini-buildd (1.1.13) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
"Release often" release. Syncs fixes w/ 1.0.37.
* [102a374] devel: Comment typo fix.
* [edd2143] devel: Rather check for packages in stretch, not jessie.
* [a346212] api: autosetup: By default, setup up for both (Debian and
Ubuntu).
* [a24af91] source wizard: Update Ubuntu sources (up to 18.10).
* [a9fac91] models/source.py: Add expire check for Release files
("Valid-Until").
* [9335f40] Add support for generic per-distribution DEB_BUILD_OPTIONS.
* [0cc2bef] builder.py: Actually use 'sbuild --jobs=' as documented (not
DEB_BUILD_OPTIONS) to set per-build parallelism.
* [ba61841] debian/rules: Allow parallel builds for testing (dh 9
default is off).
* [aa36509] templates/mini_buildd/log.html: Fix URI for buildlog &&
changes.
* [5d44fe8] mbd_packager_status.html: Cosmetic: Add missing space.
* [b900176] source,repository.py: Add support for Debian Security
sources.
* [96f8596] builder.py: Remove old/obsolete 'sbuild-update --keygen'
support (now actually fails on newer sbuild). (Closes: 924077)
* [d04d44f] package-templates/mbd-test-cpp: Add dep to test security
sources.
-- Stephan Sürken <absurd@debian.org> Mon, 18 Mar 2019 13:46:20 +0100
mini-buildd (1.1.12) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This release mainly switches the httpd backend from cherrypy to twisted.
[ Ondřej Nový ]
* d/changelog: Remove trailing whitespaces
[ Stephan Sürken ]
* [4501fe7] mini_buildd/httpd*.py: Initial structural change to later
support/test different backends.
* [0835418] httpd*.py: Generalize add_static() function and call in
generic HttpD.
* [82661d1] httpd.py: Backends: Rather use inheritance model.
* [59f4e62] setup.py: Use a little helper for the package data file
lists.
* [883334c] python3-mini-buildd.links: Add symlink to django admin
site's static data.
* [ea1d261] /mini_buildd/setup.py: Get rid of STATIC_URL common setup
variable.
* [018eda8] httpd.py: add_static_handler(): Give path w/o slashes
("static", not "/static/").
* [ba48b4a] httpd, setup: Move special html template back to httpd.py.
* [4720d82] httpd.py: Improve notation for static adder method.
* [f021ac7] httpd_twisted.py: Add alternative http backend.
* [9662ac1] httpd.py: Move manual index generator code from cherrypy
backend to base class.
* [322a164] httpd_wsgiref.py: Initial wsgiref httpd (test) backend.
* [37fcab6] httpd.py: Strip down html_index() to one simple function.
* [e573026] httpd.py: Move html_index() to httpd_wsgiref.
* [f2f2ff9] source.py: wizards: Update signing keys for unstable +
testing.
* [5326b0f] httpd.py: Fix used backend back to cherrypy.
* [3f3c296] codespell update: Three more spelling fixes.
* [fd40a89] httpd: Select backend from script, not module.
* [2325059] httpd_tornado.py: Add tornado backend.
* [5d54ef3] html: Fix tidy warning (labels must only link to one
element).
* [d5c698e] httpd.py: Code cosmetics.
* [06678e0] httpd.py: Bulk API cleanups.
* [f61a4a6] httpd.py: Mark private methods.
* [57baaa6] src/mini-buildd: Do HttpD backend import in-method:
daemonize() might close things created by backend (f.e. twisted)
module's initialization.
* [eea6df2] misc.py: Add network 'Endpoint' class (based on twisted
syntax; eventually will replace class 'HoPo').
* [a94ab56] Update httpd code to use network endpoints (adds option
--httpd-endpoints, keeps compat for --httpd-bind).
* [63a312b] src/run-doctest: Don't run in verbose mode.
* [c43eab3] httpd_cherrypy.py: Add SSL support.
* [dd350c6] httpd.py: Use generic "supported types" check.
* [5141f91] httpd_tornado.py: Add support for ssl.
* [fe59778] httpd[_wsgiref].py: Move 'WSGIWithRoutes' helper to
httpd.py.
* [dd8afe4] httpd_waitress.py: Add test support for waitress backend.
* [10f6e35] mini-buildd: Endpoints: Add real life defaults (tcp, ssl,
unix) as code comment (for convenience, later tests).
* [657f97e] httpd.py: Some simplification (triggered by pyflake error).
* [d34954d] httpd.py: Move mime type add-on dict to base class; update
in cherrypy- and implement in twisted-backend.
* [5e5091e] api/__init__.py: Don't warn on missing (but optional) api
updater function.
* [b059691] builder.py: sbuild call: set '--no-arch-all' explicitly
(Fixes "false" reprepro errors after successful builds w/ sbuild >=
0.77)
* [2ef39cd] wizards: Remove squeeze autosetup support (repo sigs
expired).
* [e2595b3] api/_contrib.py, DebianPackageTracker helper: Fix parsing
for backport versions (after changes to tracker web sites).
* [61b9eb9] httpd.py: Fix error message on unsupported type.
* [0c47b10] mini-buildd: --httpd-endpoint option: Change to append
option (instead of ,-separated string).
* [4da4df5] Fix two URL assemblies via urllib.parse.urljoin() to produce
clean URLs.
* [2c14879] devel: Add httpd-benchmark.
* [f10132b] pylint 2.1: Bulk-fix R0205(useless-object-inheritance).
* [9d493da] pylint 2.1: Bulk-fix syntax for various now failing
"disable=xxx" (workaround for regression
https://github.com/PyCQA/pylint/issues/2297).
* [900f624] pylint 2.1: Bulk-fix R1705(no-else-return).
* [3e2f822] pylint 2.1: Bulk-fix R1714(consider-using-in).
* [f963814] pycodestyle 2.4: Add W503 to ignore list.
* [6825fcc] pycodestyle 2.4: Bulk-fix 'W504 line break after binary
operator'.
* [c9de476] devel: Add MBD_HTTPD global "config" variable.
* [2497680] devel: Move test file creation into extra func.
* [6e06b57] httpd_tornado.py: Use '.*' hardcoded as match for now
(makeas log/ and pool/ work).
* [9e8becf] devel: Add test httpd-testfiles.
* [a750fa5] devel: httpd-becnhmarK Fix: Make item var local.
* [b9296b6] devel: add 'devel deps' for httpd tests.
* [4539f95] devel: httpd-benchmark: Harden printf for "." dec-sep.
* [daa7a78] devel: Change targets build,buildcheck,lintian ->
changelog,buildfast,buildcheck.
* [dcaf1d6] devel: Fix check level 00->01 for updatecheck.
* [64decdc] devel: Add --pedantic for lintian check.
* [0373e98] devel: Use a config file for lintian.
* [24f770e] devel: builcheck: Run lintian via debuild.
* [6a86c32] Update to dh compat level 11.
* [c092c9f] lintian: Fix pedantic warnings 'maintainer-script-without-
set-e'.
* [b33e5d6] pylint3 2.2.2: Fix new warnings "Unnecessary pass
statement".
* [0d4a898] .pylintrc: Pimp up ancestors again (due to new python-
debian).
* [5ab5693] Switch from cherrypy to twisted.
-- Stephan Sürken <absurd@debian.org> Tue, 26 Feb 2019 16:50:49 +0100
mini-buildd (1.1.11) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This release mainly implements internal 'choice generator'
functionality for the API calls, and quite some kerfuffle
on the html/django side (still does not really look nice,
though).
* [13a75e8] rules: Add support for "nodoc".
* [30c4d29] [devel]: Yet another cleanup for the run shortcuts; also
makes most-used "./devel update" faster.
* [e4921c7] [devel]: Add ttag check to css check (and rename it to
htmlmisc).
* [10ae200] mini_buildd_tags.py: Remove obsolete tag
"mbd_distribution_options".
* [f20b45a] Fix a handful of new typo findings (with new codespell
1.12).
* [47e62ec] includes/mbd_api_arg.html: Select: Make empty choice denote
custom entries (and hide custom entry field).
* [c6e8c5f] api/__init__.py: printuploaders: Implement updater
(choices).
* [d8fb337] daemon.py: Add helper function get_active_codenames().
* [b2648b3] daemon.py: Add helper function get_suites().
* [a94cabb] api/__init__.py: getsourceslist: Implement updater
(choices).
* [96c0e62] [devel]: buildcheck should be "test level".
* [3dc4b1d] daemon.py: Cosmetic: Fix typo/wrong spelling in comment.
* [7dbe00b] includes/mbd_api_arg.html: Use HTML5 'datalist' for select
type.
* [b0ba2a8] api/__init__.py: show: Implement updater (choices).
* [ca8663c] api/__init__.py: list: Implement updater (choices).
* [0532031] api/__init__.py: migrate: Implement updater (choices).
* [2942d8f] api/__init__.py: remove: Implement updater (choices).
* [909ecfd] registration/login.html: Also use QUERY_STRING for next
value.
* [a26362e] includes/mbd_api.html: Instead of just disabling the button,
refer back to login if API call needs login.
* [bc38a8f] api/__init__.py: port: Complete updater (choices).
* [907c9aa] api/__init__.py: portext: Implement updater (choices); also
adds URLArgument class.
* [81264c9] includes/mbd_api_arg.html: Fix options tag to avoid tidy
warning.
* [715b1b8] api/__init__.py: retry: Implement updater (choices).
* [64c7623] includes/mbd_api.html: Use table to increase readability of
extra arguments.
* [5ce0b45] mini-buildd_api.css: Fix witn classes.
* [53b0dca] mini-buildd_messagelist.css: Try to remove some
redundancies.
* [5973317] control: Update Vcs URLs after salsa move.
* [ae1fb67] control: Rm X-Python3-Version (lintian says: no longer
needed, satisfied down to oldstable).
* [11f75b1] templates/registration/login.html: Don't add query string if
referer already has get params.
* [502538b] api/__init__.py: "options" option: Fix back from multiselect
to string (multiselect does not work here) && fixup documentation.
* [749067f] builder.py: sbuild: Explicitly add '--no-run-lintian' option
when lintian is disabled (effectively makes mini-buildd's 'run-
lintian=false' option actually work ;).
-- Stephan Sürken <absurd@debian.org> Fri, 11 May 2018 22:35:36 +0200
mini-buildd (1.1.10) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This release concludes the generalization of "API-HTML-embedding",
triggering quite some related html/template and API cleanups on
the way:
[ Stephan Sürken ]
* [bbbd972] api/__init__.py: Promote auth_err() function to class
method.
* [f3444b0] mini_buildd_tags.py: api call tag: Use actual command
object, not class.
* [20d3112] [html] api call ttag: Fixup param config.
* [3589ec6] [html] ttag api call: Add option to set style (per css
class).
* [4abd029] api/__init__.py: Add extra func to produce new 'html_hints'
only when needed.
* [953f144] api/__init__.py: Deliver _all_ static arg description in
html hints.
* [ca60bd7] css: Add link-style class for api buttons.
* [a24230c] [html] ttag api call: Add verbosity support; add per arg
type support.
* [30f6e69] [devel]: mv pylint check to level 0.
* [9514aa5] api_index.html: Use new api call tag.
* [5538d0d] api/__init__.py: Add Argument abstraction classes.
* [fb17dc1] api: Replace all arguments config with *Argument() objects.
* [3d8d14a] api/__init__.py: arg filter: Code cleanup.
* [75a6e8e] api/__init__.py: Add TYPE attr to each arg class.
* [a549174] api/__init__.py: multi select: Set 'choices' as class var as
well.
* [052ab47] [html] Use new arguments for api call ttag.
* [3e8034e] [devel]: Fix logging of script run (so it does not interfere
w/ traditional compile error parsing).
* [aca5f8c] api/__init__.py: Fix command init && super calls to not
repeat the args.
* [1da9e72] api code: Make args a copy of arguments, and also carry
argument values for command objects.
* [e972651] api: autosetup: Properly use choices.
* [079900a] src/mini-buildd-tool: with new argument classes: Cleanup
add_arg call.
* [09e08eb] api/__init__.py: Introducte update() and _update() hooks.
* [5ec56f8] api/__init__.py: Fix: Object args must be copies.
* [94d5a0f] api/__init__.py: Move daemon to class var / constr.
* [4811280] mini_buildd_tags.py: api call tag: Fix extra_params.
* [2853a5f] api_confirm.html: Temporary fixup for new arguments.
* [d06b243] daemon.py: Fix strange wording in port exception.
* [6faf389] api/__init__.py: Mv false2none (obsolete?) to argument
class.
* [fd989a3] mini_buildd_tags.py: api_call: Supply daemon to command.
* [c711d7c] api/__init__.py: Port: Initial updater hook for
to_distributions choices (POC).
* [88583b5] [html] More updates to api_call tag; make show/hide/more
lists in ttag obsolete.
* [2583759] api/__init__.py: Remove now really obsoleted html_hints.
* [e189374] [html] Addcss class for api command.
* [dc5b4a3] ttags: Rename api_call -> api_command.
* [dcae8e0] mini-buildd.css: Fix start/stop styles: input, not a && move
to other button css.
* [239ea70] mini-buildd.css: Remove most redundancies from "button/api
classes"; remove 'style' option now from api_command tag.
* [66156dc] html,mini-buildd.css: Rename 'command' class (div box) to
mbd-api-box-True, and use only when show_more=True.
* [13e3f54] [html] Simplify ttag name: mbd_api_command -> mbd_api.
* [53ac173] mini_buildd/home.html: ttag mbd_api(): Migrate start/stop.
* [e417f55] mini_buildd/home.html: ttag mbd_api(): Migrate getkey.
* [431edfd] mini_buildd/home.html: ttag mbd_api(): Migrate keyring and
test packages buttons.
* [571d61a] mini_buildd/home.html: ttag mbd_api(): Migrate portext.
* [845231a] [html]: ttag mbd_api(): Migrate autosetup.
* [3760fe7] [html]: ttag mbd_api(): Migrate start/stop in admin index.
* [3be1757] api/__init__.py: Fix: Only consider non-empty list values
from get requests.
* [ffe8b61] [html]: ttag mbd_api(): Migrate logcat/degtdputconf in main
menu.
* [687016e] mini_buildd/base.html: Remove obsolete extra support to run
api w/ different output.
* [75b32c6] [html]: ttag mbd_api(): Migrate show in mbd base tpl.
* [fb8bcaf] admin/index.html: Migrate to includes w/ parameters
(obsoletes extra templatetags).
* [7d1f3b6] mini_buildd_tags.py: mbd_api ttag: Add output support.
* [fb57bc2] mini_buildd/home.html: Make start/stop api calls return to
referer.
* [bbc90e4] [html]: Put api css in separate file, and use for admin
also.
* [eb95aa6] mini-buildd_api.css: Make meta also use the wizard image for
now.
* [bcaf41f] mbd_admin_index_table_row.html: Migrate to mbd_api ttag.
* [b26fc20] api/__init__.py: Fixup argument so set(value) accepts both
raw and specific types.
* [e7e6815] repository_detail.html: Migrate to ttag mbd_api.
* [aa207ed] log: Migrate to ttag mbd_api.
* [4effc27] api_show.html: Update remove+migrate to ttag mbd_api.
* [0eade81] includes/mbd_api_arg.html: Fix: hidden args must use raw
(str) arg value.
* [4aa5020] django_settings.py: Add request context.
* [c4497b7] registration/login.html: On login, set next to referer.
* [fbb3ca4] [devel]: Add timestamp output at end of runs.
* [a286837] api/__init__.py: Fix doctests for Argument.
* [b2d634b] [devel]: Yet some more poking on sequencer and usage.
* [7271b11] api/__init__.py: autosetup should be confirmed.
* [c39a7da] api/__init__.py: Fixup __getstate__ so 'Command' objects can
be pickled again.
* [1bfae9f] [html] Move logcat from main menu next to start|stop.
* [e1b3605] [html] home.html: Put repository-related extra api calls
into separate section.
* [8a8ba72] [html] Move dputconf from main menu to
"home.repositories.extras".
* [2902d57] includes/mbd_api.html: Include doc in tooltip even on
auth_err.
* [25e9f8e] includes/mbd_api.html: Don't fully hide given args, also
show them with "more".
* [2489b54] [html] Use "API Index" for main menu and API index title.
* [55510c1] mini_buildd/home.html: Put page footer down, where it
belongs...
* [1b10cde] mini_buildd/api.html: mbd_api call as title.
* [c8c1e7f] mini_buildd/api_show.html: Fix log link for new api.Command.
* [4453296] includes/mbd_api_arg.html: Fix custom entry support for
select and multiselect types.
* [4d27514] api_show.html: Update rebuild to ttag mbd_api.
* [a1dd1af] includes/mbd_api_arg.html: Use empty string resp. 0 values
for string resp. int types if None.
* [aacca48] api_show.html: Update port to ttag mbd_api.
* [db41bcc] mini_buildd/home.html: Fix tidy error on extras.
* [75e76d8] [html] Simplify footer.
* [12ff6b1] mini_buildd/home.html: "Show more" for start and stop.
* [a225b00] [html] Mv getdputconf and add getkey to daemon part.
* [ca0fd24] api_list.html: Update show to ttag mbd_api.
* [7125d66] includes/mbd_api_arg.html: More fixes for the custom select
values text inputs.
* [964a6f4] api/__init__.py: Add (choices) updater for the Subscription
command.
* [0501ff9] Fix a handful of typos/warnings that emerged with new
codespell 1.11.
* [a0eaa59] [html]: Update subscription to ttag mbd_api (also obsoletes
extra include, ttag and css entry).
* [7643a60] includes/mbd_packager_status.html: Upgrade to mbd_api ttag.
* [ba45f78] mini_buildd/templates/base.html: When logged in, link to
profile by default for "Manage account".
* [f4d5c6e] api: Add 'Text' (multiline string) argument type.
* [447ae2c] account_profile.html: Update setuserkey to ttag mbd_api.
[ Gerhard A. Dittes ]
* [da58afe] devel: Fix missing "sudo" when using "service" command.
* [0fa339f] images: Split mini-buildd-graphics.svg into several files
providing each item separately (in "Inkscape SVG" format).
[ Stephan Sürken ]
* [69264b1] mini_buildd/home.html: Use direct includes for packager and
builder stati (and remove resp. template tags).
* [572c37f] api/__init__.py: auth_err: Also handle user=None, and renice
error texts.
* [d0590ef] templatetags/mini_buildd_tags.py: Take context for mbd_api
(obsoletes extra user arg).
* [8e8f7c8] Setup Wizards/Ubuntu: Drop yakkety, add artful.
* [0ac3a8e] html, ttags: Use html5 '<details>' tag (instead of js) for
'more args', and remove 'show_more' option on ttag mbd_api.
* [0617b5e] includes/mbd_api.html: Put "no width space" entity to
summary top avoid tidy warnings.
* [49eef56] repository_detail.html: Replace "js toggle" by "html5
details".
* [4a1972e] api_show.html: Replace "js toggle" by "html5 details".
* [c8acb08] home.html: Replace "js toggle" by "html5 details".
-- Stephan Sürken <absurd@debian.org> Sun, 11 Mar 2018 14:49:28 +0100
mini-buildd (1.1.9) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This and that release: Updates the keyring package, promotes auto-setup
to an API call (Closes: #886126), improves GPG key importing and starts
an effort to generalize API call HTML code:
* [bac4106] [devel]: test suite: Always use dput --force (make local
package test work even if there's a changes around).
* [d28ee9d] api/__init__.py: Put http MAXHEADERS patch here (fixes mini-
buildd-tool, too), and pimp to 5000.
* [0be59f3] pylint-1.8.1: Make check work again.
* [246b478] [devel]: Add shortcut to view log.
* [4d33c89] [devel] Rewrite (test) sequencer code.
* [0e9a811] call.py: Fix: call_with_retry() would not raise exception on
error.
* [a5493bd] gnupg: Make public key importer more reliable.
* [6866e81] [devel] Add remove-only (non-purge) sequent.
* [c39f33b] test packages: Downgrade all to debhelper 9 + dh_autoreconf
(for compatibility down to squeeze).
* [347b3a2] keyring package template: Convert to debhelper (9); convert
to using trusted.gpg.d/ fragments. Thanks to Marc Haber (Closes:
790856)
* [4b2164c] gnupg.py: import_pub_key(): Try all files
/u/s/keyrings/*.gpg.
* [3398b00] New API command 'autosetup' (this makes the essential code
of the mbd-auto-setup script internal).
* [d430493] API autosetup: Add arg: --vendors.
* [662bb7b] API autosetup: Add arg: --repositories.
* [7eccd80] API autosetup: Add arg: --chroot-backend.
* [79c7aeb] Add auto setup to web app (initial support).
* [2c3bb5d] [html] Add templatetag for api_call (currently only
replacing flat impl in base).
* [377dd5f] includes/mbd_api_call.html: Simplify, form only, add output
type.
* [c01a981] [html] ttag 'mbd_api_call': Use command name (not obj) as
arg.
* [ef823c7] [html] ttag api_call: Use uniq random element ids.
* [8b55570] [html] ttag api_call: Get mandatory args from api && make
tag more versatile.
* [17ed07b] api/__init__.py: Add generic auth function.
* [fc8e192] [html] ttag api_call: "auth indicator" support.
* [1c3b9d7] mini_buildd/base.html: Use mbd_api_call for top level
show/list.
* [0086373] [html] Some smaller fixes for tidy test failure.
-- Stephan Sürken <absurd@debian.org> Sat, 17 Feb 2018 11:29:20 +0100
mini-buildd (1.1.8) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This release: Syncs with newer pylint and other minor fixes
and cleanups only.
* [ff78c7e] views.py: Fix log view (1.1.x regression).
* [7accd29] changes.py: buildrequest: Also exclude .changes (fixes:
failed buildlog sometimes not archived) and .buildinfo files.
* [351cb45] changes.py: Add todo note about maybe using dsc only for
buildrequests later.
* [f19c3b8] [devel]: Add ridiculously oversized skip-workaround for
pylint3@sid breakage.
* [56c088b] Revert "[devel]: Add ridiculously oversized skip-workaround
for pylint3@sid breakage."
* [c250c15] pylint 1.7.4: Fix various new 'no-else-return' warnings.
* [6ba8656] pylint 1.7.4: Fix one new "unused-argument".
* [5503913] pylint 1.7.4: Remove false-positive override for 'redefined-
variable-type' (now fixed in pylint default).
* [e8840b1] pylint 1.7.4. Add exceptions for new (no-member/contextlib)
false-positive: https://github.com/PyCQA/pylint/issues/1437
* [b38af5d] pylint 1.7.4: Another exception for 'no-member' false-
positive on threading.Lock().
* [5f1ac30] pylint 1.7.4: Fix two new 'args-differ' warnings in ftp
code.
* [0789b90] pylint 1.7.4: Add exceptions for several 'arguments-differ'
false-positives (https://github.com/PyCQA/pylint/issues/1553).
* [1827d2c] rules: Remove PYTHONHASHSEED=0 sphinx/repro workaround
(#877637 has been fixed).
-- Stephan Sürken <absurd@debian.org> Tue, 16 Jan 2018 12:42:38 +0100
mini-buildd (1.1.7) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This release has more ;) cleanups for the build setup (setup.py +
packaging), now making the package lintian-clean -- including an
internal check to keep it that way (fixes the 'missing man pages'
regression from 1.6 on the way).
Apart from that, this mainly has improvements to the internal
development test suite scripting.
* [abaa17b] Revert "control: b-d on debhelper >= 10.6 [in previous
versions, dh_installman fails to find man pages]."
* [802f0aa] setup.py: Revert back to fixed build path for man pages
(fixes 'no manpages' regr. in 1.1.6).
* [ae2b570] mbd-auto-setup: Run m-b-tool in --verbose mode.
* [46c8e48] rules: QA: Run dh with '--fail-missing'.
* [274e739] mini-buildd-tool: Use fixed metavar string for commands
(fixes manpage warning); add note about full command help.
* [a70a4b6] [devel] update(): Add extra lintian run to catch (new)
lintian warnings.
* [e5f32f7] [devel]: Remove skip warning from repro check (forgot to
remove).
* [8f90ac0] [devel]: New naming convention for static checks:
'mbd_check:<type>': This updates all active checks.
* [cc99f28] [devel]: New naming convention for live checks:
'mbd_checklive:<type>': This updates all active checks.
* [f19ff57] setup.py: Yet more cleanup/simplification for the custom
setup (init, mans).
* [9bcad45] [devel] Fix up usage (remove the strange underscore/args
thing).
* [3ff71f0] [devel] Remove redundant code to write init -- use setup.py
instead.
* [71800f9] devel: check(), livecheck(): Auto-generate list of check
functions.
* [0bab5ad] devel: Add codespell check to active checks.
* [3fbc836] code: Fix three minor spell issues found by codespell check.
* [22c07ca] devel: Update checks to yet another naming scheme (with an
added ordering cardinal number).
* [08e1ae3] devel: Remove unused snakefood graph support.
* [8e7692d] devel: Remove unused and outdated mbd_doc().
* [ac6f5ec] devel: Remove _read_mirror(): Not used, and should be
obsolete.
* [5fbc424] devel: Re-order functions.
* [04f78af] devel: static checks: Integrate build(); add lintian() as
extra check.
* [2bd2414] devel: split up "checkall" into new ordered "live" checks.
* [a31b51d] devel: Update/improve usage.
-- Stephan Sürken <absurd@debian.org> Wed, 25 Oct 2017 11:51:47 +0200
mini-buildd (1.1.6) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This release consists of misc cleanups/fixes, focusing on the
python/Debian build system. Makes it reproducible again.
* [ea78677] rules: Remove superfluous DH_VERBOSE comment.
* [63c6f19] bash-completions: Drop 'building' (use plain files), and
switch to dh_bash-completion for package installation.
* [3458321] sphinx conf.py: Cleanup up: Remove obsolete config (man,
latex) and comments.
* [e7e2b48] sphinx build: Simplify setup (put generated sources in doc/
directly).
* [100ee4f] sphinx: Call sphinx-apidoc via conf.py (not setup.py).
* [141e221] setup.py/man pages: Cleanup generation code; do it on build,
not sphinx_build.
* [01af9e8] sphinx: Move sphinx build from setup.py to rules.
* [12f1a8c] httpd.py: Fix "manual missing" error handling callback.
* [ce2e942] setup.py: Add method for init generator; minor cleanups.
* [1c2b2b7] rules/setup.py: Add workaround for sphinx unreproducible
html (see bug #877637).
* [41d5eba] setup.py: Build man pages to /build/ not /src/.
* [6b280da] rules: Build sphinx _after_ pybuild (so we get a working py
package for apidocs).
* [fa779e7] setup.py: man pages: Make sure build/ dir exists.
* [388b19d] apidoc: Use separate pages for modules.
* [fb64c4b] doc/conf.py: Fix and update copyright text.
* [da3d651] .gitignore: Ignore new sphinx-apidoc-generated files in
doc/.
* [df48e0f] doc: Build all generated docs to extra directory
(doc/code/).
* [add8fe8] rules: sphinx-build call: Explicitly give builder (html).
* [57c6f04] httpd.py: Improve doc "error hinter".
* [b968bfe] httpd.py: manual error: Use multiline html string (fixes
codestyle warning).
* [1b34100] setup.py: Add custom "clean": Now actually clean all files
gen. in build/ (obsoletes "clean" override in rules).
* [53b6102] api show, misc code: Switch from dsc_url to dsc_path
internally (fixes "early binding" to absolute URL).
* [82c36e6] code: Mass fix py warning: 'ResourceWarning: unclosed file'.
* [f9b2736] source.py: Use django's set() to reset many-to-many set on
check() and remove() (Fixes django deprecation warning)
* [c895315] [devel]: pymodules: Use "$*" not "$@" in test (latter will
expand to several args). Fixes annoying error displayed.
* [00264d4] control: b-d on debhelper >= 10.6 [in previous versions,
dh_installman fails to find man pages].
* [4ff0cc1] control: Fix description for package py3-m-b (this no longer
contains m-b-tool).
-- Stephan Sürken <absurd@debian.org> Mon, 09 Oct 2017 08:40:31 +0200
mini-buildd (1.1.5) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This release focuses on the binary package split (now:
python3-mini-buildd, mini-buildd, mmini-buildd-utils, mini-buildd-doc)
and internal directory/file structure changes.
* [a37e69c] daemon.py: Fix broken 'save' of Daemon instances (regression
in 1.1 only). Thanks to Frank Doepper (Closes: 867592)
* [c21b7a0] Package split: Add deb 'mini-buildd-utils' (currently for
mini-buildd-tool only).
* [e0bf493] Package split: Add deb 'mini-buildd-doc'.
* [d243a51] Adapt code path for new online manual location, and add sane
error hint (in case *-doc is not installed).
* [f9648bf] Package split: Move mini-build-tool manpage to *-utils.
* [366eaee] debian/copyright: Update year (2017).
* [7940157] debian/copyright: Update to 1.0 (add 4.0-recommended https
Format:-Url, remove obsolete entries).
* [c3a656a] debian/control: Update prio extra->optional (policy 4.0.1).
* [23728a6] debian/control: Update Std.-Ver. to 4.1.0.
* [1acd9e8] Move doctest extra test data from /examples/ to /src/.
* [65509a4] Introduce new project dir "share/"; mv "auto-setup" from
"examples/" here.
* [6f5944c] Introduce new project dir "etc/"; mv "15mini-buildd-
workarounds" from debian/ here.
* [7c38c01] Mv "fstab-generic" from "debian/" to "etc/".
* [dbb5cfd] Mv "mini-buildd-sudoers" from "debian/" to "etc/".
* [d681e96] Mv "mbd-debootstrap-uname-2.6" from "debian/" to "share/".
* [1d7e5a4] Mv "packages/" from "examples/" to "share/" as "package-
templates/".
* [57e6c5b] Mv "dput-wait-for-build" from "examples/" to "share/".
* [3e9a685] Mv "migrate-keyring-packages" from "examples/" to "share/".
* [6a58213] examples/reject-cleanup: Fixup doc/help.
* [f3132ac] Mv "reject-cleanup" from "examples/" to "share/".
* [050c6ee] examples/schroot-cleanup: Fix up docs/help.
* [281d4d3] Mv "schroot-cleanup" from "examples/" to "share/".
* [c26a5aa] Remove examples/README: Now obsolete.
* [0ebb62c] Mv "import-08x" from "examples/" to "share/".
* [9b4c8a9] Mv "ssh-uploader|tool-command" from "examples/" to "share/".
* [c9c31ae] archive-keyring-template: postinst and prerm should be +x.
* [7e156ea] mini-buildd.lintian-overrides: Rm now-obsolete override
'duplicate-changelog-files'.
* [a074745] debian/rules: No need to override compress for examples any
more.
* [de2b1bd] [devel]: purge: Also purge new packages mini-buildd-utils
and -doc.
* [3fd755d] Introduce prefixes "mbd-" (admin, package mini-buildd) and
"mbu-" (utilities, package mini-buildd-utils) for executables in
'share/bin/'.
* [0813931] Rename 'auto-setup'->'mbd-auto-setup'.
* [a48169a] Rename 'dput-wait-for-build'->'mbu-dput-wait-for-build'.
* [655b47a] Rename 'migrate-keyring-packages'->'mbu-migrate-keyring-
packages'.
* [70ac474] Rename 'import-08x'->'mbd-import-08x'.
* [a65b9d0] Rename 'reject-cleanup'->'mbd-reject-cleanup'.
* [079d77d] Rename 'schroot-cleanup'->'mbd-schroot-cleanup'.
* [ecbbcc4] Rename 'ssh-uploader|tool-command'->'mbd-ssh-uploader|tool-
command'.
* [8dca8a3] test packages: Bulk-upgrade debhelper compat level to 10.
* [d99b255] test packages: -cpp|ftbfs: Remove extra .ui-auto.conf
(really not needed).
* [c6aab94] test packages: Remove now-obsolete previously checked-in
generated/redundant autotools files.
* [d6decd3] test packages: Bulk-update/renice top level README.
* [7dddf23] test packages: Bulk-upgrade stds-ver to 4.1.0.
* [92022e6] control: Rm obsoleted b-d for dh-systemd.
* [bd219f6] control: *-util must also break+replace old py2 package
python-mini-buildd.
* [4e0cec5] gbp.conf: Configure snapshot number: time stamp.
* [a5cef50] gnupg.py: Support passwordless key creation for gpg flavor
2.2 (fixes daemon creation).
* [b7ef0c8] control: Update to Stds-Ver 4.1.1 (no changes needed).
* [4d65c50] *.lintian-overrides: Remove 'debian-cl-line-too-long'
override (this does not seem to be an issue w/ default gbp any more).
* [2c5f20e] setup.py: sphinx-apidoc: Use explicit path for py3 variant.
* [265c14c] doc/conf.py: (sphinx doc) Order autodoc members by source.
-- Stephan Sürken <absurd@debian.org> Tue, 03 Oct 2017 12:24:20 +0200
mini-buildd (1.1.4) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This release mainly catches up w/ needed changes already in
the new 1.0.x stable release (especially, make it work with
current django 1.11).
[ Gerhard A. Dittes ]
* [6cb3ba6] mini-buildd.css: Improve "status table" appearance.
[ Stephan Sürken ]
* [ed6f61d] Remove (08x compat) package mini-buildd-common for good.
* [4da9072] lintian: Add hardcoded suppress for 'bad-ubuntu-
distribution-in-changes-file'.
* [0e4fabe] wizards: Add support for Ubuntu zesty (17.04).
* [1df9c9c] [devel]: update: Install with depends (debi --with-depends).
* [64e31c1] [devel]: installdeps: Add tidy.
* [8b437cc] wizards: Improve source wizard code: Don't repeat key ids.
* [457a513] wizards: Cleanup Ubuntu sources, support only zesty, yakkety
(latest) + xenial, trusty (latest LTS).
* [a717be5] wizards: Archives: Replace httpredir.debian.org by
deb.debian.org.
* [6a0be63] wizards: Sources: Update keys for stretch after release.
* [f474dbf] wizards: Add support for buster.
* [e380b7f] wizards: Add support for jessie-backports-sloppy.
* [1f39afe] wizards: Add support for stretch-backports.
* [6031e7d] src/mini-buildd: py3: Remove obsolete encode() call in
SysLogHandler (fixes syslog logger).
* [4d1f642] django: Update to aware datetime objects ('USE_TZ'), and
allow django 1.11.
* [58aa3a2] builder/packager.py: Fixup import order.
* [cea621e] Revert "lintian: Add hardcoded suppress for 'bad-ubuntu-
distribution-in-changes-file'."
-- Stephan Sürken <absurd@debian.org> Tue, 25 Jul 2017 14:04:35 +0200
mini-buildd (1.1.3) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This release again is a mere code maintenance release:
* python 3: More 2to3 code updates (calling this finished).
* django 1.10: Remove all < 1.10 compat code.
* pylint: Make nearly all exceptions in-code, and bring it
down to about 30 exception aver all.
* All known regressions fixed.
* [fe0732c] py3: Remove obsolete py2 compat: Argparse/stderr workaround.
* [8791ee6] py3: Remove obsolete py2 compat: PY2_HAS_URLLIB2_CAFILE.
* [6d37317] misc.py: Remove obsoleted pylint exception.
* [e7212c3] py3: Remove obsolete py2 compat: timedelta_total_seconds()
wrapper.
* [9a57e4a] py3: Remove obsolete py2 compat: mkdirs() wrapper.
* [118fb9f] py3: Remove obsolete py2 compat: Extra locking for
dict.setdefault() not atomic.
* [5e23968] control: Update/harden dep on django: >= 1.10.
* [9f1b505] django_settings.py: Remove settings compat code for django
versions < 1.8.
* [3370ecd] daemon.py: Remove and replace old 'model-save()-workaround'
for django versions < 1.5.
* [c6f41b5] templatetags/mini_buildd_tags.py: mbd_jquery_path() Remove
compat for django versions < 1.9.
* [18a91f4] models/source.py: Remove obsolete and 'not-quite correct'
workaround comment for source.__str__()
* [0c7d67c] [devel]: Rm now-obsoleted helper pycompat.
* [7e50464] [devel]: Remove no longer needed temporary helper 2to3.
* [a745002] pylint: Remove all in-code "module-global" exceptions (two
files).
* [84e6ae7] pylint: "bare-expect": Bulk-move to in-code exceptions.
* [9ea6286] [devel]: pylint check convenience: Don't stop testing on
first file that fails.
* [5ed2929] pylint: "broad-expect": Bulk-move to in-code exceptions.
* [bc46515] pylint: Drop global exception "cyclic-import" (no longer
needed).
* [777f2e8] pylint: "redefined-outer-name": Bulk-move to in-code
exceptions.
* [db39ae4] pylint: "redefined-variable-type": Bulk-move to in-code
exceptions.
* [309607e] pylint: Drop global exception "no-init" (no longer needed).
* [c8efdff] pylint: Re-check && keep global "logging-format-
interpolation" exception (update comment)
* [8103ce8] pylint: Remove "line-too-long" exception, rather use
max_line_length=200 now.
* [faedd7a] [devel]: pylintgeneratedmembers(): Fix 'devel call', and
change pylintrc directly.
* [6d3e474] .pylintrc: Update via pylintgeneratedmembers().
* [88f4acf] .pylintrc: Some general formatting cleanups.
* [4476306] .pylintrc: Add comment on each global exception.
* [4a858fc] [devel]: pylint: Add && print extra counter for number of
locally disabled checks.
* [0023580] [devel] Put py file exceptions to py_modules() func only.
* [3b24358] [devel]: Call pylint with many args && --jobs=2 (instead of
once for each module) (~quarters run time).
* [11fd16f] models/chroot.py: Use dict.get() with default value instead
of try/catch for personality value (obsoletes pylint exception).
* [25f20ca] code: Bulk-replace all "bare-excepts" by "broad-excepts" on
BaseException.
* [6f3d7e4] mini-buildd: Better name for daemon variable (obsoletes
pylint exception redefined-outer-name).
* [1592f54] mini-buildd-tool: Rather use '_var' naming than pylint
exception 'unused-argument'.
* [105de9c] mini-buildd-tool: Use ConfigParser, not legacy
RawConfigParser.
* [0eec1ff] mini-buildd-tool: Add short doc for host_completer function.
* [6ae0ef8] mini-buildd-tool: Simplify && improve host_completer()
(obsoleting a handful of pylint exceptions).
* [c34333c] code: Bulk-fix: Only use BaseException for broad except
clauses.
* [dadc1ff] webapp.py: Fixup 2 import statements (obsoleting 2
'redefined-outer-name' pylint exceptions).
* [bb62214] models/base.py: Fixup import statement (obsoleting a
'redefined-outer-name' pylint exceptions).
* [8bb3f6b] builder.py: Rename/improve function name build() ->
run_build() (obsoleting 3 'redefined-outer-name' pylint exceptions).
* [6026ad9] api/__init__.py: Fixup/improve internal imports (obsoleting
'redefined-outer-name' pylint exception).
* [d56140b] pylint: Remove unneeded in-code exceptions: 'wrong-import-
position|order','import-error', 'no-name-in-module'.
* [83801ca] mini-buildd-tool: pylint: Add false-positive comment to no-
member disable pragma.
* [15e839f] [devel]: pylint: Add short log line before checking modules
resp. scripts.
* [805f006] models/base.py: pylint: Remove 'super-on-old-class'
exception (no longer relevant with py3).
* [2d378be] models/chroot.py: Simplify/improve code to set personality
(obsoletes pylint exception redefined-variable-type).
* [fe39105] models/source|repository.py: py3: Switch to use key function
for ordering components.
* [79c1fcc] ftpd.py: py3: Switch to key function to order list.
* [adc0da9] .pycodestyle: Replace UTF-8 chars by ascii.
* [96ab49e] examples/*: Remove a number of exception bases pylint
exceptions.
* [056de7b] code: Bulk-fix *more* "bare-excepts" (found by pycodestyle
2.3.1).
* [6762822] call.py: Rather use SpooledTemporary for default stdout|err.
* [98d6b47] call.py: Simplify call2shell() convenience code.
* [5c5504c] call.py: py3: Switch to use subprocess.run().
* [a611831] call.py: py3: Use more from CompletedProcess, stop using
implicitly created temporary files (fixes py warning).
* [9a4a916] call.py: Get rid of (unused) methods to get stdout|err as
bytes.
* [d99f9a2] call.py, all: py3: Bulk-rename ustdout|err to stdout|err
('u' for unicode does not make sense anymore).
* [55864ce] call.py: Remove extra retval, and some more cleanups.
* [29280ea] debian/control: Update to 'nicer' notation.
* [176fbeb] debian/control: Add py3-bs4 b-d and suggests for p-m-b.
* [1fae937] django_settings.py: Update to 1.10 MIDDLEWARE style (fixes
django warning).
* [dcf11e8] django_settings.py: With compat removed, we can simplify
back to call configure() directly.
* [3f5b283] root_urls.py: Remove unnecessary include() for admin site
(fixes django warning).
* [94d9260] models/base.py: colored status: Switch from deprecated
'allow_tags' to html_format() (fixes django warning).
* [e0ead55] misc.py: run_as_thread(): Switch to daemon property (instead
of deprecated setDeamon()).
* [3fe5534] mini-buildd: logging: Set 'raiseException' value based on
"exception" debug flag (previously, it was always disabled).
* [9dc3b24] code: py3: Bulk-update use of super() to py3-style.
* [30a5239] views.py: Use 'is_authenticated' as attribute (fixes django
deprecation warning).
* [197ab68] [devel] pymodules(): Add file exceptions as args (and use
exceptions only where needed).
* [175f061] setup.py: Use setuptools.setup(), not
distutils.core.setup().
* [ebfa639] setup.py: Some code cleanup, improve __init__.py creator
code.
* [566991b] setup.py: Fix build_sphinx workaround to custom BuildDoc
command.
* [c7bfb8d] [devel]: pyenv: write own version of __init__.py (don't use
setup.py's side effect).
* [eed7020] setup.py: Use custom command for build: generate __init__.py
&& trigger doc build automatically.
* [f061c98] setup.py, debian/rules: Move bash-completion file generation
to setup.py (this finally obsoletes rule's build target override)
-- Stephan Sürken <absurd@debian.org> Mon, 10 Apr 2017 12:17:52 +0000
mini-buildd (1.1.2) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This release fixes some regressions from the py3 migration, and
improves on internal code checking:
* [9500a4b] httpd.py: py3: Fix cherrypy static index (needs bytes now).
* [a2b582f] models/base.py: py3: Fix pickle support.
* [7e608e8] models/base.py: Remove compat unpickle support for old 1.0.x
beta release.
* [a322a9c] [devel]: Add pymodules, pyscripts and pysources (python code
files).
* [bdb1cfa] examples: Add missing char encoding mark for two scripts.
* [925123f] [devel]: Add "pycompat" search helper.
* [9dc4a5a] [devel]: pycodestyle: Use pysources(), and fix some now-
detected errors in example scripts.
* [3e56491] [devel]: codespell: Use pysources().
* [39411fa] [devel]: pydoctests: Use pymodules(), run in src/ and some
path fixes in modules.
* [d03618a] [devel]: pyflakes: Use pysources() and fixup previously
undetected errors in import-08x.
* [92361b8] [devel]: pylint: Use pymodules() and pysycripts() and fixup
previously undetected errors in example scripts.
* [8a81ab4] [devel]: Removing pychecker support (does not seem to work
for py3).
* [dd62d0d] [devel]: Remove obsoleted extra squeeze exception.
* [ae1b30f] [devel]: Compat search helper: Add searching for older
debian dist codenames.
* [e107d47] [devel]: use mbd_pysources() for 2to3 helper.
* [c94fda7] py3: Add all changes from 2to3 re-run with the updated file
list.
* [7a505b8] [devel]: Code re-ordering.
-- Stephan Sürken <absurd@debian.org> Fri, 24 Feb 2017 19:33:59 +0000
mini-buildd (1.1.1) experimental; urgency=medium
** 1.1.x are _development_ releases, use for testing only. **
This release updates mini-buildd to python3 (one-way, no py2 support).
Mostly formal updates and fixes up to the point that the test suite
("./devel checkall") would run again. I expect more py3 issues, and
hope for more possible cleanups in later releases:
* [90da0bf] [devel] Make mini-buildd-tool shortcut for test calls
global.
* [be288b4] [devel]: Add wait4package(): Wait until a packge is in-repo.
* [65ecdd6] [devel]: checkall(): Add migration tests.
* [1c086cd] models/repository.py: Improve two error messages (add
version) when package is not found in repo.
* [c79c627] mini-buildd-tool: Pre-check for None for http_args dict
(Fixes (wheezy only): API call has 'version=None' instead of
'version=' when --version not given explicitly.)
* [25bfd44] misc.py: guess_codeversion(): Better variable naming:
digit->number.
* [c87cbfc] misc.py: The default 'codename version' is now only a single
number for Debian distributions wheezy upwards.
* [6962aba] mini-buildd.NEWS: Improve da NEWS.
* [cb08681] control: Bulk-update all dependencies for python3.
* [ddee0ca] Bulk-update all script shebangs to python3.
* [12a3c64] [devel]: Switch check tools pylint, pyflakes => pylint3,
pyflakes3.
* [cf2575c] debian/*: Rename debhelper files: python-mini-buildd ->
python3-mini-buildd
* [a8a7cfc] control: Add Conflicts/Replaces for python-mini-buildd for
now (needed for /usr/bin/mini-buildd-tool).
* [a754159] setup.py: Update to 'print function' to avoid hassles later.
* [dc5415b] python3-mini-buildd.lintian-overrides: Also update package
name inside file.
* [b1c3a93] mini_buildd/setup.py: Fix python path to
'/usr/lib/python3/..' (instead of 2.Y scheme for python2).
* [678b09d] rules: Switch to pybuild, and update to python3 only.
* [4739b09] [devel]: Add little 2to3 convenience helper.
* [72fea8e] setup.py: Update write() call for python3.
* [8af4b26] .gitignore: Update for packaging changes.
* [3c30690] call.py: Drop str/unicode workaround code (obsolete and now
failing).
* [5e70efc] Bulk-update all python source via '2to3 --write --print-
function'.
* [7b7883b] pycodestyle: Bulk-Fix blank lines as left by 2to3 tool.
* [8fff71b] pycodestyle: Bulk-Fix multiple imports as left by 2to3 tool.
* [3233cac] pycodestyle: Bulk-Fix wrong indents as left by 2to3 tool.
* [d54d582] [devel]: misc check: Omit checking for future import, now
obsolete.
* [29a10d2] setup.py: Remove "future imports" from generated
__init__.py.
* [3489c0d] pyflakes3 (models/source.py): Replace cmp() call (no longer
in python3).
* [bb6ef69] pylint3: Bulk-replace deprecated log.warn() by
log.warning().
* [99aed26] pylint3 (models/base.py): Use decode|encodebytes instead of
deprecated decode|encodestring method names.
* [0fd0254] mini-buildd-tool: Declare varibale in correct scope (fixes
new pylint3 warning).
* [47561d8] api/__init__.py: Correctly mark unused variable (fixes new
pylint3 warning).
* [eec9e7c] misc.py: ConfFile: Remove obsolete unicode code.
* [d4a2385] Bulk-remove all explicit unicode literals (u', u").
* [7a1771a] misc.py: Fix base64 doctest for python3.
* [6aa6a07] changes.py: Dump differently to avoid py3 bug (?) in deb822
(fixes doctest).
* [3b00164] gnupg.py: Fixup gnupg doctests for py3.
* [8ac1edf] py3: Bulk-replace __unicode__() by __str__().
* [4943e3c] [devel]: Update all py2 Debian package names to py3
variants.
* [0096863] [devel]: Temporarily skip debrepro test (some sphinx issue
again?).
* [97bce29] daemon.py: Changelog: Remove obsoleted unicode workaround.
* [0286f19] py3: Fix up all sorted(cmp=...) to sorted(key=...) (using
cmp_to_key() woakround).
* [25fb2a7] packager.py: py3: Remove some obsolete explicit str() (py2:
was unicode()) conversions.
* [5187e2e] daemon.py (Daemon._port): py3: No longer do extra decoding
of author call param.
* [0f72c3d] misc.py (web_login): py3: Needs bytes now as POST input.
* [d6fd1e0] mini-buildd-tool (cmd_call): py3: Fix terminal output.
* [afca5a2] call.py (Call): py3: Fixup [u]stderr, [u]stdout methods.
* [6594bcb] builder.py (Build._buildlog_to_buildresult): py3: Fix status
parsing for non-ascii buildlogs.
* [c67faaf] django_settings.py (get_django_secret_key): Fix for py3 and
improve code s/w.
* [520f132] models/msglog.py, *.py: Do warn->warning transition for
MsgLog also, and fixup forgotten code.
* [07ca8dd] [devel]: Update all direct python calls to use "python3".
* [aa8512b] misc.py (open_utf8): py3: Just use open(), not
codecs.open().
* [7658e36] changes.py (Changes.__init__): Open file with encoding.
* [557e801] daemon.py (Daemon.logcat): py3: Implement tail via deque
(Fixes: API:logcat)
* [5c2efc6] gnupg.py (BaseGnuPG.gen_secret_key): Properly encode flavor
additions.
* [bbb248f] builder.py: py3: Don't use binary mode for sbuildrc snippet
file.
* [ba8c6d2] mini-buildd-tool (cmd_call): py3: Fix localized terminal
output.
-- Stephan Sürken <absurd@debian.org> Sun, 12 Feb 2017 14:17:09 +0000
mini-buildd (1.1.0) experimental; urgency=medium
1.1.x development ("python3, https, then some") kickoff.
This initial release merely has the 1.0.29 merge plus some initial
adaptions.
* [79f1750] Don't sync debian/changelog on merge.
* [86ac05a] Completely remove the "chroot sudo workaround".
* [29afa85] misc.py: codeversion guesser: Use ~CODENAME (was: CODENAME)
for rolling distributions.
* [5a87ca9] Change default bind values (http, ftp) to dual-stack
":::PORT".
* [7c52c78] gbp.conf: Fix branch (from 1.0.x merge) to master && config
to merge=ours in .gitattributes.
* [7251b46] mini-buildd.NEWS: Add note about new default bind and new
default rolling dist version appendix.
* [2070a0a] builder.py: Delete forgotten merge marker from 1.0.x merger.
-- Stephan Sürken <absurd@debian.org> Thu, 02 Feb 2017 15:56:22 +0000
mini-buildd (1.0.29) unstable; urgency=medium
* [cc636fa] mini-buildd: Improve stale pidfile recognition (when pid has
been re-used by other programs).
* [fd69be4] [doc] mini-buildd.PIDFile: Typo fix, and remove note about
HOST-MainThread-PID extra file (no longer happening).
* [dea3aa9] call.py: Add general functionality to retry calls.
* [937ad97] gnupg.py: Retry the gpg sign call. This aims to be a
workaround (not fix) for unclear behaviour described in #849551.
* [ad73073] call.py: Add newline in docstr (avoid warning).
* [cbf53f6] django_settings.py: Fix py warning in context_precessor()
(Fixes: Warning string in man page (breaking repr. builds)).
* [005532d] mini-buildd[-tool]: Make '--version' print to stdout
(workaround for py2 issue18920).
* [7c3c46e] setup.py: help2man: No longer use "--no-discard-stderr" (may
result in corrupt man pages).
* [96f079d] home.html: Fix tidy warnings (duplicate ids).
* [devel]: Several changes to internal dev helper script (see git).
-- Stephan Sürken <absurd@debian.org> Tue, 17 Jan 2017 11:18:43 +0000
mini-buildd (1.0.28) unstable; urgency=medium
* [de458eb] control: Depend on reprepro >=5 (buildinfo files). (Closes:
843608)
* [f4f6951] misc.py: run_as_thread(): thread_func arg should not be
optional.
* [0885291] Add human readable thread naming, and add thread names to
logging.
-- Stephan Sürken <absurd@debian.org> Mon, 02 Jan 2017 10:20:08 +0000
mini-buildd (1.0.27) unstable; urgency=medium
Misc cleanups, minor fixes and documentation improvements:
* [24e1e48] wizards: Remove support for etch, lenny (no longer work with
current sbuild).
* [593edef] wizards: Remove support for Ubuntu sources < trusty (14.04):
saucy, raring, quantal, precise.
* [d145b23] wizards: Add support for Ubuntu yakkety (16.10).
* [6a3344c] API "list": Fixup some wrong wording in help strings.
* [95b55de] [devel]: Don't write *.upload file on test package upload.
* [1a75207] misc.py: Use import wrapper method for keyring module
(instead of importing on module level).
* [40ffada] doc/admin.rst: Add note about "vsyscall removal" from Debian
kernel.
* [e4b4321] doc/user.rst: Add extra section for default layout.
* [c209e99] doc/admin.rst: Add notes/instructions about default layout
changes.
* [fc628d0] doc/admin.rst: Improve note about vsyscall.
* [ccff09d] api/client_1_0.py: Improve and complement API doc.
* [d4659d4] django_settings.py: Move version info code/imports to
functions (this makes pseudo settings no longer depend on cherrypy and
pyftpd).
* [72c1d8f] control: Move deps for p-d and p-d-r to module package
(needed by py client API and partly by mini-buildd-tool).
* [68e3d94] doc/user.rst: At least add some initial human-readable
documentation about the API.
* [1193d48] doc/user.rst: Client API: Add note about problems when using
different django versions.
* [964f571] control: Update dep on django: We need >= 1.7.4 (live build
logs need 'FileResponse' class).
-- Stephan Sürken <absurd@debian.org> Thu, 22 Dec 2016 09:35:19 +0000
mini-buildd (1.0.26) unstable; urgency=medium
Besides the usual various fixes, this release adds new (per cl)
"Upload Options": Nicer notation and some *new* options:
- ignore lintian now optionally per arch.
- run lintian, optionally per arch.
- set apt priority for internal packages.
See user manual for more information on this.
* [79f529d] [html] Improve packager/builder status table design (partly
as suggested in #843396, thx Boyuan)
* [446ba1a] changes.py: Move "magic" code to new subclass "Options".
* [96258ed] control: "Harden" dep on dpkg-dev (>= 1.7.27~) for sbuild.
* [0e80bc6] changes.py: Options: Better name for private class var.
* [25a0eee] devel: 'pep8' has been renamed to 'pycodestyle'.
* [0d275c3] pycodestyle: Fixup some new warnings.
* [f9fbe15] .pycodestyle: Ignore new check E741 for now && add clear
text description for our exceptions.
* [0c98a82] [devel]: Fix pycodestyle args to give error source &&
description.
* [3e0555d] changes.py: Initial new impl of Changes.Options() (replacing
"magic options").
* [a92732b] [devel]: Remove extra test against explicit unicode literals
(we need that notation for doctest expect strings).
* [55dcdc3] test packages: Update config.* (new autotools).
* [442691b] changes.py: Options: Imporove Bool class.
* [31dc434] changes.py: Options: Improve/cleanup "magic" options compat.
* [03e3107] user doc/changes.py: Update exception wording, and add
documentation for new "Upload Options".
* [5d7136d] New upload options: Remove any internal reference to now-
deprecated magic style.
* [9b8f0f1] Rm .ui-auto.conf: Not used for a long time, and has
confusing vintage content.
* [3a4f9de] changes.py: Changes: Make 'options' a (on demand, cached)
property.
* [04f27c7] changes.py: Options: Implement "run-lintian".
* [8078012] changes.py: Options.get(): Add check against internal code
using unknown key.
* [cdd7a34] changes.py: Options: Implement "internal-apt-priority".
* [e370c1e] daemon.py: Move private general _port() method before
specializations (port, portext).
* [5e5c4e2] changes.py: Options: Use class attr. for "keyword" string so
we do not (so we don't need to duplicate this later).
* [f3a25e5] user.rst: Improve description for auto-ports.
* [28fb995] daemon.py: *port*(): Refactor soemwhat so we can give
comments and options separately.
* [ac55b85] daemon.py: port(), portext(): Add optional "options"
argument.
* [7840616] api: port, portext: Add extra "options" argument.
* [0a987ad] [html] Improve 'current API cmd' display/refine.
-- Stephan Sürken <absurd@debian.org> Sun, 27 Nov 2016 12:21:49 +0000
mini-buildd (1.0.25) unstable; urgency=medium
This and that, and fixing up the meta distribution feature:
* [d255ad9] misc.py: class Distribution(): Validity check must be done
_after_ distribution mapping.
* [7b1f6cd] changes.py: In buildrequests, 'Distribution' key must be
mapped to internal (in case of a Meta-Distributions are configured).
Thanks to Boyuan Yang (Closes: 832643)
* [455774d] Some refactoring/code cleanup around meta distributions.
* [384b2c2] wizards: Developer Layout: Remove 'stable=squeeze-unstable'
meta distribution (this doesn't really make much sense).
* [9983968] models/repository.py: Add ambiguity error check in meta dist
generator function (and add it to Repository.check()).
* [2c8f80a] doc/admin.rst: Add section for "Layouts/Meta-Distributions".
* [d0204e9] models/repository.py: meta-dist-check: Fix wording, and hint
to manual.
* [dda651b] [devel]: We may no longer "convenience-remove" python-
secretstorage for testing (p-k now depends on it).
* [15c158e] examples/auto-setup: Also create debdev repository.
* [096e868] [html] repository_detail.html: Add sources.list download
links, and some cosmetics.
* [d6ad715] [html] Use HTML5 doctype.
* [10936d4] [devel]: Add initial (html) tidy checker.
* [5d013c9] [html]: HTML5: Bulk-replace <tt> by <kbd>.
* [3d3c5b2] [html]: HTML5: Fix cherrypy indexes.
* [d28bb39] mini-buildd-tool: Don't print server logs if --quiet is
given.
* [a3a0eaf] [devel]: tidy check: Don't check for repo URLs (may not be
ready).
* [c2988c9] [devel]: Also test extra packages when available.
* [a56b6c1] control: Update dependency for sbuild to 0.72 (has patch for
squeeze).
* [56b4d11] Update debhelper compat level: 9->10 (no changes needed).
* [3d612c2] rules: With dh compat 10, we no longer need to have extra
systemd option explicitly.
-- Stephan Sürken <absurd@debian.org> Fri, 04 Nov 2016 21:46:25 +0000
mini-buildd (1.0.24) unstable; urgency=medium
This and that, and fixup regression from 1.0.22:
* [64615bd] compat: Update dh compat from 7 to 9 (no other changes
required).
* [415c691] control: mini-buildd: Add missing dep on lsb-base (init
script).
* [5391c86] repository overview: Add "Direct links" convenience section.
Thanks to Marc Haber (Closes: 790059)
* [74363c7] doc/admin.rst: Improve docs about 0.8.x migration and
reprepro. Thanks to Marc Haber (Closes: 790292)
* [4edbf1f] doc/admin.rst: Add doc how to manually use an external
archive key. Thanks to Marc Haber (Closes: 790775)
* [4d1256c] control: mini-buildd-common: This may be 'Multi-Arch:
foreign' (as hinted)
* [33f214b] Fix regression introduced in 1.0.22 (1eeece7): Builds using
ccache fail on pre-existing chroots due to missing 'libdir'.
-- Stephan Sürken <absurd@debian.org> Sat, 22 Oct 2016 07:54:13 +0000
mini-buildd (1.0.23) unstable; urgency=medium
This release brings the live buildlog feature && some:
* [e24769c] [html] "Sync" last packages+builder status templates; only
allow description column to wrap.
* [5641406] [html] Arch status tooltip: Remove confusing URL, clarify
text when building is in progress.
* [9493933] [html] Last packages: Use standard hover style for arch
stati links.
* [822f7b4] changes.py: "Changes" class: Internal rename:
TYPES->TYPE2FILENAME_ID.
* [915aa9d] changes.py: "Changes" class: Add get_spool_id() (and
somewhat renice hash code).
* [5e38795] reprepro.py: Remove extra debug log (call.py now already
logs this suficently).
* [505ab4e] packager.py: Use new misc.rmdirs to purge spool dir instead
of shutils.rmtree directly (should improves error handling here).
* [14dd7af] changes.py: Prefix changes type ("upload" or "buildrequest")
to spool id.
* [8710070] Live buildlogs: Initial implementation: On webhome, access
live buildlogs from active "Packager" list or from active or last
"Builder" list. Thanks to Marc Haber (Closes: 809127)
* [3a5b17a] builder.py: Live buildlogs: Add support to expire live
buildlog files from spool (5 days).
* [a40aa1a] views.py: live buildlogs: Rather use plain text/HTTP 200
message when not available.
* [58085b9] builder.py: live buildlogs: Guard code against prossibly
pre-existing buildlog files.
* [10190f9] packager.py: live buidlogs: Rather use new live_buildlog_url
var, and put traditional 'http_remote_url' to old use.
-- Stephan Sürken <absurd@debian.org> Thu, 20 Oct 2016 15:29:45 +0000
mini-buildd (1.0.22) unstable; urgency=medium
Odds & Ends: Some more items from the roadmap, HTML
improvements, misc fixes:
* [e94d25d] doc/admin.rst: Add BTRFS to table of chroot backend options.
* [502aa4f] models/chroot.py: Call 'args' 'call' like in Call from
call.py...
* [6a975f8] models/source.py: Add get_apt_line_raw() (give components
explicitly).
* [a1c8e27] chroot.py: Update source chroot's apt line on check().
* [53ddbc8] [devel] Cosmetic fix: Don't double-issue version.
* [c2e1f38] [html] Last package status: Span buildlog link over all text
(less confusing).
* [1072d70] [html] Last package status: Always show status description
(instead of "hovering tooltip").
* [32415ed] [html] Add "homepage on the web" link to index.
* [cd5f797] [html] mini-buildd_messagelist.css: Also customize
'li.success' (fixes layout glitch on messages when deleting
instances).
* [0df352c] django_settings.py: Add static content; initially, add
static version info here.
* [4142ce1] [html]: Add component version information to footer
(tooltip).
* [c2be2b6] [html] Emphasize anchors (links) as bold.
* [305e4db] mini-buildd.service: Add default value for mini-buildd
options (Fixes: Would not run with default args (--verbose) when
debconf unchanged).
* [c95d4de] misc.py: Add rmdirs() (analogous to mkdirs()) function &&
update docs.
* [1eeece7] Move per-chroot 'libdir' to extra directory '~var/chroots-
libdir', and restrict build-time mounts. Thanks to Marc Haber (Closes:
802681)
* [8be71c5] control: Add b-d on dh-python.
* [3edabb9] mini-buildd: Make sure spool and chroot lib dirs exist (now
needed by schroot setup).
* [6779f39] [devel]: Update p-k test config magic to be even more magic
(and call it before testing).
* [5f2d923] doc/admin.rst: Add hint about avoiding django downgrades.
-- Stephan Sürken <absurd@debian.org> Sun, 09 Oct 2016 08:14:49 +0000
mini-buildd (1.0.21) unstable; urgency=medium
This release mainly features code refactoring around the internal
subprocess warpper and the addition of the BTRFS chroot backend.
Subprocess wrapper refactoring. While this mostly cleans up code, it
should also provide a nicer "log experience" for the administrator:
* [7797f73] call.py: Add helper to open a new file rw.
* [a1e9172] call.py: call(): Use stdin and stderr when given explicitly.
* [c9005dc] daemon.py: Use call.py (for genchanges), not subprocess
directly.
* [9ee1134] call.py: Rename call.sose_call -> call.sose, and make it
just a wrapper for call().
* [2893b89] call.py: Use shell-like output of command for all such logs.
* [aec91a8] call.py: Initial implementation of new class 'Call'.
* [165d91f] call.py: Update 'sose' function to use new class.
* [01d9fc6] call.py: Call(): Separate raw && unicode properties for
stderr/stdout.
* [95dd481] call.py: Use new Call() class in call().
* [b7103a9] call.py: Call(): Add "human-readable label" for nicer
logging.
* [651deba] gnupg.py: Update to new call.py for "export" subprocess
call.
* [fdf80e8] builder.py: Update sbuild call to new call.py.
* [85129d2] call.py/gnupg.py: Bulk-remove obsoleted call arguments.
* [077d1a7] builder.py: Remove now-obsoleted extra sbuild call log.
* [aaf2b70] call.py: Remove obsoleted functions: log_call_output,
args2shell.
* [5324fad] call: Bulk-replace obsolete "sose" call.
* [ae72eb6] call: Bulk-replace obsoleted call() function.
* [6f158be] call.py: Obsolete create_and_open().
* [8c18b62] call.py: Call().log(): Clean up code and document.
* [8f835e9] call.py: Call(): Class doc update.
* [6974148] builder.py: Don't log the build log.
* [6144e17] call.py: Make the magic "sequence2shell" convenience
converter work for mixed (str+unicode) sequences.
* [d07b9c6] call.py: ustdout|err: Replace on decoding error.
* [2999869] builder.py: sbuild call: Call log(), not check() (call
refactor regression).
BTRFS backend (thx again Katsuhiko):
* [3329a2b] [btrfs chroot backend]: Incorporate Katsuhiko Nishimra's
patch (mostly as-is). Thanks Katsuhiko! Thanks to Katsuhiko Nishimra,
Marc Haber (Closes: 673443)
* [f743188] [btrfs chroot backend] Update btrfs program path and package
name (btrfs-tools is deprecated now).
* [1546053] [btrfs chroot backend] Don't use '-o' for umount.
Other changes:
* [8c1015c] [test] mbd-test-cpp: Modify changelog so it tests non-ASCII
"original_author" string on ports.
* [ace2a62] packages/mbd-test-cpp: Add test for buildlog with non-UTF8
chars.
* [b013a7d] [devel] devel.debconf.selections: Don't have sbuild debug on
by default.
* [892d0c0] [doc] chroot: Minor wording fix for mbd_check_backend().
* [6fa5061] Remove compat/workaround for sphinx < 1.1 (obsoleted for
quite some time).
* [fb58a7f] misc.py: API doc fixes.
-- Stephan Sürken <absurd@debian.org> Mon, 03 Oct 2016 13:20:20 +0000
mini-buildd (1.0.20) unstable; urgency=medium
* [1e262bb] changes.py: Don't add *.deb-Files to build requests. Thanks
to Sam Hartman (Closes: 836156) (fixes non-source-only uploads with
newer sbuild).
* [e68807b] builder.py: "Harden" + document gnupg workaround for (bug
#834329) (Fixes: gnupg install may fail if chroot base source differ
on new apt).
* [a8b2356] [devel] mbd_testdjango is now obsolete (now that we log
django warnings).
* [6da0baf] code maintenance: Separate option & value in subprocess
sequences wherever possible.
* [e9127a9] Use 'absolute_import' from future for all python code.
* [a48eccc] Move all subprocess-related code to own module call.py.
-- Stephan Sürken <absurd@debian.org> Sat, 24 Sep 2016 10:05:01 +0000
mini-buildd (1.0.19) unstable; urgency=medium
* [a0e7da1] gnupg.py: Modify doctest to use pre-arranged keys (make
testsuite not block if entropy is sparse). (Closes: 834683)
* [36b71b1] control: Update dep. for schroot (>= 1.6.10-2~): We need
'CHROOT_SESSION_SOURCE' in shm workaround.
* [37b8a34] control: Update debootstrap dep: >= 1.0.81~ (newest
available for all dists we support).
* [5d03cdb] schroot: 15mini-buildd-workarounds: Don't fail even if
/dev/shm is missing from source chroot completely.
* [dfe8b2b] 15mini-buildd-workarounds: Some more output cosmetics.
* [4603275] mini-buildd: Add 'sbuild' debug option.
* [5638dc0] mini-buildd --help: Improve readability (using custom
formatter).
* [b771e04] mini-buildd --help: Add note about '~-Expansion' for --home
and --pidfile.
* [22bd0e6] Sort 'Sources' by codeversion (after origin), and sort
Distributions by source (fixes up default sorting for all released
Distributions).
* [0308b22] gnupg.py/doctest: Also close the new gpg TmpDir.
* [62d81fe] control: Dep: Avoid schroot >= 1.7 for now (atm, we are not
compatible with schroot 1.7). Thanks to Marc Haber (Closes: 820699)
-- Stephan Sürken <absurd@debian.org> Sat, 17 Sep 2016 08:52:25 +0000
mini-buildd (1.0.18) unstable; urgency=medium
This release addresses a number of pet-peeves hovering along on my
roadmap for some time (also fixes yet another issue for reproducible
builds).
* [15aa501] project structure: Add src/ subdirectory: All python source.
* [d230082] registration: Add custom email templates for password reset
(fixes per-mail password reset funcionality).
* [85c7be5] registration: Adapt/improve custom email templates for
account activation.
* [2e457fe] 15mini-buildd-workarounds: Improve SHM workaround: Also
avoid /dev/shm host 'overmount leaking'.
* [7d608bd] examples/packages/mbd-test-cpp: Check if SHM is working
inside the build.
* [0b49056] examples/packages/mbd-test-cpp: autotools update.
* [bdd88d8] misc.py: Distribution: Validate distribution string via
regex (improves error handling for some corner cases).
* [9e6c404] doc/conf.py: Set 'todo_link_only' (for reproducible builds).
* [0ac02be] packager: No longer log "rejected" packages (fixes possible
cruft in ~/var/log/ for uploads with malformed distributions).
* [26a0b5d] examples/reject-cleanup: Add example tool to (manually)
clean up possible ~/var/log cruft, and add some admin docs for it.
* [4392855] chroot: Make chroots removable even if source has been
removed.
-- Stephan Sürken <absurd@debian.org> Sun, 11 Sep 2016 16:36:50 +0000
mini-buildd (1.0.17) unstable; urgency=medium
gnupg 1.4/2.1 compatibility release. This also adds the new 'hotfix'
suite to the default layout (see docs) and various fixes...
* [b513a9e] mini-buildd: Generate reproducible mini-buildd man page.
(Closes: 833340)
* [c3969de] control: Vcs-*: Update to anonscm.debian.org. Thanks to
Boyuan Yang (Closes: 833338)
* [fd99541] Revert "mini-buildd: Generate reproducible mini-buildd man
page."
* [2194991] mini-buildd: man page/reproducible builds: Use Chris' patch
(which is nicer than my previous patch).
* [460a6e1] wizards: Add "hotfix" suite to default layout.
* [7ab128f] gnupg.py: Add flavor() method (compute 'gpg flavor'). Not
used currently.
* [88fc314] gnupg.py: Use extra methods to get key and fingerprint form
1st secret key.
* [2b6cb38] gnupg.py: Simplify internal impl.
* [9daee35] gnupg.py: Add flavor class variable (and fail-proof flavor
getter).
* [e993dc5] gnupg.py: GPG 2.1: Add '%no-protection' to key generator
template.
* [8ee94bc] gnupg.py: Add extra method to get sec user id. Fixes doctest
for GPG 2.1. Thanks to Santiago Vila (Closes: 834683)
* [2b29745] misc.py, builder.py: Try to log calls more suitable for cut-
and-paste debugging. Thanks to Marc Haber (Closes: 797585)
* [3320484] control: Add dirmngr depends for mini-buildd (needed for GPG
2.1 'recv-keys' functionality).
* [61302c6] gnupg.py: Add newline for (2.1) template flavor option
(needed for 'gen-key' from within mini-buildd).
* [3047d2f] control: Depend on sbuild >= 0.71. Fixes (1) builds in
chroots >= stretch (where gpg is gpg 2.1)) and (2) mini-buildd's
sbuild key workaround (via gpg 2.1 fixup in sbuild, and revertion of
ascii keyrings in sbuild 0.71). Thanks to Marc Haber (Closes: 834321,
834329)
* [969b12a] misc.py: Add compat for urlopen with python versions < 2.7.9
(relevant for wheezy installations only).
* [e149d03] gnupg.py: For '--with-colons' calls, use arguments that
deliver the same result for GPG 1.4 and 2.1.
* [a0c941d] models/gnupg.py: Fix for slightly changed GPG 2.1-style
colons output.
* [c058f99] builder.py: Cleanup subprocess sequence code for sbuild
call.
-- Stephan Sürken <absurd@debian.org> Sun, 04 Sep 2016 18:06:18 +0000
mini-buildd (1.0.16) unstable; urgency=medium
* [9614fc9] wizards: Add support for Ubuntu "xenial".
* [dbe0307] control: b-d: Add gnupg (build needs it for automatic tests)
(Fixes FTBFS in reproducible build chroots).
* [78c157d] models/source.py: Use ca-certificates if installed when
checking sources. Thanks to Klee Dienes (Closes: 832350)
-- Stephan Sürken <absurd@debian.org> Sun, 31 Jul 2016 08:57:07 +0000
mini-buildd (1.0.15) unstable; urgency=medium
Code cleanup release, mainly for django 1.10 support [mini-buildd
is currently compatible with django 1.7 up to 1.10].
* [dcecdad] devel(installdeps): python-bs4 && python-keyrings.alt now
needed for developer checks.
* [08aa4d5] mini_buildd/[root_]urls.py: Update from deprecated syntax
(tested to be compatible with django 1.7,1.8,1.9 and 1.10).
* [f32e474] django/templates: Use 'staticfile' app, and switch to use
'{% static %}' in templates.
* [46844b6] *.css: Use relative paths to for all static image urls.
* [712cf2e] django_settings.py: Move all TEMPLATE related config
together.
* [2a62aac] django_settings.py: Use extra settings dict variable for
configure().
* [26644a7] django: Update template config syntax for >=1.8, and add
compat for 1.7.
* [87ebb2c] django: templates/admin/index.html: Fix leftover
"="-comparison (removed in 1.10).
* [cb993e8] django: views.py: Replace to-be-deprecated
"render_to_response" by "render".
* [add9cb3] django: templates/base.html: Fix jquery static path.
* [8e4d04b] django: models/base.py(action_remove): Remove unnecessary
"current_app" hinting (fix for p-d 1.10).
* [7b0fd0e] setup.py: Move "STATIC_URL" setting here, it's used for both
django and cherrypy.
* [0528861] root_urls.py: Coherently use '"' to quote strings.
* [7249bcc] mini-buildd: Configure logging _after_ django configure
(django might overwrite some global settings).
* [c55a9c3] Add "python warnings support": Capture via mini-buildd's
logging, and add '--debug=warnings' to enable all warnings.
* [eed76b4] doc/admin.rst: Add section/example about a console debug
run.
* [2c76a1e] django: mini_buildd_tags.py(mbd_jquery_path): Use
"assignment_tag" again (stay compatible with 1.7, 1.8).
* [a5c2cd1] django: templates: Use explicit "on_delete" for all
OnoToOneField and ForeignKey (RemovedInDjango20Warning).
* [d0b195d] [devel] run-doctest: Issue all python warnings.
* [b8cd7b0] cherrypy: Update to cherrypy.lib.httputil (deprecation
warning).
* [39b6075] root_urls.py: p-d-registration: Upgrade to new (non-
deprecated) URLs name.
* [e6be7e6] [devel] Remove obsoleted django-lint code (pydjangolint is
no more).
* [2721d3a] control: deps: Allow django 1.10. Thanks to Chris Lamb
(Closes: 828660)
-- Stephan Sürken <absurd@debian.org> Sat, 30 Jul 2016 09:14:26 +0000
mini-buildd (1.0.14) unstable; urgency=medium
* [d487423] mini-buildd.service: Some brown paper bag fixes for the new
service file. Thanks to Boyuan Yang (Closes: 832167)
* [8971737] zh_CN.po: Add translation for "Simplified Chinese". Thanks
to Boyuan Yang (Closes: 832168)
* [a90fc43] doc/admin.rst: Improve section "Logging and Debugging".
Thanks to Marc Haber (Closes: 820692)
-- Stephan Sürken <absurd@debian.org> Sat, 23 Jul 2016 19:45:19 +0000
mini-buildd (1.0.13) unstable; urgency=medium
* [09793e2] Add systemd unit file: mini-buildd.service.
* [e76bfc0] control: Adapt dependencies to new python-django epoch in
version. Thanks to Lucas Nussbaum (Closes: 830359)
* [0fa253c] example packages: Autoconf files update.
* [20f9301] pt_BR.po: Add translation for "Brazilian Portuguese". Thanks
to Adriano Rafael Gomes (Closes: 829337)
* [2c9ecc7] builder.py: Install gnupg explicitly before using apt-key
(apt no longer depends on it). Thanks to Boyuan Yang (Closes: 831749)
-- Stephan Sürken <absurd@debian.org> Fri, 22 Jul 2016 17:20:28 +0000
mini-buildd (1.0.12) unstable; urgency=medium
This release focuses on HTML/design cleanups and fixes, and makes
it more compatible/maintainable across django 1.7/1.8/1.9 (and
hopefully future versions).
* [49f19f9] Web, "Last packages": Show sbuild- and lintian stati
directly, and in colors ("i386 [BL]").
* [44618f8] [templates] Convert 'snippet_packager_status' to inclusion
tag.
* [995193e] [templates] Convert 'snippet_builder_status' to inclusion
tag.
* [2496789] [templates] Convert 'snippet_manage_subscriptions' to
inclusion tag.
* [82e62d1] [templates] Convert 'admin/snippet_index_table_header' to
inclusion tag.
* [e328e21] [templates] Convert 'admin/snippet_index_table_row.html' to
inclusion tag.
* [e9977f1] [templatetags] Rename 'base'->'mini_buildd_tags' (possible
namespace pollution).
* [26c36a7] api: Make django_pseudo_configure() public, and move to api.
* [d7e9584] Add './run-doctest' tool, and re-enable all doctests for
modules using django.
* [ec4f92f] Remove "__main__ doctest run helper" from all affected
modules (obsoleted by ./run-doctest).
* [39bfbee] [devel]: Move dev testing debconf selections to extra file.
* [f649120] examples/auto-setup: Add "batch-mode" support (for dev
testing).
* [714dbbc] [css] Make file names "more unique", and remove some
redundancies.
* [bba1ce2] [css] mini-buildd_messagelist.css: Add custom icons for log
messages (we should not use django paths for that in our own CSSes).
* [9cc1ff6] [css] mini-buildd_admin.css: Less is more: Skip overwriting
most default styles (fixes some html display issues with django 1.9).
* [42641f1] [css] mini-buildd_admin.css: Correctly display title again
with django 1.9.
* [31b595f] [html] admin: Move "daemon running" convenience code to
content (displays this again this for django 1.9).
* [4ac61e0] [css] Style bulk fix: Class names should use hyphen, not
underscore.
* [195014d] [devel]: Add initial poor-man's check for unused CSS ids.
* [0f2b4ed] [css] mini-buildd.css, mini-buildd_admin.css: Remove unused
CSS ids.
* [2aade6a] [css] mini-buildd_admin.css: Fix "is running" warning image
and style.
* [2219aa0] [templates] Make all css includes use {{ STATIC_URL }}.
-- Stephan Sürken <absurd@debian.org> Sun, 24 Apr 2016 07:39:49 +0000
mini-buildd (1.0.11) unstable; urgency=medium
The "eight-legged freak" stable point release.
Crucial user-visible changes summary:
- python client API: This merges this long-petted feature branch.
Docs and examples will follow in the next release ;).
- schroot workarounds: Workaround for #728096 is now ootb, and a
(ootb) workaround for archived squeeze is added.
- wizards cleaned up; the recommended DirChroot backend now guesses
the default backend (aufs vs. overlay).
- no longer needs p-d-extensions.
* [eec512f] chroot wizard: Improve note when a customized chroot is
skipped, and make it a warning.
* [cd28cbb] web admin: Fix "search" function for 'Chroot' and
'Uploader'.
* [1945d13] doc/user.rst: Improve introduction/default layout
description.
* [2bebf1c] example packages: Update config.guess|sub.
* [adb26f8] [django 1.9] Fix jquery URI && distribution option tag.
Thanks to Eldon Koyle (Closes: 813720)
* [4b81c73] Add initial python client 'API' for 1.0.x.
* [f9e62c2] client API: Add django_pseudo_configure workaround.
* [649e4b3] misc.py: mkdirs: Add doc/note to myself (for the upcoming
upgrade to python 3.x).
* [6619511] client_api_10x.py: Daemon: Add self.url.
* [e02a913] [django 1.7-9] client_api_10x.py: Update "syncdb" to
"migrate".
* [8061242] [django 1.9] Call django.setup() directly after configure().
* [25e0931] [django 1.9] Pseudo config now also needs
"django.contrib.auth" and "django.contrib.contenttypes".
* [d0c6fed] Move pseudo configuration function to
"mini_buildd/django_settings.py".
* [1824cd5] django_settings.py: pseudo config: autodoc also needs
"registration".
* [932e994] django_settings.py: conf, pseudo conf: Use same value
"INSTALLED_APPS".
* [2a049e7] Use new pseudo config for sphinx doc (obsoletes
"doc/django_settings.py").
* [56f76ab] client_api_10x.py: Add status (caching) support.
* [2dd969c] client_api_10x.py: Support archive identity.
* [beb520f] client_api_10x.py: Add extra function: get_package_versions.
* [3ec7026] client_api_10x.py: get_package_version: Report a dict with
various infos, not just version.
* [6ab382f] django_settings.py: Pseudo config: Also set
MIDDLEWARE_CLASSES explicitly to avoid nasty warning with django 1.7.
* [56a3425] api: Move to own package.
* [3f84b08] api: Move client API to api/ package.
* [7782370] Add 'api/_contrib.py': Non-mini-buildd extra code; adds
DebianPackageTracker class.
* [b4d2eef] api/_contrib.py: Improve DebianPackageTracker class.
* [78e7cca] api/_contrib.py: Add some docs.
* [b437008] setup.py: Add mini_buildd/api to packages.
* [e1172f3] examples: migrate-keyring-packages, python-client: Update to
final client api location.
* [6b543ce] [wizard] Clean up archives && remove any old backports.org
archives.
* [a42f3f3] Add permanent schroot/setup.d workaround script; integrate
'shmbug728096' workaround and fix it so it "just works" (no manual
enabling needed any more).
* [388bc23] 15mini-buildd-workarounds: Add schroot workaround for
archived Debian distributions (disable the valid-until check).
* [708da60] 15mini-buildd-workarounds: Cosmetic log fix.
* [3b05f0b] misc.py: web_login(): Fix exception string.
* [d3939fd] api/client_1_0.py: login(): Ask for user if not given.
* [acd7e71] api/client_1_0.py: login(): Handle proto down to web-
login().
* [0865b08] api/client_1_0.py: Fix archive identity "parser" (for
archive ids that include a hyphen).
* [d8db641] misc.py: Add canonize_url() tool function.
* [d4775bd] misc.py: web-login(): Canonize URLs before "unauthorized"
check.
* [d7f2776] api/client_1_0.py: login(): Return instance to allow
convenience syntax.
* [9e513f6] api/client_1_0.py: Add "dry run" feature.
* [0872560] api/client_1_0.py: Compact/renice code.
* [fedd36a] api/client_1_0.py: auto_confirm, dry_run: Skip extra
property support.
* [bdda89d] api/client_1_0.py: Log HTTP status code for failed calls
too.
* [03f1ae4] api/client_1_0.py: Add "interactive retry convenience code".
* [72d9b29] api/client_1_0.py: call(): Fail/except when the API call
fails.
* [af7c51d] control: Update dependency on reprepro: >= 4.17 for dbgsym
support.
* [39dc9e7] api/client_1_0.py: Add batch_mode (non-interactive mode).
* [b537c17] api/client_1_0.py: call(): Add "raise_on_error" support.
* [826a847] api/client_1_0.py: Cosmetics on API call logs.
* [dd83414] api/client_1_0.py: Make bulk_migrate() public.
* [42d9521] api/client_1_0.py: wait_for_package(): Initial impl.
* [9b3a3eb] api/client_1_0.py: Add "django_mode" support, defaulting to
true.
* [c8c2b58] api/client_1_0.py: wait_for_package(): Fix: Actually
increase tries.
* [58dbebf] api/client_1_0.py: wait_for_package(): Simplify/improve log
output.
* [b84b45c] api/client_1_0.py: wait_for_package(): Error handling
support && code cosmetics.
* [b1b97f3] api/client_1_0.py: wait_for_package(): Support version=None
(any version).
* [fbf0111] api/client_1_0.py: has_package(): Add initial impl.
* [9601e59] api/client_1_0.py: wait-for_package(): Fixup logged wording
when match found.
* [dfc45e0] api/client_1_0.py: Monkey patch httplib._MAXHEADERS to 500
(default '100' may be too low as log messages are transferred via HTTP
headers).
* [19a361f] api/client_1_0.py: wait_for_package(): Add "or_greater
support" for version.
* [fab38f6] api/client_1_0.py: wait_for_package(), has_package(): Fixup
arg order.
* [84b1528] Bulk pep8 fixes on new code.
* [4a646a9] Bulk pylint fixes on new code / newer pylint.
* [7fd1435] models/chroot.py: DirChroot: Add guesser for the default
backend value ('aufs' versus 'overlay') based on kernel version.
* [823aaac] More code fixes and config adaptions for pylint (1.5.2).
* [2a46597] Remove dependency on p-d-extensions for good (only needed
for one graphic in the manual).
* [76c0be6] control: Update Stds-Ver to 3.9.8 (no changes needed).
* [e27d40f] pylint (1.5.2): Bulk-switch to symbolic message names.
* [b93a149] pylint (1.5.2): Bulk-convert inline exceptions to "one-
lines" where possible (and also removes some no longer needed).
* [986da34] urls.py+root_urls.py: Remove obsoleted compat code for
django 1.5/1.6 and older p-d-r.
* [f0be9cc] django_settings.py: Remove obsoleted compat code for django
< 1.7.
* [a1c7804] pylint (1.5.2): Phasing out some per-project exceptions:
super-on-old-class, bad-continuation, bad-format-string, global-
statement.
* [0e54a86] [devel] pep8: Use config file && remove old compat from call
code.
* [6de2d92] [devel] Add support for a testing (passwordless) setup of
p-keyring.
-- Stephan Sürken <absurd@debian.org> Sun, 10 Apr 2016 15:57:55 +0000
mini-buildd (1.0.10) unstable; urgency=medium
* [6345fe9] .gitignore: Ignore paths created by new debhelper.
* [2231178] [devel]: Updates: +installdjango, +service, +install.
* [26d9291] [django] Retry 'migrate' with '--fake-initial' on
OperationalError (fixes daemon start on certain existing databases).
* [938bc1d] Update to new recommended bash completions path (/usr/share
/bash-completion/completions/).
-- Stephan Sürken <absurd@debian.org> Wed, 20 Jan 2016 14:36:49 +0000
mini-buildd (1.0.9) unstable; urgency=medium
* [eb0fad7] [devel] chroot workaround: Don't care if the dirty workound
fails.
* [13ced1b] django_settings: Improve django < 1.7 compat code (make
mini-buildd actually fail when django.setup() fails).
* [dff0527] [devel] purge: Also manually stop daemon.
* [aaa608c] postrm: On purge, don't hide output of 'userdel'.
* [543d101] web && admin: Also display the daemon's hostname. Thanks to
Marc Haber (Closes: 796346)
* [f69c12b] httpd.py: Fix compat warning from cherrypy 2.3
(autoreload_on -> .on).
* [e79279c] control: Update dependency on django to >= 1.7 (will not be
tested under 1.5/1.6, and compat code may eventually be removed).
* [332996d] [devel]: Add crude macro to help locally test different
django versions.
* [7842e91] [django 1.9] Use management call 'migrate', not 'syncdb'.
* [235ac3b] DirChroot: Add support for now-in-linux-mainline overlayfs
named "overlay" (Fixes: OOB support for overlay backend for Debian
Kernels with aufs removed).
* [9b67282] [django 1.9] Add run_syncdb=True to migrate call.
* [cc2ea99] [django 1.9] Add app "django.contrib.sites" (p-d-r imports
models from there, forbidden in 1.9 w/o the app installed).
* [1c41bda] [django 1.8] WebApp: Manually call check() once (1.8 no
longer does this by default; in 1.7 you may see unharmful duplicate
calls).
* [1b5d6e8] [django 1.9] Update templatetag 'mbd_model_count' to
(cleaner) inclusion.tag (Fixes: configuration page).
* [fd94acc] [django 1.9] ./devel pydoctests: Add more exclusions for now
always-failing doctest runs.
* [2b8f5f5] [devel]: Add yet another workaround to simplify testing.
* [5dd2d45] Revert "[django 1.9] Add app "django.contrib.sites" (p-d-r
imports models from there, forbidden in 1.9 w/o the app installed).":
Not needed any more for new p-d-r upstream 2.0.4.
* [ed878cf] [django 1.8|9]: Depend on python-django-registration >=
2.0.4.
* [cd6b460] control: Harden python-django deps to those main version
actually tested with (1.7, 1.8, 1.9). (Closes: 808670, 806361, 806593)
* [cd6edec] [django 1.9] doc: Add app "registration" to django pseudo
conf (avoids warning on sphinx run).
* [542cb3c] [devel] More internal convenience hacks for testdjango.
* [599829b] DirChroot: Make "overlay" backend default (it's now in
mainline and current Debian kernels, while "aufs" has been removed).
-- Stephan Sürken <absurd@olurdix.de> Tue, 12 Jan 2016 11:27:55 +0000
mini-buildd (1.0.8) unstable; urgency=medium
* [8ecb4f1] API/DOC: Add "auth level" info to API docstrings.
* [ae3a5fe] doc/user.rst: Update aptitude config recommendations.
* [0f8e943] [devel] Add dirty workaround so testing still works in
"systemd chroots".
* [85fe189] [wizards] Add 'httpredir' Debian archive sources.
* [98b1181] builder: Also cat "chroot_setup_scrip" to build log. Thanks
to Marc Haber (Closes: 797589)
* [7a65be1] remotes: Use a custom exception for status updates failures
(improves error handling over pure urllib2 exception). Thanks to Marc
Haber (Closes: 796348)
* [7822017] [wizards] Add Ubuntu 15.10 (wily).
-- Stephan Sürken <absurd@debian.org> Sat, 31 Oct 2015 11:40:58 +0000
mini-buildd (1.0.7) unstable; urgency=medium
[ Stephan Sürken ]
* [44fe400] [devel]: Remove python-django-lint from installdep helper.
* [2bb2bbe] models: Set default "Days-Until-Recheck" value from 7 to 6
(works out better with cron.daily).
* [6a06f68] Builder: Don't expect buildlogs to be UTF-8 (Fixes: Build
failure with such buildlogs).
* [add889b] examples/09bug728096shmfixer: Make work again under jessie+
systems (this fixes a bug in that bug workaround which has been
triggered by bug fix for #674755 ;).
* [2e628f0] examples/09bug728096shmfixer: Harden, so it's only run when
really needed.
* [5ea7888] Add debian/mini-buildd.README.Debian (including a hint for
the shm workaround).
* [38af7d4] [devel] Update devel script to new "gbp .." call scheme.
* [b3eb016] misc.py: HoPo::test_bind(): Make work for IPv6. (Closes:
789103)
[ Ben Finney ]
* [307d472] Depend on ‘python-daemon’ 2.0.5 for new lockfile API.
* [793f229] Remove references to obsolete ‘daemon.pidlockfile’ API.
(Closes: 789089)
[ Stephan Sürken ]
* [285b0f6] Add a per-branch debian/gbp.conf, and point to 1.0.x.
* [ac3c6ff] debian/control: Remove obsolete Suggests on debootstrap
(Fixes lintian/stronger-dependency-implies-weaker).
* [59ec7cc] doc/quickstart.rst: Clarify the meaning of 'Uploader', and
describe the per-user auth workflow. (Closes: 789154)
* [c0956b1] models/gnupg.py: Prefer explicitly pasted key over
keyid/keyserver (Fixes non-intuitive behavior when keys are re-
prepared with no keyserver available).
-- Stephan Sürken <absurd@debian.org> Sun, 21 Jun 2015 16:33:51 +0000
mini-buildd (1.0.6) unstable; urgency=medium
The "Jessie Release" release.
Please also see
http://mini-buildd.installiert.net/blog/post_jessie_housekeeping.html
for some post-jessie housekeeping hints.
* [57e99e9] wizards: Add support for Ubuntu vivid.
* [1094e7a] wizards: Add support for new Debian apt keys with the jessie
release (Fixes: wheezy, jessie, sid).
* [9ffa8ef] wizards: Add support for jessie-backports and wheezy-
backports-sloppy.
* [1e43efd] wizards: Support Debian stretch (deps: needs debootstrap >=
1.0.65).
-- Stephan Sürken <absurd@debian.org> Fri, 01 May 2015 19:05:34 +0000
mini-buildd (1.0.5snap20150201103349) experimental; urgency=medium
Stable snasphot via 'experimental' during jessie freeze.
* [dcfe369] doc/user.rst: Document Bug 768046.
* [ebd2df4] debian/po/nl.po: Add dutch translation. (Closes: 767278)
* [0a2034e] debian/control: Update Stds-Ver to 3.9.6 (no changes
needed).
* [0f57f5f] control: Update debootstrap suggested version to 1.0.64.
* [51f6bd5] pylint 1.3.1: Fix two new warnings (indeed buggy code which
may lead to problems)
* [83ffe9e] config: Always sync the debconf "home" value with actual
home of an existing mini-buildd user. Thanks to Marc Haber (Closes:
774078)
* [3d1ec5f] p-d-registration: Use configured email address for outgoing
mails (instead of django's default).
* [62af2c5] p-d-registration: Workaround for p-d-registration bug
#775363: Uses wrong uid hash for django >= 1.6 (Fixes: Broken "reset
password" URLs)
-- Stephan Sürken <absurd@debian.org> Sun, 01 Feb 2015 10:34:11 +0000
mini-buildd (1.0.5) unstable; urgency=medium
* [016c59f] mini_buildd/daemon.py: Fix warning with pylint 1.3.
* [9f3d61a] [devel] "./devel all": Sleep a while until service becomes
ready.
* [2cdcffc] [devel] pylint: Globally disable W1302 (seems just wrong).
* [48d9bf7] p-d-registration: Add 'd.c.auth.urls', needed since some
django update. (Closes: 764736)
* [0aaf375] Remove the obsoleted "chroot sudo workaround". (Closes:
764617)
* [09adf78] [django 1.7] Remove "user profile" code (deprecated for good
in 1.7) (Closes: 765378)
* [a4e6e5c] sudo chroot workaround cleanup: Assure /etc/sudoers file is
present (else newer sudo may fail on upgrade) (Closes: 766191)
* [ab55bd0] control: Add dep dpkg-dev >1.17 (needed by new sbuild); also
update devscripts dep (relevant for wheezy port only).
* [e887a9a] [html] Log: Add "file browse" and PTS link for convenience.
* [8ae5176] Chroot::check(): Detect (and deny) "sudo workaround chroots"
(so they eventually become disabled automatically).
* [6e39fda] Update etamydata chroot setup default/example snippets to
also work with eatmydata >= 82. (Closes: 765641)
* [2149b13] mini-buildd.NEWS: Update/correct existing NEWS (for
upgrading 0.8.x->1.0.0)
* [0266352] control: Depend on python-debian (>= 0.1.25~). (Closes:
764595)
* [a6fa26f] doc: Add note about systemd/schroot bug 728096, and add
workaround as example script.
* [aa3757e] setup wizards: Add support for Ubuntu "utopic".
-- Stephan Sürken <absurd@debian.org> Sun, 26 Oct 2014 20:12:05 +0000
mini-buildd (1.0.4) unstable; urgency=medium
* [14cb9e5] Ubuntu wizard: Add 'old-releases' archive (raring and
quantal recently moved there)
* [646f403] *.py: Some style fixes to satisfy newer pep8.
* [36783bf] API: Fix: Make 'remove' an admin command (was: staff).
* [872562c] web: 'show': Add link for the new Debian Package Tracker.
* [d93a3af] copyright: Update years.
* [5974f4a] keyring package(sources library): Add trailing newline (for
purists).
* [aea6a07] ports: Add SHA1 of original DSC to changelog.
* [dbc9652] mini-buildd-tool: Improve help message for command
confirmation.
* [0bbe7a8] mini-buildd-tool: Also encode logs for terminal, and use
'backslashreplace' instead of just failing when recoding.
* [dfe5f71] [django 1.7] web home, status: Fix missing trailing "/" in
link.
* [ae8c326] [django 1.7] HttpResponse: Use 'content_type', not
'mimetype'.
* [4d462f1] [django 1.7] Explicitly configure MIDDLEWARE_CLASSES (using
django 1.5 default).
* [6bdf476] [django 1.7] Fixup (fix conf, call setup) doc building.
* [5daf8ea] [django 1.7] Call django.setup() after configure.
* [771acfb] [django 1.7] devel: doctest workaround (omit doctests for
django-related modules).
* [1b93738] [django 1.7] pylint: Disable two new false-positives.
* [4c78f81] [django 1.7] web/css: Don't overwrite user-tools (fixes
design breakage for Configuration). (finishing django 1.7 fixes).
(Closes: #755659)
* [4621caf] Bug fix: "[l10n:cs] Updated Czech translation of PO debconf
template for mini-buildd 1.0.0~beta.23", thanks to Michal Šimůnek
(Closes: #751380)
-- Stephan Sürken <absurd@debian.org> Fri, 08 Aug 2014 12:40:59 +0200
mini-buildd (1.0.3) unstable; urgency=medium
* [5100f3a] doc/quickstart: Update for the new keyring's "sources.list
library".
* [6de2b52] examples/ssh-uploader-command: Improve error output when 0
changes files are uploaded.
* [d39e93f] examples: Add auth logging support for ssh wrapper scripts.
* [62cd2be] [devel] Update setup/code for new pylint >= 1.2 (Fixes:
pylint check).
-- Stephan Sürken <absurd@debian.org> Wed, 04 Jun 2014 16:45:32 +0000
mini-buildd (1.0.2) unstable; urgency=medium
* [f374128] keyring package, 'APT sources library': Support the rollback
distributions, too.
* [8dd7f26] port, portext (web): Add support to 'regex-bulk-select'
distributions.
* [a23346e] Never use '/usr/share/pyshared', always use computed 'dist-
packages' path (Fixes builds with newer dh_python2).
* [316de91] Add example 'migrate-keyring-packages': Bulk-migrate keyring
packages.
-- Stephan Sürken <absurd@debian.org> Sat, 17 May 2014 10:18:30 +0000
mini-buildd (1.0.1) unstable; urgency=medium
* [d85d2d4] Add all available sources.lists to keyring packages for easy
integration.
* [33be1bd] examples/ssh-uploader-command: Add workaround to make it
work for squeeze's dput (0.9.6).
* [71b9e6f] wizards: Add support for Ubuntu "trusty".
-- Stephan Sürken <absurd@debian.org> Mon, 05 May 2014 18:26:07 +0000
mini-buildd (1.0.0) unstable; urgency=medium
Initial 1.0.x stable release.
* [b689f4a] debian/control: Needs python >=2.7 (we are actually no
longer compat with python 2.6).
* [6549ed4] debian/control: Suggest debootstrap >= 1.0.55 (this will
actually support all codenames currently in the wizards).
* [57f25e1] doc: Add raw doc for the "magic changelog lines".
* [ec1eca3] Bug fix: "[INTL:it]" (i18n update) Thanks to Pierangelo
Mancusi (Closes: #740853)
* [efad690] Bug fix: "ping mechanism still fails, this time on apt-
cacher-ng" Thanks to Klee Dienes (Closes: #740576)
* [9cd7735] doc/introduction.rst: Remove note about pbuilder.
-- Stephan Sürken <absurd@debian.org> Sun, 16 Mar 2014 17:39:00 +0100
mini-buildd (1.0.0~rc.5) unstable; urgency=medium
Fifth release candidate.
* [835f91a] examples: Add 'ssh-tool-command', may be used to faciliate
mbd-tool runs via ssh auth.
* [ccb271f] Wizard(Archive): Switch to 'archive.ubuntu.com' as default
Ubuntu archive (previous default no longer worked).
* [a07c12e] Wizard(Distribution): Really always avoid creation of
"duplicate" instances.
* [2d32524] [devel] Add tox.ini to help with emacs 'elpy' python mode.
-- Stephan Sürken <absurd@debian.org> Sun, 02 Mar 2014 13:11:15 +0000
mini-buildd (1.0.0~rc.4) unstable; urgency=medium
Fourth release candidate.
* [4650324] examples: Add 'ssh-uploader-command', may be used to
facilitate uploads via ssh auth.
* [1df2cf3] examples: Add sample 'keyringrc.cfg' for python-keyring
(used by mini-buildd-tool).
* [f8f48b1] mini-buildd-tool: Be more transparent as to what keyring
backend is actually used, and add keyring config hints (via -v).
* [3c94a36] [devel] Remove django-lint from standard check (currently
broken in sid).
-- Stephan Sürken <absurd@debian.org> Sun, 16 Feb 2014 15:14:24 +0000
mini-buildd (1.0.0~rc.3) unstable; urgency=medium
Third release candidate.
* [80703fd] Daemon: Switch default GPG keyserver to 'pool.sks-
keyservers.net' (experienced a lot of net timeouts with
'subkeys.pgp.net')
* [35a1fa7] All defaults and examples: Use '--option=APT::Install-
Recommends=false' instead of '--no-install-recommends' (compatibility,
also works for etch and lesser).
* [b9cc7f9] lintian: Avoid --suppress-tags for dists that do not support
it (<=lenny).
* [f3db7d7] Bug fix: "should include apt-transport-https if https://
sources are in use" Thanks to Klee Dienes (Closes: #733443)
* [69a9ffc] Distribution: Add 'extra option' to set custom internal apt
prio for builds. Thanks to Klee Dienes (Closes: #733257)
* [f71129b] doc: Admin manual updates; add note about eatmydata bug.
-- Stephan Sürken <absurd@debian.org> Sun, 26 Jan 2014 12:28:55 +0000
mini-buildd (1.0.0~rc.2) unstable; urgency=medium
Second release candidate.
* [3cb75bb] doc/user.rst: Fix RST blank line warning.
* [7ec39c2] control: Update to Stds-Ver 3.9.5 (no changes needed).
* [c3a5623] devel: Add docspell check; some textual code fixes.
* [06c2f26] Bug fix: "[INTL:es] updated Spanish translation of debconf
messages". Thanks to Matias Bellone (Closes: #734208)
* [d821bff] Archive: Fix mbd_ping() for archives not allowing base URL.
Thanks to Klee Dienes (Closes: #733256)
* [dc4aae2] pylint 1.0: Fixes and updates for new warnings.
-- Stephan Sürken <absurd@debian.org> Sun, 12 Jan 2014 18:38:43 +0000
mini-buildd (1.0.0~rc.1) unstable; urgency=medium
First release candidate.
* [5efd9f0] mini-buildd-tool: Fix: Don't loop "--reset_save_policy"
through to API call.
* [5806c96] mini-buildd-tool: Add --protocol={http|https} option.
* [fdc10bb] ftpd: Harden incoming against cruft/bogus uploads.
* [0cf20bf] port: Always decode unicode arg for subprocess; use
LANG=C.UTF-8 in mini-buildd env.
* [438a935] pyftpdlib: Depend on >= 1.2, remove all 0.x compat code
(Fixes: pyftpd logging, installations on wheezy).
* [a9a14e6] mini-buildd-tool: Clone the keyring logger.
* [2743967] port: Fix dsc file signing for epoched versions (port
regression introduced by [1cf513c])
* [130ebcc] [devel: Make sure './devel check' works even on a clean
checkout]
* [676071d] doc: Some ispell fixes.
* [c5ee0aa] doc: Fixes and updates for the quickstart.
* [bd0d228] Remotes: Prepare: Unset key id when downloading key data
(Fixes re-preparing of a remote (would try key server and fail))
* [657e24f] models, state: Add acton trigger 'on_deactivation', and
schedule keyring update on 'KeyringKey' deactivation (Fixes: Keyring
not changed on the fly on deactivation).
* [394ed18] Remotes keyring: Allow uploads by auto-deactivated remotes
(Fixes: Rejected builds when the uploading remote was auto-deactivated
previously, and not yet checked again)
* [7536bef] mini-buildd: Add early check if the given http port is
bindable (Fixes error handling when mini-buildd is already running).
* [f1c9027] mini-buildd: Fix typo in exception message.
* [d867ba7] mini-buildd: Add early check for multiprocessing (shm)
functionality (Fixes error handling when shm is misconfigured).
* [828c960] mini-buildd: Only run the new extra checks on proper daemon
run.
* [1a3a6c6] doc: Update remotes doc.
* [86f61f6] doc: Updates for the admin's manual.
* [57547bd] doc: Updates for the user's manual.
* [824a9b0] control: Depend on sbuild >= 0.64.1 (Fixes: Lintian not run
in the chroot)
* [e6848bd] doc: Check and update all FAQ/Todo/bug items.
-- Stephan Sürken <absurd@debian.org> Sun, 15 Dec 2013 19:04:22 +0000
mini-buildd (1.0.0~gamma.5) unstable; urgency=low
Fifth gamma, 'l10n' release.
* [32cbf96] mini-buildd: Add sanity check to avoid accidental starts by
standard users.
* [1cf513c] gnupg.py: sign(): Implicitly add newline to original file
(like debsign does too) (Fixes signed dsc files for dpkg <= squeeze)
* [d82b578] ports: Also gpg-sign the dsc file.
* [14562c9] Debconf templates and debian/control reviewed by the debian-
l10n-english team as part of the Smith review project. Thanks to
Christian Perrier <bubulle@debian.org>, Russian (Yuri Kozlov), Danish
(Joe Hansen), German (Tobias Quathamer), Polish (Michał Kułach),
Japanese (Nobuhiro Iwamatsu), Italian (Pierangelo Mancusi), Swedish
(Martin Bagge / brother), Portuguese (Américo Monteiro), French
(Julien Patriarca) (Closes: #725850, #729295, #729429, #729655,
#730063, #730481, #730523, #730538, #730648, #730803)
-- Stephan Sürken <absurd@debian.org> Mon, 02 Dec 2013 13:34:44 +0000
mini-buildd (1.0.0~gamma.4) unstable; urgency=low
* [c3cbf7b] mini-buildd.cron.weekly: Be quiet when restarting (Fixes:
Unneeded cron mails).
* [9550998] examples: Add apache-ssl-proxy.conf (apache2 SSL proxy for
mini-buildd example)
* [e2b3c6c] gpg: add_keyring(): Don't fail (just warn) when the keyring
file does not exist.
* [785d7ef] repository wizard(debdev): Add Debian keyring as uploader by
default.
* [ad7212f] logs: Minor cosmetics for exception debug logs.
* [7db87e1] ftpd: Harden incoming cruft removal (never fail but log on
errors).
* [2cacf2f] [html] Make "Retry now" look like a button.
* [02c06a3] init.d: Always start with LANG=C.UTF-8 (Fixes occasional
encoding bug when porting an "non-ascii author").
-- Stephan Sürken <absurd@debian.org> Mon, 25 Nov 2013 19:09:54 +0100
mini-buildd (1.0.0~gamma.3) unstable; urgency=low
Third gamma release. Makes it work with django 1.6, cumulated fixes.
* [d1c072b] package notify: Add 'port report'.
* [9af72fe] build: Fix prio for our own sources to 1 (was 500). Fixes 'opt-in' in builds.
* [3e546e3] chroot, distribution: Add 'origin' to display name (Fixes possible confusion when bogus/non-base sources are used like base sources).
* [c71371a] chroot+distribution wizards: Harden, make them only chose source with origin=Debian,Ubuntu as base sources.
* [86d5652] [django-1.6] Add extra django_settings module to be able to to configure _before_ any django imports (Fixes: django-1.6 settings exception on startup).
* [3786498] [django-1.6] urls.py, root_urls.py: Make imports compatible with 1.5 and 1.6.
* [b96d793] [django-1.6] control: deps: django-extensions >=1.2.5 (we now really need an updated version).
* [c460585] mini-buildd-tool: Make compatible with python-keyring >= 3.0.2.
Thanks to Sebastian Ramacher (Closes: 728471)
-- Stephan Sürken <absurd@debian.org> Tue, 12 Nov 2013 18:55:51 +0100
mini-buildd (1.0.0~gamma.2) unstable; urgency=low
Second gamma release. Cumulated minor bug fixes.
* [790e162] control: Depend on django >= 1.5.2, needed for new templatetag calls (Fixes: wrong html dist filter under wheezy when not using django bpo)
* [a8f47b5] source wizard: Fix/update apt keys for wheezy/jessie/sid
* [e30ebbd] postinst: Always set mini-buildd user's 'geco' field to a non-empty value (Fixes potential build failures where code relies on this)
* [8458cc7] changes.py: save: Don't use codec.open, deb822.dump() already handles encoding (Fixes save with non-ascii chars)
* [11d7580] builder.py: Harden buildlog2status parser (only consider known/needed keys: Status|Lintian).
* [2134fb9] changes.py: Fix code that still used '/tmp' to use mini_buildd's tmp dir.
* [09da270] daemon.py: Fix keeping keyring tmp files around between init.d restarts.
-- Stephan Sürken <absurd@debian.org> Sun, 20 Oct 2013 15:13:36 +0200
mini-buildd (1.0.0~gamma.1) unstable; urgency=low
Initial gamma release; initial upload to unstable.
* [3e16e55] html, port[ext]: Use generic templatetag for options; narrow list of dists based on context.
* [486afc3] [devel: sed s/echo/printf/g]
* [6300acc] [devel: Add some basic mini-buildd-tool calls to standard check]
* [4764a21] html(api_show): Improve rollbacks display.
* [84534fc] html(home): Minor design fixes.
* [8650b81] doc: Finish up the introduction.
* [33b237f] notify: Add subject prefix [mini-buildd-ID].
* [9659806] subscriptions: Minor display cosmetics.
* [f829bb3] api(subscriptions): Use 'choices' list for actions (Fixes auto-complete).
* [58ed076] gnupg: Fixup some implementation kludges.
* [1a27e9d] api: Add 'printuploaders' command.
* [c723e66] html(log, api_show): Cosmetic fixes.
* [fd54987] python-keyring: Workaround the 'No handlers could be found for logger "keyring"' console warning.
* [135c584] mini-buildd-tool: Add note to usage that we use python-keyring.
* Closing bugs for good due to the upload to unstable:
* Bug fix: "fails to install", thanks to Holger Levsen (Closes:
#632955).
* Bug fix: "fails to install", thanks to Holger Levsen (Closes:
#656746).
* Bug fix: "unowned files after purge (policy 6.8) violating FHS (policy
9.1) too", thanks to Andreas Beckmann (Closes: #660939).
* Bug fix: "creates system user in /home", thanks to Andreas Beckmann
(Closes: #677618).
* Bug fix: "When removing distributions, LVM volumes are not removed",
thanks to Stephan Sürken (Closes: #617673).
* Bug fix: "no space left on device if build needs mor then 4GB disk
space", thanks to Ulrich Goettlich (Closes: #607189).
* Bug fix: "Please add option not to use LVM with schroot", thanks to
Jean Stebens (Closes: #612310).
* Bug fix: "please make crypto key parameters configurable", thanks to
Marc Haber (Closes: #633074).
* Bug fix: "please consider prioritized bld hosts", thanks to Marc Haber
(Closes: #638301).
-- Stephan Sürken <absurd@debian.org> Sun, 06 Oct 2013 18:55:09 +0200
mini-buildd (1.0.0~beta.22) experimental; urgency=low
22nd beta release. Cumulated minor bug fixes, re-work
mini-buildd-tool creds/args handling, more convenience changes.
[ Stephan Sürken ]
* [f185904] source: Add reverse deps. for Archives.
* [a331ec6] models: Use non-lethal dependencies flag for all actions (not just check).
* [4333220] configure: Add convenience "PCA" action (prepare, check, activate).
* [4282e18] Distribution: Enable 'eatmydata' and 'ccache' by default.
* [619dda3] Add meta call pca_all (internal testing, auto setup).
* [fccbb4f] check statuses: Improve the "check" status display, and show check status on home directly.
* [355675a] misc.py: Add UserURL helper class.
* [e4d6a8c] mini-buildd-tool credentials: Allow URLs with user embedded, and allow store for multiple users per host.
* [965e0d9] mini-buildd-tool credentials: make list/clear accept regexes (instead of acting on all).
[ Gerhard A. Dittes ]
* [4045ee9] doc/mini-buildd-graphics.svg: Add new drawing "progress".
* [3693505] Add image "progress_blue.gif" (thought to be used for blue [header] backgrounds).
[ Stephan Sürken ]
* [7aa7149] Add example script: auto-setup.
* [bbc26d3] html(home): Add progress eye-candy.
* [d1aff94] getsourceslist: Always add trailing newline.
* [82b950e] mini-buildd-tool credentials: Save after successful login.
* [f5e22e8] configure: Add a convenience 'PC' action.
* [7ee8d6c] mini-buildd-tools credentials: Add --login, --reset, always save, never save.
* [54f12cb] mini-buildd-tool: Make HOST mandatory first positional.
* [795ed44] api(stop,start): Add newline for plain output.
* [e8271fd] devel: Add mini-buildd-tool to pep8 test.
* [105e7b6] mini-buildd-tool: Allow daemon id only as HOST.
* [7f9bcef] repository 'debdev' wizard: Only add the 'sid' distribution.
* [e154177] mini-buildd-tool credentials: Switch to python-keyring as creds store.
* [a4b6e64] examples: Add "dput-wait-for-build" script.
* [22f069e] control: b-d on python-argcomplete >= 0.5.4.
* [7d5e552] API: Allow multiple key arguments per HTTP GET (allows for multiple select forms).
* [49d8789] portext/html: Allow multiple to-distributions.
* [0e9a2a1] html: Add js dir and initial mini-buildd.js to static files.
* [422756e] port/html: Allow multiple to-distributions (on api_show page).
* [9c07067] home(html): Use common js.
* [d62e3fe] html/static: Use dir layout like django admin.
* [3991366] html: Clean up repo overview & home; put portext to home.
* [4877079] builder: sbuild: Use '--force-orig-source' directly (not '--debbuildopts=-sa').
* [a58337a] debug mode "keep": Use generic function, add more files to keep.
* [2217572] doc/quickstart.rst: Using repo: Add missing 'apt-get update'.
* [a4e6458] builder+packager: Install dsc directly, don't include source in arch-all builds any more.
-- Stephan Sürken <absurd@debian.org> Sun, 22 Sep 2013 18:23:13 +0200
mini-buildd (1.0.0~beta.21) experimental; urgency=low
21st century 'docs and fixes' release.
* [dc1c1c2] AptKey: Skip "existing key" validity check when key_id is empty (regr: re-enables AptKey creation without keyserver).
* [75514d7] doc updates
* [20b86c9] [devel: Add convenience 'doc' target]
* [d22c76d] api:retry: Fix typo in usage.
* [e7dc2af] API: Add command "getsourceslist".
* [a10c8de] doc: Updates for Quickstart.
* [33838a3] [Cosmetic for distribution display]
* [aae178d] source.py: Handle "absolut" sources (w/o components or architectures) gracefully.
* [061f796] doc/user.rst: Add default layout semantics.
* [2057733] doc/quickstart.rst: fix profile link.
* [6a23bd8] source.py: Don't warn (just info) when codeversion override is set (as we now set it ourselves when guessed).
* [e11e3ce] mini-buildd: Add note about the extra HOST-MainThread-PID files from pidlockfile.
* [7da6af2] configure: repo+dists wizards: Only ass for active base sources.
* [6e717a2] configure: repo wizard 'sandbox': Allow unauthenticated uploads per default.
* [bf786bb] configure: PrioSource wizard: Add all non-base sources (not only *-backports).
* [6c2d401] API: Order and group API commands for convenience.
* [8fc6bc2] configure: Proper error message for activate() when not prepared.
* [ce6c9e4] daemon check(): Never fail, and run all dependency checks.
* [09563c0] debian/control: Add Homepage URL.
* [14b8b28] doc: Add extra FAQ section for todo/faq/bugs in ech section.
* [d85d4ba] doc/admin.rst: Some updates...
* [a100ba4] chroots: Add workaround debootstrap wrapper for <=lenny chroots under new sid/jessie-like versioned kernels.
* [2cf89d5] configure: Don't implicitly auto-stop daemon on instance changes or activation.
* [0c83849] gnupg: Revert one previously added validity check (broke remotes).
* [94e72e9] remotes: Pimp up check and failover handling.
* [283ffaf] status models: Fix: Run 'on_activation' hook also on re-activate.
-- Stephan Sürken <absurd@debian.org> Sun, 01 Sep 2013 18:08:14 +0200
mini-buildd (1.0.0~beta.20) experimental; urgency=low
20th 'longest beta ever' release. Fix for django 1.5.2 and more.
* [ecf9580] test packages: Update changelogs.
* [da080c0] keyring builder function: Minor improvements.
* [ded3321] api_show.html: Fix the pool dir link to always end with "/".
* [0634295] examples/packages/mbd-test-ftbfs: Fix autotool setup.
* [905f79d] examples/packages: Add strapped autotools files so the DSTs can be used as-is.
* [aa444ee] Add support to directly build our internal test packages on the home page.
* [d73ddb9] mini-buildd.css: Sync colors for 'Prepared' with the configure pages.
* [78b1e13] httpd: Directory index: Use '301 Moved Permanently' for requests without trailing "/" to make them work as expected, too.
* [25e06c2] webapp: Import django.contrib.auth in method: Fix breakage with django 1.5.2 (sigh).
* [1f94b37] source.py: Add msglog support for release file check.
* [66909fe] source.py: Improve error diagnostics for check().
* [2c47f07] examples/packages.testbuild: No need to run autoreconf any more.
* [9418650] sources wizard: Update all predefined apt keys to long key ids.
* [b55420e] gnupg.py: Harden/sanitize gnupg key model's user input.
* [6b50080] configure: Sources wizards: Some magic to avoid creation of duplicate apt key instances.
* [e833d08] [devel: Trap changelog cleaning, so it's done on errors too.]
* [c033973] doc: Cumulated manual updates.
-- Stephan Sürken <absurd@debian.org> Mon, 19 Aug 2013 14:38:52 +0200
mini-buildd (1.0.0~beta.19) experimental; urgency=low
Nineteenth beta. Setup look, feel and usability improvements, fix for new
pyftpdlib 1.2 in sid, and more.
[ Stephan Sürken ]
* [9e786a6] [code] Consistent naming for admin html 'snippet_*.html'.
* [c41bc0b] Add some wizards (setup helpers) on the admin index page.
* [9081886] devel: Add convenience 'installdeps' target, plus a little Quickstart doc.
[ Gerhard A. Dittes ]
* [42cc081] mbd_wizard.png: Improved.
* [10a21f2] mbd_wizard.png: Improved once again.
[ Stephan Sürken ]
* [b3d9661] html: Improve admin configuration index page design yet more.
* [fd539b0] source display text: Show used archive, skip description.
* [f90cd59] devel: Improve the unicode string test (fixes false-pos. for s.th. like "xyzu")
* [a67ecdb] configure: Add Ubuntu archives and sources "wizards".
* [5acb39e] html: Some '<br/>' to '<br />' fixes...
* [3eeae7d] devel: doctest check: Also run for all models/*.py.
* [fec456f] source model: Pimp 'codename' field so you can also express a different release file codename (Fixes Ubuntu backport sources).
* [3741070] configure: Implement layout/suite defaults as "wizards".
* [45a1704] schroot fstab: Add configurable file fstab-generic, and sync defaults with sbuild's (adds pts+shm mounts, fixes builds that need that).
* [8a3b839] rules: dh_test: Honor DEB_BUILD_OPTIONS 'nocheck' flag.
* [d14300c] devel: Support 'update_nocheck' target.
* [f780edf] repository: Change 'identity' default to 'test' (was `hostname`).
* [c1a52f3] templatetags/base.py: Simplify the daemon_is_running tag as filter.
* [487aecb] [code] Add generic mbd_get_or_create Model class method, cleanup code.
* [3de3bc1] Daemon: Keyrings: Properly use set_needs_update with start/stop (Fixes: Keyring not updated on start() after initial configuration).
* [dc34e2d] examples/packages.testbuild: Add jessie.
* [97e4f39] devel: Remove/fix some no longer needed/outated code.
* [4ab1dda] configure: Add instance/status counts in overview; page cleanup.
* [dc4429f] configure: Also show number of status=Removed instances in overview.
* [b712856] configure: Add chroot creation wizards.
* [b152cad] models/daemon.py: Fix warning text.
* [2cb9d5d] pyftpdlib: Support new version 1.2.0 (Fixes FTBFS/breakage on sid).
* [81cacdb] configure: Add 'Help' jumpers to admin manual.
* [0eb6a19] doc/admin.rst: Add strange lvcreate "can't clear device" bug.
* [ce25ded] devel: Fix debconf settings.
* [4f2c5ae] [source.py: Fixup some docstrings.]
* [bd15195] [models: Better name for sync_by_purge_and_create: remove_and_prepare.]
* [ed1f2a5] webapp: Set django loglevel from mini-buildd loglevel.
* [c6f4a56] models/base.py: Some cosmetic finetuning on the action messages.
* [9052900] Sources: Move the archive check code from prepare to check (Fixes: Won't find new archives without remove).
* [1b2eb9f] [code: Move architecture help functions to model Architecture.]
* [4b1183c] configure: Add Distribution wizard.
* [0fd1516] configure: Add repository wizards for sandbox ("test") and developer ("debdev") repos.
* [acdb9be] doc/admin.rst: Add note about the deboostrap/uname 'bug'.
* [0a82a36] configure: Distribution wizard: Use predefined default components for different Origins (currently only Debian and Ubuntu).
* [c09346a] Add weekly cron to restart mini-buildd (trigger maintenance)
* [8cd13bf] Source: Use extra_options to be able to add arbitrary release fields where needed (and support these fields for source pinning).
* [0bc12e2] release view: Make django/web not fail in case our custom templatetags raise exceptions.
* [b209e03] builder.py: Show APT policy in build logs (apt-cache policy).
* [c6ed41d] configure: Use 'filter_horizontal' for all editable ManyToMany fields (much more usable).
* [949d96b] models: Skip extra mbd_unicode() setup (with model name, status always added): Code is non-intuituve, and the display actually more confusing than helping.
* [0b2e0c3] models: Beautify display texts for Daemon, Distribution and Source.
* [92071a4] api: Add new flag NEEDS_RUNNING_DAEMON (avoids confusion with retry, port, portext when daemon is down).
* [983cec7] Move keyring package generator from Django admin action to mini-buildd home.
* [425ab93] configure: Distribution wizard: Also auto-guess prio sources.
* [6299b9b] misc.py: Fix guess_codeversion heuristic for new point release versions since wheezy.
* [e548411] source: Set coderversion_override afte codeversion guess.
-- Stephan Sürken <absurd@debian.org> Sun, 11 Aug 2013 21:55:24 +0200
mini-buildd (1.0.0~beta.18) experimental; urgency=low
* [bd61cc5] packager: Fix error handling for bogus changes files.
* [8fa5ae9] httpd.py: Cosmetic fix for cherrypy logs.
* [2c97e7e] cleanup for debug modes: Add 'http' mode, rename 'django' mode to 'webapp', add global foreground flag.
* [2e37d38] httpd.py: Teach cherrypy to serve dir indexes; enable for log and repo browsing.
* [3c81856] api(show): html: Add "browse pool" link.
* [4d229f4] notify: Always mail uploader when no repo could be recognized (Fixes: No error mail on common "wrong dist" error).
* [5caefbb] daemon: Keyrings(): Make work even if daemon model is yet unconfigured (Fixes: not starting up).
* [6bd955c] cherrypy: Only log on_screen if foreground _and_ debug is set.
* [557031f] cherrypy: Use automatic engine stop on exit (Fixes: no shutdown on early daemon errors).
* [20abf8b] cherrypy: Avoid config check warning on unicode host string.
* [104984c] [code] setup.py: Fix some more inconsistent single-quote "'" string quoting.
* [5e47aca] mini-buildd: Add '--pidfile' support (will make start/stop more reliable).
* [ea75cda] init.d: Update to new '--pidfile' support, add 'status' target, cleanups.
* [fe1161c] logging: Improve error reporting for exceptions that appear while logging is set up.
* [242dbde] daemon.py: start(): Improve message when daemon is deactivated/unconfigured.
* [3205492] models/daemon.py: Fix leading newline at GnuPG template default.
* [03780ed] remotes, users: Allow changes on the fly (schedule keyring update on changes instead of stopping daemon).
-- Stephan Sürken <absurd@debian.org> Sun, 14 Jul 2013 13:53:29 +0200
mini-buildd (1.0.0~beta.17) experimental; urgency=low
Seventeenths beta. Adds bash completion support + the usual treat of
smaller fixes.
* [15e246d] Add bash completion for 'mini-buildd' and 'mini-buildd-tool' (via python-argcomplete).
* [5a7f118] debian/rules: Don't run in DH_VERBOSE mode hardcoded.
* [fda1b31] Document encoding bug, and try yet another proposed workaround.
* [a941c91] html: Renice user subscription handling.
* [305f831] keyrings: Use dedicated Keyring class to manage the "global" GnuPG keyrings.
* [be058be] daemon.py: _More_ temporary debug to catch encoding bug.
* [5be17c2] mini-buildd-tool: Fix 'login' detection for new API commands.
* [3c6d308] api.py: Make independent from any django includes (Fixes: mini-buildd-tool fails w/o python-django installed)
* [8ca5a13] misc.py: CredsCache/web_login: Add "last url" support && general pimp up.
* [4f84349] mini-buildd-tool: Improve user friendliness on creds handling.
* [b82ead0] cherrypy (log) setup: Add extra access.log, set production config values, fixes wrong 200 OKs on error.
* [e3299cd] [code] Mass fix a number of inconsistent single-quote "'" string quoting.
* [66949b9] cherrypy: Also deliver *.dsc as text/plain.
-- Stephan Sürken <absurd@debian.org> Sun, 30 Jun 2013 18:44:53 +0200
mini-buildd (1.0.0~beta.16) experimental; urgency=low
Sixteenths beta. Fix two blockers...
* [a222820] django 1.5: Set ALLOWED_HOSTS to '*' (omg). (Fixes any http requests when not started with --debug=django).
* [4dc1ecb] api.py: Fix broken code in __getstate__ (Fixes api calls with output=python).
-- Stephan Sürken <absurd@debian.org> Mon, 10 Jun 2013 16:57:04 +0200
mini-buildd (1.0.0~beta.15) experimental; urgency=low
Fifteenths beta. New "setuserkey" command, minor usability fixes, and
more.
* [14715b4] notify: Fix typo in get_subscriptions() (Fixes subscriptions with dist != "").
* [3809641] notify: Use actual distribution (instead of changes' distribution) where available (Fixes subscriptions on non-uploadable dists).
* [743741c] api(start,stop): Change needed auth to "ADMIN" (was "STAFF").
* [7bb0f47] api(list): Change needed auth to "LOGIN" (was "NONE").
* [8c67c79] api(logcat): Change needed auth to "STAFF" (was "NONE").
* [0502d98] control: Update Std-Ver to 3.9.4 (no changes needed).
* [054bae8] templates: Fix "notes" template, and update po files.
* [baf0b87] migration: Fix wrong call of package_find (Fixes rollback handling on migrate())
* [77e8abe] notify: Include msglog in top of mail bodies.
* [e710ded] api: Add info message about api call + user before any run.
* [58f7790] uploader: Improve default display.
* [481a648] mini-buildd-tool: Use '[HOST] MSG' format for daemon message output.
* [4bfe8e2] html: Some w3c fixes for p-d-registration 0.9.
* [fdb943b] api/html: Add "setuserkey" API command -- let user set its own public key.
-- Stephan Sürken <absurd@debian.org> Sun, 09 Jun 2013 18:42:01 +0200
mini-buildd (1.0.0~beta.14) experimental; urgency=low
Fourteenths beta. Wrap up for django 1.5+p-d-registration (now in
experimental).
* [720f7ae] unicode: Always use codecs.open(), not open() (might fix some spurious encoding problems).
* [43dd341] httpd: Deliver *.changes as text/plain, not text/html.
* [6c74932] encoding: Use setup.CHAR_ENCODING global const (to set UTF-8).
* [ebeb648] html(registration): Fix some w3c quirks.
* [fcf4488] views: Fix missing msglog on error pages.
* [1690eca] html(api::show): Nicer error handling for api calls.
* [e17dd8f] [daemon.py: port code: Add some temporary debug code for rare/random mysterious encoding exception.]
* [d76284f] control: Update version for py-reg to 0.9~.
-- Stephan Sürken <absurd@debian.org> Sun, 02 Jun 2013 13:42:35 +0200
mini-buildd (1.0.0~beta.13) experimental; urgency=low
Thirteenths beta. Make it work for django 1.5 and other fine fixes.
NOTE: Will only really work with 1.5 when this is fixed: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=709622
* [6e9da53] debian/control: Argl: for mini-buildd.deb also: Depend on python-django-registration >= 0.8.
* [a5ae5ab] mini-buildd.prerm: Improve comment wording why we remove chroots on remove, not purge.
* [dc0cce5] django 1.5: Replace deprecated adminmediatags taglib and media_prefix by STATIC_URL.
* [24d0c3a] django 1.5: Fix usage of 'url' tag.
* [974a991] python-registration: Don't use deprecated default url include.
* [bbee152] django 1.5: Use "dist-packages" path for django's admin static files (Fixes: jquery static files).
* [667e437] html(api::list): Fix per-repo box boundary.
* [d453c5e] django 1.5: pylint: Globally disable E1002 (too many false-positives with django 1.5).
* [de9f256] daemon: Protect start/stop with a lock, and show busy state in html when locked.
* [c0f48af] notify: Move smtp (email) config from daemon model to '--smtp' command line arg.
* [ff8afab] [devel: Cosmetic fixes.]
* [a3a97d1] doc: Add note about sbuild bug 706086.
* [066c58c] notify: Add signature for all notification mails.
-- Stephan Sürken <absurd@debian.org> Sun, 26 May 2013 18:22:41 +0200
mini-buildd (1.0.0~beta.12) experimental; urgency=low
Twelfths beta. Beside the usual fixes, this adds user
registration+subscription support and some yet chroot/repo maintenance
code.
* [98b87dc] StatusModel/check: Support a 'maintenance' hook, to be run after N days.
* [9b5f55e] text: Improve wording on check exception.
* [ed0de44] [devel: Add __test_msglog test/debugging method.]
* [08700bc] chroot: Add "update+upgrade" maintenance.
* [8030e27] html(admin.css): Copy/paste 'messagelist' setup from mini-buildd.css (Fixes debug msgs display in configuration).
* [078113e] repository check: Show reprepro's 'check' command output.
* [ff77998] repository: Add "obsoleted pkglogs removal" maintenance.
* [cd82522] misc: call with sudo: Always use "-n" (non-interactive) flag.
* [37157af] chroot: Add "fsck" maintenance (for LVM-backended chroots).
* [a4c5cf1] check: Integrate maintenance code into "check".
* [3049270] templates: Move mini_buildd/base.html to '..' (so it may also be used by other apps).
* [baca33c] Integrate python-registration (user-based account management).
* [4c77e5c] creds auth: Use python-registration account login (Fixes: Only 'staff' login works for mini-buildd-tool)
* [cd0a73b] api: Support 'login', 'staff' and 'admin' auth types for commands (previously, only 'staff' was possible).
* [035a2a6] api: Add user-based package subscription support.
* [8f4ea1a] html: Integrate user package subscription.
* [309aecd] reprepro: Show command being run in output for migrate, remove and install.
* [691102f] chroot: WTF! Gnome3 breaking mini-buildd ;). Fixed.
* [0f2e44c] notify: Switch to django's build-in email support, avoid duplicate mails and apply regex-filter on automatic addresses only.
* [4f10746] notify: Switch to send_mass_mail (one mail per recipient, no CC spam).
* [212130b] notify: Actually add support to email user package subscribers.
* [fc0cd1f] repository: Fix dsc url for packages with epoched version (Fixes dsc link and internal rebuilds for such packages).
* [e28e591] debian/control: Depend on python-django-registration >= 0.8 (older version would force us to use the extra "site" infrastructure).
-- Stephan Sürken <absurd@debian.org> Mon, 20 May 2013 18:43:49 +0200
mini-buildd (1.0.0~beta.11) experimental; urgency=low
Eleventh beta. Cumulated smaller fixes.
* [eb03c81] api(logcat): Push default lines shown to 500 (was 50).
* [3a868bf] Regr from beta 10: Broke changelog parsing for python-debian > 0.1.19 (i.e., sid).
* [c39368f] doc: Add examples/README.
* [1b636a2] changelog: Try to find an _existing_ version for 'dpkg-genchanges -vX' whenever possible (Fixes: all blocks from changelog used for some ports).
* [844890a] packager: Fix magic automatic ports for changes with meta-distributions.
* [2854b02] debian/rules: Run python doctests (dh_auto_test).
* [e28ab71] configuration: Also stop daemon on object activation (Fixes wrong daemon state after change/start/activate cycle (and some code redundancies))
* [5d151cb] changes, packager: Fix code wording: archive->pkglog.
* [d4ba48a] ftp/incoming: Support cruft file removal (on daemon start).
-- Stephan Sürken <absurd@debian.org> Sun, 28 Apr 2013 19:56:48 +0200
mini-buildd (1.0.0~beta.10) experimental; urgency=low
Tenth beta. Improved notify (email) support, meta distributions, and yet more
cumulated smaller fixes.
* [f3244fc] defaults: Code cosmetic: Don't explicitly set default values.
* [d684052] model stati: Improve human-readable "last changed" status wording.
* [28247eb] doc/user.rst: Add note about lintian being run from host.
* [0507cab] Layout: Support for (global) 'Meta-Distributions' (allows to configure uploads to distributions like "unstable").
* [acd69c6] misc: Abstract access to package logs via new 'PkgLog' class.
* [37a474a] examples/packages.testbuild: Use unstable as default suite.
* [224a50b] notify: Fix: Actually use configured 'email_address' as FROM address.
* [4f261b6] notify: 'body' arg now just (unicode) string (not MIMEText) (moves all email related code to mbd_notify() method).
* [f9352dc] notify: Use generic format for package-style notify subjects.
* [ef753e4] notify: Add support for package migration and removal.
* [0a26243] notify: Add magic to find the correct original 'Changed-By' (for automated ports).
* [ab06495] mini-buildd-tool: Remove support for 'X-Mini-Buildd-Error' HTTP header (was already generically replaced by 'MsgLog' HTTP headers).
* [c07a98a] api(show,list): output=plain: Fix newline handling with multiple repos.
* [1aaa0c3] MsgLog: Use base64 to transfer logs via HTTP header (fixes possibly non-ascii log lines).
* [98bac26] MsgLog: Implement missing log() method, and fix exception() method.
* [63cf639] MsgLog: Add support for api(install,remove) and notify.
* [22069e8] daemon: Change "smtp" default to 'localhost:25', not fqdn:25 (works for the default exim4 install).
* [57268b3] keyring package: Support key removal on package removal.
* [18e7939] html(admin): Update "daemon stopped" warning message and restart link.
* [1685ac1] changes: Fix: Some files not deleted from incoming (regression introduced with [18730f7]).
* [bbe6660] html(api_show): Convenience: Use selector for distribution to port to (not bare text).
* [3dd8942] api(portext): Add external URL to changelog.
* [d3a0401] tmpdir: Support "keep" debug options for port tmpdirs also.
-- Stephan Sürken <absurd@debian.org> Sun, 21 Apr 2013 21:35:59 +0200
mini-buildd (1.0.0~beta.9) experimental; urgency=low
Ninth beta. Cumulated minor bug fixes.
* [30faee4] html: chroot: Beautify/improve extra_options help.
* [40ad88d] source.py: Fix typo/regression from the 'MsgLog update'.
* [4f937c6] Distribution: Update/fix hint how to set up 'eatmydata'.
* [ea68a13] Daemon: Pimp up last packages/builds default value to 100 (was 30).
* [3605362] Daemon.py: Fix last packages/builds not persisted on model change.
-- Stephan Sürken <absurd@debian.org> Mon, 01 Apr 2013 22:43:42 +0200
mini-buildd (1.0.0~beta.8) experimental; urgency=low
Eights beta. Two bug fixes.
* [dc45687] html(log): Add link to download 'changes' directly.
* [209d476] changes: Fix: Get 'magic' flags from top level changelog entry only.
* [82f3b00] migrate,remove: Fix a couple of places where 'version' arg was not looped through (Fixes: Migration of packages w/ mult. versions).
-- Stephan Sürken <absurd@debian.org> Sat, 16 Mar 2013 11:51:08 +0100
mini-buildd (1.0.0~beta.7) experimental; urgency=low
Seventh beta. New 'start'/'stop' API commands, web app usage
improvements, and some more bug fixes.
* [4eebc14] doc: Updates for the admin manaul.
* [90fc7ff] status: Decouple daemon start/stop status from Daemon models "active" status.
* [651d804] api: Add output type "referer" (allows to improve web UI on API calls).
* [3c0766a] Add new module "msglog" to cope generally with logs that are also user messages.
* [bf29d06] html: Embed django messages in all mini_buildd pages.
* [067cd74] daemon.py: Some cosmetic fixes for pylint 0.27.
* [77e0c11] daemon.py: start/stop(): Update code for customized log.
* [b80c4a7] api: Upgrade to MsgLog and remove code redundancies.
* [1c18d4d] pickle: Always pickle with the highest protocol (status, last*, user creds).
* [92051f9] mini-buildd-tool: Improve/fix magic when to char-encode to preferred user char encoding.
* [8b72ef7] api(mini-buildd-tool): Fix positional argument names separated by hyphen (f.e. "to-distribution" is now "to_distribution").
* [ad2c026] http(api): Update to msglog support for the error case.
* [e631205] api: Upgrade all cmds to msglist.
* [2e6ab5c] html: Put getkey API call to footer, replacing top level "Archive Key" button.
* [e72c30f] html: Add API usage reference index.
-- Stephan Sürken <absurd@debian.org> Sun, 10 Mar 2013 21:06:41 +0100
mini-buildd (1.0.0~beta.6) experimental; urgency=low
Sixth beta. Some bug fixes; new "retry" command and updates for logs.
* [f157f33] builder: BlockQueue: Include pending items in 'load' computation (Fixes/Improves buildrequest distribution).
* [3724889] examples: Add 'schroot-cleanup' example script (remove code from ./devel).
* [733ab5f] chroots: On debootstrap, generate and use keyring from associated source to authenticate archive (General fix; especially fixes etch chroot prepare under sid).
* [8919572] doc: Updates for the admin manual.
* [533a27f] ports: Always include last two changelog blocks in changes.
* [ee76269] html(logs): Also show changes.
* [60e8908] packager: Purge '_failed' logs when the same package version succeeds.
* [18730f7] logs: Only archive changes and buildlogs for "installed" packages.
* [900cb28] API: Add "retry" command, and add call support to log.html for failed package versions.
-- Stephan Sürken <absurd@debian.org> Sat, 23 Feb 2013 17:12:55 +0000
mini-buildd (1.0.0~beta.5) experimental; urgency=low
Fifth beta. Bug fixes/convenience only.
* [3b25f54] html/css: Fix 'logo click area'.
* [940c7ca] debian: Improve default file's debconf handling.
* [0d9fe91] daemon.py: Add DebianVersion class to abstract (port)
version generation (Fixes: Auto port version for +2,3,4 revisioned
packages).
-- Stephan Sürken <absurd@debian.org> Fri, 15 Feb 2013 14:52:59 +0000
mini-buildd (1.0.0~beta.4) experimental; urgency=low
Fourth beta. Mainly initial efforts of the manual (re)write;
already includes a fixed basic structure, plus a heap of docs
dumped in as FAQ-like items; hth, though it's not nearly
finished yet.
* [8bfa4cc] setup.py: Use 'sphinx-apidoc' when available.
* [fecf632] Add initial proper documentation (main structure, intro, admin and user manual).
* [e1797a5] debian/rules: Add (inactive) snippet to create latex/pdf docs.
* [bc93b4b] html: Add user log-in information to every page (right-top).
* [149f01a] doc: Make logo work when docs are viewed stand-alone.
* [0e38c00] doc/text: Agree to use 'mini-buildd' not 'Mini-buildd' everywhere.
* [392f809] status: Phase out some more glitches.
* [9ff4ba9] Wording change: Unprepare(d) -> Remove(d). We also use even more colors now...
* [0f06eda] Add default layout without rollbacks.
* [885c2f1] BlockQueue: Add support to show number of pending items (affects builder status box title).
* [34df94c] doc: Add FAQ entry for foreign chroot creation; add needed packages to Suggests.
* [39be56c] devel: Add "doc" target.
* [8bc1dc4] doc/admin.rst: Add glossary example.
* [3c93949] debian/mini-buildd.postinst: Allow "/" in custom mini-buildd options.
Thanks to Tzafrir Cohen (Closes: 699086)
* [0bd3b58] .pylintrc: Update generated members exceptions.
* [33f6941] Users: Handle possibly missing uploader profile gracefully.
Thanks to Tzafrir Cohen (Closes: 699196)
* [2413d72] buildrequest: Detect missing files from dsc early (improvement+workaround for stalled sbuild)
* [519bbbb] doc/introduction.rst: Mostly finished.
-- Stephan Sürken <absurd@debian.org> Sat, 09 Feb 2013 11:37:52 +0000
mini-buildd (1.0.0~beta.3) experimental; urgency=low
Third beta. Convenience release: Status handling improvements, some eye
candy and more.
* [bebb9ca] html(home): Improve active package/builds status.
* [2804ef7] Make builder/packager top level logic more fail-safe on item clean up.
* [13ce63a] misc.sose_call(): Log call output in case of error.
* [24a8f85] api(status): Show active packages and builds.
* [160ecb6] api(list): Add arg '--distribution' to regex-limit on dist; add "Component" to the displayed items.
* [8985396] api(migrate,remove,port): Add (optional) arg '--version', and generally handle multiple per-dist package versions (via components).
* [3caecef] Improve display name for Distribution, Repository and Remote models.
* [8160a4f] Daemon, Suite, Repository: Add regex-validation for resp. model identities/names.
* [edd51f8] html(home): Renice Repository/Chroot/Remote lists.
* [02ebd2a] Repository: Forbid changing identity on an existing instance.
* [19024e3] models: Make instance display strings more generic, and better (tm).
* [c675911] html/css: Add colors for admin actions (activate, unprepare, deactivate).
* [01ca74f] misc.py: log+doc cosmetics, add meta func dont_care_run().
* [c90153f] remote: Add chroots to display name.
* [e7112ad] mini_buildd/packager.py: Fix wrong syntax on exception text format.
* [1a94a72] Improve status model handling (Fixes long waits on start-up, some possible status glitches).
* [272dd60] reprepro: Avoid parallel reprepro calls (Fixes possible locking errors).
-- Stephan Sürken <absurd@debian.org> Wed, 30 Jan 2013 17:11:36 +0000
mini-buildd (1.0.0~beta.2) experimental; urgency=low
Second beta release. For the most part miscellaneous cumulated bug
fixes.
* [2290bbe] examples/import-08x: Add 08x importer script.
* [c9dd542] api+webapp: Some code cleanup.
* [769bad8] reprepro: Allow udeb packages to be installed.
* [4f4e447] archives+sources: Add convenience actions to add local and well-known Debian archives, well-known Debian sources.
* [1e28b62] debian/control: Ensure 0.8.x *-common package is really gone when mini-buildd 1.0 is installed.
* [2854685] distribution: Change default resolver to "aptitude" (was: "apt").
* [355893e] builder: Use env. DEB_BUILD_OPTIONS='parallel=N' instead of 'd-p -jN' (Fixes: Builds for <= etch).
* [9ac9f56] source: Improve codeversion guesser (Fixes: Wrong guesses for '4.0r8' (<=etch) revisioned point releases).
* [fa09283] source: Workaround for strange django 1.4.3 behaviour (Fixes: Adding new sources with django >=1.4.3).
* [4aa25b4] Enforce 'directory' notation (exactly one trailing slash) for archive URLs (Fixes: Possible duplicates).
* [9bcd871] devel: Better check for needed extra check progs (Fixes: 'check' not failing if appr. progs not installed).
* [ee0fa83] packager: Add extra pre-check to assure version > current in the dist to build for.
* [b0ce846] html: Another round of w3c conformity fixes.
-- Stephan Sürken <absurd@debian.org> Fri, 11 Jan 2013 10:26:16 +0000
mini-buildd (1.0.0~beta.1) experimental; urgency=low
Initial beta release. Many fixes, but also two important new features:
- API, usable via web or command line tool; splits Debian package
'python-mini-buildd' (user client).
- Port code rewrite (enabling rebuilds, internal ports, external ports;
fixes dependency on source deps).
Detailed dch changes below:
* [3ac38c7] Add command line client "mini-buildd-tool"; move 'mini-buildd' daemon to sbin/.
* [6aa4181] .pylintrc: Don't print info messages for in-code-disabled warnings.
* [dfb18e9] Remove obsoleted and outdated files: debian/99mini-buildd, debian/TODO, debian/NEWS.Debian, debian/README.Debian.
* [bb05806] Rename NEWS to package-specific mini-buildd.NEWS.
* [559cdf9] debian: Split package in 'mini-buildd' and 'python-mini-buildd'.
* [bdb883b] debian/setup: Fix doc and manual generation and installation.
* [55ea3eb] httpd.py: cherrypy: Explicitly disable engine autoreload.
* [004a5e1] misc.py: Add CredsCache() class and web_login() function (for later use in mini-buildd-tool command line client).
* [8a8b2bc] views.py: Bugfix: Return correct HTTP error status for custom 403,404,500 handlers.
* [50bedb3] misc.py: Renice console logging: Use one-char level name (D: debug msg, E: error msg).
* [0827364] misc.py: Use dedicated class 'misc.Distribution' for dist string parsing.
* [9ba4f18] [devel] .pylintrc: Some more adjustments.
* [e5c5e9c] Fix buildlogs paths to: REPOID/[_failed/]PACKAGE/VERSION/ARCH
* [375a7a4] daemon.py: Do not run check on startup unless daemon is active or on auto_reactivate.
* [2881ed4] Implement Web API.
* [cb20687] Default layout: Add 'snapshot' suite.
* [acfd29c] API: Implement confirmation (remove and migrate).
* [b0b51f1] css, templates, templatetags: Fix prefix from "mb" to "mbd" (sync with the used python code prefix).
* [04e7b28] Update/beautify some web icons.
* [9146656] .pylintrc: Relaxing regex for functions.
* [f1fc23e] install(), remove(), migrate(): Fix corner cases, improve web GUI.
* [3ba893c] API http status: Use 405 (not 500) when syntax-correct call fails.
* [8ad32dd] Auto-rotate daemon log file.
* [1fa99f6] views.py: API: Fix char-encoding for text/plain output.
* [fd2a1d7] api: Add "logcat" call.
* [0a11a88] remove some obsolete debug output.
* [dd6fe71] Add api_show() link to last_packages.
* [8a0b2d5] API: Add "port" call.
* [3790efc] api_show: Add dsc url.
* [6900c08] api.py: list: Add '--type' arg.
* [9927e58] api/web: Generically allow call refining with all api call args.
* [a34966f] status: chroot list: Use codename first, then arch.
* [b4a6390] calls: Nicer logging of command calls.
* [f7b91e9] tmp: Use dir in mini-buildd's var dir (~/var/tmp), not system default (/tmp).
* [d95df2f] changes.py (Changes.add_file): use dict.setdefault.
* [7066296] models/repository.py: install(): Minor order fix for better exception.
* [dea4b6d] strip_epoch: As misc function.
* [c8e482f] porter.py: Implement package porting using 'raw dpkg-dev' calls (thus makes any package port work, independent of source deps).
* [8b66b31] builder: Fix: Avoid key exception in log in case Sbuild-Status is not there (i.e., sbuild failed hard)
* [bdec9dd] ports: Deliver changes directly to incoming queue, not via ftp uploads.
* [2fad854] Put KeyringPackage class to daemon (obsoletes porter.py).
* [47b0061] Optimize default layout's rollback # (again).
* [5c24e25] Gen changes file names at one place only.
* [ca187d8] log_exception: Use in _all_ appr. exception handlers.
* [78c5252] pylint: Fix some new warnings emerging with version 0.26.
* [e4dfe67] changes: use type property.
* [5d54ab3] Inject daemon object to builder and packager.
* [e9ca201] [debug mode] Rename "builder" debug mode to "keep".
* [fc4cc4e] [debug mode] Add debug option 'profile'.
* [de8ff10] html: Some cleanups.
* [08bb58d] Fix up porting API and code (internal ports, rebuilds, keyring ports, external ports).
* [7096db4] [checks] Run doctest on all *.py (except models); add *-tool to pychecker check.
-- Stephan Sürken <absurd@debian.org> Wed, 19 Dec 2012 12:10:59 +0100
mini-buildd (1.0.0~alpha.8) experimental; urgency=low
Adds the automated rollback distributions.
* [6dc5826] postinst/fstab: Bind-mount whole '~/var' (not only '~/var/spool') in builds (fixes optional %LIBDIR% support, f.e. needed for ccache).
* [679b58c] Add support for automated rollback distributions.
* [98b883e] [devel]: Add extra target 'chrootclean'.
* [c26d848] porter.py: [devel] Remove local debug uri from comment.
* [807d3ad] misc.py: Rename setup_test_logging() to setup_console_logging(), and parameterize level.
* [3d17248] misc.py: Add 'ftp' proto to builder state string.
-- Stephan Sürken <absurd@debian.org> Thu, 01 Nov 2012 16:13:18 +0100
mini-buildd (1.0.0~alpha.7) experimental; urgency=low
This release re-implements the magic auto backport
feature, and has galactical number of "very fine other fixes".
* [a7ab8c5] gnupg.py: TmpGnuPG: Switch to context manager solution to clear temporary dir.
* [5a73f97] [devel] Include PYLINTRC to env (./devel); fix and cleanup 'packages.testbuild' script.
* [129ddaf] Implement magic auto backports (per magic changelog line).
* [492b74f] builder.py: Don't aquire languages in builds on 'apt-get update'.
* [5e215ef] [defaults]: Don't build keyring package for 'experimental' in the 'Default' layout.
* [d6c558e] models/repository.py: Add example how to add "eatmydata" to builds.
* [7563812] models/daemon.py: Fix some hardcoded values in '.dput.cf' generator.
* [3926b44] changes.py: Fix building for epoched package versions.
* [9df0c18] [doc] doc/conf.py: Fix generation of models graphic via graphviz.
* [a41d023] Use debhelper 'sphinxdoc' extension (fixes redundant static .js files in manual).
* [8fb064e] debian/control: Use one dependency per line (cosmetic).
* [7b3de57] debian/control: Correctly use ${python:Depends}, and remove unused pre-depends.
* [aa9f070] debian/control: Update to stds-ver 3.9.3 (no changes needed).
* [2d49929] Produce a mini-buildd.1 man page with help2man.
* [d994bd7] lintian overrides: Ignore some more false positives.
* [bea5897] doc/index.rst: [cosmetic] Fix two warnings.
* [2744533] Drop unused mini_buildd/fixtures directory.
* [d03a63d] reprepro.py: Hardening reindex.
-- Stephan Sürken <absurd@debian.org> Mon, 22 Oct 2012 21:07:18 +0200
mini-buildd (1.0.0~alpha.6) experimental; urgency=low
Universal 'typo fix' release:
* [8d3d15c] [devel] misc.py: log helper function: Fix for to work for 'module' __main__, and omit syslog.
* [bbf1f9a] changes.py: Fix typo on chroot check() call (effectively disabled any builds;().
-- Stephan Sürken <absurd@debian.org> Tue, 02 Oct 2012 13:42:32 +0200
mini-buildd (1.0.0~alpha.5) experimental; urgency=low
Worldwide 'configuration convenience' release:
* [69df874] devel: Add 'pyenv' target; workaround pylint warning with new python-debian.
* [87a7e8f] changes: Add support to detect magic cl lines for 'backport mode', 'auto backports'; implement 'backport mode'.
* [5204cfd] Automatically stop/restart running daemon on config changes.
* [72ba9ef] configuration: Use buttons for admin actions, and other cosmetics.
* [a533b87] Action logging cleanup (less is more); improve "check" on Source.
-- Stephan Sürken <absurd@debian.org> Wed, 19 Sep 2012 18:30:40 +0200
mini-buildd (1.0.0~alpha.4) experimental; urgency=low
Adds help texts for most important model fields, and various minor
fixes:
* [20e6645] Show GnuPG long id and fingerprint on main page.
* [84c47fc] doc: Daemon: Add help text for gnupg template field.
* [1edd2b4] devel: update=build+install: Only build snap when changelog is unchanged, and restore changelog.
* [c0dcb1a] changes.py: get_files(): Don't fail on zero files; save(): set sha on after save.
* [109438c] packager, builder: Improve error handling for failed uploads and failed builds.
* [c89b69b] Default layout: Build keyring package for suite experimental.
* [51268fa] doc: Add/improve chroot fields online help.
* [205d707] doc: Add/improve daemon fields online help.
* [f8a1a70] doc: Add/improve gnupg fields online help.
* [48b51e8] doc: Add/improve repository fields online help.
* [87ea8d8] doc: Add/improve source fields online help.
-- Stephan Sürken <absurd@debian.org> Tue, 11 Sep 2012 13:18:19 +0200
mini-buildd (1.0.0~alpha.3) experimental; urgency=low
The "chroot" release:
Supports directory/union chroots, plus expert support for custom
debootstrap command:
* [a62d373] Add support for directory/union chroots (DirChroot).
* [0eacc21] debian/mini-buildd-sudoers: Fix typo (missing ',') (temp. broke lvm chroots).
* [334c986] reprepro: Add stderr shown to propagation and removal results.
* [5abe58e] Remove 'compat08x' support ("load 08x.conf").
* [8a8ec07] mini-buildd: Restructure/renice usage help.
* [03a933c] models/base.py: Enable (and support key:value type lines) 'extra_options' field for all models.
* [e24c5ee] chroot: Support selecting custom debootstrap command via extra options (experts).
* [0119c8a] Cleanup django admin interface after 'extra_options' inclusion.
-- Stephan Sürken <absurd@debian.org> Thu, 30 Aug 2012 17:48:44 +0200
mini-buildd (1.0.0~alpha.2) experimental; urgency=low
* The "todo" release:
Tackles all forgotten small in-code todos, fixing quite some caveats
on the way:
* [d4f759c] Fix/improve archive origin and repository description string.
* [9b7a6d0] Properly generate the apt/preferences file.
* [45ff6f3] builder: Always show generated 'sources.list' and 'preferences' in buildlog.
* [d5da158] Properly compute internal source dependencies and preferences.
* [ad87921] sources: Use available components only when configured in distribution.
* [df67ce1] Sort components (so that "main" is always first); fixes reprepro's default guessed component.
* [8720d60] builder, packager: Cosmetic: In description strings, put status back to front (much more readable).
* [bdaeccc] packager: Treat "skipped" build result status correctly for lintian check and reprepro installs.
* [563a709] builder/sbuild: Sign all Debian *.changes from builders (with mini-buildd's key).
* [b5e4293] chroot/builder sudo workaround: Remove /etc/sudoers in snapshot before actual package building.
* [6a9edb9] builder.py: Add log_exception in internal error (exception).
* [10f66fa] debian/mini-buildd-sudoers: Add "/bin/mkdir", and clean up (make sections for the different uses).
* [32edef1] models/chroot.py: Fix rollback when debootstrap fails.
-- Stephan Sürken <absurd@debian.org> Mon, 27 Aug 2012 16:05:36 +0200
mini-buildd (1.0.0~alpha.1) experimental; urgency=low
* [eb5204c] ftpd.py/doc: rm load options todo: not really a todo.
* [e4ed62d] keyring packages: Open template files with codecs assuming UTF-8.
* [fec92bd] packager.py: Properly implement && document Lintian QA check.
* [0f6dd8c] changes.py: Get rid of extra get_or_empty() method (use dict-builtin get()).
* [0fe59ee] keyring package: Fix all lintian errors and warnings.
* [7049b02] templates/mini_buildd/package_search_results.html: Text typo fix.
* [33e82a4] packager, changes: Add bres_stat property, and renice notify email body.
* [6a2d198] Bugfix last_package|builder persistence: Pickle extra classes with string values only.
* [7e05765] daemon,packager: Put top-level packager logic to packager.run(), and clean up daemon invalid changes error handling.
* [97df22f] lib/*: Remove all ye-olde 0.8.x script cruft from package.
* [30f0e12] debian/*: Provide upgrade support from 0.8.x packages.
-- Stephan Sürken <absurd@debian.org> Wed, 22 Aug 2012 20:37:27 +0200
mini-buildd (1.0.0~alpha.0) experimental; urgency=low
[ Stephan Sürken ]
* [9c5b6ac] debian/mini-buildd-bld|common postinst/postrm: Use adduser (not sbuild-adduser), and userdel (not deluser).
(Closes: 632957)
* [2f6760a] .gitignore: Update for setup.py and debian/.
* [aca22db] debian/mini-buildd-bld.postinst: Avoid adduser output conflict with debconf.
* [1ef9c9a] shellconf2python: Add coding && symlink to 'shell style' shell config to make it importable in python.
* [fa1afd0] examples/testbuild: Dont check sig with dput for testbuilds.
* [6e62d4e] daemon: Add a webserver thread running a django app.
* [e018ced] Add initial django models.
* [73081ed] Add initial urls for django webapp.
* [4c2fdb1] Add initial views for django webapp.
* [e9c9101] Add webapp settings, and embed in build system.
* [6ebe074] webapp: updatess, and directory layout change
* [35709b5] webapp: various changes.
* [46c02bd] mini_buildd/options.py: Add option: '--home'
* [b8e0fe7] We don't need extra python symlink for old config.
* [6d1ccfe] mini_buildd/fixtures: Add initial set of fixtures.
* [d0cc191] mini-buildd: Use --home option for iwatcher.
* [857902e] mini_buildd/models.py: Several smaller model fixes.
* [f39a94a] Add support to import/export old 08x config with the admin interface.
* [e40d9b5] debian/control: Add djange dep for -rep.
* [c0a1574] setup.py: Also install fixtures && templates.
* [4d49e65] mini_buildd/options.py: Add --instdir option.
* [c1637fb] mini_buildd/options.py: Add database --import/export options.
* [560047a] mini_buildd/options.py: console_log not used, removed.
* [252a91b] mini_buildd/options.py: optparse: Use "count" for -v, -q.
* [fe0bc23] mini_buildd/webserver.py: Diverse in webserver and django class.
* [7f5d2a4] mini_buildd/webserver.py: django: Add some preliminary admin commands methods.
* [859a9f9] mini_buildd/options.py: Remove support for daemon config file (we won't need this).
* [0258efb] mini_buildd/webserver.py: Use 'debug' for django class only.
* [9965eb5] mini_buildd/options.py: Don't use extra setDefaults call.
* [5db831b] mini-buildd: Actual code for --import-db and --export-db.
* [b330ccf] mini-buildd: Rename --*-db to --loaddata, --dumpdata like in django admin; really complety implement them, and remove obsolste models.
* [f52d01b] mini_buildd/admin.py: Obsoleted: import/export 08x models.
* [c6c1c6f] mini_buildd/__init__.py: Add package import list to __init__.py.
* [ffb5725] mini-buildd: Update py code to new __init__.py.
* [cefab3e] mini_buildd/options.py: Some options fixes.
* [3e187f7] mini_buildd/options.py: Simplify logging code, put it all to options.
* [5c3c930] mini_buildd/options.py: Add --bind option, and set default port to 8066 (iana-unassigned).
* [97edd75] mini_buildd/webserver.py: Django: Always run syncdb on init.
* [ed9d748] mini_buildd/views.py: Add a /graph_models/ view (using django-extensions).
* [523cbe4] mini_buildd/*.py: Quoting fixes.
* [2a2da85] mini_buildd/webapp.py: Separate webserver && django app (webapp).
* [23050cb] .gitignore: Ignore devel-home/
* [c5d6f1b] setup.py/version: Automagically get version from debian changelog.
* [0eca403] *.py: Update all py code to encoding utf-8 according to PEP-0263, emacs style.
* [1903c45] *.py: py cleanup: Fix all imports to be qualified.
* [49e5ce9] mini_buildd/webapp.py: Fix: verbose=0 for syncdb.
* [c0a2f37] mini_buildd/root_urls.py: Add workaround for squeeze/django 1.2
* [ba16288] mini_buildd/options.py: Force django logging to user our logger config.
* [05034ad] mini_buildd/webapp.py: WebApp: Use inheritance, not has_a.
* [56510fe] setup.py: Update for qualified imports.
* [6377267] debian/*: Upgrade to dh_python2.
* [7797187] debian/control: Assorted fixes to dependencies.
* [7225005] mini_buildd/webserver.py: Add Django dev web server.
* [952a254] mini_buildd/fixtures/mini_buildd.default.json: Don supply a default fixture for now.
* [2db7e34] debian/control: b-d: Add missing python-debian (now used in setup.py).
* [d1ecba3] mini_buildd/webapp.py: Put config to rep/, no need for extra web/ directory.
* [b350d61] lib/mbd-update-rep: bassh2py: Subdir prep.
* [c827ff6] lib/mbd-update-rep: bash2py: .mini-buildd/README.
* [208261e] lib/mbd-update-rep: bash2py: reprepro config.
* [9a5e4b5] mini_buildd/templates/mini_buildd/repository_detail.html: Fix for model change.
* [4b75ea4] mini_buildd/models.py: Some more helpers.
* [60806f0] lib/mbd-update-common: bash2py: GnuPG key generation.
* [9a68ae2] mini_buildd/models.py: No longer limit Repository to one object.
* [5163894] mini-buildd: Re-enable reprepro signing.
* [5949168] lib/mbd-update-common: bash2py: dput.cf generation.
* [c8fc3ac] lib/mbd-update-common: We won be needing (even convenience) .profile patching support any more.
* [bdbc963] lib/mbd-update-common: bash2py: GnuPG pub key.
* [a54b127] lib/mbd-update-rep: bash2py: Make setup dirs per-repo, and gen pub key auto key file.
* [9ba1e90] mini_buildd/misc.py: bash2py: Add codename2Version (not yet deleted from bash lib).
* [ef66530] mini_buildd/models.py: Add "mandatory_version" template field for suite.
* [cf014fb] model.py: Add repository.prepare(), move code from Main.
* [115f5bd] lib/mbd-update-rep-html: lib/mbd-update-rep-html: Remove converted/ no longer needed.
* [433b9f0] mini_buildd/templates/mini_buildd/base.html: Add "Home"-Link to base template.
* [30e000c] mini_buildd/templates/mini_buildd/repository_*.html: Remove some obsolete items, cleanups.
* [78998ab] bash2py: mbd-update-rep-html.
* [c8dcc28] mini_buildd/webapp.py: Fix: make sure db path always exists.
* [f88510b] mini_buildd/models.py: Put ye-olde README to models, and fix path.
* [1834182] mini-buildd: Update watcht/installer to cope with multiple repos.
* [440447d] mini_buildd/models.py: Fix incoming path for reprepro.
* [33fd786] mini_buildd/reprepro.py: Add initial reprepro abstraction.
* [eba73d6] Add development test runner script.
* [f0b3fb3] devel: Number of smaller fixes; add "generic" 08x.conf to import.
* [297a4df] control: Add python-pygraphviz as rec-dep.
* [cac6282] reprepro: Initial support to create reprepro repo automatically.
* [2e73ab0] control, *: Initial update to use one binary package only; take *-common as template first.
* [6fa0bf5] Blind-Merge old binary package -rep into mini-buildd.
* [af1c1a6] Blind-merge old binary package -bld into mini-buildd.
* [4db698f] Update .gitignore for one binary package.
* [41a0bf3] Initial fixups: Make the package build again.
* [70c773b] Obsolete cron, and fixup some dependencies.
* [296cd76] debian/*: Mass-fixes: debconf, package installation, reconfiguring.
* [28cc7d6] Put config into top-level $HOME.
* [de417eb] [cosmetics]
* [09aa3c0] base.html: Template fixes.
* [fa34543] Set up handling for initial 'admin' user and password updates.
* [b0efdbb] fix: -v -v should not be default, but no options.
* [0ecc07a] devel: Print command so we can just cnp it for debugging.
* [f5381d4] models: Update to the concept of Remotes, and local Builders.
* [1ce96d9] Add support to create a default config on the fly.
* [4d10698] devel: Some more fixes to the devel script.
* [2451ddd] Improce create_default function.
* [6b02ca5] Add support for CherryPy as internal web server, and make CherryPy default.
* [24665e2] some more debug log...
* [5a84301] path, incoming_path: Use get()ers, not attributes.
* [d8f6de8] schroot: Initial schroot impl; incorporate script mbd-setup-lvm.
* [c6cac63] debian/*: Remove now-obsolete lvm loop support.
* [38daf8d] Docs: Move all existing (old) docs to dir 08x/.
* [cb9823c] setup-chroots: Initial conversion of shell script.
* [be7cd93] install: Remove converted setup-chroots script, cleanups.
* [724f0be] devel: Put test home to '..' to avoid problems with large files in the Debian Source Tree.
* [812501c] python: Switch from optparse to argparse.
* [a64b994] Initail support for ftpd thread.
* [c214054] [cosmetic]
* [9b4f9ce] gitignore: Clean up and fix for test package upload cruft.
* [f34a9f9] ftpd: Switch incoming queue to ftpd.
* [8395a54] ftpserver: Add forgotten file for ftpd.
* [7f75102] misc.run_cmd: Fix to throw exception on error, and update calling code.
* [d8e5d53] lvm_loop, get_loop_dev: Fix to use realpath() on paths.
* [efff0df] Remove support for --no-act argument.
* [a2c6ccb] Style cleanup: Don't use global "args." nearly anywhere (still left: models.py).
* [003fbd2] models: Fix: Don't use global args any more.
* [6601585] arguments: Move to mini-buildd main script completely.
* [b7f2b9a] Put log code to main, and use own loggers per module.
* [36d4388] views: Fix wrong logging code.
* [3176c4e] Main() code cleanup.
* [fa6145f] Add explicit "debug" mode.
* [a1e60af] Don't try to configure django's logging for now (maybe good ;).
* [74e8e57] python module/class name cleanups.
* [8d6ee4d] ftpd: Coinfigure pyftpdlib to use mini_buildd logging.
* [0ce5992] fix: Remove left-over debug print call.
* [0eaac85] logging: Make formatter fit better after log renewal.
* [76807c8] ftpd: Make files RO as soon as they arrive.
* [b29c590] misc: Add little helper class to bind args, update http, ftpd.
* [58ae3d0] ftp: Rename to IncomingFtpD, and fix default port.
* [6736da2] ftpd: Use one ftpd on home with different perms for /incoming && /repositories.
* [e10f5fe] Obsolete installer+iwatcher in facvor of dispatcher / ftpd.
* [76062f6] main, dispatcher: Initial support to gen build requests from source uploads.
* [fbf947c] incoming: Also queue *.buildrequest and *.buildresult files.
* [d276f1f] ftp upload support, builder stubs, update changes file handling.
* [91e7d2e] obsolete two more scripts
* [1ef057a] Various code fixes in dispatcher.
* [df71e1d] dispatcher: Imporove spool_path handling. Add untar for build requests.
* [851a1ad] test package: Simplify, make work w/o ui-auto macros, run w/ DH_VERBOSE.
* [f98fd8d] test build script: Upload to current base dist per default.
* [22cb104] test packages: Move to subdir examples/packages/.
* [271d545] testbuild script: automaticall chose fitting auto-backport dist.
* [d31ffdd] devel script: Put default debug/test home to /tmp/.
* [c9a73fd] Cleanup and improve the test builder script.
* [22a8b13] test build script: Always purge, add option to re-upload.
* [6535b8f] It builds again.
* [8b0a73d] sbuild: Use subprocess directly.
* [0ac5e35] models: Add lintian configuration options.
* [5ff01f6] buildrequest: Support lintina mode.
* [cb6adb1] builder: Add configured lintian support, and more builder clean ups.
* [5700e6d] Add globals.py. Use it for global DEBUG flag only initially.
* [be9dd7f] builder: Create build results, and many other fixups.
* [c75a7d3] Add new test package: mbd-test-archall.
* [b7f0776] builder: Gracefully handle skipped packages.
* [4e283d3] builder: Clean up sbuildrc. Add conf option Build-Dep-Resolver.
* [ead093f] models, builder: Make build dep resolver configurable per repository.
* [b7669b2] builder, models: Support arch_all setting.
[ Gerhard A. Dittes ]
* [6d71a90] mini_buildd/webapp.py, mini_buildd/schroot.py: add some documentation in order to be prepared for the introduction of Sphinx.
* [98ab2b5] Added (customized) base files for Sphinx.
* [bc8448a] Add Makefile created by 'sphinx-quickstart' -- for convenience.
* [8f36088] After years of searching... finally, we need 'python-setuptools' to build Sphinx-documentation in a comfortable way.
* [68a8334] Sphinx: show mini-buildd logo.
* [26c3ac1] Sphinx: show mini-buildd favicon.
[ Stephan Sürken ]
* [821e217] devel script: Add 'clear', and rename 'reset' to 'purge'
* [61de022] devel: Fix: Forgot to update call for reset.
* [bd9e2fe] dispatcher: "Changes" refactor, buildrequest && buildresult file name fix ups.
* [32bbf6c] buildresult: Only try to attach .tar when there is an arch.changes (fixes ftbfs).
* [df10091] test packages: Add "FTBFS" test package.
* [53109b4] dispatcher: Fix path for repository spool dir.
[ Gerhard A. Dittes ]
* [a478e36] doc/conf.py: use version provided by "mini_buildd/__version__.py".
[ Stephan Sürken ]
* [c4cdb5c] schroot: workaround for sbuild bug #608840: Get root via sudo.
* [6624023] changes.tar(): Support to add arbitary files to tar.
* [a0b7f13] dispatcher: Initial support to bundle sources.list and preferences into build request.
* [092cff4] typo fix.
* [6ca7ba9] models.py: Fix/impl. initial sources.list generation.
* [884f0d9] sbuild: Update sources.list+preferences via chroot-setup-commands.
* [2b5324f] compat08x.py: Fix call to new get_apt_line().
* [067a6c0] Obsoleted.
* [79f1fad] mini-buildd: Fix: Set global vars as early as possible.
* [7e65533] misc: Add nop func.
* [da3802f] ftpd.py: Clean up log init code; log: DEBUG level; logline: Ignore unless in debug mode.
* [c368a75] devel: Run --verbose (not --debug) per default; mbd command line option may be given now.
* [5736385] misc.py: logs: Be less noisy.
* [a3cf988] dispatcher.py: Remove some obsoleted methods.
* [3c8c794] changes: Add untar() method.
* [bb889d3] reprepro.py: prcessincoming(): No need for CF file, just process all.
* [96c7bde] models.repository: Add reprepro object in constr., so it's always available.
* [65b5f02] dispatcher.py: Initially implement the actual repository install of buildresults.
* [2c7248e] misc.py: Fix Bind argument parser to work for IPv6 IP notation.
* [2884fdd] devel: Also remove repositories dir on clear now we actually install.
* [822df05] reprepro: Add prepare() method, and some minor cleanups.
* [e225d36] Produce source package on arch-all host.
* [d830280] dispatcher: Some cosmetic and log fixes.
[ Gerhard A. Dittes ]
* [392c79f] Documentation: improved structure of 'index.rst'; "customized" use of 'apidoc' (what is part of sphinx >= 1.1) to automatically generate sphinx documentation (from files not containing dedicated documentation).
* [5f85a8a] doc/conf.py: changed author name: "Stephano Vandamme" => "Mini-buildd Maintainers".
[ Stephan Sürken ]
* [1f36ef7] devel: Update (my) default mirror.
* [293555f] changes: Don't prefix "Buildresult-" and "Buildrequest-".
* [8ef49be] changes: Use "with" with tarfile in 2.6 using context module.
* [ad4231e] changes: Simplify upload(), remove check for file existence.
* [05b41c1] globals: Add set of global directory paths.
* [a764583] ftpd.py: Update to new global dirs.
* [5bd7236] main: Setup globals before log, and cleanup method names.
* [5387baf] main: Clean up logging code; per default, log to 'file,syslog' now.
* [d60d066] logs: Fix up daemon log file location.
* [cc5e99e] dispatcher et.al: Update to new globals.
* [0fdfed8] models: Rename "Builder" to "Chroot".
* [1459c84] ftpd.py: Allow read-only access to "logs" dir.
* [3ce48fa] ftpd: Make changes regex build-in as class attr.
* [3b05a26] models: New "Builder" model, update to schroot.
* [a5e85b0] Add a "workarounds" setup to main, and add the sbuild key workaround there.
* [d97edf9] Integrate manual link.
* [b792174] Manual: Add TODO list to first page.
* [5cdbe76] devel: Also re-generate sphinx doc in each run.
* [cfcacaa] debian/mini-buildd.install: mbd-update-common, mbd-lintian, mbd-update-rep are no more.
* [5e9a435] debian/rules: Integrate sphinx manual in Debian package.
* [5774c7a] debian/rules: Improve clean target.
* [019966d] debian/mini-buildd.postinst: Always add mini-buildd to group sbuild.
* [b8175c7] mini_buildd/compat08x.py: No need at all for an export-to-08x function. removing.
* [8111aa1] dispatcher.py: Update todos.
* [21187ef] webapp.py: Update todos.
* [6611b3d] mini_buildd/urls.py: Remove (already comented) compat 08x "public_html" static view for good.
* [102b402] mini_buildd/templates/mini_buildd/repository_detail.html: Update dput.cf.
* [491e69a] schroot.py: Update todos.
* [89de1e4] mini_buildd/root_urls.py: Update todos.
* [f6781c5] models.py: Update todos.
* [63697c1] doc: Add high level roadmap to top level manual.
* [13fab94] mini-buildd: Running system workarounds in parallel.
* [4fd7476] doc: More status/roadmap updates.
* [0ee36fa] misc.py: Add helper to get md5 hexdigest from file.
* [0d87836] changes: Add add_file() method.
* [a673638] devel: Update "clear" for new paths.
* [333fe19] debian/mini-buildd.install: Fix: Skip installing ye ole 08x schroot setup file.
* [cacb2c9] mini-buildd: Put builder thread handling to main.
* [27708e8] mini_buildd/*: Separate changes, builder and dispatcher into different modules.
* [0c27d88] devel: Add "clean" target.
* [91a06ca] schroot: Fix: Move schroot logik to class Chroot, remove schroot.py.
* [85a83e9] chroot: Use inheritance for chroot "backends".
* [e0a62ee] devel: Make --debug --verbose --verbose default (again ;).
* [2024294] devel: Don't remove chroots on clear (this might remove active chroots).
* [9d597bd] mini_buildd/__init__.py: Don't implicitly import classes any more.
* [15d740f] setup.py: Instead of __version__.py, generate __init__.py instead.
* [897b411] setup.py: Only __version__ in __init__; update all imports.
* [2f01e9c] misc/noop: Use std convention args,kwargs.
* [4713e00] misc.start_thread: Add support for args on run().
* [21713bc] models, webapp: Move default creation completely to webapp.
* [3bf5e0c] devel: Add pre-code to purge that tries hard to remove lvm leftovers before actually purging dir.
* [c2e2a66] builder.py: Move builder logic to builder.py.
* [014a04f] mini-buildd: Actually use existing builder instances to start builder threads.
* [c0c3eb0] chroot: Single code out in own module.
* [8727b5f] repository: Single code out in own module.
* [e743ca1] chroot, models, repository: Clean up imports.
* [145234f] repository: Major bug fix: Plural.
* [4b93a9e] chroot: Make filesystem configurable.
* [ebec43e] debian/control: python-setuptools must be b-d, not p-d.
* [0d35bd3] debian/control: Add python-sphinx to b-d.
* [9c8e1a5] chroot: Add FileChroot stub, and impl get_backend.
* [47503ae] chroot: Initial class cleanups.
* [3dfed4a] chroot: Add generic prepare_schroot_conf method.
* [8306f53] chroot.py: Personalities as class attr.
* [cc1fb84] chroot: LVMLoopChroot: Add loop_size.
* [41e576d] chroot: Cosmetics.
* [9ae0991] chroot: Initial impl of FileChroot.
* [1d6d8e7] doc: Add dummy django settings.
* [f8cf51a] models.py: Cleanup some imports sphinx/autodoc seems to have problems with.
* [6f619ac] chroot: Move schroot.conf code from backends to Chroot.
* [d2fa2b4] file chroot: Make compression configurable.
* [10b6ae8] chroot: Fix: filesystem is an option for lvmloop only.
* [bba9e7d] chroot: Make dist,arch unique, so we cannot generate a duplicate chroot.
* [533203e] chroot: Add tmpdir function, and purge temp chroot for FileChroot.
* [635e900] builder: Put teh sbuild key workaround to the correct place.
* [edbdf4b] builder: Put chroot prepare to correct place: The builder thread.
* [786121f] builder: Builder model does not need a list of chroots (we just use all existing chroots found).
* [d0a9576] builder: Forbid creating more than one instance.
* [abb6331] devel: Use rm -rf on purge.
* [7668ec3] mini_buildd/builder.py: Cosmetics.
* [bf35344] dispatcher: Make this a proper model, and handle like builder.
* [0138c7b] debian/mini-buildd-sudoers: Add support for sudoers config.
* [d1435d4] daemon: Daemonize early.
* [65fa497] chroot: Fix uid name for sudo workaround.
* [512dcc8] .gitignore: Ignore egg-info dir create in Debian package run.
* [097d01e] .gitignore: test upload script does not produce cruft any more.
* [116aedc] base view: Remove deprecated broken browse repo link.
* [19e8488] graphviz: dont break if praphviz is not installed.
[ Gerhard A. Dittes ]
* [80dbb82] Sphinx: layout improvements; let apidoc create output beneath "build/sphinx" and let sphinx use it from there.
[ Stephan Sürken ]
* [fef417b] mini-buildd: Set up for new mini_buildd import style: "from mini_buildd import MODULE".
* [18b8d17] mini-buildd: Add temporary "startup" console log handler.
* [e48cc70] gnupg: Inital new gpg impl with "subprocess" only (not used yet).
* [d418e5b] mini_buildd/*: Update to new import scheme.
* [d44faa9] misc.py: Add initial new call() and call_sequence() (with rollback) functions.
* [b867d05] misc.py: Obsolete get_cmd_output().
* [c5b9ddb] misc: call() wrappers: Loop arbitrary kwargs through.
* [fcc14e7] builder.py: Update sbuild workaround to misc.call().
* [cf48cc2] builder: Update debootstrap to misc.call().
* [b2fa0ee] chroot.py: Update FileChroot to misc.call().
* [830a5b3] chroot.py: LVMLoopChroot: Make snapshot size configurable.
* [70312f4] reprepro.py: Update to use misc.call().
* [2df9399] misc.py: call(): Improve logs.
* [45913ca] devel: Add --one-file-system to rm -rf.
* [ea4a2f8] misc.py: call(): Fix/renice multiline logging.
* [66b168f] chroot.py: LoopLVMChroot: fix get_lvm_device func.
* [7349e9f] chroot.py: Use call_sequence for lv creation and mount.
* [75a386e] misc.py: Add support for empty sequents.
* [4a2bf33] webapp.py: Simplify in-code selection of default chrot class.
* [65017e9] devel: Purge should also remove any mini-buildd*.conf in /etc/schroot/chroot.d/
* [4fb1199] chroot.py: FileChroot: Update to new sequence-only scheme.
* [74816a8] misc.py: call_sequence(): Support for rollback_only call.
* [c0c255e] misc.py: Add taint_env helper.
* [710b624] builder.py: Update to misc.taint_env().
* [c7445b5] builder.py: Better startup messages for builder.
* [05db1b8] mini-buildd: Clean up impports.
* [0adfbf8] threads: Properly join dispatcher, builder, and build threads.
* [798ff6b] chroot.py: FileChroot: Correctly implement purge() with sequence rollback.
* [3d2160b] builder.py: Clean up logs; purge chroots on shutdown (for now).
* [a263c60] misc.py: call(): Renoice log level for output log.
* [06bced6] chroot.py: LVMLoopChroot: Completely update to new sequence calls.
* [47c4021] misc.py: Obsoleting ye ole run_cmd helper.
* [2d8c8a6] chroot.py: Properly subclass LVMChroot + LoopLVMChroot.
* [d7bfeee] chroot.py: Update all call paths to absolute path names.
* [f936c55] debian/mini-buildd-sudoers: Harden to just the commands chroot.py actually needs.
* [6897250] chroot.py: Use long options wherever possible; fix mkfs call for sudoers.
* [6fc3c2a] misc.py: Add helper for to cinfigure logging for local modules tests.
* [627edc1] gnupg.py: Fix up and simplify with new misc.call().
* [8f18a22] repository: Update to new gnupg class.
* [31e29bd] misc.py: call(): Log stderr to 'debug', not 'error'.
* [e9bb108] python: Use one-line imports for one context.
* [3f90a7b] mini-buildd.templates: Per default, start mini-buildd with --verbose (log level INFO).
* [b26e0f0] webapp.py: Depend on django 1.3, and fix up static files handling.
* [86e9a71] devel: Remove as root.
* [3fc94c3] mini-buildd-sudoers: Fix: /bin/tar was missing.
* [6af64a5] setup.py: Fix: Install templatetags.
* [f4b25b5] devel: Guess mirror from apt sources.
* [7d54b26] mini-buildd.postinst: Renice output when admin password is updated.
* [782ac3a] devel: Rewrite this to test with installed Debian snaphot packages only.
* [13ff1c3] mini-buildd: Fix call order for httpd+ftpd; several cleanups.
* [5db259e] mini-buildd: More Main() cleanups.
* [0824e50] mini-buildd: ..more.. cleanups. Put daemonizer where it should be naturally.
* [4fe9d09] Rename module "globals" to "setup".
* [052d9b9] builder.py: [indent fix]
* [f6fa916] debconf, MINI_BUILDD_OPTIONS: Fix: Only set from defaults file if configured there (and use commented default in default defaults file).
* [3076051] mini-buildd: Fix daemon run (again ;).
* [86764d7] changes.py: save() does not need an extra file_path paramter.
* [b435a2e] devel: temporary workaround fpr purge.
* [89c796e] devel: Also pre-seed options (--verbose --verbose --debug for now).
* [d41b1d9] devel: Another workaround; add a handy "testall" target.
* [cf1e49d] Rename "dispatcher"->"manager".
* [5f67e0d] devel: extra func for default (may be used w/o git, just any mini-buildd installation).
* [b74c75d] packages.testbuild: Fix backort dis for sid.
* [81bd80d] builder.py: Bugix: changes values must always be string.
* [64196ea] Move models graphic to documentation.
* [7c2a31d] control: Add lintian to deps (currently needed until it can be run in chroots).
* [073f450] repository.py: Temporary fix to see the gnupg pub key.
* [d7d27f1] doc/index.rst: Update status.
* [588ea1f] doc/index.rst: Add 0.8.x package migration task so we dont forget.
* [cb5d4c3] mini-buildd: Add todo-bug: umask/daemon.
* [feee524] devel: Fix magic mirror grep typo.
* [3344cfa] templates/mini_buildd/base.html: Show mini-buildd version.
* [d70246b] Move gnupg handling to manager model.
* [c66b59d] models.py: Simplify name: PrioritisedSource->PrioSource.
* [7e64fc7] devel: Add install_clean target.
* [bcc4e3b] models.py: New-style Architecture, Components (new) and Source models.
[ Gerhard A. Dittes ]
* [2e83bac] devel: allow arbitrary branch to be used by 'mbd_build_install()' (not only master).
* [0194b6f] mini_buildd/changes.py: fix strange logging behavior (using unicode).
[ Stephan Sürken ]
* [413818f] models.py: Introduce messages, and fix up arch/component adding.
* [492e4d2] index.rst: Add db schema upgrade todo.
* [fea3e00] models.py: Indent/cosmetic fixes.
* [87ffcd5] chroot.py: Implement chroot prepare/purge as admin action.
* [b6e9977] webapp.py: Update defaults for new models.
* [482a836] admin.py: Register models where they are defined; obsoletes admin.py.
* [66714d2] models: Prefix all mini-buildd methods with "mbd_".
* [5c45b86] repository.py: Simplify import line.
* [5da60cc] repository.py: Fix lintian mode descriptions.
* [fd541a6] repository.py: Add initial field set.
* [d206be1] chroot.py: Use common action_activate and decactivate for objects that need it.
* [e23bf40] webapp.py: fix old method name.
* [16f7241] misc.py: Add new function run_as_thread().
* [5fe9739] misc.py: Add syslog support for test log setup helper.
* [389c680] misc.py: Add more thread test code.
* [2bded30] misc.py: run_as_thread(): Fix: Allow kwargs only.
* [7225dd9] mini-buildd: Upgrade manager to start_as_thread().
* [e71c531] mini-buildd: Upgrade builder to start_as_thread().
* [89e1381] mini-buildd: Don't enable verbose logging on --debug.
* [a046001] mini-buildd: Upgrade ftpd to start_as_thread().
* [16628ac] mini-buildd: Upgrade httpd to start_as_thread().
* [62968e5] misc: Better impl. of the sbuild workaround in misc: Add thread lock and work in temporary dir.
* [95420ff] mini-buildd: Upgrade build runs to start_as_thread().
* [57e14c8] changes.py: Update workaround to encode unicode to utf-8 (str() fails on real unicode chars).
* [55b4842] Merge Manager and Builder into Daemon.
* [102ac3b] devel: More fine changes ,,,, )
* [e06b0c8] models.py: Initial generic status model.
* [72c8a3d] source.py: Add source module with all models related to sources.
[ Gerhard A. Dittes ]
* [265c9cc] Manual: add link "mini-buildd home" to our (Shinx) documentation.
[ Stephan Sürken ]
* [939ec66] models.py: New generic status handling and sctions.
* [0ab0ff6] chroot.py: Update to new generic status model.
* [f8d7990] models.py: Implement model action functions as ModelAdmin methods.
[ Gerhard A. Dittes ]
* [ab16133] webapp.py: do not explicitly set 'SITE_ID' -- as we provide only _one_ site, the default value (undefined) should be sufficient.
[ Stephan Sürken ]
* [2660145] models.py: StatusModel: Generic impl. of activate/deactivate.
* [484ecd6] models.py: StatusModel: Add colored status display.
* [a195dbb] repository.py: Update to StatusModel.
* [291c87c] mini-buildd: webapp.py: Implicit idempotent default model creation.
* [9ffd87f] source.py: mbd_prepare(): Fix: Fail when no mirrors could be found (plus some log fixes).
* [91c29c9] mini-buildd: Remove obsolete/misleading arg "--instdir".
* [d5ba036] daemon.py, repository.py: Move hostname as "fqdn" to daemon.
* [ae2ed10] daemon: Add a view for 'dput.cf'.
[ Gerhard A. Dittes ]
* [ebfd174] webapp.py: Determine django's SECRET_KEY (once) instead of using a constant string (viewable by the public).
[ Stephan Sürken ]
* [8e79577] mini-buildd: As HOME_DIR is in setup as global now, use it.
* [1d32186] models: "Implement" ordering on the admin site by using lexically ordered verbose names.
* [4192312] gnupg.py: Add generic base class, and a TmpGnuPG class.
* [7cbd615] chroot.py: Fix: Remove chroot superclass from admin.
* [61faed8] source.py: Add gnupg/apt key automated download support.
* [d5bcd74] Distribution model: Add 'components' part, and fixup __unicode__.
* [0a605ef] repository.py: Fix: apt_allow_unauthenticated field was missing from config fields.
* [83ad989] builder, changes: Add support to deliver configured source's apt-key through to builds.
* [326d0de] repository.py: Initial (wooden) support to deliver apt keys.
* [31816d4] models: Move Suite, Layout and Distribution to module repository.
* [3a3b184] source.py: Source model: Structure, add some help strings, allow manual apt key.
* [174ded9] repository.py: Remove now-obsoleted old 08x-style apt-secure config dirs.
* [a6c0a32] repository, builder: Add support for debconf_preseed.
* [3ad9eca] packages.testbuild: Update to host-based dput target, default repo=test.
* [e8cc498] Implement custom setup script support.
* [1cc8e28] repository.py: Add example how to install additional packages.
* [93aaed6] main: Thread cleanup, part 1: Put queue to daemon model instance.
* [fbf6128] misc.py: Add get_cpus() helper.
* [dcae6d5] builder: Upgrade renice daemon model, use builder thread, implement sbuild --jobs=N.
* [cb17643] views.py: Use daemon.get() and clean up.
* [39831fc] source.py: key retrieval: Use configured keyserver.
* [b33b9bc] repository.py: Use daemon.get().
* [e9003b5] daemon.py: Mark private object vars with "_".
[ Gerhard A. Dittes ]
* [25a43fd] httpd.py: Switch from CherryPyWSGIServer (standalone WSGI server) to CherryPy and pickup CherryPy's logging.
[ Stephan Sürken ]
* [3a3199e] repository.py: fix gnupg call.
[ Gerhard A. Dittes ]
* [ddc542c] WebApp: Enable processing of "static" files; Show "favicon.ico".
[ Stephan Sürken ]
* [44987ab] daemon.py: Initial impl. of Packager logic.
* [a221dae] packages.testbuild: Be able to test-build any package that is available via apt-get source.
* [a3494e0] chroot model: Fix: Use Source, not Distribution.
* [0a1659d] source.py: [some cosmetics]
* [988ccd0] daemon.py: Success is when sbuildretval == 0 (no need to evaluate sbuild status).
* [95c6c0d] mini_buildd/*: Name convention update: Don't use abbrevs in model field names.
* [1b2b44c] daemon.py: Fix: convert retval to int.
[ Gerhard A. Dittes ]
* [7c35043] httpd.py: Log HTTP errors (status codes: 4xx-5xx).
* [ef15d57] WebApp: Let CherryPy handle static files (also for django admin).
[ Stephan Sürken ]
* [ca407a4] mini-buildd.init: Add "reload" target, which send SIGHUP to mini-buildd.
* [a4eadd1] ftpd.py: Add ability to shutdown ftpd at will.
* [5fed4c1] daemon.py: Support for a global daemon instance called "runner".
* [718c935] mini-buildd: Add support for reloading (via SIGHUP).
* [f933f33] daemon.py: Move ftpd thread to daemon.
[ Gerhard A. Dittes ]
* [3dfff8f] Manual/Sphinx: Use the "global favicon" (/static/favicon.ico) instead of an own (separate) one.
[ Stephan Sürken ]
* [b9ff594] devel: Add new default target.
* [5c3ca18] models, repository: Add EmailAddress models.
* [45b88dc] mini-buildd: Set umask on daemonize.
* [5433d34] daemon.py: Initial smtp and email notification support.
* [6b2cbd2] mail: Alllow notificatio lists to be empty.
* [90877ec] daemon.py: Initial pre-qa testing, email updates.
* [8d717b3] daemon.py: mail/notify: Name all mail functions "notify" and put base notify to daemon.
[ Gerhard A. Dittes ]
* [3834c21] Static-files: Restructuring; Admin: Add link to mini-buildd's 'home' (show icon, etc.);
[ Stephan Sürken ]
* [8c06408] changes.py: Implement incoming QA-Checks: codename, id, dist, uploadable.
* [c016403] builder.py: Only sbuild --verbose when DEBUG is enabled.
[ Gerhard A. Dittes ]
* [795e92e] Website (mini-buildd): improve layout -- fulfill _valid_ "XHTML 1.0 Transitional" and "CSS level 3".
[ Stephan Sürken ]
* [446b95b] Implement incoming QA-Checks: mandatory version.
[ Gerhard A. Dittes ]
* [c20871c] Manual: Let CherryPy deliver it _statically_ (instead of taking a circuit via Django); Cosmetics.
[ Stephan Sürken ]
* [61aed5d] suites/sources: Add support for automated "codeversions" (lenny=50, squeeze=60) from the Release file.
* [0977840] daemon.py: Implement email allow regex.
* [467d23c] packages.testbuild: Set DEBEMAIL explicitly to protect against possible spam.
* [bdd3f41] models.py: Add module doc including naming convention for fields.
* [e0dc9fa] Rename: PrioSource->PrioritySource.
* [8fd9601] Rename: PrioritySource.prio -> .priority.
* [162fbf0] models.py: Dox: Add method convention.
* [d68b1a6] models.py: Cosmetic: Add plural for email adrresses.
* [acb748f] Rename: extdocurl->external_home_url.
* [38728d8] repository.py: build dep resolver field: Use small integer choices field.
* [e0f8c96] repository.py: lintian mode field: Use small integer choices field.
* [143c2e9] repository.py: Add field placeholder for piuparts.
* [295a7b5] models.py: [cosmetics]
* [f4c173c] chroot.py: FileChroot: Cleanup, use "compression" shortint choice field, not tar_suffix.
* [b9aaec8] chroot.py: Nameing conventions: Rename "vgname"->volume_group.
* [a049607] models.py: Misc cosmetic changes.
* [c9e45e6] daemon.py: Rename mail_smtpserver -> smtp_server, and use BindArgs to parse host:port string.
* [cdc800f] source.py: Fox priority source verbose name.
* [2f5d04c] repository.py: Impl. mail notification for repositories, including "maintainer" and "changed-by" notifying.
* [8fb9f59] repository: Rename field id->identity (following naming conventions).
* [003c40e] daemon: Rename field fqdn->hostname (naming conventions).
* [422d6a9] changes.py: Fix get() method.
* [80a56f1] daemon.py: misc notify fixes.
* [0b292d1] models.py: EmailAddress: Add name part.
* [5c39013] daemon.py: Fix email sending of maintainer and changed-by fields.
* [b4e9e57] models: __unicode__(): Actually use unicode everywhere, update all to .format().
* [94406de] Change file layout: "~/var/spool/builds|packages".
[ Gerhard A. Dittes ]
* [88590bd] mini-buildd (/CherryPy): Fix segfault on shutdown.
* [562475d] httpd.py: Turn stderr/stdout logging _off_.
[ Stephan Sürken ]
* [6382d50] changes.py: Use flat directories for builds and packages.
* [97b7f96] changes.py: Add remove() method.
* [772ab1a] builder.py: Implement build cleanup.
* [3ab2248] /builder.py: Fix: Build result changes should carry 'Architecture'.
* [628f72c] daemon, changes: Implement package archiving to log dir.
* [6f4728b] Rename "var/logs" -> "var/log".
* [ea135ca] Make log dir accessible per http, and update repositor templatetags to 'mbd_' method prefix.
* [f27128b] daemon, repo: Fix ftp url creation.
* [dcc3012] daemon.py: Add buildlog links to notify mail.
* [4cbde6f] repository.py: Fix call to ftp_url.
* [3444694] doc/index.rst: Update todo index.
* [ed85822] Some fixes to make sphinx build work in debian package under sid.
* [12d881c] httpd.py: Fix path for static admin in django 1.4.
* [9995aa5] daemon.py: Fix: Architecture, not Sbuild-Architecture.
* [c5309f8] mbd-qa-check: qa lintian is implemented --removing.
* [3707809] mbd-qa-check: qa build check is implemented --removing.
* [7ba5365] mbd-qa-check: generic qa code is implemented --removing.
* [df16073] mbd-qa-check: qa dbp upload is implemented --removing.
* [c95a0e5] mbd-qa-check: qa dsp upload is implemented --removing.
* [c5d1b04] builder.py: log fixes.
* [8939e89] misc.py: taint_env(): Add support to remove envs (via value=None).
[ Gerhard A. Dittes ]
* [d2ea92b] Improved (I hope so) and unified layout of "mini-buildd", "django admin" and "sphinx documentation".
[ Stephan Sürken ]
* [c36eb5d] builder.py: Show env in build on DEBUG.
* [c2d11d6] Migrate mbdAptEnv() to python, and use it for debootstrap.
* [3489276] chroot.py: Don't include "apt" on deboostrap.
* [1d72d39] misc.py: call(): Log to error on failure.
* [549bca4] builder.py: For arch-all builds, also always include the orig.tar.gz (-sa).
[ Gerhard A. Dittes ]
* [5459193] Website: Use mini-buildd icon (as "fast-link") to get home (from everywhere).
[ Stephan Sürken ]
* [a882fd3] misc.py: Add sha1 hash from file function.
* [dbab5b8] Switch to using only one spool dir, with tasks imaged as sha1 dirs of the resp. changes file.
* [e68a904] main: On daemonize, set working_directory to --home.
* [86ca6fb] main: Always clear environment, and only set some HOME, USER, LOGNAME, and PATH to sane values.
* [a7cf532] Update all calls() with env=.
* [6f08855] setup.py: sphinx workaround: Commenting copy for doc/_static.
* [aeaf2ca] css/mini-buildd.css: Minimal cosmetics.
* [e65cd0a] ftpd.py: Add support to re-push left-over changes in incoming on startup.
* [8feb7cc] builder.py: sbuild_mode: Don't explicitely set the default.
* [eddefb0] misc.py: Add new string helper funcs: fromdos() and subst_placeholders().
* [4338e94] misc.py: Update this module to use doctest.
* [57a9521] Add support for a custom "sbuildrc snippet" configuration.
* [f0aeb66] repository.py: Update example for chroot_setup_script.
* [354c1c1] devel: Yet again, update default options: just '--verbose'.
* [a59a0d4] misc.py: Add helper functions to parse a distribution string.
* [a29dd6e] repository.py: Add mbd_find_dist() member, remove redundancies, more checks.
* [3cfbb8c] repository.py: Use new fromdos() utility func.
* [62240cf] repository.py: Update "mandatory_version" regex to use new placeholders setup.
* [659fcd6] repository.py: sbuildrc_snippet: Introduce placeholder %LIBDIR%.
* [c371245] builder.py: Don't clean build dirs in DEBUG mode.
* [8613285] daemon.py: Initial handling of stray results.
* [3b02d6a] repository.py: Rename: architectures -> mandatory_architectures.
[ Gerhard A. Dittes ]
* [1054295] Admin: Website structuring & cosmetics.
[ Stephan Sürken ]
* [20ddca2] builder.py: ups.
[ Gerhard A. Dittes ]
* [370b0ed] Stylesheets (css): Fixed to pass "CSS level 3" (W3C Validator); Cosmetics.
* [2599344] Admin-Template: Some renamings (of model names).
[ Stephan Sürken ]
* [000f4aa] repository.py: Add optional architectures field.
[ Gerhard A. Dittes ]
* [b486be2] Admin-Template: Remove "Suites" (from overview).
[ Stephan Sürken ]
* [f43bf44] repository.py: Move archs, build, apt, lintian etc. opts to dist.
[ Gerhard A. Dittes ]
* [80422c0] Admin-Template: tiny cosmetics.
[ Stephan Sürken ]
* [ad56c9a] repository.py: Bette get_arch* methods, add clean() impl. (not active).
* [8d7ebd2] mini-buildd: Shwoi incoming signbal in level info.
* [c3cc7de] mini-buildd: daemon: Implement arbitrary daemon start/stop for daemon model.
* [4a07dd7] daemon.py: Fix up daemon __unicode__().
* [3804e08] repository.py: Typo syntax error fix.
* [9547192] models.py: Add abstract father class for all models.
* [75d9c5e] models: Protect _all_ models against changes while the daemon is running.
* [26cdf41] daemon.py: Fix dput.cf (fqdn, not hostname).
* [e8b4120] daemon.py: Fix up Daemon start/stop/restart coupling to actual model state.
* [098d28a] repository.py: Bug fix in get_pubkey().
* [5e68912] devel: Add arg for test.
* [8c85a6c] daemon.py: Initial statis display support.
* [e8d168e] daemon.py: Mail fix: Only display buildlogs.
* [c9542f8] root_urls.py: remove obsoleted static files support.
* [413d9fa] changes.py: Fix Arch-All tag.
* [5ebf5a7] models.py: Revert back to changing status when we actually succeeded.
* [9eef581] daemon.py: Don't rely on model status in Daemon object.
[ Gerhard A. Dittes ]
* [023e242] Documentation: Add 'Quickstart' section.
* [f52e3e6] Documentation: Tiny cosmetics.
[ Stephan Sürken ]
* [8c4ba20] devel: genaralize default argument.
* [256a444] daemon.py: status_as_html: Use functions to prepare builds and packages.
* [e0fd3e3] --debug: Make this comma-separated list of parts to enable debug mode.
* [9776f18] mini-buildd: rm obsoleted commented code.
* [08e18d9] mini-buildd: Renice main error handling; add "main" part for debug.
* [0585d3a] builder.py: Fix build_clean call.
* [5620c71] changes.upload(): Save upload status in *.upload; don't re-upload if already uploaded.
* [cad0877] devel: Update default options for new --debug=x,y option.
* [31a2dd6] changes, builder: Don't generate a build requests or build results (resp.) again if already done.
* [45c0baa] builder, changes: Convenience convention: "breq" for build request, "bres" for build result changes variables.
* [6384012] chroot.py: Make personality an automated model field with manual override feature.
* [bbd8387] conf.py: Enable graphviz extension, and add initial graphic for daemon.
* [afb2e60] builder.py: Introduce builder status class.
* [a4925db] builder.py: Fix builder status display, and max_parallel_builds option.
* [e125f1d] repository.py: Move repo prepare code to repository && enable repo purge in debug mode "repository".
* [732e5f1] repository.py: mbd_prepare: Cleanup, remove obsoleted cruft.
* [d5e912f] Status models: Add confirmation support for admin action "unprepare".
* [6ef1d89] repository.py: "normal" impl of repository unprepare now we have confirmation support.
* [3a185c2] gnupg.py: Add gnupg.unprepare, renice messaging, and add daemon.unprepare.
* [3a50d29] gnupg.py: Add features: add_pub_key, sign, verify.
* [6ed4b66] daemon.py: Cleanup up repositoiry prepare, fix daemon reprepro call.
[ Gerhard A. Dittes ]
* [26eb9f0] Admin: Extend table style (-- bugfix for 'Debian Sid'/'Django').
* [d223baa] Admin-Template: Move 'Daemon' from the bottom to the top.
* [a38bce0] Documentation: Extend Quickstart (administration section).
[ Stephan Sürken ]
* [a17ee87] doc/index.rst: Update Roadmap status.
* [6088dfe] remove two done todos, update one.
* [bc6dece] doc/index.rst: Add some more hints for the quickstart.
* [66e2b9e] webapp.py: Don't implicitely set up a source.
* [ee95a99] httpd.py: Explicitely set content type to 'text/plain' for '*.log' and '*.buildlog'.
* [13e2d6f] doc/index.rst: More status updates.
* [847fa68] gnupg.py: verify(): Add option to give file to check for detchaed sigs.
* [7d06873] builder: Indent fixes.
* [d7bea3d] todo update: custom hook idea (C), ftpd options.
[ Gerhard A. Dittes ]
* [3fa0e41] Website: Improve (~>appearance), extend (~>index.html) and clean-up (~>here and there).
[ Stephan Sürken ]
* [b3a6aea] gnupg.py: Add new abstract GnuPGPublicKey model.
* [47d893f] models.py: Add AptKey and UserKey models based on gnu pg model.
* [3c1c361] chroot.py: Add debottsrap todo.
* [44492e9] source.py: Update to use AptKey (Many2Many), and add initial verifying of release files on prepare.
* [9e2fa3a] templates/admin/index.html: Add "Apt keys" to "Mirrors and Sources" section.
* [e168e7e] templates/admin/index.html: Omit "add" from "Daemon".
* [1aee692] models.py: Add support for UserProfile (GnuPG key and repo-list bound to each user).
* [c1aa8fa] source.py: Fix: Delete temporary release files (was left in from debugging).
* [5dc8214] gnupg.py: Fix: add_pub_key, not add_key.
* [eb921c9] models.py: Add proper Remotes model support.
* [45f5916] Rename: "Mirror" -> "Archive".
* [900bb66] repository.py: Add allow_unauthenticated_upload flag.
* [ac93f33] changes.py: Initil user upload auth support.
* [2ca7ee1] daemon.py: Cleanups, add todo.
* [55b6a6b] devel: Add some python code checker calls.
* [cb001ff] code qa 'pyflakes': Remove all issues.
* [68ae366] misc.py: code qa 'pychecker': Remove all issues.
* [79b96b3] *.py: Update all external imports according to PEP 8.
* [a71329f] *.py: Code qa: Add/fix coding hint for all python files.
* [a2d16ba] .gitignore: Ignore fixtures starting with "local."
* [6af6016] devel: set py env only when needed; make pypath absolute.
* [cec4844] python code qa: Use absolute imports for mini_buildd imports.
* [f230f01] builder.py: Add build auth code (commented).
* [ae4af5a] devel: pychecks: Add doctests checks (where available), add only currently working to general target.
* [b902688] models.py: Cosmetics for user profile.
* [f7cfef3] doc/django_settings.py: Add auth and contenttypes admin apps -- needed ate least for sphinx under sid.
* [886c7ed] devel: Run working checks befor build && run alls checks in subshell, so env is not tainted.
* [ccf2b95] devel: Checker: Add django-lint, and some exceptions for pylint.
* [40a24e5] mini-buildd: Several pylint warning fixes.
* [da460d5] daemon.py: Rename _Daemon class -> Manager.
* [d15fcc3] pylint: Fixing many pylint issues.
* [bbe9432] devel: Add pep8 checker.
* [6934a16] pep8: Many fixes for pep8 complience.
* [423d216] devel: Add pep8 to stanndard checks.
* [7e32864] models.py: UserKey model is obsoleted by UserProfile.
* [dd3ba32] mini-buildd: More cleanups and pylint fixes.
[ Gerhard A. Dittes ]
* [392765d] Website: Improve design (and usability); fix repository details.
* [988841a] Documentation: fix 'Quickstart' (renaming mirror -> archive).
[ Stephan Sürken ]
* [6a55816] mini_buildd/daemon.py: Code cleanups; remove done Gnupg todo.
* [f7f9af0] user auth: Gen per-repository keyring per daemon run, and verify in Package().init().
* [21d5065] gnupg.py: verify(): Better exception for auth failure.
* [8dde835] daemon.py: Add verification for buildresult and buildrequest (and put all changes verification to daemon loop).
* [8478528] daemon.py: Put incoming exception handling in daemon main loop (and several code cleanups).
* [2066a96] daemon.py: uploader keyring: Always add our own key.
[ Gerhard A. Dittes ]
* [a0a1ea6] mini_buildd/templatetags/index.py: Check for existing repositories before trying to list them.
[ Stephan Sürken ]
* [eb123fa] repository.py: Add new field: extra_uploader_keyrings.
* [83049b8] devel: Error exit workaround for the squeeze version of pep8.
* [9c3f1e1] fix three new pep8 style glitches.
* [18e142f] gnupg, repository: Implement support for extra keyrings field.
* [ff99763] daemon.py: Add daemon identity field.
* [737d07a] debian/mini-buildd.examples: Install examples from examples/* dir.
[ Gerhard A. Dittes ]
* [7fdf27d] Website: Add package search functionality; Improve page footer (and overall appearance).
[ Stephan Sürken ]
* [55399b8] repository.py: Add "build_keyring_package" flag for suites.
* [26d78e0] gnupg.py: Add export() method.
[ Gerhard A. Dittes ]
* [a9e165d] Website: Fix search form (layout).
[ Stephan Sürken ]
* [4a2c0d8] Add archive keyring package template.
* [126b70f] gnupg.py: init(): Fix: Give name and email as argument, don't invent them.
* [c7237ec] daemon.py: Add support for auto-generated archive-keyring packages.
* [5b6454d] templatetags/repository.py: Make pep8 compliant.
* [bb6b061] reprepro: Indices: Produce plain, gz and bz2.
* [6955d53] httpd.py: Add a shortcut function to add static handlers.
* [69453b1] httpd.py: Support serving '/repositories'. Some code cleanups.
* [b462442] daemon.py: mbd_get_http_url(): Get http port right.
* [8a92fc2] ftpd, repository: Remove serving log and repositories via ftp, and switch to http in source generation.
[ Gerhard A. Dittes ]
* [35a0a7f] Webapp: Implemented search functionality using dummy function (first try -- to be improved!).
[ Stephan Sürken ]
* [9863a2e] misc: Rename "BindArgs" to "HoPo".
* [d4bf2f6] builder, daemon: Add builder load() to status.
* [cc71cd5] misc.py: Add BuilderState class to abstract the builder status.
* [6cd7e71] dameon, http: Add support to create a current builder state, and get it via web server uri.
* [6f6ca3c] daemon.py: Show traceback in main loop when DEBUG on main is enabled.
* [802b5ca] builder.py: Protect builder loop main run with master try/catch, and add debug option.
* [2c1933e] models: Remote: Add support to dowload the builder state from remote mini-buildd.
* [a9f611a] builder, daemon, changes: Implement Remote support.
* [ff70231] misc, daemon: Just use bool for builder up/down state.
* [88553ec] mini_buildd/views.py: pep8 fix.
[ Gerhard A. Dittes ]
* [2aff99e] Website: Improved package search stuff using new "search result structure".
[ Stephan Sürken ]
* [b22c87f] builder, changes: auhenticate_aginst_remotes() method is obsolete.
* [1adbe46] packages.testbuild: Add magic not to build template package; auto-detect sign mode.
* [ef4605b] daemon, repository: Move archive key package generator to repository.
* [52f443e] daemon.py (Manager::status_as_html): so.
* [4972ba0] misc.py: Add __unicode__() for builder state.
* [966fd6a] models.py: Remote: Put the builder state into __unicode__.
* [2f47a5b] daemon.py: Add initial remote status.
* [eff43b3] debian/changelog: Restoring 0.9.6 changelog.
* [74d0579] debian/changelog: Add unreleased skeltion for 1.0.0 pre alpha.
* [0576c64] repository: Put "keyring suites" chooser to Layout.
* [4c014fc] repository.py: Suite model: Don't use name as primary key.
* [2fa9dc3] repository.py: Add auto version support to Suite.
[ Gerhard A. Dittes ]
* [d30aecf] Website: Add dummy-propagation-functionality (first step).
[ Stephan Sürken ]
* [1641784] repository.py: Improve Layout and Suite models
* [95713bc] mini-buildd: Fix: Don't restart daemon on SIGHUP if not already active.
* [b76439f] doc/index.rst: Update status.
* [d83bec0] repository.py: auto keyring packages: Use --force-bad-version, not --allow-lower-version.
[ Gerhard A. Dittes ]
* [e0304bc] Website: Only allow superuser to propagate.
* [68b3cce] mini_buildd/views.py: Fix "dummy package search" function.
[ Stephan Sürken ]
* [416b86a] models: Add some more checks to avoid config errors.
* [3d8270a] daemon.py: Only show active repos and chroots in daemon display.
* [48d328b] repository.py (Suite): Make name primary key again, and fix default for "but automatic upgrades".
* [e2e6f4e] templatetags/repository.py: Show repo model's defined description, not identity.
* [ee69258] repository.py: Pimp repo instance name.
* [83fbf63] repository.py: prepare: Fix check in daemon instance.
* [0460638] daemon.py: Pimp up daemon name display.
* [08b8201] templatetags/repository.py: Add tag to show all chroots.
* [9aba1d2] index.html, templatetags: Also show remotes in own box.
* [53ba6c5] daemon.py: Show # remotes in daemon desc.
* [13c79b4] chroot.py: Shwo status in chroot desc.
* [4cc8601] changes.py: Don't handle packages for repositories that are not active.
* [944b6fe] models.py: Remote: Use warn, not info, to inform that the key should be checked.
* [e36960c] models.py: Ensure no mini-buildd model is deleted when the daemon is running.
* [f121d32] models.py: Custom actions: Pimp names and order.
[ Gerhard A. Dittes ]
* [8205d07] Website: Get rid of template tag "repository_list_all()"; Another fix for function "tmp_dummy_package_search()"; Remove unused function "handle_login()".
* [fdb7c1e] Website: get rid of template tags "chroot_list_all" and "remotes_list_all".
[ Stephan Sürken ]
* [346e82e] models.py: Make delete actions safe for status models.
* [522397d] repository.py: Add status deps for repository.
* [d579204] models.py: Add suport to check the dependecy status.
* [ebd0990] daemon.py: Check dependcy status (for all active repos) on start.
* [952410c] models.py: Use max/min to calc correct status.
* [ade3292] models.py: actions prepare, activate: Implicitely call for all status dependencies.
* [bb1e4a7] models.py: StatusModel: Fix: Make action() a class method.
[ Gerhard A. Dittes ]
* [eef38e6] Website: Use tabs instead of spaces for (html) templates.
[ Stephan Sürken ]
* [a1132b4] mini-buildd, webapp: Add bulk-unprepare option (for internal use).
* [78193a7] debian/mini-buildd.prerm: Call --unprepare=Chroot on "remove".
* [35fd60c] repository.py: Add check against multiple dist with dame codename in one repo.
* [e9ef783] misc.py: Improve dist parser.
* [28b5658] repository.py: Suite model: Add uploadable flag, and change 'migrate_from' to 'migrate_to'.
* [b62566d] repository.py: Suite: Ads suite.mbd_get_distribution().
* [942ecf3] reprepro.py: Add listmatched() method.
* [a0c3cf5] repository.py: Add package search method.
* [227383c] web, django: Add proper package search.
[ Gerhard A. Dittes ]
* [9102fed] Website/Admin: Restructuring (of template).
* [8d0f711] Website: Reduce count of "template-tags" files -- use only "base.py" from now on.
[ Stephan Sürken ]
* [70c49c7] package search: Need one more layer (dist) in package result.
* [76f4ba0] reprepro.py: Add copyrsc() method.
* [a49aa70] views.py: Implement propagation.
* [dc6d4b9] reprepro.py: Add removesrc() method.
* [fcb0290] Implement "package removal".
* [b64557a] package_propagation_results.html: Put results in pre tag.
* [cdd6cef] mini_buildd/index.html: Remove distribution from top level package search.
* [2fa1fde] package_search_results.html: Cosmetics.
* [0c8587a] models.py: Remote: Add a wake_command field for later use.
* [985dc1b] .pylintrc: QA: Move pylint conf to rc file, and check for errors only.
* [d2346fa] misc.py: [pylint]: Use hashlib.new('algo').
* [02a9f64] webapp.py: [pylint]: export08xConf support is gone.
* [46e7410] mini-buildd: Some usage fixes.
* [f41185a] source: [pylint]: Don't call use __unicode__ directly.
* [97662ec] devel, .pylintrc: Add helper to find potential "no member" false-positives, and update .pylintrc.
* [1d8c9c9] repository.py: pep8/sid fix.
* [81bd1c7] .pylintrc: No need to disable E1101.
* [38cf69e] .pylintrc: Fix: disable does not work line-by-line, as advertised ;(.
* [20c65ce] devel,.pylintrc, setup.py: Add pylint to standard check.
* [f5ae623] doc/*.py: PEP8 fixes, and add files to standard pep8 test.
* [3f4febf] pylint: Add and conform: C0103 (naming conventions), C0112 (empty docstring).
* [f747ca1] doc/conf.py: More PEP8 fixes (squeeze pep8, this time...).
* [c6f2279] pylint: Add and conform: R0201 (Method could be a function).
* [a43756e] pylint: Add and conform: R0801 (code duplication).
* [ae43e98] pylint: Add and conform: R0902 (Too many instance attributes), R0904 (Too many public methods).
* [eca22b0] pylint: Add and conform: R0914 (Too many local variables), R0915 (Too many statements).
* [a678e20] pylint: Add and conform: R0903 (Too few public methods).
* [79e2be3] pylint: Add and conform: W0102 (Dangerous default value as argument), W0107 (Unnecessary pass statement).
* [ae80c84] pylint: Add and conform: W0201 (Attribute defined outside __init_).
* [1a2b79a] pylint: Add and conform: W0221 (Arguments number differs from xx method)
* [9249098] pylint: Add and conform: W0404 (Reimport), W0511 (warning notes in code comments), W0601 (Global variable undefined at the module level), W0602 (Using global for %r but no assigment is done).
* [2b74405] pylint: Add and conform: W0612 (Unused variables).
* [7c3520c] pylint: Add and conform: W0613 (Unused arguments).
* [5432e0d] uploader and remote keyrings: Only use objects with active state.
* [49aabba] pylint: Renice in-code workaround for R0201.
* [99cdd72] pylint: Add and conform: W0622 (Redefining built-in).
* [42bf31a] pylint: Ignore W0702, W0703 for now.
* [5eb68cb] pylint: Add and conform: W0631 (Using possibly undefined loop variable).
* [b0e311c] pylint: Add and conform: W0212 (Access to a protected member of a client class).
* [c14788d] source file layout: Switch to "models in multiple files" layout with subpackage "models".
* [a932478] models/source.py: Move to models/.
* [e4df7f2] models/repository.py: Move to models/.
* [5e23c51] models/repository,source: Some Meta/Admin inheritance fixes.
* [5264e11] models/chroot.py: Move to models/.
* [c635535] models/gnupg.py: Move/diverse to models/.
* [8b6bbca] models/daemon.py: Move/diverse to models/.
* [fb07a3e] daemon.py: Move some django code to model only.
* [e2be34e] models/__init__.py: Import fixes.
* [86126ca] devel: Rename pychecks->check; remove pylint extra handling for squeeze; build: be interactive when check fails
[ Gerhard A. Dittes ]
* [2f30c5f] Website/Admin: Warn if daemon is running (and give hint to stop it in order to make changes).
* [cbb9069] Website/Admin: Fix outline "Suites+Layouts/Distributions+Repositories".
[ Stephan Sürken ]
* [959ff36] keyring-package: Omit the keyrings/ extra dir in source package (fixes automated keyring package).
[ Gerhard A. Dittes ]
* [9f8d7c2] Website/Admin: Get rid of hard coded model names (in template).
[ Stephan Sürken ]
* [92a7459] models: Add "base" module, so we dont have actual code in __init__.py.
* [b1e3151] models: Rename "UserProfile" to "Uploader".
* [3c806c5] models/__init__.py: Stop delivering model classes redundantly here.
* [e824437] .pylintrc: Adjust max-locals for compat08x.
* [998710a] daemon.py: Make all imports absolute, and on top of module.
* [f579fbe] changes.py: Make all imports absolute, and on top of module.
* [aaec789] gnupg.py: Add note about in-method import.
* [7ae2a04] urls.py: Make all imports absolute, and on top of module.
* [6f611dd] views.py: Make all imports absolute, and on top of module.
* [3e27e8a] changes.py: Make all imports absolute.
* [679a30a] .pylintrc: Yet another exception for django.
* [b3fb574] models: Include 'Admin' meta class for all model registrations.
* [dec45f0] models/repository.py: Make most import absolute.
* [e352084] models/repository.py, Layout: Fix: Inherit from mini-buildd's Model.Admin.
* [1b16a23] models/base.py: Fix naming of helper func.
* [66452d0] models/base.py: Add msg_* methods to base model class.
* [f2ae9a9] models/*.py: Mass-use self.mbd_msg_* instead of global func, and remove them.
* [0c8984f] models/chroot.py: Make all imports absolute, and on-top.
* [d4231d6] models/daemon.py: Make all imports abolute.
* [53c1594] models/gnupg.py: Make all imports abolute.
* [798f74e] models/source.py: Make all imports absolute.
* [064baec] pylintrc: Enable the last two ought-to-be-fixed checks (can't fix them yet, though).
* [db7e2ff] devel: Add shorctut for snakefood dependency graoh creation.
* [0e5d325] changes.py: Remove dependency on daemon.
* [6aace0b] builder.py: Remove dependency on daemon.
* [33a7bc4] models/*: Make all accesses to the daemon instance via one base class method.
[ Gerhard A. Dittes ]
* [953d237] Website/Admin: Refactor mini-buildd specific part of 'index'-template (using new "include"-template 'index_mb_row').
[ Stephan Sürken ]
* [c925d43] models/base.py: Add and use "is_prepared" and "is_active" shortcuts on base StatusModel.
* [4e279db] webapp.py: Argl: Add tod reminders ro update to new model scheme.
* [d6909ee] models/base.py: Add active filter shortcut, and update all code.
* [3d217fa] models/gnupg.py: Fix: We cna now put the gnupg import top.
* [9fbdc03] devel: Fix sfood target.
[ Gerhard A. Dittes ]
* [cebd740] Website/Admin: Extend css to work also for sid.
[ Stephan Sürken ]
* [c5e3c9c] misc.py: Fix another pylint warning.
* [b378814] .pylintrc: R0401,W0621: We don't get all the issues fixed, ignoring again.
[ Gerhard A. Dittes ]
* [be326b8] Website: Get things done without the use of template tag "repository_list".
* [f262796] Website: Fix template "package_propagation_results".
[ Stephan Sürken ]
* [5425064] models: Use IntegerField, not SmallIntegerField (more portable).
[ Gerhard A. Dittes ]
* [4e3ee00] Website: Fix layout of "package_search_results".
[ Stephan Sürken ]
* [6b5d32f] models/source.py: Use blank=True, not null=True (django-pylint warnings).
[ Gerhard A. Dittes ]
* [9dc952a] Website: Improve remove button/link of "package_search_results".
* [9742caf] Website: Add link to previous page ("package_search_results").
[ Stephan Sürken ]
* [c07f5d8] models/repository.py: Omit model prepare check on daemon (too unstable); remove __init__ and make uploadable_dists a property.
* [dd494f6] models/repository.py: M2M: Understanding "related_name", and set it to more conventional names.
* [8805057] models/daemon.py: Fix method ordering as hinted by django-pylint.
* [a548eb5] devel: django-lint: Dont write reports.
* [4a6905f] webapp, models: Fix syncdb after the model layout change.
* [75be8c3] models/__init__.py: Add import func to subpackage models; this also takes care to automatically register with the admin site.
* [617359a] webapp.py: Rename '--unprepare=MODEL...' to '--remove-system-artifacts', and make it work for new model setup.
* [f6f73fd] models/daemon.py: Add field ftpd_options (for future use).
* [e32841c] models/daemon.py: Add custom_hooks_directory field (for future use).
* [e4b70e2] devel: Again: Skip pylint for squeeze.
* [1ab5334] models/base.py: Add generic "extra options" fields (for future use in selected models without schema change).
* [12466e7] debian/mini-buildd.prerm: Don't fail removal in artifact removal fails.
[ Gerhard A. Dittes ]
* [e7b2548] Website/Admin: Fix style.
[ Stephan Sürken ]
* [9b7345a] models: Stati: Don't re-run action if status is already reached.
* [bea31b6] models/base.py: Re-arrange action order.
* [d122019] models/base.py: Add last_checked time field to base StatusModel.
* [df64d8a] models/base.py: StatusModel: Add "check_and_update" action.
* [9e124ff] models: Update all __unicode__ of all StatusModels to show mbd_status_display().
* [baca258] models/base.py: Custom delete protection: put all checks to delete() method.
* [7f3f5ba] models/base.py: djang 1.4: Omit search_field and readonly_fields on status base model.
* [e5a5959] models/base.py: Base status model: Add auto_reactivate bool field.
* [bbf0c73] models: Add (stub) impls for mbd_check_and_update.
* [00b3704] models/gnupg.py: Update remote to new check_and_update scheme.
* [a66081f] devel: Customize django-lint, and add to standard test.
* [1907f05] changes.py: Greatly simplify get_repository() using db queries.
* [f1887d4] views.py: Search: Only consider prepared repositories.
* [3ea8c60] misc.py: Run __unicode__ for __str__().
* [c5e57cd] models/base.py: Remove check_and_update default method.
[ Gerhard A. Dittes ]
* [a5e20be] Website: Add view to handle HTTP errors (403, 404 and 500).
[ Stephan Sürken ]
* [661e4f5] models/base.py: Rewrite all actions; cls + self variants.
* [d59a59a] webapp.py: Update --remove-system-artifacts.
* [94c7295] models/source: Add proper check_and_update() method.
* [aa1641e] models/gnupg.py: No check_and_update func needed.
[ Gerhard A. Dittes ]
* [abaad1d] httpd.py: Get rid of "special treatments" for 'Django < 1.4'.
[ Stephan Sürken ]
* [1187cac] models/daemon.py: Add check_and_update for daemon.
[ Gerhard A. Dittes ]
* [65b284e] Website/Admin: fix "static URLs" in "admin.css".
[ Stephan Sürken ]
* [8487d34] mini-buildd: Run the check on daemon model on startup, too.
* [6c660d3] Mass-renaming "check and update" => "check".
* [f76c2ef] models/base.py: Update status docs.
* [628648d] daemon.py: Rename Manager->Daemon.
* [6d518ca] packager.py: Diverse daemon and packager code into packager module.
* [c8a5bd8] tpl/status: Move all HTMl to templates, and give values via properties.
* [da2ce37] tpl/status: Invent property "tpl", giving dict of values ("template api").
* [f748943] models/base.py: Fix pseudo-number is activate action text.
* [fab98e8] mini_buildd/index.html: Fix up base layout.
* [b8fda72] Fix indenting for (nearly) all templates.
* [0fd0205] views.py, home: Only show prepared chroots/repos/remotes.
* [3119b60] daemon.py: Protect update_model() method.
* [998ffd3] mini_buildd/index.html: Cosmetics.
* [2d15d11] daemon status: Add support for "last packages" display.
* [b975d13] changes.py: Update pkg_id to optionally add architecture.
* [03dda23] packager.py: Fix mail sending due to __unicode__() fix.
* [d52110e] builder.py: Add Build class (analog. packager), an add last_builds support.
* [95d6852] misc.py: Add BlockQueue, wrapper for Queue.Queue.
* [c988c66] builder: Use new BlockQueue to handle proper max_builds handling.
* [8eb592a] models/source.py: Add some more check messages (and pylint warn).
* [d280e2c] mini_buildd/index.html: Some more index style fixes.
* [56d7297] daemon.py: Move daemon run vars to non-model Daemon.
* [09b783c] builder.py: Obsolete builder.Status (all via builds, last_builds).
* [ff91995] builder.py: Ref: Move all build code to Build class.
* [20f0362] changes.py: get_pkg_id(): Add separator support.
* [83d73a7] changes.py: Add gen_buildresult analogous to gen_buildrequest.
* [bba36f8] builder.py: Add "upload pending" support, plus massive refacturing.
* [23ab5e6] daemon,ftp.py: Obsolete "stray_buildresult" extra handling by ordered re-pushing of incoming.
* [efe71a5] models/base.py: Add support for pickled state for all models.
* [275c926] mini_buildd/index.html: Add all possible (STUB) options for pending build results.
* [85c32cf] models/gnupg.py: Remote: Update to generic Model pickled data support.
* [a201dfc] daemon.py: Load "last_packages|builds" from persistent storage, and make it configurable.
[ Gerhard A. Dittes ]
* [1929dfd] Documentation: Update 'quickstart'.
[ Stephan Sürken ]
* [63581bd] models/repository: Add auto_migrate flag for later use.
* [9b736b9] daemon.py: Fix: The persistent state save overrides the whole object data (with maybe old data); workaround to act on fresh data.
* [b4a8bfa] models/daemon.py: Add two more future fields: wait_for_build_results and keep_build_results.
[ Gerhard A. Dittes ]
* [5a9ea26] Website: Add possibility to show/hide stuff on index page.
[ Stephan Sürken ]
* [52ddddd] models/base.py: Yet another status handling change.
[ Gerhard A. Dittes ]
* [50be367] Website: Avoid using (legacy) HTML tags for layout purposes -- instead use CSS.
[ Stephan Sürken ]
* [806d3b7] models/repository.py: Add a "group label" to suites, and allow differnet configs of same suite name.
* [939bcf6] models/base.py: Fix: prepare, activate: Replace two wrong calls to *action* (non-failing) calls.
* [250cca5] models/repository.py, reprepro: Add "morguedir" support.
* [36cd47f] models/repository.py: Suites: Bind a suite to one layout.
* [0a0fea1] doc/django_settings.py: Add pseudo SECRET_KEY setting to avoid depcrecaton warnings.
* [c39f4a9] doc: Fix some documentation warnings.
* [5fed798] views: Upgarde from generic views functions (deprecated since 1.3) to class based views.
* [403509b] pylint: Disable/enable some pylint messages in-code (fixes dummy code workarounds).
* [2395c84] reprepro: Install via "include" command. Obsolete incoming directory.
* [1be0e8b] repository/reprepro: Put morguedir option to options file.
* [eaa9fec] models/chroot.py: Implement mbd_check (run schroot --info).
* [16fc5d3] models/base.py: Reset last_checked value on unprepare.
* [8cd7540] models/chroot.py: Remove todo that is imho obesolete.
* [10958f7] models/source.py: Implement archive ping and select "fastest archive".
* [d34d243] models/repository.py: Cleanup status hooks.
* [a2a036c] models/source.py: check() now just calls prepare().
* [e202e72] models/gnupg.py: Cleanup status hooks.
* [fc38f33] models/daemon.py: Cleanup status hooks.
* [a086afb] models/chroot.py: Cleanup status hooks.
* [c1ac8ea] misc.py: Add total_seconds helper functions.
* [5cdc7bb] *.py: Mass-fix some wrong str() usage.
* [48f43f8] models/repository.py: Move install method here.
* [c177e9e] models/repository.py: Add dedicated package_* methods, and hide reprepro.
* [801726a] package search: Fix argument conventions.
* [12b6a38] packager,repository: Add pre-check. Pre-check whether the package_version is already installed (ye-olde "NEW" check).
* [f9f1273] changes.py: gen buildrequests: Add support to add files from pool that are not in upload (read: orig.tar.gz and friends).
* [4f2cbfd] models/repository.py: Use intermediate table for architecture options.
* [7069aef] models/repository.py: Fixing Suite+Layout models using intermediary model.
[ Gerhard A. Dittes ]
* [7fd524d] Website: Ask for confirmation when deleting packages; Refresh "Search results" page after package removal/propagation; Some JavaScript restructuring.
[ Stephan Sürken ]
* [87eddd8] .pylintrc: Some new django exceptions.
* [21c4d24] debian/control: Clean up dependencies for 1.0.
* [8b1b91a] Make log format look better for (now longer) module names.
* [c1f38b8] httpd.py: Use charset=UTF-8 for *.log and *.buildlog files.
* [fb71dff] Add buildlog links to status page.
* [fae0b87] package search: Let reprepro.listmatched() return a list (so all the call syntax in encapsed only there).
* [9742014] package search: Fix search results (first dist, then version).
* [1ce2d1e] Add and use ConfFile generator class for all generated config files.
[ Gerhard A. Dittes ]
* [3565415] Website: Refactoring of "package_search_results" template (JavaScript- and Template-Code).
* [858d865] Website: Remove unused style class (from mini-buildd.css).
* [6af70a6] Website: Add confirmation dialog for propagation (to template "package_search_results").
[ Stephan Sürken ]
* [c06fcad] Project wide: Use future:unicode_literals from python3.
* [6a36e9e] devel: Add standard check for correct src "coding" flag (utf-8) in each file.
* [d004226] Project wide: Mass fix u"" -> "" strings (which are now all unicode per default).
* [88dfae0] devel: Add standard check against explicit unicode string literals.
[ Gerhard A. Dittes ]
* [a547c86] Website: Improve layout ("package search results").
[ Stephan Sürken ]
* [ad2ffdb] unicode change: Don't apply on ./setup.py (does not work, and is not needed).
* [83de7b6] mini-buildd: unicode change: Make syslog handler work again.
[ Gerhard A. Dittes ]
* [3886b69] Website: Introduce new image for propagation button (~>"package search results").
[ Stephan Sürken ]
* [eaa96b5] models/repository.py: Some more refac+cleanup.
[ Gerhard A. Dittes ]
* [8f66918] New: Add "mini-buildd-graphics" SVG file to version control.
[ Stephan Sürken ]
* [264dfb0] setup: Fix: Set DEBUG to empty list initially, not None.
* [adadafc] *.py: Properly implement --debug=exception.
* [b6c1221] last_builds, last_packages: Make last appear first.
[ Gerhard A. Dittes ]
* [45e4e41] Website: Achieve "XHTML 1.0 Strict" compliance; Improve index page; Fix HTML stuff; Cosmetics.
* [9194463] Website/Configuration: Add link to "daemon section" in order to stop the daemon more conveniently.
[ Stephan Sürken ]
* [91c2485] package search: Support (two) different ouput formats for search, and move version precheck to package.
* [d846a0a] repository_detail.html: Fix for arch+suite model update, and w3c fixes.
* [fb1132d] debian/mini-buildd.templates: Change default path for home to /var/lib/mini-buildd.
* [9d39e54] builder.py: Don't add --verbose to sbuild on builder DEBUG.
* [83985c0] mini-buildd: Remove "package" from --debug description as it's mot impl.
* [3f6abba] Packager: Only use status done false/true.
* [8500178] packager.py: Remove forgotten obsoleted call.
* [a8a59d9] models/daemon.py: Update default gpg template to RSA/4096.
* [35a4d00] misc.py: Fix raw/unicode issues for subprocess call()s.
* [90d9ea2] Use own fstab for schroot (fixes builds when home is not configured under /home)
* [1421fb0] misc.py: Fix debug logger syslog for unicode setup.
* [5ee4c37] gnupg.py: Always use UTF-8, no matter what the locale says.
* [484e50f] misc.py: call(): Protect/dont fail for human-readable output logging (may fail as we cannot be sure to really have utf-8 encoding).
* [cd647ea] .pylintrc: Bent pylint once again, a little bit...
* [a8dd903] gnupg.py: Add umlaut name test, and do two more conversions from assumed UTF-8.
* [4ca437f] models/repository.py: Fix another wrong encode() after unicode update.
* [2f8b6e2] packager: Put all package info into Package, add proper status, put top-level logik to daemon.
* [fc94294] gnupg/misc: Avoid confusing error logs for verify() calls.
* [3645864] Add API support for Build and Package objects.
* [f3305d1] daemon.py: Avoid update_model() being run twice on startup.
* [68e5868] builder.py: Build: Initial update to proper status support.
* [e419955] models/base.py: Cosetic display chenge for last check time.
* [ed0ecf5] gnupg.py: Trim verify exception.
* [5d90e1c] packager.py: Package(): Renice status handling, finalize __unicode__() with better status.
* [1414fdb] packager.py: Some more doc fixes.
* [4cd8ef4] builder.py: Apply basic status mech like on Package.
* [8728e7d] templates/mini_buildd/index.html: Fix wrong guard, and rename "current" header to "Active".
* [24a00fe] misc.py: Pimp up API class to APIStatus (to encap status used in both, Package and Build).
* [05e9b86] builder.py: Build: Update to APIStatus.
* [81ec7d7] packager.py: Packeg: Update to APIStatus.
* [c088962] packager, models/repository: Let package_install only install one bres.
* [35c7095] doc/index.rst: Update status and quickstart.
* [3f9f8e9] debian/control: Fix: Depend on libjs-jquery (django-extensions need them as we use it, but it's only recommends there).
* [192e3b5] models/repository.py: Rm obsolete log.
* [5c59e52] changes.py: Clean up and fix pool check.
* [cd4a005] packager.py: Install archall arch first, and fail only on mandatory archs.
* [202d343] mbd-qa-check: orig check is now fully impl.
* [b62b015] debian/mini-buildd.config: Add a final note hinting to mini-buildd's local web page.
-- Stephan Sürken <absurd@debian.org> Thu, 16 Aug 2012 19:14:40 +0200
mini-buildd (0.9.6) experimental; urgency=low
This release fixes quite a number of glitches due to the reprepro change
and newer sbuild/schroot versions, and updates to the new proposed
distribution setup featuring experimental, unstable, testing and
stable for each base distribution:
* [cdb1529] lib/mbd-update-rep-html: Fix distribution URL for new
repository layout.
* [2da5721] mini-buildd-rep.maintscript: Use the new "maintscript"
facility of debhelper 8.1; fixes not-removed obsolete conffiles from
0.8.
* [7a336ec] Remove mbd-fake-pool and mbd-remove-pkg helpers:
Obselete/harmful with reprepro/pool.
* [abb79f4] lib/mbd-update-rep: Add support for release-signing via
reprepro; obsoletes mbd-sign-release helper.
* [a93e202] lib/mbd-update-rep: Regression 0.8: Make all dists
"NotAutomatic" again; non-exp dists now have "ButAutomaticUpgrades"
(this is different from 0.8).
* [699f515] debian/control: Decide to narrow to sbuild >= 1.62.4,
schroot >= 1.4.22 to ease ironing out compat issues.
* [e5f38fc] examples: Add new examples dir; add initial entry
mbd-test-cpp.
* [a140ba4] Add examples/ directory; add 'mbd-test-cpp' test source
package, and helper script.
* [8ffaaad] lib/mbd-qa-check|update-bld: sbuild update fix: Put
CCACHE_DIR env to .sbuildrc, not sbuild call.
* [e3934e4] debian/*: Don't use "sbuild" as primary group for
mini-buildd (but add a dedicated extra system group mini-buildd).
* [0647cf2] *-common: Depend on bash (as nearly all scripts need it, and
it's no longer mandatory in Debian).
* [32b7f17] debian/mini-buildd-common.postinst: Use "bash" as default
shell for user mini-buildd.
* [e55bbc0] debian/mini-buildd-common.postinst: Always upgrade user
mini-buildd to new setup w/o sbuild group.
* [559fa79] debian/control: Fix overlong lines.
* [57f3332] debian/control: logrotate no longer used, remove
recommendation.
* [a0e0573] examples/testbuild: Improve to support arbitrary id, base
dist, target and auto-backports easily (new dist setup).
* [5741b33] Update to new proposed distribution setup featuring
experimental, unstable, testing and stable for each base distribution,
with the latter two managed by manual migration only (see
NEWS.Debian).
-- Stephan Sürken <absurd@debian.org> Wed, 20 Jul 2011 13:39:15 +0200
mini-buildd (0.9.5) experimental; urgency=low
* [28b9575] debian/mini-buildd-rep.init (LVM): Bugfix: Must not depend
on lvm2 or schroot.
* [8bf6e1c] debconf/mini-buildd.conf: Multiple sources are now separated
via ",", not "\n".
-- Stephan Sürken <absurd@debian.org> Wed, 22 Jun 2011 15:19:01 +0200
mini-buildd (0.9.4) experimental; urgency=low
* [30ac8cd] debian/control: Add missing ${python:Depends} for mini-buildd-rep.
* [dd6ff20] lib/mbd-lintian: Fix: Always use --force-confold when updating/installing.
* [3db4212] debian/control: b-d: Fix python-dep to >= 2.5, versioned only (omit alternates).
* [506414c] lib/mbd-setup-chroots: Fix/update for schroot 1.4.22: Also configure 'root-groups' (seems now required to get non-interactive root).
* [ac7209f] lib/mbd-qa-check: sbuild call fix: Even with --no-log, '--verbose' should be used to get all relevant logs to stdout/err.
* [be3b1eb] mini-buildd: Use /usr/bin/python (not python2.5).
* [734e594] mini_buildd/iwatcher.py: Fix: Use absolute path on initial incoming scan.
-- Stephan Sürken <absurd@debian.org> Wed, 15 Jun 2011 18:57:31 +0200
mini-buildd (0.9.3) experimental; urgency=low
* Release with cumulated yet unreleased fixes in master:
* [ce29072] lib/mbd-setup-chroots: Omit "priority" from schroot configuration.
(Closes: 603913)
* [88451eb] lib/mbd-qa-check: Auto-backports: Don't use "-vSINCE" option when SINCE is empty (i.e., one changelog entry only).
(Closes: 603919)
* [b57602b] debian/99mini-buildd: Don't log to stderr (as new schroot does not like it); fixes false-positive daily mails.
(Closes: 604011)
* [4bda519] debian/po/ja.po: New translation template for common.
(Closes: 602154)
* [9ba0ac0] debian/po/da.po: Ack NMU 0.8.15+nmu1. (Closes: 610078)
* [d3869dd] Add support for wheezy (Debian 7.0).
* [735d3c0] lib/mbd-qa-check: Fix auto-backports for 'epoched' packages.
Thanks to Daniel Hermann (Closes: 609015)
* [fe3740e] debian/control: Having support for wheezy, update dep on 1st debootstrap w/ wheezy support.
-- Stephan Sürken <absurd@debian.org> Tue, 14 Jun 2011 17:41:21 +0200
mini-buildd (0.9.2) experimental; urgency=low
* [469d3f4] * debian/mini-buildd-bld.init: Fix bashism.
* [6ae9f6f] * mini_buildd/iwatcher.py: Process incoming once on
startup.
* [5bb1ffd] Debconf templates and debian/control reviewed by the
debian-l10n-english team as part of the Smith review project.
(cherry picked from commit b9d683114752bbe8ea75d768a47abd6e5932bd14)
* [1022acc] Debconf translation updates (cherry picked from commit
290531124dd90919685e75c2d31200b438907cf4)
* [35eae48] lib/mbd-qa-check+mbd-update-bld: Use "--nolog" command
line (Closes: 588264) - thanks to Dominik Schulz
* [913ccec] lib/mbd-setup-chroots: Remove run-setup|exec-scripts from
schroot.conf: Obsoleted by schroot.
* [11f24df] mbd-setup-chroots: schroot: Use extra config file in
"chroot.d" instead of tainting schroot.conf directly.
* [00a82db] mbd-update-bld: Update sbuildrc's 'pgp_options' format to
sbuild 0.60 (plus compat for lenny)
* [ae707d4] lib/mbd-common.sh: Update mbd sources list line to
reprepro/pool.
* [6f49d16] lib/mbd-update-rep: Update repropo indices.
* [760fa54] debian/control: Fix: -rep and -bld binary packages must
depend on the exact same -common version.
* [ad1cf97] debian/control: Add deps for fakeroot, debhelper and cdbs
on builder hosts; this will make auto-backports work out-of-the box
for most packages.
* [f436114] lib/mbd-qa-check: Update to changed bash4 subshell error
handling.
* [d6db45c] debian/control: Update to std-ver 3.9.1 (no changes
needed).
* [7565c5f] debian/po/cs.po: New translation template for common.
-- Stephan Sürken <absurd@debian.org> Mon, 16 Aug 2010 17:51:19 +0200
mini-buildd (0.9.1) experimental; urgency=low
* [7a55102] * mini-buildd-rep.preinst: Fix: Manually remove obsoleted
conffiles.
* [7454852] * debian/mini-buildd-rep.init: Various fixes.
* [d6ccc2f] * mini_buildd/iwatcher.py: Also watch for MOVED_TO events
(fixes auto backports).
* [94be418] * mini-buildd: Use env(HOME) for incoming path (was
hardcoded).
* [292f37a] * .gitignore: Add .gitignore; ignoring *.pyc.
* [da084fd] * mini_buildd/installer.py: Fix: Set _preinstall var even
if no script found.
* [f9f835d] * mini-buildd: Use python-daemon to daemonize correctly
(PEP 3143).
* [495fc27] * debian/mini-buildd-rep.init: Make daemon options
configurable via defaults.
-- Stephan Sürken <absurd@debian.org> Sat, 08 May 2010 18:06:34 +0200
mini-buildd (0.9.0) experimental; urgency=low
* Initial 0.9.x unstable development release:
* [2b39e2c] 20_debconf-presseed.hook: Typo fix.
* [1e02a61] README.Debian: Add hints where logs go to.
* [e229e45] debootstrap workaround (see discussion in Bug #562143):
Always '--include=apt' when running debootstrap. Fixes base chroot
creation for squeeze/sid.
* [734b750] rules: Fix wrong rc.d installation of mini-buildd-bld init
script (Fixes: 'no mini-buildd logical volumes after reboot').
* [4627827] mbd-setup-lvm -a: Call vgchange after reattaching image
file (fixes auto mode w/ LSB reboot).
* [7b1c75f] Update to std-ver 3.8.4 (no changes needed).
* [a12f4b5] Update to package format 3.0 (native).
* [32eb24c] mini-buildd-bld.init: LSB: Add lvm2 to required start.
* [2df62f5] mbd-preinstall: Add support to configure local hook for
successful builds.
* [cd5da02] Initial POC: Use reprepro, replace mini-dinstall by own
daemon mini-buildd.
* [8de7a48] mini-buildd-rep.cron.weekly: Now obsolete.
* [cc5bcf4] mini-buildd-rep.logrotate: Now obsolete, removed.
* [6692441] mini-buildd-rep.postinst: Rm db_stop hack needed for
dinstall misbehaviour only.
* [06a64bb] lib/*: Remove support for mini-dinstall config files and
paths
* [edaa4cc] * debian/README.Debian: Update for 1.0 development.
* [2ee6b51] * debian/TODO: Update for 1.0 development.
-- Stephan Sürken <absurd@debian.org> Wed, 31 Mar 2010 18:25:55 +0200
mini-buildd (0.8.8) unstable; urgency=low
* Upload to unstable.
In the future, 0.8.x "stable" branch will go to unstable, 0.9.x aka
"reprepro" development will go to experimental.
* [dc13594] README, TODO: Updates, make fit for a release to unstable.
-- Stephan Sürken <absurd@debian.org> Fri, 15 Jan 2010 13:51:42 +0100
mini-buildd (0.8.7) experimental; urgency=low
* [eaef293] common: Extend the hilarious changes file parsing routine
to work with
* [2131d89] cron.daily: Add some more comments.
* [437602e] cron.weekly: Add maintenance script doing a full reindex.
-- Stephan Sürken <absurd@debian.org> Thu, 14 Jan 2010 18:50:35 +0100
mini-buildd (0.8.6) experimental; urgency=low
* [a22a1ba] Adding utility mbd-fake-pool: Workaround to use Debian-
style sources
* [bdbefe4] Fix all scripts that need it from /bin/sh to /bin/bash;
this ixes script failures on systems where sh is not bash (like on
sid per default).
* [8d59a84] Try to detect errors on daily cron script; only sent mail
on errors.
* [bd72445] Update Std-Ver to 3.8.3 (no changes needed)
* [4dd5208] control: Depend on bsd-mailx | mailx, not just mailx
(which is now virtual)
-- Stephan Sürken <absurd@debian.org> Tue, 12 Jan 2010 18:58:25 +0100
mini-buildd (0.8.5) experimental; urgency=low
* [1f2861b] control: Fix maintainer name.
* [820f1c7] copyright: Add "Source" URL pointing to the Debian pool
(being Debian native).
* [4bcfb0d] Support squeeze
-- Stephan Sürken <absurd@debian.org> Fri, 06 Nov 2009 18:31:51 +0100
mini-buildd (0.8.4) experimental; urgency=low
* control,copyright,README.Debian: Updates.
* Moving vcs to alioth+git+collab-maint; add VCS headers to control.
* control: Fix section to devel (was non-free/devel).
* control: Update stds-ver to 3.8.2 (no changes needed).
* init: Don't fail if default file is not there.
* control: -bld: Add note that the repository host must be set up first.
* -rep tpl: Add caveat note about httpd userdir support.
* Initial upload to experimental (Closes: #537721).
-- Stephan Sürken <absurd@debian.org> Tue, 28 Jul 2009 15:25:57 +0000
mini-buildd (0.8.3~uiSID+1) sid-ui; urgency=low
[ Stephan Sürken ]
* Bugfix: Backport mode, magic versions: Replace only the nonrevision
part like '~id50+' (~id50+5 -> ~id40+5); formerly, only versions with
default revisions (0,1) worked correctly.
Thx Henning for reporting this...
[ Automated changes by ui-auto-release ]
* New Debian package based on 0.8.3 (stable): Reusing UNRELEASED
section formerly versioned 0.8.3
* MINI_BUILDD: AUTO_BACKPORTS: lenny-ui
[ Stephan Sürken ]
* ui-auto-release run by absurd@manwe.use.schlund.de.
-- Stephan Sürken <stephan.suerken@1und1.de> Tue, 16 Jun 2009 15:50:10 +0000
mini-buildd (0.8.2~uiSID+1) sid-ui; urgency=low
[ Stephan Sürken ]
* Harden backports mode:
- If user gives duplicate bpo dist, (silently) only use one.
- If user gives same dist as orig upload, warn and skip.
- Put Backports qa check as last element of postbuild (was: build).
Avoids backport creation even though the original package failed due
to some qa check _after_ "build".
[ Automated changes by ui-auto-release ]
* New Debian package based on 0.8.2 (stable): Reusing UNRELEASED
section formerly versioned 0.8.2
* MINI_BUILDD: AUTO_BACKPORTS: lenny-ui
[ Stephan Sürken ]
* ui-auto-release run by absurd@manwe.use.schlund.de.
-- Stephan Sürken <stephan.suerken@1und1.de> Wed, 03 Jun 2009 11:08:08 +0000
mini-buildd (0.8.1~uiSID+1) sid-ui; urgency=low
[ Stephan Sürken ]
* lintian: Ignore some new lintian version checks:
maintainer-upload-has-incorrect-version-number
binary-nmu-debian-revision-in-source
binary-nmu-uses-old-version-style
* Better names for local customization dirs.
[ Automated changes by ui-auto-release ]
* New Debian package based on 0.8.1 (stable): Reusing UNRELEASED
section formerly versioned 0.8.1
* MINI_BUILDD: AUTO_BACKPORTS: lenny-ui
[ Stephan Sürken ]
* ui-auto-release run by absurd@manwe.use.schlund.de.
-- Stephan Sürken <stephan.suerken@1und1.de> Wed, 27 May 2009 16:20:47 +0000
mini-buildd (0.8.0~ui50+1) lenny-ui; urgency=low
* Backport for lenny-ui (no changes).
-- Stephan Sürken <stephan.suerken@1und1.de> Mon, 25 May 2009 13:37:39 +0000
mini-buildd (0.8.0~uiSID+1) sid-ui; urgency=low
* 0.8.x summary: Most important changes:
- auto-backports mode.
- base chroot maintenance via hooks (predefined+custom).
- apt-secure support.
- apt_preferences support.
- a lot of testing and bug fixes.
A more detailed albeit confusing changelog below;).
* qa-check Build: Don't warn when no packages to build for arch.
* Fix: Use /usr/share (not /usr/lib) for mini-buildd lib.
* mini-buildd-common.postinst: Don't call sbuild-adduser with full path
[W:lintian]
* Override lintian error for missing config script for -common.
* init: Add "reindex" target.
* Implement Auto-Backports via new qa-check "Backports".
* Chroot-Hooks:
- New "local config" directory "~/.mini-buildd" on repo, copied by
builders:
- README file added with detailed instructions.
- apt-secure/: Extra apt keys.
- chroots-update.d/: Custom.
- New dir: /usr/share/mini-buildd/chroots-update.d/, used by
mbd-update-bld. Hooks added:
- 05_apt-secure: apt-secure keys handling.
- 10_apt-upgrade: upgrade, install extras, autoremove, clean.
- 20_debconf-preseed: set debconf variables.
- 70_bug327477: bug workaround.
* Base distribution sid: Add forced version "~idSID"; formerly, sid
wasn't restricted which may lead to conflicts with versions in real
Debian "sid"
* mini-buildd-bld: Add "defer" configuration support, and hardenend
Debian configure/install scripts; fixes some known hen/egg problems on
initial installs.
* -rep: Set debconf dist default to lenny (was etch).
* -bld: Bugfix: Fix error recognition on initial chroot setup
(debootstrap).
* -bld: Bugfix: Run deboostrap with DEBIAN_FRONTEND="noninteractive".
* Add support for prio configuration per source (/etc/apt/preferences).
* chroots-update.d: 10_apt-upgrade: Only run autoremove for apt versions
that support it; avoids unecessary warnings.
* apt-secure support:
- chroots-update.d: 05_apt-secure: Added; you may now add arbitrary
locally configured keys here.
- Add new config options "mbd_apt_allow_unauthenticated", make it
configurable via debconf and add support for sbuild.conf.
* control: Update to standards version 3.8.1 (no changes needed).
* mbd-setup-chroots: Fix/workaround debconf failures on reconfigure.
* -rep|bld.config: Fix: Add some missing debconf default values.
* mbd-setup-chroots: Add fs type to schroot mount options so we don't
depend on auto-detection.
* mbd-remove-pkgs: Use -wholename rather than -name for find.
-- Stephan Sürken <stephan.suerken@1und1.de> Mon, 25 May 2009 13:33:06 +0000
mini-buildd (0.7.13~ui40+1) etch-ui; urgency=low
* Backport for etch-ui.
* MINI_BUILDD: BACKPORT_MODE
-- Stephan Sürken <stephan.suerken@1und1.de> Tue, 30 Dec 2008 15:32:19 +0000
mini-buildd (0.7.13~ui50+1) lenny-ui; urgency=low
* mbd-lintian: Pre-run apt-get update to avoid warnings.
* rules/control/compat: Update to debhelper 7, minimize rules file.
* mbd-common.sh: Be more smart about MBD_LIB to ease testing scripts
from svn.
* mbd-remove-pkg:
- Complete tool and harden it against misuse.
- Actually install this tool to -rep package.
-- Stephan Sürken <stephan.suerken@1und1.de> Tue, 30 Dec 2008 15:20:40 +0000
mini-buildd (0.7.12~ui40+1) etch-ui; urgency=low
* Backport for etch-ui.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 10 Dec 2008 10:46:13 +0100
mini-buildd (0.7.12~ui50+1) lenny-ui; urgency=low
* Upgrade sbuild dependency to latest in testing/lenny: 0.57.7.
* apt-secure: Fix for sbuild 0.57.5:
- Set apt_allow_unauthenticated = 1 in mini-buildd for now.
- Add @todo for later:[brain] Make sbuild apt_allow_unauthenticated
configurable via debconf; add some infrastructure to add keys when
entering chroots, and some way to manage keys.
* control: Update to standards version 3.8.0 (no changes needed).
* mbd-update-bld: Add --purge to autoremove run.
* 99mini-buildd (schroot setup): Fix: Honor AUTH_VERBOSITY for the one log
left in the script.
* Add tool "mbd-lintian": Install lintian and run tests in separate snapshots.
- mbd-qa-check: Use mbd-lintian for lintian check.
- mbd-common: Remove "lintian" from list of extra packages for source chroots.
.
Note: Having lintian removed from the extra packages list means that source
chroots can now be really minimal (lintian pulled in quite some dependencies)
(except for ccache, that is). This solves two problems:
.
- Source dependency check not tainted by lintian+dependencies any more.
- Already installed packages wont be upgraded by sbuild, breaking package
builds that need updated versions of installed lintian dependencies.
.
To gain these advantages, you need manually regenerate your chroots on all
build hosts; as root run
.
/usr/lib/mini-buildd/mbd-setup-chroots -f
* schroots: Use "-o noatime,user_xattr" instead of the default "-o
atime,sync,user_xattr"; this may speed up things greatly on certain systems.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 10 Dec 2008 10:44:12 +0100
mini-buildd (0.7.11~ui40+1) etch-ui; urgency=low
* Backport for etch-ui.
-- Stephan Suerken <stephan.suerken@1und1.de> Mon, 08 Dec 2008 15:56:16 +0000
mini-buildd (0.7.11~ui50+1) lenny-ui; urgency=low
* html: Show new build options, and some cosmetics.
* lintian exceptions: Exclude more "unknown distribution" errors.
* syslog: Log to facility user, not daemon.
* ccache fix: Give CCACHE_DIR explicitely as environment for sbuild (some
build system change $HOME for whatver reasons (e.g., package "subversion"'s
test suite does), effectively disabling gcc.
* Add mini-buildd control feature via changelog entry:
* MINI_BUILDD: <CONTROL_OPTION>
Currently, we support BACKPORT_MODE only; this comes handy for
lintian-buggy package backports.
* copyright: Making this DFSG compatible, license GPL-2+.
* copyright: Update to proposed formal format.
* mbd-update-bld: Also run "apt-get autoremove" (errors ignored for when not
supported) for source chroot update.
-- Stephan Suerken <stephan.suerken@1und1.de> Mon, 08 Dec 2008 15:53:35 +0000
mini-buildd (0.7.10~ui40+1) etch-ui; urgency=low
* Rebuild for etch.
-- Stephan Suerken <stephan.suerken@1und1.de> Thu, 21 Aug 2008 18:08:11 +0200
mini-buildd (0.7.10~ui50+1) lenny-ui; urgency=low
* Debian and external doc links support in overview html for convenience:
- README.Debian: Initial proper version.
- TODO: Rename from TODO.Debian so dh_installdocs picks it up.
- -rep: Add external doc URL support (variable && debconf).
- -rep: Add documentation section in overview html:
- Add link to dwww URL of package docs.
- Add "Recommends" for dwww.
- Add link to external docs where configured.
* DEB_BUILD_OPTIONS support for builds:
- -rep: Add DEB_BUILD_OPTIONS for all archs (var+debconf).
- QA build: Add DEB_BUILD_OPTIONS support for sbuild call.
-- Stephan Suerken <stephan.suerken@1und1.de> Thu, 21 Aug 2008 17:59:10 +0200
mini-buildd (0.7.9~ui40+1) etch-ui; urgency=low
"Make lenny lintian happy" release.
* Add po-debconf support; Set strings in -common translatable
(nothing else yet). Required for lenny and up.
* Cosmetic fixes in control (lintian warnings).
* Fix copyright file (lintian warnings).
* Add LSB sections for both -rep and -bld init scripts.
* Explicitly use "bash" for *.config scripts, as we use bash addons.
* rules: Fix: Swap arch and indep targets.
-- Stephan Suerken <stephan.suerken@1und1.de> Fri, 08 Aug 2008 16:26:40 +0200
mini-buildd (0.7.8~ui40+1) etch-ui; urgency=low
* Add numeric version support for lenny (5.0).
-- Stephan Suerken <stephan.suerken@1und1.de> Fri, 08 Aug 2008 11:36:08 +0200
mini-buildd (0.7.7~ui40+1) etch-ui; urgency=low
* logrotate: Redirect stdout to /dev/null for restart (avoids unnecesary
mails from cron).
-- Stephan Suerken <stephan.suerken@1und1.de> Thu, 17 Jul 2008 16:21:41 +0200
mini-buildd (0.7.6~ui40+1) etch-ui; urgency=low
* cron.daily: Fix: If package is removed, but not purged, exit silently.
* preinstall: On FTBFS, don't auto-retry, but move DSP to directory FTBFS
in logs (like for REJECT). Hint to re-upload to retry.
Note: Former behaviour makes sense for missing dependencies that will
eventually be fullfilled after another build; however, real life shows
that the reason is just a plain error in the package for nearly all cases,
so it does not really do anything useful but spam us.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 16 Jul 2008 13:32:42 +0200
mini-buildd (0.7.5~ui40+1) etch-ui; urgency=low
* Adapt package to changes now applied to mini-dinstall 0.6.25/debian:
- mbd-update-rep: Remove "apt_ftparchive_usecache = 1" (in the debian
package's patch, this can not be configured).
- mbd-update-rep: Change release_notautomatic to experimental_release
(name chaged in the debian package's patch).
- mbd-cruft: Add all ".cache.db" under rep/ for removal
(other location/name used the debian package's patch).
-- Stephan Suerken <stephan.suerken@1und1.de> Thu, 3 Jul 2008 17:14:41 +0200
mini-buildd (0.7.4~ui40+1) etch-ui; urgency=low
* Add support for db cache for apt-ftparchive (speeds up index updates);
- Needs mini-dinstall_0.6.25~ui40+0abgit6 (nop if not installed).
- mini-dinstall.conf: Add new option.
Fixes: @todo [mini-dinstall] Need speed increase for index file creation:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=225483
* .mini-dinstall.conf: chown_changes_files = 0.
Fixes: @todo [mini-dinstall] Changes files not readable for public.
* .mini-dinstall.conf: keep_old = 0 for *-experimental releases (i.e., only
keep newest version).
* standard dist: Make 1-9 start revision mandatory for versions
Example: "~mbd40+1".
experimental dist: Make a zero start revision mandatory for versions
Example: "~mbd40+0".
[ Usually, experimental uploads should look s.th. like "1.2-1~mbd40+0exp1"
so that a "normal" upload "1.2-1~mbd40+1" will always have a higher version. ]
* Cleanup, purging some obsolete functions: mbdCheckVersion.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 11 Jun 2008 11:01:14 +0200
mini-buildd (0.7.3~ui40+1) etch-ui; urgency=low
* Minor cleanup release.
.
* QALintian: Yet one more to ignore: source-nmu-has-incorrect-version-number.
* -bld: Some typos fixed in debconf template.
* setup-chroots: Add linux personality support for schroots; i386=linux32 only
for now. [Needed for multiarch builds, i.e. build i386 under amd64].
* Harden /etc/init.d/mini-buildd-rep:
- Depend on procps.
- Don't fail if started when already started.
- start/stop: Check for pids instead of just sleeping 5 secs.
- stop: Hard kill after 20 seconds if normal shutdown fails.
- ... and reniced output.
-- Stephan Suerken <stephan.suerken@1und1.de> Thu, 5 Jun 2008 16:57:54 +0200
mini-buildd (0.7.2~ui40+1) etch-ui; urgency=low
* Fix fix for mbd-update-bld ;(.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 4 Jun 2008 13:22:14 +0200
mini-buildd (0.7.1~ui40+1) etch-ui; urgency=low
* Minor bugfix release.
.
* mbd-preinstall: Fix path to changes file on arch build.
* mbd-update-bld: Use "-o APT::Install-Recommends=false" for apt-get when
updating the basis chroots (since apt 0.7.7, recommended packages are
installed per default).
* Cosmetics: Fix var order in mini-buildd.conf.
* QALintian: Fix for ignore pattern: Omit trailing space.
* .mini-dinstall.conf: Regression: Re-add arch "all".
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 4 Jun 2008 12:54:12 +0200
mini-buildd (0.7.0~ui40+1) etch-ui; urgency=low
* **Happy chroot release**
.
* bld: New chroot management:
* bld/chroots: New layout for the sources.lists to use in chroots:
DIST/base.any.list 1x: Sources for the base dist (any arch).
DIST/base.ARCH.list nx: Sources for the base dist (special archs).
DIST/mbd.any.list 1x: Sources for the mbd repository (any arch).
DIST/extra.any.list 1x: Extra sources (any arch).
DIST/extra.ARCH.list nx: Extra sources (special archs).
No extra files involved; all configured on -rep in ~/.mini-buildd.conf.
* Add hook for schroot: /etc/schroot/setup.d/99mini-buildd:
* Automates creation of sources list on chroot creation.
* Allows different sources.lists for -source or build chroots (snapshots),
and for snapshots between standard and experimental.
* Auto-updating of apt cache.
* mbd-update-bld: Update to new layout (no arch support yet).
* mbd-cruft: Add now-obsolete files under chroots to cruft.
* setup-chroots: rename lv names for chroots: DIST-ID to mbd-DIST-ID-ARCH. The prefix
makes more clear what the lvs are for, avoids lv-namesspace pollution;
the arch postfix allows multiarch chroots on on bld host (e.g., amd64+i386).
* preinstall, QABuild: Support for multiarch:
- Temporary build dir now has additional -ARCH suffix.
- Run checks/builds per arch, not per build host.
* Update to sbuild 0.57.2 (we need the --chroot option).
* Update to sbuild 0.57.3 (we need a bug fix from that version).
* debconf: Adapt to new chroot management:
* mini-buildd.conf: +"mbd_archs", ask for the bld host for all archs, write to +"mbd_bldhost_ARCH".
* mini-buildd.conf: +"mbd_src_DIST_base_any", ask for special arch source for all archs, write to +"mbd_src_DIST_base_ARCH".
* mini-buildd.conf: +"mbd_src_DIST_extra_any", ask for special arch source for all archs, write to +"mbd_src_DIST_extra_ARCH".
* mini-buildd.conf: -"mbd_bldhosts" (obsoleted).
* mini-buildd-rep.conf: -"mbd_debian_mirror" (obsoleted).
* Fix all defaults/on-the fly defaults. In a standard install with default values,
you now get a working buildd for localhost's native arch called etch-`hostname`.
* rep+bld postinstall: Update to new debconf scheme.
* 99mini-buildd: Update to new debconf scheme.
* new cruft added: bld/chroots/*/*.
* Remove all bld extra file logs (lvm setup, chroot setup, chroot update), use
MBD_LOG instead (=> continuous logging, no worry about rotating, etc).
* new cruft added: All logs under bld/chroots/.
* lib/*: Update to new syntax of mbd_dists.
* mbd lib: New generic function mbdGenSources (moved from 99mini-buildd) to generate
sources lists on the fly.
* bld config: Add mbd_bldhost ID; suck rep config in config, and add dynamic selection question.
* Update all lib/*.
* setup-chroots/schroot.conf: Write two configs, one more for -experimental; else we can't
distinguish in schroot setup.
* Dynamic sources list support for *-experimental.
* Updated html overview page:
- Support to show -expermiental.
- Show buld dependencies.
- Detailed view via js.
- Fix HTML to validated HTML.
* update-rep: Fix for multiarch: Only run update-bld per bld host, not arch.
* Update dep to mini-dinstall >> 24 (0.6.25 private git branch currently):
- mini-dinstall.conf: Add release_notautomatic = 1
* .sbuildrc: Add apt_policy=1, so we can satisfy dependencies via all sources we added.
* Add "ccache" support (add path to .sbuildrc, add ccache to extra packages).
* update -bld prerm (lvm) for new setup.
.
* Miscellaneous:
* control: Depend on mini-dinstall >> 0.6.23 (ui-etch-bpo available). Fixes
@todo [mini-dinstall] Allow apt-get update during index generation: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=324855 (NMU fix unstable).
, among other things.
* cron: Send output of nightly updates to configured mail address. Fixes
@todo cron: MAILTO (?).
* sbuild: Set sbuild_mode to user; simplifies error handling in "build" qa test.
* Fix: Add "build-essential" to list of extra packages for base chroots; this is
needed because since dpkg-1.14.16, this is checked and hence a requirement for
package building.
Compare:
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=402901
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480638
* update-bld: Fix: For chroot updater, add DEBIAN_FRONTEND="noninteractive" env to avoid
any debconf questions: Fixes
@todo [chroots]: Sarge && debconfig non-interactive per default?
* Fix: .sbuildrc must have "1;" at end ("perl needs this".)
* .sbuildrc: put all generic options to .sbuildrc.
* QACheckNew: Fix for experimental: If dist is -experimental, we
should also check non-experimental and vice versa.
* QACheckOrig: Fix for experimental: If dist is -experimental, we
should also check non-experimental and vice versa.
* -rep: Note after configuration; show URL and important notes.
Fixes: @todo [deb] For -rep: debconf finals: Note that points to mini-buildd overview URL.
* QACheckLintian: Ignore "menu-item-creates-new-root-section": for lintian <= etch, this is
an ERROR, but imho should be a WARNING only, and not let builds fail.
* QACheckLintian: Ignore "changelog-should-mention-nmu": Does not make sense for mini-buildd.
* Autobuild binary packages *.changes files will now be signed with our GPG key.
Fixes: @todo GPG signing of auto-build packages.
* Rotating support for the mini-dinstall.log file:
- Recommend logrotate (rep+bld).
- Add logrotate.d for rep: weekly/5; restart after rotating.
* Add debconf note for *-common in postrm: Warn before purging user mini-buildd if it
has a repository.
Fixes: @todo [deb] Warn before purging package && repository.
* setup-chroots: Fix: Remove temporary schroot conffile.
* setup-chroots: Add -d "delete" option (analogous to setup-lvm).
* setup-lvm: Fix for -d "delete": Also remove pv via pvremove.
* -bld, prerm:
- Call "setup-chroots -d" on "remove" (removing redundant code).
- Call "setup-lvm -d" on "remove" (new feature: auto-lvm removal).
* -common: postrm: make it (more) idempotent.
.
* Items from TODO.Debian fixed by (above) structural changes:
- @todo *-experimental: Integrity checks.
- @todo [brain] Minimal dependency building.
- @todo [schroot] Depend on schroot 1.1.4 (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=391319). No bpo yet.
- @todo Support for more than one arch in one bld-host.
- @todo Apt cache of build chroots should be updated before each build run.
- @todo HTML overview: Update for *-experimental.
- @todo HTML overview: Update for new chroot setup (sources lists).
- @todo [mini-dinstall] Experimental (Non-Automatic) support: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=336232
- @todo [deb] rep,bld: Current: manually edit file ${ID}.sources.list.extra on -bld for extra sources list (e.g. bpo);
make this generically configurable via debconf in -rep.
- @bug [auto-lvm/deb]: When installing -bld only, setup-lvm is called before update-bld, and hence fails:
/usr/lib/mini-buildd/mbd-setup-lvm: line 4: /home/mini-buildd/.mini-buildd.conf: No such file or directory
- @todo [auto-lvm]: Debug problems on initial setup.
-- Stephan Suerken <stephan.suerken@1und1.de> Tue, 3 Jun 2008 10:49:54 +0200
mini-buildd (0.6.5~ui40+1) etch-ui; urgency=low
* Fix: Add verify_sigs = 0 to .mini-dinstall.conf (defaults to 1 when debian-keyring package
is installed; we don't want this enabled ever at the moment.
* Fix: Ignoring lintian error "no-description-in-changes-file": since dpkg 1.4.16: Changes
files in source only uploads have no description field any more.
-- Stephan Suerken <stephan.suerken@1und1.de> Fri, 25 Apr 2008 17:36:25 +0200
mini-buildd (0.6.4~ui40+1) etch-ui; urgency=low
* Per dist, add new distribution "*-experimental". This ist NOT staging,
but really just yet another repository. Packages uploaded to experimental
will always stay there, seperately; it just uses the same framework
to build packages, a new upload to "*" is needed to get it to the
actual distribution.
Note that *-experimental distributions can not yet satisfy build-deps
from themselves.
* Smaller enhancements:
- In mails, always give distribution; most notably, to see what packages
are uploaded to experimental.
- mdb-setup-chroots: Change chroot fs type to ext2 (was ext3 ?!);
we really have no need for journalling here. May speed up things
somewhat.
- *-bld/debconf: Put mirror and lvm setup items to high prio (was
medium); you almost always want to change these.
* Bug fixes:
- mbd-update-rep-html, mbd-update-bld: Make some logger lines
that may have empty args not wait on input. Fixes some update
scripts just idling around (under sid's logger version).
- schroot.conf: Increase snapshot size to 4G (was 2G). This will
workaround the phenomena described in
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=471545
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 19 Mar 2008 19:21:09 +0100
mini-buildd (0.6.3~ui40+1) etch-ui; urgency=low
* preinstall: Cosmetic: Show arch on postbuild check notice "no changes".
* qa-check: UploadDSP: Cosmetic: Don't use -v for scp.
* common: Fix mbdParseCF for inline PGP signatures.
* qa-check: Fix typo in uploadDSP, breaking orig.tar.gz-from-rep upload.
-- Stephan Suerken <stephan.suerken@1und1.de> Thu, 6 Dec 2007 13:34:50 +0000
mini-buildd (0.6.2~ui40+1) etch-ui; urgency=low
* mbd-preinstall/postbuild: Fix: Only run if changes file is present (if there is no package to build).
* mbd-common.sh: Cosmetic: Make the internal error status text BIG.
* mbd-qa-check: Cosmetic: No need to clean any files after remote tests.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 5 Dec 2007 18:19:20 +0000
mini-buildd (0.6.1~ui40+1) etch-ui; urgency=low
* mbd-cruft: Under bld/, we should remove all "*.tar.gz", not only "orig.tar.gz".
* mbd-cruft: Under bld/, we should also remove "*.udeb".
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 5 Dec 2007 17:51:04 +0000
mini-buildd (0.6.0~ui40+1) etch-ui; urgency=low
* Backport for etch.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 5 Dec 2007 16:07:21 +0000
mini-buildd (0.6.0) sid-ui; urgency=low
* Milestone 0.6 summary (see other cl entries for encrypted details):
o Fully automatic "lvm via loop device" configuration option
This greatly eases the setup and maintentence of test systems or
systems w/o "proper" pre-setup lvm.
o Thorough script cleanup; user visible changes:
- All scripts prefixed w/ "mbd-" to avoid namespace pollution when
adding the library to PATH.
- All scripts using a getopt library, proper command line arguments
and a usage help (via -h).
o Complete new scheme for the autobuild processing:
Everything* that is done during the autobuild process is a QA-Check
on a debian changes file, resulting each in 0=FINE, 1=WARN or 2=FAIL
status code and a log file (* i.e., a build run on arch X is also just
a QA-Check).
If any of the QA checks in the sequence results in "FAIL", the autobuild
run is stopped. If no check results in FAIL, the status is 0=BUILT; if
the failing check was a build check, the autobuild run status is 1=FTBFS,
else 2=REJECT.
The overall status mail's subject now always reflect this (e.g.
"FTBS: mypkg_1.2.3-1"); in the body, information adapted to the
respective status is delivered. No log output is pasted here
directly any more but, if needed, links to repective QA check logs
on the repository host.
Binary uploads are just installed quietly unless they don't originate
from mini-buildd autobuilder hosts; then, the special status "DISCARD"
is used.
Build run statuses overview:
- BUILT : OK=Source package build, binary packages uploaded.
- FTBFS : Problems building, but retrying later.
- REJECT : Unfixable errors, upload moved to REJECT/.
- DISCARD: Binary upload not allowed, upload removed.
- INTERNAL: Indicates a bug in mini-buildd or its setup.
o New QA checks:
- New: Check that the to-build source package is not already in repository.
- Orig: Warn on reupload, reject on different files.
o New file and directory layout:
On build hosts, we only have directories "chroots/" (for auto lvm
setup when used) and "builds/" under bld/.
"builds/" is used as location for temporary build directories;
nothing is stored permanently on bld hosts any more (even the orig tarball
is copied on demand from the repository).
All actual data (log and state of check runs) of an autobuild run is hold on
the repository host only in the new directory "log"; under that dir, the
data is hold in a structure PACKAGE/VERSION/UTC-STAMP/.
o All qa-checks run on all bld hosts are now run in parallel.
.......................................................
Details below
* -bld: New directory "bld/chroots/"; this is for all chroot-related
files and the upcoming automatic lvm vg via loop images.
=> Obsoleted files under $HOME that may be removed eventually:
DIST.setup-chroots.log DIST.update.log DIST.sources.list.
* setup-lvm: @todo LOOPDEV is hardcoded.
* setup-lvm: Add attach (-a) support (for use in rcS scripts).
* build: Ignore "bad-version" lintian error (workaround for lintian on
sarge erroring on Tilde-Versioning).
* scripts: Setup sane naming conventions and fixed all scripts.
* cleanup: rename tope level src/ to lib/.
* update-common: Support to have library path in .profile.
* lib: Add "cruft" script to (manually) remove cruft from earlier
versions of mini-buildd.
* update-common: Make file temporary: gpg_key_template; add to cruft.
* update-bld: Remove adding of our own GPG key for apt-key: sbuild works
around this itself. Obsoletes repository_signing_key.asc file, added to
cruft.
* all scripts: Add "mbd-" prefix (names and calls).
* mbd-sign-release: Create to tmp first, then move (incr availability).
* lib: Add mbd-libopt.sh getopt parser library.
* mbd-build: getopt update.
* mbd-preinstall: getopt update.
* mbd-cruft: getopt update; fix variable naming; fix logging.
* mbd-setup-chroots: getopt update.
* mbd-setup-lvm: getopt update.
* mbd-sign-release: getopt update.
* mbd-update-*: geopt update.
* common.sh: Add mbdCatUrl, update mbdGetUrl using that.
* common.sh: Update ssh keyring tool so we don't need a temporary file.
Obsoletes *.ssh_key.asc, added to cruft.
* Building in extra directory bld/builds/ (was: top level bld/).
* mbd-cruft: treat all build files in bld/ (rm *, mv orig.tar.gz).
* mbd-cruft: Use -u (update) rather than -d.
* mbd-update-rep: Add new top level directory "log".
* mbd-build: sbuild call: Use --nolog, use own logfile name.
* .sbuidrc: Change log dire to /tmp/ (we don't log anywhere anymore).
* cruft: Obsolete "bld/logs".
* mbdParseCF: Also parse "Source" entry.
* preinstall: new logfile: logs/PACKAGE/VERSION/DATE/TYPE.log.
* mdb-qa-check: New tool to simplifiy and generalize running qa checks.
* mbd-*: Use extra dir per package under bld/builds/.
* rep/mini-dinstall/REJECT/ obsoleted (cruft); moved to respective log directory.
* Remove upload in DISCARD (not reject); fixup info mail.
* mini-dinstall: Skip mail sending on success.
* dput.cf: generate in common, obsolete rep/dput.cf and download on bld hosts.
* Add support for /etc/default/mini-buildd-rep: en/disbale start of daemon.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 5 Dec 2007 15:59:07 +0000
mini-buildd (0.5.1) etch-mini-buildd; urgency=low
* Bugfix release.
* Use --ignore-missing when updating chroots.
* update-bld: Add Workaround for Debian Bug #327477 (bash building).
* common.sh: parse_changes_file: Make it work for signed changes files.
-- Stephan Suerken <stephan.suerken@1und1.de> Mon, 24 Sep 2007 12:58:22 +0000
mini-buildd (0.5.0) etch-mini-buildd; urgency=low
* "Milestone" (0.4->0.5): This release basically adds more QA:
- Adopting versioning scheme from bpo; packages not complying are
rejected.
- Direct binary uploads (i.e., not from mini-buildd) are detected
and rejected.
- Packages w/ lintian errors now fail to build (and are not installed).
This release also fixes a lot of pending smaller todos in one go (see cl).
* update-rep-html: Show mandatory version part per dist.
-- Stephan Suerken <stephan.suerken@1und1.de> Thu, 20 Sep 2007 13:46:48 +0000
mini-buildd (0.5.0~pre.5) etch-mini-buildd; urgency=low
* common.sh: Fix changes file parsing (leading space).
* preinstall: On reject (version, binary upload): Move package to REJECT directory.
* update-rep-html: Include links for incoming and rejected.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 19 Sep 2007 15:48:16 +0000
mini-buildd (0.5.0~pre.4) etch-mini-buildd; urgency=low
* @todo Automatic error prevention: REJECT wrong version number. This adapts the versioning
scheme as described for backports.org. See
http://www.backports.org/dokuwiki/doku.php?id=contribute .
* @todo Automatic error prevention: REJECT direct binary uploads.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 19 Sep 2007 14:16:08 +0000
mini-buildd (0.5.0~pre.3) etch-mini-buildd; urgency=low
* common.sh: urlget_file will now write a dummy file on download error if none
exists yet; fixes possible stalls on -bld package removal when the configured
rephost does not work.
* @todo [deb] preconfigure fails: No common.sh when configuring -rep. Variables
are copied now and need to be synced if needed.
* update-bld: Rename file for extra sources.
* update-rep: Configure rep w/ keep_old = 1 again (not the reason sbuild fails sometimes).
* -bld: debconf templates: Add descriptions for all items.
* -rep: debconf templates: Add descriptions for all items.
* control: Add package description.
-- Stephan Suerken <stephan.suerken@1und1.de> Tue, 18 Sep 2007 16:56:19 +0000
mini-buildd (0.5.0~pre.2) etch-mini-buildd; urgency=low
* @todo [deb] on --purge: mini-dinstall unix socket file is not removed.
* init.d: Remove obsolete/false status display.
* @todo [deb] update-rep: Restart mini-dinstall.
* @todo [deb] run update-rep from cron daily.
* @todo [deb] -p (postinstall) option for running update scripts from postinstall.
* @todo [deb] update-rep: autorun update-bld on all builders (as there might be config changes).
* @todo [deb] bld: on package removal: Also remove lvm logical volumes.
* @todo [deb] bld: on package removal: Also remove config snippet in schroot.conf.
-- Stephan Suerken <stephan.suerken@1und1.de> Mon, 17 Sep 2007 16:21:47 +0000
mini-buildd (0.5.0~pre.1) etch-mini-buildd; urgency=low
* update-bld, setup-chroots: Add CHROOT_EXTRA_PACKAGES variable; remove obsolete
"zile"; add "lintian". Only install in update-bld, not in setup-chroot.
* build: Add lintian test; passing test w/o errors (except bad-distribution-in-changes-file)
is now mandatory for uploads.
-- Stephan Suerken <stephan.suerken@1und1.de> Thu, 13 Sep 2007 18:09:20 +0200
mini-buildd (0.4.0) etch-mini-buildd; urgency=low
* "Milestone" (0.3->0.4): This release moves the actual "autobuild" part
from mini-dinstalls postinstall to the preinstall, and copies DSP rather
than relying on the repository itself to have them installed; this fixes
various pending problems:
- No need to have a (guessed) timeout waiting for indexes to be updated
before auto-building.
- No installation on the actual repository until all configured archs are
successfully build.
- Works around sbuild's "sporadically not updating package list"
behaviour.
This release also uses reniced logging throughout all scripts (see daemon.log),
improved error handling (logs mailed on failure) and the ability to configure
specific mirrors for base distributions (sarge/amd64 problem).
* Cosmetic fixes for logging and mail.
-- Stephan Suerken <stephan.suerken@1und1.de> Tue, 11 Sep 2007 16:32:09 +0000
mini-buildd (0.3.6) etch-mini-buildd; urgency=low
* preinstall: upload: Fix: Ignore arch upload failures, log "skipping" instead.
-- Stephan Suerken <stephan.suerken@1und1.de> Tue, 11 Sep 2007 11:12:39 +0000
mini-buildd (0.3.5) etch-mini-buildd; urgency=low
* common.sh: parse_changes_file: Also add changes file itself to list of files.
* preinstall: update for above (give unqualified changes file).
-- Stephan Suerken <stephan.suerken@1und1.de> Tue, 11 Sep 2007 09:29:11 +0000
mini-buildd (0.3.4) etch-mini-buildd; urgency=low
* Adding experimental setup-lvm script.
* postinstall -> preinstall.
* preinstall: Until we have a better solution: Don't build parallel, fail if one build fails.
* preinstall/update-bld: scp DSP, don't rely on a deb-src line in build chroot;
also obsoletes sleep before build runs.
* Add extra build script.
* preinstall: Change build logic: 1st, build for all archs; if all were successfull,
upload all archs and return success.
* Only one error mail per source, including proper logs now in the body.
-- Stephan Suerken <stephan.suerken@1und1.de> Mon, 10 Sep 2007 16:33:22 +0000
mini-buildd (0.3.3) etch-mini-buildd; urgency=low
* NOTE: If you update, you need to reconfigue -bld and adapt the debian mirror
configuration.
* -bld config: Update mbd_debian_mirror to have a default mirror plus specific
mirrors per dist if needed.
* Logging: All scripts now use logging for informational output; logs for
chroot setup and update go to seperate files.
* setup-chroots: Add "-f" option to re-generate all chroots.
* update-bld: Update chroots: Use pipe to schroot rather than different calls
(significant speed improvemnet); further refine error handling.
-- Stephan Suerken <stephan.suerken@1und1.de> Thu, 6 Sep 2007 15:05:09 +0000
mini-buildd (0.3.2) etch-mini-buildd; urgency=low
* update-bld: Also apt-clean source chroots to avoid pkg cache hanging around.
* control: Fix: sbuild dep must be in common as we use group sbuild for mini-buildd.
* update-rep-html: Design fixes for <ul/>.
-- Stephan Suerken <stephan.suerken@1und1.de> Thu, 6 Sep 2007 08:21:44 +0000
mini-buildd (0.3.1) etch-mini-buildd; urgency=low
* setup-chroots: Avoid broken schroot.conf on error; also better error handling
when chroot creation fails.
* -bld: postinst: Fix order to be able to reconfigure after the -rep has new dists
so newly needed chroots are auto-created.
* setup-chroots: Always also trigger a -bld update.
-- Stephan Suerken <stephan.suerken@1und1.de> Tue, 4 Sep 2007 16:43:19 +0000
mini-buildd (0.3.0) etch-mini-buildd; urgency=low
* "Milestone": This release adds
- lvm support (chroots must be in lvm logical volumes now),
- auto-setup for chroots and a
- nice html overview page.
* control: -bld: Add dep for lvm2, debootstrap.
* config: -bld: Add rephttphost (obsoletes rephost+httpport), mbd_debian_mirror, mbd_lvm_vg.
* Initial setup-chroots script.
* update-bld: Auto-create chroot sources lists.
* update-rep: Add "proper" html index file; obsoleting html index on -bld.
* update-rep: mini-dinstall config: Use keep_old = 0 for now (multiple sources confuse sbuild).
-- Stephan Suerken <stephan.suerken@1und1.de> Tue, 4 Sep 2007 14:26:12 +0000
mini-buildd (0.2.1) etch-mini-buildd; urgency=low
* Fix: mini-dinstall.conf: Fix arch line creation.
* control: Fix inter-package dependencies.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 29 Aug 2007 14:44:59 +0000
mini-buildd (0.2.0) etch-mini-buildd; urgency=low
* "Milestone": Adds auto-configuration for -bld (being a slave to the
already configured -rep), auto-configuration for the ssh keychain,
ssh+http port configuration items -- and has many bugs and quirks
fixed.
* -rep config: Cleanups, support ssh+http port.
* -rep config: Add on the fly defaults for rephost and mail.
* -bld: add "zero-debconf": Only ask for rephost and download config from there.
* -bld+rep: Auto-update mechanism for ssh keyrings.
* control: Need wget, add dep for -common.
* -rep: Add on-the-fly default for mbd_bldhosts.
-- Stephan Suerken <stephan.suerken@1und1.de> Tue, 28 Aug 2007 16:26:14 +0000
mini-buildd (0.1.3) etch-mini-buildd; urgency=low
* update-*: Output cosmetics; dput.cf is also now always updated.
* postinst: typeo fix ;(.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 22 Aug 2007 14:04:28 +0000
mini-buildd (0.1.2) etch-mini-buildd; urgency=low
* update-rep, postinstall: use "mini-buildd-$appendix" as generic id for
dput.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 22 Aug 2007 13:47:43 +0000
mini-buildd (0.1.1) etch-mini-buildd; urgency=low
* update-common: Remove temporary use of port 24 for ssh.
* update-rep: Change file name ".dput.cf -> "dput.cf", so its per
default shown in http index.
* update-rep: Fix dput name to more generic "mini-buildd@HOST".
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 22 Aug 2007 13:07:58 +0000
mini-buildd (0.1.0) etch-mini-buildd; urgency=low
* "Milestone": The repository part is configurable via debconf,
all config files are created automatically, automatic ssh/gnupg
handling is in place. This release will be used to build an
initial installation for further testing.
* Clean up public names for ssh+pgp key.
* Establish $HOME/.mini-buildd.conf in -rep as master config file.
- Use debconf to create the file in -rep.
- Use in all update-* scripts.
- Add common.sh to reduce redundancies in scripts.
* debian: Prepare to use debconf for mini-buildd-rep:
- Add initial template w/ all configuartion options.
- postinst: Update to write config file.
- rules: call dh_debconf.
- config: Add initial debconf configuration script.
* Add logging facility via syslog: See /var/log/daemon.log, tag "mini-buildd".
* update-*: Always rewrite automatically produced config (even if they exist).
-- Stephan Suerken <stephan.suerken@1und1.de> Tue, 21 Aug 2007 13:05:32 +0000
mini-buildd (0.0.8) etch-mini-buildd; urgency=low
* Status: Cleanup the way we run the builder -- i.e., only on
source-only uploads; scripts now prepared to use "std" pkg
configuration.
* Add TODO and README.Debian.
* postinstall: Replace python script w/ shell script by now:
- we can simply source sh config in later.
- much simpler logic: When upload is ARCH=SOURCE (i.e., source only
upload), feed bld. Else, do nothing.
- Skipping mail sending on every binary package.
- Skipping buggy sending of NEWS.Debian file (does not always exist).
- Mail sending will be ahndled later.
* postinstall: Embedding build script.
-- Stephan Suerken <stephan.suerken@1und1.de> Thu, 16 Aug 2007 17:05:59 +0000
mini-buildd (0.0.7) etch-mini-buildd; urgency=low
* Status: Bugfix/cleanup only release.
* Fix: postinst rep+bld: don't call adduser.
* Fix: Add additional real http (apache2-mpm-worker) package dep.
* Put all helper scripts to lib/mini-buildd, as they don't really belong to usr/bin.
-- Stephan Suerken <stephan.suerken@1und1.de> Thu, 16 Aug 2007 15:09:22 +0000
mini-buildd (0.0.6) etch-mini-buildd; urgency=low
* Status: This revision has the needed pkg split and a new directory layout
for /home/mini-buildd; purge old mini-buildd package before trying this.
* control: Fix arch to all, not any.
* Splitting package: common, rep, bld:
- Splitting mbd-update-home: mbd-update-common, mbd-update-rep, mbd-update-bld.
- debian/*: Many updates to cope with new multi-pkg setup.
* mbd-update-*: Changed directory layout for /home/mini-buildd/.
-- Stephan Suerken <stephan.suerken@1und1.de> Thu, 16 Aug 2007 12:52:35 +0000
mini-buildd (0.0.5) etch-mini-buildd; urgency=low
* Status: This revision should be able to actually autobuild
for dist "unstable"; restrictions:
- bld-host == rep-host, and only one bld-host.
- proper schroot setup for a chroot named "unstable" is provided beforehand.
* Fix: Use system user for mini-buildd.
* mbd-update-home: Support for .sbuildrc.
* use shortcuts "rep" and "bld" for the repository and build parts, resp.
* "Auto-ssh-key" support; dep to openssh-cleint.
* Missing dep: mailx.
* postinst: Make added user mini-buildd --ingroup sbuild.
* Many smaller fixes.
-- Stephan Suerken <stephan.suerken@1und1.de> Wed, 15 Aug 2007 16:58:36 +0000
mini-buildd (0.0.4) etch-mini-buildd; urgency=low
* control: Add dep for httpd.
* mbd-update-home: Clenaups.
* mbd-update-home: Support "public_html" link.
* mbd-update-home: Rudimentary HTML index file support.
-- Stephan Suerken <stephan.suerken@1und1.de> Tue, 14 Aug 2007 14:12:16 +0000
mini-buildd (0.0.3) etch-mini-buildd; urgency=low
* mbd-update-home: Add support for ".dput.cf".
* control: Add dep for dput.
* mbd-update-home: Add support to generate gnupg signing key automatically (for apt-secure).
* control: Add dep for gnupg.
-- Stephan Suerken <stephan.suerken@1und1.de> Tue, 14 Aug 2007 12:24:03 +0000
mini-buildd (0.0.2) etch-mini-buildd; urgency=low
* dirs: add usr/lib/mini-buildd for scriptlets to be used by mini-buildd only.
* Fix: build script: Use mini-buildd user.
* debian: Mv preinst code back to postinst (we need postinst, no need to keep
two files w/ init script fixed); also revert pre-depends -> depends for adduser.
* Add mbd-update-home tool; calling that from postinst.
* rules: Install mbd-update-home to usr/bin.
* lib/mini-buildd: Add "sign-release".
-- Stephan Suerken <stephan.suerken@1und1.de> Mon, 6 Aug 2007 17:13:13 +0000
mini-buildd (0.0.1) etch-mini-buildd; urgency=low
* Debian native package, initial release:
- Initial debian skeleton.
- /usr/bin/mbd-build: Included "/usr/local/bin/build" from prototype.
- /usr/bin/mbd-postinstall: Included "/home/debian/bin/postinstall" from prototype.
- init.d: Initial version added.
- preinst: .mini-dinstall.conf: Initial version from prototype added.
- preinst/postrm: add/del dedicated user "mini-buildd".
-- Stephan Suerken <stephan.suerken@1und1.de> Mon, 6 Aug 2007 15:17:01 +0000
|