Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Add a pkg_repo_fetch() (WIP) and cleanup.
jlaffaye committed 14 years ago
commit c2aa7d7a96fc2c7d81fc7cf05f4fdad5dd88fc51
parent 8784e5a
6 files changed +18 -16
modified libpkg/Makefile
@@ -19,6 +19,7 @@ SRCS= pkg.c \
		pkg_manifest.c \
		pkg_option.c \
		pkg_ports.c \
+
		pkg_repo.c \
		pkg_create_repo.c \
		pkg_util.c \
		pkg_version.c \
modified libpkg/pkg.c
@@ -406,8 +406,9 @@ pkg_new(struct pkg **pkg)
		{PKG_MAINTAINER, PKG_FILE|PKG_REMOTE|PKG_INSTALLED|PKG_UPGRADE, 0},
		{PKG_WWW, PKG_FILE|PKG_REMOTE|PKG_INSTALLED|PKG_UPGRADE, 1},
		{PKG_PREFIX, PKG_FILE|PKG_REMOTE|PKG_INSTALLED|PKG_UPGRADE, 0},
+
		{PKG_REPOPATH, PKG_REMOTE|PKG_UPGRADE, 0},
+
		{PKG_CKSUM, PKG_REMOTE|PKG_UPGRADE, 0},
		{PKG_NEWVERSION, PKG_UPGRADE, 0},
-
		{PKG_NEWPATH, PKG_UPGRADE, 0}
	};

	for (int i = 0; i < PKG_NUM_FIELDS; i++) {
modified libpkg/pkg.h
@@ -97,8 +97,9 @@ typedef enum {
	PKG_MAINTAINER,
	PKG_WWW,
	PKG_PREFIX,
+
	PKG_REPOPATH,
+
	PKG_CKSUM,
	PKG_NEWVERSION,
-
	PKG_NEWPATH
} pkg_attr;

/**
@@ -153,9 +154,12 @@ typedef enum {
	EPKG_DEPENDENCY,
} pkg_error_t;

-
#define PKG_LT -1
-
#define PKG_EQ 0
-
#define PKG_GT 1
+
/**
+
 * A function used as a callback by functions which fetch files from the
+
 * network.
+
 */
+
typedef void (*fetch_cb)(void *data, const char *url, off_t total, off_t done,
+
						 time_t elapsed);

/**
 * Allocate a new pkg.
@@ -505,6 +509,8 @@ int pkg_create_fakeroot(const char *, pkg_formats, const char *, const char *);
 */
int pkg_delete(struct pkg *pkg, struct pkgdb *db, int force);

+
int pkg_repo_fetch(struct pkg *pkg, void *data, fetch_cb cb);
+

/**
 * Get the value of a configuration key
 */
@@ -516,13 +522,6 @@ const char * pkg_config(const char *key);
int pkg_version_cmp(const char * const , const char * const);

/**
-
 * A function used as a callback by functions which fetch files from the
-
 * network.
-
 */
-
typedef void (*fetch_cb)(void *data, const char *url, off_t total, off_t done,
-
						 time_t elapsed);
-

-
/**
 * Fetch a file.
 * @return An error code.
 */
modified libpkg/pkg_config.c
@@ -18,6 +18,7 @@ struct _config {
} c[] = {
	{ "PACKAGESITE", NULL, NULL},
	{ "PKG_DBDIR", "/var/db/pkg", NULL},
+
	{ "PKG_CACHEDIR", "/var/lib/pkg", NULL},
	{ NULL, NULL, NULL}
};

modified libpkg/pkg_private.h
@@ -9,7 +9,7 @@

#include "pkg_util.h"

-
#define PKG_NUM_FIELDS 14
+
#define PKG_NUM_FIELDS 15

#define EXTRACT_ARCHIVE_FLAGS  (ARCHIVE_EXTRACT_OWNER |ARCHIVE_EXTRACT_PERM| \
		ARCHIVE_EXTRACT_TIME  |ARCHIVE_EXTRACT_ACL | \
modified libpkg/pkgdb.c
@@ -95,13 +95,13 @@ pkgdb_pkgcmp(sqlite3_context *ctx, int argc, sqlite3_value **argv, int sign)
static void
pkgdb_pkglt(sqlite3_context *ctx, int argc, sqlite3_value **argv)
{
-
	pkgdb_pkgcmp(ctx, argc, argv, PKG_LT);
+
	pkgdb_pkgcmp(ctx, argc, argv, -1);
}

static void
pkgdb_pkggt(sqlite3_context *ctx, int argc, sqlite3_value **argv)
{
-
	pkgdb_pkgcmp(ctx, argc, argv, PKG_GT);
+
	pkgdb_pkgcmp(ctx, argc, argv, 1);
}

/*
@@ -353,7 +353,7 @@ pkgdb_it_next(struct pkgdb_it *it, struct pkg **pkg_p, int flags)
			pkg_set(pkg, PKG_NEWVERSION, sqlite3_column_text(it->stmt, 13));
			pkg_setnewflatsize(pkg, sqlite3_column_int64(it->stmt, 14));
			pkg_setnewpkgsize(pkg, sqlite3_column_int64(it->stmt, 15));
-
			pkg_set(pkg, PKG_NEWPATH, sqlite3_column_text(it->stmt, 16));
+
			pkg_set(pkg, PKG_URL, sqlite3_column_text(it->stmt, 16));
		}

		if (flags & PKG_LOAD_DEPS)