libzypp  16.22.5
ZConfig.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_ZCONFIG_H
13 #define ZYPP_ZCONFIG_H
14 
15 #include <iosfwd>
16 #include <set>
17 #include <string>
18 
19 #include "zypp/APIConfig.h"
20 #include "zypp/base/NonCopyable.h"
21 #include "zypp/base/PtrTypes.h"
22 
23 #include "zypp/Arch.h"
24 #include "zypp/Locale.h"
25 #include "zypp/Pathname.h"
26 #include "zypp/IdString.h"
27 #include "zypp/TriBool.h"
28 #include "zypp/ResolverFocus.h"
29 #include "zypp/DownloadMode.h"
31 
33 namespace zypp
34 {
35 
37  //
38  // CLASS NAME : ZConfig
39  //
59  class ZConfig : private base::NonCopyable
60  {
61  public:
62 
64  static ZConfig & instance();
65 
67  std::ostream & about( std::ostream & str ) const;
68 
69  public:
70 
74  Pathname systemRoot() const;
75 
76  public:
77 
80 
82  Arch systemArchitecture() const;
83 
90  void setSystemArchitecture( const Arch & arch_r );
91 
95 
96  public:
99  static Locale defaultTextLocale();
100 
103  Locale textLocale() const;
104 
106  void setTextLocale( const Locale & locale_r );
107 
111 
112  public:
118  bool hasUserData() const;
119 
121  std::string userData() const;
122 
127  bool setUserData( const std::string & str_r );
129 
130  public:
135  Pathname repoCachePath() const;
136 
141  Pathname repoMetadataPath() const;
142 
147  Pathname repoSolvfilesPath() const;
148 
153  Pathname repoPackagesPath() const;
154 
159  Pathname configPath() const;
160 
165  Pathname knownReposPath() const;
166 
171  Pathname knownServicesPath() const;
172 
178  Pathname varsPath() const;
179 
185  bool repo_add_probe() const;
186 
190  unsigned repo_refresh_delay() const;
191 
196 
202  bool repoLabelIsAlias() const;
203 
211  void repoLabelIsAlias( bool yesno_r );
212 
217 
222  long download_min_download_speed() const;
223 
227  long download_max_download_speed() const;
228 
232  long download_max_silent_tries() const;
233 
237  long download_transfer_timeout() const;
238 
239 
243  bool download_use_deltarpm() const;
244 
249  bool download_use_deltarpm_always() const;
250 
255  bool download_media_prefer_download() const;
258  { return ! download_media_prefer_download(); }
262  void set_download_media_prefer_download( bool yesno_r );
267 
272  Pathname download_mediaMountdir() const;
274  void set_download_mediaMountdir( Pathname newval_r );
277 
282 
296  bool gpgCheck() const;
297  TriBool repoGpgCheck() const;
298  TriBool pkgGpgCheck() const;
299 
300  void setGpgCheck( bool val_r );
301  void setRepoGpgCheck( TriBool val_r );
302  void setPkgGpgCheck( TriBool val_r );
303 
304  void resetGpgCheck();
305  void resetRepoGpgCheck();
306  void resetPkgGpgCheck();
307 
308  //
313  Pathname vendorPath() const;
314 
318  ResolverFocus solver_focus() const;
319 
323  bool solver_onlyRequires() const;
324 
329  Pathname solver_checkSystemFile() const;
330 
336  Pathname solver_checkSystemFileDir() const;
337 
341  bool solver_allowVendorChange() const;
342 
344  bool solver_dupAllowDowngrade() const;
345 
347  bool solver_dupAllowNameChange() const;
348 
350  bool solver_dupAllowArchChange() const;
351 
353  bool solver_dupAllowVendorChange() const;
354 
358  bool solver_cleandepsOnRemove() const;
359 
367  unsigned solver_upgradeTestcasesToKeep() const;
368 
384  void setSolverUpgradeRemoveDroppedPackages( bool val_r );
387 
398  const std::set<std::string> & multiversionSpec() const;
399  void multiversionSpec( std::set<std::string> new_r );
400  void clearMultiversionSpec();
401  void addMultiversionSpec( const std::string & name_r );
402  void removeMultiversionSpec( const std::string & name_r );
404 
409  Pathname locksFile() const;
410 
414  bool apply_locks_file() const;
415 
419  Pathname update_dataPath() const;
420 
425  Pathname update_scriptsPath() const;
426 
431  Pathname update_messagesPath() const;
432 
436  std::string updateMessagesNotify() const;
438  void setUpdateMessagesNotify( const std::string & val_r );
442 
451  target::rpm::RpmInstFlags rpmInstallFlags() const;
453 
460  Pathname historyLogFile() const;
461 
465  Pathname credentialsGlobalDir() const;
466 
470  Pathname credentialsGlobalFile() const;
471 
480  std::string distroverpkg() const;
481 
487  Pathname pluginsPath() const;
488 
490  public:
491  class Impl;
493  ~ZConfig();
494  private:
495  friend class Impl;
497  ZConfig();
500  };
502 
504 } // namespace zypp
506 #endif // ZYPP_ZCONFIG_H
bool solver_dupAllowNameChange() const
DUP tune: Whether to follow package renames upon DUP.
Definition: ZConfig.cc:1042
~ZConfig()
Dtor.
Definition: ZConfig.cc:821
static Locale defaultTextLocale()
The autodetected prefered locale for translated texts.
Definition: ZConfig.cc:857
void setGpgCheck(bool val_r)
Change the value.
Definition: ZConfig.cc:1025
void setUpdateMessagesNotify(const std::string &val_r)
Set a new command definition (see update.messages.notify in zypp.conf).
Definition: ZConfig.cc:1102
void resetSystemArchitecture()
Reset the zypp system architecture to the default.
Definition: ZConfig.h:93
TriBool repoGpgCheck() const
Check repo matadata signatures (indeterminate - according to gpgcheck)
Definition: ZConfig.cc:1022
Pathname solver_checkSystemFileDir() const
Directory, which may or may not contain files in which dependencies described which has to be fulfill...
Definition: ZConfig.cc:1053
void setRepoGpgCheck(TriBool val_r)
Change the value.
Definition: ZConfig.cc:1026
static ZConfig & instance()
Singleton ctor.
Definition: Resolver.cc:122
std::ostream & about(std::ostream &str) const
Print some detail about the current libzypp version.
Definition: ZConfig.cc:1144
std::string distroverpkg() const
Package telling the "product version" on systems not using /etc/product.d/baseproduct.
Definition: ZConfig.cc:1134
unsigned solver_upgradeTestcasesToKeep() const
When committing a dist upgrade (e.g.
Definition: ZConfig.cc:1057
Architecture.
Definition: Arch.h:36
Helper filtering the files offered by a RepomdFileReader.
Pathname knownServicesPath() const
Path where the known services .service files are kept (configPath()/services.d).
Definition: ZConfig.cc:942
Pathname vendorPath() const
Directory for equivalent vendor definitions (configPath()/vendors.d)
Definition: ZConfig.cc:954
ResolverFocus
The resolvers general attitude.
Definition: ResolverFocus.h:21
Pathname repoCachePath() const
Path where the caches are kept (/var/cache/zypp)
Definition: ZConfig.cc:904
Pathname credentialsGlobalFile() const
Defaults to /etc/zypp/credentials.cat.
Definition: ZConfig.cc:1126
void removeMultiversionSpec(const std::string &name_r)
Definition: ZConfig.cc:1076
Pathname varsPath() const
Path containing custom repo variable definitions (configPath()/vars.d).
Definition: ZConfig.cc:948
void setSystemArchitecture(const Arch &arch_r)
Override the zypp system architecture.
Definition: ZConfig.cc:842
bool apply_locks_file() const
Whether locks file should be read and applied after start (true)
Definition: ZConfig.cc:1078
long download_max_download_speed() const
Maximum download speed (bytes per second)
Definition: ZConfig.cc:1004
bool setUserData(const std::string &str_r)
Set a new userData string.
Definition: ZConfig.cc:887
void set_download_mediaMountdir(Pathname newval_r)
Set alternate value.
Definition: ZConfig.cc:1014
bool solver_cleandepsOnRemove() const
Whether removing a package should also remove no longer needed requirements.
Definition: ZConfig.cc:1046
bool repo_add_probe() const
Whether repository urls should be probed.
Definition: ZConfig.cc:968
void resetSolverUpgradeRemoveDroppedPackages()
Reset solverUpgradeRemoveDroppedPackages to the zypp.conf default.
Definition: ZConfig.cc:1062
Pathname pluginsPath() const
Defaults to /usr/lib/zypp/plugins.
Definition: ZConfig.cc:1139
RW_pointer< Impl, rw_pointer::Scoped< Impl > > _pimpl
Pointer to implementation.
Definition: ZConfig.h:499
void set_default_download_mediaMountdir()
Reset to zypp.cong default.
Definition: ZConfig.cc:1015
bool solverUpgradeRemoveDroppedPackages() const
Whether dist upgrade should remove a products dropped packages (true).
Definition: ZConfig.cc:1060
DownloadMode commit_downloadMode() const
Commit download policy to use as default.
Definition: ZConfig.cc:1017
bool solver_dupAllowVendorChange() const
DUP tune: Whether to allow package vendor changes upon DUP.
Definition: ZConfig.cc:1044
void addMultiversionSpec(const std::string &name_r)
Definition: ZConfig.cc:1075
void resetGpgCheck()
Reset to the zconfig default.
Definition: ZConfig.cc:1029
void set_download_media_prefer_download(bool yesno_r)
Set download_media_prefer_download to a specific value.
Definition: ZConfig.cc:992
boost::logic::tribool TriBool
3-state boolean logic (true, false and indeterminate).
Definition: String.h:30
Pathname configPath() const
Path where the configfiles are kept (/etc/zypp).
Definition: ZConfig.cc:930
Pathname historyLogFile() const
Path where ZYpp install history is logged.
Definition: ZConfig.cc:1114
void setTextLocale(const Locale &locale_r)
Set the prefered locale for translated texts.
Definition: ZConfig.cc:866
boost::noncopyable NonCopyable
Ensure derived classes cannot be copied.
Definition: NonCopyable.h:26
Pathname knownReposPath() const
Path where the known repositories .repo files are kept (configPath()/repos.d).
Definition: ZConfig.cc:936
LocaleSet repoRefreshLocales() const
List of locales for which translated package descriptions should be downloaded.
Definition: ZConfig.cc:974
bool gpgCheck() const
Turn signature checking on/off (on)
Definition: ZConfig.cc:1021
void set_default_download_media_prefer_download()
Set download_media_prefer_download to the configfiles default.
Definition: ZConfig.cc:995
ZConfig implementation.
Definition: ZConfig.cc:303
Provides API related macros.
TriBool pkgGpgCheck() const
Check rpm package signatures (indeterminate - according to gpgcheck)
Definition: ZConfig.cc:1023
ResolverFocus solver_focus() const
The resolvers general attitude when resolving jobs.
Definition: ZConfig.cc:1033
Interim helper class to collect global options and settings.
Definition: ZConfig.h:59
Pathname update_scriptsPath() const
Path where the repo metadata is downloaded and kept (update_dataPath()/).
Definition: ZConfig.cc:1093
Pathname locksFile() const
Path where zypp can find or create lock file (configPath()/locks)
Definition: ZConfig.cc:960
long download_min_download_speed() const
Minimum download speed (bytes per second) until the connection is dropped.
Definition: ZConfig.cc:1001
void clearMultiversionSpec()
Definition: ZConfig.cc:1074
Pathname download_mediaMountdir() const
Path where media are preferably mounted or downloaded.
Definition: ZConfig.cc:1013
bool hasUserData() const
Whether a (non empty) user data sting is defined.
Definition: ZConfig.cc:881
Pathname update_messagesPath() const
Path where the repo solv files are created and kept (update_dataPath()/solv).
Definition: ZConfig.cc:1087
Pathname repoSolvfilesPath() const
Path where the repo solv files are created and kept (repoCachePath()/solv).
Definition: ZConfig.cc:916
Pathname repoPackagesPath() const
Path where the repo packages are downloaded and kept (repoCachePath()/packages).
Definition: ZConfig.cc:922
bool download_use_deltarpm() const
Whether to consider using a deltarpm when downloading a package.
Definition: ZConfig.cc:983
Pathname repoMetadataPath() const
Path where the repo metadata is downloaded and kept (repoCachePath()/raw).
Definition: ZConfig.cc:910
long download_max_silent_tries() const
Maximum silent tries.
Definition: ZConfig.cc:1007
bool solver_dupAllowArchChange() const
DUP tune: Whether to allow package arch changes upon DUP.
Definition: ZConfig.cc:1043
bool solver_allowVendorChange() const
Whether vendor check is by default enabled.
Definition: ZConfig.cc:1038
bool solver_onlyRequires() const
Solver regards required packages,patterns,...
Definition: ZConfig.cc:1035
'Language[_Country]' codes.
Definition: Locale.h:49
static Arch defaultSystemArchitecture()
The autodetected system architecture.
Definition: ZConfig.cc:833
void resetRepoGpgCheck()
Reset to the zconfig default.
Definition: ZConfig.cc:1030
Pathname systemRoot() const
The target root directory.
Definition: ZConfig.cc:824
bool download_media_prefer_download() const
Hint which media to prefer when installing packages (download vs.
Definition: ZConfig.cc:989
const std::set< std::string > & multiversionSpec() const
Definition: ZConfig.cc:1072
target::rpm::RpmInstFlags rpmInstallFlags() const
The default target::rpm::RpmInstFlags for ZYppCommitPolicy.
Definition: ZConfig.cc:1110
ZConfig()
Default ctor.
Definition: ZConfig.cc:810
Wrapper for const correct access via Smart pointer types.
Definition: PtrTypes.h:285
Pathname update_dataPath() const
Path where the update items are kept (/var/adm)
Definition: ZConfig.cc:1081
std::string userData() const
User defined string value to be passed to log, history, plugins...
Definition: ZConfig.cc:884
void resetTextLocale()
Reset the locale for translated texts to the default.
Definition: ZConfig.h:109
void resetUpdateMessagesNotify()
Reset to the zypp.conf default.
Definition: ZConfig.cc:1105
void setSolverUpgradeRemoveDroppedPackages(bool val_r)
Set solverUpgradeRemoveDroppedPackages to val_r.
Definition: ZConfig.cc:1061
Locale textLocale() const
The locale for translated texts zypp uses.
Definition: ZConfig.cc:863
std::string updateMessagesNotify() const
Command definition for sending update messages.
Definition: ZConfig.cc:1099
unsigned repo_refresh_delay() const
Amount of time in minutes that must pass before another refresh.
Definition: ZConfig.cc:971
Arch systemArchitecture() const
The system architecture zypp uses.
Definition: ZConfig.cc:839
bool repoLabelIsAlias() const
Whether to use repository alias or name in user messages (progress, exceptions, ...).
Definition: ZConfig.cc:977
void setPkgGpgCheck(TriBool val_r)
Change the value.
Definition: ZConfig.cc:1027
long download_max_concurrent_connections() const
Maximum number of concurrent connections for a single transfer.
Definition: ZConfig.cc:998
bool solver_dupAllowDowngrade() const
DUP tune: Whether to allow version downgrades upon DUP.
Definition: ZConfig.cc:1041
std::unordered_set< Locale > LocaleSet
Definition: Locale.h:27
Pathname solver_checkSystemFile() const
File in which dependencies described which has to be fulfilled for a running system.
Definition: ZConfig.cc:1049
void resetPkgGpgCheck()
Reset to the zconfig default.
Definition: ZConfig.cc:1031
bool download_use_deltarpm_always() const
Whether to consider using a deltarpm even when rpm is local.
Definition: ZConfig.cc:986
long download_transfer_timeout() const
Maximum time in seconds that you allow a transfer operation to take.
Definition: ZConfig.cc:1010
Pathname credentialsGlobalDir() const
Defaults to /etc/zypp/credentials.d.
Definition: ZConfig.cc:1120
DownloadMode
Supported commit download policies.
Definition: DownloadMode.h:22
bool download_media_prefer_volatile() const
Definition: ZConfig.h:257