Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Move pkg_create_matches() back to pkg/create.c.
Will Andrews committed 14 years ago
commit 15725d3b2a0f0c9f5e7c493fa5551a06b610dc63
parent fcde051
3 files changed +48 -53
modified libpkg/pkg.h
@@ -491,16 +491,11 @@ int pkg_add(struct pkgdb *db, const char *path, struct pkg **pkg);
typedef enum pkg_formats { TAR, TGZ, TBZ, TXZ } pkg_formats;

/**
-
 * @todo Document
+
 * Create package from an installed & registered package
 */
int pkg_create_installed(const char *, pkg_formats, const char *, struct pkg *);

/**
-
 * Create packages that match
-
 */
-
int pkg_create_matches(int, char **, match_t, pkg_formats, const char *, const char *);
-

-
/**
 * Create package from fakeroot install with a metadata directory
 */
int pkg_create_fakeroot(const char *, pkg_formats, const char *, const char *);
modified libpkg/pkg_create.c
@@ -177,50 +177,3 @@ pkg_create_installed(const char *outdir, pkg_formats format, const char *rootdir

	return packing_finish(pkg_archive);
}
-

-
int
-
pkg_create_matches(int argc, char **argv, match_t match, pkg_formats fmt, const char *outdir, const char *rootdir)
-
{
-
	int i, ret = 0, retcode = 0;
-
	struct pkgdb *db = NULL;
-
	struct pkgdb_it *it = NULL;
-
	struct pkg *pkg = NULL;
-
	int query_flags = PKG_LOAD_DEPS | PKG_LOAD_CONFLICTS | PKG_LOAD_FILES |
-
					  PKG_LOAD_EXECS | PKG_LOAD_SCRIPTS | PKG_LOAD_OPTIONS |
-
					  PKG_LOAD_MTREE;
-

-
	if (pkgdb_open(&db, PKGDB_DEFAULT) != EPKG_OK) {
-
		pkg_error_warn("can not open database");
-
		pkgdb_close(db);
-
		return (-1);
-
	}
-
	pkg_new(&pkg);
-
	for (i = 0;i < argc; i++) {
-
		if ((it = pkgdb_query(db, argv[i], match)) == NULL) {
-
			pkg_error_warn("can not query database");
-
			goto cleanup;
-
		}
-
		while ((ret = pkgdb_it_next(it, &pkg, query_flags)) == EPKG_OK) {
-
			printf("Creating package for %s-%s\n", pkg_get(pkg, PKG_NAME),
-
			    pkg_get(pkg, PKG_VERSION));
-
			if (pkg_create_installed(outdir, fmt, rootdir, pkg) != EPKG_OK) {
-
				pkg_error_warn("can not create package");
-
				retcode++;
-
			}
-
		}
-
	}
-

-
cleanup:
-
	if (ret != EPKG_END) {
-
		pkg_error_warn("can not iterate over results");
-
		retcode++;
-
	}
-

-
	if (pkg != NULL)
-
		pkg_free(pkg);
-
	if (it != NULL)
-
		pkgdb_it_free(it);
-
	if (db != NULL)
-
		pkgdb_close(db);
-
	return retcode;
-
}
modified pkg/create.c
@@ -18,6 +18,53 @@ usage_create(void)
	fprintf(stderr, "For more information see 'pkg help create'.\n");
}

+
static int
+
pkg_create_matches(int argc, char **argv, match_t match, pkg_formats fmt, const char *outdir, const char *rootdir)
+
{
+
	int i, ret = 0, retcode = 0;
+
	struct pkgdb *db = NULL;
+
	struct pkgdb_it *it = NULL;
+
	struct pkg *pkg = NULL;
+
	int query_flags = PKG_LOAD_DEPS | PKG_LOAD_CONFLICTS | PKG_LOAD_FILES |
+
					  PKG_LOAD_EXECS | PKG_LOAD_SCRIPTS | PKG_LOAD_OPTIONS |
+
					  PKG_LOAD_MTREE;
+

+
	if (pkgdb_open(&db, PKGDB_DEFAULT) != EPKG_OK) {
+
		pkg_error_warn("can not open database");
+
		pkgdb_close(db);
+
		return (-1);
+
	}
+
	pkg_new(&pkg);
+
	for (i = 0;i < argc; i++) {
+
		if ((it = pkgdb_query(db, argv[i], match)) == NULL) {
+
			pkg_error_warn("can not query database");
+
			goto cleanup;
+
		}
+
		while ((ret = pkgdb_it_next(it, &pkg, query_flags)) == EPKG_OK) {
+
			printf("Creating package for %s-%s\n", pkg_get(pkg, PKG_NAME),
+
			    pkg_get(pkg, PKG_VERSION));
+
			if (pkg_create_installed(outdir, fmt, rootdir, pkg) != EPKG_OK) {
+
				pkg_error_warn("can not create package");
+
				retcode++;
+
			}
+
		}
+
	}
+

+
cleanup:
+
	if (ret != EPKG_END) {
+
		pkg_error_warn("can not iterate over results");
+
		retcode++;
+
	}
+

+
	if (pkg != NULL)
+
		pkg_free(pkg);
+
	if (it != NULL)
+
		pkgdb_it_free(it);
+
	if (db != NULL)
+
		pkgdb_close(db);
+
	return retcode;
+
}
+

/*
 * options:
 * -x: regex