Coder Social home page Coder Social logo

ocli's Introduction

OwnTracks

OwnTracks allows you to keep track of your own location. You can build your private location diary or share it with your family and friends. OwnTracks is open-source and uses open protocols for communication so you can be sure your data stays secure and private.

To get started, install OwnTracks on your smartphone. Afterwards you can connect it to an existing server straight away or follow the guide in our Documentation to set up your own.

Documentation

Build Status

ocli's People

Contributors

amotl avatar illuusio avatar jpmens avatar linusg avatar mnhauke avatar snh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ocli's Issues

ocli does not compile with gpsd >= 3.20

$ make
cc -Wall -Werror -Os -I/usr/local/include   -c -o owntracks-cli-publisher.o owntracks-cli-publisher.c
owntracks-cli-publisher.c: In function 'print_fix':
owntracks-cli-publisher.c:267:2: error: implicit declaration of function 'unix_to_iso8601'; did you mean 'now_to_iso8601'? [-Werror=implicit-function-declaration]
  267 |  unix_to_iso8601(ttime, tbuf, sizeof(tbuf));
      |  ^~~~~~~~~~~~~~~
      |  now_to_iso8601
owntracks-cli-publisher.c: In function 'conditionally_log_fix':
owntracks-cli-publisher.c:450:13: error: incompatible types when assigning to type 'double' from type 'timespec_t' {aka 'struct timespec'}
  450 |  int_time = fix->time;
      |             ^~~
cc1: all warnings being treated as errors
make: *** [<builtin>: owntracks-cli-publisher.o] Error 1

it seems unix_to_iso8601() is not longer available in recent gpsd versions....
https://gitlab.com/gpsd/gpsd/-/commit/095b023b5367ae0efe15e0d69f9a3f4de41396b8

Add tools for releasing and shipping

Dear @jpmens and @linusg,

in order to bring this program to a wider audience, I suggest to spend some cycles on some rather boring topics.

Gradually, I would like to [see]:

  • Improved release management.
    Add bump2version and switch to Semantic Versioning like mqttwarn is doing these days.

  • Automatic package building.
    We should provide ready-to-go packages for popular operating systems on the GitHub release page. The OwnTracks clients for Android and iOS already do that, so let's try to fill this gap for Linux and FreeBSD. See #4.

I am starting this looking forward to a sensible discussion loosely around these topics and hope this resonates well with you.

With kind regards,
Andreas.

Naming things

As you might have seen through #4 (comment), I deliberately chose to give this package the more verbose name owntracks-publisher. However, I've yet kept the binary name to ocli.

The idea behind that is to ease mental load on people running the whole OwnTracks software stack and to make it more clear to bystanders looking at some arbitrary ps axf output showing which processes are actually running on the machine and what they mean.

From this perspective, I found ocli to be a bit too short. However, we might think about keeping it as an alias?

Feel free to reject this right away if you like it to stay ocli (period) ;]. I don't want to step on anyones toes with my ramblings.

uploading release artefacts

There's something wrong with the packaging/ Makefile I think, as this time around the uploader refuses to upload because a release already exists. I've tried wrapping my head around what's happening, but I can't concentrate properly on the feature; it'll have to wait.

make publish-package arch=amd64 dist=buster
Uploading release artefact ./dist/owntracks-cli-publisher_0.9.0-1~buster_amd64.deb to GitHub
./bin/github-release release --user owntracks --repo ocli --tag 0.9.0 || true
error: github returned 422 Unprocessable Entity (this is probably because the release already exists)
./bin/github-release upload --user owntracks --repo ocli --tag 0.9.0 --name owntracks-cli-publisher_0.9.0-1~buster_amd64.deb --file ./dist/owntracks-cli-publisher_0.9.0-1~buster_amd64.deb --replace
error: could not upload, status code (422 Unprocessable Entity), msg: Validation Failed, errors: [field: name, code: already_exists]
make: *** [publish-package] Error 1

Improve packaging

This is a collection of backlog items for the packaging process being added through #4.

  • We might think about providing more reasonable defaults for packaging/etc/owntracks-publisher.env. Adding comments to describe the configuration options would also do no harm.

  • We might think about using the version string for make debian-package ... from version.h without further ado.

  • Add support for more operating systems and architectures.

    • FreeBSD (in progress by @jpmens)
    • CentOS, difficult as dependencies (gpsd, mosquitto) currently not in Epel8
    • MIPS architecture support (looking at OpenWrt here).
    • Ultimately, we might support all architectures of gpsd for OpenWrt itself in order to get maximum coverage on Embedded Linux in general: aarch64, i386, mips64, mips32, mipsel, powerpc. multiarch/crossbuild could help us here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.