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