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 ;-) |