Hi everyone,

this seems to be Open Source, made in C++ and cross-platform:
https://github.com/Skycoder42/QtAutoUpdater
and
https://skycoder42.github.io/QtAutoUpdater/

Let me know your thoughts. I know that C++ and Python are the preferred languages for the project since the core code of Inkscape is written in C++ and the plugins and extensions are written in Python.

Cheers!



--Victor Westmann

2017-09-16 23:49 GMT-07:00 Tobias Ellinghaus <houz@...173...>:
Am Samstag, 16. September 2017, 14:22:50 CEST schrieb Eduard Braun:
> Hi all,
>
> I really like the general idea! However I'm quite unclear on how the
> details could/should work...
>
> Most important question from my side: What type of update mechanism do
> we actually have in mind?
>
>  1. Simply notify the user "Hey we have a new version, visit our
>     homepage to download!"
>  2. Automatically download a suitable package for the user and start
>     installation.
>  3. Some even more sophisticated update logic inside the updater.
>
> I think option C is pretty much out of question as it's almost
> impossible to implement and I guess it's unlikely we can get it right
> across all OSs. (Unless of course there's cross platform software
> designed exactly for this purpose and we're willing to switch our
> packaging...)
> Even option B gives me a headache: We do not only have to support a lot
> of different OSs but on each of these OSs we have different packaging
> options. How do we decide which is a "suitable package"? How do we avoid
> to interfere with packaging options that already provide automatic updates?
> Last but not least, option A: While this is probably the easiest to
> implement and mostly OS-independent even here we have some
> complications: If we release Inkscape 0.92.3 but don't have a Windows
> package yet - do we notify Windows users anyway? Or do we differentiate
> here? If we differentiate OSs - should we even differentiate individual
> packages? If we differentiate individual packages - what do we do if we
> discontinue a package or can't offer an update package for any other
> reason? If we differentiate individual packages we're also back to the
> problem of option B and have to keep track of what package the user
> actually obtained in the beginning.
>
> I don't want to sound too pessimistic, but at this point I'm unsure if
> anything beyond a simple notification for a new Inkscape version (OS and
> package independent) is feasible without an unproportionate amount of work.
>
> Obviously we could leave it to packagers (as we basically do now) so we
> do not have to deal with OS differences in Inkscape itself but that kind
> of defeats the whole purpose of this thread as I assume a unified
> solution with metadata provided centrally from the homepage as Martin
> mentioned would be preferable...

Maybe something halfway between dealing with it in Inkscape and having the
maintainer do it might be feasible: Have a mechanism that regularly checks an
RSS feed (or some other easily parsable file on a webserver), checks the
signature of the file (so that it can't be faked) and compares the timestamp +
version of the latest release to what is currently installed (so that old
versions can't be replayed). If it's newer it offers to download the file,
check its signature and install it. Where the packager comes into play is the
URL of that RSS feed. For every flavour of installer a custom feed would be
configured at compile time.
Alternatively the RSS feed (or JSON file as that's allowing easier extension
with custom data) could also mention the supported operating system, 32/64
bit, installer type and so on. Whenever a new build gets uploaded it gets
added to the feed automatically. That would however make the code in Inkscape
that does the checking more complicated.

> Let me know what you think... Maybe I'm overlooking something and a
> solution might be easier than I can imagine!
>
> @tghs: I'd be happy to get together with you, but while we're still
> unsure how the process could look it's probably a bit early to even
> think about UI...
>
> Regards,
> Eduard

Tobias

[...]
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Inkscape-devel mailing list
Inkscape-devel@...1656...784...sourceforge.net
https://lists.sourceforge.net/lists/listinfo/inkscape-devel