Re: [gentoo-dev] Re: prune_libtool_files() and pkg-config dependency

2012-09-01 Thread Michał Górny
On Fri, 31 Aug 2012 20:14:43 -0400
Alexis Ballier aball...@gentoo.org wrote:

  Ah, while we're at it. If a library has macros referring
  to the functions of another library (or just types) in its public
  API, it needs a pkg-config file. ELF dependencies are not enough,
  and the gold linker will refuse to work because of a missing
  explicit dependency.
 
 Eh, straight to the point where pkgconfig is not the solution to
 everything: a binary not using said macros but trusting pkgconfig will
 get overlinked. Documentation stating that when using these
 macros/functions one should link to the other lib would make things
 even better.

The macros/types can change over time. Maintaining all indirect
dependencies is not friendly nor useful.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] HDEPEND (host dependencies for cross-compilation) for EAPI 5?

2012-09-01 Thread Michał Górny
On Sat, 1 Sep 2012 00:07:38 +0100
Ciaran McCreesh ciaran.mccre...@googlemail.com wrote:

 On Fri, 31 Aug 2012 16:03:25 -0700
 Zac Medico zmed...@gentoo.org wrote:
   runtime-switchable USE flags for optional dependencies o.O? It
   sounds like using a spoon to eat spaghetti to me.
  
  All suggested deps are not equal, so USE flags give you the ability
  to pick and choose the ones that you want.
 
 So does --take / --ignore with suggested dependencies, with the added
 advantage that suggested packages don't end up being brought in
 without user request just because a user has a particular use flag
 enabled globally.

Yes because runtime SSL support is *so much* different than build-time
one.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: prune_libtool_files() and pkg-config dependency

2012-09-01 Thread Alexis Ballier
On Sat, 1 Sep 2012 09:40:47 +0200
Michał Górny mgo...@gentoo.org wrote:

 On Fri, 31 Aug 2012 20:14:43 -0400
 Alexis Ballier aball...@gentoo.org wrote:
 
   Ah, while we're at it. If a library has macros referring
   to the functions of another library (or just types) in its public
   API, it needs a pkg-config file. ELF dependencies are not enough,
   and the gold linker will refuse to work because of a missing
   explicit dependency.
  
  Eh, straight to the point where pkgconfig is not the solution to
  everything: a binary not using said macros but trusting pkgconfig
  will get overlinked. Documentation stating that when using these
  macros/functions one should link to the other lib would make things
  even better.
 
 The macros/types can change over time. Maintaining all indirect
 dependencies is not friendly nor useful.
 

So in this hypothetic case where your lib changes its ABI and API, it
is not friendly and seen useless by consumers, I think I agree :)



Re: [gentoo-dev] Re: prune_libtool_files() and pkg-config dependency

2012-09-01 Thread Rich Freeman
On Fri, Aug 31, 2012 at 11:50 PM, Ryan Hill dirtye...@gentoo.org wrote:
 On Fri, 31 Aug 2012 22:51:08 +0200
 Michał Górny mgo...@gentoo.org wrote:
 Such a goals may be good for distributions like Exherbo which aim to
 make everything perfect. I believe that Gentoo aims more around 'good
 enough but at least realistic', instead of running for some kind of
 utopia which simply does not work.

 I don't understand your stance here, because to me 'good enough but
 realistic' means ignoring standards when they're stupid, embracing them when
 they're not, and forging your own where they don't yet exist.  Perfection, by
 definition, requires an existing standard to hold yourself up against.

In any case, I wasn't suggesting that a typical user would run without
POSIX.  I just think that we'd be better off if our dependencies were
fully specified which will aid those doing unusual things with Gentoo.

Keep in mind that unusual unix-like implementations are all around us.
 I doubt a Tivo even has a shell installed, and a typical Android
phone has a very non-traditional set of tools available.

I think the default Gentoo install should be pretty similar to what it
is today.  However, more flexibility to deviate isn't a bad thing.

That said, having fully specified dependencies without giving
headaches to maintainers is also a good goal.  I think that absent
better tools @system is always going to have to be a compromise.

Rich



[gentoo-dev] Future Trends

2012-09-01 Thread llemike...@aol.com

Colleagues,

I have been considering the current push to replace
init with systemd for all Linux systems.

systemd has been adopted by Fedora and openSuSE
as the default init system - and to ensure it becomes
the de facto standard, SysVInit has been deprecated
to the extent it is now virtually unsupported by those
distributions.

To reinforce the necessity to convert to systemd
udev source is now being offered as part of a package
together with systemd source.

Meanwhile, consolekit has disappeared to be replaced
by systemd-loginctl.

KDE build flags on Gentoo have traditionally been:
consolekit udev policykit dbus

As we all know d-bus provides userspace with a
message bus system. This is not far removed from
systemd in that systemd seeks to manage sockets
and launch processes based on events
communicated through the messaging system.
udev creates devices on-the-fly and communicates
these events using the message bus.

Consequently I predicted that the necessity to
bulld systemd together with udev will, in the next
six months, become a necessity to build
systemd, udev and d-bus as ONE ENTITY.

At that point, systemd's coup-de-grace will be
complete and to build KDE you will have to
accept systemd as your default init system.

In fact, to build virtually any Desktop machine you
will have to accept systemd as your init system.

Comments?

Mike



Re: [gentoo-dev] HDEPEND (host dependencies for cross-compilation) for EAPI 5?

2012-09-01 Thread Ciaran McCreesh
On Fri, 31 Aug 2012 18:45:59 -0700
Zac Medico zmed...@gentoo.org wrote:
 On 08/31/2012 04:07 PM, Ciaran McCreesh wrote:
  On Fri, 31 Aug 2012 16:03:25 -0700
  Zac Medico zmed...@gentoo.org wrote:
  runtime-switchable USE flags for optional dependencies o.O? It
  sounds like using a spoon to eat spaghetti to me.
 
  All suggested deps are not equal, so USE flags give you the
  ability to pick and choose the ones that you want.
  
  So does --take / --ignore with suggested dependencies, with the
  added advantage that suggested packages don't end up being brought
  in without user request just because a user has a particular use
  flag enabled globally.
 
 If the USE flags have ambiguous meanings doesn't that mean that
 they've been poorly named?

It's not like that. It's that in practice, suggestions are mostly for a
particular specific feature (such as git-send-email support), not for a
general concept (such as email in general).

It also defeats the point of suggestions, if they're not made visible.
For users, suggestions should look like suggestions, and they should
be able to see them easily.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Future Trends

2012-09-01 Thread Andreas K. Huettel
Am Samstag, 1. September 2012, 17:09:59 schrieb llemike...@aol.com:
 Colleagues,
 
 I have been considering the current push to replace
 init with systemd for all Linux systems.
 
[snip]
 
 Comments?
 
 Mike

Please ignore. We've had enough pointless systemd threads already.

-- 
Andreas K. Huettel
Gentoo Linux developer 
kde (team lead), sci, tex, arm, printing
dilfri...@gentoo.org
http://www.akhuettel.de/


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] HDEPEND (host dependencies for cross-compilation) for EAPI 5?

2012-09-01 Thread Zac Medico
On 09/01/2012 09:00 AM, Ciaran McCreesh wrote:
 On Fri, 31 Aug 2012 18:45:59 -0700
 Zac Medico zmed...@gentoo.org wrote:
 On 08/31/2012 04:07 PM, Ciaran McCreesh wrote:
 On Fri, 31 Aug 2012 16:03:25 -0700
 Zac Medico zmed...@gentoo.org wrote:
 runtime-switchable USE flags for optional dependencies o.O? It
 sounds like using a spoon to eat spaghetti to me.

 All suggested deps are not equal, so USE flags give you the
 ability to pick and choose the ones that you want.

 So does --take / --ignore with suggested dependencies, with the
 added advantage that suggested packages don't end up being brought
 in without user request just because a user has a particular use
 flag enabled globally.

 If the USE flags have ambiguous meanings doesn't that mean that
 they've been poorly named?
 
 It's not like that. It's that in practice, suggestions are mostly for a
 particular specific feature (such as git-send-email support), not for a
 general concept (such as email in general).
 
 It also defeats the point of suggestions, if they're not made visible.
 For users, suggestions should look like suggestions, and they should
 be able to see them easily.

This sounds more like a user-interface issue than a problem with
runtime-switchable USE flags (GLEP 62). The nice thing about
runtime-switchable USE flags is that makes it possible to allow users to
unify all of their optional dependency choices in their USE flag settings.

You can still implement a --take / --ignore mechanism while allowing the
use of runtime-switchable USE conditionals in SDEPEND. It's simply a
matter of ignoring the USE conditionals and instead using your --take /
--ignore mechanism to select atoms.
-- 
Thanks,
Zac



Re: [gentoo-dev] HDEPEND (host dependencies for cross-compilation) for EAPI 5?

2012-09-01 Thread Ciaran McCreesh
On Sat, 01 Sep 2012 11:15:16 -0700
Zac Medico zmed...@gentoo.org wrote:
 This sounds more like a user-interface issue than a problem with
 runtime-switchable USE flags (GLEP 62). The nice thing about
 runtime-switchable USE flags is that makes it possible to allow users
 to unify all of their optional dependency choices in their USE flag
 settings.

The nice thing about GLEP 62 is that no-one has implemented it and tried
it with lots of packages and a bunch of users, thus figuring out just
how much of a pain in the ass getting this right is... Right now we're
debating the merits of a tried and tested solution versus an entirely
hypothetical idea.

If you really think unification is an advantage, you could treat
exheres-style suggestion names as a special USE_EXPAND group. But
practical experience suggests that suggestions *shouldn't* be unified,
and that the way to make the feature useful to users is to get the user
to explicitly accept or reject suggestions, and to make suggestions look
like suggestions.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


[gentoo-dev] stripping escape sequences from build logs

2012-09-01 Thread William Hubbs
All,

I find the included escape sequences to be annoying when I am reading a
build log.

Is there a way to strip these?

Thanks,

William



pgp5HadawgmHT.pgp
Description: PGP signature


Re: [gentoo-dev] stripping escape sequences from build logs

2012-09-01 Thread Diego Elio Pettenò
On 01/09/2012 15:39, William Hubbs wrote:
 
 I find the included escape sequences to be annoying when I am reading a
 build log.
 
 Is there a way to strip these?

I had that problem — you can find my script that does that (as well as
other stuff) at https://github.com/gentoo/tboxanalysis

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



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] stripping escape sequences from build logs

2012-09-01 Thread Michał Górny
On Sat, 1 Sep 2012 17:39:13 -0500
William Hubbs willi...@gentoo.org wrote:

 All,
 
 I find the included escape sequences to be annoying when I am reading
 a build log.
 
 Is there a way to strip these?

I think the 'easy' way is to view them using 'less'. Not sure if it
will work for you.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: EAPI usage

2012-09-01 Thread Brian Harring
On Fri, Aug 31, 2012 at 03:49:43PM +0100, Ciaran McCreesh wrote:
 On Thu, 30 Aug 2012 23:58:00 + (UTC)
 Duncan 1i5t5.dun...@cox.net wrote:
  Of course an individual PM could choose to keep support for as long
  as they want, but unless I'm missing something, that'd let PMs drop
  support for old EAPIs if desired, with at least a reasonably sane
  upgrade path for both PM devs and users.
 
 It's irrelevant: the amount of package mangler code to be saved by
 removing old EAPIs is so small it's not worth discussing. Most EAPI
 changes so far have either been additions or very simple behaviour
 tweaks, not removals of annoying things.

Just seconding this statement; no PM author has stated maintaining 
EAPIs is an undue burden- it's come everytime from folks who don't 
/actually do any PM code/.

So please stop telling us what is, and isn't a burden in our code. :)


 There are things we might change in future EAPIs that will in the very
 long term make this discussion worthwhile. If we get rid of VDB access
 or unconstrained env saving, *then* it might be worth having this
 discussion.

Realistically even then, that's just swivelling vars/functions exposed 
to the ebuild env- it would require the vast majority of ebuilds 
migrating to EAPI versions that hide VDB access for this to be worth 
discussing (else due to backwards compat, it's a pointless 
discussion).


Either way, there's no reason to require devs use the latest EAPI; 
they migrate at their own pace as they need to, which is fine.  Case 
in point, check gentoo-x86 eapi usage:

repository '/var/db/repos/gentoo':
  eapi: '4' 13523 pkgs found, 42.58% of the repository
  eapi: '0' 8171 pkgs found, 25.73% of the repository
  eapi: '2' 5246 pkgs found, 16.52% of the repository
  eapi: '3' 4297 pkgs found, 13.53% of the repository
  eapi: '1' 520 pkgs found, 1.64% of the repository

0 is still in heavy usage since a lot of ebuilds don't need the newer 
EAPI functionality; 1 is mostly dead since the only gain of it (in 
comparison to 0) was slot deps, 2 had used use deps thus those same 
folk migrated to 2 (since if you need slot deps, it's semi likely you 
need use deps).

As for 3... that was prefix and xz support.  No reason to use it in 
comparison to 4 frankly.

Personally, I don't have any problems if gentoo were to mandate that 
EAPI1 shouldn't be used for new ebuilds in gentoo-x86, eapi2 instead.  
That sort of standard would make sense.

~harring



Re: [gentoo-dev] EJOBS variable for EAPI 5? (was: [RFC] Create a JOBS variable to replace -jX in MAKEOPTS)

2012-09-01 Thread Brian Harring
On Fri, Aug 31, 2012 at 11:12:44AM -0400, Alexis Ballier wrote:
 On Fri, 31 Aug 2012 15:45:21 +0100
 Ciaran McCreesh ciaran.mccre...@googlemail.com wrote:
 
  On Fri, 31 Aug 2012 10:21:15 +0200
  Ulrich Mueller u...@gentoo.org wrote:
   Coming back to this old topic [1]. Is there still consensus that we
   should have such an EJOBS variable? (It shouldn't be called JOBS
   because this name is too generic, see the old discussion.) Then we
   could add it to EAPI 5.
   
   Ulrich
   
   [1]
   http://archives.gentoo.org/gentoo-dev/msg_750e33f68b16d971dff1f40dd9145e56.xml
  
  If we're doing this, do we tell users to stop setting MAKEOPTS for
  EAPIs 5 and greater?
 
 How can this work ? I cant think of any simple solution.
 
  Do we change the name of MAKEOPTS for EAPIs 5 and
  greater instead? Do we put fancy code in the package mangler to deal
  with it?
 
 IMHO EAPI-5 compliant PMs should do MAKEOPTS=$MAKEOPTS -j$EJOBS for
 every EAPI; using EJOBS from ebuilds/eclasses is allowed only in EAPI 5
 and greater.
 This is retroactive but could be classified 'PM internals' so its fine
 imho.

This approach is fine imo, although I'd *potentially* look at adding a 
magic $PROC_COUNT var that is the # of cpu threads on the system; 
either that or defaulting jobs to it.

I rather dislike requiring users to go jam a 2/4/8 in there when it's 
easy to compute.  That said, it's minor.

Either way, yes, I think EJOBS should be in EAPI5.
~harring



Re: [gentoo-dev] EJOBS variable for EAPI 5? (was: [RFC] Create a JOBS variable to replace -jX in MAKEOPTS)

2012-09-01 Thread Michael Mol
On Sat, Sep 1, 2012 at 8:20 PM, Brian Harring ferri...@gmail.com wrote:
 On Fri, Aug 31, 2012 at 11:12:44AM -0400, Alexis Ballier wrote:
 On Fri, 31 Aug 2012 15:45:21 +0100
 Ciaran McCreesh ciaran.mccre...@googlemail.com wrote:

  On Fri, 31 Aug 2012 10:21:15 +0200
  Ulrich Mueller u...@gentoo.org wrote:
   Coming back to this old topic [1]. Is there still consensus that we
   should have such an EJOBS variable? (It shouldn't be called JOBS
   because this name is too generic, see the old discussion.) Then we
   could add it to EAPI 5.
  
   Ulrich
  
   [1]
   http://archives.gentoo.org/gentoo-dev/msg_750e33f68b16d971dff1f40dd9145e56.xml
 
  If we're doing this, do we tell users to stop setting MAKEOPTS for
  EAPIs 5 and greater?

 How can this work ? I cant think of any simple solution.

  Do we change the name of MAKEOPTS for EAPIs 5 and
  greater instead? Do we put fancy code in the package mangler to deal
  with it?

 IMHO EAPI-5 compliant PMs should do MAKEOPTS=$MAKEOPTS -j$EJOBS for
 every EAPI; using EJOBS from ebuilds/eclasses is allowed only in EAPI 5
 and greater.
 This is retroactive but could be classified 'PM internals' so its fine
 imho.

 This approach is fine imo, although I'd *potentially* look at adding a
 magic $PROC_COUNT var that is the # of cpu threads on the system;
 either that or defaulting jobs to it.

 I rather dislike requiring users to go jam a 2/4/8 in there when it's
 easy to compute.  That said, it's minor.

On this point, I use dynamic load-based job counting. I'd be using
distcc, too, but I don't have the spare hardware for a second build
box right now.

For a single box, I target a load average of $PROC_COUNT, with a max
jobs in the vicinity of 2x$PROC_COUNT, to prevent I/O hangs from
causing job count explosions. (Where I/O hiccups aren't a concern,
I've found leaving --jobs open-ended worked fine, but builds always
eventually expand to consume available I/O as upstream things get
larger) I find this works very well; emerge and make both manage to
lurk near the optimum point of keeping the CPU busy without spending
too much time in context switches.

In a distcc context, I would most likely target a load average of
$LOCAL_PROC_COUNT, with a max jobs of
(2*$LOCAL_PROC_COUNT+$REMOTE_PROC_COUNT).

If ebuilds are try to be more aware of parallel-build contexts, I
think it's important they're not limited to static job counts.

-- 
:wq