Treeinfo file format 1.1¶
Treeinfo files provide details about installable trees in Fedora composes and media.
Changes from 1.0¶
- Added ‘type’ field to ‘header’, “productmd.treeinfo” required
- Added ‘type’ field to ‘release’
- Added ‘type’ field to ‘base_product’
File Format¶
Treeinfo is an INI file. It’s recommended to sort sections and keys alphabetically in order to diff .treeinfo files easily.
[header]
type = <str> ; metadata type; "productmd.treeinfo" required; [new in 1.1]
version = 1.1 ; metadata version; format: $major<int>.$minor<int>
[release]
name = <str> ; release name, for example: "Fedora", "Red Hat Enterprise Linux", "Spacewalk"
short = <str> ; release short name, for example: "F", "RHEL", "Spacewalk"
version = <str> ; release version, for example: "21", "7.0", "2.1"
type = <str> ; release type, for example: "ga", "updates", "eus"; [new in 1.1]
is_layered = <bool=False> ; typically False for an operating system, True otherwise
[base_product]
name = <str> ; base product name, for example: "Fedora", "Red Hat Enterprise Linux"
short = <str> ; base product short name, for example: "F", "RHEL"
version = <str> ; base product *major* version, for example: "21", "7"
type = <str> ; base product release type, for example: "ga", "eus"; [new in 1.1]
[tree]
arch = <str> ; tree architecture, for example x86_64
build_timestamp = <int|float> ; tree build time timestamp; format: unix time
platforms = <str>[, <str> ...] ; supported platforms; for example x86_64,xen
variants = <str>[, <str> ...] ; UIDs of available variants, for example "Server,Workstation"
[checksums]
; checksums of selected files in a tree:
; * all repodata/repomd.xml
; * all images captured in [images-*] and [stage2] sections
$path = $checksum_type<str>:checksum_value<str>
[images-$platform<str>]
; images compatible with particular $platform
$file_name = $relative_path<str>
[stage2]
; optional section, available only on bootable media with Anaconda installer
instimage = <str> ; relative path to Anaconda instimage (obsolete)
mainimage = <str> ; relative path to Anaconda stage2 image
[media]
; optional section, available only on media
discnum = <int> ; disc number
totaldiscs = <int> ; number of discs in media set
[variant-$variant_uid]
id = <str> ; variant ID
uid = <str> ; variant UID ($parent_UID.$ID)
name = <str> ; variant name
type = <str> ; variant, optional
variants = <str>[,<str>...] ; UIDs of child variants
addons = <str>[,<str>...] ; UIDs of child addons
; variant paths
; all paths are relative to .treeinfo location
packages = <str> ; directory with binary RPMs
repository = <str> ; YUM repository with binary RPMs
source_packages = <str> ; directory with source RPMs
source_repository = <str> ; YUM repository with source RPMs
debug_packages = <str> ; directory with debug RPMs
debug_repository = <str> ; YUM repository with debug RPMs
identity = <str> ; path to a pem file that identifies a product
[addon-$addon_uid]
id = <str> ; addon ID
uid = <str> ; addon UID ($parent_UID.$ID)
name = <str> ; addon name
type = addon
; addon paths
; see variant paths
[general]
; WARNING.0 = This section provides compatibility with pre-productmd treeinfos.
; WARNING.1 = Read productmd documentation for details about new format.
family = <str> ; equal to [release]/name
version = <str> ; equal to [release]/version
name = <str> ; equal to "$family $version"
arch = <str> ; equal to [tree]/arch
platforms = <str>[,<str>...] ; equal to [tree]/platforms
packagedir = <str> ; equal to [variant-*]/packages
repository = <str> ; equal to [variant-*]/repository
timestamp = <int> ; equal to [tree]/build_timestamp
variant = <str> ; variant UID of first variant (sorted alphabetically)
Examples¶
Fedora 21 Server.x86_64 .treinfo converted to 1.0 format:
[checksums]
images/boot.iso = sha256:56af126a50c227d779a200b414f68ea7bcf58e21c8035500cd21ba164f85b9b4
images/efiboot.img = sha256:de48c8b25f03861c00c355ccf78108159f1f2aa63d0d63f92815146c24f60164
images/macboot.img = sha256:da76ff5490b4ae7e123f19b8f4b36efd6b7c435073551978d50c5181852a87f5
images/product.img = sha256:ffce14a7a95be20b36f302cb0698be8c19fda798807d3d63a491d6f7c1b23b5b
images/pxeboot/initrd.img = sha256:aadebd07c4c0f19304f0df7535a8f4218e5141602f95adec08ad1e22ff1e2d43
images/pxeboot/upgrade.img = sha256:224d098fb3903583b491692c5e0e1d20ea840d51f4da671ced97d422402bbf1c
images/pxeboot/vmlinuz = sha256:81c28a439f1d23786057d3b57db66e00b2b1a39b64d54de1a90cf2617e53c986
repodata/repomd.xml = sha256:3af1609aa27949bf1e02e9204a7d4da7efee470063dadbc3ea0be3ef7f1f4d14
[general]
arch = x86_64
family = Fedora
name = Fedora 21
packagedir = Packages
platforms = x86_64,xen
repository = .
timestamp = 1417653911
variant = Server
version = 21
[header]
version = 1.0
[images-x86_64]
boot.iso = images/boot.iso
initrd = images/pxeboot/initrd.img
kernel = images/pxeboot/vmlinuz
upgrade = images/pxeboot/upgrade.img
[images-xen]
initrd = images/pxeboot/initrd.img
kernel = images/pxeboot/vmlinuz
upgrade = images/pxeboot/upgrade.img
[release]
name = Fedora
short = Fedora
version = 21
type = ga
[stage2]
mainimage = LiveOS/squashfs.img
[tree]
arch = x86_64
build_timestamp = 1417653911
platforms = x86_64,xen
variants = Server
[variant-Server]
id = Server
name = Server
packages = Packages
repository = .
type = variant
uid = Server
Original Fedora 21 Server.x86_64 .treinfo file (before conversion):
[general]
name = Fedora-Server-21
family = Fedora-Server
timestamp = 1417653911.68
variant = Server
version = 21
packagedir =
arch = x86_64
[stage2]
mainimage = LiveOS/squashfs.img
[images-x86_64]
kernel = images/pxeboot/vmlinuz
initrd = images/pxeboot/initrd.img
upgrade = images/pxeboot/upgrade.img
boot.iso = images/boot.iso
[images-xen]
kernel = images/pxeboot/vmlinuz
initrd = images/pxeboot/initrd.img
upgrade = images/pxeboot/upgrade.img
[checksums]
images/efiboot.img = sha256:de48c8b25f03861c00c355ccf78108159f1f2aa63d0d63f92815146c24f60164
images/macboot.img = sha256:da76ff5490b4ae7e123f19b8f4b36efd6b7c435073551978d50c5181852a87f5
images/product.img = sha256:ffce14a7a95be20b36f302cb0698be8c19fda798807d3d63a491d6f7c1b23b5b
images/boot.iso = sha256:56af126a50c227d779a200b414f68ea7bcf58e21c8035500cd21ba164f85b9b4
images/pxeboot/vmlinuz = sha256:81c28a439f1d23786057d3b57db66e00b2b1a39b64d54de1a90cf2617e53c986
images/pxeboot/initrd.img = sha256:aadebd07c4c0f19304f0df7535a8f4218e5141602f95adec08ad1e22ff1e2d43
images/pxeboot/upgrade.img = sha256:224d098fb3903583b491692c5e0e1d20ea840d51f4da671ced97d422402bbf1c
repodata/repomd.xml = sha256:3af1609aa27949bf1e02e9204a7d4da7efee470063dadbc3ea0be3ef7f1f4d14