From owner-freebsd-ports Sun Apr 9 22:13:47 1995 Return-Path: ports-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id WAA01136 for ports-outgoing; Sun, 9 Apr 1995 22:13:47 -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 WAA01092 ; Sun, 9 Apr 1995 22:13:40 -0700 Received: (from asami@localhost) by silvia.HIP.Berkeley.EDU (8.6.9/8.6.9) id WAA03064; Sun, 9 Apr 1995 22:13:37 -0700 Date: Sun, 9 Apr 1995 22:13:37 -0700 Message-Id: <199504100513.WAA03064@silvia.HIP.Berkeley.EDU> To: jkh@FreeBSD.org CC: ports@FreeBSD.org In-reply-to: <199504091505.IAA23217@time.cdrom.com> (jkh@freebsd.org) Subject: Re: cvs commit: src/usr.sbin/pkg_install/create create.h main.c perform.c pkg_create.1 From: asami@cs.berkeley.edu (Satoshi Asami | =?ISO-2022-JP?B?GyRCQHUbKEI=?= =?ISO-2022-JP?B?GyRCOCsbKEIgGyRCOC0bKEI=?=) Sender: ports-owner@FreeBSD.org Precedence: bulk (Copied from the commit list; thus quoted in entirety) * Date: Sun, 9 Apr 1995 08:05:02 -0700 * From: "Jordan K. Hubbard" * * jkh 95/04/09 08:05:02 * * Modified: usr.sbin/pkg_install/add add.h main.c perform.c * usr.sbin/pkg_install/create create.h main.c perform.c * pkg_create.1 * Log: * Add true support for dependency lists. * * 1. pkg_create now has a -P argument for specifying dependencies on the * command line. * 2. pkg_add will honor dependencies and chain-load them automatically if * it finds the required package(s) in the same directory as the package * that is being loaded. For best results, install packages from a directory * containing all the packages you'll possibly need * (like /usr/ports/packages/all). This looks great. Thanks! * 2 remaining flaws: * * 1. pkg_add looks in one place (where you were when you loaded the primary * pkg) for depended packages. If you can come up with a search path scheme * that's not a total hack - be my guest! What about "." and "/usr/ports/packages/all"? Or maybe "../all" too. That should be pretty much all we can guess, I think. * 2. Recursive dependency expansion can result in the name of a dep being * listed more than once. This doesn't bother pkg_add since it checks * for package existance with pkg_info and will skip already-loaded packages. * I don't know how/if pkg_delete handles this yet, however. I need to look * into it. You mean you want to change pkg_delete to do recursive deletes? I'm not so sure about that. Some users will be mighty upset if she says pkg_delete piewm-1.0 and she loses her libXpm.... ;) By the way, I see that pkg_add automatically traces the chain of dependencies (simply because, well, it calls pkg_add recursively ;). However, your modification to bsd.port.mk also recersively checks the dependencies when it generates the list of package names it gives to pkg_create. Can't we let only pkg_add worry about it, and take out the recursive part from bsd.port.mk? Satoshi