summaryrefslogtreecommitdiffstats
path: root/usr.sbin/portsnap
diff options
context:
space:
mode:
authorcperciva <cperciva@FreeBSD.org>2005-12-01 22:14:44 +0000
committercperciva <cperciva@FreeBSD.org>2005-12-01 22:14:44 +0000
commit19caa85abd7ab0c5b022194ea1bbab797b06c56b (patch)
tree658c48dfc4b75b80ae65f64d5e65d09e7baacdea /usr.sbin/portsnap
parent4677f917653ea48ead6377ce8e2ca525e9d365f9 (diff)
downloadFreeBSD-src-19caa85abd7ab0c5b022194ea1bbab797b06c56b.zip
FreeBSD-src-19caa85abd7ab0c5b022194ea1bbab797b06c56b.tar.gz
Make "missing dependency" errors more useful by indicating which port
is trying to depend upon the non-existent port. Suggested by: kris MFC after: 3 days
Diffstat (limited to 'usr.sbin/portsnap')
-rw-r--r--usr.sbin/portsnap/make_index/make_index.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/usr.sbin/portsnap/make_index/make_index.c b/usr.sbin/portsnap/make_index/make_index.c
index 410b5b7..c15ce10 100644
--- a/usr.sbin/portsnap/make_index/make_index.c
+++ b/usr.sbin/portsnap/make_index/make_index.c
@@ -67,7 +67,7 @@ static DEP * makelist(char * str, size_t * n);
static PORT * portify(char * line);
static int portcompare(char * a, char * b);
static void heapifyports(PORT **pp, size_t size, size_t pos);
-static PORT * findport(PORT ** pp, size_t st, size_t en, char * name);
+static PORT * findport(PORT ** pp, size_t st, size_t en, char * name, char * from);
static void translateport(PORT ** pp, size_t pplen, PORT * p);
static DEP * recurse_one(DEP * d, size_t * nd);
static void recurse(PORT * p);
@@ -232,13 +232,13 @@ top:
/* Translate a port directory name into a (PORT *), and free the name */
static PORT *
-findport(PORT ** pp, size_t st, size_t en, char * name)
+findport(PORT ** pp, size_t st, size_t en, char * name, char * from)
{
size_t mid;
int r;
if (st == en)
- errx(1, "Unresolved dependency: %s", name);
+ errx(1, "%s: no entry for %s", from, name);
mid = (st + en) / 2;
r = portcompare(pp[mid]->portdir, name);
@@ -247,9 +247,9 @@ findport(PORT ** pp, size_t st, size_t en, char * name)
free(name);
return pp[mid];
} else if (r < 0)
- return findport(pp, mid + 1, en, name);
+ return findport(pp, mid + 1, en, name, from);
else
- return findport(pp, st, mid, name);
+ return findport(pp, st, mid, name, from);
}
/* Translate all depends from names into PORT *s */
@@ -259,15 +259,15 @@ translateport(PORT ** pp, size_t pplen, PORT * p)
size_t i;
for (i = 0; i < p->n_edep; i++)
- p->edep[i].p = findport(pp, 0, pplen, p->edep[i].name);
+ p->edep[i].p = findport(pp, 0, pplen, p->edep[i].name, p->portdir);
for (i = 0; i < p->n_pdep; i++)
- p->pdep[i].p = findport(pp, 0, pplen, p->pdep[i].name);
+ p->pdep[i].p = findport(pp, 0, pplen, p->pdep[i].name, p->portdir);
for (i = 0; i < p->n_fdep; i++)
- p->fdep[i].p = findport(pp, 0, pplen, p->fdep[i].name);
+ p->fdep[i].p = findport(pp, 0, pplen, p->fdep[i].name, p->portdir);
for (i = 0; i < p->n_bdep; i++)
- p->bdep[i].p = findport(pp, 0, pplen, p->bdep[i].name);
+ p->bdep[i].p = findport(pp, 0, pplen, p->bdep[i].name, p->portdir);
for (i = 0; i < p->n_rdep; i++)
- p->rdep[i].p = findport(pp, 0, pplen, p->rdep[i].name);
+ p->rdep[i].p = findport(pp, 0, pplen, p->rdep[i].name, p->portdir);
}
/* Recurse on one specific depends list */
OpenPOWER on IntegriCloud