There is a Github issue concerning this that's marked as resolved, but their use case doesn't cover reinstalls, which is a little curious given that ElementaryOS hasn't actually supported upgrades at all.
In lieu of that, I looked into how the AppCenter tracks "paid for" applications and how to restore them upon reinstall.
The DRM (if you want to call it that) for the list of installed apps ElementaryOS uses is a hidden settings variable on appcenter, which you can see on the commandline by running this. So for example, I bought/donated to webpin, and here I can see that via gsettings
:
$ gsettings get io.elementary.appcenter.settings paid-apps
['com.github.artemanufrij.webpin']
Suppose I paid also for Clipped, which I think I will today. (It's a great little app; I recommend it and am happy to donate to its development.)
You can tell from the above URL that Clipped's ID is com.github.davidmhewitt.clipped
, so I can add it to my list of "paid for" apps like so:
$ gsettings set io.elementary.appcenter.settings paid-apps "['com.github.artemanufrij.webpin', 'com.github.davidmhewitt.clipped']"
So, that's how AppCenter stores its list of "paid for" apps. To restore that between installs, you could simply dump the output of gsettings get io.elementary.appcenter.settings paid-apps
to a file and email it to yourself, then restore it later. Or, you could backup your home directory's config files and restore those.
Note: It's probably worth discussing that you could also use the aforementioned technique to "trick" the AppCenter into giving you free updates. But given that you can just use these things free anyway, that seems kind of silly. But if you're that determined to avoid paying $1 for a clipboard history app, probably no one is going to stop you.