diff options
-rw-r--r-- | src/apk_defines.h | 2 | ||||
-rw-r--r-- | src/print.c | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/src/apk_defines.h b/src/apk_defines.h index d27bad4..6bf4624 100644 --- a/src/apk_defines.h +++ b/src/apk_defines.h @@ -32,6 +32,8 @@ #define NULL 0L #endif +#define EAPKSTALEINDEX 1024 + static inline void *ERR_PTR(long error) { return (void*) error; } static inline void *ERR_CAST(const void *ptr) { return (void*) ptr; } static inline int PTR_ERR(const void *ptr) { return (int)(long) ptr; } diff --git a/src/print.c b/src/print.c index d8b0f3f..e0681ee 100644 --- a/src/print.c +++ b/src/print.c @@ -133,7 +133,25 @@ const char *apk_error_str(int error) case ENOMSG: return "archive does not contain expected data"; case ENOPKG: - return "package not available"; + return "could not find a repo which provides this package (check repositories file and run 'apk update')"; + case ECONNABORTED: + return "network connection aborted"; + case ECONNREFUSED: + return "could not connect to server (check repositories file)"; + case ENETUNREACH: + return "network error (check Internet connection and firewall)"; + case ENXIO: + return "DNS lookup error"; + case EREMOTEIO: + return "error code returned by repo server (try 'apk update')"; + case ETIMEDOUT: + return "operation timed out"; + case EAGAIN: + return "temporary error (try again later)"; + case EINVAL: + return "invalid URL (check your repositories file)"; + case EAPKSTALEINDEX: + return "file not available from repo server (try 'apk update')"; default: return strerror(error); } |