Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionLast revisionBoth sides next revision | ||
software:valet:02_packages [2017-12-01 21:48] – created sraskar | software:valet:02_packages [2023-12-21 10:42] – [Can I Add My Own Packages?] frey | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | < | ||
- | ====== Packages ====== | ||
- | |||
- | {{: | ||
- | |||
- | As newer versions of software are released, the older versions are usually not removed immediately when the new are installed on a system. | ||
- | |||
- | VALET uses a //versioned package id// similar to those used in " | ||
- | < | ||
- | mathematica/ | ||
- | mathematica/ | ||
- | mathematica/ | ||
- | openmpi/ | ||
- | openmpi/ | ||
- | openmpi/ | ||
- | openmpi/ | ||
- | </ | ||
- | A special form of //versioned package id// references whatever version of a package is indicated to be the default version: | ||
- | < | ||
- | mathematica/ | ||
- | openmpi/ | ||
- | </ | ||
- | The "/" | ||
- | < | ||
- | mathematica | ||
- | openmpi | ||
- | </ | ||
- | The default version is specified in each package' | ||
- | |||
- | ===== What Packages Are Available? ===== | ||
- | |||
- | A list of available packages is displayed using the '' | ||
- | |||
- | < | ||
- | [user@host ~]$ vpkg_list | ||
- | Available packages: | ||
- | openmpi | ||
- | pgi | ||
- | matlab | ||
- | </ | ||
- | |||
- | For individual packages, a list of versions is displayed using '' | ||
- | |||
- | < | ||
- | [user@host ~]$ vpkg_versions openmpi | ||
- | Available versions in package (* = default version): | ||
- | |||
- | [/ | ||
- | openmpi | ||
- | gcc alias to openmpi/ | ||
- | intel64 | ||
- | 1.8.2-intel64 | ||
- | 1.8.2-gcc-4.8.3 | ||
- | 1.8 alias to openmpi/ | ||
- | * 1.8.2 Version 1.8.2, with GCC(system) compilers | ||
- | </ | ||
- | |||
- | The " | ||
- | |||
- | A verbose description of a package or package version can be displayed using the '' | ||
- | |||
- | < | ||
- | [user@host ~]$ vpkg_info openmpi/ | ||
- | [openmpi/ | ||
- | Version 1.8.2, with GCC(system) compilers | ||
- | prefix: / | ||
- | affect dev env: < | ||
- | add std paths: < | ||
- | } | ||
- | |||
- | </ | ||
- | |||
- | ===== Applying Environment Changes from Package(s) ===== | ||
- | |||
- | One or more packages are setup in the environment using the '' | ||
- | |||
- | < | ||
- | [user@host ~]$ vpkg_require openmpi/ | ||
- | </ | ||
- | |||
- | Any problems encountered will result in no changes being made to the environment. | ||
- | |||
- | < | ||
- | [user@host ~]$ vpkg_require openmpi/ | ||
- | ERROR: unable to add versioned package: openmpi/ | ||
- | </ | ||
- | |||
- | Problems may occur due to dependencies or incompatibilities that a version of a package has w.r.t. another package: | ||
- | |||
- | < | ||
- | [user@host ~]$ vpkg_require openmpi/ | ||
- | ERROR: unable to add versioned package: pgi/8 conflicts with version: pgi/10 | ||
- | [user@host ~]$ vpkg_require dummy gaussian | ||
- | ERROR: incompatibility detected between a previously added package and gaussian/ | ||
- | [user@host ~]$ vpkg_require gaussian dummy | ||
- | ERROR: incompatibility detected between dummy/ | ||
- | </ | ||
- | |||
- | ===== Undoing Environment Changes ===== | ||
- | |||
- | VALET attempts to make a snapshot of your environment prior to each invocation of '' | ||
- | |||
- | < | ||
- | [user@host ~]$ vpkg_rollback | ||
- | WARNING: no snapshots defined | ||
- | </ | ||
- | |||
- | The above message is displayed because '' | ||
- | |||
- | < | ||
- | [user@host ~]$ vpkg_rollback 2 | ||
- | </ | ||
- | |||
- | would perform two rollbacks. | ||
- | |||
- | < | ||
- | [user@host ~]$ vpkg_rollback all | ||
- | </ | ||
- | |||
- | ===== What If I Forget These Commands? ===== | ||
- | |||
- | No problem! | ||
- | |||
- | < | ||
- | [user@host ~]$ vpkg_help | ||
- | |||
- | Package ids: | ||
- | |||
- | A package is identified by an identifier and an optional version identifer separated | ||
- | by a forward slash: | ||
- | |||
- | | ||
- | | ||
- | | ||
- | |||
- | Commands are: | ||
- | |||
- | | ||
- | | ||
- | | ||
- | | ||
- | version of a package) | ||
- | | ||
- | to the environment | ||
- | | ||
- | to the environment; | ||
- | and CPPFLAGS variables with library/ | ||
- | for the packages | ||
- | | ||
- | existed before the last vpkg_require. | ||
- | argument does multiple rollback operations, e.g. | ||
- | " | ||
- | of " | ||
- | every call to " | ||
- | | ||
- | have been added to the environment. | ||
- | </ | ||
- | |||
- | ===== Can I Add My Own Packages? ===== | ||
- | |||
- | Sure! Version 1 of VALET exclusively used XML for specification of package files, and is documented in the next section. | ||
- | |||
- | To augment the system-wide package files, create a '' | ||
- | |||
- | <code sh> | ||
- | export VALET_PATH=" | ||
- | </ | ||
- | |||
- | The paths in '' | ||
- | |||
- | ====== Further Reading ====== | ||
- | |||
- | Please use the following links to continue learning about VALET. | ||
- | |||
- | * the XML language used in [[: | ||
- | * the XML language used in [[: | ||
- | * the JSON language used in [[: |