gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gpsd-dev] [PATCH] Minor fixes to INSTALL and build.txt.


From: Fred Wright
Subject: [gpsd-dev] [PATCH] Minor fixes to INSTALL and build.txt.
Date: Sun, 10 Apr 2016 14:06:27 -0700

Aside from some minor corrections and some additional info in
build.txt, this removes Python 3 from the Python alternatives in the
"generic build" section, since scons doesn't currently work with
Python 3.  It's still included as a runtime possibility.
---
 INSTALL   | 10 +++++-----
 build.txt | 30 +++++++++++++++++++++++-------
 2 files changed, 28 insertions(+), 12 deletions(-)

diff --git a/INSTALL b/INSTALL
index ba4e934..aeafc8c 100644
--- a/INSTALL
+++ b/INSTALL
@@ -54,7 +54,7 @@ running Fedora Core, Ubuntu, or stock Debian you can skip 
this step,
 as the stock configuration has the right properties.
 
 gpsd requires two things: (1) that GPS devices have group read and
-write enabled, and (2) all of them are have the same group ID as a
+write enabled, and (2) all of them have the same group ID as a
 prototypical device, typically /dev/ttyS0 under Linux or /dev/tty00
 under *BSD. It does not actually matter what the owning group is, as
 gpsd will look this up on startup.  Alternatively, (3), you can set a
@@ -87,16 +87,16 @@ A minimum build of GPSD can run pretty close to the metal; 
all it
 absolutely needs is the C runtime support. The test clients and
 various additional features have additional prerequisites:
 
-|================================================================================
+|===============================================================================
 |pthreads library             | support for PPS timekeeping on serial GPSes
 |DBUS                         | gpsd will issue DBUS notifications
 |ncurses                      | a test client and the GPS monitor depend on 
this
 |libtinfo5                    | shared low-level terminfo library (see below)
 |libusb-1.0.x or later        | better USB device discovery
 |Qt + qmake                   | libQgpsmm depends on this
-|python2.x(x>=6) or 3.y(y>=3) | required for various clients and utilities
+|python2.x(x>=6) or 3.y(y>=2) | required for various clients and utilities
 |python-GI bindings           | the test clients xgps and xgpsspeed, need this
-|================================================================================
+|===============================================================================
 
 Some ncurses packages contain the terminfo library; some break it out
 separately as libtinfo5 or libtinfo.
@@ -225,7 +225,7 @@ 
http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41
 gpsd will build, install and run on the Rasberry Pi (RasPi) and Pi 2
 using Debian jessie.  Other distributions based on
 Debian (raspbian, etc) will work fine as well.  The gpsd
-package in Debian Wheezy is known to be flakey, be sure to update to a
+package in Debian Wheezy is known to be flaky, be sure to update to a
 new version of gpsd from source.
 
 === Raspbian ===
diff --git a/build.txt b/build.txt
index 7ee3033..d03b299 100644
--- a/build.txt
+++ b/build.txt
@@ -23,9 +23,12 @@ If you get any errors, you need to read the detailed 
instructions that follow.
 
 If 'scons' fails, it is possible that your target system has moved to
 Python 3 as its default 'python' interpreter, but you can work around
-it by saying "python2 /usr/bin/scons" or something similar.  GPSD's
-own Python scripts assume that "#!/usr/bin/env python2" will invoke a
-Python 2 interpreter.
+it by saying "python2 /usr/bin/scons" or something similar.
+
+Occasionally, builds may fail in completely bizarre ways due to a corrupted
+scons database.  This seems to relate to ^Cing the build at an inopportune
+moment.  If you suspect that, see "Reverting to a clean state" below and
+then try again.
 
 == Supported platforms ==
 
@@ -56,8 +59,8 @@ Necessary components for any build:
 
 |============================================================================
 |C compiler                    | gpsd and client library are written in C
-|Python 2.x(x>=6) or 3.y(y>=3) | some code is generated from python scripts
 |scons                         | for executing the build recipe
+|Python 2.x(x>=6)              | for scons and some helper scripts
 |============================================================================
 
 === C compiler ===
@@ -190,7 +193,7 @@ These are listed in rough order of devices covered as of 
2013; the
 PL23203 by itself accounts for over 70% of deployed USB mice.  We
 recommend building with pl2303, ftdi_sio, cypress_m8, and cp210x.
 
-We've receive a bug report that suggests the Python test framework
+We've received a bug report that suggests the Python test framework
 requires legacy PTY support (CONFIG_LEGACY_PTYS) from the Linux
 kernel.  You should make sure you're in the 'dialout' group in order
 to have permission to use these devices.
@@ -390,7 +393,7 @@ set to a different value if necessary, or set to the empty 
string to
 disable Python coveraging.  The latter happens automatically (with a
 message) if the tool cannot be found.  When running multiple jobs with
 "-j", if python_coverage has its default value, "--parallel" is automatically
-appended to the command.  With a non-default setting, accomodating
+appended to the command.  With a non-default setting, accommodating
 parallelism is the user's responsibility.
 
 For instructions on how to live-test the software, see the file INSTALL.
@@ -408,7 +411,20 @@ generated test programs.
 You can run 'scons sconsclean' to remove most of the configuration
 state that scons keeps.  Be aware, however, that doing this can
 confuse scons; you may need to run 'scons --config=force' afterwards
-to make your build succeed.
+to make your build succeed.  At the time of this writing, you can also
+remove all the scons state with "rm -rf .scon*", though that could change
+in a future release of scons.  This method does not "confuse scons".
+If you use any of these actions in combination with "scons -c", do the
+latter first, as removing scons's state may change its notions of what
+needs to be cleaned.
+
+If you're building in a clone of the git repository, you can use
+"git clean -dxf" to remove all untracked files.  Note, however, that
+this will remove any files you have created on your own, in addition
+to build products and scons temporaries.  You can alternatively use
+"git clean -dxn" to see what would be removed without actually removing
+anything, or "git clean -dxi" to remove things selectively.  Using
+"git clean" after "scons -c" usually results in a fairly short list.
 
 == Notes on Android:
 
-- 
2.8.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]