This module provides classes for manipulating composeinfo.json files. composeifo.json files provide details about composes which includes product information, variants, architectures and paths.
supported compose types
supported milestone label names
supported variant types
This class only encapsulates other classes with actual data.
(BaseProduct) – Base product details (optional)
Dump data to a file.
Parameters: | f (file or str) – file-like object or path to file |
---|
Dump data to a string.
Return type: | str |
---|
Load data from a file.
Parameters: | f (file or str) – file-like object or path to file |
---|
Load data from a string.
Parameters: | s (str) – input data |
---|
Validate attributes by running all self._validate_*() methods.
Raises: |
|
---|
Return major version for a label.
Examples: Beta-1.2 -> Beta-1, GA -> GA
This class represents a product release.
(str) – Release name, for example: “Fedora”, “Red Hat Enterprise Linux”
(str) – Release version (incl. minor version), for example: “20”, “7.0”
(str) – Release short name, for example: “f”, “rhel”
(bool=False) – Determines if release is a layered product
This class represents a base product a release is based on. For example: Spacewalk 2.2 release requires Fedora 20 base product. Information from this class is used only if release.is_layered is set.
(str) – Product name, for example: “Fedora”, “Red Hat Enterprise Linux”
(str) – Product version (typically major version), for example: “20”, “7”
(str) – Product short name, for example: “f”, “rhel”
This class is a container for compose variants.
(str) – variant ID, for example: “Client”, “Server”, “optional”
(str) – variant unique ID: $PARENT_UID-$ID, for example: “Server-optional”
(str) – variant name (pretty text), for example: “Enterprise Server”
(str) – variant type, see VARIANT_TYPES for supported values
(set(<str>)) – set of arches for a variant
(dict) – child variants
(VariantPaths) – path mappings for a variant
This class stores relative paths for a variant in a compose. Paths are represented as dictionaries mapping arches to actual paths. List of supported paths follows.
Binary
- os_tree – installable tree with binary RPMs, kickstart trees, readme etc.
- packages – directory with binary RPMs
- repository – YUM repository with binary RPMs
- isos – Binary ISOs
- jigdos – Jigdo files for binary ISOs
Source
- source_tree – tree with source RPMs
- source_packages – directory with source RPMs
- source_repository – YUM repository with source RPMs
- source_isos – Source ISOs
- source_jigdos – Jigdo files for source ISOs
Debug
- debug_tree – tree with debug RPMs
- debug_packages – directory with debug RPMs
- debug_repository – YUM repository with debug RPMs
Example:
self.os_tree = {
"i386": "Server/i386/os",
"x86_64": "Server/x86_64/os",
}
self.packages = {
"i386": "Server/i386/os/Packages",
"x86_64": "Server/x86_64/os/Packages",
}