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
|
4.3.2 -> 4.4:
- pentium3/pentium4 arch support (pluto@PLD).
- cpuid() cleanups for PIC/non-PIC and gcc 3.4 (pluto@PLD).
- rpmGlob() is now locale independent (wiget@PLD).
- conditional build support/unification (jajcus,malekith,qboosh,wiget@PLD).
- fix: readelf.c breakage on some non x86 arches (qboosh@PLD).
- find-lang.sh: implemented --with-kde (finds KDE help files);
- add --all-name option (finds every lang file); drop defattr()
from *.lang files (arekm,mkochano,pascalek,wiget@PLD).
- add type to tag array.
- add Disttag: syntax to spec file parser and header content.
- define Suggests:/Enhances: and Priority: tag values.
- prevent RPMSENSE_PREREQ from being set or tested.
- python: add rpm.ps() object to carry problem set info.
- python: permit rpm.ds() analogue to hdr.dsFromHeader() creator.
- python: permit rpm.fi() analogue to hdr.fiFromHeader() creator.
- silently add default %defattr(-,root,root) for all packages.
- fix: don't set handler if SIG_IGN is already set (#134474).
- disable expensive header+payload verifies in default config.
- adjust digest/signature stats to count #pkgs and bytes.
- obsolete Serial:, Copyright:, and RHNPlatform: syntax in spec files.
- permit Obsoletes: /path/to/file.
- permit Conflicts: /path/to/file.
- free rpmrc when looping on --target arches (#127730).
- port to internal file-4.10 libmagic rather than libfmagic.
- fix: handle non-unique dirnames in rpmalAdd().
- integrate rpmgi "generic iterator" with query/verify.
- bump popt version to 1.10.
- attempt dependency tree breadth, take 1.
- use external libneon for http/https transport.
- add --delsign to purge packages of digital signatures.
- neon used by default for http/https transport.
- upgrade to db-4.3.21 final internal.
- remove noNeon runtime switch, http through neon only.
- remove http put to be able to build against upstream neon.
- bump soname into libfoo-4.4.so everywhere.
- sparcv8: optflags changed to -mtune=ultrasparc (#140420).
- add BuildRequires: neon-devel.
4.3.2 -> 4.3.3:
- bump micro version.
- make peace with libtool-1.5.10 and automake-1.9.3.
- python: add python 2.4 support.
- selinux: use rpm_execcon, not execv, to run scriptlets (#136848).
- fix: segfault on --verifydb (#138589).
4.3.1 -> 4.3.2:
- use /etc/selinux/targeted/contexts/files/file_contexts for now.
- disable file contexts into package metadata during build.
- fix: "/path/foo.../bar" was losing a dot (#123844).
- lua embedded in rpmio.
- use lua to identify desired selinux file context regexes.
- add 'requires' and 'conflicts' tag aliases.
- python: return ds, not tuple, for ds iteration.
- python: permit integer keys to ts.dbMatch().
- xml: use <foo/> markup for empty tags.
- xml: <integer/> instead of <integer>0</integer> markup.
- fix: disable fingerprint generation on kernel paths.
- add ppc8[25]60 arches.
- fix: evaluate rather than default file_contexts path. (#127501).
- avoid "can't happen" recursion while retrieving pubkeys.
- add ppc32dy4 arch.
- make peace with automake 1.9.1.
- fix: defattr for rpm-libs (#130461).
- print dependency loops as warning iff --anaconda is specified.
- fix: mark uninstalled elf32 files in rpmdb to disable -Va checks.
- ia64: add autorelocate_dcolor to macros.in.
- disable static linking until libc*.a provides symbols.
- fix: revert Obsoletes: "fix" (#134497).
- fix: work around for dangling symlinks not globbed (#134362).
- display caught signals to diagnose #134474 (gonna be SIGPIPE).
- display N-V-R.A in dependency failure messages.
- selinux: set "rpm_script_t" always, not just for /bin/sh.
- honor inherited SIG_IGN when establishing rpmdb signal exit (#134474).
- don't add time stamp to compressed man pages (#132526).
- python: remove ".A" from creaky ts.check() tuple return (#135008).
- python: fix RPMPROB_BADRELOCATE segfault return in ts.check (#137116).
- revert selinux patch until fc3 release.
- reprise file conflicts yet again, flip/flop/flip/flop ...
- fix: buffer overrun displaying ko_KR (#135389).
4.3 -> 4.3.1:
- fix: don't add leading space to %* argv expansion (#119059).
- scareMem = 0 everywhere, document deprecation phase out.
- fix: add u+w to FIXPERMS.
- add buildtime to rpmds, methods to retrieve.
- python: hide labelCompare() underneath ds.cmp(a,b).
- fix: segfault on --recontext if file_contexts unreadable (#117374).
- fix: /etc/security/selinux/file_contexts is default path.
- fix: no transaction lock if --test was specified (#119783).
- perl: skip new-fangled head[34] while generating deps (#118243).
- perl: use __perl for perl variable macros (#115156).
- make peace with libtool-1.5.6.
- fix: follow current is_selinux_enabled() return (#121004).
? fix: exit fail when erasing multiple identical packages (#120519).
- add aurora/sparc patches (#124469).
- use poll(2) if available, avoid borked aurora/sparc select (#124574).
4.2.3 -> 4.3:
- upgrade to zlib-1.2.beta7.
- fix: short option help missing string terminator.
- permit secondary tag match patterns with RPMQV_ALL.
- fix: cut-n-paste error setting nopromote for Conflicts: (#81965).
- don't use error string after gzclose (Dmitry V. Levin).
- only internal Berkeley db from now on.
- revive "make dist".
- fix: added index size wrong iff _transaction_color != 0/3 (#103865).
- fix: escape '+' in regex patterns through RPMMIRE_DEFAULT (#103851).
- RPMMIRE_DEFAULT is overkill, use RPMMIRE_STRCMP instead (#103851).
- don't use mktemp if mkstemp is available (#103850).
- python: return None for NEVRAO, [] for everything else.
- python: throw exception on bad arg to labelCompare (#113661).
- re-add --enable-posixmutexes to build.
- fix: set fcontext from pkg when file_contexts doesn't exist (#114040).
- fix: set fcontext for "mkdir -p" directories not in packages.
- fix: setfiles (aka rpmsx.c) dinna handle patterns correctly.
- establish rpm_script_t before scriptlet exec.
- python: add patch to rpm-4_3 to initialize RE contexts.
- fix: only first "mkdir -p" directory had context set.
- stable sort for policy specifications, patterns before paths.
- set "rpm_script_t" exec type for scriptlets iff /bin/sh, else default.
- force FD_CLOEXEC on 1st 100 inherited fdno's.
- serialize rpmtsRun() using fcntl on /var/lock/rpm/transaction.
- permit globs in macrofiles: directive (#117217).
- fix: segfault generating transaction serialization lock path.
- use /etc/security/selinux/file_contexts instead.
- selinux: ignore ENOTSUP return from lsetfilecon.
- add sparcv8 and enable elf32/elf64 Zon sparc64 (#117302).
- fix: --querybynumber looped.
- fix: ENOTSUP filter from lsetfilecon borkage.
- fix: increase file context regex parse buffer to BUFSIZ.
- fix: handle elf64 note sections correctly.
- fix: grrr, skip notes on non-i386 entirely.
- endian neutral rpmdb join keys (finally).
- fix: dev package build on s390x hack around.
4.2.2 -> 4.2.3:
- bump rpm and popt versions to insure "newer".
- change default behavior to resolve file conflicts as LIFO.
- add --fileconflicts to recover rpm traditional behavior.
- prefer elf64 over elf32 files, everywhere and always (#126853).
- ia64: auto-relocate entire, not partial, directory contents (#126905).
- ia64: auto-relocate glibc.ix86 interpreter path (#100563).
- shared libraries in separate rpm-libs package.
- fix: defattr for rpm-libs (#130461).
- fix: static glibc/libgcc helpers always installed (#127522).
- ia64: make sure that autorelocated file dependencies are satisfied.
- ia64: relocate all scriptlet interpreters.
- ia64: don't bother trying to preload autorelocated modules.
- fix: filesystem package needs mail/lock w/o getgrnam.
- fix: do getpwnam/getgrnam to load correct modules before chroot.
4.2.1 -> 4.2.2:
- unify signal handling in librpmio, use condvar to deliver signal.
- make peace with libtool-1.5, autoconf-2.59, automake-1.8.
- build with db-4.2.52 internal.
- refresh bsddb.
- detect (and remove) dbenv files while upgrading to db-4.2.52.
- ensure that librpmdb links against just built, not system, librpmio.
- fix: dangling pointer brain fart (#107835).
- fix: ds.Single() method needs malloc'd elements (#109919).
- convert ja and ko man pages to utf8 (#106050).
- man page corrections (#106415).
- perl.req typo (#106672).
- fix: wrong package count for trigger scriptlet 1st arg (#100509).
- fix: don't break header SHA1 if non-existent user/group (#97727).
- remove fuids/fgids from rpmfi, easier to lookup fuser/fgroup instead.
- merge sensible parts of openpkg rpm.patch.bugfix (#104780).
- mark _javadocdir as documentation (#102898).
- flush pipe before exit 1 in check-files (#103867).
- perl.req: avoid regex misfire on '^use' in "= <<" assign (#109934).
- find-debuginfo.sh: permit stripping unwritable by non-root (#112429).
- missing build dependency (#111104).
- spelling corrections (#112728).
- use -fPIC -DPIC on all platforms, not just mandatory (#112713).
- popt: pad to display length, not strlen, for i18n popt args (#106240).
- python: include Python.h before glibc features.h.
- python: return [], not None, accessing header tags (#112794).
- python: avoid invoking python to acquire ill-specified parameters.
- add ia32e arch.
- fix: sq->reaped needs sighold(SIGCHLD)/sigrelease(SIGCHLD) (#117620).
4.2 -> 4.2.1:
- fix: nested %if handling, optind initialization posix vs. glibc.
- add version check for package with provides and obsoletes.
- hack out O_DIRECT support in db4 for now.
- build with external beecrypt-3.0.0.
- x86_64 -> athlon, ppc64[ip]series -> ppc64 arch compatibility.
- treat missing epoch's exactly the same as Epoch: 0.
- pass structure pointer, not args, through headerSprintf call chain.
- add ":xml" header format modifier.
- --queryformat '[%%{*:xml}\n]' to dump header content in XML.
- add ".arch" suffix to erase colored packages with identical NEVR.
- update ja man pages (#92261).
- backport rpmsw stopwatch, insturment rpmts operations.
? toy method to enable --stats through bindings.
- fdCLose typo (#97257).
- brp-python-bytecompile to automagically bytecode compile python.
? update for fr.po (#97829).
- don't attempt to remove dbenv on --rebuilddb.
- autorelocate ix86 package file paths on ia64.
- resurrect manifests, RPMRC_NOTFOUND returned by readLead().
- python: missed tuple refcount in IDTXload/IDTXglob.
- fix: IDTXglob should return REMOVETID sorted headers (#89857).
- resolve elf32/elf64 file conflicts to prefer elf64.
- apply debugedit patch necessary to produce kernel -debuginfo files.
? ia64: autorelocate only colored, not every, file when installing.
? repair find-debuginfo.sh to avoid recursing in /usr/lib/debug.
? fix: ia64: don't attempt autorelocate on .src.rpm's.
? fix: debuginfo: -not -path /usr/lib/debug needed -prune too.
? fix: packages w/o file colors segfault.
? add amd64 as alias for x86_64 (#99553).
? fix: add -n to brp-compress to avoid needless file conflicts.
? fix: ia32 on ia64 segfaults because of automagic file relocations.
? speed up convertdb1 (#103206).
? revert i18n table change to preserve help array size.
? add config directories for ppc64pseries/ppc64iseries.
? filter GLIBC_PRIVATE dependencies.
- fix: check added provides against installed conflicts (#110317).
- changes for python 2.3
- changes for libtool-1.5
- changes for automake-1.7.8
- changes for db-4.2.42.
- splint fiddles.
4.1 -> 4.2:
- set cachesize without a dbenv, the default is far too small.
- db: don't return EACCES on db->close w/o environment.
- unify cachesize configuration, with (or without) a dbenv.
- comments regarding unsupported (yet) db-4.1.17 functionality.
- update to db-4.1.24 final.
- eliminate myftw, use Fts(3) instead.
- dump libelf, gulp elfutils, for now.
- python: permit headers to be hashed.
- use %%{_lib} for libraries.
- include file-3.39 (with homebrewed) libfmagic, for now.
- add debug sub-package patch.
- re-add elfutils/libdwarf (for dwarf.h), eliminate tools/dwarf2.h.
- resurrect genhdlist "greased lightning" pathway for now.
- elfutils: avoid gcc-3.2 ICE on x86_64 for now.
- add /usr/lib/rpm/rpmdeps.
- add /usr/lib/rpm/magic.
- fix: /dev/initctl has not MD5 segfault (#76718).
- rpm.8: gpg uses GNUPGHOME, not GPGPATH (#76691).
- add error message on glob failure (#76012).
- add _javadir/_javadocdir/_javaclasspath macros.
- fix: bash must have functional libtermcap.so.2.
- update to elfutils-0.56.
- have debug sub-subpackage use external, not internal, elfutils.
- apply patches 1-6 to db-4.1.24.
- resurrect availablePackages one more time.
- fix: option conflict error message (#77373).
- add AC_SYS_LARGFILE throughout.
- statically link rpmdeps against (internal) libfmagic.
- use rpmdeps rather than find-{requires,provides}.
- bundle libfmagic into librpmbuild for now.
- apply patches 7 and 8 to db-4.1.24.
- upgrade to elfutils-0.59.
- add -g to all platforms optflags.
- build with external elfutils (preferred), if available.
- upgrade to elfutils-0.63.
- link rpm libraries together, use shared helpers with external -lelf.
- move libfmagic to librpmio.
- use libtool-1.4.3, autoconf-2.56.
- add explicit -L/lib64 -L/usr/lib64 for libtool mode=relink on x86_64.
- use usrlib_LTLIBRARIES to install directly in /usr/lib64 instead.
- late rpmts reference causes premature free (#78862).
- internal automagic dependency generation (disabled for now).
- don't generate dependencies unless execute bit is set.
- enable internal automagic dependency generation as default.
- fix: add rpmlib(VersionedDependencies) if versioned Provides: found.
- fix: add %%ifnarch noarch to debug_package macro.
- debug_packages "works", but non-noarch w/o %setup has empty payload.
- make dependency generation "opt-in" in order to build in distro.
- fix: make sure each library has DT_NEEDED for all unresolved syms.
- generate Elf provides even if file is not executable.
- disable fcntl(2) lock on Packages until glibc+nptl is fixed.
- make cdb locks "private" for pthreads compatibility w/o NPTL.
- add --enable-posixmutexes to use NPTL.
- make dependency generation "opt-out" everywhere.
- rebuild against glibc with fcntl fixed in libpthread.
- re-enable CDB locking, removing "private" from %%__dbi_cdb macro.
- popt aliases for -U et al to achieve dynamic link with nptl.
- add --file{class,provide,require} popt aliases and header extensions.
- statically link against /usr/lib/nptl/libpthread.a, if present.
- remove popt aliases for -U et al.
- add -I/usr/include/nptl, Conflicts: kernel < 2.4.20.
- dynamically link /bin/rpm, link against good old -lpthread.
- test pthread_{mutex,cond}attr_setpshared(), add DB_ENV_PRIVATE if not.
- error on exclusive Packages fcntl lock if DB_ENV_PRIVATE is set.
- copy compressFilelist to convertdb1.c, remove internal legacy.h.
- add --enable-posixmutexes when configuring on linux.
- add rpmdb_{deadlock,dump,load,svc,stat,verify} utilities.
- include srpm pkgid in binary headers (#71460).
- add %check scriptlet to run after %install (#64137).
- simplify specfile query linkage loop.
- drill rpmts into parseSpec(), carrying Spec along.
- fix: remove rpmfi scareMem so that headers can be reloaded on ia64.
- fix: set DB_PRIVATE, not DB_ENV_PRIVATE, if unshared posix mutexes.
- remove useless kernel/glibc dependencies (#79872).
- add matching "config(N) = EVR" dependencies iff %%config is found.
- add %%pubkey attribute to read armored pubkey files into header.
- permit both relative/absolute paths, display 'P' when verifying.
- resurrect automagic perl(foo) dependency generation.
- add BETA-GPG-KEY (but not in headers using %%pubkey yet).
- disable perl module magic rule.
- ignore ENOENT return from db->close (#80514,#79314).
- fix builddir relative inclusion, add %%pubkeys to rpm header.
- fix: package relocations were broken (#75057).
- error if querying with iterator on different sized arrays.
- add rpmfi methods to access color, class, and dependencies.
- don't segfault with packages produced by rpm-2.93 (#80618).
- python: eliminate hash.[ch] and upgrade.[ch], methods too.
- fix :armor query extension, tgpg mktmp handling (#80684).
- use rpmfiFClass() underneath --fileclass.
- use rpmfiFDepends() underneath --fileprovide and --filerequire.
- python: add fi.FColor() and fi.FClass() methods.
- calculate dependency color and refernces.
- python: add ds.Color() and ds.Refs() methods.
- fix: typo in assertion.
- add rpmts/rpmte/rpmfi/rpmds element colors.
- ignore items not in our rainbow (i.e. colors are functional).
- fix: dependency helpers now rate limited at 10ms, not 1s.
- add per-arch canonical color, only x86_64 enabled for now.
- file: avoid ogg/vorbis file classification problems.
- portabilitly: solaris fixes.
- for DSO's, provide the file basename if DT_SONAME not found.
- add perldeps.pl, start to replace perl.{prov,req}.
- file: read elf64 notes correctly.
- python: put rpmmodule.so where python expects to find.
- add brp-strip-static-archive build root policy helper.
- add -lelf to rpm LDFLAGS, not LDADD, since there is no libelf.la now.
- fix: obscure corner case(s) with rpmvercmp (#50977).
- file: *really* read elf64 notes correctly.
- python: restore thread context on errorCB (#80744).
- teach rpmquery to return "owning" package(s) in spite of alternatives.
- duplicate package checks with arch/os checks if colored.
- file conflict checks with colors.
- fix: debugedit.c problem.
- permit anaconda to choose "presentation order".
- fix: more debugedit.c problems.
- fix: clean relocation path for --prefix=/.
- python: permit stdout/stderr to be remapped to install.log.
- pay attention to package color when upgrading identical packages.
- fix: trap SIGPIPE, close database(s).
- configurable default query output format.
- popt: diddle doxygen/splint annotations, corrected doco.
- file: fix ogg/vorbis file classification problems.
- skip fingerprints in /usr/share/doc and /usr/src/debug.
- add file(1) as /usr/lib/rpm/rpmfile.
- enable transaction coloring for s390x/ppc64.
- file: check size read from elf header (#85297).
- fix: memory leak (85522).
- build with internal elfutils if not installed.
4.0.4 -> 4.1:
- loosely wire beecrypt library into rpm.
- drop rpmio/base64.[ch] in favor of beecrypt.
- drop lib/md5*.[ch] files in favor of beecrypt.
- legacy: drop brokenMD5 support (rpm-2.3.3 to rpm-2.3.8 on sparc).
- eliminate DYING code.
- bind beecrypt md5/sha1 underneath rpmio.
- create RFC-2440 OpenPGP API in rpmio.
- proof-of-concept GPG/DSA verification for legacy signatures.
- upgrade to beecrypt-2.2.0pre.
- proof-of-concept PGP/RSA verification for legacy signatures.
- ratchet up to lclint "strict" level.
- upgrade to db-4.0.7.
- use only header methods, routines are now static.
- beecrypt is at least as good as pgp/gpg on verify, pulling the plug.
- add :base64 and :armor format extensions, dump binary tags in hex.
- proof-of-concept pubkey retrieval from RPM-{PGP,GPG}-KEY.
- stupid macros to configure public key file paths.
- all symbols but hdrVec are now forward references in linkage.
- generate an rpm header on the fly for imported pubkeys.
- wire transactions through rpmcli signature modes.
- wire transactions through rpmcli query/verify modes.
- wire transactions through rpmcli install/erase modes.
- legacy signatures always checked (where possible) on package read.
- wire transactions through rpmcli build modes.
- lazy rpmdb open/close through transaction methods (mostly anyways).
- no-brainer refcounts for rpmdb object.
- check added header against transaction set, replace if newer.
- transaction sets created in cli main.
- no-brainer refcounts for ts object.
- memory indices for dependency check are typedef'd and abstract'd.
- no-brainer refcounts for fi object, debug the mess.
- dump the header early in transaction, recreate fi before installing.
- start hiding availablePackage data/methods in rpmal.c/rpmal.h.
- add some dinky availablePackage methods.
- transaction.c: cleanly uncouple availablePackage from TFI_t.
- add header refcount annotations throughout.
- depends.c: availablePackage is (almost) opaque.
- invent some toy transactionElement iterators.
- create rpmDepSet constructors/destructors.
- create toy rpmDepSet iterators.
- rpmRangesOverlap renamed to dsCompare, add dsNotify method as well.
- depends.c: rpmDepSet is (almost) opaque, move to rpmds.[ch].
- rpmds: create dsProblem(), dsiGetDNEVR() retrieved DNEVR, not N.
- depends.h: hack around teIterator() et al from include for now.
- rpmds: move trigger dependencies into a rpmDepSet as well.
- rpmal: availablePackage is totally opaque, alKey with index replaces.
- linear search on added package provides is dumb.
- discarding entire signature header when using --addsign is dumb.
- rip out rpmDependencyConflict, replace with rpmProblem instead.
- no-brainer refcounts for rpmProblemSet object.
- header tag sets are per-transactionElement, not per-availablePackage.
- no-brainer refcounts for rpmDepSet and rpmFNSet objects.
- strip header tags for erased as well as installed transactionElements.
- common structure elements for unification of TFI_t and rpmFNSet.
- factor per-transactionElement data out of TFI_t through pointer ref.
- unify rpmFNSet into TFI_t.
- eliminate header reference in rpmtransAddPackage, use TFI_t data.
- commit to using rpmDepSet and TFI_t, not header.
- lclint rpmio fiddles.
- split file info tag sets into rpmfi.c.
- create toy TFI_t iterators.
- tweak overlapped file fingerprint retrieval for speed.
- transaction.c: use wrappers/iterators to access TFI_t.
- annotations to make a transactionElement opaque.
- use array of pointers rather than contiguous array for ts->order.
- methods to complete making transactionElement opaque.
- use TR_REMOVED relations as well as TR_ADDED for ordering.
- drop requirement that removed packages immediately follow added.
- hybrid chainsaw/presentation ordering algorithm.
- convert file md5sum's to binary on the fly, reducing memory footprint.
- header handling moved to librpmdb to avoid linkage loops.
- fix a couple dinky memory leaks.
- build with an internal zlib for now.
- protect brp-compress against /bin/ls output ambiguity (#56656,#56336).
- 3 madvise calls and a 16Mb mmapped buffer == ~5% install speedup. Wow.
- use db-4.0.14 final internally.
- 1st crack at making zlib rsync friendly.
- lclint-3.0.0.19 fiddles.
- simple automake wrapper for zlib.
- splint fiddles.
- make peace with gcc-3.1, remove compiler cruft.
- make peace with automake et al in 8.0, ugh.
- add payload uncompressed size to signature to avoid rewriting header.
- drill header sha1 into signature parallel to header+payload md5.
- mandatory "most effective" signature check on query/verify/install.
- don't bother adding empty filemd's to index.
- add Pubkey index, using signer id as binary key.
- display pubkeys in hex when debugging db access.
- retrieve pubkey(s) from rpmdb, not from detached signature file.
- add header DSA signature.
- add header RSA signature (untested, disabled for now).
` - don't bother with signing check if 16 bits of hash don't match.
- only V3 signatures for now.
- wire --nodigest/--nosignature options to checksig/query/verify modes.
- splint annotations, signature cleanup.
- drill ts/fi through verify mode, add methods to keep fi abstract.
- use mmap when calculating file digests on verify, ~20% faster.
- permit --dbpath and --root with signature (i.e. --import) modes.
- beecrypt: add types.h, eliminate need for config.gnu.h.
- rescusitate --rebuild.
- use rpmdb-redhat to suggest dependency resolution(s).
- merge conflicts into problems, handle as transaction set variable.
- use build time to choose one of multiple alternative suggestions.
- add --nosuggests to disable suggested resolutions.
- attempt to make peace with automake-1.6.1, autoconf-2.53.
- rip out two layers of dbN gook, internal Berkeley db is here to stay.
- eliminate db1 support.
- enable CDB by default.
- use DBT_DB_MALLOC to eliminate re-malloc'ing header blobs.
- rework most of rpmdb.c prepatory to implementing duplicates.
- fix: 2 memory leaks in headerSprintf.
- fix: db mire's access out-of-bounds memory.
- plug install mode leaks.
- opaque (well mostly) rpmTransactionSet using methods.
- Grand Renaming of rpm data types.
- fix: synthesize unpacking progress callbacks for packages w/o files.
- python: add rpmds/rpmfi/rpmts methods.
- python: re-enable rpm-python sub-package.
- fix: resurrect "()(64bit)" markings using objdump.
- python: add rpmal/rpmte/rpmfd methods.
- perl: drop cpanflute and cpanflute2, will be in Chip's CPAN package.
- python: eliminate legacy db methods, add ts.dbMatch method.
- fix: use getgrnam, not getpwnam, to convert gid -> group.
- fix: avoid sign extension, use only 16 bits, when verifying rdev.
- python: separate {add,del}Macro methods, prepare for macro dictionary.
- i18n: copy current production PO files to top-of-stack.
- python: include rpmdb module, renamed from bsddb3.
- use /etc/rpm/platform (if it exists), rather than uname(2), for arch.
- python: portability fiddles (#54350).
- check inodes (but not blocks) on FAT file systems (#64256).
- add /usr/lib/rpm/redhat/* per-vendor configuration.
- remove build mode compatibility aliases, documented and gone.
- document digital signature verification in rpm.8.
- fix: separate existence and number checks for problems found (#66552).
- beecrypt: merge changes from beecrypt-2.3.0.
- beecrypt: merge doxygen markup with rpmapi doco.
- beecrypt: revert cpu/arch compile option mixup (#66752).
- ix86: make sure that rpm can verify prelinked shared libraries.
- don't install /usr/lib/rpm/redhat per-vendor configuration anymore.
- add translated man pages from PLD.
- resurrect libelf with Elf64, prelink verify should work everywhere.
- fix: reading macro files can corrupt memory if BUFSIZ is teensy.
- fix: assertion failure iff incomplete package install (#66837).
- python: link internal libelf (if used) directly into rpmmodule.so.
- use rpmdb-redhat for suggestions if/when configured (#67430).
- disambiguate failures to import (with error messages, duh).
- fix: multiple relocations (#67596).
- add --build/--program-prefix, delete libtoolize, from %configure.
- find-lang.sh: make sure that mo pattern matches leading '/' (#67368).
- disambiguate added/installed dependency failures (#50388).
- rescusitate remote ftp globs (#67678).
- open rpmdb early RDONLY, reopen later RDWR, avoid signed srpm noise.
- turn off annoying gpg secmem warning.
- warn only once for each NOKEY/UNTRUSTED key id.
- factor common options into table, add rpmcliInit() and rpmcliFini().
- add preliminary rpmgraph(8) and rpmcache(8) executables to rpm-devel.
- use rpmfi in showQueryPackage(), eliminating headerGetEntry().
- fix: forgot lazy open of database on --freshen path (#67907).
- proof-of-concept rpmcache functionality.
- fix: do lazy open of database in rpmtsInitDB() (#67994).
- update rpmcache.8.
- fix: permit deletions of added packages (#67108).
- placeholders for manifest constants for SuSE patch packages.
- fix: repair 2ndary match criteria with rpmdb iterators.
- update for sv.po.
- display signature details using rpm -qi.
- skip signing packages already signed with same key (#62118).
- install rpmal.h and rpmhash.h, implicit rpmps.hinclude, for now.
- revert headerFree/headerLink/headerUnlink debugging.
- popt: mingw32 portability configure check (#67911).
- teach gendiff about unreadable files (#42666).
- python: sanity check fixes on rpmts/rpmte methods.
- have rpmdb-redhat autoconfigure rpm to use %%_solve_dbpath.
- popt: parse file into string of options (#56860).
- version added to *.la dependency libraries (#69063).
- expose digests in rpmio API, but hide internal beecrypt API (#68999).
- add methods to make signature handling opaque wrto rpmts.
- verify signatures/digests retrieved through rpmdbNextIterator().
- imbue %ghost with missingok attribute with --verify (#68933).
- fix: segfault if given a text file as 2nd arg to -Uvh (#69508).
- python: add ts.hdrCheck(), ts.rebuildDB() methods.
- python: iterating on an ts object returns transaction elements now.
- add yellowdog as vendor.
- python: remove the old initdb/rebuilddb methods, use ts.fooDB().
- python: 1st crack at backport to 1.5.2.
- popt: fix --usage (#62234).
- fix: --repackage repaired (#67217).
- fix: rpm2cpio disables signature checks (i.e. same behavior).
- popt: display sub-table options only once on --usage.
- wire --nosignatures et al as common options, rework CLI options.
- python: don't segfault in ts.GetKeys() on erased packages.
- update trpm.
- factor all mode-specific options into mode-specific tables.
- treat an unspecified epoch as Epoch: 0 everywhere.
- detect athlon/duron with CMOV (PLD).
- prevent stale locks in __db files by closing databases on signals.
- make --querytags a common option, fix errant regex (#70135).
- db3: increase mpool and cachesize, compile w/o --enable-debug.
- configurable (default off) build failure if missing %%doc files (PLD).
- configurable (default off) build failure iff unpackaged files (PLD).
- change from default off to default on.
- python: methods to disable all new features for benchmarking.
- preserve rpmdb file attributes across --rebuilddb (#70367).
- fix: identify athlon with 3DNOWEXT as "athlon", not "i786" (#70539).
- fix: repair --root with --verify (#70527).
- fix: signed pubkeys were imported incorrectly (#68291).
- include tgpg script to verify signatures using only gpg.
- check header blobs on export (i.e. rpmdbAdd()).
- enable iterator header blob checks for install/erase modes.
- python: _vsflags_up2date macro to configure verify signature flags.
- resurrect --rollback.
- renumber the callback types to be an orthogonal bit mask.
- provide repackage progress callbacks, compression is slow.
- fix: don't repackage %%ghost files.
- add --predefine to define macros before reading macro configuration.
- python: bare bones rollback bindings.
- python: enable threads on callbacks and longish rpmlib calls.
- python: expose RPMTAG_SOURCEPACKAGE to identify source headers.
- python: eliminate rpm.headerFromPackage() tuple return, deprecated.
- python: add ts.hdrFromFdno(fdno) method.
- fix: check for lead magic, better error message on failure (#69751).
- python: the death of rpmdb-py.[ch], use ts.fooDB() methods instead.
- python: the death of rpm.headerFromPackage(), use ts.hdrFromFdno().
- python: permit direct ts.dbMatch() python iterations.
- python: the death of rpm.checksig(), use ts.hdrFromFdno() instead.
- add bitmask for precise control of signature/digest verification.
- python: bindings to import pubkeys and display openpgp packets.
- fix: src.rpm installs need fd pos at payload.
- python: add return codes for rollbacks and fooDB methods.
- avoid generating fingerprints for locale/zoneinfo sub-directories.
- python: add (optional) ts.check() callback.
- python: include instance in IDTXload, filename in IDTXglob, return
- python: argument to ts.addErase (if integer) deletes that instance.
- python: rpmmi methods to return this instance, and number of members.
- supply transitive closure for CLI packages from rpmdb-redhat database.
- fix: rebuilddb stat'ed target, not source, for rename sanity.
- create /var/lib/rpm if non-existent in, say, a chroot.
- erased packages are now repackaged into /var/spool/repackage.
- fix: rebuilddb stat'ed target, not source, for rename sanity, take 2.
- python: explicit method to set transFlags.
- python: stuff package name into a string for repackage callbacks.
- rollback: re-create empty transaction set for multiple rollbacks.
- fix: %%basename typo (Dmitry V. Levin<ldv@altlinux.org>).
- fix: queryformat segfaults (Dmitry V. Levin<ldv@altlinux.org>).
- add --with-efence to configure, check install/upgrade with efence.
- beecrypt: short hex string conversion overflows target buffer.
- mark "successors only" packages in transaction.
- reap scriptlets with SIGCHLD handler.
- rename PSM_t to rpmpsm, add methods and refcounts to manage.
- remove %%configure/%%makeinstall from arch-os/macros, default is OK.
- don't export MALLOC_CHECK_ to scriptlets.
- squeaky clean memory leak checking.
- always malloc rpmfi structure, refcounts are correct in rpmtsRun().
- skip redundant /sbin/ldconfig scripts on upgrade (if possible).
- python: stupid typo broke ts.check().
- fix: add epoch to "already installed" check.
- check for interrupt during iteration.
- python: add ts.setProbFilter() method, remove ts.run() argument.
- fix: region trailer offset sanity check wrong (#71996).
- fix: don't stop if db1 database is currently in /var/lib/rpm (#72224).
- add a macro to create a sub-package with debugging symbols.
- merge signature returns into rpmRC.
- python: exceptions on NOKEY/NOTTRUSTED.
- python: don't remap NOKEY/UNTRUSTED to OK.
- beecrypt: change local absolute symbols to defines for prelinking.
- update ru.po.
- fix: handle NOKEY/NOTTRUSTED returns as if OK, always return header.
- portability: carry libelf in src rpm, include signal.h.
- fix: segfault with --checksig, plug memory leak (#72455).
- rpm-4.1 release candidate.
- requirement on libelf >= 0.8.2 to work around incompatible soname (#72792).
- fix: common sanity check on headers, prevent segfault (#72590).
- limit number of NOKEY/UNTRUSTED keys that will be warned once.
- libadd -lelf to rpmdb (#73024).
- portability: non-linux is easier, more to do (#72893).
- fix: SIGCHLD reaper race (#73134).
- fix: don't exit with open cursor, there be a stale lock.
- fix: check for signal induced exit more often (#73193).
- reinterpret the _unsafe_rollbacks macro as earliest rollback.
- fix: always do rpmalMakeIndex.
- fix: resurrect --triggers (#73330).
- python: typo in NOKEY exception string.
- fix: parse pgp packets more carefully.
- fix: parse header data more carefully.
- fix: register SIGCHLD handler before forking (#73134).
- better diagnostics on failed header parsing.
- lclint clean.
- rpm-4.1 release.
- fix: make sure that psm->child pid is set before SIGCHLD is handled.
- fix: use size_t consistently, avoid segfault on ia64.
- use %%{_lib} for libraries.
- fix: permit build with --disable-nls (#76258).
4.0.3 -> 4.0.4:
- solaris: translate i86pc to i386 (#57182).
- fix: %GNUconfigure breaks with single quotes (#57264).
- fix: typo in find-requires.
- tru64 compiler message cleanup.
- add buildarch lines for hppa (#57728).
- sparc: make dbenv per-rpmdb, not per-dbi.
- handle lazy db open's in chroot with absolute path, not prefix strip.
- Depends should use CDB if configured.
- autodetect python 1.5/2.2.
- make rpm-perl package self-hosting (#57748).
- permit gpg/pgp/pgp5 execs to be reconfigured.
- fix: signing multiple times dinna work, discard immutable region.
- remove poptmodule.so for separate packaging.
- permit subset installs for %lang colored hardlink file sets.
- missing key(s) on keyring when verifying a signature is now an error.
- remove dependency whiteout.
- calculate rpm-4.1 ordering/orientation metrics in rpmdepOrder().
- sync popt and rpmio with rpm-4.1, rpmio has OpenPGP API.
- sync rpmdb and build with rpm-4.1, lots of splint annotations.
- add :armor and :base64 query format qualifiers for binary signatures.
- fix: query format qualifiers needed header.c merge.
- fix: query format qualifiers needed header.c merge.
- ppc64 arch added (#58634,#58636).
- turn on auto-generated perl requirements (#58519, #58536, #58537).
- fix: %exclude functional (again).
- trap SIGILL for ppc64 inline asm voodoo fix from cross-dressed ppc32.
- fix: fancy hash fiddles if not a tty.
- fix: handle /.../ correctly in rpmCleanPath().
- transaction rollback code in rpmRollback().
- Red Hat 6.2 portability cruft.
- legacy: configurable whiteout for known Red Hat dependency loops.
- perl.req: don't mis-generate dependencies like perl(::path/to/foo.pl).
- permit args to be hidden within %__find_{requires,provides}.
- a couple more perl.{prov,req} fiddles.
- macro for %files, always include %defattr(), redhat config only.
- fix: drop header region when writing repackaged legacy header.
- bail on %files macro.
- transaction rollbacks are functional.
- generate index for pkgid (aka Sigmd5) tag, query/verify by pkgid.
- generate index for hdrid (aka Sha1header) tag, query/verify by hdrid.
- generate index for fileid (aka Filemd5s) tag, query/verify by fileid.
- query/verify by install transaction id.
- rpm-4.0.4 release candidate.
- add cpanflute2, another perl.req fiddle.
- reapply Berkeley DB patch #4491.
- make --addsign and --resign behave exactly the same.
- *really* dump signature header immutable region.
- speedup large queries by ~50%.
- revert to presentation ordering Yet Again (#62158).
- non-glibc: on upgrade, mergesort is much faster than quicksort.
- fix: queries that evaluated to "" incorrectly returned NULL.
- fix: packages produced by rpm-4.0 dinna merge signature tags.
- fix: rpmdb iterator memory leak in python bindings.
- fix: include <sys/time.h> for 6.2 python modules.
- remove vestiges of mipseb arch (#62408).
4.0.2 -> 4.0.3:
- update per-interpreter dependency scripts, add sql/tcl (#20295).
- fix: rpmvercmp("1.a", "1.") returned -1, not +1 (#21392).
- add cpuid asm voodoo to detect athlon processors.
- add %exclude support (i.e. "everything but") to %files.
(Michael (Micksa) Slade" <micksa@knobbits.org>)
- add --with/--without popt glue for conditional builds(Tomasz Kloczko).
- python: strip header regions during unload.
- add -g to optflags in per-platform config.
- permit confgure/compile with db3-3.2.9.
- permit manifest files as args to query/verify/install modes.
- fix: parameterized macro segfault (Jakub Bogusz <qboosh@pld-linux.org>)
- fix: i18n tags in rpm-2.5.x had wrong offset/length (#33478).
- fix: AIX has sizeof(uint_16) != sizeof(mode_t) verify cast needed.
- fix: zero length hard links unpacked incorrectly (#34211).
- fix: --relocate missing trailing slash (#28874,#25876).
- fix: --excludedoc shouldn't create empty doc dir (#14531).
- fix: %_netsharedpath needs to look at basenames (#26561).
- fix: --excludepath was broken (#24434).
- fix: s390 (and ppc?) could return CPIOERR_BAD_HEADER (#28645).
- fix: Fwrite's are optimized out by aggressive compiler(irix) (#34711).
- portability: vsnprintf/snprintf wrappers for those without (#34657).
- more info provided by rpmdepOrder() debugging messages.
- merge (compatible) changes from top-of-stack into rpmlib.h.
- cpio mappings carry dirname/basename, not absolute path.
- fix: check waitpid return code.
- remove support for v1 src rpm's.
- re-position callbacks with ts/fi in cpio payload layer.
- state machines for packages (psm.c) and payloads (fsm.c)
- add --repackage option to put erased bits back into a package.
- fix: (ppc) copy va_list in loop (#36845).
- cpanflute perl dependency needs explicit epoch (#37034).
- regenerate rpm.8 man page from docbook glop (in max-rpm).
- lib/depends.c: diddle debugging messages.
- fix: readlink return value clobbered by header write.
- fix: ineeded count wrong for overlapped, created files.
- globalize _free(3) wrapper in rpmlib.h, consistent usage throughout.
- internalize locale insensitive ctype(3) in rpmio.h.
- boring lclint annotations and fiddles.
- transaction iterator(s) need to run in reverse order on pure erasures.
- erasures not yet strict, warn & chug on unlink(2)/rmdir(2) failure.
- more boring lclint annotations and fiddles.
- yet more boring lclint annotations and fiddles.
- still more boring lclint annotations and fiddles.
- enough lclint annotations and fiddles already.
- fix: specfile queries with BuildArch: (#27589).
- fix: debugging message displays header keys (#38454).
- use internal db-3.2.9 sources to build by default.
- don't build db1 support by default.
- create rpmdb.la so that linkage against rpm's db-3.2.9 is possible.
- rpm database has rpm.rpm g+w permissions to share db3 mutexes.
- expose more db3 macro configuration tokens.
- move fprint.[ch] and hash.[ch] to rpmdb directory.
- detect and fiddle incompatible mixtures of db3 env/open flags.
- add DBI_WRITECURSOR to map to db3 flags with CDB database model.
- add rpmdbSetIteratorRewrite to warn of pending lazy (re-)writes.
- harden rpmdb iterators from damaged header instance segfaults.
- add cron/logrotate scripts to save installed package filenames.
- upgrade to db-3.3.4.
- fix: filter duplicate package removals (#35828).
- add armv3l arch.
- fix: i18n strings need 1 on sucess return code (#41313).
- fix: skip %ghost files when building packages (#38218).
- headerFree() returns NULL, _free is C++ safe.
- remove all header region assertion failures, return NULL instead.
- perform db->verify when closing db files.
- eliminate db-1.85 and db-2.x configuration.
- fix: popt arg sanity checks broken, optarg != optArg.
- fix: popt range checks on floats/doubles broken.
- popt: return POPT_ERROR_ERRNO on config open/read/close failure.
- fix: popt exec doesn't add '--', --target et al no longer need '='.
- fix: popt consume-next-arg "!#:+" w/o side effect (#41956).
- fix: for busted db1, attempt chain reconnection to following record.
- return multiple suggested packages
(Pawel Kolodziej <pawelk@pld.org.pl>).
- fix: return suggested packages when using Depends cache.
- merge sparc64/ia64 fiddles back into linux.{req,prov}.
- automagically generate perl module dependencies always.
- fix: lclint fiddles broke uCache initialization (#43139).
- always use db cursors.
- permit duplicates for btree indices.
- document build modes in rpmbuild.8, rpmbuild is born.
- default to dbenv with mpool, --rebuilddb with nofsync is much faster.
- fix: QUERY_FOR_LIST file count clobbered.
- create top level rpmcli API, factor top level modes into popt tables.
- popt: add POPT_BIT_SET/POPT_BIT_CLR to API.
- autogen.sh checks for latest libtool-1.4 and automake-1.4-p2.
- rpm --verify reports failure(s) if corresponding tag is not in header.
- rpm --verify honors %config(missingok), add -v for legacy behavior.
- remove dead code frpm popt table reorg.
- more CLI typedefs/prototypes moved from rpmlib.h to rpmcli.h.
- rpm --verify skips files in non-installed states.
- rpm --verify skips content checks for %ghost files.
- rpm --verify displays config/doc/gnost/license/readme atrrs for files.
- rpm --verify checks immutable header region digest if available.
- rpmbuild adds header region digest (SHA1 as string).
- use rpmTag* typedefs in new hge/hae/hme/hre header vectors.
- remove rpmrc Provides: Yet Again, use virtual packages.
- dump cursor debugging wrappers.
- rpm --verify can disable rpmFileAttr checks.
- add rpmdbSetIteratorRE() for regex matching in database iterators.
- permit rpm -qa to take RE args applied to name tag.
- permit dbiFindMatches() to use version/release patterns.
- eliminate all uses of rpmdbSetIterator{Version,Release}.
- fix: db1 end-of-file not detected in legacy compatible way.
- fix: remove (harmless) chown error message from %post.
- add --target/--host to %configure, add example cross-build/config.site
scripts to /usr/lib/rpm <arjanv@redhat.com> (#44581).
- rpmdb iterator selectors permit default/strcmp/regex/glob matching.
- rpmdb iterator selectors permit negative matches.
- alpha: don't add "()(64bit)" dependency markers.
- ia64/sparc: <arch>.{req,prov} identical to linux.{req,prov}.
- add "rpmlib(ScriptletInterpreterArgs)" to track
%post -p "/sbin/ldconfig -n /usr/lib"
incompatibilities.
- popt: add POPT_ARGFLAG_SHOW_DEFAULT to display initial values(#32558).
- popt: add POPT_CONTEXT_ARG_OPTS for all opts to return 1 (#30912).
- fix: fsm reads/writes now return error on partial I/O.
- fix: Ferror returned spurious error for gzdio/bzdio.
- check for API/ABI creep, diddle up some compatibility.
- preliminary abstraction to support per-header methods.
- finalize per-header methods, accessing headerFoo through vector.
- make package ordering loop messages debug, not warning.
- remove {ia64,sparc}-linux.{prov,req}, changes merged into linux.*.
- fix: partial sets of hardlinked files permitted in payload.
- fix: mark rpmdb files with %config to prevent erasure on downgrade.
- work around a (possible) compiler problem on ia64.
- fix: rpm -qlv link count for directories dinna include '..'.
- fix: rpm -qlv size for directories should be zero.
- add --noghost to filter non-payload files from rpm -qlv output.
- add %{_gnu} macro to append "-gnu" to %{_target_platform} to
support --target/--host flavored %configure. Legacy behavior
available by undefining %{_gnu}.
- propagate %{_gnu} to per-platform configuration.
- fix: parameterized macros with massive mumber of options need
"optind = 1" "Dmitry V. Levin" <ldv@alt-linux.org>.
- add athlon per-platform configuration.
- remove executable bit to disable autogenerated perl requires until
perl provides can be vetted.
- disable per-platform %%configure use of %%_gnu until libtool package
stabilizes.
- fix: permit partially enumerated hardlink file sets during build.
- fix: resurrect rpm signature modes.
- fix: sanity checks on #tags (<65K) and offset (<16Mb) in header.
- fix: add -r to useradd to prevent /etc/skel glop (#46215).
- fix: disambiguate typedef and struct name(s) for kpackage.
- update intl dirs to gettext-0.10.38.
- fix: sanity check for header size added in headerCopyLoad() (#46469).
- fix: redundant entries in file manifests handled correctly (#46914).
- map uid/gid from metadata into payload headers.
- add removetid to header during --repackage.
- expose rpmShowProgress() and rpmVerifyDigest() in rpmcli.h.
- portability: avoid st_mtime, gendiff uses basename, etc (#47497).
- glibc-2.0.x has not __va_copy().
- popthelp.c: don't use stpcpy to avoid portability grief (#47500).
- permit alias/exec description/arg text to be set from popt config.
- python: rhnLoad/rhnUnload to check header digest.
- package version now configureable, default v3.
- rename rpm libraries to have version with libtool -release.
- fix: -i CLI context broken Yet Again.
- unlink all __db.nnn files before 1st db open.
- python bindings should not segfault when fed bad data.
- fix: adjust arg count for --POPTdesc/--POPTargs deletion.
- add linux per-platform macro %_smp_mflags <sopwith@redhat.com>.
- document more popt aliases for --help usage.
- remove --tarbuild from man page(s), use -t[abpcils] instead (#48666).
- fix: scope multi-mode options like --nodeps correctly (#48825).
- isolate cdb access configuration (experimental, use at your own risk).
- fix: hard fail on locked dbopen if CDB locking not in use.
- fix: dbconfig with mp_mmapsize=16Mb/mp_size=1Mb for
"everything ENOSPC" failure check.
- fix: don't total hard linked file size multiple times (#46286).
- add %dev(type,major,minor) directive to permit non-root dev build.
- fix: _smp_flags macro broken.
- python: bind rhnUnload differently.
- fix: rescusitate --querytags.
- fix: short aliases broken (#49213).
- python: "seal" immutable region for legacy headers in rhnUnload() .
- python: add poptmodule.so bindings.
- fix: %dev(...) needs to map rdev and mtime from metadata.
- resurrect --specedit for i18n.
- fix: 4 memory leaks eliminated.
- fix: yet another segfault from bad metadata prevented.
- add sha1 test vectors, verify on ix86/alpha/sparc.
- add (but disable for now) rpm-perl subpackage from Perl-RPM.
- python: parameterize with PYVER to handle 1.5 and/or 2.1 builds.
- add build dependency on zlib-devel (#49575).
- enable rpm-perl subpackage.
- add pmac/ppciseries/ppcpseries varieties to ppc arch family.
- include tdigest.c tkey.c and trpmio.c to "make dist".
- re-enable dependency resolution source from package NVR.
- rename pmac to ppcmac.
- ia64: revert -O0 compilation.
- upgrade to db-3.3.11 final.
- fix: don't segfault when presented with rpm-2.4.10 packaging (#49688).
- fix: --noscripts is another multimode option.
- add tmpdir to configure db3 tmpdir into chroot tree.
- permit lazy db opens within chroot.
- fix: diddle dbenv path to accomodate backing store reopen in chroot.
- add support for mips (#49283).
- add __as, _build_arch, and __cxx macros (#36662, #36663, #49280).
- detailed build package error messages.
- fix: i18n tags not terminated correctly with NUL (#50304).
- add explicit casts to work around a s390 compiler problem.
- fix: autoconf glob tests (#50845).
- portability: some compilers squawk at return ((void) foo()) (#50419).
- remove fdFileno() from librpmio, use inline version instead (#50420).
- fix: linux find-requires needs quotes around [:blank:].
- remove /var/lib/rpm/__db* cache files if %__dbi_cdb is not configured.
- python: add hiesenbug patch.
- add legacy (compile only) wrappers for fdFileno et al.
- add -D_REENTRANT (note rpmlib is still not thread safe).
- fix: segfault on headerFree given malicious data.
- fix: don't verify hash page nelem.
- better error messages for verification failures.
- include directory /usr/lib/rpm in rpm package.
- always use dl size in regionSwab() return.
- ppc: revert ppcmac to ppc.
- ppc: autoconf test for va_copy.
- python: add exception to detect bad data in hdrUnload.
- change dir creation message from warning to debug for now.
- verify perms (but not mode) on %ghost files.
- headers without RPMTAG_NAME are skipped when retrieved.
- within a region, entries sort by address; added drips sort by tag.
- fix: error message on failed package installs resurrected.
- python: memory leaks in headerLoad/headerunload bindings.
- python: retrofit sha1 digest using RPMTAG_SHA1RHN.
- python: change rhnUnload bindings.
- python: teach rhnLoad about RPMTAG_SHA1RHN as well.
- fix: Provides: /path did not work with added packages (#52183).
- fix: progress bar scaling did not include source rpm count.
- fix: hash page nelem failure to verify.
- fix: initialize "verify" transaction stepName with -vv (#53582).
- fix: ftp remote globs broken (#46892).
- popt: clarify X consortium license in popt.3 man page.
- close/discard Depends index after rpmdepCheck() use.
- lclint-3.0.0.15 fiddles.
- fix: harmless typo in db3 chroot hack.
- fix: big-endian's with sizeof(time_t) != sizeof(int_32) mtime broken.
- fix: add Korean message catalogs (#54473).
- add RPHNPLATFORM and PLATFORM tags.
4.0 -> 4.0.[12]
- fix: avoid calling getpass twice as side effect of xstrdup macro
(katzj@linuxpower.org) (#17672).
- order packages using tsort, clipping Requires:'s in dependency loops.
- handle possible db3 dependency on -lpthread more gracefully.
- bump popt version to 1.6.1.
- fix: more (possible) xstrdup side effects.
- fix: rpm2cpio error check wrong on non-libio platforms.
- fix: runTriggers was not adding countCorrection.
- add rpmGetRpmlibProvides() to retrieve rpmlib(...) provides
"Pawel A. Gajda" <mis@k2.net.pl>.
- syntax to specify source of Requires: (PreReq: now legacy).
- rip out rpm{get,put}text, use getpo.sh and specspo instead.
- fine-grained Requires, remove install PreReq's from Requires db.
- fix: duplicate headerFree() on instalBinaryPackage() error return.
- fix: work around for (mis-compilation?!) segfaults on signature paths.
- fix: segfault on exit of "rpm -qp --qf '%{#fsnames}' pkg" (#20595).
- hpux w/o -D_OPEN_SOURCE has not h_errno.
- verify MD5 sums of payload files when unpacking archive.
- hide libio lossage in prototype, not API.
- add support for SHA1 as well as MD5 message digests.
- don't verify src rpm MD5 sums (yet).
- md5 sums are little endian (no swap) so big endian needs the swap.
- add doxygen and lclint annotations most everywhere.
- consistent return for all signature verification.
- use enums for almost all rpmlib #define's.
- API: change rpmProblem typedef to pass by reference, not value.
- unify rpmError and rpmMessge interfaces through rpmlog.
- collect and display rpm build error messages at end of build.
- don't trim leading ./ in rpmCleanPath() (#14961).
- detect (still need to test) rdonly linux file systems.
- check available inodes as well as blocks on mounted file systems.
- pass rpmTransactionSet, not elements, to installBinaryPackage et al.
- add cscope/ctags (Rodrigo Barbosa<rodrigob@conectiva.com.br>).
- remove getMacroBody() from rpmio API.
- add support for unzip <rodrigob@conectiva.com.br>
- add brp-strip-shared script <rodrigob@conectiva.com.br>.
- better item/task progress bars <rodrigob@conectiva.com.br>.
- load headers as single contiguous region.
- add region marker as RPM_BIN_TYPE in packages and database.
- fix: don't headerCopy() relocatable packages if not relocating.
- merge signatures into header after reading from package.
- RPM_BIN_TYPE malloc'ed when retrieved through headerGetEntry().
- add headerFreeData() to free any data malloc'ed during retrieval.
- preserve exact image of original header when installing/upgrading.
- add missing headerFree for legacy signature header.
- fix: removed packages leaked DIRINDEXES tag data.
- reload tags added during install when loading header from rpmdb.
- avoid brp-compress hang with both compressed/uncompressed man pages.
- improved find-{requires,provides} for aix4/hpux/irix6/osf.
Tim Mooney<mooney@dogbert.cc.ndsu.NoDak.edu>
- portability: remove use of GNU make subst in lib/Makefile (Joe Orton).
- python: bind package removal (#21274).
- autoconfigure building python bindings.
- autoconfigure generating rpm API doco.
- fix: don't fdFree in rpmVerifyScript, rpmtransFree does already.
- use package version 3 if --nodirtokens is specified.
- add package names to problem sets early, don't save removed header.
- make sure that replaced tags in region are counted in headerSizeof().
- support for dmalloc debugging.
- filter region tags in headerNextIterator, exit throut headerReload.
- add rpmtransGetKeys() to retrieve transaction keys in tsort'ed order.
- python bindings for rpmtransGetKeys().
- fix: include alignment in count when swabbing header region.
- handle added dirtoken tags (mostly) correctly with header regions.
- add FHS doc/man/info dirs, diddle autoconf goo.
- fix: headerUnload handles headers w/o regions correctly on rebuilddb.
- resurrect rpmrc Provides: as well as implicit dependency on packge
info.
- change dependency loop message to RPMMESS_WARNING to use stderr, not
stdout.
- fix: (transaction.c) assume file state normal if tag is missing.
- fix: failed signature read headerFree segfault.
- fix: revert ALPHA_LOSSAGE, breaks 6.2/i386.
- fix: synthesized callbacks for removed packages have not a pkgkey.
- identify install scriptlet failures with the name of the scriptlet.
- handle install chroot's identically throughout the install process.
- add rpmlib(HeaderLoadSortsTags) for tracking header regions
"just in case".
- create _tmppath on the fly if not present.
- remove /etc/rpm/macros.db1 configuration file if db3 rebuilt.
- remove overly verbose dbiOpen() error messages, no longer needed.
- whiteout mozilla loop for 7.1.
- immutable headers, once installed by rpm3, need to lose immutablity.
- fix: removed headers from db need a headerCopy().
- send query/verify output through rpmlog().
- resurrect rpmErrorSetCallback() and rpmErrorString().
- use malloc'ed buffer for large queries.
- fix: avoid FAT and other brain-dead file systems that have not inodes.
- fix: hack around alpha mis-compilation signature problems.
- rpmmodule.c(handleDbResult): return empty list when nothing matches.
- (non-linux): move stubs.c to rpmio (#21132).
- (python): bind initdb (#20988).
- (popt): fix float/double handling (#19701).
- (popt): non-linux needs <float.h> (#22732).
- (popt): add POPT_ARGFLAG_OPTIONAL for long options with optional arg.
- (popt): diddle auto-help to include type of arg expected.
- use popt autohelp for rpm helper binaries.
- fix: avoid locale issues with strcasecmp/strncasecmp (#23199).
- remove almost all explicit uses of stderr in rpmlib using rpmError().
- fix: pass scriptlet args, as in %post -p "/sbin/ldconfig -n /lib".
(Rodrigo Barbosa).
- fix: 3 packages from Red Hat 5.2 had bogus %verifyscript tag.
- tsorted packages processed in successor count order.
- fix: resurrect --excludepath (#19666).
- fix: digests on input FD_t dinna work.
- fix: remove rebuilddb debugging leakage.
- successors from tsort are processed in presentation order.
- fix: find-requires.perl needed update (#23450).
- fix: don't hang on build error.
- fix: remove "error: " prefix from signature verification message.
- hack: permit installer to determine package ordering using 1000003 tag.
- fix: extra newline in many error messages (#23947).
- fix: rpm -Va with db1 needs per-iterator, not per-index, offset.
- add install/remove transaction id tags.
- tsort prefers presentation order.
- 1st crack at Mandrake specific per-platform macros.
- fix: insure that %lang scopes over hard links correctly.
- fix: rpmCleanPath was nibbling at .. in macrofiles incorrectly.
- fix: check waitpid return code.
- fix: make a copy of retrieved header before loading.
- fix: diddle exit code for attempted installs of non-packages (#26850).
- python binding diddles to reduce installer memory footprint by
delayed loading of file info.
- fix: remove fixed size buffer on output path (#26987,#26332).
- resurrect rpmErrorCode in the API for Perl-RPM.
- fix: permit packages to differ by 0 or 32 bytes (#26373).
- fix: permit HEADER_IMMUTABLE tag queries.
- split db configuration into separate file.
- portability changes from Joe Orton <jorton@redhat.com> et al.
- (alpha): rip out ALPHA_LOSSAGE now that gcc-2.96-76 has fix (#28509).
- (popt): use sprintf rather than snprintf for portability.
- (sparc) disable MD5 sum checks during install.
- (db1) plug largish memory leak in simulated interface for falloc.c.
- remove mozilla dependency white out, no longer needed.
- fix: adjust for libio breakage in Red Hat 5.x with glibc-2.0.7-29.4.
- map i686-like (i.e. w/o CMOV) platforms to better alternatives.
3.0.6 -> 4.0
- use DIRNAMES/BASENAMES/DIRINDICES not FILENAMES in packages and db.
- API: change dbi to pass by reference, not value.
- cram all of db1, db_185, and db2 interfaces into rpmlib.
- convert db1 -> db2 on-disk format using --rebuilddb.
- add db3 to the pile, isolate all with incremental link and vectors.
- prefer db3 as default.
- permit db3 configuration using macros.
- create dbi from template rather than passed args.
- use hashed access for package headers.
- db3: save join keys in endian neutral binary format.
- treat legacy falloc.c as "special" db[01] index for package headers.
- API: pass *SearchIndex() length of key (0 will use strlen(key)).
- API: remove rpmdb{First,Next}RecNum routines.
- add explcit "Provides: name = [epoch:]version-release" to headers.
- fix: cpio.c: pre-, not post-, decrement the link count.
(from Fabrice Bellet <Fabrice.Bellet@creatis.insa-lyon.fr>)
- make db indices as lightweight as possible, with per-dbi config.
- db1.c will never be needed, eliminate.
- API: merge rebuilddb.c into rpmdb.c.
- API: replace rpmdbUpdateRecord with rpmdbSetIteratorModified.
- API: replace rpmdbFindByLabel with RPMDBI_LABEL iteration.
- API: replace rpmdbGetRecord with iterators.
- API: replace findMatches with iterators.
- Filter DB_INCOMPLETE on db->sync, it's usually harmless.
- Add per-transaction cache of resolved dependencies (aka Depends).
- Do lazy dbi{Open,Close} throughout.
- Attempt fine grained dbi cursors throughout.
- fix: free iterator *after* loop, not during.
- fix: Depends needed keylen in dbiPut, rpmdbFreeIterator after use.
- Rename db0.c to db1.c, resurrect db2.c (from db3.c).
- simplify --last popt alias, date like -qi (bjerrick@easystreet.com).
- fix: alloca'd memory used outside of scope (alpha segfault).
- fix: define/eval options assumed sizeof(int) == sizeof(void *).
- fix: sparc64 per-platform directory shouldn't be sparc64linux.
- fix: (segfault) verify needs rpmdb while query does not.
- add calculated nlink field to -qlv output (like ls -al).
- detects and builds properly against the new fopencookie API in
glibc 2.2.
- change popt exec alias in oreder to exec rpm children.
- split rpm into 5 pieces along major mode fault lines with popt glue.
- turn on new, more complete version of %%configure.
- add %%makeinstall analogue of new %%configure for autoconf packages.
- mark packaging with version 4 to reflect filename/provide changes.
- change next version from 3.1 to 4.0 to reflect package format change.
- change %configure, add %makeinstall macros to handle FHS changes.
- add optflags for i486 and i586.
- fix: segfault with legacy packages missing RPMTAG_FILEINODES.
- require db3 in default configuration.
- create rpmio directory for librpmio.
- make librpmio standalone.
- fix: avoid clobbering db cursor in removeBinaryPackage.
- expose cursors in dbi interfaces, remove internal cursors.
- remove incremental link.
- portability: sparc-sun-solaris2.5.1.
- fix: don't count removed files if removed packages is empty set.
- fix: permit '\0' as special case key (e.g. "/" in Basenames).
- require --rebuilddb to convert db1 -> db3, better messages.
- fix: open all db indices before performing chroot.
- fix: typo in brp-compress caused i18n man pages not to compress.
- API: uncouple fadio from rest of rpmio.
- API: externalize legacy fdOpen interface for rpmfind et al.
- put version on rpmpopt filename to avoid legacy filename collision.
- change optflags for i386.
- multilib patch, take 1.
- add pre-transaction syscall's to handle /etc/init.d change.
- don't bother saving '/' as fingerprint subdir.
- prefix payload paths with "./", otherwise "/" can't be represented.
- fix: compressFilelist broke when fed '/'.
- fix: typo in --last popt alias (#12690).
- fix: clean file paths before performing -qf (#12493).
- remove build mode help from rpm.c, use rpmb instead.
- fix: set multilibno on sparc per-platform config.
- fix: legacy requires './' payload prefix to be omitted for rpm itself.
- fix: remove verbose database +++/--- messages to conform to doco.
- add S_ISLNK pre-transaction syscall test.
- fix: initialize pretransaction argv (segfault).
- fix: check rpmlib features w/o database (and check earlier as well).
- rip out pre-transaction syscalls, more design is needed.
- remove (dead) dependency checks on implicitly provided package names.
- remove (dead) rpmdb API code in python bindings.
- fix: make set of replaced file headers unique.
- fix: don't attempt dbiOpen with anything but requested dbN.
- create rpmbuild/rpmquery/rpmverify/rpmsign symlinks.
- fix: look for any/all dbapi when rebuilding.
- link rpm2cpio dynamically since cpio is linked dynamically.
- fix: uniqify dependency problems when printing (#14034).
- fix: segfault on erase if filestates is missing in header (#14679).
- fix: popt POST callbacks typo.
- fix: -Va broken, make db cursors per-iterator, not per-dbi.
- fix: segfault when globbing on "" (#15593).
- fix: rebuild db1 -> db3 ate 1st header (#16263).
- translate rpm.8 man page (Peter Ivanyi <ivanyi@internet.sk>).
3.0.6 -> 3.0.7
3.0.5 -> 3.0.6
- python bindings to query and verify signatures.
- add callbacks on package erasure.
- fix: preserve cpio errno when using Fclose with libio.
- fix: initialize sigs everywhere in python header object.
- popt: support for float/double args.
- fix: honor --test when doing --freshen.
- add alpha* architectures.
3.0.4 -> 3.0.5
- configure.in fiddles for BSD systems (Patrick Schoo).
- solaris2.6: avoid bsearch with empty dir list (Ric Klaren - klaren@cs.utwente.nl)
- include RPM-GPG-KEY in file manifest.
- Add ia64 and sparc64 changes.
- rpm.spec: add per-platform sub-directories.
- FreeBSD fixes (bero@redhat.com).
- handle version 4 packaging as input.
- builds against bzip2 1.0
- fix: resurrect symlink unique'ifying property of finger prints.
- fix: broken glob test with empty build directory (Geoff Keating).
- fix: create per-platform directories correctly.
- update brp-* scripts from rpm-4.0, enable in per-platform config.
- alpha: add -mieee to default optflags.
- add RPMTAG_OPTFLAGS, configured optflags when package was built.
- add RPMTAG_DISTURL for rpmfind-like tools (content unknown yet).
- teach brp-compress about /usr/info and /usr/share/info as well.
- update macros.in from rpm-4.0 (w/o dbi configuration).
- fix: don't expand macros in false branch of %if (kasal@suse.cz).
- fix: macro expansion problem and clean up (#11484) (kasal@suse.cz).
- uname on i370 has s390 as arch (#11456).
- python: initdb binding (Dan Burcaw <dburcaw@terraplex.com>).
- internalize --freshen (Gordon Messmer <yinyang@eburg.com>).
- support for separate source/binary compression policy.
- support for bzip payloads.
- fix: payload compression tag not nul terminated.
- identify package when install scriptlet fails (#12448).
- remove (unused) RPMTAG_CAPABILITY.
- remove (legacy) use of RPMTAG_{OBSOLETES,PROVIDES} internally.
- remove (legacy) support for version 1 packaging.
- remove (legacy) support for converting gdbm databases.
- eliminate unused headerGz{Read,Write}.
- support for rpmlib(...) internal feature dependencies.
- display rpmlib provides when invoked with --showrc.
- fix: compare versions if doing --freshen.
- disable rpmlib(VersionedDependencies) by defining _noVersionedDependencies.
3.0.3 -> 3.0.4
- use compressed filenames on install side.
- start unifying FD types, CFD_t now gone.
- check for memory leaks (almost all leaks are plugged).
- fix: resurrect multiple target platform builds.
- freshen.sh: detect when all packages are up to date (Ian Macdonald).
- fix: typo in error message (#6858).
- add/update dependency scripts (Ken Estes).
- use directory tokens internally to reduce memory usage.
- permit --whatprovides to lookup file dependencies.
- fail to package if absolute symlink points within build root.
- initial version of check-prereqs.
- expose enough of legacy fdio interface to compile rpmfind/rpm2html.
- fix: Fopen should use 0666 as default (umask will be applied later).
- fix: default for rd_timeoutsecs is 1 sec (avoid ufdio assertion).
- fix: new FILENAMES tags require package index, not pointer in lookups.
- rename new FILENAMES tags to BASENAMES/DIRNAMES/DIRINDEXES.
- fix: don't look at password when searching urlCache.
- add contentLength sanity check on rpmdb headerWrite.
- fix: fprint abort on stat("/", ...) in empty chroots.
- perform glob on remote ftp query args.
- fix: ftpAbort must close the data channel to read abort status.
- perform glob on remote ftp install args.
- fix: reload macros from cmd line when re-reading config files.
- fix: compressFileList was over-generating dirNames.
- fix: alAddPackage sorted dirNames too soon, destroying dirMapping.
- expose enough of legacy fdio interface to compile gnorpm.
- fix: missing strdup when overriding buildroot from command line
argument (#1026,#5006).
- diddle some names to keep my C++ brethern happy (i.e. kpackage port).
- fix: add ufdSeek.
- build popt (with libpopt.so*) as a sub-package of rpm.
- split python bindings into a separate sub-package of rpm.
- add ja translation and man pages (Kanda Mitsuru kanda@nn.iij4u.or.jp).
- fix: fp.subDir was incorrectly set to NULL in sparse chroot's.
- fix: manageFile needs to and with O_WRONLY(=1), not O_RDONLY(=0).
- fix: resurrect failed glob error message during build.
- add several BuildRoot FTW policies.
- add manpage for gendiff (pbrown@redhat.com).
- updated sv.po (goeran@uddeborg.pp.se) (#8349).
- configurable PATH for install %pre/%post et al scriptlets.
- use only %_install_langs, not LINGUAS/LANG when deciding to install.
- configurable compression type/level for package payloads.
- default value for %_install_langs is all.
- fix: resurrect relative path's in fprint lookup queries.
- extract spec files from bzip'ped tarballs too on tar builds.
- add %_rebuilddbpath macro to permit rebuilding db in new location.
- updated perl scripts (Ken Estes).
- fix: on --rebuilddb, make sure new/old paths are not the same (#8752).
- fix: on --erase, segfault caused by "" prefix.
- explicitly expand file lists in writeRPM for rpmputtext.
- {Free,Open}BSD find-{provides,requires} (suzukis@file.phys.tohoku.ac.jp).
- new rpm-build package to isolate rpm dependencies on perl/bash2.
- always remove duplicate identical package entries on --rebuilddb.
- add scripts for autogenerating CPAN dependencies.
- add sl.po from Primoz Peterlin <peterlin@biofiz.mf.uni-lj.si>.
- updated sv.po from <goeran@uddeborg.pp.se>.
- macro expansion (and absolute path) in %files -f arg (#9508,#9091).
- permit cli setting of build root policies.
- fix: filter excluded paths before adding install prefixes (#8709).
- add i18n lookaside to PO catalogue(s) for i18n strings.
- try for /etc/rpm/macros.specspo so that specspo autoconfigures rpm.
- per-platform configuration factored into /usr/lib/rpm subdir.
- sparc-sun-solaris2.6 portability check.
- simpler hpux.prov script (Tim Mooney).
- portability: skip bzip2 if not available.
- portability: skip gzseek if not available (zlib-1.0.4).
- portability: skip personality if not available (linux).
- portability: always include arpa/inet.h (HP-UX).
- portability: don't use id -u (Brandon Allbery).
- portability: don't chown/chgrp -h w/o lchown.
- portability: splats in rpm.spec to find /usr/{share,lib}/locale/* .
- fix: better filter in linux.req to avoid ARM specific objdump output.
- fix: use glibc 2.1 glob/fnmatch everywhere.
- fix: noLibio = 0 on Red Hat 4.x and 5.x.
- fix: typo in autodeps/linux.req.
- configure noarch compatibility in rpmrc for ia64.
3.0.2 -> 3.0.3
- add --eval to find result of macro expansion.
- add configure scaffolding to support rpm-4.0 packages.
- include shared libs in rpm-devel (no versioning yet).
- add epoch (as [0-9]*:version-release) to install dependency parse.
- move install/erase major modes into rpmlib.
- move checksig/resign major modes into rpmlib.
- add python bindings to rpm-devel (linux only).
- make query (rpm -qvl) behave like (POSIX?) ls for older files (#4050).
- fix: %if parsing skipped 3 chars too many.
- permit multiline macro expansions with comments and %if.
- add pl translation and man pages (PLD team - from Tomasz Kloczko).
- fix: incomplete cleanup if --rebuilddb fails (#4115).
- add versions to provides.
- fix: sanity test on specfile fails when encountering i18n chars.
- print all dependencies for each package at end of build.
- the death of RPMSENSE_SERIAL, use [epoch:]version[-release] instead.
- add _mandir/_infodir macro expansions to docdirs (Tomasz Kloczko).
- add post install configurable dependency checking.
- fix: segfault on --rebuild (#4185).
- macro fixes (Benedict Lofstedt, #4220):
expand %# just like %{#} (and with same value as shell analogues).
macro defaults for *, 0, and # if no args specified.
getopt on non-linux requires optind to be saved/restored.
- fix: don't remove file until last occurence in transaction (#4291).
- resuscitate net shared paths (#4330).
- fix: macro table cannot contain NULL pointers (#4263).
- fix: last char in rpmrc w/o terminating newline lost (#4361).
- prepare for handling \r in macro exapnsions.
- fix: n>1 occurrences of %config(noreplace) should not FA_CREATE (#4355).
- fix: use pgp5 rather than pgp-2.6.3 if both are in %_pgpbin (#4564).
- match "de" when locale is specified as "de_DE.ISO-8859-1@Munich".
- add versions to obsoletes.
- add %_install_langs to configure languages to be installed.
- add LC_ALL/LC_MESSAGES to query locale search.
- fix: segfault with "--sign" w/o supplying files (#4651).
- add headerWrite return code and check for errors.
- update python bindings from anaconda.
- add versions to prereq.
- add syntax sensitive implict prereq on rpm-3.0.3.
- fix: don't successfully match with strncasecmp("sparc", "sparc64", 5)
- add sparcv9 architecture.
- add --freshen to usage message (#4823).
- suggested changes to docs from Ken Estes (#4451).
- link libbz2.a statically to avoid rpm->bzip2 dependence for now.
- Tru64: avoid find-requires variable size limit (Tim Mooney).
- Solaris: use getpassphrase rather than getpass if available.
- pgp and pgp5 have compatible RSA signature (#4780).
- fix: avoid db problems with self-obsoleting packages on install.
- glibc2: always enable dynamic mtrace if available.
- fix: versioned provides devolved to existence test with conflicts.
- fix: with unspecified epochs, skip dependency epoch compare.
- python: shared module linked correctly.
- do versioned provides/conflicts resolution correctly.
- rpmpopt: display versioned provides/obsoletes.
- revert to shared libbz2.so now that bzip2 is in base install.
- fix: command line install had header memory leak.
- check for NULL on all memory allocations.
- free rpmrc mallocs on exit.
- glibc2: permit run time leak detection.
- fix: removed files fingerprint memory leak.
- fix: resurrect allfiles flag from rpm-2.5.x.
- fix: version compares compatible with epoch-less requires/conflicts.
- fix: rpm-2.5.1 had file list w/o leading / fix.
- portatbility fiddles (solaris).
- create binary rpm directory (e.g. .../%{_target_cpu}) on the fly.
- updated pl/rpm.8 (PLD team).
- new find req/prov scripts for non-linux platforms (Tim Mooney).
- fix: non-GNU globs burp on repeated '/' in patterns.
- dumb cpp's want white space around lclint annotations (Tim Mooney).
- aix: aix.req broken by cut-and-paste (Tim Mooney).
3.0.1 -> 3.0.2
- eliminate armv4 entries from rpmrc (Andrew E. Mileski).
- permit multiple "Provides: " lines in rpmrc (#2999).
- add BuildConflicts: and BuildRequires: in spec file and src rpm.
- fix: bigendian's with longlong file sizes (e.g. IRIX) dinna work.
- move printDep* routines into rpmlib for gnorpm et al.
- updated ru translation (Sergey Kubushin).
- add vpkg-provides.sh (Tim Mooney).
- don't clobber LDFLAGS in top-level Makefile (Tim Mooney).
- fix: build root from cmd line did not set macro %buildroot (#1026).
- fix: resurrect "rpm -Va --nofiles" (verify dependencies only) (#3111).
- rpm-devel should require popt (#3125).
- don't spin while waiting for delayed requires/provides input (#3289).
- common parse for all dependency token syntax.
- eliminate find-requirements on libNoVersion (Red Hat linux only).
- add new-fangled requires on "libc.so.6(GLIBC_2.1)" (sparc-linux only).
- MiNT port (Guido Flohr <gufl0000@stud.uni-sb.de>).
- fix: --rebuilddb with --root dinna remove directory (Michael Andres).
- fix: false fingerprint stat cache hit -- "the tetex problem" (#2727).
- fix: bsearch needs macro table sorted after undefine. (#3713).
- fix: --checksig segfault with odd pgp output (e.g. w/o ~/.pgp) (#3720)
- avoid numeric overflow in version comparison (Thayne Harbaugh<tharbaug@liberate.com>).
- move url.c and ftp.c to rpmlib right next to query.
- 12 more dead strtoks.
- changelog stamp broken w/ big endian 64 bit time_t (Stephane Erania).
- tru64: use /bin/sh not /usr/bin/ksh in find-requires.
- 32Mb (~16x largest known) sanity check on header size.
3.0 -> 3.0.1
- fix: %verifyscript resurrected (Shing-Gene Yung).
- fix: % before non-alphabetic non-macro special now passed unscathed.
- fix: noarch header gets initialized differently.
- fix: $2 to triggerpostun scripts was wrong
- fix: --querybypkg in man page should be --filesbypkg
- fix: optflags not implicitly set to canonical arch value.
- fix: prefer pgp2.6.3 over pgp5 if both are installed.
- make sure that rpm-the-package auto-requires glibc.
- add rpmputtext/rpmgettext to rpm package.
- fix: non-apache servers need "GET ... HTTP/1.0" by the book.
- fix: %doc wrongly inherits lang from last entry in %files.
- resurrect toplevel tar target.
- spec file removal separate from source removal (Shing-Gene Yung).
- add rpm prefix to MD5 routines to avoid name conflict on solaris.
- fix: resurrect -Vp, -Vf and -Vg functionality.
- colesce query and verify modes.
- better cpio error message if package contains missing hard links.
- fix: shared file not skipped when removed.
- fix: conversion script left off leading underscores.
- another strtok bites the dust.
- fix: prevent return code wrap during packagage checking/resigning.
- permit multiple %lang(xx) markers on elements in %files.
- permit %lang(xx,yy,zz) constructs -- 2 more dead strtoks.
- fix: --prefix should work properly during package installs.
- add librpmbuild.a to the file list.
2.94 -> 2.95
- fix: last update transaction set segfault bug in installer.
- improved checks for statfs (Tim Mooney).
- remove inconsistent use of __P((...)) throughout.
- non-static inline functions caused IRIX cc pain.
- CPIOERR_CHECK_ERRNO masking caused AIX cc warnings.
- solaris 2.6+ needs statvfs.
- check build prerequisites before building from specfile.
- convert per-system configuration in /etc/rpmrc to macros.
2.93 -> 2.94
- fix: segfault while parsing target string.
- fix: os was not initialized with "--target i586".
- fix: --prefix resurrected.
- non-linux, non-gcc portability fixes (Tim Mooney).
- default to static libs only (remove implied support for shared libs).
2.92 -> 2.93
- eliminate old rpmrc configuration syntax.
- pgp5 support (Carlo Wood <carlo@runaway.xs4all.nl>)
- fix: segfault from double close on ftpGetFileDesc->ftpAbort path.
- fix: don't add header if signature generation failed (Carlo Wood).
- more DU 4.0D fiddles (Shing-Gene Yung).
- fix: segfault from unknown uid/gid -- use builder's uid/gid instead.
- autoReq/autoProv now per-package.
- fix: avoid segfault using --prefix until ewt fixes.
- add --define "%foo %bar" option.
- dump macros to same fd as --showrc uses.
- add %GNUconfigure for full-blown package regeneration.
- fix: RPM_ARCH/RPM_OS had wrong values.
- fix: create ppc directories correctly.
- (re-)enable fixowner/fixgroup macros.
- fix: specfile BuildRoot was masking rpmrc macro.
- expand twiddles in macrofiles list.
- add explicit macrofiles path to rpmrc.
- add per-target macrofiles to search path.
- take globalMacroContext out of macro api.
- fix: flush all macros between builds.
- add name/version/release macros during src.rpm install.
- attempt mkdir sourcedir/specdir during src.rpm install.
2.91 -> 2.92
- update with libtool-2.4f.
- DU 4.0D fiddles (Shing-Gene Yung<shing@cz3.nus.edu.sg>)
- change support@redhat.com to rpm-list@redhat.com.
- fix: with --target=i686, pass macro %_arch=i386.
- fix: rpm --target=arch ... resurrected.
- fix: rpm -q --specfile --specedit now works even with BuildArch:.
- fix: nested strtok's is a no-no.
- added disk space checking
2.90 -> 2.91
- fix: memory leaks in rpmRunTransactions plugged.
- fix: build of packages w/o BuildRoot segfault.
- permit substitution of I18N strings from PO meta-catalogues.
- add callbacks for installer updates while doing URL xfers.
- resurrect http queries/verifies.
- create rpmbzio.c to avoid implicit dependence on libbz2 for installer.
- spec files can provide /filename now
- added rpmdbOpenForTraversal()
- proxy http (Alex deVries).
- add BuildPrereq: in spec file and src rpm.
- added rpmtransSetScriptFd()
- fixed config file problems during chroot upgrades
- fixed %attr brokenness for directories
- augment linux provides/requires for glibc 2.1 backward compatibility.
- fixed --noscript, --notriggers, --excludedocs, and a bunch
of other install/remove flags
- fixed noreplace handling
- complain about old packages being installed
2.5.x -> 2.90
- added --excludepath
- identify missing keys by type (Toshio Kuratomi).
- package install/removal much smarter about symlinks
- redid install/remove API to allow transaction semantics
- support for GPG (Toshio Kuratomi <badger@prtr-13.ucsc.edu>)
- file lookup finally sane wrt symbolic links :-)
- fileindex format changed -- rebuilddb is necessary for rpm 2.90!!
- --rebuilddb doesn't open old index files
- permit http:// and file:// url's as well as ftp://.
- change --rcfile to permit colon separated file list.
- compile in defaults from rpmrc/macros.
- finish hiding rpmdb index record data ("matches").
- implement abstract fd type almost everywhere.
- update and rename Czech (Pavel Makovec <pavelm@terminal.cz>)
- augment --showrc with -v, only display set variables without -v.
- add macrofiles variable, permit second entry to initMacros().
- add config.h defines for paths to find-requires et. al.
- add readRPM to libbuild, headerGetLangs to librpm.
- permit rpm to be built in a sub-directory (--srcdir=DIR).
- configure using automake.
- arch/os (and platform) should be case insensitive everywhere forever.
- attempt to deal rationally with os as "Linux" or "linux".
- add generalized expression handler (Tom Dyas<tdyas@remus.rutgers.edu>)
- use /usr/lib/rpm/mkinstalldirs if mkdir -p fails.
- more portable dirent handling (Hermann Lauer).
- add Slovak translation (Stanislav Meduna <stano@trillian.eunet.sk>)
- gettextify rpmMessage/rpmError/fprintf messages.
- update po files; add cz to catalogs.
- cpio_gzip: dup the fd before doing gzdopen (Thanks Erik!)
- add --noLang to skip non-default languages.
- writeRPM can now copy cpio archive from fd.
- preliminary macro environment as side effect of rpmrc parse.
- macro handling in rpmlib -- rework include: tag with macro expansion.
- first attempt at librpmbuild API.
- fixed lib/rpmrc.c to accept include: tags (AdV)
- fixed the CHANGES file to reflect that this is 2.9, not 3.0 (AdV)
- aggregate system includes into system.h.
- rearrange functions to minimize exported routines in librpmbuild API.
- generalize cpio I/O to eliminate pipe to exec'd gzip on install.
- add {init,add,expand}Macro args everywhere (new macro.c compatibility)
- add new fully recursive macro.c
- there must be a { between two % in a query format (unless %% is used)
2.5.6 -> 2.5.7:
- permit 0x1b in specfile sanity check.
- increase timeout in tread from 5 to 30 secs for slow links.
- rename file before unlinking to avoid EBUSY failures.
- headerGetEntry now returns count=0 if tag not found (Chris Blizzard).
- resurrect osf1 as canonical os name (Time Mooney).
- sub-packages should inheirit Prefixes tag (Ian Mortimer).
- make '-' character illegal (again) in version/release.
- use portable #!/bin/sh (Tim Mooney).
- don't erase failing build script (Tim Mooney).
- use portable mkinstalldirs (Tim Mooney).
- irix6 autodeps were dup'd (Shing-Gene Yung <shing@cz3.nus.edu.sg>).
- getservbyname needed ntohs().
- propagate "const char *" into rpmlib prototypes.
- use "original db-1.85" if available (Raw Hide glibc 2.1).
- make sure files to sign exist before asking for the pass phrase
2.5.5 -> 2.5.6:
- ultrapenguin 1.1.9 sparc64 changes.
- attempt ftp ABOR on query/verify url's.
- cache open ftp control descriptor with password.
- verify needed same realpath semantics as query.
- plug fd leak in urlGetFile().
- translate cpio errors using cpioStrerror.
- display "..?....." rather than "..5....." for unreadable files.
- run time (rather than compile time) host endian check.
- caldera patches (ray@Caldera.DE)
- added ARM patches.
- fix incorrect directory permissions using %attr/%defattr.
- permit "rpm -q --specfile ... file.spec" queries.
- strncasecmp on spec file separators (KDE has %Description).
- remove redundant md5 computation on uninstall.
- permit --rmsource --force even if sources/patches are missing.
- don't compute md5sum on non-file %config objects. (from Jos Vos)
- check arch only on RPMBUILD_{PREP,BUILD,INSTALL,PACKAGEBINARY}.
- configure.in: set default value for RPM. (Tim Mooney)
- add new Epoch: keyword just like Serial:.
- update Russian translation w man pages.
- solaris: don't attempt static link. (Tim Mooney)
- fix: timeCheck in rpm.c should be unsigned long. (Tim Mooney)
- osf: prov searches only shared libraries. (Tim Mooney)
- solaris: set PATH in prov/req scripts. (Tim Mooney)
- fix: ignore modes on symlinks. (Tim Mooney)
- sub-packages inherit RPMTAG_EPOCH (just like RPMTAG_VERSION/RELEASE).
- fix off-by-1 alloca that prevented relocating /.
- there must be a { between two % in a query format (unless %% is
used).
2.5.4 -> 2.5.5:
- permit rpm to be built in a sub-directory (--srcdir=DIR).
- return CPIO_BAD_HEADER instead of exiting. (Scott M. Stone)
- untranslate "(none)" for auto relocating script wrappers.
- non-linux arch/os identification (Eugene Kanter).
- portable mode_t/pid_t typedefs.
- fix check for trailing / in Prefix:
- remove 2 character language name assumption.
- add /usr/lib/rpm/find-lang.sh (W. L. Estes <wlestes@uncg.edu>)
- miscellaneous portability cruft (Eugene Kanter).
- Makefile: don't use ln -sf.
- getOutputFrom(): fix race between last read on pipe and child death
(exacerbated in 2.5.4).
- rpm.spec: create /usr/src/redhat/* in %install.
2.5.3 -> 2.5.4:
- expand args using popt on pre-rpmReadConfigFiles arg pass.
- skip arch checks if only packaging source rpm.
- add license field to rpmpopt -qi alias.
- provides/obsoletes requires tokens that begin with alnum or _.
- non-zero exit status for verify failures.
- hpux does setreuid differently (Hermann Lauer).
- check for setreuid portably (Eugene Kanter).
- add Serbian translation (Zoltan Csala <zcsala@iname.com>).
- arch/os tables were not being initialized for noarch builds.
- quote users/groups/filenames in --setugids.
- add Russian translation w man pages (Serguei Koubouchine <ksi@gu.net>)
- fix virtual file attribute bug that skipped all files in binary rpm.
- eliminate infinite loop with missing tmpdir (Trent Jarvi).
- os_canon for CYGWIN32_NT/95.
- rationalize autoconf detection of gzip/bzip2.
- restore backward compatible rpmrc/rpmpopt symlinks.
- update pt_BR translations (Arnaldo Carvalho de Melo).
- permit --{buildroot,timecheck,test,sign} with -tX (Toshio Kuratomi).
- fix database rebuilds with triggers (Steve Sanberg).
- diagnostic message if unreadable/short source or patch file.
- eliminate redundant close in provide/require processing.
- solaris portability patch resurrection (Steve Sanberg).
- permit autogen.sh to work on non "prefix=/usr" hosts.
- add %license/%readme virtual file attributes.
- align "Build Host:" with other fields.
2.5.2 -> 2.5.3:
- copy changelog tags to sub-packages just before packaging.
- added EPOCH handling to supplement serial numbers
- add RPMTAG_EPOCH and RPMTAG_CAPABILITY init to 0.
- fix infinite recursion on non-ERANGE return from getcwd() during
install (Matt Wilson).
- rm .depend for multiple builds in same tree (Will Partain)
- addFile: fix special case of "/" in %files.
- better query semantics with symlinks (Tim Mooney)
- build.c: fix incorrect check for successful open
- allow %define with leading whitespace
- use /usr/lib/rpm for rpmpopt, rpmrc, find-requires, find-provides
- added popt 'exec' functionality
- made --rebuilddb a bit more robust by checking data types
- added --freshen via popt exec stuff
- fixed spelling of expected
- updated de.po (Karl Eichwalder)
- do a better job of checking for a spec file in tarballs
(Pavel Roskin)
- fixed --triggers alias (Michael Andres)
- added :hex query format
- fixed --querytags to display virtual tags
????? - added --triggers and --triggered by to man page, help, and usage
????? - added support for epochs
2.5.1 -> 2.5.2:
- added -bs to build just a source package
- included irix.req and irix.prov (Tim Mooney)
- copy CHANGELOG* and URL tags to all subpackages
- follow symlinks when packaging sources
- handle %files -f with no %setup (no build directory)
- fixed ugly i18n header bug
- deal with lang paths sanely when entries are missing languages
- fix bug packing /usr/doc when last file was %dir
- added --last alias
- fix :depflags query format
- Group: i18n (like Summary:)
- make --justdb install files in normal state
- %{fssizes} segv'd for packages with empty file lists
- updated HP-UX, OSF1, Irix 6.x dependency scripts (Tim Mooney)
- added arm and MachTen arch/os info
- added --filesbypkg query format
- updated README to have proper URLs
- updated rpm.spec for proper paths and cleanliness
- dependency resolution could hang when Provides: line is used in
rpmrc (Tim Mooney)
- updated mips rpmrc entries (Alex deVries)
- version/release conditional triggers weren't ignoring the trigger
package name at the front of the TRIGGERVERSION
- added --notriggers for -i and -e
- made --triggers a synonym for --triggerscripts
- ftp installs were trying to use /var/tmp/tmp
- allow whitespace in source/patch lines
2.5 -> 2.5.1:
- fail if sources are not regular files
- wasn't catching readLine() errors
- fixed (hopefully) temp file creation problems
- make %doc obey --test
- unlink before writing .rpms
- librpm.c: added headerGzRead()/headerGzWrite()
- set bzip2path via lib-rpmrc/configure (Toshio Kuratomi)
- added finish translation (Raimo Koski)
- prefer db_185.h to db.h (Christopher Seawood)
- included updated hpux.req (Ralph Goers)
- added aix.req (Ralph Goers)
- updated hpux.prov, osf.req, osf.prov (Tim Mooney)
- set file states for --justdb packages to "not installed"
- handle missing file states properly in -e code
- install time wasn missing for --justdb packages
- missing parameter in an rpmError() caused segfault
2.4.109 -> 2.5:
- fixed return code bug in build code
- do macro expansion before %if processing
- dep ordering returns w/ an error as soon as a prereq loop is found
- autoreqprov flag was being ignored during builds
- add autoreq: and autoprov:
- missed a few unlink() when scripts failed
- freePrefixes wasn't initialized in runScript()
- fix typo in %triggerpostun generation
- include icons in source packages
- headerGetEntry() should return count of 1 when returning
strings plucked from i18n strings
- do not remove comments in scripts
- save/restore existing arch when done with buildarch
- copy the I18N table to the source header so i18n stuff works
- fixed multiple memory leaks in install code
- fixed bug in part recognition
- shared files weren't being handled properly in net shared paths
2.4.108 -> 2.4.109:
- remove icons with --rmsource
- do dependecy generation on -bl
- check files on all packages on -bl
- integrate Jeff Johnson's memleak patches
- added OSF1 autodep scripts
2.4.107 -> 2.4.108:
- make --clean work with no %setup
- fixed FSSIZES problem introduced in 2.4.107
- fixed search for find-requires.sh
- improved solaris autodeps scripts
- automated (somewhat) the -static flag
2.4.106 -> 2.4.107:
- --nomd5 wasn't handled properly
- updated configure.in find-req and find-prov checks (Tim Mooney)
- make --rmsource actually work
- run postun triggers
2.4.105 -> 2.4.106:
- build: only check for non-printables in first 128 chars
- added %triggerpostun
- linux.req generates deps for shared libs
- added a CC=@CC@ to popt/Makefile.in
- handle signed return types from poptGetNextOpt() properly
2.4.104 -> 2.4.105:
- added langpatt: to rpmrc, and mark files with matches
- added some C++ cruft to rpmlib.h
- added find-requires and find-provides for hpux (Tim Mooney)
- respect LINGUAS when install package files
- added trigger support to build code
- got rid of annoying mwftw() type warning
- fixed many command line options which got broke by changes
for non-gcc compilers
- added trigger support in install code
- added doc/triggers
- strntoul() in lib/cpio.c was returning a pointer to freed
memory
- headerAppend() was doing a bad memcpy()
2.4.103 -> 2.4.104:
- fixed popt/Makefile.in to use CPP from configure
- use tmppath from rpmrc to for ftp'd files (rather then /var/tmp)
- autoconf files and .depend files weren't created properly during
make archive
2.4.102 -> 2.4.103:
- need to create popt/configure during make archive
- added comments about modifictation to base popt and rpmrc files
- allow spaces in group names
- fix bug in memory allocation of special doc stuff
- Jeff Johnson's mode/dev fixes
- clean up buildroot
- be more paranoid about making temp files
- added patches from Tim Mooney which let RPM build with non-gcc
compilers and non-GNU versions of make
2.4.101 -> 2.4.102:
- fixed spelling of "instchangelog" in lib-rpmrc.in
- fixed memory leak in headerSprintf() extension cache
- fixed memory allocation for header formatting extension cache
- added support for INSTPREFIX virtual tag for backwards compatibility
- cpio error codes were poorly defined, causing bad error messages
- generates INSTPREFIXES tag properly, and sets RPM_INSTALL_PREFIX
and RPM_INSTALL_PREFIXn environment variables
- fixed memory leak in install code which occured when net shared paths
were used
- don't pass net shared path to rpmInstallPackage() -- it looks
directly in the rpmrc entries
- don't remove files in netsharedpath, even for files whose states
are not net shared
- changed --setugids to use separate chown and chgrp programs, for
better portability
- popt moved to autoconf
- Makefiles changed to allow building in a different directory then
the source code resides in
- finally fixed the Build Host spacing in rpmpopt
2.4.100 -> 2.4.101:
- handle files with spaces (put double quotes around them)
- new rpmrc setting, buildshell, can be used to set shell
used for build scripts (default is /bin/sh)
- fix bug where macros were being improperly set for
Patch: and Source: lines
- may use "instchangelog" in rpmrc to limit the maxmium number of
changelog entries that are stored in the database for each package
(-1 means store all of them)
- default instchangelog is set to 5
- headerRemoveEntry() didn't free the item's data -- this led to
a slight memory leak when installing packages
- implemented generic file relocations at install time
(use --relocate <oldpath>=<newpath>, i.e. --relocate /usr=/foo)
- added --badreloc flag to force RPM to relocate files which packages
haven't advertised as relocatable
- fix return code on failed uncompresses in %prep
- preliminary handling of bzip2 compressed files
- differentiates between big and little endian mips
- added support for "prefixes:" tag
2.4.99 -> 2.4.100:
- fixed handling of --rebuild and --recompile
- fixed rpmlibbuild.a typo in Makefile
- fixed handling of '\' in spec files (a specific case of a more
general bug)
- change use of "export" to work with non-bash shells
- compress the archives. oops.
- fixed bug when there is no %setup
- added -L$(topdir)/popt to Makefile.inc
2.4.12 -> 2.4.99:
- added many more i18n strings
- merged in large rewrite of build code, which includes the following
changes:
- new option --rmsource
- all scripts can now take -p <prog>
- more strict about %package placement and use of main package
preamble
- %attr(mode, user, group [, dirmode])
- %defattr()
- %defverify()
- Root: is depricated. Use BuildRoot: instead
- "nosrc" sources arn't deleted when sources are removed
- New tag DocDir: <dir> to set alternate doc dir (default is
/usr/doc)
- %doc should work as expected with buildroot, prefix, DocDir:
- all file processing is done before any packaging
- should work with modern patch programs (later than 2.1)
- %patch -z <arg> same as %patch -b <arg>
- %define only defines a macro if it starts a line
- script prog entries are now arrays (ie with arguments)
- standard macros: tag names, buildarch, buildos, buildarch_lc,
buildos_lc, PATCHn, SOURCEn, PATCHURLn, SOURCEURLn, sourcedir,
builddir, optflags
- deprecate require_distribution, require_icon, require_vendor
- add RPMTAG_FILEDEVICES and RPMTAG_FILEINODES to header
- export variables in scripts
- fixed tag:field bug
- %lang() in %files
- %description -l <lang>
- Summary(<lang>):
- fixed read_line() termination usage
- Makefile changes to shorten compiler lines
2.4.11 -> 2.4.12:
- intialize reserved portion of lead when writing packages
- fixed error messages displayed when opening the database
fails during package installation and removal
- query format of the form '[A%{}]' would drop the static string
- fixed fix in 2.4.9 for empty packages which broke -qip on ftp URL's
- fixed arch/os numbers in lead
- added Turkish message catalog
- -e was running scripts even w/ --test was specified
2.4.10 -> 2.4.11:
- HAVE_SYS_SOCKET_H was mistakingly MACHINE_SYS_SOCKET_H in
config.h.in
- \%description was trying to do %d expansion in query formats
- made %% work in query formats
- fixed bug in handling characters before array
- let mips build noarch packages
- --setperms would set wrong permissions in some cases (it was
following symlinks)
2.4.9 -> 2.4.10:
- obsolete entries could cause segv's during upgrades
- sources now installed with uid/gid of process rather then
the ids used when the src rpm was created
- don't give an error if missingok files don't exist during remove
- touched ftp code to make it coexist w/ Red Hat install better
- use rand/srand rather then random/srandom
- don't build misc directory unless it's necessary
- empty package files should be treated the same as files
with bad magic, not as read errors
- fix bug where Prefix directory is included in file list
- sinix readdir() work-around
2.4.8 -> 2.4.9:
- fix for verification on systems where a single group id
maps to mulitiple group names (Benedict Lofstedt)
- added 'make tar' rule for building a distribution tarball
(Horacio Rodriguez Montero)
- fixed serial number handling in dependencies and install
code
- make mips compatible with noarch
- fixed bug w/ printing string arrays in conditionals
- handle modern patch programs (> 2.1)
- handle packages w/ duplicate dependency names
- --noscripts didn't get handled properly for removed packages
- fixed handling of packages where %prereq creates users/groups
2.4.7 -> 2.4.8:
- added noarch build compatibilities for ppc, m68k
- fixed some minor typos (Florian La Roche)
- added Obsoletes: tag, an upgrade removes packages which
have been obsoleted
- updated rpmdepUpgradePackage() to deal with obsoletes tag
- convertdb needed to read rpmrc
- fixed ugly bug in package ordering
- archivesize tag was incorrect for packages with hard links
- moved popt into a separate library
- directory created with %doc is now name-version (dropped
the release)
- added buildarch/buildos macros
- added %ghost file option
- updated linux.req to only find requirements for exectuable files
2.4.6 -> 2.4.7:
- had some wrong month lengths in changelog date parsing
- updated fine-requires (Linux version) to add lines for shell
scripts (Donnie Barnes)
- didn't package / properly
- pre/post script processing had some erroneous free() calls
- fixed typos for HP archs in lib/rpmrc.c
- uname() results should go through *_canon tables before anything
else happens
- set -x in debug shells, not -xs
2.4.5 -> 2.4.6:
- added os_canon entries for BSD/OS and NextStep
- replaced include of <malloc.h> with includes of <stdlib.h>
- fixed md5sum of source packages w/ a buildroot is used
- fixed bugs installing version 1 packages
- remove hyphens from uname() result (specifically for HP-UX)
- hacks to recognize architecture under parisc
- RPM_INSTALL_PREFIX wasn't being set properly (this should be
fixed now)
- replaced temporary file creation to be race-condition safe
- prerequisites may not specify versions
2.4.4 -> 2.4.5:
- call getpwnam()/endpwent() once before a chroot(), forcing name
service shared libs to be loaded from outside of the root path
- added vesrion stamp to lib/misc.o (and librpm.a by extension)
- fixed config.sub, config.guess to recognize i686
- ARCHIVESIZE tag didn't get filled in properly, breaking progress
meters
2.4.3 -> 2.4.4:
- restore working directory after installing a package w/ a chroot
- dump the package stack when a dependency loop is encountered
- when a user/group lookup fails, end*ent() and retry
- fixed broken --scripts argument (it was --s2)
- only display the packager and url in -qi output if they have defined
values
- print "(not installed)" as the install time for -p queries rather
then "not a number"
- almost completely rewrote rcfile parsing; I'm sure this will
break things eventually but it's much more flexible now
- added buildarch/buildos compatibility tables, listed values
in --showrc
- added cpio archive building code; GNU cpio is no longer used!
packages created w/ rpm 2.4.4 and later cannot be installed with
rpm 2.4 - rpm 2.4.3 however (version of RPM before 2.4 will
work fine, however). An "error -2 reading header" happens when
this is attempted
- removed cpiobin from rpmrc
- added rpmrc "provides" tag to allow easy fulfillment of
automatically generated dependencies
- look for random() in libm if it can't be found be default
- fixed problems in Solaris's autodeps stuff (Eric Mumpower)
- --setperms should work properly on directories now
- --justdb on install, upgrade, and erasure causes a database
update w/o the filesystem being touched
- fixed version comparison of a package w/ a serial tag against
a package w/o one
- added BuildArchitectures: tag to spec file to enable builds
for alternate/multiple architectures
- look for random() in -lucb
- changed the licensing terms for librpm to allow redistribution
under the LGPL
- applied man page changes from Alex deVries
- configure.in builds up LIBS by appending (Benedict Lofstedt)
- rpm2cpio reported wrong zlib error string
- removed \n from (none) generated by query format code
- queries of fssizes w/o fsnames didn't work (Till Bubeck)
- added --noorder option to skip package reordering (Elliot Lee)
2.4.2 -> 2.4.3:
- implemented install time prerequisites
- repaired %{#TAG} query format
- implemented ternary operator as query expression
- fixed --scripts to only print information on scripts which
are present
- check symlink() return for < 0, not != 0 (Bob Tanner)
- uses chroot() for installs --root option
- archive expansion doesn't create new devices or symlinks when
the proper files already exist
- added -p to %post (etc) to specify the program which a script
is run through
- if -p is used w/ an empty script, the specified program is
executed directly
- the -p argument (or /bin/sh) is automaticall added as a prereq
2.4.1 -> 2.4.2:
- completely rewrote queryformat code
- added fsnames, fssizes virtual query tags
- added rpmdbFindByHeader() and rpmdbFindByTag() public functions
- added rpmfilename tag to rpmrc to define the filename format to
use for binary packages (note the rpmdir is prepended to it)
- used pclose() instead of fclose() in -t code
- updated man pages
- changed "struct rpmdb" to "struct rpmdb_s" for C++
- netsharedpath entries shouldn't match partial directory names
anymore (a nersharedpath of /usr/lib shouldn't affect /usr/libexec)
- don't backup config files on netsharedpaths (take 2)
- added "day" query format which is like date, but doesn't print
any time
- added --changelog alias to query a packages changelog entry
- added mntctl() support for AIX (I think, I can't test this)
- fflags query type displays 's' for specfiles, 'm' for missingok
files, and 'n' for noreplace files
- implemented %config(missingok) flag in install
- added --allfiles flag for -i and -U, which forces all files (even
missingok files) to be installed
- implemented %config(noreplace) for the install, but it hasn't
been tested in any way
- added i18n support to headers
- added ppc/rs6000 differntiation for AIX
- all IP* from uname() is changed to just IP
- IP is considered the same as mips (not sgi)
- added IRIX64 OS, it's compatible w/ IRIX
2.4 -> 2.4.1:
- take advantage of lchown() if it's available
- fixed configure script to assume chown() doesn't follow symlinks
if lchown() isn't available and configure is not being run as root
- more header file changes for AIX
- added :shescape query format type for strings, which prints strings
which will survive a single level of shell expansion
- fixed --setperms and --setugids to handle empty packages and
packages with odd filenames
- include <sys/time.h> before <sys/resource.h>
- include "miscfn.h" first in every file which needs it
- created noarch architecture which everything is compatible with
- fixed group verification (Benedict Lofstedt)
- don't backup config files on netsharedpaths
- added info on --build{arch|os} to --help and usage messages
2.3.11 -> 2.4:
- changed RPMNLSDIR directories to and @datadir@ to better
conform with autoconf
- set RPM_INSTALL_PREFIX environment variable when running
verify scripts
- beginnings of SCO support (though I suspect it will take one
or two more iterations to get it right)
- switched to CVS and updated some Makefile rules
- look for gethostbyname() instead of gethostname() in -nsl
(this could break some things)
- added check for strcasecmp() in -lucb on systems which don't
have strcasecmp() in libc
- don't build -static on hpux10
- don't try and NLS empty strings
- changed index() call to strchr() in macro code
- include <time.h> in build/spec.c for various platforms
- added update-po rule to po/Makefile.in
- updated de.po (thanks to Karl Eichwalder)
- rpmFindByFile() removes trailing and duplicate /'s
- made many string in rpm program (though not yet in the various
libraries) translatable
- eight character user names could break -qlv
- requirements which begin with a leading / require files (in
the database!) instead of packages
- clean up conflictsindex during --rebuilddb
- get path to gzip from /usr/lib/rpmrc rather then just hoping it's
in the path
- use dbpath for error messages with include database path in
their text
- don't set owner/group if binaries installed by "make install"
- include <strings.h> on SCO
- don't use cpio when installing packages <gulp>
- fixed bug which affected dependencies on the Alpha
- made '=' work for long arguments (the switch to popt broke this)
- handle solaris systems better
- complain if critical rpmrc variables (cpiobin, gzipbin, etc) aren't
set anywhere
- allow --dbpath for --rebuilddb
- added check for systems whose chown() follows symlinks. If configure
is run as root, this should get it right, otherwise it assumes
chown() does not follow symlinks. You can use --enable-broken-chown
to force configure to think chown does indeed follow symlinks.
- if chown() follows symlinks, we don't chown() symlinks during cpio
unpacking and we don't verify the owner or group of symlinks
- added packager and url to default -qi output
- look for <sys/select.h> and use it if it's there (for AIX)
2.3.10 -> 2.3.11:
- fixed newlines in --scripts output
- fix handling of source files with bad owners/groups
2.3.9 -> 2.3.10:
- --allmatches handling in -e broke some cases
- new predefined macros: %SOURCEn %PATCHn %SOURCEURLn %PATCHURLn
- fix anomoly with %files -f <file> and %doc
- ignore config bit when it's set on directories (which allows
users to replace directories with symlinks)
- don't set config bit on directories
- strip trailing slashes from files (during build)
- %tags are now case sensitive (macros too)
2.3.8 -> 2.3.9:
- reworked %setup to allow multiple -a and -b options, which
should noticeably ease the task of unapcking multiple tar files
- md5 sum's were calculated incorrectly on big endian machines
from 2.3.2 through 2.3.8 -- this was fixed and some hacks were
done to keep verification working
- updated README
- added --allmatches to allow erasing multiple versions/releases
of a package
- changed ftp URL's to use \r\n, not just \n (this should let RPM
work w/ some picky (but rfc compliant) ftp servers
- fix problem where parts at end of spec file were dropped
- added %config(noreplace missingok) (build-side)
- simple spec file macros
- should now process entire file list before failing
2.3.7 -> 2.3.8:
- added -t? options to build packages from tarballs which contain
.spec files instead of from the .spec files directly
- fixed error in man page where ftp URLs are discussed
- don't strlen(NULL) in headerAddEntry()
- minor portability changes
- stopped building oldrpmdb.c as part of rpmlib
- added Makefile rule for building rpmconvert (which is almost
never needed) -- this isolated gdbm dependence to this target
- fixed checking of popt stack overflow
- --requires shouldn't imply -q
- fixed error message issued when a groupname does not exist
- fixed but in changelog processing which made it hang on '*' in a
changelog entry
- generate S_ISSOCK and S_ISLNK macros on systems w/o them
- "rpm --erase" wasn't returning proper error codes w/ package
removal failed
2.3.6 -> 2.3.7:
- fixed nasty memory link in -Va
- configure checks for -lnsl explicitly rather then linking it
to -lsocket (for NCR SysVR4)
- configure checks for dirent.h
- modified glob.c to include config.h and use HAVE_DIRENT_H
- cleanup of LIBS/LIBPATH mess a bit more
2.3.5 -> 2.3.6:
- -Vf uses realpath() now
- -Vp lets you use --ftpproxy, --ftpport
- changed popt format, breaking all popt alises :-(
- added ability to alias character arguments to popt
- moved --requires, --info to /usr/lib/rpmpopt
- RPM is more forgiving of blank user names (dumb)
- popt searches for aliases in the correct order now
- cleanup query code to handle missing uid lists better
- cleanup up configure.in a tad
2.3.4 -> 2.3.5:
- %{#TAG} in query format prints the array length
- cleanup up protoypes in rpmlib.h
- let -Vp work on URLs
- don't set umask(0) anymore -- that confused programs which
link against rpmlib quite badly
- moved print out in "rpm -v -i" to occur after any warnings
to pretty up the output a bit
- added default optflags for powerpc
- run shell for post/pre scripts in debug mode with -sx for
some silly shells
- installing source packages with --root checked for the
sources/specs directory to exist outside of the root -- fixed
- modified toplevel Makefile to run dependency generation only
against referenced sources
- array size mismatches in --qf should send error to stderr
- tried to make the locale stuff a bit more portable (again)
- reworked the owner/group setting on installs to be more generic
(in preperation for getting rid of cpio)
- made verify verify owner and groups by name rather then by id -- if
the symbolic names aren't available use the uids
- cleaned up relocateFilelist() and related code thanks to
new header introduced in 2.3.3 -- this could break relocatable
packages but they seem okay
- fixed a bug which could cause relocatable packages to not get
relocated -- I think this bit some people during hard drive
installs of all things (Jason Salopek pestered me consistently
enough to keep this on the front burner for me)
- removed FILEUIDS and FILEGIDS from the header in the database --
we never used it and it jsut wasted room
- convert uid/gid lists in v1 headers to symbolic names
2.3.3 -> 2.3.4:
- %changelog processing
- fixed broken requires/conflicts parsing for spec file
- vastly improved --rebuilddb's robustness
- fixed misplaced free() (only affected inconsistent databases)
- added conflicts documentation to docs/dependencies
- using multiple query formats has them all concatenated
- removed stdin based query and verify selectors
- installs rpmpopt in libdir
- moved --provides and --scripts to rpmpopt
- added --setperms, --setugids
- incorporated newer de.po from Karsten Weiss
- --resign/--addsign was broken in 2.3.3 from popt conversion
2.3.2 -> 2.3.3:
- Ripped out header internals and redid them. Any compatibility
problems this causes are *bugs* as it should be completley
transparent. If this works the devil better buy some Prestone (TM).
- Use "cp -pr" instead of "cp -ar" for %doc expansion
- use <string.h> instead of (non standard) <strings.h> in some places
- look for non-POSIX (broken) chmod
- include local copies of glob/fnmatch
- removed getopt() check from configure.in
- fixed bug in ftp code which prevented proper logins to some sites
- switched to popt from getopt, which allows command line aliasing
- read initial aliases from /usr/lib/rpmpopt then /etc/popt and
$HOME/.popt
- cleanup up rdev verification (only verifies device files, checks
device related mode bits as well)
- fixed allocation of temporary paths (Eugene Kanter noticed this)
- made tools/dumpdb read the rpmrc so it can find the database
- added --nomd5 for -V and -K
- don't assume mkdir -p will succeed if the dir exists
- use RPMNLS* defines to avoid header file conflicts
- bunch of minor cleanups to avoid warnings on other OS's
2.3.1 -> 2.3.2:
- fixed bug in new rpmVersionCompare() which made it worse then
useless (thanks to Norbert Kiesel)
- fixed silly message
2.3 -> 2.3.1:
- changed --help routing to have intelligent line wrapping
to make i18n efforts easier
- NLSDIR should be used for nls catalogs, not a hardcoded path
- NLSDIR should be in share, not lib
- renamed sweedish catalog from se to sv
- added german catalog
- treat RPM_CHAR_TYPE as RPM_INT8_TYPE for queries
- made rpmEnsureOlder() internal to lib/install.c
- added rpmVersionCompare() to compare version/release/serial numbers
for packages -- returns like strcmp()
- stdout/stderr were getting closed after running a verify script
- relocting packages didn't work w/ the packages contained the
directory which was it's prefix
2.2.11 -> 2.3:
- replaced putenv/setenv which calls which malloc() buffer -- these
are memory leaks, but the functions are only used between a fork()
and exec() so it doesn't matter
- created directroies are stamped with mtime from the file list
2.2.10 -> 2.2.11:
- fixed some include file problems for FreeBSD
- fixed find-provides script for Linux (silly typo)
- -qvl didn't print out sticky bit
- linux.prov won't print provides info for symlinks which point
to libraries w/ proper sonames
2.2.9 -> 2.2.10:
- changed how installArchive() handles running out of gzread()
bytes while the child is still alive
- changed tag for Alpha's to "alpha" from "axp" <gulp>
- made ./configure look for --quiet support in cpio
- netsharedPath's were having mkdir()'s done on them and had
bad interactions with rooted directories
- made -qp accept '-' to query the package on stdin
- dependency checking was broken when no database was being used
- don't *ever* let cpio make directories -- we do a better job
(esp because we don't kill symlinks!)
- plugged memory leaks in upgrade (again thanks to mpr) -- install,
erase, upgrade, query, and verify all seem to be leakproof
- use select() rather than busy waiting in cpio_gzip()
- use half as much temp space during package assembly
- fail if spec file check fails
- changed canonical name for 68k to m68k (sorry)
- integrated FreeBSD changes from Jared Mauch
- integrated Irix changes from Hermann Lauer
- i18n support can be disabled w/ configure by --disable-nls
(thanks to Remy Card)
- integrated more AmigaOS patches, played with configure some
more to allow cross compiling (Kristof Depraetere)
- cleanups to rpm2cpio (closing the gz stream) (Elliot Lee)
- made find-provides return filename for libs w/ no soname
2.2.8 -> 2.2.9:
- fixed typo in default rpmrc
- made getBooleanVar() a bit better
- added triggers to package builds
- tagged spec file in source package file list
- added %verifyscript (controlled by --noscript, -v flags)
- changed pkgReadHeader() mechanism to be more generic
- added find-provides for Solaris, made find-provides setup
more generic (w/ configure.in picking the right one)
- fix -Q
- The Great Renaming
- use external OS specific script to generate requires lines
(should work with ld.so 1.8.x) (find-requries)
2.2.7 -> 2.2.8:
- added --ftpproxy, --ftpport (and wrote about them in rpm.8)
- added --nodeps to man page
- added --showrc to man page
- added conflict checking (use conflicts tag, which looks
just like the requires tag)
- fixed RPM's return code when package removal fails
- cleaned up lib/install.c a bit for readability
- plugged a bunch of memory leaks thanks to mpr -- install,
uninstall, verify, and query all seem clean now
- added support for trees shared over a network via netsharedpath
in rpmrc
- don't exit when there is an unknown option in an rpmrc, just
give an error and continue
- tried once again to get things working properly with 2.1's
write behavior
- added -E option for %patch
- added UltraSPARC support to lib-rpmrc
- moved default topdir and optflags settings to lib-rpmrc from
/etc/rpmrc
- removed /etc/rpmrc from standard distribution
- use separate chgrp/chown commands in %setup macro
- kill(2) arguments were backwards in lib/install.c
- fileFile logging needed stdio to handle NULL args to %s
- default docdir (for %doc macro) set in lib-rpmrc rather then
hardcoded
- removed some of the \n from args to error() [though many are
still left]
- uninstall should fail if the preuninstall script fails
- --root works with --initdb now
2.2.6 -> 2.2.7:
- applied lots of portability patches
- builds on Solaris machines now!
- will build w/o i18n support if GNU gettext isn't installed
- added inet_aton, setenv functions for libmisc
- added Sun4c, Sun4m architectures
- use vfork() if fork() doesn't exist (for AmigaOS)
- look for GNU cpio, complain if it doesn't exist at build time
- put path for GNU cpio in /usr/lib/librpmrc
- install rpm.shared if rpm wasn't built (for Solaris)
- readHeader() in librpm.a should work on sockets (which may
return partial reads)
- package file query (-q -p) accepts ftp:// style URL's
- if gzread returns 0 bytes (at EOF), don't call write w/ 0 byte
argument as it's behviour isn't portable
- fixed -Vp behavior (doesn't seg fault w/ packages have dependencies)
2.2.5 -> 2.2.6:
- added --rebuilddb to rebuild database, updated man page
- fix fd leak in md5sum
- fixed group cache bug
2.2.4 -> 2.2.5:
- if rename() for moving .spec file from SOURCES to SPECS fails,
try copying it instead
- -h and -v work for source package >= V2
- -h output is much smoother now
- new AutoReqProv: tag in spec file can disable automatic
require/provide generation
- fixed md5sum problem on big endian machines in a way that's
mostly backwards compatible; this hack will be removed someday
- added :fflags tag
- fixed a couple of minor memory leaks in lib/install.c
- --test for building
2.2.3 -> 2.2.4:
- only remove docdir if %doc occurs
- allow -R to %patch
- moved to use GNU autoconf, though it probably isn't perfect yet
(thanks Kristof Depraetere)
- spec file sanity: no - chars in version or release,
must be a regular file :-)
- version specifications for requirements can use "-<release number>"
- default lib path, tmp path, topdir, and /usr/lib/rpmrc get set
by configure script relative to --prefix
2.2.2 -> 2.2.3:
- fixed script file md5 checking when files are in a root
- implemented proper strdup/free logic for dependency conflict
lists
- strip leading directories from ldd output
- fix non-null-terminated readlink() result
- fixed sscanf() in ftp code to use proper types
2.2.1 -> 2.2.2:
- added functionality to rpmlib to suggest resolutions for
dependency problems
- fix stupid allocation problem in exclude/exclusive stuff
- fix nasty bug where pointers in to the header were getting
stale after some realloc()s in addEntry()
- ignore OS tag for v2 packages -- it was wrong anyway
- match shared libs on ".so" rather than ".so."
- skip blanks from objdump for auto-provide
- if objdump gets us _end, provide the file name
- do not ldd non-regular files
- do not pass leading "/" to ldd
- fix ExcludeOs: and ExclusiveOs:
- -V verifies dependencies, can be controlled with --nodeps
and --nofiles
- added information on --nodeps to usage messages
- implement --timecheck and rpmrc timecheck:
- implement -bl
- catch duplicate files in file lists
- some random sanity checking on the file list
2.2 -> 2.2.1:
- made rpmRemovePackage() print message in verbose mode
- added support for ftp://user:pass@machine.org/ URL's
during installation - the password will be prompted for
if only the user is given, and anonymous ftp will be used
it both user and password are omitted (as before)
- Remove Exclusive: Exclude:
Replace with: ExclusiveArch: ExclusiveOs:
ExcludeArch: ExcludeOs:
- fixed dependency cheking for packages that are installed
at the same time
- fixed version number dependency checking
- fixed problem installing v1 source packages (thanks to
Nikita Borisov)
- fixed minor spelling/spacing problems (Nikita Borisov)
- assume all v1 packages were made for Linux so OS check works
- began to implement proxyftp, though it doesn't work yet
- fixed spacing when reporting dependency conflicts
- fixed bug where a long name (uname()) was mapping to itself
2.1.2 -> 2.2:
- don't fail, and do report, if -K can't find a PGP key
- handle file names with quotes and spaces when passed to ldd
(still can't have spaces in %files)
- do not allow Buildprefix: in sub packages
- removed require_group from rpmrc -- groups are always required
- removed arch_sensitive from rpmrc -- always on
- removed docdir from rpmrc -- always /usr/doc
- fixed nasty bug in installing packages with large filelists
- made -R work
- --provides and --requries don't print anything if no information
is present (rather then (none) )
- -qi prints Summary now
- changed Buildprefix: -> Buildroot: (spec file, rpmrc)
--buildprefix -> --buildroot (command line)
RPM_BUILD_PREFIX -> RPM_BUILD_ROOT
(%prep, %build, %install, %clean)
sorry :-)
- allow Prefix: for sub-packages
- allow packager: in rpmrc
- --arch and --os are now --buildarch and --buildos
- magic arch/os handling through arch_canon and os_canon
see /usr/lib/rpmrc (in short: uname short_name num)
- removed build_arch: from rpmrc
Replacing it is buildarchtranslate: and buildostranslate:
to allow building with arch/os other than what uname() returns.
Can still be overriden with --buildarch and --buildos
- rpmrc keywords are now case-insensitive
- check os at install time
- check return code from gzread() during installs
- implemented os_compat
- added arch_compat and os_compat information to --showrc (the
changes needed to do this removed any lingering questions about
the efficiency of the compat lookups for large tables or tables
with loops -- it should all work fine)
- made -u (--uninstall) exit with an error and not do anything
- added --ignoreos
- fixed error message given when a file is missing
- fixed hashing when multiple packages are being modified
- changed man page for readability (thanks to Joseph L. Hartmann, Jr)
2.1.1 -> 2.1.2:
- fixed error message for unrelocatable packages
- automatic shared lib provides now work with buildprefix
- fixed dependency checking during upgrades to work if the
package wasn't previously installed
- clean up temp file after signature check
- dependencies weren't looking through packages that were
being installed at the same time quite right
2.1 -> 2.1.1:
- fixed -qi query format
2.0.11 -> 2.1:
- added --requires, --whatrequires, --provides and
--whatprovides queries
- using a string array tag in a queryformat results in every
item in the string being printed out with spaces in between
(though this behaviour will probably go away shortly)
- all packages are ftp'd before any are installed (required to
do proper dependency checking)
- if only source packages are being installed, the database is
never opened
- automatic shared library require/provides tags generated
- added --nodeps flag for install and uninstall
- added dependency checking for installs and uninstalls
- misc fixes to compile with glibc
- use PGPPATH if set (and no pgp_path: in rpmrc)
- remove pgp_pubring, pgp_secring stuff
- new extensible signature
- signature section supports multiple signatures
- --addsign to add a signature to a package
- PGP key no longer limited to 1024 bits
- always do at least an MD5 "signature"
as a result, -K will always tell you something
- signatures now include a simple "header+archive size" check
just calling readSignature() checks this
- --nopgp (with -K) to skip PGP check, just do MD5
- allow '#' comments in preamble and %files section
- fixed -qsv to print both the states and the file information
- added --dump option to query to print all file attributes
- installs with --root use the /etc/passwd and /etc/group from
the target directory
- added --initdb to aid in database initialization
- --queryformat can print items of type INT8
- "sourceless" packages with nosource: and nopatch:
- [] now allows interation through query formats
- '-' flag for query tags removed
- :date and :perms supported as query format specifiers
- new rpmrc entries "arch" and "os" to override
- --arch and --os on the command line to override
- arch and os are now strings in the package header
- added arch_compat handling in /etc/rpmrc
- added build_arch to /etc/rpmrc
- support arch as string
- added --ignorearch option
- Prefix: in spec file to specify default installation prefix
- rpmrc and command line may be used to override the path
used for the rpm database
- relocatable packages get installed properly
- added support for --prefix and RPM_INSTALL_PREFIX environemtn
variable
- added dependency checking for version numbers
- added correct dependency checking for upgrades
- added :depflags query format flag
- changes --provides, --requires, and --scripts queries to use
queryFormats
2.0.10 -> 2.0.11:
- fixed chmod(symlink) bug (since 2.0.9)
2.0.9 -> 2.0.10:
- fixed the fix to rpm -q <num> bug
to query by number you now need --querybynumber
- made arch_sensitive on by default
- handle # comments in preamble
- don't barf if we can't canonicalize the hostname during builds
- fixed --verify with --root
2.0.8 -> 2.0.9:
- %files -f <file>
- prelim Require/Provide handling
- prelim strict checking of spec file
- removed some bash-isms
- fixed globbing/root bug
- fixed rpm -q <num> bug
- fixed ftw() related bug where symlinks were being
followed in %files rather than just being noted!!
- pass "upgrade" arg to pre/post scripts when upgrading
- use PATH to find cpio when installing
- fixed rpm.magic, added sun4, mips, 68k, sgi, sunos, solaris
- added %attr(mode owner group) feature to file list
- fixed dumb %verify() parse bug
2.0.7 -> 2.0.8:
- explicitly turn off ASCII armor when running PGP
- fixed --noscripts logic, which was on by default and
off if you specified it!
- uses a temp file to pass filenames to cpio in case when
their are more then 500 filenames in a package
- added --rcfile
- fixed problem with $HOME/.rcfile not being read
- undocumented --search, --where, --keep-temps which
will probably won't be implemented in RPM 2.x anyway
2.0.6 -> 2.0.7:
- builds now set umask 022 for all scripts
- queries relative paths correctly (thanks to Johnie Stafford)
- fixed error codes for failed installs
- don't add NULL entry to group index for packages that don't
have group information, add it to the "Unknown" group instead
- added --scripts query option
- added --noscripts for installing and uninstall without using
the pre/post scripts
- "rpm -qd" and "rpm -qc" work properly now (they didn't imply
-l before)
2.0.5 -> 2.0.6:
- internal changes to error messages
2.0.4 -> 2.0.5:
- added support for generic querying
- added --querytags option
- updated man page for above two
- short-circuit got added before 2.0.5, but I don't know when
- query and installs should now return 0 on success and nonzero
otherwise (rpm -i should return the number of packages that
failed actually)
- made rpm -qa fail if extra arguments are passed to it
2.0.3 -> 2.0.4:
- added support for PowerPC, and OSF mklinux ports
- added --resign
- added --recompile
- added verbose error messages from Tyson Sawyer
- rpmconvert won't overwrite an existing database
- won't core dump querying old format source packages
- freed minor memory leak
- more descriptive error messages during build
- added support for not installing documentation
2.0.2 -> 2.0.3:
- added support for 686, 786, 886, 986
2.0.1 -> 2.0.2:
- fixed ftp.c to return an error code when select timeouts
- added basic NLS support, along with a Sweedish message catalog
(thanks to Michael Nyquist)
2.0 -> 2.0.1:
- hashing and percentages no longer SIGFPE on 0 byte packages
- when an ftp fails, install.c no longer tries to install the package
- uses /var/tmp rather then /usr/tmp during for ftp space
- added debugging messages to ftp.c
- fixed some mistakes in the PGP section of the man page
- added mdfile prototype to rpmlib.h - the Python module wants this
- fixed struct oldrpmlead to align properly on the alpha
2.0 - everything done :-)
2.0b -> 2.0c:
- an incredible number of changes - I won't bother trying to
list them
2.0a -> 2.0b:
- moved build stuff to main rpm command, though --rebuild is still
not supported
- install should work, although replaced files are not marked as
replaced
- %doc macro fixed
- --percent, --hash work for installs
- converted databases and packages get the file list in the correct
order now
- none of this is well tested
- rpms are output to proper dirs (which are always arch sensitive)
- basic rpmrc functions are implemented, full parsing is present
- changed error messages for missing files to include full path
- fixed detection of Alpha's
1.4.6 -> 2.0a:
- completely rewritten in C
- verification missing
- build functionality not in main rpm, in rpmbuild instead
(this will be corrected)
- an awful lot is still missing - this is an ALPHA release
1.4.5 -> 1.4.6:
- fixed rpmq problem with packages w/o groups (old RPM's would do this)
- fixed uninstalling with --root
1.4.4 -> 1.4.5:
- added support for mips processors
- added support for osf1 and irix os's
1.4.3 -> 1.4.4:
- fixed bug in arch detection code which caused i386 failure
1.4.2 -> 1.4.3:
- added tokens for SPARC, MIPS, PowerPC, and 680x0 architectures
- fixed sparc arch, added arch sanity check
1.4.1 -> 1.4.2:
- added --root to man page, usage, and help messages
- added a " " to the "Creating directory" debug message in install.pl
- make --rebuild fail on binary packages
- don't output prep/build/install sections if there aren't any
1.4 -> 1.4.1:
- fixed man page
- updated corruption messages to not mention --rebuild
- added RPM_PACKAGE_VERSION and RPM_PACKAGE_RELEASE variables
at build time
- no longer allows installing binary packages across architectures
- fixed handling of symlinks marked as config files
1.3.2 -> 1.4:
- make -v the default when using -b and --rebuild
- added %postbuild as an alias for %clean
- added gendiff
- added groups file installed in /usr/lib/rhs/rpm
- made usage message different and more concise then the --help message
- added --version option
- updated man page
- changed C build tree for concurrent building on multiple architectures
1.3.1 -> 1.3.2:
- add -b option to %patch
- fixed install/chroot temp file deleting
1.3 -> 1.3.1:
- fixed bug when doing md5 of erased config file during rpm -u
- fixed spec file searching
1.2 -> 1.3:
- added --search and --where options
- multiarchitecture support
- added --rebuild option
- started C rewrite - rpmq (query options only)
1.1 -> 1.2:
- preuninstalls weren't getting handled properly
- Alpha architecture is now recognized and builds are allowed
- the database open is checked for success before continuing
- rpm -b? checks the SPEC files for package names given as args
|