public inbox for gentoo-devhelp@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-devhelp] epatch and svn
@ 2009-11-16 13:36 Thomas Kahle
       [not found] ` <6142e6140911160627x76597ca0i54f7dfdd14da1a71@mail.gmail.com>
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Kahle @ 2009-11-16 13:36 UTC (permalink / raw
  To: gentoo-devhelp

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

Hi,
I am trying to make an ebuild that uses the subversion eclass.
This seems to disbehave when used with epatch.
The problem is that epatch directly works on the downloaded svn-sources
(in /usr/portage/distfiles/svn-src) When they have been patched once,
any future emerge will fail because the patch cannot be applied again.
What is wrong here?

By the way, does an ebuild that uses subversion eclass need to state
dev-util/subversion in its dependencies??

thanks
Thomas


-- 
Thomas Kahle

The fundamental theorem of algebra is open source. Like any other
mathematical theorem it can be applied free of charge and everybody
has access to its proof and can convince himself how it works. Why
should software be any different?


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

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

* Re: [gentoo-devhelp] epatch and svn
       [not found] ` <6142e6140911160627x76597ca0i54f7dfdd14da1a71@mail.gmail.com>
@ 2009-11-16 15:02   ` Thomas Kahle
  2009-11-16 15:37     ` Daniel Pielmeier
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Kahle @ 2009-11-16 15:02 UTC (permalink / raw
  To: gentoo-devhelp


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

Daniel Pielmeier wrote:
> 2009/11/16 Thomas Kahle <tom111@gmx.de>:
>> Hi,
>> I am trying to make an ebuild that uses the subversion eclass.
>> This seems to disbehave when used with epatch.
>> The problem is that epatch directly works on the downloaded svn-sources
>> (in /usr/portage/distfiles/svn-src) When they have been patched once,
>> any future emerge will fail because the patch cannot be applied again.
>> What is wrong here?

> You should not use epatch in the svn repo (DISTDIR) itself. Patching
> should be done after copying the checkout to WORKDIR

Thats true. Actually all that was missing was
cd "${S}"
I (wrongly) assumed to be cd'ed to ${S} automatically.

> Take a look at the eclass [1,2]. Eclasses for live sources have there
> own patching facility.
> For the subversion.eclass this should be setting the ESVN_PATCHES variable.

Description of this variable says:
"List of patches to apply prior to fetching the sources". I find this
confusing. What can you patch before you have the sources?

> I guess this is because functions from the eutils and base eclass
> (which provide patching functions) are overwritten from the live
> source eclass and the other way round depending on the order of
> inheritance. If you do inherit subversion eutils bootstrapping is not
> available and if you do inherit eutils subversion epatch is not
> available. You can work around this by directly calling the function
> from the eclass but an own patching functionality in the live eclass
> is more convenient. At least this is my theory :)

Wait a minute. Now that I'm in the correct directory I source eutils
before subversion and still have epatch available...?
Thanks for theorizing in any case. Looking at the eclass helps a little.

cheers
Thomas

>> By the way, does an ebuild that uses subversion eclass need to state
>> dev-util/subversion in its dependencies??
>>
> 
> Again take a look in the eclass [1,2]. It sets subversion as dependency
> 
> [1] http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/subversion.eclass?view=markup
> [2] $PORTDIR/eclass/subversion.eclass
> 


-- 
Thomas Kahle

The fundamental theorem of algebra is open source. Like any other
mathematical theorem it can be applied free of charge and everybody
has access to its proof and can convince himself how it works. Why
should software be any different?



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

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

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

* Re: [gentoo-devhelp] epatch and svn
  2009-11-16 15:02   ` Thomas Kahle
@ 2009-11-16 15:37     ` Daniel Pielmeier
  2009-11-16 17:33       ` Thomas Kahle
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Pielmeier @ 2009-11-16 15:37 UTC (permalink / raw
  To: gentoo-devhelp

2009/11/16 Thomas Kahle <tom111@gmx.de>:
>
> Description of this variable says:
> "List of patches to apply prior to fetching the sources". I find this
> confusing. What can you patch before you have the sources?

# @ECLASS-VARIABLE: ESVN_PATCHES
# @DESCRIPTION:
# subversion eclass can apply patches in subversion_bootstrap().
# you can use regexp in this variable like *.diff or *.patch or etc.
# NOTE: patches will be applied before ESVN_BOOTSTRAP is processed.

This is the description I read ESVN_BOOTSTRAP is not fetching the
sources it runs commands like autogen.sh and the like. So the sources
are already fetched and copied to WORKDIR.

Where did you get your description?

> Wait a minute. Now that I'm in the correct directory I source eutils
> before subversion and still have epatch available...?
> Thanks for theorizing in any case. Looking at the eclass helps a little.

Don't know, but you don't need epatch just specify ESVN_PATCHES.

-- 
Daniel Pielmeier



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

* Re: [gentoo-devhelp] epatch and svn
  2009-11-16 15:37     ` Daniel Pielmeier
@ 2009-11-16 17:33       ` Thomas Kahle
  2009-11-16 18:25         ` Mike Frysinger
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Kahle @ 2009-11-16 17:33 UTC (permalink / raw
  To: gentoo-devhelp

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

Daniel Pielmeier wrote:
> 2009/11/16 Thomas Kahle <tom111@gmx.de>:
>> Description of this variable says:
>> "List of patches to apply prior to fetching the sources". I find this
>> confusing. What can you patch before you have the sources?
> 
> # @ECLASS-VARIABLE: ESVN_PATCHES
> # @DESCRIPTION:
> # subversion eclass can apply patches in subversion_bootstrap().
> # you can use regexp in this variable like *.diff or *.patch or etc.
> # NOTE: patches will be applied before ESVN_BOOTSTRAP is processed.
> 
> This is the description I read ESVN_BOOTSTRAP is not fetching the
> sources it runs commands like autogen.sh and the like. So the sources
> are already fetched and copied to WORKDIR.
> 
> Where did you get your description?

http://devmanual.gentoo.org/eclass-reference/subversion.eclass/index.html


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

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

* Re: [gentoo-devhelp] epatch and svn
  2009-11-16 17:33       ` Thomas Kahle
@ 2009-11-16 18:25         ` Mike Frysinger
  0 siblings, 0 replies; 5+ messages in thread
From: Mike Frysinger @ 2009-11-16 18:25 UTC (permalink / raw
  To: gentoo-devhelp; +Cc: Thomas Kahle

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

On Monday 16 November 2009 12:33:26 Thomas Kahle wrote:
> Daniel Pielmeier wrote:
> > 2009/11/16 Thomas Kahle <tom111@gmx.de>:
> >> Description of this variable says:
> >> "List of patches to apply prior to fetching the sources". I find this
> >> confusing. What can you patch before you have the sources?
> >
> > # @ECLASS-VARIABLE: ESVN_PATCHES
> > # @DESCRIPTION:
> > # subversion eclass can apply patches in subversion_bootstrap().
> > # you can use regexp in this variable like *.diff or *.patch or etc.
> > # NOTE: patches will be applied before ESVN_BOOTSTRAP is processed.
> >
> > This is the description I read ESVN_BOOTSTRAP is not fetching the
> > sources it runs commands like autogen.sh and the like. So the sources
> > are already fetched and copied to WORKDIR.
> >
> > Where did you get your description?
> 
> http://devmanual.gentoo.org/eclass-reference/subversion.eclass/index.html

the eclass-manpages are more authoritative than the devmanual.  there's a bug 
open to get those generated from the same source.
-mike

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

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

end of thread, other threads:[~2009-11-16 18:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-16 13:36 [gentoo-devhelp] epatch and svn Thomas Kahle
     [not found] ` <6142e6140911160627x76597ca0i54f7dfdd14da1a71@mail.gmail.com>
2009-11-16 15:02   ` Thomas Kahle
2009-11-16 15:37     ` Daniel Pielmeier
2009-11-16 17:33       ` Thomas Kahle
2009-11-16 18: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