Patches by ichthyosaurus

I created/maintain a handful of patches on both the Patchmanager Web Catalog [1] and as RPMs on Openrepos [2].

This thread is meant for discussions and support regarding my patches. Especially, please report issues you may have as I don’t always update to the newest SFOS versions. I recently updated my phone to SFOS 4.5 and am slowly working on bringing all my patches and apps up to date.

See the Patchmanager Web Catalog [1] for a list of all patches. Some of them are:

Source code is available on Github [3] and is released under GPL-3.0-or-later unless stated otherwise in the config file. All my patches are built using sailfish-patch [4], which I recommend to use if you want to modify/adapt/improve a patch.

If you like my work, you can buy me or other developers a coffee - don’t forget to post in the big coffee thread [5].

Thank you all, and I hope one of my patches can make your life a little bit easier :slight_smile: .


[1] Web catalog: ichthyosaurus projects
[2] Openrepos: Publisher applications: ichthyosaurus | OpenRepos.net — Community Repository System
[3] Sources on Github: GitHub - ichthyosaurus/sailfish-public-patch-sources: Sources for all my SailfishOS patches
[4] sailfish-patch: GitHub - ichthyosaurus/sailfish-patch: Develop SailfishOS patches
[5] Donations: The big Thank You & Coffee thread - #33 by ichthyosaurus


See also nephros’ patches from whom I shamelessly copied this thread.

25 Likes

Many Thanks for your great work. I ask me if its possible to fork the patch topmenu-control from Ancelad. This patch had a collision withe the path shorter-topmenu and changed the same files. I miss itsince 2021. I try it but its to complex for me.

That looks like quite a complicated patch that changes many unrelated things … What part of it are you missing most? Maybe I can split it into more manageable chunks and update only part of it.

I don’t suppose it has been working before/without my “shorter top menu” patch, right?

1 Like

Thank you so much for keeping no carousel alive, my favourite patch ever! I can’t enable it though on X10 III on 4.5.0.19, while trying to install from the Patchnanager catalog.

----------------------------------
pm_apply 2023-04-14T00:49:22+02:00
----------------------------------

sfos-patch-homescreen-no-carousel

Using patch file: /usr/share/patchmanager/patches/sfos-patch-homescreen-no-carousel/unified_diff.patch

----------------------------------
Checking paths for 64-bit --> 32-bit conversion
----------------------------------

Mangle candidates: /usr/lib/qt5/qml /usr/lib/jolla-mediaplayer /usr/lib/maliit/plugins

Converting library path reference /usr/lib/qt5/qml 3 times

OK, converted 3 library path references and created: /tmp/patchmanager3/patches/sfos-patch-homescreen-no-carousel/unified_diff_64bit.patch


----------------------------------
Test if already applied patch
----------------------------------

can't find file to patch at input line 9
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|#
|# Patch converted to 64bit library paths from its original by Patchmanager > 3.1
|# Date: 2023-04-14T00:49:22+02:00
|#
|diff --git a/usr/lib/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml b/usr/lib/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml
|index 4267c88..07cedfb 100644
|--- a/usr/lib64/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml
|+++ b/usr/lib64/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 28
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/usr/lib/qt5/qml/Sailfish/Silica/private/DismissAnimation.qml b/usr/lib/qt5/qml/Sailfish/Silica/private/DismissAnimation.qml
|index 87ee141..ac26912 100644
|--- a/usr/lib64/qt5/qml/Sailfish/Silica/private/DismissAnimation.qml
|+++ b/usr/lib64/qt5/qml/Sailfish/Silica/private/DismissAnimation.qml
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 51
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/usr/lib/qt5/qml/Sailfish/Silica/private/SwipeItem.qml b/usr/lib/qt5/qml/Sailfish/Silica/private/SwipeItem.qml
|index debacc0..987f127 100644
|--- a/usr/lib64/qt5/qml/Sailfish/Silica/private/SwipeItem.qml
|+++ b/usr/lib64/qt5/qml/Sailfish/Silica/private/SwipeItem.qml
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
3 out of 3 hunks ignored
checking file usr/share/lipstick-jolla-home-qt5/layers/HomeLayer.qml
Unreversed patch detected!  Ignore -R? [n] 
Apply anyway? [n] 
Skipping patch.
9 out of 9 hunks ignored
checking file usr/share/lipstick-jolla-home-qt5/main/EditableGridDelegate.qml
Unreversed patch detected!  Ignore -R? [n] 
Apply anyway? [n] 
Skipping patch.
3 out of 3 hunks ignored
checking file usr/share/lipstick-jolla-home-qt5/notifications/NotificationHeader.qml
Unreversed patch detected!  Ignore -R? [n] 
Apply anyway? [n] 
Skipping patch.
1 out of 1 hunk ignored
checking file usr/share/lipstick-jolla-home-qt5/notifications/NotificationStandardGroupItem.qml
Unreversed patch detected!  Ignore -R? [n] 
Apply anyway? [n] 
Skipping patch.
2 out of 2 hunks ignored
checking file usr/share/lipstick-jolla-home-qt5/notifications/NotificationStandardGroupMember.qml
Unreversed patch detected!  Ignore -R? [n] 
Apply anyway? [n] 
Skipping patch.
2 out of 2 hunks ignored
checking file usr/share/lipstick-jolla-home-qt5/switcher/SwitcherItem.qml
Unreversed patch detected!  Ignore -R? [n] 
Apply anyway? [n] 
Skipping patch.
3 out of 3 hunks ignored

----------------------------------
Dry running patch file
----------------------------------

can't find file to patch at input line 9
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|#
|# Patch converted to 64bit library paths from its original by Patchmanager > 3.1
|# Date: 2023-04-14T00:49:22+02:00
|#
|diff --git a/usr/lib/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml b/usr/lib/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml
|index 4267c88..07cedfb 100644
|--- a/usr/lib64/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml
|+++ b/usr/lib64/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 28
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/usr/lib/qt5/qml/Sailfish/Silica/private/DismissAnimation.qml b/usr/lib/qt5/qml/Sailfish/Silica/private/DismissAnimation.qml
|index 87ee141..ac26912 100644
|--- a/usr/lib64/qt5/qml/Sailfish/Silica/private/DismissAnimation.qml
|+++ b/usr/lib64/qt5/qml/Sailfish/Silica/private/DismissAnimation.qml
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 51
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/usr/lib/qt5/qml/Sailfish/Silica/private/SwipeItem.qml b/usr/lib/qt5/qml/Sailfish/Silica/private/SwipeItem.qml
|index debacc0..987f127 100644
|--- a/usr/lib64/qt5/qml/Sailfish/Silica/private/SwipeItem.qml
|+++ b/usr/lib64/qt5/qml/Sailfish/Silica/private/SwipeItem.qml
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
3 out of 3 hunks ignored
checking file usr/share/lipstick-jolla-home-qt5/layers/HomeLayer.qml
checking file usr/share/lipstick-jolla-home-qt5/main/EditableGridDelegate.qml
checking file usr/share/lipstick-jolla-home-qt5/notifications/NotificationHeader.qml
checking file usr/share/lipstick-jolla-home-qt5/notifications/NotificationStandardGroupItem.qml
checking file usr/share/lipstick-jolla-home-qt5/notifications/NotificationStandardGroupMember.qml
checking file usr/share/lipstick-jolla-home-qt5/switcher/SwitcherItem.qml

*** FAILED ***
1 Like

The “no home carousel” patch will not activate on my 10III

I confirm (even with all other patches deactivated).

Good, not just me. No-home does not activate on 4.5 on volla.
but the ‘outdated’ 4.3 no-home patch does

Well, that is unexpected. Are all of you using 64bit devices?

Can you check whether these files exist?

  • /usr/lib64/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml
  • /usr/lib64/qt5/qml/Sailfish/Silica/private/DismissAnimation.qml
  • /usr/lib64/qt5/qml/Sailfish/Silica/private/SwipeItem.qml

They are the ones that give errors in @JacekJagosz’s log above. They’re also part of the main difference between miau’s 4.3 patch and my 4.5 patch, because I fixed the “swipe to dismiss notifications” thing.

All files are available and can also be found at these locations

3 Likes

I gather it only fails on 64bit devices, right?

If you can run this command on your phone and send me the packages, I can check the patch against the correct files. (Otherwise I can only test it on an Xperia X, 32bit…)

pkcon download . lipstick-jolla-home-qt5 lipstick-jolla-home-qt5-components sailfishsilica-qt5

Seems so, on my xa2 ultra it does work as expected

1 Like

Thanks, that show us that we’re at least working with the same version numbers, except you’re on 64bit and I’m on 32bit.

Can you send me the actual RPM files too, maybe as a direct message?

[defaultuser@Xperia10III ~]$ pkcon download . lipstick-jolla-home-qt5 lipsti
ck-jolla-home-qt5-components sailfishsilica-qt5
Auflösen
Pakete werden heruntergeladen
Starten
Software-Liste wird aktualisiert
Pakete werden heruntergeladen
Fertig
Heruntergeladen lipstick-jolla-home-qt5-1.25.13.6-1.16.1.jolla.aarch64 (joll
a) Jolla homescreen for lipstick
Heruntergeladen lipstick-jolla-home-qt5-components-1.25.13.6-1.16.1.jolla.aa
rch64 (jolla) Components for Jolla homescreen for lipstick
Heruntergeladen sailfishsilica-qt5-1.2.103.1-1.14.1.jolla.aarch64 (jolla)
Sailfish Silica Qt Quick UX Components (Qt5)

PN doesnt work on Saifish Viewer ^^’

Ah yes, it’s only possible to reply to DMs in the app, and you can’t add attachments. You can send the files via email (check your DMs).

pulley → “notifications” → pulley → “PN”

1 Like

I’m at a loss here. The files are identical, except binaries, of course. The only difference is lib vs. lib64, and the log only shows errors where Patchmanager fixed these paths (3 files). After rebuilding the patch with @Gorden’s packages, I get:

diff --git a/usr/lib64/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml b/usr/lib64/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml
index 4267c88..07cedfb 100644
--- a/usr/lib64/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml
+++ b/usr/lib64/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml

whereas @JacekJagosz’s log shows this:

diff --git a/usr/lib/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml b/usr/lib/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml
index 4267c88..07cedfb 100644
--- a/usr/lib64/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml
+++ b/usr/lib64/qt5/qml/Sailfish/Lipstick/NotificationBaseItem.qml

The only difference is that the diff --git part wasn’t changed, but that shouldn’t affect the patch?!

So, I’m inclined to assume it’s a bug in Patchmanager’s handling of the liblib64 conversion. @nephros Do you think that’s possible?

I won’t say it’s not possible! :slight_smile: Everything can be buggy - but the conversion it does is actually quite simple and the result can be checked for correctness (the changed file is stored im /tmp).

I think I have also seen something like this with another patch, don’t remember which one:
Applying with PM fails, even though a manually converted patch - or even the result file of patchmanager’s conversion! - does work fine when checked with something like patch --dry-run -p1 -d / < /path/to/patch.

There might be a race condition, or a bug, or something weird for some patches.

1 Like

Just to confirm, can anyone affected by this problem please try this:

patch --dry-run -p1 -d / < /tmp/patchmanager3/patches/sfos-patch-homescreen-no-carousel/unified_diff_64bit.patch

(… you will have to have tried to activate the patch at least once, otherwise the file won’t exist.)

3 Likes

Thank you! :slight_smile: That’s just what I wanted to suggest. Maybe even try restarting the phone beforehand, to start with a clean /tmp.

I just love this community trying to solve problems. My Jolla 1 has died. Jolla C is my daily driver. My Xperia 10 IV is still not in use. Thanks to everyone supporting SAILFISHOS.

4 Likes