PERFORCE change 167271 for review
David Forsythe
dforsyth at FreeBSD.org
Thu Aug 13 08:02:53 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=167271
Change 167271 by dforsyth at squirrel on 2009/08/13 08:01:53
Clean up build.
Affected files ...
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#44 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#39 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_conflict.c#7 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db.c#11 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb.c#9 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb_read.c#5 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb_write.c#2 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb_write.h#2 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_depend.c#6 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_manifest.c#5 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_manifest.h#5 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_manifest_plist.c#6 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.c#17 edit
.. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.h#14 edit
.. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#30 edit
Differences ...
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#44 (text+ko) ====
@@ -14,9 +14,13 @@
#include "pkg_private.h"
#include "pkg.h"
+/* TODO: Access functions are pretty, but they're a waste. Start eliminating them. */
+
void pkg_check_magic(struct pkg *p, const char *where);
static int pkg_read_pkg_element_from_db(struct pkg *p, int element);
+#if 0
static int pkg_write_pkg_element_to_db(struct pkg *p, int element);
+#endif
static int pkg_parse_manifest(struct pkg *p);
void
@@ -284,15 +288,6 @@
return (pkg_util_strdup(mtree_dirs, &p->mtree_dirs));
}
-/* Set the required_by text for this file. */
-
-int
-pkg_set_required_by(struct pkg *p, const char *required_by)
-{
- pkg_check_magic(p, __func__);
- return (pkg_util_strdup(required_by, &p->required_by));
-}
-
int
pkg_clone(struct pkg *src, struct pkg *dest)
{
@@ -407,7 +402,8 @@
pkg_check_magic(p, __func__);
if ((pf = pkg_manifest_select_file(p->pm, path)) == NULL)
return (-1);
- return (pkg_file_ignored(pf));
+ pkg_manifest_remove_file(p->pm, path);
+ return(0);
}
int
@@ -416,8 +412,8 @@
struct pkg_file *pf;
pkg_check_magic(p, __func__);
if ((pf = pkg_manifest_select_file(p->pm, path)) == NULL)
- return (NULL);
- return ((const char *)pkg_file_ignored(pf));
+ return (-1);
+ return (pkg_file_ignored(pf));
}
const char *
@@ -476,14 +472,16 @@
{
pkg_check_magic(p, __func__);
pkg_parse_manifest(p);
- return (pkg_manifest_add_depend(name, origin, version));
+ return (pkg_manifest_add_depend(p->pm, name, origin, version));
}
+#if 0
int
pkg_remove_pkg_depend(struct pkg *p, const char *name)
{
return (0);
}
+#endif
const char *
pkg_pkg_depend_origin(struct pkg *p, const char *name)
@@ -530,6 +528,7 @@
return (pkg_manifest_complete(p->pm));
}
+#if 0
/* Wrap _write_pkg_element. */
static int
@@ -537,6 +536,7 @@
{
return (pkg_db_write_pkg_element(p->in_db, p, element));
}
+#endif
/* Wrap _read_pkg_element. */
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#39 (text+ko) ====
@@ -46,7 +46,6 @@
/* tmp */
int pkg_set_mtree_dirs(struct pkg *p, const char *mtree_dirs);
-int pkg_set_required_by(struct pkg *p, const char *required_by);
int pkg_clone(struct pkg *src, struct pkg *dest);
int pkg_force_parse_manifest(struct pkg *p);
@@ -59,6 +58,7 @@
const char *const *pkg_execs(struct pkg *p);
const char *const *pkg_unexecs(struct pkg *p);
+
int pkg_add_pkg_file(struct pkg *p, const char *path, const char *cwd,
const char *group, const char *md5, const char *mode,
const char *owner);
@@ -87,6 +87,7 @@
int pkg_preserve(struct pkg *p);
int pkg_complete(struct pkg *p);
+int pkg_add_required_by(struct pkg *p, const char *required_by);
const char *const *pkg_required_by(struct pkg *p);
/* pkg_db */
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_conflict.c#7 (text+ko) ====
@@ -6,7 +6,7 @@
#include "pkg_util.h"
#include "pkg_conflict.h"
-#define PKG_CONFLICT_MAGIC 0x98760000
+#define PKG_CONFLICT_MAGIC 0x08760000
static void pkg_conflict_check_magic(struct pkg_conflict *pc, const char *where);
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db.c#11 (text+ko) ====
@@ -50,8 +50,6 @@
int
pkg_db_open(struct pkg_db *db, const char *db_root, int db_type)
{
- int status;
-
if (db->open)
return (PKG_OK);
@@ -124,15 +122,7 @@
return (p);
}
-int
-pkg_db_insert_pkg(struct pkg_db *db, struct pkg *p)
-{
- pkg_db_check_magic(db, __func__);
- /* do work. */
- return (PKG_OK);
-}
-
/* Copy a package into a database. */
int
@@ -141,6 +131,7 @@
int status;
char **list;
struct pkg *entries;
+
if (db->pkg_count % 10 == 0) {
entries = db->pkg_entries;
list = db->pkg_list;
@@ -154,7 +145,9 @@
__pkg_init(&db->pkg_entries[db->pkg_count]);
status = pkg_clone(p, &db->pkg_entries[db->pkg_count]);
- db->pkg_list[db->pkg_count] = pkg_ident(&db->pkg_entries[db->pkg_count]);
+ /* reuse entries. */
+ entries = &db->pkg_entries[db->pkg_count];
+ db->pkg_list[db->pkg_count] = entries->ident;
__pkg_set_in_db_ptr(&db->pkg_entries[db->pkg_count], db);
db->pkg_count++;
db->pkg_list[db->pkg_count] = NULL;
@@ -185,8 +178,10 @@
return (db->db_root);
}
+#if 0
int
pkg_db_write_pkg_element(struct pkg_db *db, struct pkg *p, int element)
{
return (0);
}
+#endif
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb.c#9 (text+ko) ====
@@ -79,7 +79,6 @@
pkg_db_hierdb_file_exists(struct pkg_db *db, struct pkg *p, const char *filename)
{
int status;
- struct stat sb;
char *dir;
char *path;
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb_read.c#5 (text+ko) ====
@@ -1,6 +1,7 @@
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <sys/stat.h>
#include <unistd.h>
#include <limits.h>
@@ -214,6 +215,8 @@
return (PKG_OK);
}
+/* XXX: For the love of all things organic rewrite this and macro the goddamn list
+ * append. */
static int
pkg_db_hierdb_read_required_by_to_pkg(struct pkg_db *db, struct pkg *p)
{
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb_write.c#2 (text+ko) ====
@@ -1,8 +1,10 @@
#include <stdio.h>
#include <stdlib.h>
+#if 0
int
pkg_db_hierdb_write_pkg_element(struct pkg_db *db, struct pkg *p, int element)
{
return (0);
}
+#endif
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_db_hierdb_write.h#2 (text+ko) ====
@@ -1,6 +1,8 @@
#ifndef __PKG_DB_HIERDB_WRITE_H__
#define __PKG_DB_HIERDB_WRITE_H__
+#include "pkg.h"
+
int pkg_db_hierdb_write_pkg_element(struct pkg_db *db, struct pkg *p, int element);
#endif
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_depend.c#6 (text+ko) ====
@@ -70,6 +70,13 @@
return (pkg_util_strdup(origin, &pd->origin));
}
+int
+pkg_depend_set_version(struct pkg_depend *pd, const char *version)
+{
+ pkg_depend_check_magic(pd, __func__);
+ return (pkg_util_strdup(version, &pd->version));
+}
+
const char *
pkg_depend_name(struct pkg_depend *pd)
{
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_manifest.c#5 (text+ko) ====
@@ -255,15 +255,15 @@
status |= pkg_conflict_set_name(pc, name);
status |= pkg_conflict_set_version(pc, version);
- pm->conflict_list[pm->conflict_count++] = pkg_conflict_name(pc);
+ pm->conflict_list[pm->conflict_count++] = pc->name;
pm->conflict_list[pm->conflict_count] = NULL;
return (status);
}
int
-pkg_manifest_add_depend(struct pkg_manifest *pm, const char *name,
- const char *origin)
+pkg_manifest_add_depend(struct pkg_manifest *pm, const char *name,
+ const char *version, const char *origin)
{
int status;
char **list;
@@ -293,8 +293,9 @@
pkg_depend_init(pd);
status |= pkg_depend_set_name(pd, name);
status |= pkg_depend_set_origin(pd, origin);
+ status |= pkg_depend_set_version(pd, version);
- pm->depend_list[pm->depend_count++] = pkg_depend_name(pd);
+ pm->depend_list[pm->depend_count++] = pd->name;
pm->depend_list[pm->depend_count] = NULL;
return (status);
@@ -340,7 +341,7 @@
status |= pkg_file_set_owner(pf, owner);
status |= pkg_file_set_group(pf, group);
- pm->file_list[pm->file_count++] = pkg_file_path(pf);
+ pm->file_list[pm->file_count++] = pf->path;
pm->file_list[pm->file_count] = NULL;
return (status);
@@ -431,6 +432,8 @@
pkg_manifest_remove_conflict(struct pkg_manifest *pm, const char *name)
{
pkg_manifest_check_magic(pm, __func__);
+ if (name == NULL)
+ return;
return;
}
@@ -438,6 +441,8 @@
pkg_manifest_remove_depend(struct pkg_manifest *pm, const char *name)
{
pkg_manifest_check_magic(pm, __func__);
+ if (name == NULL)
+ return;
return;
}
@@ -445,6 +450,8 @@
pkg_manifest_remove_file(struct pkg_manifest *pm, const char *path)
{
pkg_manifest_check_magic(pm, __func__);
+ if (path == NULL)
+ return;
return;
}
@@ -452,6 +459,8 @@
pkg_manifest_remove_exec_cmd(struct pkg_manifest *pm, int cmdidx)
{
pkg_manifest_check_magic(pm, __func__);
+ if (cmdidx < 0)
+ return;
return;
}
@@ -459,6 +468,8 @@
pkg_manifest_remove_unexec_cmd(struct pkg_manifest *pm, int cmdidx)
{
pkg_manifest_check_magic(pm, __func__);
+ if (cmdidx < 0)
+ return;
return;
}
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_manifest.h#5 (text+ko) ====
@@ -129,7 +129,7 @@
const char *version);
int pkg_manifest_add_depend(struct pkg_manifest *pm, const char *name,
- const char *origin);
+ const char *version, const char *origin);
int pkg_manifest_add_file(struct pkg_manifest *pm, const char *path, const char *md5,
const char *cwd, const char *mode, const char *owner, const char *group);
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_manifest_plist.c#6 (text+ko) ====
@@ -343,7 +343,7 @@
status = PKG_NOT_OK;
break;
}
- status = pkg_manifest_add_depend(pm, isolate, NULL);
+ status = pkg_manifest_add_depend(pm, isolate, NULL, NULL);
status |= pkg_util_strdup(isolate, &st->last_rel_depend);
break;
case (PM_CONFLICTS):
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.c#17 (text+ko) ====
@@ -47,7 +47,7 @@
}
int
-strsort(const void *a, const void *b)
+strsort(void *a, void *b)
{
return (strcmp(*(char **)a, *(char **)b));
}
@@ -112,6 +112,7 @@
const char *const *depends;
const char *const *install_list;
const char *const *deinstall_list;
+ const char *const *reqdby_list;
const char *ident;
const char *comment;
@@ -139,7 +140,7 @@
name = pkg_name(p);
origin = pkg_origin(p);
mtree_file = pkg_mtree_file(p);
- reqdby = pkg_required_by(p);
+ reqdby_list = pkg_required_by(p);
display = pkg_display(p);
desc = pkg_description(p);
@@ -206,8 +207,10 @@
}
fprintf(stream, "\nrequired by:\n");
- fprintf(stream, "%s\n",
- (reqdby != NULL ? reqdby : "None."));
+ reqdby_list = pkg_required_by(p);
+ if (reqdby_list != NULL)
+ while((reqdby = *reqdby_list++) != NULL)
+ fprintf(stream, "%s\n", reqdby);
fprintf(stream, "\ndisplay:\n");
fprintf(stream, "%s\n",
==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.h#14 (text+ko) ====
@@ -7,7 +7,7 @@
int pkg_util_strdup(const char *src, char **dest);
-int strsort(const void *a, const void *b);
+int strsort(void *a, void *b);
char *path_strdup(const char *name);
==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#30 (text+ko) ====
@@ -260,11 +260,15 @@
/* Why do I even return from this function? */
int status;
const char *block_text;
+ const char *buff;
const char *const *klist;
+
+ block_text = NULL;
+ buff = NULL;
status = OK;
if (info_prefix == NULL)
- info_prefix = "";
+ info_prefix = strdup("");
if (flags & OPT_DEBUG_DUMP) {
pkg_dump(p, stdout);
@@ -299,10 +303,12 @@
if (flags & OPT_SHOW_REQUIRED_BY) {
/* Macro these scuzzy loops. */
- for (klist = pkg_required_by(p),
- (klist != NULL) ? fprintf(out, "Required by:\n") : NULL;
- klist != NULL && *klist != NULL; *klist++)
- printf("%s\n", *klist);
+ klist = pkg_required_by(p);
+ if (klist != NULL) {
+ fprintf(out, "Required by:\n");
+ for (; *klist != NULL; buff = *klist++)
+ printf("%s\n", buff);
+ }
printf("\n");
}
@@ -324,33 +330,33 @@
printf("\tPackage name: %s\n", pkg_name(p));
printf("\tPackage origin: %s\n", pkg_origin(p));
- for (klist = pkg_depends(p); klist != NULL && *klist != NULL; *klist++)
+ for (klist = pkg_depends(p); klist != NULL && *klist != NULL; block_text = *klist++)
printf("Dependency: %s\n\tdependency origin: %s\n",
- *klist, pkg_pkg_depend_origin(p, *klist));
+ block_text, pkg_pkg_depend_origin(p, block_text));
block_text = NULL;
- for (klist = pkg_files(p); klist != NULL && *klist != NULL; *klist++) {
- if (block_text == NULL || strcmp(block_text, pkg_pkg_file_cwd(p, *klist)) != 0)
- printf("\tCWD to %s\n", block_text = pkg_pkg_file_cwd(p, *klist));
+ for (klist = pkg_files(p); klist != NULL && *klist != NULL; buff = *klist++) {
+ if (block_text == NULL || strcmp(block_text, pkg_pkg_file_cwd(p, buff)) != 0)
+ printf("\tCWD to %s\n", block_text = pkg_pkg_file_cwd(p, buff));
printf("File: %s\n\tComment: MD5: %s\n",
- *klist, pkg_pkg_file_md5(p, *klist));
+ buff, pkg_pkg_file_md5(p, buff));
}
- for (klist = pkg_execs(p); klist != NULL && *klist != NULL; *klist++)
- printf("\tEXEC '%s'\n", *klist);
- for (klist = pkg_unexecs(p); klist != NULL && *klist != NULL; *klist++)
- printf("\tUNEXEC '%s'\n", *klist);
+ for (klist = pkg_execs(p); klist != NULL && *klist != NULL; buff = *klist++)
+ printf("\tEXEC '%s'\n", buff);
+ for (klist = pkg_unexecs(p); klist != NULL && *klist != NULL; buff = *klist++)
+ printf("\tUNEXEC '%s'\n", buff);
}
if (flags & OPT_SHOW_REQUIRE)
- /* LOLWAT */;;
+ printf("LOLWAT\n");
if (flags & OPT_SHOW_INSTALL)
- /* LOLWAT */;;
+ printf("LOLWAT\n");
if (flags & OPT_SHOW_DEINSTALL)
- /* LOLWAT */;;
+ printf("LOLWAT\n");
if (flags & OPT_SHOW_MTREE) {
block_text = pkg_mtree_dirs(p);
@@ -363,9 +369,9 @@
if (flags & OPT_SHOW_FILES) {
printf("Files:\n");
- for (klist = pkg_files(p); klist != NULL && *klist != NULL; *klist++)
- if (!pkg_pkg_file_ignored(p, *klist))
- printf("%s/%s\n", pkg_pkg_file_cwd(p, *klist), *klist);
+ for (klist = pkg_files(p); klist != NULL && *klist != NULL; buff = *klist++)
+ if (!pkg_pkg_file_ignored(p, buff))
+ printf("%s/%s\n", pkg_pkg_file_cwd(p, buff), buff);
printf("\n");
}
@@ -374,8 +380,8 @@
}
if (flags & OPT_SHOW_CHECKSUM) {
- for (klist = pkg_files(p); klist != NULL && *klist != NULL; *klist++)
- /* Make a util function to handle this. */;;
+ for (klist = pkg_files(p); klist != NULL && *klist != NULL; buff = *klist++)
+ fprintf(out, "checking checksum for %s\n", buff);
}
if (flags & OPT_SHOW_ORIGIN)
More information about the p4-projects
mailing list