Skip to content

building suma docs

Joseph Cayouette edited this page Mar 28, 2023 · 8 revisions

Building SUSE Manager Docs

Procedure: Configuring SUMA docs for publishing

We use the following version conventions for publishing for all targets.

  1. Create a new branch from master for a major or minor release, and push it:

    git checkout -b manager-x.y-betax        # for development
    
    git checkout -b manager-x.y              # for major release
    
    git push
  2. Create a new branch from manager-x.y for a maintenace update (MU), and push it:

    git checkout -b manager-x.y-MU-x.y.z     // for a maintenance update
    
    git push
  • You have the SUSE Open build service tools setup on your local machine, and you have an internal account at build.suse.de. For more information on configuring OBS, see the OBS Tutorial.

  • Our documentation container should be setup. See: Container Setup and Use

For both a local and remote build you need to adjust the parameters.yml file for your target. This means you will need to select the product ui theme for an IBS build.

  1. When using the uyuni-docs-helper image you will first need to make these changes to your publishing branch, push them to the remote repository on GitHub then build with the remote as target. Otherwise you will not see your changes in the resulting build. If you are using your local git checkout of uyuni-docs modify the local parameters.yml file and follow the local build commands.

        site:
          - attribute: title
            value: "SUSE Manager Documentation"
          - attribute: start_page
            value: "suse-manager::index"
          - attribute: url
            value: /
  2. Check the following attributes in the parameters.yml ensuring the file version numbers are correct:

      suma:
        asciidoc:
          - attribute: productnumber
            value: "4.3"
          - attribute: docversion
            value: "4.3"
          - attribute: minorversion
            value: "4.3.5"
          - attribute: saltversion
            value: 3004
          - attribute: sles-version
            value: 15
          - attribute:  sp-version
            value: SP4 #use for normal text
          - attribute: sp-vert
            value: sp4 #use for terminal block
          - attribute: sp-version-l
            value: sp4
          - attribute: smrproductnumber
            value: 4.2
          - attribute: opensuse-version
            value: 15.4
  3. Select the following ui.bundle and supplemental_files values for the SUMA webui: Ensure that you adjust the suma block not the uyuni section.

        ui:
          bundle:
            - attribute: url
              value: ./branding/default-ui/suma/ui-bundle.zip
            - attribute: snapshot
              value: true
          supplemental_files: ./branding/supplemental-ui/suma/webui-2023
  1. To build the packages from the uyuni-docs-helper local checkout run: ./uyuni-docs-helper -r manager-x.y-MU-x.y.z -o ./tmp -c obs-packages-suma-en -p suma. Ensure you have create the tmp directory in the checkout.

  2. Once the packages are built configure your environment variables for OBS on the CLI:

    example
    OBS_USER=keichwa
    OBS_USER=jcayouette
    OBS_USER=omaric
  3. Add the target repo. For SUMA point releases, this will be Devel:Galaxy:Manager:X.Y. For SUMA alpha and beta releases, use Devel:Galaxy:Manager:Head.

    example
    OBS_REPO=Devel:Galaxy:Manager:4.2      # Current maintained major release
    OBS_REPO=Devel:Galaxy:Manager:4.3      # Current major release
    OBS_REPO=Devel:Galaxy:Manager:Head     # Master branch
  4. Checkout the docs package from OBS:

    For SUSE Manager:

    osc -A https://api.suse.de bco $OBS_REPO susemanager-docs_en

    If this fails with a 404, go to the build.suse.de site and log in, then try again.

  5. Copy the two new English packages located in build/packages into"

    build/home:$OBS_USER:branches:$OBS_REPO/susemanager-docs_en*
  6. Change into the OBS checkout dir:

    cd home:$OBS_USER:branches:$OBS_REPO/susemanager-docs_en
  7. Update the changes files using our changelog. Manager 4.2 and Manager 4.3 both use slightly different changelog update methods.

You need to duplicate the changes in the two following files. (Including date and time)

For SUSE Manager, these are called:

  • susemanager-docs_en.changes

  • susemanager-doc-indexes.changes

    osc vc susemanager-docs_en.changes

    Copy the changes from the .changelog file under the timestamp, and save. It should look something like this:

    susemanager-docs_en.changes
    -------------------------------------------------------------------
    Wed Jun 19 15:16:07 UTC 2019 - Joseph Cayouette <USER-EMAIL@suse.com>
    
    - Updated wording for prometheus section
    - Jeos VM update
    - Port 8050 for graphical console display
    - Content life-cycle docs are not enough for customer to understand (bsc#1137955)
    - Salt boot formula fails for SLES11 SP3 terminal (bsc#1136857)
    - Certificate verify failed when using vmware esxi virtual host gatherer (bsc#1136561)
    
    -------------------------------------------------------------------
    1. Repeat for the other file:

      osc vc susemanager-doc-indexes.changes

      Make sure the changes are exactly the same! The changes files must be located in the build/home:$OBS_USER:branches:$OBS_REPO/susemanager-docs_en directory, along with the package files you created earlier.

    Save the files.

    1. Check in the changes. This will also initiate the build:

      osc ci -m "update"
    2. It will take about 15 minutes for all the packages to build. You can check the build results in your home project; e.g. with:

      osc pr

      Alternatively, you can go to the OBS or IBS site to watch progress.

    3. Once you are certain doc packages are building properly on OBS submit an service request to Julio (If everything looks good he will accept and the docs will be included in the new RPM’s.):

      osc sr -m 'update'
  • You have access to our internal gitlab repository.

  • Our documentation tool chain should be installed. See: Toolchain Installation

  1. From your local git checkout of uyuni-docs modify your parameters.yml file. Enable the site.url value key by removing the comment for your target:

    example
        site:
          - attribute: title
            value: "SUSE Manager Documentation"
          - attribute: start_page
            value: "suse-manager::index"
          - attribute: url
            value: https://documentation.suse.com/suma/4.2/
  2. Check the following attributes in the parameters.yml ensuring the file version numbers are correct:

    example
      suma:
        asciidoc:
          - attribute: productname
            value: "SUSE Manager"
          - attribute: productnumber
            value: "4.2"
          - attribute: docversion
            value: "4.2"
          - attribute: minorversion
            value: "4.2.3"
          - attribute: suma-content
            value: true
          - attribute: uyuni-content
            value: false
          - attribute: saltversion
            value: 3002
          - attribute: sles-version
            value: 15
          - attribute:  sp-version
            value: SP3 #use for normal text
          - attribute: sp-vert
            value: sp3 #use for terminal block
          - attribute: sp-version-l
            value: sp3
          - attribute: smrproductnumber
            value: 4.2
          - attribute: opensuse-version
            value: 15.3
  3. Select the correct ui.bundle key and ui.supplemental_files key. When building for D.S.C set the following :

    example
        ui:
          bundle:
            - attribute: url
              value: ./branding/default-ui/suma/susecom-ui-branding-2021.zip
            - attribute: snapshot
              value: true
          supplemental_files: ./branding/supplemental-ui/suma/susecom-branding-2021
  1. Checkout our internal gitlab repository: https://gitlab.suse.de/susedoc/docserv-external-tree-suma

  2. Create a new branch from master for this release, and push it:

    git checkout -b manager-x.y-betax        // for development
    
    git checkout -b manager-x.y              // for major release
    
    git checkout -b manager-x.y-MU-x.y.z     // for a maintenance update
    
    git push
  3. Run the following command to setup the correct parameters:

    make configure-suma
  4. Run the following command to build the docs including translations (requires po4a):

    make antora-suma
  5. The contents of the build/ dir should be dropped into the target version directory.

    translations guide
    Figure 1. 4.2 Directory Example
  1. On IBS search for https://build.suse.de/repositories/Devel:Galaxy:Manager:4.2 and search for spacewalk-java. Click Repositories, then one of the standard links.

  2. Use the Download button next to a spacewalk-java-apidoc-sources-{VERSION}.noarch.rpm.

  3. Extract the XML file:

  4. Open either the apilist.adoc or the xml file from asciidoctor/docbook sources and verify the version number before building.

unrpm -v spacewalk-java-apidoc-sources-VERSION.noarch.rpm
  1. Enter the rpm directory:

cd usr/share/doc/packages/spacewalk-java/xml/
  1. Build the PDF with daps: You must have daps installed to build

daps -vvv --styleroot="/usr/share/xml/docbook/stylesheet/suse2013-ns" -m susemanager_api_doc.xml pdf
  1. Drop the pdf document into link:https://gitlab.suse.de/susedoc/docserv-external-tree-suma/VERSION/PDF

  2. Submit a merge request for Julio, Stefan or Frank.

  1. On IBS search for https://build.suse.de/repositories/Devel:Galaxy:Manager:4.1 and search for spacewalk-java. Click Repositories, then one of the standard links.

  2. Use the Download button next to a spacewalk-java-apidoc-sources-{VERSION}.noarch.rpm.

  3. Extract the XML file:

  4. Open either the apilist.adoc or the xml file from asciidoctor/docbook sources and verify the version number before building.

unrpm -v spacewalk-java-apidoc-sources-VERSION.noarch.rpm
  1. Enter the rpm directory:

cd usr/share/doc/packages/spacewalk-java/xml/
  1. Build the PDF with daps: You must have daps installed to build

daps -vvv --styleroot="/usr/share/xml/docbook/stylesheet/suse2013-ns" -m susemanager_api_doc.xml pdf
  1. Drop the pdf document into link:https://gitlab.suse.de/susedoc/docserv-external-tree-suma/VERSION/PDF

  2. Submit a merge request for Julio, Stefan or Frank.

  1. Click https://build.suse.de/package/binaries/SUSE:SLE-15-SP1:Update:Products:Manager40/spacewalk-java/standard. If it does not work, click https://build.suse.de/project/show/SUSE:SLE-15-SP1:Update:Products:Manager40 and search for spacewalk-java. Click Repositories, then one of the standard links.

  2. Use the Download button next to a spacewalk-java-apidoc-sources-4.0.21-1.1.noarch.rpm.

  3. Extract the XML file:

unrpm -v spacewalk-java-apidoc-sources-4.0.21-1.1.noarch.rpm
  1. Build the PDF with daps:

daps --styleroot="/usr/share/xml/docbook/stylesheet/suse2013-ns" \
     -m usr/share/doc/packages/spacewalk-java/xml/susemanager_api_doc.xml \
     pdf
  1. Drop the pdf document into link:https://gitlab.suse.de/susedoc/docserv-external-tree-suma/VERSION/PDF

  2. Submit a merge request for Julio, Stefan or Frank.

  • You have the SUSE Open build service tools setup on your local machine, and you have an internal account at build.suse.de. For more information on configuring OBS see the OBS Tutorial.

  • Our documentation tool chain should be installed. See: Toolchain Installation

  1. Clone our API docs repository at: https://github.com/uyuni-project/uyuni-docs-api

  2. Create a new branch from master for this release:

    git checkout -b manager-api-x.y-betax        // for development
    
    git checkout -b manager-api-x.y              // for major release
    
    git checkout -b manager-api-x.y-MU-x.y.z     // for a maintenance update
    
    git push
  3. On IBS search for https://build.suse.de/repositories/Devel:Galaxy:Manager:4.2 and search for spacewalk-java. Click Repositories, then one of the standard links.

  4. Use the Download button next to a spacewalk-java-apidoc-sources-{VERSION}.noarch.rpm.

  5. Extract the asciidoc files:

    unrpm -v spacewalk-java-apidoc-sources-VERSION.noarch.rpm
  6. Enter the rpm directory:

    cd usr/share/doc/packages/spacewalk-java/asciidoc/
  7. Open either the apilist.adoc or the xml file from asciidoctor/docbook sources and verify the version number before building

  8. Drop the adoc files into your local clone located:

  9. After verifying the index and api nav lists match the current calls build the api docs with:

    make antora-suma
  10. Copy the build/ contents into our gitlab repo at:

  11. Create a merge request and ping Julio, Stefan or Frank.

Clone this wiki locally