Hi Alan,
On Tue, 2006-06-20 at 13:55 -0700, Alan Coopersmith wrote:
> Laszlo (Laca) Peter wrote:
> > Which leads us to the packaging bits: prototype_com, prototype_sparc,
> > prototype_i386: these could really be generated. It's really easy to
> > make mistakes when writing these manually.
>
> It's also really easy for build problems to cause files not to be built,
> and then autogenerated package maps would simply be missing files. The
> autogeneration of packaging info has always seemed to me to be one of the
> worst misfeatures of the JDS build system, and I'm sure you remember even
> more bugs than I do of files simply disappearing or reappearing in builds
> because of it.
I do remember, but it was actually with the previous GNOME build
scripts we used for Solaris 8 and 9. I'm the first to admin that those
scripts had some serious issues. I don't think we had issues like that
since.
That said, it's possible that files do not get build due to build
issues, so it's a good idea to combine automatically generated
pkgmaps with reports that find the differences.
But setting up the proto area manually and using static prototypes
is definitely redundant.
> (The whole "install packages being built on the running system" is the other
> big thing that scares me in the JDS builds
What's so scarey about it?
It helps us avoid using various tricks for getting configure to find
the dependent libs in the proto area (and not on the running system)
but not including the paths to the proto area.[1]
> - it ranks up there with the old
> "run builds as root" that ON does and which I never understood either, but I
> suppose I was spoiled by the X & CDE builds which have always cleanly built
> to a proto area and packaged without ever having to run as root or install
> anything on the build machine. It's nice to have a build machine we can
> all share, all build on at the same time, and not have to give out root on
> or worry about someone accidentally doing something that will break others.)
It is nice. We do most of our builds in chroot environments where only
a minimal set of pkgs is installed. This way we can share the same
machine for multiple builds without breaking each other and also contain
the issue of configure picking up dependencies we don't know about.
Laca
[1] yes, de do have to use those tricks when we combine several
components in one pkg, for example SUNWgnome-base-libs.