UNIX admin <[EMAIL PROTECTED]> wrote:
> > I did already write a rule file that allows the
> > schily makefilesystem to create
> > Blastwave packages with no user intervention.
> > Yesterday, I did even do this
> > simultaneously on sparc and on x86 on a NFS mounted
> > directory.
> >
> > The code will be published soon...
>
> It will be interesting to see how you solved this problem. Is this between
> Solaris platform revisions only, or did you solve it for all UNIX platforms,
> HP-UX and IRIX included?
The schily makefilesystem supports simultaneous builds on the same file tree
(e.g. NFS mounted) on different plaforms since ~ 1994.
This is done by using platform dependend subdirectories for _all_ program
output (e.g. compilation results).
After the compilation has been done for the whole source, the results are
installed in a prototype directory, $(SRCROOT)/$(PROTODIR) which may be
e.g. ..../proto/i386-sunos5-cc
The final step for creating the packages is simple:
There is a directory with package definitions: .../pkgdesf/CSW/CSW*/
where * expande to the names of the packets. This is scanned by a sub-directory
loop make rule. Every packget includes a simple Makefile:
#ident %W% %E% %Q%
###########################################################################
# Sample makefile for creating SVr4 packages
###########################################################################
SRCROOT= ../../..
RULESDIR= RULES
include $(SRCROOT)/$(RULESDIR)/rules.top
###########################################################################
include $(SRCROOT)/$(RULESDIR)/rules.csw
###########################################################################
include $(SRCROOT)/$(RULESDIR)/rules.pkg
###########################################################################
and rules.csw includes the rules for creating the packages:
PKG :sh= sed -n 's/^PKG=//p' pkginfo
VERSION :sh= sed -n 's/^VERSION=\([^,]*\).*/\1/p' pkginfo
NAME :sh= sed -n 's/^NAME=//p' pkginfo|awk '{print $1}'
OS_NAME :sh= uname -s
DATE :sh= date '+REV=%Y.%m.%d'
VENDOR= -CSW
PROTOTYPE= prototype
$(SRCROOT)/packages/$(OARCH):
$(MKDIR) -p $@
all: $(SRCROOT)/packages/$(OARCH)
pkgmk -o -b `pwd`/$(SRCROOT)/$(PROTODIR)/$(INS_BASE) -d
$(SRCROOT)/packages/$(OARCH) -a $(P_ARCH) \
-v $(VERSION),$(DATE) -f $(PROTOTYPE)
BASEDIR=$(INS_BASE)
pkgtrans -s $(SRCROOT)/packages/$(OARCH) \
$(NAME)-$(VERSION),$(DATE)-$(OS_NAME)$(OSREL)-$(P_ARCH)$(VENDOR).pkg $(PKG)
gzip -9f
$(SRCROOT)/packages/$(OARCH)/$(NAME)-$(VERSION),$(DATE)-$(OS_NAME)$(OSREL)-$(P_ARCH)$(VENDOR).pkg
Jörg
--
EMail:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin
[EMAIL PROTECTED] (uni)
[EMAIL PROTECTED] (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
_______________________________________________
opensolaris-discuss mailing list
[email protected]