From 65e59b7838a076dd62d74d501bf310366a181b9f Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Thu, 22 Feb 2024 13:08:25 -0600 Subject: [PATCH 01/12] Adjusted documentation about packages to v1/v2 instead of old/new We felt in discussion internally that v1/v2 was easier to understand especially if we also include how they are implemented: v1 packages promise (package_method) v2 packages promise (package_module) This leaves easier room for a v3 if that ever needs to happen. v1(old) packages promise still has several advantages: - support for more different package managers such as pip, brew, etc. - support for bulk operations by default Ticket: CFE-4315 Changelog: title --- .../{packages-deprecated.markdown => packages-v1.markdown} | 7 +++++-- .../{packages.markdown => packages-v2.markdown} | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) rename reference/promise-types/{packages-deprecated.markdown => packages-v1.markdown} (98%) rename reference/promise-types/{packages.markdown => packages-v2.markdown} (99%) diff --git a/reference/promise-types/packages-deprecated.markdown b/reference/promise-types/packages-v1.markdown similarity index 98% rename from reference/promise-types/packages-deprecated.markdown rename to reference/promise-types/packages-v1.markdown index ebf423999..2f211f341 100644 --- a/reference/promise-types/packages-deprecated.markdown +++ b/reference/promise-types/packages-v1.markdown @@ -1,14 +1,17 @@ --- layout: default -title: packages (deprecated) +title: v1 packages promise (package_method) published: true --- **NOTE:** This package promise is deprecated and has been superseded by -[the new package promise][packages]. It is recommended to use the new package +[the v2 package promise (package_module)][packages-v2]. It is recommended to use the new package promise whenever possible. Simply using attributes from the new package promise interface will select the new implementation. +If specific attributes are not specified and there is no `default:package_module_knowledge.platform_default` variable set then this v1 packages promise will be used. +Also note that if no specific `package_method` attribute is included a default of [`generic`][#Default package method] will be used. + NOTE: CFEngine 3.6 introduces bundles `package_absent`, `package_present`, `package_latest`, `package_specific_present`, `package_specific_absent`, and `package_specific_latest` that provide a higher-level abstraction for diff --git a/reference/promise-types/packages.markdown b/reference/promise-types/packages-v2.markdown similarity index 99% rename from reference/promise-types/packages.markdown rename to reference/promise-types/packages-v2.markdown index 1514d7fc3..5902349a6 100644 --- a/reference/promise-types/packages.markdown +++ b/reference/promise-types/packages-v2.markdown @@ -1,6 +1,6 @@ --- layout: default -title: packages +title: v2 packages promise (package_module) published: true --- @@ -13,7 +13,7 @@ CFEngine 3.6 and older had a different package promise implementation, which is still functional, but considered deprecated. However, it may still be in use by existing policy files, and it may cover platforms which the new implementation does not currently cover. To read about the old package promise, go to the -[old package promise section][packages (deprecated)]. +[v1 package promise (package_method)][packages-v1]. The actual communication with the package manager on the system is handled by so called [package modules][Package modules], which are specifically written for From f24851a9f18e42c1b0f28ea825bfd8e4e4392fbe Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Thu, 22 Feb 2024 13:32:08 -0600 Subject: [PATCH 02/12] redirect package page references to packages-v1 generally --- api/enterprise-api-ref/sql-schema/cfdb.markdown | 4 ++-- examples/tutorials/file_comparison.markdown | 2 +- examples/tutorials/manage-packages.markdown | 2 +- reference/components.markdown | 4 ++-- .../language-concepts/modules/package-module-api.markdown | 2 +- reference/language-concepts/normal-ordering.markdown | 2 +- reference/masterfiles-policy-framework/lib-packages.markdown | 2 +- reference/promise-types.markdown | 2 +- release-notes/known-issues.markdown | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/api/enterprise-api-ref/sql-schema/cfdb.markdown b/api/enterprise-api-ref/sql-schema/cfdb.markdown index f44820f69..258c8fcdf 100644 --- a/api/enterprise-api-ref/sql-schema/cfdb.markdown +++ b/api/enterprise-api-ref/sql-schema/cfdb.markdown @@ -1117,7 +1117,7 @@ changetimestamp | 2018-10-02 00:04:52+00 ## Table: Software Software packages installed (according to local package manager) on the hosts. -More information about CFEngine and package management can be found [here][packages]. +More information about CFEngine and package management can be found [here][packages-v2]. **Columns:** @@ -1235,7 +1235,7 @@ changetimestamp | 2015-03-12 10:20:18+00 ## Table: SoftwareLog Software packages installed / deleted over period of time. -More information about CFEngine and package management can be found [here][packages]. +More information about CFEngine and package management can be found [here][packages-v2]. **Columns:** diff --git a/examples/tutorials/file_comparison.markdown b/examples/tutorials/file_comparison.markdown index a863999fb..a94a6b171 100644 --- a/examples/tutorials/file_comparison.markdown +++ b/examples/tutorials/file_comparison.markdown @@ -22,7 +22,7 @@ Here is the order in which bundles are called in the command line above (some ot 1. [robot][#robot] - demonstrates use of `reports`. 2. [global_vars][#global_vars] - sets up some global variables for later use. -3. [packages][#packages] - installs packages that will be used later on. +3. [packages-v2][#packages] - installs packages that will be used later on. 4. [create_aout_source_file][#create_aout_source_file] - creates a source file. 5. [create_aout][#create_aout] - compiles the source file. 6. [test_delete][#test_delete] - deletes a file. diff --git a/examples/tutorials/manage-packages.markdown b/examples/tutorials/manage-packages.markdown index ce9c09269..c206ce397 100644 --- a/examples/tutorials/manage-packages.markdown +++ b/examples/tutorials/manage-packages.markdown @@ -126,7 +126,7 @@ The packages promise also supports version pinning, so that you can specify exactly the version you want to have installed. It is modular and extensible, so that it is easy to add support for new platforms and package managers. For complete documentation, please have a look at the [reference manual for the -packages promise][packages]. +packages promise][packages-v2]. Of course, running the policy by hand is only good for initial testing. Once your policy works the way you need, you will want to deploy it to your entire diff --git a/reference/components.markdown b/reference/components.markdown index c30dd4780..370419f4d 100644 --- a/reference/components.markdown +++ b/reference/components.markdown @@ -388,7 +388,7 @@ string is also prefixed messages in the event log. **Description:** List of package module bodies to query for package lists. -Defines the list of [`package module bodies`][packages] which will be queries for +Defines the list of [`package module bodies`][packages-v2] which will be queries for package lists, for use in `packagematching()`, `packageupdatesmatching()` and in Enterprise inventory reporting. @@ -409,7 +409,7 @@ body common control **Description:** The default package module body to use. -Defines the default package module body to use for [package promises][packages], +Defines the default package module body to use for [package promises][packages-v2], if none is specified in the promise. **Type:** `string` diff --git a/reference/language-concepts/modules/package-module-api.markdown b/reference/language-concepts/modules/package-module-api.markdown index 7d7955bd6..566253a40 100644 --- a/reference/language-concepts/modules/package-module-api.markdown +++ b/reference/language-concepts/modules/package-module-api.markdown @@ -8,7 +8,7 @@ sorting: 70 Package modules are back-ends that enable the package promise to work with different types of platform package managers. -See the [`packages` promises][packages] documentation for a +See the [`packages` promises][packages-v2] documentation for a comprehensive reference on the body types and attributes used here. ## The CFEngine side diff --git a/reference/language-concepts/normal-ordering.markdown b/reference/language-concepts/normal-ordering.markdown index 9fea7ae42..74b79fa98 100644 --- a/reference/language-concepts/normal-ordering.markdown +++ b/reference/language-concepts/normal-ordering.markdown @@ -114,7 +114,7 @@ following, converging towards a final state: 4. [classes][classes] 5. [users][users] 6. [files][files] -7. [packages][packages] +7. [packages-v2][packages] 8. [guest_environments][guest_environments] 9. [methods][methods] 10. [processes][processes] diff --git a/reference/masterfiles-policy-framework/lib-packages.markdown b/reference/masterfiles-policy-framework/lib-packages.markdown index 7a7f0fbda..b745a2da9 100644 --- a/reference/masterfiles-policy-framework/lib-packages.markdown +++ b/reference/masterfiles-policy-framework/lib-packages.markdown @@ -4,7 +4,7 @@ title: lib/packages.cf published: true --- -See the [`packages` promises][packages] documentation for a +See the [`packages` promises][packages-v2] documentation for a comprehensive reference on the body types and attributes used here. [%CFEngine_library_include(lib/packages)%] diff --git a/reference/promise-types.markdown b/reference/promise-types.markdown index 7389f0227..42eeb89e6 100644 --- a/reference/promise-types.markdown +++ b/reference/promise-types.markdown @@ -19,7 +19,7 @@ depends on the [bundle][bundles] type: | [commands][commands] - execute a command | | x | | | | [databases][databases] - configure a database | | x | | | | [files][files] - configure a file | | x | | | -| [packages][packages] - install a package | | x | | | +| [packages-v2][packages] - install a package | | x | | | | [guest_environments][guest_environments] | | x | | | | [methods][methods] - take on a whole bundle of other promises | | x | | | | [processes][processes] - start or terminate processes | | x | | | diff --git a/release-notes/known-issues.markdown b/release-notes/known-issues.markdown index 2ce106e52..c95630757 100644 --- a/release-notes/known-issues.markdown +++ b/release-notes/known-issues.markdown @@ -24,7 +24,7 @@ functionality is reinstated. ### HP-UX specific -* [Package promises][packages] do not have out-of-the-box support for the HP-UX +* [Package promises][packages-v2] do not have out-of-the-box support for the HP-UX specific package manager. The workaround is to call the package manager directly using [commands promises][commands]. * Some important system information is missing from the HP-UX inventory report, From ee8d5f98a60a6bc7cf66d15e36633f945c759e56 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Thu, 22 Feb 2024 14:34:20 -0600 Subject: [PATCH 03/12] rename titles to match links --- reference/promise-types/packages-v1.markdown | 2 +- reference/promise-types/packages-v2.markdown | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/promise-types/packages-v1.markdown b/reference/promise-types/packages-v1.markdown index 2f211f341..d87822271 100644 --- a/reference/promise-types/packages-v1.markdown +++ b/reference/promise-types/packages-v1.markdown @@ -1,6 +1,6 @@ --- layout: default -title: v1 packages promise (package_method) +title: packages (v2) published: true --- diff --git a/reference/promise-types/packages-v2.markdown b/reference/promise-types/packages-v2.markdown index 5902349a6..e22b2a99a 100644 --- a/reference/promise-types/packages-v2.markdown +++ b/reference/promise-types/packages-v2.markdown @@ -1,6 +1,6 @@ --- layout: default -title: v2 packages promise (package_module) +title: packages (v2) published: true --- From 67c3e393daf57bc59dd72ecbd06ab6f84b723b13 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Thu, 22 Feb 2024 14:41:10 -0600 Subject: [PATCH 04/12] add redirects we will need as we transition the pages when switching between versions --- redirects.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/redirects.conf b/redirects.conf index 217fc2371..c88467874 100644 --- a/redirects.conf +++ b/redirects.conf @@ -55,3 +55,7 @@ RewriteRule ^/latest/guide-latest-release-supported-platforms.html /docs/latest/ RewriteRule ^/nickanderson https://www.linkedin.com/in/hithisisnick/ RewriteRule ^/thisistheway https://orgmode.org RewriteRule ^/orgmode https://orgmode.org + +# CFE-4315 renaming packages old/new/deprecated to v1 and v2 +RewriteRule ^/docs/(.*)/reference-promise-types-packages.html https://%{SERVER_NAME}/docs/$1/reference-promise-types-packages-v2.html +RewriteRule ^/docs/(.*)/reference-promise-types-packages-deprecated.html https://%{SERVER_NAME}/docs/$1/reference-promise-types-packages-v1.html From 9309e7f152387de54ff27b57a4284e3b8dbce620 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Thu, 22 Feb 2024 14:48:05 -0600 Subject: [PATCH 05/12] fixup links and redirects to point packages to most recent version, currently v2 --- api/enterprise-api-ref/sql-schema/cfdb.markdown | 2 +- generator/_references.md | 1 + reference/promise-types/packages-v1.markdown | 6 ++---- reference/promise-types/packages-v2.markdown | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/api/enterprise-api-ref/sql-schema/cfdb.markdown b/api/enterprise-api-ref/sql-schema/cfdb.markdown index 258c8fcdf..e9467300c 100644 --- a/api/enterprise-api-ref/sql-schema/cfdb.markdown +++ b/api/enterprise-api-ref/sql-schema/cfdb.markdown @@ -1117,7 +1117,7 @@ changetimestamp | 2018-10-02 00:04:52+00 ## Table: Software Software packages installed (according to local package manager) on the hosts. -More information about CFEngine and package management can be found [here][packages-v2]. +More information about CFEngine and package management can be found [here][packages]. **Columns:** diff --git a/generator/_references.md b/generator/_references.md index 577a46a78..61a31b7e8 100644 --- a/generator/_references.md +++ b/generator/_references.md @@ -64,3 +64,4 @@ [mpf-classification-bundles]: reference-masterfiles-policy-framework.html#classification-bundles-before-autorun.html [mpf-services-autorun]: reference-masterfiles-policy-framework-services-autorun.html [package-modules-the-api]: reference-language-concepts-modules-package-module-api.html#the-api +[packages]: reference-promise-types-packages diff --git a/reference/promise-types/packages-v1.markdown b/reference/promise-types/packages-v1.markdown index d87822271..4d8bf1705 100644 --- a/reference/promise-types/packages-v1.markdown +++ b/reference/promise-types/packages-v1.markdown @@ -4,10 +4,8 @@ title: packages (v2) published: true --- -**NOTE:** This package promise is deprecated and has been superseded by -[the v2 package promise (package_module)][packages-v2]. It is recommended to use the new package -promise whenever possible. Simply using attributes from the new package promise -interface will select the new implementation. +**NOTE:** This package promise is deprecated. +When possible use the latest [package promise version][packages]. If specific attributes are not specified and there is no `default:package_module_knowledge.platform_default` variable set then this v1 packages promise will be used. Also note that if no specific `package_method` attribute is included a default of [`generic`][#Default package method] will be used. diff --git a/reference/promise-types/packages-v2.markdown b/reference/promise-types/packages-v2.markdown index e22b2a99a..c324e9629 100644 --- a/reference/promise-types/packages-v2.markdown +++ b/reference/promise-types/packages-v2.markdown @@ -46,7 +46,7 @@ string needs to be a bare package name, you cannot use a file name for this. * The promiser must be the fully qualified path to a file *or* a *package name*. `package_modules` do not have the concept of a - flexible [naming convention][packages (deprecated)#package_name_convention]. + flexible [naming convention][packages-v1#package_name_convention]. For example, here are valid ways to specify a specific package version when using the `package_module` based implementation. From 177af382847bbb04dad2d146497ac2eee2c90ddc Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Thu, 22 Feb 2024 14:58:34 -0600 Subject: [PATCH 06/12] Craigs-MacBook-Pro.local --- reference/promise-types/packages-v1.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/promise-types/packages-v1.markdown b/reference/promise-types/packages-v1.markdown index 4d8bf1705..684bb3207 100644 --- a/reference/promise-types/packages-v1.markdown +++ b/reference/promise-types/packages-v1.markdown @@ -1,6 +1,6 @@ --- layout: default -title: packages (v2) +title: packages (v1) published: true --- From 315f6d0187b0e731b375bd22273ce45bb8d6d01c Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 23 Feb 2024 08:00:36 -0600 Subject: [PATCH 07/12] link to packages (latest version will be an alias, currently v2) --- api/enterprise-api-ref/sql-schema/cfdb.markdown | 2 +- examples/tutorials/file_comparison.markdown | 2 +- examples/tutorials/manage-packages.markdown | 2 +- reference/components.markdown | 4 ++-- .../language-concepts/modules/package-module-api.markdown | 2 +- reference/language-concepts/normal-ordering.markdown | 2 +- reference/masterfiles-policy-framework/lib-packages.markdown | 2 +- reference/promise-types.markdown | 2 +- release-notes/known-issues.markdown | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/api/enterprise-api-ref/sql-schema/cfdb.markdown b/api/enterprise-api-ref/sql-schema/cfdb.markdown index e9467300c..f44820f69 100644 --- a/api/enterprise-api-ref/sql-schema/cfdb.markdown +++ b/api/enterprise-api-ref/sql-schema/cfdb.markdown @@ -1235,7 +1235,7 @@ changetimestamp | 2015-03-12 10:20:18+00 ## Table: SoftwareLog Software packages installed / deleted over period of time. -More information about CFEngine and package management can be found [here][packages-v2]. +More information about CFEngine and package management can be found [here][packages]. **Columns:** diff --git a/examples/tutorials/file_comparison.markdown b/examples/tutorials/file_comparison.markdown index a94a6b171..a863999fb 100644 --- a/examples/tutorials/file_comparison.markdown +++ b/examples/tutorials/file_comparison.markdown @@ -22,7 +22,7 @@ Here is the order in which bundles are called in the command line above (some ot 1. [robot][#robot] - demonstrates use of `reports`. 2. [global_vars][#global_vars] - sets up some global variables for later use. -3. [packages-v2][#packages] - installs packages that will be used later on. +3. [packages][#packages] - installs packages that will be used later on. 4. [create_aout_source_file][#create_aout_source_file] - creates a source file. 5. [create_aout][#create_aout] - compiles the source file. 6. [test_delete][#test_delete] - deletes a file. diff --git a/examples/tutorials/manage-packages.markdown b/examples/tutorials/manage-packages.markdown index c206ce397..ce9c09269 100644 --- a/examples/tutorials/manage-packages.markdown +++ b/examples/tutorials/manage-packages.markdown @@ -126,7 +126,7 @@ The packages promise also supports version pinning, so that you can specify exactly the version you want to have installed. It is modular and extensible, so that it is easy to add support for new platforms and package managers. For complete documentation, please have a look at the [reference manual for the -packages promise][packages-v2]. +packages promise][packages]. Of course, running the policy by hand is only good for initial testing. Once your policy works the way you need, you will want to deploy it to your entire diff --git a/reference/components.markdown b/reference/components.markdown index 370419f4d..c30dd4780 100644 --- a/reference/components.markdown +++ b/reference/components.markdown @@ -388,7 +388,7 @@ string is also prefixed messages in the event log. **Description:** List of package module bodies to query for package lists. -Defines the list of [`package module bodies`][packages-v2] which will be queries for +Defines the list of [`package module bodies`][packages] which will be queries for package lists, for use in `packagematching()`, `packageupdatesmatching()` and in Enterprise inventory reporting. @@ -409,7 +409,7 @@ body common control **Description:** The default package module body to use. -Defines the default package module body to use for [package promises][packages-v2], +Defines the default package module body to use for [package promises][packages], if none is specified in the promise. **Type:** `string` diff --git a/reference/language-concepts/modules/package-module-api.markdown b/reference/language-concepts/modules/package-module-api.markdown index 566253a40..7d7955bd6 100644 --- a/reference/language-concepts/modules/package-module-api.markdown +++ b/reference/language-concepts/modules/package-module-api.markdown @@ -8,7 +8,7 @@ sorting: 70 Package modules are back-ends that enable the package promise to work with different types of platform package managers. -See the [`packages` promises][packages-v2] documentation for a +See the [`packages` promises][packages] documentation for a comprehensive reference on the body types and attributes used here. ## The CFEngine side diff --git a/reference/language-concepts/normal-ordering.markdown b/reference/language-concepts/normal-ordering.markdown index 74b79fa98..9fea7ae42 100644 --- a/reference/language-concepts/normal-ordering.markdown +++ b/reference/language-concepts/normal-ordering.markdown @@ -114,7 +114,7 @@ following, converging towards a final state: 4. [classes][classes] 5. [users][users] 6. [files][files] -7. [packages-v2][packages] +7. [packages][packages] 8. [guest_environments][guest_environments] 9. [methods][methods] 10. [processes][processes] diff --git a/reference/masterfiles-policy-framework/lib-packages.markdown b/reference/masterfiles-policy-framework/lib-packages.markdown index b745a2da9..7a7f0fbda 100644 --- a/reference/masterfiles-policy-framework/lib-packages.markdown +++ b/reference/masterfiles-policy-framework/lib-packages.markdown @@ -4,7 +4,7 @@ title: lib/packages.cf published: true --- -See the [`packages` promises][packages-v2] documentation for a +See the [`packages` promises][packages] documentation for a comprehensive reference on the body types and attributes used here. [%CFEngine_library_include(lib/packages)%] diff --git a/reference/promise-types.markdown b/reference/promise-types.markdown index 42eeb89e6..7389f0227 100644 --- a/reference/promise-types.markdown +++ b/reference/promise-types.markdown @@ -19,7 +19,7 @@ depends on the [bundle][bundles] type: | [commands][commands] - execute a command | | x | | | | [databases][databases] - configure a database | | x | | | | [files][files] - configure a file | | x | | | -| [packages-v2][packages] - install a package | | x | | | +| [packages][packages] - install a package | | x | | | | [guest_environments][guest_environments] | | x | | | | [methods][methods] - take on a whole bundle of other promises | | x | | | | [processes][processes] - start or terminate processes | | x | | | diff --git a/release-notes/known-issues.markdown b/release-notes/known-issues.markdown index c95630757..2ce106e52 100644 --- a/release-notes/known-issues.markdown +++ b/release-notes/known-issues.markdown @@ -24,7 +24,7 @@ functionality is reinstated. ### HP-UX specific -* [Package promises][packages-v2] do not have out-of-the-box support for the HP-UX +* [Package promises][packages] do not have out-of-the-box support for the HP-UX specific package manager. The workaround is to call the package manager directly using [commands promises][commands]. * Some important system information is missing from the HP-UX inventory report, From d55530477a483011dee401dbee4a62857ce55c06 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 23 Feb 2024 08:01:10 -0600 Subject: [PATCH 08/12] Craigs-MacBook-Pro.local --- generator/_references.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generator/_references.md b/generator/_references.md index 61a31b7e8..4a7127974 100644 --- a/generator/_references.md +++ b/generator/_references.md @@ -64,4 +64,4 @@ [mpf-classification-bundles]: reference-masterfiles-policy-framework.html#classification-bundles-before-autorun.html [mpf-services-autorun]: reference-masterfiles-policy-framework-services-autorun.html [package-modules-the-api]: reference-language-concepts-modules-package-module-api.html#the-api -[packages]: reference-promise-types-packages +[packages]: reference-promise-types-packages-v2 From 5ed8cfc7c5ffa48da19e589aa6b86d67a59cef35 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 23 Feb 2024 09:11:19 -0600 Subject: [PATCH 09/12] try to fixup page references --- api/enterprise-api-ref/sql-schema/cfdb.markdown | 4 ++-- examples/tutorials/file_comparison.markdown | 2 +- examples/tutorials/manage-packages.markdown | 2 +- generator/_references.md | 1 - redirects.conf | 4 ++-- reference/components.markdown | 4 ++-- .../language-concepts/modules/package-module-api.markdown | 2 +- reference/language-concepts/normal-ordering.markdown | 2 +- reference/masterfiles-policy-framework/lib-packages.markdown | 2 +- reference/promise-types.markdown | 2 +- reference/promise-types/packages-v1.markdown | 2 +- release-notes/known-issues.markdown | 2 +- 12 files changed, 14 insertions(+), 15 deletions(-) diff --git a/api/enterprise-api-ref/sql-schema/cfdb.markdown b/api/enterprise-api-ref/sql-schema/cfdb.markdown index f44820f69..f7645bd0f 100644 --- a/api/enterprise-api-ref/sql-schema/cfdb.markdown +++ b/api/enterprise-api-ref/sql-schema/cfdb.markdown @@ -1117,7 +1117,7 @@ changetimestamp | 2018-10-02 00:04:52+00 ## Table: Software Software packages installed (according to local package manager) on the hosts. -More information about CFEngine and package management can be found [here][packages]. +More information about CFEngine and package management can be found [here][packages--v2]. **Columns:** @@ -1235,7 +1235,7 @@ changetimestamp | 2015-03-12 10:20:18+00 ## Table: SoftwareLog Software packages installed / deleted over period of time. -More information about CFEngine and package management can be found [here][packages]. +More information about CFEngine and package management can be found [here][packages--v2]. **Columns:** diff --git a/examples/tutorials/file_comparison.markdown b/examples/tutorials/file_comparison.markdown index a863999fb..d92b9e83b 100644 --- a/examples/tutorials/file_comparison.markdown +++ b/examples/tutorials/file_comparison.markdown @@ -22,7 +22,7 @@ Here is the order in which bundles are called in the command line above (some ot 1. [robot][#robot] - demonstrates use of `reports`. 2. [global_vars][#global_vars] - sets up some global variables for later use. -3. [packages][#packages] - installs packages that will be used later on. +3. [packages--v2][#packages] - installs packages that will be used later on. 4. [create_aout_source_file][#create_aout_source_file] - creates a source file. 5. [create_aout][#create_aout] - compiles the source file. 6. [test_delete][#test_delete] - deletes a file. diff --git a/examples/tutorials/manage-packages.markdown b/examples/tutorials/manage-packages.markdown index ce9c09269..2cf80f55d 100644 --- a/examples/tutorials/manage-packages.markdown +++ b/examples/tutorials/manage-packages.markdown @@ -126,7 +126,7 @@ The packages promise also supports version pinning, so that you can specify exactly the version you want to have installed. It is modular and extensible, so that it is easy to add support for new platforms and package managers. For complete documentation, please have a look at the [reference manual for the -packages promise][packages]. +packages promise][packages--v2]. Of course, running the policy by hand is only good for initial testing. Once your policy works the way you need, you will want to deploy it to your entire diff --git a/generator/_references.md b/generator/_references.md index 4a7127974..577a46a78 100644 --- a/generator/_references.md +++ b/generator/_references.md @@ -64,4 +64,3 @@ [mpf-classification-bundles]: reference-masterfiles-policy-framework.html#classification-bundles-before-autorun.html [mpf-services-autorun]: reference-masterfiles-policy-framework-services-autorun.html [package-modules-the-api]: reference-language-concepts-modules-package-module-api.html#the-api -[packages]: reference-promise-types-packages-v2 diff --git a/redirects.conf b/redirects.conf index c88467874..0e9c641d0 100644 --- a/redirects.conf +++ b/redirects.conf @@ -57,5 +57,5 @@ RewriteRule ^/thisistheway https://orgmode.org RewriteRule ^/orgmode https://orgmode.org # CFE-4315 renaming packages old/new/deprecated to v1 and v2 -RewriteRule ^/docs/(.*)/reference-promise-types-packages.html https://%{SERVER_NAME}/docs/$1/reference-promise-types-packages-v2.html -RewriteRule ^/docs/(.*)/reference-promise-types-packages-deprecated.html https://%{SERVER_NAME}/docs/$1/reference-promise-types-packages-v1.html +RewriteRule ^/docs/(.*)/reference-promise-types-packages.html https://%{SERVER_NAME}/docs/$1/reference-promise-types-packages--v2.html +RewriteRule ^/docs/(.*)/reference-promise-types-packages-deprecated.html https://%{SERVER_NAME}/docs/$1/reference-promise-types-packages--v1.html diff --git a/reference/components.markdown b/reference/components.markdown index c30dd4780..0871d999e 100644 --- a/reference/components.markdown +++ b/reference/components.markdown @@ -388,7 +388,7 @@ string is also prefixed messages in the event log. **Description:** List of package module bodies to query for package lists. -Defines the list of [`package module bodies`][packages] which will be queries for +Defines the list of [`package module bodies`][packages--v2] which will be queries for package lists, for use in `packagematching()`, `packageupdatesmatching()` and in Enterprise inventory reporting. @@ -409,7 +409,7 @@ body common control **Description:** The default package module body to use. -Defines the default package module body to use for [package promises][packages], +Defines the default package module body to use for [package promises][packages--v2], if none is specified in the promise. **Type:** `string` diff --git a/reference/language-concepts/modules/package-module-api.markdown b/reference/language-concepts/modules/package-module-api.markdown index 7d7955bd6..5688af885 100644 --- a/reference/language-concepts/modules/package-module-api.markdown +++ b/reference/language-concepts/modules/package-module-api.markdown @@ -8,7 +8,7 @@ sorting: 70 Package modules are back-ends that enable the package promise to work with different types of platform package managers. -See the [`packages` promises][packages] documentation for a +See the [`packages` promises][packages--v2] documentation for a comprehensive reference on the body types and attributes used here. ## The CFEngine side diff --git a/reference/language-concepts/normal-ordering.markdown b/reference/language-concepts/normal-ordering.markdown index 9fea7ae42..636f6f9d3 100644 --- a/reference/language-concepts/normal-ordering.markdown +++ b/reference/language-concepts/normal-ordering.markdown @@ -114,7 +114,7 @@ following, converging towards a final state: 4. [classes][classes] 5. [users][users] 6. [files][files] -7. [packages][packages] +7. [packages--v2][packages] 8. [guest_environments][guest_environments] 9. [methods][methods] 10. [processes][processes] diff --git a/reference/masterfiles-policy-framework/lib-packages.markdown b/reference/masterfiles-policy-framework/lib-packages.markdown index 7a7f0fbda..6738ff660 100644 --- a/reference/masterfiles-policy-framework/lib-packages.markdown +++ b/reference/masterfiles-policy-framework/lib-packages.markdown @@ -4,7 +4,7 @@ title: lib/packages.cf published: true --- -See the [`packages` promises][packages] documentation for a +See the [`packages` promises][packages--v2] documentation for a comprehensive reference on the body types and attributes used here. [%CFEngine_library_include(lib/packages)%] diff --git a/reference/promise-types.markdown b/reference/promise-types.markdown index 7389f0227..651a3d764 100644 --- a/reference/promise-types.markdown +++ b/reference/promise-types.markdown @@ -19,7 +19,7 @@ depends on the [bundle][bundles] type: | [commands][commands] - execute a command | | x | | | | [databases][databases] - configure a database | | x | | | | [files][files] - configure a file | | x | | | -| [packages][packages] - install a package | | x | | | +| [packages--v2][packages] - install a package | | x | | | | [guest_environments][guest_environments] | | x | | | | [methods][methods] - take on a whole bundle of other promises | | x | | | | [processes][processes] - start or terminate processes | | x | | | diff --git a/reference/promise-types/packages-v1.markdown b/reference/promise-types/packages-v1.markdown index 684bb3207..f61c3407a 100644 --- a/reference/promise-types/packages-v1.markdown +++ b/reference/promise-types/packages-v1.markdown @@ -5,7 +5,7 @@ published: true --- **NOTE:** This package promise is deprecated. -When possible use the latest [package promise version][packages]. +When possible use the latest [package promise version][packages--v2]. If specific attributes are not specified and there is no `default:package_module_knowledge.platform_default` variable set then this v1 packages promise will be used. Also note that if no specific `package_method` attribute is included a default of [`generic`][#Default package method] will be used. diff --git a/release-notes/known-issues.markdown b/release-notes/known-issues.markdown index 2ce106e52..81dc9357b 100644 --- a/release-notes/known-issues.markdown +++ b/release-notes/known-issues.markdown @@ -24,7 +24,7 @@ functionality is reinstated. ### HP-UX specific -* [Package promises][packages] do not have out-of-the-box support for the HP-UX +* [Package promises][packages--v2] do not have out-of-the-box support for the HP-UX specific package manager. The workaround is to call the package manager directly using [commands promises][commands]. * Some important system information is missing from the HP-UX inventory report, From 83b2cf7c80258f9916b8d68b3fbc23c88bf5fff6 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 23 Feb 2024 09:18:36 -0600 Subject: [PATCH 10/12] more attempts at fixing reference/links resolution --- generator/_references.md | 1 + reference/components.markdown | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/generator/_references.md b/generator/_references.md index 577a46a78..a88a1c08a 100644 --- a/generator/_references.md +++ b/generator/_references.md @@ -64,3 +64,4 @@ [mpf-classification-bundles]: reference-masterfiles-policy-framework.html#classification-bundles-before-autorun.html [mpf-services-autorun]: reference-masterfiles-policy-framework-services-autorun.html [package-modules-the-api]: reference-language-concepts-modules-package-module-api.html#the-api +[packages]: reference-promise-types-packages-v2.html diff --git a/reference/components.markdown b/reference/components.markdown index 0871d999e..c30dd4780 100644 --- a/reference/components.markdown +++ b/reference/components.markdown @@ -388,7 +388,7 @@ string is also prefixed messages in the event log. **Description:** List of package module bodies to query for package lists. -Defines the list of [`package module bodies`][packages--v2] which will be queries for +Defines the list of [`package module bodies`][packages] which will be queries for package lists, for use in `packagematching()`, `packageupdatesmatching()` and in Enterprise inventory reporting. @@ -409,7 +409,7 @@ body common control **Description:** The default package module body to use. -Defines the default package module body to use for [package promises][packages--v2], +Defines the default package module body to use for [package promises][packages], if none is specified in the promise. **Type:** `string` From 2bb3f1ed1f90803034c5b263e36adf0252855ba4 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 23 Feb 2024 11:21:04 -0600 Subject: [PATCH 11/12] more attempts --- api/enterprise-api-ref/sql-schema/cfdb.markdown | 4 ++-- generator/_references.md | 4 +++- .../language-concepts/modules/package-module-api.markdown | 2 +- reference/masterfiles-policy-framework/lib-packages.markdown | 2 +- reference/promise-types/packages-v1.markdown | 2 +- release-notes/known-issues.markdown | 2 +- 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/api/enterprise-api-ref/sql-schema/cfdb.markdown b/api/enterprise-api-ref/sql-schema/cfdb.markdown index f7645bd0f..f44820f69 100644 --- a/api/enterprise-api-ref/sql-schema/cfdb.markdown +++ b/api/enterprise-api-ref/sql-schema/cfdb.markdown @@ -1117,7 +1117,7 @@ changetimestamp | 2018-10-02 00:04:52+00 ## Table: Software Software packages installed (according to local package manager) on the hosts. -More information about CFEngine and package management can be found [here][packages--v2]. +More information about CFEngine and package management can be found [here][packages]. **Columns:** @@ -1235,7 +1235,7 @@ changetimestamp | 2015-03-12 10:20:18+00 ## Table: SoftwareLog Software packages installed / deleted over period of time. -More information about CFEngine and package management can be found [here][packages--v2]. +More information about CFEngine and package management can be found [here][packages]. **Columns:** diff --git a/generator/_references.md b/generator/_references.md index a88a1c08a..f23dd1680 100644 --- a/generator/_references.md +++ b/generator/_references.md @@ -64,4 +64,6 @@ [mpf-classification-bundles]: reference-masterfiles-policy-framework.html#classification-bundles-before-autorun.html [mpf-services-autorun]: reference-masterfiles-policy-framework-services-autorun.html [package-modules-the-api]: reference-language-concepts-modules-package-module-api.html#the-api -[packages]: reference-promise-types-packages-v2.html +[packages#options]: reference-promise-types-packages-v2.html#options +[packages-v1]: reference-promise-types-packages-v1.html +[packages-v1#package_name_convention]: reference-promise-types-packages-v1.html#package_name_convention diff --git a/reference/language-concepts/modules/package-module-api.markdown b/reference/language-concepts/modules/package-module-api.markdown index 5688af885..7d7955bd6 100644 --- a/reference/language-concepts/modules/package-module-api.markdown +++ b/reference/language-concepts/modules/package-module-api.markdown @@ -8,7 +8,7 @@ sorting: 70 Package modules are back-ends that enable the package promise to work with different types of platform package managers. -See the [`packages` promises][packages--v2] documentation for a +See the [`packages` promises][packages] documentation for a comprehensive reference on the body types and attributes used here. ## The CFEngine side diff --git a/reference/masterfiles-policy-framework/lib-packages.markdown b/reference/masterfiles-policy-framework/lib-packages.markdown index 6738ff660..7a7f0fbda 100644 --- a/reference/masterfiles-policy-framework/lib-packages.markdown +++ b/reference/masterfiles-policy-framework/lib-packages.markdown @@ -4,7 +4,7 @@ title: lib/packages.cf published: true --- -See the [`packages` promises][packages--v2] documentation for a +See the [`packages` promises][packages] documentation for a comprehensive reference on the body types and attributes used here. [%CFEngine_library_include(lib/packages)%] diff --git a/reference/promise-types/packages-v1.markdown b/reference/promise-types/packages-v1.markdown index f61c3407a..684bb3207 100644 --- a/reference/promise-types/packages-v1.markdown +++ b/reference/promise-types/packages-v1.markdown @@ -5,7 +5,7 @@ published: true --- **NOTE:** This package promise is deprecated. -When possible use the latest [package promise version][packages--v2]. +When possible use the latest [package promise version][packages]. If specific attributes are not specified and there is no `default:package_module_knowledge.platform_default` variable set then this v1 packages promise will be used. Also note that if no specific `package_method` attribute is included a default of [`generic`][#Default package method] will be used. diff --git a/release-notes/known-issues.markdown b/release-notes/known-issues.markdown index 81dc9357b..2ce106e52 100644 --- a/release-notes/known-issues.markdown +++ b/release-notes/known-issues.markdown @@ -24,7 +24,7 @@ functionality is reinstated. ### HP-UX specific -* [Package promises][packages--v2] do not have out-of-the-box support for the HP-UX +* [Package promises][packages] do not have out-of-the-box support for the HP-UX specific package manager. The workaround is to call the package manager directly using [commands promises][commands]. * Some important system information is missing from the HP-UX inventory report, From cc8288761e4af39cacb7025e14531cf8083c19a1 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Fri, 23 Feb 2024 16:24:43 -0600 Subject: [PATCH 12/12] debugs? --- generator/_scripts/cfdoc_linkresolver.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/generator/_scripts/cfdoc_linkresolver.py b/generator/_scripts/cfdoc_linkresolver.py index c4f515e7b..06edb65f8 100644 --- a/generator/_scripts/cfdoc_linkresolver.py +++ b/generator/_scripts/cfdoc_linkresolver.py @@ -203,7 +203,7 @@ def parseMarkdownForAnchors(file_name, config): def applyLinkMap(file_name, config): - # print("applyLinkMap() filename = %s" % file_name) + print("applyLinkMap() filename = %s" % file_name) markdown_file = open(file_name, "r") markdown_lines = markdown_file.readlines() markdown_file.close() @@ -295,8 +295,8 @@ def applyLinkMap(file_name, config): candidate_start = -1 i += 1 if index != -1: - # print("applyLinkMap() candidate = %s" % candidate) - # print("applyLinkMap() markdownline = %s" % markdown_line) + print("applyLinkMap() candidate = %s" % candidate) + print("applyLinkMap() markdownline = %s" % markdown_line) write_changes = True new_line += markdown_line[:index] new_line += "[" + candidate + "]" + anchor