From owner-cvs-ports Mon Jul 17 02:39:29 1995 Return-Path: cvs-ports-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id CAA18922 for cvs-ports-outgoing; Mon, 17 Jul 1995 02:39:29 -0700 Received: from silvia.HIP.Berkeley.EDU (silvia.HIP.Berkeley.EDU [136.152.64.181]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id CAA18898 ; Mon, 17 Jul 1995 02:39:08 -0700 Received: (from asami@localhost) by silvia.HIP.Berkeley.EDU (8.6.11/8.6.9) id CAA09504; Mon, 17 Jul 1995 02:34:46 -0700 Date: Mon, 17 Jul 1995 02:34:46 -0700 Message-Id: <199507170934.CAA09504@silvia.HIP.Berkeley.EDU> To: ache@astral.msk.su CC: CVS-commiters@freefall.cdrom.com, cvs-ports@freefall.cdrom.com In-reply-to: (ache@astral.msk.su) Subject: Re: cvs commit: ports/mail/pgpsendmail Makefile From: asami@cs.berkeley.edu (Satoshi Asami) Sender: cvs-ports-owner@freebsd.org Precedence: bulk * >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