EVA-2020-02.git
4 years agofix(bklog):Fix buffer drift via SECONDS
Steven Baltakatei Sandoval [Tue, 14 Jul 2020 02:08:49 +0000 (02:08 +0000)]
fix(bklog):Fix buffer drift via SECONDS

==Change 1==
Fix drift in when bklog starts reading data via `while read` by
enforcing buffer termination when SECONDS (script variable that
increments every second) rises above a number determined by the
current bufferRound number and bufferTTL.

==Change 2==
Also initially advance SECONDS so it aligns with the remainder of
dividing the current seconds remaining in the day by bufferTTL. The
result should be that, if the user specifies a bufferTTL value that is
a clean fraction of a time element (ex: a bufferTTL of 5 minutes = 300
seconds), then each buffer round should start at a clean fraction of
absolute time with respect to the day (ex: 02:05, 02:10, 02:15,
etc.). This may assist searching through saved files since instead of
files named:

20200714T000019+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T000521+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T001023+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T001525+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T002027+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T002529+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T003031+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T003533+0000--PT5M0S..hostname_location.nmea.gz.age

they will be named something more like:

20200714T000000+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T000500+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T001000+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T001500+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T002000+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T002500+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T003000+0000--PT5M0S..hostname_location.nmea.gz.age
20200714T003500+0000--PT5M0S..hostname_location.nmea.gz.age

==Change 3==

Fix how the ISO-8601 duration string is calculated. Instead of using a
fixed value of `bufferTTL` seconds, record the epoch start and end
times (in seconds since 1970-01-01) of the main data gathering loop
and then calculate the difference. Now, actual deviations in buffer
gathering durations (ex: the first buffer round will likely be shorter
than a normal one) will be accurately represented.

4 years agofix(bklog):Add 2nd try to checkMakeTar() if tar --list fails
Steven Baltakatei Sandoval [Mon, 13 Jul 2020 22:31:14 +0000 (22:31 +0000)]
fix(bklog):Add 2nd try to checkMakeTar() if tar --list fails

4 years agodoc(exec):Create coding plan for bklog, retire bkgpslog plan
Steven Baltakatei Sandoval [Sun, 12 Jul 2020 21:35:16 +0000 (21:35 +0000)]
doc(exec):Create coding plan for bklog, retire bkgpslog plan

Create coding plan for `bklog` at `exec/bklog-plan.org`.

Retire coding plan for `bkgpslog` at `exec/bkgpslog-plan.org`.

4 years agodoc(bklog):Update location readme with bklog details
Steven Baltakatei Sandoval [Sun, 12 Jul 2020 21:05:23 +0000 (21:05 +0000)]
doc(bklog):Update location readme with bklog details

4 years agochore(bklog):Update vbm() to include script name
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 09:28:00 +0000 (09:28 +0000)]
chore(bklog):Update vbm() to include script name

4 years agofix(pressure):bmp388.py:Make executable
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 09:09:31 +0000 (09:09 +0000)]
fix(pressure):bmp388.py:Make executable

4 years agodoc(pressure):Note python-smbus dependency for bmp388.py script
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 08:51:45 +0000 (08:51 +0000)]
doc(pressure):Note python-smbus dependency for bmp388.py script

4 years agofeat(pressure):Add python script for outputting pressure to stdout
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 08:42:46 +0000 (08:42 +0000)]
feat(pressure):Add python script for outputting pressure to stdout

4 years agofix(bklog):Fix debug and status messages
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 08:23:00 +0000 (08:23 +0000)]
fix(bklog):Fix debug and status messages

4 years agotest(bklog):Uncomment cleanup line since script functional
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 08:02:18 +0000 (08:02 +0000)]
test(bklog):Uncomment cleanup line since script functional

Use of appendFileTar() to append a file to a tar using the file's same
location as a temporary working file caused problems. More direct
'eval' command string formation and 'tar --append' usage solved empty
file problem.

4 years agodebug(bklog):Test tar --append
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 07:54:48 +0000 (07:54 +0000)]
debug(bklog):Test tar --append

4 years agodebug(bklog):Test more direct tar --append operation
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 07:51:48 +0000 (07:51 +0000)]
debug(bklog):Test more direct tar --append operation

4 years agochore(bklog):Bump version for recent commit change.
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 07:37:04 +0000 (07:37 +0000)]
chore(bklog):Bump version for recent commit change.

4 years agofix(bklog):Add missing appendArgTar() function
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 07:35:43 +0000 (07:35 +0000)]
fix(bklog):Add missing appendArgTar() function

Note:Used by magicWriteVersion() function.

4 years agodebug(bklog):Fix version appending; test filewrite change
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 07:33:28 +0000 (07:33 +0000)]
debug(bklog):Fix version appending; test filewrite change

4 years agodebug(bklog):Debugging write command
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 07:10:45 +0000 (07:10 +0000)]
debug(bklog):Debugging write command

Note: bklog appending appropriately named files to tar but they are
all empty.

4 years agodebug(bklog):Add debug msgs in magicParseProcessStrings
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 06:43:07 +0000 (06:43 +0000)]
debug(bklog):Add debug msgs in magicParseProcessStrings

Add debug msgs to try and debug error in procStrings and procFileExts
arrays.

4 years agofix(bklog):Fix how procStrings and procFileExts arrays assembled
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 06:39:19 +0000 (06:39 +0000)]
fix(bklog):Fix how procStrings and procFileExts arrays assembled

Default raw data was not being included in output file processing
since procStrings and procFileExts arrays were being completely
overwritten instead of being appended by argProcStrings array
assembled in magicParseProcessStrings() function.

4 years agostyle(bklog):Combine functions that parse '-r' and '-R'
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 06:21:32 +0000 (06:21 +0000)]
style(bklog):Combine functions that parse '-r' and '-R'

Combine functions magicParseRecipientArgs() and
magicParseRecipientDir() into magicParseRecipients().

Group showUsage() function with other script-specific functions.

4 years agodebug(bklog):Format DEBUG messages to align better
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 05:00:08 +0000 (05:00 +0000)]
debug(bklog):Format DEBUG messages to align better

4 years agodebug(bklog):Add debug msgs to write function
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 04:58:57 +0000 (04:58 +0000)]
debug(bklog):Add debug msgs to write function

4 years agodebug(bklog):Add various debug msgs with function names
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 04:51:21 +0000 (04:51 +0000)]
debug(bklog):Add various debug msgs with function names

4 years agofix(bklog):Add missing function dateTimeShort()
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 04:32:26 +0000 (04:32 +0000)]
fix(bklog):Add missing function dateTimeShort()

4 years agotest(bklog):Add debug message in main loop
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 04:30:51 +0000 (04:30 +0000)]
test(bklog):Add debug message in main loop

4 years agotest(bklog):Add debug messages in magic functions
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 04:24:41 +0000 (04:24 +0000)]
test(bklog):Add debug messages in magic functions

4 years agodebug(bklog):Remove debug msgs from main loop
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 04:17:53 +0000 (04:17 +0000)]
debug(bklog):Remove debug msgs from main loop

4 years agofix(bklog):Convert debug echos into vbm()
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 04:16:03 +0000 (04:16 +0000)]
fix(bklog):Convert debug echos into vbm()

4 years agofix(bklog):Add missing functions, remove ref to removed func
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 04:13:32 +0000 (04:13 +0000)]
fix(bklog):Add missing functions, remove ref to removed func

+checkMakeTar()
+timeUntilNextDay()
+timeUntilNextHour()

-magicParseStoreRaw() ref

4 years agofix(bklog):Fix boolean '-' test in magicParseProcessStrings()
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 04:10:40 +0000 (04:10 +0000)]
fix(bklog):Fix boolean '-' test in magicParseProcessStrings()

4 years agotest(bklog):Add debug msg to magicParseProcessStrings()
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 04:07:18 +0000 (04:07 +0000)]
test(bklog):Add debug msg to magicParseProcessStrings()

4 years agotest(bklog):Add debug msgs to magicParseProcessStrings()
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 04:04:49 +0000 (04:04 +0000)]
test(bklog):Add debug msgs to magicParseProcessStrings()

4 years agofix(bklog):Add missing validateInput()
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 04:01:45 +0000 (04:01 +0000)]
fix(bklog):Add missing validateInput()

4 years agofix(bklog):Add missing checkAgePubkey(), reorder functions
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 03:59:12 +0000 (03:59 +0000)]
fix(bklog):Add missing checkAgePubkey(), reorder functions

4 years agochore(bklog):Remove extraneous echoerr references
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 03:53:01 +0000 (03:53 +0000)]
chore(bklog):Remove extraneous echoerr references

4 years agotest(bklog):Minor usage correction
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 03:46:45 +0000 (03:46 +0000)]
test(bklog):Minor usage correction

4 years agofix(bklog):Add missing function timeDuration() from bkgpslog
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 01:19:19 +0000 (01:19 +0000)]
fix(bklog):Add missing function timeDuration() from bkgpslog

Rearrange function declarations

4 years agofeat(bklog):Copy bkgpslog functions, rewrite main
Steven Baltakatei Sandoval [Sat, 11 Jul 2020 01:11:02 +0000 (01:11 +0000)]
feat(bklog):Copy bkgpslog functions, rewrite main

4 years agoMerge branch 'develop' into feature/bash-logging-filter/BK-2020-02
Steven Baltakatei Sandoval [Fri, 10 Jul 2020 05:42:25 +0000 (05:42 +0000)]
Merge branch 'develop' into feature/bash-logging-filter/BK-2020-02

4 years agostyle(bkgpslog):Change VAR_NAMES to varNames
Steven Baltakatei Sandoval [Fri, 10 Jul 2020 05:29:19 +0000 (05:29 +0000)]
style(bkgpslog):Change VAR_NAMES to varNames

Change all-caps variable names to mix of lowercase and uppercase names
in order to avoid naming conflicts with environment variables.

Ref: https://mywiki.wooledge.org/BashGuide/InputAndOutput

4 years agochore(bkgpslog):Change allcaps varnames to lower/uppercase
Steven Baltakatei Sandoval [Fri, 10 Jul 2020 02:44:45 +0000 (02:44 +0000)]
chore(bkgpslog):Change allcaps varnames to lower/uppercase

4 years agochore(bklog):Add more metadata
Steven Baltakatei Sandoval [Fri, 10 Jul 2020 02:32:50 +0000 (02:32 +0000)]
chore(bklog):Add more metadata

4 years agofeat(bklog):Add metadata, version
Steven Baltakatei Sandoval [Fri, 10 Jul 2020 02:26:56 +0000 (02:26 +0000)]
feat(bklog):Add metadata, version

4 years agofeat(bklog):Create barebones logging script for general logger
Steven Baltakatei Sandoval [Fri, 10 Jul 2020 02:10:29 +0000 (02:10 +0000)]
feat(bklog):Create barebones logging script for general logger

4 years agofix(bkgpslog):Recreate working dir if missing
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 23:59:56 +0000 (23:59 +0000)]
fix(bkgpslog):Recreate working dir if missing

4 years agotest(bkgpslog):Add sticky bit to DIR_TMP
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 23:51:32 +0000 (23:51 +0000)]
test(bkgpslog):Add sticky bit to DIR_TMP

Add debug message when DIR_TMP removal is completed.

4 years agostyle(bkgpslog):Minor boilerplate modification
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 20:32:00 +0000 (20:32 +0000)]
style(bkgpslog):Minor boilerplate modification

4 years agofix(bkgpslog):Fix PATHOUT_TAR filename dateShort() call
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 20:10:47 +0000 (20:10 +0000)]
fix(bkgpslog):Fix PATHOUT_TAR filename dateShort() call

4 years agotest(bkgpslog):Test date format bug
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 19:47:15 +0000 (19:47 +0000)]
test(bkgpslog):Test date format bug

4 years agotest(bkgpslog):Add debug messages
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 18:55:21 +0000 (18:55 +0000)]
test(bkgpslog):Add debug messages

Bug still exists if `bkgpslog` run by cron instead of directly by
user.

4 years agotest(bkgpslog):Minor debug msg
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 13:38:43 +0000 (13:38 +0000)]
test(bkgpslog):Minor debug msg

4 years agotest(bkgpslog):Add debug tests
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 12:32:25 +0000 (12:32 +0000)]
test(bkgpslog):Add debug tests

4 years agochore(bkgpslog):Minor verbose message fix
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 12:15:58 +0000 (12:15 +0000)]
chore(bkgpslog):Minor verbose message fix

4 years agofix(bkgpslog):Make static initial BUFFER_TTL dynamic
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 12:02:47 +0000 (12:02 +0000)]
fix(bkgpslog):Make static initial BUFFER_TTL dynamic

Static value was used during debugging but should have been made
dynamic.

4 years agochore(bkgpslog):Add minor comment
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 11:45:52 +0000 (11:45 +0000)]
chore(bkgpslog):Add minor comment

4 years agofeat(bkgpslog):Add PID control loop for buffer start sched
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 11:37:53 +0000 (11:37 +0000)]
feat(bkgpslog):Add PID control loop for buffer start sched

Add PID loop to adjust time delay between when buffer read-write jobs
are spun off in main while loop. The adjustments are made in order to
keep startup times of write jobs BUFFER_TTL seconds apart. This PID
loop calculation dynamically accounts for any future synchronous
calculations that may be added in the main while loop (including
itself).

4 years agoMerge branch 'feature/location-logging/EVA-2020-02' into develop
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 11:35:36 +0000 (11:35 +0000)]
Merge branch 'feature/location-logging/EVA-2020-02' into develop

4 years agofix(bkgpslog):Remove debug sleep
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 10:39:43 +0000 (10:39 +0000)]
fix(bkgpslog):Remove debug sleep

4 years agotest(bkgpslog):More debug msgs
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 10:36:03 +0000 (10:36 +0000)]
test(bkgpslog):More debug msgs

4 years agotest(bkgpslog):Add debug messages
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 10:16:38 +0000 (10:16 +0000)]
test(bkgpslog):Add debug messages

4 years agofix(bkgpslog):fix pid float calc
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 10:04:57 +0000 (10:04 +0000)]
fix(bkgpslog):fix pid float calc

4 years agotest(bkgpslog):more pid float testing
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 10:02:51 +0000 (10:02 +0000)]
test(bkgpslog):more pid float testing

4 years agofix(bkgpslog):Fix float calc in buffer PID adjust
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 09:59:26 +0000 (09:59 +0000)]
fix(bkgpslog):Fix float calc in buffer PID adjust

4 years agotest(bkgpslog):More PID testing
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 09:37:07 +0000 (09:37 +0000)]
test(bkgpslog):More PID testing

4 years agotest(bkgpslog):Fix debug msgs
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 09:30:07 +0000 (09:30 +0000)]
test(bkgpslog):Fix debug msgs

4 years agotest(bkgpslog):Test different PID calc
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 09:27:46 +0000 (09:27 +0000)]
test(bkgpslog):Test different PID calc

4 years agotest(bkgpslog):debug:Shift magicBufferSleepPID
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 09:13:17 +0000 (09:13 +0000)]
test(bkgpslog):debug:Shift magicBufferSleepPID

4 years agotest(bkgpslog):Add debug code and negative int catch
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 09:04:33 +0000 (09:04 +0000)]
test(bkgpslog):Add debug code and negative int catch

4 years agotest(bkgpslog):Debug testing PID loop
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 08:45:42 +0000 (08:45 +0000)]
test(bkgpslog):Debug testing PID loop

4 years agofeat(bkgpslog):Add PID correction of buffer round timing
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 08:31:59 +0000 (08:31 +0000)]
feat(bkgpslog):Add PID correction of buffer round timing

Add function to apply PID (proportional, integral, derivative)
adjustments to the sleep period between each buffer round in order to
compensate for lag caused by synchronous calculations between each
buffer round (including the PID adjustment calculation itself).

4 years agofix(bkgpslog):Remove nuisance error if -R not set
Steven Baltakatei Sandoval [Tue, 7 Jul 2020 01:48:52 +0000 (01:48 +0000)]
fix(bkgpslog):Remove nuisance error if -R not set

Error was appearing if -e were set but -R wasn't. -R is not a required
option.

4 years agofix(bkgpslog):Fix recPubKeysValid array bloat
Steven Baltakatei Sandoval [Mon, 6 Jul 2020 20:01:18 +0000 (20:01 +0000)]
fix(bkgpslog):Fix recPubKeysValid array bloat

Implemented recPubKeysValidStatic array for magicParseRecipientDir to
process instead of recPubKeysValid array.

4 years agofix(bkgpslog):Actually add recipient watch dir check
Steven Baltakatei Sandoval [Mon, 6 Jul 2020 19:47:03 +0000 (19:47 +0000)]
fix(bkgpslog):Actually add recipient watch dir check

4 years agotest(bkgpslog):Add verbose debug msg to recipient dir code
Steven Baltakatei Sandoval [Mon, 6 Jul 2020 19:10:32 +0000 (19:10 +0000)]
test(bkgpslog):Add verbose debug msg to recipient dir code

4 years agofix(bkgpslog):Fix error in encryption option handling, bump ver
Steven Baltakatei Sandoval [Mon, 6 Jul 2020 19:02:09 +0000 (19:02 +0000)]
fix(bkgpslog):Fix error in encryption option handling, bump ver

Note: 0.4.0 version includes new '-b', '-B' options for specifying buffer and
script time-to-live values.

Note: 0.4.0 version includes new '-R' option for specifying directory
containing files specifying recipient pubkeys.

4 years agofeat(bkgpslog):Enable custom TTL for buffer and script
Steven Baltakatei Sandoval [Mon, 6 Jul 2020 18:42:14 +0000 (18:42 +0000)]
feat(bkgpslog):Enable custom TTL for buffer and script

New options: '-b' (buffer), '-B' (script).

Updated showUsage().

4 years agofix(bkgpslog):Fix broken tempdir var name
Steven Baltakatei Sandoval [Mon, 6 Jul 2020 16:55:37 +0000 (16:55 +0000)]
fix(bkgpslog):Fix broken tempdir var name

4 years agofix(bkgpslog):Add '-e'/'-R' checks in -R parse
Steven Baltakatei Sandoval [Sun, 5 Jul 2020 17:31:07 +0000 (17:31 +0000)]
fix(bkgpslog):Add '-e'/'-R' checks in -R parse

Also add comments to magic functions in main()

4 years agofix(bkgpslog):Check -e, -r, -R option combinations; update usage
Steven Baltakatei Sandoval [Sun, 5 Jul 2020 17:17:36 +0000 (17:17 +0000)]
fix(bkgpslog):Check -e, -r, -R option combinations; update usage

4 years agofeat(bkgpslog):Add functions, group code into functions
Steven Baltakatei Sandoval [Sun, 5 Jul 2020 16:56:56 +0000 (16:56 +0000)]
feat(bkgpslog):Add functions, group code into functions

Add several fucntions to add future new feature (recipient dir watch)
as well as to group existing code blocks into their own functions for
readability. Changes include:

* Add checkAgePubkey() function: checks that a provided string doesn't
throw an error when fed as a recipient string to `age`.

* Pushed several code blocks into their own "magic" functions
** magicParseRecipientDir() : (future feature): To be run at each
buffer session to update the recipient array in response to changes in
a specified recipient directory.
** magicParseRecipientArgs(): Parses strings provided by '-r'
option and format output accordingly. Existing code.
** magicParseCompressionArgs(): Responds to '-c' option by specifying
compression function and output file suffix.
* Update showUsage() to document future '-R' recipient dir option.

4 years agoMerge branch 'feature/location-logging/EVA-2020-02' into develop
Steven Baltakatei Sandoval [Sat, 4 Jul 2020 22:13:09 +0000 (22:13 +0000)]
Merge branch 'feature/location-logging/EVA-2020-02' into develop

4 years agochore(bkgpslog):Bump version number to include recent change
Steven Baltakatei Sandoval [Sat, 4 Jul 2020 22:12:43 +0000 (22:12 +0000)]
chore(bkgpslog):Bump version number to include recent change

4 years agoMerge branch 'feature/location-logging/EVA-2020-02' into develop
Steven Baltakatei Sandoval [Sat, 4 Jul 2020 22:11:45 +0000 (22:11 +0000)]
Merge branch 'feature/location-logging/EVA-2020-02' into develop

4 years agofeat(bkgpslog):Add additional validation for age pubkeys
Steven Baltakatei Sandoval [Sat, 4 Jul 2020 21:46:37 +0000 (21:46 +0000)]
feat(bkgpslog):Add additional validation for age pubkeys

4 years agochore(bkgpslog):Confirm age can encrypt to ssh pubkey string master
Steven Baltakatei Sandoval [Sat, 4 Jul 2020 00:32:15 +0000 (00:32 +0000)]
chore(bkgpslog):Confirm age can encrypt to ssh pubkey string

Ssh pubkey strings have a space in them which was breaking
appendFileTar() function. 'eval' was used to fix how appendFileTar()
and appendArgTar() execute command strings.

4 years agofix(bkgpslog):Use eval to build command strings
Steven Baltakatei Sandoval [Sat, 4 Jul 2020 00:22:45 +0000 (00:22 +0000)]
fix(bkgpslog):Use eval to build command strings

Use eval to build command strings instead of simply putting bare
unquoted variable. This is necessary because the `recipients` variable
used to build a command to encrypt files may contain quotes if one of
the recipients is an ssh key which may have a space:

    ssh-rsa AAAAB...

This should fix the inability of `bkgpslog` to accept quoted ssh
pubkey strings as a specified `-r` option argument.

4 years agotest(bkgpslog):Test recipient string quoting
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 22:54:50 +0000 (22:54 +0000)]
test(bkgpslog):Test recipient string quoting

recipient strings with spaces in them don't fare well with `\"` in
them when such strings are used to create new strings.

4 years agofix(bkgpslog):Fix pubkey strings with spaces
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 22:43:05 +0000 (22:43 +0000)]
fix(bkgpslog):Fix pubkey strings with spaces

ssh pubkeys have a space in them and caused age encryption operation
to fail.

4 years agodoc(bkgpslog):Add TODO for future features
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 22:02:17 +0000 (22:02 +0000)]
doc(bkgpslog):Add TODO for future features

- recipient watch folder

- simplify gps data

4 years agodoc(bkgpslog-plan):Closed TODO item
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 20:58:01 +0000 (20:58 +0000)]
doc(bkgpslog-plan):Closed TODO item

4 years agostyle(bkgpslog):Minor semicolons
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 20:46:46 +0000 (20:46 +0000)]
style(bkgpslog):Minor semicolons

4 years agochore(bkgpslog):Minor comment cleanup
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 20:38:01 +0000 (20:38 +0000)]
chore(bkgpslog):Minor comment cleanup

4 years agofix(bkgpslog):Simplify main loop further
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 20:31:53 +0000 (20:31 +0000)]
fix(bkgpslog):Simplify main loop further

Move `gpspipe` command itself into write function.

4 years agofix(bkgpslog):Add missing gpspipe option
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 20:12:59 +0000 (20:12 +0000)]
fix(bkgpslog):Add missing gpspipe option

Need `-o` to write to file.

4 years agofix(bkgpslog):Reduce logging downtime between buffer rounds
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 19:49:50 +0000 (19:49 +0000)]
fix(bkgpslog):Reduce logging downtime between buffer rounds

Reduce logging downtime between buffer rounds by moving commands into
the asynchronous `magicWriteBuffer()` function that is spun off
immediately after `gpspipe` has collected data.

Add functionality to `dateTimeShort()` and `dateShort` so the start
time of each saved chunk appended to the `tar` archive can be
calculated indirectly from when `magicWriteBuffer()` starts rather
than performing slow `date` and associated bash variable changes in
the main loop. This start time is needed to name each inserted file as
well as to identify which `tar` file to insert into.

Save gpspipe buffer data `/dev/shm` instead of a Bash variable.

Add `appendFileTar()` function to facilitate reading and processing of
buffer data from `/dev/shm`.

4 years agodoc(bkgpslog):Add note to simplify main loop
Steven Baltakatei Sandoval [Fri, 3 Jul 2020 17:16:28 +0000 (17:16 +0000)]
doc(bkgpslog):Add note to simplify main loop

4 years agofix(bkgpslog):Increase buffer period 60s to 5m to reduce write freq
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 23:46:10 +0000 (23:46 +0000)]
fix(bkgpslog):Increase buffer period 60s to 5m to reduce write freq

4 years agofix(bkgpslog):Remove debug yells
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 22:15:45 +0000 (22:15 +0000)]
fix(bkgpslog):Remove debug yells

4 years agostyle(bkgpslog):checkMakeTar():Add/remove debug code
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 22:12:58 +0000 (22:12 +0000)]
style(bkgpslog):checkMakeTar():Add/remove debug code

4 years agotest(bkgpslog):Bump version number to 0.3.0
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 22:00:42 +0000 (22:00 +0000)]
test(bkgpslog):Bump version number to 0.3.0

Incompatible changes from 0.2:

- File writes asynchronous from main script forced to be sequential to
one another to avoid simultaneous writes to same file. Tar write code
consolidated.

- VERSION file format changed to include more fields. VERSION file
generation code cosolidated.

4 years agofix(bkgpslog):Clarify echoed newlines per Shellcheck
Steven Baltakatei Sandoval [Thu, 2 Jul 2020 21:55:50 +0000 (21:55 +0000)]
fix(bkgpslog):Clarify echoed newlines per Shellcheck

Changed echo "blah""\n""blah" into echo "blah""\\n""blah"