Date: Mon, 6 Jul 2009 23:20:37 GMT From: David Forsythe <dforsyth@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 165726 for review Message-ID: <200907062320.n66NKb0Y037810@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=165726 Change 165726 by dforsyth@squirrel on 2009/07/06 23:20:07 Make changes for new design in pkg.h. Cannot be built. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#30 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#28 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#30 (text+ko) ==== @@ -264,6 +264,45 @@ return (pkg_plist_conflicts(p->plist)); } +int +pkg_add_file(struct pkg *p, const char *path, const char *md5, + const char *owner, const char *group, const char *mode) +{ + int status; + struct pkg_file *pf; + + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (path == NULL) + arg_rage_quit(__func__, "Not a valid path.", RAGE_AT_CLIENT); + if (md5 == NULL) + arg_rage_quit(__func__, "Not a valid md5.", RAGE_AT_CLIENT); + if (owner == NULL) + arg_rage_quit(__func__, "Not a valid owner.", RAGE_AT_CLIENT); + if (group == NULL) + arg_rage_quit(__func__, "Not a valid group.", RAGE_AT_CLIENT); + if (mode == NULL) + arg_rage_quit(__func__, "Not a valid mode.", RAGE_AT_CLIENT); + + pf = pkg_file_new(); + if (pf == NULL) { + return (PKG_MEMORY_ERR | PKG_NOT_OK); + + status = PKG_OK; + + status |= pkg_file_set_path(pf, path); + status |= pkg_file_set_md5(pf, md5); + status |= pkg_file_set_owner(pf, owner); + status |= pkg_file_set_group(pf, group); + status |= pkg_file_set_mode(pf, mode); + + if (status != PKG_OK) + pkg_file_delete(pf); + + return (status); +} + /* Set the short comment for this package */ int pkg_set_comment(struct pkg *p, const char *comment) ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#28 (text+ko) ==== @@ -58,175 +58,8 @@ #define BAD_OR_UNKNOWN_VALUE "???" -/* TODO: All these explicit functions are great, but the client doesn't - * need to make a "new" pkg_cfl, when all they really have to insert are a - * sting and an integer (they dont even have to set the int). So write - * some functions that give them ways to make these entities with a single - * call. */ - -/* pkg_file */ - -struct pkg_file; - -struct pkg_file *pkg_file_new(void); - -const char *pkg_file_path(struct pkg_file *pf); - -const char *pkg_file_md5(struct pkg_file *pf); - -const char *pkg_file_owner(struct pkg_file *pf); - -const char *pkg_file_group(struct pkg_file *pf); - -const char *pkg_file_mode(struct pkg_file *pf); - -int pkg_file_set_path(struct pkg_file *pf, const char *path); - -int pkg_file_set_md5(struct pkg_file *pf, const char *md5); - -int pkg_file_set_owner(struct pkg_file *pf, const char *owner); - -int pkg_file_set_group(struct pkg_file *pf, const char *group); - -int pkg_file_set_mode(struct pkg_file *pf, const char *mode); - -/* pkg_dep */ - -struct pkg_dep; - -struct pkg_dep *pkg_dep_new(void); - -struct pkg_dep *pkg_dep_set_name(struct pkg_dep *pd, const char *name); - -struct pkg_dep *pkg_dep_set_origin(struct pkg_dep *pd, const char *origin); - -const char *pkg_dep_name(struct pkg_dep *pd); - -const char *pkg_dep_origin(struct pkg_dep *pd); - -/* pkg_cfl */ - -struct pkg_cfl; - -struct pkg_cfl *pkg_cfl_new(void); - -int pkg_cfl_set_name(struct pkg_cfl *pc, const char *name); - -const char *pkg_cfl_name(struct pkg_cfl *pc); - /* pkg */ -/* Add mtree stuff later. */ - -struct pkg; - -struct pkg *pkg_new(void); - -void pkg_reset(struct pkg *p); - -char *pkg_ident(struct pkg *p); - -char *pkg_name(struct pkg *p); - -char *pkg_cwd(struct pkg *p); - -char *pkg_origin(struct pkg *p); - -char *pkg_comment(struct pkg *p); - -char *pkg_description(struct pkg *p); - -char *pkg_display(struct pkg *p); - -char *pkg_mtree_file(struct pkg *p); - -int pkg_extract_in_place(struct pkg *p); - -int pkg_preserve(struct pkg *p); - -int pkg_complete(struct pkg *p); - -int pkg_set_ident(struct pkg *p, const char *ident); - -int pkg_set_name(struct pkg *p, const char *name); - -int pkg_set_cwd(struct pkg *p, const char *cwd); - -int pkg_set_orgin(struct pkg *p, const char *orgin); - -int pkg_set_comment(struct pkg *p, const char *comment); - -int pkg_set_contents(struct pkg *p, const char *contents); - -int pkg_set_description(struct pkg *p, const char *description); - -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_set_display(struct pkg *p, const char *display); - -#if 0 -int pkg_set_mtree_file(struct pkg *p, const char *mtree_file); -#endif - -int pkg_parse_plist(struct pkg *p); - -void pkg_pkg_file_list_init(struct pkg *p); - -struct pkg_file *pkg_pkg_file_list_next(struct pkg *p); - -int pkg_pkg_file_list_reset(struct pkg *p); - -int pkg_pkg_file_add(struct pkg *p, struct pkg_file *pf); - -int pkg_pkg_file_remove(struct pkg *p, struct pkg_file *pf); - -void pkg_pkg_dep_list_init(struct pkg *p); - -struct pkg_dep *pkg_pkg_dep_list_next(struct pkg *p); - -void pkg_pkg_cfl_list_init(struct pkg *p); - -struct pkg_cfl *pkg_pkg_cfl_list_next(struct pkg *p); - -void pkg_delete(struct pkg *p); - -/* pkgdb */ - -struct pkgdb; - -struct pkgdb *pkgdb_new(int type); - -int pkgdb_db_open(struct pkgdb *db, const char *db_root); - -int pkgdb_db_init(struct pkgdb *db); - -char *pkgdb_db_root(struct pkgdb *db); - -int pkgdb_db_close(struct pkgdb *db); - -int pkgdb_pkg_next(struct pkgdb *db, struct pkg *p); - -int pkgdb_pkg_get(struct pkgdb *db, struct pkg *p, const char *ident); - -#if 0 -int pkgdb_pkg_put(struct pkgdb *db, struct pkg *p); - -int pkgdb_db_sync(struct pkgdb *db); -#endif - -void pkgdb_db_delete(struct pkgdb *db); - -/* Util (will probably dissapear). */ - -void pkg_dump(struct pkg *p, FILE *stream); - - -#if 0 - -/* pkg */ - struct pkg *pkg_new(); void pkg_delete(struct pkg *p); int pkg_reset(struct pkg *p); @@ -275,7 +108,7 @@ int pkgdb_init(struct pkgdb *db); /* Return a list of packages by _ident_. */ -const char *pkgdb_all_pkgs(struct pkgdb *db); +const char *pkgdb_all_pkgs(struct pkgdb *db); /* rename. this is lulz. */ int pkgdb_select_pkg(struct pkgdb *db, struct pkg *p, const char *pkgident); int pkgdb_insert_pkg(struct pkgdb *db, struct pkg *p); @@ -293,5 +126,3 @@ void pkgarcv_delete(struct pkgarcv *pa; #endif - -#endif
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907062320.n66NKb0Y037810>