From owner-freebsd-commit Sun Apr 9 08:06:32 1995 Return-Path: commit-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id IAA23851 for commit-outgoing; Sun, 9 Apr 1995 08:06:32 -0700 Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id IAA23791 for cvs-usrsbin-outgoing; Sun, 9 Apr 1995 08:05:07 -0700 Received: from time.cdrom.com (time.cdrom.com [192.216.223.46]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id IAA23780 ; Sun, 9 Apr 1995 08:05:02 -0700 Received: (from root@localhost) by time.cdrom.com (8.6.11/8.6.9) id IAA23217; Sun, 9 Apr 1995 08:05:02 -0700 Date: Sun, 9 Apr 1995 08:05:02 -0700 From: "Jordan K. Hubbard" Message-Id: <199504091505.IAA23217@time.cdrom.com> To: CVS-commiters@time.cdrom.com, cvs-usrsbin@time.cdrom.com Subject: cvs commit: src/usr.sbin/pkg_install/create create.h main.c perform.c pkg_create.1 Sender: commit-owner@freebsd.org Precedence: bulk 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). 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! 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.