Gentoo Archives: gentoo-desktop

From: "Steven J. Long" <slong@××××××××××××××××××.uk>
To: gentoo-desktop@l.g.o
Subject: [gentoo-desktop] Re: kde-lean
Date: Wed, 24 Jul 2013 02:04:50
Message-Id: 20130724020451.GA1792@rathaus.eclipse.co.uk
In Reply to: [gentoo-desktop] Re: kde-lean TL;DR unless you're going to use it ;) by Duncan <1i5t5.duncan@cox.net>
1 Duncan wrote:
2 > Something that's been bothering me a bit. So far, this "framework" is
3 > pretty much just a function in my sync script that applies my patches
4 > after a pull. It's pretty simple, not even that much code or time,
5 > actually. So it'll need adapted for a wider audience, but I /do/ hope to
6 > get at least the initial function posted to the forum before this
7 > "weekend" is over.
8
9 That's fine. Really it shouldn't be more than applying:
10 /etc/portage/patches.ebuild/cat/pkg[-ver[-rN]].patch to the ebuild, and ensuring
11 that any extra patches are in /files for the overlay, which afaic is the
12 maintainer's job, but I'm happy for us to automate any part that's useful.
13
14 > Don't worry, the patches themselves are still manually created by /
15 > someone/, they're simply applied immediately after the sync (before a
16 > cache regen since they affect deps), and if they no longer apply for
17 > whatever reason, it's not fatal, so the result will simply be that ebuild
18 > returns to upstream gentoo/kde default and wants to pull in the semantic-
19 > desktop junk again, until someone comes up with an updated patch.
20
21 Yeah, though I don't want anything reverting to default like that, so we need the
22 package.mask of synonymous ::gentoo packages.
23
24 > > I just mean the overall design is one of patching as one process,
25 > > and use as a later, independent phase that does not have any awareness
26 > > of the fact that the ebuild has been patched (apart from the metadata
27 > > tag for QA.)
28 >
29 > You'll be happy to know that's the way it works. =:^) I hadn't even
30 > consciously considered the other way until you mentioned it, I think
31 > because I too was so horrified by the possibility, that I rejected it out
32 > of hand and considered the separate phases the only realistic approach
33 > from the get-go.
34
35 Good. You should know, I feel the same way about the idea of patching the local
36 portage mirror. I'm not happy with use of local/named overlay as an "option":
37 afaic it should be the only behaviour. If you must keep the option to patch ebuilds
38 in-situ, fine. Just not as default: opt-in to that instead.
39
40 > > Okey-dokey: I'll mail you off-list in the next day or two
41 > Cool. =:^)
42
43 Did you get my email? Worried I might have hit a spam-filter.
44
45 > But my system parallels emerge much more closely, being in effect little
46 > more than a bunch of emerge aliases, most of them starting ea (emerge --
47 > ask) or ep (--pretend), with various other letter combinations added that
48 > parallel the similar emerge options (eaw= emerge --ask @world... with
49 > --update --deep --newuse --oneshot implied, etc).
50 >
51 > The parallels make it very easy to transfer emerge option knowledge to my
52 > system, and the reverse as well.
53
54 I think you're a bit misinformed there: update _mirrors_ emerge options (or it's
55 a bug.) The -h for short options (--help for long ones) starts:
56 Usage: update <options> [target list]
57 Options: -eapqvurnUDNoO[bB][gG][kK]iEmsSfFlRACMhtxXWYzc
58 -eapunDNo[bB][kK][gG] : same as emerge
59
60 The only difference that would matter in usage, is that you have to use -i to
61 install something to world.
62
63 So update -uD --changed-use system # for example does the same thing emerge
64 would do. It just does the --pretend --verbose bit for you and waits for you
65 to review the output, as we're recommended to do, and gives you a dialog to edit
66 the list, and set package/global USE flags (or more commonly, read wtf they are;)
67 before continuing.
68 [You could use -U instead of --changed-use. That may be coming in portage, if zac
69 feels like it; he said it's free, anyhow.]
70
71 If you don't tell it to do something else, it assumes you want to:
72 emerge -uD --changed-use world --with-bdeps y
73 followed by glsa-check, depclean and revdep-rebuild. At the end it runs
74 dispatch-conf (or etc-proposals et al) if needed (and not automated.)
75
76 So update -s syncs the tree, runs eix-sync which handles overlays and displays
77 the tree-differences, and then does the above.
78 [If that's wrong wrt eix and overlays, especially given that q's postsync runs
79 before eix, then someone please tell me what to do instead.]
80
81 That's the short version. ;)
82
83 So I'd argue update inculcates just as much transferable knowledge: for most things
84 you use it as you would emerge, with the exact same flags, but s/emerge/update to
85 let it provide "porcelain" around the command-line interface to portage.
86 Additionally any changes to config files are presented as coloured-diffs you have to
87 confirm, so while it saves time, it also reminds one where things happen.
88
89 With changelogs for downgrades (i think it is), while I knew it's the right thing to
90 do, I never bothered to check them. Having knowledge of how to do something, doesn't
91 mean one wants to type it in every time: it breaks the flow.
92 That's what scripts are for.
93
94 > > All in all, I'd say people who think bash is slow are using it wrong.
95 > > Shell-scripts are slow, because people call externals when they don't
96 > > know better, typically on a crap OS that can't handle fork very easily,
97 > > whereas it's trival on Unix.
98 >
99 > I think a large part of it is that people forget just how slow the
100 > machines were that shell had to still be practical on back in the day.
101 > As a consequence, it's pretty impressive on today's machines, even if
102 > it's not as efficient as tuned native code.
103
104 Indeed: Unix sh has been doing the job of javascript in polkit since the days of
105 8-bit CPUs with 16-bit address-spaces. And an awful lot more too.
106 But if you fork lots of externals when you don't need to, your shell-script will be
107 slow, so people who script all the time, simply don't.
108
109 wrt "tuned native code" most of the people who look down on sh have no idea what
110 that means. They typically come out of Uni knowing Java, and deign to learn python,
111 so as to share their "talent" with the rest of us. They tend to look down on C too,
112 or "view it as a necessary evil" given that every sane OS is written in it.
113
114 Functional programmers tend to be a bit more open, since the idea of macro expansion
115 is not a dirty concept to them, and Guy Steele is hardly a slouch when it comes to C.
116 The trendy haskell boys (we love you #gentoo-haskell ;) need gcc to compile their
117 code.
118
119 > Meanwhile, it's my "weekend" now (three day but with a meeting tomorrow),
120 > so I've a couple days to spend on this and other personal projects. My
121 > goal is to be posting in the forum by the end of it, preferably with the
122 > first code posted. We'll see.
123 ..
124 > >> Short term, is it worth it to post the 4.10.80+ patches
125 > > Do please post them to the forum thread, in a [code]block[/code]
126 > > Or at a reasonably light pastebin with a [url=http://..]link text[/url]
127 >
128 > Thanks. Hopefully in the next couple days...
129
130 Uh-huh ;-) If you're obsessing over ebuild-patch before you release anything,
131 a) don't: nothing crafted by human hands is ever perfect, and
132 b) can you at least post the patches to KDE ebuilds you've built and run?
133 They don't need to be the exact versions we'll use, though we do need the original
134 as well as the patch(ed version), if it's not been in gentoo-x86 cvs. commit-ids
135 are fine for originals from gentoo git.
136
137 Alternatively, just push your current KDE-4.11 ebuilds to the overlay (kde-lean repo).
138
139 > FWIW, I generally update about twice a week on my main machine. I have
140 > something, somewhere, configured to warn me if I go more than a week
141 > between syncs, but AFAIK I've only actually seen that warning once, and
142 > can't even remember where it's configured. Three months... I'd have to
143 > be in the hospital or something for most of that time.
144
145 Well it's due to specific circumstances: my system is in a state where it needs a
146 deep toolchain upgrade, which is something I've wanted since we started update.
147 So I'm pausing til it's done, which gives me an incentive to get it done. (Yes I
148 know about sets. ;) Normally I update 2 or 3 times a week.
149
150 We did the same when the expat upgrade came in: it took about 6 months to get ABI
151 upgrades working in chroot well enough that we could upgrade live machines in
152 confidence. Still, multi-binhost support and the installer came out of that, as
153 well as the /etc/warning capability. There was no way we were going to rebuild the
154 whole chroot every time: it was only about testing what it would do with a specific
155 package set installed.
156
157 It really is quite spooky watching emerge install from stage3 with binpkgs: it feels
158 almost wrong for it to sail through it as quickly as an rpm-based distro. I saw that
159 happen countless times, so I know Gentoo and portage rock for that usage.
160
161 Reminds me, we'll bring the installer up to date after --toolchain is done, so we
162 can finally release it: last time we worked on it, lspci -k was just coming into
163 unstable, then we didn't have enough time for it. But I need to reinstall a laptop,
164 and we're going to try to get it installing a raspberry-pi. (need a challenge;)
165
166 > > There's some nice stuff in kate for 4.11 I want to try though.
167 > With 4.10 I began running the 4.x.49.9999 live-branch builds from the
168 > gentoo/kde overlay, and now that they're available (and patched) for 4.11
169 > branch too, I'm running that.
170
171 Ah these mythical patches, I keep hearing about.. ;p
172
173 > What I'm /really/ waiting for is wayland, tho.
174
175 Heh it's quite a good contrast in use-cases: I'm incredibly conservative about
176 trying out new things when it comes to my desktop; I like it boring and reliable,
177 same as everything else I can't function without. (That's why I didn't go near
178 KDE-4 til 4.4; usually it's been x.2.) So if you're pushing to try the interesting
179 new technology, that's good as it means we're not going to be left behind.
180
181 Regards,
182 steveL
183 --
184 #friendly-coders -- We're friendly, but we're not /that/ friendly ;-)

Replies

Subject Author
[gentoo-desktop] Re: kde-lean Duncan <1i5t5.duncan@×××.net>