Patchmanager legacy

Rating: 
5
Your rating: None Average: 5 (3 votes)

IMPORTANT

On SailfishOS ≥ 3.4.0 install Patchmanager ≥ 3.2.0.

Patchmanager 3.0.x does not work properly on SailfishOS 3.4.0 and later releases.

In turn, Patchmanager ≥ 3.1.0 does not work on SailfishOS < 3.4.0; one must use Patchmanager 3.0 then, which is known to work on SailfishOS 2.2.1 and may work on even older SaifishOS releases.  On really old SailfishOS releases, on which Patchmanager 3.0 fails to install, one may use Patchmanager 2.3.3, with its dangers when upgrading SailfishOS (one must unapply all patches before upgrading) and lacking the Web Catalog.

Simply add Patchmanager's repository in Storeman and these apps will offer you the latest version of Patchmanager, which still supports the installed SailfishOS release.

-----------

Patchmanager 3.0

Make sure to unapply all patches before upgrading from Patchmanager 2. The installation of Patchmanager 3 will fail if any patch is applied.

If you have Prepatch installed, do remove it before installing Patchmanager 3.

Changes between Patchmanager 2 and 3:

  • Not changing original files. Patches applied to fakeroot located at /tmp/patchmanager
  • OS update friendly. Patchmanager 3 automatically detects when a user starts to download a SailfishOS upgrade and unapplies all patches.
  • Patches can be reordered to be applied in correct order. Just drag to left and drop at required position.
  • Collect information about possibly conflicting patches, whcih is displayed at each patch info page.
  • Automatic check for updates for online catalog patches. A notification will pop up, if new version of a patch is released.
  • Patchmanager's settings are located inside the Settings application as one entry.

The Patchmanager daemon acts like a proxy, filtering open calls and decides if the original file of an application should opened or the patched ("fake") one.

Target application translations

Add to your patch new import:

import org.SfietKonstantin.patchmanager 2.0

Add property to the root object:

property bool pmTranslationLoaded: PatchManagerTranslator ? PatchManagerTranslator.installTranslator("name-of-your-patch") : false

Change most visible text to:

pmTranslationLoaded ? qsTr("Normal text if all is okay") : "Please update patchmanager!"

Useful environment variables:
NO_PM_PRELOAD=1 disables preload plugin from filtering calls
PM_PRELOAD_DEBUG=1 enables additional stderr output for preload plugin

You may discuss and ask for help WRT Patchmanager 3.0 at: https://talk.maemo.org/showthread.php?t=92935

You can collect patchmanager logs by running:
devel-su journalctl -al _COMM=jolla-settings + _EXE=/usr/sbin/patchmanager + _EXE=/usr/bin/patchmanager-dialog > patchmanager.log

Sources available here: https://github.com/sailfishos-patches/patchmanager/tree/patchmanager3

Big thanks jakibaki for Prepatch. This was very good idea to create such way for applying patches. You can review my plugin here: https://github.com/sailfishos-patches/patchmanager/blob/patchmanager3/sr...

Source text from web.archive.org ("wayback engine")

License:
BSD-3-clause

Category:

Application versions: 
AttachmentSizeDate
File patchmanager-2.3.3-10.41.1.jolla_.i486.rpm240.99 KB23/01/2023 - 18:22
File patchmanager-2.3.3-10.41.1.jolla_.armv7hl.rpm234.42 KB23/01/2023 - 18:22
File patchmanager-3.0.62-1.136.1.jolla_.i486.rpm357.76 KB23/01/2023 - 18:22
File patchmanager-3.0.62-1.136.1.jolla_.armv7hl.rpm346.03 KB23/01/2023 - 18:22
File patchmanager-3.0.63-1.137.1.jolla_.i486.rpm357.62 KB23/01/2023 - 18:22
File patchmanager-3.0.63-1.137.1.jolla_.armv7hl.rpm345.99 KB23/01/2023 - 18:22
File patchmanager-3.0.64-1.144.1.jolla_.i486.rpm359.16 KB23/01/2023 - 18:22
File patchmanager-3.0.64-1.144.1.jolla_.armv7hl.rpm347.1 KB23/01/2023 - 18:26
File patchmanager-3.0.65-1.149.1.jolla_.i486.rpm359.6 KB23/01/2023 - 18:22
File patchmanager-3.0.65-1.149.1.jolla_.armv7hl.rpm347.8 KB23/01/2023 - 18:22
Changelog: 

3.0.65
Added support for main-light.png patch icons for light ambiences

3.0.64
Added plugin class to inject translate strings to target applications. Read description.

3.0.63
Fixed check for updates scheduler

3.0.62
Removed freeze when opening patch info