docs/develop/packages: More fixes to syntax.

This commit is contained in:
Augustin Cavalier
2018-01-10 16:48:08 -05:00
parent fc2b04e7e4
commit 7a988ea15b
+240 -268
View File
@@ -1,5 +1,3 @@
[[PageOutline(2-3, Contents)]]
== Haiku Package File Format == == Haiku Package File Format ==
This document specifies the Haiku Package (HPKG) file format, which was designed for efficient use by Haiku's package file system. It is somewhat inspired by the [http://code.google.com/p/xar/ XAR format] (separate TOC and data heap), but aims for greater compactness (no XML for the TOC). This document specifies the Haiku Package (HPKG) file format, which was designed for efficient use by Haiku's package file system. It is somewhat inspired by the [http://code.google.com/p/xar/ XAR format] (separate TOC and data heap), but aims for greater compactness (no XML for the TOC).
@@ -214,21 +212,15 @@ A value of each of the data types can be encoded in different ways, which is def
!0 !0
!B_HPKG_ATTRIBUTE_ENCODING_INT_8_BIT !B_HPKG_ATTRIBUTE_ENCODING_INT_8_BIT
!int8/uint8 !int8/uint8
|} |-
{| border=1 class="simple"
!1 !1
!B_HPKG_ATTRIBUTE_ENCODING_INT_16_BIT !B_HPKG_ATTRIBUTE_ENCODING_INT_16_BIT
!int16/uint16 !int16/uint16
|} |-
{| border=1 class="simple"
!2 !2
!B_HPKG_ATTRIBUTE_ENCODING_INT_32_BIT !B_HPKG_ATTRIBUTE_ENCODING_INT_32_BIT
!int32/uint32 !int32/uint32
|} |-
{| border=1 class="simple"
!3 !3
!B_HPKG_ATTRIBUTE_ENCODING_INT_64_BIT !B_HPKG_ATTRIBUTE_ENCODING_INT_64_BIT
!int64/uint64 !int64/uint64
@@ -241,9 +233,7 @@ A value of each of the data types can be encoded in different ways, which is def
!0 !0
!B_HPKG_ATTRIBUTE_ENCODING_STRING_INLINE !B_HPKG_ATTRIBUTE_ENCODING_STRING_INLINE
!null-terminated UTF-8 string !null-terminated UTF-8 string
|} |-
{| border=1 class="simple"
!1 !1
!B_HPKG_ATTRIBUTE_ENCODING_STRING_TABLE !B_HPKG_ATTRIBUTE_ENCODING_STRING_TABLE
!unsigned LEB128: index into string table !unsigned LEB128: index into string table
@@ -256,9 +246,7 @@ A value of each of the data types can be encoded in different ways, which is def
!0 !0
!B_HPKG_ATTRIBUTE_ENCODING_RAW_INLINE !B_HPKG_ATTRIBUTE_ENCODING_RAW_INLINE
!unsigned LEB128: size; followed by raw bytes !unsigned LEB128: size; followed by raw bytes
|} |-
{| border=1 class="simple"
!1 !1
!B_HPKG_ATTRIBUTE_ENCODING_RAW_HEAP !B_HPKG_ATTRIBUTE_ENCODING_RAW_HEAP
!unsigned LEB128: size; unsigned LEB128: offset into the uncompressed heap !unsigned LEB128: size; unsigned LEB128: offset into the uncompressed heap
@@ -307,10 +295,10 @@ could be represented by this attribute tree:
The following attribute IDs are specified by the archive format. Any other attributes will be ignored. The following attribute IDs are specified by the archive format. Any other attributes will be ignored.
==== B_HPKG_ATTRIBUTE_ID_DIRECTORY_ENTRY ("dir:entry") ==== ==== B_HPKG_ATTRIBUTE_ID_DIRECTORY_ENTRY ("dir:entry") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' File name of the entry. * '''Value:''' File name of the entry.
- '''Allowed Values:''' Any valid file (not path!) name, save "." and "..". * '''Allowed Values:''' Any valid file (not path!) name, save "." and "..".
- '''Child Attributes:''' * '''Child Attributes:'''
- B_HPKG_ATTRIBUTE_ID_FILE_TYPE: The file type of the entry. - B_HPKG_ATTRIBUTE_ID_FILE_TYPE: The file type of the entry.
- B_HPKG_ATTRIBUTE_ID_FILE_PERMISSIONS: The file permissions of the entry. - B_HPKG_ATTRIBUTE_ID_FILE_PERMISSIONS: The file permissions of the entry.
- B_HPKG_ATTRIBUTE_ID_FILE_USER: The owning user of the entry. - B_HPKG_ATTRIBUTE_ID_FILE_USER: The owning user of the entry.
@@ -324,9 +312,9 @@ The following attribute IDs are specified by the archive format. Any other attri
- B_HPKG_ATTRIBUTE_ID_DIRECTORY_ENTRY: Only if the entry is a directory: A child entry in that directory. - B_HPKG_ATTRIBUTE_ID_DIRECTORY_ENTRY: Only if the entry is a directory: A child entry in that directory.
==== B_HPKG_ATTRIBUTE_ID_FILE_TYPE ("file:type") ==== ==== B_HPKG_ATTRIBUTE_ID_FILE_TYPE ("file:type") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' Type of the entry. * '''Value:''' Type of the entry.
- '''Allowed Values:''' * '''Allowed Values:'''
{| border=1 class="simple" {| border=1 class="simple"
!0 !0
@@ -346,97 +334,97 @@ The following attribute IDs are specified by the archive format. Any other attri
!symlink !symlink
|} |}
- '''Default Value:''' B_HPKG_FILE_TYPE_FILE * '''Default Value:''' B_HPKG_FILE_TYPE_FILE
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_FILE_PERMISSIONS ("file:permissions") ==== ==== B_HPKG_ATTRIBUTE_ID_FILE_PERMISSIONS ("file:permissions") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' File permissions. * '''Value:''' File permissions.
- '''Allowed Values:''' Any valid permission mask. * '''Allowed Values:''' Any valid permission mask.
- '''Default Value:''' * '''Default Value:'''
- For files: 0644 (octal). - For files: 0644 (octal).
- For directories: 0755 (octal). - For directories: 0755 (octal).
- For symlinks: 0777 (octal). - For symlinks: 0777 (octal).
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_FILE_USER ("file:user") ==== ==== B_HPKG_ATTRIBUTE_ID_FILE_USER ("file:user") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of the user owning the file. * '''Value:''' Name of the user owning the file.
- '''Allowed Values:''' Any non-empty string. * '''Allowed Values:''' Any non-empty string.
- '''Default Value:''' The user owning the installation location where the package is activated. * '''Default Value:''' The user owning the installation location where the package is activated.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_FILE_GROUP ("file:group") ==== ==== B_HPKG_ATTRIBUTE_ID_FILE_GROUP ("file:group") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of the group owning the file. * '''Value:''' Name of the group owning the file.
- '''Allowed Values:''' Any non-empty string. * '''Allowed Values:''' Any non-empty string.
- '''Default Value:''' The group owning the installation location where the package is activated. * '''Default Value:''' The group owning the installation location where the package is activated.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_FILE_ATIME ("file:atime") ==== ==== B_HPKG_ATTRIBUTE_ID_FILE_ATIME ("file:atime") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' File access time (seconds since the Epoch). * '''Value:''' File access time (seconds since the Epoch).
- '''Allowed Values:''' Any value. * '''Allowed Values:''' Any value.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_FILE_ATIME_NANOS ("file:mtime:nanos") ==== ==== B_HPKG_ATTRIBUTE_ID_FILE_ATIME_NANOS ("file:mtime:nanos") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' The nano seconds fraction of the file access time. * '''Value:''' The nano seconds fraction of the file access time.
- '''Allowed Values:''' Any value in [0, 999999999]. * '''Allowed Values:''' Any value in [0, 999999999].
- '''Default Value:''' 0 * '''Default Value:''' 0
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_FILE_MTIME ("file:mtime") ==== ==== B_HPKG_ATTRIBUTE_ID_FILE_MTIME ("file:mtime") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' File modified time (seconds since the Epoch). * '''Value:''' File modified time (seconds since the Epoch).
- '''Allowed Values:''' Any value. * '''Allowed Values:''' Any value.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_FILE_MTIME_NANOS ("file:mtime:nanos") ==== ==== B_HPKG_ATTRIBUTE_ID_FILE_MTIME_NANOS ("file:mtime:nanos") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' The nano seconds fraction of the file modified time. * '''Value:''' The nano seconds fraction of the file modified time.
- '''Allowed Values:''' Any value in [0, 999999999]. * '''Allowed Values:''' Any value in [0, 999999999].
- '''Default Value:''' 0 * '''Default Value:''' 0
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_FILE_CRTIME ("file:crtime") ==== ==== B_HPKG_ATTRIBUTE_ID_FILE_CRTIME ("file:crtime") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' File creation time (seconds since the Epoch). * '''Value:''' File creation time (seconds since the Epoch).
- '''Allowed Values:''' Any value. * '''Allowed Values:''' Any value.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_FILE_CRTIM_NANOS ("file:crtime:nanos") ==== ==== B_HPKG_ATTRIBUTE_ID_FILE_CRTIM_NANOS ("file:crtime:nanos") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' The nano seconds fraction of the file creation time. * '''Value:''' The nano seconds fraction of the file creation time.
- '''Allowed Values:''' Any value in [0, 999999999]. * '''Allowed Values:''' Any value in [0, 999999999].
- '''Default Value:''' 0 * '''Default Value:''' 0
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_FILE_ATTRIBUTE ("file:attribute") ==== ==== B_HPKG_ATTRIBUTE_ID_FILE_ATTRIBUTE ("file:attribute") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of the extended file attribute. * '''Value:''' Name of the extended file attribute.
- '''Allowed Values:''' Any valid attribute name. * '''Allowed Values:''' Any valid attribute name.
- '''Child Attributes:''' * '''Child Attributes:'''
- B_HPKG_ATTRIBUTE_ID_FILE_ATTRIBUTE_TYPE: The type of the file attribute. - B_HPKG_ATTRIBUTE_ID_FILE_ATTRIBUTE_TYPE: The type of the file attribute.
- B_HPKG_ATTRIBUTE_ID_DATA: The file attribute data. - B_HPKG_ATTRIBUTE_ID_DATA: The file attribute data.
==== B_HPKG_ATTRIBUTE_ID_FILE_ATTRIBUTE_TYPE ("file:attribute:type") ==== ==== B_HPKG_ATTRIBUTE_ID_FILE_ATTRIBUTE_TYPE ("file:attribute:type") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' Type of the file attribute. * '''Value:''' Type of the file attribute.
- '''Allowed Values:''' Any value in [0, 0xffffffff]. * '''Allowed Values:''' Any value in [0, 0xffffffff].
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_DATA ("data") ==== ==== B_HPKG_ATTRIBUTE_ID_DATA ("data") ====
- '''Type:''' data * '''Type:''' data
- '''Value:''' Raw data of a file or attribute. * '''Value:''' Raw data of a file or attribute.
- '''Allowed Values:''' Any value. * '''Allowed Values:''' Any value.
==== B_HPKG_ATTRIBUTE_ID_SYMLINK_PATH ("symlink:path") ==== ==== B_HPKG_ATTRIBUTE_ID_SYMLINK_PATH ("symlink:path") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' The path the symlink refers to. * '''Value:''' The path the symlink refers to.
- '''Allowed Values:''': Any valid symlink path. * '''Allowed Values:''': Any valid symlink path.
- '''Default Value:''': Empty string. * '''Default Value:''': Empty string.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== TOC Attributes ==== ==== TOC Attributes ====
@@ -497,204 +485,188 @@ could be represented by this attribute tree:
The following attribute IDs are specified by the package format. Any other attributes will be rejected. The following attribute IDs are specified by the package format. Any other attributes will be rejected.
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_NAME ("package:name") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_NAME ("package:name") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of the package. * '''Value:''' Name of the package.
- '''Allowed Values:''' Any string matching <entity_name_char>+, with <entity_name_char> being any character but '-', '/', '=', '!', '<', '>', or whitespace. * '''Allowed Values:''' Any string matching <entity_name_char>+, with <entity_name_char> being any character but '-', '/', '=', '!', '<', '>', or whitespace.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_SUMMARY ("package:summary") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_SUMMARY ("package:summary") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Short description of the package. * '''Value:''' Short description of the package.
- '''Allowed Values:''' Any single-lined string. * '''Allowed Values:''' Any single-lined string.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_DESCRIPTION ("package:description") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_DESCRIPTION ("package:description") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Long description of the package. * '''Value:''' Long description of the package.
- '''Allowed Values:''' Any string (may contain multiple lines). * '''Allowed Values:''' Any string (may contain multiple lines).
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_VENDOR ("package:vendor") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_VENDOR ("package:vendor") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of the person/organization that is publishing this package. * '''Value:''' Name of the person/organization that is publishing this package.
- '''Allowed Values:''' Any single-lined string. * '''Allowed Values:''' Any single-lined string.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_PACKAGER ("package:packager") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_PACKAGER ("package:packager") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' E-Mail address of person that created this package. * '''Value:''' E-Mail address of person that created this package.
- '''Allowed Values:''' Any single-lined string, but e-mail preferred. * '''Allowed Values:''' Any single-lined string, but e-mail preferred.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_BASE_PACKAGE ("package:base-package") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_BASE_PACKAGE ("package:base-package") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of the package that is the base package for this package. The base package must also be listed as a requirement for this package (cf. B_HPKG_ATTRIBUTE_ID_PACKAGE_REQUIRES). The package manager shall ensure that this package is installed in the same installation location as its base package. * '''Value:''' Name of the package that is the base package for this package. The base package must also be listed as a requirement for this package (cf. B_HPKG_ATTRIBUTE_ID_PACKAGE_REQUIRES). The package manager shall ensure that this package is installed in the same installation location as its base package.
- '''Allowed Values:''' Valid package names. * '''Allowed Values:''' Valid package names.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_FLAGS ("package:flags") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_FLAGS ("package:flags") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' Set of boolean flags applying to package. * '''Value:''' Set of boolean flags applying to package.
- '''Allowed Values:''' Any combination of the following. * '''Allowed Values:''' Any combination of the following.
{| border=1 class="simple" {| border=1 class="simple"
!1 !1
!B_PACKAGE_FLAG_APPROVE_LICENSE !B_PACKAGE_FLAG_APPROVE_LICENSE
!this package's license requires approval (i.e. must be shown to and acknowledged by user before installation) !this package's license requires approval (i.e. must be shown to and acknowledged by user before installation)
|} |-
{| border=1 class="simple"
!2 !2
!B_PACKAGE_FLAG_SYSTEM_PACKAGE !B_PACKAGE_FLAG_SYSTEM_PACKAGE
!this is a system package (i.e. lives under /boot/system) !this is a system package (i.e. lives under /boot/system)
|} |}
- '''Default Value:''' 0. * '''Default Value:''' 0.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_ARCHITECTURE ("package:architecture") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_ARCHITECTURE ("package:architecture") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' System architecture this package was built for. * '''Value:''' System architecture this package was built for.
- '''Allowed Values:''' * '''Allowed Values:'''
{| border=1 class="simple" {| border=1 class="simple"
!0 !0
!B_PACKAGE_ARCHITECTURE_ANY !B_PACKAGE_ARCHITECTURE_ANY
!this package doesn't depend on the system architecture !this package doesn't depend on the system architecture
|} |-
{| border=1 class="simple"
!1 !1
!B_PACKAGE_ARCHITECTURE_X86 !B_PACKAGE_ARCHITECTURE_X86
!x86, 32-bit, built with gcc4 !x86, 32-bit, built with gcc4
|} |-
{| border=1 class="simple"
!2 !2
!B_PACKAGE_ARCHITECTURE_X86_GCC2 !B_PACKAGE_ARCHITECTURE_X86_GCC2
!x86, 32-bit, built with gcc2 !x86, 32-bit, built with gcc2
|} |-
{| border=1 class="simple"
!3 !3
!B_PACKAGE_ARCHITECTURE_SOURCE !B_PACKAGE_ARCHITECTURE_SOURCE
!source code, doesn't depend on the system architecture !source code, doesn't depend on the system architecture
|} |-
{| border=1 class="simple"
!4 !4
!B_PACKAGE_ARCHITECTURE_X86_64 !B_PACKAGE_ARCHITECTURE_X86_64
!x86-64 !x86-64
|} |-
{| border=1 class="simple"
!5 !5
!B_PACKAGE_ARCHITECTURE_PPC !B_PACKAGE_ARCHITECTURE_PPC
!PowerPC !PowerPC
|} |-
{| border=1 class="simple"
!6 !6
!B_PACKAGE_ARCHITECTURE_ARM !B_PACKAGE_ARCHITECTURE_ARM
!ARM !ARM
|} |-
{| border=1 class="simple"
!7 !7
!B_PACKAGE_ARCHITECTURE_M68K !B_PACKAGE_ARCHITECTURE_M68K
!m68k !m68k
|} |}
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR ("package:version.major") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR ("package:version.major") ====
- '''Type:''' string *'''Type:''' string
- '''Value:''' Major (first) part of package version. * '''Value:''' Major (first) part of package version.
- '''Allowed Values:''' Any single-lined string, composed of <alphanum_underline> * '''Allowed Values:''' Any single-lined string, composed of <alphanum_underline>
- '''Child Attributes:''' * '''Child Attributes:'''
- B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MINOR: The minor part of the package version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MINOR: The minor part of the package version.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MICRO: The micro part of the package version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MICRO: The micro part of the package version.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_PRE_RELEASE: The pre-release part of the package version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_PRE_RELEASE: The pre-release part of the package version.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_REVISION: The revision part of the package version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_REVISION: The revision part of the package version.
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MINOR ("package:version.minor") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MINOR ("package:version.minor") ====
- '''Type:''' string *'''Type:''' string
- '''Value:''' Minor (second) part of package version. *'''Value:''' Minor (second) part of package version.
- '''Allowed Values:''' Any single-lined string, composed of <alphanum_underline>. *'''Allowed Values:''' Any single-lined string, composed of <alphanum_underline>.
- '''Child Attributes:''' none *'''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MICRO ("package:version.micro") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MICRO ("package:version.micro") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Micro (third) part of package version. * '''Value:''' Micro (third) part of package version.
- '''Allowed Values:''' Any single-lined string, composed of <alphanum_underline_dot>. * '''Allowed Values:''' Any single-lined string, composed of <alphanum_underline_dot>.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_PRE_RELEASE ("package:version.prerelease") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_PRE_RELEASE ("package:version.prerelease") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Pre-release (fourth) part of package version. Typically something like "alpha1", "beta2", "rc3". * '''Value:''' Pre-release (fourth) part of package version. Typically something like "alpha1", "beta2", "rc3".
- '''Allowed Values:''' Any single-lined string, composed of <alphanum_underline_dot>. * '''Allowed Values:''' Any single-lined string, composed of <alphanum_underline_dot>.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_REVISION ("package:version.revision") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_REVISION ("package:version.revision") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' Revision (fifth) part of package version. * '''Value:''' Revision (fifth) part of package version.
- '''Allowed Values:''' Any integer greater than 0. * '''Allowed Values:''' Any integer greater than 0.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_COPYRIGHT ("package:copyright") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_COPYRIGHT ("package:copyright") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Copyright applying to the software contained in this package. * '''Value:''' Copyright applying to the software contained in this package.
- '''Allowed Values:''' Any (preferably single-lined) string. * '''Allowed Values:''' Any (preferably single-lined) string.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_LICENSE ("package:license") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_LICENSE ("package:license") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of license applying to the software contained in this package. * '''Value:''' Name of license applying to the software contained in this package.
- '''Allowed Values:''' Any single-lined string. * '''Allowed Values:''' Any single-lined string.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_URL ("package:url") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_URL ("package:url") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' URL of the packaged software's project home page. * '''Value:''' URL of the packaged software's project home page.
- '''Allowed Values:''' A regular URL or an email-like named URL (e.g. "Project Foo <http://foo.example.com>"). * '''Allowed Values:''' A regular URL or an email-like named URL (e.g. "Project Foo <http://foo.example.com>").
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_SOURCE_URL ("package:source-url") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_SOURCE_URL ("package:source-url") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' URL of the packaged software's source code or build instructions. * '''Value:''' URL of the packaged software's source code or build instructions.
- '''Allowed Values:''' A regular URL or an email-like named URL (e.g. "Project Foo <http://foo.example.com>"). * '''Allowed Values:''' A regular URL or an email-like named URL (e.g. "Project Foo <http://foo.example.com>").
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_PROVIDES ("package:provides") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_PROVIDES ("package:provides") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of a (optionally typed) entity that is being provided by this package. * '''Value:''' Name of a (optionally typed) entity that is being provided by this package.
- '''Allowed Values:''' Any string matching <entity_name_char>+. * '''Allowed Values:''' Any string matching <entity_name_char>+.
- '''Child Attributes:''' none * '''Child Attributes:''' none
- B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR: The major part of the resolvable version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR: The major part of the resolvable version.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_PROVIDES_COMPATIBLE: The major part of the resolvable compatible version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_PROVIDES_COMPATIBLE: The major part of the resolvable compatible version.
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_PROVIDES_COMPATIBLE ("package:provides.compatible") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_PROVIDES_COMPATIBLE ("package:provides.compatible") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Major (first) part of the resolvable compatible version, structurally identical to B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR. * '''Value:''' Major (first) part of the resolvable compatible version, structurally identical to B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR.
- '''Allowed Values:''' Any string matching <entity_name_char>+. * '''Allowed Values:''' Any string matching <entity_name_char>+.
- '''Child Attributes:''' * '''Child Attributes:'''
- B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MINOR: The minor part of the resolvable compatible version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MINOR: The minor part of the resolvable compatible version.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MICRO: The micro part of the resolvable compatible version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MICRO: The micro part of the resolvable compatible version.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_PRE_RELEASE: The pre-release part of the resolvable compatible version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_PRE_RELEASE: The pre-release part of the resolvable compatible version.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_REVISION: The revision part of the resolvable compatible version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_REVISION: The revision part of the resolvable compatible version.
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_REQUIRES ("package:requires") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_REQUIRES ("package:requires") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of an entity that is required by this package (and hopefully being provided by another). * '''Value:''' Name of an entity that is required by this package (and hopefully being provided by another).
- '''Allowed Values:''' Any string matching <entity_name_char>+. * '''Allowed Values:''' Any string matching <entity_name_char>+.
- '''Child Attributes:''' * '''Child Attributes:'''
- B_HPKG_ATTRIBUTE_ID_PACKAGE_RESOLVABLE_OPERATOR: The resolvable operator as int. - B_HPKG_ATTRIBUTE_ID_PACKAGE_RESOLVABLE_OPERATOR: The resolvable operator as int.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR: The major part of the resolvable version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR: The major part of the resolvable version.
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_RESOLVABLE_OPERATOR ("package:resolvable.operator") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_RESOLVABLE_OPERATOR ("package:resolvable.operator") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' Comparison operator for versions. * '''Value:''' Comparison operator for versions.
- '''Allowed Values:''' * '''Allowed Values:'''
{| border=1 class="simple" {| border=1 class="simple"
!0 !0
@@ -732,64 +704,64 @@ The following attribute IDs are specified by the package format. Any other attri
!greater than or equal to the specified version !greater than or equal to the specified version
|} |}
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_SUPPLEMENTS ("package:supplements") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_SUPPLEMENTS ("package:supplements") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of an entity that is supplemented by this package (i.e. this package will automatically be selected for installation if the supplemented resolvables are already installed). * '''Value:''' Name of an entity that is supplemented by this package (i.e. this package will automatically be selected for installation if the supplemented resolvables are already installed).
- '''Allowed Values:''' Any string matching <entity_name_char>+. * '''Allowed Values:''' Any string matching <entity_name_char>+.
- '''Child Attributes:''' * '''Child Attributes:'''
- B_HPKG_ATTRIBUTE_ID_PACKAGE_RESOLVABLE_OPERATOR: The resolvable operator as int. - B_HPKG_ATTRIBUTE_ID_PACKAGE_RESOLVABLE_OPERATOR: The resolvable operator as int.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR: The major part of the resolvable version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR: The major part of the resolvable version.
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_CONFLICTS ("package:conflicts") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_CONFLICTS ("package:conflicts") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of an entity that this package conflicts with (i.e. only one of both can be installed at any time). * '''Value:''' Name of an entity that this package conflicts with (i.e. only one of both can be installed at any time).
- '''Allowed Values:''' Any string matching <entity_name_char>+. * '''Allowed Values:''' Any string matching <entity_name_char>+.
- '''Child Attributes:''' * '''Child Attributes:'''
- B_HPKG_ATTRIBUTE_ID_PACKAGE_RESOLVABLE_OPERATOR: The resolvable operator as int. - B_HPKG_ATTRIBUTE_ID_PACKAGE_RESOLVABLE_OPERATOR: The resolvable operator as int.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR: The major part of the resolvable version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR: The major part of the resolvable version.
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_FRESHENS ("package:freshens") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_FRESHENS ("package:freshens") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of an entity that is being freshened by this package (i.e. this package will patch one or more files of the package that provide this resolvable). * '''Value:''' Name of an entity that is being freshened by this package (i.e. this package will patch one or more files of the package that provide this resolvable).
- '''Allowed Values:''' Any string matching <entity_name_char>+. * '''Allowed Values:''' Any string matching <entity_name_char>+.
- '''Child Attributes:''' * '''Child Attributes:'''
- B_HPKG_ATTRIBUTE_ID_PACKAGE_RESOLVABLE_OPERATOR: The resolvable operator as int. - B_HPKG_ATTRIBUTE_ID_PACKAGE_RESOLVABLE_OPERATOR: The resolvable operator as int.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR: The major part of the resolvable version. - B_HPKG_ATTRIBUTE_ID_PACKAGE_VERSION_MAJOR: The major part of the resolvable version.
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_REPLACES ("package:replaces") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_REPLACES ("package:replaces") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of an entity that is being replaced by this package (used if the name of a package changes, or if a package has been split). * '''Value:''' Name of an entity that is being replaced by this package (used if the name of a package changes, or if a package has been split).
- '''Allowed Values:''' Any string matching <entity_name_char>+. * '''Allowed Values:''' Any string matching <entity_name_char>+.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_CHECKSUM ("package:checksum") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_CHECKSUM ("package:checksum") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' SHA256-chechsum of this package, in hexdump format. N.B.: this attribute can only be found in package repository files, not in package files. * '''Value:''' SHA256-chechsum of this package, in hexdump format. N.B.: this attribute can only be found in package repository files, not in package files.
- '''Allowed Values:''' 64-bytes of hexdump. * '''Allowed Values:''' 64-bytes of hexdump.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_GLOBAL_WRITABLE_FILE ("package:global-writable-file") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_GLOBAL_WRITABLE_FILE ("package:global-writable-file") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Relative path of a global writable file either included in the package or created by the included software. If the file is included in the package, it will be installed upon activation. In this case the attribute must contain a B_HPKG_ATTRIBUTE_ID_PACKAGE_WRITABLE_FILE_UPDATE_TYPE child attribute. The file may actually be a directory, which is indicated by the B_HPKG_ATTRIBUTE_ID_PACKAGE_IS_WRITABLE_DIRECTORY child attribute. * '''Value:''' Relative path of a global writable file either included in the package or created by the included software. If the file is included in the package, it will be installed upon activation. In this case the attribute must contain a B_HPKG_ATTRIBUTE_ID_PACKAGE_WRITABLE_FILE_UPDATE_TYPE child attribute. The file may actually be a directory, which is indicated by the B_HPKG_ATTRIBUTE_ID_PACKAGE_IS_WRITABLE_DIRECTORY child attribute.
- '''Allowed Values:''' Installation location relative path (e.g. "settings/..."). * '''Allowed Values:''' Installation location relative path (e.g. "settings/...").
- '''Child Attributes:''' * '''Child Attributes:'''
- B_HPKG_ATTRIBUTE_ID_PACKAGE_WRITABLE_FILE_UPDATE_TYPE: Specifies what to do with the writable file on package update. - B_HPKG_ATTRIBUTE_ID_PACKAGE_WRITABLE_FILE_UPDATE_TYPE: Specifies what to do with the writable file on package update.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_IS_WRITABLE_DIRECTORY: Specifies whether the file is actually a directory. - B_HPKG_ATTRIBUTE_ID_PACKAGE_IS_WRITABLE_DIRECTORY: Specifies whether the file is actually a directory.
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_SETTINGS_FILE ("package:user-settings-file") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_SETTINGS_FILE ("package:user-settings-file") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Relative path of a user settings file created by the included software or required by the software to be created by the user. The file may actually be a directory, which is indicated by the B_HPKG_ATTRIBUTE_ID_PACKAGE_IS_WRITABLE_DIRECTORY child attribute. * '''Value:''' Relative path of a user settings file created by the included software or required by the software to be created by the user. The file may actually be a directory, which is indicated by the B_HPKG_ATTRIBUTE_ID_PACKAGE_IS_WRITABLE_DIRECTORY child attribute.
- '''Allowed Values:''' Installation location relative path (i.e. "settings/..."). * '''Allowed Values:''' Installation location relative path (i.e. "settings/...").
- '''Child Attributes:''' * '''Child Attributes:'''
- B_HPKG_ATTRIBUTE_ID_PACKAGE_SETTINGS_FILE_TEMPLATE: A template for the settings file. - B_HPKG_ATTRIBUTE_ID_PACKAGE_SETTINGS_FILE_TEMPLATE: A template for the settings file.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_IS_WRITABLE_DIRECTORY: Specifies whether the file is actually a directory. - B_HPKG_ATTRIBUTE_ID_PACKAGE_IS_WRITABLE_DIRECTORY: Specifies whether the file is actually a directory.
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_WRITABLE_FILE_UPDATE_TYPE ("package:writable-file-update-type") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_WRITABLE_FILE_UPDATE_TYPE ("package:writable-file-update-type") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' Specifies what to do on package update when the writable file provided by the package has been changed by the user. * '''Value:''' Specifies what to do on package update when the writable file provided by the package has been changed by the user.
- '''Allowed Values:''' * '''Allowed Values:'''
{| border=1 class="simple" {| border=1 class="simple"
!0 !0
@@ -809,12 +781,12 @@ The following attribute IDs are specified by the package format. Any other attri
!an automatic three-way merge shall be attempted !an automatic three-way merge shall be attempted
|} |}
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_IS_WRITABLE_DIRECTORY ("package:is-writable-directory") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_IS_WRITABLE_DIRECTORY ("package:is-writable-directory") ====
- '''Type:''' uint * '''Type:''' uint
- '''Value:''' Specifies whether the parent global writable file or user settings file attribute actually refers to a directory. * '''Value:''' Specifies whether the parent global writable file or user settings file attribute actually refers to a directory.
- '''Allowed Values:''' * '''Allowed Values:'''
{| border=1 class="simple" {| border=1 class="simple"
!0 !0
@@ -826,62 +798,62 @@ The following attribute IDs are specified by the package format. Any other attri
!The parent attribute refers to a directory. !The parent attribute refers to a directory.
|} |}
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_SETTINGS_FILE_TEMPLATE ("package:settings-file-template") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_SETTINGS_FILE_TEMPLATE ("package:settings-file-template") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Relative path of an included template file for the user settings file. * '''Value:''' Relative path of an included template file for the user settings file.
- '''Allowed Values:''' Installation location relative path of a file included in the package. * '''Allowed Values:''' Installation location relative path of a file included in the package.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_USER ("package:user") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_USER ("package:user") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of a user required by the package. Upon package activation the user will be created, if necessary. * '''Value:''' Name of a user required by the package. Upon package activation the user will be created, if necessary.
- '''Allowed Values:''' Any valid user name, i.e. must be non-empty composed of <alphanum_underline>. * '''Allowed Values:''' Any valid user name, i.e. must be non-empty composed of <alphanum_underline>.
- '''Child Attributes:''' * '''Child Attributes:'''
- B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_REAL_NAME: The user's real name. - B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_REAL_NAME: The user's real name.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_HOME: The user's home directory. - B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_HOME: The user's home directory.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_SHELL: The user's shell. - B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_SHELL: The user's shell.
- B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_GROUP: The user's group(s). - B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_GROUP: The user's group(s).
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_REAL_NAME ("package:user.real-name") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_REAL_NAME ("package:user.real-name") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' The real name of the user. * '''Value:''' The real name of the user.
- '''Allowed Values:''' Any string. * '''Allowed Values:''' Any string.
- '''Default Value:''' The user name. * '''Default Value:''' The user name.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_HOME ("package:user.home") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_HOME ("package:user.home") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' The path to the home directory of the user. * '''Value:''' The path to the home directory of the user.
- '''Allowed Values:''' Any valid path. * '''Allowed Values:''' Any valid path.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_SHELL ("package:user.shell") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_SHELL ("package:user.shell") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' The path to the shell to be used for the user. * '''Value:''' The path to the shell to be used for the user.
- '''Allowed Values:''' Any valid path. * '''Allowed Values:''' Any valid path.
- '''Default Value:''' "/bin/bash". * '''Default Value:''' "/bin/bash".
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_GROUP ("package:user.group") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_USER_GROUP ("package:user.group") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' A group the user belongs to. At least one must be specified. * '''Value:''' A group the user belongs to. At least one must be specified.
- '''Allowed Values:''' Any valid group name, i.e. must be non-empty composed of <alphanum_underline>. * '''Allowed Values:''' Any valid group name, i.e. must be non-empty composed of <alphanum_underline>.
- '''Default Value:''' The default group for users. * '''Default Value:''' The default group for users.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_GROUP ("package:group") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_GROUP ("package:group") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of a group required by the package. Upon package activation the group will be created, if necessary. * '''Value:''' Name of a group required by the package. Upon package activation the group will be created, if necessary.
- '''Allowed Values:''' Any valid group name, i.e. must be non-empty composed of <alphanum_underline>. * '''Allowed Values:''' Any valid group name, i.e. must be non-empty composed of <alphanum_underline>.
- '''Child Attributes:''' none * '''Child Attributes:''' none
==== B_HPKG_ATTRIBUTE_ID_PACKAGE_POST_INSTALL_SCRIPT ("package:post-install-script") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE_POST_INSTALL_SCRIPT ("package:post-install-script") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Relative path of a script that shall be executed after package activation. * '''Value:''' Relative path of a script that shall be executed after package activation.
- '''Allowed Values:''' Installation location relative path of a file included in the package. * '''Allowed Values:''' Installation location relative path of a file included in the package.
- '''Child Attributes:''' none * '''Child Attributes:''' none
=== Haiku Package Repository Format === === Haiku Package Repository Format ===
@@ -980,8 +952,8 @@ struct hpkg_repo_header {
The package repository format defines only the top-level attribute ID B_HPKG_ATTRIBUTE_ID_PACKAGE. An attribute with that ID represents a package. Its child attributes specify the various meta information for the package as defined in the [#AttributeIDs1 Package Format Attribute IDs] section. The package repository format defines only the top-level attribute ID B_HPKG_ATTRIBUTE_ID_PACKAGE. An attribute with that ID represents a package. Its child attributes specify the various meta information for the package as defined in the [#AttributeIDs1 Package Format Attribute IDs] section.
==== B_HPKG_ATTRIBUTE_ID_PACKAGE ("package") ==== ==== B_HPKG_ATTRIBUTE_ID_PACKAGE ("package") ====
- '''Type:''' string * '''Type:''' string
- '''Value:''' Name of the package. The value is duplicated by the B_HPKG_ATTRIBUTE_ID_PACKAGE_NAME child attribute. * '''Value:''' Name of the package. The value is duplicated by the B_HPKG_ATTRIBUTE_ID_PACKAGE_NAME child attribute.
- '''Allowed Values:''' Any string matching <entity_name_char>+, with <entity_name_char> being any character but '-', '/', '=', '!', '<', '>', or whitespace. * '''Allowed Values:''' Any string matching <entity_name_char>+, with <entity_name_char> being any character but '-', '/', '=', '!', '<', '>', or whitespace.
- '''Child Attributes:''' * '''Child Attributes:'''
- Any B_HPKG_ATTRIBUTE_ID_PACKAGE_* top level attribute defined in the [#AttributeIDs1 Package Format Attribute IDs] section. - Any B_HPKG_ATTRIBUTE_ID_PACKAGE_* top level attribute defined in the [#AttributeIDs1 Package Format Attribute IDs] section.