Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Fix more bugs.
Vsevolod Stakhov committed 12 years ago
commit 21722b5a96e9964ae8c1edb2bbf66b5991d75c62
parent b7f3641
4 files changed +11 -5
modified libpkg/pkg.c
@@ -918,6 +918,7 @@ int
pkg_addconflict(struct pkg *pkg, const char *name)
{
	struct pkg_conflict *c = NULL;
+
	const char *origin;

	assert(pkg != NULL);
	assert(name != NULL && name[0] != '\0');
@@ -929,6 +930,8 @@ pkg_addconflict(struct pkg *pkg, const char *name)

	pkg_conflict_new(&c);
	sbuf_set(&c->origin, name);
+
	pkg_get(pkg, PKG_ORIGIN, &origin);
+
	pkg_debug(3, "Pkg: add a new conflict origin: %s, with %s", origin, name);

	HASH_ADD_KEYPTR(hh, pkg->conflicts,
	    __DECONST(char *, pkg_conflict_origin(c)),
modified libpkg/pkg_jobs.c
@@ -588,7 +588,8 @@ get_remote_pkg(struct pkg_jobs *j, const char *pattern, match_t m, bool root)
	const char *buf1, *buf2;
	bool force = false, seen = false;
	int rc = EPKG_FATAL;
-
	unsigned flags = PKG_LOAD_BASIC|PKG_LOAD_OPTIONS|PKG_LOAD_SHLIBS_REQUIRED|PKG_LOAD_ANNOTATIONS;
+
	unsigned flags = PKG_LOAD_BASIC|PKG_LOAD_OPTIONS|
+
			PKG_LOAD_SHLIBS_REQUIRED|PKG_LOAD_ANNOTATIONS|PKG_LOAD_CONFLICTS;

	if (root && (j->flags & PKG_FLAG_FORCE) == PKG_FLAG_FORCE)
		force = true;
@@ -674,7 +675,9 @@ get_local_pkg(struct pkg_jobs *j, const char *origin, unsigned flag)
	struct pkgdb_it *it;

	if (flag == 0) {
-
		flag = PKG_LOAD_BASIC|PKG_LOAD_DEPS|PKG_LOAD_OPTIONS|PKG_LOAD_SHLIBS_REQUIRED|PKG_LOAD_ANNOTATIONS;
+
		flag = PKG_LOAD_BASIC|PKG_LOAD_DEPS|PKG_LOAD_OPTIONS|
+
				PKG_LOAD_SHLIBS_REQUIRED|PKG_LOAD_ANNOTATIONS|
+
				PKG_LOAD_CONFLICTS;
	}

	if ((it = pkgdb_query(j->db, origin, MATCH_EXACT)) == NULL)
modified libpkg/pkgdb.c
@@ -2053,9 +2053,9 @@ pkgdb_load_conflicts(struct pkgdb *db, struct pkg *pkg)
	const char	*reponame = NULL;
	const char	*basesql = ""
			"SELECT packages.origin "
-
			"FROM %Q.conflicts "
+
			"FROM %Q.pkg_conflicts "
			"LEFT JOIN %Q.packages ON "
-
			"packages.id = conflicts.conflict_id"
+
			"packages.id = pkg_conflicts.conflict_id "
			"WHERE package_id = ?1";

	assert(db != NULL && pkg != NULL);
modified libpkg/update.c
@@ -470,7 +470,7 @@ pkg_parse_conflicts_file(FILE *f, sqlite3 *sqlite)
		}
		deps = malloc(sizeof(char *) * ndep);
		for (i = 0; i < ndep; i ++) {
-
			deps[i] = strsep(&p, ",");
+
			deps[i] = strsep(&p, ",\n");
		}
		pkgdb_repo_register_conflicts(origin, deps, ndep, sqlite);
		free(deps);