diff --git a/bin/Makefile b/bin/Makefile index 2d451be7..835b75ac 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -6,6 +6,7 @@ SUBDIRS += xbps-digest SUBDIRS += xbps-fetch SUBDIRS += xbps-pkgdb SUBDIRS += xbps-repo +SUBDIRS += xbps-fetch .PHONY: all all: diff --git a/bin/xbps-fetch/main.c b/bin/xbps-fetch/main.c index 7daeabcd..c6995a06 100644 --- a/bin/xbps-fetch/main.c +++ b/bin/xbps-fetch/main.c @@ -5,10 +5,18 @@ int main(int argc, char **argv) { + int rv = 0; + if (argc != 2) { printf("Usage: xbps-fetch [options] URL\n"); exit(EXIT_FAILURE); } - return xbps_fetch_file(argv[1], "."); + rv = xbps_fetch_file(argv[1], "."); + if (rv != 0) { + printf("xbps-fetch: couldn't download %s!\n", argv[1]); + printf("xbps-fetch: %s\n", xbps_fetch_error_string()); + exit(EXIT_FAILURE); + } + exit(EXIT_SUCCESS); } diff --git a/include/xbps_api.h b/include/xbps_api.h index 7e22f74f..9e071dea 100644 --- a/include/xbps_api.h +++ b/include/xbps_api.h @@ -86,6 +86,7 @@ int SYMEXPORT xbps_fetch_file(const char *, const char *); void SYMEXPORT (*xbps_fetch_start_cb)(const char *, off_t *, off_t *); void SYMEXPORT (*xbps_fetch_update_cb)(off_t *); void SYMEXPORT (*xbps_fetch_end_cb)(void); +const char SYMEXPORT *xbps_fetch_error_string(void); /* From lib/fexec.c */ int SYMEXPORT xbps_file_exec(const char *, ...); diff --git a/lib/download.c b/lib/download.c index 87910fef..b0cc7143 100644 --- a/lib/download.c +++ b/lib/download.c @@ -164,6 +164,12 @@ stat_end(struct xferstat *xsp) xsp->name, size, stat_bps(xsp)); } +const char SYMEXPORT * +xbps_fetch_error_string(void) +{ + return fetchLastErrString; +} + int SYMEXPORT xbps_fetch_file(const char *uri, const char *outputdir) { diff --git a/prog.mk b/prog.mk index 62fa5d88..0aa8e5ab 100644 --- a/prog.mk +++ b/prog.mk @@ -22,10 +22,12 @@ clean: .PHONY: install install: $(BIN) $(BIN_STATIC) $(MAN) install -d $(SBINDIR) - install -d $(MANDIR) install $(INSTALL_STRIPPED) -m 755 $(BIN) $(SBINDIR) install $(INSTALL_STRIPPED) -m 755 $(BIN_STATIC) $(SBINDIR) +ifdef MAN + install -d $(MANDIR) install -m 644 $(MAN) $(MANDIR) +endif .PHONY: uninstall uninstall: