author | Brock Pytlik <bpytlik@sun.com> |
Sat, 08 Nov 2008 11:08:13 -0800 | |
changeset 688 | 32a3ca40676e |
parent 685 | doc/api_versions.txt@6f53483db920 |
child 696 | 6bbfd2dece6f |
permissions | -rw-r--r-- |
688
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
1 |
Version 6: |
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
2 |
Compatible with clients using versions 1-5 |
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
3 |
Changes: |
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
4 |
Adds a new field to PackageInfo, category_info_list, which is a list of |
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
5 |
PackageCategory objects. These objects contain the scheme and category |
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
6 |
information for packages. |
32a3ca40676e
4260 pkg info should print the classification
Brock Pytlik <bpytlik@sun.com>
parents:
685
diff
changeset
|
7 |
|
685
6f53483db920
1469 image-update by unprivileged user should give better error message
Brock Pytlik <bpytlik@sun.com>
parents:
625
diff
changeset
|
8 |
Version 5: |
6f53483db920
1469 image-update by unprivileged user should give better error message
Brock Pytlik <bpytlik@sun.com>
parents:
625
diff
changeset
|
9 |
Compatible with clients using versions 1-4 as long as they have a generic |
6f53483db920
1469 image-update by unprivileged user should give better error message
Brock Pytlik <bpytlik@sun.com>
parents:
625
diff
changeset
|
10 |
APIException. This is the case for PackageManager and UpdateManaget. |
6f53483db920
1469 image-update by unprivileged user should give better error message
Brock Pytlik <bpytlik@sun.com>
parents:
625
diff
changeset
|
11 |
Changes: |
6f53483db920
1469 image-update by unprivileged user should give better error message
Brock Pytlik <bpytlik@sun.com>
parents:
625
diff
changeset
|
12 |
plan_install and plan_update_all can now raise PermissionsException. |
6f53483db920
1469 image-update by unprivileged user should give better error message
Brock Pytlik <bpytlik@sun.com>
parents:
625
diff
changeset
|
13 |
|
625
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
14 |
Version 4: |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
15 |
Compatible with clients using versions 1, 2, and 3 |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
16 |
Changes: |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
17 |
Modifies where certain progress tracking calls were made, calling |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
18 |
evaluate_start much sooner. |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
19 |
Adds refresh tracking to progress.py. This allows for active feedback when |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
20 |
the catalogs of authorities are being refreshed. |
e46b345645d6
3799 need to start progress tracker going early on
Brock Pytlik <bpytlik@sun.com>
parents:
615
diff
changeset
|
21 |
|
615
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
22 |
Version 3: |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
23 |
Compatible with clients using Versions 1 and 2 |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
24 |
Changes: |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
25 |
Adds an optional argument to info which determines whether detailed information |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
26 |
about actions will be returned |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
27 |
Adds the following new fields to PackageInfo objects: links, hardlinks, |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
28 |
files, dirs, dependencies |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
29 |
|
598
c53f6107fdb6
2863 pkg install should have a way to disable indexing
Brock Pytlik <bpytlik@sun.com>
parents:
594
diff
changeset
|
30 |
Version 2: |
c53f6107fdb6
2863 pkg install should have a way to disable indexing
Brock Pytlik <bpytlik@sun.com>
parents:
594
diff
changeset
|
31 |
Compatible with clients using Version 1 |
c53f6107fdb6
2863 pkg install should have a way to disable indexing
Brock Pytlik <bpytlik@sun.com>
parents:
594
diff
changeset
|
32 |
Changes: |
c53f6107fdb6
2863 pkg install should have a way to disable indexing
Brock Pytlik <bpytlik@sun.com>
parents:
594
diff
changeset
|
33 |
Adds the optional argument update_index to plan_install, plan_uninstall, and |
615
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
34 |
plan_update_all. When the argument is false, no automatic update to the |
aeeeb9f31173
4114 Api.Info needs to provide more info
Brock Pytlik <bpytlik@sun.com>
parents:
598
diff
changeset
|
35 |
index occurs. By default, the argument is true. |
598
c53f6107fdb6
2863 pkg install should have a way to disable indexing
Brock Pytlik <bpytlik@sun.com>
parents:
594
diff
changeset
|
36 |
|
594
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
37 |
Version 1: |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
38 |
Incompatible with clients using Version 0 |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
39 |
Changes: |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
40 |
plan_install now returns a tuple of whether there is anything to do and |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
41 |
a catalog refresh exception, if one was caught. In this, it mirrors the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
42 |
first and third return values from plan_update_all. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
43 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
44 |
Version 0: |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
45 |
def __init__(self, img_path, version_id, progesstracker, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
46 |
cancel_state_callable, pkg_client_name): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
47 |
"""Constructs an ImageInterface. img_path should point to an |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
48 |
existing image. version_id indicates the version of the api |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
49 |
the client is expecting to use. progesstracker is the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
50 |
progresstracker the client wants the api to use for UI |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
51 |
callbacks. cancel_state_callable is a function which the client |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
52 |
wishes to have called each time whether the operation can be |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
53 |
canceled changes. It can raise VersionException and |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
54 |
ImageNotFoundException.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
55 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
56 |
def plan_install(self, pkg_list, filters, refresh_catalogs=True, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
57 |
noexecute=False, verbose=False): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
58 |
"""Contructs a plan to install the packages provided in |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
59 |
pkg_list. pkg_list is a list of packages to install. filters |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
60 |
is a list of filters to apply to the actions of the installed |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
61 |
packages. refresh_catalogs controls whether the catalogs will |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
62 |
automatically be refreshed. noexecute determines whether the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
63 |
history will be recorded after planning is finished. verbose |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
64 |
controls whether verbose debugging output will be printed to the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
65 |
terminal. Its existence is temporary. If there are things to do |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
66 |
to complete the install, it returns True, otherwise it returns |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
67 |
False. It can raise InvalidCertException, PlanCreationException, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
68 |
NetworkUnavailableException, and InventoryException. The |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
69 |
noexecute argument is included for compatibility with |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
70 |
operational history. The hope is it can be removed in the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
71 |
future.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
72 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
73 |
def plan_uninstall(self, pkg_list, recursive_removal, noexecute=False, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
74 |
verbose=False): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
75 |
"""Contructs a plan to uninstall the packages provided in |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
76 |
pkg_list. pkg_list is a list of packages to install. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
77 |
recursive_removal controls whether recursive removal is |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
78 |
allowed. noexecute determines whether the history will be |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
79 |
recorded after planning is finished. verbose controls whether |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
80 |
verbose debugging output will be printed to the terminal. Its |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
81 |
existence is temporary. If there are things to do to complete |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
82 |
the uninstall, it returns True, otherwise it returns False. It |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
83 |
can raise NonLeafPackageException and PlanCreationException.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
84 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
85 |
def plan_update_all(self, actual_cmd, refresh_catalogs=True, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
86 |
noexecute=False, force=False, pkgs_must_be_up_to_date=None, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
87 |
verbose=False): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
88 |
"""Creates a plan to update all packages on the system to the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
89 |
latest known versions. actual_cmd is the command used to start |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
90 |
the client. It is used to determine the image to check whether |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
91 |
SUNWipkg is up to date. refresh_catalogs controls whether the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
92 |
catalogs will automatically be refreshed. noexecute determines |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
93 |
whether the history will be recorded after planning is finished. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
94 |
force controls whether update should proceed even if ipkg is not |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
95 |
up to date. verbose controls whether verbose debugging output |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
96 |
will be printed to the terminal. Its existence is temporary. It |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
97 |
returns a tuple of three things. The first is a boolean which |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
98 |
tells the client whether there is anything to do. The second |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
99 |
tells whether the image is an opensolaris image. The third is |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
100 |
either None, or an exception which indicates partial success. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
101 |
This is currently used to indicate a failure in refreshing |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
102 |
catalogs. It can raise CatalogRefreshException, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
103 |
IpkgOutOfDateException, NetworkUnavailableException, and |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
104 |
PlanCreationException.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
105 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
106 |
def describe(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
107 |
"""Returns None if no plan is ready yet, otherwise returns |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
108 |
a PlanDescription""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
109 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
110 |
def prepare(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
111 |
"""Takes care of things which must be done before the plan |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
112 |
can be executed. This includes downloading the packages to |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
113 |
disk and preparing the indexes to be updated during |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
114 |
execution. It can raise ProblematicPermissionsIndexException, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
115 |
and PlanMissingException. Should only be called once a |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
116 |
plan_X method has been called.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
117 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
118 |
def execute_plan(self, be_name=None): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
119 |
"""Executes the plan. This is uncancelable one it begins. It |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
120 |
can raise CorruptedIndexException, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
121 |
ProblematicPermissionsIndexException, ImageplanStateException, |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
122 |
ImageUpdateOnLiveImageException, and PlanMissingException. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
123 |
Should only be called after the prepare method has been |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
124 |
called.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
125 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
126 |
def refresh(self, full_refresh, auths=None): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
127 |
"""Refreshes the catalogs. full_refresh controls whether to do |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
128 |
a full retrieval of the catalog from the authority or only |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
129 |
update the existing catalog. auths is a list of authorities to |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
130 |
refresh. Passing an empty list or using the default value means |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
131 |
all known authorities will be refreshed. While it currently |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
132 |
returns an image object, this is an expedient for allowing |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
133 |
existing code to work while the rest of the API is put into |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
134 |
place.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
135 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
136 |
def info(self, fmri_strings, local, get_licenses): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
137 |
"""Gathers information about fmris. fmri_strings is a list |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
138 |
of fmri_names for which information is desired. local |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
139 |
determines whether to retrieve the information locally. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
140 |
get_licenses determines whether to retrieve the text of |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
141 |
the licenses. It returns a dictionary of lists. The keys |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
142 |
for the dictionary are the constants specified in the class |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
143 |
definition. The values are lists of PackageInfo objects or |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
144 |
strings.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
145 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
146 |
def can_be_canceled(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
147 |
"""Returns true if the API is in a cancelable state.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
148 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
149 |
def reset(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
150 |
"""Resets the API back the the initial state. Note: |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
151 |
this does not necessarily return the disk to its initial state |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
152 |
since the indexes or download cache may have been changed by |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
153 |
the prepare method.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
154 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
155 |
def cancel(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
156 |
"""Used for asynchronous cancelation. It returns the API |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
157 |
to the state it was in prior to the current method being |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
158 |
invoked. Canceling during a plan phase returns the API to |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
159 |
its initial state. Canceling during prepare puts the API |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
160 |
into the state it was in just after planning had completed. |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
161 |
Plan execution cannot be canceled. A call to this method blocks |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
162 |
until the canelation has happened. Note: this does not |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
163 |
necessarily return the disk to its initial state since the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
164 |
indexes or download cache may have been changed by the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
165 |
prepare method.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
166 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
167 |
class PlanDescription(object): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
168 |
"""A class which describes the changes the plan will make. It |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
169 |
provides a list of tuples of PackageInfo's. The first item in the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
170 |
tuple is the package that is being changed. The second item in the |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
171 |
tuple is the package that will be in the image after the change.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
172 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
173 |
def get_changes(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
174 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
175 |
class LicenseInfo(object): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
176 |
"""A class representing the license information a package |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
177 |
provides.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
178 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
179 |
def get_text(self): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
180 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
181 |
class PackageInfo(object): |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
182 |
"""A class capturing the information about packages that a client |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
183 |
could need. The fmri is guaranteed to be set. All other values may |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
184 |
be None, depending on how the PackageInfo instance was created.""" |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
185 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
186 |
# Possible package installation states |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
187 |
INSTALLED = 1 |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
188 |
NOT_INSTALLED = 2 |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
189 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
190 |
self.pkg_stem |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
191 |
self.summary |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
192 |
self.state |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
193 |
self.authority |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
194 |
self.preferred_authority |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
195 |
self.version |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
196 |
self.build_release |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
197 |
self.branch |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
198 |
self.packaging_date |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
199 |
self.size |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
200 |
self.fmri |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
201 |
self.licenses |
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
202 |
|
b072bc027c54
3770 pkg install when authority unavailable traces back
Brock Pytlik <bpytlik@sun.com>
parents:
diff
changeset
|
203 |
def __str__(self): |