1
2
3
4
5
6
7
8
9
10
11
12
13
14 import itertools
15 import os
16 import pickle
17
18
19 from conary import conarycfg, errors, metadata, rollbacks, trove
20 from conary.conaryclient import clone, resolve, update
21 from conary.lib import log, util, openpgpkey, api
22 from conary.local import database
23 from conary.repository.netclient import NetworkRepositoryClient
24 from conary.repository import trovesource
25 from conary.repository import searchsource
26 from conary.repository import resolvemethod
27
28
29 from conary.conaryclient.branch import ClientBranch
30 from conary.conaryclient import cmdline
31 from conary.conaryclient.clone import ClientClone
32 from conary.conaryclient import password
33 from conary.conaryclient.update import ClientUpdate
34 from conary.conaryclient.newtrove import ClientNewTrove
35
36 CloneError = clone.CloneError
37 CloneIncomplete = clone.CloneIncomplete
38 UpdateError = update.UpdateError
39 NoNewTrovesError = update.NoNewTrovesError
40 DependencyFailure = update.DependencyFailure
41 DepResolutionFailure = update.DepResolutionFailure
42 EraseDepFailure = update.EraseDepFailure
43 NeededTrovesFailure = update.NeededTrovesFailure
44 InstallPathConflicts = update.InstallPathConflicts
45
46 CriticalUpdateInfo = update.CriticalUpdateInfo
47
48 ChangeSetFromFile = update.changeset.ChangeSetFromFile
49
52 self.troveName = troveName
53
55 return "trove not found: %s" % self.troveName
56
59 return "version should not be specified when a Conary change set " \
60 "is being installed"
61
62 -class ConaryClient(ClientClone, ClientBranch, ClientUpdate, ClientNewTrove):
63 """
64 ConaryClient is a high-level class to some useful Conary operations,
65 including trove updates and erases.
66 """
67 @api.publicApi
70 """
71 @param cfg: a custom L{conarycfg.ConaryConfiguration} object.
72 If None, the standard Conary configuration is loaded
73 from /etc/conaryrc, ~/.conaryrc, and ./conaryrc.
74 @type cfg: L{conarycfg.ConaryConfiguration}
75 """
76
77 ClientUpdate.