Re: binpatch, was: moving kernels...

2007-01-08 Thread Gerardo Santana Gómez Garrido

If anybody is interested, a mailing list has been opened to follow the
discussion on and contributions to binpatch:

https://lists.sourceforge.net/lists/listinfo/openbsdbinpatch-misc

--
Gerardo Santana



Re: binpatch, was: moving kernels...

2007-01-06 Thread Tobias Weisserth
Hi there,

On Saturday, 6. January 2007 17:24, Ingo Schwarze wrote:
...
 So if you use it, you will probably need to do maintenance work
 yourself, first of all adapting it to OpenBSD 4.0.

Have a look here:

http://erdelynet.com/binpatch/

Mike has a Makefile for 4.0 stable that I'm using too. It's a good thing to 
start with and add whatever you need on top of it.

kind regards,
Tobias W.



Re: binpatch, was: moving kernels...

2007-01-06 Thread Gerardo Santana Gómez Garrido

2007/1/6, Ingo Schwarze [EMAIL PROTECTED]:

Marcos Laufer wrote on Sat, Jan 06, 2007 at 11:03:10AM -0300:
 From: Tasmanian Devil [EMAIL PROTECTED]

 http://openbsdbinpatch.sourceforge.net/ :-)

 Wow, that openbsdbinpatch looks pretty good! I 've just downloaded it
 and the idea of making binary patches in order to easily copy them to
 other similar machines is excellent.

Indeed it is a simple and powerful idea, and the code is not too
difficult to understand.  It worked for me when i used it.

Yet, be careful.  Binpatch is *definitely* unsupported by the
OpenBSD project.  The standard way to do the task is release(8).
What is more, Binpatch is essentially unsupported by its author,
too.  Neither Gerardo nor me take the time to update it regularly,
nowadays.

More than a year ago, i checked and edited the Makefile, made it
easier to understand, easier to maintain, shorter and more robust.
Several of my suggestions were incorporated by Gerardo into the
Sourceforge 1.0.0 release, but not all - mostly because i sent those
changes in more than one batch, and he found no time to process
the last of these batches.  I did not pursue the subject rigourously
enough to get commit access to the SF repository myself.

So if you use it, you will probably need to do maintenance work
yourself, first of all adapting it to OpenBSD 4.0.

 It would be great if openbsdbinpatch could be configured like
 TEPATCHE specifying the folder where to get the patches from,
 instead of specifiyng patch by patch in the Makefile, so it
 could be used to patch any OpenBSD version, not just the last
 one.
 Perhaps someone with some programming skills could do it.

Maybe i shall come back to the project, maybe not.
Currently, it is not near the top of my priority list.




Hello there,

First of all, thanks for the kind words.

Let me clarify some things:

binpatch is mainly bsd.binpatch.mk. That's all.
There's an 'include' target that I haven't yet implemented but which
is trivial to do. Some people have already sent me a patch for it.

Makefile is supposed to be maintained by you, adding new patches as
they are announced.

Some time ago I suggested to use a kind of XML feed for errata such
that it would be easy to retrieve it and generate/modify a Makefile
from it. It was almost ignored back then.

What do you think now?

We can always parse errata.html (I think that's what tepatche does)
but it is not ellegant nor we can trust that it will always work.
Developers are not precisely HTML gurus and  are not so correctness
driven coding HTML than they are coding C.

--
Gerardo Santana
http://santanatechnotes.blogspot.com/



Re: binpatch, was: moving kernels...

2007-01-06 Thread Antoine Jacoutot

On Sat, 6 Jan 2007, Tobias Weisserth wrote:

So if you use it, you will probably need to do maintenance work
yourself, first of all adapting it to OpenBSD 4.0.


Or you can make your own patches very easily too without any addons.
After patching your sources, you could:

# FAKEROOT=/usr/obj/patches
# rm -rf ${FAKEROOT}  mkdir ${FAKEROOT}
# mtree -qdef /etc/mtree/4.4BSD.dist -p ${FAKEROOT}/ -u
# touch ${FAKEROOT}/timestamp

Then follow patch directions but add env DESTDIR=${FAKEROOT} at the 
begining of the line that has the install command.

Finish with:

# cd ${FAKEROOT}
# find . \! -name plist -newer timestamp -type f  plist
# cat plist | xargs tar czpf ${FAKEROOT}/XXX_foo.patch-release-arch.tar.gz

Then you can apply the patch using:
# tar xzpf XXX_foo.patch-release-arch.tar.gz -C /

Of course, this is just an exemple, they are many ways to make your own 
binpatches.


Cheers!

--
Antoine