Bug 402536 - Consider using a condensed folder structure for src and build directories
Summary: Consider using a condensed folder structure for src and build directories
Status: RESOLVED FIXED
Alias: None
Product: kdesrc-build
Classification: Developer tools
Component: general (show other bugs)
Version: Git
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Michael Pyne
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-12-24 18:21 UTC by Nate Graham
Modified: 2019-02-08 21:30 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 19.04


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nate Graham 2018-12-24 18:21:58 UTC
kdesrc-build currently uses a deeply nested folder structure inside the src and build directories. E.g.:

~/kde/src/kde/kdegraphics/gwenview/
~/kde/src/kde/applications/dolphin/
~/kde/src/kde/workspace/plasma-workspace/

~/kde/build/kde/kdegraphics/gwenview/
~/kde/build/kde/applications/dolphin/
~/kde/build/kde/workspace/plasma-workspace/

I'm not sure how helpful this level of specificity really is. It seems like an example of unnecessarily exposing an implementation detail in the user interface and also makes it harder to find things. For example, why is Gwenview in kde/kdegraphics rather than kde/applications? As a user, it's not clear to me (as a developer, I understand, but the distinction is not important to a user).

I would like to propose a simpler folder structure that gets rid of the "kde/<whatever>" intermediate directories:

~/kde/src/gwenview/
~/kde/src/dolphin/
~/kde/src/plasma-workspace/

~/kde/build/gwenview/
~/kde/build/dolphin/
~/kde/build/plasma-workspace/

I think this would make kdesrc-build a bit easier to use.
Comment 1 Nate Graham 2018-12-24 18:27:33 UTC
This is valid. I reported basically the same thing the other day: Bug 402511.
Comment 2 Nate Graham 2018-12-24 18:28:48 UTC
Oops, that comment was meant for another bug, not this one!
Comment 3 Michael Pyne 2018-12-25 00:21:36 UTC
I agree with the logic. There's an existing "ignore-kde-structure" option that can be set (to true) for new users for now.

I want to default that option to true so that it doesn't have to be set, but need to figure out a way to move old source/build dirs to avoid wasting a bunch of download bandwidth, time and effort.
Comment 4 Nate Graham 2018-12-26 17:57:27 UTC
Perhaps we shouldn't change existing users' installations, in which case we don't need any migration logic. If we set the option by default in `~/.kdesrc-buildrc` during the initial setup, the new users would get it and use the condensed folder structure, while existing users wouldn't have anything touched, since they're not going to run `kdesrc-build --initial-setup` again.
Comment 5 Gregor Mi 2019-01-24 23:16:00 UTC
+1 for the flat layout by default. I also have trouble remembering where which application is located in which folder.
Comment 6 Michael Pyne 2019-02-08 21:11:07 UTC
Git commit 0ceb50e9fefbc43c037e7303fa66b0e793987b3c by Michael Pyne.
Committed on 08/02/2019 at 21:07.
Pushed by mpyne into branch 'master'.

first-run: Ignore kde structure by default.

As suggested by Nate. And as he and Gregor point out, this is a safe
and easy change to make as it only affects new users who use
--initial-setup.

Fixes #6
FIXED-IN:19.04

M  +2    -0    modules/ksb/FirstRun.pm

https://invent.kde.org/kde/kdesrc-build/commit/0ceb50e9fefbc43c037e7303fa66b0e793987b3c
Comment 7 Nate Graham 2019-02-08 21:30:10 UTC
Yay!