Mailing List Archive

portage idea - auto embed user patches
Hi!
I have some idea on extending portage building system (ebuild?).
Sometimes I'm (for example) want to apply custom patch to some package.
This patch can do something unusual, that can not be accepted by
maintainers and I know this. But I like features in my patch and want it
to apply automatically when updating the package. Not to do it like this:
$ ebuild /usr/portage/pkg-categoty/some-package/some-package-1.0 unpack
$ cd /var/tmp/portage/pkg-categoty/some-package/work/...
$ patch -p1 < ~/my-patch-for-some-package
$ cd
$ ebuild /usr/portage/pkg-categoty/some-package/some-package-1.0 merge

It is lot of manual work. The idea is having an file, for example
/etc/portage/package.patch with contents like this:
=pkg-category/some-package-1* /path/to/my-patch-for-some-package

Of course, patches could fail in newer versions. But when I'll use that
feature - I'll understand why it can be and it'll be more convenient to
maintain it.

--
gentoo-dev@gentoo.org mailing list
Re: portage idea - auto embed user patches [ In reply to ]
Hello,

On Thu, 21 Dec 2006 17:32:41 +0300
Alexander Zubkov <green@area-b.msu.ru> wrote:

> Hi!
> I have some idea on extending portage building system (ebuild?).
> Sometimes I'm (for example) want to apply custom patch to some
> package. This patch can do something unusual, that can not be
> accepted by maintainers and I know this. But I like features in my
> patch and want it to apply automatically when updating the package.
> Not to do it like this: $
> ebuild /usr/portage/pkg-categoty/some-package/some-package-1.0 unpack
> $ cd /var/tmp/portage/pkg-categoty/some-package/work/... $ patch -p1
> < ~/my-patch-for-some-package $ cd
> $ ebuild /usr/portage/pkg-categoty/some-package/some-package-1.0 merge
>
> It is lot of manual work. The idea is having an file, for example
> /etc/portage/package.patch with contents like this:
> =pkg-category/some-package-1* /path/to/my-patch-for-some-package
>
> Of course, patches could fail in newer versions. But when I'll use
> that feature - I'll understand why it can be and it'll be more
> convenient to maintain it.

You can use portage's bashrc to do that kind of autopatching.

Best regards,
Yuri.
--
gentoo-dev@gentoo.org mailing list
Re: portage idea - auto embed user patches [ In reply to ]
On Friday, 22 December 2006 1:02, Alexander Zubkov wrote:
> Hi!
> I have some idea on extending portage building system (ebuild?).
> Sometimes I'm (for example) want to apply custom patch to some package.
> This patch can do something unusual, that can not be accepted by
> maintainers and I know this. But I like features in my patch and want it
> to apply automatically when updating the package. Not to do it like this:
> $ ebuild /usr/portage/pkg-categoty/some-package/some-package-1.0 unpack
> $ cd /var/tmp/portage/pkg-categoty/some-package/work/...
> $ patch -p1 < ~/my-patch-for-some-package
> $ cd
> $ ebuild /usr/portage/pkg-categoty/some-package/some-package-1.0 merge
>
> It is lot of manual work. The idea is having an file, for example
> /etc/portage/package.patch with contents like this:
> =pkg-category/some-package-1* /path/to/my-patch-for-some-package
>
> Of course, patches could fail in newer versions. But when I'll use that
> feature - I'll understand why it can be and it'll be more convenient to
> maintain it.

You can edit ebuilds to apply whatever patches you want and put them in an
overlay. Usually it's just an epatch line that needs to be added.

--
Raymond Lewis Rebbeck
--
gentoo-dev@gentoo.org mailing list
Re: portage idea - auto embed user patches [ In reply to ]
Alexander Zubkov wrote:
> Hi!
> I have some idea on extending portage building system (ebuild?).
> Sometimes I'm (for example) want to apply custom patch to some package.
> This patch can do something unusual, that can not be accepted by
> maintainers and I know this. But I like features in my patch and want it
> to apply automatically when updating the package. Not to do it like this:
> $ ebuild /usr/portage/pkg-categoty/some-package/some-package-1.0 unpack
> $ cd /var/tmp/portage/pkg-categoty/some-package/work/...
> $ patch -p1 < ~/my-patch-for-some-package
> $ cd
> $ ebuild /usr/portage/pkg-categoty/some-package/some-package-1.0 merge
>
> It is lot of manual work. The idea is having an file, for example
> /etc/portage/package.patch with contents like this:
> =pkg-category/some-package-1* /path/to/my-patch-for-some-package
>
> Of course, patches could fail in newer versions. But when I'll use that
> feature - I'll understand why it can be and it'll be more convenient to
> maintain it.

You can use a bashrc script http://forums.gentoo.org/viewtopic-t-339019.html

--
Timothy `Drizzt` Redaelli - http://drizzt.bsdnet.eu/blog/
FreeSBIE Developer, Gentoo Developer, GUFI Staff
There are two major products that come out of Berkeley: LSD and UNIX.
We don't believe this to be a coincidence. -- Jeremy S. Anderson
Re: portage idea - auto embed user patches [ In reply to ]
>
> You can edit ebuilds to apply whatever patches you want and put them in an
> overlay. Usually it's just an epatch line that needs to be added.
>

I know. But this takes many time too. I want something to work
automatically when package updates.
--
gentoo-dev@gentoo.org mailing list
Re: portage idea - auto embed user patches [ In reply to ]
>
> You can use portage's bashrc to do that kind of autopatching.
>

I have no idea how I can change environment so ebuild will do additional
actions...
May be I can redefine src_unpack function. But package can have its own
src_unpack. If there will be something like system_after_src_unpack,
then I can do it. But I don't know about such.
--
gentoo-dev@gentoo.org mailing list
Re: portage idea - auto embed user patches [ In reply to ]
Alexander Zubkov wrote:
>>You can use portage's bashrc to do that kind of autopatching.
>>
>
>
> I have no idea how I can change environment so ebuild will do additional
> actions...
> May be I can redefine src_unpack function. But package can have its own
> src_unpack. If there will be something like system_after_src_unpack,
> then I can do it. But I don't know about such.

http://dev.gentoo.org/~solar/bashrc

At the bottom of solar's bashrc you will find some lines dealing with
AUTOPATCH, I don't see the bashrc.autopatch in his dev space, but you
can probably request it from him.

-Alec Warner
antarus@gentoo.org
--
gentoo-dev@gentoo.org mailing list
Re: portage idea - auto embed user patches [ In reply to ]
>
> You can use a bashrc script http://forums.gentoo.org/viewtopic-t-339019.html
>

Thanks all. I was misunderstood the place of bashrc. Now I see, that it
is a solution. :)
--
gentoo-dev@gentoo.org mailing list
Re: portage idea - auto embed user patches [ In reply to ]
On Thursday 21 December 2006 15:32, Alexander Zubkov wrote:
> I have some idea on extending portage building system (ebuild?).
> Sometimes I'm (for example) want to apply custom patch to some package.
> This patch can do something unusual, that can not be accepted by
> maintainers and I know this. But I like features in my patch and want it
> to apply automatically when updating the package. Not to do it like this:
> $ ebuild /usr/portage/pkg-categoty/some-package/some-package-1.0 unpack
> $ cd /var/tmp/portage/pkg-categoty/some-package/work/...
> $ patch -p1 < ~/my-patch-for-some-package
> $ cd
> $ ebuild /usr/portage/pkg-categoty/some-package/some-package-1.0 merge
>
> It is lot of manual work. The idea is having an file, for example
> /etc/portage/package.patch with contents like this:
> =pkg-category/some-package-1* /path/to/my-patch-for-some-package
>
> Of course, patches could fail in newer versions. But when I'll use that
> feature - I'll understand why it can be and it'll be more convenient to
> maintain it.

You can also use the post_src_unpack() user hook and the profile.bashrc in the
base profile for this. E.g.:

# mkdir -p /etc/portage/env/$category
# cat << END > /etc/portage/env/$category/$name
post_src_unpack() {
epatch foo.patch
}
END

--
Bo Andresen
Re: Re: portage idea - auto embed user patches [ In reply to ]
Steve Long wrote:
> Alec Warner wrote:
>> http://dev.gentoo.org/~solar/bashrc
>>
>> At the bottom of solar's bashrc you will find some lines dealing with
>> AUTOPATCH, I don't see the bashrc.autopatch in his dev space, but you
>> can probably request it from him.
>>
> Would it be possible to post that to this list? Then we've all got a
> searchable record of the best practise.
>
try http://dev.gentoo.org/~solar/portage_misc
--
gentoo-dev@gentoo.org mailing list
Re: Re: portage idea - auto embed user patches [ In reply to ]
On Thu, 2006-12-21 at 21:47 -0600, Steev Klimaszewski wrote:
> Steve Long wrote:
> > Alec Warner wrote:
> >> http://dev.gentoo.org/~solar/bashrc
> >>
> >> At the bottom of solar's bashrc you will find some lines dealing with
> >> AUTOPATCH, I don't see the bashrc.autopatch in his dev space, but you
> >> can probably request it from him.
> >>
> > Would it be possible to post that to this list? Then we've all got a
> > searchable record of the best practise.
> >
> try http://dev.gentoo.org/~solar/portage_misc

Interesting, but fairly lightweight. Mine handles re-autotooling when
appropriate and marking the autopatch stage as completed:

http://sources.catmur.co.uk/svn/repos/gentoo/phase_hooks.d/post_src_unpack/

--
gentoo-dev@gentoo.org mailing list
Re: portage idea - auto embed user patches [ In reply to ]
Alec Warner wrote:
> http://dev.gentoo.org/~solar/bashrc
>
> At the bottom of solar's bashrc you will find some lines dealing with
> AUTOPATCH, I don't see the bashrc.autopatch in his dev space, but you
> can probably request it from him.
>
Would it be possible to post that to this list? Then we've all got a
searchable record of the best practise.

--
gentoo-dev@gentoo.org mailing list
Re: Re: portage idea - auto embed user patches [ In reply to ]
Edward Catmur wrote:

> On Thu, 2006-12-21 at 21:47 -0600, Steev Klimaszewski wrote:
>> Steve Long wrote:
>> > Alec Warner wrote:
>> >> http://dev.gentoo.org/~solar/bashrc
>> >>
>> >> At the bottom of solar's bashrc you will find some lines dealing with
>> >> AUTOPATCH, I don't see the bashrc.autopatch in his dev space, but you
>> >> can probably request it from him.
>> >>
>> > Would it be possible to post that to this list? Then we've all got a
>> > searchable record of the best practise.
>> >
>> try http://dev.gentoo.org/~solar/portage_misc
>
> Interesting, but fairly lightweight. Mine handles re-autotooling when
> appropriate and marking the autopatch stage as completed:
>
>
http://sources.catmur.co.uk/svn/repos/gentoo/phase_hooks.d/post_src_unpack/
>
I think that should be:
http://sources.catmur.co.uk/viewcvs/svn/gentoo/phase_hooks.d/post_src_unpack/
..looks like interesting stuff (parent dirs as well), although I'm not
looking at it now ;)

--
gentoo-dev@gentoo.org mailing list