{"action":"created","issue":{"url":"https://api.github.com/repos/jens-maus/RaspberryMatic/issues/123","repository_url":"https://api.github.com/repos/jens-maus/RaspberryMatic","labels_url":"https://api.github.com/repos/jens-maus/RaspberryMatic/issues/123/labels{/name}","comments_url":"https://api.github.com/repos/jens-maus/RaspberryMatic/issues/123/comments","events_url":"https://api.github.com/repos/jens-maus/RaspberryMatic/issues/123/events","html_url":"https://github.com/jens-maus/RaspberryMatic/pull/123","id":239283291,"number":123,"title":"firmware upgrade feature￼","user":{"login":"j-a-n","id":11510943,"avatar_url":"https://avatars2.githubusercontent.com/u/11510943?v=3","gravatar_id":"","url":"https://api.github.com/users/j-a-n","html_url":"https://github.com/j-a-n","followers_url":"https://api.github.com/users/j-a-n/followers","following_url":"https://api.github.com/users/j-a-n/following{/other_user}","gists_url":"https://api.github.com/users/j-a-n/gists{/gist_id}","starred_url":"https://api.github.com/users/j-a-n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/j-a-n/subscriptions","organizations_url":"https://api.github.com/users/j-a-n/orgs","repos_url":"https://api.github.com/users/j-a-n/repos","events_url":"https://api.github.com/users/j-a-n/events{/privacy}","received_events_url":"https://api.github.com/users/j-a-n/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-06-28T20:18:02Z","updated_at":"2017-06-29T08:34:11Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/jens-maus/RaspberryMatic/pulls/123","html_url":"https://github.com/jens-maus/RaspberryMatic/pull/123","diff_url":"https://github.com/jens-maus/RaspberryMatic/pull/123.diff","patch_url":"https://github.com/jens-maus/RaspberryMatic/pull/123.patch"},"body":"I implemented the update process as described in #16.\r\nIt is now possible to upgrade to the latest available version via webui.\r\nAdditionally I implemented the commandline script _firmware-tool_ which provides other options, i.e. installing a specific firmware version.\r\nWe will have to discuss the right size for the root filesystem, which I increased to 800MB.\r\nI appreciate any feedback."},"comment":{"url":"https://api.github.com/repos/jens-maus/RaspberryMatic/issues/comments/311899871","html_url":"https://github.com/jens-maus/RaspberryMatic/pull/123#issuecomment-311899871","issue_url":"https://api.github.com/repos/jens-maus/RaspberryMatic/issues/123","id":311899871,"user":{"login":"jens-maus","id":5887769,"avatar_url":"https://avatars1.githubusercontent.com/u/5887769?v=3","gravatar_id":"","url":"https://api.github.com/users/jens-maus","html_url":"https://github.com/jens-maus","followers_url":"https://api.github.com/users/jens-maus/followers","following_url":"https://api.github.com/users/jens-maus/following{/other_user}","gists_url":"https://api.github.com/users/jens-maus/gists{/gist_id}","starred_url":"https://api.github.com/users/jens-maus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jens-maus/subscriptions","organizations_url":"https://api.github.com/users/jens-maus/orgs","repos_url":"https://api.github.com/users/jens-maus/repos","events_url":"https://api.github.com/users/jens-maus/events{/privacy}","received_events_url":"https://api.github.com/users/jens-maus/received_events","type":"User","site_admin":false},"created_at":"2017-06-29T08:34:11Z","updated_at":"2017-06-29T08:34:11Z","body":"First of all, thank you very much for your efforts and the PR. I really appreciate your help.\r\n\r\nHowever, as you might have seen, I also already started to integrate the webui-based update/upgrade feature during the last days and unfortunately your PR seem to conflict with my changes as your branch isn't based on the latest changes in the webui-upgrade-feature branch. So please at least rebase your changes on the latest changes in that branch.\r\n\r\nFurthermore, as I have quickly reviewed your PR, I think we should first talk about the principle approach how to integrate such a feature in RaspberryMatic because your approach seems to be slightly different to what I have in mind. As you might have seen I have taken a slightly different road to integrate the two-root-partition approach of providing a webui-based upgrade mechanism. So my ideas are as follows:\r\n\r\n1. Keep the root partition 500MB max. (it is currently filled by 74% only and I don't think we will increase the content of the rootfs by more than 120MB anytime soon). In addition, if this really happens we can then think about repartitioning the rootfs on-the-fly in some manner. However, just increasing it now doesn't seem to be necessary IMHO.\r\n2. As I see, your script is automatically downloading updates from GitHub without requiring the user to upload the update himself. However, I want to keep the webui-based update mechanism as compatible as possible to the way the CCU2 update functionality works. That's the reason why I have invested some time already in patching `cp_maintenance.cgi` to directly allow `*.zip` file uploads to `/usr/local/tmp`, unarchiving it and even checking its sha256 checksum before asking the user to confirm the update process.\r\n3. The way you are currently performing the update/upgrade is by running the upgrade while the normal system is still running in the background. For security reasons and to keep the upgrade process compatible to the CCU2 way I want to implement the upgrade to be actually executed when the RaspberryMatic system is shutting down (e.g. initiated when `S00eQ3SystemStarted` is running its 'stop' routine) with all normal services being shut down when the lofs mount happens, the rsync starts, etc. And my current plans are to even perform this using a simple shell-script rather than using tcl if this is fine with you.\r\n4. Your approach doesn't consider keeping a backup for the `/boot` filesystem in any way. Please keep in mind that newer RaspberryMatic version will come with newer kernels and raspberry firmware files and currently you are simply overwriting the old ones. But I think we should think about keeping a backup of the main files just in case the update doesn't work and the user wants to revert to the old version on the other rootfs partition.\r\n\r\nI know that all this sounds like we would have to significantly rework your update mechanism and even throw away things not required (automatic GitHub updates, etc.), but I still hope we can work together to get the webui-based update mechanism integrated in the most smooth and CCU2 compatible way. Looking forward to hearing your opinion."}}
{"actor":{"display_login":"jens-maus"}}