Updates to gramps

I see a lot of updates on Github for gramps and for people who aren’t knowable in programing, add the ability for gramps to pull down updates by itself and install them. Don’t know how hard that would be.

You can download v5.2.0-beta2 from the GitHub release page.

There are only two commits of any significance to the user after the last beta release.

It would be ugly to do that within Gramps itself. It certainly could not update any Gramps parts being used to manage pulling down updates and install them.

Gramps can update addons because they are not part of the core. And they are stored in unprotected user areas. Updates to the core are Admin level access features.

So I think using the GitHub tools to update the core of Gramps (while Gramps is NOT running) is the better way to go.

And manually while installing individual patches is risky and tedious, it is not difficult. Just like patching your OS, you have to be willing to accept that you could screw it up and have to re-install from scratch.

Nick has kindly been tutoring Enno and me in using GitHub’s tools. We’re trying to put together simplified instructions … but there’s a LOT going on at the moment. I don’t expect we’ll have that together until a month or so after 5.2 finally releases.

The offline manual (that Gary is currently working on) will be a higher documentation priority. As will adding wiki content to provide some superficial descriptions of new 5.2 features.

I was think in the line of an external program. Gramps looks to see if there is an update and downloads it. Then it opens the external program and closes itself. Program then performs a patch then restarts Gramps. I remember years ago that programs used the patch command to load a text file with the changes that were needed and modified all the files. TNG website does something similar with its modding system.

That sounds more viable. But it might as well just be a reminder to run a Git script then. Since that external updating program already exists in Git.

Doing a web search, I found out that a python program can update itself and restart. I just don’t have the programming skills any more to write my own since my stroke.

Sorry to learn of the stroke. That’s a rough change to undergo.

I think he ment some form of in software auto-update.

We have no plans for any auto-update facility for core Gramps.

Sorry, but it is a lot of software that have auto-update or a manual update function in software, that pulls file/software updates from different types of repositories, including github.
It only depend on the installer used and how the software packages…

Maybe something similar to the Prerequisites Checker’s “You have Gramps 5.1.6. Congratulations, you have the current version.” feature? But adapted to just be some kind of unobtrusive “Newer Gramps available!” indicator in Addon Manager and Plugin Manager? (So, MUCH more compact.)

Not a Nag dialog that has to be dismissed and not an active installer. But maybe a link to a page talking about improvements in the current version and the upgrade process.

If we stick with our policy stressing how backup before update is vital, then a live update to the core would be an incompatible concept. And that backup policy is a time-proven one.

Yes. We can certainly do that in the future.

1 Like

But those other software makers probably have bought into registering for a digital certificate, such as Code Signing Certificate, or verified by a trusted software provider. Without those, trying to do a live install would make us look even more suspicious. It would be reasonable for Microsoft or Apple to ban Gramps as a potential maker of malware.

I have never asked them, but many of the software I use are Open-Source free single person (or small groups) projects…

But the point wasn’t the certificate, the point is that there many open-source projects that use in-software updater.

I just assumed you knew I was talking about open-source software in a discourse group for an open-source project…

Since python isn’t a compiled language, then something like TNG does would work. It downloads a text file that says open file go to line 33, replace or insert this line of code. Just pop up a warning to backup database before it performs the update. I was thinking this would help people who are not into programing to ensure that any bug fixes are installed instead of waiting for a new version to come out. If there are a lot of changes, then do a new install. The only problem I see is the protection level for the folders in linux or windows unless gramps is installed in home or user directories to allow the changes.

This isn’t a facility that we would want to provide. If an update is important then we will release a maintenance update.

I’m happy with way updates are done. My database is too important to me for automated updates. Microsoft does the automated updates and I have had bad things happen.


Thanks for the clarification.

Perhaps you can can provide an example? A sole person project wouldn’t match up to our organization structure. But if there is another loosely (not incorporated) associated group who found a way around the difficulties, then we could benefit by learning from them.

The project’s barriers from executing a contract has also precluded it from even trying to work with FamilySearch (which requires executing their Compatible Product Affiliate Agreement, Security Accessment, and the Production App Key Request and Use Agreement) or Ancestry. It would be useful to learn if there is a way around that barrier without the hoops of incorporating.

I know a couple of one person projects that provide automatic update checks, and FreeFileSync is an example. There are some genealogy tools that provide such checks too, like FTAnalyzer, and Genealogica Grafica, but in all these cases, actually updating the software means downloading a Windows installer, and let that have its way. FreeFileSync has installers for Linux and macOS too, just like we have for Gramps.

RootsMagic, not open source, can update itself, when I let it, which simply means that it downloads a new installer, shuts down itself, and then starts the installer, which can start the program after it’s done, and that works. And that’s just as far as I would allow a program to go.

One might think that Gramps can patch itself by downloading and installing Python text differences, but since the code lives in protected space, that still means something like running ‘git patch’ as admin or super user, and if that goes wrong, you have a dead Gramps, which is hard to revive.

For this reason, I will always prefer to have a full installer for critical updates, with full meaning that it just overwrites everything in the installation directories. It requires more bandwith to download, but it can save hours of work, so I think it’s worth it to keep things the way that we do now.

1 Like