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 or Warehouse and these apps will offer you the latest version of Patchmanager, which still supports the installed SailfishOS release.
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 bugs 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
Translate project: https://www.transifex.com/coderus/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...
See this TMO thread for more information.
Source at Wayback
|patchmanager-2.3.3-10.41.1.jolla_.i486.rpm||240.99 KB||23/01/2023 - 18:22|
|patchmanager-2.3.3-10.41.1.jolla_.armv7hl.rpm||234.42 KB||23/01/2023 - 18:22|
|patchmanager-3.0.62-1.136.1.jolla_.i486.rpm||357.76 KB||23/01/2023 - 18:22|
|patchmanager-3.0.62-1.136.1.jolla_.armv7hl.rpm||346.03 KB||23/01/2023 - 18:22|
|patchmanager-3.0.63-1.137.1.jolla_.i486.rpm||357.62 KB||23/01/2023 - 18:22|
|patchmanager-3.0.63-1.137.1.jolla_.armv7hl.rpm||345.99 KB||23/01/2023 - 18:22|
|patchmanager-3.0.64-1.144.1.jolla_.i486.rpm||359.16 KB||23/01/2023 - 18:22|
|patchmanager-3.0.64-1.144.1.jolla_.armv7hl.rpm||347.1 KB||23/01/2023 - 18:26|
|patchmanager-3.0.65-1.149.1.jolla_.i486.rpm||359.6 KB||23/01/2023 - 18:22|
|patchmanager-3.0.65-1.149.1.jolla_.armv7hl.rpm||347.8 KB||23/01/2023 - 18:22|
Added support for main-light.png patch icons for light ambiences
Added plugin class to inject translate strings to target applications. Read description.
Fixed check for updates scheduler
Removed freeze when opening patch info