makerplane / FIX-Gateway

Flight Information eXchange Gateway
GNU General Public License v2.0
9 stars 21 forks source link

Distribution #21

Closed birkelbach closed 5 years ago

birkelbach commented 5 years ago

We need to get the program in a state where it can be distributed as a "real" application. Whether this is with pip (setuptools?) or distribution (apt, rpm, etc) or we freeze it into a binary. Personally I think we start with setuptools since that seems the most logical for a Python application. I haven't done much of this so I'm open to suggestions.

birkelbach commented 5 years ago

Did a fair amount of work on this today in a local branch and to use PyPi it's going to take a bunch of refactoring the code. I think the changes may be beneficial for maintenance and testing.

birkelbach commented 5 years ago

I'm giving up on this for the moment. The source directory structure has changed considerably and I'm pretty sure that it needs to stay the way that it is. So I'll leave it for now and pull it into the develop branch for now.

birkelbach commented 5 years ago

I looked at the way that some other programs did this. The real difficulty is in how to handle installing the configuration files. The stuff that goes in the distribution directory is easy and generating the scripts to start the program is easy. What it should probably do is copy the configuration files on first run and just put them into a user directory instead of trying to put them in a system level directory. Maybe if the first run is the root user then put the files in /etc otherwise perhaps ~/.fixgateway, ~/.makerplane or something similar. Might depend on the OS too. In any case if the configuration files are not found the program could copy the defaults from the distribution directory to wherever.

neil-d95 commented 5 years ago

Ok so here are my thoughts on this. I've built a few different Linux applications that are user installed. The fastest was always a clone fo the disk kinda what stratux is doing. The other was building a BASH script that places all the software into the right location. I still have these scripts. The other concern is to keep most users out of the /etc directory there could be major issues if folks change the wrong thing.

birkelbach commented 5 years ago

It might be bad form to assume Linux. That's what you and I will use but the last time I tried it, all of this stuff worked on Windows too. I agree that we should probably leave the system directories alone. Anybody that could write to those directories should be able to copy a few files without too much hand holding. I suspect that if we get to "product" stage with the hardware we'll supply a disk image for updates. Otherwise I think we should make it easy for people to install and play with.

makerplane-jnicol commented 5 years ago

Agreed.On Jan 28, 2019 6:55 PM, Phil Birkelbach notifications@github.com wrote:It might be bad form to assume Linux. That's what you and I will use but the last time I tried it, all of this stuff worked on Windows too. I agree that we should probably leave the system directories alone. Anybody that could write to those directories should be able to copy a few files without too much hand holding. I suspect that if we get to "product" stage with the hardware we'll supply a disk image for updates. Otherwise I think we should make it easy for people to install and play with.

—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or mute the thread.

birkelbach commented 5 years ago

Fixed in #54