From Fedora Project Wiki
(create draft fedora image naming policy (for submission to releng))
 
(Define "image", approved on IRC by <adamw> walters: i don't have any particular objection to that or something like it.)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Summary ==
== Summary ==


Fedora images are named according to this scheme:
Fedora images (defined below) are named according to this scheme:


Fedora-{$PRODUCT(_SUBPRODUCT),$LOADOUT}-$IMAGETYPE-$ARCH-$VERSION(-$DATE)
Fedora-{'''$PRODUCT'''(_'''SUBPRODUCT'''),'''$LOADOUT'''}-'''$IMAGETYPE'''-'''$ARCH'''-'''$VERSION'''(-'''$DATE''')


Fields may only contain ASCII alphanumeric characters and underscores. Particularly of note, the character '-' is reserved for use as a field separator. No field may itself contain that character.
Fields may only contain ASCII alphanumeric characters and underscores. Particularly of note, the character '-' is reserved for use as a field separator. No field may itself contain that character.


Any image that forms part of a Fedora release, pre-release, test compose or release candidate build must contain "Fedora" as the first field, *either* $PRODUCT(_SUBPRODUCT) *or* $LOADOUT as the second field, and the fields $IMAGETYPE, $ARCH, and $VERSION as the third, fourth and fifth fields of its name.
Any image that forms part of a Fedora release, pre-release, test compose or release candidate build must contain "Fedora" as the first field, ''either'' '''$PRODUCT'''(_'''SUBPRODUCT''') ''or'' '''$LOADOUT''' as the second field, and '''$IMAGETYPE''', '''$ARCH''', and '''$VERSION''' as the third, fourth and fifth fields of its name.


Standard short forms of each field (except "Fedora"), for the purpose of producing <= 32 character volume IDs for ISO 9660 images, are defined below. Image filenames will use the full-length field values, ISO 9660 image volume IDs will use the shortened values.
Standard short forms of each field (except "Fedora"), for the purpose of producing <= 32 character volume IDs for ISO 9660 images, are defined below. Image filenames will use the full-length field values, ISO 9660 image volume IDs will use the shortened values.
Fedora image: A filename or ISO9660 volume ID.  This policy is '''not''' normative for anything besides those two things, such as yum repository names, OSTree "osnames" or refs, Docker images, etc.


== Fields ==
== Fields ==
Line 17: Line 19:
The second field for images that are part of a Fedora Product will be the name of that product. If the Product produces multiple image 'flavors', here referred to as subproducts, the subproduct is appended after an underscore. The content of this field prior to the first underscore must exactly match the name of a Fedora Product. e.g.:
The second field for images that are part of a Fedora Product will be the name of that product. If the Product produces multiple image 'flavors', here referred to as subproducts, the subproduct is appended after an underscore. The content of this field prior to the first underscore must exactly match the name of a Fedora Product. e.g.:


Server
* Server
Workstation
* Workstation
Cloud_Base
* Cloud_Base
Cloud_Big_Data
* Cloud_Big_Data


=== $LOADOUT ===
=== $LOADOUT ===
Line 26: Line 28:
The second field for images that are not part of a Fedora Product will be the image's 'loadout', a descriptor for the software content of the image. This will usually be the name of a desktop or a live spin. e.g.:
The second field for images that are not part of a Fedora Product will be the image's 'loadout', a descriptor for the software content of the image. This will usually be the name of a desktop or a live spin. e.g.:


KDE
* KDE
Minimal
* Minimal
Scientific_KDE
* Scientific_KDE
Electronic_Lab
* Electronic_Lab


=== $IMAGETYPE ===
=== $IMAGETYPE ===
Line 35: Line 37:
The third field for all images will be a descriptor of the image's type - live image, network install image, offline install image, disk image, etc. e.g.:
The third field for all images will be a descriptor of the image's type - live image, network install image, offline install image, disk image, etc. e.g.:


Live
* Live
netinst
* netinst
DVD
* DVD
Disk (or Image)
* Disk (or Image)


=== $ARCH ===
=== $ARCH ===
Line 44: Line 46:
The fourth field for all images will be the architecture of the image, defined as the yum basearch used in composing that image. e.g.
The fourth field for all images will be the architecture of the image, defined as the yum basearch used in composing that image. e.g.


i686
* i386
x86_64
* x86_64
armhfp
* armhfp


=== $VERSION ===
=== $VERSION ===
Line 52: Line 54:
The fifth field for all images will be the version of the image. At minimum this will be the release number. The milestone and test compose number may be appended with underscores if appropriate (release candidate numbers are never included; release candidate images are named as if they were release images). e.g.
The fifth field for all images will be the version of the image. At minimum this will be the release number. The milestone and test compose number may be appended with underscores if appropriate (release candidate numbers are never included; release candidate images are named as if they were release images). e.g.


21
* 21
21_Alpha
* 21_Alpha
21_Beta_TC1
* 21_Beta_TC1
21_Final_TC2
* 21_Final_TC2


=== $DATE ===
=== $DATE ===
Line 61: Line 63:
The date of the compose, in YYYYMMDD form, may optionally be appended as a sixth field for a given compose run. e.g.
The date of the compose, in YYYYMMDD form, may optionally be appended as a sixth field for a given compose run. e.g.


20140724
* 20140724


== Short forms ==
== Short forms ==


No short form for any field except $ARCH for any image may exceed four characters in length, including underscores.
No short form for any field except '''$ARCH''' for any image may exceed four characters in length, including underscores.


=== $PRODUCT(_SUBPRODUCT) ===
=== $PRODUCT(_SUBPRODUCT) ===
Line 71: Line 73:
The short forms of the Fedora Products are as follows:
The short forms of the Fedora Products are as follows:


Workstation: WS
* Workstation: WS
Cloud: C
* Cloud: C
Server: S
* Server: S


Subproduct short forms may be determined by the product working group and release engineering. As noted above, they may not exceed four total characters.
Subproduct short forms may be determined by the product working group and release engineering. As noted above, they may not exceed four total characters.
Line 81: Line 83:
The short forms of currently-used 'loadouts' are as follows:
The short forms of currently-used 'loadouts' are as follows:


Minimal: Min
* Minimal: Min
KDE: KDE
* KDE: KDE
LXDE: LXDE
* LXDE: LXDE
MATE-Compiz: MATE
* MATE_Compiz: MATE
SoaS: SoaS
* SoaS: SoaS
Xfce: Xfce
* Xfce: Xfce
Electronic_Lab: Elec
* Electronic_Lab: Elec
Robotics: Robo
* Robotics: Robo
Games: Game
* Games: Game
Jam_KDE: Jam
* Jam_KDE: Jam
Scientific_KDE: SciK
* Scientific_KDE: SciK
Security: Sec
* Security: Sec
* Design_Suite: Dsgn


=== $IMAGETYPE ===
=== $IMAGETYPE ===
Line 98: Line 101:
The short forms of currently-used 'image types' are as follows:
The short forms of currently-used 'image types' are as follows:


Live: Live
* Live: Live
DVD: DVD
* DVD: DVD
netinst: net
* netinst: net
Disk: Disk
* Disk: Disk


=== $ARCH ===
=== $ARCH ===
Line 111: Line 114:
The full form of the release number is used as the short form. The short forms of milestone identifiers are as follows:
The full form of the release number is used as the short form. The short forms of milestone identifiers are as follows:


Alpha: A
* Alpha: A
Beta: B
* Beta: B
Final: F
* Final: F


The short form of the test compose identifier "TC" is "T"; the number component is not be changed. e.g. "TC1" -> "T1".
The short form of the test compose identifier '''TC''' is '''T'''; the number component is not changed. e.g. '''TC1''' -> '''T1'''.


e.g.
e.g.


21_Alpha_TC1 shortens to 21_A_T1
* '''21_Alpha_TC1''' shortens to '''21_A_T1'''
22_Beta shortens to 22_B
* '''22_Beta''' shortens to '''22_B'''


=== $DATE ===
=== $DATE ===


The $DATE field is omitted entirely when short forms are in use (i.e. when generating volume IDs for ISO 9660 images).
The '''$DATE''' field is omitted entirely when short forms are in use (i.e. when generating volume IDs for ISO 9660 images).


== Examples ==
== Examples ==


Filename: Fedora-Workstation-Live-x86_64-21_Alpha_TC1.iso
* Filename: {{filename|Fedora-Workstation-Live-x86_64-21_Alpha_TC1.iso}}
Volume ID: Fedora-WS-Live-x86_64-21_A_T1 (29 char)
* Volume ID: {{filename|Fedora-WS-Live-x86_64-21_A_T1}} (29 char)


Filename: Fedora-Scientific_KDE-Live-x86_64-22_Beta_TC2.iso
* Filename: {{filename|Fedora-Scientific_KDE-Live-x86_64-22_Beta_TC2.iso}}
Volume ID: Fedora-SciK-Live-x86_64-21-B_T2 (31 char)
* Volume ID: {{filename|Fedora-SciK-Live-x86_64-21-B_T2}} (31 char)


Filename: Fedora-Server-netinst-i686-23.iso
* Filename: {{filename|Fedora-Server-netinst-i386-23.iso}}
Volume ID: Fedora-S-net-i686-23 (20 char)
* Volume ID: {{filename|Fedora-S-net-i386-23}} (20 char)


Filename: Fedora-MATE_Compiz-Disk-armhfp-24_Final_TC3.raw.xz
* Filename: {{filename|Fedora-MATE_Compiz-Disk-armhfp-24_Final_TC3.raw.xz}}
Volume ID: Fedora-MATE-Disk-armhfp-24_F_T3 (31 char)
* Volume ID: N/A (disk images do not have them)

Latest revision as of 11:49, 5 May 2015

Summary

Fedora images (defined below) are named according to this scheme:

Fedora-{$PRODUCT(_SUBPRODUCT),$LOADOUT}-$IMAGETYPE-$ARCH-$VERSION(-$DATE)

Fields may only contain ASCII alphanumeric characters and underscores. Particularly of note, the character '-' is reserved for use as a field separator. No field may itself contain that character.

Any image that forms part of a Fedora release, pre-release, test compose or release candidate build must contain "Fedora" as the first field, either $PRODUCT(_SUBPRODUCT) or $LOADOUT as the second field, and $IMAGETYPE, $ARCH, and $VERSION as the third, fourth and fifth fields of its name.

Standard short forms of each field (except "Fedora"), for the purpose of producing <= 32 character volume IDs for ISO 9660 images, are defined below. Image filenames will use the full-length field values, ISO 9660 image volume IDs will use the shortened values.

Fedora image: A filename or ISO9660 volume ID. This policy is not normative for anything besides those two things, such as yum repository names, OSTree "osnames" or refs, Docker images, etc.

Fields

$PRODUCT(_SUBPRODUCT)

The second field for images that are part of a Fedora Product will be the name of that product. If the Product produces multiple image 'flavors', here referred to as subproducts, the subproduct is appended after an underscore. The content of this field prior to the first underscore must exactly match the name of a Fedora Product. e.g.:

  • Server
  • Workstation
  • Cloud_Base
  • Cloud_Big_Data

$LOADOUT

The second field for images that are not part of a Fedora Product will be the image's 'loadout', a descriptor for the software content of the image. This will usually be the name of a desktop or a live spin. e.g.:

  • KDE
  • Minimal
  • Scientific_KDE
  • Electronic_Lab

$IMAGETYPE

The third field for all images will be a descriptor of the image's type - live image, network install image, offline install image, disk image, etc. e.g.:

  • Live
  • netinst
  • DVD
  • Disk (or Image)

$ARCH

The fourth field for all images will be the architecture of the image, defined as the yum basearch used in composing that image. e.g.

  • i386
  • x86_64
  • armhfp

$VERSION

The fifth field for all images will be the version of the image. At minimum this will be the release number. The milestone and test compose number may be appended with underscores if appropriate (release candidate numbers are never included; release candidate images are named as if they were release images). e.g.

  • 21
  • 21_Alpha
  • 21_Beta_TC1
  • 21_Final_TC2

$DATE

The date of the compose, in YYYYMMDD form, may optionally be appended as a sixth field for a given compose run. e.g.

  • 20140724

Short forms

No short form for any field except $ARCH for any image may exceed four characters in length, including underscores.

$PRODUCT(_SUBPRODUCT)

The short forms of the Fedora Products are as follows:

  • Workstation: WS
  • Cloud: C
  • Server: S

Subproduct short forms may be determined by the product working group and release engineering. As noted above, they may not exceed four total characters.

$LOADOUT

The short forms of currently-used 'loadouts' are as follows:

  • Minimal: Min
  • KDE: KDE
  • LXDE: LXDE
  • MATE_Compiz: MATE
  • SoaS: SoaS
  • Xfce: Xfce
  • Electronic_Lab: Elec
  • Robotics: Robo
  • Games: Game
  • Jam_KDE: Jam
  • Scientific_KDE: SciK
  • Security: Sec
  • Design_Suite: Dsgn

$IMAGETYPE

The short forms of currently-used 'image types' are as follows:

  • Live: Live
  • DVD: DVD
  • netinst: net
  • Disk: Disk

$ARCH

The full forms of all currently-used architectures are used as the short forms.

$VERSION

The full form of the release number is used as the short form. The short forms of milestone identifiers are as follows:

  • Alpha: A
  • Beta: B
  • Final: F

The short form of the test compose identifier TC is T; the number component is not changed. e.g. TC1 -> T1.

e.g.

  • 21_Alpha_TC1 shortens to 21_A_T1
  • 22_Beta shortens to 22_B

$DATE

The $DATE field is omitted entirely when short forms are in use (i.e. when generating volume IDs for ISO 9660 images).

Examples

  • Filename: Fedora-Workstation-Live-x86_64-21_Alpha_TC1.iso
  • Volume ID: Fedora-WS-Live-x86_64-21_A_T1 (29 char)
  • Filename: Fedora-Scientific_KDE-Live-x86_64-22_Beta_TC2.iso
  • Volume ID: Fedora-SciK-Live-x86_64-21-B_T2 (31 char)
  • Filename: Fedora-Server-netinst-i386-23.iso
  • Volume ID: Fedora-S-net-i386-23 (20 char)
  • Filename: Fedora-MATE_Compiz-Disk-armhfp-24_Final_TC3.raw.xz
  • Volume ID: N/A (disk images do not have them)