[gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-05 Thread Duncan
Diego Elio Pettenò posted on Mon, 05 Nov 2012 07:39:19 -0800 as excerpted:

 On 05/11/2012 07:31, Steven J. Long wrote:
 Are you really missing the fact that by testing someone's overlay, the
 package would by definition not be in the tree, and you wouldn't have
 to file any bugs at all, just (automatically) email the output back to
 the overlay developer?
 
 Which means I wouldn't be filing bugs for the problems with the
 _existing_ packages that are in tree, which is what the users actually
 _use_ by default.
 
 If the users are forced to use overlays to get working packages, then I
 feel I'm perfectly right with screaming at the developers who are using
 overlays for development because they leave users in a sorry state.

I'm not sure if this is what SL had in mind, but it's what I thought of 
when I read his suggestion, triggered here by the won't have to file 
bugs at all bit.

What about doing overlays, but ONLY one-at-a-time, and ONLY on special-
request-runs, presumably immediately pre-tree-introduction?  Among other 
things that might help for stuff like kde where a whole slew of packages 
are introduced to the tree (and should be tested) together, something 
that's easier done from a staging overlay.

That way, any overlay runs would be pre-requested by the overlay person/
project, so they'd be specifically expecting results.  Thus the could 
(if desired) skip filing bugs, just direct-mail part SL mentioned, or 
automated bug filing but in this case it'd be ENTIRELY by request and 
expected, since they would have pre-arranged for the tinderbox run and 
would be expecting/prepared-for the results.

Additionally, one-overlay-at-a-time would automatically mean what's ever 
there is tested only against the tree and other packages in that overlay, 
limiting the where'd it come from problem.  In fact, a pre-arranged 
unmask file (say tinderbox.unmask) in the profile could be used 
effectively as a whitelist to specify specific packages and versions for 
the tinderbox run.  If it's in the whitelist, it's from the overlay, 
otherwise it's from the tree.  This would let the overlay folks keep 
their live-builds, etc, out of tinderbox run, since they're presumably 
not tinderbox-test-ready anyway, as well as nicely solving the where'd 
it come from question.

And tree packages would still be heavily emphasized, since all testing 
except for other packages in that specific overlay test would be against 
the tree.

 Let me try to re-explain this to you: let's say I import overlay $foobar
 and $foobar has library A and packages B C D E and F. Now there's
 package G in main tree that also uses library A. It fails in the
 tinderbox run. Who I have to report it to?

This one would then be easy.  Package G is in the main tree but you're 
doing a specifically requested overlay run, and it's failing built 
against overlay library A.  You file the bug with the overlay maintainer, 
since that's specifically what you're testing, and library A is in 
tinderbox.unmask so the overlay version is specifically being tested in 
this run.

But here's the kicker.  Now you're more or less simply providing the 
tinderbox testing service.  You don't have all the usual results analysis 
to do yourself (tho you might want to do a quick check from time to time 
to make sure it's still working as expected/intended), you pretty much 
simply forward them as-is to the overlay maintainer, giving them the test 
results they requested.  They get to figure out where the problem is and 
adjust (or if it's a tree-only bug that just happened to popup in this 
test, duplicate it as such, and file the bug accordingly) as necessary.

 Now let's say I add more one overlay

That won't happen in this one-overlay-at-a-time scenario.  Again, the 
tree remains the primary focus, since all non-tinderbox.unmask-listed 
packages are by definition in-tree.  You're simply providing a very 
specific overlay-against-tree tinderbox testing service, giving the 
requesting maintainers a bit more flexibility there, in exchange for 
offloading some of the responsibility you'd normally have for bug pre-
analysis, etc, to them.  They get both the additional flexibility of an 
overlay test, and rawer results that they have to do more work to parse, 
in the same package deal, but the focus remains the tree.  There's no 
possibility or complexity of multiple overlays at once.

 And you're also failing to understand how the whole tinderbox works. I
 suggest you read the two posts I wrote on the topic, which will form a
 basis for the documentation of the tinderbox:
 
 http://goo.gl/SM9Rp http://goo.gl/SF0Dz

FWIW I'm subscribed to your feed and gentoo-planet both, so saw those.  I 
read/skimmed them, but some of it was beyond me for just reading, tho 
it'd definitely be useful if I were actually implementing a tinderbox 
here.  So if I missed something obvious therein, and this idea isn't 
practical either, forgive the waste of time.

-- 
Duncan - List replies 

Re: [gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-05 Thread Diego Elio Pettenò
On 05/11/2012 13:45, Duncan wrote:
 
 What about doing overlays, but ONLY one-at-a-time, and ONLY on special-
 request-runs, presumably immediately pre-tree-introduction?  Among other 
 things that might help for stuff like kde where a whole slew of packages 
 are introduced to the tree (and should be tested) together, something 
 that's easier done from a staging overlay.

It's actually easier done by package.mask as Ian already pointed out.

-- 
Diego Elio Pettenò — Flameeyes
flamee...@flameeyes.eu — http://blog.flameeyes.eu/



Re: [gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-05 Thread Patrick Lauer
On 11/06/12 05:45, Duncan wrote:
 Diego Elio Pettenò posted on Mon, 05 Nov 2012 07:39:19 -0800 as excerpted:
 
 On 05/11/2012 07:31, Steven J. Long wrote:
 Are you really missing the fact that by testing someone's overlay, the
 package would by definition not be in the tree, and you wouldn't have
 to file any bugs at all, just (automatically) email the output back to
 the overlay developer?

 Which means I wouldn't be filing bugs for the problems with the
 _existing_ packages that are in tree, which is what the users actually
 _use_ by default.

 If the users are forced to use overlays to get working packages, then I
 feel I'm perfectly right with screaming at the developers who are using
 overlays for development because they leave users in a sorry state.
 
 I'm not sure if this is what SL had in mind, but it's what I thought of 
 when I read his suggestion, triggered here by the won't have to file 
 bugs at all bit.
 
 What about doing overlays, but ONLY one-at-a-time, and ONLY on special-
 request-runs, presumably immediately pre-tree-introduction?  Among other 
 things that might help for stuff like kde where a whole slew of packages 
 are introduced to the tree (and should be tested) together, something 
 that's easier done from a staging overlay.
 
 That way, any overlay runs would be pre-requested by the overlay person/
 project, so they'd be specifically expecting results.  Thus the could 
 (if desired) skip filing bugs, just direct-mail part SL mentioned, or 
 automated bug filing but in this case it'd be ENTIRELY by request and 
 expected, since they would have pre-arranged for the tinderbox run and 
 would be expecting/prepared-for the results.

I've been doing this for some overlays - kde, qt, sunrise

It's still a lot of work to set things up (keywords, blockers, useflags
mostly), and it takes lots of time - the small qt overlay took me
about 4 days walltime to process (I'd estimate somewhere near a CPU-day)

But why rely on Diego or me for such things? All you need to do is setup
a chroot, configure it well, emerge `cat pkglist` and watch the fallout.

 
 Additionally, one-overlay-at-a-time would automatically mean what's ever 
 there is tested only against the tree and other packages in that overlay, 
 limiting the where'd it come from problem.  
Aye, it gives pretty good results, but comes with extra setup time.

... but as you mentioned, if the overlays provided specific files with
e.g. unmask lists it'd be easier, and anyone with reasonably fast
hardware can do it themselves anyway.

Happy compiling,

Patrick



Re: [gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-01 Thread Graham Murray
Ryan Hill dirtye...@gentoo.org writes:

 Christ on a $#@%! crutch.  You can NOT auto-enable C++11 in your library based
 on a configure test and then stuff flags that are not supported by previous
 compiler versions into pkg-config for library consumers.  Somebody sane
 please fix this.

Though is it not normally a reasonable assumption that the library
consumers will be built with the same or later compiler version as the
library? In which case it does no harm.



Re: [gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-01 Thread Diego Elio Pettenò
On 31/10/2012 23:13, Graham Murray wrote:
 Though is it not normally a reasonable assumption that the library
 consumers will be built with the same or later compiler version as the
 library? In which case it does no harm.

Not really, it's not.

-- 
Diego Elio Pettenò — Flameeyes
flamee...@flameeyes.eu — http://blog.flameeyes.eu/



Re: [gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-01 Thread Peter Stuge
Graham Murray wrote:
  Christ on a $#@%! crutch.  You can NOT auto-enable C++11 in your library 
  based
  on a configure test and then stuff flags that are not supported by previous
  compiler versions into pkg-config for library consumers.  Somebody sane
  please fix this.
 
 Though is it not normally a reasonable assumption that the library
 consumers will be built with the same or later compiler version as
 the library?

Well what about the consumers that have been built already? :)

Now, if all consumers could be rebuilt as part of the build of the
library (EAPI discussion about reverse dependencies) then I think
it's a very reasonable assumption. That would hopefully not be
required for very many libraries in the world, but if upstream is
broken enough then I think it would be a good thing to promote
awareness of that fact among users. I guess that they just don't
know how broken it is.


//Peter



Re: [gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-01 Thread Peter Stuge
Ryan Hill wrote:
 You can NOT

I am not saying that it is a good idea, but of course you can. It has
pretty sucky effects on how your library can be used, disabling
various smart stuff that modern systems do, but I guess the upstream
practises may be from a different time.


 Somebody sane please fix this.

I both agree and I don't. I guess it will be difficult for
representatives from a given distribution to fix very much
upstream, if possible I think that the distribution should instead be
fixed to deal with the limits imposed by upstream practises. In this
case I think it means the EAPI reverse dependency rebuild discussion.

Would that be sufficient to address the problem?


//Peter


pgpydVZch9ywT.pgp
Description: PGP signature


[gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-01 Thread Ryan Hill
On Thu, 1 Nov 2012 07:21:38 +0100
Peter Stuge pe...@stuge.se wrote:

 Graham Murray wrote:
   Christ on a $#@%! crutch.  You can NOT auto-enable C++11 in your library 
   based
   on a configure test and then stuff flags that are not supported by 
   previous
   compiler versions into pkg-config for library consumers.  Somebody sane
   please fix this.
  
  Though is it not normally a reasonable assumption that the library
  consumers will be built with the same or later compiler version as
  the library?
 
 Well what about the consumers that have been built already? :)
 
 Now, if all consumers could be rebuilt as part of the build of the
 library (EAPI discussion about reverse dependencies) then I think
 it's a very reasonable assumption.

This has nothing to do with dependencies not getting rebuilt when the library
does.  It's about switching to an earlier compiler version and having
every single package depending on that library fail to build due to something
that is non-obvious and hard to track down.  You don't know that you have to
rebuild the library because you don't know which package that damned flag came
from.


-- 
gcc-porting
toolchain, wxwidgets  we were never more here, expanse getting broader
@ gentoo.org  but bigger boats been done by less water


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-01 Thread Paweł Hajdan, Jr.
On 10/31/12 11:13 PM, Graham Murray wrote:
 Ryan Hill dirtye...@gentoo.org writes:
 
 Christ on a $#@%! crutch.  You can NOT auto-enable C++11 in your library 
 based
 on a configure test and then stuff flags that are not supported by previous
 compiler versions into pkg-config for library consumers.  Somebody sane
 please fix this.
 
 Though is it not normally a reasonable assumption that the library
 consumers will be built with the same or later compiler version as the
 library? In which case it does no harm.

To clarify: same compiler can support different versions of C++
standard. Those versions are not guaranteed to be compatible, and e.g.
chromium fails to compile when -std=gnu++11 is forced
(https://bugs.gentoo.org/show_bug.cgi?id=439698), while is otherwise
compatible with gcc-4.7.




signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-01 Thread Ryan Hill
On Thu, 1 Nov 2012 07:30:06 +0100
Peter Stuge pe...@stuge.se wrote:

 Ryan Hill wrote:
  You can NOT
 
 I am not saying that it is a good idea, but of course you can. It has
 pretty sucky effects on how your library can be used, disabling
 various smart stuff that modern systems do, but I guess the upstream
 practises may be from a different time.

No, you can not do it because I will not let you.

  Somebody sane please fix this.
 
 I both agree and I don't. I guess it will be difficult for
 representatives from a given distribution to fix very much
 upstream, if possible I think that the distribution should instead be
 fixed to deal with the limits imposed by upstream practises.

I think you're missing something here.  This breakage was added to the Gentoo
ebuild by the maintainer.  In fact, it immediately follows a bit of
code that sanitizes compiler flags from the pkg-config files, which was added
*specifically so we don't run into issues like this*.

 In this case I think it means the EAPI reverse dependency rebuild discussion.

Again, this has absolutely nothing to do with what I'm talking about.


-- 
gcc-porting
toolchain, wxwidgets  we were never more here, expanse getting broader
@ gentoo.org  but bigger boats been done by less water


signature.asc
Description: PGP signature


[gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-01 Thread Ryan Hill
On Thu, 1 Nov 2012 07:30:06 +0100
Peter Stuge pe...@stuge.se wrote:

 I guess it will be difficult for representatives from a given distribution to
 fix very much upstream, if possible I think that the distribution should
 instead be fixed to deal with the limits imposed by upstream practises.

Also, the amount of naïveté in that statement is truly heartwarming.  I thank
you sir.


-- 
gcc-porting
toolchain, wxwidgets  we were never more here, expanse getting broader
@ gentoo.org  but bigger boats been done by less water


signature.asc
Description: PGP signature


[gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-01 Thread Steven J. Long
On Wed, Oct 31, 2012 at 11:50:13PM -0700, Diego Elio Pettenò wrote:
 Dirty experiments, no. Testing stuff that's almost ready, yes. If you
 run the tinderbox against dirty experiments, the time _I_ pour in to
 sort through the logs report bugs is wasted because they'll hit stupid
 hacks that fail to work.
 
 _If_ it's ready to be tested it is ready to be in package.mask and
 vice-versa, as it's expected to work *but has to be tested*. If it's not
 expected to work, why should I spend time on the tinderbox?
 
  I don't understand. The topic was how your tinderbox could be even
  more useful for Gentoo, but you make personal remarks and bring up
  devrel and QA? That's confusing.
 
 You ask me to step off Arfrever, I'm telling you why I'm not.

He's right tho: the topic was Why doesn't your tinderbox work with
overlays? Your response was to insult Arfrever and not actually answer
the point.
 
  I'm sure you're open to the idea that your design can be made even
  more useful, if only for others, in ways you didn't think of yourself.
 
 See what I wrote above. If you don't understand _why_ I'm avoiding
 overlays with reason, then I'm seriously wasting my time responding to you.
 
Well yeah, you finally explained something, after several emails of bullshit.
Bully for you. Sure you're not burning out?

For anyone else not sure about reasons, there's some more here:
http://blog.flameeyes.eu/2010/08/fixed-in-overlay-read-not-fixed 

Not that I agree with the argument: a tinderbox that can handle overlays sounds
much more useful. The process outlined is that you can do special runs against
p.masked packages, given an email from the developer. Adding the overlay is
just as easy to script, so same amount of work, or less. Of course if the 
overlay
is badly maintained, you don't have to do anything you don't want.

But if you don't want to support that workflow *at all* (or only if all the
overlay packages are first introduced to the main tree and p.masked in line with
_your_ preferred workflow) that is of course your choice. Just don't be 
surprised
when people who work in overlays for whatever reason choose another tinderbox, 
or
deem your tinderbox irrelevant to _their_ workflow.

After all, it is: by design, as you've so politely explained.

-- 
#friendly-coders -- We're friendly, but we're not /that/ friendly ;-)



[gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-01 Thread Ryan Hill
On Thu, 1 Nov 2012 01:00:14 -0600
Ryan Hill dirtye...@gentoo.org wrote:

 This has nothing to do with dependencies not getting rebuilt when the library
 does.  It's about switching to an earlier compiler version and having
 every single package depending on that library fail to build due to something
 that is non-obvious and hard to track down.  You don't know that you have to
 rebuild the library because you don't know which package that damned flag came
 from.

I've had someone try to make the argument that we don't really support users
mixing packages built by different compiler versions.  It is true that doing
so can sometimes lead to problems with ABI compatibility, unsupported flags,
and so forth, as well as more subtle issues due to compiler bugs, etc.
Sometimes there is nothing we can reasonably do about this and we have to
live with it.  Other times there are solutions, such as making sure that
ABI-changing options don't get propagated down to other packages through
foo-config/pkg-config scripts, or ensuring packages honor the users compiler
flags (see for a topical example bug #202059), and we should and do fix these
things when we encounter them.

What we don't do is make the situation worse by actively introducing these
things into the tree, knowing full well the problems they can cause, and hide
behind the excuse that it's unsupported.


-- 
gcc-porting
toolchain, wxwidgets  we were never more here, expanse getting broader
@ gentoo.org  but bigger boats been done by less water


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-01 Thread Rich Freeman
On Thu, Nov 1, 2012 at 10:23 PM, Steven J. Long
sl...@rathaus.eclipse.co.uk wrote:
 He's right tho: the topic was Why doesn't your tinderbox work with
 overlays? Your response was to insult Arfrever and not actually answer
 the point.

Well, nobody is paying Diego to make a tinderbox that works with
overlays.  He actually mentioned that he was going to be spending some
time better documenting how it works, which I think is a big win for
everybody.  Perhaps others will extend his work.

That said, I don't think it is helpful to drive off outside
contributors either.  Ultimately those with commit access need to use
discretion when applying it.

Boost/ICU/etc are obviously a bit of a mess for what appears to be a
variety of reasons.  It would be best for those who actually care to
invest in them (whether devs or not) to work together to find the best
way of doing so.  If what they come up with causes issues for others,
then they should point it out and escalate as appropriate.

But, the rest of us should keep in mind that caring for things like
libraries is a bit of a thankless job.  Nobody says, gee, thanks for
getting that libjpeg bump into the tree, I can really appreciate the
slight refinement in the API the way they might appreciate a new KDE
release or whatever.  However, libraries are a ton of work when it
comes to coordinating with various other Gentoo teams, and some
upstream practices don't make it easier.

And QA can be a bit of a thankless job as well, since the sign of a
really effective QA process is that end users don't even realize it is
there.  However, even when done perfectly there can be hurt
feelings...

Rich



Re: [gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-11-01 Thread Diego Elio Pettenò
On 01/11/2012 19:23, Steven J. Long wrote:
 He's right tho: the topic was Why doesn't your tinderbox work with
 overlays? Your response was to insult Arfrever and not actually answer
 the point.

_Arfrever himself_ point to my reason in that blog post, FFS.

 Not that I agree with the argument: a tinderbox that can handle overlays 
 sounds
 much more useful. The process outlined is that you can do special runs against
 p.masked packages, given an email from the developer. Adding the overlay is
 just as easy to script, so same amount of work, or less. Of course if the 
 overlay
 is badly maintained, you don't have to do anything you don't want.

Yeah it _could_ be the same amount of work _if_ the overlay is
well-maintained. But since those overlays are pretty rare, I'm not going
to go out of my way just because.

 Just don't be surprised
 when people who work in overlays for whatever reason choose another 
 tinderbox, or
 deem your tinderbox irrelevant to _their_ workflow.

I'm not surprised. And I honestly don't give a rat's ass about it.

Gnome works in an overlay, but there is a tipping point when the overlay
content is stable enough that it enters the tree under p.mask. Qt did
the same as well. Both of them had asked me runs in the past, and it's fine.

Now of course there are experimental overlays. I don't care about
those, they'll probably add noise rather than signal, so, there they go,
out of the window.

What about those overlays who're never targeting into the tree? Well,
duh, I don't care about those because if it's not in the main tree, for
me it's not Gentoo, full stop.

Do you still fail to see why I don't find it a _limitation_? The only
moment when I can actually get decent signal out of a tinderbox run is
when the package _is_ good enough to get into p.mask; if _all_ packages
fail to build because the API is totally broken and nobody fixed it,
it'll just add to the number of open bugs I have.

-- 
Diego Elio Pettenò — Flameeyes
flamee...@flameeyes.eu — http://blog.flameeyes.eu/



[gentoo-dev] Re: Maintainer needed: dev-libs/icu

2012-10-31 Thread Ryan Hill
On Mon, 29 Oct 2012 15:39:14 -0400
Alexandre Rostovtsev tetrom...@gentoo.org wrote:

 On Mon, 2012-10-29 at 11:35 -0700, Diego Elio Pettenò wrote:
  The problem with ICU is worse than you expect. For once, with version
  50, it changes ABI (but not soname as far as I can tell) depending on
  which compiler you build it with. Yes, this is pretty much fucked up.
 
 It's even worse than that: if you switch compilers, the declared API in
 icu-50 headers will not match the ABI of the icu binary. I've just filed
 https://bugs.gentoo.org/show_bug.cgi?id=440156 after hitting a linking
 failure when building libreoffice using gcc-4.7 against icu-50 which had
 been built with gcc-4.6.

Christ on a $#@%! crutch.  You can NOT auto-enable C++11 in your library based
on a configure test and then stuff flags that are not supported by previous
compiler versions into pkg-config for library consumers.  Somebody sane
please fix this.


-- 
gcc-porting
toolchain, wxwidgets  we were never more here, expanse getting broader
@ gentoo.org  but bigger boats been done by less water


signature.asc
Description: PGP signature