Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Patches for non-semantic & non-pim KDE-4.11.1
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
creaker
l33t
l33t


Joined: 14 Jul 2012
Posts: 651

PostPosted: Fri Sep 20, 2013 6:07 pm    Post subject: Patches for non-semantic & non-pim KDE-4.11.1 Reply with quote

Hi there!
Recently some guys asked me for explanation how did I built KDE-4.11 without semantic-desktop.
Since the end of August I did it three times successfully and I think it should work for someone else, not for me only.
The main goal was removing nepomuk, akonadi, kdepim, strigi, soprano, virtuoso and other related crap from KDE. I wrote some patches, they are:


About applying these patches: DO NOT PUT THEM INTO /etc/portage/patches directory. This case patches will not be applied. They should be stored in the directories where ebuilds for patching located.
For example: navigate to /usr/portage/kde-base/kdelibs/, save patch here as "kdelibs.patch" and run:
Code:
patch < kdelibs.patch
ebuild kdelibs-4.11.1.ebuild digest

Ebuild will be patches and manifest recalculated.
Other patches should be applied in the same manner.

Before starting with kde installation you should have, of course, base system (stage3), xorg-server, bootloader, drivers (video, xf86-input-*** and so on) installed already.

Some tips:

    a) It would be easier to install kdelibs as first package, separately. If some dependency problems occurs, it more easy to solve them for part of kde instead of solving them for full package set.
    I did it like this:
    Code:
    emerge -av kdelibs
    emerge -av kdebase-startkde kdm
    emerge -av kde-base/dolphin systemsettings konsole


    b) do not forget to add some services to default runlevel: dbus, xdm, consolekit and so on (if you have them installed)

    c) put these string into /etc/portage/package.mask before starting:
      app-office/akonadi-server
      kde-base/nepomuk-core
      kde-base/drkonqi

    It will prevent pulling them in if you overlooked something.

    d) If something goes wrong, you can revert ebuild changes by applying patches in reverse mode, with option "-R":
    Code:
    patch -R < kdelibs.patch
    ebuild kdelibs-4.11.1.ebuild digest

    It will restore initial ebuild.


And some notes:
I did it thre times as fresh installation (every time it was ~amd64 because 4.11.1 still is not in stable branch). But I think it may be done on system update as well. Of course, patches should applied (with digest recalculation) after "emerge --sync".
First two installations I removed all those crap that mentioned above. At third install I can't remove strigi from installation process due to some changes that was included in stage3. So I just unmerged strigi when kde (and some basic programs like dolphin) was installed.
Also I can't install gwenview: its dependencies were hidden too far for me. So I installed Kuickshow instead.
Currently I have a system with some basic programs. All seems just fine and smooth.

And at last: did you read an EULA? No any kind of warranties :D
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2280
Location: Adendorf, Germany

PostPosted: Mon Oct 14, 2013 9:04 am    Post subject: Reply with quote

Hi, thank you for your patches!

I have taken a look at them, to use them with KDE-4.11.2:

  • The soprano patch is not necessary imho, because you just remove a dependency that is controlled by a USE flag anyway. I took this chance and changed your patches to not simply remove dependencies, but to make them USE flag dependent, too.
  • Dolphin got the semantic-desktop USE flag back, no patch needed.
  • I've put a "kdepim" USE-flag into the drkonqi ebuild. drkonqi does not need to be removed from kdebase-runtime-meta then.
  • Further in 4.11.2 kdebase-runtime-meta dependency on nepomuk is controlled by the semantic-desktop USE flag. No patch needed any more.
  • No patch needed for kdelibs anymore, too.
So I daresay the work for a semantic-free KDE got a lot easier in this version.

The results can be pulled from my overlay "seden" via layman. They are reduced to:
media-sound/amarok-2.8.0
kde-base/drkonqi-4.11.2
kde-base/plasma-workspace-4.11.2-r1 and
kde-base/systemsettings-4.11.2

Important: I have not yet tested the resulting ebuilds. The machine I am using them, and the machine I am using to maintain my overlay on, are two different machines!

Feedback welcome and highly appreciated, as always!
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2280
Location: Adendorf, Germany

PostPosted: Mon Oct 14, 2013 11:47 am    Post subject: Reply with quote

Added kde-base/kdebase-plasma-addons, as the official ebuild has a bug in it. Although kdepimlibs are handled by the semantic-desktop USE flag, a hard dependency remained, too.

Bug reported: https://bugs.gentoo.org/show_bug.cgi?id=488006
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.


Last edited by Yamakuzure on Mon Oct 14, 2013 11:58 am; edited 1 time in total
Back to top
View user's profile Send private message
ulenrich
Veteran
Veteran


Joined: 10 Oct 2010
Posts: 1480

PostPosted: Mon Oct 14, 2013 11:53 am    Post subject: Reply with quote

@Yamakuzure
I didn't find any big patches about it in your seden overlay: Just a little ebuild difference regarding USE "kdpim" and "strigi" resulting in some difference when "add_kdebase_dep nepomuk-core".

Really, that easy? And You don't experience any performance hit at runtime?

EDIT: I see, You just changed some hard dep when I wrote this question.
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2280
Location: Adendorf, Germany

PostPosted: Mon Oct 14, 2013 12:00 pm    Post subject: Reply with quote

It's work-in-progress.

It seems like the semantic-desktop USE flag not being consistently reintroduced. No wonder with such a high amount of packages!
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2280
Location: Adendorf, Germany

PostPosted: Mon Oct 14, 2013 2:49 pm    Post subject: Reply with quote

Dammit. Kdepimlibs are now a hard dependency on drkonqi. I don't feel like trying to patch it, I guess the KDE devs know what they are doing.

Unfortunately Akonadi, Soprano and Nepomuk are hard dependencies (not in the ebuild, the cmake build looks for them) of kdepimlibs.

So it seems drkonqi must go. :(

Edit: kdebase-runtime-meta-4.11.2-r1.ebuild in my overlay has now a "kdepim" USE flag, which then pulls in drkonqi. I have used that flag, because it adds an implicit kdepimlibs dependency. Further drkonqi is not exactly anything semantic-desktop related.
_________________
Important German:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Mon Oct 14, 2013 4:52 pm    Post subject: Reply with quote

Yamakuzure wrote:
  • Dolphin got the semantic-desktop USE flag back, no patch needed.
  • I've put a "kdepim" USE-flag into the drkonqi ebuild. drkonqi does not need to be removed from kdebase-runtime-meta then.
  • Further in 4.11.2 kdebase-runtime-meta dependency on nepomuk is controlled by the semantic-desktop USE flag. No patch needed any more.
  • No patch needed for kdelibs anymore, too.
So I daresay the work for a semantic-free KDE got a lot easier in this version.

The semantic-desktop USE flag is back? That's wonderful, even if we do need to do a bit of tweaking :-) It means the devs are meeting us halfway.
Back to top
View user's profile Send private message
creaker
l33t
l33t


Joined: 14 Jul 2012
Posts: 651

PostPosted: Mon Oct 14, 2013 5:39 pm    Post subject: Reply with quote

steveL
I do not think this is cause for celebration. We got semantic flag back, we can turn it off, but it means nothing: dependencies checking was moved from ebuilds to cmake macros. We can't handle it as easy as in past with patching ebuilds.
First time I was faced with "hiding" dependencies from editing when I tried to install gwenview - ebuilds tweaking had no effect because cmake blocked installation due to missing nepomuk.

Quote:
Unfortunately Akonadi, Soprano and Nepomuk are hard dependencies (not in the ebuild, the cmake build looks for them) of kdepimlibs


If it is true, it looks like now devs made the same trick with Akonadi, Soprano and Nepomuk - they moved dependencies checking deeper into the system and made it much more harder to opt out of this crap. The fact that you got flag back means nothing: if you could disable semantic crap at ebuild level before, you can't disable it at cmake level now, at least as simple, as it was for ebuilds.
In my opinion, the only reason for these changes is force all of us to have this spy-ware at our desktops.

I would like to ask devs: who and how much payed you to promote this spy-ware?
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Tue Oct 15, 2013 1:01 am    Post subject: Reply with quote

creaker wrote:
steveL
I do not think this is cause for celebration. We got semantic flag back, we can turn it off, but it means nothing: dependencies checking was moved from ebuilds to cmake macros. We can't handle it as easy as in past with patching ebuilds.

The fact that you got flag back means nothing: if you could disable semantic crap at ebuild level before, you can't disable it at cmake level now, at least as simple, as it was for ebuilds.

Hmm that's unfortunate.

You've said the same before, and I've asked you before: do you have examples of the cmake files so we can start discussing them? It's an awful lot harder to collaborate without IRC, but it's feasible, if we focus on making things better.

Otherwise I'm going to end up doing crap on my own, not feeling good about it (since I haven't dug into any of the sources before, and I don't especially want to now), and likely just switching desktop, which I don't really want to do.
Quote:
In my opinion, the only reason for these changes is force all of us to have this spy-ware at our desktops.

From Red-Hat, quite possibly. Certainly the idea is vendor lock-in, protestations of "you have the source" (crap as it is) notwithstanding.
Quote:
I would like to ask devs: who and how much payed you to promote this spy-ware?

Don't go there man; paranoia is not useful, and only leads to ill-feeling. Also, you're ignoring the fact that given enough propaganda, people will quite happily mess themselves up, thinking it's the "right thing" to do. ;)

So: step up with actual source files, please. The rest is just noise when it comes to making things better.
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Tue Oct 15, 2013 6:39 am    Post subject: Reply with quote

creaker wrote:
steveL
I do not think this is cause for celebration. We got semantic flag back, we can turn it off, but it means nothing: dependencies checking was moved from ebuilds to cmake macros. We can't handle it as easy as in past with patching ebuilds.
First time I was faced with "hiding" dependencies from editing when I tried to install gwenview - ebuilds tweaking had no effect because cmake blocked installation due to missing nepomuk.

It has nothing to do with hiding dependencies. If the devs rely on classes/functions exposed by kdepimlibs they have to depend on kdepimlibs. If they don't want to depend on it they would have to rewrite that, and if you had any idea of programming (which you apparently don't have) you would know that this is something you should really try to avoid. For DrKonqi they need kxmlrpcclient.

Quote:
If it is true, it looks like now devs made the same trick with Akonadi, Soprano and Nepomuk - they moved dependencies checking deeper into the system and made it much more harder to opt out of this crap. The fact that you got flag back means nothing: if you could disable semantic crap at ebuild level before, you can't disable it at cmake level now, at least as simple, as it was for ebuilds.
In my opinion, the only reason for these changes is force all of us to have this spy-ware at our desktops.

I would like to ask devs: who and how much payed you to promote this spy-ware?

If you have no idea you should stop crying and flaming. gentoo kde devs had a hard time to write patches to get most of akonadi/nepomuk optional. As they did not want to continue that way with 4.11 they decided to hard depend on semantic-desktop. Now they reintroduced the flag where it was made possible by upstream through a build option. Time to be happy I think... And paranoia won't help you to magically make every single part compile without akonadi/nepomuk.
Back to top
View user's profile Send private message
creaker
l33t
l33t


Joined: 14 Jul 2012
Posts: 651

PostPosted: Tue Oct 15, 2013 11:21 am    Post subject: Reply with quote

steveL
I can't remember which of cmake macros causes a problem right now. Next time I will update or install system I can get these macros names. Using IRC for collaboration isn't useful for me due to two reasons: at first I have no enough time to be online continuously, and at second my English is not good enough to communicate in real time.
Quote:
Also, you're ignoring the fact that given enough propaganda, people will quite happily mess themselves up, thinking it's the "right thing" to do. ;)

Sadly it is true.

franzf
Quote:
gentoo kde devs had a hard time to write patches to get most of akonadi/nepomuk optional.

LOL, it sounds like I broke all around and now devs have a hard time to get the things back. Should I remind you who removed this flag?

Quote:
If you have no idea you should stop crying and flaming.

My ideas at the first post. Scroll page up and read it.
If no one will make a fuss, we all will eat this crap.

Enough. Let's finish.
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Tue Oct 15, 2013 12:37 pm    Post subject: Reply with quote

creaker wrote:
LOL, it sounds like I broke all around and now devs have a hard time to get the things back. Should I remind you who removed this flag?

As I understood kde devs, the problem was that they supported kdepimlibs to be built without nepomuk/akonadi. You can see that by looking into kdepimlibs-4.10.5. That introduced pain all over the place. And that is what they no longer are going to support. Your patches also only removed deps on kdepimlibs/akonadi/npomuk and did NOT fix automagic deps etc. Also drkonqi won't build with your ebuild mods as already stated. And your mods to the ebuilds can be achieved through "-semantic-desktop", again (except drkonqi).
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8931

PostPosted: Tue Oct 15, 2013 12:57 pm    Post subject: Reply with quote

In other words, packaging is not _that_ trivial as it might seem.
Back to top
View user's profile Send private message
creaker
l33t
l33t


Joined: 14 Jul 2012
Posts: 651

PostPosted: Tue Oct 15, 2013 6:14 pm    Post subject: Reply with quote

franzf wrote:

As I understood kde devs, the problem was that they supported kdepimlibs to be built without nepomuk/akonadi.

Exactly. It can't be done at ebuilds level. But since I initially tried to remove kdepim as well as semantic, I wasn't faced with this problem.


franzf wrote:

Also drkonqi won't build with your ebuild mods as already stated. And your mods to the ebuilds can be achieved through "-semantic-desktop", again (except drkonqi).

You are right regarding drkonqi. I have to pick between having drkonqi and removing semantic. I chose to remove semantic, even if it will remove drkonqi

franzf wrote:

And your mods to the ebuilds can be achieved through "-semantic-desktop", again.

No. Right now I do installation and "-semantic-desktop" works for kdelibs only. The rest of kde (kdebase-startkde) requires ebuilds changing. I'm trying to do as little changes as possible. I'll post changed ebuilds when it will be installed.
Back to top
View user's profile Send private message
creaker
l33t
l33t


Joined: 14 Jul 2012
Posts: 651

PostPosted: Tue Oct 15, 2013 7:32 pm    Post subject: Reply with quote

Done. kde-4.11.2 installed without having to install semantic desktop and kdepim.
Use flag works for kdelibs only. In addition I've changed 4 ebuilds: systemsettings, plasma-workspace, kdebase-runtime-meta, kdepimlibs.The latter, I think, can be excluded since kdepimlibs was not installed.

This time I have no cmake related issues that Yamakuzure described above.
I did not change sources, so should I believe devs, who argue that semantic-desktop hard-enabled in kde?
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Wed Oct 16, 2013 8:27 pm    Post subject: Reply with quote

creaker wrote:
steveL
I can't remember which of cmake macros causes a problem right now. Next time I will update or install system I can get these macros names. Using IRC for collaboration isn't useful for me due to two reasons: at first I have no enough time to be online continuously, and at second my English is not good enough to communicate in real time.

Hey we can collaborate on here; as I said it's feasible. But please don't let the second factor influence you: there are many people on IRC who don't speak English very well at all; I am sure I would be able to understand you well enough if you were to /join #friendly-coders (and also we can talk live in pm that no-one else hears: /msg igli hi it's creaker so you don't need to worry.) Seriously some of the people I rate the highest on irc, are not native English speakers; an example would be qnikst who does a lot of work on openrc (he did the cgroup subsystem, and is looking into some more interesting stuff) but I don't think he'd mind me saying his English isn't brilliant, since he's Russian. ;)

In the context of understanding computer stuff, it can actually be easier dealing with someone where you don't both speak the same language: all you can focus on is the actual task, whereas with a native-English speaker, you read a lot more into the "tone", which is a nebulous concept, but for instance I often find Gentoo devs obsess about specific use-cases and waste time on pondering, when to my mind a programmer's job is first and foremost to help the user get their job done. Use-cases are irrelevant unless you are actually implementing something that enables them; what matters is to get a result. The whole point of small tools that do one thing, and do it well, is that the user is in charge of tying them together, and it's easier to code to a simple spec (which is what you have with a small tool) than to try and integrate everything and plan for every use-case, since the latter just does not work.
creaker wrote:
Done. kde-4.11.2 installed without having to install semantic desktop and kdepim.
Use flag works for kdelibs only. In addition I've changed 4 ebuilds: systemsettings, plasma-workspace, kdebase-runtime-meta, kdepimlibs.The latter, I think, can be excluded since kdepimlibs was not installed.

Can you post the patches for all of them please? I'd like to deal with kdepimlibs if possible.
Quote:
This time I have no cmake related issues that Yamakuzure described above.

That's good news. But if we're patching we need an overlay, even if that is just automated patching on our boxes into local overlay.
Back to top
View user's profile Send private message
creaker
l33t
l33t


Joined: 14 Jul 2012
Posts: 651

PostPosted: Thu Oct 17, 2013 4:32 pm    Post subject: Reply with quote

This time I did not create patches, I just edited ebuilds and built packages with this edited ebuilds, so I can post edited stuffs only:
systemsettings-4.11.2.ebuild-changed : http://pastebin.com/qhNNAvg4
plasma-workspace-4.11.2.ebuild-changed : http://pastebin.com/rLWT5h22
kdebase-runtime-meta-4.11.2.ebuild-changed : http://pastebin.com/ryTyJ0j5
kdepimlibs-4.11.2.ebuild-changed : http://pastebin.com/2f7UR7WX
Back to top
View user's profile Send private message
Sh4doW
n00b
n00b


Joined: 13 Mar 2003
Posts: 37

PostPosted: Sat Nov 02, 2013 10:48 am    Post subject: Reply with quote

Moved to 4.11.2 from 4.10.5 without semantic-desktop and related services thanks to your changed ebuilds. Everything works for now.
_________________
only sheep need a leader.
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Sat Nov 02, 2013 12:30 pm    Post subject: Reply with quote

Sh4doW wrote:
Moved to 4.11.2 from 4.10.5 without semantic-desktop and related services thanks to your changed ebuilds. Everything works for now.

That should be possible without any "patches" now. Just set "-semantic-desktop". That magically happened because people opened bug reports and told the Gentoo KDE devs that package ABC can be built without semantic-desktop.
Back to top
View user's profile Send private message
Sh4doW
n00b
n00b


Joined: 13 Mar 2003
Posts: 37

PostPosted: Sat Nov 02, 2013 11:01 pm    Post subject: Reply with quote

franzf, I basically had the same issue as creaker mentioned in his first post and that's why I stayed with 4.10.5.

Using "-semantic-desktop" with 4.11+ does not guarantee my system won't end up with akonadi, nepomuk and friends as it did on previous versions - at least that was my association with mentioned USE flag.

Now I also have to avoid kdepimlibs.
_________________
only sheep need a leader.
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Sun Nov 03, 2013 8:12 am    Post subject: Reply with quote

Which packages did force kdepimlibs/nepomuk/... though they are supported by upstream to work without? Did you report them on bugs.gentoo.org?
Back to top
View user's profile Send private message
Sh4doW
n00b
n00b


Joined: 13 Mar 2003
Posts: 37

PostPosted: Sun Nov 03, 2013 9:08 am    Post subject: Reply with quote

You are correct dear sir, thanks for info!

I took some more time this morning and checked related USE flags on latest ebuilds available in portage.. semantic-desktop replaced all previous kdepimlibs related flags in dependencies.
I was looking at 4.10.5 packages and had kde-base/plasma-workspace with "rss" and kde-base/libplasmaclock with "holidays" USE flag (R)DEPEND on kdepimlibs. That got replaced with semantic-desktop on their latest 4.11+ counterparts as did inclusion of drkonqi and nepomuk in kdebase-runtime-meta.

I try to keep up with what gentoo KDE team is doing, but I somehow missed this one.

For the time being "semantic-desktop" USE flag does keep akonadi, nepomuk and friends off my system without editing any ebuilds, so no bugs need to be reported.
_________________
only sheep need a leader.
Back to top
View user's profile Send private message
Chiitoo
Administrator
Administrator


Joined: 28 Feb 2010
Posts: 2550
Location: Here and Away Again

PostPosted: Mon Nov 04, 2013 2:56 am    Post subject: Reply with quote

Hmmm, I guess this is somewhat related.

I figured net-irc/konversation (1.5_rc1-r1) depends on kde-base/kdepimlibs due to addressbook linking, and thus, can alone pull kde-base/kdelibs with semantic-desktop, and further pull in kde-base/nepomuk-core and some 15 other packages.

So I discovered this:I then proceeded to adjust the diff to apply to the currently latest version, and it seems to work well for me from what I can tell. I never used the feature(s), so I'll definitely not miss them. ^^

I'm pretty sure I didn't need to be so thorough with the adjustments due to how the patch command works, but I went for it anyblue! I'm unsure if it can be useful to anyone, but here's a patch (done while quite sleepy, so the possibility for mistakes can be rather high). The ebuild, of course, requires the removal of $(add_kdebase_dep kdepimlibs) as well as the addition of the patch.

Pointing out mistakes/doing-it-wrongs will be appreciated!


Thanks for the topic; it made me look into this in the first place, and allowed me to get rid of them extra packages once more again (I gave in to nepomuk etc. during the recent days to get up to 4.11).
_________________
Kindest of regardses.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Fri Dec 20, 2013 6:20 pm    Post subject: Reply with quote

Ah thanks Chiitoo, I've just run into this with the usual mysql/redland sh1tfest coming in, and much scratching of my head to work out why -semantic-desktop is not having any effect.

I'll try your patch out and report back.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum