Subject: self bootstrapping packages?
To: None <tech-pkg@netbsd.org>
From: Jon Buller <jon@Bullers.Net>
List: tech-pkg
Date: 11/11/2007 17:37:57
A rather long time ago someone ported SBCL to NetBSD. I wanted to play
with a Common Lisp compiler, so I made a package out of it.
The only trouble was that SBCL needs a Common Lisp system to build
itself. I built it by taking the SBCL binary and dropping it in
/usr/local to bootstrap the package. CLisp also works at times, but is
not trustworthy. The SBCL people are not totally sure if it's their
code or the CLisp code causing the problems, and the only known test
case takes tens of minutes to build/run, being the SBCL system itself.
To eliminate this difficulty (and close PR#36885 properly and more
permanently) without figuring out how to fix the SBCL/CLisp interaction,
I was wondering if it would be possible to add a make variable saying
delete this package after it builds but before it installs. Could I
simply have a pre-install target that does a pkg_delete of the current
package?
That sounds really evil, but it's about as simple a way as I can think
to do it. With something like that, I could use the previous SBCL
package to build the new one, delete the previous version, and finally
install and package the new one. It appears that lang/gcc-ada might
benefit from something like this as well.
However, I don't have the set up to do bulk builds, and I'm be a little
nervous about committing this kind of change and breaking things in some
odd way. Any hints, pointers, thoughts, or advice would be appreciated...
Jon