diff options
author | cperciva <cperciva@FreeBSD.org> | 2005-12-01 22:14:44 +0000 |
---|---|---|
committer | cperciva <cperciva@FreeBSD.org> | 2005-12-01 22:14:44 +0000 |
commit | 19caa85abd7ab0c5b022194ea1bbab797b06c56b (patch) | |
tree | 658c48dfc4b75b80ae65f64d5e65d09e7baacdea /usr.sbin/portsnap | |
parent | 4677f917653ea48ead6377ce8e2ca525e9d365f9 (diff) | |
download | FreeBSD-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.c | 20 |
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 */ |