[gentoo-portage-dev] LC_ALL and friends in make.conf

2007-03-08 Thread Kevin F. Quinn
This is an old issue, but I want to suggest a re-visit :)

As we all know, setting LC_ALL and friends can cause all sorts of
trouble in package builds.  However, many users really appreciate
being able to set it so that errors from the compiler etc are in their
own language.

It occurs to me that during emerge, only LC_MESSAGES is actually useful
for the user, to help interpret build errors.  LC_COLLATE and the
others don't give the user any benefit in the emerge process.

So how about if LANG or LC_* are set, portage would set LC_MESSAGES and
clear the rest?

Is there any real advantage to the user having LC_* set apart from
LC_MESSAGES?

-- 
Kevin F. Quinn


signature.asc
Description: PGP signature


Re: [gentoo-portage-dev] [RFC] Depending on active version

2007-01-31 Thread Kevin F. Quinn
On Wed, 31 Jan 2007 12:27:10 -0500
Alec Warner [EMAIL PROTECTED] wrote:

  Hmm; one could get the same benefit by introducing a new interface
  (e.g. pkg_env_check()) which is defined to return true if the
  environment is ok, false otherwise (with some text to stdout,
  perhaps). The package manager would then run this function, after
  building the depgraph and finding the candidate packages to merge,
  for each candidate package - if any package fails is env_check,
  none of the packages get emerged.  Note this is then completely
  independent of depgraph creation.
  
  In the 'tr1' example, I'd imagine something like this:
  
  use.local.desc: boost: Use boost library for tr1 rather than gcc's.
  
  ebuild:
  
  ...
  inherit ... toolchain-funcs versionator ...
  ...
  DEPEND=... boost? ( dev-libs/boost ) ...
  ...
  pkg_env_check() {
  use boost  return 0
  version_is_at_least 4.1 $(gcc-version)  return 0
  echo Either USE boost, or switch to gcc later than 4.1
  }
  
  
  (with a default definition, pkg_env_check() { return 0; } )
 
 In an ideal system you'd want this stuff in the metadata cache so that
 the resolver can deal with it up front.

You're talking about the metadata on the host, rather than the stuff on
the rsync servers?  I'm not sure you could cache the results even on
the host - you would need to know what could affect the results so as
to know when the cached information is out of date and has to be
recalculated.  That would either have to checked on every emerge, or
made a separate switch (i.e. rely on the user to tell emerge when the
environment has changed).

  All resolution is a brute
 force metadata search; and assuming we had all the necessary data up
 front, we can optimize the search there (see pkgcore and restriction
 subsystem) versus IMHO doing a 'dumb' search and then running through
 a list of criteria for inclusion.
 
 This is the same reason why built_with_use in pkg_setup is really just
 use_deps; these metadata should be included during resolution, not
 after.

My concern about dynamic dependencies runs to use deps, as well :)
One could consider use-deps to be a special case of Marius' active
checks.  how pkg P was built isn't so different from slot S of P is
active in terms of dep-graph creation; both are asking about the
state of host  target systems, rather than the tree.

In the case of USE deps, things are saner because the data doesn't
change without the package manager knowing about it.  Effectively the
depgraph becomes static w.r.t. the tree + installation record (rather
than just static w.r.t. the tree).  With active checks implemented in
the depgraph, however, that is no longer the case - the depgraph can
change independently of the tree and the installation record.

 With that said, I'm not sure how easy it would be to rewrite that
 code; and this is simpler in that it's just a few bash functions as
 opposed to more resolver foo.

There's a lot to be said for keeping things simple, of course :)  It's
easy enough to mess up things like dep-graphs in any case - introducing
these sorts of dynamic dependencies can render it substantially more
complex.

Another way to look at it, is to consider how often this sort of thing
comes up.  My understanding is that it is relatively rare; across the
10,000+ packages in the tree only a handful use 'built_with_use' fex.
That makes a strong case for having a simple solution in the near term,
and re-visit if it becomes commonplace.

-- 
Kevin F. Quinn


signature.asc
Description: PGP signature


Re: [gentoo-portage-dev] tiny manpage fix

2006-05-26 Thread Kevin F. Quinn
On Thu, 25 May 2006 21:57:30 -0400
Alec Warner [EMAIL PROTECTED] wrote:

 Attached is a tiny diff for make.conf, can someone with l337 skills in
 manpages look it over before it gets commited.

Easiest way to check how a man page looks is to do:

nroff -man raw man page | less

-- 
Kevin F. Quinn


signature.asc
Description: PGP signature


Re: [gentoo-portage-dev] tiny manpage fix

2006-05-26 Thread Kevin F. Quinn
On Fri, 26 May 2006 02:28:44 -0400
Mike Frysinger [EMAIL PROTECTED] wrote:

 On Friday 26 May 2006 02:27, Kevin F. Quinn wrote:
  On Thu, 25 May 2006 21:57:30 -0400
 
  Alec Warner [EMAIL PROTECTED] wrote:
   Attached is a tiny diff for make.conf, can someone with l337
   skills in manpages look it over before it gets commited.
 
  Easiest way to check how a man page looks is to do:
 
  nroff -man raw man page | less
 
 huh ?  how is that easier than `man ./make.conf.5`

:} that's what I get for growing up on SunOS (where that doesn't
work)

-- 
Kevin F. Quinn


signature.asc
Description: PGP signature


Re: [gentoo-portage-dev] Re: User created package lists

2006-03-21 Thread Kevin F. Quinn (Gentoo)
On Tue, 21 Mar 2006 10:50:00 -0600
MIkey [EMAIL PROTECTED] wrote:

 Add the capability for emerge to take a category as an argument,

# (cd ${PORTDIR_OVERLAY}  emerge -pv category/*)

 Then the user can create overlays with their own category names and
 symlink in the package directories they want from the real portage
 tree.

This won't work, I think, since depend atoms include the category name
so if one package in the new category depends on another one, it will
use the standard category rather than the symlinked one in the new
category.

However with regards the original question about adding '--list
file' to emerge, you can of course to package lists yourself anyway
as portage exists today. Just create a file with a list of atoms in
it, and do for example:

# cat file | xargs emerge -puv

Doesn't get much easier than that - perhaps I'm missing something :)

-- 
Kevin F. Quinn


signature.asc
Description: PGP signature


Re: [gentoo-portage-dev] [rfc] variable naming for marking binaries as QA ignorable

2006-03-07 Thread Kevin F. Quinn (Gentoo)
On Wed, 8 Mar 2006 00:17:52 -0500
Mike Frysinger [EMAIL PROTECTED] wrote:

 how does the attached patch look ?  it allows for regexes in the
 ignore list which is why i used gawk ;)

Could we add something so that we can disable these ignore lists in the
hardened profile?  At least something like:

if [[ -n ${QA_STRICT_TEXTRELS} ]]; then
f=$(scanelf -qyRF '%t %p' ${D})
else
 filter version
fi
...

where we can add QA_STRICT_TEXTRELS to make.defaults.

-- 
Kevin F. Quinn


signature.asc
Description: PGP signature


Re: [gentoo-portage-dev] [rfc] variable naming for marking binaries as QA ignorable

2006-03-06 Thread Kevin F. Quinn (Gentoo)
On Sun, 5 Mar 2006 20:46:25 -0500
Mike Frysinger [EMAIL PROTECTED] wrote:

 On Sunday 05 March 2006 19:48, Kevin F. Quinn (Gentoo) wrote:
  This could be done via the profiles, perhaps - package.qa, something
  like package.mask/use/keywords:
 
 i hate such things ... imo this information should stay in the ebuild
 and nowhere else ...

I was thinking that the data would be owned by the QA team rather
than the package maintainers.  I appreciate your pov, however.

There may be benefit in being able to set it differently for each
profile; for example a hardened (PaX NOELFRELOCS) profile might always
have QA_TEXTRELS set empty (i.e. anything with TEXTRELs would fail to
install, as it'd fail to run anyway).  However package maintainers in
general aren't going to like yet more special-casing for the
non-mainstream profiles.


Anyway, that aside - if you're going for a QA_feature_arch naming,
you could use QA_feature where there's no arch difference, supplying
others where necessary such that if QA_feature_arch exists
it takes precedence over QA_feature. Otherwise you'll end up
adding a whole set of variables to all affected ebuilds. Admittedly
there aren't that many of them so it may not be worth the hassle.

Heh - here's another idea for you to hate:

QA_OVERRIDE=EXECSTACK=...
 x86? ( TEXTRELS=... )

-- 
Kevin F. Quinn


signature.asc
Description: PGP signature


Re: [gentoo-portage-dev] [rfc] variable naming for marking binaries as QA ignorable

2006-03-05 Thread Kevin F. Quinn (Gentoo)
On Sat, 04 Mar 2006 19:56:41 -0500
Ned Ludd [EMAIL PROTECTED] wrote:

 On Fri, 2006-03-03 at 23:32 -0500, Mike Frysinger wrote:
  so we've found some cases where a package installs objects that
  either need to be ignored by some of the scanelf checks ...
  
  ...
  
  what this e-mail is about is naming convention ... i'm thinking
  that an ebuild sets up a variable with a list of relative paths to
  $D of files that should be skipped for various checks ... so with
  slmodem, we'd have like: QA_EXEC_STACK=usr/sbin/slmodemd
  usr/sbin/slmodem_test
  
  if, in the future, we need to add an ignore list for TEXTRELs, we'd
  use QA_TEXTRELS=
 
 This becomes tricky when looking at tests across all CHOSTs.
 What holds true for one arch defiantly is not the case for others.

This could be done via the profiles, perhaps - package.qa, something
like package.mask/use/keywords:

net-dialup/slmodem QA_EXECSTACK=... QA_TEXTRELS=...

-- 
Kevin F. Quinn


signature.asc
Description: PGP signature