Date: Thu, 13 Aug 2009 08:02:52 GMT From: David Forsythe <dforsyth@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 167271 for review Message-ID: <200908130802.n7D82qdu036933@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=167271 Change 167271 by dforsyth@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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908130802.n7D82qdu036933>