Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Feb 2000 23:30:42 -0600
From:      Conrad Sabatier <conrads@home.com>
To:        Gawel <gawel@sim.com.pl>
Cc:        "freebsd-stable@FreeBSD.ORG" <freebsd-stable@FreeBSD.ORG>
Subject:   Re: make fetch + dependencies
Message-ID:  <20000228233042.C659@home.com>
In-Reply-To: <38BA81C7.E7FA0940@sim.com.pl>; from gawel@sim.com.pl on Mon, Feb 28, 2000 at 03:10:15PM %2B0100
References:  <38BA81C7.E7FA0940@sim.com.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Feb 28, 2000 at 03:10:15PM +0100, Gawel wrote:
> Hello,
> How to make fetch a single port with all dependencies?
> (only download a port and and all dependencies ports)
> Thanks.

There are a couple of targets defined in /usr/ports/Mk/bsd.port.mk that
you could use to do this:

make build-depends-list
make run-depends-list

Each of these prints a list of the full pathnames to each of the ports
your main port depends on, one per line.

You could write a script that would call itself recursively for each
listed pathname, fetching all the requisite packages.  For example,
say you name your script "fetch-all".  You cd to the directory of the port 
you wish to build and run "fetch-all", which does something like the
following:

-----------snip------------
#!/bin/sh

# Fetch the main package

make fetch

# Fetch all dependencies

for d in `make build-depends-list run-depends-list`
do
	cd $d && fetch-all
done
-----------snip------------

This is, of course, a very simplistic version of such a script, in that it
would most likely do a lot of unnecessary fetching of packages for ports
that are already installed.  But just to give you an idea of how it might
be done.

Hope this helps.

By the way, why did you choose the stable list to ask this question in?

-- 
Conrad Sabatier
http://members.home.net/conrads/
ICQ# 1147270


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




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