https://bugs.kde.org/show_bug.cgi?id=438874

--- Comment #43 from Domker <domk...@wp.pl> ---
(In reply to Xwang from comment #41)
> (In reply to Fabio from comment #37)
> > I just created a merge request that fixes this bug for me.
> > It would be nice if someone could confirm if this is working.
> > 
> > https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1039
> 
> Is there any howto which explains how I can test your merge?
> I'm using archlinux.

Live swapping files is the worst possible way to patch something!!


$patch -d "plasma-workspace-5.22.5" -p1 < 1039.patch

(plasma-workspace-5.22.5 - direcotry with source code of plasma-workspace)

patching file applets/devicenotifier/package/contents/ui/DeviceItem.qml
Hunk #1 FAILED at 31.
Hunk #2 succeeded at 123 (offset 4 lines).
Hunk #3 succeeded at 140 (offset 4 lines).
Hunk #4 FAILED at 189.
Hunk #5 succeeded at 233 (offset 4 lines).
Hunk #6 FAILED at 250.
3 out of 6 hunks FAILED -- saving rejects to file
applets/devicenotifier/package/contents/ui/DeviceItem.qml.rej
patching file applets/devicenotifier/package/contents/ui/devicenotifier.qml
Hunk #1 succeeded at 88 (offset 13 lines).
Hunk #2 succeeded at 112 (offset 13 lines).

!! It FAILED becouse patch is for plasma-workspace v5.23, not v5.22.5 !!

>>> You need make own patch file based on differences in "ui" direcotry:

1. Make new directory:
$ mkdir test_build && cd "$_"

2. Clone source package master repo where patch is merged:
$ git clone https://invent.kde.org/plasma/plasma-workspace.git

3. Rename it to "b":
$ mv plasma-workspace b

4. Download (and extract) source code plasma-workspace (current version)
present in Arch Linux, rename directory to "a":
$ wget
"https://download.kde.org/stable/plasma/5.22.5/plasma-workspace-5.22.5.tar.xz";
-qO - | tar xvJ
$ mv plasma-workspace-5.22.5 a

5. Now you have directory "a" with current source code (plasma-workspace in
Arch Linux) and direcotry "b" with merged patch. Make own custom.patch with
differences in "ui" directories:

$ diff -ur a/applets/devicenotifier/package/contents/ui
b/applets/devicenotifier/package/contents/ui > custom.patch

If You have now "custom.patch" file, remove "a" and "b" directories:
$ rm -rf a b

>>> Now you need build own patched package "plasma-workspace-5.22.5":

1. Go to:
https://github.com/archlinux/svntogit-packages/tree/packages/plasma-workspace/trunk
and download "PKGBUILD", "kde.pam" files, for quick download use this:

$ wget
"https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/plasma-workspace/trunk/PKGBUILD";
&& wget
"https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/plasma-workspace/trunk/kde.pam";

2. Edit "PKGBUILD" file:
source=(https://download.kde.org/stable/plasma/$pkgver/$pkgbase-$pkgver.tar.xz{,.sig}
kde.pam
        https://invent.kde.org/plasma/plasma-workspace/-/commit/6379d1ec.patch)

REPLACE WITH:

source=(https://download.kde.org/stable/plasma/$pkgver/$pkgbase-$pkgver.tar.xz{,.sig}
kde.pam
        https://invent.kde.org/plasma/plasma-workspace/-/commit/6379d1ec.patch
custom.patch)

AND:
prepare() {
  patch -d $pkgbase-$pkgver -p1 < 6379d1ec.patch # Fix power management
inhibition
}

REPLACE WITH:
prepare() {
  patch -d $pkgbase-$pkgver -p1 < 6379d1ec.patch # Fix power management
inhibition
  patch -d $pkgbase-$pkgver -p1 < custom.patch
}



SAVE CHANGES in PKGBUILD FILE!

3. Update checksums in PKGBUILD:
$ updpkgsums PKGBUILD


3. Now build and install patched "plasma-workspace" package:
$ makepkg -sri --skippgpcheck PKGBUILD

#option -s (download and install dependencies)
#option -r (remove dependency after successful package build, in this case:
pps-tools-1.0.2-1  gpsd-3.23-1  plasma-wayland-protocols-1.4.0-1)
#option -i (install the package if it has been built)

After installing the package restart your PC. For me, a patch made in this way
works.

If something doesn't work, just force reinstall plasma-workspace from the
repository.
( sudo rm
/var/cache/pacman/pkg/plasma-workspace-5.22.5-2-x86_64.pkg.tar.zst{,.sig} &&
sudo pacman -S plasma-workspace )

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to