Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Merge pull request #389 from baloo/features/split_events
Baptiste Daroussin committed 13 years ago
commit 0fee09969c4083d7b17dc074003463a1e56118a5
parent 70da76b
5 files changed +23 -2
modified libpkg/pkg.h
@@ -1022,6 +1022,7 @@ typedef enum {
	PKG_EVENT_PLUGIN_ERRNO,
	PKG_EVENT_PLUGIN_ERROR,
	PKG_EVENT_PLUGIN_INFO,
+
	PKG_EVENT_NOT_FOUND,
} pkg_event_t;

struct pkg_event {
@@ -1093,6 +1094,9 @@ struct pkg_event {
			struct pkg_plugin *plugin;
			char *msg;
		} e_plugin_error;
+
		struct {
+
			const char *pkg_name;
+
		} e_not_found;
	};
};

modified libpkg/pkg_event.c
@@ -357,3 +357,15 @@ pkg_plugin_info(struct pkg_plugin *p, const char *fmt, ...)
	pkg_emit_event(&ev);
	free(ev.e_plugin_info.msg);
}
+

+
void
+
pkg_emit_package_not_found(const char *p)
+
{
+
	struct pkg_event ev;
+

+
	ev.type = PKG_EVENT_NOT_FOUND;
+
	ev.e_not_found.pkg_name = p;
+

+
	pkg_emit_event(&ev);
+
}
+

modified libpkg/pkgdb.c
@@ -2745,8 +2745,7 @@ pkgdb_query_installs(struct pkgdb *db, match_t match, int nbpkgs, char **pkgs,

		/* report if package was not found in the database */
		if (sqlite3_changes(db->sqlite) == 0)
-
			pkg_emit_error("Package '%s' was not found in "
-
			    "the repositories", pkgs[i]);
+
			pkg_emit_package_not_found(pkgs[i]);
	}

	sqlite3_finalize(stmt);
modified libpkg/private/event.h
@@ -48,5 +48,7 @@ void pkg_emit_nolocaldb(void);
void pkg_emit_file_mismatch(struct pkg *pkg, struct pkg_file *f, const char *newsum);
void pkg_emit_newpkgversion(void);
void pkg_emit_developer_mode(const char *fmt, ...);
+
void pkg_emit_package_not_found(const char *);
+


#endif
modified pkg/event.c
@@ -198,6 +198,10 @@ event_callback(void *data, struct pkg_event *ev)
		    PKG_VERSION, &version);
		printf("%s-%s already installed\n", name, version);
		break;
+
	case PKG_EVENT_NOT_FOUND:
+
		printf("Package '%s' was not found in "
+
		    "the repositories", ev->e_not_found.pkg_name);
+
		break;
	case PKG_EVENT_MISSING_DEP:
		fprintf(stderr, "missing dependency %s-%s",
		    pkg_dep_name(ev->e_missing_dep.dep),