From e4ba8f36e6a4624f4fec61c7ce8bed0e3bd2fa01 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 22 Jun 2012 02:59:53 -0700 Subject: Add experimental EAPI 4-slot-abi support. Refer to 4-slot-abi.docbook for a full description. --- doc/package/ebuild.docbook | 1 + doc/package/ebuild/eapi/4-slot-abi.docbook | 70 ++++++++++++++++++++++++++++++ doc/portage.docbook | 1 + 3 files changed, 72 insertions(+) create mode 100644 doc/package/ebuild/eapi/4-slot-abi.docbook (limited to 'doc') diff --git a/doc/package/ebuild.docbook b/doc/package/ebuild.docbook index e771d3ae1..ba146ca99 100644 --- a/doc/package/ebuild.docbook +++ b/doc/package/ebuild.docbook @@ -10,5 +10,6 @@ &package_ebuild_eapi_3; &package_ebuild_eapi_4; &package_ebuild_eapi_4_python; +&package_ebuild_eapi_4_slot_abi; diff --git a/doc/package/ebuild/eapi/4-slot-abi.docbook b/doc/package/ebuild/eapi/4-slot-abi.docbook new file mode 100644 index 000000000..696d0bf74 --- /dev/null +++ b/doc/package/ebuild/eapi/4-slot-abi.docbook @@ -0,0 +1,70 @@ +
+EAPI 4-slot-abi +
+Metadata +
+SLOT Supports Optional "sub-slot" ABI part + +In order to represent cases in which an upgrade to a new version of a package +requires reverse dependencies to be rebuilt, the SLOT variable may contain an +optional "sub-slot" ABI part that is delimited by a '/' character. + + +For +example, the package 'dev-libs/glib-2.30.2' may set SLOT="2/2.30" in order to +indicate a sub-slot value of "2.30". This package will be matched by +dependency atoms such as 'dev-libs/glib:2' or 'dev-libs/glib:2/2.30', where +the sub-slot part of the atom is optional. + + +If SLOT does not contain a sub-slot +part, then it is considered to have an implicit sub-slot that is equal to the +SLOT value. For example, SLOT="0" is implicitly equal to SLOT="0/0". + + +Refer to the + +:= operator documentation for more information about sub-slot usage. + +
+
+Dependency Atom SLOT/ABI := Operator + +Dependency atom syntax now supports SLOT/ABI := operators which allow the +specific SLOT/ABI that a package is built against to be recorded, so that it's +possible to automatically determine when a package needs to be rebuilt due to +having a dependency upgraded to a different SLOT/ABI. + + +For example, if a package is built +against the package 'dev-libs/glib-2.30.2' with SLOT="2/2.30", then dependency +atoms such as 'dev-libs/glib:=' or 'dev-libs/glib:2=' will be rewritten at +build time to be recorded as 'dev-libs/glib:2/2.30='. + + +For another example, if +a package is built against the package 'sys-libs/db-4.8.30' with SLOT="4.8", +then a dependency atom such as 'sys-libs/db:=' will be rewritten at build time +to be recorded as 'sys-libs/db:4.8/4.8='. In this case, since SLOT="4.8" does +not contain a sub-slot part, the sub-slot is considered to be implicitly equal +to "4.8". + + +When dependencies are rewritten as described above, the SLOT/ABI recorded in +the atom is always equal to that of the highest matched version that is +installed at build time. + +
+
+Dependency Atom SLOT/ABI :* Operator + +The new :* operator is used to express dependencies that can change versions +at runtime without requiring reverse dependencies to be rebuilt. For example, +a dependency atom such as 'dev-libs/glib:*' can be used to match any slot of +the 'dev-libs/glib' package, and dependency atom such as 'dev-libs/glib:2*' +can be used to specifically match slot '2' of the same package (ignoring its +sub-slot). + +
+
+
diff --git a/doc/portage.docbook b/doc/portage.docbook index c0121b8d0..781915cbb 100644 --- a/doc/portage.docbook +++ b/doc/portage.docbook @@ -21,6 +21,7 @@ + -- cgit v1.2.3-1-g7c22