public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] autotools.eclass and binary packages
@ 2006-08-05 14:12 Christian Heim
  2006-08-05 18:37 ` Mike Frysinger
  2006-08-05 19:32 ` Zac Medico
  0 siblings, 2 replies; 9+ messages in thread
From: Christian Heim @ 2006-08-05 14:12 UTC (permalink / raw
  To: gentoo-dev; +Cc: Martin Schlemmer, Diego Pettenò


[-- Attachment #1.1: Type: text/plain, Size: 826 bytes --]

I'm currently preparing one of my embedded system for a test-run and noticed 
that a *binary* package of media-libs/libpng pulls in the autofoo-stuff.

I went looking for the reason, looked into the eutils, multilib and finally 
autotools eclasses and saw that the autotools.eclass is setting the DEPEND 
but not the RDEPEND. IIRC portage-2.1 is now setting RDEPEND to DEPEND if 
nothing other is assigned within the ebuild/eclass.

So the simplest fix would be to assign RDEPEND="" in the eclass [1].

If no-one objects, I will commit the changes on monday.

TIA, Christian

1:http://dev.gentoo.org/~phreak/files/patches/autotools.eclass.diff

-- 
Christian Heim <phreak at gentoo.org>
GPG: 9A9F68E6 / AEC4 87B8 32B8 4922 B3A9  DF79 CAE3 556F 9A9F 68E6

Your friendly mobile/kernel/vserver/openvz monkey

[-- Attachment #1.2: autotools.eclass.diff --]
[-- Type: text/x-diff, Size: 896 bytes --]

Christian Heim <phreak@gentoo.org>:
  autotools.eclass is needlessly pulling in sys-devel/automake,
  sys-devel/automake-wrapper, sys-devel/autoconf, sys-devel/autoconf-wrapper
  sys-devel/gnuconfig, sys-apps/texinfo sys-devel/libtool, sys-devel/m4 and
  dev-lang/perl including dependencies for binary packages. Prevent portage
  from setting RDEPEND="${RDEPEND}" by setting RDEPEND="" explicitly!

Index: autotools.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools.eclass,v
retrieving revision 1.39
diff -u -b -B -r1.39 autotools.eclass
--- autotools.eclass	3 Jul 2006 18:42:54 -0000	1.39
+++ autotools.eclass	5 Aug 2006 13:58:51 -0000
@@ -16,6 +16,8 @@
 	sys-devel/autoconf
 	sys-devel/libtool"
 
+RDEPEND=""
+
 # Variables:
 #
 #	AT_M4DIR		  - Additional director(y|ies) aclocal should search

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

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

* Re: [gentoo-dev] autotools.eclass and binary packages
  2006-08-05 14:12 [gentoo-dev] autotools.eclass and binary packages Christian Heim
@ 2006-08-05 18:37 ` Mike Frysinger
  2006-08-05 19:32 ` Zac Medico
  1 sibling, 0 replies; 9+ messages in thread
From: Mike Frysinger @ 2006-08-05 18:37 UTC (permalink / raw
  To: gentoo-dev; +Cc: Christian Heim, Martin Schlemmer, Diego Pettenò

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

On Saturday 05 August 2006 10:12, Christian Heim wrote:
> I went looking for the reason, looked into the eutils, multilib and finally
> autotools eclasses and saw that the autotools.eclass is setting the DEPEND
> but not the RDEPEND. IIRC portage-2.1 is now setting RDEPEND to DEPEND if
> nothing other is assigned within the ebuild/eclass.

when did this change ?  i thought eclasses never did this while ebuilds always 
did this

> So the simplest fix would be to assign RDEPEND="" in the eclass [1].

that should be fine
-mike

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

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

* Re: [gentoo-dev] autotools.eclass and binary packages
  2006-08-05 14:12 [gentoo-dev] autotools.eclass and binary packages Christian Heim
  2006-08-05 18:37 ` Mike Frysinger
@ 2006-08-05 19:32 ` Zac Medico
  2006-08-05 20:08   ` Mike Frysinger
  1 sibling, 1 reply; 9+ messages in thread
From: Zac Medico @ 2006-08-05 19:32 UTC (permalink / raw
  To: gentoo-dev; +Cc: Martin Schlemmer, Diego Pettenò

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

Christian Heim wrote:
> I'm currently preparing one of my embedded system for a test-run and noticed 
> that a *binary* package of media-libs/libpng pulls in the autofoo-stuff.
> 
> I went looking for the reason, looked into the eutils, multilib and finally 
> autotools eclasses and saw that the autotools.eclass is setting the DEPEND 
> but not the RDEPEND. IIRC portage-2.1 is now setting RDEPEND to DEPEND if 
> nothing other is assigned within the ebuild/eclass.
> 
> So the simplest fix would be to assign RDEPEND="" in the eclass [1].
> 
> If no-one objects, I will commit the changes on monday.
> 
> TIA, Christian
> 
> 1:http://dev.gentoo.org/~phreak/files/patches/autotools.eclass.diff

The actual fault is in libpng-1.2.12-r1.ebuild where RDEPEND="" should be explicitly set.

Zac
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFE1PJV/ejvha5XGaMRAttgAJ96uFoJHz1LDzCZtnoibmSZfYxVcACglt03
dsDKCiRjdonrq47INm0FmMM=
=Y1+N
-----END PGP SIGNATURE-----
-- 
gentoo-dev@gentoo.org mailing list



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

* Re: [gentoo-dev] autotools.eclass and binary packages
  2006-08-05 19:32 ` Zac Medico
@ 2006-08-05 20:08   ` Mike Frysinger
  2006-08-05 21:29     ` Zac Medico
  0 siblings, 1 reply; 9+ messages in thread
From: Mike Frysinger @ 2006-08-05 20:08 UTC (permalink / raw
  To: gentoo-dev; +Cc: Zac Medico, Martin Schlemmer, Diego Pettenò

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

On Saturday 05 August 2006 15:32, Zac Medico wrote:
> The actual fault is in libpng-1.2.12-r1.ebuild where RDEPEND="" should be
> explicitly set.

the actual fault is portage

instead of half-assing all this DEPEND/RDEPEND garbage, why not fix portage to 
do it consistently

either it implicitly sets RDEPEND *correctly* or it doesnt do it at all
-mike

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

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

* Re: [gentoo-dev] autotools.eclass and binary packages
  2006-08-05 20:08   ` Mike Frysinger
@ 2006-08-05 21:29     ` Zac Medico
  2006-08-05 22:26       ` [gentoo-dev] implicit RDEPEND Mike Frysinger
  0 siblings, 1 reply; 9+ messages in thread
From: Zac Medico @ 2006-08-05 21:29 UTC (permalink / raw
  To: Mike Frysinger; +Cc: gentoo-dev, Martin Schlemmer, Diego Pettenò

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

Mike Frysinger wrote:
> On Saturday 05 August 2006 15:32, Zac Medico wrote:
>> The actual fault is in libpng-1.2.12-r1.ebuild where RDEPEND="" should be
>> explicitly set.
> 
> the actual fault is portage
> 
> instead of half-assing all this DEPEND/RDEPEND garbage, why not fix portage to 
> do it consistently
> 
> either it implicitly sets RDEPEND *correctly* or it doesnt do it at all
> -mike

I'm not satisfied with the current implicit RDEPEND behavior either.  I propose that we make repoman force explicit definition of RDEPEND.  After all of the ebuilds have been fixed to stop relying on the implicit definition, we can fix portage so that it no longer sets RDEPEND implicitly at all.

Zac
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFE1Q3R/ejvha5XGaMRAsfPAJ995BeuHN7oCUnaaKmTsijGIHd0zQCfUErR
1z101NNdxc2VpH08BoMZsJo=
=L2kn
-----END PGP SIGNATURE-----
-- 
gentoo-dev@gentoo.org mailing list



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

* [gentoo-dev] implicit RDEPEND
  2006-08-05 21:29     ` Zac Medico
@ 2006-08-05 22:26       ` Mike Frysinger
  2006-08-06  0:02         ` Zac Medico
  2006-08-07 17:36         ` Carsten Lohrke
  0 siblings, 2 replies; 9+ messages in thread
From: Mike Frysinger @ 2006-08-05 22:26 UTC (permalink / raw
  To: gentoo-dev

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

On Saturday 05 August 2006 17:29, Zac Medico wrote:
> I'm not satisfied with the current implicit RDEPEND behavior either.  I
> propose that we make repoman force explicit definition of RDEPEND.

and i'm on the opposite side where implicit RDEPEND should be clean:
- eclass and ebuilds have their own sets of DEPEND/RDEPEND which do not in any 
way affect each other
- RDEPEND, if not set, is defined as $DEPEND

> After 
> all of the ebuilds have been fixed to stop relying on the implicit
> definition, we can fix portage so that it no longer sets RDEPEND implicitly
> at all.

i see it being broken regardless, might as well go for a clean break rather 
than putzing around with middle ground
-mike

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

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

* Re: [gentoo-dev] implicit RDEPEND
  2006-08-05 22:26       ` [gentoo-dev] implicit RDEPEND Mike Frysinger
@ 2006-08-06  0:02         ` Zac Medico
  2006-08-07 17:36         ` Carsten Lohrke
  1 sibling, 0 replies; 9+ messages in thread
From: Zac Medico @ 2006-08-06  0:02 UTC (permalink / raw
  To: gentoo-dev

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

Mike Frysinger wrote:
> On Saturday 05 August 2006 17:29, Zac Medico wrote:
>> I'm not satisfied with the current implicit RDEPEND behavior either.  I
>> propose that we make repoman force explicit definition of RDEPEND.
> 
> and i'm on the opposite side where implicit RDEPEND should be clean:
> - eclass and ebuilds have their own sets of DEPEND/RDEPEND which do not in any 
> way affect each other
> - RDEPEND, if not set, is defined as $DEPEND

That change is more difficult to do because your talking about changing the implicit behavior for all eclasses and all ebuilds.  It seems like it would require an EAPI bump if we want to ensure a smooth migration path that is free of wild fluctuations in RDEPEND.  If we take that step, we need to be absolutely sure that we *really* love having implicit RDEPEND="${DEPEND}" at all levels (for both eclasses and ebuilds).

Zac


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)

iD8DBQFE1TGW/ejvha5XGaMRAiYWAJ9KxCtfllC5Pl47milHR0x+9liUawCfUWEJ
EZVpT4FAYCl2679I+em/zQU=
=Eqpo
-----END PGP SIGNATURE-----
-- 
gentoo-dev@gentoo.org mailing list



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

* Re: [gentoo-dev] implicit RDEPEND
  2006-08-05 22:26       ` [gentoo-dev] implicit RDEPEND Mike Frysinger
  2006-08-06  0:02         ` Zac Medico
@ 2006-08-07 17:36         ` Carsten Lohrke
  2006-08-07 23:25           ` Mike Frysinger
  1 sibling, 1 reply; 9+ messages in thread
From: Carsten Lohrke @ 2006-08-07 17:36 UTC (permalink / raw
  To: gentoo-dev

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

On Sunday 06 August 2006 00:26, Mike Frysinger wrote:
> and i'm on the opposite side where implicit RDEPEND should be clean:

Why? I for one consider explicit dependencies much more clean. If Portage at 
some point should distinct between dependencies defined in ebuilds and 
eclasses, we'd need a defined way to set eclass dependencies in ebuilds, so 
Portage actually can do the distiction, not breaking the tree. 

> - eclass and ebuilds have their own sets of DEPEND/RDEPEND which do not in
> any way affect each other

That's not true. We use and need the functionality to set dependencies in the 
ebuild which take effect in the eclass. Be it by setting a variable before 
inherit or by an eclass function called from within the ebuild - need-kde(), 
need-apache(), ...

We can't source the eclass and have all its dependencies.


Carsten

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

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

* Re: [gentoo-dev] implicit RDEPEND
  2006-08-07 17:36         ` Carsten Lohrke
@ 2006-08-07 23:25           ` Mike Frysinger
  0 siblings, 0 replies; 9+ messages in thread
From: Mike Frysinger @ 2006-08-07 23:25 UTC (permalink / raw
  To: gentoo-dev

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

On Monday 07 August 2006 13:36, Carsten Lohrke wrote:
> On Sunday 06 August 2006 00:26, Mike Frysinger wrote:
> > and i'm on the opposite side where implicit RDEPEND should be clean:
>
> Why? I for one consider explicit dependencies much more clean.

i prefer to make the common behavior the default ... if more packages than not 
will simply be doing:
RDEPEND="${DEPEND}"
then typing that up a zillion times is a waste

> > - eclass and ebuilds have their own sets of DEPEND/RDEPEND which do not
> > in any way affect each other
>
> That's not true. We use and need the functionality to set dependencies in
> the ebuild which take effect in the eclass. Be it by setting a variable
> before inherit or by an eclass function called from within the ebuild -
> need-kde(), need-apache(), ...

you're looking at it wrong, what you need is not broken by my suggestion
[ebuild
 set some vars to affect eclass
 (eclass env sets up *DEPEND and saves them to $ECLASS_*DEPEND)
 ebuild env sets up *DEPEND and saves them to *DEPEND]
-mike

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

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

end of thread, other threads:[~2006-08-07 23:29 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-05 14:12 [gentoo-dev] autotools.eclass and binary packages Christian Heim
2006-08-05 18:37 ` Mike Frysinger
2006-08-05 19:32 ` Zac Medico
2006-08-05 20:08   ` Mike Frysinger
2006-08-05 21:29     ` Zac Medico
2006-08-05 22:26       ` [gentoo-dev] implicit RDEPEND Mike Frysinger
2006-08-06  0:02         ` Zac Medico
2006-08-07 17:36         ` Carsten Lohrke
2006-08-07 23:25           ` Mike Frysinger

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