public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Deprecate EAPIs 0 and 1?
@ 2010-12-31 11:02 Ulrich Mueller
  2010-12-31 11:13 ` Petteri Räty
                   ` (7 more replies)
  0 siblings, 8 replies; 28+ messages in thread
From: Ulrich Mueller @ 2010-12-31 11:02 UTC (permalink / raw
  To: gentoo-dev

Hi,

after approval of EAPI 4, there are now 5 different EAPIs available,
and it's hard to remember what features are offered by which EAPI.

So maybe it's about time that we deprecate EAPIs 0 and 1 for new
ebuilds. As a first step, a warning could be added to repoman that
would be triggered whenever a new ebuild with an EAPI less than 2 is
committed.

At a later time, the warning could be changed to an error. When most
of the tree has been updated to EAPI 2 or newer, we could also think
about actively converting the remaining ebuilds. (Currently this
doesn't look feasible though, as about half of the tree is still at
EAPI=0. [1])

Opinions?

Ulrich

[1] <http://blogs.gentoo.org/alexxy/2010/11/06/some-interesting-stats-about-gentoo-portage-tree/>



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 11:02 [gentoo-dev] Deprecate EAPIs 0 and 1? Ulrich Mueller
@ 2010-12-31 11:13 ` Petteri Räty
  2010-12-31 11:20   ` Zac Medico
  2010-12-31 15:46   ` "Paweł Hajdan, Jr."
  2010-12-31 11:30 ` [gentoo-dev] " Patrick Lauer
                   ` (6 subsequent siblings)
  7 siblings, 2 replies; 28+ messages in thread
From: Petteri Räty @ 2010-12-31 11:13 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1169 bytes --]

On 12/31/2010 01:02 PM, Ulrich Mueller wrote:
> Hi,
> 
> after approval of EAPI 4, there are now 5 different EAPIs available,
> and it's hard to remember what features are offered by which EAPI.
> 
> So maybe it's about time that we deprecate EAPIs 0 and 1 for new
> ebuilds. As a first step, a warning could be added to repoman that
> would be triggered whenever a new ebuild with an EAPI less than 2 is
> committed.
> 

First we need to be sure that all relevant eclasses support upgrading to
EAPI 2. As plenty of ebuilds are still in EAPI 0 it's likely that some
eclasses are too. But I do second the idea of trying to limit the set of
active EAPIs in the tree. Please open a repoman bug if there are no
objections.

> At a later time, the warning could be changed to an error. When most
> of the tree has been updated to EAPI 2 or newer, we could also think
> about actively converting the remaining ebuilds. (Currently this
> doesn't look feasible though, as about half of the tree is still at
> EAPI=0. [1])
> 

EAPI 0 might stick around for quite a while but for example deprecating
EAPI 1 shouldn't be as hard.

Regards,
Petteri


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 11:13 ` Petteri Räty
@ 2010-12-31 11:20   ` Zac Medico
  2010-12-31 15:46   ` "Paweł Hajdan, Jr."
  1 sibling, 0 replies; 28+ messages in thread
From: Zac Medico @ 2010-12-31 11:20 UTC (permalink / raw
  To: gentoo-dev

On 12/31/2010 03:13 AM, Petteri Räty wrote:
> First we need to be sure that all relevant eclasses support upgrading to
> EAPI 2. As plenty of ebuilds are still in EAPI 0 it's likely that some
> eclasses are too.

As an example of things to look for, I've noticed that migration to EAPI
2 or later of any ebuild that inherits linux-mod_src_compile() will
trigger the following QA Notice from econf:

  QA Notice: econf called in src_compile instead of src_configure
-- 
Thanks,
Zac



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 11:02 [gentoo-dev] Deprecate EAPIs 0 and 1? Ulrich Mueller
  2010-12-31 11:13 ` Petteri Räty
@ 2010-12-31 11:30 ` Patrick Lauer
  2010-12-31 14:56 ` Enrico Weigelt
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 28+ messages in thread
From: Patrick Lauer @ 2010-12-31 11:30 UTC (permalink / raw
  To: gentoo-dev

On 12/31/10 12:02, Ulrich Mueller wrote:
> Hi,
> 
> after approval of EAPI 4, there are now 5 different EAPIs available,
> and it's hard to remember what features are offered by which EAPI.
> 
> So maybe it's about time that we deprecate EAPIs 0 and 1 for new
> ebuilds. As a first step, a warning could be added to repoman that
> would be triggered whenever a new ebuild with an EAPI less than 2 is
> committed.

That's a good idea.
As long as there's a clean upgrade path from eapi0 left I'm all for it
(and that is fragile - for example bash-completion has no eapi0 versions
left, so currently it's really ugly to upgrade portage on an old install)
> 
> At a later time, the warning could be changed to an error. When most
> of the tree has been updated to EAPI 2 or newer, we could also think
> about actively converting the remaining ebuilds. (Currently this
> doesn't look feasible though, as about half of the tree is still at
> EAPI=0. [1])

Since there's currently no need many ebuilds have never been upgraded.
If people started actively working on it we could get that done in a
short timeframe - but then I wonder if it's worth the effort.




^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 11:02 [gentoo-dev] Deprecate EAPIs 0 and 1? Ulrich Mueller
  2010-12-31 11:13 ` Petteri Räty
  2010-12-31 11:30 ` [gentoo-dev] " Patrick Lauer
@ 2010-12-31 14:56 ` Enrico Weigelt
  2010-12-31 14:57   ` Enrico Weigelt
  2010-12-31 17:53 ` Mike Frysinger
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 28+ messages in thread
From: Enrico Weigelt @ 2010-12-31 14:56 UTC (permalink / raw
  To: gentoo-dev

* Ulrich Mueller <ulm@gentoo.org> schrieb:
> Hi,
> 
> after approval of EAPI 4, there are now 5 different EAPIs available,
> and it's hard to remember what features are offered by which EAPI.
> 
> So maybe it's about time that we deprecate EAPIs 0 and 1 for new
> ebuilds. As a first step, a warning could be added to repoman that
> would be triggered whenever a new ebuild with an EAPI less than 2 is
> committed.

Is there a way to scan automatically for ebuilds with older EAPIs
w/o actually running emerge ? Is grep'ing sufficient ?

Just hacked up a little scan script ... see attachement.

> At a later time, the warning could be changed to an error. When most
> of the tree has been updated to EAPI 2 or newer, we could also think
> about actively converting the remaining ebuilds. (Currently this
> doesn't look feasible though, as about half of the tree is still at
> EAPI=0. [1])

IMHO, when an EAPI is declared depcreated, new or changed ebuilds
should not use it anymore. Deprecation should not happen as long
as base packages still use it.


cu
-- 
----------------------------------------------------------------------
 Enrico Weigelt, metux IT service -- http://www.metux.de/

 phone:  +49 36207 519931  email: weigelt@metux.de
 mobile: +49 151 27565287  icq:   210169427         skype: nekrad666
----------------------------------------------------------------------
 Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 14:56 ` Enrico Weigelt
@ 2010-12-31 14:57   ` Enrico Weigelt
  2010-12-31 16:04     ` Brian Harring
  0 siblings, 1 reply; 28+ messages in thread
From: Enrico Weigelt @ 2010-12-31 14:57 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 543 bytes --]

* Enrico Weigelt <weigelt@metux.de> schrieb:

Sorry, forgot the attachement ;-o


-- 
----------------------------------------------------------------------
 Enrico Weigelt, metux IT service -- http://www.metux.de/

 phone:  +49 36207 519931  email: weigelt@metux.de
 mobile: +49 151 27565287  icq:   210169427         skype: nekrad666
----------------------------------------------------------------------
 Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------

[-- Attachment #2: scan_deprecated_eapi --]
[-- Type: text/plain, Size: 904 bytes --]

#!/bin/bash

TREE=/usr/portage

warn_eapi_missing() {
    echo "$1: missing EAPI= line"
    true
}

warn_eapi_unquoted() {
    echo "$1: EAPI= line not quoted"
    true
}

warn_eapi_deprecated() {
    echo "$1: EAPI $2 deprecated"
    true
}

check_eapi() {
    while read f ; do
	if ! grep "EAPI=" $f >/dev/null ; then
		warn_eapi_missing "$f"
	elif ! grep "EAPI=\"" $f >/dev/null ; then
		warn_eapi_unquoted "$f"
	elif grep -E "EAPI\=(0|\"0\")" $f >/dev/null; then
		warn_eapi_deprecated "$f" 0
	elif grep -e "EAPI\=(1|\"1\")" $f >/dev/null; then
		warn_eapi_deprecated "$f" 1
#	elif grep -E "EAPI\=(2|\"2\")" $f >/dev/null; then
#		warn_eapi_deprecated "$f" 2
#	elif grep -E "EAPI\=(3|\"3\")" $f >/dev/null; then
#		warn_eapi_deprecated "$f" 3
#	elif grep -E "EAPI\=(4|\"4\")" $f >/dev/null; then
#		warn_eapi_deprecated "$f" 4
	else
	    true
	fi
    done
}

find $TREE -name "*.ebuild" | check_eapi

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 11:13 ` Petteri Räty
  2010-12-31 11:20   ` Zac Medico
@ 2010-12-31 15:46   ` "Paweł Hajdan, Jr."
  2011-01-04  2:47     ` Donnie Berkholz
  1 sibling, 1 reply; 28+ messages in thread
From: "Paweł Hajdan, Jr." @ 2010-12-31 15:46 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 664 bytes --]

On 12/31/10 12:13 PM, Petteri Räty wrote:
> EAPI 0 might stick around for quite a while but for example deprecating
> EAPI 1 shouldn't be as hard.

That seems also to be a safe first step. EAPI-1 ebuilds were at least
written with EAPIs in mind. That's obviously not true for EAPI-0.

We could even deprecate EAPI-2 in favor of EAPI-3, hmmm....

I think a repoman non-fatal warning would be fine. If we have a warning
about forcing -j1, we can surely have one about ancient EAPIs.

Paweł Hajdan, Jr.

P.S. I'm excited to see the progress with PMS and new EAPIs being more
and more convenient and addressing frequent annoyances or deficiencies!


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 194 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 14:57   ` Enrico Weigelt
@ 2010-12-31 16:04     ` Brian Harring
  2011-01-02 16:01       ` Rémi Cardona
  0 siblings, 1 reply; 28+ messages in thread
From: Brian Harring @ 2010-12-31 16:04 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 805 bytes --]

On Fri, Dec 31, 2010 at 03:57:21PM +0100, Enrico Weigelt wrote:
> * Enrico Weigelt <weigelt@metux.de> schrieb:
> 
> Sorry, forgot the attachement ;-o

This doesn't pick up eclasses, fails on EAPI='1', and generally, isn't 
the best way- use proper tools please, they exist for a reason.

Quick scan of the tree via `pinspect eapi_usage`, the percentile is
  eapi: '0' 13934 pkgs found, 50.43% of the repository
  eapi: '2' 8679 pkgs found, 31.41% of the repository
  eapi: '3' 4432 pkgs found, 16.04% of the repository
  eapi: '1' 583 pkgs found, 2.11% of the repository

Considering eapi1 basically just added slot deps... honestly I'd 
deprecate it in favor of 2.

If you want a breakdown of the eapi per cpv, use
pquery --raw --repo /path/to/your/rsync --all --attr eapi

~harring

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 11:02 [gentoo-dev] Deprecate EAPIs 0 and 1? Ulrich Mueller
                   ` (2 preceding siblings ...)
  2010-12-31 14:56 ` Enrico Weigelt
@ 2010-12-31 17:53 ` Mike Frysinger
  2010-12-31 21:38   ` Rich Freeman
  2010-12-31 18:04 ` Jeroen Roovers
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 28+ messages in thread
From: Mike Frysinger @ 2010-12-31 17:53 UTC (permalink / raw
  To: gentoo-dev; +Cc: Ulrich Mueller

[-- Attachment #1: Type: Text/Plain, Size: 481 bytes --]

On Friday, December 31, 2010 06:02:32 Ulrich Mueller wrote:
> So maybe it's about time that we deprecate EAPIs 0 and 1 for new
> ebuilds. As a first step, a warning could be added to repoman that
> would be triggered whenever a new ebuild with an EAPI less than 2 is
> committed.

personally, i dont see a problem here.  what actual burden is there for 
continuing supporting EAPI 0/1 ?  i dont think we should go around deprecating 
things for the pure fun of it.
-mike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 11:02 [gentoo-dev] Deprecate EAPIs 0 and 1? Ulrich Mueller
                   ` (3 preceding siblings ...)
  2010-12-31 17:53 ` Mike Frysinger
@ 2010-12-31 18:04 ` Jeroen Roovers
  2011-01-01 10:54   ` Ulrich Mueller
  2011-01-01  0:34 ` [gentoo-dev] " Ryan Hill
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 28+ messages in thread
From: Jeroen Roovers @ 2010-12-31 18:04 UTC (permalink / raw
  To: gentoo-dev

On Fri, 31 Dec 2010 12:02:32 +0100
Ulrich Mueller <ulm@gentoo.org> wrote:

> So maybe it's about time that we deprecate EAPIs 0 and 1 for new
> ebuilds. As a first step, a warning could be added to repoman that
> would be triggered whenever a new ebuild with an EAPI less than 2 is
> committed.

I don't see a reason to deprecate an EAPI, unless you are out to stop a
specific feature from being used that was introduced in a later EAPI
and breaks the earlier EAPI. Those ebuilds should be converted or
otherwise taken care of, but it still wouldn't deprecate the older
EAPI as a whole.


     jer



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 17:53 ` Mike Frysinger
@ 2010-12-31 21:38   ` Rich Freeman
  2011-01-01  0:01     ` Chris Richards
  0 siblings, 1 reply; 28+ messages in thread
From: Rich Freeman @ 2010-12-31 21:38 UTC (permalink / raw
  To: gentoo-dev

On Fri, Dec 31, 2010 at 12:53 PM, Mike Frysinger <vapier@gentoo.org> wrote:
>
> personally, i dont see a problem here.  what actual burden is there for
> continuing supporting EAPI 0/1 ?  i dont think we should go around deprecating
> things for the pure fun of it.
> -mike
>

I tend to agree, unless of course the maintainers of the various
package managers chime in and say that some aspect of some particular
EAPI requires them to maintain a lot of legacy code.  Then I'd be all
for dropping some.

However, with upwards of 70%+ of the tree being pre-EAPI-3, do we
really want to go around tweaking all those ebuilds just so that they
work exactly like they already work (if we don't mess anything up)?
I'm sure lots of packages are maintainer-needed, so are we going to do
a massive removal of otherwise-working packages just because of their
EAPI (I"m fine with cleaning broken packages, but why touch working
ones)?

Sure, the new EAPIs are nice, and I'm sure that devs creating new
ebuilds will follow whatever is in the devmanual (which obviously
would only reference the new way of doing things) so over time things
will take care of themselves.  Why force a change?

Again, if this is causing the package manager / repoman / etc
maintainers problems, then I'm fine with simplifying the landscape...

Rich



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 21:38   ` Rich Freeman
@ 2011-01-01  0:01     ` Chris Richards
  0 siblings, 0 replies; 28+ messages in thread
From: Chris Richards @ 2011-01-01  0:01 UTC (permalink / raw
  To: gentoo-dev

On 12/31/2010 03:38 PM, Rich Freeman wrote:
> On Fri, Dec 31, 2010 at 12:53 PM, Mike Frysinger<vapier@gentoo.org>  wrote:
>> personally, i dont see a problem here.  what actual burden is there for
>> continuing supporting EAPI 0/1 ?  i dont think we should go around deprecating
>> things for the pure fun of it.
>> -mike
>>
> I tend to agree, unless of course the maintainers of the various
> package managers chime in and say that some aspect of some particular
> EAPI requires them to maintain a lot of legacy code.  Then I'd be all
> for dropping some.

I'm not a gentoo dev, but I tend to agree here.

"If it ain't broke, don't fix it."

Later,
Gizmo



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [gentoo-dev] Re: Deprecate EAPIs 0 and 1?
  2010-12-31 11:02 [gentoo-dev] Deprecate EAPIs 0 and 1? Ulrich Mueller
                   ` (4 preceding siblings ...)
  2010-12-31 18:04 ` Jeroen Roovers
@ 2011-01-01  0:34 ` Ryan Hill
  2011-01-01  4:57   ` Jeroen Roovers
  2011-01-02 15:19 ` [gentoo-dev] Deprecate EAPIs 1 and 2? Jorge Manuel B. S. Vicetto
  2011-01-02 15:50 ` [gentoo-dev] Deprecate EAPIs 0 and 1? Andreas K. Huettel
  7 siblings, 1 reply; 28+ messages in thread
From: Ryan Hill @ 2011-01-01  0:34 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 896 bytes --]

On Fri, 31 Dec 2010 12:02:32 +0100
Ulrich Mueller <ulm@gentoo.org> wrote:

> Opinions?

I don't mind a warning, but I'll tell you right now there is no way I'm
using anything other than EAPI 0 for toolchain packages.  Mike might
disagree but I don't think anyone feels like rewriting and auditing
toolchain.eclass for zero benefit.

I thought there was a consensus that we wouldn't use anything other than
EAPI 0 for @system packages, but it appears python ignored that and others
followed suit.

EAPI 1 I could live without.  But I think EAPI 0, being the base on which
all other EAPIs are defined, needs to stick around indefinitely.


-- 
fonts, gcc-porting,                  it makes no sense how it makes no sense
toolchain, wxwidgets                           but i'll take it free anytime
@ gentoo.org                EFFD 380E 047A 4B51 D2BD C64F 8AA8 8346 F9A4 0662

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Re: Deprecate EAPIs 0 and 1?
  2011-01-01  0:34 ` [gentoo-dev] " Ryan Hill
@ 2011-01-01  4:57   ` Jeroen Roovers
  0 siblings, 0 replies; 28+ messages in thread
From: Jeroen Roovers @ 2011-01-01  4:57 UTC (permalink / raw
  To: gentoo-dev

On Fri, 31 Dec 2010 18:34:03 -0600
Ryan Hill <dirtyepic@gentoo.org> wrote:

> I thought there was a consensus that we wouldn't use anything other
> than EAPI 0 for @system packages, but it appears python ignored that
> and others followed suit.

Oh $deity yeah.


     jer



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 18:04 ` Jeroen Roovers
@ 2011-01-01 10:54   ` Ulrich Mueller
  0 siblings, 0 replies; 28+ messages in thread
From: Ulrich Mueller @ 2011-01-01 10:54 UTC (permalink / raw
  To: gentoo-dev

>>>>> On Fri, 31 Dec 2010, Jeroen Roovers wrote:

> I don't see a reason to deprecate an EAPI, unless you are out to
> stop a specific feature from being used that was introduced in a
> later EAPI and breaks the earlier EAPI. Those ebuilds should be
> converted or otherwise taken care of, but it still wouldn't
> deprecate the older EAPI as a whole.

The package manager has to support all EAPIs indefinitely. And it also
doesn't make sense to convert existing ebuilds when half of the tree
is still at EAPI 0.

The suggestion is that EAPI >= 2 should be used for _new_ ebuilds.

And yes, the old EAPIs are a burden. For example, changing reverse
dependencies if USE dependencies are needed. It's no fun if half of
the affected ebuilds have to be changed from EAPI 0 to EAPI 2 in such
a case.

Ulrich



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 1 and 2?
  2010-12-31 11:02 [gentoo-dev] Deprecate EAPIs 0 and 1? Ulrich Mueller
                   ` (5 preceding siblings ...)
  2011-01-01  0:34 ` [gentoo-dev] " Ryan Hill
@ 2011-01-02 15:19 ` Jorge Manuel B. S. Vicetto
  2011-01-02 16:02   ` Petteri Räty
  2011-01-02 15:50 ` [gentoo-dev] Deprecate EAPIs 0 and 1? Andreas K. Huettel
  7 siblings, 1 reply; 28+ messages in thread
From: Jorge Manuel B. S. Vicetto @ 2011-01-02 15:19 UTC (permalink / raw
  To: gentoo-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 31-12-2010 10:02, Ulrich Mueller wrote:
> Hi,
> 
> after approval of EAPI 4, there are now 5 different EAPIs available,
> and it's hard to remember what features are offered by which EAPI.
> 
> So maybe it's about time that we deprecate EAPIs 0 and 1 for new
> ebuilds. As a first step, a warning could be added to repoman that
> would be triggered whenever a new ebuild with an EAPI less than 2 is
> committed.

I agree that having too many EAPI versions around can only lead to
confusion. Furthermore, it can require extra work from developers to
ensure compatibility for ebuilds and more importantly eclasses.
Instead of deprecating EAPIs 0 and 1, I'd suggest we deprecate EAPIs 1
and 2, though. As others have recalled, we'll have to maintain EAPI 0
around indefinitely, and EAPI 3 includes all the features in EAPIs 1 and
2. This way we can leave the system set packages alone.

> At a later time, the warning could be changed to an error. When most
> of the tree has been updated to EAPI 2 or newer, we could also think
> about actively converting the remaining ebuilds. (Currently this
> doesn't look feasible though, as about half of the tree is still at
> EAPI=0. [1])

Sounds a good idea (for EAPIs 1 and 2).

> Opinions?
> 
> Ulrich
> 
> [1] <http://blogs.gentoo.org/alexxy/2010/11/06/some-interesting-stats-about-gentoo-portage-tree/>
> 

One way we could drop EAPI 0 would be if we do a major review of tree
and repo formats to improve upgrade paths, which would however likely
require breaking backwards compatibility at such point.
I believe such a change would only be acceptable, if we would pack
enough features and safety measures that it would ensure another break
would not need to be done for a long time.

- -- 
Regards,

Jorge Vicetto (jmbsvicetto) - jmbsvicetto at gentoo dot org
Gentoo- forums / Userrel / Devrel / KDE / Elections / RelEng
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJNIJeVAAoJEC8ZTXQF1qEPnpIQAM73/W5vvIz9DJjHKiSPp8OX
Z4ezg0lBiT5ZpeN4caY5jdhh0lRWE8raEDBKiCjJhm/lnkdqs3hpYx5ogHJxhGrM
2HkzF1wfDFt5/l0PnqhCyGlS6o/v/zN4w0d3TQKsl1hq5bz5fge2SCe37bZXSC/h
Did6ijW17wsu+OQOP4ihI7CibLy0G9khi+zDQBoKsC8UVwfzO013aRuVORySP+d+
fgyR4wMOgduVqlsIKqLBVMTRzPWCUDvmyGd2eVJ8zhl5i/n1Hnq8Pw3QTwSmK15s
wfUUQH7N7uuWgC8w2i2JEy717yzjB5CRZX54MIFgIk2zFxPZe6mBsMeafL9oPNeR
3J2qJvlULM7BOxjkdXakE+089TM3R3d32ul9qcBmnlWbpbxHwzH/h7dAoCRb1kwW
DVG9MS1FGRar7EnKLVKhDh554cG47vS15b6q0fOSbxKNyjKa28XJVR7GQNtjk85Z
ACJdG5J9yCidgWWyiCcdF6uDAKGOl6FqJDngGLVrXsSWyL6nuUA68hEAMfuC5Y3D
EIWsexsRqVT2tksZ8a/LlhpCH74ksbibrH5sLw/0P0qrhQvK3K0whfIXF+kjSVy9
qnixHkSYTWUDkYB8cWrBemroD6bLQvm8pzOurOrSKeLY8ax28H2Dqkz914W6H4Ae
3DYA5ct0nnFQV4FOvUzA
=nBkm
-----END PGP SIGNATURE-----



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 11:02 [gentoo-dev] Deprecate EAPIs 0 and 1? Ulrich Mueller
                   ` (6 preceding siblings ...)
  2011-01-02 15:19 ` [gentoo-dev] Deprecate EAPIs 1 and 2? Jorge Manuel B. S. Vicetto
@ 2011-01-02 15:50 ` Andreas K. Huettel
  7 siblings, 0 replies; 28+ messages in thread
From: Andreas K. Huettel @ 2011-01-02 15:50 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: Text/Plain, Size: 983 bytes --]


We have to be precise about what we are talking here:

1) for NEW ebuilds added to the tree...
>
> So maybe it's about time that we deprecate EAPIs 0 and 1 for new
> ebuilds. As a first step, a warning could be added to repoman that
> would be triggered whenever a new ebuild with an EAPI less than 2 is
> committed.

it would definitely make sense to trigger a warning whenever an ancient EAPI is 
used. Remember, we're adding new features so we can use them - and we also 
want to train new recruits for using these features. 

So, I'm for a repoman warning for NEW ebuilds whenever EAPI<(CURRENT_EAPI-1). 
This would at the moment deprecate EAPI=0,1 (and soon also 2).

2) for existing ebuilds...

... it is indeed impractical to force EAPI=0 rewriting. Some of the in-between 
steps however should be deprecated. Eg. EAPI=1 and later EAPI=2...

My 2ct...

Cheers, Andreas
 

-- 
 
Andreas K. Huettel
dilfridge@gentoo.org
http://www.akhuettel.de/

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 16:04     ` Brian Harring
@ 2011-01-02 16:01       ` Rémi Cardona
  0 siblings, 0 replies; 28+ messages in thread
From: Rémi Cardona @ 2011-01-02 16:01 UTC (permalink / raw
  To: gentoo-dev

Le 31/12/2010 17:04, Brian Harring a écrit :
> Quick scan of the tree via `pinspect eapi_usage`, the percentile is
>   eapi: '0' 13934 pkgs found, 50.43% of the repository
>   eapi: '2' 8679 pkgs found, 31.41% of the repository
>   eapi: '3' 4432 pkgs found, 16.04% of the repository
>   eapi: '1' 583 pkgs found, 2.11% of the repository

Based on those stats, I would definitely deprecated EAPI 1 since it's
almost unused, and EAPI 2 since its behavior is really close to EAPI 3.

As others have mentioned, only for _new_ ebuilds.

My 2¢,

Rémi



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 1 and 2?
  2011-01-02 15:19 ` [gentoo-dev] Deprecate EAPIs 1 and 2? Jorge Manuel B. S. Vicetto
@ 2011-01-02 16:02   ` Petteri Räty
  2011-01-02 19:24     ` Roy Bamford
  2011-01-03 12:27     ` Jeroen Roovers
  0 siblings, 2 replies; 28+ messages in thread
From: Petteri Räty @ 2011-01-02 16:02 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 810 bytes --]

On 01/02/2011 05:19 PM, Jorge Manuel B. S. Vicetto wrote:

> 
> 
> One way we could drop EAPI 0 would be if we do a major review of tree
> and repo formats to improve upgrade paths, which would however likely
> require breaking backwards compatibility at such point.
> I believe such a change would only be acceptable, if we would pack
> enough features and safety measures that it would ensure another break
> would not need to be done for a long time.
> 

It's quite likely that if you are currently on a system with Portage
that does not understand EAPI 1 there's so many obstacles along the
upgrade path that a clean install makes more sense. Maybe someone is
willing to test this so that we actually know if there is an upgrade
path from EAPI 0 available any more.

Regards,
Petteri


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 1 and 2?
  2011-01-02 16:02   ` Petteri Räty
@ 2011-01-02 19:24     ` Roy Bamford
  2011-01-02 21:04       ` Joshua Saddler
  2011-01-03 12:27     ` Jeroen Roovers
  1 sibling, 1 reply; 28+ messages in thread
From: Roy Bamford @ 2011-01-02 19:24 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1614 bytes --]

On 2011.01.02 16:02, Petteri Räty wrote:
> On 01/02/2011 05:19 PM, Jorge Manuel B. S. Vicetto wrote:
> 
> > 
> > 
> > One way we could drop EAPI 0 would be if we do a major review of
> tree
> > and repo formats to improve upgrade paths, which would however
> likely
> > require breaking backwards compatibility at such point.
> > I believe such a change would only be acceptable, if we would pack
> > enough features and safety measures that it would ensure another
> break
> > would not need to be done for a long time.
> > 
> 
> It's quite likely that if you are currently on a system with Portage
> that does not understand EAPI 1 there's so many obstacles along the
> upgrade path that a clean install makes more sense. Maybe someone is
> willing to test this so that we actually know if there is an upgrade
> path from EAPI 0 available any more.
> 
> Regards,
> Petteri
> 
> 

There is an upgrade path from a pure EAPI0 system but it starts with a 
visit to the tinderbox as portage and python block one another.

Some other interesting things along the way:- 
You need to incrementally update gcc and glibc as there is some 
mutual blockage there too.
libpng-1.2, xorg and libexpat too if the box is old enough. How far do 
you want to go back? 

Its a very educational experience but a reinstall is faster.
The real killer is that some core system packages need EAPI>0 to build.

Personally, I don't regard tinderbox as any part of any officially 
supported upgrade path.

-- 
Regards,

Roy Bamford
(Neddyseagoon) a member of
gentoo-ops
forum-mods
trustees

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 1 and 2?
  2011-01-02 19:24     ` Roy Bamford
@ 2011-01-02 21:04       ` Joshua Saddler
  2011-01-02 21:11         ` Petteri Räty
  0 siblings, 1 reply; 28+ messages in thread
From: Joshua Saddler @ 2011-01-02 21:04 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 2028 bytes --]

On Sun, 02 Jan 2011 19:24:14 +0000
Roy Bamford <neddyseagoon@gentoo.org> wrote:
> Some other interesting things along the way:- 
> You need to incrementally update gcc and glibc as there is some 
> mutual blockage there too.
> libpng-1.2, xorg and libexpat too if the box is old enough. How far
> do you want to go back? 
> 
> Its a very educational experience but a reinstall is faster.
> The real killer is that some core system packages need EAPI>0 to
> build.
> 
> Personally, I don't regard tinderbox as any part of any officially 
> supported upgrade path.

Up until the present EAPI era, we've supported upgrading from very
ancient systems. We've never required users to completely reinstall.
Check our upgrade doc:

http://www.gentoo.org/doc/en/gentoo-upgrading.xml

There's a constant stream of help requests on the forums and IRC from
folks upgrading from years-old installations. Usually it's from fokls
who've been given some never-updated, faithfully running Gentoo
server, sometimes from the pre-2004.X days. Our upgrade instructions
work to a point, and then Portage/python and other system packages
stop working, thanks to the differing EAPI versions. And *then*, as
Roy mentioned, there's the whole separate
rebuild-expat-and-similar-libs sequence of failures.

These are the kinds of things for which there's no canonical,
official upgrade path. It's entirely trial-by-error, which sucks for
end users who were expecting to follow our upgrade guide as-is, but
then the EAPI shifts bit 'em in the butt. Users should not be told
"just reinstall," since often that's not an option.

Whatever you folks eventually settle on, please send patches and
suggestions to the GDP for our upgrade guide. I'd prefer that users
have a possible upgrade path from *any* profile/version of Gentoo up
through the present. If you decide not to support anything older than
version X and require reinstalling or some other set of procedures,
please let the GDP know via our ML or bugzilla.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 1 and 2?
  2011-01-02 21:04       ` Joshua Saddler
@ 2011-01-02 21:11         ` Petteri Räty
  2011-01-02 21:46           ` Dale
  0 siblings, 1 reply; 28+ messages in thread
From: Petteri Räty @ 2011-01-02 21:11 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 907 bytes --]

On 01/02/2011 11:04 PM, Joshua Saddler wrote:
> 
> Whatever you folks eventually settle on, please send patches and
> suggestions to the GDP for our upgrade guide. I'd prefer that users
> have a possible upgrade path from *any* profile/version of Gentoo up
> through the present. If you decide not to support anything older than
> version X and require reinstalling or some other set of procedures,
> please let the GDP know via our ML or bugzilla.
>

The current hard requirement is one year:
http://www.gentoo.org/proj/en/council/meeting-logs/20091109-summary.txt

The follow up discussion probably didn't end up in any concrete
decisions. If we want to actually make sure upgrades from old installs
(>1 year) work then we should setup some kind of a bot doing upgrades.
It would then provide the documentation for the upgrade path and make
sure it keeps working.

Regards,
Petteri


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 1 and 2?
  2011-01-02 21:11         ` Petteri Räty
@ 2011-01-02 21:46           ` Dale
  2011-01-03  2:36             ` Rich Freeman
  0 siblings, 1 reply; 28+ messages in thread
From: Dale @ 2011-01-02 21:46 UTC (permalink / raw
  To: gentoo-dev

Petteri Räty wrote:
> On 01/02/2011 11:04 PM, Joshua Saddler wrote:
>    
>> Whatever you folks eventually settle on, please send patches and
>> suggestions to the GDP for our upgrade guide. I'd prefer that users
>> have a possible upgrade path from *any* profile/version of Gentoo up
>> through the present. If you decide not to support anything older than
>> version X and require reinstalling or some other set of procedures,
>> please let the GDP know via our ML or bugzilla.
>>
>>      
> The current hard requirement is one year:
> http://www.gentoo.org/proj/en/council/meeting-logs/20091109-summary.txt
>
> The follow up discussion probably didn't end up in any concrete
> decisions. If we want to actually make sure upgrades from old installs
> (>1 year) work then we should setup some kind of a bot doing upgrades.
> It would then provide the documentation for the upgrade path and make
> sure it keeps working.
>
> Regards,
> Petteri
>
>    

As a regular reader of gentoo-user, if someone has not updated in more than a year, we almost always recommend a re-install.  Maybe save /etc, /home and the world file and then start from scratch on the rest.  As a user since the 1.4 days, I would never expect that much backward compatibility.  The OS just has to many changes to be able to do that.

Also, I think going back that far would mean holding up progress as well.  It's hard to move forward if all you worry about is the past.  It's good to learn from the past but not to use it as a boat anchor.

That said, if there was some radical change that required a reinstall and the grass was much greener on the other side, I would do it.  That's just me.  I'm not sure what would require that to happen but thought it worth mentioning.  I wouldn't want that to happen to often tho.  It's not like the install is point, click and walk away.  o_O

My $0.02 worth.

Dale

:-)  :-)




^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 1 and 2?
  2011-01-02 21:46           ` Dale
@ 2011-01-03  2:36             ` Rich Freeman
  2011-01-03  6:54               ` Enrico Weigelt
  0 siblings, 1 reply; 28+ messages in thread
From: Rich Freeman @ 2011-01-03  2:36 UTC (permalink / raw
  To: gentoo-dev

On Sun, Jan 2, 2011 at 4:46 PM, Dale <rdalek1967@gmail.com> wrote:
> As a regular reader of gentoo-user, if someone has not updated in more than
> a year, we almost always recommend a re-install.  Maybe save /etc, /home and
> the world file and then start from scratch on the rest.  As a user since the
> 1.4 days, I would never expect that much backward compatibility.  The OS
> just has to many changes to be able to do that.

Something I've done when I've really borked up my system is to just
save /etc, backup, etc, and then extract a stage3 over my root
filesystem.  That gets all of my system packages into a working state.
 Sure, some packages may not work, but many still will.  Then an
emerge -e world or whatever will clean things up.

Sure, you'll end up with a lot of orphan cruft, but that probably
won't hurt anything.  After a few months of happy operation various
orphan-finding scripts can help with cleanup.

This may not always work, but is probably easier than a full rebuild.



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 1 and 2?
  2011-01-03  2:36             ` Rich Freeman
@ 2011-01-03  6:54               ` Enrico Weigelt
  0 siblings, 0 replies; 28+ messages in thread
From: Enrico Weigelt @ 2011-01-03  6:54 UTC (permalink / raw
  To: gentoo-dev

* Rich Freeman <rich0@gentoo.org> schrieb:

> Something I've done when I've really borked up my system is to just
> save /etc, backup, etc, and then extract a stage3 over my root
> filesystem.  That gets all of my system packages into a working state.
>  Sure, some packages may not work, but many still will.  Then an
> emerge -e world or whatever will clean things up.

Assuming there are no circular deps which can only be resolved
by temporarily changing some useflags ... ;-o


cu
-- 
----------------------------------------------------------------------
 Enrico Weigelt, metux IT service -- http://www.metux.de/

 phone:  +49 36207 519931  email: weigelt@metux.de
 mobile: +49 151 27565287  icq:   210169427         skype: nekrad666
----------------------------------------------------------------------
 Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 1 and 2?
  2011-01-02 16:02   ` Petteri Räty
  2011-01-02 19:24     ` Roy Bamford
@ 2011-01-03 12:27     ` Jeroen Roovers
  1 sibling, 0 replies; 28+ messages in thread
From: Jeroen Roovers @ 2011-01-03 12:27 UTC (permalink / raw
  To: gentoo-dev

On Sun, 02 Jan 2011 18:02:48 +0200
Petteri Räty <betelgeuse@gentoo.org> wrote:

> It's quite likely that if you are currently on a system with Portage
> that does not understand EAPI 1 there's so many obstacles along the
> upgrade path that a clean install makes more sense. Maybe someone is
> willing to test this so that we actually know if there is an upgrade
> path from EAPI 0 available any more.

One recent example is [1] (which the reporter ended up closing as
WONTFIX himself). In that particular case, $someone could roll out newer
stages based on the current tree. I think he just gave up, which is a
bit of a pity.


     jer


[1] https://bugs.gentoo.org/show_bug.cgi?id=346621



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [gentoo-dev] Deprecate EAPIs 0 and 1?
  2010-12-31 15:46   ` "Paweł Hajdan, Jr."
@ 2011-01-04  2:47     ` Donnie Berkholz
  2011-01-04  8:07       ` [gentoo-dev] " Christian Faulhammer
  0 siblings, 1 reply; 28+ messages in thread
From: Donnie Berkholz @ 2011-01-04  2:47 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1028 bytes --]

On 16:46 Fri 31 Dec     , "Paweł Hajdan, Jr." wrote:
> On 12/31/10 12:13 PM, Petteri Räty wrote:
> > EAPI 0 might stick around for quite a while but for example deprecating
> > EAPI 1 shouldn't be as hard.
> 
> That seems also to be a safe first step. EAPI-1 ebuilds were at least
> written with EAPIs in mind. That's obviously not true for EAPI-0.
> 
> We could even deprecate EAPI-2 in favor of EAPI-3, hmmm....
> 
> I think a repoman non-fatal warning would be fine. If we have a warning
> about forcing -j1, we can surely have one about ancient EAPIs.

I'm in favor of documenting things such that the latest EAPI is the 
standard and others are backwards diffs based on it, shifted to 
appendices or somewhere out of the way. This will encourage people to 
easily use the latest developments rather than trying to build up a 
mental stack of added and removed features across multiple levels.

-- 
Thanks,
Donnie

Donnie Berkholz
Sr. Developer, Gentoo Linux
Blog: http://dberkholz.wordpress.com

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [gentoo-dev] Re: Deprecate EAPIs 0 and 1?
  2011-01-04  2:47     ` Donnie Berkholz
@ 2011-01-04  8:07       ` Christian Faulhammer
  0 siblings, 0 replies; 28+ messages in thread
From: Christian Faulhammer @ 2011-01-04  8:07 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 464 bytes --]

Hi,

Donnie Berkholz <dberkholz@gentoo.org>:
> rather than trying to build up a 
> mental stack of added and removed features across multiple levels.

 I always recommend the Reference Card which fits on one page and sums
up most features of the EAPIs (found as the last two pages of PMS).

V-Li

-- 
Christian Faulhammer, Gentoo Lisp project
<URL:http://www.gentoo.org/proj/en/lisp/>, #gentoo-lisp on FreeNode

<URL:http://gentoo.faulhammer.org/>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2011-01-04  8:05 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-31 11:02 [gentoo-dev] Deprecate EAPIs 0 and 1? Ulrich Mueller
2010-12-31 11:13 ` Petteri Räty
2010-12-31 11:20   ` Zac Medico
2010-12-31 15:46   ` "Paweł Hajdan, Jr."
2011-01-04  2:47     ` Donnie Berkholz
2011-01-04  8:07       ` [gentoo-dev] " Christian Faulhammer
2010-12-31 11:30 ` [gentoo-dev] " Patrick Lauer
2010-12-31 14:56 ` Enrico Weigelt
2010-12-31 14:57   ` Enrico Weigelt
2010-12-31 16:04     ` Brian Harring
2011-01-02 16:01       ` Rémi Cardona
2010-12-31 17:53 ` Mike Frysinger
2010-12-31 21:38   ` Rich Freeman
2011-01-01  0:01     ` Chris Richards
2010-12-31 18:04 ` Jeroen Roovers
2011-01-01 10:54   ` Ulrich Mueller
2011-01-01  0:34 ` [gentoo-dev] " Ryan Hill
2011-01-01  4:57   ` Jeroen Roovers
2011-01-02 15:19 ` [gentoo-dev] Deprecate EAPIs 1 and 2? Jorge Manuel B. S. Vicetto
2011-01-02 16:02   ` Petteri Räty
2011-01-02 19:24     ` Roy Bamford
2011-01-02 21:04       ` Joshua Saddler
2011-01-02 21:11         ` Petteri Räty
2011-01-02 21:46           ` Dale
2011-01-03  2:36             ` Rich Freeman
2011-01-03  6:54               ` Enrico Weigelt
2011-01-03 12:27     ` Jeroen Roovers
2011-01-02 15:50 ` [gentoo-dev] Deprecate EAPIs 0 and 1? Andreas K. Huettel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox