1 |
On Tuesday 02 of December 2008 10:40:19 Alec Warner wrote: |
2 |
|
3 |
> <mean hat> |
4 |
> You asked, so the counter proposal is to *do nothing*. |
5 |
> <very mean generic rant hat on> |
6 |
> Ideas (even good ones) don't always get implemented. |
7 |
> |
8 |
> Sometimes that just isn't the direction the maintainers want to take |
9 |
> the project. |
10 |
> Sometimes it is harder to implement than most people realize. |
11 |
> Sometimes suggested implementations are just a hack and a bad idea all |
12 |
> around. |
13 |
> |
14 |
> I think starting with an implementation may have been a bad starting move. |
15 |
> |
16 |
> Start with what you want to accomplish: |
17 |
> - Get feedback on whether this is useful or not. |
18 |
> - Get feedback on other features that may be available. |
19 |
> - Get feedback on how some folks would accomplish this. |
20 |
> |
21 |
> "I want to be able to turn debug builds on or off on a per-package |
22 |
> basis. Debug builds entail both debugging symbols, split-debug, debug |
23 |
> CFLAGS and debug LDFLAGS." |
24 |
> |
25 |
> Is that a fair summary of your request? |
26 |
|
27 |
Yes, precisely. But forget about this proposal, as I stated already it's just |
28 |
a workaround for inability to set CFLAGS/LDFLAGS and those two FEATURES per- |
29 |
package basis in *official* way. |
30 |
|
31 |
> I am unsure how much you actually care about how each package manager |
32 |
> implements this feature (or if anyone implements it but portage, or |
33 |
> paludis, or whatever the majority of the KDE users are using). |
34 |
> |
35 |
> I'm also unsure how useful this is when say, some part of KDE links |
36 |
> against libfoo and KDE is built with debug symbols but libfoo is not. |
37 |
> Is that really useful? Are users actually asking for this proposed |
38 |
> feature or do you just think they want it? Do you have any data to |
39 |
> back up why someone should implement this feature (mailing list posts, |
40 |
> forums threads, etc..) |
41 |
|
42 |
No, and I'm afraid I cannot provide any single evidence that users actually |
43 |
need features like: |
44 |
- per package cflags/ldflags/features |
45 |
- per category use flags, accept_keywords, cflags |
46 |
- or tag clouds instead of hard coded categories |
47 |
- user-defined packages sets (official) |
48 |
- multiple portage configurations support to ease building binaries for |
49 |
several targets on a same host |
50 |
- dynamic libraries tracking for safe package upgrade or removal |
51 |
- real backwards dependencies |
52 |
- maybe git driven Portage |
53 |
- automatic kernel modules rebuilding |
54 |
- mysql split ebuilds |
55 |
|
56 |
Actually, I'm perfectly certain that users are way more interested in critical |
57 |
important aspects of their system like whether HOMEPAGE should be set in |
58 |
ebuilds or in metadata.xml :D |
59 |
|
60 |
Please let me solve your little problem with HOMEPAGE for you... |
61 |
Package's homepage obviously may be, and actually is - ${PN}-${PV} specific. |
62 |
That being said it *would* needs to be specified either in every ebuild or as |
63 |
someone proposed - in metadata.xml in versioned/tagged way. |
64 |
And no matter how many searches you run - it may be easy to predict that due |
65 |
to lazyness (less probable) or just to avoid copy/paste (copy/paste is bad - |
66 |
everyone knows that) - some developers used to put HOMEPAGE in eclasses - |
67 |
because it may be used to put in postinst message for some reasons, that being |
68 |
said it needs to be in ebuild domain in current implementation. |
69 |
Mixing XML and bash (ebuild) in general isn't a bad idea but using bothe of |
70 |
them seems to be inconsistent - but some trade off needs to be paid sometimes. |
71 |
When duplicating HOMEPAGE is such a pain for developer (as he needs to type it |
72 |
all over again, I agree, it is pain, especially when one need to put some |
73 |
things only to please repoman), why not invest some time and develop tools |
74 |
that could make it easier - like meta-ebuilds (or ebuild generators) and |
75 |
ebuild templates? I've done something like this to autogenerate plasma applet |
76 |
live ebuilds from KDE playground on their SVN (it's not yet commited to |
77 |
overlay as eclass is not yet ready to fetch/unpack and build packages from |
78 |
this location and I haven't got time yet to patch it). |
79 |
If declaring HOMEPAGE in eclasses troubles you as you need BASH to process it |
80 |
properly (it may be pain for non-BASH search tools) and XML may be problematic |
81 |
to parse for bash tools - why not create such ebuild generator or 'compiler' - |
82 |
that could generate ebuild? Or for example as complete BASH script (no need |
83 |
for inherit anything) - and use eclasses ONLY like 'development library'. |
84 |
This way - every ebuild could be: |
85 |
- eclass-breakage free (overwriting eclasses don't take place so you are |
86 |
certain that user's emerge-problem is not him messing with eclasses - like |
87 |
mixing those from other overlays) |
88 |
- every defined variable is there (no need for 'inherit' lookup) - so that one |
89 |
can easily find HOMEPAGE= using every kind of tool (unless it is enclosed with |
90 |
some condition - why would anyone need to do that btw?) |
91 |
- much larger disk space requirements for Portage tree - but that could be |
92 |
compensated by for example gzipping every ebuild. |
93 |
Of course every problems with dichotomy ebuild vs metadata could be solved by |
94 |
some new Portage backend - better suited for queries and storage (maybe some |
95 |
relational database). |
96 |
But so far - the solution in very simple - require HOMEPAGE to be in *every* |
97 |
ebuild and make repoman very angry otherwise and don't play with versioned |
98 |
metadata because it's waste of your time imho, and it could be invested on |
99 |
developing/deploying better backend for example or at least discussing on some |
100 |
not needed and never requested features like on the list above (and if |
101 |
requested, then probably by some clueless users...). |
102 |
Glad that I could help. |
103 |
|
104 |
> Certainly for portage per-package features are possible with a minor |
105 |
> patch (to read the custom settings from your config and to inject the |
106 |
> FEATURES variables into the per-package config when necessary). The |
107 |
> problem that has been stated in the past is that FEATURES were not |
108 |
> designed to be used in that manner (per-package). |
109 |
> |
110 |
> We could design an separate system that let you define per-package |
111 |
> 'things' and use these 'things' to trigger debug builds (completely |
112 |
> outside of FEATURES, leaving them alone). FEATURES were in fact |
113 |
> specific features of portage that you want 'on' or 'off' |
114 |
> (metadata-transfer, parallel-fetch, userfetch, unmerge-orphans, |
115 |
> etc...) These are examples of things you would not turn off |
116 |
> per-ebuild. |
117 |
|
118 |
> But the question is always 'is it really worth it' and can you get |
119 |
> someone to do it. |
120 |
> Sometimes, doing nothing is better than doing something badly. |
121 |
> <endrant> |
122 |
|
123 |
Yes, and developers in terms of Portage enhancements seem to be pretty good at |
124 |
this. Please don't get me wrong, I admire and respect *every* *singe* *effort* |
125 |
put in maintaining packages (maybe because I doing it as well), "wasting time" |
126 |
by bug fixing, and making it all alive. I really do. |
127 |
And I understand that developers are free to spend their own precious free |
128 |
time (no sarcasm here) on whatever they want (as it's your time as you |
129 |
volunteer) and I would be perfectly fine with that if they wouldn't block the |
130 |
progress by miscalculated priorities and only because they have @gentoo.org in |
131 |
their email and they are the only ones authorized to introduce changes. |
132 |
|
133 |
And as as side note - I anyone thinks that Gentoo is his private project and |
134 |
users are completely clueless (well, sometimes they are) and they are |
135 |
completely irrelevant, I guess the one should acknowledge the existence of |
136 |
some materials[1] (and maybe reconsider his further participation otherwise). |
137 |
There is some interesting discussion[2] on the forums related to user |
138 |
contribution to Gentoo and apart from many valid points by other users, there |
139 |
is my proposal[3] that aims to make your life a bit easier. |
140 |
|
141 |
1. http://www.gentoo.org/foundation/en/#doc_chap2 |
142 |
2. http://forums.gentoo.org/viewtopic-t-702248.html |
143 |
3. http://forums.gentoo.org/viewtopic-p-5296515.html#5296515 |
144 |
|
145 |
-- |
146 |
regards |
147 |
MM |