1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
|
;; GNU Guix news, for use by 'guix pull'.
;;
;; Copyright © 2019-2023 Ludovic Courtès <ludo@gnu.org>
;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
;; Copyright © 2019, 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
;; Copyright © 2019, 2020, 2021, 2023 Julien Lepiller <julien@lepiller.eu>
;; Copyright © 2019–2023 Florian Pelz <pelzflorian@pelzflorian.de>
;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;; Copyright © 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;; Copyright © 2021 Zhu Zihao <all_but_last@163.com>
;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
;; Copyright © 2021, 2022 Maxime Devos <maximedevos@telenet.be>
;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
;; Copyright © 2021, 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
;;
;; Copying and distribution of this file, with or without modification, are
;; permitted in any medium without royalty provided the copyright notice and
;; this notice are preserved.
(channel-news
(version 0)
(entry (commit "ae11fcb84ac478dfa56d322ef08890645183a087")
(title
(en "New @option{--with-configure-flag} transformation option")
(fr "Nouvelle option de transformation @option{--with-configure-flag}"))
(body
(en "The new @option{--with-configure-flag} package transformation
option lets you pass an additional configure flag to the build system of a
package. For instance, here is how you would pass a flag to @command{cmake},
the build system of the @code{lapack} package:
@example
guix build lapack \\
--with-configure-flag=lapack=-DBUILD_COMPLEX=OFF
@end example
Run @command{info \"(guix) Package Transformation Options\"} for more info.")
(fr "La nouvelle option de transformation de paquets
@option{--with-configure-flag} permet de passer un drapeau supplémentaire au
système de construction d'un paquet. Par exemple, voici comment on passerait
un drapeau à @command{cmake}, le système de construction du logiciel
@code{lapack} :
@example
guix build lapack \\
--with-configure-flag=lapack=-DBUILD_COMPLEX=OFF
@end example
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus de détails.")))
(entry (commit "c919bfefd98bf2e29549539b4e28e6dc2a8a6f32")
(title
(en "Core packages updated")
(de "Kern-Pakete aktualisiert")
(fr "Mise à jour des logiciels importants"))
(body
(en "Core packages have been updated, following months of hard work
by contributors. Noteworthy package upgrades include:
@itemize
@item glibc 2.35;
@item Python 3.10;
@item Perl 5.36;
@item Mesa 22;
@item GCC 11 is now used as the default compiler.
@end itemize
A major highlight is the introduction of the so-called @dfn{full-source
bootstrap}: packages are all built starting from a 500-byte program called
stage0, which is then used to build a higher-level interpreter, a basic Scheme
interpreter and C compiler (GNU Mes), and so on, until @acronym{GCC, the GNU
Compiler Collection} is finally built. This is a premiere and a huge step
forward in terms of transparency of auditability.")
(de "Die Pakete, die den Kern der Distribution ausmachen, haben eine
Aktualisierung bekommen. Dies ist das Ergebnis monatelanger harter Arbeit
unserer Mitwirkenden. Zu den wichtigen Paketaktualisierungen gehören:
@itemize
@item glibc 2.35,
@item Python 3.10,
@item Perl 5.36,
@item Mesa 22,
@item GCC 11 wird jetzt standardmäßig als Compiler benutzt.
@end itemize
Eine große Neuigkeit ist, dass Guix jetzt auf „Bootstrapping aus dem Quellcode
allein“ basiert: Grundlage der Pakete ist ein 500 Byte großes Programm namens
stage0, womit ein weiter abstrahierter Interpretierer kompiliert wird, dann ein
grundlegender Scheme-Interpretierer und C-Compiler (GNU Mes), und so geht es
weiter, bis endlich @acronym{GCC, die GNU Compiler Collection} erstellt wird. Es
ist eine Premiere und ein großer Schritt nach vorne, was Transparenz und
Auditierbarkeit angeht.")
(fr "Les logiciels de base ont été mis à jour, après des mois de dur
labeur par les contributeur·rices du projet. Parmi les mises à jour notables,
il y a :
@itemize
@item glibc 2.35 ;
@item Python 3.10 ;
@item Perl 5.36 ;
@item Mesa 22 ;
@item GCC 11 est dorénavant le compilateur par défaut.
@end itemize
Une autre nouveauté importante est l'introduction de @dfn{l'amorçage intégral
depuis le source} (@i{full-source bootstrap} en anglais) : les logiciels sont
compilés en partant d'un programme de 500 octets appelé stage0, à partir
duquel on compile un interprète de plus haut niveau, un interprète Scheme et
un compilateur C de base (GNU Mes), et ainsi de suite, jusqu'à ce que
@acronym{GCC, the GNU Compiler Collection} soit enfin compilé. C'est une
première et un grand pas en avant en termes de transparence et
d'auditabilité.")))
(entry (commit "21564fada141bfba25d471518b293b6004244c3a")
(title
(en "Linux-libre LTS kernel updated to 6.1")
(de "Linux-libre LTS Kernel wird auf 6.1 aktualisiert"))
(body
(en "The default version of the @code{linux-libre-lts} kernel has been
updated to the 6.1 longterm release series.")
(de "Der standardmäßig verwendete @code{linux-libre-lts}-Kernel basiert
jetzt auf der 6.1-Versionsreihe (Langzeitunterstützung).")))
(entry (commit "57db09aae73e3713a10c5253758d84e1046f80dc")
(title
(en "Using Guix within @command{guix shell --container}")
(de "Guix innerhalb @command{guix shell --container} nutzen")
(fr "Utilisation de Guix dans @command{guix shell --container}"))
(body
(en "The @option{--container} (or @option{-C}) option lets you spawn
a container---an isolated software environment. In some cases, it is useful
to use Guix from within the container, something that is normally not
possible.
The new @option{--nesting} (or @option{-W}) option lets you do exactly that: a
container created with that option will let you use @command{guix} commands,
including @command{guix shell -C}, @emph{inside} of it.
The example below shows how to evaluate a @file{guix.scm} file to build a
package from within an isolated container, which is useful if @file{guix.scm}
is untrusted:
@example
guix shell -CW -- guix build -f guix.scm
@end example
Run @command{info \"(guix) Invoking guix shell\"} for more information.")
(de "Mit der Befehlszeilenoption @option{--container} (oder
@option{-C}) können Sie Container anlegen, also isolierte
Software-Umgebungen. Allerdings will man manchmal Guix innerhalb eines
Containers nutzen, was unmöglich ist, wenn Sie es normal aufrufen.
Die neue Befehlszeilenoption @option{--nesting} (oder @option{-W}) ergänzt
genau das: In einem damit angelegten Container lassen sich
@command{guix}-Befehle, einschließlich @command{guix shell -C}, @emph{im
Container} benutzen.
Folgendes Beispiel zeigt, wie Sie eine Datei @file{guix.scm} auswerten lassen,
um ein Paket aus dem isolierten Container heraus erstellen zu lassen. Das
können Sie gebrauchen, wenn Sie @file{guix.scm} @emph{nicht} vertrauen:
@example
guix shell -CW -- guix build -f guix.scm
@end example
Führen Sie @command{info \"(guix.de) Aufruf von guix shell\"} aus, um mehr
zu erfahren.")
(fr "L'option @option{--container} (ou @option{-C}) permet de
démarrer un conteneur---un environnement logiciel isolé. Dans certains cas,
il peut être utile d'utiliser Guix à l'intérieur du conteneur, ce qui n'est
normalement pas possible.
La nouvelle option @option{--nesting} (ou @option{-W}) résoud ce problème : un
conteneur créé avec cette option permet d'utiliser des commandes
@command{guix} à l'intérieur, y compris @command{guix shell -C}.
L'exemple ci-dessous montre comment évaluer un fichier @file{guix.scm} pour
construire un paquet depuis un conteneur isolé, ce qui est utile si
@file{guix.scm} n'est pas de confiance :
@example
guix shell -CW -- guix build -f guix.scm
@end example
Lancer @command{info \"(guix.fr) Invoquer guix shell\"} pour plus
d'informations.")))
(entry (commit "0e18c5e5bcb9204c278cfc75493d3b02b746d5c3")
(title
(en "Linux-libre kernel updated to 6.2")
(de "Linux-libre-Kernel wird auf 6.2 aktualisiert")
(fr "Le noyau linux-libre est mis à jour vers la 6.2")
(pt "Kernel linux-libre atualizado para 6.2"))
(body
(en "The default version of the linux-libre kernel has been updated to
the 6.2 release series.")
(de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
jetzt auf der 6.2-Versionsreihe.")
(fr "La version par défaut du noyau linux-libre est mise à jour
vers la série des 6.2.")
(pt "A versão padrão do kernel linux-libre foi atualizada para a
série do kernel 6.2.")))
(entry (commit "598f4c509bbfec2b983a8ee246cce0a0fe45ec7f")
(title
(de "Neues Format @samp{rpm} für den Befehl @command{guix pack}")
(en "New @samp{rpm} format for the @command{guix pack} command")
(fr "Nouveau format @samp{rpm} pour la commande @command{guix pack}"))
(body
(de "Sie können jetzt auch RPM-Archive (mit der Dateinamenserweiterung
.rpm) erzeugen mit dem Befehl @command{guix pack --format=rpm}. Damit
haben Sie einen alternativen Distributionsweg für mit Guix erstellte
Software. Hier sehen Sie ein einfaches Beispiel, wie Sie ein
RPM-Archiv für das Paket @code{hello} erzeugen:
@example
guix pack --format=rpm --symlink=/usr/bin/hello=bin/hello hello
@end example
Siehe @command{info \"(guix.de) Aufruf von guix pack\"} für mehr
Informationen.")
(en "RPM archives (with the .rpm file extension) can now be produced
via the @command{guix pack --format=rpm} command, providing an alternative
distribution path for software built with Guix. Here is a simple example that
generates an RPM archive for the @code{hello} package:
@example
guix pack --format=rpm --symlink=/usr/bin/hello=bin/hello hello
@end example
See @command{info \"(guix) Invoking guix pack\"} for more information.")
(fr "Vous pouvez désormais produire une archive RPM (avec l'extension
.rpm) avec la commande @command{guix pack --format=rpm} qui propose
donc une nouvelle manière de distribuer les logiciels construits avec
Guix. Voici un exemple permettant de générer une archive RPM pour le
paquet @code{hello} :
@example
guix pack --format=rpm --symlink=/usr/bin/hello=bin/hello hello
@end example
Consultez @command{info \"(guix.fr) Invoquer guix pack\"} pour plus
d'informations.")))
(entry (commit "137b91f03bbb7f1df71cf10c4f79ae57fbcea400")
(title
(en "New @option{--with-version} package transformation option")
(de "Neue Paketumwandlungsoption @option{--with-version}")
(fr "Nouvelle option de transformation @option{--with-version}"))
(body
(en "The new @option{--with-version} package transformation option
generalizes @option{--with-latest}: it gets the specified upstream release of
a package and uses it instead of the currently-packaged version.
For example, the command below would spawn GNOME Clocks built against GTK
4.7.0, skipping its test suite:
@example
guix shell gnome-clocks --with-version=gtk=4.7.0 \\
--without-tests=gtk -- gnome-clocks
@end example
Run @command{info \"(guix) Package Transformation Options\"} for more info.")
(de "Die neue Paketumwandlungsoption @option{--with-version}
verallgemeinert @option{--with-latest}: Mit ihr kann man angeben, welche
vom Anbieter veröffentlichte Version man anstelle der derzeit im Paket
vorgegebenen haben möchte.
Zum Beispiel kann mit folgendem Befehl ein für die GTK-Version 4.7.0
erstelltes GNOME Clocks aufgerufen werden, wobei der Testkatalog dafür
übersprungen wird.
@example
guix shell gnome-clocks --with-version=gtk=4.7.0 \\
--without-tests=gtk -- gnome-clocks
@end example
Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
(fr "La nouvelle option de transformation de paquets
@option{--with-version} généralise @option{--with-latest} : elle permet de
spécifier quelle version amont d'un logiciel utiliser à la place de celle
actuellement fournie.
Par exemple, la commande ci-dessous démarre GNOME Clocks construit avec GTK
4.7.0, sans lancer sa suite de tests :
@example
guix shell gnome-clocks --with-version=gtk=4.7.0 \\
--without-tests=gtk -- gnome-clocks
@end example
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus de détails.")))
(entry (commit "9ea37eb9f5329c213757bbfe5d9241cde8433858")
(title
(en "Linux-libre 6.0 removed due to end of upstream support")
(de "Linux-libre 6.0 wurde entfernt"))
(body
(en "The linux-libre 6.0 kernel series has reached the end of
its life, and no longer supported upstream. For this
reason, it has been removed from GNU Guix.")
(de "Vom Kernel @code{linux-libre} wird die 6.0-Versionsreihe keine
Unterstützung von dessen Anbieter mehr erfahren („end of life“). Daher ist es
aus GNU Guix entfernt worden.")))
(entry (commit "ce8a34bc9ab89f31f107383ba791954864aed372")
(title
(en "Linux-libre kernel updated to 6.1")
(de "Linux-libre-Kernel wird auf 6.1 aktualisiert")
(fr "Le noyau linux-libre est mis à jour vers la 6.1")
(pt "Kernel linux-libre atualizado para 6.1"))
(body
(en "The default version of the linux-libre kernel has been updated to
the 6.1 release series.")
(de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
jetzt auf der 6.1-Versionsreihe.")
(fr "La version par défaut du noyau linux-libre est mise à jour
vers la série des 6.1.")
(pt "A versão padrão do kernel linux-libre foi atualizada para a
série do kernel 6.1.")))
(entry (commit "064c5b7e450f9f6d55cfcd0ec2bc9e96ee0b2958")
(title
(en "Linux-libre 4.9 removed due to end of upstream support")
(de "Linux-libre 4.9 wurde entfernt"))
(body
(en "The linux-libre 4.9 kernel series has reach the end of its life,
and is no longer supported upstream. For this reason, it has been removed from
GNU Guix.")
(de "Vom Kernel @code{linux-libre} wird die 4.9-Versionsreihe keine
Unterstützung von dessen Anbieter mehr erfahren („end of life“). Daher ist es
aus GNU Guix entfernt worden.")))
(entry (commit "dfc6957a5af7d179d4618eb19d4f555c519bc6f2")
(title
(en "New @code{customize-linux} procedure")
(de "Neue Prozedur @code{customize-linux}")
(fr "Nouvelle procédure @code{customize-linux}"))
(body
(en "The @code{(gnu packages linux)} module includes a new
@code{customize-linux} procedure, which should now be used instead of
replacing the @samp{\"kconfig\"} native input of a @code{linux-libre}-derived
package, as the kernel config file is no longer provided as a native
input.")
(de "Das Modul @code{(gnu packages linux)} enthält eine neue Prozedur
@code{customize-linux}, die von nun an für angepasste Linux-Pakete benutzt
werden sollte. Die native Eingabe @samp{\"kconfig\"} eines von
@code{linux-libre} abgeleiteten Pakets zu ersetzen, funktioniert nicht mehr,
weil die Kernel-Konfigurationsdatei nicht mehr als native Eingabe vorliegt.")
(fr "Le module @code{(gnu packages linux)} inclut une nouvelle
procédure @code{customize-linux}, qui devrait maintenant être utilisée au lieu
de remplacer l'entrée native @samp{\"kconfig\"} d'un paquet dérivé de
@code{linux-libre}, car le fichier de configuration du noyau n'est plus fourni
en tant qu'entrée native.")))
(entry (commit "788602b37ff42f730d4b7b569b0fb51465f147da")
(title
(en "New @option{--symlink} option for @command{guix shell}")
(de "Neue Option @option{--symlink} für @command{guix shell}")
(fr "Nouvelle option @option{--symlink} pour @command{guix shell}"))
(body
(en "The @command{guix shell} command has a new
@option{--symlink} (or @option{-S}) option, to be used in conjunction with the
@option{--container} (or @option{-C}) option to create a symbolic link inside
the container. Run @command{info \"(guix) Invoking guix shell\"} for more
information.")
(de "Der Befehl @command{guix shell} verfügt jetzt über eine neue
Befehlszeilenoption @option{--symlink} (oder @option{-S}), die zusammen mit der
Option @option{--container} (oder @option{-C}) benutzt werden kann, um eine
symbolische Verknüpfung im Container anzulegen. Führen Sie
@command{info \"(guix.de) Aufruf von guix shell\"} aus, um mehr zu erfahren.")
(fr "La commande @command{guix shell} dispose d'une nouvelle option,
@option{--symlink} (ou @option{-S}), qui doit être utilisée en conjonction
avec l'option @option{--container} (ou @option{-C}) pour créer un lien
symbolique dans le conteneur. Lancer @command{info \"(guix.fr) Invoquer guix
shell\"} pour plus d'informations.")))
(entry (commit "82a0a395d7051eab7b9f15ec4740d58c86413604")
(title
(en "Linux-libre kernel updated to 6.0")
(de "Linux-libre-Kernel wird auf 6.0 aktualisiert")
(fr "Le noyau linux-libre est mis à jour vers la 6.0")
(pt "Kernel linux-libre atualizado para 6.0"))
(body
(en "The default version of the linux-libre kernel has been
updated to the 6.0 release series.")
(de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
jetzt auf der 6.0-Versionsreihe.")
(fr "La version par défaut du noyau linux-libre est mise à jour
vers la série des 6.0.")
(pt "A versão padrão do kernel linux-libre foi atualizada para a
série do kernel 6.0.")))
(entry (commit "400a7a4c80efbde1905ae98a298bbb5882d46a0d")
(title
(en "New build system for Python packages")
(de "Neues Erstellungssystem für Python-Pakete")
(fr "Nouveau système de construction pour les paquets Python")
(pt "Novo sistema de compilação para pacotes Python"))
(body
(en "A new @var{pyproject-build-system} has been added. This
is a redesign of @var{python-build-system} with support for @dfn{PEP 517}
and @file{pyproject.toml} files. It also has built-in support for various
test frameworks such as @command{pytest} and @code{nosetests}.
There is a complementary @code{python-toolchain} package that comes with
updated versions of @command{pip}, @command{setuptools} and others.
The build system will eventually be merged into @var{python-build-system}
but you are encouraged to use it for packages in the @code{guix} channel.
Third party channels may want to wait until the API is stable (see the
Guix manual for caveats).
Despite the name, @var{pyproject-build-system} also works with the
``legacy'' @file{setup.py} format.")
(de "Ein neues Erstellungssystem @var{pyproject-build-system} ist
verfügbar. Es ist eine Neuauflage des @var{python-build-system}, die
@dfn{PEP 517} und @file{pyproject.toml}-Dateien unterstützt. Auch wurde
Unterstützung für Testrahmen wie @command{pytest} und @code{nosetests}
eingebaut.
Ergänzend gibt es ein Paket @code{python-toolchain} mit aktualisierten Versionen
von @command{pip}, @command{setuptools} und mehr.
Das Erstellungssystem wird in Zukunft Teil von @var{python-build-system} werden,
aber wir würden es begrüßen, wenn Sie es für Pakete auf dem @code{guix}-Kanal
verwenden würden. Drittanbieterkanäle warten vielleicht lieber auf eine
stabile Programmierschnittstelle (siehe die im Guix-Handbuch genannten
Einschränkungen).
Trotz dem Namen funktioniert @var{pyproject-build-system} auch mit dem „alten“
@file{setup.py}-Format.")
(fr "Un nouveau système de construction, @var{pyproject-build-system},
a été ajouté. Il s'agit d'une refonte du @var{python-build-system} qui rajoute
la prise en charge de @dfn{PEP 517} et des fichiers @file{pyproject.toml}.
Il intègre aussi la prise en charge de divers cadriciels de test comme
@command{pytest} ou @code{nosetests}.
Un paquet supplémentaire @code{python-toolchain} fournit des versions à jour
de @command{pip}, @command{setuptools} et autres.
Le système de construction finira par être intégré au @var{python-build-system}
mais nous vous encourageons à l'utiliser pour les paquets du canal @code{guix}.
Les canaux tiers devraient attendre que l'API se stabilise (voir le manuel de
Guix pour les mises en garde).
Contrairement à ce qu'indique son nom, @var{pyproject-build-system} fonctionne
aussi avec « l'ancien » format @file{setup.py}.")
(pt "Um novo sistema de compilação chamado @var{pyproject-build-system}
foi adicionado. É um redesign do @var{python-build-system} com suporte à
@dfn{PEP 517} e a arquivos @file{pyproject.toml}. Ele também inclui suporte a
vários frameworks de teste tais como @command{pytest} e @code{nosetests}.
Há um pacote complementar @code{python-toolchain} que contém versões
atualizadas do @command{pip}, @command{setuptools} e outros.
O sistema de compilação será eventualmente incorporado ao
@var{python-build-system}, mas encorajamos você a usá-lo para pacotes no canal
@code{guix}. Canais de terceiros podem querer esperar até a API se
estabilizar (veja o manual do Guix para ressalvas).
Apesar do nome, o @var{pyproject-build-system} também funciona com o formato
“legado” do @file{setup.py}.")))
(entry (commit "c7ba5f38b80433b040d3946b8fc0b1e8621ba30a")
(title
(en "New @option{--emulate-fhs} option for @command{guix shell}")
(de "Neue Option @option{--emulate-fhs} für @command{guix shell}")
(fr "Nouvelle option @option{--emulate-fhs} pour @command{guix shell}")
(pt "Nova opção @option{--emulate-fhs} para o @command{guix shell}"))
(body
(en "The @command{guix shell} command has a new
@option{--emulate-fhs} (or @option{-F}) option. Combined with
@option{--container} (or @option{-C}), it emulates the file and directory
layout specified by the Filesystem Hierarchy Standard (FHS), providing
@file{/bin}, @file{/lib}, etc. within the container.
For example, the following command runs @file{/bin/ls} within such a
container:
@example
guix shell -CF coreutils -- /bin/ls
@end example
Run @command{info \"(guix) Invoking guix shell\"} for more information.")
(de "Der Befehl @command{guix shell} verfügt jetzt über eine neue
Befehlszeilenoption @option{--emulate-fhs} (oder @option{-F}). Zusammen mit
@option{--container} (oder @option{-C}) kann so die Datei- und
Verzeichnisstruktur, die im @i{Filesystem Hierarchy Standard} (FHS) vorgegeben
wird, nachgebildet werden. Das heißt, in der Container-Umgebung gibt es
@file{/bin}, @file{/lib} und so weiter.
Zum Beispiel wird folgender Befehl @file{/bin/ls} in einem solchen Container
ausführen:
@example
guix shell -CF coreutils -- /bin/ls
@end example
Führen Sie @command{info \"(guix.de) Aufruf von guix shell\"} aus, um mehr
zu erfahren.")
(fr "La commande @command{guix shell} dispose d'une nouvelle option,
@option{--emulate-fhs} (ou @option{-F}). Avec @option{--container} (ou
@option{-C}), elle permet d'imiter la disposition des fichiers et répertoires
spécifiée par le @i{Filesystem Hierarchy Standard} (FHS) en fournissant
@file{/bin}, @file{/lib}, etc. dans le conteneur.
Par exemple, la commande ci-dessous lance @file{/bin/ls} dans un tel
conteneur :
@example
guix shell -CF coreutils -- /bin/ls
@end example
Lancer @command{info \"(guix.fr) Invoquer guix shell\"} pour plus
d'informations.")
(pt "O comando @command{guix shell} tem uma nova opção
@option{--emulate-fhs} (ou @option{-F}). Combinada com
@option{--container} (ou @option{-C}), ela emula o layout de arquivos e
diretórios especificado pelo Padrão de Hierarquia do Sistema de
Arquivos (Filesystem Hierarchy Standard — FHS), provendo @file{/bin},
@file{/lib}, etc. dentro do contêiner.
Por exemplo, o comando seguinte executa @file{/bin/ls} dentro de um contêiner
desse tipo:
@example
guix shell -CF coreutils -- /bin/ls
@end example
Execute @command{info \"(guix) Invoking guix shell\"} para mais informações.")))
(entry (commit "28ade1bab207974cce6a014e7187968511fc5526")
(title
(en "@option{--with-source} is now recursive")
(de "@option{--with-source} ist jetzt rekursiv")
(fr "@option{--with-source} est dorénavant récursive")
(pt "@option{--with-source} agora é recursiva"))
(body
(en "The @option{--with-source} package transformation option now
uses the specified source for all matching packages, including dependencies.
This option is useful for all package maintainers, developers, and, in
general, all users who want Guix to facilitate their rights to modify their
software and share their changes.
Run @command{info \"(guix) Package Transformation Options\"} for more
info.")
(de "Die Paketumwandlungsoption @option{--with-source} wird jetzt den
angegebenen Quellcode für sämtliche passende Pakete benutzen, Abhängigkeiten
eingeschlossen. Die Option hilft Paketbetreuern, Entwicklern und allgemein allen
Nutzern, die Guix benutzen, das Recht, ihre Software anzupassen und
Änderungen zu teilen, leichter auszuüben.
Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
(fr "L'option de transformation de paquet @option{--with-source}
s'applique désormais à tous les paquets correspondant, y compris les
dépendances. Cette option est utile pour les personnes qui maintiennent un
logiciel, en développent un ou, plus généralement, pour toute personne qui
souhaite que Guix facilite l'exercice de ses droits à modifier le logiciel et
à partager ses changements.
Lancer @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus d'informations.")
(pt "A opção de transformação de pacote @option{--with-source} agora
usa a fonte especificada para todos os pacotes correspondentes, incluindo
dependências. Essa opção é útil para todos os mantenedores de pacotes,
desenvolvedores e usuários em geral que querem que o Guix facilite seu direito
de modificar seu software e compartilhar suas mudanças.
Execute @command{info \"(guix) Package Transformation Options\"} para mais
informações.")))
(entry (commit "a13f5ead0265cf0fe11e60150547c09dfc8c45b0")
(title
(en "Guix System image creation is now documented")
(de "Es gibt eine Dokumentation, wie Sie Guix-System-Abbilder („Images“) erzeugen")
(fr "La création d'images pour Guix System est à présent documentée")
(pt "A criação de imagens do Guix System agora está documentada"))
(body
(en "The Guix System image API that allows you to create customized
system images and turn them into actual bootable images is now documented in
the @code{Creating System Images} chapter of the Guix documentation. This
should be particularly useful for people trying to port Guix System to new
hardware.")
(de "Sie können nun im Kapitel @code{Creating System Images} der
Dokumentation nachlesen, wie Sie mit der Schnittstelle für Guix-System-Abbilder
anpassbare, bootfähige Systemabbilder erzeugen können. Das sollte vor allem
Personen unterstützen, die versuchen, Guix System auf neuer Hardware zum Laufen
zu bringen.")
(fr "L'interface de programmation d'images pour Guix System,
permettant de créer des images personnalisées et de les transformer en images
amorçables est désormais documentée dans le chapitre @code{Création d'images
système}. Cette interface devrait être particulièrement utile aux personnes
qui essaient de faire fonctionner Guix sur de nouvelles machines.")
(pt "A API de imagens do Guix System que permite criar imagens de
sistema customizadas e torná-las inicializáveis agora está documentada no
capítulo @code{Creating System Images} da documentação do Guix. Isso é
particularmente útil para pessoas tentando portar o Guix System para um novo
hardware.")))
(entry (commit "c8112f3bd95269ce4aca12dedbfe61bb6b37acae")
(title
(en "WSL system images support")
(de "WSL-Systemabbilder werden unterstützt")
(fr "Support pour les images système WSL")
(pt "Suporte a imagens de sistema WSL"))
(body
(en "The @command{guix system image} command can now generate system
images for the Windows Subsystem for Linux. To get started, you can for
instance run from a Guix checkout:
@command{guix system image gnu/system/images/wsl2.scm},
and import the resulting image this way:
@command{wsl --import Guix ./guix ./wsl2-image.tar.gz}
@command{wsl -d Guix}.")
(de "Mit dem Befehl @command{guix system image} können Sie
Systemabbilder erzeugen, die auf dem Windows-Subsystem für Linux laufen. Wenn
Sie das ausprobieren möchten, führen Sie zum Beispiel Folgendes aus einem
Guix-Checkout heraus aus:
@command{guix system image gnu/system/images/wsl2.scm},
Das resultierende Abbild können Sie so importieren:
@command{wsl --import Guix ./guix ./wsl2-image.tar.gz}
@command{wsl -d Guix}.")
(fr "La commande @command{guix system image} peut désormais générer
des images système pour le Windows Subystem for Linux. Vous pouvez par
exemple lancer la commande suivante depuis un répertoire de sources Guix :
@command{guix system image gnu/system/images/wsl2.scm},
et importer l'image obtenue de cette manière :
@command{wsl --import Guix ./guix ./wsl2-image.tar.gz}
@command{wsl -d Guix}.")
(pt "Agora o comando @command{guix system image} pode gerar imagens
de sistema para o Subsistema do Windows para Linux. Para começar, você pode
por exemplo rodar a partir de um checkout do repositório do Guix:
@command{guix system image gnu/system/images/wsl2.scm},
e importar a imagem resultante da seguinte maneira:
@command{wsl --import Guix ./guix ./wsl2-image.tar.gz}
@command{wsl -d Guix}.")))
(entry (commit "11a06d1e49f4d50d6789e05bbf35e2e145ff7838")
(title
(en "Emacs now supports native compilation")
(de "Emacs kann Pakete nun nativ kompilieren")
(pt "O Emacs agora suporta compilação nativa"))
(body
(en "Emacs can now compile packages natively. Under the default
configuration, this means that Emacs packages will now be just-in-time (JIT)
compiled as you use them, and the results stored in a subdirectory of your
@code{user-emacs-directory}.
Furthermore, the build system for Emacs packages transparently supports native
compilation, but note, that @code{emacs-minimal}---the default Emacs for
building packages---has been configured without native compilation.
To natively compile your emacs packages ahead of time, use a transformation
like @option{--with-input=emacs-minimal=emacs}.")
(de "Emacs kann nun native Maschinenbefehle erzeugen. Standardgemäß
kompiliert es nun Pakete „just in time“, während Sie diese laden, und platziert
die so erzeugten nativen Bibliotheken in einem Unterverzeichnis Ihres
@code{user-emacs-directory}.
Darüber hinaus unterstützt das Erstellungssystem für Emacs-Pakete die Erzeugung
nativer Maschinenbefehle. Beachten Sie jedoch, dass @code{emacs-minimal} –
die Emacs-Variante, mit der normalerweise Emacs-Pakete erstellt werden –
weiterhin keine nativen Befehle generiert. Um native Befehle für Ihre
Emacs-Pakete schon im Voraus zu erzeugen, nutzen Sie eine Transformation, z.B.
@option{--with-input=emacs-minimal=emacs}.")
(pt "Agora o Emacs pode compilar pacotes nativamente. Na
configuração padrão os pacotes do Emacs serão compilados “just-in-time” (JIT)
conforme forem usados, e os resultados armazenados em um subdiretório de
@code{user-emacs-directory}.
Além disso, o sistema de compilação para pacotes do Emacs suporta compilação
nativa de forma transparente. Note porém que o @code{emacs-minimal} --- a
variante padrão do Emacs para compilar pacotes --- foi configurado sem
compilação nativa. Para pré-compilar nativamente seus pacotes do Emacs use
uma transformação, como por exemplo
@code{--with-input=emacs-minimal=emacs}.")))
(entry (commit "c188cf57f161c0c26e2d7c8516bd1ddd1492d686")
(title
(en "Linux-libre kernel updated to 5.19")
(de "Linux-libre-Kernel wird auf 5.19 aktualisiert")
(fr "Le noyau linux-libre est mis à jour vers la 5.19")
(pt "Kernel linux-libre atualizado para 5.19"))
(body
(en "The default version of the linux-libre kernel has been
updated to the 5.19 release series.")
(de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
jetzt auf der 5.19-Versionsreihe.")
(fr "La version par défaut du noyau linux-libre est mise à jour
vers la série des 5.19.")
(pt "A versão padrão do kernel linux-libre foi atualizada para a
série do kernel 5.19.")))
(entry (commit "a15542d26df42dabdb5e2f76d150ae200230c3b0")
(title
(en "New @option{--whole-file} option for @command{guix style}")
(de "Neue Option @option{--whole-file} für @command{guix style}")
(fr "Nouvelle option @option{--whole-file} pour @command{guix style}")
(pt "Nova opção @option{--whole-file} para @command{guix style}"))
(body
(en "The @command{guix style} command has a new @option{--whole-file}
option: instead of formatting individual package definitions, this option lets
you reformat entire Scheme files. You might want to use it to format your
operating system configuration file, for instance.
Run @command{info \"(guix) Invoking guix style\"} for more info.")
(de "Der Befehl @command{guix style} verfügt über eine neue
Befehlszeilenoption @option{--whole-file}: Mit ihr werden keine einzelnen
Paketdefinitionen umformatiert, sondern ganze Scheme-Dateien werden in die
richtige Darstellungsform gebracht. Sie können damit zum Beispiel die
Konfigurationsdatei für Ihr Betriebssystem formatieren lassen.
Führen Sie @command{info \"(guix.de) Aufruf von guix style\"} aus, um mehr
Informationen zu erhalten.")
(fr "La commande @command{guix style} a désormais une nouvelle option
@option{--whole-file} : au lieu de mettre en forme des définitions de paquets,
cette option permet de mettre en forme des fichiers Scheme entiers. Ça peut
s'avérer utile par exemple pour mettre en forme son fichier de configuration
du système d'exploitation.
Lancer @command{info \"(guix.fr) Invoquer guix style\"} pour plus
d'informations.")
(pt "O comando @command{guix style} tem uma nova opção
@option{--whole-file}: ao invés de formatar definições de pacote
individualmente, esta opção permite a reformatação de arquivos Scheme por
inteiro. Você pode querer usá-la para formatar seu arquivo de configuração do
sistema operacional, por exemplo.
Execute @command{info \"(guix) Invoking guix style\"} para mais informações.")))
(entry (commit "2ec7ab2610eb67e26dab52b671eb29e46f64ea0f")
(title
(en "Linux-libre kernel updated to 5.18")
(de "Linux-libre-Kernel wird auf 5.18 aktualisiert")
(fr "Le noyau linux-libre est mis à jour vers la 5.18"))
(body
(en "The default version of the linux-libre kernel has been
updated to the 5.18 release series.")
(de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
jetzt auf der 5.18-Versionsreihe.")
(fr "La version par défaut du noyau linux-libre est mise à jour
vers la série des 5.18.")))
(entry (commit "bdf422176739b473add66eb8cac9fdd8c654f794")
(title
(en "@option{-L} option of @command{guix refresh} repurposed")
(de "Option @option{-L} von @command{guix refresh} wechselt Bedeutung")
(fr "Option @option{-L} de @command{guix refresh} réutilisée"))
(body
(en "The @option{-L} option of @command{guix refresh} has been
repurposed: it used to be synonymous with @option{--list-updaters}; it is now
synonymous with @option{--load-path} as is the case with most other commands.
Run @command{info \"(guix) Invoking guix refresh\"} for more info.")
(de "Die Befehlszeilenoption @option{-L} von @command{guix refresh} hat
einen anderen Zweck bekommen: Früher war sie gleichbedeutend mit
@option{--list-updaters}; jetzt ist sie gleichbedeutend mit
@option{--load-path}, wie bereits beim Großteil der anderen Befehle.
Führen Sie @command{info \"(guix.de) Aufruf von guix refresh\"} aus, wenn Sie
mehr wissen möchten.")
(fr "L'option @option{-L} de @command{guix refresh} a changé de
signification : elle était auparavant synonyme de @option{--list-updaters} ;
elle est maintenant synonyme de @option{--load-path} comme c'est le cas pour
la plupart des autres commandes.
Lancer @command{info \"(guix.fr) Invoquer guix refresh\"} pour plus
d'informations.")))
(entry (commit "35c1edb20ad07250728d3bdcd0296bd0cedaf6bb")
(title
(en "New @command{edit} sub-commands for services")
(de "Neue @command{edit}-Unterbefehle für Dienste")
(fr "Nouvelles commandes @command{edit} pour les services")
(nl "Nieuwe deelopdracht @command{edit} voor diensten"))
(body
(en "The new @command{guix system edit} and @command{guix home edit} commands
allow you to view or edit service types defined for Guix System or Guix Home.
For example, here is how you would open the definition of the OpenSSH system
service:
@example
guix system edit openssh
@end example
Run @command{info \"(guix) Invoking guix system\"} or @command{info \"(guix)
Invoking guix home\"} for more info.")
(de "Mit den neuen Befehlen @command{guix system edit} und
@command{guix home edit} können Sie Diensttypen für Guix System oder Guix Home
betrachten und bearbeiten. Zum Beispiel würden Sie die Definition des
OpenSSH-Systemdienstes wie folgt öffnen:
@example
guix system edit openssh
@end example
Führen Sie @command{info \"(guix.de) Aufruf von guix system\"} oder
@command{info \"(guix.de) Aufruf von guix home\"} aus, um mehr zu erfahren.")
(fr "Les nouvelles commandes @command{guix system edit} et
@command{guix home edit} permettent de visualiser ou d'éditer les types de
services définis pour Guix System ou Guix Home. Par exemple, voici comment
ouvrir la définition du service système OpenSSH :
@example
guix system edit openssh
@end example
Lancer @command{info \"(guix.fr) Invoquer guix system\"} ou @command{info
\"(guix.fr) Invoquer guix home\"} pour plus d'informations.")
;; TODO: pas verwijzingen naar de handleiding aan wanneer ze vertaald is
(nl "Met de nieuwe bewerkingen @command{guix system edit} en
@command{guix home edit} kan je dienstsoorten van Guix System en Guix
Home bekijken en bewerken. Je kan bijvoorbeeld de definitie van de
systeemdienst OpenSSH als volgt openen:
@example
guix system edit openssh
@end example
Voer @command{info \"(guix) Invoking guix system\"} of @command{info
\"(guix)Invoking guix home\"} uit voor meer informatie.")))
(entry (commit "903c82583e1cec4c9ff09d5895c5cc646c37b661")
(title
(en "New @command{guix import elm} command")
(de "Neuer Befehl @command{guix import elm}")
(fr "Nouvelle commande @command{guix import elm}"))
(body
(en "The new @command{guix import elm} command allows packagers to
generate a package definition or given the name of a package for Elm, a
functional programming language for the Web:
@example
guix import elm elm/bytes
@end example
Run @command{info \"(guix) Invoking guix import\"} for more info.
This comes with a new build system for Elm packages---run @command{info
\"(guix) Build Systems\"} for details.")
(de "Mit dem neuen Befehl @command{guix import elm} können Paketautoren
eine Paketdefinition anhand des Namens eines Pakets für Elm, einer funktionalen
Programmiersprache für das Web, erzeugen:
@example
guix import elm elm/bytes
@end example
Führen Sie @command{info \"(guix.de) Aufruf von guix import\"} aus, um mehr
Informationen zu bekommen.
Dazu kommt ein neues Erstellungssystem für Elm-Pakete. Führen Sie
@command{info \"(guix.de) Erstellungssysteme\"} aus, um mehr zu erfahren.")
(fr "La nouvelle commande @command{guix import elm} permet de générer
une définition de paquet reposant sur Elm, un langage de programmation
fonctionnelle pour le Web:
@example
guix import elm elm/bytes
@end example
Lancer @command{info \"(guix.fr) Invoquer guix import\"} pour plus
d'informations.
Cela vient avec un nouveau système de construction pour paquets Elm---lancer
@command{info \"(guix.fr) Systèmes de construction\"} pour plus de détails.")))
(entry (commit "b6b2de2a0d52530bc1ee128c61580bed662ee15c")
(title (en "Linux-libre kernel updated to 5.17")
(de "Linux-libre-Kernel wird auf 5.17 aktualisiert")
(fr "Le noyau linux-libre est mis à jour vers la 5.17"))
(body
(en "The default version of the linux-libre kernel has been
updated to the 5.17 release series.")
(de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
jetzt auf der 5.17-Versionsreihe.")
(fr "La version par défaut du noyau linux-libre est mise à jour
vers la série des 5.17.")))
(entry (commit "c42b7baf13c7633b4512e94da7445299c57b247d")
(title
(en "New @option{--export-manifest} option for @command{guix shell}")
(de "Neue Option @option{--export-manifest} für @command{guix shell}")
(fr "Nouvelle option @option{--export-manifest} de @command{guix shell}"))
(body
(en "If you use @command{guix shell}, you might wonder how to
``translate'' a command line into a manifest file that you can keep under
version control, share with others, and pass to @command{guix shell -m} and in
fact to most @command{guix} commands. This is what the new
@option{--export-manifest} option does.
For example, the command below prints a manifest for the given packages:
@lisp
guix shell --export-manifest \\
-D guile git emacs emacs-geiser emacs-geiser-guile
@end lisp
Run @code{info \"(guix) Invoking guix shell\"} for more information.")
(de "Wenn Sie @command{guix shell} benutzen, haben Sie sich vielleicht
einmal gefragt, wie Sie eine Befehlszeile in eine Manifest-Datei „übersetzen“
können, die Sie unter Versionskontrolle stellen können, mit anderen teilen
können und an @command{guix shell -m} oder tatsächlich die meisten anderen
@command{guix}-Befehle übergeben können. Die Antwort ist die neue
Befehlszeilenoption @option{--export-manifest}.
Zum Beispiel gibt der folgende Befehl ein Manifest mit den genannten Paketen
aus:
@lisp
guix shell --export-manifest \\
-D guile git emacs emacs-geiser emacs-geiser-guile
@end lisp
Führen Sie @command{info \"(guix.de) Aufruf von guix shell\"} aus, um mehr
zu erfahren.")
(fr "Si tu utilises @command{guix shell}, tu t'es peut-être déjà
demandé comment « traduire » une ligne de commande en un fichier manifeste que
tu puisse garder en gestion de version, partager et passer à @command{guix
shell -m} et autres commandes @command{guix}. C'est ce que la nouvelle option
@option{--export-manifest} fait.
Par exemple, la commande ci-dessous affiche un manifeste pour les paquets
donnés :
@lisp
guix shell --export-manifest \\
-D guile git emacs emacs-geiser emacs-geiser-guile
@end lisp
Lancer @code{info \"(guix.fr) Invoquer guix shell\"} pour plus
d'informations.")))
(entry (commit "094a2cfbe45c104d0da30ff9d975d052ca0c118c")
(title
(en "New @command{guix home container} command")
(de "Neuer Befehl @command{guix home container}")
(fr "Nouvelle commande @command{guix home container}"))
(body
(en "The new @command{guix home} tool, which lets you to manage
entire \"home environments\" in a declarative fashion, has gained a
@command{container} sub-command. The new @command{guix home container}
command allows you to test your configuration in an isolated @dfn{container},
without touching your home directory:
@example
guix home container config.scm
@end example
This provides a simple and safe way to test your configuration before
deploying it with @command{guix home reconfigure}. Run @code{info \"(guix)
Invoking guix home\"} for more information.")
(de "Das neue Werkzeug @command{guix home}, womit Sie vollständige
„Persönliche Umgebungen“ deklarativ verwalten können, hat einen neuen
Unterbefehl @command{container} hinzubekommen. Mit dem neuen Befehl
@command{guix home container} können Sie Ihre Konfiguration in einem isolierten
@dfn{Container} ausprobieren, ohne Ihr Persönliches Verzeichnis anzutasten.
@example
guix home container config.scm
@end example
So ist es ein Leichtes, Ihre Konfiguration in einer sicheren Umgebung zu testen,
bevor Sie mit @command{guix home reconfigure} auf sie umsteigen. Führen Sie
@code{info \"(guix.de) Aufruf von guix home\"} aus, um mehr zu erfahren.")
(fr "La nouvelle commande @command{guix home}, qui sert à gérer son
« environnement d'accueil » de manière déclarative, dispose maintenant d'une
sous-commande @command{container}. La nouvelle commande @command{guix home
container} permet de tester sa configuration dans un @dfn{conteneur} isolé,
sans toucher à son répertoire d'accueil :
@example
guix home container config.scm
@end example
C'est un moyen simple et sûr de tester sa configuration avant de la déployer
avec @command{guix home reconfigure}. Lancer @code{info \"(guix.fr) Invoquer
guix home\"} pour plus d'informations.")))
(entry (commit "f1d18adbed39a3bacae93be29346fd4c86b480ef")
(title
(en "More compact @samp{guix pull --news}")
(de "@samp{guix pull --news} wird knapper")
(nl "Meer beknopte @samp{guix pull --news}"))
(body
(en "The output of @samp{guix pull --news} has been shortened to
display only fresh news items such as this one. It no longer includes the
partial selection of new and updated packages, which was often long enough to
be distracting whilst being too short to be useful.
The complete list of new and updated packages can now be obtained separately
using @samp{guix pull --news --details}.")
(de "Die Ausgabe von @samp{guix pull --news} wurde gekürzt
und informiert nur mehr über ungezeigte Neuigkeiten wie diese. Es
fehlt der unvollständige Bericht über neue und aktualisierte Pakete,
der oft so lang war, dass er gestört hat, doch zu kurz war, um
nützlich zu sein.
Die vollständige Liste neuer und aktualisierter Pakete bekommen Sie
jetzt mit @samp{guix pull --news --details}.")
(nl "De uitvoer van @samp{guix pull --news} is vanaf nu beperkt tot
verse nieuwsberichten zoals dit, zonder de onvolledige bloemlezing van nieuwe
en bijgewerkte pakketten. Die was vaak lang genoeg om de lezer af te leiden
maar te kort om nuttig te zijn.
De volledige list van nieuwe en bijgewerkte pakketten is nu afzonderlijk
beschikbaar met @samp{guix pull --news --details}.")))
(entry (commit "96d7535b030c65b2d8cb0bea52c4bd96cbdefaf0")
(title
(en "ci.guix.gnu.org to stop offering Gzip substitutes")
(de "ci.guix.gnu.org wird keine Substitute mit Gzip mehr anbieten"))
(body
(en "This is a notice to let you know that starting next
month (2022/03/01), Gzip-compressed substitutes will no longer be available,
which means that Guix daemons from a revision older than commit
@samp{3092f1b835d79655eecb2f8a79dda20ad9ba6bd6} (2019/06/02) will loose the
ability to download binary substitutes. Starting next month, only lzip and
zstd substitutes will be offered. Dropping Gzip substitutes will free about
6.5 TiB of storage space from the build farm.")
(de "Hiermit weisen wir Sie darauf hin, dass ab nächstem
Monat (2022/03/01) keine Gzip-komprimierten Substitute mehr zur Verfügung
stehen. Dadurch können Guix-Daemons, deren Version älter ist als Commit
@samp{3092f1b835d79655eecb2f8a79dda20ad9ba6bd6} (2019/06/02), keine binären
Substitute mehr beziehen. Ab kommendem Monat werden nur Substitute mit lzip
und zstd angeboten. Indem wir auf Gzip-Substitute verzichten, sparen wir 6.5
TiB Speicherplatz auf der Erstellungsfarm.")))
(entry (commit "5c13484646069064c834bbd3cd02c3bc80d94cb6")
(title
(en "New @option{--execute} option to @command{guix deploy}")
(de "Neue Option @option{--execute} für @command{guix deploy}")
(fr "Nouvelle option @option{--execute} pour @command{guix deploy}"))
(body
(en "The @command{guix deploy} command has a new @option{--execute}
or @option{-x} option, which allows you to execute a command on all the
machines that your configuration file specifies, as in this example:
@example
guix deploy deploy.scm -x -- herd restart guix-daemon
@end example
This is no substitute for full-featured tools such as pdsh but it is a useful
helper.")
(de "Der Befehl @command{guix deploy} verfügt über eine neue Option
@option{--execute} oder @option{-x}, mit der Sie einen Befehl auf allen in der
Konfigurationsdatei angegebenen Maschinen ausführen können. Zum Beispiel:
@example
guix deploy deploy.scm -x -- herd restart guix-daemon
@end example
Dies ist kein Ersatz für vollumfängliche Werkzeuge wie pdsh, aber es kann doch
von Nutzen sein.")
(fr "La commande @command{guix deploy} a une nouvelle option
@option{--execute} ou @option{-x} qui permet d'exécuter une commande sur
toutes les machines spécifiées dans son fichier de configuration, comme dans
cet exemple :
@example
guix deploy deploy.scm -x -- herd restart guix-daemon
@end example
Ça ne remplace pas les outils sophistiqués comme pdsh mais c'est bien
pratique.")))
(entry (commit "c4fe13c294cc1e31dd8a49ce3981f603fb169e0a")
(title
(en "@command{guix style} can format package definitions")
(de "@command{guix style} kann Paketdefinitionen formatieren")
(fr "@command{guix style} peut mettre en forme les définitions de paquets"))
(body
(en "The recently-introduced @command{guix style} command can now be
used to automatically format package definitions according to the Guix
project's formatting guidelines. If you contribute packages to Guix or to a
third-party channel, you may find it useful.
The new @option{--styling} option can currently be passed one of the following
@dfn{styling rules}: @code{format}, to format package definitions, or
@code{inputs}, to remove labels from package inputs. Omitting
@option{--styling} is equivalent to passing @samp{--styling=format};
previously it was equivalent to @samp{--styling=inputs}.
Run @code{info \"(guix) Invoking guix style\"}, for more info.")
(de "Der kürzlich eingeführte Befehl @command{guix style} kann jetzt
benutzt werden, um Paketdefinitionen automatisch nach den
Formatierungsrichtlinien des Guix-Projekts zu formatieren. Wenn Sie Pakete zu
Guix oder zu einem Drittanbieterkanal beitragen, könnte Ihnen das helfen.
Für die neue Befehlszeilenoption @option{--styling} können Sie derzeit eine
der folgenden @dfn{Stilregeln} angeben: @code{format}, wodurch
Paketdefinitionen formatiert werden, oder @code{inputs}, wodurch die
Bezeichnungen aus Paketeingaben entfernt werden. Wenn Sie {--styling}
weglassen, passiert das Gleiche wie wenn Sie @samp{--styling=format} angeben;
früher war es das Gleiche wie @samp{--styling=inputs}.
Führen Sie @command{info \"(guix.de) Aufruf von guix style\"} aus, um mehr
Informationen zu erhalten.")
(fr "La commande @command{guix style}, récemment introduite, peut
désormais être utilisée pour mettre en forme des définitions de paquets
suivant les règles de style du projet Guix. Si vous contribuez des paquets à
Guix ou à un canal tiers, cela peut vous être utile.
La nouvelle option @option{--style} peut pour le moment recevoir une des deux
@dfn{règles de style} suivantes : @code{format}, pour mettre en forme les
définitions de paquet, ou @code{inputs}, pour retirer les étiquettes des
champs @code{inputs} des paquets. Omettre @option{--styling} revient à passer
@samp{--styling=format} ; auparavant c'était équivalent à
@samp{--styling=inputs}.
Lancer @command{info \"(guix.fr) Invoquer guix style\"}, pour plus
d'informations.")))
(entry (commit "d090e9c37d693f5a0f381482c17fb03462cb6a48")
(title
(en "New @option{--tune} option for CPU micro-architecture tuning")
(de "Neue Option @option{--tune} ermöglicht mikroarchitekturspezifische Optimierungen")
(fr "Nouvelle option @option{--tune} pour optimiser pour une
micro-architecture"))
(body
(en "The new @option{--tune} package transformation option instructs
Guix to tune relevant packages for the micro-architecture of the host CPU.
This lets the compiler use single-instruction/multiple-data (SIMD)
instructions beyond the baseline instruction set architecture (ISA), which can
noticeably improve performance in some cases such as linear algebra code.
As an example, here is how you would install the GNU Astronomy Utilities
against an optimized variant of the GNU Scientific Library (GSL):
@example
guix install gnuastro --tune
@end example
Run @command{info \"(guix) Package Transformation Options\"} for more
information.")
(de "Die neue Paketumwandlungsoption @option{--tune} lässt Guix die
betroffenen Pakete an die im Prozessor dieses Rechners benutzte
Mikroarchitektur anpassen. Dadurch kann der Compiler Befehle für
Single-Instruction/Multiple-Data (SIMD) einsetzen, die über den gemeinsamen
Befehlssatz hinausgehen. Das kann in manchen Fällen die Leistung beträchtlich
steigern, etwa für Berechnungen der linearen Algebra.
Zum Beispiel würden Sie so die GNU-Astronomieprogramme unter Nutzung einer
optimierten Variante der GNU Scientific Library (GSL) installieren:
@example
guix install gnuastro --tune
@end example
Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
(fr "La nouvelle option de transformation de paquets @option{--tune}
demande à Guix d'optimiser les paquets pour lesquels c'est pertinent pour la
micro-architecture du processeur hôte. Cela permet au compilateur d'utiliser
des instructions vectorielles (SIMD) en plus des instructions de base de
l'architecture, ce qui peut sensiblement améliorer les performance dans
certains cas tels que pour du code d'algèbre linéaire.
Par exemple, voici comment installer les Utilitaires d'astronomie GNU de
manière à ce qu'ils utilisent une variante optimisée de la Bibliothèque
scientifique GNU (GSL) :
@example
guix install gnuastro --tune
@end example
Lancer @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus d'informations.")))
(entry (commit "ea2fd313d52dc62593b478acf5c3e7ea052c45de")
(title
(en "@samp{integer expected from stream}? Update your Guix daemon")
(de "@samp{integer expected from stream}? Aktualisieren Sie Ihren Guix-Daemon")
(nl "@samp{integer expected from stream}? Werk je Guix daemon bij"))
(body
(en "We recently fixed a bug where substitution would fail with
@samp{error: integer expected from stream}. Be sure to update your system's
Guix package that provides the @command{guix-daemon} if you haven't done so
recently. Run @command{info \"(guix) Upgrading Guix\"} for instructions.")
(de "Unlängst haben wir einen Fehler behoben, dass die Substitution
mit der Fehlermeldung @samp{error: integer expected from stream}
fehlschlägt. Bitte aktualisieren Sie daher Ihr systemweites Guix-Paket, das
@command{guix-daemon} zur Verfügung stellt, wenn es noch nicht geschehen
ist. Führen Sie @command{info \"(guix.de) Aktualisieren von Guix\"} aus für
genaue Anweisungen.")
(nl "Onlangs herstelden we een fout waarbij substitutie mislukt met
een @samp{error: integer expected from stream}. Werk zeker je systeemwijde
Guix-pakket bij, dat de @command{guix-daemon} levert, als dat nog niet is
gebeurd. Voer @command{info \"(guix) Upgrading Guix\"} uit voor meer uitleg.")))
(entry (commit "223f1b1eb3707f1d3ef91200dd616ee6c8b77db0")
(title
(en "Improved static networking support on Guix System")
(de "Bessere Unterstützung für statische Netzwerkanbindungen auf Guix System")
(fr "Meilleure prise en charge des réseaux statiques sur Guix System"))
(body
(en "Support for declarative static networking setup on Guix System
has been improved. It now allows you to list IPv4 and IPv6 addresses in
routes in a flexible way, similar to what you would do with the @command{ip}
command, but in a declarative fashion, as in this example:
@lisp
;; Static networking for one NIC, IPv4-only.
(service static-networking-service-type
(list (static-networking
(addresses
(list (network-address
(device \"eno1\")
(value \"10.0.2.15/24\"))))
(routes
(list (network-route
(destination \"default\")
(gateway \"10.0.2.2\"))))
(name-servers '(\"10.0.2.3\")))))
@end lisp
The @code{static-networking-service} procedure remains available but is
deprecated. Run @command{info \"(guix) Networking Setup\"} for more
information.")
(de "Die deklarative Konfiguration für statische Netzwerkanbindungen
auf Guix System wurde verbessert. Sie können jetzt die IPv4- und
IPv6-Adressen in Routen flexibel auflisten, ähnlich wie Sie es mit dem
@command{ip}-Befehl tun würden, aber auf deklarative Weise wie in diesem
Beispiel:
@lisp
;; Statische Netzwerkkonfiguration mit einer Netzwerkkarte, nur IPv4.
(service static-networking-service-type
(list (static-networking
(addresses
(list (network-address
(device \"eno1\")
(value \"10.0.2.15/24\"))))
(routes
(list (network-route
(destination \"default\")
(gateway \"10.0.2.2\"))))
(name-servers '(\"10.0.2.3\")))))
@end lisp
Die Prozedur @code{static-networking-service} gibt es noch, aber sie gilt als
veraltet. Führen Sie @command{info \"(guix) Networking Setup\"} aus für
weitere Informationen.")
(fr "La configuration déclarative et statique du réseau est mieux
prise en charge sur Guix System. Il est maintenant possible d'énumérer des
adresses IPv6 et IPv4 et les chemins avec plus de flexibilité, un peu comme ce
qu'on peut faire avec la commande @command{ip} mais de manière déclarative,
comme dans cet exemple :
@lisp
;; Réseau statique à une seule interface, IPv4 seulement.
(service static-networking-service-type
(list (static-networking
(addresses
(list (network-address
(device \"eno1\")
(value \"10.0.2.15/24\"))))
(routes
(list (network-route
(destination \"default\")
(gateway \"10.0.2.2\"))))
(name-servers '(\"10.0.2.3\")))))
@end lisp
La procédure @code{static-networking-service} reste disponible mais elle est
obsolète. Lancer @command{info \"(guix) Networking Setup\"} pour plus
d'informations.")))
(entry (commit "52cb5cf5b852117b5151a67af187d80764849ad3")
(title
(en "Icedove 91: profile folder moved to @file{~/.thunderbird}")
(de "Icedove 91: Profilordner jetzt unter @file{~/.thunderbird}"))
(body
(en "Icedove 91 expects your profile folder under @file{~/.thunderbird}.
You need to manually copy your Icedove profiles from @file{~/.icedove} to
@file{~./thunderbird}. It may be required to start Icedove with
@option{--ProfileManager} for the first time after the migration.")
(de "Icedove 91 erwartet Ihren Profilordner unter @file{~/.thunderbird}.
Dafür müssen sie Ihre Icedove-Profile von @file{~/.icedove} nach
@file{~/.thunderbird} kopieren. Eventuell muss Icedove das erste Mal nach der
Migration mit @option{--ProfileManager} gestartet werden.")))
(entry (commit "746584e0ca200e7bf51b139ceb36c19ea81d6ef1")
(title
(en "New @command{guix shell} command supersedes @command{guix
environment}")
(de "Neuer Befehl @command{guix shell} löst @command{guix
environment} ab")
(fr "Nouvelle commande @command{guix shell} en remplacement de
@command{guix environment}"))
(body
(en "A new @command{guix shell} command is now available. It is
similar to @command{guix environment}, but with a more convenient interface
(@command{guix environment} is deprecated but will remain available until May,
1st 2023). The main difference compared to @command{guix environment} is that
the \"ad hoc\" mode is the default. Thus, to create an interactive
environment containing Python, NumPy, and SciPy, you would run:
@example
guix shell python python-numpy python-scipy
@end example
To get a development environment for, say, Inkscape, pass the @option{-D}
flag:
@example
guix shell -D inkscape
@end example
Another difference is that running @command{guix shell} without arguments
loads @file{manifest.scm} or @file{guix.scm} for the current directory or an
ancestor, provided you allowed it. The command maintains a cache to speed up
access to such environments.
Run @command{info \"(guix) Invoking guix shell\"} for more information.")
(de "Ein neuer Befehl @command{guix shell} ist ab jetzt
verfügbar. Er ähnelt @command{guix environment}, ist aber leichter zu
benutzen (@command{guix environment} gilt als veraltet, bleibt aber
bis zum 1.@: Mai 2023 verfügbar). Der größte Unterschied ist, dass das
Verhalten mit @option{--ad-hoc} nun der Normalfall ist. D.h.@: um eine
interaktive Umgebung mit Python, NumPy und SciPy zu bekommen, lautet
der Befehl:
@example
guix shell python python-numpy python-scipy
@end example
Wenn Sie eine Entwicklungsumgebung für, sagen wir, Inkscape schaffen
wollen, übergeben Sie die Option @option{-D}:
@example
guix shell -D inkscape
@end example
Noch ein Unterschied ist, dass wenn Sie @command{guix shell} ohne
Argumente ausführen, @file{manifest.scm} oder @file{guix.scm} aus dem
aktuellen Arbeitsverzeichnis oder einem übergeordneten Verzeichnis
geladen wird, wenn Sie die Berechtigung dazu erteilt haben. Für den
Befehl wird ein Zwischenspeicher vorgehalten, damit Sie schneller auf
solche Umgebungen zugreifen können.
Führen Sie @command{info \"(guix) Invoking guix shell\"} aus, um mehr
zu erfahren.")
(fr "Une nouvelle commande, @command{guix shell}, est maintenant
disponible. Elle est similaire à @command{guix environment}, mais avec une
interface plus pratique (@command{guix environment} est désuet mais restera
disponible jusqu'au 1er mai 2023). La principale différence par rapport à
@command{guix environment} est que le mode par défaut est le mode \"ad hoc\".
Pour créer un environnement interactif contenant Python, NumPy et SciPy, il
faut donc lancer :
@example
guix shell python python-numpy python-scipy
@end example
Pour obtenir un environnement de développement pour Inkscape, par exemple,
passer l'option @option{-D} :
@example
guix shell -D inkscape
@end example
Une autre différence est qu'en lançant @command{guix shell} sans argument, le
fichier @file{manifest.scm} ou @file{guix.scm} du répertoire courant ou d'un
parent est automatiquement chargé, à condition de l'avoir autorisé. La
commande garde un cache pour accélérer l'accès à ces environnements.
Lancer @command{info \"(guix.fr) Invoquer guix shell\"} pour plus
d'informations.")))
(entry (commit "a2324d8b56eabf8117bca220a507cc791edffd2e")
(title
(en "Guix Home is a part of GNU Guix")
(de "Guix Home ist jetzt Teil von GNU Guix")
(ru "Guix Home теперь поставляется в составе GNU Guix"))
(body
(en "Guix Home splitted out from rde project and now is a part of
Guix proper. It is available as a @emph{technology preview} and thus subject
to change.
The new @command{guix home} command with its actions allows users to
manage their packages and configurations (aka. dotfiles) in a declarative way,
similar to how many people manage their system with @command{guix system}.
Take a look at available actions and arguments:
@example
guix home --help
@end example
See @command{info \"(guix) Home Configuration\"} for more information.")
(de "Guix Home ist aus dem rde-Projekt ins offizielle Guix übernommen
worden. Es ist als @emph{Technologievorschau} bereits verfügbar, aber die
Schnittstelle kann sich in Zukunft noch ändern.
Der neue Befehl @command{guix home} ermöglicht es, die Pakete und
Konfigurationsdateien (Dotfiles) für ein Benutzerkonto im deklarativen Stil zu
verwalten. Es ist analog dazu, wie man @command{guix system} benutzen kann, um
sein System zu verwalten.
Werfen Sie einen Blick auf die verfügbaren Aktionen und Argumente:
@example
guix home --help
@end example
Führen Sie für mehr Informationen @command{info \"(guix) Home Configuration\"}
aus.")
(ru "Guix Home отделился от проекта rde и теперь является частью
Guix. Новая команда @command{guix home} даёт возможность пользователям
управлять их пакетами и конфигурациями (дотфайлами) для них в декларативном
стиле, аналогично тому, как многие люди управляют своими системами с помощью
@command{guix system}.
Чтобы получить список доступных действий и аргументов:
@example
guix home --help
@end example
Смотрите @command{info \"(guix) Home Configuration\"} для получения более
детальных сведений.")))
(entry (commit "5b32ad4f6f555d305659cee825879df075b06331")
(title
(en "New @option{--max-depth} option for @command{guix graph}")
(de "Neue Option @option{--max-depth} für @command{guix graph}")
(fr "Nouvelle option @option{--max-depth} pour @command{guix graph}"))
(body
(en "The @command{guix graph} command has a new @option{--max-depth}
(or @option{-M}) option, which allows you to restrict a graph to the given
depth---very useful when visualizing large graphs. For example, the command
below displays, using the @code{xdot} package, the dependency graph of
LibreOffice, including only nodes that are at most at distance 2 of
LibreOffice itself:
@example
guix graph -M 2 libreoffice | xdot -
@end example
See @command{info \"(guix) Invoking guix graph\"} for more information.")
(de "Der Befehl @command{guix graph} verfügt über eine neue
Befehlszeilenoption @option{--max-depth} (oder @option{-M}), mit der
Sie einen Graphen auf die angegebene Tiefe einschränken. Das ist vor
allem bei großen Graphen nützlich; zum Beispiel zeigt der folgende
Befehl, unter Verwendung des Pakets @code{xdot}, den
Abhängigkeitsgraphen von LibreOffice unter Ausschluss der Knoten, die
eine Distanz größer als 2 von LibreOffice selbst haben:
@example
guix graph -M 2 libreoffice | xdot -
@end example
Führen Sie @code{info \"(guix.de) Aufruf von guix graph\"} aus, um mehr zu
erfahren.")
(fr "La commande @command{guix graph} dispose d'une nouvelle option
@option{--max-depth} (ou @option{-M}) pour restreindre la profondeur d'un
graphe---très utile pour visualiser des gros graphes. Par exemple, la
commande ci-dessous affiche, en utilisant @code{xdot}, le graphe de dépendance
de LibreOffice en n'incluant que les nœuds qui sont au plus à distance 2 de
LibreOffice soi-même :
@example
guix graph -M 2 libreoffice | xdot -
@end example
Voir @command{info \"(guix.fr) Invoquer guix graph\"} pour plus
d'informations.")))
(entry (commit "05f44c2d858a1e7b13c90362c35fa86bdc4d5a24")
(title
(en "Channel clones fall back to Software Heritage")
(de "Zum Klonen von Kanälen wird notfalls auf Software Heritage zurückgegriffen")
(fr "Les clones de canaux peuvent recourir à Software Heritage"))
(body
(en "When @command{guix time-machine} or @command{guix pull} fetches
a channel pinned to a specific commit, it now automatically falls back to
cloning it from the Software Heritage archive if the original URL is
unreachable. This contributes to long-term reproducibility. See
@command{info \"(guix) Replicating Guix\"}.
Automatic fallback also works for other Git clones made on your behalf, such
as when using @option{--with-commit} and related package transformation
options.")
(de "Wenn bei @command{guix time-machine} oder @command{guix
pull} ein bestimmter Commit eines Kanals bezogen werden soll, wird
jetzt für den Fall, dass die ursprüngliche URL unerreichbar ist,
automatisch vom Software-Heritage-Archiv geklont. Das trägt zur
langfristigen Reproduzierbarkeit bei. Siehe @command{info \"(guix.de)
Guix nachbilden\"}.
Der automatische Rückgriff auf Software Heritage findet auch
Verwendung bei anderen Arten von Git-Klon, die Guix durchführt, z.B.@:
wenn Sie @option{--with-commit} und ähnliche Paketumwandlungsoptionen
einsetzen.")
(fr "Quand la commande @command{guix time-machine} ou @command{guix
pull} récupère un canal fixé à une révision spécifique, elle est maintenant
capable de le cloner depuis l'archive Software Heritage si l'URL initiale
n'est plus disponible. Cela contribue à la reproductibilité à long terme.
Voir @command{info \"(guix.fr) Répliquer Guix\"}.
Ce recours à Software Heritage fonctionne aussi pour les autres clones Git que
Guix peut faire, comme lorsqu'on utilise @option{--with-commit} et les options
de transformation de paquet similaires.")))
(entry (commit "db4681a4c17d282a661552f2f57e5c453d02e414")
(title
(en "@code{gdm-service-type} now supports Wayland")
(de "@code{gdm-service-type} bietet nun Unterstützung für Wayland")
(fr "@code{gdm-service-type} prend maintenant en charge Wayland"))
(body
(en "@code{gdm-service-type} has been updated to support being launched
as a Wayland client, and to launch Wayland sessions. The @code{wayland?} boolean
field in @code{gdm-configuration} controls whether GDM starts in Wayland or X
mode. See @command{info \"(guix) X Window\"} for more information.
Wayland mode for GDM will soon become the default in Guix, so if your
hardware doesn't support Wayland (Nvidia users are the most concerned here),
please consider disabling it now.")
(de "@code{gdm-service-type} wurde um Unterstützung dafür
aktualisiert, als Wayland-Client gestartet zu werden und Wayland-Sitzungen zu
starten. Der Boolesche Wert im Feld @code{wayland?} in
@code{gdm-configuration} bestimmt, ob GDM im Wayland- oder X-Modus gestartet
wird. Siehe @command{info \"(guix.de) X Window\"} für weitere Informationen.
Bald wird der Wayland-Modus für GDM die Vorgabeeinstellung in Guix werden,
daher sollten Sie, wenn Ihre Hardware kein Wayland unterstützt (Nvidia-Nutzer
betrifft dies am ehesten), ihn jetzt ausdrücklich abschalten.")
(fr "@code{gdm-service-type} a été mis à jour et peut maintenant être
lancé comme client Wayland, ainsi que lancer des sessions Wayland. Le champ
booléen @code{wayland?} de @code{gdm-configuration} contrôle le mode dans lequel
GDM est lancé (Wayland ou X). Pour plus d'informations, voir
@command{info \"(guix) X Window\"} (en anglais).
GDM sera bientôt lancé en mode Wayland par défaut sur Guix, donc si votre matériel
ne le prend pas en charge (les utilisateur·ices de cartes Nvidia sont les plus
concerné·es), merci de le désactiver dès maintenant.")))
(entry (commit "f23803af2018a148fb088f2516d79c20d6bf95f0")
(title
(en "Input labels can now be omitted in package definitions")
(de "Eingaben in Paketdefinitionen brauchen keine Bezeichnungen mehr"))
(body
(en "If you have written package definitions before, you may know
that package inputs required a bit of boilerplate: each input needs to have an
associated label (a string), which you can refer to in ``build-side code''.
Input labels are now unnecessary, meaning that you can write code like:
@lisp
(package
;; @dots{}
(inputs (list libunistring libffi libgc)))
@end lisp
Notice that the @code{inputs} field is simplified compared to the ``old
style''. When needed, you can now use g-expressions (gexps) to refer to
another package in build-side code. Additionally, the new
@code{modify-inputs} macro facilitates common operations on inputs---deleting,
replacing, adding inputs.
To ease transition to the ``new style'', a new @command{guix style} command is
provided. Run @command{info \"(guix) Invoking guix style\"} for more info.")
(de "Wenn Sie bereits Paketdefinitionen verfasst haben,
erinnern Sie sich vielleicht, dass Sie für Paketeingaben manches
doppelt schreiben mussten: Jede Eingabe wird assoziiert mit einer
Bezeichnung (als Zeichenkette), auf die Sie sich in
„erstellungsseitigem Code“ beziehen können.
Diese Eingabebezeichnungen sind @emph{nicht} mehr nötig. Sie können
jetzt solchen Code schreiben:
@lisp
(package
;; …
(inputs (list libunistring libffi libgc)))
@end lisp
Achten Sie auf das gegenüber früher vereinfachte @code{inputs}-Feld.
Wenn nötig können Sie in erstellungsseitigem Code G-Ausdrücke (gexps)
benutzen, um andere Pakete zu referenzieren. Des Weiteren erleichtert
das Makro @code{modify-inputs} geläufige Operationen auf Eingaben —
das Löschen, Ersetzen, Hinzufügen von Eingaben.
Um den Übergang zum „neuen Stil“ zu erleichtern, steht ein neuer
Befehl @command{guix style} zur Verfügung. Führen Sie @command{info
\"(guix.de) Aufruf von guix style\"} aus, um mehr Informationen zu
erhalten.")))
(entry (commit "82daab42811a2e3c7684ebdf12af75ff0fa67b99")
(title
(en "New @samp{deb} format for the @command{guix pack} command")
(de "Neues Format @samp{deb} für den Befehl @command{guix pack}"))
(body
(en "Debian archives (with the .deb file extension) can now be
produced via the @command{guix pack --format=deb} command, providing an
alternative distribution path for software built with Guix. Here is a simple
example that generates a Debian archive for the @code{hello} package:
@example
guix pack --format=deb --symlink=/usr/bin/hello=bin/hello hello
@end example
See @command{info \"(guix) Invoking guix pack\"} for more information.")
(de "Debian-Archive (mit der Dateinamenserweiterung .deb) können
jetzt auch mit dem Befehl @command{guix pack --format=deb} erzeugt werden, um
mit Guix erstellte Software auf andere Art anzubieten. Hier sehen Sie ein
einfaches Beispiel, wie ein Debian-Archiv für das Paket @code{hello} angelegt
wird:
@example
guix pack --format=deb --symlink=/usr/bin/hello=bin/hello hello
@end example
Siehe @command{info \"(guix.de) Aufruf von guix pack\"} für mehr
Informationen.")))
(entry (commit "bdc298ecee15283451d3aa20a849dd7bb22c8538")
(title
(en "New @command{guix import egg} command")
(de "Neuer Befehl @command{guix import egg}")
(zh "新的 @command{guix import egg} 命令"))
(body
(en "The new @command{guix import egg} command allows packagers to
generate a package definition or a template thereof given the name of a
CHICKEN egg package, like so:
@example
guix import egg sourcehut
@end example
Run @command{info \"(guix) Invoking guix import\"} for more info.")
(de "Mit dem neuen Befehl @command{guix import egg} können
Paketautoren eine Paketdefinition oder eine Vorlage dafür anhand des Namens
eines „Egg“-Pakets für CHICKEN erzeugen, etwa so:
@example
guix import egg sourcehut
@end example
Führen Sie @command{info \"(guix.de) Aufruf von guix import\"} aus, um mehr
Informationen zu bekommen.")
(zh "新的 @command{guix import egg} 命令能让贡献者从一个CHICKEN egg生
成一个包装或包装样板。
@example
guix import egg sourcehut
@end example
想了解更多可以运行 @command{info \"(guix) Invoking guix import\"}。")))
(entry (commit "2161820ebbbab62a5ce76c9101ebaec54dc61586")
(title
(en "Risk of local privilege escalation during user account creation")
(de "Risiko lokaler Rechteausweitung während der Erstellung von Benutzerkonten"))
(body
(en "A security vulnerability that can lead to local privilege
escalation has been found in the code that creates user accounts on Guix
System---Guix on other distros is unaffected. The system is only vulnerable
during the activation of user accounts that do not already exist.
This bug is fixed and Guix System users are advised to upgrade their system,
with a command along the lines of:
@example
guix system reconfigure /run/current-system/configuration.scm
@end example
The attack can happen when @command{guix system reconfigure} is running.
Running @command{guix system reconfigure} can trigger the creation of new user
accounts if the configuration specifies new accounts. If a user whose account
is being created manages to log in after the account has been created but
before ``skeleton files'' copied to its home directory have the right
ownership, they may, by creating an appropriately-named symbolic link in the
home directory pointing to a sensitive file, such as @file{/etc/shadow}, get
root privileges.
See @uref{https://issues.guix.gnu.org/47584} for more information on this
bug.")
(de "Eine Sicherheitslücke, die eine lokale Rechteausweitung zur
Folge haben kann, wurde in dem Code gefunden, mit dem Benutzerkonten auf Guix
System angelegt werden — Guix auf anderen Distributionen ist nicht betroffen.
Das System kann nur während der Aktivierung noch nicht existierender
Benutzerkonten angegriffen werden.
Der Fehler wurde behoben und wir empfehlen Nutzern von Guix System, ihre
Systeme zu aktualisieren, mit einem Befehl wie:
@example
guix system reconfigure /run/current-system/configuration.scm
@end example
Der Angriff kann erfolgen, während @command{guix system reconfigure} läuft.
Wenn @command{guix system reconfigure} ausgeführt wird, kann das die Erzeugung
neuer Benutzerkonten auslösen, wenn in der Konfiguration neue Konten angegeben
wurden. Wenn ein Benutzer, dessen Konto gerade angelegt wird, es
fertigbringt, sich anzumelden, bevor „Skeleton-Dateien“ in seinem Persönlichen
Verzeichnis den richtigen Besitzer haben, kann er durch Anlegen einer gezielt
benannten symbolischen Verknüpfung in seinem Persönlichen Verzeichnis auf eine
sensible Datei wie @file{/etc/shadow} Administratorrechte erlangen.
Siehe @uref{https://issues.guix.gnu.org/47584} für mehr Informationen zu
diesem Fehler.")))
(entry (commit "e52ec6c64a17a99ae4bb6ff02309067499915b06")
(title
(en "New supported platform: powerpc64le-linux")
(de "Neue Plattform wird unterstützt: powerpc64le-linux")
(fr "Nouvelle plate-forme prise en charge : powerpc64le-linux"))
(body
(en "A new platform, powerpc64le-linux, has been added for
little-endian 64-bit Power ISA processors using the Linux-Libre kernel. This
includes POWER9 systems such as the
@uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom,
RYF Talos II mainboard}. This platform is available as a \"technology
preview\": although it is supported, substitutes are not yet available from
the build farm, and some packages may fail to build. In addition, Guix System
is not yet available on this platform. That said, the Guix community is
actively working on improving this support, and now is a great time to try it
and get involved!")
(de "Eine neue Plattform, powerpc64le-linux, wurde hinzugefügt. Mit
ihr können Prozessoren mit 64-Bit-Power-Befehlssatz, little-endian, mit dem
Linux-Libre-Kernel betrieben werden. Dazu gehören POWER9-Systeme wie die
@uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom,
RYF-zertifizierte Talos-II-Hauptplatine}. Bei der Plattform handelt es sich
um eine „Technologievorschau“; obwohl sie unterstützt wird, gibt es noch keine
Substitute von der Erstellungsfarm und bei manchen Paketen könnte die
Erstellung fehlschlagen. Des Weiteren ist Guix System auf dieser Plattform
noch nicht verfügbar. Dennoch arbeitet die Guix-Gemeinde aktiv daran, diese
Unterstützung auszubauen, und jetzt ist eine gute Gelegenheit, sie
auszuprobieren und mitzumachen!")
(fr "Une nouvelle plate-forme, powerpc64le-linux, a été ajoutée pour
les processeurs POWER 64-bits utilisant le noyau Linux-libre. Ça inclut les
systèmes POWER9 tels que les
@uref{https://www.fsf.org/news/talos-ii-mainboard-and-talos-ii-lite-mainboard-now-fsf-certified-to-respect-your-freedom,
cartes Talos II RYF}. Il s'agit pour le moment d'un « avant-goût » de la
technologie : bien que la plate-forme soit prise en charge, la ferme de
compilation ne fournit pas encore de substituts et certains paquets risquent
de ne pas compiler. En outre, Guix System n'est pas encore disponible sur
cette plate-forme. Ceci dit, la communauté Guix travaille activement pour
améliorer cette prise en charge et c'est maintenant un bon moment pour
l'essayer et pour s'impliquer !")))
(entry (commit "9ade2b720af91acecf76278b4d9b99ace406781e")
(title
(en "Update on previous @command{guix-daemon} local privilege escalation")
(de "Nachtrag zur lokalen Rechteausweitung bei @command{guix-daemon}")
(nl "Aanvulling bij escalatie van bevoegdheden via @command{guix-daemon}"))
(body
(en "The previous news item described a potential local privilege
escalation in @command{guix-daemon}, and claimed that systems with the Linux
@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt,
``protected hardlink''} feature enabled were unaffected by the vulnerability.
This is not entirely correct. Exploiting the bug on such systems is harder,
but not impossible. To avoid unpleasant surprises, all users are advised to
upgrade @command{guix-daemon}. Run @command{info \"(guix) Upgrading Guix\"}
for info on how to do that. See
@uref{https://guix.gnu.org/en/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/}
for more information on this bug.")
(de "In der letzten Neuigkeit wurde eine mögliche lokale
Rechteausweitung im @command{guix-daemon} beschrieben und behauptet, dass
Systeme, auf denen Linux’
@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt,
„Geschützte-Hardlinks“-Funktionalität} aktiviert ist, von der Sicherheitslücke
nicht betroffen seien.
Das stimmt nicht ganz. Die Lücke auf solchen Systemen auszunutzen, ist
schwerer, aber nicht unmöglich. Um unangenehme Überraschungen zu vermeiden,
empfehlen wir allen Nutzern, @command{guix-daemon} zu aktualisieren. Führen
Sie @command{info \"(guix.de) Aktualisieren von Guix\"} aus, um zu erfahren,
wie Sie ihn aktualisieren können. Siehe
@uref{https://guix.gnu.org/de/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/}
für mehr Informationen zu diesem Fehler.")
(nl "Het vorige nieuwsbericht beschreef een beveiligingsprobleem in
@command{guix-daemon} dat kan leiden tot de escalatie van lokale bevoegdheden.
Het bericht stelde dat machines waarop de
@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt,
``protected hardlink''}-optie van Linux is inschakeld niet kwetsbaar zijn.
Dit is niet volledig juist. De optie maakt het uitbuiten van de fout
moeilijker maar niet onmogelijk. Om onaangename verrassingen te voorkomen
is het voor iedereen aangeraden om @command{guix-daemon} op te waarderen.
Voer @command{info \"(guix) Upgrading Guix\"} uit voor meer informatie
daarover. Lees
@uref{https://guix.gnu.org/en/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/}
voor meer informatie over het probleem.")))
(entry (commit "ec7fb669945bfb47c5e1fdf7de3a5d07f7002ccf")
(title
(en "Risk of local privilege escalation @i{via} @command{guix-daemon}")
(de "Risiko lokaler Rechteausweitung über @command{guix-daemon}")
(fr "Risque d'élévation locale de privilèges @i{via} @command{guix-daemon}")
(nl "Risico op escalatie van bevoegdheden via @command{guix-daemon}"))
(body
(en "A security vulnerability that can lead to local privilege
escalation has been found in @command{guix-daemon}. It affects multi-user
setups in which @command{guix-daemon} runs locally.
It does @emph{not} affect multi-user setups where @command{guix-daemon} runs
on a separate machine and is accessed over the network, @i{via}
@env{GUIX_DAEMON_SOCKET}, as is customary on cluster setups. Machines where
the Linux @uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt,
``protected hardlink''} feature is enabled, which is common, are also
unaffected---this is the case when the contents of
@file{/proc/sys/fs/protected_hardlinks} are @code{1}.
The attack consists in having an unprivileged user spawn a build process, for
instance with @command{guix build}, that makes its build directory
world-writable. The user then creates a hardlink within the build directory
to a root-owned file from outside of the build directory, such as
@file{/etc/shadow}. If the user passed the @option{--keep-failed} option and
the build eventually fails, the daemon changes ownership of the whole build
tree, including the hardlink, to the user. At that point, the user has write
access to the target file.
You are advised to upgrade @command{guix-daemon}. Run @command{info \"(guix)
Upgrading Guix\"}, for info on how to do that. See
@uref{https://issues.guix.gnu.org/47229} for more information on this bug.")
(de "Eine Sicherheitslücke, die zu einer lokalen Rechteausweitung
führen kann, wurde in @command{guix-daemon} gefunden. Sie betrifft
Mehrbenutzersysteme, auf denen @command{guix-daemon} lokal läuft.
@emph{Nicht} betroffen sind Mehrbenutzersysteme, auf denen
@command{guix-daemon} auf einer separaten Maschine läuft und darauf über das
Netzwerk mittels @env{GUIX_DAEMON_SOCKET} zugegriffen wird, was auf
Rechen-Clustern üblich ist. Auch Maschinen, auf denen Linux’
@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt,
„Geschützte-Hardlinks“-Funktionalität} aktiviert ist@tie{}– was häufig der
Fall ist@tie{}–, sind nicht betroffen; sie ist aktiviert, wenn
@file{/proc/sys/fs/protected_hardlinks} den Inhalt @code{1} hat.
Der Angriff besteht darin, dass ein unprivilegierter Benutzer einen
Erstellungsprozess startet, etwa mit @command{guix build}, der allen
Schreibberechtigung auf sein Erstellungsverzeichnis erteilt. In diesem
Erstellungsverzeichnis erzeugt der Benutzer nun eine harte Verknüpfung auf
eine Datei außerhalb des Erstellungsverzeichnisses, die dem
Administratornutzer root gehört, etwa @file{/etc/shadow}. Wenn der Nutzer die
Befehlszeilenoption @option{--keep-failed} angegeben hat und die Erstellung
irgendwann fehlschlägt, trägt der Daemon als Besitzer des gesamten
Erstellungsverzeichnisses den Benutzer ein, Hardlink eingeschlossen. Jetzt
hat der Benutzer Schreibzugriff auf die Zieldatei bekommen.
Wir empfehlen, dass Sie @command{guix-daemon} aktualisieren. Führen Sie
@command{info \"(guix.de) Aktualisieren von Guix\"} aus, um zu erfahren, wie
Sie ihn aktualisieren können. Siehe @uref{https://issues.guix.gnu.org/47229}
für mehr Informationen zu diesem Fehler.")
(fr "Une faille de sécurité pouvant mener à une élévation locale de
privilèges a été trouvée dans @command{guix-daemon}. Elle touche les
installations multi-utilisateur·ices dans lesquelles @command{guix-daemon}
tourne en local.
Elle @emph{n'affecte pas} les installations où @command{guix-daemon} tourne
sur une machine séparée et qu'on y accède à travers le réseau, @i{via}
@env{GUIX_DAEMON_SOCKET}, comme c'est typiquement le cas sur les grappes de
calcul (@i{clusters}). Les machines où les
@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, ``liens
protégés''} de Linux sont activés, ce qui est courant, ne sont pas non plus
touchées ; cette fonctionnalité est activée si le contenu de
@file{/proc/sys/fs/protected_hardlinks} est @code{1}.
Pour mener cette attaque, un·e utilisateur·rice démarre un processus de
compilation, par exemple avec @command{guix build}, qui rend le répertoire de
compilation inscriptible pour tout le monde. La personne créée ensuite un
lien dur (@i{hard link}) dans ce répertoire vers un fichier appartenant à
@code{root}, tel que @file{/etc/shadow}. Si on a passé l'option
@option{--keep-failed} et que la compilation finit par échouer, le démon met
l'utilisateur·rice appelant·e comme propriétaire de l'ensemble du répertoire
de compilation, y compris le lien. À ce stade, cette personne a accès en
écriture sur le fichier cible.
Nous conseillons de mettre à jour @command{guix-daemon}. Lancer @command{info
\"(guix.fr) Mettre à niveau Guix\"} pour voir comment faire. Voir
@uref{https://issues.guix.gnu.org/47229} pour plus d'informations sur cette
faille.")
(nl "In @command{guix-daemon} werd een beveiligingsprobleem
gevonden dat kan leiden tot de escalatie van lokale bevoegdheden. Het
probleem doet zich voor bij installaties met meerdere gebruikers waarop een
lokale @command{guix-daemon} draait.
Het heeft @emph{geen} invloed op systemen met meerdere gebruikers waarbij de
@command{guix-daemon} op een afzonderlijke machine draait en via
@env{GUIX_DAEMON_SOCKET} over het netwerk wordt aangesproken, zoals
gebruikelijk bij computerclusters. Ook machines waarop de
@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt,
``protected hardlink''}-optie van Linux is inschakeld, wat vaak het geval is,
zijn niet kwetsbaar.
De aanval bestaat erin dat een gebruiker zonder privileges een bouwproces
opstart, bijvoorbeeld met @command{guix build}, dat zijn werkmap beschrijfbaar
maakt voor alle gebruikers. Vervolgens maakt de gebruiker vanuit deze map een
harde link naar een bestand erbuiten met @code{root} als eigenaar, zoals
@file{/etc/shadow}. Als de gebruiker de @option{--keep-failed}-optie opgaf
en de bouw faalt, maakt @command{guix-daemon} de gebruiker eigenaar van de
volledige inhoud van de werkmap, met inbegrip van de harde link. Op dat
moment bezit de gebruiker schrijfrechten over het doelbestand.
Het is aangeraden om @command{guix-daemon} op te waarderen. Voer
@command{info \"(guix) Upgrading Guix\"} uit voor meer informatie daarover.
Lees @uref{https://issues.guix.gnu.org/47229} voor meer informatie over het
probleem.")))
(entry (commit "77c2f4e2068ebec3f384c826c5a99785125ff72c")
(title
(en "@code{qemu-binfmt-service-type} is usable for any container")
(de "@code{qemu-binfmt-service-type} funktioniert mit jedem Container")
(fr "@code{qemu-binfmt-service-type} fonctionne avec tous les conteneurs"))
(body
(en "The service now makes use of the statically built QEMU binaries
along with the fix binary (F) @code{binfmt_misc} flag, which allows the kernel
to fully pre-load it in memory. QEMU can thus now be used with any container
without extra configuration. The @code{guix-support?} field of the
@code{qemu-binfmt-configuration} record is removed, as it is no longer
necessary.")
(de "Der Dienst benutzt jetzt statisch gebundene QEMU-Binärdateien
zusammen mit der Fix-Binary-Flag (F) von @code{binfmt_misc}. Dadurch kann der
Kernel die QEMU-Binärdatei als Ganzes vorab in den Speicher laden. Dann kann
sie auch ohne weitere Konfiguration in jeder Art von isolierter Umgebung
benutzt werden. Darum wurde das Feld @code{guix-support?} des
@code{qemu-binfmt-configuration}-Verbundsobjekts entfernt; es wird nicht mehr
gebraucht.")
(fr "Le service utilise maintenant les binaire QEMU statiques avec
le drapeau « fixed » (F) de @code{binfmt_misc}, ce qui permet au noyau
de le charger entièrement en mémoire. On peut donc maintenant utiliser QEMU
avec n'importe quel conteneur sans configuration supplémentaire. Le champ
@code{guix-support?} de l'enregistrement @code{qemu-binfmt-configuration} a
été supprimé car il n'est pas nécessaire.")))
(entry (commit "02e2e093e858e8a0ca7bd66c1f1f6fd0a1705edb")
(title
(en "New @command{guix import go} command")
(de "Neuer Befehl @command{guix import go}")
(fr "Nouvelle commande @command{guix import go}")
(nl "Nieuwe @command{guix import go}-opdracht"))
(body
(en "The new @command{guix import go} command allows packagers to
generate a package definition or a template thereof given the name of a Go
package available through @url{https://proxy.golang.org}, like so:
@example
guix import go golang.org/x/sys
@end example
Run @command{info \"(guix) Invoking guix import\"} for more info.")
(de "Mit dem neuen Befehl @command{guix import go} können
Paketautoren eine Paketdefinition oder eine Vorlage dafür anhand des Namens
eines auf @url{https://proxy.golang.org} verfügbaren Go-Pakets erzeugen, etwa
so:
@example
guix import go golang.org/x/sys
@end example
Führen Sie @command{info \"(guix.de) Aufruf von guix import\"} aus, um mehr
Informationen zu bekommen.")
(fr "La nouvelle commande @command{guix import go} permet aux
empaqueteur·ice·s de générer une définition de paquet ou un modèle de
définition à partir du nom d'un paquet Go disponible via
@url{https://proxy.golang.org}, comme ceci :
@example
guix import go golang.org/x/sys
@end example
Lancez @command{info \"(guix.fr) Invoquer guix import\"} pour en savoir plus.")
(nl "Met de nieuwe @command{guix import go}-opdracht kunnen
pakketschrijvers een pakketdefinitie of -sjabloon aanmaken, op basis van de
naam van een Go-pakket te vinden op @url{https://proxy.golang.org}:
@example
guix import go golang.org/x/sys
@end example
Voer @command{info \"(guix) Invoking guix import\"} uit voor meer
informatie.")))
(entry (commit "1b5b882120daf7d111aa351a919a90e818324347")
(title
(en "The @code{linux-libre} kernel is updated to 5.11.2")
(de "Der Kernel @code{linux-libre} wird auf 5.11.2 aktualisiert")
(fr "Le noyau @code{linux-libre} est mis à jour vers la 5.11.2")
(nl "De @code{linux-libre}-kernel werd bijgewertk naar 5.11.2"))
(body
(en "The default @code{linux-libre} kernel is now based on the 5.11
stable kernel series, beginning with version 5.11.2. Promiment features include
improved Wine performance, unprivileged Overlayfs mounts, support for Intel SGX,
support for new graphics hardware, and improved performance of the Btrfs
file system.")
(de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
jetzt auf der 5.11-„stable“-Versionsreihe, angefangen mit Version 5.11.2. Zu
den markanten Neuerungen gehören bessere Wine-Unterstützung, Einbinden per
Overlayfs für Nutzer ohne erweiterte Rechte, Unterstützung für Intel SGX, für
neue Grafikhardware und bessere Leistung beim Btrfs-Dateisystem.")
(fr "Le noyau @code{linux-libre} par défaut est maintenant basé sur la
lignée stable 5.11 du noyau, à commencer par la version 5.11.2. Parmi les
fonctionnalités notables on trouve des performances améliorées pour Wine, le
montage Overlayfs non privilégié, la prise en charge d'Intel SGX, celle des
nouveaux périphériques graphiques et de meilleures performances du système de
fichiers Btrfs.")
(nl "De standaard @code{linux-libre}-kernel is nu geëent op de
stabiele 5.11-reeks, te beginnen met versie 5.11.2. Deze update biedt onder
andere verbeterde prestaties voor Wine en het Btfrs-bestandssysteem, laat
gewone gebruikers toe om met Overlayfs bestandssystemen te combineren, en
ondersteunt Intel SGX en nieuwe grafische apparatuur.")))
(entry (commit "6e8cdf1d26092cb9654e179b04730fff7c15c94f")
(title
(en "The @command{guix system image} command can now operate on image records")
(de "Der Befehl @command{guix system image} kann jetzt auch mit @code{image}-Verbundsobjekten umgehen")
(fr "La commande @command{guix system image} peut désormais fonctionner sur des images"))
(body
(en "The @command{guix system image} command can now operate on
@code{image} records. This means that the file parameter or the expression
passed to this command can return @code{image} or @code{operating-system}
records.
The @file{gnu/system/images} directory contains default images that can be
built by running @command{guix system image gnu/system/images/pine64.scm} for
instance.")
(de "Sie können den Befehl @command{guix system image} jetzt auch auf
Verbundsobjekte vom Typ @code{image} anwenden. Das heißt, wenn Sie eine Datei
oder einen Ausdruck als Parameter übergeben, darf dieser ein Verbundsobjekt
vom Typ @code{image} oder @code{operating-system} zurückliefern.
Im Verzeichnis @file{gnu/system/images} finden Sie vorkonfigurierte Abbilder
als @code{image}-Verbundsobjekte. Sie können zum Beispiel @command{guix system
image gnu/system/images/pine64.scm} ausführen, um das Abbild zu erstellen.")
(fr "La commande @command{guix system image} peut désormais
fonctionner sur des images. Cela signifie que le fichier ou l'expression
passé en paramètre de cette commande peuvent retourner une structure de type
@code{image} ou @code{operating-system}.
Le dossier @file{gnu/system/images} contient des images par défaut qui peuvent
être construites en lançant la commande @command{guix system image
gnu/system/images/pine64.scm} par exemple.")))
(entry (commit "aa8de806252e3835d57fab351b02d13db762deac")
(title
(en "Risk of local privilege escalation @i{via} setuid programs")
(de "Risiko lokaler Rechteausweitung bei setuid-Programmen")
(fr "Risque de gain local de privilèges @i{via} les programmes setuid")
(zh "存在通过 setuid 程序进行本地提权的风险"))
(body
(en "On Guix System, setuid programs were, until now, installed as
setuid-root @emph{and} setgid-root (in the @file{/run/setuid-programs}
directory). However, most of these programs are meant to run as setuid-root,
but not setgid-root. Thus, this setting posed a risk of local privilege
escalation.
This bug has been fixed and users are advised to upgrade their system, with a
command along the lines of:
@example
guix system reconfigure /run/current-system/configuration.scm
@end example
Users of Guix on a ``foreign distro'' are unaffected. See
@url{https://issues.guix.gnu.org/46395} for more information.")
(de "Auf Guix System wurden setuid-Programme bisher mit setuid-root
@emph{und} setgid-root ausgestattet (im Verzeichnis
@file{/run/setuid-programs}). Die meisten solchen Programme sind jedoch nur
dafür gedacht, mit setuid-root zu laufen, ohne setgid-root. Durch diese
Einstellung war daher vielleicht eine lokale Rechteausweitung („local
privilege escalation“) möglich.
Dieser Fehler wurde behoben und Benutzern wird geraten, ihr System zu
aktualisieren, etwa mit diesem Befehl:
@example
guix system reconfigure /run/current-system/configuration.scm
@end example
Benutzer von Guix auf einer „Fremddistribution“ sind @emph{nicht} betroffen.
Siehe @url{https://issues.guix.gnu.org/46395} für weitere Informationen.")
(fr "Sur Guix System, les programmes setuid étaient jusqu'à présent
installés setuid-root @emph{et} setgid-root (dans le répertoire
@file{/run/setuid-programs}). Ces programmes sont généralement conçus pour
être setuid-root, mais pas setgid-root, et cette situation posait donc un
risque de gain local de privilèges.
Ce problème est corrigé et vous êtes encouragé·e à mettre à jour votre
système, avec une commande de ce genre :
@example
guix system reconfigure /run/current-system/configuration.scm
@end example
Les usagers de Guix sur une distrib externe ne sont pas touché·es. Plus
d'informations sont disponibles à @url{https://issues.guix.gnu.org/46395} (en
anglais).")
(zh "到目前为止,Guix 系统上的 setuid 程序(位于 @file{/run/setuid-programs})
同时具有 setuid-root @emph{和} setgid-root 权限。然而,此类程序大多被设计为在拥有
setuid 权限而非 setgid 权限时运行。因此,这样的设置可能会使系统受到本地提权攻击。
此漏洞已经被修复,同时建议用户使用下列命令升级他们的系统:
@example
guix system reconfigure /run/current-system/configuration.scm
@end example
在 ``第三方宿主系统'' 上使用 Guix 的用户不受此漏洞影响,详情请参阅
@url{https://issues.guix.gnu.org/46395}。")))
(entry (commit "aedbc5ff32a62f45aeed74c6833399a6cf2c22dc")
(title
(en "Create a manifest with @command{guix package --export-manifest}")
(de "Manifest erzeugen mit @command{guix package --export-manifest}")
(fr "Créer un manifeste avec @command{guix package --export-manifest}"))
(body
(en "The @command{guix package --export-manifest} command outputs a
@dfn{manifest} from your profile. This manifest is a code snippet that can
then be passed to @command{guix package --manifest} (or any other command that
accepts the @option{--manifest} option) to deploy these packages.
The goal of this new @option{--export-manifest} option is to make it easier to
migrate from an ``imperative'' style where you repeatedly invoke @command{guix
install} and similar commands, to the declarative style where you write in a
manifest file the list of packages you want to have.
Similarly, the new @option{--export-channels} option outputs a @dfn{channel
specification} suitable for @command{guix pull --channels} from your profile.
This allows you to ``pin'' Guix to the revision that was used to build the
profile.
Run @command{info \"(guix) Invoking guix package\"} for more info.")
(de "Mit dem Befehl @command{guix package --export-manifest} wird ein
@dfn{Manifest} aus Ihrem Profil erzeugt. Bei einem Manifest handelt es sich um
ein Stück Code, das Sie an @command{guix package --manifest} zum Einspielen
der Pakete aus dem Manifest übergeben können (oder an jeden anderen Befehl,
der die Befehlszeilenoption @option{--manifest} versteht).
Die Absicht hinter dieser neuen Befehlszeilenoption @option{--export-manifest}
ist, dass man leichter von einem „imperativen“ Stil, bei dem man wiederholt
@command{guix install} und ähnliche Befehle aufruft, zum deklarativen Stil
wechseln kann. Im deklarativen Stil tragen Sie die Liste der Pakete, die Sie
haben möchten, in eine Manifest-Datei ein.
Analog können Sie mit der neuen Befehlszeilenoption @option{--export-channels}
zu Ihrem Profil eine @dfn{Kanalspezifikation} erzeugen, die für @command{guix
pull --channels} geeignet ist. Damit können Sie für Guix immer die Version
benutzen, mit der das Profil erstellt wurde.
Führen Sie für mehr Informationen @command{info \"(guix.de) Aufruf von guix
package\"} aus.")
(fr "La commande @command{guix package --export-manifest} affiche un
@dfn{manifeste} pour le profil choisi. Ce manifeste est un bout de code qu'on
peut passer à @command{guix package --manifest} (ou n'importe qu'elle commande
qui accepte l'option @option{--manifest}) pour déployer ces paquets.
L'objectif de cette nouvelle option @option{--export-manifest} est de
faciliter la migration du modèle ``impératif'', où on utilise @command{guix
install} et les commandes de ce genre, au modèle déclaratif où on écrit dans
un fichier la liste des paquets que l'on veut avoir.
De même, la nouvelle option @option{--export-channels} produit une
@dfn{spécification de canaux} pour @command{guix pull --channels} à partir du
profil. Cela permet de ``figer'' Guix à la révision qui a été utilisée pour
produire le profil.
Voir @command{info \"(guix.fr) Invoquer guix package\"} pour plus
d'informations.")))
(entry (commit "9ab817b2a4601b4a6755983590ed7d93ebdc8d09")
(title (en "New @option{--with-latest} package transformation option")
(de "Neue Paketumwandlungsoption @option{--with-latest}")
(fr "Nouvelle option de transformation @option{--with-latest}"))
(body
(en "The new @option{--with-latest} package transformation option
gets the latest release of a package, as would be identified by @command{guix
refresh}, and uses it instead of the currently-packaged version. For example,
to install the latest release of GNOME Weather linked against the latest
version of libgweather, run:
@example
guix install gnome-weather \\
--with-latest=gnome-weather --with-latest=libgweather
@end example
Run @command{info \"(guix) Package Transformation Options\"} for more info.")
(de "Mit der neuen Paketumwandlungsoption @option{--with-latest} wird
die neueste Veröffentlichung für ein Paket verwendet. Diese wird wie bei
@command{guix refresh} bestimmt und anstelle der zurzeit im Paket festgelegten
Version verwendet. Um zum Beispiel die neuste Veröffentlichung von GNOME
Weather gebunden an die neuste Version von libgweather zu installieren, führen
Sie dies aus:
@example
guix install gnome-weather \\
--with-latest=gnome-weather --with-latest=libgweather
@end example
Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
(fr "La nouvelle option de transformation de paquets
@option{--with-latest} récupère la dernière version d'un logiciel telle
qu'elle serait trouvée par @command{guix refresh} et l'utilise à la place la
version actuellement fournie par le paquet. Par exemple, pour installer la
dernière version de GNOME Weather, elle-même compilée avec la dernière version
de libgweather, on lancera :
@example
guix install gnome-weather \\
--with-latest=gnome-weather --with-latest=libgweather
@end example
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus de détails.")))
(entry (commit "a879e35116043d5daf3d9d175b697d10b9177fd5")
(title (en "Substitutes can now be compressed with zstd")
(de "Substitute können nun mit zstd komprimiert werden")
(fr "Les substituts peuvent maintenant être compressés avec zstd"))
(body
(en "The @command{guix publish} command now supports substitute
compression with zstd and @command{guix-daemon} can now fetch and decompress
them.
The advantage of zstd over the other options is its high compression and
decompression throughput, with good compression ratios (not as good as lzip,
but slightly better than gzip). Its high decompression throughput makes it a
good choice in situations where substitute downloads would otherwise be
CPU-bound, typically when having a high-speed connection to the substitute
server. Run @command{info \"(guix) Invoking guix publish\"} for more info.
To be able to fetch zstd-compressed substitutes (if the substitute servers you
chose provide them), you need to upgrade your daemon. Run @command{info
\"(guix) Upgrading Guix\"} to learn how to do it.")
(de "Mit dem Befehl @command{guix publish} können Sie jetzt auch
Substitute mit zstd komprimieren und @command{guix-daemon} kann sie laden und
dekomprimieren.
zstd bietet gegenüber den anderen Optionen einen hohen Durchsatz bei
Kompression und Dekompression mit guten Kompressionsverhältnissen (nicht so
gut wie lzip, aber etwas besser als gzip). Wegen des hohen Durchsatzes bei
der Dekompression ist zstd eine gute Wahl, wenn beim Herunterladen von
Substituten ansonsten der Engpass bei der Prozessorleistung läge, etwa weil
eine schnelle Netzwerkverbindung zum Substitutserver besteht. Führen Sie für
mehr Informationen @command{info \"(guix.de) Aufruf von guix publish\"} aus.
Um zstd-komprimierte Substitute benutzen zu können (wenn der Substitutserver
sie anbietet), müssen Sie Ihren Daemon aktualisieren. Führen Sie
@command{info \"(guix.de) Aktualisieren von Guix\"} aus, um zu erfahren, wie
Sie ihn aktualisieren.")
(fr "La commande @command{guix publish} peut maintenant compresser
les substituts avec zstd et @command{guix-daemon} est capable de les récupérer
et de les décompresser.
L'avantage de zstd par rapport aux autres méthodes est son haut débit en
compression et décompression, avec un taux de compression correct (pas aussi
bon que lzip, mais légèrement meilleur que gzip). Sa vitesse de décompression
en fait un bon choix dans les situations où le temps de téléchargement des
substituts se retrouve sinon limité par le temps de calcul comme c'est le cas
lorsqu'on bénéficie d'une connexion rapide au serveur de substitut. Lancer
@command{info \"(guix.fr) Invoquer guix publish\"} pour plus d'informations.
Pour pouvoir télécharger des substituts compressés avec zstd (si les serveurs
de substituts choisis les fournissent), il faudra d'abord mettre à jour le
démon. Lancer @command{info \"(guix.fr) Mettre à niveau Guix\"} pour voir
comment faire.")))
(entry (commit "e38d90d497e19e00263fa28961c688a433154386")
(title (en "New @option{--with-patch} package transformation option")
(de "Neue Paketumwandlungsoption @option{--with-patch}")
(fr "Nouvelle option de transformation @option{--with-patch}"))
(body
(en "The new @option{--with-patch} package transformation option
applies patches to the specified packages before building them. The example
below builds the GNU Core Utilities against a patched C library (glibc):
@example
guix build coreutils --with-patch=glibc=./glibc-frob.patch
@end example
Run @command{info \"(guix) Package Transformation Options\"} for more info.")
(de "Die neue Paketumwandlungsoption @option{--with-patch} wendet
Patches auf die angegebenen Pakete an, bevor sie erstellt werden. Das folgende
Beispiel lässt die GNU Core Utilities mit einer gepatchten
C-Bibliothek (glibc) erstellen:
@example
guix build coreutils --with-patch=glibc=./glibc-frob.patch
@end example
Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
(fr "La nouvelle option de transformation de paquets
@option{--with-patch} applique des modifications (@i{patches}) aux paquets
spécifiés avant de les compiler. L'exemple suivant compile les utilitaires de
base GNU avec une bibliothèque C (glibc) modifiée :
@example
guix build coreutils --with-patch=glibc=./glibc-frob.patch
@end example
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus de détails.")))
(entry (commit "79f9dee3c4c0e6d21066f142116a537207ae7ba4")
(title (en "Local substitute servers discovery is now supported")
(de "Substitutserver können jetzt im lokalen Netz erkannt werden")
(es "Los servidores de sustituciones se pueden descubrir localmente")
(fr "La découverte des serveurs de substituts locaux est désormais supportée"))
(body
(en "The @command{guix-daemon} can now discover local substitute
servers when the @option{--discover} option is passed. Only the substitute
servers started with the @option{--advertise} option will be discovered. The
network discovery is based on mDNS and DNS-SD protocols, using Guile-Avahi
library for now.")
(de "Mit dem @command{guix-daemon} können jetzt lokal laufende
Substitutserver erkannt werden, wenn die Befehlszeilenoption
@option{--discover} übergeben wurde. Nur solche Substitutserver werden
gefunden, die mit der Befehlszeilenoption @option{--advertise} gestartet
wurden. Die Ermittlung im Netzwerk verfügbarer Substitutserver baut auf den
Protokollen mDNS und DNS-SD auf. Derzeit wird dazu die Bibliothek Guile-Avahi
benutzt.")
(es "El daemon @command{guix-daemon} ahora puede descubrir servidores
de sustituciones locales cuando se le proporciona la opción
@option{--discover}. Únicamente se descubrirán los servidores de
sustituciones que se hayan arrancado con la opción @option{--advertise}. La
búsqueda en la red se basa en los protocolos mDNS y DNS-SD, actualmente
mediante el uso de la biblioteca Guile-Avahi.")
(fr "Le @command{guix-daemon} peut désormais découvrir les serveurs
de substituts locaux lorsque l'option @option{--discover} est passée. Seuls
les serveurs de substituts démarrés avec l'option @option{--advertise} seront
découverts. La découverte réseau utilise les protocoles mDNS et DNS-SD, pour
l'instant grâce à la librairie Guile-Avahi.")))
(entry (commit "a9a2fdaabcc78e7a54d9a6bcfa4ee3de308e9a90")
(title (en "Logical Volume Manager (LVM) now supported on Guix System")
(de "Logical Volume Manager (LVM) wird jetzt auf Guix System unterstützt")
(es "El sistema Guix ahora implementa también volúmenes lógicos LVM")
(fr "Le gestionnaire de volumes logiques (LVM) est maintenant pris en charge par le système Guix"))
(body
(en "On Guix System, the new @code{lvm-device-mapping} variable
allows you to declare ``mapped devices'' for LVM, the Linux Logical Volume
Manager. For example, LVM logical volumes ``alpha'' and ``beta'' from volume
group ``vg0'' can be declared as follows:
@lisp
(mapped-device
(source \"vg0\")
(target (list \"vg0-alpha\" \"vg0-beta\"))
(type lvm-device-mapping))
@end lisp
See @command{info \"(guix) Mapped Devices\"} for more information.")
(de "Auf Guix System erlaubt Ihnen die neue Variable
@code{lvm-device-mapping}, „zugeordnete Geräte“ (Mapped Devices) für LVM, den
Linux Logical Volume Manager, zu deklarieren. Zum Beispiel können logische
Datenträger von LVM namens „alpha“ und „beta“ aus der
Datenträgergruppe (Volume Group) „vg0“ wie folgt deklariert werden:
@lisp
(mapped-device
(source \"vg0\")
(target (list \"vg0-alpha\" \"vg0-beta\"))
(type lvm-device-mapping))
@end lisp
Siehe @command{info \"(guix.de) Zugeordnete Geräte\"} für nähere Informationen.")
(es "En el sistema Guix, la nueva variable @code{lvm-device-mapping}
le permite declarar «dispositivos traducidos» para LVM, el gestor de volúmenes
lógicos de Linux. A continuación se muestra un ejemplo con la declaración de
los volúmenes lógicos «alfa» y «beta» del grupo de volúmenes «vg0»:
@lisp
(mapped-device
(source \"vg0\")
(target (list \"vg0-alfa\" \"vg0-beta\"))
(type lvm-device-mapping))
@end lisp
Véase @command{info \"(guix.es) Dispositivos traducidos\"} para obtener más
información.")
(fr "Sur le système Guix, la nouvelle variable @code{lvm-device-mapping}
vous permet de déclarer des « périphériques mappés » pour LVM, le gestionnaire
de volumes logiques. Par exemple, vous pouvez déclarer les volumes logiques
« alpha » et « beta » du groupe « vg0 » comme ceci :
@lisp
(mapped-device
(source \"vg0\")
(target (list \"vg0-alpha\" \"vg0-beta\"))
(type lvm-device-mapping))
@end lisp
Voir @command{info \"(guix.fr) Périphériques mappés\"} pour en savoir plus.")))
(entry (commit "3b6e4e5fd05e72b8a32ff1a2d5e21464260e21e6")
(title (en "List of substitute keys is now declarative on Guix System")
(de "Liste der Substitutschlüssel auf Guix System ist jetzt deklarativ")
(es "Claves para sustituciones del sistema Guix en formato declarativo")
(fr "Liste des clefs de substituts désormais déclarative sur Guix System"))
(body
(en "The list of authorized substitute keys, available in
@file{/etc/guix/acl}, is now built by default in a purely declarative fashion
on Guix System based on the @code{authorized-keys} field of the configuration
of @code{guix-service-type}. This means that manual changes to
@file{/etc/guix/acl} are now @emph{discarded} upon reconfiguration or
reboot (a backup is made as @file{/etc/guix/acl.bak} in that case).
We recommend updating your operating system configuration to explicitly list
all the authorized substitute keys. See @command{info \"(guix) Base
Services\"}, for more info about @code{guix-configuration} and
@code{authorized-keys}.
Alternatively, you can set the @code{authorize-key?} field of
@code{guix-configuration} to @code{#f} to restore previous behavior.")
(de "Die Liste von autorisierten Substitutschlüsseln, die in
@file{/etc/guix/acl} steht, wird auf Guix System nach Vorgabe jetzt auf rein
deklarative Weise erstellt, je nach Inhalt des @code{authorized-keys}-Feldes
der Konfiguration des @code{guix-service-type}. Das hat zur Folge, dass
manuelle Änderungen an @file{/etc/guix/acl} von jetzt an nach jedem
Rekonfigurieren oder Neustarten @emph{verworfen} werden (in diesem Fall wird
eine Sicherheitskopie namens @file{/etc/guix/acl.bak} angelegt).
Wir empfehlen, dass Sie Ihre Betriebssystemkonfiguration aktualisieren, damit
dort alle autorisierten Substitutschlüssel ausdrücklich aufgeführt
werden. Siehe @command{info \"(guix.de) Basisdienste\"} für mehr Informationen
zur @code{guix-configuration} und @code{authorized-keys}.
Alternativ können Sie das @code{authorize-key?}-Feld der
@code{guix-configuration} auf @code{#f} setzen, um zum alten Verhalten
zurückzugehen.")
(es "El listado de claves autorizadas para la obtención de
sustituciones, disponible en @file{/etc/guix/acl}, ahora se genera de manera
predeterminada en el sistema Guix de forma completamente declarativa en base
al campo @code{authorized-keys} del la configuración para el servicio
@code{guix-service-type}. Esto significa que los cambios que se hayan
realizado de manera manual en @file{/etc/guix/acl} @emph{se descartan} tras
una reconfiguración del sistema o tras un reinicio (se realiza una copia de
seguridad en la ruta @file{/etc/guix/acl.bak} en este caso).
Le recomendamos que actualice su configuración del sistema operativo para que
enumere explícitamente todas las claves que desea autorizar para la obtención
de sustituciones. Véase @command{info \"(guix.es) Servicios base\"}, para
obtener más información sobre @code{guix-configuration} y
@code{authorized-keys}.
También puede proporcionar el valor @code{#f} en el campo
@code{authorize-key?} de @code{guix-configuration} para volver al
comportamiento que se obtenía con versiones previas.")
(fr "La liste des clefs de substituts autorisées, stockée dans
@file{/guix/guix/acl}, est dorénavant construite par défaut de manière
déclarative sur Guix System, en se basant sur le champs @code{authorized-keys}
de la configuration de @code{guix-service-type}. Cela signifie que les
modifications apportées manuellement à @file{/etc/guix/acl} seront désormais
@emph{perdues} lors d'une reconfiguration ou d'un redémarrage (dans ce cas une
sauvegarde est faite dans @file{/etc/guix/acl.bak}).
Nous recommandons de mettre à jour sa configuration de système d'exploitation
pour y lister explicitement les clefs autorisées. Lancez @command{info
\"(guix.fr) Services de base\"} pour plus d'informations sur
@code{guix-configuration} et @code{authorized-keys}.
Il est également possible de mettre le champs @code{authorize-key?} de
@code{guix-configuration} à @code{#f} pour restaurer le comportement qui
prévalait jusqu'à maintenant.")))
(entry (commit "6aeda81602555fbeac0c0a209e74f5262093b513")
(title (en "New @option{--with-debug-info} package transformation option")
(de "Neue Paketumwandlungsoption @option{--with-debug-info}")
(es "Nueva opción de transformación @option{--with-debug-info}")
(fr "Nouvelle option de transformation @option{--with-debug-info}"))
(body
(en "The new @option{--with-debug-info} option builds a variant of a
package that includes debug info and grafts it onto the application you want
to debug. Thus, only the package for which you want debug info needs to be
recompiled. This is useful for packages that do not already have a
@code{debug} output.
For example, here is how you would obtain debug info for the @code{glib}
library so you can inspect it while debugging Inkscape:
@example
guix build --with-debug-info=glib inkscape
@end example
Run @command{info \"(guix) Package Transformation Options\"} for more info.")
(de "Die neue Paketumwandlungsoption @option{--with-debug-info} lässt
eine Variante eines Pakets erstellen, die auch Informationen zur Fehlersuche
enthält. Damit wird die Anwendung veredelt, wo Sie Fehler nachvollziehen
möchten. Somit muss nur das Paket, für das Sie die Informationen brauchen, neu
kompiliert werden. Das ist hilfreich bei Paketen, die noch nicht über eine
@code{debug}-Ausgabe verfügen.
Zum Beispiel würden Sie so Informationen zur Fehlersuche für die
@code{glib}-Bibliothek bekommen, um sie inspizieren zu können, wenn Sie Fehler
in Inkscape nachvollziehen möchten:
@example
guix build --with-debug-info=glib inkscape
@end example
Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
(es "La nueva opción @option{--with-debug-info} construye una
variante del paquete que incluye la información de depuración y la injerta
en la aplicación que desee depurar. Por tanto, únicamente el paquete del
que desee información de depuración debe construirse de nuevo. Es útil
para paquetes que no tienen ya una salida @code{debug}.
El siguiente ejemplo muestra como obtener información de depuración
para la biblioteca @code{glib} de modo que pueda inspeccionarla mientras
depura Inkscape:
@example
guix build --with-debug-info=glib inkscape
@end example
Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
para obtener más información.")
(fr "La nouvelle option de transformation de paquets
@option{--with-debug-info} compile une variante d'un paquet avec les
informations de déboguage et la greffe sur l'application que l'on veut
déboguer. Ainsi seul le paquet pour lequel on demande des informations de
déboguage a besoin d'être recompilé. C'est utile pour les paquets n'ayant pas
déjà un résultat @code{debug}.
Voici par exemple comment obtenir des informations de déboguage pour la
bibliothèque @code{glib} de manière à pouvoir l'inspecter quand on débuggue
Inkscape :
@example
guix build --with-debug-info=glib inkscape
@end example
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus de détails.")))
(entry (commit "abd7a474615353149a44f4504f0b4b248dcc0716")
(title (en "New @option{--with-c-toolchain} package transformation option")
(de "Neue Paketumwandlungsoption @option{--with-c-toolchain}")
(es "Nueva opción de transformación @option{--with-c-toolchain}")
(fr "Nouvelle option de transformation @option{--with-c-toolchain}"))
(body
(en "The new @option{--with-c-toolchain} package transformation
options provides an easy way for developers to rebuild their favorite packages
with the C/C++ tool chain of their choice instead of the default one.
For example, the following command rebuilds the @code{fftw} and @code{fftwf}
packages as well as every package that depends on them, up to and including
@code{octave-cli}, using GCC version 10 (currently GCC 7.5 is used by
default):
@example
guix build octave-cli \\
--with-c-toolchain=fftw=gcc-toolchain@@10 \\
--with-c-toolchain=fftwf=gcc-toolchain@@10
@end example
Run @command{info \"(guix) Package Transformation Options\"} for more info.")
(de "Die neue Paketumwandlungsoption @option{--with-c-toolchain}
bietet Entwicklern die Möglichkeit, leicht ihre Lieblingspakete mit der
selbstgewählten Toolchain für C/C++ anstelle der vorgegebenen neu zu
erstellen.
Zum Beispiel werden mit folgendem Befehl die Pakete @code{fftw} und
@code{fftwf} sowie alle davon abhängigen Pakete bis einschließlich
@code{octave-cli} mit Version 10 der GCC erstellt (vorgegeben wäre zurzeit,
GCC 7.5 zu benutzen):
@example
guix build octave-cli \\
--with-c-toolchain=fftw=gcc-toolchain@@10 \\
--with-c-toolchain=fftwf=gcc-toolchain@@10
@end example
Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
(es "La nueva opción de transformación de paquetes
@option{--with-c-toolchain} proporciona a las desarrolladoras una manera
fácil de reconstruir sus paquetes favoritos con la cadena de herramientas
de compilación de C/C++ que elijan en vez de la predeterminada.
Por ejemplo, la siguiente orden reconstruye los paquetes @code{fftw} y
@code{fftwf} así como todos los paquetes que dependen de ellos hasta
@code{octave-cli}, usando la versión 10 de GCC (el compilador
predeterminado en estos momentos es GCC 7.5):
@example
guix build octave-cli \\
--with-c-toolchain=fftw=gcc-toolchain@@10 \\
--with-c-toolchain=fftwf=gcc-toolchain@@10
@end example
Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
para obtener más información.")
(fr "La nouvelle option de transformation de paquets
@option{--with-c-toolchain} permet aux développeur·euses de recompiler leurs
paquets préférés avec la chaîne d'outils C/C++ de leur choix à la place de
celle par défaut.
Par exemple, la commande ci-dessous recompile @code{fftw}, @code{fftwf} et
tous les paquets qui en dépendent, jusqu'à @code{octave-cli} inclus, avec GCC
10 (actuellement c'est GCC 7.5 qui est utilisé par défaut):
@example
guix build octave-cli \\
--with-c-toolchain=fftw=gcc-toolchain@@10 \\
--with-c-toolchain=fftwf=gcc-toolchain@@10
@end example
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus de détails.")))
(entry (commit "8e1907a72430aa989125b053573ef0897c480697")
(title (en "Package transformation options now recorded in profiles")
(es "Las opciones de transformación de paquetes ahora se
quedan registradas en el perfil")
(de "Paketumwandlungsoptionen werden nun in Profilen gesichert")
(fr "Options de transformation sauvegardées dans les profils"))
(body
(en "When installing packages in a profile, package transformation
options such as @option{--with-input} are now recorded in the profile. When
you eventually run @command{guix upgrade}, those transformations will be
automatically applied to the upgraded packages.
Run @command{info \"(guix) Package Transformation Options\"} for more info.")
(es "Si durante la instalación de paquetes en un perfil se utilizaron
opciones de transformación de paquetes, como por ejemplo
@option{--with-input}, éstas se registran en el perfil. Cuando vuelva a
ejecutar @command{guix upgrade}, dichas transformaciones se aplicarán
automáticamente a los paquetes actualizados.
Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
para obtener más información.")
(de "Wenn Sie ein Paket in ein Profil installieren, werden nun
Paketumwandlungsoptionen wie @option{--with-input} im Profil gespeichert.
Sobald Sie später @command{guix upgrade} ausführen, werden dieselben
Umwandlungen automatisch auf die aktualisierten Pakete angewandt.
Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
(fr "Lorsqu'on installe des paquets dans un profil, les options de
transformation telles que @option{--with-input} sont désormais enregistrées
dans le profil. Quand on le met plus tard à jour avec @command{guix upgrade},
ces transformations sont automatiquement appliquées aux nouveaux paquets.
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus de détails.")))
(entry (commit "313f492657f1d0863c641fa5ee7f5b7028e27c94")
(title (en "New @option{--image-type} option for @command{guix system disk-image}.")
(es "Nueva opción @option{--image-type} para @command{guix system disk-image}.")
(de "Neue Option @option{--image-type} für @command{guix system disk-image}.")
(fr "Nouvelle option @option{--image-type} pour @command{guix system disk-image}."))
(body
(en "The @option{--file-system-type} option for @command{guix system
disk-image} command has been replaced by the new @option{--image-type} option.
By default, @code{raw} disk images are produced, but @code{hurd-qcow2},
@code{hurd-raw}, @code{uncompressed-iso9660} and @code{iso9660} image types
are also available.
The @option{--list-image-types} option lists all the available image types.")
(es "La opción @option{--file-system-type} de @command{guix system
disk-image} se ha sustituido por la nueva opción @option{--image-type}. De
manera predeterminada se producen imágenes en formato crudo (@code{raw}) pero
también están disponibles los tipos de imagen @code{hurd-qcow2},
@code{hurd-raw}, @code{uncompressed-iso9660} y @code{iso9660}.
La opción @option{--list-image-types} muestra una lista con todos los tipos
de imagen disponibles.")
(de "Anstelle der Befehlszeilenoption @option{--file-system-type} für
@command{guix system disk-image} gibt es nun die neue Option
@option{--image-type}. In der Vorgabeeinstellung @code{raw} werden rohe
Disk-Images erzeugt, aber es können auch die Abbildtypen @code{hurd-qcow2},
@code{hurd-raw}, @code{uncompressed-iso9660} und @code{iso9660} ausgewählt
werden.
Mit der Option @option{--list-image-types} werden alle verfügbaren Abbildtypen
aufgelistet.")
(fr "L'option @option{--file-system-type} pour la commande
@command{guix system disk-image} a été remplacée par la nouvelle option
@option{--image-type}. Par défaut, l'option @code{raw}, produisant des images
disque brutes est sélectionnée. Les options @code{hurd-qcow2},
@code{hurd-raw}, @code{uncompressed-iso9660} et @code{iso9660} sont également
disponibles.
La nouvelle option @option{--list-image-types} énumère les types d'image
disponibles.")))
(entry (commit "8819551c8d2a12cd4e84e09b51e434d05a012c9d")
(title (en "Package transformations now apply to implicit inputs")
(es "Las transformaciones de paquetes ahora afectan también
a las dependencias implícitas")
(de "Paketumwandlungen betreffen jetzt auch implizite Eingaben")
(fr "Les transformations de paquets s'appliquent aux
dépendances implicites"))
(body
(en "Package transformation options such as @option{--with-branch},
@option{--with-input}, and so on now apply to implicit inputs---previously
only a package's explicit inputs would be affected. This allows for things
such as replacing the Python dependency of a package that uses
@code{python-build-system}:
@example
guix install --with-input=python=python2 python-itsdangerous
@end example
Another example is grafting a different version of the GNU C
Library (@code{glibc} is an implicit input of almost all the packages and is
``deep down'' in the dependency graph):
@example
guix build --with-graft=glibc=glibc@@2.31 hello
@end example
Run @command{info \"(guix) Package Transformation Options\"} for more
info.")
(es "Las opciones de transformación de paquetes como
@option{--with-branch}, @option{--with-input}, etcétera, ahora también
influyen en las entradas implícitas---antes únicamente las entradas explícitas
del paquete se veían afectadas. Esto permite, por ejemplo, sustituir la
dependencia en python de un paquete que use @code{python-build-system}:
@example
guix install --with-input=python=python2 python-itsdangerous
@end example
Otro ejemplo podría ser el injerto de una versión diferente de la biblioteca
de C de GNU (@code{glibc} es una entrada implícita de casi todos los paquetes
y ``muy abajo'' en el grafo de dependencias):
@example
guix build --with-graft=glibc=glibc@@2.31 hello
@end example
Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
para obtener más información.")
(de "Paketumwandlungsoptionen wie @option{--with-branch},
@option{--with-input} und so weiter betreffen nun auch implizite Eingaben —
zuvor haben sie sich nur auf die expliziten Eingaben eines Pakets
ausgewirkt. Dadurch kann jetzt zum Beispiel die Python-Abhängigkeit eines
Pakets, welches @code{python-build-system} benutzt, ersetzt werden:
@example
guix install --with-input=python=python2 python-itsdangerous
@end example
Ein weiteres Beispiel ist, mit einer anderen Version der GNU-C-Bibliothek zu
veredeln (@code{glibc} ist eine implizite Eingabe fast aller Pakete und steckt
„ganz tief“ im Abhängigkeitsgraphen):
@example
guix build --with-graft=glibc=glibc@@2.31 hello
@end example
Führen Sie für mehr Informationen @command{info \"(guix.de)
Paketumwandlungsoptionen\"} aus.")
(fr "Les options de transformation de paquets telles que
@option{--with-branch} et @option{--with-input} s'appliquent désormais aux
dépendances implicites — jusque là seules les dépendances explicites des
paquets étaient prises en compte. Cela permet certaines choses telles que
remplacer la dépendance sur Python d'un paquet utilisant
@code{python-build-system} :
@example
guix install --with-input=python=python2 python-itsdangerous
@end example
Un autre exemple est la possibilité de greffer une version différente de la
bibliothèque C GNU (la @code{glibc} est une dépendance implicite de tous les
paquets et se trouve « tout en bas » du graphe de dépendance) :
@example
guix build --with-graft=glibc=glibc@@2.31 hello
@end example
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
plus de détails.")))
(entry (commit "f458cfbcc54ed87b1a87dd9e150ea276f17eab74")
(title (en "New @option{--without-tests} transformation option")
(es "Nueva opción de transformación @option{--without-tests}")
(de "Neue Paketumwandlungsoption @option{--without-tests}")
(fr "Nouvelle option de transformation @option{--without-tests}"))
(body
(en "The new @option{--without-tests} package transformation option
instructs Guix to skip the test suite of a given package. In the example
below, @code{guile-gcrypt} is built using a variant of @code{automake} itself
built without running its (lengthy) test suite:
@example
guix build guile-gcrypt --without-tests=automake
@end example
This is primarily useful as a way to speed up development cycles, or to work
around flaky test suites---skipping tests can hide real issues, so use with
care. Run @command{info \"(guix) Package Transformation Options\"} for more
info.")
(es "La nueva opción de transformación de paquetes
@option{--without-tests} indica a Guix que omita la batería de pruebas del
paquete proporcionado. En el siguiente ejemplo @code{guile-gcrypt} se
construye usando una variación de @code{automake}, la cual se ha construido
sin ejecutar su (larga) batería de pruebas:
@example
guix build guile-gcrypt --without-tests=automake
@end example
Esto es principalmente útil como una forma de acelerar ciclos de desarrollo o
de omitir temporalmente baterías de pruebas problemáticas---omitir las pruebas
puede ocultar problemas reales, por lo que debe usarse con precaución.
Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
para obtener más información.")
(de "Mit der neuen Paketumwandlungsoption @option{--without-tests}
wird Guix angewiesen, den Testkatalog des angegebenen Pakets zu
überspringen. Im folgenden Beispiel wird @code{guile-gcrypt} mit einer
Variante von @code{automake} erstellt, die wiederum ohne Durchlauf ihres (viel
Zeit in Anspruch nehmenden) Testkatalogs erstellt wird:
@example
guix build guile-gcrypt --without-tests=automake
@end example
Der hauptsächliche Nutzen liegt in der Beschleunigung von Entwicklungszyklen
oder im Umgehen unzuverlässiger Testkataloge. Allerdings kann das Überspringen
dazu führen, dass echte Probleme verborgen bleiben. Setzen Sie es mit Bedacht
ein. Führen Sie @command{info \"(guix.de) Paketumwandlungsoptionen\"} aus, um
mehr Informationen zu erhalten.")
(fr "La nouvelle option de transformation de paquets
@option{--without-tests} demande à Guix de sauter la suite de tests d'un
paquet. Dans l'exemple ci-dessous, @code{guile-gcrypt} est construit en
utilisant une variante de @code{automake} construite sans lancer sa suite de
tests :
@example
guix build guile-gcrypt --without-tests=automake
@end example
Cette option est surtout intéressante pour raccourcir le cycle de
développement ou pour contourner une suite de tests qui n'est pas
fiable — sauter les tests peut cacher des vrais problèmes, à utiliser avec
précaution donc. Voir @command{info \"(guix.fr) Options de transformation de
paquets\"} pour plus de détails.")))
(entry (commit "a98712785e0b042a290420fd74e5a4a5da4fc68f")
(title (en "New @command{guix git authenticate} command")
(es "Nueva orden @command{guix git authenticate}")
(de "Neuer Befehl @command{guix git authenticate}")
(fr "Nouvelle commande @command{guix git authenticate}"))
(body
(en "The new @command{guix git authenticate} command authenticates a
Git repository by verifying commit signatures and ensuring they all come from
authorized parties, exactly like @command{guix pull} now does.
This command is primarily useful to developers of channels. It allows them to
ensure, before pushing, that the channel only contains commits signed with
authorized keys. But this command is also useful anytime you use Git and want
to allow people to authenticate code fetched from your repository.
Run @command{info \"(guix) Invoking guix git authenticate\"} for more info,
and see @uref{https://guix.gnu.org/blog/2020/securing-updates/} for details on
these mechanisms.")
(es "La nueva orden @command{guix git authenticate} comprueba la
validez de un repositorio git verificando las firmas de las revisiones y
comprobando que todas las firmas están autorizadas, exactamente igual que
@command{guix pull}.
Esta orden es principalmente útil para desarrolladoras de canales. Permite
asegurar, antes de subir nada al repositorio remoto, que el canal contiene
únicamente revisiones firmadas por claves autorizadas. No obstante esta orden
es útil siempre que use git y quiera que otras personas puedan verificar el
código obtenido de su repositorio.
Ejecute @command{info \"(guix.es) Invocación de guix git authenticate\"}
para obtener más información y vea detalles sobre estos mecanismos en
@uref{https://guix.gnu.org/blog/2020/securing-updates/}.")
(de "Mit dem neuen Befehl @command{guix git authenticate} können Sie
ein Git-Repository authentifizieren. Dazu werden alle Commit-Signaturen
verifiziert und geprüft, dass jede von einer autorisierten Quelle kommt, genau
wie es @command{guix pull} nun tut.
Dieser Befehl hilft in erster Linie den Entwicklern von Kanälen. Mit ihm kann
vor einem Push sichergestellt werden, dass der Kanal nur Commits enthält, die
mit autorisierten Schlüsseln signiert worden sind. Aber der Befehl kann auch
helfen, wann immer Sie Git verwenden und ermöglichen wollen, dass Nutzer von
Ihrem Repository geladenen Code authentifizieren können.
Führen Sie @command{info \"(guix) Invoking guix git authenticate\"} aus, um
mehr Informationen zu erhalten, und lesen Sie
@uref{https://guix.gnu.org/blog/2020/securing-updates/} für die Details dieser
Mechanismen.")
(fr "La nouvelle commande @command{guix git authenticate} authentifie
un dépôt Git en vérifiant les signatures sur les changements (@i{commits}) et
en s'assurant qu'elles sont autorisées, exactement comme @command{guix pull}
le fait désormais.
Cette commande est avant tout utile aux personnes développant un canal. Elle
leur permet de s'assurer, avant de pousser des changements, que le canal ne
contient que des changements signés par des clefs autorisées. Mais cette
commande peut aussi s'avérer utile dès que tu veux utiliser Git et permettre
aux autres d'authentifier le code récupéré depuis ton dépôt.
Lance @command{info \"(guix.fr) Invoking guix git authenticate\"} pour plus
d'informations. Voir @uref{https://guix.gnu.org/blog/2020/securing-updates/}
pour en savoir plus sur ces mécanismes.")))
(entry (commit "43badf261f4688c8a7a7a9004a4bff8acb205835")
(title (en "@command{guix pull} authenticates channels")
(es "@command{guix pull} verifica los canales")
(de "@command{guix pull} authentifiziert Kanäle")
(fr "@command{guix pull} authentifie les canaux"))
(body
(en "The @command{guix pull} and @command{guix time-machine} commands
now authenticate the source code that they pull, unless the new
@option{--disable-authentication} option is passed. What this means is that
Guix ensures that each commit received is cryptographically signed by an
authorized developer. This protects you from attempts to tamper with the Guix
repository and from attempts to ship malicious code to users.
This feature is currently limited to the @code{guix} channel but will soon be
available to third-party channel authors.")
(es "Las ordenes @command{guix pull} y @command{guix time-machine}
ahora verifican el código fuente que obtienen, a menos que se proporcione la
opción @option{--disable-authentication}. Lo que esto significa es que Guix se
asegura de que cada revisión que recibe está firmada criptográficamente por
una desarrolladora autorizada. Esto le protege de intentos de modificación del
repositorio de Guix y de entregas de código con malas intenciones sobre las
usuarias.
Esta característica está limitada actualmente al canal @code{guix} pero pronto
estará disponible para autoras de canales independientes.")
(de "Die Befehle @command{guix pull} und @command{guix time-machine}
prüfen nun die Authentizität des heruntergeladenen Quellcodes, außer wenn die
neue Befehlszeilenoption @option{--disable-authentication} angegeben
wurde. Das bedeutet, Guix stellt sicher, dass jeder empfangene Commit durch
einen autorisierten Entwickler kryptografisch signiert wurde. Das schützt Sie
vor Versuchen, das Guix-Repository zu manipulieren oder bösartigen Code an die
Nutzer auszuliefern.
Diese Funktionalität ist auf den @code{guix}-Kanal beschränkt, sie wird jedoch
bald auch Autoren dritter Kanäle zur Verfügung stehen.")
(fr "Les commandes @command{guix pull} et @command{guix time-machine}
authentifient dorénavant le code source qu'elles obtiennent, à moins que la
nouvelle option @option{--disable-authentication} soit utilisée. Cela
signifie que Guix s'assure que chaque soumission (@i{commit}) récupéré dispose
d'une signature cryptographique par un·e développeur·euse autorisé·e. Cela te
protège de tentatives de modifications du dépôt Guix et de tentatives de
livrer du code malintentionné.
Cette fonctionnalité n'est actuellement disponible que pour le canal
@code{guix} mais le sera bientôt pour les canaux tiers.")))
(entry (commit "c924e541390f9595d819edc33c19d979917c15ec")
(title (en "@command{guix repl} adds support for running Guile scripts")
(es "@command{guix repl} puede ejecutar guiones de Guile")
(de "@command{guix repl} kann Guile-Skripte ausführen")
(fr "@command{guix repl} permet d'exécuter des scripts en langage Guile"))
(body
(en "The @command{guix repl} command can now be used to run
Guile scripts. Compared to just launching the @command{guile} command,
@command{guix repl} guarantees that all the Guix modules and all its
dependencies are available in the search path. Scripts are run like this:
@example
guix repl -- my-script,scm --option1 --option2=option-arg arg1 arg2
@end example
Run @command{info \"(guix) Invoking guix repl\"} for more information.")
(es "La orden @command{guix repl} ahora se puede usar para
ejecutar guiones de Guile. En comparación con únicamente la ejecución
de la orden @command{guile}, @command{guix repl} garantiza que todos
los módulos de Guix y sus dependencias están disponibles en la ruta
de búsqueda. Los guiones se ejecutan de este modo:
@example
guix repl -- mi-guion.scm --opcion1 --opcion2=param-op2 param1 param2
@end example
Ejecute @command{info \"(guix.es) Invocación de guix repl\"} para obtener
más información.")
(de "Der Befehl @command{guix repl} kann jetzt zur Ausführung von
Guile-Skripten verwendet werden. Im Vergleich zum Befehl
@command{guile} garantiert @command{guix repl}, dass alle Guix-Module und
alle seine Abhängigkeiten im Suchpfad verfügbar sind. Skripte werden wie
folgt ausgeführt:
@example
guix repl -- my-script,scm --option1 --option2 --option2=option-arg arg1 arg2
@end example
Weitere Informationen erhalten Sie mit
@command{info \"(guix.de) Aufruf von guix repl\"}.")
(fr "La commande @command{guix repl} peut maintenant être utilisée
pour exécuter des scripts en langage Guile. Par rapport au simple lancement
de la commande @command{guile}, @command{guix repl} garantit que tous les
modules Guix et toutes ses dépendances sont disponibles dans le chemin
de recherche. Les scripts sont exécutés comme ceci :
@example
guix repl -- my-script,scm --option1 --option2=option-arg arg1 arg2
@end example
Exécutez @command{info \"(guix.fr) Invoquer guix repl\"} pour plus d'informations.")))
(entry (commit "b460ba7992a0b4af2ddb5927dcf062784539ef7b")
(title (en "Add support to boot from a Btrfs subvolume")
(es "Implementado el arranque desde un subvolumen de Btrfs")
(de "Unterstützung für Systemstart von einem
Btrfs-Unterlaufwerk hinzugefügt")
(fr "Ajout du support pour démarrer depuis un sous-volume Btrfs")
(nl "Nieuwe ondersteuning voor het opstarten vanaf een Btrfs-subvolume"))
(body
(en "The generation of the GRUB configuration file produced from an
operating system declaration now takes into account the use of a Btrfs
subvolume for the partition holding @file{/gnu/store}. Run the command
@command{info \"(guix) Btrfs file system\"} for more information and
examples.")
(es "El fichero de configuración de GRUB producido por la
declaración de sistema operativo ahora tiene en cuenta el uso de
subvolúmenes de Btrfs en la partición que contiene @file{/gnu/store}.
Ejecute la orden @command{info \"(guix.es) Sistema de ficheros Btrfs\"}
para obtener más información y ejemplos.")
(de "Für die Erzeugung einer GRUB-Konfigurationsdatei aus einer
Betriebssystemdeklaration kann jetzt ein Btrfs-Unterlaufwerk („Subvolume“) für
die Partition mit @file{/gnu/store} angegeben werden. Führen Sie
@command{info \"(guix) Btrfs file system\"} aus, wenn Sie mehr Informationen
und Beispiele sehen möchten.")
(fr "La génération du fichier de configuration de GRUB produite à
partir de la déclaration d'un @code{operating-system} tient maintenant compte
de l'utilisation d'un sous-volume Btrfs pour la partition contenant
@file{/gnu/store}. Exécutez la commande @command{info\"(guix) Btrfs file
system\"} pour des exemples et plus d'information.")
(nl "Het opmaken van het GRUB-configuratiebestand op basis van
een @code{operating-system}-declaratie houdt nu rekening met het gebruik van
een Btrfs-subvolume voor de partitie die @file{/gnu/store} bevat. Voer
@command{info \"(guix) Btrfs file system\"} uit voor meer informatie en
voorbeelden.")))
(entry (commit "6456232164890dbf5aa20394ee24637feb4b7b9e")
(title (en "@command{guix pack -RR} introduces a new execution
engine")
(es "@command{guix pack -RR} introduce un nuevo motor
de ejecución")
(de "@command{guix pack -RR} führt neuen Ausführungstreiber
ein")
(fr "@command{guix pack -RR} introduit un nouveau moteur d'exécution"))
(body
(en "The @command{guix pack -RR} command allows you to create a
tarball containing @dfn{relocatable binaries}. Until now, those would rely
either on Linux ``unprivileged user namespaces'' or on PRoot, when
unprivileged user namespaces are not supported. However, PRoot introduces
significant overhead for some workloads.
To address that, @command{guix pack -RR} introduces a third option based on an
extension to the GNU run-time linker (ld.so) and on Fakechroot, which incurs
very little overhead. You can select the fastest option when executing a
relocatable binary like this:
@example
GUIX_EXECUTION_ENGINE=performance
export GUIX_EXECUTION_ENGINE
@end example
Run @command{info \"(guix) Invoking guix pack\"} for more information.")
(es "La orden @command{guix pack -RR} le permite crear un
archivador tar que contiene @dfn{binarios reposicionables}. Hasta ahora
dichos binarios dependían o bien de los ``espacios de nombres de usuarias
sin privilegios'' de Linux o en PRoot, cuando estos no estaban
implementados. No obstante, PRoot introduce una sobrecarga significativa
en algunos escenarios de trabajo.
Para estos casos @command{guix pack -RR} introduce una tercera opción
basada en una extensión al enlazador de tiempo de ejecución de GNU (ld.so)
y en Fakechroot, lo que conlleva muy poca sobrecarga. Puede seleccionar
la opción más rápida cuando ejecute un binario reposicionable de esta
manera:
@example
GUIX_EXECUTION_ENGINE=performance
export GUIX_EXECUTION_ENGINE
@end example
Ejecute @command{info \"(guix.es) Invocación de guix pack\"} para
obtener más información.")
(de "Mit dem Befehl @command{guix pack -RR} können Sie einen Tarball
mit @dfn{verschieblichen Binärdateien} erzeugen (englisch „Relocatable
Binaries“). Bisher wurden diese entweder in „unprivilegierten
Benutzernamensräumen“ ohne Berechtigungen ausgeführt, oder in PRoot, wenn
keine unprivilegierten Benutzernamensräume unterstützt wurden. Allerdings
fällt bei der Ausführung mit PRoot bei manchen Anwendungen deutlich mehr
Rechenaufwand an.
Um dem entgegenzuwirken, stellt @command{guix pack -RR} nun eine dritte Option
zur Verfügung, die sich eine Erweiterung des GNU-Laufzeit-Binders („Run-Time
Linker“, ld.so) und Fakechroot zu Nutze macht. Dadurch entsteht fast kein
Mehraufwand. Sie können sich die schnellste Option aussuchen, wenn Sie eine
verschiebliche Binärdatei ausführen, zum Beispiel so:
@example
GUIX_EXECUTION_ENGINE=performance
export GUIX_EXECUTION_ENGINE
@end example
Führen Sie @command{info \"(guix.de) Aufruf von guix pack\"} aus, wenn Sie
mehr wissen wollen.")
(fr "La commande @command{guix pack -RR} vous permet de créer une
archive tar contenant des @dfn{binaires repositionnables}. Jusqu'ici, ils
s'appuyaient sur les « espaces de noms non privilégiés » de Linux ou sur
PRoot, quand les espaces de noms non privilégiés n'étaient pas disponibles.
Cependant, PRoot ralenti significativement certains profils d'exécution.
Pour éviter cela, @command{guix pack -RR} introduit une troisième possibilité
basée sur une extension de l'éditeur des liens à l'exécution de GNU (ld.so) et
sur Fakechroot, qui ralenti très peu l'exécution. Vous pouvez choisir l'option
la plus rapide à l'exécution d'un binaire relocalisable de cette manière :
@example
GUIX_EXECUTION_ENGINE=performance
export GUIX_EXECUTION_ENGINE
@end example
Lancez @command{info \"(guix.fr) Invoquer guix pack\"} pour en savoir plus.")))
(entry (commit "88a96c568c47c97d05d883ada5afbc4e1200b10f")
(title (en "New @option{--path} option for @command{guix graph}")
(es "Nueva opción @option{--path} para @command{guix graph}")
(de "Neue Option @option{--path} für @command{guix graph}")
(fr "Nouvelle option @option{--path} pour @command{guix graph}"))
(body
(en "The @command{guix graph} command has a new @option{--path}
option that instructs it to display the shortest path between two packages,
derivations, or store items. For example, the command below displays the
shortest path from the @code{libreoffice} package to @code{libunistring}:
@example
guix graph --path libreoffice libunistring
@end example
Run @code{info \"(guix) Invoking guix graph\"} for more information.")
(es "La orden @command{guix graph} tiene una nueva opción
@option{--path} que le indica que debe mostrar la ruta más corta entre dos
paquetes, derivaciones o elementos del almacén. Por ejemplo, la siguiente
orden muestra la ruta más corta desde el paquete @code{libreoffice} hasta
@code{libunistring}:
@example
guix graph --path libreoffice libunistring
@end example
Ejecute @code{info \"(guix.es) Invocación de guix graph\"} para obtener más
información.")
(de "Der Befehl @command{guix graph} verfügt über eine neue
Befehlszeilenoption @option{--path}, die ihn den kürzesten Pfad zwischen zwei
Paketen, Ableitungen oder Store-Objekten ausgeben lässt. Zum Beispiel zeigt
folgender Befehl den kürzesten Pfad vom Paket @code{libreoffice} zu
@code{libunistring}:
@example
guix graph --path libreoffice libunistring
@end example
Führen Sie @code{info \"(guix.de) Aufruf von guix graph\"} aus, um mehr zu
erfahren.")
(fr "La commande @command{guix graph} a une nouvelle option
@option{--path} qui lui dit d'afficer le plus court chemin entre deux
paquets, dérivations ou éléments du dépôt. Par exemple, la commande ci-dessous
affiche le plus court chemin entre le paquet @code{libreoffice} et
@code{libunistring} :
@example
guix graph --path libreoffice libunistring
@end example
Lancez @code{info \"(guix.fr) Invoquer guix graph\"} pour en savoir plus.")))
(entry (commit "a33eac038a811603c8b9ed106ae405a5f80a0e9d")
(title (en "GNU C Library upgraded")
(de "GNU-C-Bibliothek aktualisiert")
(es "Actualización de la biblioteca C de GNU")
(fr "Mise à jour de la bibliothèque C de GNU")
(nl "GNU C-bibliotheek bijgewerkt"))
(body
(en "The GNU C Library (glibc) has been upgraded to version 2.31. To
run previously-installed programs linked against glibc 2.29, you need to
install locale data for version 2.29 in addition to locale data for 2.31:
@example
guix install glibc-locales glibc-locales-2.29
@end example
On Guix System, you can adjust the @code{locale-libcs} field of your
@code{operating-system} form. Run @code{info \"(guix) Locales\"}, for more
info.")
(de "Die GNU-C-Bibliothek (glibc) wurde auf Version 2.31
aktualisiert. Um zuvor installierte Programme, die an glibc 2.29 gebunden
worden sind, weiter benutzen zu können, müssen Sie Locale-Daten für Version
2.29 zusätzlich zu den Locale-Daten für 2.31 installieren:
@example
guix install glibc-locales glibc-locales-2.29
@end example
Auf Guix System genügt es, das @code{locale-libcs}-Feld Ihrer
@code{operating-system}-Form anzupassen. Führen Sie @code{info \"(guix.de)
Locales\"} aus, um weitere Informationen dazu zu erhalten.")
(es "Se ha actualizado la biblioteca de C de GNU (glibc) a la versión
2.31. Para ejecutar programas instalados previamente que se encuentren
enlazados con glibc 2.29, es necesario que instale los datos de localización
de la versión 2.29 junto a los datos de localización de la versión 2.31:
@example
guix install glibc-locales glibc-locales-2.29
@end example
En el sistema Guix, puede ajustar el campo @code{locale-libcs} de su
declaración @code{operating-system}. Ejecute @code{info \"(guix.es)
Localizaciones\"} para obtener más información.")
(fr "La bibliothèque C de GNU (glibc) a été mise à jour en version
2.31. Pour pouvoir lancer tes programmes déjà installés et liés à glibc 2.29,
tu dois installer les données pour la version 2.29 en plus des données de
régionalisation pour la version 2.31:
@example
guix install glibc-locales glibc-locales-2.29
@end example
Sur le système Guix, tu peux ajuster le champ @code{locale-libcs} de ta forme
@code{operating-system}. Lance @code{info \"(guix.fr) Régionalisation\"} pour
plus de détails.")
(nl "De GNU C-bibliotheek (glibc) werd bijgewerkt naar versie 2.31.
Om gebruik te maken van reeds geïnstalleerde programma's die aan glibc 2.29
gebonden zijn, moet u de regionale informatie van versie 2.29 naast die van
versie 2.31 installeren:
@example
guix install glibc-locales glibc-locales-2.29
@end example
Op Guix System kunt u het @code{locale-libcs}-veld van uw
@code{operating-system}-vorm aanpassen. Voer @code{info \"(guix) Locales\"}
uit voor verdere uitleg.")))
(entry (commit "e1e6491226347d9fb93ff484d78cef98848a510a")
(title (en "Guix Cookbook now available as Info")
(de "Guix-Kochbuch jetzt als Info-Dokument verfügbar"))
;; TRANSLATORS: Adjust the URL and the 'info' command to refer to the
;; translated manual if it's available.
(body (en "The new Guix Cookbook is now fetched by @command{guix pull}
and thus readily available in the Info format. It aims to provide tutorials
and detailed examples covering a variety of use cases. You can access it by
typing:
@example
info guix-cookbook
@end example
The Cookbook is currently available in English and German. You can also find
it @uref{https://guix.gnu.org/cookbook/en/, on-line}.
Your contributions are welcome: @uref{https://guix.gnu.org/contact/, get in
touch with the developers} to share your recipes!")
(de "Das neue Guix-Kochbuch wird nun von @command{guix pull}
geladen und steht dann im Info-Format zur Verfügung. Darin sollen Anleitungen
und detaillierte Beispiele gezeigt werden, die eine breite Spanne an
Anwendungsfällen abdecken. Um darauf zuzugreifen, geben Sie dies ein:
@example
info guix-cookbook.de
@end example
Das Kochbuch steht derzeit auf Deutsch und Englisch zur Verfügung. Sie können
auch @uref{https://guix.gnu.org/cookbook/de/, online} darauf zugreifen.
Ihre Beiträge werden gerne gesehen. Bitte
@uref{https://guix.gnu.org/contact/, kontaktieren Sie die Entwickler}, um Ihre
Rezepte mit uns zu teilen!")))
(entry (commit "2ca7af43fe17d9acf082dce85d137a27a8ac4887")
(title (en "Further reduced binary seed bootstrap")
(de "Bootstrapping jetzt mit noch kleinerem Seed")
(fr "Le bootstrap binaire est encore plus réduit"))
(body
(en "The package graph on x86_64 and i686 is now rooted in a further
@dfn{reduced set of binary seeds}. The initial set of binaries from which
packages are built now weighs in at approximately 60 MiB, a quarter of what it
used to be. Run @code{info \"(guix) Bootstrapping\"} to learn more, or watch
the talk at @uref{https://fosdem.org/2020/schedule/event/gnumes/}.")
(de "Der Paketgraph auf x86_64 und i686 hat jetzt eine noch
@dfn{kleinere Menge an binären Seeds} als Wurzel. Das heißt, die ursprüngliche
Menge an Binärdateien, aus denen heraus Pakete erstellt werden, machen nun
ungefähr 60 MiB aus, ein Viertel der früheren Größe. Führen Sie @code{info
\"(guix.de) Bootstrapping\"} aus, um mehr zu erfahren, oder schauen Sie sich
den Vortrag auf @uref{https://fosdem.org/2020/schedule/event/gnumes/} an.")
(fr "Le graphe des paquets sur x86_64 et i686 prend maintenant racine
dans un @dfn{ensemble de graines binaires} plus réduit. L'ensemble initial
des binaires à partir desquels les paquets sont désormais construit pèse
environ 60 Mo, un quart de ce qu'il était. Lancez
@code{info \"(guix.fr) Bootstrapping\"} pour en savoir plus, ou regardez
la présentation sur @uref{https://fosdem.org/2020/schedule/event/gnumes/}.")))
(entry (commit "0468455e7d279c89ea3ad1b51935efb2b785ec47")
(title (en "Rottlog service added to @code{%base-services}")
(de "Rottlog-Dienst ist nun Teil der @code{%base-services}")
(fr "Le service rottlog a été ajouté à @code{%base-services}"))
(body (en "An instance of @code{rottlog-service-type}, the system
service responsible for log rotation, has been added to @code{%base-services}.
If your operating system configuration for Guix System is explicitly adding
@code{rottlog-service-type} to the services, you should now remove it. See
the ``Log Rotation'' section of the manual for more information.")
(de "Eine Instanz des @code{rottlog-service-type} für
Log-Rotation wurde zu den @code{%base-services} hinzugefügt. Wenn der
Systemdienst bereits in Ihrer Konfiguration für Guix System ausdrücklich
genannt wurde, sollten Sie ihn jetzt daraus entfernen. Siehe den Abschnitt
„Log-Rotation“ im Handbuch für weitere Informationen.")
(fr "Une instance de @code{rottlog-service-type}, le service
système responsable de la rotation des journaux, a été ajoutée à
@code{%base-services}. Si votre configuration de système d'exploitation Guix
System ajoute @code{rottlog-service-type} explicitement, vous devriez maintenant
le supprimer. Voir la section « Rotation des journaux » dans le manuel
pour en savoir plus.")))
(entry (commit "b6bee63bed4f013064c0d902e7c8b83ed7514ade")
(title (en "@code{guile} package now refers to version 3.0")
(de "Das @code{guile}-Paket bezeichnet jetzt Version 3.0")
(fr "Le paquet @code{guile} se réfère maintenant à la version 3.0"))
(body (en "The @code{guile} package has been upgraded to version 3.0
(instead of 2.2). The @code{guile3.0-} packages have been renamed to their
original name, and @code{guile2.2-} variants of these packages have been
defined. Additionally, derivations are now all built with Guile 3.0, and
system services also run on 3.0.")
(de "Das @code{guile}-Paket wurde auf Version 3.0
(statt 2.2) aktualisiert. Die Pakete, deren Namen mit @code{guile3.0-}
beginnen, wurden umbenannt, so dass sie nun den unveränderten Namen tragen,
während ihre Varianten mit @code{guile2.2-} hinzugefügt wurden. Des Weiteren
werden jetzt alle Ableitungen mit Guile 3.0 erstellt und die Systemdienste
laufen auch auf 3.0.")
(fr "Le paquet @code{guile} a été mis à jour vers la version 3.0
(au lieu de la 2.2). Les paquets @code{guile3.0-} ont été renommés en leur
nom d'origine et les variantes @code{guile2.2-} de ces paquets ont été définis.
En plus, les dérivation sont maintenant construites avec Guile 3.0, et les
services systèmes utilisent aussi la 3.0.")))
(entry (commit "e3e1a7ba08af2d58c47264c543617e499c239444")
(title (en "@command{guix pull} now supports SSH authenticated
repositories")
(de "@command{guix pull} unterstützt nun SSH-authentifizierte
Repositorys")
(fr "@command{guix pull} prend maintenant en charge
l'authentification en SSH pour les dépôts.")
(nl "@command{guix pull} ondersteunt nu SSH-geauthenticeerde
repository's."))
(body (en "The @command{guix pull} command now supports SSH
authenticated repositories as argument of @option{--url} and in custom
channels definitions. The authentication requires that an @command{ssh-agent}
is running.")
(de "Der Befehl @command{guix pull} unterstützt nun über SSH
authentifizierte Repositorys als Argument von @option{--url} und in
selbstgeschriebenen Kanaldefinitionen. Zur Authentisierung muss ein
@command{ssh-agent} laufen.")
(fr "La commande @command{guix pull} prend maintenant en
charge l'authentification SSH pour les dépôts dans l'argument @option{--url}
et dans le définitions de canaux personnalisés. L'authentification
nécessite qu'un @command{ssh-agent} soit lancé.")
(nl "Het @command{guix pull}-commando ondersteunt nu
SSH-geauthenticeerde opslag als argument na @option{--url} en bij het
schrijven van eigen kanaaldefinities. Hiervoor moet een @command{ssh-agent}
gestart zijn.")))
(entry (commit "8234fe653e61d0090138cbd4c48d877568355439")
(title (en "Guix now runs on Guile 3.0")
(de "Guix läuft jetzt auf Guile 3.0")
(fr "Guix tourne maintenant sous Guile 3.0")
(nl "Guix draait nu op Guile 3.0"))
(body (en "The Guix revision you just pulled runs on version 3.0 of
GNU@tie{}Guile (previously it would run on version 2.2). Guile 3.0 improves
performance through the use of just-in-time (JIT) native code generation. The
switch should be entirely transparent to you. See
@uref{https://gnu.org/software/guile} for more information on Guile 3.0.")
(de "Die Guix-Version, die Sie gerade gepullt haben, läuft auf
Version 3.0 von GNU@tie{}Guile (und nicht mehr auf Version 2.2). Guile 3.0
verbessert die Rechenleistung, indem native Maschinenbefehle „just in time“
erzeugt werden (JIT-Kompilierung). Der Wechsel sollte für Sie völlig
transparent sein und Guix verhält sich gleich. Siehe
@uref{https://gnu.org/software/guile} für weitere Informationen zu Guile
3.0.")
(fr "La révision de Guix que tu viens de récupérer tourne sous
la version 3.0 de GNU@tie{}Guile (Guix tournait avant sous la version 2.2).
Guile 3.0 améliore la performance en générant du code natif à la volée (JIT).
Le changement devrait être totalement transparent pour toi. Voir
@uref{https://gnu.org/software/guile} pour plus d'information sur Guile 3.0.")
(nl "De Guix die u net heeft gepulld gebruikt versie 3.0 van
GNU@tie{}Guile (voorheen was dat versie 2.2). Guile@tie{}3.0 draait dezelfde
programma's doorgaans sneller door ze ‘just-in-time’ (JIT) te vertalen naar
machine-instructies. De omschakeling zou voor u volledig naadloos moeten
zijn. Lees @uref{https://gnu.org/software/guile} voor meer informatie over
Guile@tie{}3.0.")))
(entry (commit "828a39da68a9169ef1d9f9ff02a1c66b1bcbe884")
(title (en "New @option{--diff} option for @command{guix challenge}")
(de "Neue @option{--diff}-Option für @command{guix challenge}")
(fr "Nouvelle option @option{--diff} sur @command{guix challenge}"))
(body (en "The @command{guix challenge} command, which compares
binaries provided by different substitute servers as well as those built
locally, has a new @option{--diff} option. With @option{--diff=simple} (the
default), @command{guix challenge} automatically downloads binaries and
reports the list of differing files; @option{--diff=diffoscope} instructs it
to pass them to @command{diffoscope}, which simplifies the comparison process.
Run @command{info \"(guix) Invoking guix challenge\"}, for more info.")
(fr "La commande @command{guix challenge} qui compare les binaires
fournis par différents serveurs de substituts aux contsructions locales a une
nouvelle option @option{--diff}. Avec @option{--diff=simple} (par défaut),
@command{guix challenge} télécharge automatiquement les binaires et rapporte
la liste des fichiers différents@tie{}; @option{--diff=diffoscope} lui dit
de les passer à @command{diffoscope} qui simplifie le processus de comparaison.
Lance @command{info \"(guix.fr) Invoquer guix challenge\"} pour plus d'info.")
(de "Der Befehl @command{guix challenge}, mit dem Binärdateien
von unterschiedlichen Substitut-Servern oder lokale Erstellungen miteinander
verglichen werden können, hat eine neue Befehlszeilenoption @option{--diff}
bekommen. Bei @option{--diff=simple} (der Voreinstellung) lädt @command{guix
challenge} automatisch Binärdateien herunter und listet sich unterscheidende
Dateien auf; wird @option{--diff=diffoscope} angegeben, werden sie an
@command{diffoscope} geschickt, was deren Vergleich erleichtert. Führen Sie
@command{info \"(guix.de) Aufruf von guix challenge\"} aus, um nähere
Informationen zu erhalten.")))
(entry (commit "f675f8dec73d02e319e607559ed2316c299ae8c7")
(title (en "New command @command{guix time-machine}")
(de "Neuer Befehl @command{guix time-machine}")
(fr "Nouvelle commande @command{guix time-machine}"))
(body (en "The new command @command{guix time-machine} facilitates
access to older or newer revisions of Guix than the one that is installed.
It can be used to install different versions of packages, and to
re-create computational environments exactly as used in the past.")
(de "Der neue Befehl @command{guix time-machine} vereinfacht
den Zugriff auf ältere oder neuere Guix-Versionen als die installierte.
Er kann zur Installation bestimmter Paketversionen verwendet werden, aber
auch zur Wiederherstellung von Entwicklungsumgebungen, wie sie in der
Vergangenheit verwendet wurden.")
(fr "La nouvelle commande @command{guix time-machine}
facilite l'accès à des versions antérieures ou postérieures par rapport
à la version installée. Elle sert à installer des versions spécifiques
de paquets, ainsi à la restauration d'environnements dans un état
historique.")))
(entry (commit "3e962e59d849e4300e447d94487684102d9d412e")
(title (en "@command{guix graph} now supports package
transformations")
(de "@command{guix graph} unterstützt nun Paketumwandlungen")
(fr "@command{guix graph} prend maintenant en charge les
transformations de paquets"))
(body
(en "The @command{guix graph} command now supports the common package
transformation options (see @command{info \"(guix) Package Transformation
Options\"}). This is useful in particular to see the effect of the
@option{--with-input} dependency graph rewriting option.")
(de "Der Befehl @command{guix graph} unterstützt nun die mit anderen
Befehlen gemeinsamen Umwandlungsoptionen (siehe @command{info \"(guix.de)
Paketumwandlungsoptionen\"}). Sie helfen insbesondere dabei, die Wirkung der
Befehlszeilenoption @option{--with-input} zum Umschreiben des
Abhängigkeitsgraphen zu sehen.")
(es "La orden @command{guix graph} ahora implementa las opciones
comunes de transformación de paquetes (véase @command{info \"(guix.es)
Opciones de transformación de paquetes\"}). Esto es particularmente
útil para comprobar el efecto de la opción de reescritura del grafo
de dependencias @option{--with-input}.")
(fr "La commande @command{guix graph} prend maintenant en charge les
transformations de paquets communes (voir @command{info \"(guix.fr) Options de
transformation de paquets\"}). C'est particulièrement utile pour voir l'effet
de l'option @option{--with-input} qui réécrit de graphe de dépendance.")))
(entry (commit "49af34cfac89d384c46269bfd9388b2c73b1220a")
(title (en "@command{guix pull} now honors
@file{/etc/guix/channels.scm}")
(de "@command{guix pull} berücksichtigt nun
@file{/etc/guix/channels.scm}")
(es "Ahora @command{guix pull} tiene en cuenta
@file{/etc/guix/channels.scm}")
(fr "@command{guix pull} lit maintenant
@file{/etc/guix/channels.scm}"))
(body
(en "The @command{guix pull} command will now read the
@file{/etc/guix/channels.scm} file if it exists and if the per-user
@file{~/.config/guix/channels.scm} is not present. This allows administrators
of multi-user systems to define site-wide defaults.")
(de "Der Befehl @command{guix pull} liest nun die Datei
@file{/etc/guix/channels.scm}, wenn sie existiert und es für den jeweiligen
Benutzer keine @file{~/.config/guix/channels.scm} gibt. Dadurch können
Administratoren von Mehrbenutzersystemen systemweite Voreinstellungen
vornehmen.")
(es "Ahora la orden @command{guix pull} lee el fichero
@file{/etc/guix/channels.scm} si existe y el fichero personalizable
@file{~/.config/guix/channels.scm} no está presente. Esto permite a quienes
administran sistemas con múltiples usuarias definir valores predeterminados
en el sistema.")
(fr "La commande @command{guix pull} lira maintenant le fichier
@file{/etc/guix/channels.scm} s'il existe et si le fichier
@file{~/.config/guix/channels.scm} par utilisateur·rice n'est pas présent.
Cela permet aux personnes administrant des systèmes multi-utilisateurs de
définir les canaux par défaut.")))
(entry (commit "81c580c8664bfeeb767e2c47ea343004e88223c7")
(title (en "Insecure @file{/var/guix/profiles/per-user} permissions (CVE-2019-18192)")
(de "Sicherheitslücke in @file{/var/guix/profiles/per-user}-Berechtigungen (CVE-2019-18192)")
(es "Vulnerabilidad en los permisos de @file{/var/guix/profiles/per-user} (CVE-2019-18192)")
(fr "Permissions laxistes pour @file{/var/guix/profiles/per-user} (CVE-2019-18192)")
(nl "Onveilige @file{/var/guix/profiles/per-user}-rechten (CVE-2019-18192)"))
(body
(en "The default user profile, @file{~/.guix-profile}, points to
@file{/var/guix/profiles/per-user/$USER}. Until now,
@file{/var/guix/profiles/per-user} was world-writable, allowing the
@command{guix} command to create the @code{$USER} sub-directory.
On a multi-user system, this allowed a malicious user to create and populate
that @code{$USER} sub-directory for another user that had not yet logged in.
Since @code{/var/@dots{}/$USER} is in @code{$PATH}, the target user could end
up running attacker-provided code. See
@uref{https://issues.guix.gnu.org/issue/37744} for more information.
This is now fixed by letting @command{guix-daemon} create these directories on
behalf of users and removing the world-writable permissions on
@code{per-user}. On multi-user systems, we recommend updating the daemon now.
To do that, run @code{sudo guix pull} if you're on a foreign distro, or run
@code{guix pull && sudo guix system reconfigure @dots{}} on Guix System. In
both cases, make sure to restart the service afterwards, with @code{herd} or
@code{systemctl}.")
(de "Das voreingestellte Benutzerprofil, @file{~/.guix-profile},
verweist auf @file{/var/guix/profiles/per-user/$USER}. Bisher hatte jeder
Benutzer Schreibzugriff auf @file{/var/guix/profiles/per-user}, wodurch der
@command{guix}-Befehl berechtigt war, das Unterverzeichnis @code{$USER}
anzulegen.
Wenn mehrere Benutzer dasselbe System benutzen, kann ein böswilliger Benutzer
so das Unterverzeichnis @code{$USER} und Dateien darin für einen anderen
Benutzer anlegen, wenn sich dieser noch nie angemeldet hat. Weil
@code{/var/…/$USER} auch in @code{$PATH} aufgeführt ist, kann der betroffene
Nutzer dazu gebracht werden, vom Angreifer vorgegebenen Code auszuführen.
Siehe @uref{https://issues.guix.gnu.org/issue/37744} für weitere
Informationen.
Der Fehler wurde nun behoben, indem @command{guix-daemon} diese Verzeichnisse
jetzt selbst anlegt statt das dem jeweiligen Benutzerkonto zu überlassen. Der
Schreibzugriff auf @code{per-user} wird den Benutzern entzogen. Für Systeme
mit mehreren Benutzern empfehlen wir, den Daemon jetzt zu aktualisieren. Auf
einer Fremddistribution führen Sie dazu @code{sudo guix pull} aus; auf einem
Guix-System führen Sie @code{guix pull && sudo guix system reconfigure …}
aus. Achten Sie in beiden Fällen darauf, den Dienst mit @code{herd} oder
@code{systemctl} neuzustarten.")
(es "El perfil predeterminado de la usuaria, @file{~/.guix-profile},
apunta a @file{/var/guix/profiles/per-user/$USUARIA}. Hasta ahora cualquiera
podía escribir en @file{/var/guix/profiles/per-user}, lo cual permitía
a la orden @command{guix} crear el subdirectorio @code{$USUARIA}.
En un sistema con múltiples usuarias, esto permitiría a cualquiera con
intención de causar daño crear ese subdirectorio @code{$USUARIA} con el nombre
de alguien que no hubiese ingresado en el sistema. Puesto que ese
subdirectorio @code{/var/@dots{}/$USUARIA} se encuentra en la ruta de binarios
predeterminada @code{$PATH}, el objetivo del ataque podría ejecutar código
proporcionado por la parte atacante. Véase
@uref{https://issues.guix.gnu.org/issue/37744} para obtener más información.
Se ha solucionando delegando en @command{guix-daemon} la creación de esos
directorios y eliminando los permisos de escritura para todo el mundo en
@code{per-user}. En sistemas con múltiples usuarias recomendamos actualizar
cuanto antes el daemon. Para hacerlo ejecute @code{sudo guix pull} si se
encuentra en una distribución distinta, o ejecute @code{guix pull && sudo guix system reconfigure @dots{}} en el sistema Guix. En ambos casos, asegurese de
reiniciar el servicio tras ello, con @code{herd} o @code{systemctl}.")
(fr "Le profil utilisateur par défaut, @file{~/.guix-profile},
pointe vers @file{/var/guix/profiles/per-user/$USER}. Jusqu'à
maintenant, @file{/var/guix/profiles/per-user} était disponible en
écriture pour tout le monde, ce qui permettait à la commande
@command{guix} de créér le sous-répertoire @code{$USER}.
Sur un système multi-utilisateur, cela permet à un utilisateur
malveillant de créer et de remplir le sous-répertoire @code{USER} pour
n'importe quel utilisateur qui ne s'est jamais connecté. Comme
@code{/var/@dots{}/$USER} fait partie de @code{$PATH}, l'utilisateur
ciblé pouvait exécuter des programmes fournis par l'attaquant. Voir
@uref{https://issues.guix.gnu.org/issue/37744} pour plus de détails.
Cela est maintenant corrigé en laissant à @command{guix-daemon} le soin
de créer ces répertoire pour le compte des utilisateurs et en
supprimant les permissions en écriture pour tout le monde sur
@code{per-user}. Nous te recommandons de mettre à jour le démon
immédiatement. Pour cela, lance @code{sudo guix pull} si tu es sur
une distro externe ou @code{guix pull && sudo guix system reconfigure
@dots{}} sur le système Guix. Dans tous les cas, assure-toi ensuite de
redémarrer le service avec @code{herd} ou @code{systemctl}.")
(nl "Het standaard gebruikersprofiel, @file{~/.guix-profile}, verwijst
naar @file{/var/guix/profiles/per-user/$USER}. Tot op heden kon om het even wie
in @file{/var/guix/profiles/per-user} schrijven, wat het @command{guix}-commando
toestond de @code{$USER} submap aan te maken.
Op systemen met meerdere gebruikers kon hierdoor een kwaadaardige gebruiker een
@code{$USER} submap met inhoud aanmaken voor een andere gebruiker die nog niet
was ingelogd. Omdat @code{/var/@dots{}/$USER} zich in @code{$PATH} bevindt,
kon het doelwit zo code uitvoeren die door de aanvaller zelf werd aangeleverd.
Zie @uref{https://issues.guix.gnu.org/issue/37744} voor meer informatie.
Dit probleem is nu verholpen: schrijven door iedereen in @code{per-user} is niet
meer toegestaan en @command{guix-daemon} maakt zelf submappen aan namens de
gebruiker. Op systemen met meerdere gebruikers raden we aan om
@code{guix-daemon} nu bij te werken. Op Guix System kan dit met
@code{guix pull && sudo guix system reconfigure @dots{}}, op andere distributies
met @code{sudo guix pull}. Herstart vervolgens in beide gevallen
@code{guix-daemon} met @code{herd} of @code{systemctl}.")))
(entry (commit "5f3f70391809f8791c55c05bd1646bc58508fa2c")
(title (en "GNU C Library upgraded")
(de "GNU-C-Bibliothek aktualisiert")
(es "Actualización de la biblioteca C de GNU")
(fr "Mise à jour de la bibliothèque C de GNU")
(nl "GNU C-bibliotheek bijgewerkt"))
(body
(en "The GNU C Library (glibc) has been upgraded to version 2.29. To
run previously-installed programs linked against glibc 2.28, you need to
install locale data for version 2.28 in addition to locale data for 2.29:
@example
guix install glibc-locales glibc-locales-2.28
@end example
On Guix System, you can adjust the @code{locale-libcs} field of your
@code{operating-system} form. Run @code{info \"(guix) Locales\"}, for more
info.")
(de "Die GNU-C-Bibliothek (glibc) wurde auf Version 2.29
aktualisiert. Um zuvor installierte Programme, die an glibc 2.28 gebunden
worden sind, weiter benutzen zu können, müssen Sie Locale-Daten für Version
2.28 zusätzlich zu den Locale-Daten für 2.29 installieren:
@example
guix install glibc-locales glibc-locales-2.28
@end example
Auf Guix System genügt es, das @code{locale-libcs}-Feld Ihrer
@code{operating-system}-Form anzupassen. Führen Sie @code{info \"(guix.de)
Locales\"} aus, um weitere Informationen dazu zu erhalten.")
(es "Se ha actualizado la biblioteca de C de GNU (glibc) a la versión
2.29. Para ejecutar programas instalados previamente que se encuentren
enlazados con glibc 2.28, es necesario que instale los datos de localización
de la versión 2.28 junto a los datos de localización de la versión 2.29:
@example
guix install glibc-locales glibc-locales-2.28
@end example
En el sistema Guix, puede ajustar el campo @code{locale-libcs} de su
declaración @code{operating-system}. Ejecute @code{info \"(guix.es)
Localizaciones\"} para obtener más información.")
(fr "La bibliothèque C de GNU (glibc) a été mise à jour en version
2.29. Pour pouvoir lancer tes programmes déjà installés et liés à glibc 2.28,
tu dois installer les données pour la version 2.28 en plus des données de
régionalisation pour la version 2.29 :
@example
guix install glibc-locales glibc-locales-2.28
@end example
Sur le système Guix, tu peux ajuster le champ @code{locale-libcs} de ta forme
@code{operating-system}. Lance @code{info \"(guix.fr) Régionalisation\"} pour
plus de détails.")
(nl "De GNU C-bibliotheek (glibc) werd bijgewerkt naar versie 2.29.
Om gebruik te maken van reeds geïnstalleerde programma's die aan glibc 2.28
gebonden zijn, moet u de regionale informatie van versie 2.28 naast die van
versie 2.29 installeren:
@example
guix install glibc-locales glibc-locales-2.28
@end example
Op Guix System kunt u het @code{locale-libcs}-veld van uw
@code{operating-system}-vorm aanpassen. Voer @code{info \"(guix) Locales\"}
uit voor verdere uitleg.")))
(entry (commit "cdd3bcf03883d129581a79e6d6611b2afd3b277b")
(title (en "New reduced binary seed bootstrap")
(de "Neues Bootstrapping mit kleinerem Seed")
(es "Nueva reducción de la semilla binaria para el lanzamiento inicial")
(fr "Nouvel ensemble de binaires de bootstrap réduit")
(nl "Nieuwe bootstrap met verkleinde binaire kiem"))
(body
(en "The package graph on x86_64 and i686 is now rooted in a
@dfn{reduced set of binary seeds}. The initial set of binaries from which
packages are built now weighs in at approximately 130 MiB, half of what it
used to be. Run @code{info \"(guix) Bootstrapping\"} to learn more, or watch
the talk at @uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.")
(de "Der Paketgraph auf x86_64 und i686 hat jetzt eine @dfn{kleinere
Menge an binären Seeds} als Wurzel. Das heißt, die ursprüngliche Menge an
Binärdateien, aus denen heraus Pakete erstellt werden, machen nun ungefähr
130 MiB aus, halb so viel wie früher. Führen Sie @code{info \"(guix.de)
Bootstrapping\"} aus, um mehr zu erfahren, oder schauen Sie sich den Vortrag
auf @uref{https://archive.fosdem.org/2019/schedule/event/gnumes/} an.")
(fr "Le graphe des paquets sur x86_64 et i686 prend maintenant sa
source dans un @dfn{ensemble réduit de binaires}. L'ensemble initial des
binaires à partir desquels les paquets sont construits pèse maintenant environ
130 Mio, soit la moitié par rapport à l'ensemble précédent. Tu peux lancer
@code{info \"(guix) Bootstrapping\"} pour plus de détails, ou regarder la
présentation sur @uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.")
(es "El grafo de paquetes en x86_64 y i686 ahora tiene su raíz en un
@dfn{conjunto reducido de semillas binarias}. El conjunto inicial de binarios
desde el que se construyen los paquetes ahora tiene un tamaño aproximado de
130_MiB , la mitad de su tamaño anterior. Ejecute @code{info \"(guix.es)
Lanzamiento inicial\"} para aprender más, o puede ver la charla en inglés
en@uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.")
(nl "Het netwerk van pakketten voor x86_64 en i686 is nu geworteld in
een @dfn{verkleinde verzameling van binaire kiemen}. Die beginverzameling
van binaire bestanden waaruit pakketten gebouwd worden is nu zo'n 130 MiB
groot; nog maar half zo groot als voorheen. Voer @code{info \"(guix)
Bootstrapping\"} uit voor meer details, of bekijk de presentatie op
@uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.")))
(entry (commit "dcc90d15581189dbc30e201db2b807273d6484f0")
(title (en "New channel news mechanism")
(de "Neuer Mechanismus, um Neuigkeiten über Kanäle anzuzeigen.")
(es "Nuevo mecanismo de noticias de los canales")
(fr "Nouveau mécanisme d'information sur les canaux")
(nl "Nieuw mechanisme voor nieuwsberichten per kanaal"))
(body
(en "You are reading this message through the new channel news
mechanism, congratulations! This mechanism allows channel authors to provide
@dfn{news entries} that their users can view with @command{guix pull --news}.
Run @command{info \"(guix) Invoking guix pull\"} for more info.")
(de "Sie lesen diese Meldung mit Hilfe des neuen Mechanismus, um
Neuigkeiten über Kanäle anzuzeigen — Glückwunsch! Mit diesem
Mechanismus können Kanalautoren Ihren Nutzern @dfn{Einträge zu
Neuigkeiten} mitteilen, die diese sich mit @command{guix pull --news}
anzeigen lassen können. Führen Sie @command{info \"(guix.de) Aufruf
von guix pull\"} aus, um weitere Informationen zu erhalten.")
(es "Está leyendo este mensaje a través del mecanismo de noticias del
canal, ¡enhorabuena! Este mecanismo permite a las autoras de canales
proporcionar @dfn{entradas de noticias} que las usuarias pueden ver con
@command{guix pull --news}. Ejecute @command{info \"(guix.es) Invocación de
guix pull\"} para obtener más información.")
(fr "Ce message t'arrive à travers le nouveau mécanisme d'information
des canaux, bravo ! Ce mécanisme permet aux auteur·rice·s de canaux de
fournir des informations qu'on peut visualiser avec @command{guix pull
--news}. Tape @command{info \"(guix.fr) Invoquer guix pull\"} pour plus de
détails.")
(nl "U leest dit bericht door een nieuw mechanisme om per kanaal
@dfn{nieuwsberichten} te verspreiden. Proficiat! Hiermee kunnen kanaalauteurs
mededelingen uitzenden die hun gebruikers met @command{guix pull --news} kunnen
lezen. Voer @command{info \"(guix) Invoking guix pull\"} uit voor meer
informatie."))))
|