Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Jul 1995 02:34:46 -0700
From:      asami@cs.berkeley.edu (Satoshi Asami)
To:        ache@astral.msk.su
Cc:        CVS-commiters@freefall.cdrom.com, cvs-ports@freefall.cdrom.com
Subject:   Re: cvs commit: ports/mail/pgpsendmail Makefile
Message-ID:  <199507170934.CAA09504@silvia.HIP.Berkeley.EDU>
In-Reply-To: <eBmnn1myo7@astral.msk.su> (ache@astral.msk.su)

next in thread | previous in thread | raw e-mail | index | archive | help
 * >Ah, I see.  However, the problem is that the package will contain the
 * >name of the package depended, so there isn't really a way to build a
 * >pgpsendmail package that can use either of the pgp versions....
 * 
 * It CAN be build without PGP, but it is useless without it :-)

No, that's not what I said.  If we build a package of pgpsendmail, it
will have the EXACT name of the pgp package (either American or
non-American) in its dependency list, so we can't build a "generic"
pgpsendmail package.

Well, I guess we can build two packages, the only difference between
them being the dependency list, though....

 * We need to split EXEC_DEPENDS into several categories, at least:

This is a good idea.  We need to stop the emacs package from pulling
in gmake.... ;)

 * RUN_DEPENDS
 * BUILD_DEPENDS
 * EXTRACT_DEPENDS
 * CONFIGURE_DEPENDS
 * INSTALL_DEPENDS
 * 
 * pgpsendmail fits into RUN_DEPENDS only
 * pgp.language fits into RUN_DEPENDS and INSTALL_DEPENDS

What's the difference?  Are things in INSTALL_DEPENDS required during
installation only (if RUN_DEPENDS is not set)?

 * Incoming elm.with_pgp will fits into CONFIGURE_DEPENDS and RUN_DEPENDS
 * All things uses unzip fits into EXTRACT_DEPENDS.
 * All things uses gmake fits into BUILD_DEPENDS, etc.

Why do we need to distinguish between extract, configure and build?
There isn't anything done between those two stages as far as
dependencies are concerned.

Also, I think we are missing FETCH_DEPENDS.  Since we are not sure if
a dependency is required to fetch the tarfile or to build it or run
it, our current bsd.port.mk will build and install the dependency
before doing anything in the original port.  This has caused a lot of
people to complain about "make fetch" building the dependencies a
short while ago.

Also, it will kill the parallelism of the port fetch & building
process when we (ever) get the pmake port working. :)

Anyway, here's my revised proposal:

RUN_DEPENDS
BUILD_DEPENDS
FETCH_DEPENDS

Only RUN_DEPENDS gets pulled into the package.  This BUILD_DEPENDS
includes everything from extract to install in Andrey's original
proposal.

Note that a dependency is built and installed only when you do
something of that stage or later; for instance, "make fetch" will only 
cause FETCH_DEPENDS stuff to be installed, the rest will just be
fetched; "make configure" will cause FETCH_DEPENDS and BUILD_DEPENDS
to be installed, etc.

What do people think?  I'm not sure if this will really work, we'll
need to make sure this is the right thing to do, I don't want to fix
all the Makefiles and then go over them again because we screwed up
the first time around. ;)

Satoshi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199507170934.CAA09504>