Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Introduce PKG_EVENT_INCREMENTAL_UPDATE_BEGIN and emit it before starting the update.
Gleb Popov committed 2 years ago
commit d187ac0d8c09ffc86047f2bbf1cbab719b0064b1
parent a6530ba
4 files changed +16 -1
modified libpkg/pkg.h.in
@@ -1266,7 +1266,8 @@ typedef enum {
	PKG_EVENT_NEWPKGVERSION,
	PKG_EVENT_NOTICE,
	PKG_EVENT_DEBUG,
-
	PKG_EVENT_INCREMENTAL_UPDATE,
+
	PKG_EVENT_INCREMENTAL_UPDATE_BEGIN,
+
	PKG_EVENT_INCREMENTAL_UPDATE, // _FINISHED
	PKG_EVENT_QUERY_YESNO,
	PKG_EVENT_QUERY_SELECT,
	PKG_EVENT_SANDBOX_CALL,
modified libpkg/pkg_event.c
@@ -874,6 +874,18 @@ pkg_emit_package_not_found(const char *p)
}

void
+
pkg_emit_incremental_update_begin(const char *reponame)
+
{
+
	struct pkg_event ev;
+

+
	ev.type = PKG_EVENT_INCREMENTAL_UPDATE_BEGIN;
+
	ev.e_incremental_update.reponame = reponame;
+
	ev.e_incremental_update.processed = 0;
+

+
	pkg_emit_event(&ev);
+
}
+

+
void
pkg_emit_incremental_update(const char *reponame, int processed)
{
	struct pkg_event ev;
modified libpkg/private/event.h
@@ -73,6 +73,7 @@ void pkg_emit_file_mismatch(struct pkg *pkg, struct pkg_file *f, const char *new
void pkg_emit_newpkgversion(void);
void pkg_emit_developer_mode(const char *fmt, ...) PKG_FORMAT_ATTRIBUTE(1, 2);
void pkg_emit_package_not_found(const char *);
+
void pkg_emit_incremental_update_begin(const char *reponame);
void pkg_emit_incremental_update(const char *reponame, int processed);
void pkg_emit_backup(void);
void pkg_emit_restore(void);
modified libpkg/repo/binary/update.c
@@ -511,6 +511,7 @@ pkg_repo_binary_update_proceed(const char *name, struct pkg_repo *repo,

	pkg_debug(1, "Pkgrepo, reading new packagesite.yaml for '%s'", name);

+
	pkg_emit_incremental_update_begin(repo->name);
	pkg_emit_progress_start("Processing entries");

	/* 200MB should be enough */