aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/htdocs/news/status/report-2019-10-2019-12.xml
blob: ad45e4e53b12f2548cb2035fb27833f3dc6d7deb (plain) (blame)
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
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE report PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for
  Status Report//EN"
  "http://www.FreeBSD.org/XML/share/xml/statusreport.dtd" >

<!-- $FreeBSD$ -->
<!-- This file was generated with https://github.com/trasz/md2docbook -->
<!--
     Variables to replace:
     10     - report month start
     12      - report month end
     2019      - report year
-->

<report>
  <date>
    <month>10-12</month>

    <year>2019</year>
  </date>

  <section>
    <title>Introduction</title>
    <p>Here is the last quarterly status report for 2019. As you
	might remember
	from last report, we changed our timeline: now we collect
	reports the last
	month of each quarter and we edit and publish the full
	document the next
	month. Thus, we cover here the period October 2019 -
	December 2019.</p>
	<p>If you thought that the FreeBSD community was less active
	in the
	Christmas' quarter you will be glad to be proven wrong: a
	quick glance at
	the summary will be sufficient to see that much work has
	been done in the
	last months.</p>
	<p>Have a nice read!</p>
	<p>-- Lorenzo Salvadore</p>
  </section>

  <category>
    <name>team</name>

    <description>&os; Team Reports</description>

    <p>Entries from the various official and semi-official teams,
      as found in the <a href="&enbase;/administration.html">Administration
        Page</a>.</p>
  </category>

  <category>
    <name>proj</name>

    <description>Projects</description>

    <p>Projects that span multiple categories, from the kernel and userspace
      to the Ports Collection or external projects.</p>
  </category>

  <category>
    <name>kern</name>

    <description>Kernel</description>

    <p>Updates to kernel subsystems/features, driver support,
      filesystems, and more.</p>
  </category>

  <category>
    <name>arch</name>

    <description>Architectures</description>

    <p>Updating platform-specific features and bringing in support
      for new hardware platforms.</p>.
  </category>

  <category>
    <name>bin</name>

    <description>Userland Programs</description>

    <p>Changes affecting the base system and programs in it.</p>
  </category>

  <category>
    <name>ports</name>

    <description>Ports</description>

    <p>Changes affecting the Ports Collection, whether sweeping
      changes that touch most of the tree, or individual ports
      themselves.</p>
  </category>

  <category>
    <name>third</name>

    <description>Third-Party Projects</description>

    <p>Many projects build upon &os; or incorporate components of
      &os; into their project.  As these projects may be of interest
      to the broader &os; community, we sometimes include brief
      updates submitted by these projects in our quarterly report.
      The &os; project makes no representation as to the accuracy or
      veracity of any claims in these submissions.</p>
  </category>
    <project cat="team"><title>FreeBSD Core Team</title><contact>          <person>
            <name>FreeBSD Core Team</name>
            <email>core@FreeBSD.org</email>
          </person>
            </contact>

    <body><p>The FreeBSD Core Team is the governing body of FreeBSD.</p>
<ul><li>Julie Saravanos, the sister of Bruce D. Evans (bde),
	mailed core with the sad
	news that Bruce passed away on 2019-12-18 at the age of 68
	years. Bruce was a
	deeply respected member of the community, served on the
	Core team, and made
	over 5,000 commits. Bruce's impact on our culture was so
	profound that new
	terminology was spawned. This is an excerpt of a message
	from Poul-Henning
	Kamp to Julie.
<blockquote>
<p>
	I don't know precisely when I first communicated with
	Bruce, it was in the
	late 1980'ies via "UseNET", but I can say with certainty
	that few people
	have inspired me more, or improved my programming more,
	than Bruce he did
	over the next half of my life.</p>
<p>All large projects invent its own vocabulary and in
	FreeBSD two of the
	neologisms are "Brucification", and "Brucified".</p>
<p>A "brucification" meant receiving a short, courteous note
	pointing out a
	sometimes subtle deficiency, or an overlooked detail in a
	source code
	change. Not necessarily a serious problem, possibly not
	even a problem to
	anybody at all, but nonetheless something which was wrong
	and ought to be
	fixed. It was not uncommon for the critique to be
	considerably longer
	than the change in question.</p>
<p>If one ignored brucifications one ran the risk of being
	"brucified", which
	meant receiving a long and painstakingly detailed list of
	every single one
	of the errors, mistakes, typos, shortcomings, bad
	decisions, questionable
	choices, style transgressions and general sloppiness of
	thinking, often
	expressed with deadpan humor sharpened to a near-fatal
	point.</p>
<p>The most frustrating thing was that Bruce would be
	perfectly justified and
	correct. I can only recall one or two cases where I were
	able to respond
	"Sorry Bruce, but you're wrong there..." - and I confess
	that on those
	rare days I felt like I should cut a notch in my keyboard.</p>
<p>The last email we received from Bruce is a good example of
	the depth of
	knowledge and insight he provided for the project:</p>
<p>
	https://docs.freebsd.org/cgi/getmsg.cgi?fetch=1163414+0+archive/2019/svn-src-all/20191027.svn-src-all</p>
</blockquote>
</li>
<li>The 12.1 release was dedicated to another FreeBSD
	developer who passed away in
	the fourth quarter of 2019, Kurt Lidl. The FreeBSD
	Foundation has a memorial
	page to Kurt.
<p>
	
	https://www.freebsdfoundation.org/blog/in-memory-of-kurt-lidl/</p>
<p>We send our condolences to both the families of Bruce and
	Kurt.</p></li>
<li>Core has documented The Project's policy on support tiers.
<p>
	
	https://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/archs.html</p></li>
<li>Core approved a source commit bit for James Clarke. Brooks
	Davis (brooks)
	will mentor James and John Baldwin (jhb) will co-mentor. </li>
<li>The Project's first Season of Docs ended with a negative
	result. The work was
	not completed and contact could not be established with
	the writer. No
	payment was made and the financing was set aside for
	future work. </li>
<li>Google Summer of Code completed. Information about the
	seven accepted
	projects can be found on the wiki page.
<p>
	https://wiki.freebsd.org/SummerOfCode2019Projects</p></li>
<li>Adam Weinberger (adamw) was added to conduct@. Adam has
	demonstrated
	competence, understanding, and fairness in personal
	matters. </li>
<li>Li-Wen Hsu (lwhsu) contacted Core after receiving a report
	from concerned
	local community members about past updates to The
	Project's
	internationalization policy. Lengthy discussions took
	place to determine how
	to reaffirm that The Project maintains a neutral position
	in political
	disputes. Updates were made to the document and it was
	decided that any
	future changes would require explicit Core approval.
<p>
	https://www.freebsd.org/internal/i18n.html</p></li>
<li>After nomination by Edward Napierała (trasz), core voted
	to grant Daniel
	Ebdrup (debdrup) and Lorenzo Salvadore (salvadore)
	membership in The Project.
	Both Daniel and Lorenzo have been working on the quarterly
	reports for the
	past few quarters. </li>
<li>The Core-initiated Git Transition Working Group continued
	to meet over the
	last quarter of 2019. Their report is still forthcoming. </li></ul>
</body>
</project>
<project cat="team"><title>FreeBSD Foundation</title><contact>          <person>
            <name>Deb Goodkin</name>
            <email>deb@FreeBSDFoundation.org</email>
          </person>
            </contact>

    <body><p>The FreeBSD Foundation is a 501(c)(3) non-profit
	organization dedicated to
	supporting and promoting the FreeBSD Project and community
	worldwide. Funding
	comes from individual and corporate donations and is used
	to fund and manage
	software development projects, conferences and developer
	summits, and provide
	travel grants to FreeBSD contributors. The Foundation
	purchases and supports
	hardware to improve and maintain FreeBSD infrastructure
	and provides resources
	to improve security, quality assurance, and release
	engineering efforts;
	publishes marketing material to promote, educate, and
	advocate for the FreeBSD
	Project; facilitates collaboration between commercial
	vendors and FreeBSD
	developers; and finally, represents the FreeBSD Project in
	executing contracts,
	license agreements, and other legal arrangements that
	require a recognized
	legal entity.</p>
<p>Here are some highlights of what we did to help FreeBSD
	last quarter:</p>
<h3>Partnerships and Commercial User Support</h3>
<p>We help facilitate collaboration between commercial users
	and FreeBSD
	developers. We also meet with companies to discuss their
	needs and bring that
	information back to the Project. In Q4, Ed Maste and Deb
	Goodkin met with a
	few commercial users in the US. It's not only beneficial
	for the above, but it
	also helps us understand some of the applications where
	FreeBSD is used. We
	were also able to meet with a good number of commercial
	users at the Bay Area
	Vendor/Developer Summit and Open Source Summit Europe.
	These venues provide an
	excellent opportunity to meet with commercial and
	individual users and
	contributors to FreeBSD.</p>
<h3>Fundraising Efforts</h3>
<p>In 2019, we focused on supporting a few key areas where
	the Project needed the
	most help. The first area was software development.
	Whether it was contracting
	FreeBSD developers to work on projects like wifi support,
	to providing internal
	staff to quickly implement hardware workarounds, we've
	stepped in to help keep
	FreeBSD innovative, secure, and reliable. Software
	development includes
	supporting the tools and infrastructure that make the
	development process go
	smoothly, and we're on it with team members heading up the
	Continuous
	Integration efforts, and actively involved in the
	clusteradmin and security
	teams.</p>
<p>Our advocacy efforts focused on recruiting new users and
	contributors to the
	Project. We attended and participated in 38 conferences
	and events in 21
	countries. From giving FreeBSD presentations and workshops
	to staffing tables,
	we were able to have 1:1 conversations with thousands of
	attendees.</p>
<p>Our travels also provided opportunities to talk directly
	with FreeBSD
	commercial and individual users, contributors, and future
	FreeBSD
	users/contributors. We've seen an increase in use and
	interest in FreeBSD from
	all of these organizations and individuals. These meetings
	give us a chance to
	learn more about what organizations need and what they and
	other individuals
	are working on. The information helps inform the work we
	should fund.</p>
<p>In 2019, your donations helped us continue our efforts of
	supporting critical
	areas of FreeBSD such as:</p>
<ul><li>Operating System Improvements: Providing staff to
	immediately respond to
	urgent problems and implement new features and
	functionality allowing for
	the innovation and stability you've come to rely on. </li>
<li>Improving and increasing test coverage, continuous
	integration, and automated
	testing with a full-time software engineer to ensure you
	receive the highest
	quality, secure, and reliable operating system. </li>
<li>Security: Providing engineering resources to bolster the
	capacity and
	responsiveness of the Security team providing you with
	peace of mind when
	security issues arise. </li>
<li>Growing the number of FreeBSD contributors and users from
	our global FreeBSD
	outreach and advocacy efforts, including expanding into
	regions such as
	China, India, Africa, and Singapore. </li>
<li>Offering FreeBSD workshops and presentations at more
	conferences, meetups,
	and universities around the world. </li>
<li>Providing opportunities such as developer and vendor
	summits and company
	visits to help facilitate collaboration between commercial
	users and FreeBSD
	developers, as well as helping to get changes pushed into
	the FreeBSD source
	tree, and creating a bigger and healthier ecosystem. </li></ul>
<p>
	We've accomplished a lot this year, but we are still only
	a small 501(c)3
	organization focused on supporting FreeBSD and not a trade
	organization like
	many other open source Foundations.</p>
<p>Please consider <a
	href="https://www.FreeBSDfoundation.org/donate/">making
	a donation</a>
	at https://www.FreeBSDfoundation.org/donate/ to help us
	continue and increase
	our support for FreeBSD.</p>
<p>We also have the Partnership Program, to provide more
	benefits for our larger
	commercial donors.
	Find out more information at
	
	https://www.FreeBSDfoundation.org/FreeBSD-foundation-partnership-program/
	and share with your companies!</p>
<h3>OS Improvements</h3>
<p>The Foundation supports software development projects to
	improve FreeBSD
	through our full time technical staff, contractors, and
	project grant
	recipients. They maintain and improve critical kernel
	subsystems, add new
	features and functionality, and fix bugs.</p>
<p>Between October and December there were 236 commits to the
	FreeBSD source
	repository tagged with FreeBSD Foundation sponsorship.
	This is about 10%
	of all commits during this period. Some of these projects
	have their own
	entries in the quarterly report, and are not repeated
	here, while others
	are briefly described below.</p>
<p>As usual, Foundation staff member Konstantin Belousov
	committed a large
	number of UFS, NFS, tmpfs, VM system, and low-level Intel
	x86 bug fixes and
	improvements. Kostik also committed improvements to the
	run-time linker
	(rtld), and participated in very many code reviews,
	helping to get changes
	from other developers integrated into the tree.</p>
<p>Following on from his work to improve debugging tools in
	the Linuxulator
	environment, Edward Napierała integrated the Linux Test
	Project (LTP) with
	FreeBSD's CI system, and committed a number of small bug
	fixes to the
	Linuxulator itself.</p>
<p>Mark Johnston continued working on infrastructure for the
	Syzkaller system
	call fuzzing tool, and committed fixes for many issues
	identified by it.
	Mark committed improvements to RISC-V infrastructure, the
	network stack,
	performance and locking, and x86 pmap.</p>
<p>Mark also added support for newer Intel WiFi chipsets to
	the iwm driver,
	enabling WiFi support for the Lenovo X1 Carbon 7th
	generation, and other
	contemporary laptops.</p>
<p>Ed Maste committed a number of improvements and cleanups
	in build
	infrastructure, vt console fixes including issues with
	keyboard maps,
	some blacklistd updates, documentation updates, and other
	small changes.
	Ed also committed some work to prepare for the removal of
	GCC 4.2.1 from
	the FreeBSD source tree, currently planned for Q1 2020.</p>
<h3>Continuous Integration and Quality Assurance</h3>
<p>The Foundation provides a full-time staff member who is
	working on improving
	our automated testing, continuous integration, and overall
	quality assurance
	efforts.</p>
<p>During the fourth quarter of 2019, Foundation staff
	continued to improve the
	project's CI infrastructure, worked with contributors to
	fix the failing build
	and test cases. We worked with other teams in the project
	for their testing
	needs and also worked with many external projects and
	companies to improve
	their support of FreeBSD. We added several new CI jobs and
	brought the
	<a href="https://ci.freebsd.org/hwlab">FreeBSD Hardware
	Testing Lab</a> online.</p>
<p>We published
	<a
	href="https://www.freebsdfoundation.org/blog/2019-in-review-ci-and-testing-advancements/">2019
	in Review: CI and Testing Advancements</a>
	on the Foundation's blog.</p>
<p>See the FreeBSD CI section of this report for completed
	work items and detailed
	information.</p>
<h3>Supporting FreeBSD Infrastructure</h3>
<p>The Foundation provides hardware and support to improve
	the FreeBSD
	infrastructure. Last quarter, we continued supporting
	FreeBSD hardware located
	around the world.</p>
<h3>FreeBSD Advocacy and Education</h3>
<p>A large part of our efforts are dedicated to advocating
	for the Project. This
	includes promoting work being done by others with FreeBSD;
	producing advocacy
	literature to teach people about FreeBSD and help make the
	path to starting
	using FreeBSD or contributing to the Project easier; and
	attending and helping
	other FreeBSD contributors volunteer to run FreeBSD
	events, staff FreeBSD
	tables, and give FreeBSD presentations.</p>
<p>The FreeBSD Foundation sponsors many conferences, events,
	and summits around the globe. These events can be
	BSD-related, open source, or technology events
	geared towards underrepresented groups. We support
	the FreeBSD-focused events to help provide a venue
	for sharing knowledge, to work together on
	projects, and to facilitate collaboration between
	developers and commercial users. This all helps
	provide a healthy ecosystem. We support the
	non-FreeBSD events to promote and raise awareness
	of FreeBSD, to increase the use of FreeBSD in
	different applications, and to recruit more
	contributors to the Project.</p>
<p>
	Check out some of the advocacy and education work we did
	last quarter:</p>
<ul><li>Organized the 2019 Bay Area FreeBSD Vendor and Developers
	Summit
	in Santa Clara, CA</li>
<li>Presented at COSCON '19 in Shanghai, China</li>
<li>Represented FreeBSD at All Things Open 2019, in Raleigh,
	North Carolina</li>
<li>Industry Partner Sponsor for LISA '19 in Portland, OR</li>
<li>Silver Sponsor of OpenZFS in San Francisco, CA</li>
<li>Gave a technical presentation at School of Mines in
	Golden, CO</li>
<li>Presenting and representing FreeBSD at Seagl, in Seattle,
	WA</li>
<li>Presented at Open Source Summit Europe in Lyon France</li>
<li>Committed to sponsoring LinuxConfAu 2020, in Gold Coast,
	Australia in
	addition to holding a FreeBSD Mini-Conf</li>
<li>Accepted to present at the BSD Dev Room at FOSDEM '20, in
	Brussels, Belgium</li>
<li>Accepted to have a stand at FOSDEM '20, in Brussels,
	Belgium</li>
<li>Committed to sponsoring FOSSASIA 2020, in Singapore</li>
<li>Committed to hold FreeBSD Day at SCALE 18x, in Pasadena,
	CA </li></ul>
<p>
	We continued producing FreeBSD advocacy material to help
	people promote
	FreeBSD. Learn more about our efforts in 2019 to advocate
	for FreeBSD:
	
	https://www.freebsdfoundation.org/blog/2019-in-review-advocacy/</p>
<p>Our Faces of FreeBSD series is back. Check out the latest
	post: Mahdi Mokhtari.
	
	https://www.freebsdfoundation.org/blog/faces-of-freebsd-2019-mahdi-mokhtari/</p>
<p>Read more about our conference adventures in the
	conference recaps and trip
	reports in our monthly newsletters:
	
	https://www.freebsdfoundation.org/news-and-events/newsletter/</p>
<p>We help educate the world about FreeBSD by publishing the
	professionally
	produced FreeBSD Journal. As we mentioned previously, the
	FreeBSD Journal is
	now a free publication. Find out more and access the
	latest issues at
	https://www.FreeBSDfoundation.org/journal/.</p>
<p>You can find out more about events we attended and
	upcoming events at
	https://www.FreeBSDfoundation.org/news-and-events/.</p>
<p>We have continued our work with a new website developer to
	help us improve our
	website. Work has begun to make it easier for community
	members to find
	information more easily and to make the site more
	efficient.</p>
<h3>Legal/FreeBSD IP</h3>
<p>The Foundation owns the FreeBSD trademarks, and it is our
	responsibility to
	protect them. We also provide legal support for the core
	team to investigate
	questions that arise.</p>
<p>Go to http://www.FreeBSDfoundation.org to find out how we
	support FreeBSD and
	how we can help you!</p>
</body>
</project>
<project cat="team"><title>FreeBSD Release Engineering Team</title><contact>          <person>
            <name>FreeBSD Release Engineering Team</name>
            <email>re@FreeBSD.org</email>
          </person>
            </contact>

            <links>
              <url href="https://www.freebsd.org/releases/12.1R/schedule.html">FreeBSD 12.1-RELEASE schedule</url>
              <url href="https://www.freebsd.org/releases/12.1R/announce.html">FreeBSD 12.1-RELEASE announcement</url>
              <url href="https://download.freebsd.org/ftp/snapshots/ISO-IMAGES/">FreeBSD development snapshots</url>
            </links>

    <body><p>The FreeBSD Release Engineering Team is responsible for
	setting
	and publishing release schedules for official project
	releases
	of FreeBSD, announcing code freezes and maintaining the
	respective branches, among other things.</p>
<p>The FreeBSD Release Engineering Team continued work on the
	12.1-RELEASE, which
	started September 6th. This release cycle was the first
	"freeze-less" release
	from the Subversion repository, and the test bed for
	eliminating the requirement
	of a hard code freeze on development branches.</p>
<p>The 12.1-RELEASE cycle concluded with the final build
	beginning November 4th,
	preceded by three BETA builds and two RC builds. The RC3
	build had been
	included in the original schedule, but had been decided to
	not be required.</p>
<p>Additionally throughout the quarter, several development
	snapshots builds
	were released for the <i>head</i>,
	<i>stable/12</i>, and
	<i>stable/11</i> branches.</p>
<p>Much of this work was sponsored by Rubicon Communications,
	LLC (netgate.com)
	and the FreeBSD Foundation.</p>
</body>
</project>
<project cat="team"><title>Cluster Administration Team</title><contact>          <person>
            <name>Cluster Administration Team</name>
            <email>clusteradm@FreeBSD.org</email>
          </person>
            </contact>

            <links>
              <url href="https://www.freebsd.org/administration.html#t-clusteradm">Cluster Administration Team members</url>
            </links>

    <body><p>The FreeBSD Cluster Administration Team consists of the
	people responsible for administering the machines
	that the Project relies on for its distributed
	work and communications to be synchronised. In
	this quarter, the team has worked on the
	following:</p>
<ul><li>Upgrade ref11-{amd64,i386}.freebsd.org to 11.3-STABLE
	r353313</li>
<li>Ongoing systems administration work:</li>
<li>Creating accounts for new committers.</li>
<li>Backups of critical infrastructure.</li>
<li>Keeping up with security updates in 3rd party software. </li></ul>
<p>
	Work in progress:</p>
<ul><li>Review the service jails and service administrators
	operation.</li>
<li>South Africa Mirror (JINX) in progress.</li>
<li>NVME issues on PowerPC64 Power9 blocking dual socket
	machine from being used as pkg builder.</li>
<li>Drive upgrade test for pkg builders (SSDs) courtesy of the
	FreeBSD Foundation.</li>
<li>Boot issues with Aarch64 reference machines.</li>
<li>New NYI.net sponsored colocation space in Chicago-land
	area.</li>
<li>Setup new host for CI staging environment.</li>
<li>Plan how to add new semi-official pkg mirrors </li></ul>
</body>
</project>
<project cat="team"><title>Continuous Integration</title><contact>          <person>
            <name>Jenkins Admin</name>
            <email>jenkins-admin@FreeBSD.org</email>
          </person>
              <person>
            <name>Li-Wen Hsu</name>
            <email>lwhsu@FreeBSD.org</email>
          </person>
            </contact>

            <links>
              <url href="https://ci.FreeBSD.org">FreeBSD Jenkins Instance</url>
              <url href="https://ci.FreeBSD.org/hwlab">FreeBSD Hardware Testing Lab</url>
              <url href="https://artifact.ci.FreeBSD.org">FreeBSD CI artifact archive</url>
              <url href="https://hackmd.io/@FreeBSD-CI">FreeBSD CI weekly report</url>
              <url href="https://lists.FreeBSD.org/mailman/listinfo/freebsd-testing">freebsd-testing Mailing List</url>
              <url href="https://wiki.freebsd.org/Jenkins">FreeBSD Jenkins wiki</url>
              <url href="https://wiki.freebsd.org/HostedCI">Hosted CI wiki</url>
              <url href="https://wiki.freebsd.org/3rdPartySoftwareCI">3rd Party Software CI</url>
              <url href="https://preview.tinyurl.com/y9maauwg">Tickets related to freebsd-testing@</url>
              <url href="https://github.com/freebsd/freebsd-ci">FreeBSD CI Repository</url>
            </links>

    <body><p>The FreeBSD CI team maintains continuous integration
	system and related tasks
	for the FreeBSD project. The CI system regularly checks
	the committed changes
	can be successfully built, then performs various tests and
	analysis of the
	results. The results from build jobs are archived in an
	artifact server, for
	the further testing and debugging needs. The CI team
	members examine the
	failing builds and unstable tests, and work with the
	experts in that area to
	fix the code or adjust test infrastructure. The details
	are of these efforts
	are available in the <a
	href="https://hackmd.io/@FreeBSD-CI">weekly CI
	reports</a>.</p>
<p>During the fourth quarter of 2019, we worked with the
	contributors and
	developers in the project for their testing needs and also
	worked with many
	external projects and companies to improve their support
	of FreeBSD. The
	<a href="https://ci.freebsd.org/hwlab">FreeBSD Hardware
	Testing Lab</a> is online in this
	quarter. It's still in work in progress stage and we are
	merging the different
	versions and will integrate more tightly to the main CI
	server. We are also
	working on make this work more easierly to be reproduced.</p>
<p>Work in progress:</p>
<ul><li>Collecting and sorting CI tasks and ideas at
	https://hackmd.io/bWCGgdDFTTK_FG0X7J1Vmg</li>
<li>Setup the CI stage environment and put the experimental
	jobs on it</li>
<li>Implementing automatic tests on bare metal hardware</li>
<li>Adding drm ports building test against -CURRENT</li>
<li>Testing and merging pull requests at
	https://github.com/freebsd/freebsd-ci/pulls</li>
<li>Planning for running ztest and network stack tests</li>
<li>Helping more 3rd software get CI on FreeBSD through a
	hosted CI solution</li>
<li>Adding LTP test jobs.</li>
<li>Adding non-x86 test jobs.</li>
<li>Adding external toolchin related jobs. </li></ul>
<p>
	Please see freebsd-testing@ related tickets for more WIP
	information.</p>
</body>

        <sponsor>
          The FreeBSD Foundation
        </sponsor>
    </project>
<project cat="proj"><title>IPSec Extended Sequence Number (ESN) support</title><contact>          <person>
            <name>Patryk Duda</name>
            <email>pdk@semihalf.com</email>
          </person>
              <person>
            <name>Marcin Wojtas</name>
            <email>mw@semihalf.com</email>
          </person>
            </contact>

    <body><p>Extended Sequence Number (ESN) is IPSec extension defined
	in <a
	href="https://tools.ietf.org/html/rfc4303#section-2.2.1">RFC4303
	Section 2.2.1</a>.
	It makes possible to implement high-speed IPSec
	implementations where standard, 32-bit sequence
	number is not sufficent.
	Key feature of the ESN is that only low order 32 bits of
	sequence number are transmitted over the wire.
	High-order 32 bits are maintained by sender and receiver.
	Additionally high-order bits are included in the
	computation of Integrity Check Value (ICV) field.</p>
<p>Extended Sequence Number support contains following:</p>
<ul><li>Modification of existing anti-replay algorithm to fulfil
	ESN requirements</li>
<li>Trigger soft lifetime expiration at 80% of UINT32_MAX
	when ESN is disabled</li>
<li>Implement support for including ESN into ICV in cryptosoft
	engine in both
	encrypt and authenticate mode (eg. AES-CBC and SHA256
	HMAC) and combined
	mode (eg. AES-GCM)</li>
<li>Implement support for including ESN into ICV in AES-NI
	engine in both
	encrypt and authenticate mode and combined mode </li></ul>
<p>
	Remaining work:</p>
<ul><li>Upstream patches of the anti-replay algorithm</li>
<li>Adjust implementation of crypto part after the reworked
	Open Crypto Framework gets stable </li></ul>
<p></p>
</body>

        <sponsor>
          Stormshield
        </sponsor>
    </project>
<project cat="proj"><title>NFS Version 4.2 implementation</title><contact>          <person>
            <name>Rick Macklem</name>
            <email>rmacklem@freebsd.org</email>
          </person>
            </contact>

    <body><p>RFC-7862 describes a new minor revision to the NFS Version
	4 protocol.
	This project implements this new minor revision.</p>
<p>The NFS Version 4 Minorversion 2 protocol adds several
	optional
	features to NFS, such as support for SEEK_DATA/SEEK_HOLE,
	file
	copying done on the server that avoids data transfer over
	the wire
	and support for posix_fallocate(), posix_fadvise().
	Hopefully these features can improve performance for
	certain applications.</p>
<p>This project has basically been completed. The code
	changes have now
	all been committed to head/current and should be released
	in FreeBSD 13.</p>
<p>Testing by others would be appreciated. To do testing, an
	up to date
	head/current system is required. Client mounts need the
	"minorversion=2" mount option to enable this protocol.
	The NFS server will have NFSv4.2 enabled by default.</p>
</body>
</project>
<project cat="proj"><title>DTS Update</title><contact>          <person>
            <name>Emmanuel Vadot</name>
            <email>manu@FreeBSD.org</email>
          </person>
            </contact>

    <body><p>DTS files (Device Tree Sources) were updated to be on par
	with Linux 5.4 for
	HEAD and 5.2 for the 12-STABLE branch.
	The DTS for the RISC-V architecture are now imported as
	well.</p>
</body>
</project>
<project cat="proj"><title>RockChip Support</title><contact>          <person>
            <name></name>
            <email>freebsd-arm@FreeBSD.Org</email>
          </person>
              <person>
            <name>Emmanuel Vadot</name>
            <email>manu@FreeBSD.Org</email>
          </person>
              <person>
            <name>Michal Meloun</name>
            <email>mmel@FreeBSD.Org</email>
          </person>
            </contact>

    <body><p>RockChip RK3399 now has USB3 support, some configuration
	such as device mode
	are still not supported however host mode should work on
	any board.</p>
<p>Support for SPI has been committed which enables ability
	to interact with SPI
	flash if present.</p>
<p>All regulators for the RK808 PMIC (Power Management IC)
	have been added.</p>
<p>All clocks are now supported which completes clock and
	reset implementation,
	previously only clocks from devices with drivers were
	supported.</p>
<p>The TS-ADC (Temperature Sensor ADC) is now supported, this
	adds the ability
	to read temperature of the CPU and GPU via sysctl
	hw.temperature .</p>
<p>Initial PCIe support has been committed and verified
	working on several
	different boards.
	Known working devices are NVMe devices and PCIe cards that
	doesn't utilize PCIe
	switching or bridge functionality.</p>
<p>Card Detection for SDCard on RK3328 and RK3399 is now
	supported. There is still
	some problems if the board is using a GPIO for CD instead
	of the internal detection
	mechanism.</p>
</body>
</project>
<project cat="proj"><title>Creating virtual FreeBSD appliances from RE VMDK images</title><contact>          <person>
            <name>Oleksandr Tymoshenko</name>
            <email>gonzo@FreeBSD.org</email>
          </person>
            </contact>

            <links>
              <url href="https://github.com/gonzoua/freebsd-mkova">freebsd-mkova</url>
            </links>

    <body><p>OVA is a file format for packaging and distributing
	virtual appliances: pre-configured virtual machine
	images. Virtual appliance file contains full VM
	information like the number of CPUs, amount of
	memory, list of virtual devices, it also includes
	disk images. Applications like VirtualBox or
	VMWare can import OVA files; this process can be
	easily automated.</p>
<p>freebsd-mkova is a CLI tool to create OVA files using VMDK
	images provided by FreeBSD RE. For now, only a
	limited set of attributes can be specified: VM
	name, number of CPU, amount of memory, and disk
	size. The tool also does only cursory sanity
	checks on the VMDK file format, assuming it's a
	monolithic sparse file and that it has to be
	converted to the stream-optimized format. The
	script can be extended to make hardware
	configuration more flexible and VMDK parser more
	robust.</p>
</body>
</project>
<project cat="kern"><title>SoC audio framework and RK3399 audio drivers</title><contact>          <person>
            <name>Oleksandr Tymoshenko</name>
            <email>gonzo@FreeBSD.org</email>
          </person>
            </contact>

            <links>
              <url href="https://github.com/gonzoua/freebsd/tree/rk3399_audio">rk3399_audio</url>
            </links>

    <body><p>Most modern SoCs and devboards have audio support in one
	form or another, but it's one of the areas that
	are overlooked by FreeBSD driver developers. The
	most common architecture for the audio pipeline on
	a single-board computer consists of two DAIs
	(digital audio interfaces): CPU and codec,
	connected by a serial bus.</p>
<p>CPU DAI is a SoC IP block that operates with samples:
	obtains them from the driver for playback or
	provides them to the driver for recording through
	FIFOs or DMA requests. Audio samples leave (or
	arrive at) the SoC through a serial bus, usually
	I2S, that is connected to Codec DAI.</p>
<p>Codec DAI is an external (to the SoC) chip that packs one
	or more DAC/ADC blocks along with mixers,
	amplifiers, and probably more specialized devices
	like filters and/or sound effects. The analog part
	of the codec is connected to
	microphones/headphones/speakers. On SBCs, the
	codec usually communicates with SoC through two
	interfaces: data path, over which audio samples
	travel, and a control interface that is used to
	read/write chip registers and configure its
	behavior. The most common choices for these are
	I2S and I2C buses, respectively.</p>
<p>For FDT-enabled devices, an audio pipeline is described as
	a virtual DTB node that has links to the CPU and
	codec device(s), and which specifies the data
	format, and clock details that both the CPU and
	the codec chips would use. It also may have more
	than one CPU/codec pair.</p>
<p>Using Firefly-RK3399 as a test device, I was able to
	implement I2S driver for RK3399 SoC (PIO mode,
	playback only), the driver for Realtek's RT5640
	chip (headphones playback only + mixer controls)
	and a base outline of SoC audio framework. Some
	bits of <tt>rk_i2s</tt> and the framework were
	ported from the NetBSD code developed by Jared
	McNeill. On my WIP branch, I can play mp3 audio
	and control playback volume.</p>
<p>The primary missing functionalities at the moment are
	recording support, multi-link audio cards, DMA
	support. The most critical among these is DMA
	support. In the current implementation, all buffer
	management is placed at the ausoc layer, which is
	not going to work for DMA, because only the CPU
	DAI driver would know about the memory constraints
	and access mechanisms. The current state of RK3399
	support does not allow to implement DMA transfers
	for <tt>rk_i2s</tt> easily, but I plan to look
	into this right after adding recording support,
	which should not be a lot of work.</p>
</body>
</project>
<project cat="kern"><title>FreeBSD on Microsoft HyperV and Azure</title><contact>          <person>
            <name>FreeBSD Integration Services Team</name>
            <email>bsdic@microsoft.com</email>
          </person>
              <person>
            <name>Wei Hu</name>
            <email>whu@FreeBSD.org</email>
          </person>
              <person>
            <name>Li-Wen Hsu</name>
            <email>lwhsu@FreeBSD.org</email>
          </person>
            </contact>

            <links>
              <url href="https://wiki.freebsd.org/MicrosoftAzure">FreeBSD on MicrosoftAzure wiki</url>
              <url href="https://wiki.freebsd.org/HyperV">FreeBSD on Microsoft HyperV</url>
            </links>

    <body><p>Wei is working on HyperV Socket support for FreeBSD.
	HyperV Socket provides a way for host and guest to
	communicate using common socket interfaces without
	networking support. Some features in Azure require
	HyperV Socket support in guest.</p>
<p>It is planned to commit the code by the end of February.</p>
<p>This project is sponsored by Microsoft. Details of HyperV
	Socket is available at
	https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/make-integration-service</p>
<p>Li-Wen and Wei are working on improving FreeBSD release on
	Azure. During this quarter, Wei has published the
	<a
	href="https://azuremarketplace.microsoft.com/en-us/marketplace/apps/microsoftostc.freebsd-11-3?tab=Overview">11.3-RELEASE
	on Azure</a>. Li-Wen is working on the FreeBSD
	release codes related to Azure for the -CURRENT
	and 12-STABLE branches.</p>
<p>This project is sponsored by Microsoft and FreeBSD
	Foundation.</p>
</body>
</project>
<project cat="kern"><title>FreeBSD on EC2 ARM64</title><contact>          <person>
            <name>Colin Percival</name>
            <email>cperciva@FreeBSD.org</email>
          </person>
            </contact>

            <links>
              <url href="https://aws.amazon.com/marketplace/pp/B081NF7BY7">FreeBSD/ARM 12 in AWS Marketplace</url>
              <url href="https://www.patreon.com/cperciva">FreeBSD/EC2 Patreon</url>
              <url href="https://twitter.com/cperciva/status/1206688489518985216">M6G vs M5 buildworld cost/time performance</url>
            </links>

    <body><p>In November 2018, Amazon Web Services announced the first
	Elastic
	Compute Cloud (EC2) instances built around the ARM64
	platform.
	While FreeBSD supported the ARM64 platform, running on
	this specific
	virtual machines took some additional work, but by April
	2019 the
	weekly snapshot builds performed by the Release
	Engineering Team
	included ARM64 AMIs for FreeBSD HEAD.</p>
<p>In November 2019 FreeBSD 12.1 was released, including the
	first
	"RELEASE" FreeBSD EC2/ARM64 AMIs. A few weeks later,
	FreeBSD/ARM64
	was added as a new "product" to the AWS Marketplace.</p>
<p>At the re:Invent 2019 conference in December 2019, Amazon
	announced
	a second family of ARM64 instances, known variously as
	"Graviton 2"
	and "M6G". These are far more powerful than the
	first-generation
	ARM64 EC2 instances, and have a roughly 40%
	price/performance advantage
	over the "M5" family of x86 EC2 instances; and existing
	FreeBSD 12.1
	and HEAD AMIs run "out of the box" on these instances.</p>
<p>Work is currently underway to improve kernel locking
	scalability on
	these instances; with high levels of parallelism (e.g.
	buildworld -j64)
	the G6M instances have approximately 1.5x higher sys:user
	ratios than
	equally-sized M5 instances, suggesting that there is room
	for improvement
	here.</p>
<p>Two issues have been recently identified, both likely
	relating to ACPI:</p>
<ul><li>EC2 "StopInstance" API calls, which translate to ACPI
	"power button"
	notifications, do not trigger FreeBSD to shut down; this
	results in a
	timeout from EC2 and a "hard poweroff".</li>
<li>Hotplugging/unplugging EBS volumes, which normally
	operates via ACPI
	device notifications, does not work. </li></ul>
<p>
	Help from developers familiar with ARM64 and ACPI would be
	much
	appreciated.</p>
</body>

        <sponsor>
          FreeBSD/EC2 Patreon
        </sponsor>
    </project>
<project cat="kern"><title>ENA FreeBSD Driver Update</title><contact>          <person>
            <name>Michal Krawczyk</name>
            <email>mk@semihalf.com</email>
          </person>
              <person>
            <name>Maciej Bielski</name>
            <email>mba@semihalf.com</email>
          </person>
              <person>
            <name>Marcin Wojtas</name>
            <email>mw@semihalf.com</email>
          </person>
            </contact>

            <links>
              <url href="https://github.com/amzn/amzn-drivers/blob/master/kernel/fbsd/ena/README">ENA README</url>
            </links>

    <body><p>ENA (Elastic Network Adapter) is the smart NIC available
	in the
	virtualized environment of Amazon Web Services (AWS). The
	ENA
	driver supports multiple transmit and receive queues and
	can handle
	up to 100 Gb/s of network traffic, depending on the
	instance type
	on which it is used.</p>
<p>Completed since the last update:</p>
<ul><li>Upstream of the driver v2.1.0 version, introducing:</li>
<li>Netmap support</li>
<li>Driver structure rework (split datapath code from
	initialization)</li>
<li>Fix for keep-alive timeout due to prolonged reset</li>
<li>Enable LLQ mode on arm64 instances by enabling memory
	mapped as WC </li></ul>
<p>
	Work in progress::</p>
<ul><li>ENA v2.2.0 release, introducing new bug fixes, features
	and other improvements </li></ul>
<p></p>
</body>

        <sponsor>
          Amazon.com Inc
        </sponsor>
    </project>
<project cat="arch"><title>PowerPC on Clang</title><contact>          <person>
            <name>Justin Hibbits</name>
            <email>jhibbits@freebsd.org</email>
          </person>
              <person>
            <name>Brandon Bergren</name>
            <email>bdragon@freebsd.org</email>
          </person>
              <person>
            <name>Alfredo Dal'Ava Júnior</name>
            <email>alfredo.junior@eldorado.org.br</email>
          </person>
            </contact>

    <body><p>Shortly before the end of the year all 3 PowerPC targets
	(powerpc, powerpc64,
	powerpcspe) switched to Clang as the base compiler. This
	was an effort spanning
	nearly the full year, with several people involved. 32-bit
	PowerPC platforms
	(powerpc, powerpcspe) still require GNU ld, but powerpc64
	uses LLD as the base
	linker. The other two platforms will migrate as soon as
	LLD is ready, which
	should be in the next several months.</p>
<p>With the switch to Clang and LLD, powerpc64 also switched
	to ELFv2, a modern ABI
	initially targeted for Linux powerpc64le (little endian),
	but the ABI itself is
	endian agnostic; however, ELFv2 is binary incompatible
	with ELFv1. FreeBSD is
	still big endian on all powerpc targets.</p>
</body>
</project>
<project cat="arch"><title>NXP ARM64 SoC support</title><contact>          <person>
            <name>Marcin Wojtas</name>
            <email>mw@semihalf.com</email>
          </person>
              <person>
            <name>Artur Rojek</name>
            <email>ar@semihalf.com</email>
          </person>
            </contact>

    <body><p>The Semihalf team initiated working on FreeBSD support for
	the
	<a
	href="https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/qoriq-layerscape-arm-processors/qoriq-layerscape-1046a-and-1026a-multicore-communications-processors:LS1046A">NXP
	LS1046A SoC</a></p>
<p>LS1046A are quad-core 64-bit ARMv8 Cortex-A72 processors
	with
	integrated packet processing acceleration and high speed
	peripherals
	including 10 Gb Ethernet, PCIe 3.0, SATA 3.0 and USB 3.0
	for a wide
	range of networking, storage, security and industrial
	applications.</p>
<p>Completed since the last update:</p>
<ul><li>QSPI</li>
<li>Network performance improvements </li></ul>
<p>
	Todo:</p>
<ul><li>Upstreaming of developed features. This work is expected
	to
	be submitted/merged to HEAD in the Q1 of 2020. </li></ul>
<p></p>
</body>

        <sponsor>
          Alstom Group
        </sponsor>
    </project>
<project cat="bin"><title>Linux compatibility layer update</title><contact>          <person>
            <name>Edward Tomasz Napierala</name>
            <email>trasz@FreeBSD.org</email>
          </person>
            </contact>

    <body><p>Linux binaries of Linux Test Projects tests are now part
	of the <a href="https://ci.FreeBSD.org">FreeBSD Continuous
	Integration infrastructure</a>.
	This makes it easy to track progress in improving the
	Linux
	compatibility layer, and to detect regressions.</p>
<p>There was a fair number of all kinds of improvements to
	the layer,
	ranging from updated linux(4) man page, to a new
	<tt>linux</tt> rc script,
	which now takes care of eg mounting Linux-specific
	filesystems
	or setting ELF fallback brand, to new syscalls, to tiny
	improvements
	such as making ^T work for Linux binaries.</p>
<p>From the user point of view, when running 13-CURRENT,
	Linux jails
	are now in a mostly working state: you can SSH into a jail
	with
	CentOS 8 binaries, run screen(1), Emacs, Postgres, OpenJDK
	11,
	use <tt>yum upgrade</tt>...
	Of course there's still a bunch of things that need work:</p>
<ul><li>There is a patch from chuck@ that makes core dumps work
	for
	Linux binaries; this will make debugging much easier </li>
<li>There are pending reviews for patches that add
	<a href="https://reviews.freebsd.org/D13209">extended
	attributes support</a>,
	<a href="https://reviews.freebsd.org/D10275">fexecve(2)
	syscall</a>,
	<a href="https://reviews.freebsd.org/D19917">sendfile</a>;
	they require wrapping
	up and committing </li>
<li>There are over <a
	href="https://ci.freebsd.org/job/FreeBSD-head-amd64-test_ltp/">400
	failing LTP tests</a>.
	Some of them are false positives, some are easy to fix
	bugs, some require adding
	new system calls. Any help is welcome. </li></ul>
<p></p>
</body>

        <sponsor>
          FreeBSD Foundation
        </sponsor>
    </project>
<project cat="ports"><title>Ports Collection</title><contact>          <person>
            <name>René Ladan</name>
            <email>portmgr-secretary@FreeBSD.org</email>
          </person>
              <person>
            <name>FreeBSD Ports Management Team</name>
            <email>portmgr@FreeBSD.org</email>
          </person>
            </contact>

            <links>
              <url href="https://www.FreeBSD.org/ports/">About FreeBSD Ports</url>
              <url href="https://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing/ports-contributing.html">Contributing to Ports</url>
              <url href="http://portsmon.freebsd.org/index.html">FreeBSD Ports Monitoring</url>
              <url href="https://www.freebsd.org/portmgr/index.html">Ports Management Team</url>
            </links>

    <body><p>The Ports Management Team is responsible for overseeing
	the overall direction
	of the Ports Tree, building packages, and personnel
	matters. This entry shows
	what happened in the last quarter.</p>
<p>2019Q4 closed with a total of 38,200 ports and 2180 open
	PRs of which a small
	470 PRs are unassigned. Last quarter saw 7907 commits from
	157 committers to
	the HEAD branch and 358 commits from 61 committers to the
	2019Q4 branch. This
	seems to suggest a small increase in activity compared to
	the quarter before.</p>
<p>During the last quarter, we welcomed Oleksii "Alex"
	Samorukov (samm@) and
	Scott Long (scottl@, already a source committer) as new
	ports committers. We
	also said goodbye to az@, brd@, dtekse@, eadler@, and
	johans@.</p>
<p>The default versions of some ports changed: Lazarus is now
	at version 2.0.6,
	Samba at 4.10, and Python at 3.7. The web browsers
	received their updates too:
	Chromium is now at version 78.0.3904.108, Firefox at
	version 72.0 and its ESR
	counterpart at version 68.4.0. Finally, the Qt stack got
	updated to version
	5.13.2.</p>
<p>Some modernizations took place: the "palm" category was
	removed as well as the
	virtual "ipv6" category. IPv6 support (next to IPv4) is
	now considered the
	norm. Lastly, the CentOS 6 ports were removed after their
	CentOS 7 counterparts
	were made the default in the previous quarter.</p>
<p>As always, antoine@ was happy to take your exp-runs, this
	time a total of 30,
	for various ports and framework updates, default version
	updates, and the
	removal of OpenJDK 6 and OpenJRE 6.</p>
</body>
</project>
<project cat="ports"><title>KDE on FreeBSD</title><contact>          <person>
            <name>Adriaan de Groot</name>
            <email>kde@FreeBSD.org</email>
          </person>
            </contact>

            <links>
              <url href="https://freebsd.kde.org/">KDE FreeBSD</url>
              <url href="https://community.kde.org/FreeBSD">KDE Community FreeBSD</url>
            </links>

    <body><p>The <i>KDE on FreeBSD</i> project packages the
	software produced by
	the KDE Community for FreeBSD. The software includes a
	full desktop environment, the art application
	<a href="https://kdenlive.org">https://kdenlive.org</a>
	and hundreds of other applications that can be used on
	any FreeBSD desktop machine.</p>
<p>The monthly releases of KDE Frameworks, bugfix-releases of
	KDE Plasma
	Desktop and the quarterly feature release of KDE Plasma
	Desktop
	were all landed in the ports tree shortly after upstream
	releases.
	There were also monthly KDE Applications bugfix-releases
	which also
	landed in a timely manner.</p>
<p>Digikam landed a new release thanks to Dima Panov.
	We hope this gets rid of the instability caused by the
	previous release update from last quarter.</p>
<p>The <a
	href="https://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=New&amp;bug_status=Open&amp;bug_status=In%20Progress&amp;bug_status=UNCONFIRMED&amp;email1=kde%40FreeBSD.org&amp;emailassigned_to1=1&amp;emailtype1=substring&amp;f0=OP&amp;f1=OP&amp;f2=product&amp;f3=component&amp;f4=alias&amp;f5=short_desc&amp;f7=CP&amp;f8=CP&amp;f9=assigned_to&amp;j1=OR&amp;j_top=OR&amp;o2=substring&amp;o3=substring&amp;o4=substring&amp;o5=substring&amp;o9=substring&amp;query_format=advanced&amp;v2=kde%40&amp;v3=kde%40&amp;v4=kde%40&amp;v5=kde%40&amp;v9=kde%40&amp;human=1">open
	bugs list</a>
	grew to 32 this quarter with a handful of strange build
	failures.
	We welcome detailed bug reports
	and patches. KDE packaging updates are prepared in
	a <a
	href="https://github.com/freebsd/freebsd-ports-kde/">copy
	of the ports repository</a>
	on GitHub and then merged in SVN. We welcome pull requests
	there as well.</p>
</body>
</project>
<project cat="ports"><title>Java on FreeBSD</title><contact>          <person>
            <name>Greg Lewis</name>
            <email>glewis@FreeBSD.org</email>
          </person>
            </contact>

            <links>
              <url href="https://github.com/freebsd/openjdk-jdk11u">OpenJDK 11 repository at FreeBSD GitHub</url>
            </links>

    <body><p>During Q4 the FreeBSD java porting effort features smaller
	updates than
	those of the previous quarters. However, the following
	changes are worth
	mentioning:</p>
<ul><li>Updated ports for OpenJDK 8u232, 11.0.5, and 13.0.1</li>
<li>Removal of the EOL'ed Java 6, 9, and 10 ports</li>
<li>Fixed remote debugging for Java 11+</li>
<li>Fixed a problem with running external processes for Java
	11+ </li></ul>
<p></p>
</body>

        <sponsor>
          FreeBSD Foundation
        </sponsor>
    </project>
<project cat="ports"><title>Electron and VSCode</title><contact>          <person>
            <name>Hiroki Tagato</name>
            <email>tagattie@yandex.com</email>
          </person>
              <person>
            <name>Luca Pizzamiglio</name>
            <email>pizzamig@FreeBSD.org</email>
          </person>
            </contact>

            <links>
              <url href="https://github.com/tagattie/FreeBSD-Electron">Electron port</url>
              <url href="https://github.com/tagattie/FreeBSD-VSCode">VSCode port</url>
            </links>

    <body><p>Electron is a popular framework to build desktop
	application using JavaScript, HTML and CSS.
	Few months ago, electronjs has been added to the ports
	tree.
	Currently version 4.x and 6.x are supported.</p>
<p>In the last quarter, a popular application, the powerful
	VSCode editor, has been added to the ports tree as
	well.
	VSCode is based on electron 6.x</p>
<p>atom, another popular editor, is still a work in progress
	and it's based on electron 4.x</p>
<p>Many thanks to Hiroki, for the hard work, and to Antoine,
	for support of the special poudriere configuration
	needed to build VSCode.</p>
</body>
</project>
<project cat="ports"><title>Bastille</title><contact>          <person>
            <name>Christer Edwards</name>
            <email>christer.edwards@gmail.com</email>
          </person>
            </contact>

            <links>
              <url href="https://github.com/BastilleBSD/bastille">Bastille GitHub</url>
              <url href="https://gitlab.com/bastillebsd-templates">Bastille Templates</url>
              <url href="https://bastillebsd.org">Bastille Website</url>
            </links>

    <body><h3>What is Bastille?</h3>
<p>Bastille is an open-source system for automating
	deployment and management of
	containerized applications on FreeBSD.</p>
<p>Bastille uses FreeBSD jails as a container platform and
	adds template
	automation to create a Docker-like collection of
	containerized software. The
	template collection currently validates 30-40 applications
	from the ports tree,
	and is growing!</p>
<p>Templates take care of installing, configuring, enabling,
	and starting the
	software, providing an automated way of building
	containerized stacks.</p>
<p>Bastille is available in ports at
	<tt>sysutils/bastille</tt>.</p>
<h3>Q4 2019 Status</h3>
<p>In Q4 2019 Bastille published three releases (for a total
	of ten releases in
	2019). Highlights from these updates include:</p>
<ul><li>support for "thin" (shared base) and "thick" (unique base)
	jails</li>
<li>support for INCLUDE and FSTAB in template system</li>
<li>upgrade support for shared and unique base jails</li>
<li>GitLab CI/CD testing for all official templates</li>
<li>automatic template validation and CVE scan</li>
<li>dedicated pf table for private IP jails </li></ul>
<p>
	Bastille saw an increase in community contributions with
	six new GitHub
	contributors. These people generously improved error
	checking, release
	validation (sha256), firewall functionality, flexible
	networking and
	initial support for resource limits!</p>
<p>We want to thank everyone that contributed to Bastille in
	2019. Your support
	has been amazing!</p>
</body>
</project>
<project cat="ports"><title>Universal Packaging Tool (upt)</title><contact>          <person>
            <name>The upt mailing list</name>
            <email>upt@framalistes.org</email>
          </person>
              <person>
            <name></name>
            <email>#upt-packaging</email>
          </person>
            </contact>

            <links>
              <url href="https://framagit.org/upt/">Upt repositories</url>
              <url href="https://framagit.org/upt/upt/">Upt itself</url>
              <url href="https://framagit.org/upt/upt-freebsd">The FreeBSD backend</url>
            </links>

    <body><p>The Universal Package Manager (upt) is a tool designed to
	easily port
	software from common upstream package archives (such as
	<a href="https://rubygems.org/">https://rubygems.org/</a>)
	to
	various operating systems, including FreeBSD, of course.</p>
<p>A lot of similar tools already exist: pytoport (which
	creates FreeBSD
	ports for PyPI packages), gem2deb (which creates Debian
	packages from a
	Ruby gem), and many others.</p>
<p>The main difference between these tools and upt is that
	the latter uses
	a modular design, allowing it to handle packages from many
	sources and
	support many different operating systems through plugins.
	You may
	try upt by installing sysutils/py-upt,
	sysutils/py-upt-pypi and
	sysutils/py-upt-freebsd. Suppose you would like to package
	"upt-cran",
	which is hosted on PyPI. You could do it like so:</p>
<code><p>
	# upt package -f pypi -b freebsd -o /usr/ports/sysutils/
	upt-cran</p>
<p>$ tree /usr/ports/sysutils/py-upt-cran
	/usr/ports/sysutils/py-upt-cran
	|-- Makefile
	|-- distinfo
	`-- pkg-descr</p>
<p>$ cat sysutils/py-upt-cran/Makefile
	# $FreeBSD$</p>
<p>PORTNAME= upt-cran
	DISTVERSION= 0.1
	CATEGORIES= sysutils python
	MASTER_SITES= CHEESESHOP
	PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}</p>
<p>MAINTAINER= python@FreeBSD.org
	COMMENT= CRAN frontend for upt</p>
<p>LICENSE= BSD3CLAUSE
	LICENSE_FILE= ${WRKSRC}/XXX</p>
<p>RUN_DEPENDS=
	${PYTHON_PKGNAMEPREFIX}lxml&gt;0:devel/py-lxml@${PY_FLAVOR}
	\
	
	${PYTHON_PKGNAMEPREFIX}requests&gt;0:www/py-requests@${PY_FLAVOR}
	\
	
	${PYTHON_PKGNAMEPREFIX}upt&gt;0:sysutils/py-upt@${PY_FLAVOR}
	TEST_DEPENDS=
	${PYTHON_PKGNAMEPREFIX}requests-mock&gt;0:www/py-requests-mock@${PY_FLAVOR}</p>
<p>USES= python
	USE_PYTHON= autoplist distutils</p>
<p>.include &lt;bsd.port.mk&gt;</p>
</code>
<p></p>
<p>Note that the Rubygems and CPAN frontends are also
	available
	(sysutils/py-upt-rubygems and sysutils/py-upt-cpan).</p>
<p>Bug reports and comments about this new tool are welcome.</p>
</body>
</project>
<project cat="ports"><title>Wine on FreeBSD</title><contact>          <person>
            <name>Gerald Pfeifer</name>
            <email>gerald@FreeBSD.org</email>
          </person>
            </contact>

            <links>
              <url href="https://www.winehq.org">Wine homepage</url>
            </links>

    <body><p>A lot has happened since our last quarterly report. The
	Wine 4
	release series has been in our tree for nearly a year and
	proven
	rather stable. Both that port and wine-devel, which tracks
	bi-weekly development releases, have seen regular
	adjustments to
	infrastructure changes and small improvements, in
	particular also
	around non-default options.</p>
<p>Now we need help!</p>
<p>WoW64 (or Wine on Wine 64) allows running both 32-bit and
	64-bit
	Windows applications in one installation. A volunteer has
	proposed</p>
<ul><li>a general framework for lib32- companion libraries
	<a
	href="https://reviews.freebsd.org/D16830">https://reviews.freebsd.org/D16830</a></li>
<li>an approach directly using our Wine ports
	<a
	href="https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242625">https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242625</a> </li></ul>
<p>
	to make this work and we do not have the expertise nor
	facilities to
	properly review, test, and maintain those ourselves.</p>
<p>If you can facilitate getting (at least one of) these into
	the tree,
	please help! And if you'd like to assume co-maintainership
	or sole
	maintainership of emulators/wine*, that is an option, too.</p>
</body>
</project>
<project cat="third"><title>sysctlbyname-improved</title><contact>          <person>
            <name>Alfonso Sabato Siciliano</name>
            <email>alfonso.siciliano@email.com</email>
          </person>
            </contact>

            <links>
              <url href="https://gitlab.com/alfix/sysctlbyname-improved">gitlab.com/alfix/sysctlbyname-improved</url>
            </links>

    <body><p>The FreeBSD kernel maintains a Management Information Base
	(MIB) where a
	component (object) represents a parameter of the system.
	The sysctl() system
	call explores the MIB to find an object by its Object
	Identifier (OID) and
	calls its handler to get or set the value of the
	parameter.</p>
<p>The sysctlbyname() syscall (or the old function) accepts
	the name of the object
	(instead of its OID) to identify it. The purpose of this
	project is to allow
	sysctlbyname() to handle:</p>
<ul><li>a CTLTYPE_NODE with a no-NULL handler, example
	"kern.proc.pid.\&lt;pid\&gt;";</li>
<li>an object with some level-name equals to the '\0'
	character, example
	"security.jail.param.allow.mount."; </li></ul>
<p>
	A sysctlbyname() clone is provided:
	sysctlbyname_improved(), the
	implementation core is a new sysctl internal node to get
	the OID of a node
	by its name eventually expanded with an input for its
	handler; both, can be
	installed via _sysutils/sysctlbyname-improved-kmod_.
	The internal node is also used by the
	sysctlmif_oidinputbyname() function of
	the _devel/libsysctlmibinfo2_ userland library and can be
	handled by the
	SYSCTLINFO_BYNAME macro of the sysctlinfo interface
	(described in the previous
	quarterly status report).</p>
</body>
</project>
<project cat="third"><title>pot and the nomad pot driver</title><contact>          <person>
            <name>Luca Pizzamiglio</name>
            <email>pizzamig@FreeBSD.org</email>
          </person>
              <person>
            <name>Esteban Barrios</name>
            <email>esteban.barrios@trivago.com</email>
          </person>
            </contact>

            <links>
              <url href="https://github.com/trivago/nomad-pot-driver">Nomad pot driver</url>
              <url href="https://github.com/pizzamig/pot">Pot project</url>
              <url href="https://github.com/pizzamig/minipot">minipot</url>
            </links>

    <body><p>The pot utility added support to private bridges: a group
	of jail can now use a dedicated bridge, instead of
	the public one, improving isolation.
	Moreover, several small bugs have been found and fixed,
	and support to pre/post start/stop hook script has
	been added.</p>
<p>The nomad pot driver received support for nomad restart
	without drain and improved configuration
	stability.</p>
<p>A new port called minipot has been added: this port will
	install configuration files and dependencies,
	converting a FreeBSD machine in a single node
	cluster. It will install nomad, consul, pot, the
	nomad pot driver and traefik, already configured
	and ready to use.</p>
<p>Experimental work has been done on a tool that allows to
	create and run pot images (FreeBSD jails) on other
	operating systems (Linux and Mac), adopting an
	approach similar to docker machine.
	We hope to make this tool available soon.</p>
<p>Next steps:</p>
<ul><li>add dual IP stack support to pot</li>
<li>add private bridge support to the nomad pot driver</li>
<li>improve usability to create images </li></ul>
<p></p>
</body>

        <sponsor>
          trivago N.V.
        </sponsor>
    </project>
<project cat="third"><title>7 Days Challenge</title><contact>          <person>
            <name>Michael Crilly</name>
            <email>mike@opsfactory.com.au</email>
          </person>
            </contact>

            <links>
              <url href="https://wiki.freebsd.org/MichaelCrilly/7dayschallenge">7 Days Challenge</url>
            </links>

    <body><p>The 7 Days Challenge is an educational initiative to help
	people onboard with FreeBSD more easily.</p>
<p>It will use a combination of tutorials, guides and how-tos
	to get users engaged with
	FreeBSD quickly, target specific end goals the user might
	have for FreeBSD, and more.</p>
<p>The primary objective is to demonstrate FreeBSD's
	capabilities as a modern, relevant operating
	system in today's Cloud centric, automated business
	models.</p>
</body>

        <sponsor>
          OpsFactory Pty Ltd (Australia)
        </sponsor>
    </project>
<project cat="third"><title>NomadBSD</title><contact>          <person>
            <name>NomadBSD Team</name>
            <email>info@NomadBSD.org</email>
          </person>
            </contact>

            <links>
              <url href="https://www.nomadbsd.org/">NomadBSD Website</url>
              <url href="https://www.github.com/NomadBSD/NomadBSD">NomadBSD Github</url>
              <url href="https://www.freelists.org/list/nomadbsddevs">NomadBSD Developer Mailing List</url>
            </links>

    <body><p>NomadBSD is a persistent live system for USB flash drives,
	based on FreeBSD.
	Together with automatic hardware detection and setup, it
	is configured to be
	used as a desktop system that works out of the box, but
	can also be used for
	data recovery, for educational purposes, or testing
	FreeBSD's hardware
	compatibility.</p>
<p>After one release candidate the NomadBSD Team finished and
	released NomadBSD
	1.3 on December 7th.
	This release is based on FreeBSD 12.1, fixed a lot of bugs
	and added new
	packages and features.
	Along those features are the option to install NomadBSD on
	ZFS and the use of an
	automatic configuration when running NomadBSD in
	VirtualBox.</p>
<p>New tools developed by the NomadBSD Team and added to
	version 1.3 are
	nomadbsd-dmconfig to select a display manager theme,
	nomadbsd-adduser which adds
	new user accounts and DSBBg to change the background
	image. All these are using
	the Qt-Toolkit.</p>
<p>In Q4 we added two mirrors in France and Germany and would
	like to thank
	nosheep.fr and fau.de for them.</p>
<p>We are looking for people to help the project. Help is
	much appreciated in all areas:</p>
<ul><li>Translation of program interfaces</li>
<li>Design artwork</li>
<li>Programming new tools, extend existing ones</li>
<li>Tests and Bug reports / UX and feature suggestions</li>
<li>Mirrors outside of Europe </li></ul>
<p>
	Open tasks:</p>
<ul><li>Support installation on disk partitions and add a
	partition editor GUI.</li>
<li>Complete disk encryption</li>
<li>Add a user-friendly network manager </li></ul>
</body>
</project>
</report>