PERFORCE change 129419 for review
Garrett Cooper
gcooper at FreeBSD.org
Thu Nov 22 22:34:01 PST 2007
http://perforce.freebsd.org/chv.cgi?CH=129419
Change 129419 by gcooper at optimus-pkg_revised on 2007/11/23 06:34:00
Sandbox-related: More development for tonight.
libpkg-related: Just being anal in terms of style, spelling, and naming..
Affected files ...
.. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.c#2 edit
.. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.h#2 edit
.. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_private.h#2 edit
.. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox.h#2 edit
.. //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox_private.h#2 edit
Differences ...
==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.c#2 (text+ko) ====
@@ -45,7 +45,7 @@
*/
struct pkg_repo *
pkg_repo_new(pkg_repo_get_pkg_callback *pkg_get,
- pkg_repo_free_callback *pfree)
+ pkg_repo_free_callback *pkg_free)
{
struct pkg_repo *repo;
@@ -55,7 +55,7 @@
}
repo->pkg_get = pkg_get;
- repo->pkg_free = pfree;
+ repo->pkg_free = pkg_free;
repo->data = NULL;
@@ -79,17 +79,14 @@
struct pkg *
pkg_repo_get_pkg(struct pkg_repo *repo, const char *pkg_name)
{
- if (!repo) {
- return NULL;
- }
+ if (repo == NULL)
+ return NULL;
- if (!pkg_name) {
- return NULL;
- }
+ if (pkg_name == NULL)
+ return NULL;
- if (!repo->pkg_get) {
- return NULL;
- }
+ if (repo->pkg_get == NULL)
+ return NULL;
return repo->pkg_get(repo, pkg_name);
}
@@ -101,12 +98,11 @@
int
pkg_repo_free(struct pkg_repo *repo)
{
- if (!repo) {
- return -1;
- }
+ if (!repo)
+ return -1;
if (repo->pkg_free)
- repo->pkg_free(repo);
+ repo->pkg_free(repo);
free(repo);
==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo.h#2 (text+ko) ====
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2005, Andrew Turner
+ * Copyright (C) 2007, Garrett Cooper
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -29,15 +30,15 @@
#define __LIBPKG_PKG_REPO_H__
/*
- * A Repo is a store of 0 or more packages.
- * eg. ftp server, cdrom, local directory.
+ * A Repo is a store of 0+ packages,
+ * e.g. a ftp server, cdrom, or local directory.
*/
struct pkg_repo;
struct pkg_repo *pkg_repo_new_files(void);
struct pkg_repo *pkg_repo_new_ftp(const char *, const char *, const char *);
struct pkg_repo *pkg_repo_new_local_freebsd(void);
-struct pkg *pkg_repo_get_pkg(struct pkg_repo *, const char *);
-int pkg_repo_free(struct pkg_repo *);
+struct pkg *pkg_repo_get_pkg(struct pkg_repo *, const char *);
+int pkg_repo_free(struct pkg_repo *);
#endif /* __LIBPKG_PKG_REPO_H__ */
==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_repo_private.h#2 (text+ko) ====
@@ -29,10 +29,10 @@
#define __LIBPKG_PKG_REPO_PRIVATE_H__
typedef struct pkg *pkg_repo_get_pkg_callback(struct pkg_repo *, const char *);
-typedef int pkg_repo_free_callback(struct pkg_repo *);
+typedef int pkg_repo_free_callback(struct pkg_repo *);
-struct pkg_repo *pkg_repo_new(pkg_repo_get_pkg_callback *,
- pkg_repo_free_callback *);
+struct pkg_repo *pkg_repo_new(pkg_repo_get_pkg_callback *,
+ pkg_repo_free_callback *);
struct pkg_repo {
void *data;
@@ -41,4 +41,4 @@
pkg_repo_free_callback *pkg_free;
};
-#endif /* __LIBPKG_PKG_REPO_PRIVATE_H__ */
+#endif /* __LIBPKG_PKG_REPO_PRIVATE_H__ */
==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox.h#2 (text+ko) ====
@@ -28,13 +28,21 @@
#ifndef __LIBPKG_PKG_SANDBOX_H__
#define __LIBPKG_PKG_SANDBOX_H__
+enum _pkg_sandbox_level_err_type {
+ PKG_SANDBOX_NULL = 0,
+ PKG_SANDBOX_PREINSTALL,
+ PKG_SANDBOX_FILE_EXTRACT,
+ PKG_SANDBOX_FILE_INSTALL,
+ PKG_SANDBOX_POSTINSTALL,
+ PKG_SANDBOX_COMPLETE = 25
+};
+
struct pkg_sandbox;
-#define
+struct pkg_sandbox *pkg_sandbox_new_sandbox();
+int pkg_sandbox_purge_sandbox(struct pkg_sandbox*, int);
+int pkg_sandbox_destroy_sandbox(struct pkg_sandbox*, int);
+int pkg_sandbox_set_criticality_level(struct pkg_sandbox*, int);
+int pkg_sandbox_free_sandbox(struct pkg_sandbox *);
-struct pkg_sandbox *pkg_sandbox_new();
-int pkg_sandbox_destroy(struct pkg_sandbox*, int);
-int pkg_sandbox_set_criticality_level(int);
-int pkg_sandbox_free(struct pkg_sandbox *);
-
-#endif /* __LIBPKG_PKG_SANDBOX_H__ */
+#endif /* __LIBPKG_PKG_SANDBOX_H__ */
==== //depot/projects/soc2007/gcooper-fbsdpkg_revised/v2/contrib/libpkg/pkg_sandbox_private.h#2 (text+ko) ====
@@ -28,16 +28,38 @@
#ifndef __LIBPKG_PKG_SANDBOX_PRIVATE_H__
#define __LIBPKG_PKG_SANDBOX_PRIVATE_H__
+typedef int pkg_sandbox_purge_sandbox_callback(struct pkg_sandbox*, int);
+typedef int pkg_sandbox_destroy_sandbox_callback(struct pkg_sandbox*, int);
+typedef int pkg_sandbox_set_criticality_level_callback(struct pkg_sandbox*, int);
+typedef int pkg_sandbox_free_sandbox_callback(struct pkg_sandbox *);
+
+struct pkg_sandbox *pkg_sandbox_new(pkg_sandbox_purge_sandbox_callback *,
+ pkg_sandbox_destroy_sandbox_callback *,
+ pkg_sandbox_set_criticality_level_callback *,
+ pkg_sandbox_free_sandbox_callback *);
+
/*
* A sandbox is a safe place where files are extracted
- * temporarily, and if signals are specified by the user
+ * temporarily during the install process to avoid
+ * collisions with already installed packages, and if
+ * signals are specified by the user
* and the install isn't in a critical phase (actually
* finalizing an install, i.e removing old files),
* rollback all changes being performed with installing
* the package.
*/
typedef struct {
- int criticality_level
+
+ int criticality_level;
+
+ struct pkg *package;
+
+ pkg_sandbox_free_sandbox_callback *free_sandbox;
+
+ pkg_sandbox_purge_sandbox_callback *purge_sandbox;
+ pkg_sandbox_destroy_sandbox_callback *destroy_sandbox;
+ pkg_sandbox_set_criticality_level_callback *set_criticality_level;
+
} pkg_sandbox;
-#endif /* __LIBPKG_PKG_SANDBOX_PRIVATE_H__ */
+#endif /* __LIBPKG_PKG_SANDBOX_PRIVATE_H__ */
More information about the p4-projects
mailing list