Summary

The custom plugin SDK has been updated in PBA 5.4.11 in order for custom plugins to be automatically added to PBA after their RPM installation.

If you are upgrading PBA from version 5.4.10 or lower to version 5.4.11 or higher and have custom plugins installed, you need to rebuild these custom plugins using the updated SDK plugin before proceeding with the update.

Resolution

Important!

Starting from PBA 5.4.11, it is no longer required to make changes to the /usr/local/bm/etc/ssm.conf.d/containers-list.dist file in order to add containers built with SDK to a PBA installation. Containers will be added automatically during RPM package installation.

In order to apply configuration changes made in the custom plugin SDK to your already existing projects, use the instructions below.

Here is an example of the procedure for the custom domain plugin "MYTEST" (simply replace "MYTEST" with the name of your plugin everywhere below):

  1. Enter the directory to the plugin folder:

    # cd $FULL_PATH_TO_YOUR_PLUGIN/MYTEST
    
  2. Execute the following commands:

    # mkdir etc
    # mkdir etc/ssm.conf.d
    # echo "domreg-plugin" > etc/ssm.conf.d/containers-list.dist.MYTEST
    

    In this example, "domreg-plugin" is a group for all domain registration plugins. Groups for installed plugins are listed in the /usr/local/bm/etc/ssm.conf.d/containers-list.dist file on the PBA Application Server.

  3. Edit the wscript file in the following way:

    Add this line to the "build" procedure:

    bld.install_files('${INSTALL_ROOT}/etc/ssm.conf.d', 'etc/ssm.conf.d/containers-list.dist.*');

    It will look similar to the example below:

    `def build(bld):
    stlrt.correct_system_env(bld)
    stlrt.correct_build_jobs(bld)
    
    cnttask = LISA.new_task_gen(bld,
            features        = 'lsaprogram',
            source          = 'MYTEST.lsa',
            bodies          = [ 'bodies.cc' ],
            internals       = [ 'internals.cc', 'plugin.cpp' ],
            uselib          = [ 'LIBXML2', 'PLUGIN', 'CURLCLIENT'],
            #uselib_local   = [ 'mycustomlib' ],
    )
    
    if Options.options.rpm: rpm(bld)
    bld.install_files('${INSTALL_ROOT}/etc/ssm.conf.d', 'etc/ssm.conf.d/containers-list.dist.*');`
    
  4. Edit the plugin.spec file:

    Add this line to the "%files" section:

    %{_ssmconfdir}/containers-list.dist.%{container}

    It will look similar to the example below:

    `%files
    %{_ssmconfdir}/containers-list.dist.%{container}
    %include %{prefix}/share/std-container.files`
    
  5. Build the RPM plugin using instructions from the "PBA Domain Plug-in SDK" guide.

Internal content