From 65bb3fb6e073ea24e520b34755d66be187bd89be Mon Sep 17 00:00:00 2001
From: "Eric S. Raymond"
We prefer Python anywhere we aren't required to use C by technical constraints — in particular, for @@ -319,6 +316,27 @@ costs from the places in the codebase where we can least afford it to the places where it is most manageable and inflicts the least long-term maintenance burden.
+Because Python is not used at runtime by the daemon, Python +version-skew problem (such as the 2 to 3 transition) essentally +never have any affect on or reveal bugs in the C code.
+ +A significant part of the reason is that in GPSD-world the notion +of "target Python" is not actually meaningful for anything but a +handful of test and profiling utilities. On the very
rare occasions +that those have had bugs (fewer than a half-dozen in the entire +project history) they have generally been due to glitches in Python's +OS bindings - the least rare categories related to the socket and pty +libraries. + +Therefore, what version of Python code such as the regression-test +framework is running under is generally unimportant if it runs at all. +To minimize prroblems do to the ongoing Python 2 to 3 transition, +follow the "polyglot" guidelines in Practical +Python porting for systems programmers. +
GPSD is written to a high quality standard, and has a defect rate @@ -355,7 +373,7 @@ go through the following checklist:
in detail why the regression broke in your change comment.There's a whole section on adding new drivers later in this document.
-Wee like getting patxges mnade using git format-patch from a +repository clone, as this means we don't have to compose a change +comment and attribution.
-We prefer diff -u format, but diff -c is acceptable. Do not send -patches in the default (-e or ed) mode, as they are too brittle.
+Failing that prefer diff -u format, but diff -c is acceptable. Do +not send patches in the default (-e or ed) mode, as they are too +brittle.
When you send a patch, we expect you to do at least the first three of the same verification steps we require from -- cgit v1.2.1