Patchmanager 3.0

Rating: 
4.829785
Your rating: None Average: 4.8 (47 votes)

Patchmanager 3 public beta

Make sure to unapply patches before upgrade from Patchmanager 2. Installation will fail if any patch is applied.

If you have installed prepatch, please remove it before patchmanager3 installation.

Changes between version 2 and version 3:

  • Not changing original files. Patches applied to fakeroot located at /tmp/patchmanager
  • OS update friendly. Patchmanager3 automatically detects when user start downloading an update and unapplying all patches
  • Patches can be reordered to be applied in correct order. Just drag to left and drop at required position
  • Collect information about possible conflicting patches. Visit patch info page.
  • Automatic check for updates for online catalog patches. Notificaiton will popup if new version of patch will be released
  • Patchmanager settngs are located inside Settings application as entry

Patchmanager daemon acts like proxy, filtering open calls and decide if application should open original file or 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

Keep in mind this is beta version and should contain a lot of bugs. However it was tested for a while.

Please report all bugs to: 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.

Screenshots: 

Keywords:

Application versions: 
AttachmentSizeDate
File patchmanager-2.3.3-10.41.1.jolla_.i486.rpm240.99 KB28/07/2017 - 16:26
File patchmanager-2.3.3-10.41.1.jolla_.armv7hl.rpm234.42 KB28/07/2017 - 16:26
File patchmanager-3.0.62-1.136.1.jolla_.i486.rpm357.76 KB10/11/2019 - 21:19
File patchmanager-3.0.62-1.136.1.jolla_.armv7hl.rpm346.03 KB10/11/2019 - 21:19
File patchmanager-3.0.63-1.137.1.jolla_.armv7hl.rpm345.99 KB11/11/2019 - 16:38
File patchmanager-3.0.63-1.137.1.jolla_.i486.rpm357.62 KB11/11/2019 - 16:38
File patchmanager-3.0.64-1.144.1.jolla_.armv7hl.rpm347.1 KB17/11/2019 - 20:09
File patchmanager-3.0.64-1.144.1.jolla_.i486.rpm359.16 KB17/11/2019 - 20:09
File patchmanager-3.0.65-1.149.1.jolla_.armv7hl.rpm347.8 KB29/04/2020 - 19:32
File patchmanager-3.0.65-1.149.1.jolla_.i486.rpm359.6 KB29/04/2020 - 19:32
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

3.0.61
Watching jolla-settings process for qml errors and automatically disable all patches
Fetched translations

Comments

ari_jarvio's picture

I translated this but this application is still mainly in english on my device.

coderus's picture

i did not applied any translations for this, sorry

ari_jarvio's picture

Well, I'm waiting

hsjpekka's picture

How to try if a patch works with the patchmanager? I made a folder for my patch in /usr/share/patchmanager/patches, and saw the patch name in Settings-> Patchmanager, but applying the patch failed. Can't believe there was something wrong with the patch, so some other explanation must be found :-). 

coderus's picture

you need json with metadata. check other patches in same folder.

Skillmon's picture

Found a bug (did no logging whatsoever yet). When in the web catalogue I want to install a patch and accept in the remorse item animation, patchmanager (the settings app) freezes, after terminating the settings apo and restarting it, patchmanager only displays "No patches available", entering "About" from the pulley still works, entering "Settings" freezes settings again, "Load engine" seems to have no effect, and "Web catalog" opens the page, but never loads (but showing the search field works). Happened to me while installing the latest "Return old button style" patch. What should I do to provide further information? Restarting the Home screen from within utilities doesn't fix patchmanager's state, restarting the device does. Edit: Just noticed accessing rhe settings does work, only takes a lot of time (when selecting "Please wait" upon the freeze).

coderus's picture

looks like pm daemon crashing. need logs and info at which time this happened.

Skillmon's picture

Sorry, thanks to Christmas, I wasn't around some place where I have a stable connection to the internet, and couldn't get the logs in time. I'll try to reproduce the bug and send logs of that.

fllp's picture

@coderus
First: Thaaaank you for this awesome piece of software. It makes SFOS so much nicer having the ability to patch.
I'm having problems with a patch that won't apply. The error states

Can't find file to patch at input line ...

Double checked the diff for the correct path. I tried using

diff -ur

directly on Sailfish OS, no luck. Changed the prefix style (from patch workspace folder names to --- a/usr/... +++ b/usr/... ) - nothing.
I have other patches created the same way that work flawlessly. How can I debug this?

coderus's picture

You can check full log. Command is in the description.

gaelic's picture

Can you please implement a kind.of fuzzy check for the.version control. Can't install patches as they are locked to 3.2.0.12, sfos version: 3.2.0.14; cheers

coderus's picture

Enable God mode

neter's picture

Thanks for continuing to support this must-have piece of software. But what is the procedure for upgrading Patchmanager 3.0 to newer Patchmanager 3.0? Do we have to unapply all patches before such upgrade, or do we have to restart some services or the system after the upgrade, or is it safe and enough just to upgrade the package through Storeman?

coderus's picture

as user you should not worry anything, just install new version. changes are for patch makers to make patches great again.

danfin's picture

I found the problem that the google login page which appears after accepting google credentials did not show up. It remained black I could not log in. After disabling all patches and disabling patchmanager auto load i could login as that page was visible again.

coderus's picture

You should check which patch causes problem and report it to patch maintainer

deloptes's picture

Xperia X 3.2.0.12 Failed to start Patchmanager check for updates service.

    Nov 11 10:28:16 Sailfish systemd[1]: Starting Patchmanager check for updates service...
    Nov 11 10:28:16 Sailfish systemd[4524]: checkForUpdates-org.SfietKonstantin.patchmanager.service: Failed at step     EXEC spawning /bin/dbus-send: No such file or directory
    Nov 11 10:28:16 Sailfish systemd[1]: checkForUpdates-org.SfietKonstantin.patchmanager.service: Main process exited, code=exited, status=203/EXEC
    Nov 11 10:28:16 Sailfish systemd[1]: Failed to start Patchmanager check for updates service.
    Nov 11 10:28:16 Sailfish systemd[1]: checkForUpdates-org.SfietKonstantin.patchmanager.service: Unit entered failed state.
    Nov 11 10:28:16 Sailfish systemd[1]: checkForUpdates-org.SfietKonstantin.patchmanager.service: Failed with result 'exit-code'.
    Nov 11 10:28:16 Sailfish systemd[1]: Started Cleanup of Temporary Directories.
    Nov 11 10:28:18 Sailfish PackageKit[4499]: daemon quit

 

It seems dbus-send is now under /usr/bin/dbus-send

coderus's picture

check 3.0.63

deloptes's picture

Seems to be working fine - thank you and God bless you!

coderus's picture

Thanks

Historyscholar's picture

Chinese translation updated:)

csg1976's picture

When trying to access certain patches (e.g. Extended volume control) through PM, it will crash and take the settings app unresolvably with it. Only a reboot will help (XA2, 3.2.0.12, latest PM).

coderus's picture

good bug, please check with new build

csg1976's picture

Solved! Thanks a ton!

eson's picture

Please, also update translations. It's been more then a year.  ;)

 

carmenfdezb's picture

Hi @coderus! Since I updated SailfishOS v3.2.0, I have to load engine manually every time I reboot my phone. Is that a bug?

coderus's picture

this is a feature. go to settings and enable auto applying.

carmenfdezb's picture

Sorry, I didn't notice. Thank you for your answer!

sebix's picture

Does not seem to work with Sailfish OS 3.2.0 - The page in settings shows "Could not load page"

paolomi's picture

Hi, please update disable-glass-avatar for sailfish 3.1. Thanks a lot!

Pages