How to use the patch command
First of all, let me make it clear that neither patch nor any of the patches are coming from the patchmanager app. Patchmanager merely manages installation of patches (Web Catalog) and uses the patch command to apply patches.
(I mention this just because people keep asking how to use the “patch tool” as if it were a component of patchmanager. It is not. patch
is a standard UNIX tool completely unrelated to patchmanager. There are literally 40 36 years worth of examples out there on the web on how patch
works, use your favourite search engine to learn more.)
Anyway, to test whether a patch works (note the --dry-run
, and you don’t need devel-su
for this):
patch -p1 -d / --dry-run -i /usr/share/patchmanager/patches/(whatever_patch_directory)/unified_diff.patch
If you get any errors here, the problem is in all likelyhood with the unified_diff.patch
and you should take it up with the author of that patch, or try to fix things yourself.
IF the test seems to work, you can apply it manually (same command without --dry-run
):
devel-su patch -p1 -d / -i /usr/share/patchmanager/patches/(whatever_patch_directory)/unified_diff.patch
NOTE this will actually change system files on disk. If you were to apply the patch using patchmanager, it would not change system files on disk. This means if you apply patches this way, you have to take care to remove them again manually, even and especially when trying to use patchmanager later.
To remove/unapply an applied patch, use (same as applying but with -R
):
devel-su patch -p1 -R -d / -i /usr/share/patchmanager/patches/(whatever_patch_directory)/unified_diff.patch
Again, this can only unapply patches you have applied manually using the method above, NOT unapply patches applied through patchmanager.
In closing let me repeat that if you apply patches this way you are:
- changing system files on disk, and are from now on responsible on unchanging them or restoring them
- can easily make some apps or the whole home screen, even the whole system not work
- get to keep any broken pieces
- and naturally, the patch tool does not magically make patches work. if a patch doesn’t apply, it’s for a reason and no amount of “devel-su copy paste random things from the internet” will make it work.