Re: [gentoo-dev] Proposal: removing "server" profile variants from profiles.desc

2012-10-12 Thread Markos Chandras
On Thu, Oct 11, 2012 at 8:22 PM, Mike Frysinger  wrote:
> On Thursday 11 October 2012 14:56:11 Ben Kohler wrote:
>> I would like to suggest that the "server" profile variants
>> (ie default/linux/amd64/10.0/server) be unlisted from profiles.desc, so
>> that they do not show up in "eselect profile list" for new users.  As far
>> as I know, this server target is unmaintained, undesirable, and somewhat
>> silly, if you look at its make.defaults.  If this target is being kept
>> around just so we don't break older setups, then simply removing from
>> profiles.desc would allow these systems to keep using the profile, without
>> presenting it as a viable option for new users.
>
> sounds like something to fix rather than punt.  i don't know why you think
> having server profiles is "undesirable", but i certainly desire it on many
> systems.  like servers.  the desktop and developer profiles are not
> appropriate.
> -mike

+1. I want these profiles to *staty*. I am using this profile on my
"home boxes". It is the most minimal profile as the rest of the
profiles pull in too much useless stuff. What is wrong with these
profiles anyway?

-- 
Regards,
Markos Chandras / Gentoo Linux Developer / Key ID: B4AFF2C2



Re: [gentoo-dev] Proposal: removing "server" profile variants from profiles.desc

2012-10-12 Thread Markos Chandras
On Thu, Oct 11, 2012 at 9:04 PM, Walter Dnes  wrote:
> On Thu, Oct 11, 2012 at 03:22:17PM -0400, Mike Frysinger wrote
>
>> sounds like something to fix rather than punt.  i don't know why
>> you think having server profiles is "undesirable", but i certainly
>> desire it on many systems.  like servers.  the desktop and developer
>> profiles are not appropriate.
>
>   If it's going to be kept around, then please get rid of the warning in
> ebuilds.  I'm one of the few people who checks /var/log/portage/elog
> regularly.  The server profile is useless because it pollutes
> /var/log/portage/elog with a warning that this profile is unmaintained...
> ***ONCE FOR EVERY LAST SINGLE PACKAGE YOU BUILD***.  If you want a light
> profile, I suggest doing what I do... start your USE variable in
> make.conf with "-*", and add any flags you need, either in package.use or
> in make.conf.
>
> --
> Walter Dnes 
> I don't run "desktop environments"; I run useful applications
>

We can remove the warning. There is nothing really wrong with these profiles.

-- 
Regards,
Markos Chandras / Gentoo Linux Developer / Key ID: B4AFF2C2



Re: [gentoo-dev] Proposal: removing "server" profile variants from profiles.desc

2012-10-12 Thread Rich Freeman
On Fri, Oct 12, 2012 at 4:08 AM, Markos Chandras  wrote:
> +1. I want these profiles to *staty*. I am using this profile on my
> "home boxes". It is the most minimal profile as the rest of the
> profiles pull in too much useless stuff. What is wrong with these
> profiles anyway?

Looking at the actual profiles themselves, using server vs the base
profile makes these changes:
USE="-perl -python snmp truetype xml"

So, you're getting less perl/python support, but you're getting snmp,
truetype, and xml.

I think overall you'd get a more minimal setup with the base profile,
and if you really want -perl/-python you could just set those in your
USE.  I'd think that your home box would be more likely to benefit
from perl/python support on packages than having snmp support.  But,
to each his own...

I'd be all for there being an actual minimal profile, but I don't
think server really is that.

Rich



Re: [gentoo-dev] Proposal: removing "server" profile variants from profiles.desc

2012-10-12 Thread Markos Chandras
On Fri, Oct 12, 2012 at 9:18 AM, Rich Freeman  wrote:
> On Fri, Oct 12, 2012 at 4:08 AM, Markos Chandras  wrote:
>> +1. I want these profiles to *staty*. I am using this profile on my
>> "home boxes". It is the most minimal profile as the rest of the
>> profiles pull in too much useless stuff. What is wrong with these
>> profiles anyway?
>
> Looking at the actual profiles themselves, using server vs the base
> profile makes these changes:
> USE="-perl -python snmp truetype xml"
>
> So, you're getting less perl/python support, but you're getting snmp,
> truetype, and xml.
>
> I think overall you'd get a more minimal setup with the base profile,
> and if you really want -perl/-python you could just set those in your
> USE.  I'd think that your home box would be more likely to benefit
> from perl/python support on packages than having snmp support.  But,
> to each his own...
>
> I'd be all for there being an actual minimal profile, but I don't
> think server really is that.
>
> Rich
>

Removing python and perl support is good enough to justify that this
profile is "minimal" ;)
Moreover, snmp is something you really want in 24/7 boxes. Anyhow, I
see no reason to remove these profiles just
because they are 'similar' to the base profile. But I do agree to
remove the ewarn message as it a bit annoying if you
update such systems often enough.

-- 
Regards,
Markos Chandras / Gentoo Linux Developer / Key ID: B4AFF2C2



Re: [gentoo-dev] [RFC] python-r1 + distutils-r1, v2 (+ comparison)

2012-10-12 Thread Reinis Danne
On Mon, Oct 08, 2012 at 05:16:05PM +0200, Michał Górny wrote:
> Hello,
> 
> This is the second and hopefully last version of python-r1 +
> distutils-r1 eclasses before committing. I would also like to shortly
> point out the goals and the differences between various python eclasses
> in Gentoo.
> 
> Both are attached. For those who prefer hosted form:
> https://bitbucket.org/mgorny/gx86-working-tree/src/5a2d39e69d6d/gx86/eclass/python-r1.eclass
> https://bitbucket.org/mgorny/gx86-working-tree/src/5a2d39e69d6d/gx86/eclass/distutils-r1.eclass
> 
> Changes from the previous version:
> - support for DOCS and HTML_DOCS (alike EAPI 4);
> - minimal support for passing arguments to setup.py (through
>   distutils-r1_python_compile & distutils-r1_python_install);
> - EPYTHON values adjusted to match python.eclass;
> - scripts are -${EPYTHON} suffixed -- i.e. foo-python2.7,
>   foo-pypy-c1.8;
> - a wrapper script[1] is used to choose the correct script instead of
>   constant symlink. Thus, EPYTHON & eselect-python are respected,
> - PYTHON_COMPAT can be an array only.
> 
> What still needs considering:
> - a nicer way of passing setup.py arguments (mysetuppyargs=()?,
>   esetuppy wrapper?);
> - Prefix support.
> 
> [1]:https://bitbucket.org/mgorny/python-exec
> 
> 
> Now, for the differences part.
> 
> Goals
> -
> 
> python.eclass aims to support every single Python package out there,
> including rare corner cases supported in-eclass. It supports both
> packages supporting one and multiple Python implementations. distutils
> support is provided by second eclass, and both provide phase functions
> (python.eclass providing default ph.f. wrappers).
> 
> python-distutils-ng aims to support majority of Python packages using
> distutils. With a bit of hackery it can support non-distutils packages,
> but the use is limited to the common cases. In an uncommon case, it's
> not flexible enough. It supports Python packages supporting multiple
> implementations only.
> 
> python-r1 aims mostly to provide tools to support majority of Python
> packages. It tries to be simple & flexible, thus allowing handling
> various corner cases without special branches of code in the eclass.
> It doesn't export any phase functions, nor set dependencies by default
> (just provides a variable with them).
> 
> Right now, it supports packages supporting multiple implementations
> only; if necessary, the support will be extended -- either through
> additional code if that wouldn't add too much complexity, or through
> additional eclass.
> 
> It is accompanied by distutils-r1 which provides a simple overlay for
> the very common case of distutils packages. This eclass exports phase
> functions and sets dependencies implicitly. It also handles renaming
> the distutils-installed scripts and linking the python-exec wrapper.
> 
> 
> Python targets
> --
> 
> python.eclass uses implicit Python target specifications. It provides
> no ebuild-transparent way of enabling/disabling them.
> 
> python-distutils-ng and python-r1 use USE flags to explicitly list
> enabled Python implementations. Both eclasses use the same values for
> PYTHON_TARGETS USE_EXPAND.
> 
> 
> Installed scripts
> -
> 
> python-distutils-ng rework the installed scripts creating copies for
> Python implementations and changing the shebang. The created copies
> don't differ any other way. The old script name is then symlinked to
> the version for default implementation.
> 
> python.eclass & python-r1 instead let distutils rework the scripts
> and just rename them before merging. A wrapper is used to choose
> the correct version, respecting EPYTHON & eselect-python.
> 
> python.eclass installs the files to separate installation images
> and merges them. python-r1 installs them to the main image directly,
> renaming the installed scripts between successive implementations.
> 
> python.eclass creates a wrapper script for each package. The script is
> written in python. python-r1 instead installs the compiled wrapper
> once (in an ebuild), and symlinks it for the packages. The wrapper is
> written in much simpler C.
> 
> The implementation suffixes for all three eclasses are different:
> - python.eclass uses -2.6, -2.7 for Python, -2.7-pypy-1.8,
>   -2.7-pypy-1.9 for pypy and -2.5-jython for jython (enjoy!);
> - p-d-ng uses Python target names (-python2_6, -python2_7, -pypy1_8),
> - p-r1 uses $EPYTHON values (-python2.6, -python2.7, -pypy-c1.8 (sic!)).
> 
> 
> Dependency on Python
> 
> 
> python.eclass has a few variables necessary to set dependencies
> on Python implementation, including internal sub-syntax (and an even
> more complete generator sub-syntax in progress overlay). I suspect that
> most of the possible variants can be achieved using it, just please
> don't make me try learning it all.
> 
> Additionally, packages supporting multiple Python implementations are
> required to specify their supported Python versions twice -- with
> P

[gentoo-dev] [RFC] Drop EAPI=0 requirement for system packages.

2012-10-12 Thread Ralph Sennhauser
From time to time the topic of deprecating EAPIs comes up and usually
one suggestion is to keep 0 and start with converting EAPI 1 ebuilds.
Then someone comes along and asks what is the point? Indeed, a fair
question.

The following tries to take a different approach to the topic. It's not
all thought through in detail, but that wont happen anytime soon,
after all it's on my TODO for long enough. So I present it in the hope
others will try to poke holes into it or even pick it up.


EAPI=0 requirement pointless?
-

The EAPI=0 requirement comes from having to provide an update path for
systems with a package manager without EAPI support. By now we are
talking about really ancient systems and it's questionable if there is
any merit in supporting such.

Further the situation is that some of the maintainers of must be EAPI 0
ebuilds already moved on as the majority of users will profit from a
bump. As a result the clean upgrade path is already borked and the
value of keeping others at EAPI=0 deteriorates further and further.

Forcing EAPI 0 on some maintainers for all eternity doesn't strike me
as brilliant, quite the opposite frankly. After all new EAPIs are
supposed to contain bug fixes and new features required to write better
ebuilds.


If all installed PMs supported EAPI?


The issue of an update path is reduced to keeping intermediate 
versions in tree.

Those PMs also support EAPI=1, rendering EAPI=0 obsolete.


Base EAPI
-

Systems without having a package manager installed that supports at
least the 'Base EAPI' aren't considered supported any longer. 

Maintainers of system packages can use the Base EAPI without worrying.

Maintainers of system packages can use more recent EAPIs but need to
take special care.


Value of Base EAPI
--

Maintainers of system packages need to be able to use newer EAPIs
after some time. They can wait but not forever. built_with_use removal
is one example, strong vs weak blockers an other.

The value can be based on time ( i.e. after 3 years ) or set by council
decision. A combination is fine as well.

The value should be kept low enough so the rule "maintainers don't have
to care about using it" holds.

The need of derived distributions / package managers should be
considered, ie. let them catch up if necessary.

Security updates should be possible for some time without full updates.
This extends to other packages as well. So maintainers of critical non
system packages can use this EAPI as well if they want.

Guess EAPI=2 would be a reasonable compromiss.


Deprecation?


EAPIs below the base EAPI can be considered deprecated if one desires.

References in devmanual can be removed and so the document be
simplified. 

Once there are only few ebuild of a deprecated EAPI left, it might make
sense to convert them and add a repoman check so the number of used
EAPIs is kept reasonable.


signature.asc
Description: PGP signature


Re: [gentoo-dev] Re: [PATCH/RFC] eclass/flag-o-matic.eclass: prepend-ldpath

2012-10-12 Thread Gregory M. Turner

On 10/11/2012 2:40 PM, Marien Zwart wrote:

I'm going to do something potentially rude and comment on this without
having read the entire thread.

On Thu, Oct 11, 2012 at 10:39 PM, Gregory M. Turner  wrote:

Anyhow one thing I have figured out is how things can work correctly on
Linux wihtout -L.: on Linux, the python plugins aren't actually linked
against libpython.so!


Python can be built with and without a shared library
(libpythonx.y.so). If the shared library is built the interpreter
executable is linked against it (of course), and normally so are the
extension modules. This is useful because it makes the linker do the
right thing for applications that embed python (and end up loading
libpythonx.y via dlopen). If the shared library is not built extension
modules cannot link against it, and the python executable itself
exports the relevant symbols. So on a normal shared python build
extensions should end up linked against libpythonx.y.so.

However, at least one popular distro and presumably most of its
derivatives (Debian) has a system python built without the shared
library, plus the shared library built separately, for use by
applications that embed python. I am not entirely sure why they still
do this (if I understand correctly it was originally done for
performance reasons, but I'm not sure if they've checked those are
still valid). Their extension modules cannot link to libpythonx.y:
their python interpreter executable provides the same symbols
libpythonx.y provides, so loading such an extension module into the
regular interpreter would result in collisions.

The reason I mention this is Gentoo's python is built with the shared
library, so on Gentoo your extensions *should* end up linked to
libpythonx.y (if they use a more or less standard build system, at
least). If yours are not I'm curious what happened, and would
appreciate it if you gave me some more information off-list (marienz
on freenode or email).


Thanks a ton for this info, that explains a lot.  Actually, got this 
notion testing outside of Gentoo, building from a vanilla python 3.3.0 
tarball on a Fedora box.  I wanted to see what happens in a completely 
"Gentoo-free" environment so as to get some kind of baseline 
understanding of how upstream is propagating stuff through the Makefiles 
to setup.py.


Probably, I screwed up ./configure (I tried to approximate Gentoo's 
arguments), and requested a non-shlib build.  Guess it would have been 
clearer if I'd mentioned that in my post -- sorry if I worried you :)


I do, of course, intend to try it on my main Gentoo ~amd64 -- if I ever 
see it fail to do as you describe, I'll let you know, Marien.


My i686 prefix is up to date and I can confirm that it is linking 
against libpython there.


But... wow.  In my almost-vanilla i686 cross-prefix (hosted by my 
only-moderately-rice multilib ~amd64 workstation), in 
=dev-lang/python-2.7.3-r2, the modules are linked like so:


  i686-pc-linux-gnu-gcc -pthread -shared -Wl,-O1 \
-L${EPREFIX}/lib -L${EPREFIX}/usr/lib \
-L/usr/lib32 -L/usr/lib64 -L/lib32 -L/lib64 \
-L. \
-Wl,-O1 \
-L${EPREFIX}/lib -L${EPREFIX}/usr/lib \
-L/usr/lib32 -L/usr/lib64 -L/lib32 -L/lib64 \
-L. \
-fno-strict-aliasing \
-O2 -march=i686 -pipe -m32 \
-fwrapv -DNDEBUG \
-I. -IInclude -I./Include \
-I${EPREFIX}/usr/include \

build/temp.linux-i686-2.7${EPREFIX}/var/tmp/portage/dev-lang/python-2.7.3-r2/work/Python-2.7.3/Modules/mathmodule.o
 \

build/temp.linux-i686-2.7${EPREFIX}/var/tmp/portage/dev-lang/python-2.7.3-r2/work/Python-2.7.3/Modules/_math.o
 \
-L${EPREFIX}/lib -L${EPREFIX}/usr/lib \
-L/usr/lib32 -L/usr/lib64 -L/lib32 -L/lib64 \
-L. \
-lm -lpython2.7 \
-o build/lib.linux-i686-2.7/math.so

Which is just shameful.  In this case, I'm pretty sure all those 
-L{${EPREFIX},}{/usr,}/$(libdir) clauses are not coming from me:


  [PREFIX] $ emerge --info --verbose | grep /lib
  sys-devel/libtool:2.4.2::gentoo_prefix
  COLLISION_IGNORE="/lib/modules/* *.py[co]"
  PKG_CONFIG_PATH="${EPREFIX}/usr/lib/pkgconfig:$( :;
  )${EPREFIX}/usr/share/pkgconfig"
  PORTAGE_BIN_PATH="${EPREFIX}/usr/lib/portage/bin"
  PORTAGE_PYM_PATH="${EPREFIX}/usr/lib/portage/pym"
  UNINSTALL_IGNORE="/lib/modules/*"

(snippets edited for readability obv).

Regarding the gcc-as-linker invocation above:

First, something puts in all kinds of inappropriate amd64 multilib paths 
(this ends up being harmless as wrong-arch libraries get rejected at 
link-time and treated as non-matches for -lclauses... still, WTF?).


Secondly, something puts the built-in ld search paths into the 
command-line ld search path (a practice which has been roundly 
disparaged in this thread, and correctly so, IMO).


Thirdly, prefix x86-linux also clearly suffers from the original problem 
I was seeing in cygwin, and which inspired this thread (putting -L. 
a

Re: [gentoo-dev] Proposal: removing "server" profile variants from profiles.desc

2012-10-12 Thread Gregory M. Turner

On 10/11/2012 3:31 PM, Ben Kohler wrote:

There are other ways to achieve a "lighter" system, but that's not really
what this is about.  The server profiles are not any lighter than the base
profiles.

To those in favor of keeping some kind of "server" profile around, how
would it differ from the base profile?  What would you enable or disable on
top of the base?  I am pretty sure that the current USE="-perl -python snmp
truetype xml" is not what any of you would suggest.

In my opinion, removing /usr/portage/profiles/targets/server/make.defaults
and having the "server" target apply nothing over the base profiles, and
then dropping the warning from the server profiles, would be a better
situation than where we are now.

-Ben


That seems pretty reasonable.

Another possibility, I suppose, would be to combine Rich's idea with 
yours and get:


  base -> minimal -> server (noop)

Also super-easy if we just build the above cascade, take what's in 
server, move it into minimal, git rid of the awful warning, and call it 
fixed.


At least by clarifying what is meant by "server", we might inspire 
someone to contribute more enhancements later.


Kind of the opposite of your original proposal, Ben :P

At least we've established broad consensus that the warning should be 
silenced.


-gmt



Re: [gentoo-dev] [RFC] python-r1 + distutils-r1, v2 (+ comparison)

2012-10-12 Thread Michał Górny
On Fri, 12 Oct 2012 13:35:44 +0300
Reinis Danne  wrote:

> On Mon, Oct 08, 2012 at 05:16:05PM +0200, Michał Górny wrote:
> > Hello,
> > 
> > This is the second and hopefully last version of python-r1 +
> > distutils-r1 eclasses before committing. I would also like to shortly
> > point out the goals and the differences between various python eclasses
> > in Gentoo.
> > 
> > Both are attached. For those who prefer hosted form:
> > https://bitbucket.org/mgorny/gx86-working-tree/src/5a2d39e69d6d/gx86/eclass/python-r1.eclass
> > https://bitbucket.org/mgorny/gx86-working-tree/src/5a2d39e69d6d/gx86/eclass/distutils-r1.eclass
> > 
> > Changes from the previous version:
> > - support for DOCS and HTML_DOCS (alike EAPI 4);
> > - minimal support for passing arguments to setup.py (through
> >   distutils-r1_python_compile & distutils-r1_python_install);
> > - EPYTHON values adjusted to match python.eclass;
> > - scripts are -${EPYTHON} suffixed -- i.e. foo-python2.7,
> >   foo-pypy-c1.8;
> > - a wrapper script[1] is used to choose the correct script instead of
> >   constant symlink. Thus, EPYTHON & eselect-python are respected,
> > - PYTHON_COMPAT can be an array only.
> > 
> > What still needs considering:
> > - a nicer way of passing setup.py arguments (mysetuppyargs=()?,
> >   esetuppy wrapper?);
> > - Prefix support.
> > 
> > [1]:https://bitbucket.org/mgorny/python-exec
> > 
> > 
> > Now, for the differences part.
> > 
> > Goals
> > -
> > 
> > python.eclass aims to support every single Python package out there,
> > including rare corner cases supported in-eclass. It supports both
> > packages supporting one and multiple Python implementations. distutils
> > support is provided by second eclass, and both provide phase functions
> > (python.eclass providing default ph.f. wrappers).
> > 
> > python-distutils-ng aims to support majority of Python packages using
> > distutils. With a bit of hackery it can support non-distutils packages,
> > but the use is limited to the common cases. In an uncommon case, it's
> > not flexible enough. It supports Python packages supporting multiple
> > implementations only.
> > 
> > python-r1 aims mostly to provide tools to support majority of Python
> > packages. It tries to be simple & flexible, thus allowing handling
> > various corner cases without special branches of code in the eclass.
> > It doesn't export any phase functions, nor set dependencies by default
> > (just provides a variable with them).
> > 
> > Right now, it supports packages supporting multiple implementations
> > only; if necessary, the support will be extended -- either through
> > additional code if that wouldn't add too much complexity, or through
> > additional eclass.
> > 
> > It is accompanied by distutils-r1 which provides a simple overlay for
> > the very common case of distutils packages. This eclass exports phase
> > functions and sets dependencies implicitly. It also handles renaming
> > the distutils-installed scripts and linking the python-exec wrapper.
> > 
> > 
> > Python targets
> > --
> > 
> > python.eclass uses implicit Python target specifications. It provides
> > no ebuild-transparent way of enabling/disabling them.
> > 
> > python-distutils-ng and python-r1 use USE flags to explicitly list
> > enabled Python implementations. Both eclasses use the same values for
> > PYTHON_TARGETS USE_EXPAND.
> > 
> > 
> > Installed scripts
> > -
> > 
> > python-distutils-ng rework the installed scripts creating copies for
> > Python implementations and changing the shebang. The created copies
> > don't differ any other way. The old script name is then symlinked to
> > the version for default implementation.
> > 
> > python.eclass & python-r1 instead let distutils rework the scripts
> > and just rename them before merging. A wrapper is used to choose
> > the correct version, respecting EPYTHON & eselect-python.
> > 
> > python.eclass installs the files to separate installation images
> > and merges them. python-r1 installs them to the main image directly,
> > renaming the installed scripts between successive implementations.
> > 
> > python.eclass creates a wrapper script for each package. The script is
> > written in python. python-r1 instead installs the compiled wrapper
> > once (in an ebuild), and symlinks it for the packages. The wrapper is
> > written in much simpler C.
> > 
> > The implementation suffixes for all three eclasses are different:
> > - python.eclass uses -2.6, -2.7 for Python, -2.7-pypy-1.8,
> >   -2.7-pypy-1.9 for pypy and -2.5-jython for jython (enjoy!);
> > - p-d-ng uses Python target names (-python2_6, -python2_7, -pypy1_8),
> > - p-r1 uses $EPYTHON values (-python2.6, -python2.7, -pypy-c1.8 (sic!)).
> > 
> > 
> > Dependency on Python
> > 
> > 
> > python.eclass has a few variables necessary to set dependencies
> > on Python implementation, including internal sub-syntax (and an even
> > more complete generator sub-syntax in progress o

Re: [gentoo-dev] Proposal: removing "server" profile variants from profiles.desc

2012-10-12 Thread Sergey Popov
11.10.2012 23:22, Mike Frysinger wrote:
> On Thursday 11 October 2012 14:56:11 Ben Kohler wrote:
>> I would like to suggest that the "server" profile variants
>> (ie default/linux/amd64/10.0/server) be unlisted from profiles.desc, so
>> that they do not show up in "eselect profile list" for new users.  As far
>> as I know, this server target is unmaintained, undesirable, and somewhat
>> silly, if you look at its make.defaults.  If this target is being kept
>> around just so we don't break older setups, then simply removing from
>> profiles.desc would allow these systems to keep using the profile, without
>> presenting it as a viable option for new users.
> sounds like something to fix rather than punt.  i don't know why you think 
> having server profiles is "undesirable", but i certainly desire it on many 
> systems.  like servers.  the desktop and developer profiles are not 
> appropriate.
> -mike
Indeed. Hardened server profile does not fit in all cases, some
non-hardened server profile should exist, BUT without this warning(if
it's usable, of course), and probably with better support.



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Proposal: removing "server" profile variants from profiles.desc

2012-10-12 Thread Rich Freeman
On Fri, Oct 12, 2012 at 8:46 AM, Sergey Popov  wrote:
> Indeed. Hardened server profile does not fit in all cases, some
> non-hardened server profile should exist, BUT without this warning(if
> it's usable, of course), and probably with better support.

Well, support is mainly a matter of people stepping up to make it
happen, as with all things.  I think that lack of interest in this
profile in general is at the heart of the problem.  I see no reason to
go killing it, but making it useful is a matter of those with an
interest getting together and deciding what it should be.

Rich



Re: [gentoo-dev] Proposal: removing "server" profile variants from profiles.desc

2012-10-12 Thread Mike Gilbert
On Fri, Oct 12, 2012 at 4:18 AM, Rich Freeman  wrote:
> On Fri, Oct 12, 2012 at 4:08 AM, Markos Chandras  wrote:
>> +1. I want these profiles to *staty*. I am using this profile on my
>> "home boxes". It is the most minimal profile as the rest of the
>> profiles pull in too much useless stuff. What is wrong with these
>> profiles anyway?
>
> Looking at the actual profiles themselves, using server vs the base
> profile makes these changes:
> USE="-perl -python snmp truetype xml"
>

perl and python have not been enabled in the default/linux profile for
some time now:

RCS file: /var/cvsroot/gentoo-x86/profiles/default/linux/make.defaults,v

revision 1.15
date: 2011-10-05 15:22:13 -0400;  author: darkside;  state: Exp;
lines: +2 -2;  commitid: 2e764e8cae624567;
Remove USE={python,perl} from default profile, as discussed/announced.
Bug 250179

Disabling those flags in the server profile is redundant.



Re: [gentoo-dev] Proposal: removing "server" profile variants from profiles.desc

2012-10-12 Thread Ben Kohler
This is why I said that the server profile are no lighter than the base.
 It's actually the base PLUS "snmp truetype xml".

My original suggestion of hiding or removing the server profiles was based
on the assumption that no one wants to maintain it.  The server profiles
*in their current state* are silly & undesirable, in my view.  The server
target has not been touched in almost 2 years, and most of the people using
it are doing so based on false assumptions.

If it is to remain in its current state, I think it should at least be
removed from the .desc listing.  If we have a plan to make the server
profiles useful again, as a purposeful set of flags applied against the
base, then keeping these profiles listed is great.  I would use a server
profile myself, in such case.

-Ben

On Fri, Oct 12, 2012 at 8:53 AM, Mike Gilbert  wrote:

> On Fri, Oct 12, 2012 at 4:18 AM, Rich Freeman  wrote:
> > On Fri, Oct 12, 2012 at 4:08 AM, Markos Chandras 
> wrote:
> >> +1. I want these profiles to *staty*. I am using this profile on my
> >> "home boxes". It is the most minimal profile as the rest of the
> >> profiles pull in too much useless stuff. What is wrong with these
> >> profiles anyway?
> >
> > Looking at the actual profiles themselves, using server vs the base
> > profile makes these changes:
> > USE="-perl -python snmp truetype xml"
> >
>
> perl and python have not been enabled in the default/linux profile for
> some time now:
>
> RCS file: /var/cvsroot/gentoo-x86/profiles/default/linux/make.defaults,v
>
> revision 1.15
> date: 2011-10-05 15:22:13 -0400;  author: darkside;  state: Exp;
> lines: +2 -2;  commitid: 2e764e8cae624567;
> Remove USE={python,perl} from default profile, as discussed/announced.
> Bug 250179
>
> Disabling those flags in the server profile is redundant.
>
>


Re: [gentoo-dev] Proposal: removing "server" profile variants from profiles.desc

2012-10-12 Thread Daniel Pielmeier
Markos Chandras schrieb am 12.10.2012 10:08:
> 
> +1. I want these profiles to *staty*. I am using this profile on my
> "home boxes". It is the most minimal profile as the rest of the
> profiles pull in too much useless stuff. What is wrong with these
> profiles anyway?
> 

If you want a minimal profile you don't need the server profile.

"ln -s ${PORTDIR}/profiles/default/linux/${ARCH}/10.0 make.profile"
gives you a minimal profile.

-- 
Regards
Daniel



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] [RFC] Drop EAPI=0 requirement for system packages.

2012-10-12 Thread Walter Dnes
On Fri, Oct 12, 2012 at 12:53:15PM +0200, Ralph Sennhauser wrote
> From time to time the topic of deprecating EAPIs comes up and usually
> one suggestion is to keep 0 and start with converting EAPI 1 ebuilds.
> Then someone comes along and asks what is the point? Indeed, a fair
> question.

  It's my understanding that higher EAPI levels include more features.
How backwards compatable are the EAPI levels?  I.e. assume that we take
an ebuild with EAPI 0, and slap in EAPI=1 (or 2 or 3, etc) at the top,
without any other changes.  Are there any circumstances where the ebuild
would behave differently and/or break?

  The current default, if EAPI is not specified, is EAPI 0.  What I'm
getting at is... can we safely tell portage to assume that all ebuilds
with no EAPI declaration are EAPI 1 (or 2 or 3, etc)?  Or will that
break some ebuilds?  Actually, if only a small percentage of ebuilds
break, then it might not be too much of an effort to fix that small
subset.

-- 
Walter Dnes 
I don't run "desktop environments"; I run useful applications



Re: [gentoo-dev] [RFC] Drop EAPI=0 requirement for system packages.

2012-10-12 Thread Ciaran McCreesh
On Fri, 12 Oct 2012 16:38:06 -0400
"Walter Dnes"  wrote:
> On Fri, Oct 12, 2012 at 12:53:15PM +0200, Ralph Sennhauser wrote
> > From time to time the topic of deprecating EAPIs comes up and
> > usually one suggestion is to keep 0 and start with converting EAPI
> > 1 ebuilds. Then someone comes along and asks what is the point?
> > Indeed, a fair question.
> 
>   It's my understanding that higher EAPI levels include more features.
> How backwards compatable are the EAPI levels?  I.e. assume that we
> take an ebuild with EAPI 0, and slap in EAPI=1 (or 2 or 3, etc) at
> the top, without any other changes.  Are there any circumstances
> where the ebuild would behave differently and/or break?

In EAPIs after 1, as well as adding shiny new toys, we've removed
various deprecated things, split up phase functions, and made some
helpers error on invalid input.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] [RFC] Drop EAPI=0 requirement for system packages.

2012-10-12 Thread Ian Stakenvicius
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 12/10/12 04:38 PM, Walter Dnes wrote:
> On Fri, Oct 12, 2012 at 12:53:15PM +0200, Ralph Sennhauser wrote
>> From time to time the topic of deprecating EAPIs comes up and
>> usually one suggestion is to keep 0 and start with converting
>> EAPI 1 ebuilds. Then someone comes along and asks what is the
>> point? Indeed, a fair question.
> 
> It's my understanding that higher EAPI levels include more
> features. How backwards compatable are the EAPI levels?  I.e.
> assume that we take an ebuild with EAPI 0, and slap in EAPI=1 (or 2
> or 3, etc) at the top, without any other changes.  Are there any
> circumstances where the ebuild would behave differently and/or
> break?

Yes.  There is more than just new features that have been added.  Some
default operations have changed.  Eclass behaviour can also be different.

I'll let others go into the details, but one of the big changes
between EAPIs is the way an unspecified DEPEND or RDEPEND is handled.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.19 (GNU/Linux)

iF4EAREIAAYFAlB4gVYACgkQ2ugaI38ACPB45QD+PC6PvspnXdmOhMAEOIDPxh2m
4RDWrTw8t86O+iyKodsA/RdRo1r1Xxc734hXbAwtZlxjC3KcU/mnGQVysvflOdjW
=uk9m
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] Drop EAPI=0 requirement for system packages.

2012-10-12 Thread Alexandre Rostovtsev
On Fri, 2012-10-12 at 16:38 -0400, Walter Dnes wrote:
>   It's my understanding that higher EAPI levels include more features.
> How backwards compatable are the EAPI levels?  I.e. assume that we take
> an ebuild with EAPI 0, and slap in EAPI=1 (or 2 or 3, etc) at the top,
> without any other changes.  Are there any circumstances where the ebuild
> would behave differently and/or break?

See http://devmanual.gentoo.org/ebuild-writing/eapi/index.html

Updating an ebuild from EAPI0 to EAPI1 without changes should be safe.

Updating from EAPI0 to EAPI2 or higher without changes is not safe; at
the minimum, econf calls would need to be moved from src_compile to
src_configure.




[gentoo-dev] Re: [RFC] Drop EAPI=0 requirement for system packages.

2012-10-12 Thread Ryan Hill
On Fri, 12 Oct 2012 12:53:15 +0200
Ralph Sennhauser  wrote:

> The EAPI=0 requirement comes from having to provide an update path for
> systems with a package manager without EAPI support. By now we are
> talking about really ancient systems and it's questionable if there is
> any merit in supporting such.
> 
> Further the situation is that some of the maintainers of must be EAPI 0
> ebuilds already moved on as the majority of users will profit from a
> bump. As a result the clean upgrade path is already borked and the
> value of keeping others at EAPI=0 deteriorates further and further.

Yeah as soon as python went it was pretty much pointless.  I don't see any
value in forcing system packages to EAPI 0 anymore.  Everything you're saying
makes sense to me at least.

I'd argue against deprecating EAPI 0 any time soon though.  Killing EAPI 1
would be a better idea.


-- 
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: [RFC] Drop EAPI=0 requirement for system packages.

2012-10-12 Thread Ralph Sennhauser
On Fri, 12 Oct 2012 21:10:23 -0600
Ryan Hill  wrote:

> I'd argue against deprecating EAPI 0 any time soon though.  Killing
> EAPI 1 would be a better idea.

I'm not for forced EAPI bumps anytime soon, but I expect EAPI 0 to be
gone from tree in 3-5 years once the EAPI=0 requirement is lifted.

Currently we have only 6 official EAPIs which is still manageable to
remember the details of each. Though it might be confusing for new
developers. Once we are at 20 EAPIs it will be an issue also for
seasoned folks.

Therefore deprecation is a given, how to go about it is certainly up to
discussion. What do you see as an acceptable path here?


signature.asc
Description: PGP signature