tingbot / tingbot-os

📦 The Tingbot operating system
http://tingbot.com
37 stars 14 forks source link

OS updates #3

Closed joerick closed 8 years ago

joerick commented 8 years ago

Provide a way to update the OS without losing installed apps.

Will probably consist of grabbing the latest release of this repo and running build.sh on the Tingbot. Need to make sure that the commands in build.sh are idempotent and perhaps there should be some way to clean up files that were previously installed by an older version of build.sh.

joerick commented 8 years ago

If the files in /root are installed via a deb package, they can be upgraded using dpkg.

Good tutorial: https://blog.serverdensity.com/how-to-create-a-debian-deb-package/

There are also a few files that overwrite installed configuration files - I don't think these can be installed with a deb - they'll have to be installed via the build.sh script, or just overwritten manually.

joerick commented 8 years ago

Or this for the config files?

http://debathena.mit.edu/config-package-dev/#start

joerick commented 8 years ago

Install is now done via a deb file. This means the files installed and configs tweaked can be undone using the uninstall functionality of dpkg.

The python libs that are installed are installed using pip during installation - this maybe isn't the 'proper' way, but the proper way is building a .deb for all those libs separately and depending on those in the main deb. A lot of work!

The disadvantage current way means that the compile steps for the python libs run on the target devices, so it's quite time consuming.