meta-stx: re-name and re-org to align with upstream 54/8154/1
authorJackie Huang <jackie.huang@windriver.com>
Thu, 5 May 2022 11:49:22 +0000 (19:49 +0800)
committerJackie Huang <jackie.huang@windriver.com>
Thu, 5 May 2022 11:52:12 +0000 (19:52 +0800)
* meta-stx renamed to meta-starlingx
* re-org the directories
* based on the tag 'warrior-stx3.0-duplex' in upstream repo

Issue-ID: INF-215

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Change-Id: Ia39b29eeb0be2c5be6e07349baa1a4f5eff6b5e0

1538 files changed:
meta-starlingx/LICENSE [moved from meta-stx/LICENSE with 100% similarity]
meta-starlingx/README.md [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/conf/layer.conf [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-connectivity/qpid/files/fix-compile-through-disable-cflag-werror.patch [moved from meta-stx/recipes-connectivity/qpid/files/fix-compile-through-disable-cflag-werror.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-connectivity/qpid/qpid-proton/fix-missing-libary-for-cpp-binding.patch [moved from meta-stx/recipes-support/qpid-proton/qpid-proton/fix-missing-libary-for-cpp-binding.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-connectivity/qpid/qpid-proton_0.28.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-connectivity/qpid/qpid_0.20.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/erlang/erlang-native_R16B03-1.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/erlang/erlang_R16B03-1.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/erlang/files/erts-configure.in-avoid-RPATH-warning.patch [moved from meta-stx/recipes-devtools/erlang/files/erts-configure.in-avoid-RPATH-warning.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/erlang/files/fix-install-ownership.patch [moved from meta-stx/recipes-devtools/erlang/files/fix-install-ownership.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/eventlet/0001-CGTS-2869-close-connection-on-HTTP-413-Request-Entit.patch [moved from meta-stx/recipes-devtools/python/files/eventlet/0001-CGTS-2869-close-connection-on-HTTP-413-Request-Entit.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/guni_config.py [moved from meta-stx/recipes-devtools/python/files/python-django-horizon/guni_config.py with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/horizon-assets-compress [moved from meta-stx/recipes-devtools/python/files/python-django-horizon/horizon-assets-compress with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/horizon-clearsessions [moved from meta-stx/recipes-devtools/python/files/python-django-horizon/horizon-clearsessions with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/horizon-patching-restart [moved from meta-stx/recipes-devtools/python/files/python-django-horizon/horizon-patching-restart with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/horizon.init [moved from meta-stx/recipes-devtools/python/files/python-django-horizon/horizon.init with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/openstack-dashboard-httpd-2.4.conf [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/openstack-dashboard-httpd-logging.conf [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/python-django-horizon-logrotate.conf [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/python-django-horizon-systemd.conf [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-keyring/chmod_keyringlock2.patch [moved from meta-stx/recipes-devtools/python/files/python-keyring/chmod_keyringlock2.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-keyring/chown_keyringlock_file.patch [moved from meta-stx/recipes-devtools/python/files/python-keyring/chown_keyringlock_file.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-keyring/fix_keyring_lockfile_location.patch [moved from meta-stx/recipes-devtools/python/files/python-keyring/fix_keyring_lockfile_location.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-keyring/keyring_path_change.patch [moved from meta-stx/recipes-devtools/python/files/python-keyring/keyring_path_change.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-keyring/lock_keyring_file.patch [moved from meta-stx/recipes-devtools/python/files/python-keyring/lock_keyring_file.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-keyring/lock_keyring_file2.patch [moved from meta-stx/recipes-devtools/python/files/python-keyring/lock_keyring_file2.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-keyring/no_keyring_password.patch [moved from meta-stx/recipes-devtools/python/files/python-keyring/no_keyring_password.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-keyring/remove-reader-lock.patch [moved from meta-stx/recipes-devtools/python/files/python-keyring/remove-reader-lock.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-keyring/remove_others_perms_on_keyringcfg_file.patch [moved from meta-stx/recipes-devtools/python/files/python-keyring/remove_others_perms_on_keyringcfg_file.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-keyring/use_new_lock.patch [moved from meta-stx/recipes-devtools/python/files/python-keyring/use_new_lock.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-keyring/use_temporary_file.patch [moved from meta-stx/recipes-devtools/python/files/python-keyring/use_temporary_file.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-unittest2/0001-port-unittest2-argparse-is-part-of-stdlib.patch [moved from meta-stx/recipes-devtools/python/files/python-unittest2/0001-port-unittest2-argparse-is-part-of-stdlib.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/requests/0001-close-connection-on-HTTP-413-Request-Entit.patch [moved from meta-stx/recipes-devtools/python/files/requests/0001-close-connection-on-HTTP-413-Request-Entit.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-ansible_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-backports-functools-lru-cache_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-backports-ssl_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-boto3.inc [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-boto3_1.10.25.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-cffi_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-django-horizon_15.1.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-eventlet_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-hgtools_6.3.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-keyring_5.3.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-keystoneclient_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-kombu_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-lefthandclient_2.1.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-openstacksdk_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-openstacksdk_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-oslo.utils_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-paramiko_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-pecan_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-requests-oauthlib_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-requests_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-sphinx_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-testtools_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-unittest2_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-urllib3_1.23.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-websocket-client_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-websockify_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-webtest_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-wsme_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/python/python3-mako_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/ruby-shadow/ruby-shadow_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-devtools/ruby-shadow/ruby-shadow_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-extended/cloud-init/cloud-init_0.7.6.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-extended/cloud-init/files/cloud-init-interactive-parted.patch [moved from meta-stx/recipes-extended/cloud-init/files/cloud-init-interactive-parted.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/cloud-init/files/first_boot.patch [moved from meta-stx/recipes-extended/cloud-init/files/first_boot.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-common-0001-Avoid-RPC-roundtrips-while-listing-items.patch [moved from meta-stx/recipes-extended/rabbitmq/files/rabbitmq-common-0001-Avoid-RPC-roundtrips-while-listing-items.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-common-0002-Use-proto_dist-from-command-line.patch [moved from meta-stx/recipes-extended/rabbitmq/files/rabbitmq-common-0002-Use-proto_dist-from-command-line.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-script-wrapper [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-server-0001-Remove-excessive-sd_notify-code.patch [moved from meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-0001-Remove-excessive-sd_notify-code.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-server-0002-Add-systemd-notification-support.patch [moved from meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-0002-Add-systemd-notification-support.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-server-0003-Revert-Distinct-exit-codes-for-CLI-utilities.patch [moved from meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-0003-Revert-Distinct-exit-codes-for-CLI-utilities.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-server-0004-Allow-guest-login-from-non-loopback-connections.patch [moved from meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-0004-Allow-guest-login-from-non-loopback-connections.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-server-0005-Avoid-RPC-roundtrips-in-list-commands.patch [moved from meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-0005-Avoid-RPC-roundtrips-in-list-commands.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-server-0006-rabbit_prelaunch-must-use-RABBITMQ_SERVER_ERL_ARGS.patch [moved from meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-0006-rabbit_prelaunch-must-use-RABBITMQ_SERVER_ERL_ARGS.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-server-fails-with-home-not-set.patch [moved from meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-fails-with-home-not-set.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-server.logrotate [moved from meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server.logrotate with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-server.service [moved from meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server.service with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-server.tmpfiles [moved from meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server.tmpfiles with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-extended/registry-token-server/files/registry-token-server-1.0.0.tar.gz [moved from meta-stx/recipes-containers/registry-token-server/files/registry-token-server-1.0.0.tar.gz with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/registry-token-server/files/registry-token-server.service [moved from meta-stx/recipes-containers/registry-token-server/files/registry-token-server.service with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/registry-token-server/files/token-server-certificate.pem [moved from meta-stx/recipes-containers/registry-token-server/files/token-server-certificate.pem with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/registry-token-server/files/token-server-private-key.pem [moved from meta-stx/recipes-containers/registry-token-server/files/token-server-private-key.pem with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/registry-token-server/files/token_server.conf [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-extended/registry-token-server/registry-token-server_1.0.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-extended/registry-token-server/registry-token-server_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-extended/uwsgi/files/0001-pragma-ignore-cast-type-errors-with-gcc-8.3.patch [moved from meta-stx/recipes-extended/uswgi/files/0001-pragma-ignore-cast-type-errors-with-gcc-8.3.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-extended/uwsgi/uwsgi_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/0001-disable-doc-build.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/0001-disable-doc-build.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/0002-Set-OCF_ROOT_DIR-to-libdir-ocf.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/0002-Set-OCF_ROOT_DIR-to-libdir-ocf.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/0003-fix-header-defs-lookup.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/0003-fix-header-defs-lookup.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/0004-configure.ac-fix-install-sh-not-found.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/0004-configure.ac-fix-install-sh-not-found.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/stx/Fix-VG-activity-bug-in-heartbeat-LVM-script.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/stx/Fix-VG-activity-bug-in-heartbeat-LVM-script.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/stx/copyright.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/stx/copyright.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/stx/ipaddr2-avoid-failing-svc-if-down.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/stx/ipaddr2-avoid-failing-svc-if-down.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/stx/ipaddr2-use-host-scope-for-addresses-on-loopback.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/stx/ipaddr2-use-host-scope-for-addresses-on-loopback.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/stx/ipaddr2_check_if_state.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/stx/ipaddr2_check_if_state.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/stx/ipaddr2_if_down.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/stx/ipaddr2_if_down.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/stx/ipaddr2_ignore_lo_if_state.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/stx/ipaddr2_ignore_lo_if_state.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/stx/lvm_cleanup_refs_on_stop.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/stx/lvm_cleanup_refs_on_stop.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/stx/lvm_vg_activation.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/stx/lvm_vg_activation.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/stx/new_ocf_return_codes.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/stx/new_ocf_return_codes.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/stx/ocf-shellfuncs_change_logtag.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/stx/ocf-shellfuncs_change_logtag.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/stx/pgsql.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/stx/pgsql.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents/stx/umount-in-namespace.patch [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents/stx/umount-in-namespace.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/cluster-resource-agents/resource-agents_4.1.1.bb [moved from meta-stx/recipes-support/cluster-resource-agents/resource-agents_4.1.1.bb with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/facter/facter_2.5.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/facter/files/0001-ps.patch [moved from meta-stx/recipes-support/facter/files/0001-ps.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/facter/files/0002-personality.patch [moved from meta-stx/recipes-support/facter/files/0002-personality.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/facter/files/0003-centos_remove-net-commands-that-can-timeout.patch [moved from meta-stx/recipes-support/facter/files/0003-centos_remove-net-commands-that-can-timeout.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/facter/files/0004-centos_fix-ipv6-regex.patch [moved from meta-stx/recipes-support/facter/files/0004-centos_fix-ipv6-regex.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/facter/files/0004-centos_fix-ipv6-regex.patch.bak [moved from meta-stx/recipes-support/facter/files/0004-centos_fix-ipv6-regex.patch.bak with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/facter/files/0005-Hardcode-ipaddress-fact-to-localhost.patch [moved from meta-stx/recipes-support/facter/files/0005-Hardcode-ipaddress-fact-to-localhost.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/facter/files/0006-facter-updates-for-poky-stx.patch [moved from meta-stx/recipes-support/facter/files/0006-facter-updates-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/hiera/hiera_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/allow-anonymous-bind-for-ldap-search.patch [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldap-user-setup-support.patch [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapaddgroup.template.cgcs [new file with mode: 0755]
meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapaddsudo.template.cgcs [new file with mode: 0755]
meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapadduser.template.cgcs [new file with mode: 0755]
meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapmodsudo.template.cgcs [new file with mode: 0755]
meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapmoduser.template.cgcs [new file with mode: 0755]
meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapscripts.conf.cgcs [new file with mode: 0755]
meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapscripts.passwd [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/log_timestamp.patch [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/sudo-delete-support.patch [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/sudo-support.patch [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/ldapscripts_2.0.8.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/mod-wsgi/mod-wsgi_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/nss-pam-ldapd/nss-pam-ldapd_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/os-service-types/python2-os-service-types_1.3.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/network/Don-t-write-absent-to-redhat-route-files-and-test-fo.patch [moved from meta-stx/recipes-support/puppet/files/network/Don-t-write-absent-to-redhat-route-files-and-test-fo.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/network/fix-absent-options.patch [moved from meta-stx/recipes-support/puppet/files/network/fix-absent-options.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/network/ipv6-static-route-support.patch [moved from meta-stx/recipes-support/puppet/files/network/ipv6-static-route-support.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/network/permit-inservice-update-of-static-routes.patch [moved from meta-stx/recipes-support/puppet/files/network/permit-inservice-update-of-static-routes.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/network/puppet-network-Kilo-quilt-changes.patch [moved from meta-stx/recipes-support/puppet/files/network/puppet-network-Kilo-quilt-changes.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/network/puppet-network-support-ipv6.patch [moved from meta-stx/recipes-support/puppet/files/network/puppet-network-support-ipv6.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/network/route-options-support.patch [moved from meta-stx/recipes-support/puppet/files/network/route-options-support.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-barbican/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-barbican/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-barbican/puppet-barbican-do-not-fail-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppet-barbican/puppet-barbican-do-not-fail-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-barbican/puppet-barbican-fix-the-pkg-and-service-names-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppet-barbican/puppet-barbican-fix-the-pkg-and-service-names-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-boolean/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-boolean/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ceph/0001-Roll-up-TIS-patches.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ceph/0001-Roll-up-TIS-patches.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ceph/0002-Newton-rebase-fixes.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ceph/0002-Newton-rebase-fixes.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ceph/0003-Ceph-Jewel-rebase.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ceph/0003-Ceph-Jewel-rebase.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ceph/0004-US92424-Add-OSD-support-for-persistent-naming.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ceph/0004-US92424-Add-OSD-support-for-persistent-naming.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ceph/0005-Remove-puppetlabs-apt-as-ceph-requirement.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ceph/0005-Remove-puppetlabs-apt-as-ceph-requirement.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ceph/0006-ceph-disk-prepare-invalid-data-disk-value.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ceph/0006-ceph-disk-prepare-invalid-data-disk-value.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ceph/0007-Add-StarlingX-specific-restart-command-for-Ceph-moni.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ceph/0007-Add-StarlingX-specific-restart-command-for-Ceph-moni.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ceph/0008-ceph-mimic-prepare-activate-osd.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ceph/0008-ceph-mimic-prepare-activate-osd.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ceph/0009-fix-ceph-osd-disk-partition-for-nvme-disks.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ceph/0009-fix-ceph-osd-disk-partition-for-nvme-disks.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ceph/0010-wipe-unprepared-disks.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ceph/0010-wipe-unprepared-disks.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ceph/0011-puppet-ceph-changes-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ceph/0011-puppet-ceph-changes-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ceph/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ceph/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-certmonger/0001-puppet-certmonger-adjust-path-to-poky-rootfs.patch [moved from meta-stx/recipes-support/puppet/files/puppet-certmonger/0001-puppet-certmonger-adjust-path-to-poky-rootfs.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-certmonger/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-certmonger/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-collectd/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-collectd/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-dnsmasq/0001-puppet-dnsmasq-Kilo-quilt-patches.patch [moved from meta-stx/recipes-support/puppet/files/puppet-dnsmasq/0001-puppet-dnsmasq-Kilo-quilt-patches.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-dnsmasq/0002-Fixing-mismatched-permission-on-dnsmasq-conf.patch [moved from meta-stx/recipes-support/puppet/files/puppet-dnsmasq/0002-Fixing-mismatched-permission-on-dnsmasq-conf.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-dnsmasq/0003-Support-management-of-tftp_max-option.patch [moved from meta-stx/recipes-support/puppet/files/puppet-dnsmasq/0003-Support-management-of-tftp_max-option.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-dnsmasq/0004-Enable-clear-DNS-cache-on-reload.patch [moved from meta-stx/recipes-support/puppet/files/puppet-dnsmasq/0004-Enable-clear-DNS-cache-on-reload.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-dnsmasq/0005-puppet-dnsmasq-updates-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppet-dnsmasq/0005-puppet-dnsmasq-updates-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-dnsmasq/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-dnsmasq/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-dnsmasq/metadata.json.patch [moved from meta-stx/recipes-support/puppet/files/puppet-dnsmasq/metadata.json.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-drbd/0001-TIS-Patches.patch [moved from meta-stx/recipes-support/puppet/files/puppet-drbd/0001-TIS-Patches.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-drbd/0002-Disable-timeout-for-mkfs-command.patch [moved from meta-stx/recipes-support/puppet/files/puppet-drbd/0002-Disable-timeout-for-mkfs-command.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-drbd/0003-drbd-parallel-to-serial-synchronization.patch [moved from meta-stx/recipes-support/puppet/files/puppet-drbd/0003-drbd-parallel-to-serial-synchronization.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-drbd/0004-US-96914-reuse-existing-drbd-cinder-resource.patch [moved from meta-stx/recipes-support/puppet/files/puppet-drbd/0004-US-96914-reuse-existing-drbd-cinder-resource.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-drbd/0005-Add-PausedSync-states-to-acceptable-cstate.patch [moved from meta-stx/recipes-support/puppet/files/puppet-drbd/0005-Add-PausedSync-states-to-acceptable-cstate.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-drbd/0006-CGTS-7164-Add-resource-options-cpu-mask-to-affine-drbd-kernel-threads.patch [moved from meta-stx/recipes-support/puppet/files/puppet-drbd/0006-CGTS-7164-Add-resource-options-cpu-mask-to-affine-drbd-kernel-threads.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-drbd/0007-Add-disk-by-path-test.patch [moved from meta-stx/recipes-support/puppet/files/puppet-drbd/0007-Add-disk-by-path-test.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-drbd/0008-CGTS-7953-support-for-new-drbd-resources.patch [moved from meta-stx/recipes-support/puppet/files/puppet-drbd/0008-CGTS-7953-support-for-new-drbd-resources.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-drbd/0009-drbd-slow-before-swact.patch [moved from meta-stx/recipes-support/puppet/files/puppet-drbd/0009-drbd-slow-before-swact.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-drbd/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-drbd/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-etcd/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-etcd/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-etcd/puppet-etcd-changes-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppet-etcd/puppet-etcd-changes-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-filemapper/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-filemapper/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-filemapper/metadata.json.patch [moved from meta-stx/recipes-support/puppet/files/puppet-filemapper/metadata.json.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-horizon/0001-Update-memcached-dependency.patch [moved from meta-stx/recipes-support/puppet/files/puppet-horizon/0001-Update-memcached-dependency.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-horizon/0002-puppet-horizon-changes-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppet-horizon/0002-puppet-horizon-changes-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-horizon/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-horizon/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-keystone/0001-pike-rebase-squash-titanium-patches.patch [moved from meta-stx/recipes-support/puppet/files/puppet-keystone/0001-pike-rebase-squash-titanium-patches.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-keystone/0002-remove-the-Keystone-admin-app.patch [moved from meta-stx/recipes-support/puppet/files/puppet-keystone/0002-remove-the-Keystone-admin-app.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-keystone/0003-remove-eventlet_bindhost-from-Keystoneconf.patch [moved from meta-stx/recipes-support/puppet/files/puppet-keystone/0003-remove-eventlet_bindhost-from-Keystoneconf.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-keystone/0004-escape-special-characters-in-bootstrap.patch [moved from meta-stx/recipes-support/puppet/files/puppet-keystone/0004-escape-special-characters-in-bootstrap.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-keystone/0005-Add-support-for-fernet-receipts.patch [moved from meta-stx/recipes-support/puppet/files/puppet-keystone/0005-Add-support-for-fernet-receipts.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-keystone/0006-workaround-Adjust-keystone-naming-to-poky.patch [moved from meta-stx/recipes-support/puppet/files/puppet-keystone/0006-workaround-Adjust-keystone-naming-to-poky.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-keystone/0007-puppet-keystone-specify-full-path-to-openrc.patch [moved from meta-stx/recipes-support/puppet/files/puppet-keystone/0007-puppet-keystone-specify-full-path-to-openrc.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-keystone/0008-params.pp-fix-the-service-name-of-openstack-keystone.patch [moved from meta-stx/recipes-support/puppet/files/puppet-keystone/0008-params.pp-fix-the-service-name-of-openstack-keystone.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-keystone/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-keystone/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-kmod/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-kmod/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-kmod/persistent-module-load-poky.patch [moved from meta-stx/recipes-support/puppet/files/puppet-kmod/persistent-module-load-poky.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ldap/0001-puppet-ldap-add-os-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ldap/0001-puppet-ldap-add-os-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ldap/0002-puppet-ldap-poky-stx-fix-pkg-name.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ldap/0002-puppet-ldap-poky-stx-fix-pkg-name.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-ldap/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-ldap/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-memcached/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-memcached/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-network/0001-Stx-uses-puppet-boolean-instead-of-adrien-boolean.patch [moved from meta-stx/recipes-support/puppet/files/puppet-network/0001-Stx-uses-puppet-boolean-instead-of-adrien-boolean.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-network/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-network/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-network/Don-t-write-absent-to-redhat-route-files-and-test-fo.patch [moved from meta-stx/recipes-support/puppet/files/puppet-network/Don-t-write-absent-to-redhat-route-files-and-test-fo.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-network/fix-absent-options.patch [moved from meta-stx/recipes-support/puppet/files/puppet-network/fix-absent-options.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-network/ipv6-static-route-support.patch [moved from meta-stx/recipes-support/puppet/files/puppet-network/ipv6-static-route-support.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-network/metadata.json.patch [moved from meta-stx/recipes-support/puppet/files/puppet-network/metadata.json.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-network/permit-inservice-update-of-static-routes.patch [moved from meta-stx/recipes-support/puppet/files/puppet-network/permit-inservice-update-of-static-routes.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-network/puppet-network-Kilo-quilt-changes.patch [moved from meta-stx/recipes-support/puppet/files/puppet-network/puppet-network-Kilo-quilt-changes.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-network/puppet-network-config-poky-provider.patch [moved from meta-stx/recipes-support/puppet/files/puppet-network/puppet-network-config-poky-provider.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-network/puppet-network-support-ipv6.patch [moved from meta-stx/recipes-support/puppet/files/puppet-network/puppet-network-support-ipv6.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-network/puppet-network-updates-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppet-network/puppet-network-updates-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-network/route-options-support.patch [moved from meta-stx/recipes-support/puppet/files/puppet-network/route-options-support.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-nslcd/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-nslcd/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-nslcd/metadata.json.patch [moved from meta-stx/recipes-support/puppet/files/puppet-nslcd/metadata.json.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-nslcd/puppet-nslcd-updates-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppet-nslcd/puppet-nslcd-updates-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-nssdb/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-nssdb/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-nssdb/metadata.json.patch [moved from meta-stx/recipes-support/puppet/files/puppet-nssdb/metadata.json.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-openstacklib/0001-Roll-up-TIS-patches.patch [moved from meta-stx/recipes-support/puppet/files/puppet-openstacklib/0001-Roll-up-TIS-patches.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-openstacklib/0002-puppet-openstacklib-updates-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppet-openstacklib/0002-puppet-openstacklib-updates-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-openstacklib/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-openstacklib/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-oslo/0001-Remove-log_dir-from-conf-files.patch [moved from meta-stx/recipes-support/puppet/files/puppet-oslo/0001-Remove-log_dir-from-conf-files.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-oslo/0002-add-psycopg2-drivername-to-postgresql-settings.patch [moved from meta-stx/recipes-support/puppet/files/puppet-oslo/0002-add-psycopg2-drivername-to-postgresql-settings.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-oslo/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-oslo/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-puppi/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-puppi/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-puppi/puppet-puppi-adjust-path.patch [moved from meta-stx/recipes-support/puppet/files/puppet-puppi/puppet-puppi-adjust-path.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-puppi/puppet-puppi-updates-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppet-puppi/puppet-puppi-updates-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-staging/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-staging/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-sysctl/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-sysctl/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-vlan/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet-vlan/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet-vlan/metadata.json.patch [moved from meta-stx/recipes-support/puppet/files/puppet-vlan/metadata.json.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet/4.8.2/add_puppet_gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppet/4.8.2/add_puppet_gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet/4.8.2/puppet-poky-dnf.patch [moved from meta-stx/recipes-support/puppet/files/puppet/4.8.2/puppet-poky-dnf.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet/4.8.2/puppet-updates-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppet/4.8.2/puppet-updates-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet/4.8.2/puppet.conf [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet/4.8.2/puppet.init [moved from meta-stx/recipes-support/puppet/files/puppet/4.8.2/puppet.init with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet/4.8.2/puppet.service [moved from meta-stx/recipes-support/puppet/files/puppet/4.8.2/puppet.service with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet/puppet-poky-yum.patch [moved from meta-stx/recipes-support/puppet/files/puppet/puppet-poky-yum.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet/puppet-updates-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppet/puppet-updates-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-apache/0001-maint-Fix-conditional-in-vhost-ssl-template.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-apache/0001-maint-Fix-conditional-in-vhost-ssl-template.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-apache/0002-maint-Fix-the-vhost-ssl-template-correctly-this-time.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-apache/0002-maint-Fix-the-vhost-ssl-template-correctly-this-time.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-apache/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-apache/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-apache/puppetlabs-apache-updates-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-apache/puppetlabs-apache-updates-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-concat/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-concat/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-create-resources/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-create-resources/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-create-resources/metadata.json.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-create-resources/metadata.json.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-firewall/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-firewall/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-firewall/poky-firewall-updates.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-firewall/poky-firewall-updates.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-firewall/puppet-firewall-poky.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-firewall/puppet-firewall-poky.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-firewall/puppet-firewall-random-fully-support.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-firewall/puppet-firewall-random-fully-support.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-firewall/puppet-firewall-updates-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-firewall/puppet-firewall-updates-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-haproxy/0001-Roll-up-TIS-patches.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-haproxy/0001-Roll-up-TIS-patches.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-haproxy/0002-disable-config-validation-prechecks.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-haproxy/0002-disable-config-validation-prechecks.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-haproxy/0003-Fix-global_options-log-default-value.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-haproxy/0003-Fix-global_options-log-default-value.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-haproxy/0004-Stop-invalid-warning-message [moved from meta-stx/recipes-support/puppet/files/puppetlabs-haproxy/0004-Stop-invalid-warning-message with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-haproxy/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-haproxy/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-inifile/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-inifile/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-lvm/0001-puppet-lvm-kilo-quilt-changes.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-lvm/0001-puppet-lvm-kilo-quilt-changes.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-lvm/0002-UEFI-pvcreate-fix.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-lvm/0002-UEFI-pvcreate-fix.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-lvm/0003-US94222-Persistent-Dev-Naming.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-lvm/0003-US94222-Persistent-Dev-Naming.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-lvm/0004-extendind-nuke_fs_on_resize_failure-functionality.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-lvm/0004-extendind-nuke_fs_on_resize_failure-functionality.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-lvm/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-lvm/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-lvm/Fix-the-logical-statement-for-nuke_fs_on_resize.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-lvm/Fix-the-logical-statement-for-nuke_fs_on_resize.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-mysql/0001-Fix-ruby-path.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-mysql/0001-Fix-ruby-path.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-mysql/0001-Stx-uses-nanliu-staging-module.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-mysql/0001-Stx-uses-nanliu-staging-module.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-mysql/0002-puppet-mysql-changes-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-mysql/0002-puppet-mysql-changes-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-mysql/0003-puppet-mysqltuner-adjust-path.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-mysql/0003-puppet-mysqltuner-adjust-path.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-mysql/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-mysql/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-postgresql/0001-Roll-up-TIS-patches.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-postgresql/0001-Roll-up-TIS-patches.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-postgresql/0002-remove-puppetlabs-apt-as-a-requirement.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-postgresql/0002-remove-puppetlabs-apt-as-a-requirement.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-postgresql/0003-puppetlabs-postgresql-account-for-naming-diffs.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-postgresql/0003-puppetlabs-postgresql-account-for-naming-diffs.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-postgresql/0004-poky-postgresql-updates.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-postgresql/0004-poky-postgresql-updates.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-postgresql/0005-puppetlabs-postgresql-poky.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-postgresql/0005-puppetlabs-postgresql-poky.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-postgresql/0006-adjust_path-remove-refs-to-local-bin.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-postgresql/0006-adjust_path-remove-refs-to-local-bin.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-postgresql/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-postgresql/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-postgresql/postgresql.service [moved from meta-stx/recipes-support/puppet/files/puppetlabs-postgresql/postgresql.service with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-rabbitmq/0001-Roll-up-TIS-patches.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-rabbitmq/0001-Roll-up-TIS-patches.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-rabbitmq/0002-Changed-cipher-specification-to-openssl-format.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-rabbitmq/0002-Changed-cipher-specification-to-openssl-format.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-rabbitmq/0004-Partially-revert-upstream-commit-f7c3a4a637d59f3065d.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-rabbitmq/0004-Partially-revert-upstream-commit-f7c3a4a637d59f3065d.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-rabbitmq/0005-Remove-the-rabbitmq_nodename-fact.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-rabbitmq/0005-Remove-the-rabbitmq_nodename-fact.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-rabbitmq/0007-init.pp-do-not-check-the-apt-resource.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-rabbitmq/0007-init.pp-do-not-check-the-apt-resource.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-rabbitmq/0008-puppet-rabbitmq-poky.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-rabbitmq/0008-puppet-rabbitmq-poky.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-rabbitmq/0009-remove-apt-requirement.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-rabbitmq/0009-remove-apt-requirement.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-rabbitmq/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-rabbitmq/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-stdlib/0001-Filter-password-in-logs.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-stdlib/0001-Filter-password-in-logs.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppetlabs-stdlib/Add-gemspec.patch [moved from meta-stx/recipes-support/puppet/files/puppetlabs-stdlib/Add-gemspec.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/stx-puppet/0001-puppet-manifest-apply-rebase-adjust-path.patch [moved from meta-stx/recipes-support/puppet/files/stx-puppet/0001-puppet-manifest-apply-rebase-adjust-path.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/stx-puppet/0002-puppet-manifests-port-Adjust-path-default-bindir.patch [moved from meta-stx/recipes-support/puppet/files/stx-puppet/0002-puppet-manifests-port-Adjust-path-default-bindir.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/stx-puppet/0003-puppet-dcmanager-updates-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/stx-puppet/0003-puppet-dcmanager-updates-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/stx-puppet/0004-puppet-dcorch-updates-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/stx-puppet/0004-puppet-dcorch-updates-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/stx-puppet/0005-puppet-sysinv-updates-for-poky-stx.patch [moved from meta-stx/recipes-support/puppet/files/stx-puppet/0005-puppet-sysinv-updates-for-poky-stx.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/stx-puppet/0006-puppet-manifest-apply-do-not-treat-warnings-as-block.patch [moved from meta-stx/recipes-support/puppet/files/stx-puppet/0006-puppet-manifest-apply-do-not-treat-warnings-as-block.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/stx-puppet/0007-puppet-manifests-etcd-override-typo-and-journalctl.patch [moved from meta-stx/recipes-support/puppet/files/stx-puppet/0007-puppet-manifests-etcd-override-typo-and-journalctl.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/stx-puppet/0008-puppet-manifests-keystone-include-platform-client.patch [moved from meta-stx/recipes-support/puppet/files/stx-puppet/0008-puppet-manifests-keystone-include-platform-client.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/stx-puppet/0009-puppet-manifests-lvm-remove-lvmetad.patch [moved from meta-stx/recipes-support/puppet/files/stx-puppet/0009-puppet-manifests-lvm-remove-lvmetad.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/stx-puppet/apply_network_config_poky.sh [moved from meta-stx/recipes-support/puppet/files/stx-puppet/apply_network_config_poky.sh with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/stx-puppet/get-boot-device-from-cmdline.patch [moved from meta-stx/recipes-support/puppet/files/stx-puppet/get-boot-device-from-cmdline.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/stx-puppet/poky-specific-apply-network-config-script.patch [moved from meta-stx/recipes-support/puppet/files/stx-puppet/poky-specific-apply-network-config-script.patch with 100% similarity]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-barbican_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-barbican_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-boolean_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-ceph_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-ceph_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-certmonger_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-certmonger_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-collectd_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-dnsmasq_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-dnsmasq_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-drbd_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-drbd_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-etcd_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-etcd_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-filemapper_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-horizon_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-horizon_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-keystone_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-keystone_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-kmod_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-ldap_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-ldap_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-memcached_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-network_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-network_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-nslcd_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-nslcd_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-nssdb_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-openstacklib_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-openstacklib_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-oslo_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-oslo_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-puppi_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-puppi_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-staging_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-sysctl_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-vlan_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-vswitch_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet_4.8.2.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet_5.4.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-apache_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-apache_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-concat_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-create-resources_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-firewall_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-firewall_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-haproxy_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-haproxy_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-inifile.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-lvm_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-lvm_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-mysql_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-mysql_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-postgresql_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-postgresql_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-rabbitmq_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-rabbitmq_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-stdlib_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-cloud/recipes-support/puppet/stx-puppet_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-distro/classes/extrausers-config.bbclass [new file with mode: 0644]
meta-starlingx/meta-stx-distro/classes/openssl10.bbclass [new file with mode: 0644]
meta-starlingx/meta-stx-distro/classes/python-backports-init.bbclass [new file with mode: 0644]
meta-starlingx/meta-stx-distro/classes/stx-anaconda-image.bbclass [new file with mode: 0644]
meta-starlingx/meta-stx-distro/classes/stx-image-list.bbclass [moved from meta-stx/classes/stx-image-list.bbclass with 100% similarity]
meta-starlingx/meta-stx-distro/classes/stx-postrun.bbclass [new file with mode: 0644]
meta-starlingx/meta-stx-distro/conf/distro/files/syslinux.cfg [moved from meta-stx/conf/distro/files/syslinux.cfg with 100% similarity]
meta-starlingx/meta-stx-distro/conf/distro/include/stx-features.inc [new file with mode: 0644]
meta-starlingx/meta-stx-distro/conf/distro/include/stx-preferred-vers.inc [new file with mode: 0644]
meta-starlingx/meta-stx-distro/conf/distro/poky-stx.conf [new file with mode: 0644]
meta-starlingx/meta-stx-distro/conf/layer.conf [new file with mode: 0644]
meta-starlingx/meta-stx-distro/recipes-core/images/stx-image-aio-installer.bb [new file with mode: 0644]
meta-starlingx/meta-stx-distro/recipes-core/images/stx-image-aio.bb [new file with mode: 0644]
meta-starlingx/meta-stx-distro/recipes-core/packagegroups/packagegroup-stx.bb [new file with mode: 0644]
meta-starlingx/meta-stx-distro/recipes-core/pxe-installer-initramfs/pxe-installer-initramfs_1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-distro/recipes-httpd/apache2/apache2_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-distro/recipes-httpd/lighttpd/files/lighttpd-init-script-chroot.patch [moved from meta-stx/recipes-core/stx-config-files/files/lighttpd-init-script-chroot.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-httpd/lighttpd/lighttpd_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Add-Client-ID-to-debug-messages.patch [moved from meta-stx/recipes-security/gssproxy/files/Add-Client-ID-to-debug-messages.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Allow-connection-to-self-when-impersonator-set.patch [moved from meta-stx/recipes-security/gssproxy/files/Allow-connection-to-self-when-impersonator-set.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Always-choose-highest-requested-debug-level.patch [moved from meta-stx/recipes-security/gssproxy/files/Always-choose-highest-requested-debug-level.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Always-use-the-encype-we-selected.patch [moved from meta-stx/recipes-security/gssproxy/files/Always-use-the-encype-we-selected.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Appease-gcc-7-s-fallthrough-detection.patch [moved from meta-stx/recipes-security/gssproxy/files/Appease-gcc-7-s-fallthrough-detection.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Change-impersonator-check-code.patch [moved from meta-stx/recipes-security/gssproxy/files/Change-impersonator-check-code.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Clarify-debug-and-debug_level-in-man-pages.patch [moved from meta-stx/recipes-security/gssproxy/files/Clarify-debug-and-debug_level-in-man-pages.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Conditionally-reload-kernel-interface-on-SIGHUP.patch [moved from meta-stx/recipes-security/gssproxy/files/Conditionally-reload-kernel-interface-on-SIGHUP.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Do-not-call-gpm_grab_sock-twice.patch [moved from meta-stx/recipes-security/gssproxy/files/Do-not-call-gpm_grab_sock-twice.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Don-t-leak-mech_type-when-CONTINUE_NEEDED-from-init_.patch [moved from meta-stx/recipes-security/gssproxy/files/Don-t-leak-mech_type-when-CONTINUE_NEEDED-from-init_.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Emit-debug-on-queue-errors.patch [moved from meta-stx/recipes-security/gssproxy/files/Emit-debug-on-queue-errors.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-error-checking-on-get_impersonator_fallback.patch [moved from meta-stx/recipes-security/gssproxy/files/Fix-error-checking-on-get_impersonator_fallback.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-error-handling-in-gp_config_from_dir.patch [moved from meta-stx/recipes-security/gssproxy/files/Fix-error-handling-in-gp_config_from_dir.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-error-handling-in-gpm_send_buffer-gpm_recv_buffe.patch [moved from meta-stx/recipes-security/gssproxy/files/Fix-error-handling-in-gpm_send_buffer-gpm_recv_buffe.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-handling-of-non-EPOLLIN-EPOLLOUT-events.patch [moved from meta-stx/recipes-security/gssproxy/files/Fix-handling-of-non-EPOLLIN-EPOLLOUT-events.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-memory-leak.patch [moved from meta-stx/recipes-security/gssproxy/files/Fix-memory-leak.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-mismatched-sign-comparisons.patch [moved from meta-stx/recipes-security/gssproxy/files/Fix-mismatched-sign-comparisons.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-most-memory-leaks.patch [moved from meta-stx/recipes-security/gssproxy/files/Fix-most-memory-leaks.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-potential-free-of-non-heap-address.patch [moved from meta-stx/recipes-security/gssproxy/files/Fix-potential-free-of-non-heap-address.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-segfault-when-no-config-files-are-present.patch [moved from meta-stx/recipes-security/gssproxy/files/Fix-segfault-when-no-config-files-are-present.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-silent-crash-with-duplicate-config-sections.patch [moved from meta-stx/recipes-security/gssproxy/files/Fix-silent-crash-with-duplicate-config-sections.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-unused-variables.patch [moved from meta-stx/recipes-security/gssproxy/files/Fix-unused-variables.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Handle-outdated-encrypted-ccaches.patch [moved from meta-stx/recipes-security/gssproxy/files/Handle-outdated-encrypted-ccaches.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Include-header-for-writev.patch [moved from meta-stx/recipes-security/gssproxy/files/Include-header-for-writev.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Make-proc-file-failure-loud-but-nonfatal.patch [moved from meta-stx/recipes-security/gssproxy/files/Make-proc-file-failure-loud-but-nonfatal.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Only-empty-FILE-ccaches-when-storing-remote-creds.patch [moved from meta-stx/recipes-security/gssproxy/files/Only-empty-FILE-ccaches-when-storing-remote-creds.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Prevent-uninitialized-read-in-error-path-of-XDR-cont.patch [moved from meta-stx/recipes-security/gssproxy/files/Prevent-uninitialized-read-in-error-path-of-XDR-cont.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Properly-initialize-ccaches-before-storing-into-them.patch [moved from meta-stx/recipes-security/gssproxy/files/Properly-initialize-ccaches-before-storing-into-them.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Properly-locate-credentials-in-collection-caches-in-.patch [moved from meta-stx/recipes-security/gssproxy/files/Properly-locate-credentials-in-collection-caches-in-.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Properly-renew-expired-credentials.patch [moved from meta-stx/recipes-security/gssproxy/files/Properly-renew-expired-credentials.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Remove-gpm_release_ctx-to-fix-double-unlock.patch [moved from meta-stx/recipes-security/gssproxy/files/Remove-gpm_release_ctx-to-fix-double-unlock.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Separate-cred-and-ccache-manipulation-in-gpp_store_r.patch [moved from meta-stx/recipes-security/gssproxy/files/Separate-cred-and-ccache-manipulation-in-gpp_store_r.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Simplify-setting-NONBLOCK-on-socket.patch [moved from meta-stx/recipes-security/gssproxy/files/Simplify-setting-NONBLOCK-on-socket.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Tolerate-NULL-pointers-in-gp_same.patch [moved from meta-stx/recipes-security/gssproxy/files/Tolerate-NULL-pointers-in-gp_same.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Turn-on-Wextra.patch [moved from meta-stx/recipes-security/gssproxy/files/Turn-on-Wextra.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Update-systemd-file.patch [moved from meta-stx/recipes-security/gssproxy/files/Update-systemd-file.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/client-Switch-to-non-blocking-sockets.patch [moved from meta-stx/recipes-security/gssproxy/files/client-Switch-to-non-blocking-sockets.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/server-Add-detailed-request-logging.patch [moved from meta-stx/recipes-security/gssproxy/files/server-Add-detailed-request-logging.patch with 100% similarity]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/gssproxy_0.7.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-distro/recipes-security/gssproxy/gssproxy_0.7.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-flock/conf/layer.conf [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-ansible-playbooks/files/0001-stx.3.0-rebase-adjust-path.patch [moved from meta-stx/recipes-core/stx-ansible-playbooks/files/0001-stx.3.0-rebase-adjust-path.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-ansible-playbooks/files/0002-update_sysinv_database-do-not-fail-if-ceph-monitor-a.patch [moved from meta-stx/recipes-core/stx-ansible-playbooks/files/0002-update_sysinv_database-do-not-fail-if-ceph-monitor-a.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-ansible-playbooks/files/0003-update_sysinv_database-wait-after-provision.patch [moved from meta-stx/recipes-core/stx-ansible-playbooks/files/0003-update_sysinv_database-wait-after-provision.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-ansible-playbooks/files/0004-bringup_flock_services-use-systmd-for-fminit-and-add.patch [moved from meta-stx/recipes-core/stx-ansible-playbooks/files/0004-bringup_flock_services-use-systmd-for-fminit-and-add.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-ansible-playbooks/files/0005-persist-config-add-retry-for-etcd.patch [moved from meta-stx/recipes-core/stx-ansible-playbooks/files/0005-persist-config-add-retry-for-etcd.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-ansible-playbooks/playbookconfig.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-config-files/files/APACHE-2.0.LICENSE [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-config-files/mlx4-init.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-config/cgts-client.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-config/config-common.inc [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-config/config-gate.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-config/controllerconfig.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-config/files/0001-stx-config-remove-argparse-requirement-from-sysinv.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-config/files/0002-cgts-client-handle-exceptions-other-than-CalledProcessErr.patch [moved from meta-stx/recipes-core/stx-config/files/0002-cgts-client-handle-exceptions-other-than-CalledProcessErr.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-config/files/0003-sysinv-agent-remove-legacy-pid-directory.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-config/files/sriovph-bring-up.patch [moved from meta-stx/recipes-core/stx-config/files/sriovpf-bring-up.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-config/storageconfig.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-config/sysinv-agent.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-config/sysinv.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-config/tsconfig.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-config/workerconfig.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-distributedcloud/distributedcloud-client-dcmanager_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-distributedcloud/distributedcloud_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-fault/fault-common.inc [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-fault/files/0001-fm-common-add-LDFLAGS.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-fault/files/0001-fm-mgr-Fix-install-target.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-fault/files/0001-snmp-audittrail-add-LDFLAGS.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-fault/files/0001-snmp-ext-add-LDFLAGS.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-fault/fm-api.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-fault/fm-common.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-fault/fm-doc.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-fault/fm-mgr.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-fault/fm-rest-api.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-fault/python-fmclient.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-fault/snmp-audittrail.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-fault/snmp-ext.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-gui/stx-gui.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-ha/files/0001-libsm_watchdog_nfs-add-missing-dependency-on-libsm_c.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-ha/files/0001-sm-db-Fix-dest-libdir.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-ha/files/0001-stx-ha-fix-hardcoded-path-for-sm.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-ha/ha-common.inc [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-ha/libsm-common.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-ha/sm-api.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-ha/sm-client.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-ha/sm-db.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-ha/sm-tools.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-ha/sm.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-ha/stx-ocf-scripts.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ-kubernetes/cloud-provider-openstack.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/LICENSE [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/admin.cmds [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/admin.xtns [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/ibsh-0.3e-cgcs-copyright.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/ibsh-0.3e-cgcs.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/ibsh-0.3e.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/operator.cmds [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/operator.xtns [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/secadmin.cmds [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/secadmin.xtns [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ/ibsh_0.3e.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ/kvm-timer-advance-setup.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-integ/spectre-meltdown-checker_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/files/0001-inventory-Remove-argparse-requirement.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/files/0001-mtce-Use-LDFLAGS-when-linking.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/files/0001-mtce-avoid-overflowing-amon.tx_buf.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/files/0001-mtce-compute-dont-install-empty-directory-unless-nee.patch [moved from meta-stx/recipes-core/stx-metal/files/0001-mtce-compute-dont-install-empty-directory-unless-nee.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-metal/files/0001-mtce-control-dont-install-empty-directory-unless-nee.patch [moved from meta-stx/recipes-core/stx-metal/files/0002-mtce-control-dont-install-empty-directory-unless-nee.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-metal/files/0001-mtce-storage-dont-install-empty-directory-unless-nee.patch [moved from meta-stx/recipes-core/stx-metal/files/0003-mtce-storage-dont-install-empty-directory-unless-nee.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-metal/files/0002-mtce-Adjust-paths.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/files/kickstarts-add-setting-for-debain-style-networking.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/files/kickstarts-adjustment-and-fixes-or-poky-stx.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/files/mtce-common-do-not-use-which-to-check-CC.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/files/mtce-control-adjust-unit-file-paths.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/files/mtce-control-fix-hardcoded-path-for-hbsAgent.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/files/mtce-do-not-use-which-to-check-CC.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/files/mtce-libamon-add-shared-option.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/files/mtce-set-systemctl-path.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/files/pmon_send_pulse.patch [moved from meta-stx/recipes-core/stx-metal/files/0009-pmon_send_pulse.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-metal/inventory.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/metal-common.inc [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/mtce-common.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/mtce-compute.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/mtce-control.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/mtce-storage.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/mtce.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/platform-kickstarts.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/pxe-network-installer.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-metal/python-inventoryclient.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0001-add-makefile.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0002-Add-compatibility-for-k8s-1.16.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0003-use-oss-image.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0004-Update-to-Elastic-7.4.0-Release.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0005-set-initial-masters-to-master-0.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/index.yaml [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/repositories.yaml [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic_1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0001-Add-Makefile-for-helm-charts.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0002-kibana-workaround-checksum-for-configmap.yaml.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0003-helm-chart-changes-for-stx-monitor.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0004-ipv6-helm-chart-changes.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0005-decouple-config.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0006-add-system-info.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0007-three-masters.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0008-Update-stx-monitor-for-kubernetes-API-1.16.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0009-add-curator-as-of-2019-10-10.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0010-Update-kube-state-metrics-1.8.0-to-commit-09daf19.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0011-update-init-container-env-to-include-node-name.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0012-Add-imagePullSecrets.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0013-removed-unused-images.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/index.yaml [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/repositories.yaml [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm_1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitor-armada-app/stx-monitor-helm_1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitoring/collectd-extensions.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitoring/influxdb-extensions.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitoring/monitor-tools.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitoring/monitoring-common.inc [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-monitoring/vm-topology.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-nfv/files/0001-mtce-guest-Fix-ldflags-usage.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-nfv/files/0002-mtce-guest-agent-server-fix-script-path.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-nfv/files/0003-guest-agent-server-fix-daemon-paths.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-nfv/mtce-guest.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-nfv/nfv-client.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-nfv/nfv-common.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-nfv/nfv-common.inc [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-nfv/nfv-plugins.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-nfv/nfv-tools.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-nfv/nfv-vim.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-nfv/nova-api-proxy.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0001-Allow-multiple-containers-per-daemonset-pod.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0002-Add-imagePullSecrets-in-service-account.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0003-Set-Min-NGINX-handles.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0004-Partial-revert-of-31e3469d28858d7b5eb6355e88b6f49fd6.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0005-Add-TLS-support-for-Gnocchi-public-endpoint.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0006-Fix-pod-restarts-on-all-workers-when-worker-added-re.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0007-Add-io_thread_pool-for-rabbitmq.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0008-Enable-override-of-rabbitmq-probe-parameters.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/repositories.yaml [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra_1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0001-Ceilometer-chart-add-the-ability-to-publish-events-t.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0002-Remove-stale-Apache2-service-pids-when-a-POD-starts.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0003-Nova-console-ip-address-search-optionality.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0004-Nova-chart-Support-ephemeral-pool-creation.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0005-Nova-Add-support-for-disabling-Readiness-Liveness-pr.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0006-Add-Placement-Chart.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/index.yaml [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/repositories.yaml [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm_1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-openstack-armada-app/stx-openstack-helm_1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-platform-armada-app/stx-platform-helm_1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-update/cgcs-patch.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-update/enable-dev-patch.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-update/files/0001-Remove-use-of-rpmUtils.miscutils-from-cgcs-patch.patch [moved from meta-stx/recipes-core/stx-update/files/0001-Remove-use-of-rpmUtils.miscutils-from-cgcs-patch.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-update/files/0003-Cleaning-up-pylint-settings-for-cgcs-patch.patch [moved from meta-stx/recipes-core/stx-update/files/0003-Cleaning-up-pylint-settings-for-cgcs-patch.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-update/files/0004-Address-python3-pylint-errors-and-warnings.patch [moved from meta-stx/recipes-core/stx-update/files/0004-Address-python3-pylint-errors-and-warnings.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-update/files/0005-Clean-up-pylint-W1201-logging-not-lazy-in-cgcs-patch.patch [moved from meta-stx/recipes-core/stx-update/files/0005-Clean-up-pylint-W1201-logging-not-lazy-in-cgcs-patch.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-update/files/0006-Migrate-patch-agent-to-use-DNF-for-swmgmt.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-update/files/0007-patch_agent-do-not-do-the-packages_iter-if-pkggrp-is.patch [moved from meta-stx/recipes-core/stx-update/files/0007-patch_agent-do-not-do-the-packages_iter-if-pkggrp-is.patch with 100% similarity]
meta-starlingx/meta-stx-flock/stx-update/patch-alarm.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-update/tsconfig.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-update/update-common.inc [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-upstream/openstack-ras_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/build-info.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/ceph-manager.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/collect-engtools.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/collector.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/files/0001-build_info_license.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/files/0001-cpumap_functions.sh-fix-perl-experimental-feature-is.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/files/0001-worker-utils-account-for-distro-PATH-differeces.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/files/build.info [moved from meta-stx/recipes-core/stx-utilities/files/build.info with 100% similarity]
meta-starlingx/meta-stx-flock/stx-utilities/files/collect-engtools-fix-service-name-binary-path.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/files/collector-fix-service-name-binary-path.patch [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/logmgmt.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/namespace-utils.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/nfscheck.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/pci-irq-affinity.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/platform-util.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/python-cephclient.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/stx-extensions.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/stx-ssl.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/update-motd.bb [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/utilities-common.inc [new file with mode: 0644]
meta-starlingx/meta-stx-flock/stx-utilities/worker-utils.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/conf/layer.conf [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-bsp/grub/grub-efi_2.02.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-bsp/grub/grub_2.02.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-connectivity/avahi/avahi_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-connectivity/dhcp/dhcp_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-connectivity/haproxy/files/haproxy.cfg [moved from meta-stx/recipes-connectivity/haproxy/files/haproxy.cfg with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-connectivity/haproxy/files/haproxy.service [moved from meta-stx/recipes-connectivity/haproxy/files/haproxy.service with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-connectivity/haproxy/haproxy-1.7.11/haproxy-1.7.11-tpm-support.patch [moved from meta-stx/recipes-connectivity/haproxy/haproxy-1.7.11/haproxy-1.7.11-tpm-support.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-connectivity/haproxy/haproxy.inc [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-connectivity/haproxy/haproxy_1.7.11.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-connectivity/libnfsidmap/libnfsidmap/0001-include-sys-types.h-for-getting-u_-typedefs.patch [moved from meta-stx/recipes-connectivity/libnfsidmap/libnfsidmap/0001-include-sys-types.h-for-getting-u_-typedefs.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-connectivity/libnfsidmap/libnfsidmap/Set_nobody_user_group.patch [moved from meta-stx/recipes-connectivity/libnfsidmap/libnfsidmap/Set_nobody_user_group.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-connectivity/libnfsidmap/libnfsidmap/fix-ac-prereq.patch [moved from meta-stx/recipes-connectivity/libnfsidmap/libnfsidmap/fix-ac-prereq.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-connectivity/libnfsidmap/libnfsidmap_0.25.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-connectivity/nfs-utils/files/nfsserver-remove-the-f-option-for-rpc.mountd.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-connectivity/nfs-utils/nfs-utils_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/files/openssh-config-rm-hmac-ripemd160.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/files/stx/sshd-keygen [moved from meta-stx/recipes-connectivity/openssh/files/stx/sshd-keygen with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/files/stx/sshd-keygen.service [moved from meta-stx/recipes-connectivity/openssh/files/stx/sshd-keygen.service with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/files/stx/sshd.init [moved from meta-stx/recipes-connectivity/openssh/files/stx/sshd.init with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/files/stx/sshd.service [moved from meta-stx/recipes-connectivity/openssh/files/stx/sshd.service with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/files/stx/sshd.sysconfig [moved from meta-stx/recipes-connectivity/openssh/files/stx/sshd.sysconfig with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/openssh_7.%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-connectivity/openssl/openssl10_1.0.2%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-connectivity/sshpass/sshpass.inc [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-connectivity/sshpass/sshpass_1.06.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-connectivity/vlan/vlan_2.0.5.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-core/base-files/base-files_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-core/init-ifupdown/init-ifupdown_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-core/initrdscripts/files/init-install.sh [moved from meta-stx/recipes-core/initrdscripts/files/init-install.sh with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-core/initrdscripts/initramfs-module-install_1.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-core/initrdscripts/initramfs-module-setup-live/setup-live [moved from meta-stx/recipes-core/initrdscripts/initramfs-module-setup-live/setup-live with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-core/initscripts/initscripts_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-core/systemd/files/0900-inject-milisec-in-syslog-date.patch [moved from meta-stx/recipes-core/systemd/files/0900-inject-milisec-in-syslog-date.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-core/systemd/systemd-compat-units.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-core/systemd/systemd-conf_241.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-core/systemd/systemd_241.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-core/util-linux/util-linux_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/i40e-lldp-configure.sh [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-clear-station.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-create-run-dir.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-i40e-disable.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-interface-show.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd.default [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd.init [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/lldpd_0.9.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-dbs/influxdb/influxdb_0.9.5.1.bb [moved from meta-stx/recipes-dbs/influxdb/influxdb_0.9.5.1.bb with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-dbs/mysql/mysql-python/0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch [moved from meta-stx/recipes-dbs/mysql/mysql-python/0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-dbs/mysql/mysql-python_1.2.5.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-dbs/postgresql/postgresql/postgresql-init [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-dbs/postgresql/postgresql/postgresql-init.service [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-dbs/postgresql/postgresql/postgresql.service.update [moved from meta-stx/recipes-extended/postgresql/postgresql/postgresql.service.update with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-dbs/postgresql/postgresql_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-dbs/postgresql/postgresql_openstack.inc [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/dnf/dnf/0001-const-add-os-release-and-lsb-release-into-the-search.patch [moved from meta-stx/recipes-devtools/dnf/dnf/0001-const-add-os-release-and-lsb-release-into-the-search.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/dnf/dnf_4.1.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/go/go-phercloud_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/grubby/files/1000-Generic-name-for-Titanium.patch [moved from meta-stx/recipes-devtools/grubby/files/1000-Generic-name-for-Titanium.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/grubby/files/1001-Add-support-for-updating-grub-cfg-with-multiboot-2.patch [moved from meta-stx/recipes-devtools/grubby/files/1001-Add-support-for-updating-grub-cfg-with-multiboot-2.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/grubby/files/1002-Install-into-libdir-instead-of-hard-coding.patch [moved from meta-stx/recipes-devtools/grubby/files/1002-Install-into-libdir-instead-of-hard-coding.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/grubby/grubby_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/json-c/files/json-c-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/json-c/files/json-c-CVE-2013-6371.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/json-c/json-c_0.11.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/libcomps/libcomps_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/libdnf/libdnf_0.26.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/filter-perl_1.59.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/libhtml-tagset-perl_3.20.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/libmailtools-perl_2.18.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/libmailtools-perl_2.20.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/libsocket6-perl/0001-socket6-perl-fix-configure-error.patch [moved from meta-stx/recipes-devtools/perl/libsocket6-perl/0001-socket6-perl-fix-configure-error.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/libsocket6-perl_0.23.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/libsocket6-perl_0.28.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/libtest-pod-perl_1.51.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/libtest-pod-perl_1.52.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/libwww-perl_6.05.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/libwww-perl_6.35.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/pathtools-perl_3.75.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/podlators-perl_4.12.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/perl/scalar-list-utils-perl_1.50.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-barbican/barbican-fix-path-to-find-configuration-files.patch [moved from meta-stx/recipes-devtools/python/files/python-barbican/barbican-fix-path-to-find-configuration-files.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-barbican/gunicorn-config.py [moved from meta-stx/recipes-devtools/python/files/python-barbican/gunicorn-config.py with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-barbican/openstack-barbican-api.service [moved from meta-stx/recipes-devtools/python/files/python-barbican/openstack-barbican-api.service with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-barbican/openstack-barbican-keystone-listener.service [moved from meta-stx/recipes-devtools/python/files/python-barbican/openstack-barbican-keystone-listener.service with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-barbican/openstack-barbican-worker.service [moved from meta-stx/recipes-devtools/python/files/python-barbican/openstack-barbican-worker.service with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/admin-openrc [moved from meta-stx/recipes-devtools/python/files/python-keystone/admin-openrc with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/convert_keystone_backend.py [moved from meta-stx/recipes-devtools/python/files/python-keystone/convert_keystone_backend.py with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/hybrid-backend-setup [moved from meta-stx/recipes-devtools/python/files/python-keystone/hybrid-backend-setup with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/identity.sh [moved from meta-stx/recipes-devtools/python/files/python-keystone/identity.sh with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/keystone-explicitly-import-localcontext-from-oslo.me.patch [moved from meta-stx/recipes-devtools/python/files/python-keystone/keystone-explicitly-import-localcontext-from-oslo.me.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/keystone-fix-location-of-files-for-tests.patch [moved from meta-stx/recipes-devtools/python/files/python-keystone/keystone-fix-location-of-files-for-tests.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/keystone-init [moved from meta-stx/recipes-devtools/python/files/python-keystone/keystone-init with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/keystone-init.service [moved from meta-stx/recipes-devtools/python/files/python-keystone/keystone-init.service with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/keystone-remove-git-commands-in-tests.patch [moved from meta-stx/recipes-devtools/python/files/python-keystone/keystone-remove-git-commands-in-tests.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/keystone-search-in-etc-directory-for-config-files.patch [moved from meta-stx/recipes-devtools/python/files/python-keystone/keystone-search-in-etc-directory-for-config-files.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/keystone.conf [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/stx-files/keystone-all [moved from meta-stx/recipes-devtools/python/files/python-keystone/stx-files/keystone-all with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/stx-files/keystone-fernet-keys-rotate-active [moved from meta-stx/recipes-devtools/python/files/python-keystone/stx-files/keystone-fernet-keys-rotate-active with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/stx-files/openstack-keystone.service [moved from meta-stx/recipes-devtools/python/files/python-keystone/stx-files/openstack-keystone.service with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/stx-files/password-rules.conf [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/stx-files/public.py [moved from meta-stx/recipes-devtools/python/files/python-keystone/stx-files/public.py with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/wsgi-keystone.conf [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-pynacl/0001-Enable-cross-compile.patch [moved from meta-stx/recipes-devtools/python/files/python-pynacl/0001-Enable-cross-compile.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-redfishtool/0001-Adapt-redfishtool-to-python2.patch [moved from meta-stx/recipes-devtools/python/files/python-redfishtool/0001-Adapt-redfishtool-to-python2.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-3parclient_4.2.3.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-adal_1.0.2.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-alabaster_0.7.12.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-amqp_2.5.2.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-aniso8601_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-aodhclient_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-backports-init/backports/__init__.py [moved from meta-stx/recipes-devtools/python/python-backports-init/backports/__init__.py with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-backports-init_1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-barbican_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-beaker_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-castellan_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-cherrypy_3.2.2.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-cinderclient/cinder-api-check.sh [moved from meta-stx/recipes-devtools/python/python-cinderclient/cinder-api-check.sh with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-cinderclient_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-cliff_2.14.1.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-configobj_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-configshell_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-construct_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-d2to1_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-dateutil.inc [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-dateutil_2.8.1.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-defusedxml_0.6.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django-babel_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django-debreach_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django-horizon_15.1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django-openstack-auth_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-docker_3.3.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ethtool_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-eventlet_0.18.4.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-firewall_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-futurist_1.8.1.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-glanceclient_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-gnocchiclient_7.0.4.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-google-auth_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-gunicorn_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-horizon_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-imagesize_1.2.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-importlib-metadata_0.23.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-influxdb_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-iniparse_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ironicclient_2.7.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-jmespath_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-jwcrypto_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-jwt_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-keystone_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-keystoneauth1.inc [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-keystoneauth1_3.17.1.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-keystonemiddleware_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-kombu_4.6.6.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-kubernetes_8.0.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ldap3_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ldap_3.2.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ldappool_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-lefthandclient_2.1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-linecache2_1.0.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-magnumclient_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-migrate_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-munch_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-murano-pkg-check_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-muranoclient_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-neutronclient_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-novaclient/nova-api-check.sh [moved from meta-stx/recipes-devtools/python/python-novaclient/nova-api-check.sh with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-novaclient_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-openstackclient_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-osc-lib_1.12.1.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.cache_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.concurrency_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.config_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.context_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.db_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.log_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.middleware_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.policy_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.serialization_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.upgradecheck_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.versionedobjects_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-osprofiler_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-packaging_20.1.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pankoclient_0.5.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pika_1.1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pycurl_7.43.0.3.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyelftools_0.25.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyghmi_1.5.7.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyliblzma_0.5.3.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pymysql_0.9.3.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pynacl_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyngus_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyperf_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pysaml2_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-redfishtool_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-requests-oauthlib_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-requests-toolbelt_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ruamel.ordereddict_0.4.9.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ruamel.yaml_0.15.9.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ryu_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-saharaclient_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-scss_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-snowballstemmer_2.0.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-sphinxcontrib-websupport_1.1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-traceback2_1.4.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-urlgrabber_4.0.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-urwid_2.0.1.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-versiontools.inc [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-versiontools_1.9.1.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-yaql_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python-zipp_0.6.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-cheroot_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-lang_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-linux-procfs_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-logutils_0.3.5.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-pecan_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-prettytable_0.7.2.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-pymysql_0.9.3.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-redfishtool_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-versiontools_1.9.1.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-webtest_2.0.33.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-wsme_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/python/python_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch [moved from meta-stx/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch [moved from meta-stx/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch [moved from meta-stx/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch [moved from meta-stx/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch [moved from meta-stx/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch [moved from meta-stx/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch [moved from meta-stx/recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch [moved from meta-stx/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch [moved from meta-stx/recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch [moved from meta-stx/recipes-devtools/rpm/files/0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch [moved from meta-stx/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch [moved from meta-stx/recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch [moved from meta-stx/recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch [moved from meta-stx/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch [moved from meta-stx/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/rpm/rpm2_4.14.2.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/rsync/rsync_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/ruby/ruby.inc [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-devtools/ruby/ruby/0001-openembedded-socket-extconf-hardcode-wide-getaddr-in.patch [moved from meta-stx/recipes-devtools/ruby/ruby/0001-openembedded-socket-extconf-hardcode-wide-getaddr-in.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch [moved from meta-stx/recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/ruby/ruby/ext.socket.extmk.patch [moved from meta-stx/recipes-devtools/ruby/ruby/ext.socket.extmk.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/ruby/ruby/extmk.patch [moved from meta-stx/recipes-devtools/ruby/ruby/extmk.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch [moved from meta-stx/recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch [moved from meta-stx/recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-devtools/ruby/ruby_2.0.0-p648.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/collectd/collectd_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/collectd/files/collectd-fix-for-LIBPYTHON_LDFLAGS.patch [moved from meta-stx/recipes-extended/collectd/files/collectd-fix-for-LIBPYTHON_LDFLAGS.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/collectd/files/default-plugins-cpu.conf [moved from meta-stx/recipes-extended/collectd/files/default-plugins-cpu.conf with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/collectd/files/default-plugins-interface.conf [moved from meta-stx/recipes-extended/collectd/files/default-plugins-interface.conf with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/collectd/files/default-plugins-load.conf [moved from meta-stx/recipes-extended/collectd/files/default-plugins-load.conf with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/collectd/files/default-plugins-memory.conf [moved from meta-stx/recipes-extended/collectd/files/default-plugins-memory.conf with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/collectd/files/default-plugins-syslog.conf [moved from meta-stx/recipes-extended/collectd/files/default-plugins-syslog.conf with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/hardlink/hardlink_0.3.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/ibsh/ibsh_0.3e.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/iptables/iptables_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/libpwquality/libpwquality_1.4.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/logrotate/logrotate_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/lsb/files/service-redirect-to-restart-for-reload.patch [moved from meta-stx/recipes-extended/lsb/files/service-redirect-to-restart-for-reload.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/lsb/lsbinitscripts_9.79.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/pam/files/util-linux-pam-postlogin.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/pam/libpam_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/procps/procps_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/rabbitmq/rabbitmq-server_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/rpcbind/rpcbind_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/shadow/shadow_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-extended/sudo/files/sudo-1.6.7p5-strip.patch [moved from meta-stx/recipes-extended/sudo/files/sudo-1.6.7p5-strip.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/sudo/files/sudo-1.7.2p1-envdebug.patch [moved from meta-stx/recipes-extended/sudo/files/sudo-1.7.2p1-envdebug.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/sudo/files/sudo-1.8.23-fix-double-quote-parsing-for-Defaults-values.patch [moved from meta-stx/recipes-extended/sudo/files/sudo-1.8.23-fix-double-quote-parsing-for-Defaults-values.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/sudo/files/sudo-1.8.23-ldapsearchuidfix.patch [moved from meta-stx/recipes-extended/sudo/files/sudo-1.8.23-ldapsearchuidfix.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/sudo/files/sudo-1.8.23-legacy-group-processing.patch [moved from meta-stx/recipes-extended/sudo/files/sudo-1.8.23-legacy-group-processing.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/sudo/files/sudo-1.8.23-nowaitopt.patch [moved from meta-stx/recipes-extended/sudo/files/sudo-1.8.23-nowaitopt.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/sudo/files/sudo-1.8.23-sudoldapconfman.patch [moved from meta-stx/recipes-extended/sudo/files/sudo-1.8.23-sudoldapconfman.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/sudo/files/sudo-1.8.6p7-logsudouser.patch [moved from meta-stx/recipes-extended/sudo/files/sudo-1.8.6p7-logsudouser.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-extended/sudo/sudo_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-graphics/mesa/mesa_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux-yocto-rt_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux-yocto-stx.inc [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux-yocto_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux/Notification-of-Death-of-arbitrary-processes.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux/stx-anaconda-kconfig.cfg [moved from meta-stx/recipes-kernel/linux/linux/stx-anaconda-kconfig.cfg with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux/stx-kconfig.cfg [moved from meta-stx/recipes-kernel/linux/linux/stx-kconfig.cfg with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-networking/ipset/ipset_6.38.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-protocols/net-snmp/net-snmp_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-rt/rt-tests/rt-tests_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-security/audit/audit_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-security/krb5/files/soname_majversion.diff [moved from meta-stx/recipes-security/krb5/files/soname_majversion.diff with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-security/krb5/krb5_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-security/libtomcrypt/libtomcrypt_1.18.2.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-security/libtomcrypt/libtommath_1.1.0.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/boost/boost_1.69.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/cluster-glue/cluster-glue/0001-don-t-compile-doc-and-Error-Fix.patch [moved from meta-stx/recipes-support/cluster-glue/cluster-glue/0001-don-t-compile-doc-and-Error-Fix.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/cluster-glue/cluster-glue/0001-ribcl.py.in-Warning-Fix.patch [moved from meta-stx/recipes-support/cluster-glue/cluster-glue/0001-ribcl.py.in-Warning-Fix.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/cluster-glue/cluster-glue/kill-stack-protector.patch [moved from meta-stx/recipes-support/cluster-glue/cluster-glue/kill-stack-protector.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/cluster-glue/cluster-glue/tmpfiles [moved from meta-stx/recipes-support/cluster-glue/cluster-glue/tmpfiles with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/cluster-glue/cluster-glue/volatiles [moved from meta-stx/recipes-support/cluster-glue/cluster-glue/volatiles with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/cluster-glue/cluster-glue_1.0.12.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/deltarpm/deltarpm_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/deltarpm/files/0001-Makefile-patch-fix-build-errors.patch [moved from meta-stx/recipes-support/deltarpm/files/0001-Makefile-patch-fix-build-errors.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/99_dnsmasq [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/99_dnsmasq with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/dnsmasq-resolvconf-helper [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/dnsmasq-resolvconf-helper with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/dnsmasq-resolvconf.service [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/dnsmasq-resolvconf.service with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/dnsmasq.resolvconf [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/dnsmasq.resolvconf with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/init [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/init with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/lua.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/lua.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/close-tftp-sockets-immediately.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/close-tftp-sockets-immediately.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14491-2.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14491-2.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14491.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14491.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14492.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14492.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14493.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14493.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14494.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14494.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14495.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14495.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14496.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-CVE-2017-14496.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-coverity.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-coverity.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-dhcp-script-log.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-dhcp-script-log.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-dns-sleep-resume.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-dns-sleep-resume.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-file_offset32.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-file_offset32.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-fix-crash-dns-resume.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-fix-crash-dns-resume.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-fix-dhcp-option-arrangements.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-fix-dhcp-option-arrangements.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-gita3303e196.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-gita3303e196.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-inotify.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-inotify.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-label-man.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-label-man.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-label-warning.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-label-warning.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-misc-cleanups.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-misc-cleanups.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-pftables.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-pftables.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-underflow.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-underflow.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-warning-fixes.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-2.76-warning-fixes.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-update-ipv6-leases-from-config.patch [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq-update-ipv6-leases-from-config.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq.service [moved from meta-stx/recipes-support/dnsmasq/dnsmasq/stx/dnsmasq.service with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq_2.76.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils/0001-skip_wait_con_int_on_simplex.patch [moved from meta-stx/recipes-support/drbd/drbd-utils/0001-skip_wait_con_int_on_simplex.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils/0002-drbd-conditional-crm-dependency.patch [moved from meta-stx/recipes-support/drbd/drbd-utils/0002-drbd-conditional-crm-dependency.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils/0003-drbd_report_condition.patch [moved from meta-stx/recipes-support/drbd/drbd-utils/0003-drbd_report_condition.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils/0004-drbdadm-ipaddr-change.patch [moved from meta-stx/recipes-support/drbd/drbd-utils/0004-drbdadm-ipaddr-change.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils/0005-drbd_reconnect_standby_standalone.patch [moved from meta-stx/recipes-support/drbd/drbd-utils/0005-drbd_reconnect_standby_standalone.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils/0006-avoid-kernel-userspace-version-check.patch [moved from meta-stx/recipes-support/drbd/drbd-utils/0006-avoid-kernel-userspace-version-check.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils/0007-Update-OCF-to-attempt-connect-in-certain-states.patch [moved from meta-stx/recipes-support/drbd/drbd-utils/0007-Update-OCF-to-attempt-connect-in-certain-states.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils/0008-Increase-short-cmd-timeout-to-15-secs.patch [moved from meta-stx/recipes-support/drbd/drbd-utils/0008-Increase-short-cmd-timeout-to-15-secs.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils/0009-Check-for-mounted-device-before-demoting-Primary-DRB.patch [moved from meta-stx/recipes-support/drbd/drbd-utils/0009-Check-for-mounted-device-before-demoting-Primary-DRB.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils/0010-Include-sysmacros-for-major-minor-macros.patch [moved from meta-stx/recipes-support/drbd/drbd-utils/0010-Include-sysmacros-for-major-minor-macros.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils/0011-Disable-documentation.patch [moved from meta-stx/recipes-support/drbd/drbd-utils/0011-Disable-documentation.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils/drbd.service [moved from meta-stx/recipes-support/drbd/drbd-utils/drbd.service with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils_8.4.3.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils_8.4.3.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/eventlog/eventlog_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/libevent/libevent/disable_tests.patch [moved from meta-stx/recipes-support/libevent/libevent/disable_tests.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/libevent/libevent/libevent-disable_tests.patch [moved from meta-stx/recipes-support/libevent/libevent/libevent-disable_tests.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/libevent/libevent/libevent-ipv6-client-socket.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/libevent/libevent/libevent-obsolete_automake_macros.patch [moved from meta-stx/recipes-support/libevent/libevent/libevent-obsolete_automake_macros.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/libevent/libevent/obsolete_automake_macros.patch [moved from meta-stx/recipes-support/libevent/libevent/obsolete_automake_macros.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/libevent/libevent_2.0.21.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/libverto/libverto_0.2.5.bb [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/memcached/files/memcached.sysconfig [moved from meta-stx/recipes-support/memcached/files/memcached.sysconfig with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/memcached/memcached_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/ntp/ntp_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0001-Various-manual-pages-changes.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0001-stx-openldap-config-files.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0002-Correct-log-levels-in-ppolicy-overlay.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0003-Removes-unnecessary-linking-of-SQL-Libs-into-slad.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0004-openlap-reentrant-gethostby.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0005-openldap-smbk5pwd-overlay.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0006-openldap-ldaprc-currentdir.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0007-openldap-userconfig-setgid.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0008-openldap-allop-overlay.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0009-openldap-syncrepl-unset-tls-options.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0010-openldap-ai-addrconfig.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0011-openldap-switch-to-t_dlopenadvise-to-get-RTLD_GLOBAL.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0012-openldap-ldapi-sasl.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0013-openldap-missing-unlock-in-accesslog-overlay.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0014-openldap-module-passwd-sha2.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0015-openldap-man-tls-reqcert.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0016-openldap-man-ldap-conf.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0017-openldap-bdb_idl_fetch_key-correct-key-pointer.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0018-openldap-tlsmc.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0019-openldap-openssl-ITS7596-Add-EC-support.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0020-openldap-openssl-ITS7596-Add-EC-support-patch-2.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0021-openldap-and-stx-source-and-config-files.patch [moved from meta-stx/recipes-support/openldap/files/0021-openldap-and-stx-source-and-config-files.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0022-ltb-project-openldap-ppolicy-check-password-1.1.patch [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/rootdn-should-not-bypass-ppolicy.patch [moved from meta-stx/recipes-support/openldap/files/rootdn-should-not-bypass-ppolicy.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/ldap.conf [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-check-config.sh [new file with mode: 0755]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-convert-config.sh [new file with mode: 0755]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-create-certdb.sh [new file with mode: 0755]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-functions [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-generate-server-cert.sh [new file with mode: 0755]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-update-ppolicy-schema.sh [new file with mode: 0755]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-upgrade-db.sh [new file with mode: 0755]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/openldap.tmpfiles [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/slapd.ldif [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/slapd.service [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/slapd.sysconfig [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/slapd.tmpfiles [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/openldap/files/stx-slapd.service [moved from meta-stx/recipes-support/openldap/files/stx-slapd.service with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/openldap/openldap_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-integ/recipes-support/syslog-ng/files/syslog-ng-conf-replace-match-with-message.patch [moved from meta-stx/recipes-core/stx-config-files/files/syslog-ng-conf-replace-match-with-message.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/syslog-ng/files/syslog-ng-config-parse-err.patch [moved from meta-stx/recipes-core/stx-config-files/files/syslog-ng-config-parse-err.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/syslog-ng/files/syslog-ng-config-systemd-service.patch [moved from meta-stx/recipes-core/stx-config-files/files/syslog-ng-config-systemd-service.patch with 100% similarity]
meta-starlingx/meta-stx-integ/recipes-support/syslog-ng/syslog-ng_%.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-virt/conf/layer.conf [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-connectivity/etcd/etcd_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-connectivity/etcd/etcd_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-connectivity/etcd/files/etcd.conf [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-connectivity/etcd/files/etcd.service [moved from meta-stx/recipes-connectivity/etcd/files/etcd.service with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/docker-distribution/docker-distribution_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-containers/docker-distribution/docker-distribution_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-containers/docker-distribution/files/config.yml [moved from meta-stx/recipes-containers/docker-distribution/files/config.yml with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/docker-distribution/files/docker-distribution.service [moved from meta-stx/recipes-containers/docker-distribution/files/docker-distribution.service with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/docker-forward-journald/docker-forward-journald_git.bb [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-containers/docker/docker-ce_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/README [moved from meta-stx/recipes-containers/kubernetes/files/contrib/README with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/environ/apiserver [moved from meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/environ/apiserver with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/environ/config [moved from meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/environ/config with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/environ/controller-manager [moved from meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/environ/controller-manager with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/environ/kubelet [moved from meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/environ/kubelet with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/environ/kubelet.kubeconfig [moved from meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/environ/kubelet.kubeconfig with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/environ/proxy [moved from meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/environ/proxy with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/environ/scheduler [moved from meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/environ/scheduler with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/kube-apiserver.service [moved from meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/kube-apiserver.service with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/kube-controller-manager.service [moved from meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/kube-controller-manager.service with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/kube-proxy.service [moved from meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/kube-proxy.service with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/kube-scheduler.service [moved from meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/kube-scheduler.service with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/kubelet.service [moved from meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/kubelet.service with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/tmpfiles.d/kubernetes.conf [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/helm-upload [moved from meta-stx/recipes-containers/kubernetes/files/helm-upload with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/helm.sudo [moved from meta-stx/recipes-containers/kubernetes/files/helm.sudo with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/kubeadm.conf [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/kubelet-cgroup-setup.sh [moved from meta-stx/recipes-containers/kubernetes/files/kubelet-cgroup-setup.sh with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/kubernetes-accounting.conf [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/helm_2.13.1.bb [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/kubernetes_git.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph-13.2.2/0001-Correct-the-path-to-find-version.h-in-rocksdb.patch [moved from meta-stx/recipes-extended/ceph/ceph-13.2.2/0001-Correct-the-path-to-find-version.h-in-rocksdb.patch with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph-13.2.2/0002-zstd-fix-error-for-cross-compile.patch [moved from meta-stx/recipes-extended/ceph/ceph-13.2.2/0002-zstd-fix-error-for-cross-compile.patch with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph-13.2.2/0003-ceph-add-pybind-support-in-OE.patch [moved from meta-stx/recipes-extended/ceph/ceph-13.2.2/0003-ceph-add-pybind-support-in-OE.patch with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph-13.2.2/0004-ceph-detect-init-correct-the-installation-for-OE.patch [moved from meta-stx/recipes-extended/ceph/ceph-13.2.2/0004-ceph-detect-init-correct-the-installation-for-OE.patch with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph-14.1.0/0001-ceph-rebase-on-stx.3.0-and-warrior.patch [moved from meta-stx/recipes-extended/ceph/ceph-14.1.0/0001-ceph-rebase-on-stx.3.0-and-warrior.patch with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph-14.1.0/rados.runtime.decode.error.patch [moved from meta-stx/recipes-extended/ceph/ceph-14.1.0/rados.runtime.decode.error.patch with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph_13.2.2.bb [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph_14.1.0.bbappend [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/ceph-init-wrapper.sh [moved from meta-stx/recipes-extended/ceph/files/ceph-init-wrapper.sh with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/ceph-manage-journal.py [moved from meta-stx/recipes-extended/ceph/files/ceph-manage-journal.py with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/ceph-preshutdown.sh [moved from meta-stx/recipes-extended/ceph/files/ceph-preshutdown.sh with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/ceph-radosgw.service [moved from meta-stx/recipes-extended/ceph/files/ceph-radosgw.service with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/ceph.conf [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/ceph.conf.pmon [moved from meta-stx/recipes-extended/ceph/files/ceph.conf.pmon with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/ceph.service [moved from meta-stx/recipes-extended/ceph/files/ceph.service with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/ceph.sh [moved from meta-stx/recipes-extended/ceph/files/ceph.sh with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/mgr-restful-plugin.py [moved from meta-stx/recipes-extended/ceph/files/mgr-restful-plugin.py with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/mgr-restful-plugin.service [moved from meta-stx/recipes-extended/ceph/files/mgr-restful-plugin.service with 100% similarity]
meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/starlingx-docker-override.conf [new file with mode: 0644]
meta-starlingx/meta-stx-virt/recipes-networking/openvswitch/openvswitch_%.bbappend [new file with mode: 0644]
meta-stx/README.md [deleted file]
meta-stx/classes/extrausers-config.bbclass [deleted file]
meta-stx/classes/openssl10.bbclass [deleted file]
meta-stx/classes/python-backports-init.bbclass [deleted file]
meta-stx/classes/stx-anaconda-image.bbclass [deleted file]
meta-stx/classes/stx-postrun.bbclass [deleted file]
meta-stx/conf/distro/include/stx-features.inc [deleted file]
meta-stx/conf/distro/include/stx-preferred-vers.inc [deleted file]
meta-stx/conf/distro/poky-stx.conf [deleted file]
meta-stx/conf/layer.conf [deleted file]
meta-stx/recipes-anaconda/iso-codes/iso-codes_%.bbappend [deleted file]
meta-stx/recipes-bsp/grub/grub-efi_2.02.bbappend [deleted file]
meta-stx/recipes-bsp/grub/grub_2.02.bbappend [deleted file]
meta-stx/recipes-connectivity/avahi/avahi_%.bbappend [deleted file]
meta-stx/recipes-connectivity/etcd/etcd_git.bb [deleted file]
meta-stx/recipes-connectivity/etcd/etcd_git.bbappend [deleted file]
meta-stx/recipes-connectivity/etcd/files/etcd.conf [deleted file]
meta-stx/recipes-connectivity/haproxy/haproxy.inc [deleted file]
meta-stx/recipes-connectivity/haproxy/haproxy_1.7.11.bb [deleted file]
meta-stx/recipes-connectivity/libnfsidmap/libnfsidmap_0.25.bb [deleted file]
meta-stx/recipes-connectivity/nfs-utils/nfs-utils_%.bbappend [deleted file]
meta-stx/recipes-connectivity/openssh/openssh_7.%.bbappend [deleted file]
meta-stx/recipes-connectivity/openssl/openssl10_1.0.%.bbappend [deleted file]
meta-stx/recipes-connectivity/qpid/qpid_0.20.bbappend [deleted file]
meta-stx/recipes-containers/docker-distribution/docker-distribution_git.bb [deleted file]
meta-stx/recipes-containers/docker-distribution/docker-distribution_git.bbappend [deleted file]
meta-stx/recipes-containers/docker-forward-journald/docker-forward-journald_git.bb [deleted file]
meta-stx/recipes-containers/docker/docker-ce_git.bbappend [deleted file]
meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/tmpfiles.d/kubernetes.conf [deleted file]
meta-stx/recipes-containers/kubernetes/files/kubeadm.conf [deleted file]
meta-stx/recipes-containers/kubernetes/files/kubernetes-accounting.conf [deleted file]
meta-stx/recipes-containers/kubernetes/helm_2.13.1.bb [deleted file]
meta-stx/recipes-containers/kubernetes/kubernetes_git.bbappend [deleted file]
meta-stx/recipes-containers/registry-token-server/files/token_server.conf [deleted file]
meta-stx/recipes-containers/registry-token-server/registry-token-server_1.0.0.bb [deleted file]
meta-stx/recipes-core/distributedcloud/distributedcloud-client-dcmanager_git.bb [deleted file]
meta-stx/recipes-core/distributedcloud/distributedcloud_git.bb [deleted file]
meta-stx/recipes-core/images/stx-image-aio-installer.bb [deleted file]
meta-stx/recipes-core/images/stx-image-aio.bb [deleted file]
meta-stx/recipes-core/init-ifupdown/init-ifupdown_%.bbappend [deleted file]
meta-stx/recipes-core/initrdscripts/initramfs-module-install_1.0.bbappend [deleted file]
meta-stx/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bbappend [deleted file]
meta-stx/recipes-core/packagegroups/packagegroup-stx.bb [deleted file]
meta-stx/recipes-core/pxe-installer-initramfs/pxe-installer-initramfs_1.0.bb [deleted file]
meta-stx/recipes-core/stx-ansible-playbooks/files/0006-bringup_helm-wait-after-initialize-helm-to-avoid-tim.patch [deleted file]
meta-stx/recipes-core/stx-ansible-playbooks/playbookconfig.bb [deleted file]
meta-stx/recipes-core/stx-config-files/config-files_1.0.0.bb [deleted file]
meta-stx/recipes-core/stx-config-files/files/nfsserver-remvoe-the-f-option-for-rpc.mountd.patch [deleted file]
meta-stx/recipes-core/stx-config-files/files/nfsserver.service-add-dependency-on-rpcbind.service.patch [deleted file]
meta-stx/recipes-core/stx-config-files/files/openssh-config-rm-hmac-ripemd160.patch [deleted file]
meta-stx/recipes-core/stx-config-files/files/util-linux-pam-postlogin.patch [deleted file]
meta-stx/recipes-core/stx-config/cgts-client.inc [deleted file]
meta-stx/recipes-core/stx-config/config-gate.inc [deleted file]
meta-stx/recipes-core/stx-config/controllerconfig.inc [deleted file]
meta-stx/recipes-core/stx-config/files/0001-stx-config-remove-argparse-requirement-from-sysinv.patch [deleted file]
meta-stx/recipes-core/stx-config/storageconfig.inc [deleted file]
meta-stx/recipes-core/stx-config/stx-config.bb [deleted file]
meta-stx/recipes-core/stx-config/sysinv-agent.inc [deleted file]
meta-stx/recipes-core/stx-config/sysinv.inc [deleted file]
meta-stx/recipes-core/stx-config/tsconfig.inc [deleted file]
meta-stx/recipes-core/stx-config/workerconfig.inc [deleted file]
meta-stx/recipes-core/stx-fault/files/0001-Honor-the-build-system-LDFLAGS.patch [deleted file]
meta-stx/recipes-core/stx-fault/files/0001-Use-build-systems-LDFLAGS.patch [deleted file]
meta-stx/recipes-core/stx-fault/files/0001-snmp-ext-use-build-systems-LDFLAGS.patch [deleted file]
meta-stx/recipes-core/stx-fault/fm-api.inc [deleted file]
meta-stx/recipes-core/stx-fault/fm-common.inc [deleted file]
meta-stx/recipes-core/stx-fault/fm-doc.inc [deleted file]
meta-stx/recipes-core/stx-fault/fm-mgr.inc [deleted file]
meta-stx/recipes-core/stx-fault/fm-rest-api.inc [deleted file]
meta-stx/recipes-core/stx-fault/python-fmclient.inc [deleted file]
meta-stx/recipes-core/stx-fault/snmp-audittrail.inc [deleted file]
meta-stx/recipes-core/stx-fault/snmp-ext.inc [deleted file]
meta-stx/recipes-core/stx-fault/stx-fault.bb [deleted file]
meta-stx/recipes-core/stx-gui/stx-gui.bb [deleted file]
meta-stx/recipes-core/stx-ha/files/0001-Allow-user-to-define-destination-libdir.patch [deleted file]
meta-stx/recipes-core/stx-ha/files/0002-Install-sm-eru-sm-eru-dump-and-sm-eru-watchdog.patch [deleted file]
meta-stx/recipes-core/stx-ha/files/0003-pragma-ignore-Wunused-result-errors-with-gcc-8.3.patch [deleted file]
meta-stx/recipes-core/stx-ha/files/0004-Cast-size_t-to-int-to-silence-gcc-8.3.patch [deleted file]
meta-stx/recipes-core/stx-ha/files/0005-libsm_watchdog_nfs-add-missing-dependency-on-libsm_c.patch [deleted file]
meta-stx/recipes-core/stx-ha/sm-api.inc [deleted file]
meta-stx/recipes-core/stx-ha/sm-client.inc [deleted file]
meta-stx/recipes-core/stx-ha/sm-common.inc [deleted file]
meta-stx/recipes-core/stx-ha/sm-db.inc [deleted file]
meta-stx/recipes-core/stx-ha/sm-tools.inc [deleted file]
meta-stx/recipes-core/stx-ha/sm.inc [deleted file]
meta-stx/recipes-core/stx-ha/stx-ha.bb [deleted file]
meta-stx/recipes-core/stx-ha/stx-ocf-scripts.inc [deleted file]
meta-stx/recipes-core/stx-integ-kubernetes/cloud-provider-openstack.bb [deleted file]
meta-stx/recipes-core/stx-integ/filesystem/filesystem-scripts.inc [deleted file]
meta-stx/recipes-core/stx-integ/filesystem/iscsi-initiator-utils-config.inc [deleted file]
meta-stx/recipes-core/stx-integ/filesystem/nfs-utils-config.inc [deleted file]
meta-stx/recipes-core/stx-integ/filesystem/nfscheck.inc [deleted file]
meta-stx/recipes-core/stx-integ/ibsh_0.3e.bbappend [deleted file]
meta-stx/recipes-core/stx-integ/logging/logmgmt.inc [deleted file]
meta-stx/recipes-core/stx-integ/logging/logrotate-config.inc [deleted file]
meta-stx/recipes-core/stx-integ/spectre-meltdown-checker_git.bb [deleted file]
meta-stx/recipes-core/stx-integ/stx-collector.inc [deleted file]
meta-stx/recipes-core/stx-integ/stx-config-files.inc [deleted file]
meta-stx/recipes-core/stx-integ/stx-filesystem.inc [deleted file]
meta-stx/recipes-core/stx-integ/stx-integ.bb [deleted file]
meta-stx/recipes-core/stx-integ/stx-ldap.inc [deleted file]
meta-stx/recipes-core/stx-integ/stx-logging.inc [deleted file]
meta-stx/recipes-core/stx-integ/stx-networking.inc [deleted file]
meta-stx/recipes-core/stx-integ/stx-utilities.inc [deleted file]
meta-stx/recipes-core/stx-integ/utilities/buildinfo.inc [deleted file]
meta-stx/recipes-core/stx-integ/utilities/namespace-utils.inc [deleted file]
meta-stx/recipes-core/stx-integ/utilities/platform-util.inc [deleted file]
meta-stx/recipes-core/stx-metal/files/0004-Use-snprintf-to-avoid-overflowing-amon.tx_buf.patch [deleted file]
meta-stx/recipes-core/stx-metal/files/0005-Use-LDFLAGS-when-linking-and-pass-flags-down-to-subm.patch [deleted file]
meta-stx/recipes-core/stx-metal/files/0006-stx-metal-remove-argparse-requirement-from-inventory.patch [deleted file]
meta-stx/recipes-core/stx-metal/files/0007-mtce-do-not-use-which-to-check-CC.patch [deleted file]
meta-stx/recipes-core/stx-metal/files/0008-stx-warrior-adjust-paths.patch [deleted file]
meta-stx/recipes-core/stx-metal/files/0010-libamon-add-shared-option.patch [deleted file]
meta-stx/recipes-core/stx-metal/files/0011-kickstarts-adjustment-fnd-fixes-or-poky-stx.patch [deleted file]
meta-stx/recipes-core/stx-metal/files/0012-kickstarts-add-setting-for-debain-style-networking.patch [deleted file]
meta-stx/recipes-core/stx-metal/files/0013-kickstarts-add-vlan-setting-for-debain-style-network.patch [deleted file]
meta-stx/recipes-core/stx-metal/inventory.inc [deleted file]
meta-stx/recipes-core/stx-metal/mtce-common.inc [deleted file]
meta-stx/recipes-core/stx-metal/mtce-compute.inc [deleted file]
meta-stx/recipes-core/stx-metal/mtce-control.inc [deleted file]
meta-stx/recipes-core/stx-metal/mtce-storage.inc [deleted file]
meta-stx/recipes-core/stx-metal/mtce.inc [deleted file]
meta-stx/recipes-core/stx-metal/platform-kickstarts.inc [deleted file]
meta-stx/recipes-core/stx-metal/pxe-network-installer.inc [deleted file]
meta-stx/recipes-core/stx-metal/python-inventoryclient.inc [deleted file]
meta-stx/recipes-core/stx-metal/stx-metal.bb [deleted file]
meta-stx/recipes-core/stx-monitor-armada-app/monitor-helm-elastic_1.0.bb [deleted file]
meta-stx/recipes-core/stx-monitor-armada-app/monitor-helm_1.0.bb [deleted file]
meta-stx/recipes-core/stx-monitor-armada-app/stx-monitor-helm_1.0.bb [deleted file]
meta-stx/recipes-core/stx-monitoring/collectd-extensions.inc [deleted file]
meta-stx/recipes-core/stx-monitoring/influxdb-extensions.inc [deleted file]
meta-stx/recipes-core/stx-monitoring/monitor-tools.inc [deleted file]
meta-stx/recipes-core/stx-monitoring/stx-monitoring.bb [deleted file]
meta-stx/recipes-core/stx-monitoring/vm-topology.inc [deleted file]
meta-stx/recipes-core/stx-nfv/files/use-ldflags-mtce-guest.patch [deleted file]
meta-stx/recipes-core/stx-nfv/mtce-guest.inc [deleted file]
meta-stx/recipes-core/stx-nfv/nfv-client.inc [deleted file]
meta-stx/recipes-core/stx-nfv/nfv-common.inc [deleted file]
meta-stx/recipes-core/stx-nfv/nfv-plugins.inc [deleted file]
meta-stx/recipes-core/stx-nfv/nfv-tools.inc [deleted file]
meta-stx/recipes-core/stx-nfv/nfv-vim.inc [deleted file]
meta-stx/recipes-core/stx-nfv/nova-api-proxy.inc [deleted file]
meta-stx/recipes-core/stx-nfv/stx-nfv.bb [deleted file]
meta-stx/recipes-core/stx-openstack-armada-app/openstack-helm-infra_1.0.bb [deleted file]
meta-stx/recipes-core/stx-openstack-armada-app/openstack-helm_1.0.bb [deleted file]
meta-stx/recipes-core/stx-openstack-armada-app/stx-openstack-helm_1.0.bb [deleted file]
meta-stx/recipes-core/stx-platform-armada-app/stx-platform-helm_1.0.bb [deleted file]
meta-stx/recipes-core/stx-update/cgcs-patch.inc [deleted file]
meta-stx/recipes-core/stx-update/enable-dev-patch.inc [deleted file]
meta-stx/recipes-core/stx-update/files/0002-Cleanup-smartpm-references.patch [deleted file]
meta-stx/recipes-core/stx-update/files/0006-Migrate-patch-agent-to-use-DNF-for-swmgmt.patch [deleted file]
meta-stx/recipes-core/stx-update/patch-alarm.inc [deleted file]
meta-stx/recipes-core/stx-update/stx-update.bb [deleted file]
meta-stx/recipes-core/stx-update/tsconfig.inc [deleted file]
meta-stx/recipes-core/stx-upstream/openstack-ras_git.bb [deleted file]
meta-stx/recipes-core/stx-utilities/ceph/ceph-manager.inc [deleted file]
meta-stx/recipes-core/stx-utilities/ceph/python-cephclient.inc [deleted file]
meta-stx/recipes-core/stx-utilities/files/0001-cpumap_functions.sh-fix-perl-experimental-feature-is.patch [deleted file]
meta-stx/recipes-core/stx-utilities/security/stx-ssl.inc [deleted file]
meta-stx/recipes-core/stx-utilities/stx-utilities_git.bb [deleted file]
meta-stx/recipes-core/stx-utilities/tools/collect-engtools.inc [deleted file]
meta-stx/recipes-core/stx-utilities/tools/collector.inc [deleted file]
meta-stx/recipes-core/stx-utilities/utilities/build-info.inc [deleted file]
meta-stx/recipes-core/stx-utilities/utilities/logmgmt.inc [deleted file]
meta-stx/recipes-core/stx-utilities/utilities/namespace-utils.inc [deleted file]
meta-stx/recipes-core/stx-utilities/utilities/nfscheck.inc [deleted file]
meta-stx/recipes-core/stx-utilities/utilities/pci-irq-affinity.inc [deleted file]
meta-stx/recipes-core/stx-utilities/utilities/platform-util.inc [deleted file]
meta-stx/recipes-core/stx-utilities/utilities/stx-extensions.inc [deleted file]
meta-stx/recipes-core/stx-utilities/utilities/update-motd.inc [deleted file]
meta-stx/recipes-core/stx-utilities/utilities/worker-utils.inc [deleted file]
meta-stx/recipes-core/systemd/files/0001-systemd-remove-the-log-about-var-run.patch [deleted file]
meta-stx/recipes-core/systemd/systemd_241.bbappend [deleted file]
meta-stx/recipes-core/util-linux/util-linux_%.bbappend [deleted file]
meta-stx/recipes-daemons/lldpd/lldpd_0.9.0.bb [deleted file]
meta-stx/recipes-dbs/mysql/mysql-python_1.2.5.bb [deleted file]
meta-stx/recipes-devtools/dnf/dnf_4.1.0.bbappend [deleted file]
meta-stx/recipes-devtools/erlang/erlang-native_R16B03-1.bbappend [deleted file]
meta-stx/recipes-devtools/erlang/erlang_R16B03-1.bbappend [deleted file]
meta-stx/recipes-devtools/go/go-phercloud_git.bb [deleted file]
meta-stx/recipes-devtools/grubby/grubby_%.bbappend [deleted file]
meta-stx/recipes-devtools/json-c/files/json-c-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch [deleted file]
meta-stx/recipes-devtools/json-c/files/json-c-CVE-2013-6371.patch [deleted file]
meta-stx/recipes-devtools/json-c/json-c_0.11.bb [deleted file]
meta-stx/recipes-devtools/libcomps/libcomps_git.bbappend [deleted file]
meta-stx/recipes-devtools/libdnf/libdnf_0.26.0.bbappend [deleted file]
meta-stx/recipes-devtools/perl/filter-perl_1.59.bb [deleted file]
meta-stx/recipes-devtools/perl/libhtml-tagset-perl_3.20.bb [deleted file]
meta-stx/recipes-devtools/perl/libmailtools-perl_2.18.bb [deleted file]
meta-stx/recipes-devtools/perl/libmailtools-perl_2.20.bb [deleted file]
meta-stx/recipes-devtools/perl/libsocket6-perl_0.23.bb [deleted file]
meta-stx/recipes-devtools/perl/libsocket6-perl_0.28.bb [deleted file]
meta-stx/recipes-devtools/perl/libtest-pod-perl_1.51.bb [deleted file]
meta-stx/recipes-devtools/perl/libtest-pod-perl_1.52.bb [deleted file]
meta-stx/recipes-devtools/perl/libwww-perl_6.05.bb [deleted file]
meta-stx/recipes-devtools/perl/libwww-perl_6.35.bb [deleted file]
meta-stx/recipes-devtools/perl/pathtools-perl_3.75.bb [deleted file]
meta-stx/recipes-devtools/perl/podlators-perl_4.12.bb [deleted file]
meta-stx/recipes-devtools/perl/scalar-list-utils-perl_1.50.bb [deleted file]
meta-stx/recipes-devtools/python/files/python-django-horizon/openstack-dashboard-httpd-2.4.conf [deleted file]
meta-stx/recipes-devtools/python/files/python-django-horizon/openstack-dashboard-httpd-logging.conf [deleted file]
meta-stx/recipes-devtools/python/files/python-django-horizon/python-django-horizon-logrotate.conf [deleted file]
meta-stx/recipes-devtools/python/files/python-django-horizon/python-django-horizon-systemd.conf [deleted file]
meta-stx/recipes-devtools/python/files/python-keystone/keystone.conf [deleted file]
meta-stx/recipes-devtools/python/files/python-keystone/stx-files/password-rules.conf [deleted file]
meta-stx/recipes-devtools/python/files/python-keystone/wsgi-keystone.conf [deleted file]
meta-stx/recipes-devtools/python/python-3parclient_4.2.3.bb [deleted file]
meta-stx/recipes-devtools/python/python-adal_1.0.2.bb [deleted file]
meta-stx/recipes-devtools/python/python-alabaster_0.7.12.bb [deleted file]
meta-stx/recipes-devtools/python/python-amqp_2.5.2.bb [deleted file]
meta-stx/recipes-devtools/python/python-aniso8601_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-ansible_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-aodhclient_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-backports-functools-lru-cache_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-backports-init_1.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-backports-ssl_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-barbican_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-beaker_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-castellan_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-cffi_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-cherrypy_3.2.2.bb [deleted file]
meta-stx/recipes-devtools/python/python-cherrypy_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-cinderclient_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-cliff_2.14.1.bb [deleted file]
meta-stx/recipes-devtools/python/python-configobj_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-configshell_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-construct_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-d2to1_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-dateutil.inc [deleted file]
meta-stx/recipes-devtools/python/python-dateutil_2.8.1.bb [deleted file]
meta-stx/recipes-devtools/python/python-defusedxml_0.6.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-django-babel_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-django-debreach_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-django-horizon_15.1.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-django-horizon_15.1.0.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-django-openstack-auth_git.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-django_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-django_git.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-docker_3.3.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-ethtool_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-eventlet_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-eventlet_0.18.4.bb [deleted file]
meta-stx/recipes-devtools/python/python-firewall_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-futurist_1.8.1.bb [deleted file]
meta-stx/recipes-devtools/python/python-glanceclient_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-gnocchiclient_7.0.4.bb [deleted file]
meta-stx/recipes-devtools/python/python-google-auth_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-gunicorn_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-hgtools_6.3.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-horizon_git.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-imagesize_1.2.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-importlib-metadata_0.23.bb [deleted file]
meta-stx/recipes-devtools/python/python-influxdb_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-iniparse_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-ironicclient_2.7.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-jmespath_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-jwcrypto_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-jwt_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-keyring_5.3.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-keystone_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-keystoneauth1.inc [deleted file]
meta-stx/recipes-devtools/python/python-keystoneauth1_3.17.1.bb [deleted file]
meta-stx/recipes-devtools/python/python-keystoneclient_git.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-keystonemiddleware_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-kombu_4.6.7.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-kubernetes_8.0.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-ldap3_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-ldap_3.2.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-ldappool_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-lefthandclient_2.1.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-lefthandclient_2.1.0.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-linecache2_1.0.0.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-magnumclient_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-migrate_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-munch_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-murano-pkg-check_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-muranoclient_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-neutronclient_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-novaclient_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-openstackclient_git.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-openstacksdk_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-openstacksdk_git.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-osc-lib_1.12.1.bb [deleted file]
meta-stx/recipes-devtools/python/python-oslo.cache_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-oslo.concurrency_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-oslo.config_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-oslo.context_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-oslo.db_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-oslo.log_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-oslo.middleware_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-oslo.policy_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-oslo.serialization_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-oslo.upgradecheck_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-oslo.utils_git.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-oslo.versionedobjects_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-osprofiler_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-packaging_20.1.bb [deleted file]
meta-stx/recipes-devtools/python/python-pankoclient_0.5.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-paramiko_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-pecan_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-pika_1.1.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-pycadf.bbappend_ [deleted file]
meta-stx/recipes-devtools/python/python-pycurl_7.43.0.3.bb [deleted file]
meta-stx/recipes-devtools/python/python-pyelftools_0.25.bb [deleted file]
meta-stx/recipes-devtools/python/python-pyghmi_1.5.7.bb [deleted file]
meta-stx/recipes-devtools/python/python-pyliblzma_0.5.3.bb [deleted file]
meta-stx/recipes-devtools/python/python-pymysql_0.9.3.bb [deleted file]
meta-stx/recipes-devtools/python/python-pynacl_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-pyngus_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-pyperf_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-pysaml2_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-redfishtool_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-requests-oauthlib_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-requests-oauthlib_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-requests-toolbelt_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-requests_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-ruamel.ordereddict_0.4.9.bb [deleted file]
meta-stx/recipes-devtools/python/python-ruamel.yaml_0.15.9.bb [deleted file]
meta-stx/recipes-devtools/python/python-ryu_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-saharaclient_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-scss_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-snowballstemmer_2.0.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-sphinx_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-sphinxcontrib-websupport_1.1.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-testtools_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-traceback2_1.4.0.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-unittest2_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-urlgrabber_4.0.0.bb [deleted file]
meta-stx/recipes-devtools/python/python-urllib3_1.23.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-urwid_2.0.1.bb [deleted file]
meta-stx/recipes-devtools/python/python-versiontools.inc [deleted file]
meta-stx/recipes-devtools/python/python-versiontools_1.9.1.bb [deleted file]
meta-stx/recipes-devtools/python/python-websocket-client_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-websockify_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-webtest_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-wsme_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python-yaql_git.bb [deleted file]
meta-stx/recipes-devtools/python/python-zipp_0.6.0.bb [deleted file]
meta-stx/recipes-devtools/python/python3-cheroot_git.bb [deleted file]
meta-stx/recipes-devtools/python/python3-cherrypy_git.bb [deleted file]
meta-stx/recipes-devtools/python/python3-lang_git.bb [deleted file]
meta-stx/recipes-devtools/python/python3-linux-procfs_git.bb [deleted file]
meta-stx/recipes-devtools/python/python3-logutils_0.3.5.bb [deleted file]
meta-stx/recipes-devtools/python/python3-mako_%.bbappend [deleted file]
meta-stx/recipes-devtools/python/python3-pecan_git.bb [deleted file]
meta-stx/recipes-devtools/python/python3-prettytable_0.7.2.bb [deleted file]
meta-stx/recipes-devtools/python/python3-pymysql_0.9.3.bb [deleted file]
meta-stx/recipes-devtools/python/python3-redfishtool_git.bb [deleted file]
meta-stx/recipes-devtools/python/python3-versiontools_1.9.1.bb [deleted file]
meta-stx/recipes-devtools/python/python3-webtest_2.0.33.bb [deleted file]
meta-stx/recipes-devtools/python/python3-wsme_git.bb [deleted file]
meta-stx/recipes-devtools/python/python_2.%.bbappend [deleted file]
meta-stx/recipes-devtools/rpm/rpm2_4.14.2.bb [deleted file]
meta-stx/recipes-devtools/rsync/rsync_%.bbappend [deleted file]
meta-stx/recipes-devtools/ruby-shadow/ruby-shadow_%.bbappend [deleted file]
meta-stx/recipes-devtools/ruby/ruby.inc [deleted file]
meta-stx/recipes-devtools/ruby/ruby_2.0.0-p648.bb [deleted file]
meta-stx/recipes-extended/ceph/ceph_13.2.2.bb [deleted file]
meta-stx/recipes-extended/ceph/ceph_14.1.0.bbappend [deleted file]
meta-stx/recipes-extended/ceph/files/ceph.conf [deleted file]
meta-stx/recipes-extended/ceph/files/starlingx-docker-override.conf [deleted file]
meta-stx/recipes-extended/cloud-init/cloud-init_0.7.6.bbappend [deleted file]
meta-stx/recipes-extended/collectd/collectd_%.bbappend [deleted file]
meta-stx/recipes-extended/ibsh/ibsh_0.3e.bb [deleted file]
meta-stx/recipes-extended/libpwquality/libpwquality_1.4.0.bbappend [deleted file]
meta-stx/recipes-extended/lsb/lsbinitscripts_9.79.bbappend [deleted file]
meta-stx/recipes-extended/postgresql/postgresql_%.bbappend [deleted file]
meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-0007-rabbitmq-script-wrapper-allow-to-run-as-root.patch [deleted file]
meta-stx/recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb [deleted file]
meta-stx/recipes-extended/registry-token-server/files/registry-token-server-1.0.0.tar.gz [deleted file]
meta-stx/recipes-extended/registry-token-server/files/registry-token-server.service [deleted file]
meta-stx/recipes-extended/registry-token-server/files/token-server-certificate.pem [deleted file]
meta-stx/recipes-extended/registry-token-server/files/token-server-private-key.pem [deleted file]
meta-stx/recipes-extended/registry-token-server/files/token_server.conf [deleted file]
meta-stx/recipes-extended/registry-token-server/registry-token-server_git.bb [deleted file]
meta-stx/recipes-extended/rpcbind/rpcbind_%.bbappend [deleted file]
meta-stx/recipes-extended/sudo/sudo_%.bbappend [deleted file]
meta-stx/recipes-extended/uswgi/uwsgi_git.bbappend [deleted file]
meta-stx/recipes-graphics/mesa/mesa_%.bbappend [deleted file]
meta-stx/recipes-httpd/apache2/apache2_%.bbappend [deleted file]
meta-stx/recipes-httpd/lighttpd/lighttpd_%.bbappend [deleted file]
meta-stx/recipes-kernel/linux/kernel-devsrc.bbappend [deleted file]
meta-stx/recipes-kernel/linux/linux-yocto-rt_%.bbappend [deleted file]
meta-stx/recipes-kernel/linux/linux-yocto-stx.inc [deleted file]
meta-stx/recipes-kernel/linux/linux-yocto_%.bbappend [deleted file]
meta-stx/recipes-networking/ipset/ipset_6.38.bb [deleted file]
meta-stx/recipes-networking/net-snmp/net-snmp_%.bbappend [deleted file]
meta-stx/recipes-networking/openvswitch/openvswitch_%.bbappend [deleted file]
meta-stx/recipes-networking/vlan/vlan_2.0.5.bb [deleted file]
meta-stx/recipes-rt/rt-tests/rt-tests_%.bbappend [deleted file]
meta-stx/recipes-security/gssproxy/gssproxy_0.7.0.bb [deleted file]
meta-stx/recipes-security/gssproxy/gssproxy_0.7.0.bbappend [deleted file]
meta-stx/recipes-security/krb5/krb5_%.bbappend [deleted file]
meta-stx/recipes-security/libtomcrypt/libtomcrypt_1.18.2.bb [deleted file]
meta-stx/recipes-support/boost/boost_1.69.0.bbappend [deleted file]
meta-stx/recipes-support/cluster-glue/cluster-glue_1.0.12.bb [deleted file]
meta-stx/recipes-support/deltarpm/deltarpm_git.bb [deleted file]
meta-stx/recipes-support/dnsmasq/dnsmasq_2.76.bb [deleted file]
meta-stx/recipes-support/drbd/drbd-utils_8.4.3.bb [deleted file]
meta-stx/recipes-support/drbd/drbd-utils_8.4.3.bbappend [deleted file]
meta-stx/recipes-support/eventlog/eventlog_git.bb [deleted file]
meta-stx/recipes-support/facter/facter_2.5.0.bbappend [deleted file]
meta-stx/recipes-support/hardlink/hardlink_0.3.0.bb [deleted file]
meta-stx/recipes-support/hiera/hiera_%.bbappend [deleted file]
meta-stx/recipes-support/ldapscripts/ldapscripts_2.0.8.bb [deleted file]
meta-stx/recipes-support/libevent/libevent/libevent-ipv6-client-socket.patch [deleted file]
meta-stx/recipes-support/libevent/libevent_2.0.21.bb [deleted file]
meta-stx/recipes-support/libtommath/libtommath_1.1.0.bb [deleted file]
meta-stx/recipes-support/libtpms/libtpms_git.bb [deleted file]
meta-stx/recipes-support/libverto/libverto_0.2.5.bb [deleted file]
meta-stx/recipes-support/memcached/memcached_%.bbappend [deleted file]
meta-stx/recipes-support/mod-wsgi/mod-wsgi_git.bbappend [deleted file]
meta-stx/recipes-support/nss-pam-ldapd/nss-pam-ldapd_%.bbappend [deleted file]
meta-stx/recipes-support/openldap/openldap_%.bbappend [deleted file]
meta-stx/recipes-support/os-service-types/python2-os-service-types_1.3.0.bb [deleted file]
meta-stx/recipes-support/puppet/files/puppet-network/puppet-network-poky-stx.rb-add-vlan-support.patch [deleted file]
meta-stx/recipes-support/puppet/files/puppet/4.8.2/puppet.conf [deleted file]
meta-stx/recipes-support/puppet/files/stx-puppet/0010-puppet-manifest-apply-workaround-to-ignore-known-err.patch [deleted file]
meta-stx/recipes-support/puppet/files/stx-puppet/0011-puppet-manifest-kubernetes.pp-add-re-tries-for-docker-login.patch [deleted file]
meta-stx/recipes-support/puppet/puppet-barbican_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-barbican_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-boolean_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-ceph_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-ceph_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-certmonger_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-certmonger_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-collectd_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-dnsmasq_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-dnsmasq_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-drbd_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-drbd_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-etcd_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-etcd_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-filemapper_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-horizon_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-horizon_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-keystone_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-keystone_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-kmod_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-ldap_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-ldap_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-memcached_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-network_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-network_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-nslcd_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-nslcd_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-nssdb_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-openstacklib_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-openstacklib_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-oslo_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-oslo_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-puppi_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-puppi_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet-staging_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-sysctl_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-vlan_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppet-vswitch_%.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppet_4.8.2.bb [deleted file]
meta-stx/recipes-support/puppet/puppet_5.4.0.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-apache_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-apache_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-concat_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-create-resources_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-firewall_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-firewall_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-haproxy_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-haproxy_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-inifile.bb [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-lvm_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-lvm_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-mysql_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-mysql_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-postgresql_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-postgresql_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-rabbitmq_git.bb [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-rabbitmq_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/puppetlabs-stdlib_git.bbappend [deleted file]
meta-stx/recipes-support/puppet/stx-puppet_git.bb [deleted file]
meta-stx/recipes-support/qpid-proton/qpid-proton_0.28.0.bb [deleted file]
meta-stx/recipes-support/ruby-shadow/ruby-shadow_git.bbappend [deleted file]
meta-stx/recipes-support/sshpass/sshpass.inc [deleted file]
meta-stx/recipes-support/sshpass/sshpass_1.06.bb [deleted file]
meta-stx/recipes-support/syslog-ng/syslog-ng_%.bbappend [deleted file]
meta-stx/recipes-upstream/python/python-boto3.inc [deleted file]
meta-stx/recipes-upstream/python/python-boto3_1.10.25.bb [deleted file]

similarity index 100%
rename from meta-stx/LICENSE
rename to meta-starlingx/LICENSE
diff --git a/meta-starlingx/README.md b/meta-starlingx/README.md
new file mode 100644 (file)
index 0000000..a487e4b
--- /dev/null
@@ -0,0 +1,231 @@
+meta-starlingx
+=========
+
+Introduction
+------------------------
+
+StarlingX is a complete cloud infrastructure software stack for the edge used by
+the most demanding applications in industrial IOT, telecom, video delivery and
+other ultra-low latency use cases. With deterministic low latency required by
+edge applications, and tools that make distributed edge manageable, StarlingX
+provides a container-based infrastructure for edge implementations in scalable
+solutions that is ready for production now.
+
+For more info on StarlingX See:
+
+https://www.starlingx.io/
+
+This layer enables StarlingX on poky.
+
+Dependencies
+-------------------------
+
+This layer depends on:
+
+```
+       URI: git://git.openembedded.org/meta-openembedded
+       branch: warrior
+       revision: HEAD
+       layers:
+               openembedded-layer
+               filesystem-layer
+               meta-initramfs
+               networking-layer
+               perl-layer
+               meta-python
+               webserver
+               
+
+       URI: git://git.yoctoproject.org/meta-virtualization
+       layer: virtualization-layer
+       branch: warrior
+       revision: HEAD
+
+       URI: git://git.yoctoproject.org/meta-cloud-services
+       branch: warrior
+       revision: HEAD
+       layers: cloud-services-layer
+               openstack-layer
+               
+
+       URI: git://git.yoctoproject.org/meta-intel
+       layer: intel
+       branch: warrior
+       revision: HEAD
+
+       URI: git://git.yoctoproject.org/meta-security
+       layer: security
+       branch: warrior
+       revision: HEAD
+
+       URI: git://git.yoctoproject.org/meta-selinux
+       layer: selinux
+       branch: warrior
+       revision: HEAD
+
+       URI: https://github.com/intel-iot-devkit/meta-iot-cloud.git
+       layer: iot-cloud
+       branch: warrior
+       revision: HEAD
+
+       URI: git://git.openembedded.org/meta-python2
+       layer: meta-python2
+       branch: warrior
+       revision: HEAD
+
+       URI: https://git.yoctoproject.org/git/meta-dpdk
+       layer: dpdk
+       branch: warrior
+       revision: HEAD
+
+       URI: git://git.yoctoproject.org/meta-anaconda
+       layer: meta-anaconda
+       branch: warrior
+       revision: HEAD
+
+```
+You are solely responsible for determining the appropriateness of using or redistributing the above dependencies and assume any risks associated with your exercise of permissions under the license.
+
+Maintenance
+-------------------------
+
+Maintainers:
+
+Submit bug reports via launchpad and story board with [MultiOS][Yocto] tags.
+
+- Saul Wold <saul.wold@windriver.com>
+- Jackie Huang <jackie.huang@windriver.com>
+- Babak A. Sarashki <babak.sarashki@windriver.com>
+
+Build:
+---------------------------
+
+A build script is found at git@github.com:zbsarashki/staging-stx.git.
+
+Setup Build Environment
+---------------------------
+
+Tasks:
+- Setup and Build Runtime image
+- Setup and Build Installer image
+
+Setup and Build Runtime image:
+---------------------------
+
+Setup build environment with the following added to the bblayers.conf:
+
+```
+
+ ${LAYER_PATH}/layers/poky/meta
+ ${LAYER_PATH}/layers/poky/meta-poky
+ ${LAYER_PATH}/layers/poky/meta-yocto-bsp
+ ${LAYER_PATH}/layers/meta-openembedded/meta-oe
+ ${LAYER_PATH}/layers/meta-openembedded/meta-filesystems
+ ${LAYER_PATH}/layers/meta-openembedded/meta-initramfs
+ ${LAYER_PATH}/layers/meta-openembedded/meta-networking
+ ${LAYER_PATH}/layers/meta-openembedded/meta-perl
+ ${LAYER_PATH}/layers/meta-openembedded/meta-python
+ ${LAYER_PATH}/layers/meta-openembedded/meta-webserver
+ ${LAYER_PATH}/layers/meta-openembedded/meta-gnome
+ ${LAYER_PATH}/layers/meta-virtualization
+ ${LAYER_PATH}/layers/meta-cloud-services
+ ${LAYER_PATH}/layers/meta-cloud-services/meta-openstack
+ ${LAYER_PATH}/layers/meta-intel
+ ${LAYER_PATH}/layers/meta-security
+ ${LAYER_PATH}/layers/meta-selinux
+ ${LAYER_PATH}/layers/meta-iot-cloud
+ ${LAYER_PATH}/layers/meta-python2
+ ${LAYER_PATH}/layers/meta-dpdk
+ ${LAYER_PATH}/layers/meta-stx/meta-stx-cloud
+ ${LAYER_PATH}/layers/meta-stx/meta-stx-distro
+ ${LAYER_PATH}/layers/meta-stx/meta-stx-flock
+ ${LAYER_PATH}/layers/meta-stx/meta-stx-integ
+ ${LAYER_PATH}/layers/meta-stx/meta-stx-virt
+ ${LAYER_PATH}/layers/meta-anaconda
+
+```
+
+Edit conf/local.conf and set:
+
+```
+MACHINE = "intel-corei7-64"
+PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"
+IMAGE_FSTYPES = " tar.bz2"
+IMAGE_FSTYPES_remove = " wic"
+IMAGE_FSTYPES_remove = " ext4"
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+EXTRA_IMAGE_FEATURES += "tools-sdk"
+EXTRA_IMAGE_FEATURES += "tools-debug"
+EXTRA_IMAGE_FEATURES += "package-management"
+DISTRO = "poky-stx"
+DISTRO_FEATURES_append = " anaconda-support"
+```
+
+Build target with:
+
+```
+bitbake stx-image-aio
+```
+
+Setup and Build Installer image:
+---------------------------
+Setup build environment with the bblayers.conf as in RunTime image.
+
+Edit conf/local.conf and set:
+
+```
+CONF_VERSION = "1"
+DISTRO = 'anaconda'
+MACHINE = "intel-corei7-64"
+PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
+INSTALLER_TARGET_BUILD = "/<PATH_TO_RUNTIME_STX_PRJ_DIR>/build/"
+INSTALLER_TARGET_IMAGE = "stx-image-aio"
+
+```
+Build installer target with:
+
+```
+bitbake stx-image-installer-aio
+
+```
+
+Use Case:
+---------------------------
+
+This layer currently limited to AIO simplex mode has been tested to provision on host as outlined at:
+
+- https://docs.starlingx.io/deploy_install_guides/r3_release/virtual/aio_simplex.html
+- https://docs.starlingx.io/deploy_install_guides/r3_release/bare_metal/aio_simplex.html
+
+License
+-------
+Copyright (C) 2019 Wind River Systems, Inc.
+
+Source code included in tree for individual recipes is under the LICENSE
+stated in each recipe (.bb file) unless otherwise stated.
+
+The metadata is under the following license unless otherwise stated.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+# Legal Notices
+
+All product names, logos, and brands are property of their respective owners. All company, product and service names used in this software are for identification purposes only. Wind River is a registered trademarks of Wind River Systems, Inc. Linux is a registered trademark of Linus Torvalds.
+
+Disclaimer of Warranty / No Support: Wind River does not provide support and maintenance services for this software, under Wind River’s standard Software Support and Maintenance Agreement or otherwise. Unless required by applicable law, Wind River provides the software (and each contributor provides its contribution) on an “AS IS” BASIS, WITHOUT WARRANTIES OF ANY KIND, either express or implied, including, without limitation, any warranties of TITLE, NONINFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the software and assume any risks associated with your exercise of permissions under the license.
diff --git a/meta-starlingx/meta-stx-cloud/conf/layer.conf b/meta-starlingx/meta-stx-cloud/conf/layer.conf
new file mode 100644 (file)
index 0000000..44c23a2
--- /dev/null
@@ -0,0 +1,46 @@
+
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+            ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "stx-cloud-layer"
+BBFILE_PATTERN_stx-cloud-layer := "^${LAYERDIR}/"
+BBFILE_PRIORITY_stx-cloud-layer = "5"
+
+LAYERDEPENDS_STX_CLOUD = "\
+       core \
+       dpdk \
+       networking-layer \
+       openembedded-layer \
+       networking-layer \
+       filesystems-layer \
+       perl-layer \
+       meta-python \
+       webserver \
+       virtualization-layer \
+       cloud-services-layer \
+       openstack-layer \
+"
+
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_stx-cloud-version = "1"
+LAYERSERIES_COMPAT_stx-cloud-layer = "thud warrior"
+
+LAYER_PATH_meta-stx-cloud = "${LAYERDIR}"
+
+# Masked recipes:
+BBMASK += "/meta-python2/recipes-core/images/meta-python-ptest-image.bb"
+BBMASK += "/meta-python2/recipes-core/images/meta-python-image-base.bb"
+BBMASK += "/meta-python2/recipes-core/images/meta-python-image.bb"
+BBMASK += "/meta-stak-common/recipes-containers/kubernetes/kubernetes_git.bbappend"
+BBMASK += "/meta-cloud-services/meta-openstack/recipes-devtools/python/python-cephclient_0.1.0.5.bb"
+BBMASK += "/meta-openstack/recipes-devtools/qemu/qemu_2.%.bbappend"
+BBMASK += "/meta-cloud-services/meta-openstack/recipes-kernel/linux/linux-yocto_4.18.bbappend"
+BBMASK += "/meta-selinux/recipes-graphics/mesa/mesa_%.bbappend"
+BBMASK += "/meta-virtualization/recipes-containers/docker-distribution/docker-distribution_git.bb"
+BBMASK += "/meta-starlingX/recipes-containers/docker-distribution/docker-distribution_git.bbappend"
+BBMASK += "/meta-starlingX/recipes-support/puppet/puppetlabs-stdlib_git.bbappend"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-connectivity/qpid/qpid-proton_0.28.0.bb b/meta-starlingx/meta-stx-cloud/recipes-connectivity/qpid/qpid-proton_0.28.0.bb
new file mode 100644 (file)
index 0000000..89801cb
--- /dev/null
@@ -0,0 +1,35 @@
+
+DESCRIPTION = "Qpid Proton is a high-performance, lightweight messaging library."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b26578452df1dcf3b9a63978282b72d0"
+
+SRC_URI = "http://archive.apache.org/dist/qpid/proton/0.28.0/qpid-proton-0.28.0.tar.gz \
+           file://fix-missing-libary-for-cpp-binding.patch \
+          "
+
+SRC_URI[sha256sum] = "224e599a4e965a016087b6ce683e55ca918493e12cdd6d91dac1c17d64a7dafe"
+
+DEPENDS= "openssl swig-native python"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE = "-DCMAKE_INSTALL_PREFIX=/usr -DSYSINSTALL_BINDINGS=ON -DPYTHON_EXECUTABLE=`which python`"
+BBCLASSEXTEND =+ " native"
+
+PACKAGES =+ "\
+         ${PN}-cpp \
+         python-${PN} \
+         "
+
+#FILES_qpid-proton-c = "${libdir}/libqpid-proton.so.*" 
+#FILES_qpid-proton-c += "{libdir}/libqpid-proton-core.so.*" 
+#FILES_qpid-proton-c += "${libdir}/libbqpid-proton-proactor.so.*" 
+
+FILES_qpid-proton-cpp = "${libdir}/libqpid-proton-cpp.so.*" 
+FILES_python-${PN} = "${libdir}/python*" 
+
+RPROVIDES_${PN} = "qpid-proton-c"
+
+do_install_append() {
+         rm -fr ${D}/usr/share
+}
diff --git a/meta-starlingx/meta-stx-cloud/recipes-connectivity/qpid/qpid_0.20.bbappend b/meta-starlingx/meta-stx-cloud/recipes-connectivity/qpid/qpid_0.20.bbappend
new file mode 100644 (file)
index 0000000..b157cb4
--- /dev/null
@@ -0,0 +1,8 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += "file://fix-compile-through-disable-cflag-werror.patch"
+
+
+EXTRA_OEMAKE += " CPPFLAGS='-std=gnu++98 -Wno-error' LDFLAGS='-std=gnu++98 -Wno-error'"
+TARGET_CC_ARCH += "${LDFLAGS}"
+RDEPENDS_${PN} += " bash"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/erlang/erlang-native_R16B03-1.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/erlang/erlang-native_R16B03-1.bbappend
new file mode 100644 (file)
index 0000000..5256d62
--- /dev/null
@@ -0,0 +1,10 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+# erlang < 20.0 is not compatibel with OpenSSL 1.1.x
+inherit openssl10
+DEPENDS_append = " openssl-native"
+
+SRC_URI += "file://erts-configure.in-avoid-RPATH-warning.patch"
+
+EXTRA_OECONF = '--with-ssl=${STAGING_DIR_NATIVE}/usr --without-krb5 --without-zlib'
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/erlang/erlang_R16B03-1.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/erlang/erlang_R16B03-1.bbappend
new file mode 100644 (file)
index 0000000..a50dec7
--- /dev/null
@@ -0,0 +1,25 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+# erlang < 20.0 is not compatibel with OpenSSL 1.1.x
+inherit openssl10
+
+SRC_URI += " \
+       file://fix-install-ownership.patch \
+       "
+
+EXTRA_OECONF = '--with-ssl=${STAGING_DIR_TARGET}/usr --without-krb5 --without-zlib'
+
+do_configure_prepend () {
+    export erl_xcomp_sysroot="${STAGING_DIR_HOST}/usr"
+    export erl_xcomp_isysroot="${STAGING_DIR_NATIVE}"
+
+    sed -i -e 's/opensslconf.h/opensslconf-64.h/' \
+        ${STAGING_INCDIR}/openssl10/openssl/rc4.h \
+        ${STAGING_INCDIR}/openssl10/openssl/rc2.h
+}
+
+do_install_append () {
+    # Fix the do_package_qa issue
+    chown -R root:root ${D}
+}
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/openstack-dashboard-httpd-2.4.conf b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/openstack-dashboard-httpd-2.4.conf
new file mode 100644 (file)
index 0000000..ea89c9f
--- /dev/null
@@ -0,0 +1,20 @@
+
+WSGIDaemonProcess dashboard
+WSGIProcessGroup dashboard
+WSGISocketPrefix run/wsgi
+
+WSGIScriptAlias /dashboard /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
+Alias /dashboard/static /usr/share/openstack-dashboard/static
+
+<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
+  Options All
+  AllowOverride All
+  Require all granted
+</Directory>
+
+<Directory /usr/share/openstack-dashboard/static>
+  Options All
+  AllowOverride All
+  Require all granted
+</Directory>
+
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/openstack-dashboard-httpd-logging.conf b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/openstack-dashboard-httpd-logging.conf
new file mode 100644 (file)
index 0000000..7118e9a
--- /dev/null
@@ -0,0 +1,33 @@
+
+# if you want logging to a separate file, please update your config 
+# according to the last 4 lines in this snippet, and also take care
+# to introduce a <VirtualHost > directive.
+#
+
+WSGISocketPrefix run/wsgi
+
+<VirtualHost *:80>
+    WSGIScriptAlias /dashboard /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
+    Alias /static /usr/share/openstack-dashboard/static
+
+    WSGIDaemonProcess dashboard
+    WSGIProcessGroup dashboard
+
+    #DocumentRoot %HORIZON_DIR%/.blackhole/
+
+    <Directory />
+        Options FollowSymLinks
+        AllowOverride None
+    </Directory>
+
+    <Directory /usr/share/openstack-dashboard/>
+        Options Indexes FollowSymLinks MultiViews
+        AllowOverride None
+        Order allow,deny
+        allow from all
+    </Directory>
+
+    ErrorLog logs/openstack_dashboard_error.log
+    LogLevel warn
+    CustomLog logs/openstack_dashboard_access.log combined
+</VirtualHost>
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/python-django-horizon-logrotate.conf b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/python-django-horizon-logrotate.conf
new file mode 100644 (file)
index 0000000..64b18a7
--- /dev/null
@@ -0,0 +1,9 @@
+
+/var/log/horizon/*.log {
+    weekly
+    rotate 4
+    missingok
+    compress
+    minsize 100k
+}
+
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/python-django-horizon-systemd.conf b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/files/python-django-horizon/python-django-horizon-systemd.conf
new file mode 100644 (file)
index 0000000..bf9918d
--- /dev/null
@@ -0,0 +1,4 @@
+
+[Service]
+ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py collectstatic --noinput --clear
+ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py compress --force
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-ansible_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-ansible_%.bbappend
new file mode 100644 (file)
index 0000000..2014f06
--- /dev/null
@@ -0,0 +1,41 @@
+
+HOMEPAGE = "https://github.com/ansible/ansible/"
+SECTION = "devel/python"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
+
+PV = "2.8.5"
+
+SRCNAME = "ansible"
+
+SRC_URI = "http://releases.ansible.com/ansible/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "86f0c18250895338709243d997005de3"
+SRC_URI[sha256sum] = "8e9403e755ce8ef27b6066cdd7a4c567aa80ebe2fd90d0ff8efa0a725d246986"
+
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+CLEANBROKEN = "1"
+
+ANSIBLE_WHITELIST_MODULES = "  \
+       cloud \
+       clustering \
+       commands \
+       database \
+       files \
+       identity \
+       inventory \
+       messaging \
+       monitoring \
+       net_tools \
+       network \
+       notification \
+       packaging \
+       remote_management \
+       source_control \
+       storage \
+       system \
+       utilities \
+       web_infrastructure \
+       "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-backports-functools-lru-cache_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-backports-functools-lru-cache_%.bbappend
new file mode 100644 (file)
index 0000000..48ea29b
--- /dev/null
@@ -0,0 +1,2 @@
+
+inherit python-backports-init
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-backports-ssl_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-backports-ssl_%.bbappend
new file mode 100644 (file)
index 0000000..48ea29b
--- /dev/null
@@ -0,0 +1,2 @@
+
+inherit python-backports-init
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-boto3.inc b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-boto3.inc
new file mode 100644 (file)
index 0000000..37af173
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "The AWS SDK for Python"
+HOMEPAGE = "https://aws.amazon.com/sdk-for-python/"
+AUTHOR = "Amazon Web Services"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
+
+SRC_URI[md5sum] = "a18e37ff05d0dd0a59e43e7bcfd79469"
+SRC_URI[sha256sum] = "b9c930982891229fe32c670c940835e4d5afcb52f60a5e512de8e5cba409900b"
+
+RDEPENDS_${PN} = "\
+    ${PYTHON_PN}-botocore \
+    ${PYTHON_PN}-jmespath \
+    ${PYTHON_PN}-s3transfer \
+"
+
+inherit pypi
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-boto3_1.10.25.bb b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-boto3_1.10.25.bb
new file mode 100644 (file)
index 0000000..2fce7ec
--- /dev/null
@@ -0,0 +1,3 @@
+
+inherit setuptools
+require python-boto3.inc
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-cffi_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-cffi_%.bbappend
new file mode 100644 (file)
index 0000000..509e0c2
--- /dev/null
@@ -0,0 +1,2 @@
+
+RDEPENDS_${PN}_append = " python-pycparser"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-django-horizon_15.1.0.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-django-horizon_15.1.0.bbappend
new file mode 100644 (file)
index 0000000..2ed2704
--- /dev/null
@@ -0,0 +1,118 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/guni_config.py \
+       file://${BPN}/horizon-assets-compress \
+       file://${BPN}/horizon-clearsessions \
+       file://${BPN}/horizon.init \
+       file://${BPN}/horizon-patching-restart \
+       file://${BPN}/openstack-dashboard-httpd-2.4.conf \
+       file://${BPN}/openstack-dashboard-httpd-logging.conf \
+       file://${BPN}/python-django-horizon-logrotate.conf \
+       file://${BPN}/python-django-horizon-systemd.conf \
+       "
+
+do_configure_prepend () {
+       cd ${S}
+
+       # STX remove troublesome files introduced by tox
+       rm -f openstack_dashboard/test/.secret_key_store
+       rm -f openstack_dashboard/test/*.secret_key_store.lock
+       rm -f openstack_dashboard/local/.secret_key_store
+       rm -f openstack_dashboard/local/*.secret_key_store.lock
+       rm -rf horizon.egg-info
+
+       # drop config snippet
+       cp -p ${WORKDIR}/${BPN}/openstack-dashboard-httpd-logging.conf .
+       cp -p ${WORKDIR}/${BPN}/guni_config.py .
+
+       # customize default settings
+       # WAS [PATCH] disable debug, move web root
+       sed -i "/^DEBUG =.*/c\DEBUG = False" openstack_dashboard/local/local_settings.py.example
+       sed -i "/^WEBROOT =.*/c\WEBROOT = '/dashboard/'" openstack_dashboard/local/local_settings.py.example
+       sed -i "/^.*ALLOWED_HOSTS =.*/c\ALLOWED_HOSTS = ['horizon.example.com', 'localhost']" openstack_dashboard/local/local_settings.py.example
+       sed -i "/^.*LOCAL_PATH =.*/c\LOCAL_PATH = '/tmp'" openstack_dashboard/local/local_settings.py.example
+       sed -i "/^.*POLICY_FILES_PATH =.*/c\POLICY_FILES_PATH = '/etc/openstack-dashboard'" openstack_dashboard/local/local_settings.py.example
+
+       sed -i "/^BIN_DIR = .*/c\BIN_DIR = '/usr/bin'" openstack_dashboard/settings.py
+       sed -i "/^COMPRESS_PARSER = .*/a COMPRESS_OFFLINE = True" openstack_dashboard/settings.py
+
+       # set COMPRESS_OFFLINE=True
+       sed -i 's:COMPRESS_OFFLINE.=.False:COMPRESS_OFFLINE = True:' openstack_dashboard/settings.py
+
+       # STX: MANIFEST needs .eslintrc files for angular
+       echo "include .eslintrc"   >> MANIFEST.in
+
+       # MANIFEST needs to include json and pot files under openstack_dashboard
+       echo "recursive-include openstack_dashboard *.json *.pot .eslintrc"   >> MANIFEST.in
+
+       # MANIFEST needs to include pot files  under horizon
+       echo "recursive-include horizon *.pot .eslintrc"   >> MANIFEST.in
+}
+
+do_install_append () {
+       cd ${S}
+
+       # STX
+       install -d -m 755 ${D}/opt/branding
+       mkdir -p ${D}${sysconfdir}/rc.d/init.d
+       install -m 755 -D -p ${WORKDIR}/${BPN}/horizon.init ${D}${sysconfdir}/rc.d/init.d/horizon
+       install -m 755 -D -p ${WORKDIR}/${BPN}/horizon.init ${D}${sysconfdir}/init.d/horizon
+       install -m 755 -D -p ${WORKDIR}/${BPN}/horizon-clearsessions ${D}/${bindir}/horizon-clearsessions
+       install -m 755 -D -p ${WORKDIR}/${BPN}/horizon-patching-restart ${D}/${bindir}/horizon-patching-restart
+       install -m 755 -D -p ${WORKDIR}/${BPN}/horizon-assets-compress ${D}/${bindir}/horizon-assets-compress
+
+       # drop httpd-conf snippet
+       install -m 0644 -D -p ${WORKDIR}/${BPN}/openstack-dashboard-httpd-2.4.conf ${D}${sysconfdir}/httpd/conf.d/openstack-dashboard.conf
+       install -d -m 755 ${D}${datadir}/openstack-dashboard
+       install -d -m 755 ${D}${sysconfdir}/openstack-dashboard
+
+       # create directory for systemd snippet
+       mkdir -p ${D}${systemd_system_unitdir}/httpd.service.d/
+       cp ${WORKDIR}/${BPN}/python-django-horizon-systemd.conf ${D}${systemd_system_unitdir}/httpd.service.d/openstack-dashboard.conf
+
+       # Copy everything to /usr/share
+       mv ${D}${libdir}/python2.7/site-packages/openstack_dashboard \
+          ${D}${datadir}/openstack-dashboard
+       cp manage.py ${D}${datadir}/openstack-dashboard
+
+       # STX
+       cp guni_config.py ${D}${datadir}/openstack-dashboard
+       rm -rf ${D}${libdir}/python2.7/site-packages/openstack_dashboard
+
+       # remove unnecessary .po files
+       find ${D} -name django.po -exec rm '{}' \;
+       find ${D} -name djangojs.po -exec rm '{}' \;
+
+       # Move config to /etc, symlink it back to /usr/share
+       mv ${D}${datadir}/openstack-dashboard/openstack_dashboard/local/local_settings.py.example ${D}${sysconfdir}/openstack-dashboard/local_settings
+
+       mv ${D}${datadir}/openstack-dashboard/openstack_dashboard/conf/*.json ${D}${sysconfdir}/openstack-dashboard
+       cp -a  ${S}/openstack_dashboard/conf/cinder_policy.d ${D}${sysconfdir}/openstack-dashboard
+       cp -a  ${S}/openstack_dashboard/conf/nova_policy.d ${D}${sysconfdir}/openstack-dashboard
+
+       # copy static files to ${datadir}/openstack-dashboard/static
+       mkdir -p ${D}${datadir}/openstack-dashboard/static
+       cp -a openstack_dashboard/static/* ${D}${datadir}/openstack-dashboard/static
+       cp -a horizon/static/* ${D}${datadir}/openstack-dashboard/static
+
+       # create /var/run/openstack-dashboard/ and /var/log/horizon
+       install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
+       echo "d ${localstatedir}/run/openstack-dashboard 0755 root root -" >> ${D}/${sysconfdir}/tmpfiles.d/openstack-dashboard.conf
+       echo "d ${localstatedir}/log/horizon 0755 root root -" >> ${D}/${sysconfdir}/tmpfiles.d/openstack-dashboard.conf
+
+       # place logrotate config:
+       mkdir -p ${D}${sysconfdir}/logrotate.d
+       cp -a ${WORKDIR}/${BPN}/python-django-horizon-logrotate.conf ${D}${sysconfdir}/logrotate.d/openstack-dashboard
+
+       chown -R root:root ${D}
+}
+
+FILES_${PN} += "\
+       ${datadir}/openstack-dashboard \
+       ${systemd_system_unitdir} \
+       ${localstatedir} \
+       /opt \
+       "
+
+RPROVIDES_${PN} = "openstack-dashboard"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-eventlet_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-eventlet_%.bbappend
new file mode 100644 (file)
index 0000000..e795567
--- /dev/null
@@ -0,0 +1,4 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += " file://eventlet/0001-CGTS-2869-close-connection-on-HTTP-413-Request-Entit.patch"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-hgtools_6.3.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-hgtools_6.3.bbappend
new file mode 100644 (file)
index 0000000..5c7d1c8
--- /dev/null
@@ -0,0 +1,2 @@
+
+BBCLASSEXTEND_append = " native nativesdk"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-keyring_5.3.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-keyring_5.3.bbappend
new file mode 100644 (file)
index 0000000..f1c169e
--- /dev/null
@@ -0,0 +1,18 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += " \
+      file://python-keyring/no_keyring_password.patch \
+      file://python-keyring/lock_keyring_file.patch \
+      file://python-keyring/lock_keyring_file2.patch \
+      file://python-keyring/use_new_lock.patch \
+      file://python-keyring/fix_keyring_lockfile_location.patch \
+      file://python-keyring/use_temporary_file.patch \
+      file://python-keyring/chown_keyringlock_file.patch \
+      file://python-keyring/chmod_keyringlock2.patch \
+      file://python-keyring/keyring_path_change.patch \
+      file://python-keyring/remove-reader-lock.patch \
+      file://python-keyring/remove_others_perms_on_keyringcfg_file.patch \
+"
+
+DEPENDS += " python-hgtools-native"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-keystoneclient_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-keystoneclient_git.bbappend
new file mode 100644 (file)
index 0000000..1a1e3fc
--- /dev/null
@@ -0,0 +1,18 @@
+
+SRC_URI = "\
+       git://github.com/openstack/python-keystoneclient.git;branch=stable/rocky \
+       "
+
+PV = "3.17.0+git${SRCPV}"
+SRCREV = "234ea50d5dfa3c6b71c15d32223a2ddf84c1aa1e"
+DEPENDS += " \
+        python-pip \
+        python-pbr \
+        "
+
+RDEPENDS_${PN}_append = " \
+       python-keystone \
+       keystone-setup \
+       keystone-cronjobs \
+       keystone \
+       "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-kombu_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-kombu_%.bbappend
new file mode 100644 (file)
index 0000000..35e535a
--- /dev/null
@@ -0,0 +1,2 @@
+
+RDEPENDS_${PN} += "python-importlib-metadata"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-lefthandclient_2.1.0.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-lefthandclient_2.1.0.bbappend
new file mode 100644 (file)
index 0000000..ce41162
--- /dev/null
@@ -0,0 +1,2 @@
+
+RDEPENDS_${PN}_append = " python-paramiko"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-openstacksdk_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-openstacksdk_%.bbappend
new file mode 100644 (file)
index 0000000..6dc2c16
--- /dev/null
@@ -0,0 +1,3 @@
+
+RDEPENDS_${PN}_append = " python-munch"
+RDEPENDS_${PN}_append = " python2-os-service-types"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-openstacksdk_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-openstacksdk_git.bbappend
new file mode 100644 (file)
index 0000000..a4ac33b
--- /dev/null
@@ -0,0 +1,5 @@
+
+RDEPENDS_${PN} += " bash"
+PV = "0.25.0+git${SRCPV}"
+SRCREV="9cd0ef2ac5b8cc90df344f69edc8ac68224f292e"
+
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-oslo.utils_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-oslo.utils_git.bbappend
new file mode 100644 (file)
index 0000000..240e37e
--- /dev/null
@@ -0,0 +1,5 @@
+
+PV = "3.33.0+git${SRCPV}"
+SRCREV = "58fb709f58bd031c5114d9b6fe2e0926175b87b6"
+SRC_URI = "git://github.com/openstack/oslo.utils.git;branch=stable/queens"
+
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-paramiko_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-paramiko_%.bbappend
new file mode 100644 (file)
index 0000000..2739632
--- /dev/null
@@ -0,0 +1,5 @@
+
+RDEPENDS_${PN}_append = " \
+       python-bcrypt \
+       python-pynacl \
+       "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-pecan_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-pecan_%.bbappend
new file mode 100644 (file)
index 0000000..30fcd9f
--- /dev/null
@@ -0,0 +1,4 @@
+
+RDEPENDS_${PN}_append = " \
+       ${PYTHON_PN}-singledispatch \
+       "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-requests-oauthlib_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-requests-oauthlib_%.bbappend
new file mode 100644 (file)
index 0000000..56b8e6b
--- /dev/null
@@ -0,0 +1,4 @@
+
+RDEPENDS_${PN}_append = " \
+       python-oauthlib \
+       "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-requests_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-requests_%.bbappend
new file mode 100644 (file)
index 0000000..8861186
--- /dev/null
@@ -0,0 +1,4 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += " file://requests/0001-close-connection-on-HTTP-413-Request-Entit.patch"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-sphinx_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-sphinx_%.bbappend
new file mode 100644 (file)
index 0000000..127d574
--- /dev/null
@@ -0,0 +1,12 @@
+
+inherit python-dir
+RDEPENDS_${PN}_append = " \
+       ${PYTHON_PN}-pygments \
+       ${PYTHON_PN}-typing \
+       ${PYTHON_PN}-sphinxcontrib-websupport \
+       ${PYTHON_PN}-alabaster \
+       ${PYTHON_PN}-imagesize \
+       ${PYTHON_PN}-snowballstemmer \
+       ${PYTHON_PN}-packaging \
+       "
+
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-testtools_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-testtools_%.bbappend
new file mode 100644 (file)
index 0000000..60edad1
--- /dev/null
@@ -0,0 +1,6 @@
+
+RDEPENDS_${PN}_append = " \
+       python-mimeparse \
+       python-traceback2 \
+       python-unittest2 \
+       "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-unittest2_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-unittest2_%.bbappend
new file mode 100644 (file)
index 0000000..a445a15
--- /dev/null
@@ -0,0 +1,11 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+DEPENDS_append = " \
+       ${PYTHON_PN}-traceback2-native \
+       ${PYTHON_PN}-six-native \
+       "
+
+SRC_URI += " \
+       file://python-unittest2/0001-port-unittest2-argparse-is-part-of-stdlib.patch \
+       "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-urllib3_1.23.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-urllib3_1.23.bbappend
new file mode 100644 (file)
index 0000000..f422f4a
--- /dev/null
@@ -0,0 +1,7 @@
+
+PV="1.21.1"
+
+
+SRC_URI[md5sum] = "ef6c72c79b9c6bcd68c204f9b92abc86"
+SRC_URI[sha256sum] = "b14486978518ca0901a76ba973d7821047409d7f726f22156b24e83fd71382a5"
+
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-websocket-client_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-websocket-client_%.bbappend
new file mode 100644 (file)
index 0000000..639f5bb
--- /dev/null
@@ -0,0 +1,4 @@
+
+RDEPENDS_${PN}_append = " \
+       ${PYTHON_PN}-backports-ssl \
+       "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-websockify_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-websockify_%.bbappend
new file mode 100644 (file)
index 0000000..7771374
--- /dev/null
@@ -0,0 +1,4 @@
+
+RDEPENDS_${PN}_append = " \
+       python-numpy \
+       "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-webtest_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-webtest_%.bbappend
new file mode 100644 (file)
index 0000000..d0c01bd
--- /dev/null
@@ -0,0 +1,2 @@
+
+RDEPENDS_${PN}_append = " python-waitress"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-wsme_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python-wsme_%.bbappend
new file mode 100644 (file)
index 0000000..1537e5d
--- /dev/null
@@ -0,0 +1,4 @@
+
+RDEPENDS_${PN}_append = " \
+       ${PYTHON_PN}-simplegeneric \
+       "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python3-mako_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/python/python3-mako_%.bbappend
new file mode 100644 (file)
index 0000000..e1a1b50
--- /dev/null
@@ -0,0 +1,4 @@
+
+do_install_append() {
+       mv ${D}/${bindir}/mako-render ${D}/${bindir}/mako3-render 
+}
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/ruby-shadow/ruby-shadow_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/ruby-shadow/ruby-shadow_%.bbappend
new file mode 100644 (file)
index 0000000..c2c44fc
--- /dev/null
@@ -0,0 +1,2 @@
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-devtools/ruby-shadow/ruby-shadow_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-devtools/ruby-shadow/ruby-shadow_git.bbappend
new file mode 100644 (file)
index 0000000..7630a7e
--- /dev/null
@@ -0,0 +1,2 @@
+
+DEPENDS += " libxcrypt"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-extended/cloud-init/cloud-init_0.7.6.bbappend b/meta-starlingx/meta-stx-cloud/recipes-extended/cloud-init/cloud-init_0.7.6.bbappend
new file mode 100644 (file)
index 0000000..8a27aef
--- /dev/null
@@ -0,0 +1,6 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += " \
+       file://cloud-init-interactive-parted.patch \
+       "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-script-wrapper b/meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/files/rabbitmq-script-wrapper
new file mode 100644 (file)
index 0000000..b2a4520
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/sh
+##  The contents of this file are subject to the Mozilla Public License
+##  Version 1.1 (the "License"); you may not use this file except in
+##  compliance with the License. You may obtain a copy of the License
+##  at http://www.mozilla.org/MPL/
+##
+##  Software distributed under the License is distributed on an "AS IS"
+##  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+##  the License for the specific language governing rights and
+##  limitations under the License.
+##
+##  The Original Code is RabbitMQ.
+##
+##  The Initial Developer of the Original Code is GoPivotal, Inc.
+##  Copyright (c) 2007-2015 Pivotal Software, Inc.  All rights reserved.
+##
+
+SED_OPT="-E"
+if [ $(uname -s) = "Linux" ]; then
+    SED_OPT="-r"
+fi
+
+for arg in "$@" ; do
+    # Wrap each arg in single quotes and wrap single quotes in double quotes, so that they're passed through cleanly.
+    arg=`printf %s "$arg" | sed $SED_OPT -e "s/'/'\"'\"'/g"`
+    CMDLINE="${CMDLINE} '${arg}'"
+done
+
+cd /var/lib/rabbitmq
+
+SCRIPT=`basename $0`
+
+if [ `id -u` = `id -u rabbitmq` -a "$SCRIPT" = "rabbitmq-server" ] ; then
+    RABBITMQ_ENV=/usr/lib/rabbitmq/bin/rabbitmq-env
+    RABBITMQ_SCRIPTS_DIR=$(dirname "$RABBITMQ_ENV")
+    . "$RABBITMQ_ENV"
+
+    exec /usr/lib/rabbitmq/bin/rabbitmq-server "$@"
+elif [ `id -u` = `id -u rabbitmq` -o "$SCRIPT" = "rabbitmq-plugins" ] ; then
+    if [ -f $PWD/.erlang.cookie ] ; then
+        export HOME=.
+    fi
+    exec /usr/lib/rabbitmq/bin/${SCRIPT} "$@"
+elif [ `id -u` = 0 ] ; then
+    # WRS. Allow to run as root
+    export HOME=${HOME:-/root}
+    /bin/sh -c "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}"
+else
+    /usr/lib/rabbitmq/bin/${SCRIPT}
+    echo
+    echo "Only root or rabbitmq should run ${SCRIPT}"
+    echo
+    exit 1
+fi
diff --git a/meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb b/meta-starlingx/meta-stx-cloud/recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb
new file mode 100644 (file)
index 0000000..b2a7691
--- /dev/null
@@ -0,0 +1,117 @@
+
+DESCRIPTION = "High-performance AMQP-compliant message broker written in Erlang."
+HOMEPAGE = "http://www.rabbitmq.com/"
+SECTION = "network"
+
+LICENSE = "MPL-1.1"
+LIC_FILES_CHKSUM = "file://LICENSE-MPL-RabbitMQ;md5=ce8293a7cc187353c90cb24a8ecee4ce"
+
+SRC_URI = " \
+    http://www.rabbitmq.com/releases/rabbitmq-server/v${PV}/${PN}-${PV}.tar.xz \
+    file://rabbitmq-server-0001-Remove-excessive-sd_notify-code.patch \
+    file://rabbitmq-server-0002-Add-systemd-notification-support.patch \
+    file://rabbitmq-server-0003-Revert-Distinct-exit-codes-for-CLI-utilities.patch \
+    file://rabbitmq-server-0004-Allow-guest-login-from-non-loopback-connections.patch \
+    file://rabbitmq-server-0005-Avoid-RPC-roundtrips-in-list-commands.patch \
+    file://rabbitmq-server-0006-rabbit_prelaunch-must-use-RABBITMQ_SERVER_ERL_ARGS.patch \
+    file://rabbitmq-common-0001-Avoid-RPC-roundtrips-while-listing-items.patch;patchdir=deps/rabbit_common \
+    file://rabbitmq-common-0002-Use-proto_dist-from-command-line.patch;patchdir=deps/rabbit_common \
+    file://rabbitmq-server-fails-with-home-not-set.patch \
+    file://rabbitmq-script-wrapper \
+    file://rabbitmq-server.logrotate \
+    file://rabbitmq-server.tmpfiles \
+"
+
+SRC_URI[md5sum] = "e9f96b5763a89a246f53250e46c2796b"
+SRC_URI[sha256sum] = "9550433ca8aaf5130bf5235bb978c44d3c4694cbd09d97114b3859f4895788ec"
+
+DEPENDS = " \
+    coreutils-native\
+    erlang-ssl \
+    erlang-ssl-dev \
+    erlang-native \
+    libxslt \
+    libxslt-native \
+    python-simplejson \
+    rsync-native \
+    unzip-native \
+    xmlto-native \
+    zip-native \
+"
+
+# ../../../../../recipe-sysroot/usr/lib/erlang/lib/ssl-5.3.3/src/
+do_compile() {
+    export SOCKJS_ERLC_OPTS="-Dpre17_type_specs"
+    rm -rf deps/rabbit_common/include/ssl
+    mkdir ${S}/deps/rabbit_common/include/ssl
+    cp -r ${RECIPE_SYSROOT}/${libdir}/erlang/lib/ssl-5.3.3/src ${S}/deps/rabbit_common/include/ssl
+    oe_runmake
+}
+
+do_install() {
+    RABBIT_LIB_DIR=${libdir}/rabbitmq
+
+    oe_runmake install \
+               DESTDIR=${D} \
+               PREFIX=${prefix} \
+               RMQ_ROOTDIR=${RABBIT_LIB_DIR}
+
+    oe_runmake install-man \
+               DESTDIR=${D} \
+               PREFIX=${prefix} \
+               RMQ_ROOTDIR=${RABBIT_LIB_DIR}
+
+    mkdir -p ${D}${localstatedir}/lib/rabbitmq/mnesia
+    mkdir -p ${D}${localstatedir}/log/rabbitmq
+
+    # Copy all necessary lib files etc.
+    install -p -D -m 0644 ${S}/docs/rabbitmq-server.service.example ${D}${systemd_system_unitdir}/rabbitmq-server.service
+    install -p -D -m 0755 ${WORKDIR}/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmqctl
+    install -p -D -m 0755 ${WORKDIR}/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmq-server
+    install -p -D -m 0755 ${WORKDIR}/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmq-plugins
+
+    # Make necessary symlinks
+    mkdir -p ${D}${RABBIT_LIB_DIR}/bin
+    for app in rabbitmq-defaults rabbitmq-env rabbitmq-plugins rabbitmq-server rabbitmqctl; do
+        ln -s ${RABBIT_LIB_DIR}/lib/rabbitmq_server-${PV}/sbin/${app} ${D}${RABBIT_LIB_DIR}/bin/${app}
+    done
+
+    install -p -D -m 0755 ${S}/scripts/rabbitmq-server.ocf ${D}${exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server
+    install -p -D -m 0755 ${S}/scripts/rabbitmq-server-ha.ocf ${D}${exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha
+
+    install -p -D -m 0644 ${WORKDIR}/rabbitmq-server.logrotate ${D}${sysconfdir}/logrotate.d/rabbitmq-server
+
+    install -p -D -m 0644 ${S}/docs/rabbitmq.config.example ${D}${sysconfdir}/rabbitmq/rabbitmq.config
+
+    rm -rf ${D}${RABBIT_LIB_DIR}/lib/rabbitmq_server-${PV}/{LICENSE,LICENSE-*,INSTALL}
+
+    install -p -D -m 0644 ${WORKDIR}/rabbitmq-server.tmpfiles ${D}${prefix}/lib/tmpfiles.d/${BPN}.conf
+}
+
+inherit useradd systemd openssl10
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system rabbitmq"
+USERADD_PARAM_${PN}  = " \
+    --system --create-home \
+    --home ${localstatedir}/lib/rabbitmq \
+    -g rabbitmq rabbitmq \
+"
+
+SYSTEMD_SERVICE_${PN} = "rabbitmq-server.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+FILES_${PN} += " \
+    ${RABBIT_LIB_DIR}/* \
+    ${exec_prefix}/lib/* \
+    ${localstatedir} \
+"
+
+FILES_${PN}-doc += "LICENSE* INSTALL"
+
+RDEPENDS_${PN} = " \
+    erlang \
+    erlang-modules \
+"
+
+INSANE_SKIP_${PN} = "unsafe-references-in-scripts"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-extended/registry-token-server/files/token_server.conf b/meta-starlingx/meta-stx-cloud/recipes-extended/registry-token-server/files/token_server.conf
new file mode 100644 (file)
index 0000000..545c5c6
--- /dev/null
@@ -0,0 +1,2 @@
+
+# This is a puppet managed config file
diff --git a/meta-starlingx/meta-stx-cloud/recipes-extended/registry-token-server/registry-token-server_1.0.0.bb b/meta-starlingx/meta-stx-cloud/recipes-extended/registry-token-server/registry-token-server_1.0.0.bb
new file mode 100644 (file)
index 0000000..310825e
--- /dev/null
@@ -0,0 +1,60 @@
+
+DESCRIPTION = " Token server for use with Docker registry with Openstack Keystone back end"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+GO_IMPORT = "registry-token-server"
+
+SRC_URI = "file://registry-token-server-1.0.0.tar.gz \
+           file://registry-token-server.service \
+           file://token_server.conf \
+          "
+
+RDEPENDS_${PN}-dev_append = "systemd"
+
+DEPENDS += "\
+        go-logrus \
+        docker-distribution \
+        go-libtrust \
+        go-patricia \
+        go-mux \
+        go-context \
+        go-phercloud \
+        "
+
+inherit go goarch ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
+
+do_compile() {
+        mkdir -p _build/src
+        ln -sfn ${WORKDIR}/${PN}-${PV} ./_build/src/registry-token-server
+  
+        # Pass the needed cflags/ldflags so that cgo
+        # can find the needed headers files and libraries
+        export GOARCH=${TARGET_GOARCH}
+        export CGO_ENABLED="1"
+        export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+        export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+
+        export GOPATH="${WORKDIR}/build/_build:${STAGING_DIR_TARGET}/${prefix}/local/go"
+        cd _build/src/${GO_IMPORT}
+        #oe_runmake registry-token-server
+        export GOROOT=${STAGING_DIR_TARGET}/${prefix}/local/go
+        go build -o ${WORKDIR}/build/bin/registry-token-server registry-token-server
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "registry-token-server.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+do_install() {
+        install -d ${D}/${sbindir}
+        install -m 0755 bin/registry-token-server ${D}/${sbindir}
+        install -d ${D}/${sysconfdir}/registry-token-server/registry
+        install -m 0644 ${WORKDIR}/token_server.conf ${D}/${sysconfdir}/registry-token-server/registry
+
+        if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+            install -d ${D}${systemd_unitdir}/system
+            install -m 0644 ${WORKDIR}/registry-token-server.service ${D}${systemd_unitdir}/system/
+        fi
+}
+
diff --git a/meta-starlingx/meta-stx-cloud/recipes-extended/registry-token-server/registry-token-server_git.bb b/meta-starlingx/meta-stx-cloud/recipes-extended/registry-token-server/registry-token-server_git.bb
new file mode 100644 (file)
index 0000000..ffd5bb7
--- /dev/null
@@ -0,0 +1,74 @@
+
+DESCRIPTION = "StarlingX distributedcloud packages collection"
+HOMEPAGE = "https://opendev.org/starlingx"
+SECTION = "network"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://src/registry-token-server/registry-token-server/src/LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCNAME = "containers"
+SRCREV = "1a4b803e946b488c1f3adb25ab0614d1b0c3c9b8"
+PV = "1.0.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+GO_IMPORT = "registry-token-server"
+
+RDEPENDS_${PN}-dev_append = " \
+       systemd \
+       "
+
+DEPENDS += "\
+        go-logrus \
+        docker-distribution \
+        go-libtrust \
+        go-patricia \
+        go-mux \
+        go-context \
+        go-phercloud \
+        "
+
+RDEPENDS_${PN} = " \
+       docker-distribution \
+       docker-ce \
+       "
+
+inherit go goarch ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
+
+do_compile() {
+        mkdir -p _build/src
+        ln -sfn ${S}/src/registry-token-server/registry-token-server/src/ ./_build/src/registry-token-server
+  
+        # Pass the needed cflags/ldflags so that cgo
+        # can find the needed headers files and libraries
+        export GOARCH=${TARGET_GOARCH}
+        export CGO_ENABLED="1"
+        export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+        export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+
+        export GOPATH="${WORKDIR}/build/_build:${STAGING_DIR_TARGET}/${prefix}/local/go"
+        cd _build/src/${GO_IMPORT}
+        #oe_runmake registry-token-server
+        export GOROOT=${STAGING_DIR_TARGET}/${prefix}/local/go
+        go build -o ${WORKDIR}/build/bin/registry-token-server registry-token-server
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "registry-token-server.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_install() {
+       SRCPATH="${S}/src/registry-token-server/registry-token-server/centos/files"
+        install -d ${D}/${bindir}
+        install -m 0755 bin/registry-token-server ${D}/${bindir}
+        install -d -m 0755 ${D}/${sysconfdir}/registry-token-server/registry
+        install -m 0644 ${SRCPATH}//token_server.conf ${D}/${sysconfdir}/registry-token-server/registry
+
+        if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+            install -d ${D}${systemd_unitdir}/system
+            install -m 0644 ${SRCPATH}/registry-token-server.service ${D}${systemd_unitdir}/system/
+        fi
+}
+
diff --git a/meta-starlingx/meta-stx-cloud/recipes-extended/uwsgi/uwsgi_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-extended/uwsgi/uwsgi_git.bbappend
new file mode 100644 (file)
index 0000000..516b365
--- /dev/null
@@ -0,0 +1,4 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += "file://0001-pragma-ignore-cast-type-errors-with-gcc-8.3.patch"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/facter/facter_2.5.0.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/facter/facter_2.5.0.bbappend
new file mode 100644 (file)
index 0000000..fa69d11
--- /dev/null
@@ -0,0 +1,14 @@
+
+FILESEXTRAPATHS_append := ":${THISDIR}/files:"
+
+inherit openssl10
+DEPENDS_append = " openssl"
+
+SRC_URI += " \
+       file://0001-ps.patch \
+       file://0002-personality.patch \
+       file://0003-centos_remove-net-commands-that-can-timeout.patch;striplevel=2 \
+       file://0004-centos_fix-ipv6-regex.patch \
+       file://0005-Hardcode-ipaddress-fact-to-localhost.patch \
+       file://0006-facter-updates-for-poky-stx.patch \
+       "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/hiera/hiera_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/hiera/hiera_%.bbappend
new file mode 100644 (file)
index 0000000..d23fd41
--- /dev/null
@@ -0,0 +1,3 @@
+
+inherit openssl10
+DEPENDS_append = " openssl"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/allow-anonymous-bind-for-ldap-search.patch b/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/allow-anonymous-bind-for-ldap-search.patch
new file mode 100644 (file)
index 0000000..e2e0129
--- /dev/null
@@ -0,0 +1,38 @@
+From bee43b9f75ee7a2cee0391319528264014d775f7 Mon Sep 17 00:00:00 2001
+From: Kam Nasim <kam.nasim@windriver.com>
+Date: Mon, 16 Apr 2018 14:58:03 -0400
+Subject: [PATCH] ldapscripts - allow anonymous bind for ldap search
+
+---
+ lib/runtime | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/lib/runtime b/lib/runtime
+index 012ac95..18acf3f 100644
+--- a/lib/runtime
++++ b/lib/runtime
+@@ -197,8 +197,11 @@ _ldapsearch () {
+   elif [ -n "$BINDPWDFILE" ]
+   then
+     $LDAPSEARCHBIN $LDAPBINOPTS $LDAPSEARCHOPTS -y "$BINDPWDFILE" -D "$BINDDN" -b "${1:-$SUFFIX}" -xH "$SERVER" -s sub -LLL "${2:-(objectclass=*)}" "${3:-*}" 2>>"$LOGFILE" 
+-  else
++  elif [ -n "$BINDPWD" ]
++  then
+     $LDAPSEARCHBIN $LDAPBINOPTS $LDAPSEARCHOPTS -w "$BINDPWD" -D "$BINDDN" -b "${1:-$SUFFIX}" -xH "$SERVER" -s sub -LLL "${2:-(objectclass=*)}" "${3:-*}" 2>>"$LOGFILE" 
++  else
++    $LDAPSEARCHBIN $LDAPBINOPTS $LDAPSEARCHOPTS -D "$BINDDN" -b "${1:-$SUFFIX}" -xH "$SERVER" -s sub -LLL "${2:-(objectclass=*)}" "${3:-*}" 2>>"$LOGFILE" 
+   fi
+ }
+@@ -785,7 +788,7 @@ then
+     then
+       warn_log "Warning : using command-line passwords, ldapscripts may not be safe"
+     else
+-      end_die "Unable to read password file $BINDPWDFILE, exiting..."
++      warn_log "Warning: Unable to read password file $BINDPWDFILE, binding anonymously..."
+     fi
+   fi
+ fi
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldap-user-setup-support.patch b/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldap-user-setup-support.patch
new file mode 100644 (file)
index 0000000..f2b723e
--- /dev/null
@@ -0,0 +1,354 @@
+---
+ Makefile                 |   5 +-
+ man/man1/ldapusersetup.1 |  60 +++++++++++
+ sbin/ldapusersetup       | 254 +++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 317 insertions(+), 2 deletions(-)
+ create mode 100644 man/man1/ldapusersetup.1
+ create mode 100644 sbin/ldapusersetup
+
+diff --git a/sbin/ldapusersetup b/sbin/ldapusersetup
+new file mode 100644
+index 0000000..27d12dc
+--- /dev/null
++++ b/sbin/ldapusersetup
+@@ -0,0 +1,254 @@
++#!/bin/sh
++
++#  ldapusersetup : interactive setup for adding users to LDAP
++
++#  Copyright (c) 2015 Wind River Systems, Inc.
++#
++#  This program is free software; you can redistribute it and/or
++#  modify it under the terms of the GNU General Public License
++#  as published by the Free Software Foundation; either version 2
++#  of the License, or (at your option) any later version.
++#
++#  This program is distributed in the hope that it will be useful,
++#  but WITHOUT ANY WARRANTY; without even the implied warranty of
++#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#  GNU General Public License for more details.
++#
++#  You should have received a copy of the GNU General Public License
++#  along with this program; if not, write to the Free Software
++#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++#  USA.
++
++if [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$#" -eq 1 ]
++then
++  echo "Usage : $0 [-u <username | uid> <field> <value>]
++where accepted field(s) are as follows:
++--sudo                        : whether to add this user to sudoer list
++--secondgroup <grp>           : the secondary group to add this user to
++--passmax     <value>         : the shadowMax value for this user
++--passwarning <value>         : the shadowWarning value for this user"
++  exit 1
++fi
++
++# Source runtime file
++_RUNTIMEFILE="/usr/lib/ldapscripts/runtime"
++. "$_RUNTIMEFILE"
++
++# runtime defaults
++_DEFAULTGRP2="sys_protected"
++_BASHSHELL="/bin/bash"
++_DEFAULTSHADOWMAX="90"
++_DEFAULTSHADOWWARNING="2"
++_SHELL=""
++
++### Helper functions ###
++
++# Gets input from user and validates it.
++# Will only return if input meets validation
++# criteria otherwise will just sit there.
++#
++# Input : input string ($1), valid output options ($2)
++# Output: the validated input
++# Note  : the validation list must be an array
++LdapUserInput () {
++declare -a optionAry=("${!2}")
++while true; do
++    read -p "$1" _output
++    # convert to lower case
++    _output2=${_output,,}
++    # check if output is a valid option
++    if [[ "${optionAry[@]}" =~ "$_output2" ]]; then
++      break
++    else
++       echo "Invalid input \"$_output\". Allowed options: ${optionAry[@]}" >&2
++   fi
++done
++   echo "$_output2"
++}
++
++# Delete an ldap user if it exists
++# and exit with error
++# Input : username ($1), exit msg ($2)
++# Output : none
++LdapRollback() {
++  ldapdeleteuser "$1"
++  end_die "$2"
++}
++
++# Add an ldap user and exit on failure
++# Input : username ($1)
++# Output : none
++LdapAddUser() {
++  ldapadduser "$1" users
++  [ $? -eq 0 ] || end_die "Critical setup error: cannot add user"
++}
++
++# Replace Login Shell and call Rollback on failure
++# Input : username ($1), shell to set ($2)
++# Output : none
++LdapAddLoginShell () {
++  # Support bash only now.
++  _SHELL="$_BASHSHELL"
++  # Replace the login shell
++  ldapmodifyuser $1 replace loginShell $_SHELL &> /dev/null
++  [ $? -eq 0 ] || LdapRollback $1 "Critical setup error: cannot set login shell"
++}
++
++# Add user to sudoer list
++# Input : username ($1)
++# Output : true or false
++LdapAddSudo() {
++  ldapaddsudo "$1" 2> /dev/null
++  [ $? -eq 0 ] || \
++   echo_log "Non critical setup error: cannot add to sudoer list"
++}
++
++# Add user to a secondary user group
++# Input : username ($1), user group ($2)
++# Output : true or false
++LdapSecondaryGroup () {
++  _newGrp="$2"
++  [ -z "$2" ] && _newGrp=$_DEFAULTGRP2
++
++  ldapaddusertogroup $1 $_newGrp
++  [ $? -eq 0 ] || \
++   echo_log "Non critical setup error: cannot add $1 to $_newGrp"
++}
++
++# Update shadowMax for user
++# Input : username ($1), shadow Max value ($2)
++# Output : none
++LdapUpdateShadowMax () {
++  _newShadow="$2"
++  ! [[ "$2" =~ ^[0-9]+$ ]] || [ -z "$2" ] \
++   && _newShadow=$_DEFAULTSHADOWMAX
++
++  ldapmodifyuser $1 replace shadowMax $_newShadow
++  echo "Updating password expiry to $_newShadow days"
++}
++
++# Update shadowWarning for user
++# Input : username ($1), shadow Warning value ($2)
++# Output : none
++LdapUpdateShadowWarning () {
++  _newWarning="$2"
++  ! [[ "$2" =~ ^[0-9]+$ ]] || [ -z "$2" ] \
++   && _newWarning=$_DEFAULTSHADOWWARNING
++
++  ldapmodifyuser $1 replace shadowWarning $_newWarning
++  echo "Updating password expiry to $_newWarning days"
++}
++
++# Since this setup script is meant to be a
++# wrapper on top of existing ldap scripts,
++# it share invoke those... we could have achieved
++# loose coupling by not relying on helpers but
++# at the expense of massively redundant code
++# duplication.
++declare -a helper_scripts=("ldapadduser" "ldapaddsudo" "ldapmodifyuser" "ldapaddusertogroup" "$_BASHSHELL")
++
++# Do some quick sanity tests to make sure
++# helper scripts are present
++for src in "${helper_scripts[@]}"; do
++  if ! type "$src" &>/dev/null; then
++    end_die "Cannot locate $src. Update your PATH variable"
++  fi
++done
++
++if [ "$#" -eq 0 ]; then
++  # This setup collects all attributes
++  # interactively during runtime
++  echo -n "Enter username to add to LDAP: "
++  read _username
++  LdapAddUser "$_username"
++
++  # Replace the login shell. Only bash is supported now.
++  LdapAddLoginShell "$_username"
++
++  # Should sudo be activated for this user
++  echo -n "Add $_username to sudoer list? (yes/NO): "
++  read CONFIRM
++  CONFIRM=${CONFIRM,,}
++
++  if is_yes $CONFIRM
++  then
++    LdapAddSudo "$_username"
++  fi
++
++  # Add to secondary user group
++  shellInput="Add $_username to secondary user group? (yes/NO): "
++  options=( "yes", "no" )
++  CONFIRM=`LdapUserInput "$shellInput" options[@]`
++  if is_yes $CONFIRM
++  then
++    echo -n "Secondary group to add user to? [$_DEFAULTGRP2]: "
++    read _grp2
++    LdapSecondaryGroup $_username $_grp2
++  fi
++
++  # Set password expiry
++  echo -n "Enter days after which user password must \
++be changed [$_DEFAULTSHADOWMAX]: "
++  read _shadowMax
++  LdapUpdateShadowMax $_username $_shadowMax
++
++  # Set password warning
++  echo -n "Enter days before password is to expire that \
++user is warned [$_DEFAULTSHADOWWARNING]: "
++  read _shadowWarning
++  LdapUpdateShadowWarning $_username $_shadowWarning
++
++else
++  # we have to read command line option
++  while [[ $# > 1 ]]
++  do
++    key="$1"
++
++    case $key in
++      -u|--user) # compulsory
++      _username="$2"
++      shift
++      ;;
++      --sudo)      # optional
++      _sudo="yes"
++      ;;
++      --passmax) # optional
++      _shadowMax="$2"
++      shift
++      ;;
++      --passwarning) # optional
++      _shadowWarning="$2"
++      shift
++      ;;
++      --secondgroup) # optional
++        _grpConfirm="1"
++      _grp2="$2"
++      shift
++      ;;
++      *)
++
++      ;;
++    esac
++    shift
++  done
++
++  # Add LDAP user
++  [ -z "$_username" ] && end_die "No username argument specified"
++  LdapAddUser $_username
++
++  # Change Login Shell
++  LdapAddLoginShell $_username "$_loginshell"
++
++  # Add sudo if required
++  if is_yes $_sudo
++  then
++    LdapAddSudo "$_username"
++  fi
++
++  # Add secondary group if required
++  [ -z "$_grpConfirm" ] || LdapSecondaryGroup $_username $_grp2
++
++  # Password modifications
++  LdapUpdateShadowMax $_username $_shadowMax
++  LdapUpdateShadowWarning $_username $_shadowWarning
++fi
+diff --git a/Makefile b/Makefile
+index f81c272..6e5b193 100644
+--- a/Makefile
++++ b/Makefile
+@@ -41,12 +41,13 @@ SBINFILES =        ldapdeletemachine ldapmodifygroup ldapsetpasswd lsldap ldapadduser l
+                       ldapdeleteuser ldapsetprimarygroup ldapfinger ldapid ldapgid ldapmodifymachine \
+                       ldaprenamegroup ldapaddgroup ldapaddusertogroup ldapdeleteuserfromgroup \
+                       ldapinit ldapmodifyuser ldaprenamemachine ldapaddmachine ldapdeletegroup \
+-                      ldaprenameuser ldapmodifysudo ldapdeletesudo
++                      ldaprenameuser ldapmodifysudo ldapdeletesudo ldapusersetup
+ MAN1FILES =   ldapdeletemachine.1 ldapmodifymachine.1 ldaprenamemachine.1 ldapadduser.1 \
+                       ldapdeleteuserfromgroup.1 ldapfinger.1 ldapid.1 ldapgid.1 ldapmodifyuser.1 lsldap.1 \
+                       ldapaddusertogroup.1 ldaprenameuser.1 ldapinit.1 ldapsetpasswd.1 ldapaddgroup.1 \
+                       ldapdeletegroup.1 ldapsetprimarygroup.1 ldapmodifygroup.1 ldaprenamegroup.1 \
+-                      ldapaddmachine.1 ldapdeleteuser.1 ldapaddsudo.1 ldapmodifysudo.1 ldapdeletesudo.1
++                      ldapaddmachine.1 ldapdeleteuser.1 ldapaddsudo.1 ldapmodifysudo.1 \
++                      ldapdeletesudo.1 ldapusersetup.1
+ MAN5FILES = ldapscripts.5
+ TMPLFILES = ldapaddgroup.template.sample ldapaddmachine.template.sample \
+                       ldapadduser.template.sample
+diff --git a/man/man1/ldapusersetup.1 b/man/man1/ldapusersetup.1
+new file mode 100644
+index 0000000..9b3129b
+--- /dev/null
++++ b/man/man1/ldapusersetup.1
+@@ -0,0 +1,60 @@
++.\" Copyright (c) 2015 Wind River Systems, Inc.
++.\"
++.\" This program is free software; you can redistribute it and/or
++.\" modify it under the terms of the GNU General Public License
++.\" as published by the Free Software Foundation; either version 2
++.\" of the License, or (at your option) any later version.
++.\"
++.\" This program is distributed in the hope that it will be useful,
++.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
++.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++.\" GNU General Public License for more details.
++.\"
++.\" You should have received a copy of the GNU General Public License
++.\" along with this program; if not, write to the Free Software
++.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++.\" USA.
++.\"
++.\" Kam Nasim
++.\" knasim@windriver.com
++.\"
++.TH ldapusersetup 1 "December 16, 2015"
++
++.SH NAME
++ldapusersetup \- wizard for adding an LDAP user to CGCS.
++
++.SH SYNOPSIS
++.B ldapusersetup
++
++.SH DESCRIPTION
++ldapusersetup interactively walks through the process of creating an LDAP user
++for access to CGCS services. The user is prompted for:
++- username
++- if a sudoEntry needs to be created
++- if a secondary user group needs to be added
++- user password expiry and warning configuration
++Alternatively, the user may provide these parameters as command line actions.
++Look at the OPTIONS section for more information.
++
++To delete the user and all its group associations, simply use ldapdeleteuser(1)
++
++.SH OPTIONS
++.TP
++.B [-u <username | uid> <field> <value>]
++The name or uid of the user to modify.
++The following fields are available as long format options:
++--sudo                  : whether to add this user to sudoer list
++--secondgroup <grp>     : the secondary group to add this user to
++--passmax     <value>   : the shadowMax value for this user
++--passwarning <value>   : the shadowWarning value for this user"
++
++.SH "SEE ALSO"
++ldapdeleteuser(1), ldapaddgroup(1), ldapaddusertogroup(1), ldapmodifyuser(1), ldapscripts(5).
++
++.SH AVAILABILITY
++The ldapscripts are provided under the GNU General Public License v2 (see COPYING for more details).
++The latest version of the ldapscripts is available on :
++.B http://contribs.martymac.org
++
++.SH BUGS
++No bug known.
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapaddgroup.template.cgcs b/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapaddgroup.template.cgcs
new file mode 100755 (executable)
index 0000000..b34c105
--- /dev/null
@@ -0,0 +1,5 @@
+dn: cn=<group>,<gsuffix>,<suffix>
+objectClass: posixGroup
+cn: <group>
+gidNumber: <gid>
+description: Group account
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapaddsudo.template.cgcs b/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapaddsudo.template.cgcs
new file mode 100755 (executable)
index 0000000..f93170d
--- /dev/null
@@ -0,0 +1,10 @@
+dn: cn=<user>,ou=SUDOers,<suffix>
+objectClass: top
+objectClass: sudoRole
+cn: <user>
+sudoUser: <user>
+sudoHost: ALL
+sudoRunAsUser: ALL
+sudoCommand: ALL
+#sudoOrder: <default: 0, if multiple entries match, this entry with the highest sudoOrder is used>
+#sudoOption: <specify other sudo specific attributes here>
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapadduser.template.cgcs b/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapadduser.template.cgcs
new file mode 100755 (executable)
index 0000000..29f3ccc
--- /dev/null
@@ -0,0 +1,16 @@
+dn: uid=<user>,<usuffix>,<suffix>
+objectClass: account
+objectClass: posixAccount
+objectClass: shadowAccount
+objectClass: top
+cn: <user>
+uid: <user>
+uidNumber: <uid>
+gidNumber: <gid>
+shadowMax: 99999
+shadowWarning: 7
+shadowLastChange: 0
+homeDirectory: <home>
+loginShell: <shell>
+gecos: <user>
+description: User account
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapmodsudo.template.cgcs b/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapmodsudo.template.cgcs
new file mode 100755 (executable)
index 0000000..c79705f
--- /dev/null
@@ -0,0 +1,4 @@
+dn: cn=<user>,ou=SUDOers,<suffix>
+changeType: modify
+<action>: <field>
+<field>: <value>
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapmoduser.template.cgcs b/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapmoduser.template.cgcs
new file mode 100755 (executable)
index 0000000..f192024
--- /dev/null
@@ -0,0 +1,4 @@
+dn: uid=<user>,<usuffix>,<suffix>
+changeType: modify
+<action>: <field>
+<field>: <value>
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapscripts.conf.cgcs b/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapscripts.conf.cgcs
new file mode 100755 (executable)
index 0000000..9350dd3
--- /dev/null
@@ -0,0 +1,152 @@
+#  Copyright (C) 2005 Ganaël LAPLANCHE - Linagora
+#  Copyright (C) 2006-2013 Ganaël LAPLANCHE
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU General Public License
+#  as published by the Free Software Foundation; either version 2
+#  of the License, or (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+#  USA.
+
+# LDAP server
+SERVER="ldap://controller"
+
+# Suffixes
+SUFFIX="dc=cgcs,dc=local" # Global suffix
+GSUFFIX="ou=Group"        # Groups ou (just under $SUFFIX)
+USUFFIX="ou=People"       # Users ou (just under $SUFFIX)
+MSUFFIX="ou=Machines"     # Machines ou (just under $SUFFIX)
+
+# Authentication type
+# If empty, use simple authentication
+# Else, use the value as an SASL authentication mechanism
+SASLAUTH=""
+#SASLAUTH="GSSAPI"
+
+# Simple authentication parameters
+# The following BIND* parameters are ignored if SASLAUTH is set
+BINDDN="cn=ldapadmin,dc=cgcs,dc=local"
+# The following file contains the raw password of the BINDDN
+# Create it with something like : echo -n 'secret' > $BINDPWDFILE
+# WARNING !!!! Be careful not to make this file world-readable
+BINDPWDFILE="/usr/local/etc/ldapscripts/ldapscripts.passwd"
+# For older versions of OpenLDAP, it is still possible to use
+# unsecure command-line passwords by defining the following option
+# AND commenting the previous one (BINDPWDFILE takes precedence)
+#BINDPWD="secret"
+
+# Start with these IDs *if no entry found in LDAP*
+GIDSTART="10000" # Group ID
+UIDSTART="10000" # User ID
+MIDSTART="20000" # Machine ID
+
+# Group membership management
+# ObjectCLass used for groups
+# Possible values : posixGroup, groupOfNames, groupOfUniqueNames (case-sensitive !)
+# Warning : when using groupOf*, be sure to be compliant with RFC 2307bis (AUXILIARY posixGroup).
+# Also, do not mix posixGroup and groupOf* entries up in you directory as, within RFC 2307bis,
+# the former is a subset of the latter. The ldapscripts wouldn't cope well with this configuration.
+GCLASS="posixGroup"   # Leave "posixGroup" here if not sure !
+# When using  groupOfNames or groupOfUniqueNames, creating a group requires an initial
+# member. Specify it below, you will be able to remove it once groups are populated.
+#GDUMMYMEMBER="uid=dummy,$USUFFIX,$SUFFIX"
+
+# User properties
+USHELL="/bin/sh"
+UHOMES="/home/%u"     # You may use %u for username here
+CREATEHOMES="no"      # Create home directories and set rights ?
+HOMESKEL="/etc/skel"  # Directory where the skeleton files are located. Ignored if undefined or nonexistant.
+HOMEPERMS="700"       # Default permissions for home directories
+
+# User passwords generation
+# Command-line used to generate a password for added users.
+# You may use %u for username here ; special value "<ask>" will ask for a password interactively
+# WARNING    !!!! This is evaluated, everything specified here will be run !
+# WARNING(2) !!!! Some systems (Linux) use a blocking /dev/random (waiting for enough entropy).
+#                 In this case, consider using /dev/urandom instead.
+#PASSWORDGEN="cat /dev/random | LC_ALL=C tr -dc 'a-zA-Z0-9' | head -c8"
+#PASSWORDGEN="pwgen"
+#PASSWORDGEN="echo changeme"
+PASSWORDGEN="echo %u"
+#PASSWORDGEN="<ask>"
+
+# User passwords recording
+# you can keep trace of generated passwords setting PASSWORDFILE and RECORDPASSWORDS
+# (useful when performing a massive creation / net rpc vampire)
+# WARNING !!!! DO NOT FORGET TO DELETE THE GENERATED FILE WHEN DONE !
+# WARNING !!!! DO NOT FORGET TO TURN OFF RECORDING WHEN DONE !
+RECORDPASSWORDS="no"
+PASSWORDFILE="/var/log/ldapscripts_passwd.log"
+
+# Where to log
+LOGFILE="/var/log/ldapscripts.log"
+
+# Temporary folder
+TMPDIR="/tmp"
+
+# Various binaries used within the scripts
+# Warning : they also use uuencode, date, grep, sed, cut, which... 
+# Please check they are installed before using these scripts
+# Note that many of them should come with your OS
+
+# OpenLDAP client commands
+LDAPSEARCHBIN="/usr/bin/ldapsearch"
+LDAPADDBIN="/usr/bin/ldapadd"
+LDAPDELETEBIN="/usr/bin/ldapdelete"
+LDAPMODIFYBIN="/usr/bin/ldapmodify"
+LDAPMODRDNBIN="/usr/bin/ldapmodrdn"
+LDAPPASSWDBIN="/usr/bin/ldappasswd"
+
+# OpenLDAP client common additional options
+# This allows for adding more configuration options to the OpenLDAP clients, e.g. '-ZZ' to enforce TLS
+#LDAPBINOPTS="-ZZ"
+
+# OpenLDAP ldapsearch-specific additional options
+# The following option disables long-line wrapping (which makes the scripts bug
+# when handling long lines). The option was introduced in OpenLDAP 2.4.24, so
+# comment it if you are using OpenLDAP < 2.4.24.
+LDAPSEARCHOPTS="-o ldif-wrap=no"
+# And here is an example to activate paged results
+#LDAPSEARCHOPTS="-E pr=500/noprompt"
+
+# Character set conversion : $ICONVCHAR <-> UTF-8
+# Comment ICONVBIN to disable UTF-8 conversion
+# ICONVBIN="/usr/bin/iconv"
+# ICONVCHAR=""
+
+# Base64 decoding
+# Comment UUDECODEBIN to disable Base64 decoding
+#UUDECODEBIN="/usr/bin/uudecode"
+
+# Getent command to use - choose the ones used
+# on your system. Leave blank or comment for auto-guess.
+# GNU/Linux
+GETENTPWCMD="getent passwd"
+GETENTGRCMD="getent group"
+# FreeBSD
+#GETENTPWCMD="pw usershow"
+#GETENTGRCMD="pw groupshow"
+# Auto
+#GETENTPWCMD=""
+#GETENTGRCMD=""
+
+# You can specify custom LDIF templates here
+# Leave empty to use default templates
+# See *.template.sample for default templates
+#GTEMPLATE="/path/to/ldapaddgroup.template"
+#UTEMPLATE="/path/to/ldapadduser.template"
+#MTEMPLATE="/path/to/ldapaddmachine.template"
+GTEMPLATE="/usr/local/etc/ldapscripts/ldapaddgroup.template.cgcs"
+UTEMPLATE="/usr/local/etc/ldapscripts/ldapadduser.template.cgcs"
+UMTEMPLATE="/usr/local/etc/ldapscripts/ldapmoduser.template.cgcs"
+STEMPLATE="/usr/local/etc/ldapscripts/ldapaddsudo.template.cgcs"
+SMTEMPLATE="/usr/local/etc/ldapscripts/ldapmodsudo.template.cgcs"
+MTEMPLATE=""
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapscripts.passwd b/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/ldapscripts.passwd
new file mode 100644 (file)
index 0000000..385336f
--- /dev/null
@@ -0,0 +1 @@
+_LDAPADMIN_PW_
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/log_timestamp.patch b/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/log_timestamp.patch
new file mode 100644 (file)
index 0000000..a521d0e
--- /dev/null
@@ -0,0 +1,15 @@
+---
+ lib/runtime |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/lib/runtime
++++ b/lib/runtime
+@@ -863,7 +863,7 @@ fi
+ # Log command
+ if [ "$LOGTOFILE" = "yes" ]
+ then
+-  log_to_file "$(date '+%b %d %H:%M:%S') $(uname -n | sed 's|\..*$||') ldapscripts: $(basename "$0")($USER): $0 $*"
++  log_to_file "$(date '+%FT%T') $(uname -n | sed 's|\..*$||') ldapscripts: $(basename "$0")($USER): $0 $*"
+ fi
+ if [ "$LOGTOSYSLOG" = "yes" ]
+ then
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/sudo-delete-support.patch b/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/sudo-delete-support.patch
new file mode 100644 (file)
index 0000000..ed0d48e
--- /dev/null
@@ -0,0 +1,352 @@
+---
+ Makefile                  |    4 +--
+ lib/runtime               |   15 ++++++++++++
+ man/man1/ldapaddsudo.1    |   54 +++++++++++++++++++++++++++++++++++++++++++
+ man/man1/ldapdeletesudo.1 |   46 +++++++++++++++++++++++++++++++++++++
+ man/man1/ldapdeleteuser.1 |    5 ++--
+ man/man1/ldapmodifysudo.1 |   57 ++++++++++++++++++++++++++++++++++++++++++++++
+ man/man1/ldapmodifyuser.1 |   15 ++++++++---
+ sbin/ldapdeletesudo       |   38 ++++++++++++++++++++++++++++++
+ sbin/ldapdeleteuser       |    5 ++++
+ sbin/ldapmodifysudo       |    2 -
+ 10 files changed, 232 insertions(+), 9 deletions(-)
+
+--- a/sbin/ldapdeleteuser
++++ b/sbin/ldapdeleteuser
+@@ -46,6 +46,11 @@ _UDN="$_ENTRY"
+ # Delete entry
+ _ldapdelete "$_UDN" || end_die "Error deleting user $_UDN from LDAP"
+
++
++# Optionally, delete the sudoer entry if it exists
++_ldapdeletesudo $1
++[ $? -eq 2 ] && end_die "Found sudoEntry for user $_UDN but unable to delete"
++
+ # Finally, delete this user from all his secondary groups
+ case $GCLASS in
+   posixGroup)
+--- a/sbin/ldapmodifysudo
++++ b/sbin/ldapmodifysudo
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+-#  ldapmodifyuser : modifies a sudo entry in an LDAP directory
++#  ldapmodifysudo : modifies a sudo entry in an LDAP directory
+ #  Copyright (C) 2007-2013 Ganaël LAPLANCHE
+ #  Copyright (C) 2014 Stephen Crooks
+--- /dev/null
++++ b/sbin/ldapdeletesudo
+@@ -0,0 +1,38 @@
++#!/bin/sh
++
++#  ldapdeletesudo : deletes a sudoRole from LDAP
++
++#  Copyright (C) 2005 Ganaël LAPLANCHE - Linagora
++#  Copyright (C) 2006-2013 Ganaël LAPLANCHE
++#  Copyright (c) 2015 Wind River Systems, Inc.
++#
++#  This program is free software; you can redistribute it and/or
++#  modify it under the terms of the GNU General Public License
++#  as published by the Free Software Foundation; either version 2
++#  of the License, or (at your option) any later version.
++#
++#  This program is distributed in the hope that it will be useful,
++#  but WITHOUT ANY WARRANTY; without even the implied warranty of
++#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#  GNU General Public License for more details.
++#
++#  You should have received a copy of the GNU General Public License
++#  along with this program; if not, write to the Free Software
++#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++#  USA.
++
++if [ -z "$1" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]
++then
++  echo "Usage : $0 <username>"
++  exit 1
++fi
++
++# Source runtime file
++_RUNTIMEFILE="/usr/lib/ldapscripts/runtime"
++. "$_RUNTIMEFILE"
++
++# Username = first argument
++_ldapdeletesudo "$1"
++[ $? -eq 0 ] || end_die "Unable to locate or delete sudoUser entry for $1"
++
++end_ok "Successfully deleted sudoUser entry for $1 from LDAP"
+--- a/man/man1/ldapmodifyuser.1
++++ b/man/man1/ldapmodifyuser.1
+@@ -1,4 +1,5 @@
+ .\" Copyright (C) 2007-2017 Ganaël LAPLANCHE
++.\" Copyright (c) 2015 Wind River Systems, Inc.
+ .\"
+ .\" This program is free software; you can redistribute it and/or
+ .\" modify it under the terms of the GNU General Public License
+@@ -19,14 +20,14 @@
+ .\" ganael.laplanche@martymac.org
+ .\" http://contribs.martymac.org
+ .\"
+-.TH ldapmodifyuser 1 "August 22, 2007"
++.TH ldapmodifyuser 1 "December 8, 2015"
+ .SH NAME
+ ldapmodifyuser \- modifies a POSIX user account in LDAP interactively
+ .SH SYNOPSIS
+ .B ldapmodifyuser
+-.RB <username | uid>
++.RB <username | uid> [<add | replace | delete> <field> <value>]
+  
+ .SH DESCRIPTION
+ ldapmodifyuser first looks for the right entry to modify. Once found, the entry is presented and you
+@@ -34,13 +35,18 @@ are prompted to enter LDIF data to modif
+ The DN of the entry being modified is already specified : just begin with a changeType attribute or any
+ other one(s) of your choice (in this case, the defaut changeType is 'modify').
++Alternatively, if an optional "action" argument <add | replace | delete> is given, followed by a
++field - value pair then user will not be interactively prompted.
++
+ .SH OPTIONS
+ .TP
+-.B <username | uid>
++.B <username | uid> [<add | replace | delete> <field> <value>]
+ The name or uid of the user to modify.
++The optional "action" pertaining to this user entry.
++The field - value pair on which the action needs to be undertaken.
+ .SH "SEE ALSO"
+-ldapmodifygroup(1), ldapmodifymachine(1), ldapscripts(5).
++ldapmodifygroup(1), ldapmodifymachine(1), ldapmodifysudo(1), ldapscripts(5).
+ .SH AVAILABILITY
+ The ldapscripts are provided under the GNU General Public License v2 (see COPYING for more details).
+--- a/man/man1/ldapdeleteuser.1
++++ b/man/man1/ldapdeleteuser.1
+@@ -1,4 +1,5 @@
+ .\" Copyright (C) 2006-2017 Ganaël LAPLANCHE
++.\" Copyright (c) 2015 Wind River Systems, Inc.
+ .\"
+ .\" This program is free software; you can redistribute it and/or
+ .\" modify it under the terms of the GNU General Public License
+@@ -19,10 +20,10 @@
+ .\" ganael.laplanche@martymac.org
+ .\" http://contribs.martymac.org
+ .\"
+-.TH ldapdeleteuser 1 "January 1, 2006"
++.TH ldapdeleteuser 1 "December 8, 2015"
+ .SH NAME
+-ldapdeleteuser \- deletes a POSIX user account from LDAP.
++ldapdeleteuser \- deletes a POSIX user account, and its sudo entry, from LDAP.
+ .SH SYNOPSIS
+ .B ldapdeleteuser
+--- /dev/null
++++ b/man/man1/ldapaddsudo.1
+@@ -0,0 +1,54 @@
++.\" Copyright (C) 2006-2013 Ganaël LAPLANCHE
++.\" Copyright (c) 2015 Wind River Systems, Inc.
++.\"
++.\" This program is free software; you can redistribute it and/or
++.\" modify it under the terms of the GNU General Public License
++.\" as published by the Free Software Foundation; either version 2
++.\" of the License, or (at your option) any later version.
++.\"
++.\" This program is distributed in the hope that it will be useful,
++.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
++.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++.\" GNU General Public License for more details.
++.\"
++.\" You should have received a copy of the GNU General Public License
++.\" along with this program; if not, write to the Free Software
++.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++.\" USA.
++.\"
++.\" Ganael Laplanche
++.\" ganael.laplanche@martymac.org
++.\" http://contribs.martymac.org
++.\"
++.TH ldapaddsudo 1 "December 8, 2015"
++
++.SH NAME
++ldapaddsudo \- adds a POSIX user account to the sudoer list in LDAP.
++
++.SH SYNOPSIS
++.B ldapaddsudo
++.RB <username>
++.RB <groupname | gid>
++.RB [uid]
++ 
++.SH OPTIONS
++.TP
++.B <username>
++The name of the user to add.
++.TP
++.B <groupname | gid>
++The group name or the gid of the user to add.
++.TP
++.B [uid]
++The uid of the user to add. Automatically computed if not specified.
++
++.SH "SEE ALSO"
++ldapadduser(1), ldapaddgroup(1), ldapaddmachine(1), ldapscripts(5).
++
++.SH AVAILABILITY
++The ldapscripts are provided under the GNU General Public License v2 (see COPYING for more details).
++The latest version of the ldapscripts is available on :
++.B http://contribs.martymac.org
++
++.SH BUGS
++No bug known.
+--- /dev/null
++++ b/man/man1/ldapmodifysudo.1
+@@ -0,0 +1,57 @@
++.\" Copyright (C) 2007-2013 Ganaël LAPLANCHE
++.\" Copyright (c) 2015 Wind River Systems, Inc.
++.\"
++.\" This program is free software; you can redistribute it and/or
++.\" modify it under the terms of the GNU General Public License
++.\" as published by the Free Software Foundation; either version 2
++.\" of the License, or (at your option) any later version.
++.\"
++.\" This program is distributed in the hope that it will be useful,
++.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
++.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++.\" GNU General Public License for more details.
++.\"
++.\" You should have received a copy of the GNU General Public License
++.\" along with this program; if not, write to the Free Software
++.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++.\" USA.
++.\"
++.\" Ganael Laplanche
++.\" ganael.laplanche@martymac.org
++.\" http://contribs.martymac.org
++.\"
++.TH ldapmodifysudo 1 "December 8, 2015"
++
++.SH NAME
++ldapmodifysudo \- modifies the sudo entry of a POSIX user account in LDAP interactively
++
++.SH SYNOPSIS
++.B ldapmodifysudo
++.RB <username | uid> [<add | replace | delete> <field> <value>]
++ 
++.SH DESCRIPTION
++ldapmodifysudo first looks for the right entry to modify. Once found, the entry is presented and you
++are prompted to enter LDIF data to modify it as you would do using a standard LDIF file and ldapmodify(1).
++The DN of the entry being modified is already specified : just begin with a changeType attribute or any
++other one(s) of your choice (in this case, the defaut changeType is 'modify').
++
++Alternatively, if an optional "action" argument <add | replace | delete> is given, followed by a
++field - value pair then user will not be interactively prompted.
++
++.SH OPTIONS
++.TP
++.B <username | uid> [<add | replace | delete> <field> <value>]
++The name or uid of the user to modify.
++The optional "action" pertaining to this user entry.
++The field - value pair on which the action needs to be undertaken.
++
++.SH "SEE ALSO"
++ldapmodifygroup(1), ldapmodifymachine(1), ldapmodifyuser(1), ldapscripts(5).
++
++.SH AVAILABILITY
++The ldapscripts are provided under the GNU General Public License v2 (see COPYING for more details).
++The latest version of the ldapscripts is available on :
++.B http://contribs.martymac.org
++
++.SH BUGS
++No bug known.
+--- /dev/null
++++ b/man/man1/ldapdeletesudo.1
+@@ -0,0 +1,46 @@
++.\" Copyright (C) 2006-2013 Ganaël LAPLANCHE
++.\" Copyright (c) 2015 Wind River Systems, Inc.
++.\"
++.\" This program is free software; you can redistribute it and/or
++.\" modify it under the terms of the GNU General Public License
++.\" as published by the Free Software Foundation; either version 2
++.\" of the License, or (at your option) any later version.
++.\"
++.\" This program is distributed in the hope that it will be useful,
++.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
++.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++.\" GNU General Public License for more details.
++.\"
++.\" You should have received a copy of the GNU General Public License
++.\" along with this program; if not, write to the Free Software
++.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++.\" USA.
++.\"
++.\" Ganael Laplanche
++.\" ganael.laplanche@martymac.org
++.\" http://contribs.martymac.org
++.\"
++.TH ldapdeletesudo 1 "December 8, 2015"
++
++.SH NAME
++ldapdeletesudo \- deletes a sudo entry, for a POSIX user account, in LDAP
++
++.SH SYNOPSIS
++.B ldapdeletesudo
++.RB <username | uid>
++ 
++.SH OPTIONS
++.TP
++.B <username | uid>
++The name or uid of the user to delete.
++
++.SH "SEE ALSO"
++ldapdeletegroup(1), ldapdeletemachine(1), ldapdeleteuser(1), ldapscripts(5).
++
++.SH AVAILABILITY
++The ldapscripts are provided under the GNU General Public License v2 (see COPYING for more details).
++The latest version of the ldapscripts is available on :
++.B http://contribs.martymac.org
++
++.SH BUGS
++No bug known.
+--- a/Makefile
++++ b/Makefile
+@@ -41,12 +41,12 @@ SBINFILES =        ldapdeletemachine ldapmodifygroup ldapsetpasswd lsldap ldapadduser |
+                       ldapdeleteuser ldapsetprimarygroup ldapfinger ldapid ldapgid ldapmodifymachine \
+                       ldaprenamegroup ldapaddgroup ldapaddusertogroup ldapdeleteuserfromgroup \
+                       ldapinit ldapmodifyuser ldaprenamemachine ldapaddmachine ldapdeletegroup \
+-                      ldaprenameuser ldapmodifysudo
++                      ldaprenameuser ldapmodifysudo ldapdeletesudo
+ MAN1FILES =   ldapdeletemachine.1 ldapmodifymachine.1 ldaprenamemachine.1 ldapadduser.1 \
+                       ldapdeleteuserfromgroup.1 ldapfinger.1 ldapid.1 ldapgid.1 ldapmodifyuser.1 lsldap.1 \
+                       ldapaddusertogroup.1 ldaprenameuser.1 ldapinit.1 ldapsetpasswd.1 ldapaddgroup.1 \
+                       ldapdeletegroup.1 ldapsetprimarygroup.1 ldapmodifygroup.1 ldaprenamegroup.1 \
+-                      ldapaddmachine.1 ldapdeleteuser.1
++                      ldapaddmachine.1 ldapdeleteuser.1 ldapaddsudo.1 ldapmodifysudo.1 ldapdeletesudo.1
+ MAN5FILES = ldapscripts.5
+ TMPLFILES = ldapaddgroup.template.sample ldapaddmachine.template.sample \
+                       ldapadduser.template.sample
+--- a/lib/runtime
++++ b/lib/runtime
+@@ -294,6 +294,21 @@ _ldapdelete () {
+   fi
+ }
++# Deletes a sudoUser entry in the LDAP directory
++# Input : POSIX username whose sudo entry to delete ($1)
++# Output: 0 on successful delete
++#         1 on being unable to find sudoUser
++#         2 on being unable to delete found sudoUser entry
++_ldapdeletesudo () {
++  [ -z "$1" ] && end_die "_ldapdeletesudo : missing argument"
++  # Find the entry
++  _findentry "$SUFFIX" "(&(objectClass=sudoRole)(|(cn=$1)(sudoUser=$1)))"
++  [ -z "$_ENTRY" ] && return 1
++
++  # Now delete that entry
++  _ldapdelete "$_ENTRY" || return 2
++}
++
+ # Extracts LDIF information from $0 (the current script itself)
+ # selecting lines beginning with $1 occurrences of '#'
+ # Input : depth ($1)
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/sudo-support.patch b/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/files/sudo-support.patch
new file mode 100644 (file)
index 0000000..76fff94
--- /dev/null
@@ -0,0 +1,289 @@
+Index: ldapscripts-2.0.8/sbin/ldapaddsudo
+===================================================================
+--- /dev/null
++++ ldapscripts-2.0.8/sbin/ldapaddsudo
+@@ -0,0 +1,63 @@
++#!/bin/sh
++
++#  ldapaddsudo : adds a sudoRole to LDAP
++
++#  Copyright (C) 2005 Ganaël LAPLANCHE - Linagora
++#  Copyright (C) 2006-2013 Ganaël LAPLANCHE
++#  Copyright (c) 2014 Wind River Systems, Inc.
++#
++#  This program is free software; you can redistribute it and/or
++#  modify it under the terms of the GNU General Public License
++#  as published by the Free Software Foundation; either version 2
++#  of the License, or (at your option) any later version.
++#
++#  This program is distributed in the hope that it will be useful,
++#  but WITHOUT ANY WARRANTY; without even the implied warranty of
++#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#  GNU General Public License for more details.
++#
++#  You should have received a copy of the GNU General Public License
++#  along with this program; if not, write to the Free Software
++#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++#  USA.
++
++if [ -z "$1" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]
++then
++  echo "Usage : $0 <username>"
++  exit 1
++fi
++
++# Source runtime file
++_RUNTIMEFILE="/usr/lib/ldapscripts/runtime"
++. "$_RUNTIMEFILE"
++
++# Username = first argument
++_USER="$1"
++
++# Use template if necessary
++if [ -n "$STEMPLATE" ] && [ -r "$STEMPLATE" ]
++then
++  _getldif="cat $STEMPLATE"
++else
++  _getldif="_extractldif 2"
++fi
++
++# Add sudo entry to LDAP
++$_getldif | _filterldif | _askattrs | _utf8encode | _ldapadd
++
++[ $? -eq 0 ] || end_die "Error adding user $_USER to LDAP"
++echo_log "Successfully added sudo access for user $_USER to LDAP"
++
++end_ok
++
++# Ldif template ##################################
++##dn: cn=<user>,ou=SUDOers,<usuffix>,<suffix>
++##objectClass: top
++##objectClass: sudoRole
++##cn: <user>
++##sudoUser: <user>
++##sudoHost: ALL
++##sudoRunAsUser: ALL
++##sudoCommand: ALL
++###sudoOrder: <default: 0, if multiple entries match, this entry with the highest sudoOrder is used>
++###sudoOption: <specify other sudo specific attributes here>
+Index: ldapscripts-2.0.8/sbin/ldapmodifyuser
+===================================================================
+--- ldapscripts-2.0.8.orig/sbin/ldapmodifyuser
++++ ldapscripts-2.0.8/sbin/ldapmodifyuser
+@@ -19,9 +19,11 @@
+ #  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ #  USA.
+-if [ -z "$1" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]
++if [ "$1" = "-h" ] || [ "$1" = "--help" ] || \
++   [[ "$2" != "add" && "$2" != "replace" && "$2" != "delete" ]] || \
++   [ "$#" -ne 4 ]
+ then
+-  echo "Usage : $0 <username | uid>"
++  echo "Usage : $0 <username | uid> [<add | replace | delete> <field> <value>]"
+   exit 1
+ fi
+@@ -33,21 +35,48 @@ _RUNTIMEFILE="/usr/lib/ldapscripts/runti
+ _findentry "$USUFFIX,$SUFFIX" "(&(objectClass=posixAccount)(|(uid=$1)(uidNumber=$1)))"
+ [ -z "$_ENTRY" ] && end_die "User $1 not found in LDAP"
+-# Allocate and create temp file
+-mktempf
+-echo "dn: $_ENTRY" > "$_TMPFILE" || end_die "Error writing to temporary file $_TMPFILE"
+-
+-# Display entry
+-echo "# About to modify the following entry :"
+-_ldapsearch "$_ENTRY"
+-
+-# Edit entry
+-echo "# Enter your modifications here, end with CTRL-D."
+-echo "dn: $_ENTRY"
+-cat >> "$_TMPFILE" || end_die "Error writing to temporary file $_TMPFILE"
++# Username = first argument
++_USER="$1"
++
++if [ "$#" -eq 1 ]
++then
++  # Allocate and create temp file
++  mktempf
++  echo "dn: $_ENTRY" > "$_TMPFILE" || end_die "Error writing to temporary file $_TMPFILE"
++
++  # Display entry
++  echo "# About to modify the following entry :"
++  _ldapsearch "$_ENTRY"
++
++  # Edit entry
++  echo "# Enter your modifications here, end with CTRL-D."
++  echo "dn: $_ENTRY"
++  cat >> "$_TMPFILE" || end_die "Error writing to temporary file $_TMPFILE"
++
++  # Send modifications
++  cat "$_TMPFILE" | _utf8encode | _ldapmodify
++else
++  # Action = second argument
++  _ACTION="$2"
++
++  # Field = third argument
++  _FIELD="$3"
++
++  # Value = fourth argument
++  _VALUE="$4"
++
++  # Use template if necessary
++  if [ -n "$UMTEMPLATE" ] && [ -r "$UMTEMPLATE" ]
++  then
++    _getldif="cat $UMTEMPLATE"
++  else
++    _getldif="_extractldif 2"
++  fi
++
++  # Modify user in LDAP
++  $_getldif | _filterldif | _utf8encode | _ldapmodify
++fi
+-# Send modifications
+-cat "$_TMPFILE" | _utf8encode | _ldapmodify
+ if [ $? -ne 0 ]
+ then
+   reltempf
+@@ -55,3 +84,9 @@ then
+ fi
+ reltempf
+ end_ok "Successfully modified user entry $_ENTRY in LDAP"
++
++# Ldif template ##################################
++##dn: uid=<user>,<usuffix>,<suffix>
++##changeType: modify
++##<action>: <field>
++##<field>: <value>
+Index: ldapscripts-2.0.8/lib/runtime
+===================================================================
+--- ldapscripts-2.0.8.orig/lib/runtime
++++ ldapscripts-2.0.8/lib/runtime
+@@ -344,6 +344,9 @@ s|<msuffix>|$MSUFFIX|g
+ s|<_msuffix>|$_MSUFFIX|g
+ s|<gsuffix>|$GSUFFIX|g
+ s|<_gsuffix>|$_GSUFFIX|g
++s|<action>|$_ACTION|g
++s|<field>|$_FIELD|g
++s|<value>|$_VALUE|g
+ EOF
+   # Use it
+Index: ldapscripts-2.0.8/Makefile
+===================================================================
+--- ldapscripts-2.0.8.orig/Makefile
++++ ldapscripts-2.0.8/Makefile
+@@ -37,11 +37,11 @@ LIBDIR = $(PREFIX)/lib/$(NAME)
+ RUNFILE = runtime
+ ETCFILE = ldapscripts.conf
+ PWDFILE = ldapscripts.passwd
+-SBINFILES =   ldapdeletemachine ldapmodifygroup ldapsetpasswd lsldap ldapadduser \
++SBINFILES =   ldapdeletemachine ldapmodifygroup ldapsetpasswd lsldap ldapadduser ldapaddsudo \
+                       ldapdeleteuser ldapsetprimarygroup ldapfinger ldapid ldapgid ldapmodifymachine \
+                       ldaprenamegroup ldapaddgroup ldapaddusertogroup ldapdeleteuserfromgroup \
+                       ldapinit ldapmodifyuser ldaprenamemachine ldapaddmachine ldapdeletegroup \
+-                      ldaprenameuser
++                      ldaprenameuser ldapmodifysudo
+ MAN1FILES =   ldapdeletemachine.1 ldapmodifymachine.1 ldaprenamemachine.1 ldapadduser.1 \
+                       ldapdeleteuserfromgroup.1 ldapfinger.1 ldapid.1 ldapgid.1 ldapmodifyuser.1 lsldap.1 \
+                       ldapaddusertogroup.1 ldaprenameuser.1 ldapinit.1 ldapsetpasswd.1 ldapaddgroup.1 \
+Index: ldapscripts-2.0.8/sbin/ldapmodifysudo
+===================================================================
+--- /dev/null
++++ ldapscripts-2.0.8/sbin/ldapmodifysudo
+@@ -0,0 +1,93 @@
++#!/bin/sh
++
++#  ldapmodifyuser : modifies a sudo entry in an LDAP directory
++
++#  Copyright (C) 2007-2013 Ganaël LAPLANCHE
++#  Copyright (C) 2014 Stephen Crooks
++#
++#  This program is free software; you can redistribute it and/or
++#  modify it under the terms of the GNU General Public License
++#  as published by the Free Software Foundation; either version 2
++#  of the License, or (at your option) any later version.
++#
++#  This program is distributed in the hope that it will be useful,
++#  but WITHOUT ANY WARRANTY; without even the implied warranty of
++#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#  GNU General Public License for more details.
++#
++#  You should have received a copy of the GNU General Public License
++#  along with this program; if not, write to the Free Software
++#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++#  USA.
++
++if [ "$1" = "-h" ] || [ "$1" = "--help" ] || \
++   [[ "$2" != "add" && "$2" != "replace" && "$2" != "delete" ]] || \
++   [ "$#" -ne 4 ]
++then
++  echo "Usage : $0 <username | uid> [<add | replace | delete> <field> <value>]"
++  exit 1
++fi
++
++# Source runtime file
++_RUNTIMEFILE="/usr/lib/ldapscripts/runtime"
++. "$_RUNTIMEFILE"
++
++# Find username : $1 must exist in LDAP !
++_findentry "$SUFFIX" "(&(objectClass=sudoRole)(|(cn=$1)(sudoUser=$1)))"
++[ -z "$_ENTRY" ] && end_die "Sudo user $1 not found in LDAP"
++
++# Username = first argument
++_USER="$1"
++
++if [ "$#" -eq 1 ]
++then
++  # Allocate and create temp file
++  mktempf
++  echo "dn: $_ENTRY" > "$_TMPFILE" || end_die "Error writing to temporary file $_TMPFILE"
++
++  # Display entry
++  echo "# About to modify the following entry :"
++  _ldapsearch "$_ENTRY"
++
++  # Edit entry
++  echo "# Enter your modifications here, end with CTRL-D."
++  echo "dn: $_ENTRY"
++  cat >> "$_TMPFILE" || end_die "Error writing to temporary file $_TMPFILE"
++
++  # Send modifications
++  cat "$_TMPFILE" | _utf8encode | _ldapmodify
++else
++  # Action = second argument
++  _ACTION="$2"
++
++  # Field = third argument
++  _FIELD="$3"
++
++  # Value = fourth argument
++  _VALUE="$4"
++
++  # Use template if necessary
++  if [ -n "$SMTEMPLATE" ] && [ -r "$SMTEMPLATE" ]
++  then
++    _getldif="cat $SMTEMPLATE"
++  else
++    _getldif="_extractldif 2"
++  fi
++
++  # Modify user in LDAP
++  $_getldif | _filterldif | _utf8encode | _ldapmodify
++fi
++
++if [ $? -ne 0 ]
++then
++  reltempf
++  end_die "Error modifying sudo entry $_ENTRY in LDAP"
++fi
++reltempf
++end_ok "Successfully modified sudo entry $_ENTRY in LDAP"
++
++# Ldif template ##################################
++##dn: cn=<user>,ou=SUDOers,<suffix>
++##changeType: modify
++##<action>: <field>
++##<field>: <value>
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/ldapscripts_2.0.8.bb b/meta-starlingx/meta-stx-cloud/recipes-support/ldapscripts/ldapscripts_2.0.8.bb
new file mode 100644 (file)
index 0000000..aeb93b5
--- /dev/null
@@ -0,0 +1,79 @@
+
+DESCRIPTION = " \
+The ldapscripts are originally designed to be used within Samba 3.x's \
+smb.conf file. They allow to manipulate POSIX entries for users, groups \
+and machines in an LDAP directory. They are written in shell and need ldap \
+client commands to work correctly (ldapadd, ldapdelete, ldapmodify, \
+ldapsearch). Other scripts also are provided as simple tools to (manually) \
+query your LDAP directory : ldapfinger, ldapid, lsldap (...). \
+ \
+They are designed to be used under GNU/Linux or FreeBSD (any other \
+recent UNIX-like should also work) and require several binaries that should \
+come with your OS (uuencode, getent/pw, date, grep, sed, cut...). \
+ \
+Latest version available on http://contribs.martymac.org \
+"
+
+SUMMARY = "Shell scripts to manage POSIX accounts in LDAP"
+
+SECTION = "base"
+LICENSE = "GPLv2"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
+
+SRC_URI = "https://downloads.sourceforge.net/project/ldapscripts/ldapscripts/ldapscripts-2.0.8/ldapscripts-2.0.8.tgz"
+SRC_URI[md5sum] = "99a7222215eaea2c8bc790d0437f22ea"
+SRC_URI[sha256sum] = "7db3848501f257a10417c9bcfc0b70b76d0a8093eb993f2354925e156c3419ff"
+
+SRC_URI += " file://sudo-support.patch \
+             file://sudo-delete-support.patch \
+             file://log_timestamp.patch \
+             file://ldap-user-setup-support.patch \
+             file://allow-anonymous-bind-for-ldap-search.patch \
+             file://ldapscripts.conf.cgcs \
+       file://ldapadduser.template.cgcs \
+       file://ldapaddgroup.template.cgcs \
+       file://ldapmoduser.template.cgcs \
+       file://ldapaddsudo.template.cgcs \
+       file://ldapmodsudo.template.cgcs \
+       file://ldapscripts.passwd \
+"
+
+SOURCE1 = "${WORKDIR}/ldapscripts.conf.cgcs"
+SOURCE2 = "${WORKDIR}/ldapadduser.template.cgcs"
+SOURCE3 = "${WORKDIR}/ldapaddgroup.template.cgcs"
+SOURCE4 = "${WORKDIR}/ldapmoduser.template.cgcs"
+SOURCE5 = "${WORKDIR}/ldapaddsudo.template.cgcs"
+SOURCE6 = "${WORKDIR}/ldapmodsudo.template.cgcs"
+SOURCE7 = "${WORKDIR}/ldapscripts.passwd"
+
+do_configure () {
+       cd ${S}
+       oe_runmake -e configure
+}
+
+do_compile () {
+       :
+}
+
+do_install () {
+       cd ${S}
+       oe_runmake -e DESTDIR=${D} SBINDIR=${sbindir} \
+               MANDIR=${mandir} ETCDIR=${sysconfdir}/ldapscripts \
+               LIBDIR=${libdir} install
+
+       rm -Rf ${D}${mandir}/*
+       rm -f ${D}${sbindir}/*machine*
+       rm -f ${D}${sysconfdir}//ldapscripts/ldapaddmachine.template.sample
+       install -m 644 ${SOURCE1} ${D}${sysconfdir}/ldapscripts/ldapscripts.conf
+       install -m 644 ${SOURCE2} ${D}${sysconfdir}/ldapscripts/ldapadduser.template.cgcs
+       install -m 644 ${SOURCE3} ${D}${sysconfdir}/ldapscripts/ldapaddgroup.template.cgcs
+       install -m 644 ${SOURCE4} ${D}${sysconfdir}/ldapscripts/ldapmoduser.template.cgcs
+       install -m 644 ${SOURCE5} ${D}${sysconfdir}/ldapscripts/ldapaddsudo.template.cgcs
+       install -m 644 ${SOURCE6} ${D}${sysconfdir}/ldapscripts/ldapmodsudo.template.cgcs
+       install -m 600 ${SOURCE7} ${D}${sysconfdir}/ldapscripts/ldapscripts.passwd
+}
+
+FILES_${PN}_append = " ${libdir}/runtime \
+                       ${sysconfdir} \
+"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/mod-wsgi/mod-wsgi_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/mod-wsgi/mod-wsgi_git.bbappend
new file mode 100644 (file)
index 0000000..aaf8609
--- /dev/null
@@ -0,0 +1,4 @@
+
+do_install_append() {
+       sed -i -e 's|${libdir}|${libexecdir}|' ${D}/etc/apache2/modules.d/wsgi.load
+}
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/nss-pam-ldapd/nss-pam-ldapd_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/nss-pam-ldapd/nss-pam-ldapd_%.bbappend
new file mode 100644 (file)
index 0000000..fe46328
--- /dev/null
@@ -0,0 +1,6 @@
+
+inherit useradd
+
+USERADD_PACKAGES = "${PN}"
+
+USERADD_PARAM_${PN} = "-r -g ldap -c 'LDAP Client User' -u 65 -d / -s /sbin/nologin nslcd"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/os-service-types/python2-os-service-types_1.3.0.bb b/meta-starlingx/meta-stx-cloud/recipes-support/os-service-types/python2-os-service-types_1.3.0.bb
new file mode 100644 (file)
index 0000000..a6b6a96
--- /dev/null
@@ -0,0 +1,27 @@
+
+DESCRIPTION = "A library to handle official service types for OpenStack and their historical aliases."
+HOMEPAGE = "https://opendev.org/openstack/os-service-types"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+STABLE = "master"
+PROTOCOL = "https"
+BRANCH = "master"
+SRCREV = "2e5b38088a43539621de82aa2d0c1b366c2638a9"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://opendev.org/openstack/os-service-types.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools 
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+        python-lxml \
+        python-requests \
+        python-cython \
+        "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet/4.8.2/puppet.conf b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/files/puppet/4.8.2/puppet.conf
new file mode 100644 (file)
index 0000000..2b18993
--- /dev/null
@@ -0,0 +1,10 @@
+
+[main]
+logdir=/var/log/puppet
+vardir=/var/lib/puppet
+ssldir=/var/lib/puppet/ssl
+rundir=/var/run/puppet
+factpath=$vardir/lib/facter
+
+[agent]
+server=puppet-server
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-barbican_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-barbican_git.bb
new file mode 100644 (file)
index 0000000..a201e0a
--- /dev/null
@@ -0,0 +1,42 @@
+
+SUMMARY = "Puppet module for OpenStack Barbican"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fce88ac1cd1315adf28a52502c9f7f6b"
+
+RDEPENDS_${PN} += " \
+       puppetlabs-inifile \
+       "
+
+PV = "11.3.0"
+SRCREV = "8241a1d13be6c3ee6344fa46dcfc045439044e76"
+PROTOCOL = "https"
+BRANCH = "stable/pike"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/openstack/puppet-barbican.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppet-barbican/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppet-barbican-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/barbican
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/barbican
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-barbican_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-barbican_git.bbappend
new file mode 100644 (file)
index 0000000..1a2f54b
--- /dev/null
@@ -0,0 +1,7 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/puppet-barbican-fix-the-pkg-and-service-names-for-poky-stx.patch \
+       file://${BPN}/puppet-barbican-do-not-fail-for-poky-stx.patch \
+       "
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-boolean_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-boolean_git.bb
new file mode 100644 (file)
index 0000000..1c27849
--- /dev/null
@@ -0,0 +1,38 @@
+
+DESCRIPTION = "Logical Resource Management (LVM) features for Puppet."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8cbd44f4ffbc81632df22fdd4ae87811"
+
+PV = "1.0.1"
+SRCREV = "22b726dd78b0a60a224cc7054aebbf28e9306f62"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/adrienthebo/puppet-boolean;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       "
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
+
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/boolean
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/boolean/
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-ceph_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-ceph_git.bb
new file mode 100644 (file)
index 0000000..67f3817
--- /dev/null
@@ -0,0 +1,38 @@
+
+SUMMARY = "Community Developed Ceph Module."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5ccf641e613489e66aa98271dbe798"
+
+PV = "2.4.1"
+SRCREV = "ebea4b703d002d64d0b623cc51d42890b187ab97"
+PROTOCOL = "https"
+BRANCH = "stable/jewel"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/openstack/puppet-ceph.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppet-ceph/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppet-ceph-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/ceph
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/ceph
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-ceph_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-ceph_git.bbappend
new file mode 100644 (file)
index 0000000..eabf053
--- /dev/null
@@ -0,0 +1,16 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/0001-Roll-up-TIS-patches.patch \
+       file://${BPN}/0002-Newton-rebase-fixes.patch \
+       file://${BPN}/0003-Ceph-Jewel-rebase.patch \
+       file://${BPN}/0004-US92424-Add-OSD-support-for-persistent-naming.patch \
+       file://${BPN}/0005-Remove-puppetlabs-apt-as-ceph-requirement.patch \
+       file://${BPN}/0006-ceph-disk-prepare-invalid-data-disk-value.patch \
+       file://${BPN}/0007-Add-StarlingX-specific-restart-command-for-Ceph-moni.patch \
+       file://${BPN}/0008-ceph-mimic-prepare-activate-osd.patch \
+       file://${BPN}/0009-fix-ceph-osd-disk-partition-for-nvme-disks.patch \
+       file://${BPN}/0010-wipe-unprepared-disks.patch \
+       file://${BPN}/0011-puppet-ceph-changes-for-poky-stx.patch \
+       "
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-certmonger_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-certmonger_git.bb
new file mode 100644 (file)
index 0000000..6aa7207
--- /dev/null
@@ -0,0 +1,41 @@
+
+SUMMARY = "Deprecated: Use saltedsignal/puppet-certmonger instead."
+DESCRIPTION = " \
+       This puppet module allows you to request and manage certificates using certmonger. \
+       "
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5e8f921d6b978d3605270db1f39e199f"
+
+PV = "1.1.1"
+SRCREV = "1157a7e552d87696e80ed4ab54bf0608a1c5ffff"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/earsdown/puppet-certmonger.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppet-certmonger/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppet-certmonger-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/certmonger
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/certmonger
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-certmonger_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-certmonger_git.bbappend
new file mode 100644 (file)
index 0000000..b77871f
--- /dev/null
@@ -0,0 +1,6 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += "file://${PN}/0001-puppet-certmonger-adjust-path-to-poky-rootfs.patch"
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-collectd_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-collectd_git.bb
new file mode 100644 (file)
index 0000000..efcfe2d
--- /dev/null
@@ -0,0 +1,39 @@
+
+SUMMARY = "Puppet module for configuring collectd and plugins."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=03ff50a0bc4a15eb462d4129e89f9656"
+
+PV = "5.1.0"
+SRCREV = "f5a44db033c7cea9990c405519f70d18fc2b05c0"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/voxpupuli/puppet-collectd;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
+
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/collectd
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/collectd
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-dnsmasq_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-dnsmasq_git.bb
new file mode 100644 (file)
index 0000000..1790a08
--- /dev/null
@@ -0,0 +1,39 @@
+
+DESCRIPTION = "puppet module for dnsmasq"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.md;md5=71e3bfa9ffc5e93324727bbffae917f5"
+
+PV = "1.1.0"
+STABLE = "master"
+PROTOCOL = "https"
+BRANCH = "master"
+SRCREV = "cff07e90890662972c97684a2baee964f68ff3ed"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/netmanagers/puppet-dnsmasq;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       file://${PN}/metadata.json.patch \
+       "
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
+
+do_install_append () {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/dnsmasq
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/dnsmasq/
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-dnsmasq_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-dnsmasq_git.bbappend
new file mode 100644 (file)
index 0000000..43bfb09
--- /dev/null
@@ -0,0 +1,11 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/0001-puppet-dnsmasq-Kilo-quilt-patches.patch;striplevel=5 \
+       file://${BPN}/0002-Fixing-mismatched-permission-on-dnsmasq-conf.patch;striplevel=5 \
+       file://${BPN}/0003-Support-management-of-tftp_max-option.patch;striplevel=5 \
+       file://${BPN}/0004-Enable-clear-DNS-cache-on-reload.patch;striplevel=5 \
+       file://${BPN}/0005-puppet-dnsmasq-updates-for-poky-stx.patch;striplevel=5 \
+       "
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-drbd_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-drbd_git.bb
new file mode 100644 (file)
index 0000000..1ac75bc
--- /dev/null
@@ -0,0 +1,39 @@
+
+DESCRIPTION = "puppet-drbd"
+
+PV = "0.3.1"
+SRCREV = "496b3ba9cd74a2d12636f9e90a718739a5451169"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6089b6bd1f0d807edb8bdfd76da0b038 "
+
+SRC_URI = " \
+       git://github.com/voxpupuli/puppet-drbd;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       "
+inherit ruby 
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/drbd
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/drbd
+}
+
+FILES_${PN} += "${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-drbd_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-drbd_git.bbappend
new file mode 100644 (file)
index 0000000..c89b516
--- /dev/null
@@ -0,0 +1,15 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${PN}/0001-TIS-Patches.patch \
+       file://${PN}/0002-Disable-timeout-for-mkfs-command.patch \
+       file://${PN}/0003-drbd-parallel-to-serial-synchronization.patch \
+       file://${PN}/0004-US-96914-reuse-existing-drbd-cinder-resource.patch \
+       file://${PN}/0005-Add-PausedSync-states-to-acceptable-cstate.patch \
+       file://${PN}/0006-CGTS-7164-Add-resource-options-cpu-mask-to-affine-drbd-kernel-threads.patch \
+       file://${PN}/0007-Add-disk-by-path-test.patch \
+       file://${PN}/0008-CGTS-7953-support-for-new-drbd-resources.patch \
+       file://${PN}/0009-drbd-slow-before-swact.patch \
+       "
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-etcd_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-etcd_git.bb
new file mode 100644 (file)
index 0000000..13edc2b
--- /dev/null
@@ -0,0 +1,38 @@
+
+SUMMARY = "Installs and configures etcd"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+PV = "1.11.0"
+SRCREV = "f43e1292a9554766f799cd5a14b67cc19ce5b00e"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/cristifalcas/puppet-etcd;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppet-etcd/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppet-etcd-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/etcd
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/etcd
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-etcd_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-etcd_git.bbappend
new file mode 100644 (file)
index 0000000..7e77a2f
--- /dev/null
@@ -0,0 +1,6 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/puppet-etcd-changes-for-poky-stx.patch \
+       "
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-filemapper_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-filemapper_git.bb
new file mode 100644 (file)
index 0000000..3f93114
--- /dev/null
@@ -0,0 +1,41 @@
+
+DESCRIPTION = "A Puppet module to map files to resources and back."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b43880e14353cbc12cf3981fb93a0944"
+
+PV = "1.1.3"
+SRCREV = "9b53310278e76827bbe12a36cc6470d77071abb2"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+       git://github.com/adrienthebo/puppet-filemapper;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       file://${PN}/metadata.json.patch \
+       " 
+
+inherit ruby 
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_BUILD_GEMS = "adrien-filemapper.gemspec"
+RUBY_INSTALL_GEMS = "adrien-filemapper-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/filemapper
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/filemapper
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-horizon_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-horizon_git.bb
new file mode 100644 (file)
index 0000000..7d9c061
--- /dev/null
@@ -0,0 +1,44 @@
+
+SUMMARY = "Intended managing the entirety of horizon."
+DESCRIPTION = " \
+       The horizon module is a thorough attempt to make Puppet capable of \
+       managing the entirety of horizon. Horizon is a fairly classic django \
+       application, which results in a fairly simply Puppet module.\
+       "
+
+# HOMEPAGE = "https://github.com/openstack/puppet-horizon"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=12a15a9ebddda7d856c783f745e5ee47"
+
+PV = "11.5.0"
+SRCREV = "d75706e38fdf63f9c3174a526a7d07799390dfeb"
+PROTOCOL = "https"
+BRANCH = "stable/pike"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/openstack/puppet-horizon.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppet-horizon-${PV}.gem"
+
+do_install_append() { 
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/horizon
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/horizon
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-horizon_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-horizon_git.bbappend
new file mode 100644 (file)
index 0000000..3672554
--- /dev/null
@@ -0,0 +1,7 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/0001-Update-memcached-dependency.patch \
+       file://${BPN}/0002-puppet-horizon-changes-for-poky-stx.patch \
+       "
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-keystone_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-keystone_git.bb
new file mode 100644 (file)
index 0000000..81a6fa6
--- /dev/null
@@ -0,0 +1,38 @@
+
+SUMMARY = "Puppet module for OpenStack Keystone"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=12a15a9ebddda7d856c783f745e5ee47"
+
+PV = "11.3.0"
+SRCREV = "305c91cac00f720ad6461b442e71b52b12f9ae57"
+PROTOCOL = "https"
+BRANCH = "stable/pike"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/openstack/puppet-keystone.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppet-keystone/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppet-keystone-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/keystone
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/keystone
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-keystone_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-keystone_git.bbappend
new file mode 100644 (file)
index 0000000..09fe50c
--- /dev/null
@@ -0,0 +1,23 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${PN}/0001-pike-rebase-squash-titanium-patches.patch \
+       file://${PN}/0002-remove-the-Keystone-admin-app.patch \
+       file://${PN}/0003-remove-eventlet_bindhost-from-Keystoneconf.patch \
+       file://${PN}/0004-escape-special-characters-in-bootstrap.patch \
+       file://${PN}/0005-Add-support-for-fernet-receipts.patch \
+       file://${PN}/0007-puppet-keystone-specify-full-path-to-openrc.patch \
+       file://${PN}/0008-params.pp-fix-the-service-name-of-openstack-keystone.patch \
+       "
+
+do_install_append () {
+       # fix the name of python-memcached
+       sed -i -e 's/python-memcache\b/python-memcached/' ${D}/${datadir}/puppet/modules/keystone/manifests/params.pp
+}
+
+RDEPENDS_${PN} += " \
+       python-memcached \
+       python-ldappool \
+       "
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-kmod_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-kmod_git.bb
new file mode 100644 (file)
index 0000000..e3b66ce
--- /dev/null
@@ -0,0 +1,40 @@
+
+SUMMARY = "Manage Linux kernel modules with Puppet"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5ccf641e613489e66aa98271dbe798"
+
+PV = "2.1.0"
+SRCREV = "0d69a96e8d0d3a08da0d5f476c733134df4fb9ee"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/camptocamp/puppet-kmod;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       file://${PN}/persistent-module-load-poky.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_BUILD_GEMS = "camptocamp-kmod.gemspec"
+RUBY_INSTALL_GEMS = "camptocamp-kmod-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/kmod
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/kmod
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-ldap_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-ldap_git.bb
new file mode 100644 (file)
index 0000000..4d5c483
--- /dev/null
@@ -0,0 +1,38 @@
+
+SUMMARY = "OpenLDAP module for Puppet."
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://metadata.json;md5=4244fe391bee02e9ee7259aa7f8dda8b"
+
+PV = "0.2.4"
+SRCREV = "480f13af6d17d1d3fcf0dc7b4bd04b49fa4099e1"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+       git://github.com/torian/puppet-ldap;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppet-ldap/Add-gemspec.patch \
+       "
+inherit ruby 
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/ldap
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/ldap
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-ldap_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-ldap_git.bbappend
new file mode 100644 (file)
index 0000000..2972733
--- /dev/null
@@ -0,0 +1,8 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/0001-puppet-ldap-add-os-poky-stx.patch \
+       file://${BPN}/0002-puppet-ldap-poky-stx-fix-pkg-name.patch \
+       "
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-memcached_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-memcached_git.bb
new file mode 100644 (file)
index 0000000..ec4fdbf
--- /dev/null
@@ -0,0 +1,45 @@
+
+SUMMARY = "Intended managing the entirety of horizon."
+DESCRIPTION = " \
+       The horizon module is a thorough attempt to make Puppet capable of \
+       managing the entirety of horizon. Horizon is a fairly classic django \
+       application, which results in a fairly simply Puppet module.\
+       "
+
+HOMEPAGE = "https://github.com/saz/puppet-memcached.git"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1322039bbc8e3ff4e74252ec65303861"
+
+PV = "3.0.2"
+SRCREV = "c2a0b543dc28f34ab68e905ede3173b00246ddca"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+       git://github.com/saz/puppet-memcached.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppet-memcached/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppet-memcached-${PV}.gem"
+
+do_install_append() { 
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/memcached
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/memcached
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-network_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-network_git.bb
new file mode 100644 (file)
index 0000000..fd324d2
--- /dev/null
@@ -0,0 +1,48 @@
+
+SUMMARY = "A Puppet module to manage non volatile network and route configuration."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b43880e14353cbc12cf3981fb93a0944"
+
+
+PV = "0.5.0"
+SRCREV = "7deacd5fdc22c0543455878a8d1872f2f5417c1d"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+       git://github.com/voxpupuli/puppet-network;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppet-network/Add-gemspec.patch \
+       file://puppet-network/metadata.json.patch \
+       " 
+
+inherit ruby 
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
+
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/network
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/network
+       # Remove broken symlinks for now
+       rm -f ${D}/${libdir}/ruby/gems/2.5.0/gems/puppet-network-0.5.0/spec/fixtures/modules/network/manifests
+       rm -f ${D}/${libdir}/ruby/gems/2.5.0/gems/puppet-network-0.5.0/spec/fixtures/modules/network/templates
+       rm -f ${D}/${libdir}/ruby/gems/2.5.0/gems/puppet-network-0.5.0/spec/fixtures/modules/network/files
+       rm -f ${D}/${libdir}/ruby/gems/2.5.0/gems/puppet-network-0.5.0/spec/fixtures/modules/network/lib
+       rm -f ${D}/${datadir}/puppet/modules/network/spec/fixtures/modules/network/files
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-network_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-network_git.bbappend
new file mode 100644 (file)
index 0000000..5754d05
--- /dev/null
@@ -0,0 +1,24 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/puppet-network-Kilo-quilt-changes.patch;striplevel=5 \
+       file://${BPN}/puppet-network-support-ipv6.patch;striplevel=5 \
+       file://${BPN}/Don-t-write-absent-to-redhat-route-files-and-test-fo.patch;striplevel=5 \
+       file://${BPN}/fix-absent-options.patch;striplevel=5 \
+       file://${BPN}/permit-inservice-update-of-static-routes.patch;striplevel=5 \
+       file://${BPN}/ipv6-static-route-support.patch;striplevel=5 \
+       file://${BPN}/route-options-support.patch;striplevel=5 \
+       file://${BPN}/0001-Stx-uses-puppet-boolean-instead-of-adrien-boolean.patch \
+       file://${BPN}/puppet-network-updates-for-poky-stx.patch \
+       file://${BPN}/puppet-network-config-poky-provider.patch \
+       " 
+
+inherit openssl10
+
+do_configure_append() {
+       rm -f spec/fixtures/modules/network/files
+}
+
+RDEPENDS_${PN} += "\
+       vlan \
+"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-nslcd_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-nslcd_git.bb
new file mode 100644 (file)
index 0000000..f12d551
--- /dev/null
@@ -0,0 +1,40 @@
+
+SUMMARY = "A Puppet module to manage the nslcd daemon which provides authentication via LDAP"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://Modulefile;md5=674f57ad12dfafcf6c3943f34d459ded"
+
+PV = "0.0.1"
+SRCREV = "b8c19b1ada89865f2e50758e054583798ad8011a"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+       git://github.com/jlyheden/puppet-nslcd;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       file://${PN}/metadata.json.patch \
+       " 
+
+inherit ruby 
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/nslcd
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/nslcd
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-nslcd_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-nslcd_git.bbappend
new file mode 100644 (file)
index 0000000..d8ffbe2
--- /dev/null
@@ -0,0 +1,9 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/puppet-nslcd-updates-for-poky-stx.patch \
+       "
+
+RDEPENDS_${PN} += "nss-pam-ldapd"
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-nssdb_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-nssdb_git.bb
new file mode 100644 (file)
index 0000000..c4779b2
--- /dev/null
@@ -0,0 +1,39 @@
+
+SUMMARY = "NSS database Puppet Module"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0409d65ae3bec182108fd45c64bd0ef2"
+
+PV = "1.0.1"
+SRCREV = "2e163a21fb80d828afede2d4be6214f1171c4887"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/rcritten/puppet-nssdb.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       file://${PN}/metadata.json.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppet-nssdb-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/nssdb
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/nssdb
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-openstacklib_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-openstacklib_git.bb
new file mode 100644 (file)
index 0000000..4909402
--- /dev/null
@@ -0,0 +1,38 @@
+
+SUMMARY = "Puppet OpenStack Libraries."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=12a15a9ebddda7d856c783f745e5ee47"
+
+PV = "11.3.0"
+SRCREV = "79a799f5d78667b5eee81e71782e8591f2e62ecc"
+PROTOCOL = "https"
+BRANCH = "stable/pike"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/openstack/puppet-openstacklib.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppet-openstacklib/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppet-openstacklib-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/openstacklib
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/openstacklib
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-openstacklib_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-openstacklib_git.bbappend
new file mode 100644 (file)
index 0000000..2b2d98e
--- /dev/null
@@ -0,0 +1,8 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/0001-Roll-up-TIS-patches.patch \
+       file://${BPN}/0002-puppet-openstacklib-updates-for-poky-stx.patch \
+       "
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-oslo_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-oslo_git.bb
new file mode 100644 (file)
index 0000000..27b9a70
--- /dev/null
@@ -0,0 +1,38 @@
+
+SUMMARY = "The oslo module is a part of OpenStack intended to provide continuous integration testing and code review."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86e96afa80a52eedda5dccc1af36b4f2"
+
+PV = "11.3.0"
+SRCREV = "5ad200e9d8af200a8f50f86a2db4cf3f36ab2a4c"
+PROTOCOL = "https"
+BRANCH = "stable/pike"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/openstack/puppet-oslo.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppet-oslo/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppet-oslo-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/oslo
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/oslo
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-oslo_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-oslo_git.bbappend
new file mode 100644 (file)
index 0000000..db9c263
--- /dev/null
@@ -0,0 +1,15 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://puppet-oslo/0001-Remove-log_dir-from-conf-files.patch \
+       file://puppet-oslo/0002-add-psycopg2-drivername-to-postgresql-settings.patch \
+       "
+
+do_install_append () {
+       # fix the name of python-memcached
+       sed -i -e 's/python-memcache\b/python-memcached/' ${D}/${datadir}/puppet/modules/oslo/manifests/params.pp
+}
+
+RDEPENDS_${PN} += "python-memcached"
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-puppi_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-puppi_git.bb
new file mode 100644 (file)
index 0000000..1f7536d
--- /dev/null
@@ -0,0 +1,43 @@
+
+SUMMARY = "Installs and configures Puppi."
+DESCRIPTION = " \
+       This module provides the Puppi libraries required by Example42 modules and, if explicitely included, the \
+       puppi command, its working environment, the defines and procedures to deploy applications.\
+       "
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a300b604c66de62cf6e923cca89c9d83"
+
+PV = "2.2.3"
+SRCREV = "c1c47f4edfd761d1bbde32a75da0c3fa7cc93a81"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+       git://github.com/example42/puppi;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       " 
+
+inherit ruby 
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/puppi
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/puppi
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-puppi_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-puppi_git.bbappend
new file mode 100644 (file)
index 0000000..d39f937
--- /dev/null
@@ -0,0 +1,8 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/puppet-puppi-updates-for-poky-stx.patch \
+       file://${BPN}/puppet-puppi-adjust-path.patch \
+       "
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-staging_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-staging_git.bb
new file mode 100644 (file)
index 0000000..47d355b
--- /dev/null
@@ -0,0 +1,40 @@
+
+SUMMARY = "Manages staging directory, along with download/extraction of compressed files."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cdbf8d74b765504fbdf8e154bb4458a1"
+
+PV = "1.0.4"
+SRCREV = "bc434a71e19aae54223d57c274e2e1a7f9546d5e"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+       git://github.com/nanliu/puppet-staging;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppet-staging/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_BUILD_GEMS = "nanliu-staging.gemspec"
+RUBY_INSTALL_GEMS = "nanliu-staging-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/staging
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/staging
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-sysctl_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-sysctl_git.bb
new file mode 100644 (file)
index 0000000..919ea67
--- /dev/null
@@ -0,0 +1,39 @@
+
+SUMMARY = "This modules allows you to configure sysctl."
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://README.md;md5=b5335702ab6b120493cf88faaf9be346"
+
+PV = "0.0.11"
+SRCREV = "65ffe839a4ce785bc3901452488197a0ef158cd8"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/duritong/puppet-sysctl;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_BUILD_GEMS = "duritong-sysctl.gemspec"
+RUBY_INSTALL_GEMS = "duritong-sysctl-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/sysctl
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/sysctl
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-vlan_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-vlan_git.bb
new file mode 100644 (file)
index 0000000..084c001
--- /dev/null
@@ -0,0 +1,39 @@
+
+SUMMARY = "Puppet module for OpenStack Barbican"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f05b73a1f91c0e30dece85ed11819aca"
+
+PV = "0.1.0"
+SRCREV = "c937de75c28e63fba8d8738ad6a5f2ede517e53d"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/derekhiggins/puppet-vlan.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       file://${PN}/metadata.json.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/vlan
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/vlan
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-vswitch_%.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet-vswitch_%.bbappend
new file mode 100644 (file)
index 0000000..acd8ac6
--- /dev/null
@@ -0,0 +1,11 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/vswitch
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/vswitch
+}
+
+FILES_${PN} += " ${datadir}"
+
+inherit openssl10
+RDEPENDS_${PN}_append = " perl"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet_4.8.2.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet_4.8.2.bb
new file mode 100644 (file)
index 0000000..154b6f4
--- /dev/null
@@ -0,0 +1,65 @@
+
+SUMMARY = "Open source Puppet is a configuration management system"
+HOMEPAGE = "https://puppetlabs.com/puppet/puppet-open-source"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7c9045ec00cc0d6b6e0e09ee811da4a0"
+
+SRC_URI = " \
+    https://downloads.puppetlabs.com/puppet/puppet-${PV}.tar.gz \
+    file://${BPN}/${PV}/add_puppet_gemspec.patch \
+    file://${BPN}/${PV}/puppet-updates-for-poky-stx.patch \
+    file://${BPN}/${PV}/puppet-poky-dnf.patch \
+    file://${BPN}/${PV}/puppet.conf \
+    file://${BPN}/${PV}/puppet.init \
+    file://${BPN}/${PV}/puppet.service \
+"
+SRC_URI[md5sum] = "095ef8bddd94dd1ee0562a3c816ab05f"
+SRC_URI[sha256sum] = "fc71ca0be64b4b1282e0064b8fbf115c547cb87ca6b209da56e1b9569567404a"
+
+inherit ruby update-rc.d systemd
+inherit openssl10
+
+DEPENDS += " \
+        ruby \
+        facter \
+       libffi \
+"
+
+RDEPENDS_${PN} += " \
+        ruby \
+        facter \
+        ruby-shadow \
+        bash \
+"
+
+RUBY_INSTALL_GEMS = "puppet-${PV}.gem"
+
+INITSCRIPT_NAME = "${BPN}"
+INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ."
+
+SYSTEMD_AUTO_ENABLE = "enable"
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "${BPN}.service"
+
+do_install_append() {
+    install -d ${D}${sysconfdir}/puppet
+    install -d ${D}${sysconfdir}/puppet/manifests
+    install -d ${D}${sysconfdir}/puppet/modules
+
+    install -m 655 ${S}/conf/auth.conf ${D}${sysconfdir}/puppet/
+    install -m 655 ${S}/conf/fileserver.conf ${D}${sysconfdir}/puppet/
+    install -m 655 ${S}/conf/environment.conf ${D}${sysconfdir}/puppet/
+    install -m 655 ${WORKDIR}/${BPN}/${PV}/puppet.conf ${D}${sysconfdir}/puppet/
+
+    install -d ${D}${systemd_unitdir}/system
+    install -m 0644 ${WORKDIR}/${BPN}/${PV}/puppet.service ${D}${systemd_unitdir}/system
+
+    install -d ${D}${sysconfdir}/init.d
+    install -m 0755 ${WORKDIR}/${BPN}/${PV}/puppet.init ${D}${sysconfdir}/init.d/puppet
+
+    # Install puppet environment and moudlepath
+
+    install -m 0755 -d ${D}/${sysconfdir}/puppetlabs/code/environments/production
+    echo "modulepath = /usr/share/puppet/modules:/usr/share/openstack-puppet/modules" >  \
+       ${D}/${sysconfdir}/puppetlabs/code/environments/production/environment.conf
+}
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet_5.4.0.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppet_5.4.0.bbappend
new file mode 100644 (file)
index 0000000..282ff65
--- /dev/null
@@ -0,0 +1,6 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/puppet-updates-for-poky-stx.patch \
+       file://${BPN}/puppet-poky-yum.patch \
+       "
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-apache_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-apache_git.bb
new file mode 100644 (file)
index 0000000..f8b3132
--- /dev/null
@@ -0,0 +1,38 @@
+
+SUMMARY = "Installs, configures, and manages Apache virtual hosts, web services, and modules."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+PV = "1.10.0"
+SRCREV = "410309f5facd0df7d836ea66c27ca9514031b6e3"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/puppetlabs/puppetlabs-apache.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppetlabs-apache-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/apache
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/apache
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-apache_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-apache_git.bbappend
new file mode 100644 (file)
index 0000000..970c49f
--- /dev/null
@@ -0,0 +1,16 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/puppetlabs-apache-updates-for-poky-stx.patch \
+       "
+#SRC_URI += " \
+#      file://${BPN}/0001-maint-Fix-conditional-in-vhost-ssl-template.patch \
+#      file://${BPN}/0002-maint-Fix-the-vhost-ssl-template-correctly-this-time.patch \
+#      "
+
+RDEPENDS_${PN} += " \
+       apache2 \
+       mod-wsgi \
+       "
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-concat_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-concat_git.bb
new file mode 100644 (file)
index 0000000..3e0ad77
--- /dev/null
@@ -0,0 +1,38 @@
+
+DESCRIPTION = "Construct files from multiple fragments."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+PV = "2.2.0"
+SRCREV = "fdf4a84534ccb1b9ae8ffb654c7e160a31e294ee"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/puppetlabs/puppetlabs-concat.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+    file://puppetlabs-concat/Add-gemspec.patch \
+    "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppetlabs-concat-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/concat
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/concat
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-create-resources_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-create-resources_git.bb
new file mode 100644 (file)
index 0000000..7b05ca3
--- /dev/null
@@ -0,0 +1,41 @@
+
+SUMMARY = "Function to dynamically create resources from hashes."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6089b6bd1f0d807edb8bdfd76da0b038 "
+
+PV = "0.0.1"
+STABLE = "master"
+PROTOCOL = "https"
+BRANCH = "master"
+SRCREV = "4639819a7f3a4fa9310d2ba583c63e467df7e2c3"
+S = "${WORKDIR}/git"
+
+
+SRC_URI = " \
+       git://github.com/puppetlabs/puppetlabs-create_resources.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       file://${PN}/metadata.json.patch \
+       "
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
+
+do_install_append () {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/create_resources
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/create_resources
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-firewall_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-firewall_git.bb
new file mode 100644 (file)
index 0000000..cea6628
--- /dev/null
@@ -0,0 +1,38 @@
+
+SUMMARY = "Manages Firewalls such as iptables"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+PV = "1.8.2"
+SRCREV = "23016934d23c5c2f3f3edbc2ec8279f8faac2457"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/puppetlabs/puppetlabs-firewall;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppetlabs-firewall/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppetlabs-firewall-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/firewall
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/firewall
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-firewall_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-firewall_git.bbappend
new file mode 100644 (file)
index 0000000..21e2d1b
--- /dev/null
@@ -0,0 +1,9 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += " \
+       file://${BPN}/puppet-firewall-updates-for-poky-stx.patch \
+       file://${BPN}/puppet-firewall-random-fully-support.patch \
+       "
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-haproxy_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-haproxy_git.bb
new file mode 100644 (file)
index 0000000..632fc9c
--- /dev/null
@@ -0,0 +1,38 @@
+
+SUMMARY = "Configures HAProxy servers and manages the configuration of backend member servers."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+PV = "1.5.0"
+SRCREV = "3ac513c0ceb3bcfe35dd2936875189ccfc991a34"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/puppetlabs/puppetlabs-haproxy;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppetlabs-haproxy/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppetlabs-haproxy-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/haproxy
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/haproxy
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-haproxy_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-haproxy_git.bbappend
new file mode 100644 (file)
index 0000000..7a5e4a0
--- /dev/null
@@ -0,0 +1,10 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://puppetlabs-haproxy/0001-Roll-up-TIS-patches.patch \
+       file://puppetlabs-haproxy/0002-disable-config-validation-prechecks.patch \
+       file://puppetlabs-haproxy/0003-Fix-global_options-log-default-value.patch \
+       file://puppetlabs-haproxy/0004-Stop-invalid-warning-message \
+       "
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-inifile.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-inifile.bb
new file mode 100644 (file)
index 0000000..503835c
--- /dev/null
@@ -0,0 +1,38 @@
+
+SUMMARY = "Resource types for managing settings in INI files"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+PV = "1.6.0"
+SRCREV = "88bf9868b532ddf556bdb617f67eda9de0b8dc0f"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/puppetlabs/puppetlabs-inifile;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppetlabs-inifile/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppetlabs-inifile-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/inifile
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/inifile
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-lvm_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-lvm_git.bb
new file mode 100644 (file)
index 0000000..b961d6f
--- /dev/null
@@ -0,0 +1,39 @@
+
+SUMMARY = "Provides Puppet types and providers to manage Logical Resource Management (LVM) features."
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
+
+PV = "0.5.0"
+SRCREV = "d0283da637ae24550fb4ba109a48ef8d5d8c8b84"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/puppetlabs/puppetlabs-lvm;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       "
+
+inherit ruby 
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
+
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/lvm
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/lvm/
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-lvm_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-lvm_git.bbappend
new file mode 100644 (file)
index 0000000..d5c30a3
--- /dev/null
@@ -0,0 +1,16 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${PN}/0001-puppet-lvm-kilo-quilt-changes.patch;striplevel=5 \
+       file://${PN}/0002-UEFI-pvcreate-fix.patch;striplevel=5 \
+       file://${PN}/0003-US94222-Persistent-Dev-Naming.patch;striplevel=5 \
+       file://${PN}/0004-extendind-nuke_fs_on_resize_failure-functionality.patch;striplevel=5 \
+       file://${PN}/Fix-the-logical-statement-for-nuke_fs_on_resize.patch;striplevel=5 \
+       "
+RDEPENDS_${PN} += " \
+       lvm2 \
+       lvm2-scripts \
+       lvm2-udevrules \
+       "
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-mysql_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-mysql_git.bb
new file mode 100644 (file)
index 0000000..35d7d1e
--- /dev/null
@@ -0,0 +1,39 @@
+
+SUMMARY = "The mysql module installs, configures, and manages the MySQL service."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+PV = "3.11.0"
+SRCREV = "920dd76214d87d9b26f0db105886ee89ac266c4e"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/puppetlabs/puppetlabs-mysql.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+    file://puppetlabs-mysql/Add-gemspec.patch \
+    "
+#   file://puppetlabs-mysql/0001-Fix-ruby-path.patch
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppetlabs-mysql-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/mysql
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/mysql
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-mysql_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-mysql_git.bbappend
new file mode 100644 (file)
index 0000000..00b09c1
--- /dev/null
@@ -0,0 +1,9 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/0001-Stx-uses-nanliu-staging-module.patch \
+       file://${BPN}/0002-puppet-mysql-changes-for-poky-stx.patch \
+       file://${BPN}/0003-puppet-mysqltuner-adjust-path.patch \
+       "
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-postgresql_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-postgresql_git.bb
new file mode 100644 (file)
index 0000000..d8f3527
--- /dev/null
@@ -0,0 +1,38 @@
+
+DESCRIPTION = "A Puppet module for managing PostgreSQL databases."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+PV = "4.8.0"
+SRCREV = "d022a56b28b2174456fc0f6adc51a4b54493afad"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+       git://github.com/puppetlabs/puppetlabs-postgresql;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       "
+
+inherit ruby 
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       "
+
+RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/postgresql
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/postgresql
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-postgresql_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-postgresql_git.bbappend
new file mode 100644 (file)
index 0000000..e9567c0
--- /dev/null
@@ -0,0 +1,35 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+       file://${BPN}/0001-Roll-up-TIS-patches.patch \
+       file://${BPN}/0002-remove-puppetlabs-apt-as-a-requirement.patch \
+       file://${BPN}/0003-puppetlabs-postgresql-account-for-naming-diffs.patch \
+       file://${BPN}/0004-poky-postgresql-updates.patch \
+       file://${BPN}/0005-puppetlabs-postgresql-poky.patch \
+       file://${BPN}/0006-adjust_path-remove-refs-to-local-bin.patch \
+       file://${BPN}/postgresql.service \
+       "
+
+#      file://${PN}/0004-postgresql-service-restart-with-systemctl.patch 
+
+RDEPENDS_${PN}_append = " \
+       postgresql \
+       postgresql-contrib \
+       postgresql-client \
+       postgresql-timezone \
+       postgresql-plperl \
+       postgresql-plpython \
+       "
+#postgresql-dev
+#postgresql-pltcl
+#postgresql-setup
+
+
+do_install_append() {
+       install -d -m0755 ${D}/usr/lib/systemd/system
+       install -m0644 ${WORKDIR}/${PN}/postgresql.service ${D}/usr/lib/systemd/system
+}
+
+FILES_${PN}_append = " /usr/lib/systemd/system/postgresql.service"
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-rabbitmq_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-rabbitmq_git.bb
new file mode 100644 (file)
index 0000000..6fc4a0e
--- /dev/null
@@ -0,0 +1,38 @@
+
+SUMMARY = "Installs, configures, and manages RabbitMQ."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+PV = "5.6.0"
+SRCREV = "5ac45dedd9b409c9efac654724bc74867cb9233b"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/puppetlabs/puppetlabs-rabbitmq;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/Add-gemspec.patch \
+       "
+
+inherit ruby
+
+DEPENDS += " \
+       ruby \
+       facter \
+       "
+
+RDEPENDS_${PN} += " \
+       ruby \
+       facter \
+       puppet \
+       perl \
+       "
+
+RUBY_INSTALL_GEMS = "puppetlabs-rabbitmq-${PV}.gem"
+
+do_install_append() {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/rabbitmq
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/rabbitmq
+}
+
+FILES_${PN} += " ${datadir}"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-rabbitmq_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-rabbitmq_git.bbappend
new file mode 100644 (file)
index 0000000..fc87906
--- /dev/null
@@ -0,0 +1,16 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += " \
+       file://${BPN}/0001-Roll-up-TIS-patches.patch \
+       file://${BPN}/0002-Changed-cipher-specification-to-openssl-format.patch \
+       file://${BPN}/0004-Partially-revert-upstream-commit-f7c3a4a637d59f3065d.patch \
+       file://${BPN}/0005-Remove-the-rabbitmq_nodename-fact.patch \
+       file://${BPN}/0007-init.pp-do-not-check-the-apt-resource.patch \
+       file://${BPN}/0008-puppet-rabbitmq-poky.patch \
+       file://${BPN}/0009-remove-apt-requirement.patch \
+       "
+
+inherit openssl10
+
+DEPENDS_append = " puppet-staging"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-stdlib_git.bbappend b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/puppetlabs-stdlib_git.bbappend
new file mode 100644 (file)
index 0000000..49241a3
--- /dev/null
@@ -0,0 +1,28 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRCREV = "b89d5f388ca701e38a0e0337408f5ccb7e68565f"
+PROTOCOL = "https"
+BRANCH = "master"
+PV = "4.18.0"
+
+SRC_URI = " \
+       git://github.com/puppetlabs/puppetlabs-stdlib.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://puppetlabs-stdlib/Add-gemspec.patch \
+       file://puppetlabs-stdlib/0001-Filter-password-in-logs.patch \
+       "
+
+S = "${WORKDIR}/git"
+
+RUBY_INSTALL_GEMS = "puppetlabs-stdlib-${PV}.gem"
+
+do_install_append () {
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/stdlib
+       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/stdlib
+}
+
+FILES_${PN} += " ${datadir}"
+
+RDEPENDS_${PN}_append = " perl"
diff --git a/meta-starlingx/meta-stx-cloud/recipes-support/puppet/stx-puppet_git.bb b/meta-starlingx/meta-stx-cloud/recipes-support/puppet/stx-puppet_git.bb
new file mode 100644 (file)
index 0000000..3f76a46
--- /dev/null
@@ -0,0 +1,257 @@
+
+DESCRIPTION = "stx-puppet modules"
+
+STABLE = "starlingx/master"
+PROTOCOL = "https"
+SRCNAME = "stx-puppet"
+BRANCH = "r/stx.3.0"
+SRCREV = "678fe78b72b70e213eae32b1932afe97cc8c16b4"
+S = "${WORKDIR}/git"
+PV = "1.0.0"
+
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = " \
+       file://modules/puppet-dcdbsync/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
+       file://modules/puppet-dcmanager/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
+       file://modules/puppet-dcorch/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
+       file://modules/puppet-fm/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
+       file://modules/puppet-mtce/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       file://modules/puppet-nfv/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       file://modules/puppet-patching/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       file://modules/puppet-smapi/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       file://modules/puppet-sshd/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       file://modules/puppet-sysinv/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
+       file://puppet-manifests/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       "
+
+#      file://${BPN}/use-cast-operator.patch 
+SRC_URI = " \
+       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${BPN}/0001-puppet-manifest-apply-rebase-adjust-path.patch \
+       file://${BPN}/0002-puppet-manifests-port-Adjust-path-default-bindir.patch \
+       file://${BPN}/0003-puppet-dcmanager-updates-for-poky-stx.patch \
+       file://${BPN}/0004-puppet-dcorch-updates-for-poky-stx.patch \
+       file://${BPN}/0005-puppet-sysinv-updates-for-poky-stx.patch \
+       file://${BPN}/0006-puppet-manifest-apply-do-not-treat-warnings-as-block.patch \
+       file://${BPN}/0007-puppet-manifests-etcd-override-typo-and-journalctl.patch \
+       file://${BPN}/0008-puppet-manifests-keystone-include-platform-client.patch \
+       file://${BPN}/0009-puppet-manifests-lvm-remove-lvmetad.patch \
+       file://${BPN}/get-boot-device-from-cmdline.patch \
+       file://${BPN}/poky-specific-apply-network-config-script.patch \
+       file://${BPN}/apply_network_config_poky.sh \
+       "
+
+RDEPENDS_${PN} += " \
+       bash puppet \
+       e2fsprogs-resize2fs \
+       hiera \
+       kpartx \
+       multipath-tools \
+       multipath-tools-libs \
+       ntpdate \
+       puppet-staging \
+       puppet-oslo \
+       puppetlabs-apache \
+       puppetlabs-mysql \
+       "
+
+# WRS puppet modules
+RDEPENDS_puppet-manifests += " \
+       puppet-dcorch \
+       puppet-dcmanager \
+       puppet-mtce \
+       puppet-nfv \
+       puppet-patching \
+       puppet-sysinv \
+       puppet-sshd \
+       puppet-smapi \
+       puppet-fm \
+       puppet-dcdbsync \
+       "
+# Openstack puppet modules
+RDEPENDS_puppet-manifests += " \
+       puppet-barbican \
+       puppet-ceph \
+       puppet-horizon \
+       puppet-keystone \
+       puppet-openstacklib \
+       puppet-vswitch \
+       puppet-memcached \
+       "
+
+# Puppetlabs puppet modules 
+RDEPENDS_puppet-manifests += " \
+        puppetlabs-concat \
+        puppetlabs-create-resources \
+        puppet-drbd \
+        puppetlabs-firewall \
+        puppetlabs-haproxy \
+        puppetlabs-inifile \
+        puppetlabs-lvm \
+        puppetlabs-postgresql \
+        puppetlabs-rabbitmq \
+        puppetlabs-stdlib \
+        puppet-sysctl \
+        puppet-etcd \
+       "
+
+# 3rd party puppet modules
+RDEPENDS_puppet-manifests += " \
+        puppet-boolean \
+        puppet-certmonger \
+        puppet-dnsmasq \
+        puppet-filemapper \
+        puppet-kmod \
+        puppet-ldap \
+        puppet-network \
+        puppet-nslcd \
+        puppet-nssdb \
+        puppet-puppi \
+        puppet-vlan \
+        puppet-collectd \
+       "
+
+
+RDEPENDS_puppet-mtce += " puppet"
+RDEPENDS_puppet-dcdbsync += " puppet" 
+RDEPENDS_puppet-dcmanager += " puppet"
+RDEPENDS_puppet-dcorch += " puppet"
+RDEPENDS_puppet-fm += " puppet"
+RDEPENDS_puppet-nfv += " puppet"
+RDEPENDS_puppet-patching += " puppet"
+RDEPENDS_puppet-smapi += " puppet"
+RDEPENDS_puppet-sshd += " puppet"
+RDEPENDS_puppet-sysinv += " puppet"
+
+PACKAGES += " puppet-dcdbsync"
+PACKAGES += " puppet-dcmanager"
+PACKAGES += " puppet-dcorch"
+PACKAGES += " puppet-fm"
+PACKAGES += " puppet-mtce"
+PACKAGES += " puppet-nfv"
+PACKAGES += " puppet-patching"
+PACKAGES += " puppet-smapi"
+PACKAGES += " puppet-sshd"
+PACKAGES += " puppet-sysinv"
+PACKAGES += " puppet-manifests"
+
+do_install() {
+
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/dcdbsync
+       cp -R ${S}/modules/puppet-dcdbsync/src/dcdbsync ${D}/${datadir}/puppet/modules
+
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/dcmanager
+       cp -R ${S}/modules/puppet-dcmanager/src/dcmanager ${D}/${datadir}/puppet/modules
+
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/dcorch
+       cp -R ${S}/modules/puppet-dcorch/src/dcorch/ ${D}/${datadir}/puppet/modules/
+
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/fm
+       cp -R ${S}/modules/puppet-fm/src/fm ${D}/${datadir}/puppet/modules
+
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/mtce
+       cp -R ${S}/modules/puppet-mtce/src/mtce ${D}/${datadir}/puppet/modules
+
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/nfv
+       cp -R ${S}/modules/puppet-nfv/src/nfv ${D}/${datadir}/puppet/modules
+
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/patching
+       cp -R ${S}/modules/puppet-patching/src/patching ${D}/${datadir}/puppet/modules
+
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/smapi
+       cp -R ${S}/modules/puppet-smapi/src/smapi ${D}/${datadir}/puppet/modules
+
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/sshd
+       cp -R ${S}/modules/puppet-sshd/src/sshd ${D}/${datadir}/puppet/modules
+
+       install -d -m 0755 ${D}/${datadir}/puppet/modules/sysinv
+       cp -R ${S}/modules/puppet-sysinv/src/sysinv ${D}/${datadir}/puppet/modules
+
+       cd ${S}/puppet-manifests/src
+       oe_runmake BINDIR=${D}/${bindir} \
+               CONFIGDIR=${D}/${sysconfdir}/puppet/ \
+               MODULEDIR=${D}/${datadir}/puppet/modules -f Makefile install
+
+       # fix the path for systemctl
+       sed -i -e 's|${bindir}/systemctl|${base_bindir}/systemctl|' ${D}/${datadir}/puppet/modules/platform/manifests/*.pp
+       sed -i -e 's|${bindir}|${bindir}:${base_bindir}|' ${D}/${datadir}/puppet/modules/sysinv/manifests/api.pp
+
+       # fix the path for mount and awk
+       sed -i -e 's|${bindir}|${bindir}:${base_bindir}|' ${D}/${datadir}/puppet/modules/platform/manifests/filesystem.pp
+
+       # fix the path for slapd.conf
+       sed -i -e '/\/usr\/lib64\/openldap/d' ${D}/${datadir}/puppet/modules/platform/manifests/ldap.pp
+
+       # fix the libdir for collectd
+       sed -i -e 's|/usr/lib64|${libdir}|' ${D}/${datadir}/puppet/modules/platform/templates/collectd.conf.erb
+
+       install -m 0755 ${WORKDIR}/${PN}/apply_network_config_poky.sh  ${D}/${bindir}/apply_network_config_poky.sh
+}
+
+FILES_puppet-sysinv += " \
+       ${datadir}/puppet/modules/sysinv \
+       "
+
+FILES_puppet-sshd += " \
+       ${datadir}/puppet/modules/sshd \
+       "
+
+FILES_puppet-smapi += " \
+       ${datadir}/puppet/modules/smapi \
+       "
+FILES_puppet-patching += " \
+       ${datadir}/puppet/modules/patching \
+       "
+
+FILES_puppet-nfv += " \
+       ${datadir}/puppet/modules/nfv \
+       "
+
+FILES_puppet-mtce = "\
+       ${datadir}/puppet/modules/mtce \
+       "
+
+FILES_puppet-manifests = "\
+       ${sysconfdir}/puppet/hiera.yaml \
+       ${sysconfdir}/puppet/hieradata \
+       ${sysconfdir}/puppet/hieradata/worker.yaml \
+       ${sysconfdir}/puppet/hieradata/storage.yaml \
+       ${sysconfdir}/puppet/hieradata/global.yaml \
+       ${sysconfdir}/puppet/hieradata/controller.yaml \
+       ${sysconfdir}/puppet/manifests/worker.pp \
+       ${sysconfdir}/puppet/manifests/ansible_bootstrap.pp \
+       ${sysconfdir}/puppet/manifests/bootstrap.pp \
+       ${sysconfdir}/puppet/manifests/runtime.pp \
+       ${sysconfdir}/puppet/manifests/storage.pp \
+       ${sysconfdir}/puppet/manifests/upgrade.pp \
+       ${sysconfdir}/puppet/manifests/controller.pp \
+       ${datadir}/puppet/modules/openstack/manifests \
+       ${datadir}/puppet/modules/openstack/templates \
+       ${datadir}/puppet/modules/platform/manifests \
+       ${datadir}/puppet/modules/platform/templates \
+       ${datadir}/puppet/modules/platform/files \
+       ${datadir}/puppet/modules/platform/lib/facter \
+       ${datadir}/puppet/modules/platform/lib/puppet \
+       ${bindir}/puppet-manifest-apply.sh \
+       ${bindir}/apply_network_config.sh \
+       ${bindir}/apply_network_config_poky.sh \
+       "
+FILES_puppet-fm += " \
+       ${datadir}/puppet/modules/fm \
+       "
+
+FILES_puppet-dcorch += " \
+       ${datadir}/puppet/modules/dcorch \
+       "
+
+FILES_puppet-dcmanager += " \
+       ${datadir}/puppet/modules/dcmanager \
+       "
+
+FILES_puppet-dcdbsync += " \
+       ${datadir}/puppet/modules/dcdbsync \
+       "
+
+inherit openssl10
diff --git a/meta-starlingx/meta-stx-distro/classes/extrausers-config.bbclass b/meta-starlingx/meta-stx-distro/classes/extrausers-config.bbclass
new file mode 100644 (file)
index 0000000..ff5e249
--- /dev/null
@@ -0,0 +1,23 @@
+
+# This bbclass creates users based on EXTRA_USER_PARAMS through
+# extrausers bbclass and is intended to take config options for 
+# configuring users uniq environment.
+
+inherit extrausers
+
+
+PACKAGE_INSTALL_append = " ${@['', 'base-passwd shadow'][bool(d.getVar('EXTRA_USERS_PARAMS_CONFIG'))]}"
+
+ROOTFS_POSTPROCESS_COMMAND_append = " set_user_group_config;"
+
+set_user_group_config () {
+
+# FIXME: parse EXTRA_USERS_PARAMS_CONFIG for options
+       
+       EXTRA_USERS_PARAMS=" ${EXTRA_USERS_PARAMS_CONFIG}"
+       set_user_group
+
+       #Extend path variable for sysadmin
+       echo 'PATH=/sbin:/usr/sbin:$PATH' >> ${IMAGE_ROOTFS}/home/sysadmin/.bashrc
+       chown sysadmin:sys_protected ${IMAGE_ROOTFS}/home/sysadmin/.bashrc
+}
diff --git a/meta-starlingx/meta-stx-distro/classes/openssl10.bbclass b/meta-starlingx/meta-stx-distro/classes/openssl10.bbclass
new file mode 100644 (file)
index 0000000..921051d
--- /dev/null
@@ -0,0 +1,31 @@
+
+python __anonymous() {
+   if bb.utils.contains('DEPENDS', 'openssl', True, False, d) or \
+      bb.utils.contains('DEPENDS', 'openssl-native', True, False, d):
+          d.setVar('DEPENDS', d.getVar('DEPENDS').replace('openssl', 'openssl10'))
+          d.setVar('DEPENDS', d.getVar('DEPENDS').replace('openssl-native', 'openssl10-native'))
+}
+
+
+python do_ssl10_mk_symlink() {
+
+    import shutil
+    l = d.getVar("STAGING_INCDIR") + "/openssl"
+
+    if os.path.islink(l):
+        os.unlink(l)
+    elif os.path.isdir(l):
+        shutil.rmtree(l)
+
+    os.symlink("openssl10/openssl",l)
+
+    l = d.getVar("STAGING_LIBDIR")
+    if os.path.islink(l + "/libssl.so"):
+        os.unlink(l + "/libssl.so")
+        os.unlink(l + "/libcrypto.so")
+
+    os.symlink("libssl.so.1.0.2", l + "/libssl.so")
+    os.symlink("libcrypto.so.1.0.2", l + "/libcrypto.so")
+}
+
+addtask ssl10_mk_symlink before do_configure after do_prepare_recipe_sysroot
diff --git a/meta-starlingx/meta-stx-distro/classes/python-backports-init.bbclass b/meta-starlingx/meta-stx-distro/classes/python-backports-init.bbclass
new file mode 100644 (file)
index 0000000..eba5ec3
--- /dev/null
@@ -0,0 +1,8 @@
+
+inherit python-dir
+
+RDEPENDS_${PN} += "python-backports-init"
+
+do_install_prepend() {
+    rm -rf $(find . -path "*/backports/__init__.py" -type f)
+}
diff --git a/meta-starlingx/meta-stx-distro/classes/stx-anaconda-image.bbclass b/meta-starlingx/meta-stx-distro/classes/stx-anaconda-image.bbclass
new file mode 100644 (file)
index 0000000..4a1e68d
--- /dev/null
@@ -0,0 +1,397 @@
+
+RPM_POSTPROCESS_COMMANDS_append = "wrl_installer;"
+do_rootfs[vardeps] += "INSTALLER_TARGET_BUILD INSTALLER_TARGET_IMAGE"
+
+# Fix system-shutdown hang at ratelimiting
+APPEND_append = " printk.devkmsg=on"
+
+INSTPRODUCT ?= "${DISTRO_NAME}"
+INSTVER     ?= "${DISTRO_VERSION}"
+INSTBUGURL  ?= "http://www.windriver.com/"
+
+# NOTE: Please update anaconda-init when you change INSTALLER_CONFDIR, use "="
+#       but not "?=" since this is not configurable.
+INSTALLER_CONFDIR = "${IMAGE_ROOTFS}/installer-config"
+KICKSTART_FILE ??= ""
+KICKSTART_FILE_EXTRA ??= ""
+WRL_INSTALLER_CONF ?= ""
+
+# Extra packages that will be added in the rpm repo in anaconda installer ISO image
+REPO_EXTRA_PKG = "\
+    xfsprogs-* \
+    glibc-binary-localedata-* \
+"
+
+build_iso_prepend() {
+       install -d ${ISODIR}
+       ln -snf /.discinfo ${ISODIR}/.discinfo
+       ln -snf /.buildstamp ${ISODIR}/.buildstamp
+       ln -snf /Packages ${ISODIR}/Packages
+}
+
+build_iso_append() {
+       implantisomd5 ${IMGDEPLOYDIR}/${IMAGE_NAME}.iso
+}
+
+# Check WRL_INSTALLER_CONF and copy it to
+# ${IMAGE_ROOTFS}/.buildstamp.$prj_name when exists
+wrl_installer_copy_buildstamp() {
+    prj_name=$1
+    buildstamp=$2
+    if [ -f $buildstamp ]; then
+        bbnote "Using $buildstamp as the buildstamp"
+        cp $buildstamp ${IMAGE_ROOTFS}/.buildstamp.$prj_name
+    else
+        bbfatal "Can't find WRL_INSTALLER_CONF: $buildstamp"
+    fi
+}
+
+# Hardlink when possible, otherwise copy.
+# $1: src
+# $2: target
+wrl_installer_hardlinktree() {
+    src_dev="`stat -c %d $1`"
+    if [ -e "$2" ]; then
+        tgt_dev="`stat -c %d $2`"
+    else
+        tgt_dev="`stat -c %d $(dirname $2)`"
+    fi
+    hdlink=""
+    if [ "$src_dev" = "$tgt_dev" ]; then
+        hdlink="--link"
+    fi
+    cp -rvf $hdlink $1 $2
+}
+
+wrl_installer_copy_local_repos() {
+    deploy_dir_rpm=$1
+    target_build="$2"
+    target_image="$3"
+
+    target_image_input_pkglist=$(sed -n 's/^IMAGE_LIST="\(.*\)"/\1/p' ${target_build}/installersupport_${target_image})
+    if [ ! -f ${target_image_input_pkglist} ]; then
+        bberror "The target image pkglist '${target_image_input_pkglist}' doesn't exist!"
+    fi
+
+    target_image_output_pkglist="${IMGDEPLOYDIR}/${IMAGE_NAME}.${target_image}.pkglist"
+    target_image_output_pkglist_link="${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${target_image}.pkglist"
+
+
+    if [ -d "$deploy_dir_rpm" ]; then
+        echo "Copy rpms from target build to installer image."
+        mkdir -p ${IMAGE_ROOTFS}/Packages.$prj_name
+
+        : > ${IMAGE_ROOTFS}/Packages.$prj_name/.treeinfo
+        echo "[general]" >> ${IMAGE_ROOTFS}/Packages.$prj_name/.treeinfo
+        echo "version = ${DISTRO_VERSION}" >> ${IMAGE_ROOTFS}/Packages.$prj_name/.treeinfo
+
+        # Determine the max channel priority
+        channel_priority=5
+        for pt in $installer_target_archs ; do
+            channel_priority=$(expr $channel_priority + 5)
+        done
+
+        : > ${IMAGE_ROOTFS}/Packages.$prj_name/.feedpriority
+        for arch in $installer_target_archs; do
+            if [ -d "$deploy_dir_rpm/"$arch -a ! -d "${IMAGE_ROOTFS}/Packages.$prj_name/"$arch ]; then
+                channel_priority=$(expr $channel_priority - 5)
+                echo "$channel_priority $arch" >> ${IMAGE_ROOTFS}/Packages.$prj_name/.feedpriority
+            fi
+        done
+
+        cd ${deploy_dir_rpm}
+        set -x
+        # Add the packages in target image pkglist
+        cat ${target_image_input_pkglist} > ${target_image_output_pkglist}.tmp
+
+        # Add the extra packages required by anaconda
+        for pkgs in ${REPO_EXTRA_PKG}; do
+            pkg_files=$(find . -type f -name ${pkgs})
+            if [ -z "${pkg_files}" ]; then
+                bbwarn "Package ${pkgs} not found, please check if there is anything wrong or just remove it from the list."
+            else
+                for pkg_file in ${pkg_files}; do
+                    basename ${pkg_file} >> ${target_image_output_pkglist}.tmp
+                done
+            fi
+        done
+
+        cat ${target_image_output_pkglist}.tmp|sort|uniq > ${target_image_output_pkglist}
+        ln -s ${IMAGE_NAME}.${target_image}.pkglist ${target_image_output_pkglist_link}
+        rm -f ${target_image_output_pkglist}.tmp
+
+        for pkg in $(cat ${target_image_output_pkglist}); do
+            pkg_file=$(find . -type f -name ${pkg})
+            if [ -z "${pkg_file}" ]; then
+                bbwarn "Package ${pkg} not found, please check if there is anything wrong or just remove it from the list."
+            else
+                cp --parents -vf ${pkg_file} ${IMAGE_ROOTFS}/Packages.$prj_name/
+            fi
+        done
+        cd -
+
+        createrepo_c --update -q ${IMAGE_ROOTFS}/Packages.$prj_name/
+    fi
+}
+
+# Update .buildstamp and copy rpm packages to IMAGE_ROOTFS
+wrl_installer_copy_pkgs() {
+
+    target_build="$1"
+    target_image="$2"
+    prj_name="$3"
+    if [ -n "$4" ]; then
+        installer_conf="$4"
+    else
+        installer_conf=""
+    fi
+
+    common_grep="-e '^ALL_MULTILIB_PACKAGE_ARCHS=.*' \
+            -e '^MULTILIB_VARIANTS=.*' -e '^PACKAGE_ARCHS=.*'\
+            -e '^PACKAGE_ARCH=.*' -e '^PACKAGE_INSTALL_ATTEMPTONLY=.*' \
+            -e '^DISTRO=.*' -e '^DISTRO_NAME=.*' -e '^DISTRO_VERSION=.*' \
+            "
+
+    if [ -f "$installer_conf" ]; then
+        eval "grep -e \"^PACKAGE_INSTALL=.*\" $common_grep $installer_conf \
+            | sed -e 's/=/=\"/' -e 's/$/\"/' > ${BB_LOGFILE}.distro_vals"
+
+        eval "cat $target_build/installersupport_$target_image | \
+            grep -e '^WORKDIR=.*' >> ${BB_LOGFILE}.distro_vals"
+
+        eval `cat ${BB_LOGFILE}.distro_vals`
+        if [ $? -ne 0 ]; then
+            bbfatal "Something is wrong in $installer_conf, please correct it"
+        fi
+        if [ -z "$PACKAGE_ARCHS" -o -z "$PACKAGE_INSTALL" ]; then
+            bbfatal "PACKAGE_ARCHS or PACKAGE_INSTALL is null, please check $installer_conf"
+        fi
+    else
+        eval "cat $target_build/installersupport_$target_image | \
+            grep $common_grep -e '^PN=.*' -e '^SUMMARY=.*' -e '^WORKDIR=.*'\
+            -e '^DESCRIPTION=.*' -e '^export PACKAGE_INSTALL=.*' > ${BB_LOGFILE}.distro_vals"
+
+        eval `cat ${BB_LOGFILE}.distro_vals`
+    fi
+
+    export installer_default_arch="$PACKAGE_ARCH"
+    # Reverse it for priority
+    export installer_default_archs="`for arch in $PACKAGE_ARCHS; do echo $arch; done | tac | tr - _`"
+    installer_target_archs="$installer_default_archs"
+    if [ -n "$MULTILIB_VARIANTS" ]; then
+        export MULTILIB_VARIANTS
+        mlarchs_reversed="`for mlarch in $ALL_MULTILIB_PACKAGE_ARCHS; do echo $mlarch; \
+            done | tac | tr - _`"
+        for arch in $mlarchs_reversed; do
+            if [ "$arch" != "noarch" -a "$arch" != "all" -a "$arch" != "any" ]; then
+                installer_target_archs="$installer_target_archs $arch"
+            fi
+        done
+    fi
+    export installer_target_archs
+
+    # Save the vars to .buildstamp when no installer_conf
+    if [ ! -f "$installer_conf" ]; then
+        cat >> ${IMAGE_ROOTFS}/.buildstamp.$prj_name <<_EOF
+DISTRO=$DISTRO
+DISTRO_NAME=$DISTRO_NAME
+DISTRO_VERSION=$DISTRO_VERSION
+
+[Rootfs]
+LIST=$PN
+
+[$PN]
+SUMMARY=$SUMMARY
+DESCRIPTION=$DESCRIPTION
+
+PACKAGE_INSTALL=$PACKAGE_INSTALL
+PACKAGE_INSTALL_ATTEMPTONLY=$PACKAGE_INSTALL_ATTEMPTONLY
+ALL_MULTILIB_PACKAGE_ARCHS=$ALL_MULTILIB_PACKAGE_ARCHS
+MULTILIB_VARIANTS=$MULTILIB_VARIANTS
+PACKAGE_ARCHS=$PACKAGE_ARCHS
+PACKAGE_ARCH=$PACKAGE_ARCH
+IMAGE_LINGUAS=${IMAGE_LINGUAS}
+_EOF
+    fi
+
+    if [ -d "$WORKDIR/oe-rootfs-repo/rpm" ]; then
+        # Copy local repos while the image is not initramfs
+        bpn=${BPN}
+        if [ "${bpn##*initramfs}" = "${bpn%%initramfs*}" ]; then
+            wrl_installer_copy_local_repos $WORKDIR/oe-rootfs-repo/rpm $target_build $target_image
+        fi
+        echo "$DISTRO::$prj_name::$DISTRO_NAME::$DISTRO_VERSION" >> ${IMAGE_ROOTFS}/.target_build_list
+    fi
+}
+
+wrl_installer_get_count() {
+    sum=0
+    for i in $*; do
+        sum=$(expr $sum + 1)
+    done
+    echo $sum
+}
+
+wrl_installer[vardepsexclude] = "DATETIME"
+wrl_installer() {
+    cat >${IMAGE_ROOTFS}/.discinfo <<_EOF
+${DATETIME}
+${DISTRO_NAME} ${DISTRO_VERSION}
+${TARGET_ARCH}
+_EOF
+
+    : > ${IMAGE_ROOTFS}/.target_build_list
+    counter=0
+    targetimage_counter=0
+    for target_build in ${INSTALLER_TARGET_BUILD}; do
+        target_build="`readlink -f $target_build`"
+        echo "Installer Target Build: $target_build"
+        counter=$(expr $counter + 1)
+        prj_name="`echo $target_build | sed -e 's#/ *$##g' -e 's#.*/##'`"
+        prj_name="$prj_name-$counter"
+
+           # Generate .buildstamp
+           if [ -n "${WRL_INSTALLER_CONF}" ]; then
+               installer_conf="`echo ${WRL_INSTALLER_CONF} | awk '{print $'"$counter"'}'`"
+               wrl_installer_copy_buildstamp $prj_name $installer_conf
+           else
+               cat >${IMAGE_ROOTFS}/.buildstamp.$prj_name <<_EOF
+[Main]
+Product=${INSTPRODUCT}
+Version=${INSTVER}
+BugURL=${INSTBUGURL}
+IsFinal=True
+UUID=${DATETIME}.${TARGET_ARCH}
+_EOF
+           fi
+
+           if [ -f "$target_build" ]; then
+               filename=$(basename "$target_build")
+               extension="${filename##*.}"
+               bpn=${BPN}
+               # Do not copy image for initramfs
+               if [ "${bpn##*initramfs}" != "${bpn%%initramfs*}" ]; then
+                   continue
+               elif [ "x$extension" = "xext2" -o "x$extension" = "xext3" -o "x$extension" = "xext4" ]; then
+                   echo "Image based target install selected."
+                   mkdir -p "${IMAGE_ROOTFS}/LiveOS.$prj_name"
+                   wrl_installer_hardlinktree "$target_build" "${IMAGE_ROOTFS}/LiveOS.$prj_name/rootfs.img"
+                   echo "::$prj_name::" >> ${IMAGE_ROOTFS}/.target_build_list
+               else
+                   bberror "Unsupported image: $target_build."
+                   bberror "The image must be ext2, ext3 or ext4"
+                   exit 1
+               fi
+           elif [ -d "$target_build" ]; then
+               targetimage_counter=$(expr $targetimage_counter + 1)
+               target_image="`echo ${INSTALLER_TARGET_IMAGE} | awk '{print $'"$targetimage_counter"'}'`"
+               echo "Target Image: $target_image"
+               wrl_installer_copy_pkgs $target_build $target_image $prj_name $installer_conf
+           else
+               bberror "Invalid configuration of INSTALLER_TARGET_BUILD: $target_build."
+               bberror "It must either point to an image (ext2, ext3 or ext4) or to the root of another build directory"
+               exit 1
+           fi
+
+           ks_cfg="${INSTALLER_CONFDIR}/ks.cfg.$prj_name"
+           if [ -n "${KICKSTART_FILE}" ]; then
+               ks_file="`echo ${KICKSTART_FILE} | awk '{print $'"$counter"'}'`"
+               bbnote "Copying kickstart file $ks_file to $ks_cfg ..."
+               mkdir -p ${INSTALLER_CONFDIR}
+               cp $ks_file $ks_cfg
+           fi
+           if [ -n "${KICKSTART_FILE_EXTRA}" ]; then
+               for ks_file in ${KICKSTART_FILE_EXTRA}; do
+                   if [ -f $ks_file ]; then
+                       cp $ks_file ${INSTALLER_CONFDIR}
+                   else
+                       bbwarn "The kickstart file $ks_file in KICKSTART_FILE_EXTRA doesn't exist!"
+                   fi
+               done
+           fi
+    done
+
+    # Setup the symlink if only one target build dir.
+    if [ "$counter" = "1" ]; then
+        prj_name="`awk -F:: '{print $2}' ${IMAGE_ROOTFS}/.target_build_list`"
+        entries=".buildstamp LiveOS Packages installer-config/ks.cfg"
+        for i in $entries; do
+            if [ -e ${IMAGE_ROOTFS}/$i.$prj_name ]; then
+                ln -sf `basename $i.$prj_name` ${IMAGE_ROOTFS}/$i
+            fi
+        done
+    fi
+}
+
+python __anonymous() {
+    if "selinux" in d.getVar("DISTRO_FEATURES", True).split():
+        raise bb.parse.SkipPackage("Unable to build the installer when selinux is enabled.")
+
+    if bb.data.inherits_class('image', d):
+        if d.getVar("DISTRO", True) != "anaconda":
+            raise bb.parse.SkipPackage("Set DISTRO = 'anaconda' in local.conf")
+
+        target_builds = d.getVar('INSTALLER_TARGET_BUILD', True)
+        if not target_builds:
+            errmsg = "No INSTALLER_TARGET_BUILD is found,\n"
+            errmsg += "set INSTALLER_TARGET_BUILD = '<target-build-topdir>' and\n"
+            errmsg += "INSTALLER_TARGET_IMAGE = '<target-image-pn>' to do RPMs\n"
+            errmsg += "install, or\n"
+            errmsg += "set INSTALLER_TARGET_BUILD = '<target-build-image>' to do\n"
+            errmsg += "image copy install"
+            raise bb.parse.SkipPackage(errmsg)
+
+        count = 0
+        for target_build in target_builds.split():
+            if not os.path.exists(target_build):
+                raise bb.parse.SkipPackage("The %s of INSTALLER_TARGET_BUILD does not exist" % target_build)
+
+            if os.path.isdir(target_build):
+                count += 1
+
+        # While do package management install
+        if count > 0:
+            target_images = d.getVar('INSTALLER_TARGET_IMAGE', True)
+            if not target_images:
+                errmsg = "The INSTALLER_TARGET_BUILD is a dir, but not found INSTALLER_TARGET_IMAGE,\n"
+                errmsg += "set INSTALLER_TARGET_IMAGE = '<target-image-pn>' to do RPMs install"
+                raise bb.parse.SkipPackage(errmsg)
+
+            elif count != len(target_images.split()):
+                errmsg = "The INSTALLER_TARGET_BUILD has %s build dirs: %s\n" % (count, target_builds)
+                errmsg += "But INSTALLER_TARGET_IMAGE has %s build images: %s\n" % (len(target_images.split()), target_images)
+                raise bb.parse.SkipPackage(errmsg)
+
+        # The count of INSTALLER_TARGET_BUILD and WRL_INSTALLER_CONF must match when set.
+        wrlinstaller_confs = d.getVar('WRL_INSTALLER_CONF', True)
+        if wrlinstaller_confs:
+            if len(wrlinstaller_confs.split()) != len(target_builds.split()):
+                raise bb.parse.SkipPackage("The count of INSTALLER_TARGET_BUILD and WRL_INSTALLER_CONF not match!")
+            for wrlinstaller_conf in wrlinstaller_confs.split():
+                if not os.path.exists(wrlinstaller_conf):
+                    raise bb.parse.SkipPackage("The installer conf %s in WRL_INSTALLER_CONF doesn't exist!" % wrlinstaller_conf)
+
+        # The count of INSTALLER_TARGET_BUILD and KICKSTART_FILE must match when set.
+        kickstart_files = d.getVar('KICKSTART_FILE', True)
+        if kickstart_files:
+            if len(kickstart_files.split()) != len(target_builds.split()):
+                raise bb.parse.SkipPackage("The count of INSTALLER_TARGET_BUILD and KICKSTART_FILE not match!")
+            for kickstart_file in kickstart_files.split():
+                if not os.path.exists(kickstart_file):
+                    bb.warn("The kickstart file %s in KICKSTART_FILE doesn't exist!" % kickstart_file)
+
+}
+
+python build_syslinux_cfg () {
+    import copy
+    import sys
+
+    workdir = d.getVar('WORKDIR')
+    if not workdir:
+        bb.error("WORKDIR not defined, unable to package")
+        return
+
+    cfile = d.getVar('SYSLINUX_CFG')
+    if not cfile:
+        bb.fatal('Unable to read SYSLINUX_CFG')
+}
diff --git a/meta-starlingx/meta-stx-distro/classes/stx-postrun.bbclass b/meta-starlingx/meta-stx-distro/classes/stx-postrun.bbclass
new file mode 100644 (file)
index 0000000..7ba9cd3
--- /dev/null
@@ -0,0 +1,16 @@
+
+# This class is intended to include workarounds and finetuning of the rootfs
+# Most of the stuff in here needs to go else where.
+
+ROOTFS_POSTPROCESS_COMMAND_append = " stx_postprocess_rootfs;"
+# ETHDEV = "enp0s5"
+
+stx_postprocess_rootfs() {
+
+       # Issue: #83 /dev/root does not exist
+       # This workaround is to be removed once initramfs is added
+
+       cat > ${IMAGE_ROOTFS}/etc/udev/rules.d/99-dev-root-symlink.rules << \EOF
+KERNEL=="sda3", SYMLINK+="root"
+EOF
+}
diff --git a/meta-starlingx/meta-stx-distro/conf/distro/include/stx-features.inc b/meta-starlingx/meta-stx-distro/conf/distro/include/stx-features.inc
new file mode 100644 (file)
index 0000000..c7d37fc
--- /dev/null
@@ -0,0 +1,59 @@
+
+EXTRA_IMAGE_FEATURES += " empty-root-password"
+EXTRA_IMAGE_FEATURES += " allow-empty-password"
+EXTRA_IMAGE_FEATURES += " allow-root-login"
+
+#Systemd system
+VIRTUAL-RUNTIME_init_manager = "systemd"
+DISTRO_FEATURES_NATIVE_append = "systemd"
+DISTRO_FEATURES_append = " systemd"
+DISTRO_FEATURES_BACKFILL_CONSIDERED_append = "sysvinit"
+
+#Security
+# INITRAMFS_IMAGE = "secure-core-image-initramfs"
+# DISTRO_FEATURES_append = " selinux"
+#DISTRO_FEATURES_NATIVE_append = "ima tpm tpm2 efi-secure-boot luks"
+#DISTRO_FEATURES_append += "ima tpm tpm2 efi-secure-boot luks modsign"
+#MACHINE_FEATURES_NATIVE_append = "efi"
+#MACHINE_FEATURES_append = "efi"
+#INITRAMFS_SCRIPTS = "initramfs-live-boot \
+#                     initramfs-live-install \
+#                    initramfs-live-install-efi \
+#                    "
+
+#SECURE_CORE_IMAGE_EXTRA_INSTALL ?= "\
+#    packagegroup-efi-secure-boot \
+#    packagegroup-tpm \
+#    packagegroup-tpm2 \
+#    packagegroup-ima \
+#    packagegroup-luks \
+#    "
+
+
+# virtualization and cloud stuff
+DISTRO_FEATURES_append = " virtualization"
+DISTRO_FEATURES_append = " kvm"
+DISTRO_FEATURES_append = " openstack"
+PREFERRED_PROVIDER_virtual/containerd = "containerd-opencontainers"
+
+# packagegroup-base-zeroconf depends on libnss-mdns which breaks
+# the dns resolution for StarlingX
+DISTRO_FEATURES_remove = "zeroconf"
+
+#Graphics and misc
+#DISTRO_FEATURES_append = " x11 opengl"
+#EXTRA_IMAGE_FEATURES_append = " x11-base"
+#VIRTUAL-RUNTIME_graphical_init_manager = "lxdm"
+
+PACKAGE_CLASSES = "package_rpm"
+DISTRO_FEATURES_append = " bluez pam largefile opengl"
+
+#misc
+PREFERRED_PROVIDER_virtual/containerd = "containerd-opencontainers"
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
+
+VIRTUAL-RUNTIME_syslog = "syslog-ng"
+VIRTUAL-RUNTIME_vim = "vim"
+
+DISTRO_FEATURES_append = " selinux"
+PREFERRED_PROVIDER_virtual/refpolicy ?= "refpolicy-mls"
diff --git a/meta-starlingx/meta-stx-distro/conf/distro/include/stx-preferred-vers.inc b/meta-starlingx/meta-stx-distro/conf/distro/include/stx-preferred-vers.inc
new file mode 100644 (file)
index 0000000..a1880c3
--- /dev/null
@@ -0,0 +1,52 @@
+
+PREFERRED_VERSION_keyutils = "1.6"
+PREFERRED_VERSION_python-voluptuous = "0.8.9"
+PREFERRED_VERSION_python3-cherrypy = "18.2.0"
+PREFERRED_VERSION_python-cheroot = "7.0.0"
+PREFERRED_VERSION_python3-cheroot = "7.0.0"
+PREFERRED_VERSION_python-cherrypy = "3.2.2"
+PREFERRED_VERSION_pythonkeystoneauth1 = "3.17.1"
+PREFERRED_VERSION_drbd-utils = "8.4.3rc1"
+PREFERRED_VERSION_python-pyyaml = "3.13"
+PREFERRED_VERSION_python-cmd2 = "0.6.8"
+PREFERRED_VERSION_python-expect = "4.6.0"
+PREFERRED_VERSION_python-pika = "0.10.0%"
+PREFERRED_VERSION_python-keyring = "5.3"
+PREFERRED_VERSION_python-barbican = "8.0.%"
+PREFERRED_VERSION_python-keystone = "15.0.%"
+PREFERRED_VERSION_python-flask = "1.0.2"
+PREFERRED_VERSION_python-keystonemiddleware = "5.1.%"
+PREFERRED_VERSION_python-oslo.cache= "1.26.%"
+PREFERRED_VERSION_python-oslo.concurrency= "3.26.%"
+PREFERRED_VERSION_python-oslo.log= "3.38.%"
+PREFERRED_VERSION_python-oslo.middleware = "3.31.%"
+PREFERRED_VERSION_python-oslo.serialization = "2.23.%"
+PREFERRED_VERSION_python-oslo.policy = "1.43.%"
+PREFERRED_VERSION_python-pysaml2 = "4.5.%"
+PREFERRED_VERSION_python-sqlalchemy = "1.1.17"
+PREFERRED_VERSION_python-werkzeug = "0.14.%"
+PREFERRED_VERSION_python-neutronclient = "6.12.%"
+PREFERRED_VERSION_python-oslo.i18n = "3.20.%"
+PREFERRED_VERSION_python-iso8601 = "0.1.12"
+PREFERRED_VERSION_python-six = "1.11.%"
+PREFERRED_VERSION_python-docker = "3.3.0"
+PREFERRED_VERSION_python-pyudev = "0.16.1"
+PREFERRED_VERSION_python-django = "1.11.20+%"
+PREFERRED_VERSION_python-django-babel = "0.6.2+%"
+PREFERRED_VERSION_python-pysnmp = "4.2.5"
+PREFERRED_VERSION_python-dateutil = "2.8.1"
+PREFERRED_VERSION_python-adal = "1.0.2"
+PREFERRED_VERSION_python-osprofiler = "2.3.0+%"
+PREFERRED_VERSION_python-amqp = "2.5.2"
+PREFERRED_VERSION_python-ryu = "4.24+%"
+PREFERRED_VERSION_docker-distribution = "v2.6.2"
+PREFERRED_VERSION_kuberenetes = "1.16.%"
+PREFERRED_VERSION_ruby = "2.0.0-p648"
+PREFERRED_VERSION_ruby-native = "2.0.0-p648"
+PREFERRED_VERSION_puppet = "4.8.2"
+PREFERRED_VERSION_dnsmasq = "2.76"
+PREFERRED_VERSION_ceph = "13.2.2"
+PREFERRED_VERSION_python-eventlet = "0.18.4"
+PREFERRED_VERSION_lldpd = "0.9.0"
+PREFERRED_VERSION_json-c = "0.11"
+PREFERRED_VERSION_libevent = "2.0.21"
diff --git a/meta-starlingx/meta-stx-distro/conf/distro/poky-stx.conf b/meta-starlingx/meta-stx-distro/conf/distro/poky-stx.conf
new file mode 100644 (file)
index 0000000..11eb93b
--- /dev/null
@@ -0,0 +1,82 @@
+
+require conf/distro/poky.conf
+DISTRO = "poky-stx"
+DISTRO_NAME = "Stx (Poky Starlingx Distro)"
+DISTRO_VERSION = "2.7.3"
+DISTRO_CODENAME = "warrior"
+
+MAINTAINER = "zbsarashki <zbsarashki@gmail.com>"
+
+require conf/distro/include/stx-features.inc
+require conf/distro/include/stx-preferred-vers.inc
+
+# For packagegroup-basic
+TASK_BASIC_SSHDAEMON = "openssh-sshd openssh-sftp openssh-sftp-server"
+
+# For iso image
+#KERNEL_FEATURES += "features/overlayfs/overlayfs.scc"
+
+
+# Disable services by default
+SYSTEMD_AUTO_ENABLE_pn-haproxy = "disable"
+SYSTEMD_AUTO_ENABLE_pn-lighttpd = "disable"
+SYSTEMD_AUTO_ENABLE_pn-postgresql = "disable"
+
+# Defines the serial consoles (TTYs) to enable using getty
+SERIAL_CONSOLES = "115200;ttyS0"
+
+# /var/log is mounted as a logical volume for stx,
+# so do not link to /var/volatile/log.
+VOLATILE_LOG_DIR = "no"
+
+# We don't need extra space for iso image
+IMAGE_OVERHEAD_FACTOR = "1.05"
+
+# Add extra users and groups for stx
+SYSADMIN_P = "4SuW8cnXFyxsk"
+
+EXTRA_USERS_PARAMS_CONFIG = "\
+       groupadd -f -g 345 sys_protected; \
+       useradd -m -g sys_protected -G root \
+           -d /home/sysadmin -p ${SYSADMIN_P} \
+           -s /bin/sh sysadmin; \
+       useradd -p '' haproxy; \
+       groupadd haproxy; \
+       usermod -a -G haproxy haproxy; \
+       useradd -p '' patching; \
+       groupadd patching; \
+       usermod -a -G patching patching; \
+       useradd -p '' nfv; \
+       groupadd nfv; \
+       usermod -a -G nfv nfv; \
+       useradd -p '' www; \
+       groupadd www; \
+       usermod -a -G www www; \
+       usermod -a -G sys_protected sysadmin; \
+       usermod -a -G sys_protected sysinv; \
+       usermod -a -G sys_protected www; \
+       usermod -a -G sys_protected nfv; \
+       usermod -a -G sys_protected patching; \
+       usermod -a -G sys_protected haproxy; \
+       usermod -a -G snmpd fm; \
+       usermod -P root root; \
+       \
+       groupadd -r -g 128 nscd; \
+       useradd -M -o -r -d / -s /sbin/nologin -c 'NSCD Daemon' -u 28 -g nscd nscd; \
+       "
+
+# Used by:
+# neutron-init
+# glance-init
+CONTROLLER_IP = "127.0.0.1"
+HELM_TOOL_KIT_VERSION = "0.1.0"
+TIS_PATCH_VER = "7"
+HELM_REPO = "stx-platform"
+STX_REL = "19.12"
+
+# For the stx /etc/build.info
+STX_ID = "3.0"
+STX_BUILD_DATE := "${@time.strftime('%Y-%m-%d %H:%M:%S',time.gmtime())}"
+
+DISTRO_FEATURES_NATIVE_append += " pam systemd "
+DISTRO_FEATURES_append += " pam systemd "
diff --git a/meta-starlingx/meta-stx-distro/conf/layer.conf b/meta-starlingx/meta-stx-distro/conf/layer.conf
new file mode 100644 (file)
index 0000000..4dc6879
--- /dev/null
@@ -0,0 +1,56 @@
+
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+            ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "stx-distro-layer"
+BBFILE_PATTERN_stx-distro-layer := "^${LAYERDIR}/"
+BBFILE_PRIORITY_stx-distro-layer = "5"
+
+LAYERDEPENDS_STX = "\
+       core \
+       dpdk \
+       networking-layer \
+       openembedded-layer \
+       networking-layer \
+       filesystems-layer \
+       perl-layer \
+       meta-python \
+       webserver \
+       virtualization-layer \
+       cloud-services-layer \
+       openstack-layer \
+"
+
+LAYERDEPENDS_STX_ANACONDA = "\
+       core \
+       filesystems-layer \
+       meta-python \
+       networking-layer \
+       openembedded-layer \
+"
+
+LAYERDEPENDS_stx-distro-layer = "${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-anaconda', '${LAYERDEPENDS_STX_ANACONDA}', '${LAYERDEPENDS_STX}', d)}"
+
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_stx-distro-version = "1"
+LAYERSERIES_COMPAT_stx-distro-layer = "thud warrior"
+
+LAYER_PATH_meta-stx-distro = "${LAYERDIR}"
+
+# Masked recipes:
+BBMASK += "/meta-python2/recipes-core/images/meta-python-ptest-image.bb"
+BBMASK += "/meta-python2/recipes-core/images/meta-python-image-base.bb"
+BBMASK += "/meta-python2/recipes-core/images/meta-python-image.bb"
+BBMASK += "/meta-stak-common/recipes-containers/kubernetes/kubernetes_git.bbappend"
+BBMASK += "/meta-cloud-services/meta-openstack/recipes-devtools/python/python-cephclient_0.1.0.5.bb"
+BBMASK += "/meta-openstack/recipes-devtools/qemu/qemu_2.%.bbappend"
+BBMASK += "/meta-cloud-services/meta-openstack/recipes-kernel/linux/linux-yocto_4.18.bbappend"
+BBMASK += "/meta-selinux/recipes-graphics/mesa/mesa_%.bbappend"
+BBMASK += "/meta-virtualization/recipes-containers/docker-distribution/docker-distribution_git.bb"
+BBMASK += "/meta-starlingX/recipes-containers/docker-distribution/docker-distribution_git.bbappend"
+BBMASK += "/meta-starlingX/recipes-support/puppet/puppetlabs-stdlib_git.bbappend"
diff --git a/meta-starlingx/meta-stx-distro/recipes-core/images/stx-image-aio-installer.bb b/meta-starlingx/meta-stx-distro/recipes-core/images/stx-image-aio-installer.bb
new file mode 100644 (file)
index 0000000..5d6cc47
--- /dev/null
@@ -0,0 +1,56 @@
+
+DESCRIPTION = "An image with Anaconda to do installation for StarlingX"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+# Support installation from initrd boot
+do_image_complete[depends] += "core-image-anaconda-initramfs:do_image_complete"
+
+DEPENDS += "isomd5sum-native"
+
+CUSTOMIZE_LOGOS ??= "yocto-compat-logos"
+
+# We override what gets set in core-image.bbclass
+IMAGE_INSTALL = "\
+    packagegroup-core-boot \
+    packagegroup-core-ssh-openssh \
+    ${@['', 'packagegroup-installer-x11-anaconda'][bool(d.getVar('XSERVER', True))]} \
+    python3-anaconda \
+    anaconda-init \
+    kernel-modules \
+    ${CUSTOMIZE_LOGOS} \
+    dhcp-client \
+    ldd \
+    rng-tools \
+    gptfdisk \
+    pxe-installer-initramfs \
+"
+
+IMAGE_LINGUAS = "en-us en-gb"
+
+# Generate live image
+IMAGE_FSTYPES_remove = "wic wic.bmap"
+IMAGE_FSTYPES_append = " iso"
+
+IMAGE_ROOTFS_EXTRA_SPACE =" + 102400"
+
+inherit core-image stx-anaconda-image
+
+DEFAULT_KICKSTART ?= "smallsystem_lowlatency_ks.cfg"
+STX_KICKSTART_DIR ?= "${INSTALLER_TARGET_BUILD}/tmp/deploy/images/${MACHINE}/stx-kickstarts/"
+KICKSTART_FILE ?= "${STX_KICKSTART_DIR}/${DEFAULT_KICKSTART}"
+
+KICKSTART_FILE_EXTRA ?= " \
+    ${STX_KICKSTART_DIR}/smallsystem_ks.cfg \
+    ${STX_KICKSTART_DIR}/smallsystem_lowlatency_ks.cfg \
+    ${STX_KICKSTART_DIR}/controller_ks.cfg \
+    ${STX_KICKSTART_DIR}/net_controller_ks.cfg \
+    ${STX_KICKSTART_DIR}/net_smallsystem_ks.cfg \
+    ${STX_KICKSTART_DIR}/net_smallsystem_lowlatency_ks.cfg \
+    ${STX_KICKSTART_DIR}/net_storage_ks.cfg \
+    ${STX_KICKSTART_DIR}/net_worker_ks.cfg \
+    ${STX_KICKSTART_DIR}/net_worker_lowlatency_ks.cfg \
+"
+
+SYSLINUX_CFG_LIVE = "${LAYER_PATH_meta-stx-distro}/conf/distro/files/syslinux.cfg"
diff --git a/meta-starlingx/meta-stx-distro/recipes-core/images/stx-image-aio.bb b/meta-starlingx/meta-stx-distro/recipes-core/images/stx-image-aio.bb
new file mode 100644 (file)
index 0000000..67aa6b2
--- /dev/null
@@ -0,0 +1,52 @@
+
+SUMMARY = " StarlingX Single Server"
+
+LICENSE = "MIT"
+
+CORE_IMAGE_EXTRA_INSTALL = " \
+       packagegroup-basic \
+       packagegroup-core-base-utils  \
+       "
+
+IMAGE_INSTALL_append = " \
+       ${CORE_IMAGE_BASE_INSTALL} \
+       packagegroup-core-full-cmdline \
+       packagegroup-core-lsb \
+       packagegroup-stx-upstream \
+       packagegroup-stx-puppet \
+       packagegroup-stx-fault \
+       packagegroup-stx-metal \
+       packagegroup-stx-nfv \
+       packagegroup-stx-monitoring \
+       packagegroup-stx-ha \
+       packagegroup-stx-config-files \
+       packagegroup-stx-update \
+       packagegroup-stx-integ \
+       packagegroup-stx-config \
+       packagegroup-stx-distributedcloud \
+       packagegroup-stx-utilities \
+       packagegroup-stx-armada-app \
+       starlingx-dashboard \
+       playbookconfig \
+       distributedcloud-client-dcmanager \
+       registry-token-server \
+       rt-tests \
+       kernel-dev \
+       "
+
+IMAGE_FEATURES += " \
+       package-management \
+       ssh-server-openssh \
+       "
+
+inherit stx-image-list
+inherit stx-postrun
+inherit extrausers-config
+inherit core-image
+inherit distro_features_check
+inherit openstack-base
+inherit identity
+inherit monitor
+
+# We need docker-ce
+PACKAGE_EXCLUDE += " docker"
diff --git a/meta-starlingx/meta-stx-distro/recipes-core/packagegroups/packagegroup-stx.bb b/meta-starlingx/meta-stx-distro/recipes-core/packagegroups/packagegroup-stx.bb
new file mode 100644 (file)
index 0000000..c65203d
--- /dev/null
@@ -0,0 +1,245 @@
+
+SUMMARY = "StarlingX stx packages"
+
+PR = "r0"
+
+#
+# packages which content depend on MACHINE_FEATURES need to be MACHINE_ARCH
+#
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+inherit packagegroup
+
+PROVIDES = "${PACKAGES}"
+PACKAGES = " \
+       packagegroup-stx-upstream \
+       packagegroup-stx-puppet \
+       packagegroup-stx-fault \
+       packagegroup-stx-metal \
+       packagegroup-stx-nfv \
+       packagegroup-stx-monitoring \
+       packagegroup-stx-ha \
+       packagegroup-stx-config \
+       packagegroup-stx-config-files \
+       packagegroup-stx-distributedcloud \
+       packagegroup-stx-update \
+       packagegroup-stx-integ \
+       packagegroup-stx-utilities \
+       packagegroup-stx-armada-app \
+       "
+
+RDEPENDS_packagegroup-stx-puppet = "\
+       stx-puppet \
+       puppet-dcdbsync \
+       puppet-dcmanager \
+       puppet-dcorch \
+       puppet-fm \
+       puppet-mtce \
+       puppet-nfv \
+       puppet-patching \
+       puppet-smapi \
+       puppet-sshd \
+       puppet-sysinv \
+       puppet-manifests \
+       "
+
+RDEPENDS_packagegroup-stx-config = " \
+       config-gate-worker \
+       config-gate \
+       controllerconfig \
+       cgts-client \
+       sysinv-agent \
+       sysinv \
+       workerconfig-subfunction \
+       tsconfig \
+       "
+
+RDEPENDS_packagegroup-stx-config-files  = " \
+       lighttpd \
+       lighttpd-module-proxy \
+       lighttpd-module-setenv \
+       dnsmasq \
+       shadow \
+       openldap \
+       ntp \
+       haproxy \
+       syslog-ng \ 
+       sudo \
+       docker-ce \
+       openvswitch \
+       systemd \
+       nfs-utils \
+       nfs-utils-config \
+       iptables \
+       logrotate \
+       mlx4-init \
+       initscripts \
+       procps \
+       iscsi-initiator-utils \
+       memcached \
+       net-snmp \
+       net-snmp-server-snmpd \
+       net-snmp-server-snmptrapd \
+       libpam-runtime \
+       rabbitmq-server \
+       rsync \
+       base-files \
+       audit \
+       auditd \
+       audit-python \
+       "
+
+RDEPENDS_packagegroup-stx-fault = " \
+        fm-api \
+        fm-common \
+        fm-doc \
+        fm-mgr \
+        fm-rest-api \
+        python-fmclient \
+        snmp-audittrail \
+        snmp-ext \
+        "
+
+RDEPENDS_packagegroup-stx-ha = " \
+        sm-common-libs \
+        libsm-common \
+        sm \
+        sm-db \
+        sm-api \
+        sm-client \
+        sm-tools \
+       sm-eru \
+        stx-ocf-scripts \
+        "
+
+RDEPENDS_packagegroup-stx-metal = " \
+       inventory \
+       mtce \
+       mtce-pmon \
+       mtce-hwmon \
+       mtce-hostw \
+       mtce-lmon \
+       mtce-compute \
+       mtce-control \
+       mtce-storage \
+       python-inventoryclient \
+       pxe-network-installer \
+       platform-kickstarts \
+       "
+
+RDEPENDS_packagegroup-stx-monitoring = " \
+       collectd-extensions \
+       influxdb-extensions \
+       monitor-tools \
+       vm-topology \
+       "
+
+RDEPENDS_packagegroup-stx-distributedcloud = " \
+       distributedcloud-dcmanager \
+       distributedcloud-dcorch \
+       distributedcloud-dcdbsync \
+       distributedcloud-ocf \
+       "
+
+RDEPENDS_packagegroup-stx-nfv = " \
+       nfv-common \
+       nfv-plugins \
+       nfv-tools \
+       nfv-vim \
+       nfv-client \
+       mtce-guest\
+       "
+
+RDEPENDS_packagegroup-stx-upstream = " \
+       barbican \
+       python-neutronclient \
+       python-aodhclient \
+       python-barbican \
+       python-barbicanclient \
+       python-cinderclient \
+       python-glanceclient \
+       python-gnocchiclient \
+       python-django-horizon \
+       python-heatclient \
+       python-ironicclient \
+       python-keystoneauth1 \
+       python-keystoneclient \
+       python-magnumclient \
+       python-muranoclient \
+       python-novaclient \
+       python-openstackclient \
+       python-openstacksdk \
+       python-pankoclient \
+       openstack-ras \
+       "
+
+RDEPENDS_packagegroup-stx-update = " \
+       cgcs-patch \
+       cgcs-patch-agent \
+       cgcs-patch-controller \
+       enable-dev-patch \
+       patch-alarm \
+       "
+
+RDEPENDS_packagegroup-stx-integ = " \
+       dpkg \
+       dtc \
+       ibsh \
+       python-redfishtool \
+       puppet-boolean \
+       puppetlabs-create-resources \
+       puppet-dnsmasq \
+       puppet-drbd \
+       puppet-filemapper \
+       puppet-ldap \
+       puppetlabs-lvm \
+       puppet-network \
+       puppet-nslcd \
+       puppetlabs-postgresql \
+       puppet-puppi \
+       mariadb \
+       drbd-utils \
+       docker-distribution \
+        docker-forward-journald \
+       etcd \
+       kubernetes \
+       ldapscripts \
+       python-3parclient \
+       python-cherrypy \
+       python-lefthandclient \
+       python-setuptools \
+       python-ryu \
+       spectre-meltdown-checker \
+       kvm-timer-advance-setup \
+       ceph \
+       lldpd \
+        lvm2 \
+        tzdata \
+       "
+
+RDEPENDS_packagegroup-stx-utilities = " \
+       build-info \
+       python-cephclient \
+       ceph-manager \
+       stx-ssl \
+       collector \
+       collect-engtools \
+       logmgmt \
+       namespace-utils \
+       nfscheck \
+       stx-extensions \
+       worker-utils \
+       update-motd \
+       platform-util \
+       pci-irq-affinity \
+       "
+
+RDEPENDS_packagegroup-stx-armada-app = "\
+       monitor-helm \
+       monitor-helm-elastic \
+       openstack-helm \
+       openstack-helm-infra \
+       stx-monitor-helm \
+       stx-openstack-helm \
+       stx-platform-helm \
+       "
diff --git a/meta-starlingx/meta-stx-distro/recipes-core/pxe-installer-initramfs/pxe-installer-initramfs_1.0.bb b/meta-starlingx/meta-stx-distro/recipes-core/pxe-installer-initramfs/pxe-installer-initramfs_1.0.bb
new file mode 100644 (file)
index 0000000..3f569a3
--- /dev/null
@@ -0,0 +1,13 @@
+SUMMARY = "Provides initramfs used for pxe installer"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+do_install[depends] += "core-image-anaconda-initramfs:do_image_complete"
+
+do_install() {
+    install -d ${D}/boot
+    install -m 0644  ${DEPLOY_DIR_IMAGE}/core-image-anaconda-initramfs-${MACHINE}.cpio.gz ${D}/boot/installer-initrd_1.0
+    ln -s installer-initrd_1.0 ${D}/boot/installer-initrd
+}
+
+FILES_${PN} = "/boot"
diff --git a/meta-starlingx/meta-stx-distro/recipes-httpd/apache2/apache2_%.bbappend b/meta-starlingx/meta-stx-distro/recipes-httpd/apache2/apache2_%.bbappend
new file mode 100644 (file)
index 0000000..505c4bf
--- /dev/null
@@ -0,0 +1,16 @@
+
+
+APACHE_PORT_NUM ?= "81"
+
+do_install_append () {
+       sed -i -e 's/80/${APACHE_PORT_NUM}/' ${D}/${sysconfdir}/${BPN}/httpd.conf
+}
+
+inherit useradd
+
+USERADD_PACKAGES = "${PN}"
+
+USERADD_PARAM_${PN} = "-c 'Apache' -u 48 -g apache -s /sbin/nologin -r -d /usr/share/httpd apache"
+GROUPADD_PARAM_${PN} = "-g 48 -r apache"
+
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
diff --git a/meta-starlingx/meta-stx-distro/recipes-httpd/lighttpd/lighttpd_%.bbappend b/meta-starlingx/meta-stx-distro/recipes-httpd/lighttpd/lighttpd_%.bbappend
new file mode 100644 (file)
index 0000000..b32164d
--- /dev/null
@@ -0,0 +1,52 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "lighttpd-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       "
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       file://lighttpd-init-script-chroot.patch;striplevel=3 \
+       "
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/${DSTSUFX0}/files/LICENSE ${S}/stx-configfiles-LICENSE
+    cp -pf ${WORKDIR}/${DSTSUFX0}/files/lighttpd.init ${S}/lighttpd.init
+}
+
+do_install_append () {
+    # remove the symlinks
+    rm ${D}/www/logs
+    rm ${D}/www/var
+
+    # use tmpfile to create dirs
+    install -d ${D}${sysconfdir}/tmpfiles.d/
+    echo "d /www/var 0755 www root -" > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+    echo "d /www/var/log 0755 www root -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+
+
+    install -d -m 1777 ${D}/www/tmp
+    install -d ${D}/${sysconfdir}/lighttpd/ssl
+    install -d ${D}/www/pages/dav
+
+    install -d -m755 ${D}/${sysconfdir}/logrotate.d
+
+    install -m755 ${S}/lighttpd.init ${D}/${sysconfdir}/init.d/lighttpd
+
+    install -m640 ${WORKDIR}/${DSTSUFX0}/files/lighttpd.conf          ${D}/${sysconfdir}/lighttpd/lighttpd.conf
+    install -m644 ${WORKDIR}/${DSTSUFX0}/files/lighttpd-inc.conf      ${D}/${sysconfdir}/lighttpd/lighttpd-inc.conf
+    install -m644 ${WORKDIR}/${DSTSUFX0}/files/index.html.lighttpd    ${D}/www/pages/index.html
+    install -m644 ${WORKDIR}/${DSTSUFX0}/files/lighttpd.logrotate    ${D}/${sysconfdir}/logrotate.d/lighttpd
+
+}
+
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
diff --git a/meta-starlingx/meta-stx-distro/recipes-security/gssproxy/gssproxy_0.7.0.bb b/meta-starlingx/meta-stx-distro/recipes-security/gssproxy/gssproxy_0.7.0.bb
new file mode 100644 (file)
index 0000000..058afc1
--- /dev/null
@@ -0,0 +1,75 @@
+
+SUMMARY = "provides a daemon to manage access to GSSAPI credentials"
+HOMEPAGE = "https://pagure.io/gssproxy"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a9ac3d0a983ebc781f7aa7173499e2e5"
+
+DEPENDS += "popt ding-libs keyutils libverto krb5 libxslt-native libxml2-native \
+            libselinux libpthread-stubs gettext-native \
+            "
+RDEPENDS_${PN} += "libinih popt libverto-libevent libverto-tevent keyutils \
+                   libgssapi-krb5 libgssrpc libk5crypto libkadm5clnt-mit \
+                   libkadm5srv-mit libkdb5 libkrad libkrb5 libkrb5support \
+                   libxslt libxslt-bin libxml2-utils libxml2 \
+                   "
+
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI = "https://releases.pagure.org/gssproxy/gssproxy-${PV}.tar.gz \
+      file://Properly-renew-expired-credentials.patch;striplevel=2 \
+      file://Change-impersonator-check-code.patch;striplevel=2 \
+      file://Allow-connection-to-self-when-impersonator-set.patch;striplevel=2 \
+      file://Make-proc-file-failure-loud-but-nonfatal.patch;striplevel=2 \
+      file://Turn-on-Wextra.patch;striplevel=2 \
+      file://Fix-unused-variables.patch;striplevel=2 \
+      file://Fix-mismatched-sign-comparisons.patch;striplevel=2 \
+      file://Fix-error-checking-on-get_impersonator_fallback.patch;striplevel=2 \
+      file://Remove-gpm_release_ctx-to-fix-double-unlock.patch;striplevel=2 \
+      file://Appease-gcc-7-s-fallthrough-detection.patch;striplevel=2 \
+      file://Fix-memory-leak.patch;striplevel=2 \
+      file://Fix-most-memory-leaks.patch;striplevel=2 \
+      file://Fix-segfault-when-no-config-files-are-present.patch;striplevel=2 \
+      file://Update-systemd-file.patch;striplevel=2 \
+      file://Fix-error-handling-in-gp_config_from_dir.patch;striplevel=2 \
+      file://Do-not-call-gpm_grab_sock-twice.patch;striplevel=2 \
+      file://Only-empty-FILE-ccaches-when-storing-remote-creds.patch;striplevel=2 \
+      file://Handle-outdated-encrypted-ccaches.patch;striplevel=2 \
+      file://Separate-cred-and-ccache-manipulation-in-gpp_store_r.patch;striplevel=2 \
+      file://Properly-locate-credentials-in-collection-caches-in-.patch;striplevel=2 \
+      file://Properly-initialize-ccaches-before-storing-into-them.patch;striplevel=2 \
+      file://Include-header-for-writev.patch;striplevel=2 \
+      file://Tolerate-NULL-pointers-in-gp_same.patch;striplevel=2 \
+      file://Add-Client-ID-to-debug-messages.patch;striplevel=2 \
+      file://client-Switch-to-non-blocking-sockets.patch;striplevel=2 \
+      file://server-Add-detailed-request-logging.patch;striplevel=2 \
+      file://Fix-potential-free-of-non-heap-address.patch;striplevel=2 \
+      file://Prevent-uninitialized-read-in-error-path-of-XDR-cont.patch;striplevel=2 \
+      file://Simplify-setting-NONBLOCK-on-socket.patch;striplevel=2 \
+      file://Fix-handling-of-non-EPOLLIN-EPOLLOUT-events.patch;striplevel=2 \
+      file://Fix-error-handling-in-gpm_send_buffer-gpm_recv_buffe.patch;striplevel=2 \
+      file://Emit-debug-on-queue-errors.patch;striplevel=2 \
+      file://Conditionally-reload-kernel-interface-on-SIGHUP.patch;striplevel=2 \
+      file://Don-t-leak-mech_type-when-CONTINUE_NEEDED-from-init_.patch;striplevel=2 \
+      file://Always-use-the-encype-we-selected.patch;striplevel=2 \
+      file://Clarify-debug-and-debug_level-in-man-pages.patch;striplevel=2 \
+      file://Always-choose-highest-requested-debug-level.patch;striplevel=2 \
+      "
+
+SRC_URI[md5sum] = "1837acb5766ffbc6fcc70ecaa72e285f"
+
+inherit autotools systemd pkgconfig
+
+SYSTEMD_SERVICE_${PN} = "gssproxy.service"
+
+EXTRA_OECONF="--with-pubconf-path=${sysconfdir}/gssproxy \
+              --with-initscript=systemd --disable-static \
+              --disable-rpath --with-gpp-default-behavior=REMOTE_FIRST \
+              --with-systemdunitdir=${systemd_system_unitdir} \
+              --with-manpages=no \
+              "
+
+CFLAGS += "-fPIE -fstack-protector-all"
+LDFLAGS += "-fPIE -pie -Wl,-z,now"
+
diff --git a/meta-starlingx/meta-stx-distro/recipes-security/gssproxy/gssproxy_0.7.0.bbappend b/meta-starlingx/meta-stx-distro/recipes-security/gssproxy/gssproxy_0.7.0.bbappend
new file mode 100644 (file)
index 0000000..0acc2da
--- /dev/null
@@ -0,0 +1,6 @@
+
+do_install_append () {
+       cp ${B}/examples/24-nfs-server.conf \
+               ${B}/examples/99-nfs-client.conf \
+               ${B}/examples/gssproxy.conf ${D}/etc/gssproxy
+}
diff --git a/meta-starlingx/meta-stx-flock/conf/layer.conf b/meta-starlingx/meta-stx-flock/conf/layer.conf
new file mode 100644 (file)
index 0000000..e38f3ef
--- /dev/null
@@ -0,0 +1,48 @@
+
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/stx-*/*.bb \
+            ${LAYERDIR}/stx-*/*.bbappend \
+            ${LAYERDIR}/stx-*/*/*.bb \
+            ${LAYERDIR}/stx-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "stx-flock-layer"
+BBFILE_PATTERN_stx-flock-layer := "^${LAYERDIR}/"
+BBFILE_PRIORITY_stx-flock-layer = "5"
+
+LAYERDEPENDS_STX_FLOCK = "\
+       core \
+       dpdk \
+       networking-layer \
+       openembedded-layer \
+       networking-layer \
+       filesystems-layer \
+       perl-layer \
+       meta-python \
+       webserver \
+       virtualization-layer \
+       cloud-services-layer \
+       openstack-layer \
+"
+
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_stx-flock-version = "1"
+LAYERSERIES_COMPAT_stx-flock-layer = "thud warrior"
+
+LAYER_PATH_meta-stx-flock = "${LAYERDIR}"
+
+# Masked recipes:
+BBMASK += "/meta-python2/recipes-core/images/meta-python-ptest-image.bb"
+BBMASK += "/meta-python2/recipes-core/images/meta-python-image-base.bb"
+BBMASK += "/meta-python2/recipes-core/images/meta-python-image.bb"
+BBMASK += "/meta-stak-common/recipes-containers/kubernetes/kubernetes_git.bbappend"
+BBMASK += "/meta-cloud-services/meta-openstack/recipes-devtools/python/python-cephclient_0.1.0.5.bb"
+BBMASK += "/meta-openstack/recipes-devtools/qemu/qemu_2.%.bbappend"
+BBMASK += "/meta-cloud-services/meta-openstack/recipes-kernel/linux/linux-yocto_4.18.bbappend"
+BBMASK += "/meta-selinux/recipes-graphics/mesa/mesa_%.bbappend"
+BBMASK += "/meta-virtualization/recipes-containers/docker-distribution/docker-distribution_git.bb"
+BBMASK += "/meta-starlingX/recipes-containers/docker-distribution/docker-distribution_git.bbappend"
+BBMASK += "/meta-starlingX/recipes-support/puppet/puppetlabs-stdlib_git.bbappend"
diff --git a/meta-starlingx/meta-stx-flock/stx-ansible-playbooks/playbookconfig.bb b/meta-starlingx/meta-stx-flock/stx-ansible-playbooks/playbookconfig.bb
new file mode 100644 (file)
index 0000000..841022d
--- /dev/null
@@ -0,0 +1,67 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/patches:${THISDIR}/files:"
+DESCRIPTION = " stx-ansible-playbooks"
+
+STABLE = "starlingx/master"
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCREV = "0ad01cd4cae7d5c85e1022b816ed465b334bb2e5"
+S = "${WORKDIR}/git"
+PV = "1.0.0"
+
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+# The patch 0001-Treat-the-failure-as-expected-result-if-resize-using.patch
+# need to be removed if updating to stx 2.0.0 or above.
+SRC_URI = " \
+       git://opendev.org/starlingx/ansible-playbooks.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://0001-stx.3.0-rebase-adjust-path.patch \
+       file://0002-update_sysinv_database-do-not-fail-if-ceph-monitor-a.patch \
+       file://0003-update_sysinv_database-wait-after-provision.patch \
+       file://0004-bringup_flock_services-use-systmd-for-fminit-and-add.patch \
+       file://0005-persist-config-add-retry-for-etcd.patch \
+        "
+
+RDEPENDS_playbookconfig = " \
+       nscd \
+       python \
+       python-netaddr \
+       python-ptyprocess \
+       python-pexpect \
+       python-ansible \
+       sysinv \
+       grub \
+       grubby \
+       dracut \
+       openssl-bin \
+       ipset \
+       "
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install () {
+       cd ${S}/playbookconfig/src
+       oe_runmake -e \
+               DESTDIR=${D}/${datadir}/ansible/stx-ansible
+}
+
+ANSIBLE_SSH_TIMEOUT = "60"
+ANSIBLE_SSH_RETRY = "3"
+
+pkg_postinst_ontarget_${PN}() { 
+       cp $D${sysconfdir}/ansible/ansible.cfg $D${sysconfdir}/ansible/ansible.cfg.orig
+       cp $D${sysconfdir}/ansible/hosts $D${sysconfdir}/ansible/hosts.orig
+       cp $D${datadir}/ansible/stx-ansible/playbooks/ansible.cfg $D${sysconfdir}/ansible
+       cp $D${datadir}/ansible/stx-ansible/playbooks/hosts $D${sysconfdir}/ansible
+
+       sed -i -e 's/#timeout = .*/timeout = ${ANSIBLE_SSH_TIMEOUT}/' \
+              -e 's/#retries = .*/retries = ${ANSIBLE_SSH_RETRY}/' \
+              $D${sysconfdir}/ansible/ansible.cfg
+}
+
+FILES_${PN}_append = " \
+       ${datadir} \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-config-files/files/APACHE-2.0.LICENSE b/meta-starlingx/meta-stx-flock/stx-config-files/files/APACHE-2.0.LICENSE
new file mode 100644 (file)
index 0000000..b3201ab
--- /dev/null
@@ -0,0 +1,204 @@
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don`t include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
diff --git a/meta-starlingx/meta-stx-flock/stx-config-files/mlx4-init.bb b/meta-starlingx/meta-stx-flock/stx-config-files/mlx4-init.bb
new file mode 100644 (file)
index 0000000..6a667ab
--- /dev/null
@@ -0,0 +1,53 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "mlx4-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;beginline=1;endline=10;md5=b791daf2e53077e3acb71428524a356d \
+       file://LICENSE;md5=89aea4e17d99a7cacdbeed46a0096b10 \
+       "
+
+SRC_URI += " \
+        git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+               file://APACHE-2.0.LICENSE \
+       "
+
+RDEPENDS_${PN}_append = " bash"
+
+inherit systemd
+SYSTEMD_PACKAGES += "${PN}"
+SYSETMD_SERVICE_${PN}_append = "mlx4-config.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+
+do_configure[noexec] = "1"
+do_patch[noexec] = "1"
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/stx-configfiles/centos/mlx4-config.spec ${S}/stx-configfiles-LICENSE
+    cp -pf ${WORKDIR}/APACHE-2.0.LICENSE  ${S}/LICENSE
+}
+
+do_install() {
+       install -d -m 0755 ${D}/${sysconfdir}/init.d/
+       install -d -m 0755 ${D}/${systemd_system_unitdir}/
+       install -d -m 0755 ${D}/${sysconfdir}/goenabled.d/
+       install -d -m 0755 ${D}/${bindir}/
+
+       install -m 755 ${WORKDIR}/${DSTSUFX0}/files/mlx4-configure.sh ${D}/${sysconfdir}/init.d/
+       install -m 644 ${WORKDIR}/${DSTSUFX0}/files/mlx4-config.service ${D}/${systemd_system_unitdir}/
+       install -m 555 ${WORKDIR}/${DSTSUFX0}/files/mlx4_core_goenabled.sh ${D}/${sysconfdir}/goenabled.d/
+       install -m 755 ${WORKDIR}/${DSTSUFX0}/files/mlx4_core_config.sh ${D}/${bindir}/
+}
+
+FILES_${PN}_append = " ${systemd_system_unitdir}"
+
diff --git a/meta-starlingx/meta-stx-flock/stx-config/cgts-client.bb b/meta-starlingx/meta-stx-flock/stx-config/cgts-client.bb
new file mode 100644 (file)
index 0000000..25e38aa
--- /dev/null
@@ -0,0 +1,26 @@
+require config-common.inc
+
+SUBPATH0 = "sysinv/cgts-client/cgts-client"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+DEPENDS += " \
+       python-pbr-native \
+       "
+
+RDEPENDS_${PN}_append = " \
+       python-prettytable \
+       bash-completion \
+       python-neutronclient \
+       python-keystoneclient \
+       python-six \
+       python-httplib2 \
+       "
+
+inherit setuptools
+
+do_install_append() {
+       install -d -m 755 ${D}/${sysconfdir}/bash_completion.d
+       install -p -D -m 664 tools/system.bash_completion ${D}/${sysconfdir}/bash_completion.d/system.bash_completion
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-config/config-common.inc b/meta-starlingx/meta-stx-flock/stx-config/config-common.inc
new file mode 100644 (file)
index 0000000..4160298
--- /dev/null
@@ -0,0 +1,20 @@
+DESCRIPTION = "stx-config"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCREV = "b51e4ef738e0020f11f164fd3f86399872caf3c6"
+SRCREV_opendev = "b51e4ef738e0020f11f164fd3f86399872caf3c6"
+DESTSUFFIX = "${PN}-${PV}"
+PV = "1.0.0"
+
+SRC_URI = "\
+       git://opendev.org/starlingx/config.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=${DESTSUFFIX};subpath=${SUBPATH0};name=opendev \
+       "
+
+DEPENDS = "\
+       puppet \
+       python \
+       python-pbr-native \
+       "
+
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
diff --git a/meta-starlingx/meta-stx-flock/stx-config/config-gate.bb b/meta-starlingx/meta-stx-flock/stx-config/config-gate.bb
new file mode 100644 (file)
index 0000000..407a19b
--- /dev/null
@@ -0,0 +1,29 @@
+PACKAGES += " config-gate-worker"
+
+require config-common.inc
+
+SUBPATH0 = "config-gate/files"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_config-gate-worker_append = " bash"
+RDEPENDS_${PN}_append = " bash"
+
+
+inherit systemd
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_PACKAGES += "${PN}-worker"
+SYSTEMD_SERVICE_${PN} = "config.service"
+SYSTEMD_SERVICE_config-gate-worker = "worker-config-gate.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+SYSTEMD_AUTO_ENABLE_${PN}-worker = "enable"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+       oe_runmake -e \
+                 SBINDIR=${D}/${sbindir} SYSTEMDDIR=${D}/${systemd_system_unitdir} \
+                install
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-config/controllerconfig.bb b/meta-starlingx/meta-stx-flock/stx-config/controllerconfig.bb
new file mode 100644 (file)
index 0000000..9573685
--- /dev/null
@@ -0,0 +1,56 @@
+require config-common.inc
+
+SUBPATH0 = "controllerconfig/controllerconfig"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append = " \
+       bash \
+       fm-api \
+       systemd \
+       tsconfig \
+       python-iso8601 \
+       python-keyring \
+       python-netaddr \
+       python-netifaces \
+       python-pyudev \
+       python-six \
+       python-cryptography \
+       python-oslo.utils \
+       python-pysnmp \
+       python-ruamel.yaml \
+       "
+
+inherit setuptools python-dir systemd
+SYSTEMD_PACKAGES += "controllerconfig"
+SYSTEMD_SERVICE_controllerconfig = "controllerconfig.service"
+SYSTEMD_AUTO_ENABLE_controllerconfig = "enable"
+
+do_install_append() {
+
+    install -p -D -m 700 scripts/keyringstaging ${D}/${bindir}
+    install -p -D -m 700 scripts/openstack_update_admin_password ${D}/${bindir}
+    install -p -D -m 700 scripts/install_clone.py ${D}/${bindir}
+    install -p -D -m 700 scripts/finish_install_clone.sh ${D}/${bindir}
+
+    install -d -m 755 ${D}/${sysconfdir}/goenabled.d
+    install -d -m 755 ${D}/${sysconfdir}/init.d
+    install -p -D -m 700 scripts/config_goenabled_check.sh ${D}/${sysconfdir}/goenabled.d
+    install -p -D -m 755 scripts/controller_config ${D}/${sysconfdir}/init.d/controller_config
+
+    ## Install Upgrade scripts
+    install -d -m 755 ${D}/${sysconfdir}/upgrade.d
+    install -p -m 755 upgrade-scripts/16-neutron-move-bindings-off-controller-1.py ${D}/${sysconfdir}/upgrade.d
+    install -p -m 755 upgrade-scripts/20-sysinv-retire-ceph-cache-tier-sp.py ${D}/${sysconfdir}/upgrade.d
+
+
+    install -p -D -m 664 scripts/controllerconfig.service ${D}/${sysconfdir}/systemd/system/controllerconfig.service
+    sed -i -e 's/network.target/networking.target/g'  \
+               ${D}/${sysconfdir}/systemd/system/controllerconfig.service
+
+    sed -i -e 's|/usr/local/bin|${bindir}|' \
+       ${D}${libdir}/python2.7/site-packages/controllerconfig/utils.py \
+       ${D}${libdir}/python2.7/site-packages/controllerconfig/upgrades/utils.py \
+       ${D}${sysconfdir}/init.d/controller_config
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-config/files/0001-stx-config-remove-argparse-requirement-from-sysinv.patch b/meta-starlingx/meta-stx-flock/stx-config/files/0001-stx-config-remove-argparse-requirement-from-sysinv.patch
new file mode 100644 (file)
index 0000000..0c474d3
--- /dev/null
@@ -0,0 +1,25 @@
+From 06a156e04df427f51b42b1093577823c558166ad Mon Sep 17 00:00:00 2001
+From: "Sar Ashki, Babak" <Babak.SarAshki@windriver.com>
+Date: Tue, 25 Feb 2020 13:50:37 -0800
+Subject: [PATCH] stx-config: remove argparse requirement from sysinv.
+
+argparse is part of stdlib
+---
+ requirements.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/requirements.txt b/requirements.txt
+index fb4ef6a1..12a341c7 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -2,7 +2,6 @@ pbr>=0.5
+ SQLAlchemy
+ amqplib>=0.6.1
+ anyjson>=0.3.3
+-argparse
+ boto3
+ botocore>=1.11.0
+ cryptography!=2.0  # BSD/Apache-2.0
+-- 
+2.23.0
+
diff --git a/meta-starlingx/meta-stx-flock/stx-config/files/0003-sysinv-agent-remove-legacy-pid-directory.patch b/meta-starlingx/meta-stx-flock/stx-config/files/0003-sysinv-agent-remove-legacy-pid-directory.patch
new file mode 100644 (file)
index 0000000..b0802d4
--- /dev/null
@@ -0,0 +1,25 @@
+diff --git a/sysinv/sysinv-agent/sysinv-agent.conf b/sysinv/sysinv-agent/sysinv-agent.conf
+index 46afac67b..aad37576c 100644
+--- a/sysinv/sysinv-agent/sysinv-agent.conf
++++ b/sysinv/sysinv-agent/sysinv-agent.conf
+@@ -1,6 +1,6 @@
+ [process]
+ process  = sysinv-agent
+-pidfile  = /var/run/sysinv-agent.pid
++pidfile  = /run/sysinv-agent.pid
+ script   = /etc/init.d/sysinv-agent
+ style    = lsb            ; ocf or lsb
+ severity = major          ; minor, major, critical
+diff --git a/sysinv/sysinv-agent/sysinv-agent.service b/sysinv/sysinv-agent/sysinv-agent.service
+index cb8663f68..37c2c221e 100644
+--- a/sysinv/sysinv-agent/sysinv-agent.service
++++ b/sysinv/sysinv-agent/sysinv-agent.service
+@@ -9,7 +9,7 @@ Type=forking
+ RemainAfterExit=yes
+ ExecStart=/etc/init.d/sysinv-agent start
+ ExecStop=/etc/init.d/sysinv-agent stop
+-PIDFile=/var/run/sysinv-agent.pid
++PIDFile=/run/sysinv-agent.pid
+ [Install]
+ WantedBy=multi-user.target
diff --git a/meta-starlingx/meta-stx-flock/stx-config/storageconfig.bb b/meta-starlingx/meta-stx-flock/stx-config/storageconfig.bb
new file mode 100644 (file)
index 0000000..011af23
--- /dev/null
@@ -0,0 +1,23 @@
+require config-common.inc
+
+SUBPATH0 = "storageconfig/storageconfig/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append = " bash"
+
+inherit systemd 
+SYSTEMD_PACKAGES += "storageconfig"
+SYSTEMD_SERVICE_storageconfig = "storageconfig.service"
+SYSTEMD_AUTO_ENABLE_storageconfig = "enable"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install_append() {
+        oe_runmake GOENABLEDDIR=${D}/${sysconfdir}/goenabled.d  INITDDIR=${D}/${sysconfdir}/init.d \
+                               SYSTEMDDIR=${D}/${systemd_system_unitdir} install
+       sed -i -e 's:/usr/local/bin/:/usr/bin/:g' ${D}/${sysconfdir}/init.d/storage_config
+}
+
diff --git a/meta-starlingx/meta-stx-flock/stx-config/sysinv-agent.bb b/meta-starlingx/meta-stx-flock/stx-config/sysinv-agent.bb
new file mode 100644 (file)
index 0000000..a21bcff
--- /dev/null
@@ -0,0 +1,31 @@
+require config-common.inc
+
+SUBPATH0 = "sysinv/sysinv-agent"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI += "file://0003-sysinv-agent-remove-legacy-pid-directory.patch;striplevel=3"
+
+RDEPENDS_sysinv-agent += " python"
+
+inherit systemd
+SYSTEMD_PACKAGES += "sysinv-agent"
+SYSTEMD_SERVICE_sysinv-agent = "sysinv-agent.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install_append() {
+
+
+       install -d -m 755 ${D}${sysconfdir}/init.d
+       install -p -D -m 755 ${S}/sysinv-agent ${D}/${sysconfdir}/init.d/sysinv-agent
+
+       install -d -m 755 ${D}${sysconfdir}/pmon.d
+       install -p -D -m 644 ${S}/sysinv-agent.conf ${D}/${sysconfdir}/pmon.d/sysinv-agent.conf
+       install -p -D -m 644 ${S}/sysinv-agent.service ${D}/${systemd_system_unitdir}/sysinv-agent.service
+
+}
+
diff --git a/meta-starlingx/meta-stx-flock/stx-config/sysinv.bb b/meta-starlingx/meta-stx-flock/stx-config/sysinv.bb
new file mode 100644 (file)
index 0000000..d2f4388
--- /dev/null
@@ -0,0 +1,102 @@
+require config-common.inc
+
+SUBPATH0 = "sysinv/sysinv/sysinv"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRC_URI += "file://0001-stx-config-remove-argparse-requirement-from-sysinv.patch \
+       file://0002-cgts-client-handle-exceptions-other-than-CalledProcessErr.patch;striplevel=4 \
+       file://sriovph-bring-up.patch;striplevel=4 \
+       "
+
+RDEPENDS_${PN}_append = " python bash"
+DEPENDS += " \
+       python-pbr-native \
+       "
+RDEPENDS_${PN}_append  = " \
+       python-anyjson \
+       python-amqp \
+       python-amqplib \
+       python-passlib \
+       python-websockify \
+       python-pyparted \
+       python-boto3 \
+       python-botocore \
+       python-coverage \
+       python-docker \
+       python-eventlet \
+       python-ipaddr \
+       python-keyring \
+       python-kubernetes \
+       python-netaddr \
+       python-pyudev \
+       python-pbr \
+       python-webtest \
+       python-wsme \
+       python-six \
+       python-django \
+       python-mox3 \
+       python-oslo.i18n \
+       python-oslo.config \
+       python-oslo.concurrency \
+       python-oslo.db \
+       python-oslo.log \
+       python-oslo.utils \
+       python-pecan \
+       python2-rpm \
+       python-pyghmi \
+       python-paramiko \
+       tsconfig \
+       resource-agents \
+       gptfdisk \
+       "
+
+inherit setuptools python-dir systemd useradd
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_SERVICE_${PN} = "sysinv-api.service sysinv-conductor.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+USERADD_PACKAGES = "sysinv"
+USERADD_PARAM_sysinv = "-r -g sysinv -u 168 -d /var/lib/sysinv -s /sbin/nologin -c 'sysinv Daemons' sysinv"
+GROUPADD_PARAM_sysinv = "-r -g 168 sysinv"
+
+do_install_append() {
+
+       install -d -m 755 ${D}${sysconfdir}/goenabled.d
+       install -p -D -m 755 etc/sysinv/sysinv_goenabled_check.sh ${D}${sysconfdir}/goenabled.d/sysinv_goenabled_check.sh
+       
+       install -d -m 755 ${D}${sysconfdir}/sysinv
+       install -p -D -m 755 etc/sysinv/policy.json ${D}${sysconfdir}/sysinv/policy.json
+       install -p -D -m 640 etc/sysinv/profileSchema.xsd ${D}${sysconfdir}/sysinv/profileSchema.xsd
+       
+       install -p -D -m 644 etc/sysinv/crushmap-storage-model.txt ${D}${sysconfdir}/sysinv/crushmap-storage-model.txt
+       install -p -D -m 644 etc/sysinv/crushmap-controller-model.txt ${D}${sysconfdir}/sysinv/crushmap-controller-model.txt
+       install -p -D -m 644 etc/sysinv/crushmap-aio-sx.txt ${D}${sysconfdir}/sysinv/crushmap-aio-sx.txt
+       
+       install -d -m 755 ${D}${sysconfdir}/motd.d
+       install -p -D -m 755 etc/sysinv/motd-system ${D}${sysconfdir}/motd.d/10-system
+       
+       install -d -m 755 ${D}${sysconfdir}/sysinv/upgrades
+       install -p -D -m 755 etc/sysinv/delete_load.sh ${D}${sysconfdir}/sysinv/upgrades/delete_load.sh
+       
+       install -m 755 -p -D scripts/sysinv-api ${D}/usr/lib/ocf/resource.d/platform/sysinv-api
+       install -m 755 -p -D scripts/sysinv-conductor ${D}/usr/lib/ocf/resource.d/platform/sysinv-conductor
+       
+       install -m 644 -p -D scripts/sysinv-api.service ${D}${systemd_system_unitdir}/sysinv-api.service
+       install -m 644 -p -D scripts/sysinv-conductor.service ${D}${systemd_system_unitdir}/sysinv-conductor.service
+       
+       #install -p -D -m 755 ${D}/usr/bin/sysinv-api ${D}/usr/bin/sysinv-api
+       #install -p -D -m 755 ${D}/usr/bin/sysinv-agent ${D}/usr/bin/sysinv-agent
+       #install -p -D -m 755 ${D}/usr/bin/sysinv-conductor ${D}/usr/bin/sysinv-conductor
+       
+       install -d -m 755 ${D}${bindir}/
+       install -p -D -m 755 sysinv/cmd/partition_info.sh ${D}${bindir}/partition_info.sh
+       install -p -D -m 755 sysinv/cmd/manage-partitions ${D}${bindir}/manage-partitions
+       install -p -D -m 755 sysinv/cmd/query_pci_id ${D}${bindir}/query_pci_id
+
+       sed -i -e 's|/usr/local/bin|${bindir}|' \
+               ${D}${libdir}/python2.7/site-packages/sysinv/common/constants.py \
+               ${D}${libdir}/python2.7/site-packages/sysinv/puppet/common.py
+}
+
diff --git a/meta-starlingx/meta-stx-flock/stx-config/tsconfig.bb b/meta-starlingx/meta-stx-flock/stx-config/tsconfig.bb
new file mode 100644 (file)
index 0000000..a0b3555
--- /dev/null
@@ -0,0 +1,17 @@
+require config-common.inc
+
+SUBPATH0 = "tsconfig/tsconfig"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit setuptools
+
+RDEPENDS_${PN} = " bash"
+
+do_install_append () {
+
+       install -m 755 -d ${D}/${bindir}
+       install -m 500 scripts/tsconfig ${D}/${bindir}/
+
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-config/workerconfig.bb b/meta-starlingx/meta-stx-flock/stx-config/workerconfig.bb
new file mode 100644 (file)
index 0000000..b6162f6
--- /dev/null
@@ -0,0 +1,91 @@
+PACKAGES += " \
+       workerconfig-standalone \
+       workerconfig-subfunction \
+       "
+
+require config-common.inc
+
+SUBPATH0 = "workerconfig/workerconfig"
+
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append = "bash"
+RDEPENDS_workerconfig-standalone += "workerconfig"
+RDEPENDS_workerconfig-subfunction += "workerconfig"
+
+systemddir = "${sysconfdir}/systemd/system"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+       oe_runmake -e GOENABLEDDIR=${D}/${sysconfdir}/goenabled.d  INITDDIR=${D}/${sysconfdir}/init.d \
+               SYSTEMDDIR=${D}/${systemddir} install
+
+       sed -i -e 's|/usr/local/bin|${bindir}|' \
+               ${D}${sysconfdir}/init.d/worker_config
+}
+
+FILES_${PN} = " \
+       ${sysconfdir}/init.d/worker_config \
+       "
+
+FILES_workerconfig-standalone = " \
+       ${systemddir}/config/workerconfig-standalone.service \
+       ${sysconfdir}/goenabled.d/config_goenabled_check.sh \
+       "
+
+FILES_workerconfig-subfunction = "  \
+       ${sysconfdir}/systemd/system/config/workerconfig-combined.service \
+       "
+
+pkg_postinst_workerconfig-standalone () {
+       if [ ! -e $D${systemddir}/workerconfig.service ]; then
+               cp $D${systemddir}/config/workerconfig-standalone.service $D${systemddir}/workerconfig.service
+       else
+               rm -f $D${systemddir}/workerconfig.service
+               cp $D${systemddir}/config/workerconfig-standalone.service $D${systemddir}/workerconfig.service
+       fi
+
+       # enable workerconfig service by default
+       OPTS=""
+       if [ -n "$D" ]; then
+               OPTS="--root=$D"
+       fi
+       if [ -z "$D" ]; then
+               systemctl daemon-reload
+       fi
+
+       systemctl $OPTS enable workerconfig.service
+
+       if [ -z "$D" ]; then
+               systemctl --no-block restart workerconfig.service
+       fi
+}
+
+
+pkg_postinst_workerconfig-subfunction () {
+       if [ ! -e $D${systemddir}/workerconfig.service ]; then
+               cp $D${systemddir}/config/workerconfig-combined.service $D${systemddir}/workerconfig.service
+       else
+               rm -f $D${systemddir}/workerconfig.service
+               cp $D${systemddir}/config/workerconfig-combined.service $D${systemddir}/workerconfig.service
+       fi
+
+       # enable workerconfig service by default
+       OPTS=""
+       if [ -n "$D" ]; then
+               OPTS="--root=$D"
+       fi
+       if [ -z "$D" ]; then
+               systemctl daemon-reload
+       fi
+
+       systemctl $OPTS enable workerconfig.service
+
+       if [ -z "$D" ]; then
+               systemctl --no-block restart workerconfig.service
+       fi
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-distributedcloud/distributedcloud-client-dcmanager_git.bb b/meta-starlingx/meta-stx-flock/stx-distributedcloud/distributedcloud-client-dcmanager_git.bb
new file mode 100644 (file)
index 0000000..a9f2ecd
--- /dev/null
@@ -0,0 +1,42 @@
+DESCRIPTION = " \
+       Client library for Distributed Cloud built on the Distributed Cloud API. \
+       It provides a command-line tool (dcmanager).  \
+       Distributed Cloud provides configuration and management of distributed clouds \
+       "
+
+HOMEPAGE = "https://opendev.org/starlingx"
+SECTION = "network"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://distributedcloud-client/LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCNAME = "distcloud-client"
+SRCREV = "8a8f01dd3701d4793dd8cbc0147e4dca49cd7c03"
+PV = "1.0.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       "
+
+inherit distutils python-dir
+
+DEPENDS += " \
+       python-pbr-native \
+       "
+
+do_configure() {
+       cd ${S}/distributedcloud-client
+       distutils_do_configure
+}
+
+do_compile() {
+       cd ${S}/distributedcloud-client
+       distutils_do_compile
+}
+
+do_install() {
+       cd ${S}/distributedcloud-client
+       distutils_do_install
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-distributedcloud/distributedcloud_git.bb b/meta-starlingx/meta-stx-flock/stx-distributedcloud/distributedcloud_git.bb
new file mode 100644 (file)
index 0000000..9edf21d
--- /dev/null
@@ -0,0 +1,232 @@
+DESCRIPTION = "StarlingX distributedcloud packages collection"
+HOMEPAGE = "https://opendev.org/starlingx"
+SECTION = "network"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://distributedcloud/LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCNAME = "distcloud"
+SRCREV = "8329259704a5becd036663fc7de9b7a61f4bc27e"
+PV = "1.0.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       "
+
+PACKAGES += "distributedcloud-dcmanager"
+PACKAGES += "distributedcloud-dcorch"
+PACKAGES += "distributedcloud-dcdbsync"
+PACKAGES += "distributedcloud-ocf"
+DESCRIPTION_distributedcloud-dcmanager = "Distributed Cloud Manager"
+DESCRIPTION_distributedcloud-dcorch = "Distributed Cloud Orchestrator"
+DESCRIPTION_distributedcloud-dcdbsync = "DC DCorch DBsync Agent"
+
+DEPENDS += " \
+       python-pbr-native \
+       "
+
+ALL_RDEPENDS = " \
+       python-pycrypto \
+       python-cryptography \
+       python-eventlet \
+       python-setuptools \
+       python-jsonschema \
+       python-keyring \
+       python-keystonemiddleware \
+       python-keystoneauth1 \
+       python-netaddr \
+       python-oslo.concurrency \
+       python-oslo.config \
+       python-oslo.context \
+       python-oslo.db \
+       python-oslo.i18n \
+       python-oslo.log \
+       python-oslo.messaging \
+       python-oslo.middleware \
+       python-oslo.policy \
+       python-oslo.rootwrap \
+       python-oslo.serialization \
+       python-oslo.service \
+       python-oslo.utils \
+       python-oslo.versionedobjects \
+       python-pbr \
+       python-pecan \
+       python-routes \
+       python-sphinx \
+       python-pyopenssl \
+       systemd \
+       python-babel \
+       distributedcloud-ocf \
+       "
+# TODO: 
+# Check dependencies
+#      python-sphinxcontrib-httpdomain
+
+RDEPENDS_distributedcloud-dcmanager  += "  ${ALL_RDEPENDS}"
+RDEPENDS_distributedcloud-dcorch += "  ${ALL_RDEPENDS}"
+RDEPENDS_distributedcloud-dcdbsync+= " ${ALL_RDEPENDS}"
+       
+
+inherit distutils python-dir
+
+do_configure() {
+       cd ${S}/distributedcloud
+       distutils_do_configure
+}
+
+do_compile() {
+       cd ${S}/distributedcloud
+       distutils_do_compile
+}
+
+do_install() {
+       cd ${S}/distributedcloud
+       distutils_do_install
+
+       SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
+
+       # dcmanager
+       install -d -m 0755 ${D}/var/log/dcmanager
+       install -d -m 0755 ${D}/var/cache/dcmanager
+       install -d -m 0755 ${D}/${sysconfdir}/dcmanager
+       install -d -m 0755 ${D}/${sysconfdir}/tempfiles.d
+       install -d -m 0755 ${D}/${datadir}/starlingx/distrbutedcloud-config-files/
+       install -d -m 0755 ${D}/${systemd_system_unitdir}
+       install -d -m 0755 ${D}/opt/dc/ansible
+
+       # Install systemd unit files
+       install -p -D -m 0644 centos/files/dcmanager-api.service ${D}/${systemd_system_unitdir}/
+       install -p -D -m 0644 centos/files/dcmanager-manager.service ${D}/${systemd_system_unitdir}/
+       install -p -D -m 0755 centos/files/dcmanager.conf ${D}/${sysconfdir}/tempfiles.d
+
+       # Install default config files
+       # defer postinst_ontarget
+       install -p -m 0644 dcmanager//config-generator.conf ${D}/${SRCPATH}/dcmanager-config-generator.conf
+
+       # dcorch
+       install -d -m 0755 ${D}/var/log/dcorch
+       install -d -m 0755 ${D}/var/cache/dcorch
+       install -d -m 0755 ${D}/${sysconfdir}/dcorch
+
+       # Install systemd unit files
+       install -p -D -m0644 centos/files/dcorch-api.service ${D}/${systemd_system_unitdir}/
+       install -p -D -m0644 centos/files/dcorch-engine.service ${D}/${systemd_system_unitdir}/
+       install -p -D -m0644 centos/files/dcorch-sysinv-api-proxy.service ${D}/${systemd_system_unitdir}/
+       install -p -D -m0644 centos/files/dcorch-snmp.service ${D}/${systemd_system_unitdir}/
+       install -p -D -m0644 centos/files/dcorch-identity-api-proxy.service ${D}/${systemd_system_unitdir}/
+       install -p -D -m0644 centos/files/dcorch.conf ${D}/${sysconfdir}/tempfiles.d
+
+       # Install ocf scripts
+       install -d -m 0755 ${D}/${libdir}/ocf/resource.d/openstack/ocf
+       install -m 0644 \
+               ocf/dcdbsync-api \
+               ocf/dcmanager-api \
+               ocf/dcmanager-manager \
+               ocf/dcorch-cinder-api-proxy \
+               ocf/dcorch-engine \
+               ocf/dcorch-identity-api-proxy \
+               ocf/dcorch-neutron-api-proxy \
+               ocf/dcorch-nova-api-proxy \
+               ocf/dcorch-patch-api-proxy \
+               ocf/dcorch-snmp \
+               ocf/dcorch-sysinv-api-proxy ${D}/${libdir}/ocf/resource.d/openstack/
+
+       # Install default config files
+       # defer postinst_ontarget
+       install -p -m 0644 dcorch/config-generator.conf ${D}/${SRCPATH}/dcorch-config-generator.conf
+
+       # dc dbsync agent
+       install -d -m 755 ${D}/var/log/dcdbsync
+       install -d -m 755 ${D}/var/cache/dcdbsync
+       install -d -m 755 ${D}/${sysconfdir}/dcdbsync/
+
+       # Install systemd unit files
+       install -p -D -m 644 centos/files/dcdbsync-api.service ${D}/${systemd_system_unitdir}/dcdbsync-api.service
+       # ???? CheckInstall systemd unit files for optional second instance
+       install -p -D -m 644 centos/files/dcdbsync-openstack-api.service ${D}/${systemd_system_unitdir}/dcdbsync-openstack-api.service
+       install -p -D -m 644 centos/files/dcdbsync.conf  ${D}/${sysconfdir}/tmpfiles.d
+
+       # Install default config files
+       # defer postinst_ontarget
+       install -p -m 0644 dcdbsync/config-generator.conf ${D}/${SRCPATH}/dcdbsync-config-generator.conf
+}
+
+
+pkg_postinst_ontarget_distributedcloud-dcmanager() {
+       SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
+       oslo-config-generator --config-file ${SRCPATH}/dcmanager-config-generator.conf \
+               --output-file ${sysconfdir}/dcmanager/dcmanager.conf.sample
+}
+
+pkg_postinst_ontarget_distributedcloud-dcorch() {
+       SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
+       oslo-config-generator --config-file ${SRCPATH}/dcorch-config-generator.conf \
+               --output-file ${sysconfdir}/dcorch/dcorch.conf.sample
+}
+
+
+pkg_postinst_ontarget_distributedcloud-dcdbsync() {
+       SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
+       oslo-config-generator --config-file ${SRCPATH}/dcdbsync-config-generator.conf \
+               --output-file ${sysconfdir}/dcdbsync/dcdbsync.conf.sample
+}
+
+FILES_${PN} = " \
+  /var/volatile \
+  /var/log \
+  /var/volatile/log \
+  /etc/tmpfiles.d \
+  "
+
+FILES_distributedcloud-ocf = " \
+       ${libdir}/ocf/resource.d/openstack  \
+       "
+
+FILES_distributedcloud-dcdbsync = " \
+       ${PYTHON_SITEPACKAGES_DIR}/dcdbsync \
+       ${PYTHON_SITEPACKAGES_DIR}/dcdbsync-*.egg.info \
+       /var/cache/dcdbsync \
+       /var/volatile/log/dcdbsync \
+       ${bindir}/dcdbsync-api \
+       ${systemd_system_unitdir}/dcdbsync-api.service \
+       ${systemd_system_unitdir}/dcdbsync-openstack-api.service \
+       ${sysconfdir}/dcdbsync/ \
+       ${datadir}/starlingx/distrbutedcloud-config-files/dcdbsync-config-generator.conf \
+       "
+
+FILES_distributedcloud-dcorch = " \
+       ${PYTHON_SITEPACKAGES_DIR}/dcorch \
+       ${PYTHON_SITEPACKAGES_DIR}/distributedcloud-*.egg-info \
+       ${bindir}/dcorch-api \
+       ${systemd_system_unitdir}/dcorch-api.service \
+       ${bindir}/dcorch-engine \
+       ${systemd_system_unitdir}/dcorch-engine.service \
+       ${bindir}/dcorch-api-proxy \
+       ${systemd_system_unitdir}/dcorch-sysinv-api-proxy.service \
+       ${systemd_system_unitdir}/dcorch-identity-api-proxy.service \
+       ${bindir}/dcorch-manage \
+       ${bindir}/dcorch-snmp \
+       ${systemd_system_unitdir}/dcorch-snmp.service \
+       ${sysconfdir}/tempfiles.d/dcorch.conf \
+       /var/cache/dcorch \
+       ${sysconfdir}/dcorch \
+       ${datadir}/starlingx/distrbutedcloud-config-files/dcorch-config-generator.conf \
+       "
+
+FILES_distributedcloud-dcmanager = " \
+       ${PYTHON_SITEPACKAGES_DIR}/dcmanager \
+       ${PYTHON_SITEPACKAGES_DIR}/distributedcloud-*.egg-info \
+       ${bindir}/dcmanager-api \
+       ${systemd_system_unitdir}/dcmanager-api.service \
+       ${bindir}/dcmanager-manager \
+       ${systemd_system_unitdir}/dcmanager-manager.service \
+       ${bindir}/dcmanager-manage \
+       ${sysconfdir}/tmpfiles.d/dcmanager.conf \
+       /var/cache/dcmanager \
+       ${sysconfdir}/dcmanager \
+       ${sysconfdir}/tempfiles.d/dcmanager.conf \
+       /opt/dc/ansible  \
+       ${datadir}/starlingx/distrbutedcloud-config-files/dcmanager-config-generator.conf \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-fault/fault-common.inc b/meta-starlingx/meta-stx-flock/stx-fault/fault-common.inc
new file mode 100644 (file)
index 0000000..33e7fe7
--- /dev/null
@@ -0,0 +1,30 @@
+DESCRIPTION = "stx-fault"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCREV_opendev = "2025f585c5b92890c8cb32c480b0151c7c1cb545"
+DESTSUFFIX = "${PN}-${PV}"
+SRCREV = "2025f585c5b92890c8cb32c480b0151c7c1cb545"
+PV = "1.0.0"
+
+LICENSE = "Apache-2.0"
+
+DEPENDS = " \
+        util-linux \
+        postgresql \
+        python \
+        python-pbr-native \
+        python-six \
+        python-oslo.i18n \
+        python-oslo.utils \
+        python-requests \
+        bash \
+        net-snmp \
+"
+
+RDEPENDS_${PN} += " bash"
+
+
+SRC_URI = " \
+   git://opendev.org/starlingx/fault.git;protocol=${PROTOCOL};rev=${SRCREV};destsuffix=${DESTSUFFIX};branch=${BRANCH};subpath=${SUBPATH0};name=opendev \
+   "
diff --git a/meta-starlingx/meta-stx-flock/stx-fault/files/0001-fm-common-add-LDFLAGS.patch b/meta-starlingx/meta-stx-flock/stx-fault/files/0001-fm-common-add-LDFLAGS.patch
new file mode 100644 (file)
index 0000000..45938b2
--- /dev/null
@@ -0,0 +1,32 @@
+From 78585fade2d47fc0aa98b7e2fb494385466007da Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Thu, 27 Jun 2019 14:36:59 -0700
+Subject: [PATCH 1/2] Honor the build system LDFLAGS
+
+---
+ Makefile | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 7b1ea03..7c7e4c7 100755
+--- a/Makefile
++++ b/Makefile
+@@ -25,12 +25,13 @@ build: lib fmClientCli
+       $(CXX) $(CCFLAGS) $(INCLUDES) $(EXTRACCFLAGS) -c $< -o $@
+ lib: $(OBJS)
+-      $(CXX) -Wl,-soname,$(LIBFMCOMMON_SO).$(MAJOR) -o $(LIBFMCOMMON_SO).$(MAJOR).$(MINOR) -shared $(OBJS) $(EXTRAARFLAGS) ${LDLIBS}
++      $(CXX) $(LDFLAGS) -Wl,-soname,$(LIBFMCOMMON_SO).$(MAJOR) \
++              -o $(LIBFMCOMMON_SO).$(MAJOR).$(MINOR) $(OBJS) $(EXTRAARFLAGS) ${LDLIBS}
+       ln -sf $(LIBFMCOMMON_SO).$(MAJOR).$(MINOR) $(LIBFMCOMMON_SO).$(MAJOR)
+       ln -sf $(LIBFMCOMMON_SO).$(MAJOR).$(MINOR) $(LIBFMCOMMON_SO)
+ fmClientCli: $(CLI_OBJS) lib
+-      $(CXX) -o $@ $(CLI_OBJS) -L./ -lfmcommon
++      $(CXX) $(LDFLAGS) -o $@ $(CLI_OBJS) -L./ -lfmcommon
+ clean:
+       @rm -f $(OBJ) *.o *.so fmClientCli
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-fault/files/0001-fm-mgr-Fix-install-target.patch b/meta-starlingx/meta-stx-flock/stx-fault/files/0001-fm-mgr-Fix-install-target.patch
new file mode 100644 (file)
index 0000000..623b256
--- /dev/null
@@ -0,0 +1,28 @@
+From 665d2fa1e06e91db0a2a72fcbb2aa823e02b0a3d Mon Sep 17 00:00:00 2001
+From: Saul Wold <sgw@linux.intel.com>
+Date: Mon, 4 May 2020 11:57:46 -0700
+Subject: [PATCH] fm-mgr: Fix install target
+
+Remove hardcoded UNITDIR in favor of variable
+
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 0d683c3..9bca4ab 100755
+--- a/Makefile
++++ b/Makefile
+@@ -27,7 +27,7 @@ clean:
+        @rm -f $(OBJS)
+ install:
+-      mkdir -p $(DESTDIR)/usr/lib/systemd/system
++      mkdir -p $(DESTDIR)/$(UNITDIR)
+       install -m 755 -d $(DESTDIR)$(SYSCONFDIR)
+       install -m 755 -d $(DESTDIR)$(SYSCONFDIR)/init.d
+       install -m 755 -d $(DESTDIR)$(SYSCONFDIR)/logrotate.d
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-fault/files/0001-snmp-audittrail-add-LDFLAGS.patch b/meta-starlingx/meta-stx-flock/stx-fault/files/0001-snmp-audittrail-add-LDFLAGS.patch
new file mode 100644 (file)
index 0000000..326374d
--- /dev/null
@@ -0,0 +1,25 @@
+From ee51474dd6756492d1487304ce83b878b8867f6b Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Mon, 8 Jul 2019 21:50:24 -0700
+Subject: [PATCH] Use build systems LDFLAGS
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 6f7469c..bb55765 100644
+--- a/Makefile
++++ b/Makefile
+@@ -16,7 +16,7 @@ build: lib
+       $(CXX) $(CCFLAGS) $(INCLUDES) -c $< -o $@
+ lib: $(OBJS)
+-      $(CXX) $(OBJS) $(LDLIBS) -o $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) -shared
++      $(CXX) $(OBJS) $(LDFLAGS) $(LDLIBS) -o $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) 
+       ln -sf $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) $(LIBCGTSAGENT_SO).$(MAJOR)
+       ln -sf $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) $(LIBCGTSAGENT_SO)
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-fault/files/0001-snmp-ext-add-LDFLAGS.patch b/meta-starlingx/meta-stx-flock/stx-fault/files/0001-snmp-ext-add-LDFLAGS.patch
new file mode 100644 (file)
index 0000000..6d5079d
--- /dev/null
@@ -0,0 +1,25 @@
+From e452f7eaf630f7ab5de240c51ddce14c9329d580 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Mon, 8 Jul 2019 21:56:11 -0700
+Subject: [PATCH] snmp-ext use build systems LDFLAGS
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 408ea34..c00febe 100644
+--- a/Makefile
++++ b/Makefile
+@@ -23,7 +23,7 @@ LIBCGTSAGENT_SO := libcgtsAgentPlugin.so
+       $(CXX) $(CCFLAGS) $(INCLUDES) -c $< -o $@
+ lib: $(OBJS)
+-      $(CXX) $(OBJS) $(LDLIBS) -o $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) -shared
++      $(CXX) $(OBJS) $(LDFLAGS) $(LDLIBS) -o $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) 
+       ln -sf $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) $(LIBCGTSAGENT_SO).$(MAJOR)
+       ln -sf $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) $(LIBCGTSAGENT_SO)
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-fault/fm-api.bb b/meta-starlingx/meta-stx-flock/stx-fault/fm-api.bb
new file mode 100644 (file)
index 0000000..4d7f7e3
--- /dev/null
@@ -0,0 +1,6 @@
+inherit setuptools
+
+require fault-common.inc
+
+SUBPATH0 = "fm-api"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
diff --git a/meta-starlingx/meta-stx-flock/stx-fault/fm-common.bb b/meta-starlingx/meta-stx-flock/stx-fault/fm-common.bb
new file mode 100644 (file)
index 0000000..c7e1b40
--- /dev/null
@@ -0,0 +1,37 @@
+inherit autotools
+inherit setuptools
+
+require fault-common.inc
+
+SRC_URI += "file://0001-fm-common-add-LDFLAGS.patch"
+
+SUBPATH0 = "fm-common/sources"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+EXTRA_OEMAKE = '-e INCLUDES="-I./ " \
+               EXTRACCFLAGS=" " \
+               CCFLAGS="${CXXFLAGS} ${CCSHARED}" \
+               LDFLAGS="${LDFLAGS} -shared" \
+               LIBDIR=${libdir} \
+               INCDIR=${includedir} \
+               CGCS_DOC_DEPLOY=${docdir} \
+               DESTDIR=${D} \
+               BINDIR=${bindir} \
+              '
+
+do_configure_prepend () {
+    sed -i -e 's|/usr/local/bin|${bindir}|' ${S}/fmConstants.h
+    cd ${S}
+} 
+
+
+# need to build fm-common library first then setup.py can run
+do_compile_prepend() {
+       cd ${S}
+       autotools_do_compile
+}
+
+do_install_prepend() {
+       cd ${S}
+       autotools_do_install
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-fault/fm-doc.bb b/meta-starlingx/meta-stx-flock/stx-fault/fm-doc.bb
new file mode 100644 (file)
index 0000000..ffa394b
--- /dev/null
@@ -0,0 +1,22 @@
+require fault-common.inc
+
+SUBPATH0 = "fm-doc/fm_doc"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+do_configure () {
+     :
+}
+
+do_compile () {
+     :
+}
+
+do_install () {
+    install -d -m 755 ${D}/${docdir}
+    install -d -m 755 ${D}/${sysconfdir}/fm
+    install -m 744 events.yaml ${D}/${sysconfdir}/fm/
+    install -m 644 events.yaml ${D}/${docdir}
+    install -m 755 checkEventYaml ${D}/${docdir}
+    install -m 644 parseEventYaml.py ${D}/${docdir}
+    install -m 644 check_missing_alarms.py ${D}/${docdir}
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-fault/fm-mgr.bb b/meta-starlingx/meta-stx-flock/stx-fault/fm-mgr.bb
new file mode 100644 (file)
index 0000000..c39271f
--- /dev/null
@@ -0,0 +1,39 @@
+inherit systemd
+require fault-common.inc
+
+SRC_URI += "file://0001-fm-mgr-Fix-install-target.patch"
+
+SUBPATH0 = "fm-mgr/sources"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS += "fm-common"
+
+EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS} -L${S}/fm-common/sources" \
+               CCFLAGS="${CXXFLAGS}" \
+               INCLUDES="-I. -I${S}/fm-common/sources" \
+                BINDIR="${bindir}" \
+               LIBDIR="${libdir}" \
+                UNITDIR="${systemd_system_unitdir}" \
+                DESTDIR="${D}" \
+               '
+do_install () {
+       oe_runmake install
+       # fix the path for init scripts
+       sed -i -e 's|rc.d/||' ${D}/${systemd_system_unitdir}/*.service
+
+       # fix the path for binaries
+       sed -i -e 's|/usr/local/bin/|${bindir}/|' ${D}${sysconfdir}/init.d/fminit
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "fminit.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+inherit useradd
+
+USERADD_PACKAGES = "fm-mgr"
+USERADD_PARAM_fm-mgr = "-r -g fm -u 195 -d /var/lib/fm -s /sbin/nologin -c 'fm-mgr' fm"
+GROUPADD_PARAM_fm-mgr = "-r -g 195 fm"
+
+RDEPENDS_${PN}_append = " net-snmp-server-snmpd"
diff --git a/meta-starlingx/meta-stx-flock/stx-fault/fm-rest-api.bb b/meta-starlingx/meta-stx-flock/stx-fault/fm-rest-api.bb
new file mode 100644 (file)
index 0000000..aadcd36
--- /dev/null
@@ -0,0 +1,47 @@
+inherit setuptools
+
+require fault-common.inc
+SUBPATH0 = "fm-rest-api/fm"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+
+do_install_append() {
+       install -d -m 755 ${D}/${systemd_system_unitdir}
+       install -p -D -m 644 scripts/fm-api.service ${D}/${systemd_system_unitdir}
+       install -p -D -m 755 scripts/fm-api ${D}/${sysconfdir}/init.d/fm-api
+       install -p -D -m 644 fm-api-pmond.conf ${D}/${sysconfdir}/pmon.d/fm-api.conf
+       
+       # fix the path for init scripts
+       sed -i -e 's|rc.d/||' ${D}/${systemd_system_unitdir}/*.service
+}
+
+inherit systemd
+SYSTEMD_PACKAGES += "fm-rest-api"
+SYSTEMD_SERVICE_${PN} = "fm-api.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+
+# For fm.conf
+RDEPENDS_${PN} += " python-oslo.config"
+
+pkg_postinst_ontarget_${PN}() {
+
+cat > /etc/fm/config-generator.conf << EOF
+[DEFAULT]
+output_file = fm.conf.sample
+wrap_width = 79
+namespace = fm.api.conf
+namespace = keystonemiddleware.auth_token
+namespace = oslo.middleware
+namespace = oslo.log
+namespace = oslo.policy
+namespace = oslo.db
+EOF
+
+       oslo-config-generator --config-file /etc/fm/config-generator.conf --output-file /etc/fm/fm.conf.sample
+       mv /etc/fm/fm.conf.sample /etc/fm/fm.conf
+       rm /etc/fm/config-generator.conf
+}
+
diff --git a/meta-starlingx/meta-stx-flock/stx-fault/python-fmclient.bb b/meta-starlingx/meta-stx-flock/stx-fault/python-fmclient.bb
new file mode 100644 (file)
index 0000000..78f6b2e
--- /dev/null
@@ -0,0 +1,6 @@
+inherit setuptools
+
+require fault-common.inc
+
+SUBPATH0 = "python-fmclient/fmclient"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
diff --git a/meta-starlingx/meta-stx-flock/stx-fault/snmp-audittrail.bb b/meta-starlingx/meta-stx-flock/stx-fault/snmp-audittrail.bb
new file mode 100644 (file)
index 0000000..95d2452
--- /dev/null
@@ -0,0 +1,21 @@
+require fault-common.inc
+
+DEPENDS += "fm-common net-snmp"
+
+SRC_URI += "file://0001-snmp-audittrail-add-LDFLAGS.patch"
+
+SUBPATH0 = "snmp-audittrail/sources"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+EXTRA_OEMAKE = '-e PATCH=0 \
+                INCLUDES="-I. -I${S}/fm-common/sources" \
+                LDFLAGS="${LDFLAGS} -shared -L${S}/fm-common/sources" \
+                CCFLAGS="${CXXFLAGS} -fPIC" \
+                DEST_DIR="${D}" LIB_DIR="${libdir}" \
+                MIBVER=0'
+
+do_install() {
+       cd ${S}
+       oe_runmake -e DESTDIR=${D} BIN_DIR=${bindir} UNIT_DIR=${systemd_system_unitdir} \
+               LIB_DIR=${libdir} INC_DIR=${includedir} DATA_DIR=${datadir} install
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-fault/snmp-ext.bb b/meta-starlingx/meta-stx-flock/stx-fault/snmp-ext.bb
new file mode 100644 (file)
index 0000000..d1e6761
--- /dev/null
@@ -0,0 +1,24 @@
+require fault-common.inc
+
+DEPENDS += "fm-common snmp-audittrail"
+
+SRC_URI += "file://0001-snmp-ext-add-LDFLAGS.patch"
+
+SUBPATH0 = "snmp-ext/sources"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+EXTRA_OEMAKE = '-e PATCH=0 \
+               INCLUDES="-I. -I${S}/fm-common/sources" \
+               LDFLAGS="${LDFLAGS} -shared -L${S}/fm-common/sources" \
+               CCFLAGS="${CXXFLAGS} -fPIC" \
+                DEST_DIR="${D}" LIB_DIR="${libdir}" \
+                MIBVER=0 \
+               '
+
+do_install() {
+       cd ${S}
+       oe_runmake -e DEST_DIR=${D} BIN_DIR=${bindir} UNIT_DIR=${systemd_system_unitdir} \
+               LIB_DIR=${libdir} INC_DIR=${includedir} DATA_DIR=${datadir} install
+}
+
+FILES_${PN}_append = " ${datadir}/"
diff --git a/meta-starlingx/meta-stx-flock/stx-gui/stx-gui.bb b/meta-starlingx/meta-stx-flock/stx-gui/stx-gui.bb
new file mode 100644 (file)
index 0000000..f51797b
--- /dev/null
@@ -0,0 +1,67 @@
+DESCRIPTION = "stx-gui"
+
+PACKAGES = "starlingx-dashboard"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCREV = "d1c22e49a95f92e91049b96f44e685f46785977c"
+S = "${WORKDIR}/git"
+PV = "1.0.0"
+
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+
+
+SRC_URI = "git://opendev.org/starlingx/gui.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit distutils python-dir
+
+DEPENDS = "\
+       python \
+       python-pbr-native \
+       "
+
+RDEPENDS_starlingx-dashboard += " \
+       python-django-horizon \
+       "
+
+RDEPENDS_starlingx-dashboard_append = " \
+       ${PYTHON_PN}-cephclient \
+       "
+
+do_configure () {
+       cd ${S}/starlingx-dashboard/starlingx-dashboard
+       distutils_do_configure
+}
+
+
+do_compile () {
+       cd ${S}/starlingx-dashboard/starlingx-dashboard
+       distutils_do_compile
+}
+
+
+do_install () {
+       cd ${S}/starlingx-dashboard/starlingx-dashboard
+       distutils_do_install
+
+       install -d -m 0755 ${D}/${datadir}/openstack-dashboard/openstack_dashboard/enabled/
+       install -d -m 0755 ${D}/${datadir}/openstack-dashboard/openstack_dashboard/themes/starlingx/
+       install -d -m 0755 ${D}/${datadir}/openstack-dashboard/openstack_dashboard/local/local_settings.d
+       cp -ra ${D}${PYTHON_SITEPACKAGES_DIR}/starlingx_dashboard/enabled/* \
+                       ${D}/${datadir}/openstack-dashboard/openstack_dashboard/enabled/
+       cp -ra ${D}${PYTHON_SITEPACKAGES_DIR}/starlingx_dashboard/themes/starlingx/* \
+                       ${D}/${datadir}/openstack-dashboard/openstack_dashboard/themes/starlingx/
+       cp -ra ${D}${PYTHON_SITEPACKAGES_DIR}/starlingx_dashboard/local/local_settings.d/* \
+                       ${D}/${datadir}/openstack-dashboard/openstack_dashboard/local/local_settings.d
+       # comment out this line with syntax error
+       sed -i -e 's|^OPENSTACK_NEUTRON_NETWORK|# &|' \
+                       ${D}/${datadir}/openstack-dashboard/openstack_dashboard/local/local_settings.d/_30_stx_local_settings.py
+}
+
+FILES_starlingx-dashboard = " \
+       ${PYTHON_SITEPACKAGES_DIR} \
+       ${datadir}/openstack-dashboard/openstack_dashboard \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-ha/files/0001-libsm_watchdog_nfs-add-missing-dependency-on-libsm_c.patch b/meta-starlingx/meta-stx-flock/stx-ha/files/0001-libsm_watchdog_nfs-add-missing-dependency-on-libsm_c.patch
new file mode 100644 (file)
index 0000000..888047e
--- /dev/null
@@ -0,0 +1,35 @@
+From 0374eb585bc3e47e914c7f523f904923a447d2f7 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Sat, 27 Jun 2020 10:26:58 +0800
+Subject: [PATCH] libsm_watchdog_nfs: add missing dependency on libsm_common.so
+
+Add missing dependency on libsm_common.so in Makefile for libsm_watchdog_nfs
+to avoid race condition issue:
+
+| ../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/8.3.0/ld: cannot
+|  find -lsm_common
+| collect2: error: ld returned 1 exit status
+| make: *** [libsm_watchdog_nfs.so.0] Error 1
+
+Upstream-Status: Submitted [https://review.opendev.org/759787]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ service-mgmt/sm-common/src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/service-mgmt/sm-common/src/Makefile b/service-mgmt/sm-common/src/Makefile
+index 7d138f9..487dfa0 100644
+--- a/service-mgmt/sm-common/src/Makefile
++++ b/service-mgmt/sm-common/src/Makefile
+@@ -53,7 +53,7 @@ libsm_watchdog_nfs.so: libsm_watchdog_nfs.so.$(VER_MJR)
+ libsm_watchdog_nfs.so.$(VER_MJR): libsm_watchdog_nfs.so.$(VER)
+       ln -sf $^ $@
+
+-libsm_watchdog_nfs.so.$(VER): libsm_common.so.$(VER)
++libsm_watchdog_nfs.so.$(VER): libsm_common.so.$(VER) libsm_common.so
+       $(CXX) $(INCLUDES) $(CCFLAGS) $(EXTRACCFLAGS) sm_watchdog_nfs.c ${LDFLAGS} $(LDLIBS) -L./ -lsm_common -Wl,-soname,libsm_watchdog_nfs.so.$(VER_MJR) -o $@
+
+ sm_watchdog: libsm_common.so
+--
+2.7.4
diff --git a/meta-starlingx/meta-stx-flock/stx-ha/files/0001-sm-db-Fix-dest-libdir.patch b/meta-starlingx/meta-stx-flock/stx-ha/files/0001-sm-db-Fix-dest-libdir.patch
new file mode 100644 (file)
index 0000000..25e94db
--- /dev/null
@@ -0,0 +1,47 @@
+From 128062759147c9a903d14ad7edbe6ead04f95812 Mon Sep 17 00:00:00 2001
+From: "Sar Ashki, Babak" <Babak.SarAshki@windriver.com>
+Date: Fri, 24 Jan 2020 13:10:02 -0800
+Subject: [PATCH 1/2] Allow user to define destination libdir
+
+---
+ service-mgmt/sm-db/src/Makefile | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index a29b1ac..379ea00 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -33,6 +33,10 @@ EXTRACCFLAGS= -D__STDC_FORMAT_MACROS
+ LDLIBS= -lsqlite3 -lglib-2.0 -luuid -lrt -lsm_common
+ LDFLAGS = -shared -rdynamic
++LIB_DIR = /usr/lib64
++BIN_DIR = /usr/bin
++INC_DIR = /usr/include
++
+ build: libsm_db.so sm_db_build
+ .c.o:
+@@ -51,12 +55,13 @@ sm_db_build: ${OBJS}
+       $(CXX) $(INCLUDES) $(CCFLAGS) $(EXTRACCFLAGS) $(OBJS) $(LDLIBS) -o sm_db_build
+ install:
+-      install -d ${DEST_DIR}/usr/lib64
+-      install libsm_db.so.${VER} $(DEST_DIR)/usr/lib64
+-      cp -P libsm_db.so libsm_db.so.$(VER_MJR) $(DEST_DIR)/usr/lib64
+-      install -d ${DEST_DIR}/usr/include
+-      install -m 0644 *.h ${DEST_DIR}/usr/include
+-      install -d 755 ${DEST_DIR}/usr/bin
++      install -d ${DEST_DIR}/${LIB_DIR}
++      install libsm_db.so.${VER} $(DEST_DIR)/${LIB_DIR}
++      cp -P libsm_db.so libsm_db.so.$(VER_MJR) $(DEST_DIR)/${LIB_DIR}
++      install -d ${DEST_DIR}/${INC_DIR}
++      install -m 0644 *.h ${DEST_DIR}/${INC_DIR}
++      install -d 755 ${DEST_DIR}/${BIN_DIR}
++      install -m 0744 sm_db_build ${DEST_DIR}/${BIN_DIR}
+ clean:
+       @rm -f *.o *.a *.so *.so.*
+-- 
+2.23.0
+
diff --git a/meta-starlingx/meta-stx-flock/stx-ha/files/0001-stx-ha-fix-hardcoded-path-for-sm.patch b/meta-starlingx/meta-stx-flock/stx-ha/files/0001-stx-ha-fix-hardcoded-path-for-sm.patch
new file mode 100644 (file)
index 0000000..971d962
--- /dev/null
@@ -0,0 +1,43 @@
+From 652fda776827b527844bd61864a3b163d5f56a53 Mon Sep 17 00:00:00 2001
+From: Babak Sarashki <Babak.SarAshki@windriver.com>
+Date: Tue, 9 Jun 2020 11:18:24 -0700
+Subject: [PATCH] stx-ha: fix hardcoded path for sm
+
+From commit af44c87f in master branch.
+---
+ service-mgmt/sm-common/src/sm_types.h        | 4 ++--
+ service-mgmt/sm-common/src/sm_watchdog_nfs.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/service-mgmt/sm-common/src/sm_types.h b/service-mgmt/sm-common/src/sm_types.h
+index b71d306..6d85d31 100644
+--- a/service-mgmt/sm-common/src/sm_types.h
++++ b/service-mgmt/sm-common/src/sm_types.h
+@@ -89,9 +89,9 @@ extern "C" {
+ #define SM_DUMP_DATA_FILE                            "/tmp/sm_data_dump.txt"
+ #define SM_TROUBLESHOOT_LOG_FILE                     "/var/log/sm-troubleshoot.log"
+-#define SM_TROUBLESHOOT_SCRIPT                       "/usr/local/sbin/sm-troubleshoot"
++#define SM_TROUBLESHOOT_SCRIPT                       "/usr/sbin/sm-troubleshoot"
+-#define SM_NOTIFICATION_SCRIPT                       "/usr/local/sbin/sm-notification"
++#define SM_NOTIFICATION_SCRIPT                       "/usr/sbin/sm-notification"
+ #define SM_SERVICE_DOMAIN_WEIGHT_MINIMUM              0
+ #define SM_SERVICE_DOMAIN_WEIGHT_UNSELECTABLE_ACTIVE -1
+diff --git a/service-mgmt/sm-common/src/sm_watchdog_nfs.c b/service-mgmt/sm-common/src/sm_watchdog_nfs.c
+index db08599..987d017 100644
+--- a/service-mgmt/sm-common/src/sm_watchdog_nfs.c
++++ b/service-mgmt/sm-common/src/sm_watchdog_nfs.c
+@@ -329,7 +329,7 @@ static void sm_watchdog_nfs_do_reboot( void )
+             open( "/dev/null", O_WRONLY ); // stderr
+         }
+-        execve( "/usr/local/sbin/collect", argv, env );
++        execve( "/usr/sbin/collect", argv, env );
+         // Shouldn't get this far, else there was an error.
+         exit(-1);
+-- 
+2.23.0
+
diff --git a/meta-starlingx/meta-stx-flock/stx-ha/ha-common.inc b/meta-starlingx/meta-stx-flock/stx-ha/ha-common.inc
new file mode 100644 (file)
index 0000000..a1f7a21
--- /dev/null
@@ -0,0 +1,24 @@
+DESCRIPTION = "stx-ha"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCNAME = "ha"
+SRCREV = "a7b7d35b9922a3f2a8462492b7f1958f135a612d"
+SRCREV_opendev = "a7b7d35b9922a3f2a8462492b7f1958f135a612d"
+DESTSUFFIX = "${PN}-${PV}"
+PV = "1.0.0"
+
+SRC_URI = " \
+       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=${DESTSUFFIX};subpath=${SUBPATH0};name=opendev \
+       "
+
+inherit systemd
+
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+DEPENDS += " \
+       fm-common \
+       sqlite3 \
+       python \
+       python-pbr-native \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-ha/libsm-common.bb b/meta-starlingx/meta-stx-flock/stx-ha/libsm-common.bb
new file mode 100644 (file)
index 0000000..55fa092
--- /dev/null
@@ -0,0 +1,75 @@
+PACKAGES += " sm-common-libs"
+PACKAGES += " sm-eru"
+
+require ha-common.inc
+SUBPATH0 = "service-mgmt/sm-common"
+
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI += " \
+       file://0001-stx-ha-fix-hardcoded-path-for-sm.patch;striplevel=3 \
+       file://0001-libsm_watchdog_nfs-add-missing-dependency-on-libsm_c.patch;striplevel=3 \
+       "
+
+DEPENDS_append = " \
+       glib-2.0 \
+       "
+
+inherit pkgconfig
+
+RDEPENDS_sm-common-libs += " \
+       bash \
+       util-linux \
+       systemd \
+       "
+RDEPENDS_sm-eru = " sm-common-libs"
+RDEPENDS_libsm-common = " sm-common-libs"
+
+inherit systemd
+SYSTEMD_PACKAGES += "sm-eru"
+SYSTEMD_SERVICE_sm-eru = "sm-eru.service sm-watchdog.service"
+SYSTEMD_AUTO_ENABLE_sm-eru = "enable"
+
+EXTRA_OEMAKE = ' -e VER=0 VER_MJR=1 \
+               INCLUDES="-I. $(pkg-config --cflags glib-2.0)" \
+               CCFLAGS="${CXXFLAGS} -fPIC" LDFLAGS="${LDFLAGS} -shared -rdynamic" \
+               EXTRACCFLAGS="${LDFLAGS}" \
+               '
+
+do_install_append () {
+       oe_runmake -e BUILDSUBDIR=${B} DEST_DIR=${D} BIN_DIR=${bindir} \
+               UNIT_DIR=${systemd_system_unitdir} LIB_DIR=${libdir} \
+               INC_DIR=${includedir} ETC_DIR=${sysconfdir} VER=0 VER_MJR=1 install
+       if [ -d ${D}/etc/pmon.d ] ; then
+               chmod 0755 ${D}/etc/pmon.d
+       fi
+}
+
+FILES_${PN}-dev_append = " \
+       var/lib/sm/watchdog/modules/libsm_watchdog_nfs.so \
+       "
+
+FILES_${PN} = " \
+       ${libdir}/libsm_common.so.0 \
+       ${libdir}/libsm_common.so.1 \
+       ${libdir}/libsm_common.so \
+       "
+
+FILES_sm-common-libs = " \
+       var/lib/sm/watchdog/modules/libsm_watchdog_nfs.so.0 \
+       var/lib/sm/watchdog/modules/libsm_watchdog_nfs.so.1 \
+       "
+
+FILES_sm-eru = " \
+       ${bindir}/sm-eru \
+       ${bindir}/sm-eru-dump \
+       ${bindir}/sm-watchdog \
+       ${systemd_system_unitdir}/sm-eru.service \
+       ${systemd_system_unitdir}/sm-watchdog.service \
+       ${sysconfdir}/init.d/sm-eru \
+       ${sysconfdir}/pmon.d/sm-eru.conf \
+       ${sysconfdir}/init.d/sm-watchdog \
+       ${sysconfdir}/pmon.d/sm-watchdog.conf \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-ha/sm-api.bb b/meta-starlingx/meta-stx-flock/stx-ha/sm-api.bb
new file mode 100644 (file)
index 0000000..36b1347
--- /dev/null
@@ -0,0 +1,29 @@
+require ha-common.inc
+SUBPATH0 = "service-mgmt-api/sm-api"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append = " \
+       bash \
+       python-six \
+       chkconfig \
+       mtce-pmon \
+       "
+inherit setuptools
+SYSTEMD_PACKAGES += "sm-api"
+SYSTEMD_SERVICE_sm-api = "sm-api.service"
+SYSTEMD_AUTO_ENABLE_sm-api = "enable"
+
+do_install_append () {
+        install -d -m 0755 ${D}/${sysconfdir}/sm
+        install -d -m 0755 ${D}/${sysconfdir}/init.d
+        install -d -m 0755 ${D}/${sysconfdir}/pmon.d
+        install -d -m 0755 ${D}/${sysconfdir}/sm-api
+        install -d -m 0755 ${D}/${systemd_system_unitdir}
+        install -m 644 scripts/sm_api.ini ${D}/${sysconfdir}/sm
+        install -m 755 scripts/sm-api ${D}/${sysconfdir}/init.d
+        install -m 644 scripts/sm-api.service ${D}/${systemd_system_unitdir}
+        install -m 644 scripts/sm-api.conf ${D}/${sysconfdir}/pmon.d
+        install -m 644 etc/sm-api/policy.json ${D}/${sysconfdir}/sm-api
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-ha/sm-client.bb b/meta-starlingx/meta-stx-flock/stx-ha/sm-client.bb
new file mode 100644 (file)
index 0000000..602d7dc
--- /dev/null
@@ -0,0 +1,14 @@
+require ha-common.inc
+SUBPATH0 = "service-mgmt-client/sm-client"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = " \
+       file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2 \
+       "
+
+RDEPENDS_${PN}_append = " \
+       python \
+       python-six \
+       "
+
+inherit setuptools
diff --git a/meta-starlingx/meta-stx-flock/stx-ha/sm-db.bb b/meta-starlingx/meta-stx-flock/stx-ha/sm-db.bb
new file mode 100644 (file)
index 0000000..db24ce6
--- /dev/null
@@ -0,0 +1,35 @@
+require ha-common.inc
+SUBPATH0 = "service-mgmt/sm-db"
+
+DEPENDS_append =  " \
+       sqlite3-native \
+       libsm-common \
+       "
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI += "file://0001-sm-db-Fix-dest-libdir.patch"
+
+EXTRA_OEMAKE = ' -e VER=0 VER_MJR=1 \
+               INCLUDES="-I." \
+               CCFLAGS="${CXXFLAGS} -fPIC" \
+               LDFLAGS="${LDFLAGS} -shared -rdynamic -L${S}/service-mgmt/sm-common/src " \
+               EXTRACCFLAGS="${LDFLAGS} -L${S}/service-mgmt/sm-common/src " \
+               '
+
+do_compile_prepend() {
+       cd ${S}
+       if [ ! -f database/sm.db ]; then 
+               sqlite3 database/sm.db < database/create_sm_db.sql
+       fi
+       if [ ! -f database/sm.hb.db ]; then 
+               sqlite3 database/sm.hb.db < database/create_sm_hb_db.sql
+       fi
+}
+
+do_install() {
+       cd ${S}
+       oe_runmake -e DEST_DIR=${D} BIN_DIR=${bindir} UNIT_DIR=${systemd_system_unitdir} \
+                       LIB_DIR=${libdir} INC_DIR=${includedir} VER=0 VER_MJR=1 install
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-ha/sm-tools.bb b/meta-starlingx/meta-stx-flock/stx-ha/sm-tools.bb
new file mode 100644 (file)
index 0000000..facdbdb
--- /dev/null
@@ -0,0 +1,9 @@
+require ha-common.inc
+SUBPATH0 = "service-mgmt-tools/sm-tools"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append = " python"
+
+inherit setuptools
diff --git a/meta-starlingx/meta-stx-flock/stx-ha/sm.bb b/meta-starlingx/meta-stx-flock/stx-ha/sm.bb
new file mode 100644 (file)
index 0000000..8b7727e
--- /dev/null
@@ -0,0 +1,56 @@
+require ha-common.inc
+SUBPATH0 = "service-mgmt/sm"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_sm += " \
+       bash \
+       python \
+       logrotate \
+       time \
+       systemd \
+       chkconfig \
+       mtce-pmon \
+       "
+
+DEPENDS_append = " \
+       libsm-common \
+       mtce \
+       sm-db \
+       "
+
+EXTRA_OEMAKE = ' \
+       -e -j1 VER=0 VER_MJR=1 \
+       INCLUDES="-I.  $(pkg-config --cflags glib-2.0)" \
+       EXTRACCFLAGS="-I. $(pkg-config --cflags glib-2.0) $(pkg-config --ldflags glib-2.0) -lsqlite3" \
+       CCFLAGS="${CXXFLAGS} -std=c++11" LDFLAGS="${LDFLAGS} -rdynamic" \
+       '
+do_install() {
+       cd ${S}/src
+       oe_runmake -e DEST_DIR=${D} BIN_DIR=${bindir} UNIT_DIR=${systemd_system_unitdir} \
+               LIB_DIR=${libdir} INC_DIR=${includedir} VER=0 VER_MJR=1 install
+
+       cd ${S}/scripts
+       install -d ${D}/${sysconfdir}/init.d
+       install sm ${D}/${sysconfdir}/init.d/sm
+       install sm.shutdown ${D}/${sysconfdir}/init.d/sm-shutdown
+       install -d -m0755 ${D}/${sysconfdir}/pmon.d
+       install -m 644 sm.conf ${D}/${sysconfdir}/pmon.d/sm.conf
+       install -d ${D}/${sysconfdir}/logrotate.d
+       install -m 644 sm.logrotate ${D}/${sysconfdir}/logrotate.d/sm.logrotate
+       install -d -m 755 ${D}/${sbindir}
+       install sm.notify ${D}/${sbindir}/stx-ha-sm-notify
+       install sm.troubleshoot ${D}/${sbindir}/sm-troubleshoot
+       install sm.notification ${D}/${sbindir}/sm-notification
+       install -d -m0755 ${D}/${systemd_system_unitdir}
+       install -m 644 *.service ${D}/${systemd_system_unitdir}
+}
+
+pkg_postinst_ontarget_sm_append () {
+       /usr/bin/update-alternatives --install /usr/sbin/sm-notify sm-notify /usr/sbin/stx-ha-sm-notify 5
+}
+
+SYSTEMD_PACKAGES += "sm"
+SYSTEMD_SERVICE_sm = "sm.service sm-shutdown.service"
+SYSTEMD_AUTO_ENABLE_sm = "enable"
diff --git a/meta-starlingx/meta-stx-flock/stx-ha/stx-ocf-scripts.bb b/meta-starlingx/meta-stx-flock/stx-ha/stx-ocf-scripts.bb
new file mode 100644 (file)
index 0000000..85947ef
--- /dev/null
@@ -0,0 +1,30 @@
+require ha-common.inc
+SUBPATH0 = "stx-ocf-scripts/src/ocf"
+
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN} = " \
+       bash \
+       openstack-ras \
+       "
+
+do_unpack_append() {
+    bb.build.exec_func('do_restore_license_file', d)
+}
+
+do_restore_license_file () {
+    cd ${S}
+    git reset HEAD LICENSE
+       git checkout LICENSE
+}
+
+do_install_append () {
+       install -d -m 755 ${D}/usr/lib/ocf/resource.d/openstack
+       install -p -D -m 755 $(find . -type f -not -path './.git/*') ${D}/usr/lib/ocf/resource.d/openstack/ 
+}
+
+FILES_${PN}_append = " \
+       ${libdir}/ocf/resource.d/openstack/ \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-integ-kubernetes/cloud-provider-openstack.bb b/meta-starlingx/meta-stx-flock/stx-integ-kubernetes/cloud-provider-openstack.bb
new file mode 100644 (file)
index 0000000..b74a274
--- /dev/null
@@ -0,0 +1,36 @@
+DESCRIPTION = "cloud-provider-openstack"
+
+STABLE = "starlingx/master"
+PROTOCOL = "https"
+BRANCH = "master"
+SRCREV = "70609a3d55e5b7d2be82667fc35792505f9013c4"
+S = "${WORKDIR}/git"
+PV = "19.05"
+
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "git://opendev.org/starlingx/config.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+RDEPENDS_${PN} += " bash"
+
+inherit systemd
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_SERVICE_${PN} = "${PN}.service"
+# SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install () {
+
+       cd ${S}/filesystem/cloud-provider-openstack/
+       install -d -m755 ${D}/${bindir}
+       install -d -m755 ${D}/${systemd_system_unitdir}
+
+       install -D -m644 files/cloud-provider-openstack.sh ${D}/${bindir}
+       install -D -m644 files/cloud-provider-openstack.service ${D}/${systemd_system_unitdir}
+
+
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/LICENSE b/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/LICENSE
new file mode 100644 (file)
index 0000000..a6a2331
--- /dev/null
@@ -0,0 +1,346 @@
+GNU GENERAL PUBLIC LICENSE
+Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+    General Public License applies to most of the Free Software
+    Foundation's software and to any other program whose authors commit to
+    using it.  (Some other Free Software Foundation software is covered by
+    the GNU Library General Public License instead.)  You can apply it to
+    your programs, too.
+
+    When we speak of free software, we are referring to freedom, not
+    price.  Our General Public Licenses are designed to make sure that you
+    have the freedom to distribute copies of free software (and charge for
+    this service if you wish), that you receive source code or can get it
+    if you want it, that you can change the software or use pieces of it
+    in new free programs; and that you know you can do these things.
+
+    To protect your rights, we need to make restrictions that forbid
+    anyone to deny you these rights or to ask you to surrender the rights.
+    These restrictions translate to certain responsibilities for you if you
+    distribute copies of the software, or if you modify it.
+
+    For example, if you distribute copies of such a program, whether
+    gratis or for a fee, you must give the recipients all the rights that
+    you have.  You must make sure that they, too, receive or can get the
+    source code.  And you must show them these terms so they know their
+    rights.
+
+    We protect your rights with two steps: (1) copyright the software, and
+    (2) offer you this license which gives you legal permission to copy,
+    distribute and/or modify the software.
+
+    Also, for each author's protection and ours, we want to make certain
+    that everyone understands that there is no warranty for this free
+        software.  If the software is modified by someone else and passed on, we
+            want its recipients to know that what they have is not the original, so
+            that any problems introduced by others will not reflect on the original
+            authors' reputations.
+
+            Finally, any free program is threatened constantly by software
+            patents.  We wish to avoid the danger that redistributors of a free
+            program will individually obtain patent licenses, in effect making the
+            program proprietary.  To prevent this, we have made it clear that any
+            patent must be licensed for everyone's free use or not licensed at all.
+
+            The precise terms and conditions for copying, distribution and
+                modification follow.
+                \f
+                GNU GENERAL PUBLIC LICENSE
+                TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+                0. This License applies to any program or other work which contains
+                a notice placed by the copyright holder saying it may be distributed
+                under the terms of this General Public License.  The "Program", below,
+                refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+                that is to say, a work containing the Program or a portion of it,
+                either verbatim or with modifications and/or translated into another
+                language.  (Hereinafter, translation is included without limitation in
+                            the term "modification".)  Each licensee is addressed as "you".
+
+                    Activities other than copying, distribution and modification are not
+                    covered by this License;
+they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+    Whether that is true depends on what the Program does.
+
+    1. You may copy and distribute verbatim copies of the Program's
+    source code as you receive it, in any medium, provided that you
+    conspicuously and appropriately publish on each copy an appropriate
+    copyright notice and disclaimer of warranty; keep intact all the
+    notices that refer to this License and to the absence of any warranty;
+    and give any other recipients of the Program a copy of this License
+    along with the Program.
+
+    You may charge a fee for the physical act of transferring a copy, and
+    you may at your option offer warranty protection in exchange for a fee.
+
+    2. You may modify your copy or copies of the Program or any portion
+    of it, thus forming a work based on the Program, and copy and
+    distribute such modifications or work under the terms of Section 1
+    above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+    \f
+    These requirements apply to the modified work as a whole.  If
+    identifiable sections of that work are not derived from the Program,
+    and can be reasonably considered independent and separate works in
+    themselves, then this License, and its terms, do not apply to those
+    sections when you distribute them as separate works.  But when you
+    distribute the same sections as part of a whole which is a work based
+    on the Program, the distribution of the whole must be on the terms of
+    this License, whose permissions for other licensees extend to the
+    entire whole, and thus to each and every part regardless of who wrote it.
+
+    Thus, it is not the intent of this section to claim rights or contest
+    your rights to work written entirely by you; rather, the intent is to
+    exercise the right to control the distribution of derivative or
+    collective works based on the Program.
+
+    In addition, mere aggregation of another work not based on the Program
+    with the Program (or with a work based on the Program) on a volume of
+    a storage or distribution medium does not bring the other work under
+    the scope of this License.
+
+    3. You may copy and distribute the Program (or a work based on it,
+    under Section 2) in object code or executable form under the terms of
+    Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+    The source code for a work means the preferred form of the work for
+    making modifications to it.  For an executable work, complete source
+    code means all the source code for all modules it contains, plus any
+    associated interface definition files, plus the scripts used to
+    control compilation and installation of the executable.  However, as a
+    special exception, the source code distributed need not include
+    anything that is normally distributed (in either source or binary
+    form) with the major components (compiler, kernel, and so on) of the
+    operating system on which the executable runs, unless that component
+    itself accompanies the executable.
+
+    If distribution of executable or object code is made by offering
+    access to copy from a designated place, then offering equivalent
+    access to copy the source code from the same place counts as
+    distribution of the source code, even though third parties are not
+    compelled to copy the source along with the object code.
+    \f
+    4. You may not copy, modify, sublicense, or distribute the Program
+    except as expressly provided under this License.  Any attempt
+    otherwise to copy, modify, sublicense or distribute the Program is
+    void, and will automatically terminate your rights under this License.
+    However, parties who have received copies, or rights, from you under
+    this License will not have their licenses terminated so long as such
+    parties remain in full compliance.
+
+    5. You are not required to accept this License, since you have not
+    signed it.  However, nothing else grants you permission to modify or
+    distribute the Program or its derivative works.  These actions are
+    prohibited by law if you do not accept this License.  Therefore, by
+    modifying or distributing the Program (or any work based on the
+    Program), you indicate your acceptance of this License to do so, and
+    all its terms and conditions for copying, distributing or modifying
+    the Program or works based on it.
+
+    6. Each time you redistribute the Program (or any work based on the
+    Program), the recipient automatically receives a license from the
+    original licensor to copy, distribute or modify the Program subject to
+    these terms and conditions.  You may not impose any further
+    restrictions on the recipients' exercise of the rights granted herein.
+    You are not responsible for enforcing compliance by third parties to
+    this License.
+
+    7. If, as a consequence of a court judgment or allegation of patent
+    infringement or for any other reason (not limited to patent issues),
+                         conditions are imposed on you (whether by court order, agreement or
+                                 otherwise) that contradict the conditions of this License, they do not
+                             excuse you from the conditions of this License.  If you cannot
+                             distribute so as to satisfy simultaneously your obligations under this
+                             License and any other pertinent obligations, then as a consequence you
+                             may not distribute the Program at all.  For example, if a patent
+                             license would not permit royalty-free redistribution of the Program by
+                             all those who receive copies directly or indirectly through you, then
+                             the only way you could satisfy both it and this License would be to
+                             refrain entirely from distribution of the Program.
+
+                             If any portion of this section is held invalid or unenforceable under
+                             any particular circumstance, the balance of the section is intended to
+                             apply and the section as a whole is intended to apply in other
+                             circumstances.
+
+                             It is not the purpose of this section to induce you to infringe any
+                             patents or other property right claims or to contest validity of any
+                             such claims;
+this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system;
+it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+\f
+8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+    9. The Free Software Foundation may publish revised and/or new versions
+    of the General Public License from time to time.  Such new versions will
+    be similar in spirit to the present version, but may differ in detail to
+    address new problems or concerns.
+
+    Each version is given a distinguishing version number.  If the Program
+    specifies a version number of this License which applies to it and "any
+    later version", you have the option of following the terms and conditions
+    either of that version or of any later version published by the Free
+    Software Foundation.  If the Program does not specify a version number of
+    this License, you may choose any version ever published by the Free Software
+    Foundation.
+
+    10. If you wish to incorporate parts of the Program into other free
+    programs whose distribution conditions are different, write to the author
+    to ask for permission.  For software which is copyrighted by the Free
+        Software Foundation, write to the Free Software Foundation;
+we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+        TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+        YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+        PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGES.
+
+    END OF TERMS AND CONDITIONS
+    \f
+    How to Apply These Terms to Your New Programs
+
+    If you develop a new program, and you want it to be of the greatest
+    possible use to the public, the best way to achieve this is to make it
+    free software which everyone can redistribute and change under these terms.
+
+    To do so, attach the following notices to the program.  It is safest
+        to attach them to the start of each source file to most effectively
+        convey the exclusion of warranty;
+and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+<one line to give the program's name and a brief idea of what it does.>
+Copyright (C) <year>  <name of author>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+Gnomovision version 69, Copyright (C) year  name of author
+Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it
+under certain conditions;
+type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+`Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+<signature of Ty Coon>, 1 April 1989
+Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/admin.cmds b/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/admin.cmds
new file mode 100644 (file)
index 0000000..1f891ea
--- /dev/null
@@ -0,0 +1,11 @@
+# Add any commands the user may execute. Even shell commands.
+# You have to allow logout and/or exit, so the user can logout!
+# cd and pwd should also be allowed. Note: other shell builtin
+# commands are not yet implemented!
+nova
+system
+neutron
+cinder
+glance
+ceilometer
+heat
diff --git a/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/admin.xtns b/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/admin.xtns
new file mode 100644 (file)
index 0000000..5828add
--- /dev/null
@@ -0,0 +1,6 @@
+# Add any extension the user may use.
+.doc
+.txt
+.tgz
+.tar
+
diff --git a/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/ibsh-0.3e-cgcs-copyright.patch b/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/ibsh-0.3e-cgcs-copyright.patch
new file mode 100644 (file)
index 0000000..1becb73
--- /dev/null
@@ -0,0 +1,26 @@
+diff --git a/config.c b/config.c
+index c1087a5..add7c53 100644
+--- a/config.c
++++ b/config.c
+@@ -6,6 +6,8 @@
+   This file is part of IBSH (Iron Bars Shell) , a restricted Unix shell
+   Copyright (C) 2005  Attila Nagyidai
++  Copyright(c) 2013-2017 Wind River Systems, Inc. All rights reserved.
++
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License
+   as published by the Free Software Foundation; either version 2
+diff --git a/main.c b/main.c
+index cf3ae9e..6cda04e 100644
+--- a/main.c
++++ b/main.c
+@@ -6,6 +6,8 @@
+   This file is part of IBSH (Iron Bars Shell) , a restricted Unix shell
+   Copyright (C) 2005  Attila Nagyidai
++  Copyright(c) 2013-2017 Wind River Systems, Inc. All rights reserved.
++
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License
+   as published by the Free Software Foundation; either version 2
diff --git a/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/ibsh-0.3e-cgcs.patch b/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/ibsh-0.3e-cgcs.patch
new file mode 100644 (file)
index 0000000..de22da0
--- /dev/null
@@ -0,0 +1,84 @@
+Index: cgcs-users-1.0-r0/main.c
+===================================================================
+--- cgcs-users-1.0-r0.orig/main.c
++++ cgcs-users-1.0-r0/main.c
+@@ -37,6 +37,7 @@
+ /* Header files */
+ #include "ibsh.h"
++#include "stdlib.h"
+ /* Main: */
+ /* Handle arguments, read config files, start command processing. */
+@@ -57,13 +58,28 @@
+ /* use our builtin code, otherwise use execve. After execve, check if the user didnt */
+ /* use the last command to create some illegal content. If yes, erase that. Give the */
+ /* notice only afterwards. */
++
++void ALRMhandler(int sig) {
++    OPENLOG;
++    syslog(LOG_INFO, "CLI timeout, user %s has logged out.", loggedin.uname);
++    CLOSELOG;
++    exit(0);
++}
++
+ int main(int argc, char **argv)
+ {
+   char temp[STRING_SIZE], *buf;
+   struct stat info;
+   uid_t ruid, euid;
+   gid_t rgid, egid;
++  unsigned int tout_cli = 0;
++  const char* tout = getenv("TMOUT");
++  if (tout)
++    tout_cli = atoi(tout);
++  else
++    //default to 5 mins
++    tout_cli = 300;
+   /* setuid protection */
+   ruid = getuid();
+@@ -107,6 +123,7 @@ int main(int argc, char **argv)
+   signal( SIGQUIT, SIG_IGN );
+   signal( SIGTERM, SIG_IGN );
+   signal( SIGTSTP, SIG_IGN );
++  signal( SIGALRM, ALRMhandler );
+   LoadConfig();
+   /* Command mode */
+@@ -144,6 +161,7 @@ int main(int argc, char **argv)
+   /* will be allowed to run, unless it is mentioned in the */
+   /* config files. Files that are created with an extension */
+   /* that is listed in the other config file, must be deleted! */
++  alarm(tout_cli);
+   for ( ; ; ) {
+     /* Where is he ? */
+     getcwd(real_path, STRING_SIZE);
+@@ -153,12 +171,12 @@ int main(int argc, char **argv)
+     }
+     /* We don't want the user to know where he actually is. */
+     /* This is the prompt! */
+-    printf("[%s]%% ", jail_path);
++    printf("[%s]%% ", loggedin.uname);
+     /* scanf("%s", user_command); */
+     myscanf(user_command, real_path);
++    alarm(tout_cli);
+     /* Command interpretation and execution. */
+     if ( (CommandOK(user_command, loggedin.udir, jail_path, filtered_command)) == 0 ) {
+-        printf("Sorry, can't let you do that!\n");
+         log_attempt(loggedin.uname);  /* v0.2a */
+         continue;
+     }
+Index: cgcs-users-1.0-r0/config.c
+===================================================================
+--- cgcs-users-1.0-r0.orig/config.c
++++ cgcs-users-1.0-r0/config.c
+@@ -166,7 +166,6 @@ int LoadConfig( void )
+                 // Delete '\n'
+                 tmp2[i][strlen(tmp2[i]) - 1] = '\0';
+                 strncpy(extensions[i],tmp2[i],strlen(tmp2[i]));
+-                printf("EXTENSIONS %s\n",extensions[i]);
+               i++;
+       }
+   }
diff --git a/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/ibsh-0.3e.patch b/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/ibsh-0.3e.patch
new file mode 100644 (file)
index 0000000..23fe072
--- /dev/null
@@ -0,0 +1,860 @@
+Index: cgcs-users-1.0-r0/AUTHORS.orig
+===================================================================
+--- /dev/null
++++ cgcs-users-1.0-r0/AUTHORS.orig
+@@ -0,0 +1,15 @@
++AUTHORS OF PROJECT IBSH
++
++Attila Nagyidai <attila at ibsh.net>
++      * Original program author, project admin, developer.
++
++Shy <shy at ibsh.net>
++      * Developer, debugger, tester, and many more.
++
++Witzy <witzy at ibsh.net>
++      * Developer, debugger, tester, and many more.
++
++http://www.ibsh.net
++irc:
++irc.freenode.net #ibsh
++irc.geek-power.org #ibsh
+Index: cgcs-users-1.0-r0/BUGS.orig
+===================================================================
+--- /dev/null
++++ cgcs-users-1.0-r0/BUGS.orig
+@@ -0,0 +1,19 @@
++** Open BUGS **
++None, so far.
++
++** Fixed BUGS **
++- Input length checking on all inputs, string copies, etc. is fixed.
++- The myscanf function will no longer accept more then 80 chars at once,
++so ibsh hopefully wont crash on a too long input.
++- Added signal.h in the header file, the lack of it caused compilation
++problems on some systems.
++- Fixed the infinite loop in DelBadFiles. This function is temporarily 
++taken out of the project
++- Removed the involvment of /bin/sh from system. Added path checking.
++- In jail root, not only ../ is not allowed, but .. too.
++- Fixed a bug, that happened on bsd, when the user pressed ^D.
++- Fixed a bug with opendir
++- Fixed a format string vulnerability in logprintbadfile(). Thanks to
++Kim Streich for the report.
++
++2005.05.23
+Index: cgcs-users-1.0-r0/ChangeLog.orig
+===================================================================
+--- /dev/null
++++ cgcs-users-1.0-r0/ChangeLog.orig
+@@ -0,0 +1,34 @@
++0.3e - a buffer overflow and a string bug, both found by RazoR (Nikolay Alexandrov), fixed.
++0.3d - a format string vulnerability, found by Kim Streich, is fixed.
++0.3b-0.3c - bugfixes.
++0.3a  - The admin has the opportunity, to create separate cmds file for each user. 
++      This way the sysadmin has complete control over sensitive applications, which
++      should only be allowed to a selected few.
++      - The admin has the opportunity, to create separate xtns file for each user. 
++      - The extensions policy has been changed. Now both globals.xtns and the user
++      extension files will list the extensions, that are _allowed_ ! In earlier versions,
++      the forbidden extensions were listed, that is allow everything, except to deny a few.
++      From this version on, it's deny everything, except allow the ones, listed in these files.
++      - While the code for the search of illegal/dangerous material stored in user space is
++      back, it will not erase any files any more. Instead, it will remove all
++      rights from that file, so it can not be executed, or read. Files, with the +x bit set,
++      will be chmodded to -x. This is another "defense line" to stop the user to execute
++      programs, stored in user space.
++      - The access to all linux binaries, and source code files, stored in user space, if any, 
++      will be blocked.
++      - Absolute path for restricted users can not be longer then 255 characters. All files,
++      that are longer (with full path), will be renamed.
++      - Minor bug fixes.
++
++0.2a  - Major bug fixes. 
++      - User activities are logged with syslog.
++      - hhsytem revised, hardened. /bin/sh isnt involved anymore into program starting.
++      If the home directory is in the PATH, it's ignored.
++      - erasing illegal content is temporarily suspended and removed.
++
++0.1b  - Major bug fixes.
++      - The config files are accidentally missing from this release!
++
++0.1a  - The first version of the program.
++
++2005.05.23.
+Index: cgcs-users-1.0-r0/CONTRIBUTORS.orig
+===================================================================
+--- /dev/null
++++ cgcs-users-1.0-r0/CONTRIBUTORS.orig
+@@ -0,0 +1,7 @@
++CONTRIBUTORS TO PROJECT IBSH
++
++Kim Streich <kstreich at gmail.com>
++      * bug finder, debugger, tester.
++
++RazoR (Nikolay Alexandrov) <Nikolay@Alexandrov.ws>
++      * bug finder, debugger, tester.
+Index: cgcs-users-1.0-r0/COPYING.orig
+===================================================================
+--- /dev/null
++++ cgcs-users-1.0-r0/COPYING.orig
+@@ -0,0 +1,340 @@
++                  GNU GENERAL PUBLIC LICENSE
++                     Version 2, June 1991
++
++ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
++     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
++ Everyone is permitted to copy and distribute verbatim copies
++ of this license document, but changing it is not allowed.
++
++                          Preamble
++
++  The licenses for most software are designed to take away your
++freedom to share and change it.  By contrast, the GNU General Public
++License is intended to guarantee your freedom to share and change free
++software--to make sure the software is free for all its users.  This
++General Public License applies to most of the Free Software
++Foundation's software and to any other program whose authors commit to
++using it.  (Some other Free Software Foundation software is covered by
++the GNU Library General Public License instead.)  You can apply it to
++your programs, too.
++
++  When we speak of free software, we are referring to freedom, not
++price.  Our General Public Licenses are designed to make sure that you
++have the freedom to distribute copies of free software (and charge for
++this service if you wish), that you receive source code or can get it
++if you want it, that you can change the software or use pieces of it
++in new free programs; and that you know you can do these things.
++
++  To protect your rights, we need to make restrictions that forbid
++anyone to deny you these rights or to ask you to surrender the rights.
++These restrictions translate to certain responsibilities for you if you
++distribute copies of the software, or if you modify it.
++
++  For example, if you distribute copies of such a program, whether
++gratis or for a fee, you must give the recipients all the rights that
++you have.  You must make sure that they, too, receive or can get the
++source code.  And you must show them these terms so they know their
++rights.
++
++  We protect your rights with two steps: (1) copyright the software, and
++(2) offer you this license which gives you legal permission to copy,
++distribute and/or modify the software.
++
++  Also, for each author's protection and ours, we want to make certain
++that everyone understands that there is no warranty for this free
++software.  If the software is modified by someone else and passed on, we
++want its recipients to know that what they have is not the original, so
++that any problems introduced by others will not reflect on the original
++authors' reputations.
++
++  Finally, any free program is threatened constantly by software
++patents.  We wish to avoid the danger that redistributors of a free
++program will individually obtain patent licenses, in effect making the
++program proprietary.  To prevent this, we have made it clear that any
++patent must be licensed for everyone's free use or not licensed at all.
++
++  The precise terms and conditions for copying, distribution and
++modification follow.
++\f
++                  GNU GENERAL PUBLIC LICENSE
++   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
++
++  0. This License applies to any program or other work which contains
++a notice placed by the copyright holder saying it may be distributed
++under the terms of this General Public License.  The "Program", below,
++refers to any such program or work, and a "work based on the Program"
++means either the Program or any derivative work under copyright law:
++that is to say, a work containing the Program or a portion of it,
++either verbatim or with modifications and/or translated into another
++language.  (Hereinafter, translation is included without limitation in
++the term "modification".)  Each licensee is addressed as "you".
++
++Activities other than copying, distribution and modification are not
++covered by this License; they are outside its scope.  The act of
++running the Program is not restricted, and the output from the Program
++is covered only if its contents constitute a work based on the
++Program (independent of having been made by running the Program).
++Whether that is true depends on what the Program does.
++
++  1. You may copy and distribute verbatim copies of the Program's
++source code as you receive it, in any medium, provided that you
++conspicuously and appropriately publish on each copy an appropriate
++copyright notice and disclaimer of warranty; keep intact all the
++notices that refer to this License and to the absence of any warranty;
++and give any other recipients of the Program a copy of this License
++along with the Program.
++
++You may charge a fee for the physical act of transferring a copy, and
++you may at your option offer warranty protection in exchange for a fee.
++
++  2. You may modify your copy or copies of the Program or any portion
++of it, thus forming a work based on the Program, and copy and
++distribute such modifications or work under the terms of Section 1
++above, provided that you also meet all of these conditions:
++
++    a) You must cause the modified files to carry prominent notices
++    stating that you changed the files and the date of any change.
++
++    b) You must cause any work that you distribute or publish, that in
++    whole or in part contains or is derived from the Program or any
++    part thereof, to be licensed as a whole at no charge to all third
++    parties under the terms of this License.
++
++    c) If the modified program normally reads commands interactively
++    when run, you must cause it, when started running for such
++    interactive use in the most ordinary way, to print or display an
++    announcement including an appropriate copyright notice and a
++    notice that there is no warranty (or else, saying that you provide
++    a warranty) and that users may redistribute the program under
++    these conditions, and telling the user how to view a copy of this
++    License.  (Exception: if the Program itself is interactive but
++    does not normally print such an announcement, your work based on
++    the Program is not required to print an announcement.)
++\f
++These requirements apply to the modified work as a whole.  If
++identifiable sections of that work are not derived from the Program,
++and can be reasonably considered independent and separate works in
++themselves, then this License, and its terms, do not apply to those
++sections when you distribute them as separate works.  But when you
++distribute the same sections as part of a whole which is a work based
++on the Program, the distribution of the whole must be on the terms of
++this License, whose permissions for other licensees extend to the
++entire whole, and thus to each and every part regardless of who wrote it.
++
++Thus, it is not the intent of this section to claim rights or contest
++your rights to work written entirely by you; rather, the intent is to
++exercise the right to control the distribution of derivative or
++collective works based on the Program.
++
++In addition, mere aggregation of another work not based on the Program
++with the Program (or with a work based on the Program) on a volume of
++a storage or distribution medium does not bring the other work under
++the scope of this License.
++
++  3. You may copy and distribute the Program (or a work based on it,
++under Section 2) in object code or executable form under the terms of
++Sections 1 and 2 above provided that you also do one of the following:
++
++    a) Accompany it with the complete corresponding machine-readable
++    source code, which must be distributed under the terms of Sections
++    1 and 2 above on a medium customarily used for software interchange; or,
++
++    b) Accompany it with a written offer, valid for at least three
++    years, to give any third party, for a charge no more than your
++    cost of physically performing source distribution, a complete
++    machine-readable copy of the corresponding source code, to be
++    distributed under the terms of Sections 1 and 2 above on a medium
++    customarily used for software interchange; or,
++
++    c) Accompany it with the information you received as to the offer
++    to distribute corresponding source code.  (This alternative is
++    allowed only for noncommercial distribution and only if you
++    received the program in object code or executable form with such
++    an offer, in accord with Subsection b above.)
++
++The source code for a work means the preferred form of the work for
++making modifications to it.  For an executable work, complete source
++code means all the source code for all modules it contains, plus any
++associated interface definition files, plus the scripts used to
++control compilation and installation of the executable.  However, as a
++special exception, the source code distributed need not include
++anything that is normally distributed (in either source or binary
++form) with the major components (compiler, kernel, and so on) of the
++operating system on which the executable runs, unless that component
++itself accompanies the executable.
++
++If distribution of executable or object code is made by offering
++access to copy from a designated place, then offering equivalent
++access to copy the source code from the same place counts as
++distribution of the source code, even though third parties are not
++compelled to copy the source along with the object code.
++\f
++  4. You may not copy, modify, sublicense, or distribute the Program
++except as expressly provided under this License.  Any attempt
++otherwise to copy, modify, sublicense or distribute the Program is
++void, and will automatically terminate your rights under this License.
++However, parties who have received copies, or rights, from you under
++this License will not have their licenses terminated so long as such
++parties remain in full compliance.
++
++  5. You are not required to accept this License, since you have not
++signed it.  However, nothing else grants you permission to modify or
++distribute the Program or its derivative works.  These actions are
++prohibited by law if you do not accept this License.  Therefore, by
++modifying or distributing the Program (or any work based on the
++Program), you indicate your acceptance of this License to do so, and
++all its terms and conditions for copying, distributing or modifying
++the Program or works based on it.
++
++  6. Each time you redistribute the Program (or any work based on the
++Program), the recipient automatically receives a license from the
++original licensor to copy, distribute or modify the Program subject to
++these terms and conditions.  You may not impose any further
++restrictions on the recipients' exercise of the rights granted herein.
++You are not responsible for enforcing compliance by third parties to
++this License.
++
++  7. If, as a consequence of a court judgment or allegation of patent
++infringement or for any other reason (not limited to patent issues),
++conditions are imposed on you (whether by court order, agreement or
++otherwise) that contradict the conditions of this License, they do not
++excuse you from the conditions of this License.  If you cannot
++distribute so as to satisfy simultaneously your obligations under this
++License and any other pertinent obligations, then as a consequence you
++may not distribute the Program at all.  For example, if a patent
++license would not permit royalty-free redistribution of the Program by
++all those who receive copies directly or indirectly through you, then
++the only way you could satisfy both it and this License would be to
++refrain entirely from distribution of the Program.
++
++If any portion of this section is held invalid or unenforceable under
++any particular circumstance, the balance of the section is intended to
++apply and the section as a whole is intended to apply in other
++circumstances.
++
++It is not the purpose of this section to induce you to infringe any
++patents or other property right claims or to contest validity of any
++such claims; this section has the sole purpose of protecting the
++integrity of the free software distribution system, which is
++implemented by public license practices.  Many people have made
++generous contributions to the wide range of software distributed
++through that system in reliance on consistent application of that
++system; it is up to the author/donor to decide if he or she is willing
++to distribute software through any other system and a licensee cannot
++impose that choice.
++
++This section is intended to make thoroughly clear what is believed to
++be a consequence of the rest of this License.
++\f
++  8. If the distribution and/or use of the Program is restricted in
++certain countries either by patents or by copyrighted interfaces, the
++original copyright holder who places the Program under this License
++may add an explicit geographical distribution limitation excluding
++those countries, so that distribution is permitted only in or among
++countries not thus excluded.  In such case, this License incorporates
++the limitation as if written in the body of this License.
++
++  9. The Free Software Foundation may publish revised and/or new versions
++of the General Public License from time to time.  Such new versions will
++be similar in spirit to the present version, but may differ in detail to
++address new problems or concerns.
++
++Each version is given a distinguishing version number.  If the Program
++specifies a version number of this License which applies to it and "any
++later version", you have the option of following the terms and conditions
++either of that version or of any later version published by the Free
++Software Foundation.  If the Program does not specify a version number of
++this License, you may choose any version ever published by the Free Software
++Foundation.
++
++  10. If you wish to incorporate parts of the Program into other free
++programs whose distribution conditions are different, write to the author
++to ask for permission.  For software which is copyrighted by the Free
++Software Foundation, write to the Free Software Foundation; we sometimes
++make exceptions for this.  Our decision will be guided by the two goals
++of preserving the free status of all derivatives of our free software and
++of promoting the sharing and reuse of software generally.
++
++                          NO WARRANTY
++
++  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
++FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
++OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
++PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
++OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
++TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
++PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
++REPAIR OR CORRECTION.
++
++  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
++REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
++INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
++OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
++TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
++YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
++PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGES.
++
++                   END OF TERMS AND CONDITIONS
++\f
++          How to Apply These Terms to Your New Programs
++
++  If you develop a new program, and you want it to be of the greatest
++possible use to the public, the best way to achieve this is to make it
++free software which everyone can redistribute and change under these terms.
++
++  To do so, attach the following notices to the program.  It is safest
++to attach them to the start of each source file to most effectively
++convey the exclusion of warranty; and each file should have at least
++the "copyright" line and a pointer to where the full notice is found.
++
++    <one line to give the program's name and a brief idea of what it does.>
++    Copyright (C) <year>  <name of author>
++
++    This program is free software; you can redistribute it and/or modify
++    it under the terms of the GNU General Public License as published by
++    the Free Software Foundation; either version 2 of the License, or
++    (at your option) any later version.
++
++    This program is distributed in the hope that it will be useful,
++    but WITHOUT ANY WARRANTY; without even the implied warranty of
++    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++    GNU General Public License for more details.
++
++    You should have received a copy of the GNU General Public License
++    along with this program; if not, write to the Free Software
++    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
++
++
++Also add information on how to contact you by electronic and paper mail.
++
++If the program is interactive, make it output a short notice like this
++when it starts in an interactive mode:
++
++    Gnomovision version 69, Copyright (C) year  name of author
++    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
++    This is free software, and you are welcome to redistribute it
++    under certain conditions; type `show c' for details.
++
++The hypothetical commands `show w' and `show c' should show the appropriate
++parts of the General Public License.  Of course, the commands you use may
++be called something other than `show w' and `show c'; they could even be
++mouse-clicks or menu items--whatever suits your program.
++
++You should also get your employer (if you work as a programmer) or your
++school, if any, to sign a "copyright disclaimer" for the program, if
++necessary.  Here is a sample; alter the names:
++
++  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
++  `Gnomovision' (which makes passes at compilers) written by James Hacker.
++
++  <signature of Ty Coon>, 1 April 1989
++  Ty Coon, President of Vice
++
++This General Public License does not permit incorporating your program into
++proprietary programs.  If your program is a subroutine library, you may
++consider it more useful to permit linking proprietary applications with the
++library.  If this is what you want to do, use the GNU Library General
++Public License instead of this License.
+Index: cgcs-users-1.0-r0/COPYRIGHT.orig
+===================================================================
+--- /dev/null
++++ cgcs-users-1.0-r0/COPYRIGHT.orig
+@@ -0,0 +1,17 @@
++This file is part of IBSH (Iron Bars Shell) , a restricted Unix shell
++Copyright (C) 2005  Attila Nagyidai
++
++This program is free software; you can redistribute it and/or
++modify it under the terms of the GNU General Public License
++as published by the Free Software Foundation; either version 2
++of the License, or (at your option) any later version.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with this program; if not, write to the Free Software
++Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
++
+Index: cgcs-users-1.0-r0/INSTALL.orig
+===================================================================
+--- /dev/null
++++ cgcs-users-1.0-r0/INSTALL.orig
+@@ -0,0 +1,23 @@
++Installing ibsh is really easy, so no need for the usual sections
++in this document. There is no configure script either, so if 
++something wrong, make will fail.
++
++# make ibsh
++# make ibsh_install
++
++Optionally:
++
++# make clean
++
++
++To uninstall ibsh:
++
++# make ibsh_uninstall
++
++
++Of course you will have to enable this shell by:
++# echo /bin/ibsh >> /etc/shells
++or however you like it.
++And make sure the permissions read 0755 !
++
++2005.03.24.
+Index: cgcs-users-1.0-r0/main.c.orig
+===================================================================
+--- /dev/null
++++ cgcs-users-1.0-r0/main.c.orig
+@@ -0,0 +1,233 @@
++/*
++  Created: 03.19.05 11:34:57 by Attila Nagyidai
++
++  $Id: C\040Console.c,v 1.1.2.1 2003/08/13 00:38:46 neum Exp $
++
++  This file is part of IBSH (Iron Bars Shell) , a restricted Unix shell
++  Copyright (C) 2005  Attila Nagyidai
++
++  This program is free software; you can redistribute it and/or
++  modify it under the terms of the GNU General Public License
++  as published by the Free Software Foundation; either version 2
++  of the License, or (at your option) any later version.
++
++  This program is distributed in the hope that it will be useful,
++  but WITHOUT ANY WARRANTY; without even the implied warranty of
++  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++  GNU General Public License for more details.
++
++  You should have received a copy of the GNU General Public License
++  along with this program; if not, write to the Free Software
++  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
++
++  Author: Attila Nagyidai
++  Email: na@ent.hu
++
++  Co-Author: Shy
++  Email: shy@cpan.org
++
++  Co-Author: Witzy
++  Email: stazzz@altern.org
++
++  URL: http://ibsh.sourceforge.net
++  IRC: irc.freenode.net #ibsh
++  RSS, Statistics, etc: http://sourceforge.net/projects/ibsh/
++
++*/
++
++/* Header files */
++#include "ibsh.h"
++
++/* Main: */
++/* Handle arguments, read config files, start command processing. */
++/* IBSH doesnt use any command line arguments, but my text editor */
++/* uses this code in all new c files to create. And i didnt have the */
++/* heart to remove it. ;p */
++/* Technical Description: */
++/* Get the passwd entry for the user. The uid is easily aquired, since */
++/* it is the real user id. After that, grab the passwd file entry upon */
++/* the id, and copy the information to the loggedin struct. */
++/* Add some signal handlers too. */
++/* The infinite loop: */
++/* Get the current directory, the full path. Compute the jailpath from that, */
++/* that is the directories below the users homedir, which is the jail root. */
++/* The jail ceiling if you like. Print some prompt to the user with the jailpath, */
++/* and read stdin for incoming commands. Filter out the bad commands, typos, the */
++/* not allowed commands. It the command is ok, execute it. If it is a shell builtin, */
++/* use our builtin code, otherwise use execve. After execve, check if the user didnt */
++/* use the last command to create some illegal content. If yes, erase that. Give the */
++/* notice only afterwards. */
++int main(int argc, char **argv)
++{
++    char temp[STRING_SIZE], *buf;
++    struct stat info;
++    uid_t ruid, euid;
++    gid_t rgid, egid;
++
++
++    /* setuid protection */
++    ruid = getuid();
++    euid = geteuid();
++    rgid = getgid();
++    egid = getegid();
++    if ( (ruid!=euid) || (ruid==0) || (euid==0) || (rgid!=egid) || (rgid==0) || (egid==0) ) {
++        OPENLOG;
++        syslog(LOG_ERR, "setuid/setgid violation!");
++        CLOSELOG;
++        printf("ibsh: setuid/setgid violation!! exiting...\n");
++#ifdef DEBUG
++        printf("ruid: %d;euid: %d;rgid: %d;egid: %d\n", ruid,euid,rgid,egid);
++#endif
++        exit(0);
++    }
++
++    /* To Do: The code of your application goes here */
++    /* First part: */
++    /* Get essential information about the user who got this shell: */
++    /* first the username, then the user id. Upon this, retrieve the */
++    /* user's record in the passwd file. */
++    bzero(&loggedin, sizeof(loggedin));
++    loggedin.uid = getuid();
++    loggedin.record = getpwuid(loggedin.uid);
++    if ( loggedin.record == NULL ) {
++        loggedin.record = getpwnam(loggedin.uname);
++        if ( loggedin.record == NULL ) {
++            openlog(loggedin.uname, LOG_PID, LOG_AUTH);
++            syslog(LOG_ERR, "Can not obtain user information");
++            printf("Can not obtain user information\n");
++            closelog();
++            exit(0);
++        }
++    }
++    strncpy(loggedin.uname, loggedin.record->pw_name, PAM_SIZE);
++    strncpy(loggedin.udir, loggedin.record->pw_dir, STRING_SIZE);
++
++    /* Second part: */
++    /* Handle some signal catching. Read the configuration files. */
++    signal( SIGINT, SIG_IGN );
++    signal( SIGQUIT, SIG_IGN );
++    signal( SIGTERM, SIG_IGN );
++    signal( SIGTSTP, SIG_IGN );
++    LoadConfig();
++
++    /* Command mode */
++    if(argc == 3) {
++        if ( argv[1][1] == 'c' ) {
++            if ( CommandOK(argv[2], loggedin.udir, "/", filtered_command) == 1) {
++                exitcode = hhsystem(filtered_command);
++                OPENLOG;
++                syslog(LOG_INFO, "command %s ordered, command %s has been executed.",
++                       argv[2], filtered_command);
++                printf("command %s ordered, command %s has been executed.\n",
++                       argv[2], filtered_command);
++                CLOSELOG;
++                exit(exitcode);
++            }
++            printf("CommandOK failed (%s/%s)\n", loggedin.udir, filtered_command);
++            exit(0);
++        }
++        else {
++            printf("Invalid are (%s)\n", argv[1]);
++            exit(0);
++        }
++    }
++
++    OPENLOG;
++    syslog(LOG_INFO, "user %s has logged in.", loggedin.uname);
++    CLOSELOG;
++
++
++#ifdef INCLUDE_DELETE_BAD_FILES
++    DelBadFiles(loggedin.udir);
++#endif
++    if ( chdir (loggedin.udir) < 0 )
++        return -1;
++
++
++    /* Third part: */
++    /* Start reading and processing the user issued commands. */
++    /* Split the command by the spaces, filter out anything, */
++    /* that would allow the user to access files outside the */
++    /* jail. Filter out multiples and pipes as well. No program */
++    /* will be allowed to run, unless it is mentioned in the */
++    /* config files. Files that are created with an extension */
++    /* that is listed in the other config file, must be deleted! */
++    for ( ; ; ) {
++        /* Where is he ? */
++       if ( getcwd(real_path, STRING_SIZE) == NULL )
++           return -1;
++        GetPositionInJail(real_path, loggedin.udir, jail_path);
++        if ( (strlen(jail_path)) == 0 ) {
++            strncpy(jail_path, "/", 2);
++        }
++        /* We don't want the user to know where he actually is. */
++        /* This is the prompt! */
++        printf("[%s]%% ", jail_path);
++        /* scanf("%s", user_command); */
++        myscanf(user_command, real_path);
++        /* Command interpretation and execution. */
++        if ( (CommandOK(user_command, loggedin.udir, jail_path, filtered_command)) == 0 ) {
++            printf("Sorry, can't let you do that!\n");
++            log_attempt(loggedin.uname);  /* v0.2a */
++            continue;
++        }
++        /* If the user issued command starts with a shell builtin. */
++        bzero(temp, strlen(temp));
++        if ( (buf = strstr(filtered_command, "cd")) != NULL ) {
++            if ( (strcmp(buf, filtered_command)) == 0 ) {
++                LTrim3(filtered_command, temp);
++                if ( (strcmp(temp, real_path)) != 0 ) {
++                    if ( (strcmp(temp, "..")) == 0 ) {
++                        PathMinusOne(jail_path, temp, 1,sizeof(temp));
++                    }
++                    if ( (strcmp(temp, "/")) == 0 ) {
++                        strncpy(temp, loggedin.udir, LINE_SIZE);
++                    }
++                    exitcode = chdir(temp);
++                    if ( exitcode == -1 ) {
++                        printf("ibsh: cd: %s: No such file or directory\n", temp);
++                    }
++                }
++                continue;
++            }
++        }
++        else if ( (buf = strstr(filtered_command, "pwd")) != NULL ) {
++            if ( (strcmp(buf, filtered_command)) == 0 ) {
++                printf("%s\n", jail_path);
++                continue;
++            }
++        }
++        else if ( (buf = strstr(filtered_command, "logout")) != NULL ) {
++            if ( (strcmp(buf, filtered_command)) == 0 ) {
++                OPENLOG;
++                syslog(LOG_INFO, "user %s has logged out.", loggedin.uname);
++                CLOSELOG;
++                break;
++            }
++        }
++        else if ( (buf = strstr(filtered_command, "exit")) != NULL ) {
++            if ( (strcmp(buf, filtered_command)) == 0 ) {
++                OPENLOG;
++                syslog(LOG_INFO, "user %s has logged out.", loggedin.uname);
++                printf("user %s has logged out\n", loggedin.uname);
++                CLOSELOG;
++                break;
++            }
++        }
++        else {
++            exitcode = hhsystem(filtered_command);
++            if ( exitcode < 0 ) {
++                printf("%s\n", strerror(errno));
++            }
++        }
++        if ( getcwd(real_path, STRING_SIZE) == NULL ) 
++            return -1;
++#ifdef INCLUDE_BAD_FILES
++        DelBadFiles(loggedin.udir);
++#endif
++        if ( chdir (real_path) < 0 )
++            return 1;
++    }
++    return 0;
++}
++
+Index: cgcs-users-1.0-r0/Makefile.orig
+===================================================================
+--- /dev/null
++++ cgcs-users-1.0-r0/Makefile.orig
+@@ -0,0 +1,56 @@
++# This is the makefile for ibsh 0.3e
++CC = gcc -g -O3
++OBJECTS = main.o command.o jail.o execute.o config.o misc.o antixploit.o delbadfiles.o
++
++all ibsh: ${OBJECTS} ibsh.h
++      ${CC} -o ibsh ${OBJECTS}
++
++main.o: main.c ibsh.h
++      ${CC} -c main.c
++
++command.o: command.c ibsh.h
++      ${CC} -c command.c
++
++jail.o: jail.c ibsh.h
++      ${CC} -c jail.c
++
++execute.o: execute.c ibsh.h
++      ${CC} -c execute.c
++
++config.o: config.c ibsh.h
++      ${CC} -c config.c
++
++misc.o: misc.c ibsh.h
++      ${CC} -c misc.c
++
++antixploit.o: antixploit.c ibsh.h
++      ${CC} -c antixploit.c
++
++delbadfiles.o: delbadfiles.c ibsh.h
++      ${CC} -c delbadfiles.c
++
++ibsh_install:
++      cp ./ibsh /bin/
++      mkdir /etc/ibsh
++      mkdir /etc/ibsh/cmds
++      mkdir /etc/ibsh/xtns
++      cp ./globals.cmds /etc/ibsh/
++      cp ./globals.xtns /etc/ibsh/
++
++ibsh_uninstall:
++      rm -rf /etc/ibsh/globals.cmds
++      rm -rf /etc/ibsh/globals.xtns
++      rm -rf /etc/ibsh/cmds/*.*
++      rm -rf /etc/ibsh/xtns/*.*
++      rmdir /etc/ibsh/cmds
++      rmdir /etc/ibsh/xtns
++      rmdir /etc/ibsh
++      rm -rf /bin/ibsh
++
++clean:
++      rm -rf ibsh
++      rm -rf *.o
++
++
++# 13:49 2005.04.06.
++
+Index: cgcs-users-1.0-r0/README.orig
+===================================================================
+--- /dev/null
++++ cgcs-users-1.0-r0/README.orig
+@@ -0,0 +1,29 @@
++      Iron Bars SHell - a restricted interactive shell.
++
++Overview
++
++      For long i have been in the search of a decent restricted shell, but in vain.
++      The few i found, were really easy to hack, and there were quite a few docs
++      around on the web about hacking restricted shells with a menu interface.
++      For my definitions, a restricted shell must not only prevent the user to 
++      escape her jail, but also not to access any files outside the jail.
++      The system administrator must have total control over the restricted shell.
++      These are the major features incorporated and realized by ibsh.
++
++
++Features
++
++      Please read the changelog.      
++
++
++Installation
++
++      Read the INSTALL file.
++
++
++Contact
++      See Authors file.
++
++
++Attila Nagyidai
++2005.05.23.
+Index: cgcs-users-1.0-r0/Release.orig
+===================================================================
+--- /dev/null
++++ cgcs-users-1.0-r0/Release.orig
+@@ -0,0 +1,17 @@
++This release introduces minor bugfixes, and important new and renewed features.
++Erasing evil files in the home directory of the user is incorporated again, with 
++many improvements. First of all: no file will be erased! Only the access to them
++will be blocked. The extension policy has changed, now ibsh blocks those extensions,
++that are NOT listed. This goes in sync with the usual method of operation of ibsh.
++The execute permission of files in the user space, will be removed.
++New customizing features were added: each user now can have her own commands and 
++extensions file, created and maintained by the system administrator. Some users
++(employees) may require access to special programs. User configuration files allow
++this access only those, who need it, not for everybody.
++Ibsh now scans not only the extensions of files, but the content too! Whatever the permission
++for a certain file exists, if that contains source code, or is a linux binary, access
++will be blocked.
++The absolute path for the users is now limited to 255 characters. Longer, already
++existing filenames will be renamed.
++
++06/04/2005 
+Index: cgcs-users-1.0-r0/TODO.orig
+===================================================================
+--- /dev/null
++++ cgcs-users-1.0-r0/TODO.orig
+@@ -0,0 +1,10 @@
++TODO
++
++      - tab completion.
++      - shell variables.
++      - some changes to the prompt, maybe variable prompt.
++      - history
++      - to be able to use corporate, or other large/complicated programs in a safe
++      working environment, yet be able to share files/work with others.
++
++2005.05.23.
diff --git a/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/operator.cmds b/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/operator.cmds
new file mode 100644 (file)
index 0000000..6a0198e
--- /dev/null
@@ -0,0 +1,7 @@
+# Add any commands the user may execute. Even shell commands.
+# You have to allow logout and/or exit, so the user can logout!
+# cd and pwd should also be allowed. Note: other shell builtin
+# commands are not yet implemented!
+touch
+vi
+
diff --git a/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/operator.xtns b/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/operator.xtns
new file mode 100644 (file)
index 0000000..ececf5d
--- /dev/null
@@ -0,0 +1,4 @@
+# Add any extension the user may use.
+.doc
+.txt
+
diff --git a/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/secadmin.cmds b/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/secadmin.cmds
new file mode 100644 (file)
index 0000000..ae2bfa8
--- /dev/null
@@ -0,0 +1,12 @@
+# Add any commands the user may execute. Even shell commands.
+# You have to allow logout and/or exit, so the user can logout!
+# cd and pwd should also be allowed. Note: other shell builtin
+# commands are not yet implemented!
+#
+touch
+tar
+scp
+sftp
+ssh
+vi
+
diff --git a/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/secadmin.xtns b/meta-starlingx/meta-stx-flock/stx-integ/files/ibsh/secadmin.xtns
new file mode 100644 (file)
index 0000000..5828add
--- /dev/null
@@ -0,0 +1,6 @@
+# Add any extension the user may use.
+.doc
+.txt
+.tgz
+.tar
+
diff --git a/meta-starlingx/meta-stx-flock/stx-integ/ibsh_0.3e.bbappend b/meta-starlingx/meta-stx-flock/stx-integ/ibsh_0.3e.bbappend
new file mode 100644 (file)
index 0000000..6a59c4f
--- /dev/null
@@ -0,0 +1,24 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += " \
+       file://${PN}/ibsh-0.3e.patch \
+       file://${PN}/ibsh-0.3e-cgcs.patch \
+       file://${PN}/ibsh-0.3e-cgcs-copyright.patch \
+       file://${PN}/admin.cmds \
+       file://${PN}/admin.xtns \
+       file://${PN}/LICENSE \
+       file://${PN}/operator.cmds \
+       file://${PN}/operator.xtns \
+       file://${PN}/secadmin.cmds \
+       file://${PN}/secadmin.xtns \
+       "
+
+do_install_append() {
+       cp ${WORKDIR}/${PN}/admin.cmds ${D}/${sysconfdir}/ibsh/cmds/
+       cp ${WORKDIR}/${PN}/admin.xtns ${D}/${sysconfdir}/ibsh/xtns/
+       cp ${WORKDIR}/${PN}/operator.cmds ${D}/${sysconfdir}/ibsh/cmds/
+       cp ${WORKDIR}/${PN}/operator.xtns ${D}/${sysconfdir}/ibsh/xtns/
+       cp ${WORKDIR}/${PN}/secadmin.cmds ${D}/${sysconfdir}/ibsh/cmds/
+       cp ${WORKDIR}/${PN}/secadmin.xtns ${D}/${sysconfdir}/ibsh/xtns/
+}
+
diff --git a/meta-starlingx/meta-stx-flock/stx-integ/kvm-timer-advance-setup.bb b/meta-starlingx/meta-stx-flock/stx-integ/kvm-timer-advance-setup.bb
new file mode 100644 (file)
index 0000000..475e329
--- /dev/null
@@ -0,0 +1,38 @@
+DESCRIPTION = "StarlingX KVM Timer Advance Package"
+
+STABLE = "starlingx/master"
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCNAME = "integ"
+SRCREV = "0bf4b546df8c7fdec8cfc6cb6f71b9609ee54306"
+S = "${WORKDIR}/git"
+PV = "1.0.0"
+
+LICENSE = "Apache-2.0 & GPL-2.0"
+LIC_FILES_CHKSUM = "file://virt/kvm-timer-advance/files/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+RDEPENDS_${PN}_append = " \
+       systemd \
+       bash \
+       "
+
+
+SRC_URI = "git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       "
+inherit setuptools systemd
+SYSTEMD_PACKAGES += " ${PN}"
+SYSTEMD_SERVICE_${PN} = "kvm_timer_advance_setup.service"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install () {
+       
+# kvm-timer-advance
+
+       install -p -D -m 0755 ${S}/virt/kvm-timer-advance/files/setup_kvm_timer_advance.sh \
+                       ${D}/${bindir}/setup_kvm_timer_advance.sh
+       install -p -D -m 444 ${S}/virt/kvm-timer-advance/files/kvm_timer_advance_setup.service \
+                       ${D}/${systemd_system_unitdir}/kvm_timer_advance_setup.service
+
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-integ/spectre-meltdown-checker_git.bb b/meta-starlingx/meta-stx-flock/stx-integ/spectre-meltdown-checker_git.bb
new file mode 100644 (file)
index 0000000..9a9ab40
--- /dev/null
@@ -0,0 +1,23 @@
+DESCRIPTION = " \
+A shell script to tell if your system is vulnerable against the several \
+\"speculative execution\" CVEs that were made public since 2018. \
+"
+
+SUMMARY = "Spectre and Meltdown Checker"
+HOMEPAGE = "https://github.com/speed47/spectre-meltdown-checker"
+LICENSE = "GPL-3.0"
+LIC_FILES_CHKSUM = "file://spectre-meltdown-checker.sh;beginline=1;endline=5;md5=0113e62a200ec9a5f5ebdd7ad4329133"
+
+SRCREV = "3d21dae16864f8e8262d7a35bd4de300452b274d"
+SRCNAME = "spectre-meltdown-checker"
+BRANCH = "master"
+PROTOCOL = "https"
+PV = "v0.43+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/speed47/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+do_install() {
+       install -d -p -m 0755 ${D}/${sbindir} 
+       install -m 0644 ${S}/${SRCNAME}.sh ${D}/${sbindir}/${SRCNAME}.sh
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/files/0001-inventory-Remove-argparse-requirement.patch b/meta-starlingx/meta-stx-flock/stx-metal/files/0001-inventory-Remove-argparse-requirement.patch
new file mode 100644 (file)
index 0000000..4784a0d
--- /dev/null
@@ -0,0 +1,24 @@
+From d42dc102aaca386f314808e771a56b9ecbd29876 Mon Sep 17 00:00:00 2001
+From: "Sar Ashki, Babak" <Babak.SarAshki@windriver.com>
+Date: Tue, 25 Feb 2020 13:58:15 -0800
+Subject: [PATCH] stx-metal: remove argparse requirement from inventory
+
+---
+ inventory/inventory/requirements.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/requirements.txt b/requirements.txt
+index 993f224..82170c3 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -6,7 +6,6 @@ pbr>=2.0 # Apache-2.0
+ SQLAlchemy
+ amqplib>=0.6.1
+ anyjson>=0.3.3
+-argparse
+ eventlet==0.20.0
+ futurist>=1.2.0 # Apache-2.0
+ greenlet>=0.3.2 # MIT
+-- 
+2.23.0
+
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/files/0001-mtce-Use-LDFLAGS-when-linking.patch b/meta-starlingx/meta-stx-flock/stx-metal/files/0001-mtce-Use-LDFLAGS-when-linking.patch
new file mode 100644 (file)
index 0000000..167f732
--- /dev/null
@@ -0,0 +1,199 @@
+From 0db72ac0c57a9f15ae6999e4ccf85a9db1e752fd Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Thu, 27 Jun 2019 22:25:15 -0700
+Subject: [PATCH] Use LDFLAGS when linking and pass flags down to submakes
+
+---
+ Makefile             | 27 +++++++++++++++------------
+ alarm/Makefile       |  2 +-
+ fsmon/Makefile       |  2 +-
+ fsync/Makefile       |  2 +-
+ heartbeat/Makefile   |  7 +++++--
+ hostw/Makefile       |  2 +-
+ hwmon/Makefile       |  2 +-
+ lmon/Makefile        |  2 +-
+ maintenance/Makefile |  4 ++--
+ mtclog/Makefile      |  2 +-
+ pmon/Makefile        |  2 +-
+ 11 files changed, 30 insertions(+), 24 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index a9ec0e2..8c256f1 100755
+--- a/Makefile
++++ b/Makefile
+@@ -8,18 +8,21 @@ VER=1
+ VER_MJR=1
+ build:
+-      (cd public ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
+-      (cd common ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
+-      (cd alarm  ; make build VER=$(VER) VER_MJR=$(VER_MJR))
+-      (cd heartbeat ; make build VER=$(VER) VER_MJR=$(VER_MJR))
+-      (cd maintenance ; make build VER=$(VER) VER_MJR=$(VER_MJR))
+-      (cd hwmon  ; make build VER=$(VER) VER_MJR=$(VER_MJR))
+-      (cd mtclog ; make build VER=$(VER) VER_MJR=$(VER_MJR))
+-      (cd lmon   ; make build VER=$(VER) VER_MJR=$(VER_MJR))
+-      (cd pmon   ; make build VER=$(VER) VER_MJR=$(VER_MJR))
+-      (cd fsmon  ; make build VER=$(VER) VER_MJR=$(VER_MJR))
+-      (cd hostw  ; make build VER=$(VER) VER_MJR=$(VER_MJR))
+-      (cd fsync  ; make build VER=$(VER) VER_MJR=$(VER_MJR))
++      ( \
++      cd public;\
++      make -e CCFLAGS="$(CCFLAGS) -fPIC" LDFLAGS="$(LDFLAGS) -shared" INCLUDES="$(INCLUDES)" lib VER=$(VER) VER_MJR=$(VER_MJR) \
++      )
++      (cd common ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" lib VER=$(VER) VER_MJR=$(VER_MJR))
++      (cd alarm  ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
++      (cd heartbeat ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
++      (cd maintenance ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
++      (cd hwmon  ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
++      (cd mtclog ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
++      (cd lmon   ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
++      (cd pmon   ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
++      (cd fsmon  ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
++      (cd hostw  ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
++      (cd fsync  ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
+ clean:
+       @( cd common ; make clean )
+diff --git a/alarm/Makefile b/alarm/Makefile
+index a27b0fb..cff233c 100755
+--- a/alarm/Makefile
++++ b/alarm/Makefile
+@@ -43,7 +43,7 @@ library:
+        ar rcs libalarm.a alarm.o $(EXTRAARFLAGS)
+ process: $(OBJS)
+-      $(CXX) $(CCFLAGS) ${OBJS} -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o mtcalarmd
++      $(CXX) $(CCFLAGS) $(LDFLAGS) ${OBJS} -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o mtcalarmd
+ clean_bins:
+       @rm -v -f $(BINS)
+diff --git a/fsmon/Makefile b/fsmon/Makefile
+index b53cce0..33256ab 100644
+--- a/fsmon/Makefile
++++ b/fsmon/Makefile
+@@ -28,7 +28,7 @@ else
+ endif
+ build: clean static_analysis $(OBJS)
+-      $(CXX) $(CCFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o fsmond
++      $(CXX) $(CCFLAGS) $(LDFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o fsmond
+ common:
+       ( cd ../common ; make clean ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
+diff --git a/fsync/Makefile b/fsync/Makefile
+index b041f15..85c1543 100644
+--- a/fsync/Makefile
++++ b/fsync/Makefile
+@@ -16,7 +16,7 @@ all: build
+       $(CC) $(INCLUDES) $(CCFLAGS) $(EXTRACCFLAGS) -c $< -o $@
+ build: $(OBJS)
+-      $(CC) $(OBJS) $(LDLIBS) -o fsync
++      $(CC) $(CCFLAGS) $(LDFLAGS) $(OBJS) $(LDLIBS) -o fsync
+ clean: 
+       @rm -v -f $(OBJS) fsync
+diff --git a/heartbeat/Makefile b/heartbeat/Makefile
+index a625f20..b8deda7 100755
+--- a/heartbeat/Makefile
++++ b/heartbeat/Makefile
+@@ -33,8 +33,11 @@ endif
+ all: static_analysis common agent client
+ build: static_analysis $(OBJS)
+-      $(CXX) $(CCFLAGS) hbsAlarm.o hbsAgent.o hbsUtil.o hbsCluster.o hbsStubs.o ../common/nodeClass.o -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o hbsAgent
+-      $(CXX) $(CCFLAGS) hbsClient.o hbsPmon.o hbsUtil.o -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o hbsClient
++      $(CXX) $(CCFLAGS) $(LDFLAGS) \
++              hbsAlarm.o hbsAgent.o hbsUtil.o hbsCluster.o hbsStubs.o ../common/nodeClass.o -L../public -L../alarm \
++                      $(LDLIBS) $(EXTRALDFLAGS) -o hbsAgent
++
++      $(CXX) $(CCFLAGS) $(LDFLAGS) hbsClient.o hbsPmon.o hbsUtil.o -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o hbsClient
+ common:
+       ( cd ../common ; make clean ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
+diff --git a//hostw/Makefile b/hostw/Makefile
+index d72708c..af18059 100755
+--- a/hostw/Makefile
++++ b/hostw/Makefile
+@@ -28,7 +28,7 @@ else
+ endif
+ build: clean static_analysis $(OBJS)
+-      $(CXX) $(CCFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o hostwd
++      $(CXX) $(CCFLAGS) $(LDFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o hostwd
+ common:
+       ( cd ../common ; make clean ; make -j1 lib VER=$(VER) VER_MJR=$(VER_MJR))
+diff --git a/hwmon/Makefile b/hwmon/Makefile
+index 6d7cee3..c168c43 100644
+--- a/hwmon/Makefile
++++ b/hwmon/Makefile
+@@ -45,7 +45,7 @@ else
+ endif
+ build: clean static_analysis $(OBJS)
+-      $(CXX) $(CCFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o $(BIN)
++      $(CXX) $(CCFLAGS) $(LDFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o $(BIN)
+ common:
+       ( cd ../common ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
+diff --git a/lmon/Makefile b/lmon/Makefile
+index 9e328a4..a1a8519 100755
+--- a/lmon/Makefile
++++ b/lmon/Makefile
+@@ -29,7 +29,7 @@ else
+ endif
+ build: clean static_analysis $(OBJS)
+-      $(CXX) $(CCFLAGS) $(OBJS) $(LDPATH) $(LDLIBS) $(EXTRALDFLAGS) -o lmond
++      $(CXX) $(CCFLAGS) $(LDFLAGS) $(OBJS) $(LDPATH) $(LDLIBS) $(EXTRALDFLAGS) -o lmond
+ clean:
+       @rm -v -f $(OBJ) lmond *.o *.a
+diff --git a/maintenance/Makefile b/maintenance/Makefile
+index 85c2db6..e6a8892 100755
+--- a/maintenance/Makefile
++++ b/maintenance/Makefile
+@@ -77,10 +77,10 @@ common:
+       ( cd ../common ; make clean ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
+ mtcAgent: $(OBJS)
+-      $(CXX) $(CONTROL_OBJS) -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o mtcAgent
++      $(CXX) $(CCFLAGS) $(LDFLAGS) $(CONTROL_OBJS) -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o mtcAgent
+ mtcClient: $(OBJS)
+-      $(CXX) $(COMPUTE_OBJS) -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o mtcClient
++      $(CXX) $(CCFLAGS) $(LDFLAGS) $(COMPUTE_OBJS) -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o mtcClient
+ remove_bins:
+       @rm -v -f $(BINS)
+diff --git a/mtclog/Makefile b/mtclog/Makefile
+index 1d49aa4..fb513d9 100644
+--- a/mtclog/Makefile
++++ b/mtclog/Makefile
+@@ -30,7 +30,7 @@ else
+ endif
+ build: clean static_analysis $(OBJS)
+-      $(CXX) $(CCFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o mtclogd
++      $(CXX) $(CCFLAGS) $(LDFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o mtclogd
+ common:
+       ( cd ../common ; make clean ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
+diff --git a/pmon/Makefile b/pmon/Makefile
+index f75f2be..c34e204 100755
+--- a/pmon/Makefile
++++ b/pmon/Makefile
+@@ -29,7 +29,7 @@ else
+ endif
+ build: clean static_analysis $(OBJS)
+-      $(CXX) $(CCFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o pmond
++      $(CXX) $(CCFLAGS) $(LDFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o pmond
+ common:
+       ( cd ../common ; make clean ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/files/0001-mtce-avoid-overflowing-amon.tx_buf.patch b/meta-starlingx/meta-stx-flock/stx-metal/files/0001-mtce-avoid-overflowing-amon.tx_buf.patch
new file mode 100644 (file)
index 0000000..a9b1058
--- /dev/null
@@ -0,0 +1,26 @@
+From 3060369f60b2dc9e6d138cabd18d7f206c7bb0f5 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Thu, 27 Jun 2019 21:40:34 -0700
+Subject: [PATCH] Use snprintf to avoid overflowing amon.tx_buf
+
+---
+ public/amon.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/public/amon.c b/public/amon.c
+index b9146a2..941f905 100644
+--- a/public/amon.c
++++ b/public/amon.c
+@@ -257,7 +257,8 @@ int  active_monitor_dispatch ( void )
+             }
+             memset ( amon.tx_buf, 0 , AMON_MAX_LEN );
+-            sprintf( amon.tx_buf, "%s %8x %d%c", str, magic, seq, '\0' );
++            if (snprintf( amon.tx_buf, AMON_MAX_LEN,  "%s %8x %d%c", str, magic, seq, '\0' ) < 0)
++              fprintf(stderr,"%s:%d amon.txbuf overflow detected!\n", __func__, __LINE__);
+             
+             if ( strcmp ( str, amon.name ) )
+             {
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/files/0002-mtce-Adjust-paths.patch b/meta-starlingx/meta-stx-flock/stx-metal/files/0002-mtce-Adjust-paths.patch
new file mode 100644 (file)
index 0000000..bdef7fa
--- /dev/null
@@ -0,0 +1,237 @@
+diff --git a/alarm/scripts/mtcalarm.init b/alarm/scripts/mtcalarm.init
+index 57f348f..419da8a 100644
+--- a/alarm/scripts/mtcalarm.init
++++ b/alarm/scripts/mtcalarm.init
+@@ -20,7 +20,7 @@
+ . /etc/init.d/functions
+ DAEMON_NAME="mtcalarmd"
+-DAEMON="/usr/local/bin/${DAEMON_NAME}"
++DAEMON="/usr/bin/${DAEMON_NAME}"
+ PIDFILE="/var/run/${DAEMON_NAME}.pid"
+ PLATFORM_CONF="/etc/platform/platform.conf"
+diff --git a/fsmon/scripts/fsmon b/fsmon/scripts/fsmon
+index 6d8abcc..de9da01 100644
+--- a/fsmon/scripts/fsmon
++++ b/fsmon/scripts/fsmon
+@@ -20,7 +20,7 @@
+ . /etc/init.d/functions
+ DAEMON_NAME="fsmond"
+-DAEMON="/usr/local/bin/${DAEMON_NAME}"
++DAEMON="/usr/bin/${DAEMON_NAME}"
+ PIDFILE="/var/run/${DAEMON_NAME}.pid"
+ # Linux Standard Base (LSB) Error Codes
+diff --git a/hostw/scripts/hostw b/hostw/scripts/hostw
+index 82a4aaf..4946092 100644
+--- a/hostw/scripts/hostw
++++ b/hostw/scripts/hostw
+@@ -17,12 +17,12 @@
+ # Short-Description: host watchdog daemon
+ ### END INIT INFO
+-# echo "7:3:respawn:/usr/local/bin/hostwd" >> /etc/inittab
++# echo "7:3:respawn:/usr/bin/hostwd" >> /etc/inittab
+ . /etc/init.d/functions
+ DAEMON_NAME="hostwd"
+-DAEMON="/usr/local/bin/${DAEMON_NAME}"
++DAEMON="/usr/bin/${DAEMON_NAME}"
+ IFACE=""
+ if [ ! -e "$DAEMON" ] ; then
+diff --git a/hwmon/scripts/lsb/hwmon b/hwmon/scripts/lsb/hwmon
+index 4596a36..ba459c1 100644
+--- a/hwmon/scripts/lsb/hwmon
++++ b/hwmon/scripts/lsb/hwmon
+@@ -20,7 +20,7 @@
+ . /etc/init.d/functions
+ DAEMON_NAME="hwmond"
+-DAEMON="/usr/local/bin/${DAEMON_NAME}"
++DAEMON="/usr/bin/${DAEMON_NAME}"
+ PIDFILE="/var/run/${DAEMON_NAME}.pid"
+ # Linux Standard Base (LSB) Error Codes
+diff --git a/hwmon/scripts/ocf/hwmon b/hwmon/scripts/ocf/hwmon
+index 14f52a2..b71a77f 100644
+--- a/hwmon/scripts/ocf/hwmon
++++ b/hwmon/scripts/ocf/hwmon
+@@ -45,7 +45,7 @@ OCF_RESKEY_state_default="standby"
+ : ${OCF_RESKEY_pid=${OCF_RESKEY_pid_default}}
+ : ${OCF_RESKEY_state=${OCF_RESKEY_state_default}}
+-mydaemon="/usr/local/bin/${OCF_RESKEY_binary}"
++mydaemon="/usr/bin/${OCF_RESKEY_binary}"
+ statusfile="/var/run/${OCF_RESKEY_binary}.info"
+ #######################################################################
+@@ -157,9 +157,9 @@ hwmond_validate() {
+         ocf_log info "hwmond:validate"
+    fi
+-    check_binary "/usr/local/bin/${OCF_RESKEY_binary}"
+-    check_binary "/usr/local/bin/mtcAgent"
+-    check_binary "/usr/local/bin/mtcClient"
++    check_binary "/usr/bin/${OCF_RESKEY_binary}"
++    check_binary "/usr/bin/mtcAgent"
++    check_binary "/usr/bin/mtcClient"
+     check_binary sysinv-api
+     check_binary pidof
+diff --git a/lmon/scripts/lmon b/lmon/scripts/lmon
+index 6024e16..21538ee 100644
+--- a/lmon/scripts/lmon
++++ b/lmon/scripts/lmon
+@@ -20,7 +20,7 @@
+ . /etc/init.d/functions
+ DAEMON_NAME="lmond"
+-DAEMON="/usr/local/bin/${DAEMON_NAME}"
++DAEMON="/usr/bin/${DAEMON_NAME}"
+ IFACE=""
+ if [ ! -e "$DAEMON" ] ; then
+diff --git a/maintenance/mtcCompMsg.cpp b/maintenance/mtcCompMsg.cpp
+index b5b221e..daaea9b 100755
+--- a/maintenance/mtcCompMsg.cpp
++++ b/maintenance/mtcCompMsg.cpp
+@@ -541,7 +541,7 @@ int mtc_service_command ( mtc_socket_type * sock_ptr, int interface )
+             {
+                 ilog ("Disk wipe in progress (%s)\n", interface_name.c_str());
+                 daemon_log ( NODE_RESET_FILE, "wipedisk command" );
+-                rc = system("/usr/local/bin/wipedisk --force");
++                rc = system("/usr/bin/wipedisk --force");
+                 ilog ("Disk wipe complete - Forcing Reboot ...\n");
+                 rc = system("/usr/bin/systemctl reboot --force");
+                 exit (0);
+diff --git a/pmon/scripts/pmon b/pmon/scripts/pmon
+index bdc3ab7..4cb813e 100644
+--- a/pmon/scripts/pmon
++++ b/pmon/scripts/pmon
+@@ -17,12 +17,12 @@
+ # Short-Description: process Monitor daemon 
+ ### END INIT INFO
+-# echo "7:3:respawn:/usr/local/bin/pmond" >> /etc/inittab
++# echo "7:3:respawn:/usr/bin/pmond" >> /etc/inittab
+ . /etc/init.d/functions
+ DAEMON_NAME="pmond"
+-DAEMON="/usr/local/bin/${DAEMON_NAME}"
++DAEMON="/usr/bin/${DAEMON_NAME}"
+ IFACE=""
+ if [ ! -e "$DAEMON" ] ; then
+diff --git a/scripts/hbsAgent b/scripts/hbsAgent
+index d1a2f4f..e8157f0 100755
+--- a/scripts/hbsAgent
++++ b/scripts/hbsAgent
+@@ -43,7 +43,7 @@ OCF_RESKEY_state_default="active"
+ : ${OCF_RESKEY_pid=${OCF_RESKEY_pid_default}}
+ : ${OCF_RESKEY_state=${OCF_RESKEY_state_default}}
+-mydaemon="/usr/local/bin/${OCF_RESKEY_binary}"
++mydaemon="/usr/bin/${OCF_RESKEY_binary}"
+ statusfile="/var/run/${OCF_RESKEY_binary}.info"
+ virtualhostfile="/var/run/virtual.host"
+ facterexec="/usr/bin/facter"
+@@ -148,8 +148,8 @@ hbsAgent_validate() {
+         ocf_log info "hbsAgent:validate"  
+     fi
+-    check_binary "/usr/local/bin/${OCF_RESKEY_binary}"
+-    check_binary "/usr/local/bin/mtcAgent"
++    check_binary "/usr/bin/${OCF_RESKEY_binary}"
++    check_binary "/usr/bin/mtcAgent"
+     check_binary pidof
+     if [ ! -f ${OCF_RESKEY_config} ] ; then
+diff --git a/scripts/hbsClient b/scripts/hbsClient
+index 67d7e84..7c412b1 100644
+--- a/scripts/hbsClient
++++ b/scripts/hbsClient
+@@ -20,7 +20,7 @@
+ . /etc/init.d/functions
+ DAEMON_NAME="hbsClient"
+-DAEMON="/usr/local/bin/${DAEMON_NAME}"
++DAEMON="/usr/bin/${DAEMON_NAME}"
+ PIDFILE="/var/run/${DAEMON_NAME}.pid"
+ IFACE=""
+diff --git a/scripts/mtcAgent b/scripts/mtcAgent
+index 6e75ace..885bd3d 100755
+--- a/scripts/mtcAgent
++++ b/scripts/mtcAgent
+@@ -45,7 +45,7 @@ OCF_RESKEY_state_default="standby"
+ : ${OCF_RESKEY_pid=${OCF_RESKEY_pid_default}}
+ : ${OCF_RESKEY_state=${OCF_RESKEY_state_default}}
+-mydaemon="/usr/local/bin/${OCF_RESKEY_binary}"
++mydaemon="/usr/bin/${OCF_RESKEY_binary}"
+ statusfile="/var/run/${OCF_RESKEY_binary}.info"
+ #######################################################################
+@@ -157,10 +157,10 @@ mtcAgent_validate() {
+         ocf_log info "mtcAgent:validate"
+    fi
+-    check_binary "/usr/local/bin/${OCF_RESKEY_binary}"
+-    check_binary "/usr/local/bin/hbsAgent"
+-    check_binary "/usr/local/bin/mtcClient"
+-    check_binary "/usr/local/bin/hbsClient"
++    check_binary "/usr/bin/${OCF_RESKEY_binary}"
++    check_binary "/usr/bin/hbsAgent"
++    check_binary "/usr/bin/mtcClient"
++    check_binary "/usr/bin/hbsClient"
+     check_binary sysinv-api
+     check_binary pidof
+diff --git a/scripts/mtcClient b/scripts/mtcClient
+index 1113689..de4f407 100644
+--- a/scripts/mtcClient
++++ b/scripts/mtcClient
+@@ -20,7 +20,7 @@
+ . /etc/init.d/functions
+ DAEMON_NAME="mtcClient"
+-DAEMON="/usr/local/bin/${DAEMON_NAME}"
++DAEMON="/usr/bin/${DAEMON_NAME}"
+ PIDFILE="/var/run/${DAEMON_NAME}.pid"
+ PLATFORM_CONF="/etc/platform/platform.conf"
+diff --git a/scripts/mtcinit b/scripts/mtcinit
+index 8ff9bbb..4672e2f 100755
+--- a/scripts/mtcinit
++++ b/scripts/mtcinit
+@@ -9,10 +9,10 @@
+ . /etc/init.d/functions
+ MTCCLIENT_NAME="mtcClient"
+-MTCCLIENT="/usr/local/bin/${MTCCLIENT_NAME}"
++MTCCLIENT="/usr/bin/${MTCCLIENT_NAME}"
+ HBSCLIENT_NAME="hbsClient"
+-HBSCLIENT="/usr/local/bin/${HBSCLIENT_NAME}"
++HBSCLIENT="/usr/bin/${HBSCLIENT_NAME}"
+ IFACE=""
+diff --git a/scripts/mtclog b/scripts/mtclog
+index 80db22a..f904c4d 100644
+--- a/scripts/mtclog
++++ b/scripts/mtclog
+@@ -22,7 +22,7 @@
+ . /etc/init.d/functions
+ DAEMON_NAME="mtclogd"
+-DAEMON="/usr/local/bin/${DAEMON_NAME}"
++DAEMON="/usr/bin/${DAEMON_NAME}"
+ PIDFILE="/var/run/${DAEMON_NAME}.pid"
+ PLATFORM_CONF="/etc/platform/platform.conf"
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/files/kickstarts-add-setting-for-debain-style-networking.patch b/meta-starlingx/meta-stx-flock/stx-metal/files/kickstarts-add-setting-for-debain-style-networking.patch
new file mode 100644 (file)
index 0000000..96f8f85
--- /dev/null
@@ -0,0 +1,49 @@
+From 45298bf5951677433417eb1befc990ba7a70301a Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Thu, 18 Jun 2020 09:53:00 +0800
+Subject: [PATCH] kickstarts: add setting for debain style networking
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ bsp-files/kickstarts/post_net_common.cfg         | 6 ++++++
+ bsp-files/kickstarts/post_pxeboot_controller.cfg | 6 ++++++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/bsp-files/kickstarts/post_net_common.cfg b/bsp-files/kickstarts/post_net_common.cfg
+index 8b854ff..46cdeeb 100755
+--- a/bsp-files/kickstarts/post_net_common.cfg
++++ b/bsp-files/kickstarts/post_net_common.cfg
+@@ -75,6 +75,12 @@ IPV6_AUTOCONF=no
+ LINKDELAY=20
+ EOF
+
++    # For Debian style networking settings
++    cat << EOF >> /etc/network/interfaces
++auto $mgmt_dev
++iface $mgmt_dev inet dhcp
++EOF
++
+ else
+
+     # Check whether to use inet or inet6
+diff --git a/bsp-files/kickstarts/post_pxeboot_controller.cfg b/bsp-files/kickstarts/post_pxeboot_controller.cfg
+index 54f7046..2b29a64 100644
+--- a/bsp-files/kickstarts/post_pxeboot_controller.cfg
++++ b/bsp-files/kickstarts/post_pxeboot_controller.cfg
+@@ -64,6 +64,12 @@ ONBOOT=yes
+ IPV6_AUTOCONF=no
+ EOF
+
++# For Debian style networking settings
++cat << EOF >> /etc/network/interfaces
++auto $mgmt_dev
++iface $mgmt_dev inet dhcp
++EOF
++
+ %end
+
+ %post --erroronfail
+--
+2.7.4
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/files/kickstarts-adjustment-and-fixes-or-poky-stx.patch b/meta-starlingx/meta-stx-flock/stx-metal/files/kickstarts-adjustment-and-fixes-or-poky-stx.patch
new file mode 100644 (file)
index 0000000..90f0e51
--- /dev/null
@@ -0,0 +1,309 @@
+From 0b620c4f4936af27d915b0ec809dd2f214f4daa9 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Wed, 10 Jun 2020 10:36:18 +0800
+Subject: [PATCH] kickstarts: adjustment fnd fixes or poky-stx
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ bsp-files/kickstarts/post_common.cfg               | 87 +++++++++++++++++-----
+ .../kickstarts/post_kernel_aio_and_worker.cfg      |  4 +-
+ bsp-files/kickstarts/post_kernel_controller.cfg    |  4 +-
+ bsp-files/kickstarts/post_kernel_storage.cfg       |  4 +-
+ bsp-files/kickstarts/post_usb_controller.cfg       |  3 +-
+ bsp-files/kickstarts/pre_common_head.cfg           | 33 +++++++-
+ bsp-files/kickstarts/pre_pkglist.cfg               | 19 +----
+ bsp-files/kickstarts/pre_pkglist_lowlatency.cfg    | 18 +----
+ 8 files changed, 110 insertions(+), 62 deletions(-)
+
+diff --git a/bsp-files/kickstarts/post_common.cfg b/bsp-files/kickstarts/post_common.cfg
+index 48abb74..a166c54 100644
+--- a/bsp-files/kickstarts/post_common.cfg
++++ b/bsp-files/kickstarts/post_common.cfg
+@@ -1,3 +1,55 @@
++######################################
++# workarounds or fixes for poky-stx
++######################################
++%post --erroronfail
++
++# Add extra users and groups
++SYSADMIN_P="4SuW8cnXFyxsk"
++groupadd -f -g 345 sys_protected
++useradd -m -g sys_protected -G root -d /home/sysadmin -p ${SYSADMIN_P} -s /bin/sh sysadmin
++
++groupadd -r -g 128 nscd
++useradd -M -o -r -d / -s /sbin/nologin -c 'NSCD Daemon' -u 28 -g nscd nscd
++
++useradd -p '' patching
++groupadd patching
++usermod -a -G patching patching
++
++useradd -p '' nfv
++groupadd nfv
++usermod -a -G nfv nfv
++
++usermod -a -G sys_protected sysadmin
++usermod -a -G sys_protected sysinv
++usermod -a -G sys_protected www
++usermod -a -G sys_protected nfv
++usermod -a -G sys_protected patching
++usermod -a -G sys_protected haproxy
++usermod -a -G snmpd fm
++usermod -P root root
++
++# Extend path variable for sysadmin
++echo 'PATH=/sbin:/usr/sbin:$PATH' >> /home/sysadmin/.bashrc
++chown sysadmin:sys_protected /home/sysadmin/.bashrc
++
++# Avoid duplicate with systemd-fstab-generator
++sed -i "s|\(^.*/dev/root\)|#\1|" /etc/fstab
++
++%end
++
++%post --nochroot
++# installer images for pxe-network-installer
++mkdir -p /mnt/sysimage/pxeboot/rel-xxxPLATFORM_RELEASExxx
++cp -P /boot/installer-initrd* /mnt/sysimage/pxeboot/rel-xxxPLATFORM_RELEASExxx/
++cp /boot/bzImage /mnt/sysimage/pxeboot/rel-xxxPLATFORM_RELEASExxx/installer-bzImage_1.0
++ln -s installer-bzImage_1.0 /mnt/sysimage/pxeboot/rel-xxxPLATFORM_RELEASExxx/installer-bzImage
++
++if [ -f /media/realroot/efi.img ]; then
++  cp /media/realroot/efi.img /mnt/sysimage/pxeboot/rel-xxxPLATFORM_RELEASExxx/efiboot.img
++fi
++
++%end
++
+ %post --erroronfail
+
+ # Source common functions
+@@ -31,25 +83,26 @@ else
+ fi
+
+ . /etc/platform/platform.conf
+-# Configure smart package manager channels
+-rm -rf /var/lib/smart
+-mkdir /var/lib/smart
+-/usr/bin/smart channel -y \
+-    --add rpmdb type=rpm-sys name="RPM Database"
+-/usr/bin/smart channel -y \
+-    --add base type=rpm-md name="Base" baseurl=http://controller:${http_port:-8080}/feed/rel-xxxPLATFORM_RELEASExxx
+-/usr/bin/smart channel -y \
+-    --add updates type=rpm-md name="Patches" baseurl=http://controller:${http_port:-8080}/updates/rel-xxxPLATFORM_RELEASExxx
+-
+-# Configure smart to use rpm --nolinktos option
+-/usr/bin/smart config --set rpm-nolinktos=true
+-
+-# Configure smart to use rpm --nosignature option
+-/usr/bin/smart config --set rpm-check-signatures=false
+
+ # Delete the CentOS yum repo files
+ rm -f /etc/yum.repos.d/CentOS-*
+
++# Create platform yum repo file
++mkdir -p /etc/yum.repos.d
++cat >/etc/yum.repos.d/platform.repo <<EOF
++[platform-base]
++name=platform-base
++baseurl=http://controller:${http_port:-8080}/feed/rel-xxxPLATFORM_RELEASExxx
++gpgcheck=0
++enabled=1
++
++[platform-updates]
++name=platform-updates
++baseurl=http://controller:${http_port:-8080}/updates/rel-xxxPLATFORM_RELEASExxx
++gpgcheck=0
++enabled=1
++EOF
++
+ # Persist the boot device naming as UDEV rules so that if the network device
+ # order changes post-install that we will still be able to DHCP from the
+ # correct interface to reach the active controller.  For most nodes only the
+@@ -73,7 +126,7 @@ done
+ chage -d 0 sysadmin
+
+ # Lock the root password
+-passwd -l root
++#passwd -l root
+
+ # Enable tmpfs mount for /tmp
+ # delete /var/tmp so that it can similinked in
+@@ -81,7 +134,7 @@ rm -rf /var/tmp
+ systemctl enable tmp.mount
+
+ # Disable automount of /dev/hugepages
+-systemctl mask dev-hugepages.mount
++#systemctl mask dev-hugepages.mount
+
+ # Disable firewall
+ systemctl disable firewalld
+diff --git a/bsp-files/kickstarts/post_kernel_aio_and_worker.cfg b/bsp-files/kickstarts/post_kernel_aio_and_worker.cfg
+index f228110..f4037fa 100644
+--- a/bsp-files/kickstarts/post_kernel_aio_and_worker.cfg
++++ b/bsp-files/kickstarts/post_kernel_aio_and_worker.cfg
+@@ -95,9 +95,9 @@ fi
+ perl -pi -e 's/(GRUB_CMDLINE_LINUX=.*)\"/\1'"$KERN_OPTS"'\"/g' /etc/default/grub
+
+ if [ -d /sys/firmware/efi ] ; then
+-  grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
++  grub-mkconfig -o /boot/efi/EFI/centos/grub.cfg
+ else
+-  grub2-mkconfig -o /boot/grub2/grub.cfg
++  grub-mkconfig -o /boot/grub/grub.cfg
+ fi
+
+ %end
+diff --git a/bsp-files/kickstarts/post_kernel_controller.cfg b/bsp-files/kickstarts/post_kernel_controller.cfg
+index a49f835..c076fdc 100644
+--- a/bsp-files/kickstarts/post_kernel_controller.cfg
++++ b/bsp-files/kickstarts/post_kernel_controller.cfg
+@@ -42,9 +42,9 @@ fi
+ perl -pi -e 's/(GRUB_CMDLINE_LINUX=.*)\"/\1'"$KERN_OPTS"'\"/g' /etc/default/grub
+
+ if [ -d /sys/firmware/efi ] ; then
+-  grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
++  grub-mkconfig -o /boot/efi/EFI/centos/grub.cfg
+ else
+-  grub2-mkconfig -o /boot/grub2/grub.cfg
++  grub-mkconfig -o /boot/grub/grub.cfg
+ fi
+
+ %end
+diff --git a/bsp-files/kickstarts/post_kernel_storage.cfg b/bsp-files/kickstarts/post_kernel_storage.cfg
+index 53bff1b..fb8eac4 100644
+--- a/bsp-files/kickstarts/post_kernel_storage.cfg
++++ b/bsp-files/kickstarts/post_kernel_storage.cfg
+@@ -36,9 +36,9 @@ fi
+ perl -pi -e 's/(GRUB_CMDLINE_LINUX=.*)\"/\1'"$KERN_OPTS"'\"/g' /etc/default/grub
+
+ if [ -d /sys/firmware/efi ] ; then
+-  grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
++  grub-mkconfig -o /boot/efi/EFI/centos/grub.cfg
+ else
+-  grub2-mkconfig -o /boot/grub2/grub.cfg
++  grub-mkconfig -o /boot/grub/grub.cfg
+ fi
+
+ %end
+diff --git a/bsp-files/kickstarts/post_usb_controller.cfg b/bsp-files/kickstarts/post_usb_controller.cfg
+index 788aee5..85ac641 100644
+--- a/bsp-files/kickstarts/post_usb_controller.cfg
++++ b/bsp-files/kickstarts/post_usb_controller.cfg
+@@ -61,8 +61,7 @@ fi
+
+ if [ -d $srcdir/Packages ] ; then
+     mkdir -p /mnt/sysimage/www/pages/feed/rel-xxxPLATFORM_RELEASExxx
+-    cp -r $srcdir/Packages /mnt/sysimage/www/pages/feed/rel-xxxPLATFORM_RELEASExxx/Packages
+-    cp -r $srcdir/repodata /mnt/sysimage/www/pages/feed/rel-xxxPLATFORM_RELEASExxx/repodata
++    cp -r $srcdir/Packages/* /mnt/sysimage/www/pages/feed/rel-xxxPLATFORM_RELEASExxx/
+     cp $srcdir/*.cfg /mnt/sysimage/www/pages/feed/rel-xxxPLATFORM_RELEASExxx
+ fi
+
+diff --git a/bsp-files/kickstarts/pre_common_head.cfg b/bsp-files/kickstarts/pre_common_head.cfg
+index 88edab4..d3c1ba9 100644
+--- a/bsp-files/kickstarts/pre_common_head.cfg
++++ b/bsp-files/kickstarts/pre_common_head.cfg
+@@ -46,17 +46,46 @@ echo "bootloader --location=mbr $boot_device_arg --timeout=5 --append=\"$append\
+ echo "timezone --nontp --utc UTC" >/tmp/timezone-include
+ %end
+
++##############################################################
++# pre script for poky-stx
++##############################################################
++%pre
++mkdir -p /run/install/repo
++cp installer-config/* /run/install/repo/
++rm -f /run/install/repo/Packages
++ln -sf /Packages /run/install/repo/Packages
++%end
++
++##############################################################
++# Main kickstart
++##############################################################
+ #version=DEVEL
+ install
+ lang en_US.UTF-8
+ keyboard us
+ %include /tmp/timezone-include
+-# set to 'x' so we can use shadow password
+-rootpw  --iscrypted x
++# Root password:
++rootpw --iscrypted $6$ArDcm/wSNLJLT2OP$QdWX6kMUgBVsiibukLBLtLfRDVz0n49BQ1svT7hPEQJASvKnqkEL5zc5kqUMMzXzLrj80z6YX9DmYTD0Ysxn.1
++
+ selinux --disabled
+ authconfig --enableshadow --passalgo=sha512
+ firewall --service=ssh
+
++# Use text mode install
++text
++
++# Use CDROM installation media
++cdrom
++
++# Run the Setup Agent on first boot
++firstboot --enable
++
++# System services
++services --enabled="lvm2-monitor.service"
++
++# Do not configure the X Window System
++skipx
++
+ # The following is the partition information you requested
+ # Note that any partitions you deleted are not expressed
+ # here so unless you clear all partitions first, this is
+diff --git a/bsp-files/kickstarts/pre_pkglist.cfg b/bsp-files/kickstarts/pre_pkglist.cfg
+index 37fe023..16e4dcf 100644
+--- a/bsp-files/kickstarts/pre_pkglist.cfg
++++ b/bsp-files/kickstarts/pre_pkglist.cfg
+@@ -1,21 +1,4 @@
+ %packages
+-@core
+-@base
+--kernel-module-igb-uio-rt
+--kernel-module-wrs-avp-rt
+--kernel-rt
+--kernel-rt-kvm
+--kernel-rt-tools
+--kernel-rt-tools-libs
+--kmod-drbd-rt
+--kmod-e1000e-rt
+--kmod-i40e-rt
+--kmod-ixgbe-rt
+--kmod-tpm-rt
+--mlnx-ofa_kernel
+--mlnx-ofa_kernel-rt
+--mlnx-ofa_kernel-rt-modules
+--qat16-rt
+-xxxPACKAGE_LISTxxx
++#@^stx-image-aio
+ %end
+
+diff --git a/bsp-files/kickstarts/pre_pkglist_lowlatency.cfg b/bsp-files/kickstarts/pre_pkglist_lowlatency.cfg
+index 3af6a39..16e4dcf 100644
+--- a/bsp-files/kickstarts/pre_pkglist_lowlatency.cfg
++++ b/bsp-files/kickstarts/pre_pkglist_lowlatency.cfg
+@@ -1,20 +1,4 @@
+ %packages
+-@core
+-@base
+--kernel-module-igb-uio
+--kernel-module-wrs-avp
+--kernel
+--kernel-tools
+--kernel-tools-libs
+--kmod-drbd
+--kmod-e1000e
+--kmod-i40e
+--kmod-ixgbe
+--kmod-tpm
+--mlnx-ofa_kernel
+--mlnx-ofa_kernel-rt
+--mlnx-ofa_kernel-modules
+--qat16
+-xxxPACKAGE_LISTxxx
++#@^stx-image-aio
+ %end
+
+--
+2.7.4
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/files/mtce-common-do-not-use-which-to-check-CC.patch b/meta-starlingx/meta-stx-flock/stx-metal/files/mtce-common-do-not-use-which-to-check-CC.patch
new file mode 100644 (file)
index 0000000..f03843e
--- /dev/null
@@ -0,0 +1,29 @@
+From 840f382ee691596474966f74bd1be37722bbc91c Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Tue, 9 Jun 2020 20:52:31 +0800
+Subject: [PATCH] mtce-common: do not use which to check CC
+
+Upstream-Status: Inappropriate [OE cross-compile specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ common/Makefile | 4 +---
+ 1 files changed, 1 insertions(+), 3 deletions(-)
+
+diff --git a/common/Makefile b/common/Makefile
+index e0a5574..d44eef6 100755
+--- a/common/Makefile
++++ b/common/Makefile
+@@ -54,9 +54,7 @@ CCFLAGS = -g -O2 -Wall -Wextra -Werror -std=c++11
+ STATIC_ANALYSIS_TOOL = cppcheck
+ STATIC_ANALYSIS_TOOL_EXISTS = $(shell [[ -e `which $(STATIC_ANALYSIS_TOOL)` ]] && echo 1 || echo 0)
+
+-ifeq (,$(shell which ${CC}))
+-CC=g++
+-endif
++CC ?= g++
+
+ .cpp.o:
+       $(CXX) $(CCFLAGS) $(INCLUDES) $(EXTRACCFLAGS) -c $< -o $@
+--
+2.7.4
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/files/mtce-control-adjust-unit-file-paths.patch b/meta-starlingx/meta-stx-flock/stx-metal/files/mtce-control-adjust-unit-file-paths.patch
new file mode 100644 (file)
index 0000000..75bb932
--- /dev/null
@@ -0,0 +1,17 @@
+diff --git a/mtce-control/src/scripts/hbsAgent.service b/mtce-control/src/scripts/hbsAgent.service
+index de3cb8d..b26690d 100644
+--- a/mtce-control/src/scripts/hbsAgent.service
++++ b/mtce-control/src/scripts/hbsAgent.service
+@@ -5,9 +5,9 @@ Before=pmon.service
+ [Service]
+ Type=forking
+-ExecStart=/etc/rc.d/init.d/hbsAgent start
+-ExecStop=/etc/rc.d/init.d/hbsAgent start
+-PIDFile=/var/run/hbsAgent.pid
++ExecStart=/etc/init.d/hbsAgent start
++ExecStop=/etc/init.d/hbsAgent start
++PIDFile=/run/hbsAgent.pid
+ KillMode=process
+ SendSIGKILL=no
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/files/mtce-control-fix-hardcoded-path-for-hbsAgent.patch b/meta-starlingx/meta-stx-flock/stx-metal/files/mtce-control-fix-hardcoded-path-for-hbsAgent.patch
new file mode 100644 (file)
index 0000000..da39496
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/mtce-control/src/scripts/hbsAgent b/mtce-control/src/scripts/hbsAgent
+index d05177d..13443d0 100644
+--- a/mtce-control/src/scripts/hbsAgent
++++ b/mtce-control/src/scripts/hbsAgent
+@@ -20,7 +20,7 @@
+ . /etc/init.d/functions
+ DAEMON_NAME="hbsAgent"
+-DAEMON="/usr/local/bin/${DAEMON_NAME}"
++DAEMON="/usr/bin/${DAEMON_NAME}"
+ PIDFILE="/var/run/${DAEMON_NAME}.pid"
+ VIRT_TOOL='virt-what'
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/files/mtce-do-not-use-which-to-check-CC.patch b/meta-starlingx/meta-stx-flock/stx-metal/files/mtce-do-not-use-which-to-check-CC.patch
new file mode 100644 (file)
index 0000000..551373c
--- /dev/null
@@ -0,0 +1,45 @@
+From 840f382ee691596474966f74bd1be37722bbc91c Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Tue, 9 Jun 2020 20:52:31 +0800
+Subject: [PATCH] mtce: do not use which to check CC
+
+Upstream-Status: Inappropriate [OE cross-compile specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ common/Makefile        | 4 +---
+ public/Makefile        | 4 +---
+ 2 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/common/Makefile b/common/Makefile
+index 229a1a3..f797724 100755
+--- a/common/Makefile
++++ b/common/Makefile
+@@ -17,9 +17,7 @@ CCFLAGS = -g -O2 -Wall -Wextra -Werror -std=c++11
+ STATIC_ANALYSIS_TOOL = cppcheck
+ STATIC_ANALYSIS_TOOL_EXISTS = $(shell [[ -e `which $(STATIC_ANALYSIS_TOOL)` ]] && echo 1 || echo 0)
+
+-ifeq (,$(shell which ${CC}))
+-CC=g++
+-endif
++CC ?= g++
+
+ .cpp.o:
+       $(CXX) $(CCFLAGS) $(INCLUDES) $(EXTRACCFLAGS) -c $< -o $@
+diff --git a/public/Makefile b/public/Makefile
+index 403638f..7dd80e4 100644
+--- a/public/Makefile
++++ b/public/Makefile
+@@ -13,9 +13,7 @@ LDFLAGS = -shared
+ CFLAGS = -fPIC -g -O2 -Wall -Wextra -Werror
+ TARGET_LIB = libamon.so
+ lib: build
+-ifeq (,$(shell which ${CC}))
+-CC=gcc
+-endif
++CC ?= gcc
+
+ STATIC_ANALYSIS_TOOL = cppcheck
+ STATIC_ANALYSIS_TOOL_EXISTS = $(shell [[ -e `which $(STATIC_ANALYSIS_TOOL)` ]] && echo 1 || echo 0)
+--
+2.7.4
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/files/mtce-libamon-add-shared-option.patch b/meta-starlingx/meta-stx-flock/stx-metal/files/mtce-libamon-add-shared-option.patch
new file mode 100644 (file)
index 0000000..a8ac5a0
--- /dev/null
@@ -0,0 +1,30 @@
+From d233ae2930996102bbdd16085b29058a4d01179c Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Tue, 9 Jun 2020 22:49:56 +0800
+Subject: [PATCH] libamon: add shared option
+
+The -shared option is set in the parent Makefile, but somehow
+it's lost on CentOS, so add it diretly in the target command.
+
+Upstream-Status: Inappropriate [OE cross-compile specific]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ public/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/public/Makefile b/public/Makefile
+index 7dd80e4..1967a90 100644
+--- a/public/Makefile
++++ b/public/Makefile
+@@ -37,7 +37,7 @@ ${TARGET_LIB}.${VER_MJR}: ${TARGET_LIB}.${VER}
+       ln -sf $^ $@
+
+ ${TARGET_LIB}.${VER}: $(OBJS)
+-      $(CC) ${LDFLAGS} -Wl,-soname,${TARGET_LIB}.${VER_MJR} -o $@ $^
++      $(CC) ${LDFLAGS} -shared -Wl,-soname,${TARGET_LIB}.${VER_MJR} -o $@ $^
+
+ $(SRCS:.c=.d):%.d:%.c
+       $(CC) $(CFLAGS) -MM $< >$@
+--
+2.7.4
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/files/mtce-set-systemctl-path.patch b/meta-starlingx/meta-stx-flock/stx-metal/files/mtce-set-systemctl-path.patch
new file mode 100644 (file)
index 0000000..625ccfe
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/pmon/pmonHdlr.cpp b/pmon/pmonHdlr.cpp
+index 7b5977d..c1d01b5 100644
+--- a/pmon/pmonHdlr.cpp
++++ b/pmon/pmonHdlr.cpp
+@@ -1245,7 +1245,7 @@ int respawn_process ( process_config_type * ptr )
+         ilog ("Service:%s\n", ptr->service ? ptr->service : "unknown");
+-        #define SYSTEMCTL_CMD "/usr/bin/systemctl"
++        #define SYSTEMCTL_CMD "/bin/systemctl"
+         #define   RESTART_CMD "restart"
+         #define     START_CMD "start"
+         if ( get_ctrl_ptr()->recovery_method == PMOND_RECOVERY_METHOD__SYSTEMD )
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/inventory.bb b/meta-starlingx/meta-stx-flock/stx-metal/inventory.bb
new file mode 100644 (file)
index 0000000..b767ee6
--- /dev/null
@@ -0,0 +1,90 @@
+require metal-common.inc
+
+SUBPATH0 = "inventory/inventory/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRC_URI += "file://0001-inventory-Remove-argparse-requirement.patch"
+
+RDEPENDS_${PN} += " \
+               bash \
+               python-anyjson \
+               python-amqplib \
+               python-pyudev \
+               python-pyparted \
+               python-ipaddr \
+               python-paste \
+               python-eventlet \
+               python-futurist \
+               python-jsonpatch \
+               python-keystoneauth1 \
+               python-keystonemiddleware \
+               python-neutronclient \
+               python-oslo.concurrency \
+               python-oslo.config \
+               python-oslo.context \
+               python-oslo.db \
+               python-oslo.i18n \
+               python-oslo.log \
+               python-oslo.messaging \
+               python-oslo.middleware \
+               python-oslo.policy \
+               python-oslo.rootwrap \
+               python-oslo.serialization \
+               python-oslo.service \
+               python-oslo.utils \
+               python-oslo.versionedobjects \
+               python-osprofiler \
+               python-pbr \
+               python-pecan \
+               python-psutil \
+               python-requests \
+               python-retrying \
+               python-six \
+               python-sqlalchemy \
+               python-stevedore \
+               python-webob \
+               python-wsme \
+               "
+
+DEPENDS += " \
+       python-pbr-native \
+       "
+
+inherit systemd
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "inventory-api.service inventory-conductor.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+inherit setuptools python-dir
+
+
+do_install_append () {
+       
+       install -d -m 755 ${D}/${sysconfdir}/goenabled.d
+       install -p -D -m 755 etc/inventory/inventory_goenabled_check.sh ${D}/${sysconfdir}/goenabled.d/inventory_goenabled_check.sh
+
+       install -d -m 755 ${D}/${sysconfdir}/inventory
+       install -p -D -m 755 etc/inventory/policy.json ${D}/${sysconfdir}/inventory/policy.json
+
+       install -d -m 755 ${D}/${sysconfdir}/motd.d
+       install -p -D -m 755 etc/inventory/motd-system ${D}/${sysconfdir}/motd.d/10-system-config
+
+       install -m 755 -p -D scripts/inventory-api ${D}/${libdir}/ocf/resource.d/platform/inventory-api
+       install -m 755 -p -D scripts/inventory-conductor ${D}/${libdir}/ocf/resource.d/platform/inventory-conductor
+
+       install -d -m 0755 ${D}/${systemd_system_unitdir}/
+       install -m 644 -p -D scripts/inventory-api.service ${D}/${systemd_system_unitdir}/
+       install -m 644 -p -D scripts/inventory-conductor.service ${D}/${systemd_system_unitdir}/
+
+       # Install sql migration
+       install -m 644 inventory/db/sqlalchemy/migrate_repo/migrate.cfg \
+               ${D}/${PYTHON_SITEPACKAGES_DIR}/inventory/db/sqlalchemy/migrate_repo/migrate.cfg
+
+}
+
+FILES_${PN}_append = " \
+       ${libdir}/ocf/resource.d/platform/inventory-api \
+       ${libdir}/ocf/resource.d/platform/inventory-conductor \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/metal-common.inc b/meta-starlingx/meta-stx-flock/stx-metal/metal-common.inc
new file mode 100644 (file)
index 0000000..0fe8fef
--- /dev/null
@@ -0,0 +1,16 @@
+DESCRIPTION = "stx-metal"
+
+STABLE = "starlingx/master"
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCNAME = "metal"
+SRCREV = "be3cf4eeb50eef55910cf9c73ea47c168005ad64"
+SRCREV_opendev = "be3cf4eeb50eef55910cf9c73ea47c168005ad64"
+DESTSUFFIX = "${PN}-${PV}"
+PV = "1.0.0"
+
+SRC_URI = " \
+       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=${DESTSUFFIX};subpath=${SUBPATH0};name=opendev \
+       "
+
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/mtce-common.bb b/meta-starlingx/meta-stx-flock/stx-metal/mtce-common.bb
new file mode 100644 (file)
index 0000000..07f3d3d
--- /dev/null
@@ -0,0 +1,86 @@
+require metal-common.inc
+
+SUBPATH0 = "mtce-common/src/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI += " \
+       file://mtce-common-do-not-use-which-to-check-CC.patch \
+       "
+
+RDEPENDS_${PN}_append = " \
+       util-linux \
+       bash \
+       systemd \
+       dpkg \
+       time \
+       libevent \
+       expect \
+       json-c \
+       python-rtslib-fb \
+       fm-common \
+       "
+
+DEPENDS_append = " \
+       fm-common \
+       libevent \
+       openssl \
+       json-c \
+       "
+
+EXTRA_OEMAKE = ' -e build VER=0 VER_MJR=1 CCFLAGS="${CXXFLAGS} -DBUILDINFO=\"\\\"\$\$(date)\\\"\"" '
+
+do_install_append() {
+
+       cd ${S}/
+
+       install -m 755 -d ${D}/${libdir}
+
+       install -m 644 -p -D daemon/libdaemon.a ${D}/${libdir}
+       install -m 644 -p -D common/libcommon.a ${D}/${libdir}
+       install -m 644 -p -D common/libthreadUtil.a ${D}/${libdir}
+       install -m 644 -p -D common/libbmcUtils.a ${D}/${libdir}
+       install -m 644 -p -D common/libpingUtil.a ${D}/${libdir}
+       install -m 644 -p -D common/libnodeBase.a ${D}/${libdir}
+       install -m 644 -p -D common/libregexUtil.a ${D}/${libdir}
+       install -m 644 -p -D common/libhostUtil.a ${D}/${libdir}
+
+       # mtce-common headers required to bring in nodeBase.h
+       install -m 755 -d ${D}/${includedir}
+       install -m 755 -d ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/fitCodes.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/logMacros.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/returnCodes.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/nodeTimers.h ${D}/${includedir}/mtce-common
+
+       # mtce-common headers required to build mtce-guest
+       install -m 644 -p -D common/hostClass.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/httpUtil.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/jsonUtil.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/msgClass.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/nodeBase.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/nodeEvent.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/nodeMacro.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/nodeUtil.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/timeUtil.h ${D}/${includedir}/mtce-common
+
+       # mtce-daemon headers required to build mtce-guest
+       install -m 755 -d ${D}/${includedir}/mtce-daemon
+       install -m 644 -p -D daemon/daemon_ini.h ${D}/${includedir}/mtce-daemon
+       install -m 644 -p -D daemon/daemon_common.h ${D}/${includedir}/mtce-daemon
+       install -m 644 -p -D daemon/daemon_option.h ${D}/${includedir}/mtce-daemon
+
+       # remaining mtce-common headers required to build mtce
+       install -m 644 -p -D common/alarmUtil.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/hostUtil.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/ipmiUtil.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/redfishUtil.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/bmcUtil.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/nlEvent.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/pingUtil.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/regexUtil.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/threadUtil.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/tokenUtil.h ${D}/${includedir}/mtce-common
+       install -m 644 -p -D common/secretUtil.h ${D}/${includedir}/mtce-common
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/mtce-compute.bb b/meta-starlingx/meta-stx-flock/stx-metal/mtce-compute.bb
new file mode 100644 (file)
index 0000000..ca05e46
--- /dev/null
@@ -0,0 +1,31 @@
+require metal-common.inc
+
+SUBPATH0 = "mtce-compute/src/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI += "file://0001-mtce-compute-dont-install-empty-directory-unless-nee.patch;striplevel=3"
+
+RDEPENDS_${PN}_append += " \
+       bash \
+       systemd \
+       qemu \
+       "
+
+inherit systemd
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "goenabled-worker.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+       cd ${S}/
+       oe_runmake -e buildroot=${D} \
+               _sysconfdir=${sysconfdir} _unitdir=${systemd_system_unitdir} _datarootdir=${datadir} \
+               install
+}
+
+FILES_${PN}_append = " ${datadir}/licenses/mtce-compute-1.0/LICENSE"
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/mtce-control.bb b/meta-starlingx/meta-stx-flock/stx-metal/mtce-control.bb
new file mode 100644 (file)
index 0000000..20084e7
--- /dev/null
@@ -0,0 +1,36 @@
+require metal-common.inc
+
+SUBPATH0 = "mtce-control/src/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI += "file://0001-mtce-control-dont-install-empty-directory-unless-nee.patch;striplevel=3 \
+       file://mtce-control-fix-hardcoded-path-for-hbsAgent.patch;striplevel=3 \
+       file://mtce-control-adjust-unit-file-paths.patch;striplevel=3 \
+       "
+
+RDEPENDS_${PN}_append = " \
+       bash \
+       systemd \
+       lighttpd \
+       qemu \
+       "
+
+inherit systemd
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "hbsAgent.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+       cd ${S}
+       oe_runmake buildroot=${D} \
+               _sysconfdir=${sysconfdir} _unitdir=${systemd_system_unitdir} _datarootdir=${datadir} \
+               install
+}
+
+FILES_${PN}_append = " ${datadir}/licenses/mtce-control-1.0/LICENSE"
+
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/mtce-storage.bb b/meta-starlingx/meta-stx-flock/stx-metal/mtce-storage.bb
new file mode 100644 (file)
index 0000000..fbaaa90
--- /dev/null
@@ -0,0 +1,32 @@
+require metal-common.inc
+
+SUBPATH0 = "mtce-storage/src/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI += "file://0001-mtce-storage-dont-install-empty-directory-unless-nee.patch;striplevel=3"
+
+RDEPENDS_${PN}_append = " \
+       bash \
+       systemd \
+       "
+
+inherit systemd
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "goenabled-storage.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+       cd ${S}
+       oe_runmake buildroot=${D} \
+               _sysconfdir=${sysconfdir} _unitdir=${systemd_system_unitdir} _datarootdir=${datadir} \
+               install
+}
+
+
+FILES_${PN}_append = " ${datadir}/licenses/mtce-storage-1.0/LICENSE"
+
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/mtce.bb b/meta-starlingx/meta-stx-flock/stx-metal/mtce.bb
new file mode 100644 (file)
index 0000000..b3a8a63
--- /dev/null
@@ -0,0 +1,310 @@
+require metal-common.inc
+
+SUBPATH0 = "mtce/src/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+
+SRC_URI += " \
+       file://0001-mtce-avoid-overflowing-amon.tx_buf.patch \
+       file://0001-mtce-Use-LDFLAGS-when-linking.patch \
+       file://0002-mtce-Adjust-paths.patch \
+       file://mtce-set-systemctl-path.patch \
+       file://pmon_send_pulse.patch;striplevel=3 \
+       file://mtce-do-not-use-which-to-check-CC.patch \
+       file://mtce-libamon-add-shared-option.patch \
+       "
+
+PACKAGES += " ${PN}-pmon"
+PACKAGES += " ${PN}-hwmon"
+PACKAGES += " ${PN}-hostw"
+PACKAGES += " ${PN}-lmon"
+
+DEPENDS_append = " mtce-common"
+
+RDEPENDS_${PN}-pmon_append = " \
+       bash \
+       systemd \
+       dpkg \
+       fm-common \
+       libevent \
+       json-c \
+       python-rtslib-fb \
+       expect \
+       util-linux \
+       ipmitool \
+       "
+
+RDEPENDS_${PN}_append = " \
+       mtce-pmon \
+       python-redfishtool \
+       "
+
+inherit systemd
+SYSTEMD_PACKAGES += "${PN}-pmon"
+SYSTEMD_SERVICE_${PN}-pmon = "pmon.service"
+SYSTEMD_AUTO_ENABLE_${PN}-pmon = "enable"
+
+SYSTEMD_PACKAGES += "${PN}-hwmon"
+SYSTEMD_SERVICE_${PN}-hwmon = "hwmon.service"
+SYSTEMD_AUTO_ENABLE_${PN}-hwmon = "disable"
+
+SYSTEMD_PACKAGES += "${PN}-hostw"
+SYSTEMD_SERVICE_${PN}-hostw = "hostw.service"
+SYSTEMD_AUTO_ENABLE_${PN}-hostw = "enable"
+
+
+SYSTEMD_PACKAGES += "${PN}-lmon"
+SYSTEMD_SERVICE_${PN}-hostw = "lmon.service"
+SYSTEMD_AUTO_ENABLE_${PN}-lmon = "enable"
+
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_SERVICE_${PN} = " \
+       hwclock.service \
+       fsmon.service \
+       mtcClient.service \
+       hbsClient.service \
+       mtclog.service \
+       goenabled.service \
+       mtcalarm.service \
+       runservices.service \
+       "
+SYSTEMD_AUTO_ENABLE_${PN}-hostw= "enable"
+
+EXTRA_OEMAKE = ' -e VER=1 VER_MJR=1 INCLUDES=" -I. -I../alarm -I../heartbeat -I../maintenance \
+                               -I../hostw -I../public -I../smash -I../common -I../hwmon \
+                               -I${STAGING_INCDIR}/mtce-common/ -I${STAGING_INCDIR}/mtce-daemon" \
+               CCFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" '
+
+
+
+MAJOR = "${@d.getVar('PV').split('.')[0]}"
+MINOR = "${@d.getVar('PV').split('.')[1]}"
+do_install() {
+
+       cd ${S}/
+       install -m 755 -d ${D}/${bindir}
+       install -m 755 -d ${D}/${sbindir}
+       install -m 755 -d ${D}/${libdir}
+       install -m 755 -d ${D}/${libdir}/ocf/resource.d/platform
+       install -m 755 -d ${D}/${systemd_system_unitdir}
+       
+       install -m 755 -d ${D}/${sysconfdir}
+       install -m 755 -d ${D}/${sysconfdir}/mtc/tmp
+       install -m 755 -d ${D}/${sysconfdir}/bmc/server_profiles.d
+       install -m 755 -d ${D}/${sysconfdir}/init.d
+       install -m 755 -d ${D}/${sysconfdir}/pmon.d
+       install -m 755 -d ${D}/${sysconfdir}/logrotate.d
+       
+       install -m 755 -d ${D}/${sysconfdir}/services.d
+       install -m 750 -d ${D}/${sysconfdir}/services.d/controller
+       install -m 750 -d ${D}/${sysconfdir}/services.d/worker
+       install -m 750 -d ${D}/${sysconfdir}/services.d/storage
+       
+       install -m 755 -p -D scripts/mtcAgent ${D}/${libdir}/ocf/resource.d/platform
+       install -m 755 -p -D hwmon/scripts/ocf/hwmon ${D}/${libdir}/ocf/resource.d/platform
+       
+       # Config files
+       install -m 644 -p -D scripts/mtc.ini ${D}/${sysconfdir}/mtc.ini
+       install -m 644 -p -D scripts/mtc.conf ${D}/${sysconfdir}/mtc.conf
+       install -m 644 -p -D fsmon/scripts/fsmond.conf ${D}/${sysconfdir}/mtc/fsmond.conf
+       install -m 644 -p -D hwmon/scripts/hwmond.conf ${D}/${sysconfdir}/mtc/hwmond.conf
+       install -m 644 -p -D pmon/scripts/pmond.conf ${D}/${sysconfdir}/mtc/pmond.conf
+       install -m 644 -p -D lmon/scripts/lmond.conf ${D}/${sysconfdir}/mtc/lmond.conf
+       install -m 644 -p -D hostw/scripts/hostwd.conf ${D}/${sysconfdir}/mtc/hostwd.conf
+       
+       install -m 644 -p -D scripts/sensor_hp360_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
+       install -m 644 -p -D scripts/sensor_hp380_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
+       install -m 644 -p -D scripts/sensor_quanta_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
+       
+       
+       # binaries
+       install -m 755 -p -D maintenance/mtcAgent ${D}/${bindir}/mtcAgent
+       install -m 755 -p -D maintenance/mtcClient ${D}/${bindir}/mtcClient
+       install -m 755 -p -D heartbeat/hbsAgent ${D}/${bindir}/hbsAgent
+       install -m 755 -p -D heartbeat/hbsClient ${D}/${bindir}/hbsClient
+       install -m 755 -p -D pmon/pmond ${D}/${bindir}/pmond
+       install -m 755 -p -D lmon/lmond ${D}/${bindir}/lmond
+       install -m 755 -p -D pmon/pmond ${D}/${bindir}/pmond
+       install -m 755 -p -D lmon/lmond ${D}/${bindir}/lmond
+       install -m 755 -p -D hostw/hostwd ${D}/${bindir}/hostwd
+       install -m 755 -p -D fsmon/fsmond ${D}/${bindir}/fsmond
+       install -m 755 -p -D hwmon/hwmond ${D}/${bindir}/hwmond
+       install -m 755 -p -D mtclog/mtclogd ${D}/${bindir}/mtclogd
+       install -m 755 -p -D alarm/mtcalarmd ${D}/${bindir}/mtcalarmd
+       install -m 755 -p -D scripts/wipedisk ${D}/${bindir}/wipedisk
+       install -m 755 -p -D fsync/fsync ${D}/${sbindir}/fsync
+       install -m 700 -p -D pmon/scripts/pmon-restart ${D}/${sbindir}/pmon-restart
+       install -m 700 -p -D pmon/scripts/pmon-start ${D}/${sbindir}/pmon-start
+       install -m 700 -p -D pmon/scripts/pmon-stop ${D}/${sbindir}/pmon-stop
+       
+       # init script files
+       install -m 755 -p -D scripts/mtcClient ${D}/${sysconfdir}/init.d/mtcClient
+       install -m 755 -p -D scripts/hbsClient ${D}/${sysconfdir}/init.d/hbsClient
+       install -m 755 -p -D hwmon/scripts/lsb/hwmon ${D}/${sysconfdir}/init.d/hwmon
+       install -m 755 -p -D fsmon/scripts/fsmon ${D}/${sysconfdir}/init.d/fsmon
+       install -m 755 -p -D scripts/mtclog ${D}/${sysconfdir}/init.d/mtclog
+       install -m 755 -p -D pmon/scripts/pmon ${D}/${sysconfdir}/init.d/pmon
+       install -m 755 -p -D lmon/scripts/lmon ${D}/${sysconfdir}/init.d/lmon
+       install -m 755 -p -D hostw/scripts/hostw ${D}/${sysconfdir}/init.d/hostw
+       install -m 755 -p -D alarm/scripts/mtcalarm.init ${D}/${sysconfdir}/init.d/mtcalarm
+       # install -m 755 -p -D scripts/config ${D}/${sysconfdir}/init.d/config
+       
+       # TODO: Init hack. Should move to proper module
+       install -m 755 -p -D scripts/hwclock.sh ${D}/${sysconfdir}/init.d/hwclock.sh
+       install -m 644 -p -D scripts/hwclock.service ${D}/${systemd_system_unitdir}/hwclock.service
+       
+       
+       # systemd service files
+       install -m 644 -p -D fsmon/scripts/fsmon.service ${D}/${systemd_system_unitdir}/fsmon.service
+       install -m 644 -p -D hwmon/scripts/hwmon.service ${D}/${systemd_system_unitdir}/hwmon.service
+       install -m 644 -p -D pmon/scripts/pmon.service ${D}/${systemd_system_unitdir}/pmon.service
+       install -m 644 -p -D hostw/scripts/hostw.service ${D}/${systemd_system_unitdir}/hostw.service
+       install -m 644 -p -D scripts/mtcClient.service ${D}/${systemd_system_unitdir}/mtcClient.service
+       install -m 644 -p -D scripts/hbsClient.service ${D}/${systemd_system_unitdir}/hbsClient.service
+       install -m 644 -p -D scripts/mtclog.service ${D}/${systemd_system_unitdir}/mtclog.service
+       install -m 644 -p -D scripts/hbsClient.service ${D}/${systemd_system_unitdir}/hbsClient.service
+       install -m 644 -p -D scripts/mtclog.service ${D}/${systemd_system_unitdir}/mtclog.service
+       install -m 644 -p -D scripts/goenabled.service ${D}/${systemd_system_unitdir}/goenabled.service
+       install -m 644 -p -D scripts/runservices.service ${D}/${systemd_system_unitdir}/runservices.service
+       install -m 644 -p -D alarm/scripts/mtcalarm.service ${D}/${systemd_system_unitdir}/mtcalarm.service
+       install -m 644 -p -D lmon/scripts/lmon.service ${D}/${systemd_system_unitdir}/lmon.service
+       
+       # fix the path for init scripts
+       sed -i -e 's|rc.d/||' ${D}/${systemd_system_unitdir}/*.service
+       
+       # go enabled stuff
+       install -m 755 -p -D scripts/goenabled ${D}/${sysconfdir}/init.d/goenabled
+       
+       # start or stop services test script
+       install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/services.d/worker
+       install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/services.d/controller
+       install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/services.d/storage
+       install -m 755 -p -D scripts/runservices ${D}/${sysconfdir}/init.d/runservices
+       
+       
+       # test tools
+       install -m 755 -p -D scripts/dmemchk.sh ${D}/${sbindir}
+       
+       # process monitor config files
+       install -m 644 -p -D scripts/mtcClient.conf ${D}/${sysconfdir}/pmon.d/mtcClient.conf
+       install -m 644 -p -D scripts/hbsClient.conf ${D}/${sysconfdir}/pmon.d/hbsClient.conf
+       install -m 644 -p -D pmon/scripts/acpid.conf ${D}/${sysconfdir}/pmon.d/acpid.conf
+       install -m 644 -p -D pmon/scripts/sshd.conf ${D}/${sysconfdir}/pmon.d/sshd.conf
+       install -m 644 -p -D pmon/scripts/syslog-ng.conf ${D}/${sysconfdir}/pmon.d/syslog-ng.conf
+       install -m 644 -p -D pmon/scripts/nslcd.conf ${D}/${sysconfdir}/pmon.d/nslcd.conf
+       install -m 644 -p -D pmon/scripts/syslog-ng.conf ${D}/${sysconfdir}/pmon.d/syslog-ng.conf
+       install -m 644 -p -D pmon/scripts/nslcd.conf ${D}/${sysconfdir}/pmon.d/nslcd.conf
+       install -m 644 -p -D fsmon/scripts/fsmon.conf ${D}/${sysconfdir}/pmon.d/fsmon.conf
+       install -m 644 -p -D scripts/mtclogd.conf ${D}/${sysconfdir}/pmon.d/mtclogd.conf
+       install -m 644 -p -D alarm/scripts/mtcalarm.pmon.conf ${D}/${sysconfdir}/pmon.d/mtcalarm.conf
+       install -m 644 -p -D lmon/scripts/lmon.pmon.conf ${D}/${sysconfdir}/pmon.d/lmon.conf
+       
+       # log rotation
+       install -m 644 -p -D scripts/mtce.logrotate ${D}/${sysconfdir}/logrotate.d/mtce.logrotate
+       install -m 644 -p -D hostw/scripts/hostw.logrotate ${D}/${sysconfdir}/logrotate.d/hostw.logrotate
+       install -m 644 -p -D pmon/scripts/pmon.logrotate ${D}/${sysconfdir}/logrotate.d/pmon.logrotate
+       install -m 644 -p -D lmon/scripts/lmon.logrotate ${D}/${sysconfdir}/logrotate.d/lmon.logrotate
+       install -m 644 -p -D fsmon/scripts/fsmon.logrotate ${D}/${sysconfdir}/logrotate.d/fsmon.logrotate
+       install -m 644 -p -D hwmon/scripts/hwmon.logrotate ${D}/${sysconfdir}/logrotate.d/hwmon.logrotate
+       install -m 644 -p -D alarm/scripts/mtcalarm.logrotate ${D}/${sysconfdir}/logrotate.d/mtcalarm.logrotate
+       
+       # software development files
+       install -m 644 -p -D heartbeat/mtceHbsCluster.h ${D}/${includedir}/mtceHbsCluster.h
+       install -m 755 -p -D public/libamon.so.1 ${D}/${libdir}/
+       cd ${D}/${libdir} ; ln -s libamon.so.${MAJOR} libamon.so.${MAJOR}.${MINOR}
+       cd ${D}/${libdir} ; ln -s libamon.so.${MAJOR} libamon.so
+}
+
+FILES_${PN}-pmon = " \
+       ${sbindir}/pmon-restart \
+       ${sbindir}/pmon-start \
+       ${sbindir}/pmon-stop \
+       ${bindir}/pmond \
+       ${systemd_system_unitdir}/pmon.service \
+       ${sysconfdir}/mtc/pmond.conf \
+       ${sysconfdir}/init.d/pmon \
+       ${sysconfdir}/logrotate.d/pmon.logrotate \
+       "
+
+FILES_${PN}-hwmon = " \
+       ${bindir}/hwmond \
+       ${sysconfdir}/init.d/hwmon \
+       ${libdir}/ocf/resource.d/platform/hwmon \
+       ${sysconfdir}/logrotate.d/hwmon.logrotate \
+       ${systemd_system_unitdir}/hwmon.service \
+       ${sysconfdir}/mtc/hwmond.conf \
+       "
+
+FILES_${PN}-hostw = " \
+       ${sysconfdir}/mtc/hostwd.conf \
+       ${sysconfdir}/logrotate.d/hostw.logrotate \
+       ${systemd_system_unitdir}/hostw.service \
+       ${sysconfdir}/init.d/hostw \
+       ${bindir}/hostwd \
+       "
+
+FILES_${PN}-lmon = " \
+       ${bindir}/lmond \
+       ${sysconfdir}/mtc/lmond.conf \
+       ${sysconfdir}/logrotate.d/lmon.logrotate \
+       ${sysconfdir}/pmon.d/lmon.conf \
+       ${sysconfdir}/init.d/lmon \
+        ${systemd_system_unitdir}/lmon.service \
+       "
+
+FILES_${PN} = " \
+        ${bindir}/mtcAgent \
+        ${bindir}/mtcClient \
+        ${bindir}/fsmond \
+        ${bindir}/hbsAgent \
+        ${bindir}/wipedisk \
+        ${bindir}/hbsClient \
+        ${bindir}/mtcalarmd \
+        ${bindir}/mtclogd \
+        ${sbindir}/fsync \
+        ${sbindir}/dmemchk.sh \
+        ${libdir}/ocf/resource.d/platform/mtcAgent \
+        ${libdir}/libamon${SOLIBS} \
+        ${systemd_system_unitdir}/mtcalarm.service \
+        ${systemd_system_unitdir}/goenabled.service \
+        ${systemd_system_unitdir}/mtclog.service \
+        ${systemd_system_unitdir}/mtcClient.service \
+        ${systemd_system_unitdir}/fsmon.service \
+        ${systemd_system_unitdir}/hbsClient.service \
+        ${systemd_system_unitdir}/hwclock.service \
+        ${systemd_system_unitdir}/runservices.service \
+        ${sysconfdir}/pmon.d/nslcd.conf \
+        ${sysconfdir}/pmon.d/mtclogd.conf \
+        ${sysconfdir}/pmon.d/mtcalarm.conf \
+        ${sysconfdir}/pmon.d/syslog-ng.conf \
+        ${sysconfdir}/pmon.d/acpid.conf \
+        ${sysconfdir}/pmon.d/sshd.conf \
+        ${sysconfdir}/pmon.d/fsmon.conf \
+        ${sysconfdir}/pmon.d/hbsClient.conf \
+        ${sysconfdir}/pmon.d/mtcClient.conf \
+        ${sysconfdir}/init.d/runservices \
+        ${sysconfdir}/init.d/goenabled \
+        ${sysconfdir}/init.d/mtcClient \
+        ${sysconfdir}/init.d/hwclock.sh \
+        ${sysconfdir}/init.d/mtclog \
+        ${sysconfdir}/init.d/mtcalarm \
+        ${sysconfdir}/init.d/hbsClient \
+        ${sysconfdir}/init.d/fsmon \
+        ${sysconfdir}/mtc.conf \
+        ${sysconfdir}/bmc/server_profiles.d/sensor_hp380_v1_ilo_v4.profile \
+        ${sysconfdir}/bmc/server_profiles.d/sensor_hp360_v1_ilo_v4.profile \
+        ${sysconfdir}/bmc/server_profiles.d/sensor_quanta_v1_ilo_v4.profile \
+        ${sysconfdir}/services.d/worker/mtcTest \
+        ${sysconfdir}/services.d/controller/mtcTest \
+        ${sysconfdir}/services.d/storage/mtcTest \
+        ${sysconfdir}/mtc/fsmond.conf \
+        ${sysconfdir}/mtc/tmp/ \
+        ${sysconfdir}/mtc.ini \
+       ${sysconfdir}/mtc/tmp/ \
+       ${sysconfdir}/mtc.ini \
+       ${sysconfdir}/logrotate.d/fsmon.logrotate \
+       ${sysconfdir}/logrotate.d/mtcalarm.logrotate \
+       ${sysconfdir}/logrotate.d/mtce.logrotate \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/platform-kickstarts.bb b/meta-starlingx/meta-stx-flock/stx-metal/platform-kickstarts.bb
new file mode 100644 (file)
index 0000000..dcea6f6
--- /dev/null
@@ -0,0 +1,59 @@
+require metal-common.inc
+SUBPATH0 = "bsp-files/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://kickstart/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI += " \
+       file://kickstarts-adjustment-and-fixes-or-poky-stx.patch;striplevel=2 \
+       file://kickstarts-add-setting-for-debain-style-networking.patch;striplevel=2 \
+       "
+
+PACKAGES += " \
+       ${PN}-pxeboot \
+       ${PN}-extracfgs \
+       "
+
+feed_dir = "/www/pages/feed/rel-${STX_REL}"
+
+DEPENDS += "perl-native"
+
+inherit deploy
+
+do_unpack_append() {
+    bb.build.exec_func('do_restore_files', d)
+}
+
+do_restore_files() {
+       cd ${S}
+       git reset ${SRCREV} kickstart/LICENSE
+       git checkout kickstart/LICENSE
+}
+
+do_compile () {
+       cd ${S}
+       ./centos-ks-gen.pl --release ${STX_REL}
+}
+
+do_install_prepend () {
+       cd ${S}
+       install -d -m 0755 ${D}${feed_dir}
+       install -m 0444 generated/* ${D}${feed_dir}/
+
+       install -d -m 0755 ${D}/pxeboot
+       install -D -m 0444 pxeboot/* ${D}/pxeboot
+
+       install -d -m 0755 ${D}/extra_cfgs
+       install -D -m 0444 extra_cfgs/* ${D}/extra_cfgs
+}
+
+do_deploy () {
+       mkdir -p ${DEPLOYDIR}/stx-kickstarts
+       cp -f ${S}/generated/* ${DEPLOYDIR}/stx-kickstarts
+}
+
+addtask do_deploy after do_compile before do_build
+
+FILES_${PN} = "${feed_dir}"
+FILES_${PN}-pxeboot = "/pxeboot"
+FILES_${PN}-extracfgs = "/extra_cfgs"
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/pxe-network-installer.bb b/meta-starlingx/meta-stx-flock/stx-metal/pxe-network-installer.bb
new file mode 100644 (file)
index 0000000..3fa2cd0
--- /dev/null
@@ -0,0 +1,91 @@
+require metal-common.inc
+SUBPATH0 = "installer/pxe-network-installer/pxe-network-installer"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS += " syslinux"
+
+RDEPENDS_${PN}_append += " \
+       bash \
+       syslinux \
+       syslinux-chain \
+       syslinux-misc \
+       syslinux-pxelinux \
+       "
+
+do_compile[noexec] = "1"
+
+do_unpack_append() {
+    bb.build.exec_func('do_restore_files', d)
+}
+
+do_restore_files() {
+       cd ${S}
+       git reset ${SRCREV} bsp-files/
+       git checkout bsp-files
+}
+
+do_install() {
+       install -d -m 0755 ${D}/pxeboot
+       install -d -m 0755 ${D}/pxeboot/pxelinux.cfg.files
+       install -d -m 0755 ${D}/pxeboot/rel-${STX_REL}
+       install -d -m 0755 ${D}/pxeboot/EFI
+
+       install -d -m 0755 ${D}/pxeboot/EFI/poky-stx
+       ln -fs poky-stx ${D}/pxeboot/EFI/centos
+       ln -fs ${libdir}/grub/x86_64-efi ${D}/pxeboot/EFI/poky-stx/
+
+       install -d -m 0755 ${D}/${sbindir}
+       install -m 755 pxeboot-update.sh ${D}/${sbindir}/pxeboot-update-${STX_REL}.sh
+
+       install -m 644 bsp-files/kickstarts/post_clone_iso_ks.cfg ${D}/pxeboot/post_clone_iso_ks.cfg
+
+       install -m 644 default ${D}/pxeboot/pxelinux.cfg.files/default
+       install -m 644 default.static ${D}/pxeboot/pxelinux.cfg.files/default.static
+       install -m 644 centos-pxe-controller-install ${D}/pxeboot/pxelinux.cfg.files/pxe-controller-install-${STX_REL}
+       install -m 644 centos-pxe-worker-install ${D}/pxeboot/pxelinux.cfg.files/pxe-worker-install-${STX_REL}
+       install -m 644 centos-pxe-smallsystem-install ${D}/pxeboot/pxelinux.cfg.files/pxe-smallsystem-install-${STX_REL}
+       install -m 644 centos-pxe-storage-install ${D}/pxeboot/pxelinux.cfg.files/pxe-storage-install-${STX_REL}
+       install -m 644 centos-pxe-worker_lowlatency-install ${D}/pxeboot/pxelinux.cfg.files/pxe-worker_lowlatency-install-${STX_REL}
+       install -m 644 centos-pxe-smallsystem_lowlatency-install ${D}/pxeboot/pxelinux.cfg.files/pxe-smallsystem_lowlatency-install-${STX_REL}
+
+       # UEFI support
+       install -m 644 pxe-grub.cfg ${D}/pxeboot/pxelinux.cfg.files/grub.cfg
+       install -m 644 pxe-grub.cfg.static ${D}/pxeboot/pxelinux.cfg.files/grub.cfg.static
+
+       install -m 644 efi-centos-pxe-controller-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-controller-install-${STX_REL}
+       install -m 644 efi-centos-pxe-worker-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-worker-install-${STX_REL}
+       install -m 644 efi-centos-pxe-smallsystem-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-smallsystem-install-${STX_REL}
+       install -m 644 efi-centos-pxe-storage-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-storage-install-${STX_REL}
+       install -m 644 efi-centos-pxe-worker_lowlatency-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-worker_lowlatency-install-${STX_REL}
+       install -m 644 efi-centos-pxe-smallsystem_lowlatency-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-smallsystem_lowlatency-install-${STX_REL}
+
+       sed -i -e "s/xxxSW_VERSIONxxx/${STX_REL}/g" \
+               -e "s/inst.ks/ks/g" \
+               -e "s/\(xxxAPPEND_OPTIONSxxx\)/LABEL=initrd-install \1/" \
+               ${D}/pxeboot/pxelinux.cfg.files/pxe-* ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-*
+
+       # Copy Titanium grub.cfg. It will be used to create ISO on the Controller.
+       install -m 0644 bsp-files/grub.cfg ${D}/pxeboot/EFI/ 
+
+       # UEFI bootloader expect the grub.cfg file to be in /pxeboot/ so create a symlink for it
+       ln -fs pxelinux.cfg/grub.cfg ${D}/pxeboot/grub.cfg
+}
+
+pkg_postinst_pxe-network-installer() {
+        install -m 0644 $D${datadir}/syslinux/menu.c32 $D/pxeboot
+        install -m 0644 $D${datadir}/syslinux/vesamenu.c32 $D/pxeboot
+        install -m 0644 $D${datadir}/syslinux/chain.c32 $D/pxeboot
+        install -m 0644 $D${datadir}/syslinux/ldlinux.c32 $D/pxeboot
+        install -m 0644 $D${datadir}/syslinux/linux.c32 $D/pxeboot
+        install -m 0644 $D${datadir}/syslinux/libutil.c32 $D/pxeboot
+        install -m 0644 $D${datadir}/syslinux/reboot.c32 $D/pxeboot
+        install -m 0644 $D${datadir}/syslinux/pxechn.c32 $D/pxeboot
+        install -m 0644 $D${datadir}/syslinux/pxelinux.0 $D/pxeboot
+}
+
+FILES_${PN}_append  = " \
+       /pxeboot \
+       ${sbindir}/pxeboot-update-${STX_REL}.sh \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-metal/python-inventoryclient.bb b/meta-starlingx/meta-stx-flock/stx-metal/python-inventoryclient.bb
new file mode 100644 (file)
index 0000000..067ed73
--- /dev/null
@@ -0,0 +1,33 @@
+require metal-common.inc
+
+SUBPATH0 = "python-inventoryclient/inventoryclient"
+
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+RDEPENDS_${PN}_append = " \
+       python \
+       python-pbr \
+       python-six \
+       python-oslo.i18n \
+       python-oslo.utils \
+       python-requests \
+       bash \
+       bash-completion \
+       "
+
+
+do_install_append () {
+       
+       install -d -m 755 ${D}/${sysconfdir}/bash_completion.d
+       install -p -D -m 664 tools/inventory.bash_completion ${D}/${sysconfdir}/bash_completion.d
+
+}
+
+_FILES_${PN}_append = " \
+       ${bindir}/inventory \
+       ${sysconfdir}/bash_completion.d/inventory.bash_completion \
+       ${libdir}/python2.7/site-packages/inventoryclient-*.egg-info/ \
+       ${libdir}/python2.7/site-packages/inventoryclient/ \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0001-add-makefile.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0001-add-makefile.patch
new file mode 100644 (file)
index 0000000..b8ffa0e
--- /dev/null
@@ -0,0 +1,62 @@
+From c9c3e8ff214360eb2e5d9e7728b7bee8fe771eea Mon Sep 17 00:00:00 2001
+From: Kevin Smith <kevin.smith@windriver.com>
+Date: Tue, 1 Oct 2019 15:25:32 -0400
+Subject: [PATCH 1/1] add makefile
+
+---
+ Makefile | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+ create mode 100644 Makefile
+
+diff --git a/Makefile b/Makefile
+new file mode 100644
+index 0000000..5cf4447
+--- /dev/null
++++ b/Makefile
+@@ -0,0 +1,43 @@
++#
++# Copyright 2017 The Openstack-Helm Authors.
++#
++# Copyright (c) 2018 Wind River Systems, Inc.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++# It's necessary to set this because some environments don't link sh -> bash.
++SHELL := /bin/bash
++TASK  := build
++
++EXCLUDES := helm-toolkit doc tests tools logs tmp
++CHARTS := helm-toolkit $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.)))
++
++.PHONY: $(EXCLUDES) $(CHARTS)
++
++all: $(CHARTS)
++
++$(CHARTS):
++      @if [ -d $@ ]; then \
++              echo; \
++              echo "===== Processing [$@] chart ====="; \
++              make $(TASK)-$@; \
++      fi
++
++init-%:
++      if [ -f $*/Makefile ]; then make -C $*; fi
++      if [ -f $*/requirements.yaml ]; then helm dep up $*; fi
++
++lint-%: init-%
++      if [ -d $* ]; then helm lint $*; fi
++
++build-%: lint-%
++      if [ -d $* ]; then helm package $*; fi
++
++clean:
++      @echo "Clean all build artifacts"
++      rm -f */templates/_partials.tpl */templates/_globals.tpl
++      rm -f *tgz */charts/*tgz */requirements.lock
++      rm -rf */charts */tmpcharts
++
++%:
++      @:
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0002-Add-compatibility-for-k8s-1.16.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0002-Add-compatibility-for-k8s-1.16.patch
new file mode 100644 (file)
index 0000000..e6aa4ab
--- /dev/null
@@ -0,0 +1,68 @@
+From f79169b8e6a57881952ca4d2c338eeda179471e9 Mon Sep 17 00:00:00 2001
+From: Kevin Smith <kevin.smith@windriver.com>
+Date: Mon, 7 Oct 2019 11:18:05 -0400
+Subject: [PATCH 1/1] Add compatibility for k8s 1.16
+
+---
+ elasticsearch/templates/_helpers.tpl     | 22 ++++++++++++++++++++++
+ elasticsearch/templates/ingress.yaml     |  2 +-
+ elasticsearch/templates/statefulset.yaml |  2 +-
+ 3 files changed, 24 insertions(+), 2 deletions(-)
+
+diff --git a/elasticsearch/templates/_helpers.tpl b/elasticsearch/templates/_helpers.tpl
+index d651d56..ccfd8c3 100755
+--- a/elasticsearch/templates/_helpers.tpl
++++ b/elasticsearch/templates/_helpers.tpl
+@@ -47,3 +47,25 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
+   {{- end -}}
+ {{- end -}}
+ {{- end -}}
++
++{{/*
++Return the appropriate apiVersion for statefulset.
++*/}}
++{{- define "elasticsearch.statefulset.apiVersion" -}}
++{{- if semverCompare "<1.9-0" .Capabilities.KubeVersion.GitVersion -}}
++{{- print "apps/v1beta2" -}}
++{{- else -}}
++{{- print "apps/v1" -}}
++{{- end -}}
++{{- end -}}
++
++{{/*
++Return the appropriate apiVersion for ingress.
++*/}}
++{{- define "elasticsearch.ingress.apiVersion" -}}
++{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion -}}
++{{- print "extensions/v1beta1" -}}
++{{- else -}}
++{{- print "networking.k8s.io/v1beta1" -}}
++{{- end -}}
++{{- end -}}
+diff --git a/elasticsearch/templates/ingress.yaml b/elasticsearch/templates/ingress.yaml
+index 39167ca..1715b97 100644
+--- a/elasticsearch/templates/ingress.yaml
++++ b/elasticsearch/templates/ingress.yaml
+@@ -2,7 +2,7 @@
+ {{- $fullName := include "uname" . -}}
+ {{- $servicePort := .Values.httpPort -}}
+ {{- $ingressPath := .Values.ingress.path -}}
+-apiVersion: extensions/v1beta1
++apiVersion: {{ template "elasticsearch.ingress.apiVersion" . }}
+ kind: Ingress
+ metadata:
+   name: {{ $fullName }}
+diff --git a/elasticsearch/templates/statefulset.yaml b/elasticsearch/templates/statefulset.yaml
+index 004578f..36c7af6 100644
+--- a/elasticsearch/templates/statefulset.yaml
++++ b/elasticsearch/templates/statefulset.yaml
+@@ -1,5 +1,5 @@
+ ---
+-apiVersion: apps/v1beta1
++apiVersion: {{ template "elasticsearch.statefulset.apiVersion" . }}
+ kind: StatefulSet
+ metadata:
+   name: {{ template "uname" . }}
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0003-use-oss-image.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0003-use-oss-image.patch
new file mode 100644 (file)
index 0000000..8c3c0d6
--- /dev/null
@@ -0,0 +1,25 @@
+From a1ea0a2f488660f9cfbab44a4fb8b163e135ebf5 Mon Sep 17 00:00:00 2001
+From: Kevin Smith <kevin.smith@windriver.com>
+Date: Tue, 8 Oct 2019 13:35:57 -0400
+Subject: [PATCH 1/1] use oss image
+
+---
+ elasticsearch/values.yaml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/elasticsearch/values.yaml b/elasticsearch/values.yaml
+index ccab462..f4fca1f 100755
+--- a/elasticsearch/values.yaml
++++ b/elasticsearch/values.yaml
+@@ -42,7 +42,7 @@ secretMounts: []
+ #    secretName: elastic-certificates
+ #    path: /usr/share/elasticsearch/config/certs
+-image: "docker.elastic.co/elasticsearch/elasticsearch"
++image: "docker.elastic.co/elasticsearch/elasticsearch-oss"
+ imageTag: "7.3.2"
+ imagePullPolicy: "IfNotPresent"
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0004-Update-to-Elastic-7.4.0-Release.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0004-Update-to-Elastic-7.4.0-Release.patch
new file mode 100644 (file)
index 0000000..87559ea
--- /dev/null
@@ -0,0 +1,649 @@
+From 560555d13b524eb5209ab42144a3d40989cc2ac7 Mon Sep 17 00:00:00 2001
+From: John Kung <john.kung@windriver.com>
+Date: Tue, 15 Oct 2019 12:56:39 -0400
+Subject: [PATCH 1/1] Update to Elastic 7.4.0 Release
+
+---
+ CHANGELOG.md                                       | 45 ++++++++++++++++++++--
+ elasticsearch/Chart.yaml                           |  4 +-
+ elasticsearch/README.md                            |  8 ++--
+ elasticsearch/examples/default/test/goss.yaml      |  2 +-
+ elasticsearch/examples/openshift/test/goss.yaml    |  2 +-
+ elasticsearch/examples/oss/test/goss.yaml          |  2 +-
+ elasticsearch/examples/upgrade/test/goss.yaml      |  2 +-
+ elasticsearch/values.yaml                          |  2 +-
+ filebeat/Chart.yaml                                |  4 +-
+ filebeat/README.md                                 |  8 ++--
+ filebeat/examples/default/test/goss.yaml           |  4 +-
+ filebeat/examples/oss/test/goss.yaml               |  2 +-
+ filebeat/examples/security/test/goss.yaml          |  2 +-
+ filebeat/values.yaml                               |  2 +-
+ helpers/bumper.py                                  |  4 +-
+ helpers/examples.mk                                |  2 +-
+ kibana/Chart.yaml                                  |  4 +-
+ kibana/README.md                                   |  8 ++--
+ kibana/examples/default/test/goss.yaml             |  2 +-
+ kibana/values.yaml                                 |  2 +-
+ metricbeat/Chart.yaml                              |  4 +-
+ metricbeat/README.md                               |  8 ++--
+ metricbeat/examples/default/test/goss-metrics.yaml |  6 +--
+ metricbeat/examples/default/test/goss.yaml         |  6 +--
+ metricbeat/examples/oss/test/goss-metrics.yaml     |  6 +--
+ metricbeat/examples/oss/test/goss.yaml             |  6 +--
+ .../examples/security/test/goss-metrics.yaml       |  6 +--
+ metricbeat/examples/security/test/goss.yaml        |  6 +--
+ metricbeat/values.yaml                             |  2 +-
+ 29 files changed, 99 insertions(+), 62 deletions(-)
+
+diff --git a/CHANGELOG.md b/CHANGELOG.md
+index 250d11a..bb2fc24 100644
+--- a/CHANGELOG.md
++++ b/CHANGELOG.md
+@@ -1,9 +1,46 @@
+ # Changelog
++## 7.4.0 - 2019/10/01
++
++* 7.4.0 as the default stack version
++* Helm-tester Docker image migrated to Python 3 in [#297](https://github.com/elastic/helm-charts/pull/297) [@jmlrt](https://github.com/jmlrt)
++* Helm-tester Python dependencies freeze in [#309](https://github.com/elastic/helm-charts/pull/309) [@jmlrt](https://github.com/jmlrt)
++
++### Elasticsearch
++
++| PR                                                      | Author                                             | Title                                                                               |
++| ------------------------------------------------------- | -------------------------------------------------- | ----------------------------------------------------------------------------------- |
++|[#296](https://github.com/elastic/helm-charts/pull/296)  | [@jmlrt](https://github.com/jmlrt)                 | Fix "; \" when there is no additional command in the Makefiles                      |
++|[#298](https://github.com/elastic/helm-charts/pull/298)  | [@floretan](https://github.com/floretan)           | Make it possible to override the endpoint template.                                 |
++|[#263](https://github.com/elastic/helm-charts/pull/263)  | [@Crazybus](https://github.com/Crazybus)           | Add working examples for running Elasticsearch and Kibana on OpenShift              |
++|[#301](https://github.com/elastic/helm-charts/pull/301)  | [@ravishivt](https://github.com/ravishivt)         | Fix bug in keystore initContainer                                                   |
++
++### Kibana
++
++| PR                                                      | Author                                             | Title                                                                               |
++| ------------------------------------------------------- | -------------------------------------------------- | ----------------------------------------------------------------------------------- |
++|[#295](https://github.com/elastic/helm-charts/pull/295)  | [@karlbohlmark](https://github.com/karlbohlmark)   | Allow configuring lifecycle events                                                  |
++|[#263](https://github.com/elastic/helm-charts/pull/263)  | [@Crazybus](https://github.com/Crazybus)           | Add working examples for running Elasticsearch and Kibana on OpenShift              |
++|[#303](https://github.com/elastic/helm-charts/pull/303)  | [@code-chris](https://github.com/code-chris)       | Add compatibility for k8s 1.16 and change min k8s version due to ingress apiVersion |
++
++
++### Filebeat
++
++| PR                                                      | Author                                             | Title                                                                               |
++| ------------------------------------------------------- | -------------------------------------------------- | ----------------------------------------------------------------------------------- |
++|[#304](https://github.com/elastic/helm-charts/pull/304)  | [@code-chris](https://github.com/code-chris)       | Change min k8s version due to daemonset apiVersion                                  |
++
++### Metricbeat
++
++| PR                                                      | Author                                             | Title                                                                               |
++| ------------------------------------------------------- | -------------------------------------------------- | ----------------------------------------------------------------------------------- |
++|[#305](https://github.com/elastic/helm-charts/pull/305)  | [@code-chris](https://github.com/code-chris)       | Change min k8s version due to used apiVersions                                      |
++
++
+ ## 7.3.2 - 2019/09/19
+ * 7.3.2 as the default stack version
+-* Testing of GKE for 1.11 dropped and 1.14 added [#287](https://github.com/elastic/helm-charts/pull/287))
++* Testing of GKE for 1.11 dropped and 1.14 added [#287](https://github.com/elastic/helm-charts/pull/287)
+ * Make helper scripts python3 compatible [#255](https://github.com/elastic/helm-charts/pull/255) [@cclauss](https://github.com/cclauss)
+ ### Elasticsearch
+@@ -176,14 +213,14 @@
+ ### Elasticsearch
+-* [#100](https://github.com/elastic/helm-charts/pull/100) - @kuisathaverat - Remove deprecated zen ping unicast hosts setting 
++* [#100](https://github.com/elastic/helm-charts/pull/100) - @kuisathaverat - Remove deprecated zen ping unicast hosts setting
+ * [#114](https://github.com/elastic/helm-charts/pull/114) - @Crazybus - Make persistent volumes optional
+ * [#115](https://github.com/elastic/helm-charts/pull/115) - @Crazybus - Added an integration test for upgrading from the previous release and testing rolling upgrades
+ ### Kibana
+-* [#107](https://github.com/elastic/helm-charts/pull/107) - @Crazybus - Make the health check path configurable to support webroots and other customizations. 
++* [#107](https://github.com/elastic/helm-charts/pull/107) - @Crazybus - Make the health check path configurable to support webroots and other customizations.
+ ---
+ ## 7.0.0-alpha1 - 2019/04/17
+@@ -203,7 +240,7 @@ esMajorVersion: 6
+ imageTag: 6.7.1
+ ```
+-If you are upgrading an existing cluster that did not override the default `storageClassName` you will now need to specify the `storageClassName`. This only affects existing clusters and was changed in https://github.com/elastic/helm-charts/pull/94. The advantage of this is that now the helm chart will just use the default storageClassName rather than needing to override it for any providers where it is not called `standard`. 
++If you are upgrading an existing cluster that did not override the default `storageClassName` you will now need to specify the `storageClassName`. This only affects existing clusters and was changed in https://github.com/elastic/helm-charts/pull/94. The advantage of this is that now the helm chart will just use the default storageClassName rather than needing to override it for any providers where it is not called `standard`.
+ ```
+ volumeClaimTemplate:
+diff --git a/elasticsearch/Chart.yaml b/elasticsearch/Chart.yaml
+index cfb40d8..e9d5d24 100755
+--- a/elasticsearch/Chart.yaml
++++ b/elasticsearch/Chart.yaml
+@@ -4,8 +4,8 @@ maintainers:
+ - email: helm-charts@elastic.co
+   name: Elastic
+ name: elasticsearch
+-version: 7.3.2
+-appVersion: 7.3.2
++version: 7.4.0
++appVersion: 7.4.0
+ sources:
+   - https://github.com/elastic/elasticsearch
+ icon: https://helm.elastic.co/icons/elasticsearch.png
+diff --git a/elasticsearch/README.md b/elasticsearch/README.md
+index ff90f09..ab9fe7f 100644
+--- a/elasticsearch/README.md
++++ b/elasticsearch/README.md
+@@ -43,14 +43,14 @@ This chart is tested with the latest supported versions. The currently tested ve
+ | 6.x   | 7.x   |
+ | ----- | ----- |
+-| 6.8.3 | 7.3.2 |
++| 6.8.3 | 7.4.0 |
+ Examples of installing older major versions can be found in the [examples](./examples) directory.
+-While only the latest releases are tested, it is possible to easily install old or new releases by overriding the `imageTag`. To install version `7.3.2` of Elasticsearch it would look like this:
++While only the latest releases are tested, it is possible to easily install old or new releases by overriding the `imageTag`. To install version `7.4.0` of Elasticsearch it would look like this:
+ ```
+-helm install --name elasticsearch elastic/elasticsearch --set imageTag=7.3.2
++helm install --name elasticsearch elastic/elasticsearch --set imageTag=7.4.0
+ ```
+ ## Configuration
+@@ -71,7 +71,7 @@ helm install --name elasticsearch elastic/elasticsearch --set imageTag=7.3.2
+ | `extraInitContainers`         | Templatable string of additional init containers to be passed to the `tpl` function                                                                                                                                                                                                                                        | `""`                                                                                                                      |
+ | `secretMounts`                | Allows you easily mount a secret as a file inside the statefulset. Useful for mounting certificates and other secrets. See [values.yaml](./values.yaml) for an example                                                                                                                                                     | `[]`                                                                                                                      |
+ | `image`                       | The Elasticsearch docker image                                                                                                                                                                                                                                                                                             | `docker.elastic.co/elasticsearch/elasticsearch`                                                                           |
+-| `imageTag`                    | The Elasticsearch docker image tag                                                                                                                                                                                                                                                                                         | `7.3.2`                                                                                                                   |
++| `imageTag`                    | The Elasticsearch docker image tag                                                                                                                                                                                                                                                                                         | `7.4.0`                                                                                                                   |
+ | `imagePullPolicy`             | The Kubernetes [imagePullPolicy](https://kubernetes.io/docs/concepts/containers/images/#updating-images) value                                                                                                                                                                                                             | `IfNotPresent`                                                                                                            |
+ | `podAnnotations`              | Configurable [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) applied to all Elasticsearch pods                                                                                                                                                                               | `{}`                                                                                                                      |
+ | `labels`                      | Configurable [label](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) applied to all Elasticsearch pods                                                                                                                                                                                          | `{}`                                                                                                                      |
+diff --git a/elasticsearch/examples/default/test/goss.yaml b/elasticsearch/examples/default/test/goss.yaml
+index 182981d..49b1994 100644
+--- a/elasticsearch/examples/default/test/goss.yaml
++++ b/elasticsearch/examples/default/test/goss.yaml
+@@ -15,7 +15,7 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - '"number" : "7.3.2"'
++      - '"number" : "7.4.0"'
+       - '"cluster_name" : "elasticsearch"'
+       - '"name" : "elasticsearch-master-0"'
+       - 'You Know, for Search'
+diff --git a/elasticsearch/examples/openshift/test/goss.yaml b/elasticsearch/examples/openshift/test/goss.yaml
+index 275754b..3a7a1b0 100644
+--- a/elasticsearch/examples/openshift/test/goss.yaml
++++ b/elasticsearch/examples/openshift/test/goss.yaml
+@@ -11,7 +11,7 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - '"number" : "7.3.0"'
++      - '"number" : "7.4.0"'
+       - '"cluster_name" : "elasticsearch"'
+       - '"name" : "elasticsearch-master-0"'
+       - 'You Know, for Search'
+diff --git a/elasticsearch/examples/oss/test/goss.yaml b/elasticsearch/examples/oss/test/goss.yaml
+index 21e268b..1eec5a8 100644
+--- a/elasticsearch/examples/oss/test/goss.yaml
++++ b/elasticsearch/examples/oss/test/goss.yaml
+@@ -11,7 +11,7 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - '"number" : "7.3.2"'
++      - '"number" : "7.4.0"'
+       - '"cluster_name" : "oss"'
+       - '"name" : "oss-master-0"'
+       - 'You Know, for Search'
+diff --git a/elasticsearch/examples/upgrade/test/goss.yaml b/elasticsearch/examples/upgrade/test/goss.yaml
+index 5e20f7f..f7dbf10 100644
+--- a/elasticsearch/examples/upgrade/test/goss.yaml
++++ b/elasticsearch/examples/upgrade/test/goss.yaml
+@@ -11,7 +11,7 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - '"number" : "7.3.2"'
++      - '"number" : "7.4.0"'
+       - '"cluster_name" : "upgrade"'
+       - '"name" : "upgrade-master-0"'
+       - 'You Know, for Search'
+diff --git a/elasticsearch/values.yaml b/elasticsearch/values.yaml
+index f4fca1f..6175540 100755
+--- a/elasticsearch/values.yaml
++++ b/elasticsearch/values.yaml
+@@ -43,7 +43,7 @@ secretMounts: []
+ #    path: /usr/share/elasticsearch/config/certs
+ image: "docker.elastic.co/elasticsearch/elasticsearch-oss"
+-imageTag: "7.3.2"
++imageTag: "7.4.0"
+ imagePullPolicy: "IfNotPresent"
+ podAnnotations: {}
+diff --git a/filebeat/Chart.yaml b/filebeat/Chart.yaml
+index 59d7ebe..42cffb3 100755
+--- a/filebeat/Chart.yaml
++++ b/filebeat/Chart.yaml
+@@ -4,8 +4,8 @@ maintainers:
+ - email: helm-charts@elastic.co
+   name: Elastic
+ name: filebeat
+-version: 7.3.2
+-appVersion: 7.3.2
++version: 7.4.0
++appVersion: 7.4.0
+ sources:
+   - https://github.com/elastic/beats
+ icon: https://helm.elastic.co/icons/filebeat.png
+diff --git a/filebeat/README.md b/filebeat/README.md
+index 901515d..5b56ca1 100644
+--- a/filebeat/README.md
++++ b/filebeat/README.md
+@@ -30,14 +30,14 @@ This chart is tested with the latest supported versions. The currently tested ve
+ | 6.x   | 7.x   |
+ | ----- | ----- |
+-| 6.8.3 | 7.3.2 |
++| 6.8.3 | 7.4.0 |
+ Examples of installing older major versions can be found in the [examples](./examples) directory.
+-While only the latest releases are tested, it is possible to easily install old or new releases by overriding the `imageTag`. To install version `7.3.2` of Filebeat it would look like this:
++While only the latest releases are tested, it is possible to easily install old or new releases by overriding the `imageTag`. To install version `7.4.0` of Filebeat it would look like this:
+ ```
+-helm install --name filebeat elastic/filebeat --set imageTag=7.3.2
++helm install --name filebeat elastic/filebeat --set imageTag=7.4.0
+ ```
+@@ -50,7 +50,7 @@ helm install --name filebeat elastic/filebeat --set imageTag=7.3.2
+ | `extraVolumes`           | Templatable string of additional volumes to be passed to the `tpl` function                                                                                                                                                                                                 | `""`                                                                                                                      |
+ | `hostPathRoot`           | Fully-qualified [hostPath](https://kubernetes.io/docs/concepts/storage/volumes/#hostpath) that will be used to persist Filebeat registry data                                                                                                                               | `/var/lib`                                                                                                                |
+ | `image`                  | The Filebeat docker image                                                                                                                                                                                                                                                   | `docker.elastic.co/beats/filebeat`                                                                                        |
+-| `imageTag`               | The Filebeat docker image tag                                                                                                                                                                                                                                               | `7.3.2`                                                                                                                   |
++| `imageTag`               | The Filebeat docker image tag                                                                                                                                                                                                                                               | `7.4.0`                                                                                                                   |
+ | `imagePullPolicy`        | The Kubernetes [imagePullPolicy](https://kubernetes.io/docs/concepts/containers/images/#updating-images) value                                                                                                                                                              | `IfNotPresent`                                                                                                            |
+ | `imagePullSecrets`       | Configuration for [imagePullSecrets](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-pod-that-uses-your-secret) so that you can use a private registry for your image                                                        | `[]`                                                                                                                      |
+ | `managedServiceAccount`  | Whether the `serviceAccount` should be managed by this helm chart. Set this to `false` in order to manage your own service account and related roles.                                                                                                                       | `true`                                                                                                                    |
+diff --git a/filebeat/examples/default/test/goss.yaml b/filebeat/examples/default/test/goss.yaml
+index ea0ca18..6713348 100644
+--- a/filebeat/examples/default/test/goss.yaml
++++ b/filebeat/examples/default/test/goss.yaml
+@@ -29,7 +29,7 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - 'filebeat-7.3.2'
++      - 'filebeat-7.4.0'
+ file:
+   /usr/share/filebeat/filebeat.yml:
+@@ -44,4 +44,4 @@ command:
+     exit-status: 0
+     stdout:
+       - 'elasticsearch: http://elasticsearch-master:9200'
+-      - 'version: 7.3.2'
++      - 'version: 7.4.0'
+diff --git a/filebeat/examples/oss/test/goss.yaml b/filebeat/examples/oss/test/goss.yaml
+index cf9d0a9..f38cbfe 100644
+--- a/filebeat/examples/oss/test/goss.yaml
++++ b/filebeat/examples/oss/test/goss.yaml
+@@ -19,4 +19,4 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - 'filebeat-7.3.2'
++      - 'filebeat-7.4.0'
+diff --git a/filebeat/examples/security/test/goss.yaml b/filebeat/examples/security/test/goss.yaml
+index f5efc42..a7ef6c3 100644
+--- a/filebeat/examples/security/test/goss.yaml
++++ b/filebeat/examples/security/test/goss.yaml
+@@ -3,7 +3,7 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - 'filebeat-7.3.2'
++      - 'filebeat-7.4.0'
+     allow-insecure: true
+     username: '{{ .Env.ELASTICSEARCH_USERNAME }}'
+     password: '{{ .Env.ELASTICSEARCH_PASSWORD }}'
+diff --git a/filebeat/values.yaml b/filebeat/values.yaml
+index 284185a..1e6af75 100755
+--- a/filebeat/values.yaml
++++ b/filebeat/values.yaml
+@@ -34,7 +34,7 @@ extraVolumes: ""
+ hostPathRoot: /var/lib
+ image: "docker.elastic.co/beats/filebeat"
+-imageTag: "7.3.2"
++imageTag: "7.4.0"
+ imagePullPolicy: "IfNotPresent"
+ imagePullSecrets: []
+diff --git a/helpers/bumper.py b/helpers/bumper.py
+index c1cf2a8..5d4f0d6 100755
+--- a/helpers/bumper.py
++++ b/helpers/bumper.py
+@@ -7,11 +7,11 @@ import fileinput
+ os.chdir(os.path.join(os.path.dirname(__file__), '..'))
+-chart_version = '7.3.2'
++chart_version = '7.4.0'
+ versions = {
+     6: '6.8.3',
+-    7: '7.3.2',
++    7: '7.4.0',
+ }
+ file_patterns = [
+diff --git a/helpers/examples.mk b/helpers/examples.mk
+index 9a429f8..56f749c 100644
+--- a/helpers/examples.mk
++++ b/helpers/examples.mk
+@@ -1,7 +1,7 @@
+ GOSS_VERSION := v0.3.6
+ GOSS_FILE ?= goss.yaml
+ GOSS_SELECTOR ?= release=$(RELEASE)
+-STACK_VERSION := 7.3.2
++STACK_VERSION := 7.4.0
+ goss:
+       GOSS_CONTAINER=$$(kubectl get --no-headers=true pods -l $(GOSS_SELECTOR) -o custom-columns=:metadata.name | sed -n 1p ) && \
+diff --git a/kibana/Chart.yaml b/kibana/Chart.yaml
+index 2754b57..d858b0a 100755
+--- a/kibana/Chart.yaml
++++ b/kibana/Chart.yaml
+@@ -4,8 +4,8 @@ maintainers:
+ - email: helm-charts@elastic.co
+   name: Elastic
+ name: kibana
+-version: 7.3.2
+-appVersion: 7.3.2
++version: 7.4.0
++appVersion: 7.4.0
+ sources:
+   - https://github.com/elastic/kibana
+ icon: https://helm.elastic.co/icons/kibana.png
+diff --git a/kibana/README.md b/kibana/README.md
+index ef30957..6f2cf2e 100644
+--- a/kibana/README.md
++++ b/kibana/README.md
+@@ -26,14 +26,14 @@ This chart is tested with the latest supported versions. The currently tested ve
+ | 6.x   | 7.x   |
+ | ----- | ----- |
+-| 6.8.3 | 7.3.2 |
++| 6.8.3 | 7.4.0 |
+ Examples of installing older major versions can be found in the [examples](./examples) directory.
+-While only the latest releases are tested, it is possible to easily install old or new releases by overriding the `imageTag`. To install version `7.3.2` of Kibana it would look like this:
++While only the latest releases are tested, it is possible to easily install old or new releases by overriding the `imageTag`. To install version `7.4.0` of Kibana it would look like this:
+ ```
+-helm install --name kibana elastic/kibana --set imageTag=7.3.2
++helm install --name kibana elastic/kibana --set imageTag=7.4.0
+ ```
+ ## Configuration
+@@ -46,7 +46,7 @@ helm install --name kibana elastic/kibana --set imageTag=7.3.2
+ | `extraEnvs`               | Extra [environment variables](https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/#using-environment-variables-inside-of-your-config) which will be appended to the `env:` definition for the container                                                                                                             | `[]`                                                                                                                      |
+ | `secretMounts`            | Allows you easily mount a secret as a file inside the deployment. Useful for mounting certificates and other secrets. See [values.yaml](./values.yaml) for an example                                                                                                                                                                                          | `[]`                                                                                                                      |
+ | `image`                   | The Kibana docker image                                                                                                                                                                                                                                                                                                                                        | `docker.elastic.co/kibana/kibana`                                                                                         |
+-| `imageTag`                | The Kibana docker image tag                                                                                                                                                                                                                                                                                                                                    | `7.3.2`                                                                                                                   |
++| `imageTag`                | The Kibana docker image tag                                                                                                                                                                                                                                                                                                                                    | `7.4.0`                                                                                                                   |
+ | `imagePullPolicy`         | The Kubernetes [imagePullPolicy](https://kubernetes.io/docs/concepts/containers/images/#updating-images) value                                                                                                                                                                                                                                                 | `IfNotPresent`                                                                                                            |
+ | `podAnnotations`          | Configurable [annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) applied to all Kibana pods                                                                                                                                                                                                                          | `{}`                                                                                                                      |
+ | `resources`               | Allows you to set the [resources](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) for the statefulset                                                                                                                                                                                                                   | `requests.cpu: 100m`<br>`requests.memory: 500Mi`<br>`limits.cpu: 1000m`<br>`limits.memory: 2Gi`                             |
+diff --git a/kibana/examples/default/test/goss.yaml b/kibana/examples/default/test/goss.yaml
+index 760d38a..2bafc00 100644
+--- a/kibana/examples/default/test/goss.yaml
++++ b/kibana/examples/default/test/goss.yaml
+@@ -3,7 +3,7 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - '"number":"7.3.2"'
++      - '"number":"7.4.0"'
+   http://localhost:5601/app/kibana:
+     status: 200
+diff --git a/kibana/values.yaml b/kibana/values.yaml
+index 1af52b8..4e3668c 100755
+--- a/kibana/values.yaml
++++ b/kibana/values.yaml
+@@ -22,7 +22,7 @@ secretMounts: []
+ #    subPath: kibana.keystore # optional
+ image: "docker.elastic.co/kibana/kibana"
+-imageTag: "7.3.2"
++imageTag: "7.4.0"
+ imagePullPolicy: "IfNotPresent"
+ # additionals labels
+diff --git a/metricbeat/Chart.yaml b/metricbeat/Chart.yaml
+index 569d47c..d6f0f4b 100755
+--- a/metricbeat/Chart.yaml
++++ b/metricbeat/Chart.yaml
+@@ -4,8 +4,8 @@ maintainers:
+ - email: helm-charts@elastic.co
+   name: Elastic
+ name: metricbeat
+-version: 7.3.2
+-appVersion: 7.3.2
++version: 7.4.0
++appVersion: 7.4.0
+ sources:
+   - https://github.com/elastic/beats
+ icon: https://helm.elastic.co/icons/metricbeat.png
+diff --git a/metricbeat/README.md b/metricbeat/README.md
+index 1e53f47..ecca6f4 100644
+--- a/metricbeat/README.md
++++ b/metricbeat/README.md
+@@ -26,14 +26,14 @@ This chart is tested with the latest supported versions. The currently tested ve
+ | 6.x   | 7.x   |
+ | ----- | ----- |
+-| 6.8.3 | 7.3.2 |
++| 6.8.3 | 7.4.0 |
+ Examples of installing older major versions can be found in the [examples](./examples) directory.
+-While only the latest releases are tested, it is possible to easily install old or new releases by overriding the `imageTag`. To install version `7.3.2` of metricbeat it would look like this:
++While only the latest releases are tested, it is possible to easily install old or new releases by overriding the `imageTag`. To install version `7.4.0` of metricbeat it would look like this:
+ ```
+-helm install --name metricbeat elastic/metricbeat --set imageTag=7.3.2
++helm install --name metricbeat elastic/metricbeat --set imageTag=7.4.0
+ ```
+@@ -46,7 +46,7 @@ helm install --name metricbeat elastic/metricbeat --set imageTag=7.3.2
+ | `extraVolumes`           | Templatable string of additional volumes to be passed to the `tpl` function                                                                                                                                                                                                 | `""`                                                                                                                      |
+ | `hostPathRoot`           | Fully-qualified [hostPath](https://kubernetes.io/docs/concepts/storage/volumes/#hostpath) that will be used to persist Metricbeat registry data                                                                                                                             | `/var/lib`                                                                                                                |
+ | `image`                  | The Metricbeat docker image                                                                                                                                                                                                                                                 | `docker.elastic.co/beats/metricbeat`                                                                                      |
+-| `imageTag`               | The Metricbeat docker image tag                                                                                                                                                                                                                                             | `7.3.2`                                                                                                                   |
++| `imageTag`               | The Metricbeat docker image tag                                                                                                                                                                                                                                             | `7.4.0`                                                                                                                   |
+ | `imagePullPolicy`        | The Kubernetes [imagePullPolicy](https://kubernetes.io/docs/concepts/containers/images/#updating-images) value                                                                                                                                                              | `IfNotPresent`                                                                                                            |
+ | `imagePullSecrets`       | Configuration for [imagePullSecrets](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-pod-that-uses-your-secret) so that you can use a private registry for your image                                                        | `[]`                                                                                                                      |
+ | `managedServiceAccount`  | Whether the `serviceAccount` should be managed by this helm chart. Set this to `false` in order to manage your own service account and related roles.                                                                                                                       | `true`                                                                                                                    |
+diff --git a/metricbeat/examples/default/test/goss-metrics.yaml b/metricbeat/examples/default/test/goss-metrics.yaml
+index 3e0304d..b4e5163 100644
+--- a/metricbeat/examples/default/test/goss-metrics.yaml
++++ b/metricbeat/examples/default/test/goss-metrics.yaml
+@@ -21,13 +21,13 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - 'metricbeat-7.3.2'
++      - 'metricbeat-7.4.0'
+   'http://elasticsearch-master:9200/_search?q=metricset.name:state_container%20AND%20kubernetes.container.name:metricbeat':
+     status: 200
+     timeout: 2000
+     body:
+-      - 'metricbeat-7.3.2'
++      - 'metricbeat-7.4.0'
+ file:
+   /usr/share/metricbeat/metricbeat.yml:
+@@ -42,4 +42,4 @@ command:
+     exit-status: 0
+     stdout:
+       - 'elasticsearch: http://elasticsearch-master:9200'
+-      - 'version: 7.3.2'
++      - 'version: 7.4.0'
+diff --git a/metricbeat/examples/default/test/goss.yaml b/metricbeat/examples/default/test/goss.yaml
+index edb4e13..c1614ab 100644
+--- a/metricbeat/examples/default/test/goss.yaml
++++ b/metricbeat/examples/default/test/goss.yaml
+@@ -29,12 +29,12 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - 'metricbeat-7.3.2'
++      - 'metricbeat-7.4.0'
+   'http://elasticsearch-master:9200/_search?q=metricset.name:container%20AND%20kubernetes.container.name:metricbeat':
+     status: 200
+     timeout: 2000
+     body:
+-      - 'metricbeat-7.3.2'
++      - 'metricbeat-7.4.0'
+ file:
+   /usr/share/metricbeat/metricbeat.yml:
+@@ -49,4 +49,4 @@ command:
+     exit-status: 0
+     stdout:
+       - 'elasticsearch: http://elasticsearch-master:9200'
+-      - 'version: 7.3.2'
++      - 'version: 7.4.0'
+diff --git a/metricbeat/examples/oss/test/goss-metrics.yaml b/metricbeat/examples/oss/test/goss-metrics.yaml
+index 947a71d..ea98e76 100644
+--- a/metricbeat/examples/oss/test/goss-metrics.yaml
++++ b/metricbeat/examples/oss/test/goss-metrics.yaml
+@@ -21,12 +21,12 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - 'metricbeat-7.3.2'
++      - 'metricbeat-7.4.0'
+   http://oss-master:9200/_search?q=metricset.name:state_deployment:
+     status: 200
+     timeout: 2000
+     body:
+-      - 'metricbeat-7.3.2'
++      - 'metricbeat-7.4.0'
+ file:
+   /usr/share/metricbeat/metricbeat.yml:
+@@ -40,4 +40,4 @@ command:
+     exit-status: 0
+     stdout:
+       - 'elasticsearch: http://oss-master:9200'
+-      - 'version: 7.3.2'
++      - 'version: 7.4.0'
+diff --git a/metricbeat/examples/oss/test/goss.yaml b/metricbeat/examples/oss/test/goss.yaml
+index d39d1b2..3b5c523 100644
+--- a/metricbeat/examples/oss/test/goss.yaml
++++ b/metricbeat/examples/oss/test/goss.yaml
+@@ -29,12 +29,12 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - 'metricbeat-7.3.2'
++      - 'metricbeat-7.4.0'
+   http://oss-master:9200/_search?q=metricset.name:container:
+     status: 200
+     timeout: 2000
+     body:
+-      - 'metricbeat-7.3.2'
++      - 'metricbeat-7.4.0'
+ file:
+   /usr/share/metricbeat/metricbeat.yml:
+@@ -48,4 +48,4 @@ command:
+     exit-status: 0
+     stdout:
+       - 'elasticsearch: http://oss-master:9200'
+-      - 'version: 7.3.2'
++      - 'version: 7.4.0'
+diff --git a/metricbeat/examples/security/test/goss-metrics.yaml b/metricbeat/examples/security/test/goss-metrics.yaml
+index 80d57a8..ecb788f 100644
+--- a/metricbeat/examples/security/test/goss-metrics.yaml
++++ b/metricbeat/examples/security/test/goss-metrics.yaml
+@@ -21,7 +21,7 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - 'metricbeat-7.3.2'
++      - 'metricbeat-7.4.0'
+     allow-insecure: true
+     username: '{{ .Env.ELASTICSEARCH_USERNAME }}'
+     password: '{{ .Env.ELASTICSEARCH_PASSWORD }}'
+@@ -29,7 +29,7 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - 'metricbeat-7.3.2'
++      - 'metricbeat-7.4.0'
+     allow-insecure: true
+     username: '{{ .Env.ELASTICSEARCH_USERNAME }}'
+     password: '{{ .Env.ELASTICSEARCH_PASSWORD }}'
+@@ -46,4 +46,4 @@ command:
+     exit-status: 0
+     stdout:
+       - 'elasticsearch: https://security-master:9200'
+-      - 'version: 7.3.2'
++      - 'version: 7.4.0'
+diff --git a/metricbeat/examples/security/test/goss.yaml b/metricbeat/examples/security/test/goss.yaml
+index d25b9de..0e2f04c 100644
+--- a/metricbeat/examples/security/test/goss.yaml
++++ b/metricbeat/examples/security/test/goss.yaml
+@@ -29,7 +29,7 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - 'metricbeat-7.3.2'
++      - 'metricbeat-7.4.0'
+     allow-insecure: true
+     username: '{{ .Env.ELASTICSEARCH_USERNAME }}'
+     password: '{{ .Env.ELASTICSEARCH_PASSWORD }}'
+@@ -37,7 +37,7 @@ http:
+     status: 200
+     timeout: 2000
+     body:
+-      - 'metricbeat-7.3.2'
++      - 'metricbeat-7.4.0'
+     allow-insecure: true
+     username: '{{ .Env.ELASTICSEARCH_USERNAME }}'
+     password: '{{ .Env.ELASTICSEARCH_PASSWORD }}'
+@@ -54,4 +54,4 @@ command:
+     exit-status: 0
+     stdout:
+       - 'elasticsearch: https://security-master:9200'
+-      - 'version: 7.3.2'
++      - 'version: 7.4.0'
+diff --git a/metricbeat/values.yaml b/metricbeat/values.yaml
+index 5c85249..3f9f0b1 100755
+--- a/metricbeat/values.yaml
++++ b/metricbeat/values.yaml
+@@ -86,7 +86,7 @@ extraVolumes: ""
+ hostPathRoot: /var/lib
+ image: "docker.elastic.co/beats/metricbeat"
+-imageTag: "7.3.2"
++imageTag: "7.4.0"
+ imagePullPolicy: "IfNotPresent"
+ imagePullSecrets: []
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0005-set-initial-masters-to-master-0.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/0005-set-initial-masters-to-master-0.patch
new file mode 100644 (file)
index 0000000..9640e4a
--- /dev/null
@@ -0,0 +1,40 @@
+From 066b7c9996d9bdee56857eca8a1af72bbbaaafff Mon Sep 17 00:00:00 2001
+From: Kevin Smith <kevin.smith@windriver.com>
+Date: Thu, 24 Oct 2019 11:06:30 -0400
+Subject: [PATCH 1/1] set initial masters to master-0
+
+---
+ elasticsearch/templates/statefulset.yaml | 2 +-
+ elasticsearch/values.yaml                | 3 +++
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/elasticsearch/templates/statefulset.yaml b/elasticsearch/templates/statefulset.yaml
+index 36c7af6..e17d39e 100644
+--- a/elasticsearch/templates/statefulset.yaml
++++ b/elasticsearch/templates/statefulset.yaml
+@@ -233,7 +233,7 @@ spec:
+           {{- if eq .Values.roles.master "true" }}
+           {{- if ge (int (include "esMajorVersion" .)) 7 }}
+           - name: cluster.initial_master_nodes
+-            value: "{{ template "endpoints" . }}"
++            value: "{{ .Values.initialMasterNodes }}"
+           {{- else }}
+           - name: discovery.zen.minimum_master_nodes
+             value: "{{ .Values.minimumMasterNodes }}"
+diff --git a/elasticsearch/values.yaml b/elasticsearch/values.yaml
+index 6175540..0d983eb 100755
+--- a/elasticsearch/values.yaml
++++ b/elasticsearch/values.yaml
+@@ -6,6 +6,9 @@ nodeGroup: "master"
+ # This should be set to clusterName + "-" + nodeGroup for your master group
+ masterService: ""
++# On initial cluster formation, the initial set of masters.
++initialMasterNodes: "mon-elasticsearch-master-0"
++
+ # Elasticsearch roles that will be applied to this nodeGroup
+ # These will be set as environment variables. E.g. node.master=true
+ roles:
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/index.yaml b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/index.yaml
new file mode 100644 (file)
index 0000000..166dfef
--- /dev/null
@@ -0,0 +1,4 @@
+---
+apiVersion: v1
+entries: {}
+generated: 2019-01-07T12:33:46.098166523-06:00
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/repositories.yaml b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic/repositories.yaml
new file mode 100644 (file)
index 0000000..7fbaebd
--- /dev/null
@@ -0,0 +1,12 @@
+---
+apiVersion: v1
+generated: 2019-01-02T15:19:36.215111369-06:00
+repositories:
+  - caFile: ""
+    cache: /builddir/.helm/repository/cache/local-index.yaml
+    certFile: ""
+    keyFile: ""
+    name: local
+    password: ""
+    url: http://127.0.0.1:8879/charts
+    username: ""
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic_1.0.bb b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm-elastic_1.0.bb
new file mode 100644 (file)
index 0000000..eea9257
--- /dev/null
@@ -0,0 +1,94 @@
+
+SUMMARY = "Monitor Helm Elastic charts"
+DESCRIPTION = "Monitor Helm Elastic charts"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS += " \
+    helm-native \
+    stx-openstack-helm \
+"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCREV_helm-charts-elastic = "2bd7616ceddbdf2eee88965e2028ee37d304c79c"
+
+# Patches pulled from:
+# SRCREV_monitor-armada-app = "e5ee6b3a07b74479b93fe90eff0662cf81890f73"
+# git://opendev.org/starlingx/monitor-armada-app.git
+
+SRC_URI = " \
+    git://github.com/elastic/helm-charts;protocol=${PROTOCOL};name=helm-charts-elastic \
+    file://0001-add-makefile.patch \
+    file://0002-Add-compatibility-for-k8s-1.16.patch \
+    file://0003-use-oss-image.patch \
+    file://0004-Update-to-Elastic-7.4.0-Release.patch \
+    file://0005-set-initial-masters-to-master-0.patch \
+    file://index.yaml \
+    file://repositories.yaml \
+    "
+
+PATCHTOOL = "git"
+PATCH_COMMIT_FUNCTIONS = "1"
+
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+helm_folder = "${nonarch_libdir}/helm"
+helmchart_version = "0.1.0"
+
+do_configure[noexec] = "1"
+
+do_compile () {
+       # initialize helm and build the toolkit
+       # helm init --client-only does not work if there is no networking
+       # The following commands do essentially the same as: helm init
+       export HOME="${B}/${USER}"
+       export helm_home="${B}/${USER}/.helm"
+       rm -rf ${helm_home}
+
+       mkdir -p ${helm_home}
+       mkdir ${helm_home}/repository
+       mkdir ${helm_home}/repository/cache
+       mkdir ${helm_home}/repository/local
+       mkdir ${helm_home}/plugins
+       mkdir ${helm_home}/starters
+       mkdir ${helm_home}/cache
+       mkdir ${helm_home}/cache/archive
+
+       # Stage a repository file that only has a local repo
+       install -m 0644 ${WORKDIR}/repositories.yaml \
+               ${helm_home}/repository/repositories.yaml
+
+       # Stage a local repo index that can be updated by the build
+       install -m 0644 ${WORKDIR}/index.yaml ${helm_home}/repository/local/index.yaml
+
+       # Host a server for the charts
+       helm serve --repo-path . &
+       sleep 1
+       helm repo rm local
+       helm repo add local http://localhost:8879/charts
+
+       # Create the tgz files
+       rm -f elasticsearch/Makefile
+       make elasticsearch
+
+       # terminate helm server (the last backgrounded task)
+       kill $!
+       rm -rf ${helm_home}
+}
+
+do_install () {
+       install -d -m 755 ${D}${helm_folder}
+       install -p -D -m 755 ${B}/*.tgz ${D}${helm_folder}
+}
+
+FILES_${PN} = "${helm_folder}"
+
+RDEPENDS_${PN} = " \
+    helm \
+    stx-platform-helm \
+    stx-openstack-helm \
+"
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0001-Add-Makefile-for-helm-charts.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0001-Add-Makefile-for-helm-charts.patch
new file mode 100644 (file)
index 0000000..0744620
--- /dev/null
@@ -0,0 +1,62 @@
+From c116dce67296baa7b31cf59a68102b88e008db30 Mon Sep 17 00:00:00 2001
+From: John Kung <john.kung@windriver.com>
+Date: Thu, 9 May 2019 11:08:48 -0400
+Subject: [PATCH 1/1] Add Makefile for helm charts
+
+---
+ stable/Makefile | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+ create mode 100644 stable/Makefile
+
+diff --git a/stable/Makefile b/stable/Makefile
+new file mode 100644
+index 0000000..5cf4447
+--- /dev/null
++++ b/stable/Makefile
+@@ -0,0 +1,43 @@
++#
++# Copyright 2017 The Openstack-Helm Authors.
++#
++# Copyright (c) 2018 Wind River Systems, Inc.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++# It's necessary to set this because some environments don't link sh -> bash.
++SHELL := /bin/bash
++TASK  := build
++
++EXCLUDES := helm-toolkit doc tests tools logs tmp
++CHARTS := helm-toolkit $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.)))
++
++.PHONY: $(EXCLUDES) $(CHARTS)
++
++all: $(CHARTS)
++
++$(CHARTS):
++      @if [ -d $@ ]; then \
++              echo; \
++              echo "===== Processing [$@] chart ====="; \
++              make $(TASK)-$@; \
++      fi
++
++init-%:
++      if [ -f $*/Makefile ]; then make -C $*; fi
++      if [ -f $*/requirements.yaml ]; then helm dep up $*; fi
++
++lint-%: init-%
++      if [ -d $* ]; then helm lint $*; fi
++
++build-%: lint-%
++      if [ -d $* ]; then helm package $*; fi
++
++clean:
++      @echo "Clean all build artifacts"
++      rm -f */templates/_partials.tpl */templates/_globals.tpl
++      rm -f *tgz */charts/*tgz */requirements.lock
++      rm -rf */charts */tmpcharts
++
++%:
++      @:
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0002-kibana-workaround-checksum-for-configmap.yaml.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0002-kibana-workaround-checksum-for-configmap.yaml.patch
new file mode 100644 (file)
index 0000000..e981875
--- /dev/null
@@ -0,0 +1,28 @@
+From 2315765024f82510212604d16eed37dfd69ff24c Mon Sep 17 00:00:00 2001
+From: John Kung <john.kung@windriver.com>
+Date: Thu, 2 May 2019 14:48:20 -0400
+Subject: [PATCH 1/1] kibana: workaround checksum for configmap.yaml
+
+---
+ stable/kibana/templates/deployment.yaml | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/stable/kibana/templates/deployment.yaml b/stable/kibana/templates/deployment.yaml
+index 33208ea..33fc6f0 100644
+--- a/stable/kibana/templates/deployment.yaml
++++ b/stable/kibana/templates/deployment.yaml
+@@ -16,11 +16,6 @@ spec:
+   revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
+   template:
+     metadata:
+-      annotations:
+-        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
+-{{- if .Values.podAnnotations }}
+-{{ toYaml .Values.podAnnotations | indent 8 }}
+-{{- end }}
+       labels:
+         app: {{ template "kibana.name" . }}
+         release: "{{ .Release.Name }}"
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0003-helm-chart-changes-for-stx-monitor.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0003-helm-chart-changes-for-stx-monitor.patch
new file mode 100644 (file)
index 0000000..7e23cfb
--- /dev/null
@@ -0,0 +1,324 @@
+From d22ad4870b78f74298189e383697ae6163ef49d7 Mon Sep 17 00:00:00 2001
+From: Kevin Smith <kevin.smith@windriver.com>
+Date: Wed, 17 Jul 2019 15:13:44 -0400
+Subject: [PATCH 1/1] helm chart changes for stx monitor
+
+---
+ stable/elasticsearch/values.yaml           |  2 +-
+ stable/filebeat/templates/configmap.yaml   | 34 ++++++++++++++++++++++++++++++
+ stable/filebeat/templates/daemonset.yaml   | 15 +++++++++++++
+ stable/filebeat/values.yaml                |  9 ++------
+ stable/kibana/values.yaml                  |  4 ++--
+ stable/logstash/templates/ingress.yaml     |  2 +-
+ stable/logstash/templates/statefulset.yaml |  7 +++---
+ stable/logstash/values.yaml                |  3 ++-
+ stable/metricbeat/templates/configmap.yaml | 34 ++++++++++++++++++++++++++++++
+ stable/metricbeat/templates/daemonset.yaml | 26 +++++++++++++++++++++++
+ stable/metricbeat/values.yaml              |  4 ++--
+ 11 files changed, 122 insertions(+), 18 deletions(-)
+ create mode 100755 stable/filebeat/templates/configmap.yaml
+ create mode 100755 stable/metricbeat/templates/configmap.yaml
+
+diff --git a/stable/elasticsearch/values.yaml b/stable/elasticsearch/values.yaml
+index bbc03dd..6dcd9b0 100644
+--- a/stable/elasticsearch/values.yaml
++++ b/stable/elasticsearch/values.yaml
+@@ -33,7 +33,7 @@ podSecurityPolicy:
+ image:
+   repository: "docker.elastic.co/elasticsearch/elasticsearch-oss"
+-  tag: "6.7.0"
++  tag: "7.2.0"
+   pullPolicy: "IfNotPresent"
+   # If specified, use these secrets to access the image
+   # pullSecrets:
+diff --git a/stable/filebeat/templates/configmap.yaml b/stable/filebeat/templates/configmap.yaml
+new file mode 100755
+index 0000000..c895965
+--- /dev/null
++++ b/stable/filebeat/templates/configmap.yaml
+@@ -0,0 +1,34 @@
++apiVersion: v1
++kind: ConfigMap
++metadata:
++  name: {{ template "filebeat.fullname" . }}
++  labels:
++    app: {{ template "filebeat.fullname" . }}
++    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
++    release: "{{ .Release.Name }}"
++    heritage: "{{ .Release.Service }}"
++data:
++  setup-script.sh: |-
++    #!/bin/bash
++    BEAT='filebeat'
++    BEAT_VER=$($BEAT version | awk '{print $3}')
++    # check if logstash output is enabled, via crude parsing of the .yml file.
++    sed -e '/output.logstash/,/enabled:/!d' ${BEAT}.yml  | grep -i true
++    if [[ $? -eq 0 ]]; then
++       echo "logstash configured, exporting template to elasticsearch"
++       $BEAT export template > /tmp/beat.template.json
++       # remove the lifecycle section of the yaml, as elasticsearch will choke
++       # on it as oss version does not support ilm.
++       sed -i '/lifecycle/,+3d' /tmp/beat.template.json
++       curl -XPUT -H "Content-Type: application/json" http://{$STX_ELASTICSEARCH_CLIENT_SERVICE_HOST}:{$STX_ELASTICSEARCH_CLIENT_SERVICE_PORT_HTTP}/_template/{$BEAT}-{$BEAT_VER} -d@/tmp/beat.template.json
++       # prime the index as a write index
++       curl -XPUT -H "Content-Type: application/json" -d   "{
++          \"aliases\": {
++             \"{BEAT}-{$BEAT_VER}\": {
++                \"is_write_index\": \"true\"
++             }
++          }
++       }" http://{$STX_ELASTICSEARCH_CLIENT_SERVICE_HOST}:{$STX_ELASTICSEARCH_CLIENT_SERVICE_PORT_HTTP}/{$BEAT}-{$BEAT_VER}-000001
++    else
++        echo "logstash not configured, not exporting template, should be done for us."
++    fi
+diff --git a/stable/filebeat/templates/daemonset.yaml b/stable/filebeat/templates/daemonset.yaml
+index 2b8e265..00a5519 100644
+--- a/stable/filebeat/templates/daemonset.yaml
++++ b/stable/filebeat/templates/daemonset.yaml
+@@ -38,6 +38,21 @@ spec:
+       priorityClassName: "{{ .Values.priorityClassName }}"
+ {{- end }}
+       initContainers:
++      - name: "setup-script"
++        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
++        imagePullPolicy: {{ .Values.image.pullPolicy }}
++        command:
++        - /bin/bash
++        - -c
++        - /usr/share/filebeat/setup-script.sh
++        volumeMounts:
++        - mountPath: /usr/share/filebeat/setup-script.sh
++          name: setupscript 
++          subPath: setup-script.sh
++        - name: filebeat-config
++          mountPath: /usr/share/filebeat/filebeat.yml
++          readOnly: true
++          subPath: filebeat.yml
+ {{- if .Values.indexTemplateLoad }}
+       - name: "load-es-template"
+         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+diff --git a/stable/filebeat/values.yaml b/stable/filebeat/values.yaml
+index 1907ffa..b4b766f 100644
+--- a/stable/filebeat/values.yaml
++++ b/stable/filebeat/values.yaml
+@@ -1,15 +1,10 @@
+ image:
+   repository: docker.elastic.co/beats/filebeat-oss
+-  tag: 6.7.0
++  tag: 7.2.0
+   pullPolicy: IfNotPresent
+ config:
+   filebeat.config:
+-    prospectors:
+-      # Mounted `filebeat-prospectors` configmap:
+-      path: ${path.config}/prospectors.d/*.yml
+-      # Reload prospectors configs as they change:
+-      reload.enabled: false
+     modules:
+       path: ${path.config}/modules.d/*.yml
+       # Reload module configs as they change:
+@@ -18,7 +13,7 @@ config:
+   processors:
+     - add_cloud_metadata:
+-  filebeat.prospectors:
++  filebeat.inputs:
+     - type: log
+       enabled: true
+       paths:
+diff --git a/stable/kibana/values.yaml b/stable/kibana/values.yaml
+index a3310f9..4ce4b2a 100644
+--- a/stable/kibana/values.yaml
++++ b/stable/kibana/values.yaml
+@@ -1,6 +1,6 @@
+ image:
+   repository: "docker.elastic.co/kibana/kibana-oss"
+-  tag: "6.7.0"
++  tag: "7.2.0"
+   pullPolicy: "IfNotPresent"
+ testFramework:
+@@ -25,7 +25,7 @@ files:
+     ## Default Kibana configuration from kibana-docker.
+     server.name: kibana
+     server.host: "0"
+-    elasticsearch.url: http://elasticsearch:9200
++    elasticsearch.hosts: http://elasticsearch:9200
+     ## Custom config properties below
+     ## Ref: https://www.elastic.co/guide/en/kibana/current/settings.html
+diff --git a/stable/logstash/templates/ingress.yaml b/stable/logstash/templates/ingress.yaml
+index d924504..0e26f89 100644
+--- a/stable/logstash/templates/ingress.yaml
++++ b/stable/logstash/templates/ingress.yaml
+@@ -33,6 +33,6 @@ spec:
+           - path: {{ $ingressPath }}
+             backend:
+               serviceName: {{ $fullName }}
+-              servicePort: http
++              servicePort: 9600
+   {{- end }}
+ {{- end }}
+diff --git a/stable/logstash/templates/statefulset.yaml b/stable/logstash/templates/statefulset.yaml
+index d2bbc32..cca0050 100644
+--- a/stable/logstash/templates/statefulset.yaml
++++ b/stable/logstash/templates/statefulset.yaml
+@@ -25,11 +25,8 @@ spec:
+         {{ $key }}: {{ $value | quote }}
+         {{- end }}
+       {{- end }}
+-      annotations:
+-        checksum/patterns: {{ include (print $.Template.BasePath "/patterns-config.yaml") . | sha256sum }}
+-        checksum/templates: {{ include (print $.Template.BasePath "/files-config.yaml") . | sha256sum }}
+-        checksum/pipeline: {{ include (print $.Template.BasePath "/pipeline-config.yaml") . | sha256sum }}
+       {{- if .Values.podAnnotations }}
++      annotations:
+         ## Custom pod annotations
+         {{- range $key, $value := .Values.podAnnotations }}
+         {{ $key }}: {{ $value | quote }}
+@@ -46,6 +43,8 @@ spec:
+       imagePullSecrets:
+ {{ toYaml .Values.image.pullSecrets | indent 8 }}
+       {{- end }}
++      hostNetwork: true
++      dnsPolicy: ClusterFirstWithHostNet
+       containers:
+         ## logstash
+diff --git a/stable/logstash/values.yaml b/stable/logstash/values.yaml
+index a9eb158..9a452b1 100644
+--- a/stable/logstash/values.yaml
++++ b/stable/logstash/values.yaml
+@@ -10,7 +10,7 @@ terminationGracePeriodSeconds: 30
+ image:
+   repository: docker.elastic.co/logstash/logstash-oss
+-  tag: 6.7.0
++  tag: 7.2.0
+   pullPolicy: IfNotPresent
+   ## Add secrets manually via kubectl on kubernetes cluster and reference here
+   #  pullSecrets:
+@@ -67,6 +67,7 @@ ingress:
+   path: /
+   hosts:
+     - logstash.cluster.local
++  servicePort: 5044
+   tls: []
+   #  - secretName: logstash-tls
+   #    hosts:
+diff --git a/stable/metricbeat/templates/configmap.yaml b/stable/metricbeat/templates/configmap.yaml
+new file mode 100755
+index 0000000..21890b4
+--- /dev/null
++++ b/stable/metricbeat/templates/configmap.yaml
+@@ -0,0 +1,34 @@
++apiVersion: v1
++kind: ConfigMap
++metadata:
++  name: {{ template "metricbeat.fullname" . }}
++  labels:
++    app: {{ template "metricbeat.fullname" . }}
++    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
++    release: "{{ .Release.Name }}"
++    heritage: "{{ .Release.Service }}"
++data:
++  setup-script.sh: |-
++    #!/bin/bash
++    BEAT='metricbeat'
++    BEAT_VER=$($BEAT version | awk '{print $3}')
++    # check if logstash output is enabled, via crude parsing of the .yml file.
++    sed -e '/output.logstash/,/enabled:/!d' ${BEAT}.yml  | grep -i true
++    if [[ $? -eq 0 ]]; then
++       echo "logstash configured, exporting template to elasticsearch"
++       $BEAT export template > /tmp/beat.template.json
++       # remove the lifecycle section of the yaml, as elasticsearch will choke
++       # on it as oss version does not support ilm.
++       sed -i '/lifecycle/,+3d' /tmp/beat.template.json
++       curl -XPUT -H "Content-Type: application/json" http://{$STX_ELASTICSEARCH_CLIENT_SERVICE_HOST}:{$STX_ELASTICSEARCH_CLIENT_SERVICE_PORT_HTTP}/_template/{$BEAT}-{$BEAT_VER} -d@/tmp/beat.template.json
++       # prime the index as a write index
++       curl -XPUT -H "Content-Type: application/json" -d   "{
++          \"aliases\": {
++             \"{BEAT}-{$BEAT_VER}\": {
++                \"is_write_index\": \"true\"
++             }
++          }
++       }" http://{$STX_ELASTICSEARCH_CLIENT_SERVICE_HOST}:{$STX_ELASTICSEARCH_CLIENT_SERVICE_PORT_HTTP}/{$BEAT}-{$BEAT_VER}-000001
++    else
++        echo "logstash not configured, not exporting template, should be done for us."
++    fi
+diff --git a/stable/metricbeat/templates/daemonset.yaml b/stable/metricbeat/templates/daemonset.yaml
+index eadfb96..e3d7437 100644
+--- a/stable/metricbeat/templates/daemonset.yaml
++++ b/stable/metricbeat/templates/daemonset.yaml
+@@ -32,6 +32,23 @@ spec:
+   {{- end }}
+ {{- end }}
+     spec:
++      initContainers:
++      - name: "setup-script"
++        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
++        imagePullPolicy: {{ .Values.image.pullPolicy }}
++        command:
++        - /bin/bash
++        - -c
++        - /usr/share/metricbeat/setup-script.sh
++        volumeMounts:
++        - mountPath: /usr/share/metricbeat/setup-script.sh
++          name: setupscript
++          subPath: setup-script.sh
++        - name: config
++          mountPath: /usr/share/metricbeat/metricbeat.yml
++          readOnly: true
++          subPath: metricbeat.yml
++        env:
+       containers:
+       - name: {{ .Chart.Name }}
+         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+@@ -62,6 +79,7 @@ spec:
+         securityContext:
+           runAsUser: 0
+         resources:
++
+ {{- if .Values.daemonset.resources }}
+ {{ toYaml .Values.daemonset.resources | indent 10 }}
+ {{- else if .Values.resources }}
+@@ -85,6 +103,10 @@ spec:
+           readOnly: true
+         - name: dockersock
+           mountPath: /var/run/docker.sock
++#Mount the script so we can see it from running containter
++        - mountPath: /usr/share/metricbeat/setup-script.sh
++          name: setupscript
++          subPath: setup-script.sh
+ {{- if .Values.extraVolumeMounts }}
+ {{ toYaml .Values.extraVolumeMounts | indent 8 }}
+ {{- end }}
+@@ -108,6 +130,10 @@ spec:
+       - name: dockersock
+         hostPath:
+           path: /var/run/docker.sock
++      - name: setupscript
++        configMap:
++          name: {{ template "metricbeat.fullname" . }}
++          defaultMode: 0755
+ {{- if .Values.extraVolumes }}
+ {{ toYaml .Values.extraVolumes | indent 6 }}
+ {{- end }}
+diff --git a/stable/metricbeat/values.yaml b/stable/metricbeat/values.yaml
+index 5094639..2908a1b 100644
+--- a/stable/metricbeat/values.yaml
++++ b/stable/metricbeat/values.yaml
+@@ -1,6 +1,6 @@
+ image:
+-  repository: docker.elastic.co/beats/metricbeat
+-  tag: 6.7.0
++  repository: docker.elastic.co/beats/metricbeat-oss
++  tag: 7.2.0
+   pullPolicy: IfNotPresent
+ # The instances created by daemonset retrieve most metrics from the host
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0004-ipv6-helm-chart-changes.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0004-ipv6-helm-chart-changes.patch
new file mode 100644 (file)
index 0000000..d555dfe
--- /dev/null
@@ -0,0 +1,267 @@
+From 33fc3cb13670c8e76e7a93455865c81b9f13b0e0 Mon Sep 17 00:00:00 2001
+From: Kevin Smith <kevin.smith@windriver.com>
+Date: Tue, 3 Sep 2019 10:43:50 -0400
+Subject: [PATCH 1/1] ipv6 helm chart changes
+
+---
+ .../elasticsearch/templates/client-deployment.yaml |  2 +-
+ .../elasticsearch/templates/data-statefulset.yaml  |  2 +-
+ .../templates/master-statefulset.yaml              |  2 +-
+ stable/filebeat/templates/configmap.yaml           | 47 +++++++++++++++++-----
+ stable/filebeat/templates/daemonset.yaml           | 21 ++++++++++
+ stable/metricbeat/templates/configmap.yaml         | 47 +++++++++++++++++-----
+ stable/metricbeat/templates/daemonset.yaml         | 21 ++++++++++
+ 7 files changed, 119 insertions(+), 23 deletions(-)
+
+diff --git a/stable/elasticsearch/templates/client-deployment.yaml b/stable/elasticsearch/templates/client-deployment.yaml
+index 047e3c8..5625ee0 100644
+--- a/stable/elasticsearch/templates/client-deployment.yaml
++++ b/stable/elasticsearch/templates/client-deployment.yaml
+@@ -102,7 +102,7 @@ spec:
+             resourceFieldRef:
+               resource: limits.cpu
+         - name: ES_JAVA_OPTS
+-          value: "-Djava.net.preferIPv4Stack=true -Xms{{ .Values.client.heapSize }} -Xmx{{ .Values.client.heapSize }} {{ .Values.cluster.additionalJavaOpts }} {{ .Values.client.additionalJavaOpts }}"
++          value: "-Djava.net.preferIPv6Addresses=true -Xms{{ .Values.client.heapSize }} -Xmx{{ .Values.client.heapSize }} {{ .Values.cluster.additionalJavaOpts }} {{ .Values.client.additionalJavaOpts }}"
+         {{- range $key, $value :=  .Values.cluster.env }}
+         - name: {{ $key }}
+           value: {{ $value | quote }}
+diff --git a/stable/elasticsearch/templates/data-statefulset.yaml b/stable/elasticsearch/templates/data-statefulset.yaml
+index a407803..44b6be1 100644
+--- a/stable/elasticsearch/templates/data-statefulset.yaml
++++ b/stable/elasticsearch/templates/data-statefulset.yaml
+@@ -120,7 +120,7 @@ spec:
+             resourceFieldRef:
+               resource: limits.cpu
+         - name: ES_JAVA_OPTS
+-          value: "-Djava.net.preferIPv4Stack=true -Xms{{ .Values.data.heapSize }} -Xmx{{ .Values.data.heapSize }} {{ .Values.cluster.additionalJavaOpts }} {{ .Values.data.additionalJavaOpts }}"
++          value: "-Djava.net.preferIPv6Addresses=true -Xms{{ .Values.data.heapSize }} -Xmx{{ .Values.data.heapSize }} {{ .Values.cluster.additionalJavaOpts }} {{ .Values.data.additionalJavaOpts }}"
+         {{- range $key, $value :=  .Values.cluster.env }}
+         - name: {{ $key }}
+           value: {{ $value | quote }}
+diff --git a/stable/elasticsearch/templates/master-statefulset.yaml b/stable/elasticsearch/templates/master-statefulset.yaml
+index 048535c..7c48fe3 100644
+--- a/stable/elasticsearch/templates/master-statefulset.yaml
++++ b/stable/elasticsearch/templates/master-statefulset.yaml
+@@ -124,7 +124,7 @@ spec:
+             resourceFieldRef:
+               resource: limits.cpu
+         - name: ES_JAVA_OPTS
+-          value: "-Djava.net.preferIPv4Stack=true -Xms{{ .Values.master.heapSize }} -Xmx{{ .Values.master.heapSize }} {{ .Values.cluster.additionalJavaOpts }} {{ .Values.master.additionalJavaOpts }}"
++          value: "-Djava.net.preferIPv6Addresses=true -Xms{{ .Values.master.heapSize }} -Xmx{{ .Values.master.heapSize }} {{ .Values.cluster.additionalJavaOpts }} {{ .Values.master.additionalJavaOpts }}"
+         {{- range $key, $value :=  .Values.cluster.env }}
+         - name: {{ $key }}
+           value: {{ $value | quote }}
+diff --git a/stable/filebeat/templates/configmap.yaml b/stable/filebeat/templates/configmap.yaml
+index c895965..9433176 100644
+--- a/stable/filebeat/templates/configmap.yaml
++++ b/stable/filebeat/templates/configmap.yaml
+@@ -10,8 +10,41 @@ metadata:
+ data:
+   setup-script.sh: |-
+     #!/bin/bash
++    #
++    # This is best effort to load the template into elasticsearch
++    # if beats are going to elasticsearch via logstash.
++    #
+     BEAT='filebeat'
+     BEAT_VER=$($BEAT version | awk '{print $3}')
++
++    ADDR=$OUTPUT_ELASTICSEARCH_HOSTS
++    echo $ADDR
++
++    # Check if this is a map of entries.  If so, we'll only export the template
++    # to the first address
++    if [[ ${ADDR:0:1} == [ ]]; then
++       # Remove the square brackets
++       ADDR=${ADDR:1:-1}
++       # Take the first entry in case there are more than one
++       ADDR=${ADDR%%,*}
++    fi
++    echo $ADDR
++
++    # Check if user has formatted with http:// on front, if not we need to add
++    HTTP='http://'
++    if [[ ${ADDR} == http* ]]; then
++       HTTP=''
++    fi
++    echo $HTTP
++
++    # Check for ip address containing special characters where -g must be used in curl command
++    # IPV6 Addresses should come in with square braces around the address.
++    CURL_G=''
++    if [[ ${ADDR} == *[* ]]; then
++       CURL_G=' -g  '
++    fi
++    echo $CURL_G
++
+     # check if logstash output is enabled, via crude parsing of the .yml file.
+     sed -e '/output.logstash/,/enabled:/!d' ${BEAT}.yml  | grep -i true
+     if [[ $? -eq 0 ]]; then
+@@ -20,15 +53,9 @@ data:
+        # remove the lifecycle section of the yaml, as elasticsearch will choke
+        # on it as oss version does not support ilm.
+        sed -i '/lifecycle/,+3d' /tmp/beat.template.json
+-       curl -XPUT -H "Content-Type: application/json" http://{$STX_ELASTICSEARCH_CLIENT_SERVICE_HOST}:{$STX_ELASTICSEARCH_CLIENT_SERVICE_PORT_HTTP}/_template/{$BEAT}-{$BEAT_VER} -d@/tmp/beat.template.json
+-       # prime the index as a write index
+-       curl -XPUT -H "Content-Type: application/json" -d   "{
+-          \"aliases\": {
+-             \"{BEAT}-{$BEAT_VER}\": {
+-                \"is_write_index\": \"true\"
+-             }
+-          }
+-       }" http://{$STX_ELASTICSEARCH_CLIENT_SERVICE_HOST}:{$STX_ELASTICSEARCH_CLIENT_SERVICE_PORT_HTTP}/{$BEAT}-{$BEAT_VER}-000001
++       curl -v $CURL_G -XPUT -H "Content-Type: application/json" $HTTP$ADDR/_template/$BEAT-$BEAT_VER -d@/tmp/beat.template.json
+     else
+-        echo "logstash not configured, not exporting template, should be done for us."
++       echo "logstash not configured, not exporting template, should be done for us."
+     fi
++    # Above is non-fatal if there is a problem.  Always pass.
++    exit 0
+diff --git a/stable/filebeat/templates/daemonset.yaml b/stable/filebeat/templates/daemonset.yaml
+index 00a5519..b8536fb 100644
+--- a/stable/filebeat/templates/daemonset.yaml
++++ b/stable/filebeat/templates/daemonset.yaml
+@@ -53,6 +53,17 @@ spec:
+           mountPath: /usr/share/filebeat/filebeat.yml
+           readOnly: true
+           subPath: filebeat.yml
++        env:
++      ## make output.elasticsearch parms visible
++      {{- range $key, $value := .Values.config}}
++      {{- $configname := $key | upper | replace "." "_" -}}
++      {{ if eq $configname "OUTPUT_ELASTICSEARCH" -}}
++      {{- range $key2, $value2 := $value}}
++        - name: "{{ $configname }}_{{ $key2 | upper }}"
++          value: {{ $value2 | quote }}
++      {{- end }}
++      {{- end }}
++      {{- end }}
+ {{- if .Values.indexTemplateLoad }}
+       - name: "load-es-template"
+         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+@@ -95,6 +106,16 @@ spec:
+           valueFrom:
+             fieldRef:
+               fieldPath: spec.nodeName
++      ## make output.elasticsearch parms visible
++      {{- range $key, $value := .Values.config}}
++      {{- $configname := $key | upper | replace "." "_" -}}
++      {{ if eq $configname "OUTPUT_ELASTICSEARCH" -}}
++      {{- range $key2, $value2 := $value}}
++        - name: "{{ $configname }}_{{ $key2 | upper }}"
++          value: {{ $value2 | quote }}
++      {{- end }}
++      {{- end }}
++      {{- end }}
+ {{- if .Values.extraVars }}
+ {{ toYaml .Values.extraVars | indent 8 }}
+ {{- end }}
+diff --git a/stable/metricbeat/templates/configmap.yaml b/stable/metricbeat/templates/configmap.yaml
+index 21890b4..f990f0c 100644
+--- a/stable/metricbeat/templates/configmap.yaml
++++ b/stable/metricbeat/templates/configmap.yaml
+@@ -10,8 +10,41 @@ metadata:
+ data:
+   setup-script.sh: |-
+     #!/bin/bash
++    #
++    # This is best effort to load the template into elasticsearch
++    # if beats are going to elasticsearch via logstash.
++    #
+     BEAT='metricbeat'
+     BEAT_VER=$($BEAT version | awk '{print $3}')
++
++    ADDR=$OUTPUT_ELASTICSEARCH_HOSTS
++    echo $ADDR
++
++    # Check if this is a map of entries.  If so, we'll only export the template
++    # to the first address
++    if [[ ${ADDR:0:1} == [ ]]; then
++       # Remove the square brackets
++       ADDR=${ADDR:1:-1}
++       # Take the first entry in case there are more than one
++       ADDR=${ADDR%%,*}
++    fi
++    echo $ADDR
++
++    # Check if user has formatted with http:// on front, if not we need to add
++    HTTP='http://'
++    if [[ ${ADDR} == http* ]]; then
++       HTTP=''
++    fi
++    echo $HTTP
++
++    # Check for ip address containing special characters where -g must be used in curl command
++    # IPV6 Addresses should come in with square braces around the address.
++    CURL_G=''
++    if [[ ${ADDR} == *[* ]]; then
++       CURL_G=' -g  '
++    fi
++    echo $CURL_G
++
+     # check if logstash output is enabled, via crude parsing of the .yml file.
+     sed -e '/output.logstash/,/enabled:/!d' ${BEAT}.yml  | grep -i true
+     if [[ $? -eq 0 ]]; then
+@@ -20,15 +53,9 @@ data:
+        # remove the lifecycle section of the yaml, as elasticsearch will choke
+        # on it as oss version does not support ilm.
+        sed -i '/lifecycle/,+3d' /tmp/beat.template.json
+-       curl -XPUT -H "Content-Type: application/json" http://{$STX_ELASTICSEARCH_CLIENT_SERVICE_HOST}:{$STX_ELASTICSEARCH_CLIENT_SERVICE_PORT_HTTP}/_template/{$BEAT}-{$BEAT_VER} -d@/tmp/beat.template.json
+-       # prime the index as a write index
+-       curl -XPUT -H "Content-Type: application/json" -d   "{
+-          \"aliases\": {
+-             \"{BEAT}-{$BEAT_VER}\": {
+-                \"is_write_index\": \"true\"
+-             }
+-          }
+-       }" http://{$STX_ELASTICSEARCH_CLIENT_SERVICE_HOST}:{$STX_ELASTICSEARCH_CLIENT_SERVICE_PORT_HTTP}/{$BEAT}-{$BEAT_VER}-000001
++       curl -v $CURL_G -XPUT -H "Content-Type: application/json" $HTTP$ADDR/_template/$BEAT-$BEAT_VER -d@/tmp/beat.template.json
+     else
+-        echo "logstash not configured, not exporting template, should be done for us."
++       echo "logstash not configured, not exporting template, should be done for us."
+     fi
++    # Above is non-fatal if there is a problem.  Always pass.
++    exit 0
+diff --git a/stable/metricbeat/templates/daemonset.yaml b/stable/metricbeat/templates/daemonset.yaml
+index e3d7437..1ae3a34 100644
+--- a/stable/metricbeat/templates/daemonset.yaml
++++ b/stable/metricbeat/templates/daemonset.yaml
+@@ -49,6 +49,17 @@ spec:
+           readOnly: true
+           subPath: metricbeat.yml
+         env:
++      ## make output.elasticsearch parms visible
++      {{- range $key, $value := .Values.daemonset.config}}
++      {{- $configname := $key | upper | replace "." "_" -}}
++      {{ if eq $configname "OUTPUT_ELASTICSEARCH" -}}
++      {{- range $key2, $value2 := $value}}
++        - name: "{{ $configname }}_{{ $key2 | upper }}"
++          value: {{ $value2 | quote }}
++      {{- end }}
++      {{- end }}
++      {{- end }}
++
+       containers:
+       - name: {{ .Chart.Name }}
+         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+@@ -73,6 +84,16 @@ spec:
+           valueFrom:
+             fieldRef:
+               fieldPath: spec.nodeName
++      ## make output.elasticsearch parms visible
++      {{- range $key, $value := .Values.daemonset.config}}
++      {{- $configname := $key | upper | replace "." "_" -}}
++      {{ if eq $configname "OUTPUT_ELASTICSEARCH" -}}
++      {{- range $key2, $value2 := $value}}
++        - name: "{{ $configname }}_{{ $key2 | upper }}"
++          value: {{ $value2 | quote }}
++      {{- end }}
++      {{- end }}
++      {{- end }}
+ {{- if .Values.extraEnv }}
+ {{ toYaml .Values.extraEnv | indent 8 }}
+ {{- end }}
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0005-decouple-config.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0005-decouple-config.patch
new file mode 100644 (file)
index 0000000..718e0f7
--- /dev/null
@@ -0,0 +1,97 @@
+From ac9bce2e01870d8623dc7910cd68079d56f917ca Mon Sep 17 00:00:00 2001
+From: Kevin Smith <kevin.smith@windriver.com>
+Date: Wed, 11 Sep 2019 18:07:50 -0400
+Subject: [PATCH 1/1] decouple config
+
+---
+ stable/elasticsearch/templates/configmap.yaml | 8 ++++++++
+ stable/elasticsearch/values.yaml              | 1 +
+ stable/filebeat/templates/configmap.yaml      | 2 +-
+ stable/metricbeat/templates/configmap.yaml    | 2 +-
+ stable/metricbeat/values.yaml                 | 6 ++++--
+ 5 files changed, 15 insertions(+), 4 deletions(-)
+
+diff --git a/stable/elasticsearch/templates/configmap.yaml b/stable/elasticsearch/templates/configmap.yaml
+index 977ee9a..6bc2065 100644
+--- a/stable/elasticsearch/templates/configmap.yaml
++++ b/stable/elasticsearch/templates/configmap.yaml
+@@ -87,6 +87,14 @@ data:
+     gateway.recover_after_time: ${RECOVER_AFTER_TIME:5m}
+     gateway.recover_after_master_nodes: ${RECOVER_AFTER_MASTER_NODES:2}
+     gateway.recover_after_data_nodes: ${RECOVER_AFTER_DATA_NODES:1}
++
++{{- if .Values.cluster.auto_config_initial_masters }}
++    cluster.initial_master_nodes:
++    {{- range $i := until (.Values.master.replicas|int) }}
++    - {{template "elasticsearch.master.fullname" $ }}-{{ $i }}
++    {{- end }}
++{{- end }}
++
+ {{- with .Values.cluster.config }}
+ {{ toYaml . | indent 4 }}
+ {{- end }}
+diff --git a/stable/elasticsearch/values.yaml b/stable/elasticsearch/values.yaml
+index 6dcd9b0..37321dc 100644
+--- a/stable/elasticsearch/values.yaml
++++ b/stable/elasticsearch/values.yaml
+@@ -70,6 +70,7 @@ cluster:
+   plugins: []
+     # - ingest-attachment
+     # - mapper-size
++  auto_config_initial_masters: true
+ client:
+   name: client
+diff --git a/stable/filebeat/templates/configmap.yaml b/stable/filebeat/templates/configmap.yaml
+index 9433176..8377e5a 100644
+--- a/stable/filebeat/templates/configmap.yaml
++++ b/stable/filebeat/templates/configmap.yaml
+@@ -22,7 +22,7 @@ data:
+     # Check if this is a map of entries.  If so, we'll only export the template
+     # to the first address
+-    if [[ ${ADDR:0:1} == [ ]]; then
++    if [ ${ADDR: 0:1} == [ ] && [ ${ADDR: -1} == ] ]; then
+        # Remove the square brackets
+        ADDR=${ADDR:1:-1}
+        # Take the first entry in case there are more than one
+diff --git a/stable/metricbeat/templates/configmap.yaml b/stable/metricbeat/templates/configmap.yaml
+index f990f0c..4249e7f 100644
+--- a/stable/metricbeat/templates/configmap.yaml
++++ b/stable/metricbeat/templates/configmap.yaml
+@@ -22,7 +22,7 @@ data:
+     # Check if this is a map of entries.  If so, we'll only export the template
+     # to the first address
+-    if [[ ${ADDR:0:1} == [ ]]; then
++    if [ ${ADDR: 0:1} == [ ] && [ ${ADDR: -1} == ] ]; then
+        # Remove the square brackets
+        ADDR=${ADDR:1:-1}
+        # Take the first entry in case there are more than one
+diff --git a/stable/metricbeat/values.yaml b/stable/metricbeat/values.yaml
+index 2908a1b..c8f758c 100644
+--- a/stable/metricbeat/values.yaml
++++ b/stable/metricbeat/values.yaml
+@@ -113,7 +113,7 @@ deployment:
+             # Uncomment this to get k8s events:
+             # - event
+           period: 10s
+-          hosts: ["kube-state-metrics:8080"]
++          hosts: ["${KUBE_STATE_METRICS_HOST}:8080"]
+   # If overrideModules is not empty, metricbeat chart's default modules won't be used at all.
+   overrideModules: {}
+@@ -122,7 +122,9 @@ plugins: []
+   # - kinesis.so
+ # additional environment
+-# extraEnv:
++extraEnv:
++  - name: KUBE_STATE_METRICS_HOST
++    value: "mon-kube-state-metrics"
+ #  - name: test1
+ #    value: "test1"
+ #  - name: test2
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0006-add-system-info.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0006-add-system-info.patch
new file mode 100644 (file)
index 0000000..9b8abbb
--- /dev/null
@@ -0,0 +1,317 @@
+From 4f42518e2e15a65e340e15029c50b53b20e119e9 Mon Sep 17 00:00:00 2001
+From: Kevin Smith <kevin.smith@windriver.com>
+Date: Sat, 14 Sep 2019 12:10:44 -0400
+Subject: [PATCH 1/1] add system info
+
+---
+ stable/filebeat/templates/configmap.yaml    | 22 ++++++++++++++---
+ stable/filebeat/templates/daemonset.yaml    | 36 ++++++++++++++++++++++++++++
+ stable/filebeat/values.yaml                 |  4 ++++
+ stable/logstash/templates/statefulset.yaml  | 10 ++++++++
+ stable/logstash/values.yaml                 |  3 +++
+ stable/metricbeat/templates/configmap.yaml  | 22 ++++++++++++++---
+ stable/metricbeat/templates/daemonset.yaml  | 37 ++++++++++++++++++++++++++++-
+ stable/metricbeat/templates/deployment.yaml | 18 ++++++++++++++
+ stable/metricbeat/values.yaml               |  4 ++++
+ 9 files changed, 149 insertions(+), 7 deletions(-)
+
+diff --git a/stable/filebeat/templates/configmap.yaml b/stable/filebeat/templates/configmap.yaml
+index 8377e5a..c08a4bc 100644
+--- a/stable/filebeat/templates/configmap.yaml
++++ b/stable/filebeat/templates/configmap.yaml
+@@ -18,7 +18,9 @@ data:
+     BEAT_VER=$($BEAT version | awk '{print $3}')
+     ADDR=$OUTPUT_ELASTICSEARCH_HOSTS
+-    echo $ADDR
++    ESPATH=$OUTPUT_ELASTICSEARCH_PATH
++
++    echo $ADDR$ESPATH
+     # Check if this is a map of entries.  If so, we'll only export the template
+     # to the first address
+@@ -28,7 +30,7 @@ data:
+        # Take the first entry in case there are more than one
+        ADDR=${ADDR%%,*}
+     fi
+-    echo $ADDR
++    echo $ADDR$ESPATH
+     # Check if user has formatted with http:// on front, if not we need to add
+     HTTP='http://'
+@@ -53,7 +55,21 @@ data:
+        # remove the lifecycle section of the yaml, as elasticsearch will choke
+        # on it as oss version does not support ilm.
+        sed -i '/lifecycle/,+3d' /tmp/beat.template.json
+-       curl -v $CURL_G -XPUT -H "Content-Type: application/json" $HTTP$ADDR/_template/$BEAT-$BEAT_VER -d@/tmp/beat.template.json
++
++       # "unset" is the special system name when none has been set through
++       # overrides..  We key on that to know what template name and index pattern to set
++       if [[ $SYSTEM_NAME_FOR_INDEX != unset ]]; then
++          # replace the standard index pattern with one including our system name,
++          # which will match our created indices
++          sed -i "s/$BEAT-$BEAT_VER/$BEAT-$BEAT_VER$SYSTEM_NAME_FOR_INDEX/g" /tmp/beat.template.json
++          # give the template a name with the system name appended.
++          curl -v $CURL_G -XPUT -H "Content-Type: application/json" $HTTP$ADDR$ESPATH/_template/$BEAT-$BEAT_VER$SYSTEM_NAME_FOR_INDEX -d@/tmp/beat.template.json
++       else
++          # apply a higher order to this template in case there are templates with system names
++          # which should be applied first
++          sed -i "s/\"order\": 1/\"order\": 2/g" /tmp/beat.template.json
++          curl -v $CURL_G -XPUT -H "Content-Type: application/json" $HTTP$ADDR$ESPATH/_template/$BEAT-$BEAT_VER -d@/tmp/beat.template.json
++       fi
+     else
+        echo "logstash not configured, not exporting template, should be done for us."
+     fi
+diff --git a/stable/filebeat/templates/daemonset.yaml b/stable/filebeat/templates/daemonset.yaml
+index b8536fb..b1833a9 100644
+--- a/stable/filebeat/templates/daemonset.yaml
++++ b/stable/filebeat/templates/daemonset.yaml
+@@ -64,6 +64,24 @@ spec:
+       {{- end }}
+       {{- end }}
+       {{- end }}
++      ## make system name and index parms visible
++      {{- if .Values.systemNameForIndex}}
++      {{  $systemNameNoSpecial := regexReplaceAll "[^A-Za-z0-9-]+" .Values.systemNameForIndex "" }}
++      {{  $systemNameFormatted := $systemNameNoSpecial | lower | trunc 200 }}
++        - name: SYSTEM_NAME_FOR_INDEX
++          value: {{ printf "-%s" $systemNameFormatted | quote }}
++        - name: INDEX_PATTERN
++          value: "{{ .Values.indexNamePrefix }}-{{$systemNameFormatted}}-*"
++        - name: INDEX_NAME
++          value: "{{ .Values.indexNamePrefix }}-{{$systemNameFormatted}}"
++      {{- else }}
++        - name: SYSTEM_NAME_FOR_INDEX
++          value: "unset"
++        - name: INDEX_PATTERN
++          value: "{{ .Values.indexNamePrefix }}-*"
++        - name: INDEX_NAME
++          value: "{{ .Values.indexNamePrefix }}"
++      {{- end }}
+ {{- if .Values.indexTemplateLoad }}
+       - name: "load-es-template"
+         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+@@ -116,6 +134,24 @@ spec:
+       {{- end }}
+       {{- end }}
+       {{- end }}
++      ## make system name and index parms visible
++      {{- if .Values.systemNameForIndex}}
++      {{  $systemNameNoSpecial := regexReplaceAll "[^A-Za-z0-9-]+" .Values.systemNameForIndex "" }}
++      {{  $systemNameFormatted := $systemNameNoSpecial | lower | trunc 200 }}
++        - name: SYSTEM_NAME_FOR_INDEX
++          value: {{ printf "-%s" $systemNameFormatted | quote }}
++        - name: INDEX_PATTERN
++          value: "{{ .Values.indexNamePrefix }}-{{$systemNameFormatted}}-*"
++        - name: INDEX_NAME
++          value: "{{ .Values.indexNamePrefix }}-{{$systemNameFormatted}}"
++      {{- else }}
++        - name: SYSTEM_NAME_FOR_INDEX
++          value: "unset"
++        - name: INDEX_PATTERN
++          value: "{{ .Values.indexNamePrefix }}-*"
++        - name: INDEX_NAME
++          value: "{{ .Values.indexNamePrefix }}"
++      {{- end }}
+ {{- if .Values.extraVars }}
+ {{ toYaml .Values.extraVars | indent 8 }}
+ {{- end }}
+diff --git a/stable/filebeat/values.yaml b/stable/filebeat/values.yaml
+index b4b766f..3897c82 100644
+--- a/stable/filebeat/values.yaml
++++ b/stable/filebeat/values.yaml
+@@ -68,6 +68,10 @@ extraVars: []
+   #       name: configmap
+   #       key: config.key
++# Will be used in index name
++systemNameForIndex: ""
++indexNamePrefix: filebeat-%{[agent.version]}
++
+ # Add additional volumes and mounts, for example to read other log files on the host
+ extraVolumes: []
+   # - hostPath:
+diff --git a/stable/logstash/templates/statefulset.yaml b/stable/logstash/templates/statefulset.yaml
+index cca0050..070ef56 100644
+--- a/stable/logstash/templates/statefulset.yaml
++++ b/stable/logstash/templates/statefulset.yaml
+@@ -71,6 +71,16 @@ spec:
+               value: {{ .Values.elasticsearch.host | quote }}
+             - name: ELASTICSEARCH_PORT
+               value: {{ .Values.elasticsearch.port | quote }}
++            ## make system name visible for in setting index.
++          {{- if .Values.systemNameForIndex}}
++          {{  $systemNameNoSpecial := regexReplaceAll "[^A-Za-z0-9-]+" .Values.systemNameForIndex "" }}
++          {{  $systemNameFormatted := $systemNameNoSpecial | lower | trunc 200 }}
++            - name: SYSTEM_NAME_FOR_INDEX
++              value: {{ printf "-%s" $systemNameFormatted | quote }}
++          {{- else }}
++            - name: SYSTEM_NAME_FOR_INDEX
++              value: ""
++          {{- end }}
+             ## Additional env vars
+           {{- range $key, $value := .Values.config }}
+             - name: {{ $key | upper | replace "." "_" }}
+diff --git a/stable/logstash/values.yaml b/stable/logstash/values.yaml
+index 9a452b1..9ba80c9 100644
+--- a/stable/logstash/values.yaml
++++ b/stable/logstash/values.yaml
+@@ -220,6 +220,9 @@ patterns:
+   # main: |-
+   #   TESTING {"foo":.*}$
++# Will be used in index names
++systemNameForIndex: ""
++
+ ## Custom files that can be referenced by plugins.
+ ## Each YAML heredoc will become located in the logstash home directory under
+ ## the files subdirectory.
+diff --git a/stable/metricbeat/templates/configmap.yaml b/stable/metricbeat/templates/configmap.yaml
+index 4249e7f..9ae276d 100644
+--- a/stable/metricbeat/templates/configmap.yaml
++++ b/stable/metricbeat/templates/configmap.yaml
+@@ -18,7 +18,9 @@ data:
+     BEAT_VER=$($BEAT version | awk '{print $3}')
+     ADDR=$OUTPUT_ELASTICSEARCH_HOSTS
+-    echo $ADDR
++    ESPATH=$OUTPUT_ELASTICSEARCH_PATH
++
++    echo $ADDR$ESPATH
+     # Check if this is a map of entries.  If so, we'll only export the template
+     # to the first address
+@@ -28,7 +30,7 @@ data:
+        # Take the first entry in case there are more than one
+        ADDR=${ADDR%%,*}
+     fi
+-    echo $ADDR
++    echo $ADDR$ESPATH
+     # Check if user has formatted with http:// on front, if not we need to add
+     HTTP='http://'
+@@ -53,7 +55,21 @@ data:
+        # remove the lifecycle section of the yaml, as elasticsearch will choke
+        # on it as oss version does not support ilm.
+        sed -i '/lifecycle/,+3d' /tmp/beat.template.json
+-       curl -v $CURL_G -XPUT -H "Content-Type: application/json" $HTTP$ADDR/_template/$BEAT-$BEAT_VER -d@/tmp/beat.template.json
++
++       # "unset" is the special system name when none has been set through
++       # overrides..  We key on that to know what template name and index pattern to set
++       if [[ $SYSTEM_NAME_FOR_INDEX != unset ]]; then
++          # replace the standard index pattern with one including our system name,
++          # which will match our created indices
++          sed -i "s/$BEAT-$BEAT_VER/$BEAT-$BEAT_VER$SYSTEM_NAME_FOR_INDEX/g" /tmp/beat.template.json
++          # give the template a name with the system name appended.
++          curl -v $CURL_G -XPUT -H "Content-Type: application/json" $HTTP$ADDR$ESPATH/_template/$BEAT-$BEAT_VER$SYSTEM_NAME_FOR_INDEX -d@/tmp/beat.template.json
++       else
++          # apply a higher order to this template in case there are templates with system names
++          # which should be applied first
++          sed -i "s/\"order\": 1/\"order\": 2/g" /tmp/beat.template.json
++          curl -v $CURL_G -XPUT -H "Content-Type: application/json" $HTTP$ADDR$ESPATH/_template/$BEAT-$BEAT_VER -d@/tmp/beat.template.json
++       fi
+     else
+        echo "logstash not configured, not exporting template, should be done for us."
+     fi
+diff --git a/stable/metricbeat/templates/daemonset.yaml b/stable/metricbeat/templates/daemonset.yaml
+index 1ae3a34..947e501 100644
+--- a/stable/metricbeat/templates/daemonset.yaml
++++ b/stable/metricbeat/templates/daemonset.yaml
+@@ -59,7 +59,24 @@ spec:
+       {{- end }}
+       {{- end }}
+       {{- end }}
+-
++      ## make system name and index parms visible
++      {{- if .Values.systemNameForIndex}}
++      {{  $systemNameNoSpecial := regexReplaceAll "[^A-Za-z0-9-]+" .Values.systemNameForIndex "" }}
++      {{  $systemNameFormatted := $systemNameNoSpecial | lower | trunc 200 }}
++        - name: SYSTEM_NAME_FOR_INDEX
++          value: {{ printf "-%s" $systemNameFormatted | quote }}
++        - name: INDEX_PATTERN
++          value: "{{ .Values.indexNamePrefix }}-{{$systemNameFormatted}}-*"
++        - name: INDEX_NAME
++          value: "{{ .Values.indexNamePrefix }}-{{$systemNameFormatted}}"
++      {{- else }}
++        - name: SYSTEM_NAME_FOR_INDEX
++          value: "unset"
++        - name: INDEX_PATTERN
++          value: "{{ .Values.indexNamePrefix }}-*"
++        - name: INDEX_NAME
++          value: "{{ .Values.indexNamePrefix }}"
++      {{- end }}
+       containers:
+       - name: {{ .Chart.Name }}
+         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+@@ -94,6 +111,24 @@ spec:
+       {{- end }}
+       {{- end }}
+       {{- end }}
++      ## make system name and index parms visible
++      {{- if .Values.systemNameForIndex}}
++      {{  $systemNameNoSpecial := regexReplaceAll "[^A-Za-z0-9-]+" .Values.systemNameForIndex "" }}
++      {{  $systemNameFormatted := $systemNameNoSpecial | lower | trunc 200 }}
++        - name: SYSTEM_NAME_FOR_INDEX
++          value: {{ printf "-%s" $systemNameFormatted | quote }}
++        - name: INDEX_PATTERN
++          value: "{{ .Values.indexNamePrefix }}-{{$systemNameFormatted}}-*"
++        - name: INDEX_NAME
++          value: "{{ .Values.indexNamePrefix }}-{{$systemNameFormatted}}"
++      {{- else }}
++        - name: SYSTEM_NAME_FOR_INDEX
++          value: "unset"
++        - name: INDEX_PATTERN
++          value: "{{ .Values.indexNamePrefix }}-*"
++        - name: INDEX_NAME
++          value: "{{ .Values.indexNamePrefix }}"
++      {{- end }}
+ {{- if .Values.extraEnv }}
+ {{ toYaml .Values.extraEnv | indent 8 }}
+ {{- end }}
+diff --git a/stable/metricbeat/templates/deployment.yaml b/stable/metricbeat/templates/deployment.yaml
+index 47ada04..d1d08e3 100644
+--- a/stable/metricbeat/templates/deployment.yaml
++++ b/stable/metricbeat/templates/deployment.yaml
+@@ -55,6 +55,24 @@ spec:
+           valueFrom:
+             fieldRef:
+               fieldPath: spec.nodeName
++      ## make system name and index parms visible
++      {{- if .Values.systemNameForIndex}}
++      {{  $systemNameNoSpecial := regexReplaceAll "[^A-Za-z0-9-]+" .Values.systemNameForIndex "" }}
++      {{  $systemNameFormatted := $systemNameNoSpecial | lower | trunc 200 }}
++        - name: SYSTEM_NAME_FOR_INDEX
++          value: {{ printf "-%s" $systemNameFormatted | quote }}
++        - name: INDEX_PATTERN
++          value: "{{ .Values.indexNamePrefix }}-{{$systemNameFormatted}}-*"
++        - name: INDEX_NAME
++          value: "{{ .Values.indexNamePrefix }}-{{$systemNameFormatted}}"
++      {{- else }}
++        - name: SYSTEM_NAME_FOR_INDEX
++          value: "unset"
++        - name: INDEX_PATTERN
++          value: "{{ .Values.indexNamePrefix }}-*"
++        - name: INDEX_NAME
++          value: "{{ .Values.indexNamePrefix }}"
++      {{- end }}
+ {{- if .Values.extraEnv }}
+ {{ toYaml .Values.extraEnv | indent 8 }}
+ {{- end }}
+diff --git a/stable/metricbeat/values.yaml b/stable/metricbeat/values.yaml
+index c8f758c..b59c428 100644
+--- a/stable/metricbeat/values.yaml
++++ b/stable/metricbeat/values.yaml
+@@ -130,6 +130,10 @@ extraEnv:
+ #  - name: test2
+ #    value: "test2"
++# Will be used in index name
++systemNameForIndex: ""
++indexNamePrefix: metricbeat-%{[agent.version]}
++
+ # Add additional volumes and mounts, for example to read other log files on the host
+ extraVolumes: []
+   # - hostPath:
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0007-three-masters.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0007-three-masters.patch
new file mode 100644 (file)
index 0000000..7714545
--- /dev/null
@@ -0,0 +1,40 @@
+From 876e674e26400dcbbee5ee52b6cd7c9b430063f7 Mon Sep 17 00:00:00 2001
+From: Kevin Smith <kevin.smith@windriver.com>
+Date: Mon, 23 Sep 2019 13:29:06 -0400
+Subject: [PATCH 1/1] three masters
+
+---
+ stable/elasticsearch/templates/data-statefulset.yaml | 2 +-
+ stable/elasticsearch/values.yaml                     | 3 +++
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/stable/elasticsearch/templates/data-statefulset.yaml b/stable/elasticsearch/templates/data-statefulset.yaml
+index 44b6be1..69b54cd 100644
+--- a/stable/elasticsearch/templates/data-statefulset.yaml
++++ b/stable/elasticsearch/templates/data-statefulset.yaml
+@@ -114,7 +114,7 @@ spec:
+         - name: DISCOVERY_SERVICE
+           value: {{ template "elasticsearch.fullname" . }}-discovery
+         - name: NODE_MASTER
+-          value: "false"
++          value: {{ .Values.data.combinedDataAndMaster | quote }}
+         - name: PROCESSORS
+           valueFrom:
+             resourceFieldRef:
+diff --git a/stable/elasticsearch/values.yaml b/stable/elasticsearch/values.yaml
+index 37321dc..a4b65b7 100644
+--- a/stable/elasticsearch/values.yaml
++++ b/stable/elasticsearch/values.yaml
+@@ -222,6 +222,9 @@ data:
+     drain:  # drain the node before stopping it and re-integrate it into the cluster after start
+       enabled: true
++  # If below is true, data nodes will also be master capable
++  combinedDataAndMaster: false
++
+ ## Sysctl init container to setup vm.max_map_count
+ # see https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html
+ # and https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration-memory.html#mlockall
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0008-Update-stx-monitor-for-kubernetes-API-1.16.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0008-Update-stx-monitor-for-kubernetes-API-1.16.patch
new file mode 100644 (file)
index 0000000..4795ba4
--- /dev/null
@@ -0,0 +1,316 @@
+From f82b9b85ac03f59fd1ce9b7eb0a9ed2afac47995 Mon Sep 17 00:00:00 2001
+From: John Kung <john.kung@windriver.com>
+Date: Sun, 6 Oct 2019 12:50:45 -0400
+Subject: [PATCH 1/1] 0008-Update-stx-monitor-for-kubernetes-API-1.16
+
+---
+ stable/elasticsearch/templates/client-deployment.yaml          | 6 +++++-
+ stable/elasticsearch/templates/client-ingress.yaml             | 2 +-
+ stable/elasticsearch/templates/data-statefulset.yaml           | 7 ++++++-
+ stable/elasticsearch/templates/master-statefulset.yaml         | 7 ++++++-
+ stable/elasticsearch/templates/podsecuritypolicy.yaml          | 2 +-
+ stable/filebeat/templates/daemonset.yaml                       | 2 +-
+ stable/filebeat/templates/podsecuritypolicy.yaml               | 2 +-
+ stable/kibana/templates/deployment.yaml                        | 6 +++++-
+ stable/kibana/templates/ingress.yaml                           | 2 +-
+ stable/kube-state-metrics/templates/deployment.yaml            | 5 ++++-
+ stable/kube-state-metrics/templates/podsecuritypolicy.yaml     | 2 +-
+ stable/logstash/templates/ingress.yaml                         | 2 +-
+ stable/logstash/templates/statefulset.yaml                     | 2 +-
+ stable/metricbeat/templates/podsecuritypolicy.yaml             | 2 +-
+ stable/nginx-ingress/templates/controller-daemonset.yaml       | 6 +++++-
+ stable/nginx-ingress/templates/controller-deployment.yaml      | 6 +++++-
+ stable/nginx-ingress/templates/default-backend-deployment.yaml | 6 +++++-
+ stable/nginx-ingress/templates/podsecuritypolicy.yaml          | 2 +-
+ 18 files changed, 51 insertions(+), 18 deletions(-)
+
+diff --git a/stable/elasticsearch/templates/client-deployment.yaml b/stable/elasticsearch/templates/client-deployment.yaml
+index 5625ee0..8bd1b15 100644
+--- a/stable/elasticsearch/templates/client-deployment.yaml
++++ b/stable/elasticsearch/templates/client-deployment.yaml
+@@ -1,4 +1,4 @@
+-apiVersion: apps/v1beta1
++apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+@@ -9,6 +9,10 @@ metadata:
+     release: {{ .Release.Name }}
+   name: {{ template "elasticsearch.client.fullname" . }}
+ spec:
++  selector:
++    matchLabels:
++      app: {{ template "elasticsearch.name" . }}
++      release: {{ .Release.Name }}
+   replicas: {{ .Values.client.replicas }}
+   template:
+     metadata:
+diff --git a/stable/elasticsearch/templates/client-ingress.yaml b/stable/elasticsearch/templates/client-ingress.yaml
+index 9070cdd..8eb4b9a 100644
+--- a/stable/elasticsearch/templates/client-ingress.yaml
++++ b/stable/elasticsearch/templates/client-ingress.yaml
+@@ -1,7 +1,7 @@
+ {{- if .Values.client.ingress.enabled -}}
+ {{- $fullName := include "elasticsearch.client.fullname" . -}}
+ {{- $ingressPath := .Values.client.ingress.path -}}
+-apiVersion: extensions/v1beta1
++apiVersion: networking.k8s.io/v1beta1
+ kind: Ingress
+ metadata:
+   name: {{ $fullName }}
+diff --git a/stable/elasticsearch/templates/data-statefulset.yaml b/stable/elasticsearch/templates/data-statefulset.yaml
+index 69b54cd..ccf7ad2 100644
+--- a/stable/elasticsearch/templates/data-statefulset.yaml
++++ b/stable/elasticsearch/templates/data-statefulset.yaml
+@@ -1,4 +1,4 @@
+-apiVersion: apps/v1beta1
++apiVersion: apps/v1
+ kind: StatefulSet
+ metadata:
+   labels:
+@@ -11,6 +11,11 @@ metadata:
+ spec:
+   serviceName: {{ template "elasticsearch.data.fullname" . }}
+   replicas: {{ .Values.data.replicas }}
++  selector:
++    matchLabels:
++      app: {{ template "elasticsearch.name" . }}
++      component: "{{ .Values.data.name }}"
++      release: {{ .Release.Name }}
+   template:
+     metadata:
+       labels:
+diff --git a/stable/elasticsearch/templates/master-statefulset.yaml b/stable/elasticsearch/templates/master-statefulset.yaml
+index 7c48fe3..aa7014d 100644
+--- a/stable/elasticsearch/templates/master-statefulset.yaml
++++ b/stable/elasticsearch/templates/master-statefulset.yaml
+@@ -1,4 +1,4 @@
+-apiVersion: apps/v1beta1
++apiVersion: apps/v1
+ kind: StatefulSet
+ metadata:
+   labels:
+@@ -11,6 +11,11 @@ metadata:
+ spec:
+   serviceName: {{ template "elasticsearch.master.fullname" . }}
+   replicas: {{ .Values.master.replicas }}
++  selector:
++    matchLabels:
++      app: {{ template "elasticsearch.name" . }}
++      component: "{{ .Values.master.name }}"
++      release: {{ .Release.Name }}
+   template:
+     metadata:
+       labels:
+diff --git a/stable/elasticsearch/templates/podsecuritypolicy.yaml b/stable/elasticsearch/templates/podsecuritypolicy.yaml
+index ee38e35..fd5f663 100644
+--- a/stable/elasticsearch/templates/podsecuritypolicy.yaml
++++ b/stable/elasticsearch/templates/podsecuritypolicy.yaml
+@@ -1,5 +1,5 @@
+ {{- if .Values.podSecurityPolicy.enabled }}
+-apiVersion: extensions/v1beta1
++apiVersion: policy/v1beta1
+ kind: PodSecurityPolicy
+ metadata:
+   name: {{ template "elasticsearch.fullname" . }}
+diff --git a/stable/filebeat/templates/daemonset.yaml b/stable/filebeat/templates/daemonset.yaml
+index b1833a9..22b46df 100644
+--- a/stable/filebeat/templates/daemonset.yaml
++++ b/stable/filebeat/templates/daemonset.yaml
+@@ -1,4 +1,4 @@
+-apiVersion: apps/v1beta2
++apiVersion: apps/v1
+ kind: DaemonSet
+ metadata:
+   name: {{ template "filebeat.fullname" . }}
+diff --git a/stable/filebeat/templates/podsecuritypolicy.yaml b/stable/filebeat/templates/podsecuritypolicy.yaml
+index 3a11b38..25a0f06 100644
+--- a/stable/filebeat/templates/podsecuritypolicy.yaml
++++ b/stable/filebeat/templates/podsecuritypolicy.yaml
+@@ -1,6 +1,6 @@
+ {{- if .Values.rbac.create -}}
+ {{- if .Values.podSecurityPolicy.enabled }}
+-apiVersion: extensions/v1beta1
++apiVersion: policy/v1beta1
+ kind: PodSecurityPolicy
+ metadata:
+   name: {{ template "filebeat.fullname" . }}
+diff --git a/stable/kibana/templates/deployment.yaml b/stable/kibana/templates/deployment.yaml
+index 33fc6f0..c5229ae 100644
+--- a/stable/kibana/templates/deployment.yaml
++++ b/stable/kibana/templates/deployment.yaml
+@@ -1,4 +1,4 @@
+-apiVersion: apps/v1beta1
++apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+@@ -13,6 +13,10 @@ metadata:
+ {{- end }}
+ spec:
+   replicas: {{ .Values.replicaCount }}
++  selector:
++    matchLabels:
++      app: {{ template "kibana.name" . }}
++      release: {{ .Release.Name }}
+   revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
+   template:
+     metadata:
+diff --git a/stable/kibana/templates/ingress.yaml b/stable/kibana/templates/ingress.yaml
+index de14ae9..9d97e26 100644
+--- a/stable/kibana/templates/ingress.yaml
++++ b/stable/kibana/templates/ingress.yaml
+@@ -1,7 +1,7 @@
+ {{- if .Values.ingress.enabled -}}
+ {{- $serviceName := include "kibana.fullname" . -}}
+ {{- $servicePort := .Values.service.externalPort -}}
+-apiVersion: extensions/v1beta1
++apiVersion: networking.k8s.io/v1beta1
+ kind: Ingress
+ metadata:
+   labels:
+diff --git a/stable/kube-state-metrics/templates/deployment.yaml b/stable/kube-state-metrics/templates/deployment.yaml
+index b251758..ce02f8e 100644
+--- a/stable/kube-state-metrics/templates/deployment.yaml
++++ b/stable/kube-state-metrics/templates/deployment.yaml
+@@ -1,4 +1,4 @@
+-apiVersion: extensions/v1beta1
++apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   name: {{ template "kube-state-metrics.fullname" . }}
+@@ -8,6 +8,9 @@ metadata:
+     release: "{{ .Release.Name }}"
+     heritage: "{{ .Release.Service }}"
+ spec:
++  selector:
++    matchLabels:
++      app: {{ template "kube-state-metrics.name" . }}
+   replicas: {{ .Values.replicas }}
+   template:
+     metadata:
+diff --git a/stable/kube-state-metrics/templates/podsecuritypolicy.yaml b/stable/kube-state-metrics/templates/podsecuritypolicy.yaml
+index d195a5f..4ca46ac 100644
+--- a/stable/kube-state-metrics/templates/podsecuritypolicy.yaml
++++ b/stable/kube-state-metrics/templates/podsecuritypolicy.yaml
+@@ -1,5 +1,5 @@
+ {{- if .Values.podSecurityPolicy.enabled }}
+-apiVersion: extensions/v1beta1
++apiVersion: policy/v1beta1
+ kind: PodSecurityPolicy
+ metadata:
+   name: {{ template "kube-state-metrics.fullname" . }}
+diff --git a/stable/logstash/templates/ingress.yaml b/stable/logstash/templates/ingress.yaml
+index 0e26f89..d107a32 100644
+--- a/stable/logstash/templates/ingress.yaml
++++ b/stable/logstash/templates/ingress.yaml
+@@ -1,7 +1,7 @@
+ {{- if .Values.ingress.enabled -}}
+ {{- $fullName := include "logstash.fullname" . -}}
+ {{- $ingressPath := .Values.ingress.path -}}
+-apiVersion: extensions/v1beta1
++apiVersion: networking.k8s.io/v1beta1
+ kind: Ingress
+ metadata:
+   name: {{ $fullName }}
+diff --git a/stable/logstash/templates/statefulset.yaml b/stable/logstash/templates/statefulset.yaml
+index 070ef56..1a1a3ef 100644
+--- a/stable/logstash/templates/statefulset.yaml
++++ b/stable/logstash/templates/statefulset.yaml
+@@ -1,4 +1,4 @@
+-apiVersion: apps/v1beta2
++apiVersion: apps/v1
+ kind: StatefulSet
+ metadata:
+   name: {{ template "logstash.fullname" . }}
+diff --git a/stable/metricbeat/templates/podsecuritypolicy.yaml b/stable/metricbeat/templates/podsecuritypolicy.yaml
+index 29fb2a9..90231e2 100644
+--- a/stable/metricbeat/templates/podsecuritypolicy.yaml
++++ b/stable/metricbeat/templates/podsecuritypolicy.yaml
+@@ -1,5 +1,5 @@
+ {{- if .Values.rbac.pspEnabled }}
+-apiVersion: extensions/v1beta1
++apiVersion: policy/v1beta1
+ kind: PodSecurityPolicy
+ metadata:
+   name: {{ template "metricbeat.fullname" . }}
+diff --git a/stable/nginx-ingress/templates/controller-daemonset.yaml b/stable/nginx-ingress/templates/controller-daemonset.yaml
+index a05062e..c6e8271 100644
+--- a/stable/nginx-ingress/templates/controller-daemonset.yaml
++++ b/stable/nginx-ingress/templates/controller-daemonset.yaml
+@@ -1,5 +1,5 @@
+ {{- if eq .Values.controller.kind "DaemonSet" }}
+-apiVersion: extensions/v1beta1
++apiVersion: apps/v1
+ kind: DaemonSet
+ metadata:
+   labels:
+@@ -10,6 +10,10 @@ metadata:
+     release: {{ .Release.Name }}
+   name: {{ template "nginx-ingress.controller.fullname" . }}
+ spec:
++  selector:
++    matchLabels:
++      app: {{ template "nginx-ingress.name" . }}
++      release: {{ .Release.Name }}
+   revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
+   updateStrategy:
+ {{ toYaml .Values.controller.updateStrategy | indent 4 }}
+diff --git a/stable/nginx-ingress/templates/controller-deployment.yaml b/stable/nginx-ingress/templates/controller-deployment.yaml
+index 7d78507..f653c8a 100644
+--- a/stable/nginx-ingress/templates/controller-deployment.yaml
++++ b/stable/nginx-ingress/templates/controller-deployment.yaml
+@@ -1,5 +1,5 @@
+ {{- if eq .Values.controller.kind "Deployment" }}
+-apiVersion: extensions/v1beta1
++apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+@@ -10,6 +10,10 @@ metadata:
+     release: {{ .Release.Name }}
+   name: {{ template "nginx-ingress.controller.fullname" . }}
+ spec:
++  selector:
++    matchLabels:
++      app: {{ template "nginx-ingress.name" . }}
++      release: {{ .Release.Name }}
+   replicas: {{ .Values.controller.replicaCount }}
+   revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
+   strategy:
+diff --git a/stable/nginx-ingress/templates/default-backend-deployment.yaml b/stable/nginx-ingress/templates/default-backend-deployment.yaml
+index 93ea613..399b798 100644
+--- a/stable/nginx-ingress/templates/default-backend-deployment.yaml
++++ b/stable/nginx-ingress/templates/default-backend-deployment.yaml
+@@ -1,5 +1,5 @@
+ {{- if .Values.defaultBackend.enabled }}
+-apiVersion: extensions/v1beta1
++apiVersion: apps/v1
+ kind: Deployment
+ metadata:
+   labels:
+@@ -10,6 +10,10 @@ metadata:
+     release: {{ .Release.Name }}
+   name: {{ template "nginx-ingress.defaultBackend.fullname" . }}
+ spec:
++  selector:
++     matchLabels:
++       app: {{ template "nginx-ingress.name" . }}
++       release: {{ .Release.Name }}
+   replicas: {{ .Values.defaultBackend.replicaCount }}
+   revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
+   template:
+diff --git a/stable/nginx-ingress/templates/podsecuritypolicy.yaml b/stable/nginx-ingress/templates/podsecuritypolicy.yaml
+index 9222daf..b99aee8 100644
+--- a/stable/nginx-ingress/templates/podsecuritypolicy.yaml
++++ b/stable/nginx-ingress/templates/podsecuritypolicy.yaml
+@@ -1,5 +1,5 @@
+ {{- if .Values.podSecurityPolicy.enabled}}
+-apiVersion: extensions/v1beta1
++apiVersion: policy/v1beta1
+ kind: PodSecurityPolicy
+ metadata:
+   name: {{ template "nginx-ingress.fullname" . }} 
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0009-add-curator-as-of-2019-10-10.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0009-add-curator-as-of-2019-10-10.patch
new file mode 100644 (file)
index 0000000..ab57f97
--- /dev/null
@@ -0,0 +1,397 @@
+From 21cd4d9720064f89843551e7da4c1e0528b6cbf5 Mon Sep 17 00:00:00 2001
+From: Kevin Smith <kevin.smith@windriver.com>
+Date: Thu, 10 Oct 2019 15:43:20 -0400
+Subject: [PATCH 1/1] add curator as of 2019-10-10
+
+---
+ stable/elasticsearch-curator/Chart.yaml            |  6 +--
+ stable/elasticsearch-curator/OWNERS                |  6 +--
+ stable/elasticsearch-curator/README.md             | 34 ++++++++++---
+ .../ci/initcontainer-values.yaml                   |  9 ++++
+ .../elasticsearch-curator/templates/_helpers.tpl   | 22 +++++++++
+ .../elasticsearch-curator/templates/cronjob.yaml   | 10 ++++
+ stable/elasticsearch-curator/templates/psp.yml     | 35 +++++++++++++
+ stable/elasticsearch-curator/templates/role.yaml   | 23 +++++++++
+ .../templates/rolebinding.yaml                     | 21 ++++++++
+ .../templates/serviceaccount.yaml                  | 12 +++++
+ stable/elasticsearch-curator/values.yaml           | 57 ++++++++++++++++++++--
+ 11 files changed, 218 insertions(+), 17 deletions(-)
+ create mode 100644 stable/elasticsearch-curator/ci/initcontainer-values.yaml
+ create mode 100644 stable/elasticsearch-curator/templates/psp.yml
+ create mode 100644 stable/elasticsearch-curator/templates/role.yaml
+ create mode 100644 stable/elasticsearch-curator/templates/rolebinding.yaml
+ create mode 100644 stable/elasticsearch-curator/templates/serviceaccount.yaml
+
+diff --git a/stable/elasticsearch-curator/Chart.yaml b/stable/elasticsearch-curator/Chart.yaml
+index 24a37ce..7a8e0a7 100644
+--- a/stable/elasticsearch-curator/Chart.yaml
++++ b/stable/elasticsearch-curator/Chart.yaml
+@@ -2,7 +2,7 @@ apiVersion: v1
+ appVersion: "5.5.4"
+ description: A Helm chart for Elasticsearch Curator
+ name: elasticsearch-curator
+-version: 1.3.2
++version: 2.0.2
+ home: https://github.com/elastic/curator
+ keywords:
+ - curator
+@@ -12,7 +12,7 @@ sources:
+ - https://github.com/kubernetes/charts/elasticsearch-curator
+ - https://github.com/pires/docker-elasticsearch-curator
+ maintainers:
+-  - name: tmestdagh
+-    email: mestdagh.tom@gmail.com
++  - name: desaintmartin
++    email: cedric.dsm@gmail.com
+   - name: gianrubio
+     email: gianrubio@gmail.com
+diff --git a/stable/elasticsearch-curator/OWNERS b/stable/elasticsearch-curator/OWNERS
+index d8c0ba0..89df1c0 100644
+--- a/stable/elasticsearch-curator/OWNERS
++++ b/stable/elasticsearch-curator/OWNERS
+@@ -1,6 +1,6 @@
+ approvers:
+-  - tmestdagh
++  - desaintmartin
+   - gianrubio
+ reviewers:
+-  - tmestdagh
+-  - gianrubio
+\ No newline at end of file
++  - desaintmartin
++  - gianrubio
+diff --git a/stable/elasticsearch-curator/README.md b/stable/elasticsearch-curator/README.md
+index 0a9f311..2057b85 100644
+--- a/stable/elasticsearch-curator/README.md
++++ b/stable/elasticsearch-curator/README.md
+@@ -23,6 +23,17 @@ To install the chart, use the following:
+ $ helm install stable/elasticsearch-curator
+ ```
++## Upgrading an existing Release to a new major version
++
++A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an
++incompatible breaking change needing manual actions.
++
++### To 2.0.0
++
++v2.0.0 uses docker image from `elasticsearch-curator` author, which differs in its way to install curator.
++
++If you have a hardcoded `command` value, please update it to follow the new `curator` executable path: `/curator/curator` (which is not in PATH).
++
+ ## Configuration
+ The following table lists the configurable parameters of the docker-registry chart and
+@@ -31,8 +42,8 @@ their default values.
+ |          Parameter                   |                         Description                         |                   Default                    |
+ | :----------------------------------- | :---------------------------------------------------------- | :------------------------------------------- |
+ | `image.pullPolicy`                   | Container pull policy                                       | `IfNotPresent`                               |
+-| `image.repository`                   | Container image to use                                      | `quay.io/pires/docker-elasticsearch-curator` |
+-| `image.tag`                          | Container image tag to deploy                               | `5.5.4`                                      |
++| `image.repository`                   | Container image to use                                      | `untergeek/curator`                          |
++| `image.tag`                          | Container image tag to deploy                               | `5.7.6`                                      |
+ | `hooks`                              | Whether to run job on selected hooks                        | `{ "install": false, "upgrade": false }`     |
+ | `cronjob.schedule`                   | Schedule for the CronJob                                    | `0 1 * * *`                                  |
+ | `cronjob.annotations`                | Annotations to add to the cronjob                           | {}                                           |
+@@ -43,15 +54,22 @@ their default values.
+ | `dryrun`                             | Run Curator in dry-run mode                                 | `false`                                      |
+ | `env`                                | Environment variables to add to the cronjob container       | {}                                           |
+ | `envFromSecrets`                     | Environment variables from secrets to the cronjob container | {}                                           |
+-| `envFromSecrets.*.from.secret`       | - `secretKeyRef.name` used for environment variable         |                                              |              
+-| `envFromSecrets.*.from.key`          | - `secretKeyRef.key` used for environment variable          |                                              |              
+-| `command`                            | Command to execute                                          | ["curator"]                                  |
+-| `configMaps.action_file_yml`         | Contents of the Curator action_file.yml                     | See values.yaml                              |
+-| `configMaps.config_yml`              | Contents of the Curator config.yml (overrides config)       | See values.yaml                              |
++| `envFromSecrets.*.from.secret`       | - `secretKeyRef.name` used for environment variable         |                                              |
++| `envFromSecrets.*.from.key`          | - `secretKeyRef.key` used for environment variable          |                                              |
++| `command`                            | Command to execute                                          | ["/curator/curator"]                         |
++| `configMaps.action_file_yml`           | Contents of the Curator action_file.yml                      | See values.yaml                              |
++| `configMaps.config_yml`                | Contents of the Curator config.yml (overrides config)         | See values.yaml                              |
+ | `resources`                          | Resource requests and limits                                | {}                                           |
+ | `priorityClassName`                  | priorityClassName                                           | `nil`                                        |
+ | `extraVolumeMounts`                  | Mount extra volume(s),                                      |                                              |
+ | `extraVolumes`                       | Extra volumes                                               |                                              |
+-| `securityContext`                    | Configure PodSecurityContext                          |
++| `extraInitContainers`                | Init containers to add to the cronjob container             | {}                                           |
++| `securityContext`                    | Configure PodSecurityContext                                 | `false`                                      |
++| `rbac.enabled`                       | Enable RBAC resources                                       | `false`                                      |
++| `psp.create`                         | Create pod security policy resources                        | `false`                                      |
++| `serviceAccount.create`              | Create a default serviceaccount for elasticsearch curator   | `true`                                       |
++| `serviceAccount.name`                | Name for elasticsearch curator serviceaccount               | `""`                                         |
++
++
+ Specify each parameter using the `--set key=value[,key=value]` argument to
+ `helm install`.
+diff --git a/stable/elasticsearch-curator/ci/initcontainer-values.yaml b/stable/elasticsearch-curator/ci/initcontainer-values.yaml
+new file mode 100644
+index 0000000..578becf
+--- /dev/null
++++ b/stable/elasticsearch-curator/ci/initcontainer-values.yaml
+@@ -0,0 +1,9 @@
++extraInitContainers:
++  test:
++    image: alpine:latest
++    command:
++    - "/bin/sh"
++    - "-c"
++    args:
++    - |
++      true
+diff --git a/stable/elasticsearch-curator/templates/_helpers.tpl b/stable/elasticsearch-curator/templates/_helpers.tpl
+index c786fb5..8018c5d 100644
+--- a/stable/elasticsearch-curator/templates/_helpers.tpl
++++ b/stable/elasticsearch-curator/templates/_helpers.tpl
+@@ -12,6 +12,17 @@ Return the appropriate apiVersion for cronjob APIs.
+ {{- end -}}
+ {{/*
++Return the appropriate apiVersion for podsecuritypolicy.
++*/}}
++{{- define "podsecuritypolicy.apiVersion" -}}
++{{- if semverCompare "<1.10-0" .Capabilities.KubeVersion.GitVersion -}}
++{{- print "extensions/v1beta1" -}}
++{{- else -}}
++{{- print "policy/v1beta1" -}}
++{{- end -}}
++{{- end -}}
++
++{{/*
+ Expand the name of the chart.
+ */}}
+ {{- define "elasticsearch-curator.name" -}}
+@@ -42,3 +53,14 @@ Create chart name and version as used by the chart label.
+ {{- define "elasticsearch-curator.chart" -}}
+ {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+ {{- end -}}
++
++{{/*
++Create the name of the service account to use
++*/}}
++{{- define "elasticsearch-curator.serviceAccountName" -}}
++{{- if .Values.serviceAccount.create -}}
++    {{ default (include "elasticsearch-curator.fullname" .) .Values.serviceAccount.name }}
++{{- else -}}
++    {{ default "default" .Values.serviceAccount.name }}
++{{- end -}}
++{{- end -}}
+diff --git a/stable/elasticsearch-curator/templates/cronjob.yaml b/stable/elasticsearch-curator/templates/cronjob.yaml
+index d0388f4..37274f6 100644
+--- a/stable/elasticsearch-curator/templates/cronjob.yaml
++++ b/stable/elasticsearch-curator/templates/cronjob.yaml
+@@ -53,6 +53,16 @@ spec:
+           imagePullSecrets:
+             - name: {{ .Values.image.pullSecret }}
+ {{- end }}
++{{- if .Values.extraInitContainers }}
++          initContainers:
++{{- range $key, $value := .Values.extraInitContainers }}
++          - name: "{{ $key }}"
++{{ toYaml $value | indent 12 }}
++{{- end }}
++{{- end }}
++        {{- if .Values.rbac.enabled }}
++          serviceAccountName: {{ template "elasticsearch-curator.serviceAccountName" .}}
++        {{- end }}
+           containers:
+             - name: {{ .Chart.Name }}
+               image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+diff --git a/stable/elasticsearch-curator/templates/psp.yml b/stable/elasticsearch-curator/templates/psp.yml
+new file mode 100644
+index 0000000..5f62985
+--- /dev/null
++++ b/stable/elasticsearch-curator/templates/psp.yml
+@@ -0,0 +1,35 @@
++{{- if .Values.psp.create }}
++apiVersion: {{ template "podsecuritypolicy.apiVersion" . }}
++kind: PodSecurityPolicy
++metadata:
++  labels:
++    app: {{ template "elasticsearch-curator.name" . }}
++    chart: {{ template "elasticsearch-curator.chart" . }}
++    release: {{ .Release.Name }}
++    heritage: {{ .Release.Service }}
++  name: {{ template "elasticsearch-curator.fullname" . }}-psp
++spec:
++  privileged: true
++  #requiredDropCapabilities:
++  volumes:
++    - 'configMap'
++    - 'secret'
++  hostNetwork: false
++  hostIPC: false
++  hostPID: false
++  runAsUser:
++    rule: 'RunAsAny'
++  seLinux:
++    rule: 'RunAsAny'
++  supplementalGroups:
++    rule: 'MustRunAs'
++    ranges:
++      - min: 1
++        max: 65535
++  fsGroup:
++    rule: 'MustRunAs'
++    ranges:
++      - min: 1
++        max: 65535
++  readOnlyRootFilesystem: false
++{{- end }}
+diff --git a/stable/elasticsearch-curator/templates/role.yaml b/stable/elasticsearch-curator/templates/role.yaml
+new file mode 100644
+index 0000000..8867f67
+--- /dev/null
++++ b/stable/elasticsearch-curator/templates/role.yaml
+@@ -0,0 +1,23 @@
++{{- if .Values.rbac.enabled  }}
++kind: Role
++apiVersion: rbac.authorization.k8s.io/v1
++metadata:
++  labels:
++    app: {{ template "elasticsearch-curator.name" . }}
++    chart: {{ template "elasticsearch-curator.chart" . }}
++    heritage: {{ .Release.Service }}
++    release: {{ .Release.Name }}
++    component: elasticsearch-curator-configmap
++  name: {{ template "elasticsearch-curator.name" . }}-role
++rules:
++- apiGroups: [""]
++  resources: ["configmaps"]
++  verbs: ["update", "patch"]
++{{- if .Values.psp.create }}
++- apiGroups: ["extensions"]
++  resources: ["podsecuritypolicies"]
++  verbs: ["use"]
++  resourceNames:
++  - {{ template "elasticsearch-curator.fullname" . }}-psp
++{{- end -}}
++{{- end -}}
+diff --git a/stable/elasticsearch-curator/templates/rolebinding.yaml b/stable/elasticsearch-curator/templates/rolebinding.yaml
+new file mode 100644
+index 0000000..d25d2e1
+--- /dev/null
++++ b/stable/elasticsearch-curator/templates/rolebinding.yaml
+@@ -0,0 +1,21 @@
++{{- if .Values.rbac.enabled -}}
++kind: RoleBinding
++apiVersion: rbac.authorization.k8s.io/v1
++metadata:
++  labels:
++    app: {{ template "elasticsearch-curator.name" . }}
++    chart: {{ template "elasticsearch-curator.chart" . }}
++    heritage: {{ .Release.Service }}
++    release: {{ .Release.Name }}
++    component: elasticsearch-curator-configmap
++  name: {{ template "elasticsearch-curator.name" . }}-rolebinding
++roleRef:
++  kind: Role
++  name: {{ template "elasticsearch-curator.name" . }}-role
++  apiGroup: rbac.authorization.k8s.io
++subjects:
++  - kind: ServiceAccount
++    name: {{ template "elasticsearch-curator.serviceAccountName" . }}
++    namespace: {{ .Release.Namespace }}
++{{- end -}}
++
+diff --git a/stable/elasticsearch-curator/templates/serviceaccount.yaml b/stable/elasticsearch-curator/templates/serviceaccount.yaml
+new file mode 100644
+index 0000000..ad9c5c9
+--- /dev/null
++++ b/stable/elasticsearch-curator/templates/serviceaccount.yaml
+@@ -0,0 +1,12 @@
++{{- if and .Values.serviceAccount.create .Values.rbac.enabled }}
++apiVersion: v1
++kind: ServiceAccount
++metadata:
++  name: {{ template "elasticsearch-curator.serviceAccountName" .}}
++  labels:
++    app: {{ template "elasticsearch-curator.fullname" . }}
++    chart: {{ template "elasticsearch-curator.chart" . }}
++    release: "{{ .Release.Name }}"
++    heritage: "{{ .Release.Service }}"
++{{- end }}
++
+diff --git a/stable/elasticsearch-curator/values.yaml b/stable/elasticsearch-curator/values.yaml
+index 3779be1..460f2a4 100644
+--- a/stable/elasticsearch-curator/values.yaml
++++ b/stable/elasticsearch-curator/values.yaml
+@@ -13,9 +13,25 @@ cronjob:
+ pod:
+   annotations: {}
++rbac:
++  # Specifies whether RBAC should be enabled
++  enabled: false
++
++serviceAccount:
++  # Specifies whether a ServiceAccount should be created
++  create: true
++  # The name of the ServiceAccount to use.
++  # If not set and create is true, a name is generated using the fullname template
++  name:
++
++
++psp:
++  # Specifies whether a podsecuritypolicy should be created
++  create: false
++
+ image:
+-  repository: quay.io/pires/docker-elasticsearch-curator
+-  tag: 5.5.4
++  repository: untergeek/curator
++  tag: 5.7.6
+   pullPolicy: IfNotPresent
+ hooks:
+@@ -25,7 +41,7 @@ hooks:
+ # run curator in dry-run mode
+ dryrun: false
+-command: ["curator"]
++command: ["/curator/curator"]
+ env: {}
+ configMaps:
+@@ -101,5 +117,40 @@ priorityClassName: ""
+ #     mountPath: /certs
+ #     readOnly: true
++# Add your own init container or uncomment and modify the given example.
++extraInitContainers: {}
++  ## Don't configure S3 repository till Elasticsearch is reachable.
++  ## Ensure that it is available at http://elasticsearch:9200
++  ##
++  # elasticsearch-s3-repository:
++  #   image: jwilder/dockerize:latest
++  #   imagePullPolicy: "IfNotPresent"
++  #   command:
++  #   - "/bin/sh"
++  #   - "-c"
++  #   args:
++  #   - |
++  #     ES_HOST=elasticsearch
++  #     ES_PORT=9200
++  #     ES_REPOSITORY=backup
++  #     S3_REGION=us-east-1
++  #     S3_BUCKET=bucket
++  #     S3_BASE_PATH=backup
++  #     S3_COMPRESS=true
++  #     S3_STORAGE_CLASS=standard
++  #     apk add curl --no-cache && \
++  #     dockerize -wait http://${ES_HOST}:${ES_PORT} --timeout 120s && \
++  #     cat <<EOF | curl -sS -XPUT -H "Content-Type: application/json" -d @- http://${ES_HOST}:${ES_PORT}/_snapshot/${ES_REPOSITORY} \
++  #     {
++  #       "type": "s3",
++  #       "settings": {
++  #         "bucket": "${S3_BUCKET}",
++  #         "base_path": "${S3_BASE_PATH}",
++  #         "region": "${S3_REGION}",
++  #         "compress": "${S3_COMPRESS}",
++  #         "storage_class": "${S3_STORAGE_CLASS}"
++  #       }
++  #     }
++
+ securityContext:
+   runAsUser: 16  # run as cron user instead of root
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0010-Update-kube-state-metrics-1.8.0-to-commit-09daf19.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0010-Update-kube-state-metrics-1.8.0-to-commit-09daf19.patch
new file mode 100644 (file)
index 0000000..9757705
--- /dev/null
@@ -0,0 +1,622 @@
+From 3f950814b953c6806100404f5e43bd16ce86f6fd Mon Sep 17 00:00:00 2001
+From: John Kung <john.kung@windriver.com>
+Date: Fri, 18 Oct 2019 17:01:14 -0400
+Subject: [PATCH 1/1] Update kube-state-metrics 1.8.0, to commit 09daf19
+
+---
+ stable/kube-state-metrics/Chart.yaml               |  7 +-
+ stable/kube-state-metrics/OWNERS                   |  8 ++
+ stable/kube-state-metrics/README.md                | 96 ++++++++++++----------
+ stable/kube-state-metrics/templates/NOTES.txt      |  2 +-
+ .../kube-state-metrics/templates/clusterrole.yaml  | 38 +++++++--
+ .../templates/clusterrolebinding.yaml              |  8 +-
+ .../kube-state-metrics/templates/deployment.yaml   | 52 +++++++++---
+ .../templates/podsecuritypolicy.yaml               | 10 +--
+ .../templates/psp-clusterrole.yaml                 |  8 +-
+ .../templates/psp-clusterrolebinding.yaml          |  8 +-
+ stable/kube-state-metrics/templates/service.yaml   | 22 +++--
+ .../templates/serviceaccount.yaml                  | 10 +--
+ .../templates/servicemonitor.yaml                  | 24 ++++++
+ stable/kube-state-metrics/values.yaml              | 24 +++++-
+ 14 files changed, 220 insertions(+), 97 deletions(-)
+ create mode 100644 stable/kube-state-metrics/OWNERS
+ create mode 100644 stable/kube-state-metrics/templates/servicemonitor.yaml
+
+diff --git a/stable/kube-state-metrics/Chart.yaml b/stable/kube-state-metrics/Chart.yaml
+index 2f0f39d..283e1ac 100644
+--- a/stable/kube-state-metrics/Chart.yaml
++++ b/stable/kube-state-metrics/Chart.yaml
+@@ -5,11 +5,14 @@ keywords:
+ - metric
+ - monitoring
+ - prometheus
+-version: 0.16.0
+-appVersion: 1.5.0
++- kubernetes
++version: 2.4.1
++appVersion: 1.8.0
+ home: https://github.com/kubernetes/kube-state-metrics/
+ sources:
+ - https://github.com/kubernetes/kube-state-metrics/
+ maintainers:
+ - name: fiunchinho
+   email: jose@armesto.net
++- name: tariq1890
++  email: tariq.ibrahim@mulesoft.com
+diff --git a/stable/kube-state-metrics/OWNERS b/stable/kube-state-metrics/OWNERS
+new file mode 100644
+index 0000000..6ffd97d
+--- /dev/null
++++ b/stable/kube-state-metrics/OWNERS
+@@ -0,0 +1,8 @@
++approvers:
++- fiunchinho
++- tariq1890
++- mrueg
++reviewers:
++- fiunchinho
++- tariq1890
++- mrueg
+diff --git a/stable/kube-state-metrics/README.md b/stable/kube-state-metrics/README.md
+index 94ad049..6c7f364 100644
+--- a/stable/kube-state-metrics/README.md
++++ b/stable/kube-state-metrics/README.md
+@@ -12,45 +12,57 @@ $ helm install stable/kube-state-metrics
+ ## Configuration
+-| Parameter                             | Description                                             | Default                                     |
+-|---------------------------------------|---------------------------------------------------------|---------------------------------------------|
+-| `image.repository`                    | The image repository to pull from                       | k8s.gcr.io/kube-state-metrics               |
+-| `image.tag`                           | The image tag to pull from                              | `v1.5.0`                                    |
+-| `image.pullPolicy`                    | Image pull policy                                       | IfNotPresent                                |
+-| `replicas`                            | Number of replicas                                      | 1                                           |
+-| `service.port`                        | The port of the container                               | 8080                                        |
+-| `prometheusScrape`                    | Whether or not enable prom scrape                       | true                                        |
+-| `rbac.create`                         | If true, create & use RBAC resources                    | true                                        |
+-| `serviceAccount.create`               | If true, and rbac true, create & use serviceAccount     | true                                        |
+-| `serviceAccount.name`                 | If not set & create is true, use template fullname      |                                             |
+-| `serviceAccount.imagePullSecrets`     | Specify image pull secrets field                        | `[]`                                        |
+-| `podSecurityPolicy.enabled`           | If true, create & use PodSecurityPolicy resources       | false                                       |
+-| `podSecurityPolicy.annotations`       | Specify pod annotations in the pod security policy      | {}                                          |
+-| `securityContext.enabled`             | Enable security context                                 | `true`                                      |
+-| `securityContext.fsGroup`             | Group ID for the container                              | `65534`                                     |
+-| `securityContext.runAsUser`           | User ID for the container                               | `65534`                                     |
+-| `priorityClassName`                   | Name of Priority Class to assign pods                   | `nil`                                       |
+-| `nodeSelector`                        | Node labels for pod assignment                          | {}                                          |
+-| `tolerations`                         | Tolerations for pod assignment                            | []                                          |
+-| `podAnnotations`                      | Annotations to be added to the pod                      | {}                                          |
+-| `resources`                           | kube-state-metrics resource requests and limits         | {}                                          |
+-| `collectors.configmaps`               | Enable the configmaps collector.                        | true                                        |
+-| `collectors.cronjobs`                 | Enable the cronjobs collector.                          | true                                        |
+-| `collectors.daemonsets`               | Enable the daemonsets collector.                        | true                                        |
+-| `collectors.deployments`              | Enable the deployments collector.                       | true                                        |
+-| `collectors.endpoints`                | Enable the endpoints collector.                         | true                                        |
+-| `collectors.horizontalpodautoscalers` | Enable the horizontalpodautoscalers collector.          | true                                        |
+-| `collectors.jobs`                     | Enable the jobs collector.                              | true                                        |
+-| `collectors.limitranges`              | Enable the limitranges collector.                       | true                                        |
+-| `collectors.namespaces`               | Enable the namespaces collector.                        | true                                        |
+-| `collectors.nodes`                    | Enable the nodes collector.                             | true                                        |
+-| `collectors.persistentvolumeclaims`   | Enable the persistentvolumeclaims collector.            | true                                        |
+-| `collectors.persistentvolumes`        | Enable the persistentvolumes collector.                 | true                                        |
+-| `collectors.poddisruptionbudgets`     | Enable the poddisruptionbudgets collector.              | true                                        |
+-| `collectors.pods`                     | Enable the pods collector.                              | true                                        |
+-| `collectors.replicasets`              | Enable the replicasets collector.                       | true                                        |
+-| `collectors.replicationcontrollers`   | Enable the replicationcontrollers collector.            | true                                        |
+-| `collectors.resourcequotas`           | Enable the resourcequotas collector.                    | true                                        |
+-| `collectors.secrets`                  | Enable the secrets collector.                           | true                                        |
+-| `collectors.services`                 | Enable the services collector.                          | true                                        |
+-| `collectors.statefulsets`             | Enable the statefulsets collector.                      | true                                        |
++| Parameter                               | Description                                                                           | Default                                    |
++|:----------------------------------------|:--------------------------------------------------------------------------------------|:-------------------------------------------|
++| `image.repository`                      | The image repository to pull from                                                     | quay.io/coreos/kube-state-metrics          |
++| `image.tag`                             | The image tag to pull from                                                            | `v1.8.0`                                   |
++| `image.pullPolicy`                      | Image pull policy                                                                     | `IfNotPresent`                             |
++| `replicas`                              | Number of replicas                                                                    | `1`                                        |
++| `service.port`                          | The port of the container                                                             | `8080`                                     |
++| `service.annotations`                   | Annotations to be added to the service                                                | `{}`
++| `customLabels`                          | Custom labels to apply to service, deployment and pods                                | `{}`                                       |
++| `hostNetwork`                           | Whether or not to use the host network                                                | `false`                                    |
++| `prometheusScrape`                      | Whether or not enable prom scrape                                                     | `true`                                     |
++| `rbac.create`                           | If true, create & use RBAC resources                                                  | `true`                                     |
++| `serviceAccount.create`                 | If true, create & use serviceAccount                                                  | `true`                                     |
++| `serviceAccount.name`                   | If not set & create is true, use template fullname                                    |                                            |
++| `serviceAccount.imagePullSecrets`       | Specify image pull secrets field                                                      | `[]`                                       |
++| `podSecurityPolicy.enabled`             | If true, create & use PodSecurityPolicy resources                                     | `false`                                    |
++| `podSecurityPolicy.annotations`         | Specify pod annotations in the pod security policy                                    | {}                                         |
++| `securityContext.enabled`               | Enable security context                                                               | `true`                                     |
++| `securityContext.fsGroup`               | Group ID for the container                                                            | `65534`                                    |
++| `securityContext.runAsUser`             | User ID for the container                                                             | `65534`                                    |
++| `priorityClassName`                     | Name of Priority Class to assign pods                                                 | `nil`                                      |
++| `nodeSelector`                          | Node labels for pod assignment                                                        | {}                                         |
++| `affinity`                              | Affinity settings for pod assignment                                                  | {}                                         |
++| `tolerations`                           | Tolerations for pod assignment                                                        | []                                         |
++| `podAnnotations`                        | Annotations to be added to the pod                                                    | {}                                         |
++| `resources`                             | kube-state-metrics resource requests and limits                                       | {}                                         |
++| `collectors.certificatesigningrequests` | Enable the certificatesigningrequests collector.                                      | `true`                                     |
++| `collectors.configmaps`                 | Enable the configmaps collector.                                                      | `true`                                     |
++| `collectors.cronjobs`                   | Enable the cronjobs collector.                                                        | `true`                                     |
++| `collectors.daemonsets`                 | Enable the daemonsets collector.                                                      | `true`                                     |
++| `collectors.deployments`                | Enable the deployments collector.                                                     | `true`                                     |
++| `collectors.endpoints`                  | Enable the endpoints collector.                                                       | `true`                                     |
++| `collectors.horizontalpodautoscalers`   | Enable the horizontalpodautoscalers collector.                                        | `true`                                     |
++| `collectors.ingresses`                  | Enable the ingresses collector.                                                       | `true`                                     |
++| `collectors.jobs`                       | Enable the jobs collector.                                                            | `true`                                     |
++| `collectors.limitranges`                | Enable the limitranges collector.                                                     | `true`                                     |
++| `collectors.namespaces`                 | Enable the namespaces collector.                                                      | `true`                                     |
++| `collectors.nodes`                      | Enable the nodes collector.                                                           | `true`                                     |
++| `collectors.persistentvolumeclaims`     | Enable the persistentvolumeclaims collector.                                          | `true`                                     |
++| `collectors.persistentvolumes`          | Enable the persistentvolumes collector.                                               | `true`                                     |
++| `collectors.poddisruptionbudgets`       | Enable the poddisruptionbudgets collector.                                            | `true`                                     |
++| `collectors.pods`                       | Enable the pods collector.                                                            | `true`                                     |
++| `collectors.replicasets`                | Enable the replicasets collector.                                                     | `true`                                     |
++| `collectors.replicationcontrollers`     | Enable the replicationcontrollers collector.                                          | `true`                                     |
++| `collectors.resourcequotas`             | Enable the resourcequotas collector.                                                  | `true`                                     |
++| `collectors.secrets`                    | Enable the secrets collector.                                                         | `true`                                     |
++| `collectors.services`                   | Enable the services collector.                                                        | `true`                                     |
++| `collectors.statefulsets`               | Enable the statefulsets collector.                                                    | `true`                                     |
++| `collectors.storageclasses`             | Enable the storageclasses collector.                                                  | `true`                                     | 
++| `collectors.verticalpodautoscalers`     | Enable the verticalpodautoscalers collector.                                          | `false`                                    | 
++| `prometheus.monitor.enabled`            | Set this to `true` to create ServiceMonitor for Prometheus operator                   | `false`                                    |
++| `prometheus.monitor.additionalLabels`   | Additional labels that can be used so ServiceMonitor will be discovered by Prometheus | `{}`                                       |
++| `prometheus.monitor.namespace`          | Namespace where servicemonitor resource should be created                             | `the same namespace as kube-state-metrics` |
++| `prometheus.monitor.honorLabels`        | Honor metric labels                                                                   | `false`                                    |
+diff --git a/stable/kube-state-metrics/templates/NOTES.txt b/stable/kube-state-metrics/templates/NOTES.txt
+index 8e8d9fe..d804011 100644
+--- a/stable/kube-state-metrics/templates/NOTES.txt
++++ b/stable/kube-state-metrics/templates/NOTES.txt
+@@ -1,6 +1,6 @@
+ kube-state-metrics is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects.
+ The exposed metrics can be found here:
+-https://github.com/kubernetes/kube-state-metrics/tree/master/Documentation#documentation.
++https://github.com/kubernetes/kube-state-metrics/blob/master/docs/README.md#exposed-metrics
+ The metrics are exported on the HTTP endpoint /metrics on the listening port.
+ In your case, {{ template "kube-state-metrics.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.service.port }}/metrics
+diff --git a/stable/kube-state-metrics/templates/clusterrole.yaml b/stable/kube-state-metrics/templates/clusterrole.yaml
+index 803b73b..4f68a1f 100644
+--- a/stable/kube-state-metrics/templates/clusterrole.yaml
++++ b/stable/kube-state-metrics/templates/clusterrole.yaml
+@@ -3,12 +3,18 @@ apiVersion: rbac.authorization.k8s.io/v1beta1
+ kind: ClusterRole
+ metadata:
+   labels:
+-    app: {{ template "kube-state-metrics.name" . }}
+-    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
+-    heritage: {{ .Release.Service }}
+-    release: {{ .Release.Name }}
++    app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
++    helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
++    app.kubernetes.io/managed-by: {{ .Release.Service }}
++    app.kubernetes.io/instance: {{ .Release.Name }}
+   name: {{ template "kube-state-metrics.fullname" . }}
+ rules:
++{{ if .Values.collectors.certificatesigningrequests }}
++- apiGroups: ["certificates.k8s.io"]
++  resources:
++  - certificatesigningrequests
++  verbs: ["list", "watch"]
++{{ end -}}
+ {{ if .Values.collectors.configmaps }}
+ - apiGroups: [""]
+   resources:
+@@ -22,13 +28,13 @@ rules:
+   verbs: ["list", "watch"]
+ {{ end -}}
+ {{ if .Values.collectors.daemonsets }}
+-- apiGroups: ["extensions"]
++- apiGroups: ["extensions", "apps"]
+   resources:
+   - daemonsets
+   verbs: ["list", "watch"]
+ {{ end -}}
+ {{ if .Values.collectors.deployments }}
+-- apiGroups: ["extensions"]
++- apiGroups: ["extensions", "apps"]
+   resources:
+   - deployments
+   verbs: ["list", "watch"]
+@@ -45,6 +51,12 @@ rules:
+   - horizontalpodautoscalers
+   verbs: ["list", "watch"]
+ {{ end -}}
++{{ if .Values.collectors.ingresses }}
++- apiGroups: ["extensions", "networking.k8s.io"]
++  resources:
++  - ingresses
++  verbs: ["list", "watch"]
++{{ end -}}
+ {{ if .Values.collectors.jobs }}
+ - apiGroups: ["batch"]
+   resources:
+@@ -94,7 +106,7 @@ rules:
+   verbs: ["list", "watch"]
+ {{ end -}}
+ {{ if .Values.collectors.replicasets }}
+-- apiGroups: ["extensions"]
++- apiGroups: ["extensions", "apps"]
+   resources:
+   - replicasets
+   verbs: ["list", "watch"]
+@@ -129,4 +141,16 @@ rules:
+   - statefulsets
+   verbs: ["list", "watch"]
+ {{ end -}}
++{{ if .Values.collectors.storageclasses }}
++- apiGroups: ["storage.k8s.io"]
++  resources:
++    - storageclasses
++  verbs: ["list", "watch"]
++{{ end -}}
++{{ if .Values.collectors.verticalpodautoscalers }}
++- apiGroups: ["autoscaling.k8s.io"]
++  resources:
++    - verticalpodautoscalers
++  verbs: ["list", "watch"]
++{{ end -}}
+ {{- end -}}
+diff --git a/stable/kube-state-metrics/templates/clusterrolebinding.yaml b/stable/kube-state-metrics/templates/clusterrolebinding.yaml
+index e57b051..b4586fb 100644
+--- a/stable/kube-state-metrics/templates/clusterrolebinding.yaml
++++ b/stable/kube-state-metrics/templates/clusterrolebinding.yaml
+@@ -3,10 +3,10 @@ apiVersion: rbac.authorization.k8s.io/v1beta1
+ kind: ClusterRoleBinding
+ metadata:
+   labels:
+-    app: {{ template "kube-state-metrics.name" . }}
+-    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
+-    heritage: {{ .Release.Service }}
+-    release: {{ .Release.Name }}
++    app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
++    helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
++    app.kubernetes.io/managed-by: {{ .Release.Service }}
++    app.kubernetes.io/instance: {{ .Release.Name }}
+   name: {{ template "kube-state-metrics.fullname" . }}
+ roleRef:
+   apiGroup: rbac.authorization.k8s.io
+diff --git a/stable/kube-state-metrics/templates/deployment.yaml b/stable/kube-state-metrics/templates/deployment.yaml
+index ce02f8e..492df24 100644
+--- a/stable/kube-state-metrics/templates/deployment.yaml
++++ b/stable/kube-state-metrics/templates/deployment.yaml
+@@ -3,28 +3,33 @@ kind: Deployment
+ metadata:
+   name: {{ template "kube-state-metrics.fullname" . }}
+   labels:
+-    app: {{ template "kube-state-metrics.name" . }}
+-    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+-    release: "{{ .Release.Name }}"
+-    heritage: "{{ .Release.Service }}"
++    app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
++    helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
++    app.kubernetes.io/instance: "{{ .Release.Name }}"
++    app.kubernetes.io/managed-by: "{{ .Release.Service }}"
++{{- if .Values.customLabels }}
++{{ toYaml .Values.customLabels | indent 4 }}
++{{- end }}
+ spec:
+   selector:
+     matchLabels:
+-      app: {{ template "kube-state-metrics.name" . }}
++      app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
+   replicas: {{ .Values.replicas }}
+   template:
+     metadata:
+       labels:
+-        app: {{ template "kube-state-metrics.name" . }}
+-        release: "{{ .Release.Name }}"
++        app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
++        app.kubernetes.io/instance: "{{ .Release.Name }}"
++{{- if .Values.customLabels }}
++{{ toYaml .Values.customLabels | indent 8 }}
++{{- end }}
+ {{- if .Values.podAnnotations }}
+       annotations:
+ {{ toYaml .Values.podAnnotations | indent 8 }}
+ {{- end }}
+     spec:
+-{{ if .Values.rbac.create }}
++      hostNetwork: {{ .Values.hostNetwork }}
+       serviceAccountName: {{ template "kube-state-metrics.serviceAccountName" . }}
+-{{ end }}
+       {{- if .Values.securityContext.enabled }}
+       securityContext:
+         fsGroup: {{ .Values.securityContext.fsGroup }}
+@@ -36,6 +41,9 @@ spec:
+       containers:
+       - name: {{ .Chart.Name }}
+         args:
++{{  if .Values.collectors.certificatesigningrequests  }}
++        - --collectors=certificatesigningrequests
++{{  end  }}
+ {{  if .Values.collectors.configmaps  }}
+         - --collectors=configmaps
+ {{  end  }}
+@@ -54,6 +62,9 @@ spec:
+ {{  if .Values.collectors.horizontalpodautoscalers  }}
+         - --collectors=horizontalpodautoscalers
+ {{  end  }}
++{{  if .Values.collectors.ingresses  }}
++        - --collectors=ingresses
++{{  end  }}
+ {{  if .Values.collectors.jobs  }}
+         - --collectors=jobs
+ {{  end  }}
+@@ -96,6 +107,12 @@ spec:
+ {{  if .Values.collectors.statefulsets  }}
+         - --collectors=statefulsets
+ {{  end  }}
++{{  if .Values.collectors.storageclasses  }}
++        - --collectors=storageclasses
++{{  end  }}
++{{  if .Values.collectors.verticalpodautoscalers  }}
++        - --collectors=verticalpodautoscalers
++{{  end  }}
+ {{ if .Values.namespace }}
+         - --namespace={{ .Values.namespace }}
+ {{ end }}
+@@ -103,14 +120,26 @@ spec:
+         image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+         ports:
+         - containerPort: 8080
+-        readinessProbe:
++        livenessProbe:
+           httpGet:
+             path: /healthz
+             port: 8080
+           initialDelaySeconds: 5
+           timeoutSeconds: 5
++        readinessProbe:
++          httpGet:
++            path: /
++            port: 8080
++          initialDelaySeconds: 5
++          timeoutSeconds: 5
++{{- if .Values.resources }}
+         resources:
+-{{ toYaml .Values.resources | indent 12 }}
++{{ toYaml .Values.resources | indent 10 }}
++{{- end }}
++{{- if .Values.affinity }}
++      affinity:
++{{ toYaml .Values.affinity | indent 8 }}
++{{- end }}
+ {{- if .Values.nodeSelector }}
+       nodeSelector:
+ {{ toYaml .Values.nodeSelector | indent 8 }}
+@@ -119,4 +148,3 @@ spec:
+       tolerations:
+ {{ toYaml .Values.tolerations | indent 8 }}
+ {{- end }}
+-
+diff --git a/stable/kube-state-metrics/templates/podsecuritypolicy.yaml b/stable/kube-state-metrics/templates/podsecuritypolicy.yaml
+index 4ca46ac..aeff117 100644
+--- a/stable/kube-state-metrics/templates/podsecuritypolicy.yaml
++++ b/stable/kube-state-metrics/templates/podsecuritypolicy.yaml
+@@ -4,12 +4,12 @@ kind: PodSecurityPolicy
+ metadata:
+   name: {{ template "kube-state-metrics.fullname" . }}
+   labels:
+-    app: {{ template "kube-state-metrics.name" . }}
+-    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
+-    heritage: {{ .Release.Service }}
+-    release: {{ .Release.Name }}
+-  annotations:
++    app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
++    helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
++    app.kubernetes.io/managed-by: {{ .Release.Service }}
++    app.kubernetes.io/instance: {{ .Release.Name }}
+ {{- if .Values.podSecurityPolicy.annotations }}
++  annotations:
+ {{ toYaml .Values.podSecurityPolicy.annotations | indent 4 }}
+ {{- end }}
+ spec:
+diff --git a/stable/kube-state-metrics/templates/psp-clusterrole.yaml b/stable/kube-state-metrics/templates/psp-clusterrole.yaml
+index c43f90d..dcd65e1 100644
+--- a/stable/kube-state-metrics/templates/psp-clusterrole.yaml
++++ b/stable/kube-state-metrics/templates/psp-clusterrole.yaml
+@@ -3,10 +3,10 @@ apiVersion: rbac.authorization.k8s.io/v1
+ kind: ClusterRole
+ metadata:
+   labels:
+-    app: {{ template "kube-state-metrics.name" . }}
+-    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
+-    heritage: {{ .Release.Service }}
+-    release: {{ .Release.Name }}
++    app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
++    helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
++    app.kubernetes.io/managed-by: {{ .Release.Service }}
++    app.kubernetes.io/instance: {{ .Release.Name }}
+   name: psp-{{ template "kube-state-metrics.fullname" . }}
+ rules:
+ - apiGroups: ['extensions']
+diff --git a/stable/kube-state-metrics/templates/psp-clusterrolebinding.yaml b/stable/kube-state-metrics/templates/psp-clusterrolebinding.yaml
+index bfca12c..7418618 100644
+--- a/stable/kube-state-metrics/templates/psp-clusterrolebinding.yaml
++++ b/stable/kube-state-metrics/templates/psp-clusterrolebinding.yaml
+@@ -3,10 +3,10 @@ apiVersion: rbac.authorization.k8s.io/v1
+ kind: ClusterRoleBinding
+ metadata:
+   labels:
+-    app: {{ template "kube-state-metrics.name" . }}
+-    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
+-    heritage: {{ .Release.Service }}
+-    release: {{ .Release.Name }}
++    app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
++    helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
++    app.kubernetes.io/managed-by: {{ .Release.Service }}
++    app.kubernetes.io/instance: {{ .Release.Name }}
+   name: psp-{{ template "kube-state-metrics.fullname" . }}
+ roleRef:
+   apiGroup: rbac.authorization.k8s.io
+diff --git a/stable/kube-state-metrics/templates/service.yaml b/stable/kube-state-metrics/templates/service.yaml
+index b6daacd..a880bf9 100644
+--- a/stable/kube-state-metrics/templates/service.yaml
++++ b/stable/kube-state-metrics/templates/service.yaml
+@@ -3,14 +3,20 @@ kind: Service
+ metadata:
+   name: {{ template "kube-state-metrics.fullname" . }}
+   labels:
+-    app: {{ template "kube-state-metrics.name" . }}
+-    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+-    release: "{{ .Release.Name }}"
+-    heritage: "{{ .Release.Service }}"
+-  {{- if .Values.prometheusScrape }}
++    app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
++    helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
++    app.kubernetes.io/instance: "{{ .Release.Name }}"
++    app.kubernetes.io/managed-by: "{{ .Release.Service }}"
++{{- if .Values.customLabels }}
++{{ toYaml .Values.customLabels | indent 4 }}
++{{- end }}
+   annotations:
++    {{- if .Values.prometheusScrape }}
+     prometheus.io/scrape: '{{ .Values.prometheusScrape }}'
+-  {{- end }}
++    {{- end }}
++    {{- if .Values.service.annotations }}
++    {{- toYaml .Values.service.annotations | nindent 4 }}
++    {{- end }}
+ spec:
+   type: "{{ .Values.service.type }}"
+   ports:
+@@ -25,5 +31,5 @@ spec:
+   loadBalancerIP: "{{ .Values.service.loadBalancerIP }}"
+ {{- end }}
+   selector:
+-    app: {{ template "kube-state-metrics.name" . }}
+-    release: {{ .Release.Name }}
++    app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
++    app.kubernetes.io/instance: {{ .Release.Name }}
+diff --git a/stable/kube-state-metrics/templates/serviceaccount.yaml b/stable/kube-state-metrics/templates/serviceaccount.yaml
+index edac3b9..e2bf7c0 100644
+--- a/stable/kube-state-metrics/templates/serviceaccount.yaml
++++ b/stable/kube-state-metrics/templates/serviceaccount.yaml
+@@ -1,15 +1,13 @@
+-{{- if .Values.rbac.create -}}
+ {{- if .Values.serviceAccount.create -}}
+ apiVersion: v1
+ kind: ServiceAccount
+ metadata:
+   labels:
+-    app: {{ template "kube-state-metrics.name" . }}
+-    chart: {{ .Chart.Name }}-{{ .Chart.Version }}
+-    heritage: {{ .Release.Service }}
+-    release: {{ .Release.Name }}
++    app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
++    helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
++    app.kubernetes.io/managed-by: {{ .Release.Service }}
++    app.kubernetes.io/instance: {{ .Release.Name }}
+   name: {{ template "kube-state-metrics.fullname" . }}
+ imagePullSecrets:
+ {{ toYaml .Values.serviceAccount.imagePullSecrets | indent 2 }}
+ {{- end -}}
+-{{- end -}}
+diff --git a/stable/kube-state-metrics/templates/servicemonitor.yaml b/stable/kube-state-metrics/templates/servicemonitor.yaml
+new file mode 100644
+index 0000000..6405bd4
+--- /dev/null
++++ b/stable/kube-state-metrics/templates/servicemonitor.yaml
+@@ -0,0 +1,24 @@
++{{- if .Values.prometheus.monitor.enabled }}
++apiVersion: monitoring.coreos.com/v1
++kind: ServiceMonitor
++metadata:
++  name: {{ template "kube-state-metrics.fullname" . }}
++  labels:
++    app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
++    helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
++    app.kubernetes.io/instance: "{{ .Release.Name }}"
++    app.kubernetes.io/managed-by: "{{ .Release.Service }}"
++    {{- if .Values.prometheus.monitor.additionalLabels }}
++{{ toYaml .Values.prometheus.monitor.additionalLabels | indent 4 }}
++    {{- end }}
++spec:
++  selector:
++    matchLabels:
++      app.kubernetes.io/name: {{ template "kube-state-metrics.name" . }}
++      app.kubernetes.io/instance: {{ .Release.Name }}
++  endpoints:
++    - port: http
++      {{- if .Values.prometheus.monitor.honorLabels }}
++      honorLabels: true
++      {{- end }}
++{{- end }}
+diff --git a/stable/kube-state-metrics/values.yaml b/stable/kube-state-metrics/values.yaml
+index 86aab9b..2bf5b30 100644
+--- a/stable/kube-state-metrics/values.yaml
++++ b/stable/kube-state-metrics/values.yaml
+@@ -1,8 +1,8 @@
+ # Default values for kube-state-metrics.
+ prometheusScrape: true
+ image:
+-  repository: k8s.gcr.io/kube-state-metrics
+-  tag: v1.5.0
++  repository: quay.io/coreos/kube-state-metrics
++  tag: v1.8.0
+   pullPolicy: IfNotPresent
+ replicas: 1
+@@ -13,6 +13,11 @@ service:
+   type: ClusterIP
+   nodePort: 0
+   loadBalancerIP: ""
++  annotations: {}
++
++customLabels: {}
++
++hostNetwork: false
+ rbac:
+   # If true, create & use RBAC resources
+@@ -28,6 +33,13 @@ serviceAccount:
+   # ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
+   imagePullSecrets: []
++prometheus:
++  monitor:
++    enabled: false
++    additionalLabels: {}
++    namespace: ""
++    honorLabels: false
++
+ ## Specify if a Pod Security Policy for kube-state-metrics must be created
+ ## Ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/
+ ##
+@@ -53,6 +65,10 @@ securityContext:
+ ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
+ nodeSelector: {}
++## Affinity settings for pod assignment
++## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
++affinity: {}
++
+ ## Tolerations for pod assignment
+ ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+ tolerations: []
+@@ -66,12 +82,14 @@ podAnnotations: {}
+ # Available collectors for kube-state-metrics. By default all available
+ # collectors are enabled.
+ collectors:
++  certificatesigningrequests: true
+   configmaps: true
+   cronjobs: true
+   daemonsets: true
+   deployments: true
+   endpoints: true
+   horizontalpodautoscalers: true
++  ingresses: true
+   jobs: true
+   limitranges: true
+   namespaces: true
+@@ -86,6 +104,8 @@ collectors:
+   secrets: true
+   services: true
+   statefulsets: true
++  storageclasses: true
++  verticalpodautoscalers: false
+ # Namespace to be enabled for collecting resources. By default all namespaces are collected.
+ # namespace: ""
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0011-update-init-container-env-to-include-node-name.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0011-update-init-container-env-to-include-node-name.patch
new file mode 100644 (file)
index 0000000..97c6190
--- /dev/null
@@ -0,0 +1,55 @@
+From 35a6b56e47710ea306608f44382b76022e236be0 Mon Sep 17 00:00:00 2001
+From: Matt Peters <matt.peters@windriver.com>
+Date: Fri, 25 Oct 2019 11:20:37 -0500
+Subject: [PATCH] update init container env to include node name
+
+Update the init containers to have access to the same set of
+environment variables as the runtime containers.  Specifically
+NODE_NAME is required to ensure the name parameter is set
+properly.
+---
+ stable/filebeat/templates/daemonset.yaml   | 8 ++++++++
+ stable/metricbeat/templates/daemonset.yaml | 8 ++++++++
+ 2 files changed, 16 insertions(+)
+
+diff --git a/stable/filebeat/templates/daemonset.yaml b/stable/filebeat/templates/daemonset.yaml
+index 22b46df..2429892 100644
+--- a/stable/filebeat/templates/daemonset.yaml
++++ b/stable/filebeat/templates/daemonset.yaml
+@@ -54,6 +54,14 @@ spec:
+           readOnly: true
+           subPath: filebeat.yml
+         env:
++        - name: POD_NAMESPACE
++          valueFrom:
++            fieldRef:
++              fieldPath: metadata.namespace
++        - name: NODE_NAME
++          valueFrom:
++            fieldRef:
++              fieldPath: spec.nodeName
+       ## make output.elasticsearch parms visible
+       {{- range $key, $value := .Values.config}}
+       {{- $configname := $key | upper | replace "." "_" -}}
+diff --git a/stable/metricbeat/templates/daemonset.yaml b/stable/metricbeat/templates/daemonset.yaml
+index 947e501..247304e 100644
+--- a/stable/metricbeat/templates/daemonset.yaml
++++ b/stable/metricbeat/templates/daemonset.yaml
+@@ -49,6 +49,14 @@ spec:
+           readOnly: true
+           subPath: metricbeat.yml
+         env:
++        - name: POD_NAMESPACE
++          valueFrom:
++            fieldRef:
++              fieldPath: metadata.namespace
++        - name: NODE_NAME
++          valueFrom:
++            fieldRef:
++              fieldPath: spec.nodeName
+       ## make output.elasticsearch parms visible
+       {{- range $key, $value := .Values.daemonset.config}}
+       {{- $configname := $key | upper | replace "." "_" -}}
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0012-Add-imagePullSecrets.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0012-Add-imagePullSecrets.patch
new file mode 100644 (file)
index 0000000..bc98d18
--- /dev/null
@@ -0,0 +1,74 @@
+From 440cae178989bf161276be0099691e9b7e5d211f Mon Sep 17 00:00:00 2001
+From: John Kung <john.kung@windriver.com>
+Date: Tue, 5 Nov 2019 07:42:36 -0500
+Subject: [PATCH 1/1] Add imagePullSecrets
+
+---
+ stable/elasticsearch-curator/templates/serviceaccount.yaml | 2 ++
+ stable/filebeat/templates/serviceaccount.yaml              | 2 ++
+ stable/kibana/templates/serviceaccount.yaml                | 2 ++
+ stable/kube-state-metrics/values.yaml                      | 2 +-
+ stable/metricbeat/templates/serviceaccount.yaml            | 2 ++
+ 5 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/stable/elasticsearch-curator/templates/serviceaccount.yaml b/stable/elasticsearch-curator/templates/serviceaccount.yaml
+index ad9c5c9..a64b426 100644
+--- a/stable/elasticsearch-curator/templates/serviceaccount.yaml
++++ b/stable/elasticsearch-curator/templates/serviceaccount.yaml
+@@ -8,5 +8,7 @@ metadata:
+     chart: {{ template "elasticsearch-curator.chart" . }}
+     release: "{{ .Release.Name }}"
+     heritage: "{{ .Release.Service }}"
++imagePullSecrets:
++  - name: default-registry-key
+ {{- end }}
+diff --git a/stable/filebeat/templates/serviceaccount.yaml b/stable/filebeat/templates/serviceaccount.yaml
+index 7de907b..19a4d34 100644
+--- a/stable/filebeat/templates/serviceaccount.yaml
++++ b/stable/filebeat/templates/serviceaccount.yaml
+@@ -8,4 +8,6 @@ metadata:
+     chart: {{ template "filebeat.chart" . }}
+     release: {{ .Release.Name }}
+     heritage: {{ .Release.Service }}
++imagePullSecrets:
++  - name: default-registry-key
+ {{- end -}}
+diff --git a/stable/kibana/templates/serviceaccount.yaml b/stable/kibana/templates/serviceaccount.yaml
+index 948390a..edc0122 100644
+--- a/stable/kibana/templates/serviceaccount.yaml
++++ b/stable/kibana/templates/serviceaccount.yaml
+@@ -8,4 +8,6 @@ metadata:
+     chart: {{ .Chart.Name }}-{{ .Chart.Version }}
+     heritage: {{ .Release.Service }}
+     release: {{ .Release.Name }}
++imagePullSecrets:
++  - name: default-registry-key
+ {{- end -}}
+diff --git a/stable/kube-state-metrics/values.yaml b/stable/kube-state-metrics/values.yaml
+index 2bf5b30..bab7a30 100644
+--- a/stable/kube-state-metrics/values.yaml
++++ b/stable/kube-state-metrics/values.yaml
+@@ -31,7 +31,7 @@ serviceAccount:
+   name:
+   # Reference to one or more secrets to be used when pulling images
+   # ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
+-  imagePullSecrets: []
++  imagePullSecrets: [{"name": "default-registry-key"}]
+ prometheus:
+   monitor:
+diff --git a/stable/metricbeat/templates/serviceaccount.yaml b/stable/metricbeat/templates/serviceaccount.yaml
+index c53fc5a..a4c7659 100644
+--- a/stable/metricbeat/templates/serviceaccount.yaml
++++ b/stable/metricbeat/templates/serviceaccount.yaml
+@@ -8,4 +8,6 @@ metadata:
+     chart: {{ template "metricbeat.chart" . }}
+     release: {{ .Release.Name }}
+     heritage: {{ .Release.Service }}
++imagePullSecrets:
++  - name: default-registry-key
+ {{- end -}}
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0013-removed-unused-images.patch b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/0013-removed-unused-images.patch
new file mode 100644 (file)
index 0000000..5085dda
--- /dev/null
@@ -0,0 +1,181 @@
+From 2d54de3ae3858aa6c67ba1de25860c440f5be8a2 Mon Sep 17 00:00:00 2001
+From: Kevin Smith <kevin.smith@windriver.com>
+Date: Thu, 12 Dec 2019 09:40:13 -0500
+Subject: [PATCH 1/1] removed unused images
+
+---
+ stable/kibana/templates/tests/test-configmap.yaml | 35 -------------------
+ stable/kibana/templates/tests/test.yaml           | 42 -----------------------
+ stable/kibana/values.yaml                         |  4 ---
+ stable/logstash/templates/statefulset.yaml        | 32 -----------------
+ stable/logstash/values.yaml                       |  5 ---
+ 5 files changed, 118 deletions(-)
+ delete mode 100644 stable/kibana/templates/tests/test-configmap.yaml
+ delete mode 100644 stable/kibana/templates/tests/test.yaml
+
+diff --git a/stable/kibana/templates/tests/test-configmap.yaml b/stable/kibana/templates/tests/test-configmap.yaml
+deleted file mode 100644
+index 912755e..0000000
+--- a/stable/kibana/templates/tests/test-configmap.yaml
++++ /dev/null
+@@ -1,35 +0,0 @@
+-apiVersion: v1
+-kind: ConfigMap
+-metadata:
+-  name: {{ template "kibana.fullname" . }}-test
+-  labels:
+-    app: {{ template "kibana.fullname" . }}
+-    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+-    heritage: "{{ .Release.Service }}"
+-    release: "{{ .Release.Name }}"
+-data:
+-  run.sh: |-
+-    @test "Test Status" {
+-      {{- if .Values.service.selector }}
+-      skip "Can't guarentee pod names with selector"
+-      {{- else }}
+-      {{- $port := .Values.service.externalPort }}
+-      url="http://{{ template "kibana.fullname" . }}{{ if $port }}:{{ $port }}{{ end }}/api{{ .Values.livenessProbe.path }}"
+-
+-      # retry for 1 minute
+-      run curl -s -o /dev/null -I -w "%{http_code}" --retry 30 --retry-delay 2 $url
+-
+-      code=$(curl -s -o /dev/null -I -w "%{http_code}" $url)
+-      body=$(curl $url)
+-      if [ "$code" == "503" ]
+-      then
+-        skip "Kibana Unavailable (503), can't get status - see pod logs: $body"
+-      fi
+-
+-      result=$(echo $body | jq -cr '.status.statuses[]')
+-      [ "$result" != "" ]
+-
+-      result=$(echo $body | jq -cr '.status.statuses[] | select(.state != "green")')
+-      [ "$result" == "" ]
+-      {{- end }}
+-    }
+diff --git a/stable/kibana/templates/tests/test.yaml b/stable/kibana/templates/tests/test.yaml
+deleted file mode 100644
+index 8a518fd..0000000
+--- a/stable/kibana/templates/tests/test.yaml
++++ /dev/null
+@@ -1,42 +0,0 @@
+-apiVersion: v1
+-kind: Pod
+-metadata:
+-  name: {{ template "kibana.fullname" . }}-test
+-  labels:
+-    app: {{ template "kibana.fullname" . }}
+-    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+-    heritage: "{{ .Release.Service }}"
+-    release: "{{ .Release.Name }}"
+-  annotations:
+-    "helm.sh/hook": test-success
+-spec:
+-  initContainers:
+-    - name: test-framework
+-      image: "{{ .Values.testFramework.image}}:{{ .Values.testFramework.tag }}"
+-      command:
+-      - "bash"
+-      - "-c"
+-      - |
+-        set -ex
+-        # copy bats to tools dir
+-        cp -R /usr/local/libexec/ /tools/bats/
+-      volumeMounts:
+-      - mountPath: /tools
+-        name: tools
+-  containers:
+-    - name: {{ .Release.Name }}-test
+-      image: "dwdraju/alpine-curl-jq"
+-      command: ["/tools/bats/bats", "-t", "/tests/run.sh"]
+-      volumeMounts:
+-        - mountPath: /tests
+-          name: tests
+-          readOnly: true
+-        - mountPath: /tools
+-          name: tools
+-  volumes:
+-  - name: tests
+-    configMap:
+-      name: {{ template "kibana.fullname" . }}-test
+-  - name: tools
+-    emptyDir: {}
+-  restartPolicy: Never
+diff --git a/stable/kibana/values.yaml b/stable/kibana/values.yaml
+index 4ce4b2a..7bc9cf5 100644
+--- a/stable/kibana/values.yaml
++++ b/stable/kibana/values.yaml
+@@ -3,10 +3,6 @@ image:
+   tag: "7.2.0"
+   pullPolicy: "IfNotPresent"
+-testFramework:
+-  image: "dduportal/bats"
+-  tag: "0.4.0"
+-
+ commandline:
+   args: []
+diff --git a/stable/logstash/templates/statefulset.yaml b/stable/logstash/templates/statefulset.yaml
+index 1a1a3ef..4749bb1 100644
+--- a/stable/logstash/templates/statefulset.yaml
++++ b/stable/logstash/templates/statefulset.yaml
+@@ -91,38 +91,6 @@ spec:
+           volumeMounts:
+ {{ toYaml .Values.volumeMounts | indent 12 }}
+-{{- if .Values.exporter.logstash.enabled }}
+-        ## logstash-exporter
+-        - name: {{ .Chart.Name }}-exporter
+-          image: "{{ .Values.exporter.logstash.image.repository }}:{{ .Values.exporter.logstash.image.tag }}"
+-          imagePullPolicy: {{ .Values.exporter.logstash.image.pullPolicy }}
+-          command: ["/bin/sh", "-c"]
+-          ## Delay start of logstash-exporter to give logstash more time to come online.
+-          args:
+-            - >-
+-              sleep 60;
+-              exec /logstash_exporter
+-                --logstash.endpoint=http://localhost:{{ .Values.exporter.logstash.target.port }}
+-                --web.listen-address=:{{ .Values.exporter.logstash.port }}
+-          ports:
+-            - name: ls-exporter
+-              containerPort: {{ .Values.exporter.logstash.port }}
+-              protocol: TCP
+-          livenessProbe:
+-{{ toYaml .Values.exporter.logstash.livenessProbe | indent 12 }}
+-          readinessProbe:
+-{{ toYaml .Values.exporter.logstash.readinessProbe | indent 12 }}
+-          {{- with .Values.exporter.logstash.config }}
+-          env:
+-            {{- range $key, $value := . }}
+-            - name: {{ $key | upper | replace "." "_" }}
+-              value: {{ $value | quote }}
+-            {{- end }}
+-          {{- end }}
+-          resources:
+-{{ toYaml .Values.exporter.logstash.resources | indent 12 }}
+-{{- end }}
+-
+     {{- with .Values.nodeSelector }}
+       nodeSelector:
+ {{ toYaml . | indent 8 }}
+diff --git a/stable/logstash/values.yaml b/stable/logstash/values.yaml
+index 9ba80c9..b8b8de2 100644
+--- a/stable/logstash/values.yaml
++++ b/stable/logstash/values.yaml
+@@ -169,11 +169,6 @@ volumes: []
+ exporter:
+   logstash:
+-    enabled: false
+-    image:
+-      repository: bonniernews/logstash_exporter
+-      tag: v0.1.2
+-      pullPolicy: IfNotPresent
+     env: {}
+     resources: {}
+     path: /metrics
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/index.yaml b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/index.yaml
new file mode 100644 (file)
index 0000000..166dfef
--- /dev/null
@@ -0,0 +1,4 @@
+---
+apiVersion: v1
+entries: {}
+generated: 2019-01-07T12:33:46.098166523-06:00
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/repositories.yaml b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm/repositories.yaml
new file mode 100644 (file)
index 0000000..7fbaebd
--- /dev/null
@@ -0,0 +1,12 @@
+---
+apiVersion: v1
+generated: 2019-01-02T15:19:36.215111369-06:00
+repositories:
+  - caFile: ""
+    cache: /builddir/.helm/repository/cache/local-index.yaml
+    certFile: ""
+    keyFile: ""
+    name: local
+    password: ""
+    url: http://127.0.0.1:8879/charts
+    username: ""
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm_1.0.bb b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm_1.0.bb
new file mode 100644 (file)
index 0000000..f299bbb
--- /dev/null
@@ -0,0 +1,104 @@
+
+SUMMARY = "Monitor Helm charts"
+DESCRIPTION = "Monitor Helm charts"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS += " \
+    helm-native \
+    monitor-helm-elastic \
+"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCREV_helm-charts = "92b6289ae93816717a8453cfe62bad51cbdb8ad0"
+SRCREV_monitor-armada-app = "e5ee6b3a07b74479b93fe90eff0662cf81890f73"
+
+SRC_URI = " \
+    git://github.com/helm/charts;protocol=${PROTOCOL};name=helm-charts \
+    git://opendev.org/starlingx/monitor-armada-app.git;protocol=${PROTOCOL};branch=${BRANCH};name=monitor-armada-app;destsuffix=monitor-armada-app \
+    file://0001-Add-Makefile-for-helm-charts.patch \
+    file://0002-kibana-workaround-checksum-for-configmap.yaml.patch \
+    file://0003-helm-chart-changes-for-stx-monitor.patch \
+    file://0004-ipv6-helm-chart-changes.patch \
+    file://0005-decouple-config.patch \
+    file://0006-add-system-info.patch \
+    file://0007-three-masters.patch \
+    file://0008-Update-stx-monitor-for-kubernetes-API-1.16.patch \
+    file://0009-add-curator-as-of-2019-10-10.patch \
+    file://0010-Update-kube-state-metrics-1.8.0-to-commit-09daf19.patch \
+    file://0011-update-init-container-env-to-include-node-name.patch \
+    file://0012-Add-imagePullSecrets.patch \
+    file://0013-removed-unused-images.patch \
+    file://index.yaml \
+    file://repositories.yaml \
+    "
+
+PATCHTOOL = "git"
+PATCH_COMMIT_FUNCTIONS = "1"
+
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+helm_folder = "${nonarch_libdir}/helm"
+helmchart_version = "0.1.0"
+
+do_configure[noexec] = "1"
+
+do_compile () {
+       # initialize helm and build the toolkit
+       # helm init --client-only does not work if there is no networking
+       # The following commands do essentially the same as: helm init
+       export HOME="${B}/${USER}"
+       export helm_home="${B}/${USER}/.helm"
+       rm -rf ${helm_home}
+
+       mkdir -p ${helm_home}
+       mkdir ${helm_home}/repository
+       mkdir ${helm_home}/repository/cache
+       mkdir ${helm_home}/repository/local
+       mkdir ${helm_home}/plugins
+       mkdir ${helm_home}/starters
+       mkdir ${helm_home}/cache
+       mkdir ${helm_home}/cache/archive
+
+       # Stage a repository file that only has a local repo
+       install -m 0644 ${WORKDIR}/repositories.yaml ${helm_home}/repository/repositories.yaml
+
+       # Stage a local repo index that can be updated by the build
+       install -m 0644 ${WORKDIR}/index.yaml ${helm_home}/repository/local/index.yaml
+
+       # Host a server for the charts
+       helm serve --repo-path . &
+       sleep 1
+       helm repo rm local
+       helm repo add local http://localhost:8879/charts
+
+       # Create the tgz files
+       cd stable
+       make filebeat
+       make metricbeat
+       make kube-state-metrics
+       make kibana
+       make nginx-ingress
+       make logstash
+       make elasticsearch-curator
+
+       # terminate helm server (the last backgrounded task)
+       kill $!
+       rm -rf ${helm_home}
+}
+
+do_install () {
+       install -d -m 755 ${D}${helm_folder}
+       install -p -D -m 755 ${S}/stable/*.tgz ${D}${helm_folder}
+}
+
+FILES_${PN} = "${helm_folder}"
+
+RDEPENDS_${PN} = " \
+    helm \
+    monitor-helm-elastic \
+"
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/stx-monitor-helm_1.0.bb b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/stx-monitor-helm_1.0.bb
new file mode 100644 (file)
index 0000000..ee89792
--- /dev/null
@@ -0,0 +1,49 @@
+SUMMARY = "StarlingX Monitor Application Armada Helm Charts"
+DESCRIPTION = "StarlingX Monitor Application Armada Helm Charts"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS += " \
+    monitor-helm \
+    monitor-helm-elastic \
+"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCNAME = "monitor-armada-app"
+SRCREV = "e5ee6b3a07b74479b93fe90eff0662cf81890f73"
+SRCREV_opendev = "e5ee6b3a07b74479b93fe90eff0662cf81890f73"
+DESTSUFFIX = "${PN}-${PV}"
+SUBPATH0 = "stx-monitor-helm/stx-monitor-helm"
+
+SRC_URI = " \
+       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=${DESTSUFFIX};subpath=${SUBPATH0};name=opendev \
+       "
+
+inherit allarch
+
+helm_folder = "${nonarch_libdir}/helm"
+armada_folder = "${nonarch_libdir}/armada"
+app_folder = "${nonarch_libdir}/application"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install () {
+       install -d -m 755 ${D}${armada_folder}
+       install -p -D -m 755 ${S}/manifests/*.yaml ${D}${armada_folder}
+       install -d -m 755 ${D}${app_folder}
+       install -p -D -m 755 ${S}/files/metadata.yaml ${D}${app_folder}/monitor_metadata.yaml
+}
+
+FILES_${PN} = " \
+    ${app_folder} \
+    ${armada_folder} \
+"
+
+RDEPENDS_${PN} = " \
+    helm \
+    monitor-helm \
+    monitor-helm-elastic \
+"
diff --git a/meta-starlingx/meta-stx-flock/stx-monitoring/collectd-extensions.bb b/meta-starlingx/meta-stx-flock/stx-monitoring/collectd-extensions.bb
new file mode 100644 (file)
index 0000000..70d7236
--- /dev/null
@@ -0,0 +1,70 @@
+require monitoring-common.inc
+
+SUBPATH0 = "collectd-extensions/src"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append += " \
+       systemd \
+       collectd \
+       fm-api \
+       ntpq \
+       python-influxdb \
+       python-oslo.concurrency \
+       python-httplib2 \
+       tsconfig \
+       "
+
+
+local_unit_dir = "${sysconfdir}/systemd/system"
+local_plugin_dir = "${sysconfdir}/collectd.d"
+local_python_extensions_dir = "/opt/collectd/extensions/python"
+local_config_extensions_dir = "/opt/collectd/extensions/config"
+
+
+do_install_append() {
+
+       install -m 755 -d ${D}/${sysconfdir}
+       install -m 755 -d ${D}/${local_unit_dir}
+       install -m 755 -d ${D}/${local_plugin_dir}
+       install -m 755 -d ${D}/${local_config_extensions_dir}
+       install -m 755 -d ${D}/${local_python_extensions_dir}
+
+       # support files ; service and pmon conf
+       install -m 644 collectd.service  ${D}/${local_unit_dir}
+       install -m 600 collectd.conf.pmon  ${D}/${local_config_extensions_dir}
+
+       # collectd python plugin files - notifiers
+       install -m 700  fm_notifier.py ${D}/${local_python_extensions_dir}
+       install -m 700 plugin_common.py ${D}/${local_python_extensions_dir}
+
+       # collectd python plugin files - resource plugins
+       install -m 700 cpu.py  ${D}/${local_python_extensions_dir}
+       install -m 700 memory.py  ${D}/${local_python_extensions_dir}
+       install -m 700 example.py  ${D}/${local_python_extensions_dir}
+       install -m 700 ntpq.py  ${D}/${local_python_extensions_dir}
+       install -m 700 interface.py ${D}/${local_python_extensions_dir}
+       install -m 700 remotels.py  ${D}/${local_python_extensions_dir}
+       install -m 700 ptp.py  ${D}/${local_python_extensions_dir}
+       install -m 700 ovs_interface.py  ${D}/${local_python_extensions_dir}
+
+
+       # collectd plugin conf files into /etc/collectd.d
+       install -m 600 python_plugins.conf  ${D}/${local_plugin_dir}
+       install -m 600 cpu.conf  ${D}/${local_plugin_dir}
+       install -m 600 memory.conf  ${D}/${local_plugin_dir}
+       install -m 600 df.conf  ${D}/${local_plugin_dir}
+       install -m 600 example.conf  ${D}/${local_plugin_dir}
+       install -m 600 ntpq.conf  ${D}/${local_plugin_dir}
+       install -m 600 interface.conf  ${D}/${local_plugin_dir}
+       install -m 600 remotels.conf  ${D}/${local_plugin_dir}
+       install -m 600 ptp.conf  ${D}/${local_plugin_dir}
+       install -m 600 ovs_interface.conf  ${D}/${local_plugin_dir}
+
+}
+
+FILES_${PN}_append = " \
+       ${local_python_extensions_dir} \
+       ${local_config_extensions_dir} \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-monitoring/influxdb-extensions.bb b/meta-starlingx/meta-stx-flock/stx-monitoring/influxdb-extensions.bb
new file mode 100644 (file)
index 0000000..2056dfc
--- /dev/null
@@ -0,0 +1,29 @@
+require monitoring-common.inc
+
+SUBPATH0 = "influxdb-extensions/src"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN} += " \
+       influxdb \
+       systemd \
+       python-influxdb \
+       "
+
+
+local_unit_dir = "${sysconfdir}/systemd/system"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+
+       install -m 755 -d ${D}/${sysconfdir}
+       install -m 755 -d ${D}/${local_unit_dir}
+       install -m 755 -d ${D}/${sysconfdir}/influxdb
+
+       # support files ; service and pmon conf
+       install -m 644 influxdb.service  ${D}/${local_unit_dir}
+       install -m 600 influxdb.conf.pmon  ${D}/${sysconfdir}/influxdb
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-monitoring/monitor-tools.bb b/meta-starlingx/meta-stx-flock/stx-monitoring/monitor-tools.bb
new file mode 100644 (file)
index 0000000..536b2f2
--- /dev/null
@@ -0,0 +1,15 @@
+require monitoring-common.inc
+
+SUBPATH0 = "monitor-tools/scripts"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+do_install_append() {
+
+       install -m 755 -d ${D}/${bindir}
+       # support files ; service and pmon conf
+       install -m 644 memtop  ${D}/${bindir}
+       install -m 600 schedtop ${D}/${bindir}
+       install -m 600 occtop  ${D}/${bindir}
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-monitoring/monitoring-common.inc b/meta-starlingx/meta-stx-flock/stx-monitoring/monitoring-common.inc
new file mode 100644 (file)
index 0000000..4c23582
--- /dev/null
@@ -0,0 +1,24 @@
+DESCRIPTION = "stx-monitoring"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCNAME = "monitoring"
+SRCREV = "8befe1720b02c5e1e3ddf637947643b9b0a0f96f"
+SRCREV_opendev = "8befe1720b02c5e1e3ddf637947643b9b0a0f96f"
+DESTSUFFIX = "${PN}-${PV}"
+PV = "1.0.0"
+
+SRC_URI = " \
+       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=${DESTSUFFIX};subpath=${SUBPATH0};name=opendev \
+       "
+
+DEPENDS += " \
+       python \
+       python-pbr-native \
+       mtce \
+       fm-common \
+       json-c \
+       openssl \
+       libevent \
+       libgcc \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-monitoring/vm-topology.bb b/meta-starlingx/meta-stx-flock/stx-monitoring/vm-topology.bb
new file mode 100644 (file)
index 0000000..c83607c
--- /dev/null
@@ -0,0 +1,20 @@
+require monitoring-common.inc
+
+SUBPATH0 = "vm-topology/vm-topology"
+
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append = " \
+       python \
+       libvirt \
+       python-keyring \
+       "
+
+DEPENDS += " \
+       python-keyring \
+       libvirt \
+       "
+
+inherit setuptools python-dir
diff --git a/meta-starlingx/meta-stx-flock/stx-nfv/files/0001-mtce-guest-Fix-ldflags-usage.patch b/meta-starlingx/meta-stx-flock/stx-nfv/files/0001-mtce-guest-Fix-ldflags-usage.patch
new file mode 100644 (file)
index 0000000..779ea97
--- /dev/null
@@ -0,0 +1,15 @@
+diff --git a/Makefile b/Makefile
+index 40dd933..ba6e029 100644
+--- a/Makefile
++++ b/Makefile
+@@ -31,8 +31,8 @@ LDLIBS = $(EXTRALDFLAGS) -lstdc++ -ldaemon -lcommon -lfmcommon -ljson-c -levent
+ INCLUDES = -I. -I/usr/include/mtce-common -I/usr/include/mtce-daemon
+ build: $(OBJS)
+-      $(CXX) $(CCPFLAGS) $(AGENT_OBJS)  $(LDLIBS) -L. -o guestAgent
+-      $(CXX) $(CCPFLAGS) $(SERVER_OBJS) $(LDLIBS) -L. -o guestServer
++      $(CXX) $(CCPFLAGS) $(LDFLAGS) $(AGENT_OBJS)  $(LDLIBS) -L. -o guestAgent
++      $(CXX) $(CCPFLAGS) $(LDFLAGS) $(SERVER_OBJS) $(LDLIBS) -L. -o guestServer
+ .cpp.o:
+       $(CXX) $(INCLUDES) $(CCPFLAGS) $(EXTRACCFLAGS) -c $< -o $@
diff --git a/meta-starlingx/meta-stx-flock/stx-nfv/files/0002-mtce-guest-agent-server-fix-script-path.patch b/meta-starlingx/meta-stx-flock/stx-nfv/files/0002-mtce-guest-agent-server-fix-script-path.patch
new file mode 100644 (file)
index 0000000..e0a5e47
--- /dev/null
@@ -0,0 +1,34 @@
+diff --git a/mtce-guest/src/scripts/guestAgent.service b/mtce-guest/src/scripts/guestAgent.service
+index e88a965..5a54ba7 100644
+--- a/mtce-guest/src/scripts/guestAgent.service
++++ b/mtce-guest/src/scripts/guestAgent.service
+@@ -4,9 +4,9 @@ After=network.target syslog.service
+ [Service]
+ Type=forking
+-ExecStart=/etc/rc.d/init.d/guestAgent start
+-ExecStop=/etc/rc.d/init.d/guestAgent stop
+-ExecReload=/etc/rc.d/init.d/guestAgent reload
++ExecStart=/etc/init.d/guestAgent start
++ExecStop=/etc/init.d/guestAgent stop
++ExecReload=/etc/init.d/guestAgent reload
+ PIDFile=/var/run/guestAgent.pid
+ Restart=no
+diff --git a/mtce-guest/src/scripts/guestServer.service b/mtce-guest/src/scripts/guestServer.service
+index 6e2dd3a..1feb327 100644
+--- a/mtce-guest/src/scripts/guestServer.service
++++ b/mtce-guest/src/scripts/guestServer.service
+@@ -5,9 +5,9 @@ Before=pmon.service
+ [Service]
+ Type=forking
+-ExecStart=/etc/rc.d/init.d/guestServer start
+-ExecStop=/etc/rc.d/init.d/guestServer stop
+-ExecReload=/etc/rc.d/init.d/guestServer reload
++ExecStart=/etc/init.d/guestServer start
++ExecStop=/etc/init.d/guestServer stop
++ExecReload=/etc/init.d/guestServer reload
+ PIDFile=/var/run/guestServer.pid
+ # Failure handling
diff --git a/meta-starlingx/meta-stx-flock/stx-nfv/files/0003-guest-agent-server-fix-daemon-paths.patch b/meta-starlingx/meta-stx-flock/stx-nfv/files/0003-guest-agent-server-fix-daemon-paths.patch
new file mode 100644 (file)
index 0000000..45ef377
--- /dev/null
@@ -0,0 +1,52 @@
+diff --git a/mtce-guest/src/scripts/guestAgent b/mtce-guest/src/scripts/guestAgent
+index a0a7b0e..41b5559 100644
+--- a/mtce-guest/src/scripts/guestAgent
++++ b/mtce-guest/src/scripts/guestAgent
+@@ -20,7 +20,7 @@
+ . /etc/init.d/functions
+ DAEMON_NAME="guestAgent"
+-DAEMON="/usr/local/bin/${DAEMON_NAME}"
++DAEMON="/usr/bin/${DAEMON_NAME}"
+ PIDFILE="/var/run/${DAEMON_NAME}.pid"
+ PLATFORM_CONF="/etc/platform/platform.conf"
+diff --git a/mtce-guest/src/scripts/guestAgent.service b/mtce-guest/src/scripts/guestAgent.service
+index 5a54ba7..c447305 100644
+--- a/mtce-guest/src/scripts/guestAgent.service
++++ b/mtce-guest/src/scripts/guestAgent.service
+@@ -7,7 +7,7 @@ Type=forking
+ ExecStart=/etc/init.d/guestAgent start
+ ExecStop=/etc/init.d/guestAgent stop
+ ExecReload=/etc/init.d/guestAgent reload
+-PIDFile=/var/run/guestAgent.pid
++PIDFile=/run/guestAgent.pid
+ Restart=no
+diff --git a/mtce-guest/src/scripts/guestServer b/mtce-guest/src/scripts/guestServer
+index ace6a41..1008ad5 100644
+--- a/mtce-guest/src/scripts/guestServer
++++ b/mtce-guest/src/scripts/guestServer
+@@ -20,7 +20,7 @@
+ . /etc/init.d/functions
+ DAEMON_NAME="guestServer"
+-DAEMON="/usr/local/bin/${DAEMON_NAME}"
++DAEMON="/usr/bin/${DAEMON_NAME}"
+ PIDFILE="/var/run/${DAEMON_NAME}.pid"
+ PLATFORM_CONF="/etc/platform/platform.conf"
+diff --git a/mtce-guest/src/scripts/guestServer.service b/mtce-guest/src/scripts/guestServer.service
+index 1feb327..7a63e6a 100644
+--- a/mtce-guest/src/scripts/guestServer.service
++++ b/mtce-guest/src/scripts/guestServer.service
+@@ -8,7 +8,7 @@ Type=forking
+ ExecStart=/etc/init.d/guestServer start
+ ExecStop=/etc/init.d/guestServer stop
+ ExecReload=/etc/init.d/guestServer reload
+-PIDFile=/var/run/guestServer.pid
++PIDFile=/run/guestServer.pid
+ # Failure handling
+ TimeoutStartSec=10s
diff --git a/meta-starlingx/meta-stx-flock/stx-nfv/mtce-guest.bb b/meta-starlingx/meta-stx-flock/stx-nfv/mtce-guest.bb
new file mode 100644 (file)
index 0000000..ab45277
--- /dev/null
@@ -0,0 +1,61 @@
+PACKAGES += " mtce-guestagent"
+PACKAGES += " mtce-guestserver"
+
+require nfv-common.inc
+
+SUBPATH0 = "mtce-guest/src"
+
+SRC_URI += " \
+       file://0001-mtce-guest-Fix-ldflags-usage.patch \
+       file://0002-mtce-guest-agent-server-fix-script-path.patch;striplevel=3 \
+       file://0003-guest-agent-server-fix-daemon-paths.patch;striplevel=3 \
+       "
+
+inherit systemd
+SYSTEMD_PACKAGES += "mtce-guestagent"
+SYSTEMD_PACKAGES += "mtce-guestserver"
+SYSTEMD_SERVICE_mtce-guestagent = "guestAgent.service"
+SYSTEMD_SERVICE_mtce-guestserver= "guestServer.service"
+SYSTEMD_AUTO_ENABLE_mtce-guestagent = "disable"
+SYSTEMD_AUTO_ENABLE_mtce-geustserver = "enable"
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+RDEPENDS_${PN} += " mtce-guestagent mtce-guestserver"
+
+EXTRA_OEMAKE = '-e MAJOR="1" MINONR="0" \
+               INCLUDES=" -I. -I${STAGING_INCDIR}/mtce-common/ -I${STAGING_INCDIR}/mtce-daemon/ " \
+               CPPFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}"'
+
+do_install() {
+
+       oe_runmake -e install DESTDIR=${D} PREFIX=${D}/usr/ \
+                      SYSCONFDIR=${D}/${sysconfdir} \
+                           LOCALBINDIR=${D}/${bindir} \
+                           UNITDIR=${D}/${systemd_system_unitdir} 
+
+       rm -rf ${D}/var
+       rm -rf ${D}/var/run
+}
+
+FILES_mtce-guestserver = " \
+       ${sysconfdir}/logrotate.d/guestServer.logrotate \
+       ${systemd_system_unitdir}/guestServer.service \
+       "
+
+FILES_mtce-guestagent = " \ 
+       ${systemd_system_unitdir}/guestAgent.service \
+       ${sysconfdir}/logrotate.d/guestAgent.logrotate \
+       ${libdir}/ocf/resource.d/platform/guestAgent \
+" 
+
+FILE_${PN} = " \
+       ${sysconfdir}/mtc/tmp \
+       ${sysconfdir}/mtc/guestAgent.ini \
+       ${sysconfdir}/mtc/guestServer.ini \
+       ${sysconfdir}/init.d/guestServer \
+       ${sysconfdir}/init.d/guestAgent \
+       ${sysconfdir}/pmon.d/guestServer.conf \
+       ${bindir}/guestServer \
+       ${bindir}/guestAgent \
+       "
+
diff --git a/meta-starlingx/meta-stx-flock/stx-nfv/nfv-client.bb b/meta-starlingx/meta-stx-flock/stx-nfv/nfv-client.bb
new file mode 100644 (file)
index 0000000..7b2a7c2
--- /dev/null
@@ -0,0 +1,17 @@
+require nfv-common.inc
+
+SUBPATH0 = "nfv/nfv-client"
+
+inherit setuptools
+
+
+do_install_append() {
+       
+       install -d -m 755 ${D}/${sysconfdir}/bash_completion.d
+       install -m 444 scripts/sw-manager.completion ${D}/${sysconfdir}/bash_completion.d/sw-manager
+
+}
+
+FILES_${PN}_append = " \
+       ${sysconfdir}/bash_completion.d/sw-manager \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-nfv/nfv-common.bb b/meta-starlingx/meta-stx-flock/stx-nfv/nfv-common.bb
new file mode 100644 (file)
index 0000000..fc71622
--- /dev/null
@@ -0,0 +1,5 @@
+require nfv-common.inc
+
+SUBPATH0 = "nfv/nfv-common"
+
+inherit setuptools
diff --git a/meta-starlingx/meta-stx-flock/stx-nfv/nfv-common.inc b/meta-starlingx/meta-stx-flock/stx-nfv/nfv-common.inc
new file mode 100644 (file)
index 0000000..c6cc883
--- /dev/null
@@ -0,0 +1,27 @@
+DESCRIPTION = "stx-nfv"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCNAME = "nfv"
+SRCREV = "aaa932c00e028dcbaf0eed6843c4d3e51f09b2c1"
+SRCREV_opendev = "aaa932c00e028dcbaf0eed6843c4d3e51f09b2c1"
+DESTSUFFIX = "${PN}-${PV}"
+PV = "1.0.0"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = " \
+       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=${DESTSUFFIX};subpath=${SUBPATH0};name=opendev \
+       "
+
+DEPENDS += " \
+       python \
+       python-pbr-native \
+       mtce \
+       fm-common \
+       json-c \
+       openssl \
+       libevent \
+       libgcc \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-nfv/nfv-plugins.bb b/meta-starlingx/meta-stx-flock/stx-nfv/nfv-plugins.bb
new file mode 100644 (file)
index 0000000..cea36f7
--- /dev/null
@@ -0,0 +1,30 @@
+require nfv-common.inc
+
+SUBPATH0 = "nfv/nfv-plugins"
+
+inherit setuptools
+
+do_install_append () {
+
+       install -d -m 755 ${D}/${sysconfdir}/nfv/
+       install -d -m 755 ${D}/${sysconfdir}/nfv/nfv_plugins/
+       install -d -m 755 ${D}/${sysconfdir}/nfv/nfv_plugins/alarm_handlers/
+
+       install -p -D -m 600 nfv_plugins/alarm_handlers/config.ini \
+                       ${D}/${sysconfdir}/nfv/nfv_plugins/alarm_handlers/config.ini
+
+       install -d -m 755 ${D}/${sysconfdir}/nfv/nfv_plugins/event_log_handlers/
+
+       install -p -D -m 600 nfv_plugins/event_log_handlers/config.ini \
+                       ${D}/${sysconfdir}/nfv/nfv_plugins/event_log_handlers/config.ini
+                       \
+       install -d -m 755 ${D}/${sysconfdir}/nfv/nfv_plugins/nfvi_plugins/
+
+       install -p -D -m 600 nfv_plugins/nfvi_plugins/config.ini \
+                       ${D}/${sysconfdir}/nfv/nfv_plugins/nfvi_plugins/config.ini
+                                       
+       install -d -m 755 ${D}/
+       install -p -D -m 644 scripts/nfvi-plugins.logrotate \
+                       ${D}/${sysconfdir}/logrotate.d/nfvi-plugins.logrotate
+       
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-nfv/nfv-tools.bb b/meta-starlingx/meta-stx-flock/stx-nfv/nfv-tools.bb
new file mode 100644 (file)
index 0000000..760b5a0
--- /dev/null
@@ -0,0 +1,5 @@
+require nfv-common.inc
+
+SUBPATH0 = "nfv/nfv-tools"
+
+inherit setuptools
diff --git a/meta-starlingx/meta-stx-flock/stx-nfv/nfv-vim.bb b/meta-starlingx/meta-stx-flock/stx-nfv/nfv-vim.bb
new file mode 100644 (file)
index 0000000..942e85f
--- /dev/null
@@ -0,0 +1,32 @@
+require nfv-common.inc
+
+SUBPATH0 = "nfv/nfv-vim"
+
+inherit setuptools
+
+do_configure_prepend() {
+       sed -i -e 's|@SYSCONFDIR@|${sysconfdir}|g' \
+               scripts/vim \
+               scripts/vim-api \
+               scripts/vim-webserver \
+               nfv_vim/config.ini
+       sed -i -e 's|@PYTHONROOT@|${libdir}/python2.7/site-packages|g' nfv_vim/config.ini
+}
+
+do_install_append() {
+       install -d -m 755 ${D}/usr/lib/ocf/resource.d/nfv
+       install -p -D -m 755 scripts/vim ${D}/usr/lib/ocf/resource.d/nfv/vim
+       install -p -D -m 755 scripts/vim-api ${D}/usr/lib/ocf/resource.d/nfv/vim-api
+       install -p -D -m 755 scripts/vim-webserver ${D}/usr/lib/ocf/resource.d/nfv/vim-webserver
+       install -d -m 755 ${D}/${sysconfdir}/nfv/
+       install -d -m 755 ${D}/${sysconfdir}/nfv/vim/
+       install -p -D -m 600 nfv_vim/config.ini ${D}/${sysconfdir}/nfv/vim/config.ini
+       install -p -D -m 600 nfv_vim/debug.ini ${D}/${sysconfdir}/nfv/vim/debug.ini
+
+}
+
+FILES_${PN}_append = " \
+       ${libdir}/ocf/resource.d/nfv/vim \
+       ${libdir}/ocf/resource.d/nfv/vim-api \
+       ${libdir}/ocf/resource.d/nfv/vim-webserver \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-nfv/nova-api-proxy.bb b/meta-starlingx/meta-stx-flock/stx-nfv/nova-api-proxy.bb
new file mode 100644 (file)
index 0000000..5ab68ba
--- /dev/null
@@ -0,0 +1,20 @@
+require nfv-common.inc
+SUBPATH0 = "nova-api-proxy/nova-api-proxy"
+
+inherit setuptools systemd
+SYSTEMD_PACKAGES += "nova-api-proxy"
+SYSTEMD_SERVICE_${PN} = "api-proxy.service"
+
+do_install_append () {
+
+       install -d -m 755 ${D}/${systemd_system_unitdir}
+       install -p -D -m 644 nova_api_proxy/scripts/api-proxy.service ${D}/${systemd_system_unitdir}/api-proxy.service
+       install -d -m 755 ${D}/${sysconfdir}/rc.d/init.d
+       install -p -D -m 755 nova_api_proxy/scripts/api-proxy ${D}/${sysconfdir}/rc.d/init.d/api-proxy
+
+       install -d -m 755 ${D}/${sysconfdir}/proxy
+       install -p -D -m 700 nova_api_proxy/nova-api-proxy.conf ${D}${sysconfdir}/proxy/nova-api-proxy.conf
+       install -p -D -m 700 nova_api_proxy/api-proxy-paste.ini ${D}${sysconfdir}/proxy/api-proxy-paste.ini
+       
+
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0001-Allow-multiple-containers-per-daemonset-pod.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0001-Allow-multiple-containers-per-daemonset-pod.patch
new file mode 100644 (file)
index 0000000..c138f58
--- /dev/null
@@ -0,0 +1,40 @@
+From 47315e28d44cff586f6fff026dd00e61c2c77bcd Mon Sep 17 00:00:00 2001
+From: Gerry Kopec <Gerry.Kopec@windriver.com>
+Date: Wed, 9 Jan 2019 20:11:33 -0500
+Subject: [PATCH 1/4] Allow multiple containers per daemonset pod
+
+Remove code that restricted daemonset pods to single containers.
+Container names will default to name from helm chart template.
+Required for nova cold migrations to work.
+
+Story: 2003876
+Task: 26735
+Change-Id: Icce660415d43baefbbf768a785c5dedf04ea2930
+Signed-off-by: Gerry Kopec <Gerry.Kopec@windriver.com>
+(cherry picked from commit 7ca30319f418cd39db5ecf44cce5fb5fe39c458e)
+Signed-off-by: Robert Church <robert.church@windriver.com>
+---
+ helm-toolkit/templates/utils/_daemonset_overrides.tpl | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/helm-toolkit/templates/utils/_daemonset_overrides.tpl b/helm-toolkit/templates/utils/_daemonset_overrides.tpl
+index e352bc9..10ab166 100644
+--- a/helm-toolkit/templates/utils/_daemonset_overrides.tpl
++++ b/helm-toolkit/templates/utils/_daemonset_overrides.tpl
+@@ -225,13 +225,6 @@ limitations under the License.
+     {{- if not $context.Values.__daemonset_yaml.metadata.name }}{{- $_ := set $context.Values.__daemonset_yaml.metadata "name" dict }}{{- end }}
+     {{- $_ := set $context.Values.__daemonset_yaml.metadata "name" $current_dict.dns_1123_name }}
+-    {{/* set container name
+-    assume not more than one container is defined */}}
+-    {{- $container := first $context.Values.__daemonset_yaml.spec.template.spec.containers }}
+-    {{- $_ := set $container "name" $current_dict.dns_1123_name }}
+-    {{- $cont_list := list $container }}
+-    {{- $_ := set $context.Values.__daemonset_yaml.spec.template.spec "containers" $cont_list }}
+-
+     {{/* cross-reference configmap name to container volume definitions */}}
+     {{- $_ := set $context.Values "__volume_list" list }}
+     {{- range $current_volume := $context.Values.__daemonset_yaml.spec.template.spec.volumes }}
+-- 
+2.7.4
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0002-Add-imagePullSecrets-in-service-account.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0002-Add-imagePullSecrets-in-service-account.patch
new file mode 100644 (file)
index 0000000..07e2dd3
--- /dev/null
@@ -0,0 +1,26 @@
+From ac3f9db5ac1a19af71136752f5709ba1da55d201 Mon Sep 17 00:00:00 2001
+From: Angie Wang <angie.wang@windriver.com>
+Date: Mon, 11 Feb 2019 11:29:03 -0500
+Subject: [PATCH 2/4] Add imagePullSecrets in service account
+
+Signed-off-by: Robert Church <robert.church@windriver.com>
+---
+ helm-toolkit/templates/snippets/_kubernetes_pod_rbac_serviceaccount.tpl | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/helm-toolkit/templates/snippets/_kubernetes_pod_rbac_serviceaccount.tpl b/helm-toolkit/templates/snippets/_kubernetes_pod_rbac_serviceaccount.tpl
+index b4cf1a6..2f4113b 100644
+--- a/helm-toolkit/templates/snippets/_kubernetes_pod_rbac_serviceaccount.tpl
++++ b/helm-toolkit/templates/snippets/_kubernetes_pod_rbac_serviceaccount.tpl
+@@ -44,6 +44,8 @@ kind: ServiceAccount
+ metadata:
+   name: {{ $saName }}
+   namespace: {{ $saNamespace }}
++imagePullSecrets:
++  - name: default-registry-key
+ {{- range $k, $v := $deps -}}
+ {{- if eq $k "services" }}
+ {{- range $serv := $v }}
+-- 
+2.16.5
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0003-Set-Min-NGINX-handles.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0003-Set-Min-NGINX-handles.patch
new file mode 100644 (file)
index 0000000..196c338
--- /dev/null
@@ -0,0 +1,28 @@
+From 93ec2454cba41bf3de1419bada1f145f1ca9dbd9 Mon Sep 17 00:00:00 2001
+From: Al Bailey <Al.Bailey@windriver.com>
+Date: Wed, 20 Feb 2019 13:56:27 -0600
+Subject: [PATCH 3/4] Set Min NGINX handles
+
+Signed-off-by: Robert Church <robert.church@windriver.com>
+---
+ mariadb/files/nginx.tmpl | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/mariadb/files/nginx.tmpl b/mariadb/files/nginx.tmpl
+index 5ec3d0d..07b7cc5 100644
+--- a/mariadb/files/nginx.tmpl
++++ b/mariadb/files/nginx.tmpl
+@@ -23,7 +23,9 @@ daemon off;
+ worker_processes {{ $cfg.WorkerProcesses }};
+ pid /run/nginx.pid;
+-{{ if ne .MaxOpenFiles 0 }}
++{{ if lt .MaxOpenFiles 2048 }}
++worker_rlimit_nofile 2048;
++{{else}}
+ worker_rlimit_nofile {{ .MaxOpenFiles }};
+ {{ end }}
+-- 
+2.16.5
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0004-Partial-revert-of-31e3469d28858d7b5eb6355e88b6f49fd6.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0004-Partial-revert-of-31e3469d28858d7b5eb6355e88b6f49fd6.patch
new file mode 100644 (file)
index 0000000..113d8fb
--- /dev/null
@@ -0,0 +1,65 @@
+From b3829fef30e76fdf498fa1d0d35185f642dce5f6 Mon Sep 17 00:00:00 2001
+From: Robert Church <robert.church@windriver.com>
+Date: Mon, 8 Apr 2019 02:12:39 -0400
+Subject: [PATCH 4/4] Partial revert of
+ 31e3469d28858d7b5eb6355e88b6f49fd62032be
+
+Suspect that new use of mergeOverwrite vs. merge is breaking the
+per-host DaemonSet overrides.
+
+Signed-off-by: Robert Church <robert.church@windriver.com>
+---
+ helm-toolkit/templates/utils/_daemonset_overrides.tpl | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/helm-toolkit/templates/utils/_daemonset_overrides.tpl b/helm-toolkit/templates/utils/_daemonset_overrides.tpl
+index 10ab166..ab1177a 100644
+--- a/helm-toolkit/templates/utils/_daemonset_overrides.tpl
++++ b/helm-toolkit/templates/utils/_daemonset_overrides.tpl
+@@ -49,10 +49,10 @@ limitations under the License.
+               {{- $override_conf_copy := $host_data.conf }}
+               {{/* Deep copy to prevent https://storyboard.openstack.org/#!/story/2005936 */}}
+               {{- $root_conf_copy := omit ($context.Values.conf | toYaml | fromYaml) "overrides" }}
+-              {{- $merged_dict := mergeOverwrite $root_conf_copy $override_conf_copy }}
++              {{- $merged_dict := merge $override_conf_copy $root_conf_copy }}
+               {{- $root_conf_copy2 := dict "conf" $merged_dict }}
+               {{- $context_values := omit (omit ($context.Values | toYaml | fromYaml) "conf") "__daemonset_list" }}
+-              {{- $root_conf_copy3 := mergeOverwrite $context_values $root_conf_copy2 }}
++              {{- $root_conf_copy3 := merge $context_values $root_conf_copy2 }}
+               {{- $root_conf_copy4 := dict "Values" $root_conf_copy3 }}
+               {{- $_ := set $current_dict "nodeData" $root_conf_copy4 }}
+@@ -89,10 +89,10 @@ limitations under the License.
+               {{- $override_conf_copy := $label_data.conf }}
+               {{/* Deep copy to prevent https://storyboard.openstack.org/#!/story/2005936 */}}
+               {{- $root_conf_copy := omit ($context.Values.conf | toYaml | fromYaml) "overrides" }}
+-              {{- $merged_dict := mergeOverwrite $root_conf_copy $override_conf_copy }}
++              {{- $merged_dict := merge $override_conf_copy $root_conf_copy }}
+               {{- $root_conf_copy2 := dict "conf" $merged_dict }}
+               {{- $context_values := omit (omit ($context.Values | toYaml | fromYaml) "conf") "__daemonset_list" }}
+-              {{- $root_conf_copy3 := mergeOverwrite $context_values $root_conf_copy2 }}
++              {{- $root_conf_copy3 := merge $context_values $root_conf_copy2 }}
+               {{- $root_conf_copy4 := dict "Values" $root_conf_copy3 }}
+               {{- $_ := set $context.Values.__current_label "nodeData" $root_conf_copy4 }}
+@@ -187,7 +187,7 @@ limitations under the License.
+   {{- $root_conf_copy1 := omit $context.Values.conf "overrides" }}
+   {{- $root_conf_copy2 := dict "conf" $root_conf_copy1 }}
+   {{- $context_values := omit $context.Values "conf" }}
+-  {{- $root_conf_copy3 := mergeOverwrite $context_values $root_conf_copy2 }}
++  {{- $root_conf_copy3 := merge $context_values $root_conf_copy2 }}
+   {{- $root_conf_copy4 := dict "Values" $root_conf_copy3 }}
+   {{- $_ := set $context.Values.__default "nodeData" $root_conf_copy4 }}
+@@ -198,7 +198,7 @@ limitations under the License.
+   {{- range $current_dict := $context.Values.__daemonset_list }}
+     {{- $context_novalues := omit $context "Values" }}
+-    {{- $merged_dict := mergeOverwrite $context_novalues $current_dict.nodeData }}
++    {{- $merged_dict := merge $current_dict.nodeData $context_novalues }}
+     {{- $_ := set $current_dict "nodeData" $merged_dict }}
+     {{/* Deep copy original daemonset_yaml */}}
+     {{- $_ := set $context.Values "__daemonset_yaml" ($daemonset_yaml | toYaml | fromYaml) }}
+-- 
+2.7.4
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0005-Add-TLS-support-for-Gnocchi-public-endpoint.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0005-Add-TLS-support-for-Gnocchi-public-endpoint.patch
new file mode 100644 (file)
index 0000000..45835dc
--- /dev/null
@@ -0,0 +1,77 @@
+From e2e9b3c707599b4074ebf504f6a2fa5c185481e2 Mon Sep 17 00:00:00 2001
+From: Angie Wang <angie.wang@windriver.com>
+Date: Tue, 9 Jul 2019 13:37:29 -0400
+Subject: [PATCH 1/1] Add TLS support for Gnocchi public endpoint
+
+Signed-off-by: Angie Wang <angie.wang@windriver.com>
+---
+ gnocchi/templates/secret-ingress-tls.yaml | 19 +++++++++++++++++++
+ gnocchi/values.yaml                       | 12 ++++++++++++
+ 2 files changed, 31 insertions(+)
+ create mode 100644 gnocchi/templates/secret-ingress-tls.yaml
+
+diff --git a/gnocchi/templates/secret-ingress-tls.yaml b/gnocchi/templates/secret-ingress-tls.yaml
+new file mode 100644
+index 0000000..fc279cd
+--- /dev/null
++++ b/gnocchi/templates/secret-ingress-tls.yaml
+@@ -0,0 +1,19 @@
++{{/*
++Copyright 2019 Wind River Systems, Inc.
++
++Licensed under the Apache License, Version 2.0 (the "License");
++you may not use this file except in compliance with the License.
++You may obtain a copy of the License at
++
++   http://www.apache.org/licenses/LICENSE-2.0
++
++Unless required by applicable law or agreed to in writing, software
++distributed under the License is distributed on an "AS IS" BASIS,
++WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++See the License for the specific language governing permissions and
++limitations under the License.
++*/}}
++
++{{- if .Values.manifests.secret_ingress_tls }}
++{{- include "helm-toolkit.manifests.secret_ingress_tls" ( dict "envAll" . "backendServiceType" "metric" ) }}
++{{- end }}
+diff --git a/gnocchi/values.yaml b/gnocchi/values.yaml
+index a4496b7..394e82a 100644
+--- a/gnocchi/values.yaml
++++ b/gnocchi/values.yaml
+@@ -472,6 +472,10 @@ secrets:
+     admin: gnocchi-db-indexer-admin
+     gnocchi: gnocchi-db-indexer-user
+   rbd: gnocchi-rbd-keyring
++  tls:
++    metric:
++      api:
++        public: gnocchi-tls-public
+ bootstrap:
+   enabled: false
+@@ -538,6 +542,13 @@ endpoints:
+       public: gnocchi
+     host_fqdn_override:
+       default: null
++      # NOTE: this chart supports TLS for fqdn over-ridden public
++      # endpoints using the following format:
++      # public:
++      #   host: null
++      #   tls:
++      #     crt: null
++      #     key: null
+     path:
+       default: null
+     scheme:
+@@ -633,6 +644,7 @@ manifests:
+   pod_gnocchi_test: true
+   secret_db: true
+   secret_keystone: true
++  secret_ingress_tls: true
+   service_api: true
+   service_ingress_api: true
+   service_statsd: true
+-- 
+2.7.4
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0006-Fix-pod-restarts-on-all-workers-when-worker-added-re.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0006-Fix-pod-restarts-on-all-workers-when-worker-added-re.patch
new file mode 100644 (file)
index 0000000..272b304
--- /dev/null
@@ -0,0 +1,46 @@
+From 326fcd76f54d7c099f4c3da6c31eefe0eef2e236 Mon Sep 17 00:00:00 2001
+From: Ovidiu Poncea <ovidiu.poncea@windriver.com>
+Date: Mon, 29 Jul 2019 08:00:01 -0400
+Subject: [PATCH] Fix pod restarts on all workers when worker added/removed
+
+---
+ helm-toolkit/templates/utils/_daemonset_overrides.tpl | 4 ++--
+ helm-toolkit/templates/utils/_hash.tpl                | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/helm-toolkit/templates/utils/_daemonset_overrides.tpl b/helm-toolkit/templates/utils/_daemonset_overrides.tpl
+index ab1177a..e564869 100644
+--- a/helm-toolkit/templates/utils/_daemonset_overrides.tpl
++++ b/helm-toolkit/templates/utils/_daemonset_overrides.tpl
+@@ -215,7 +215,7 @@ limitations under the License.
+     name uniqueness */}}
+     {{- $_ := set $current_dict "dns_1123_name" dict }}
+     {{- if hasKey $current_dict "matchExpressions" }}
+-      {{- $_ := set $current_dict "dns_1123_name" (printf (print $name_format2 "-" ($current_dict.matchExpressions | quote | sha256sum | trunc 8))) }}
++      {{- $_ := set $current_dict "dns_1123_name" (printf (print $name_format2 "-" ($current_dict.matchExpressions | toJson | sha256sum | trunc 8))) }}
+     {{- else }}
+       {{- $_ := set $current_dict "dns_1123_name" $name_format2 }}
+     {{- end }}
+@@ -258,7 +258,7 @@ limitations under the License.
+     {{- if not $context.Values.__daemonset_yaml.spec.template.metadata }}{{- $_ := set $context.Values.__daemonset_yaml.spec.template "metadata" dict }}{{- end }}
+     {{- if not $context.Values.__daemonset_yaml.spec.template.metadata.annotations }}{{- $_ := set $context.Values.__daemonset_yaml.spec.template.metadata "annotations" dict }}{{- end }}
+     {{- $cmap := list $current_dict.dns_1123_name $current_dict.nodeData | include $configmap_include }}
+-    {{- $values_hash := $cmap | quote | sha256sum }}
++    {{- $values_hash := $cmap | toJson | sha256sum }}
+     {{- $_ := set $context.Values.__daemonset_yaml.spec.template.metadata.annotations "configmap-etc-hash" $values_hash }}
+     {{/* generate configmap */}}
+diff --git a/helm-toolkit/templates/utils/_hash.tpl b/helm-toolkit/templates/utils/_hash.tpl
+index 1041ec0..e419e3b 100644
+--- a/helm-toolkit/templates/utils/_hash.tpl
++++ b/helm-toolkit/templates/utils/_hash.tpl
+@@ -19,5 +19,5 @@ limitations under the License.
+ {{- $context := index . 1 -}}
+ {{- $last := base $context.Template.Name }}
+ {{- $wtf := $context.Template.Name | replace $last $name -}}
+-{{- include $wtf $context | sha256sum | quote -}}
++{{- include $wtf $context | toJson | sha256sum | quote -}}
+ {{- end -}}
+-- 
+2.7.4
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0007-Add-io_thread_pool-for-rabbitmq.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0007-Add-io_thread_pool-for-rabbitmq.patch
new file mode 100644 (file)
index 0000000..1922f8d
--- /dev/null
@@ -0,0 +1,55 @@
+From f4c56def0797f093f626720871bd5e525227685e Mon Sep 17 00:00:00 2001
+From: Bin Yang <bin.yang@intel.com>
+Date: Tue, 13 Aug 2019 10:15:14 +0800
+Subject: [PATCH] add io_thread_pool for rabbitmq
+
+Signed-off-by: Bin Yang <bin.yang@intel.com>
+---
+ rabbitmq/templates/statefulset.yaml | 8 ++++++++
+ rabbitmq/values.yaml                | 4 ++++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/rabbitmq/templates/statefulset.yaml b/rabbitmq/templates/statefulset.yaml
+index 41dc198..e0e61e6 100644
+--- a/rabbitmq/templates/statefulset.yaml
++++ b/rabbitmq/templates/statefulset.yaml
+@@ -105,6 +105,10 @@ spec:
+                   key: RABBITMQ_ADMIN_PASSWORD
+             - name: RABBITMQ_DEFINITION_FILE
+               value: "{{ index $envAll.Values.conf.rabbitmq "management.load_definitions" }}"
++{{- if $envAll.Values.io_thread_pool.enabled }}
++            - name: RABBITMQ_IO_THREAD_POOL_SIZE
++              value: {{ $envAll.Values.io_thread_pool.size | quote }}
++{{- end }}
+           volumeMounts:
+             - name: pod-tmp
+               mountPath: /tmp
+@@ -191,6 +195,10 @@ spec:
+               value: "{{ tuple "oslo_messaging" "internal" "amqp" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}"
+             - name: PORT_CLUSTERING
+               value: "{{ add (tuple "oslo_messaging" "internal" "amqp" . | include "helm-toolkit.endpoints.endpoint_port_lookup") 20000 }}"
++{{- if $envAll.Values.io_thread_pool.enabled }}
++            - name: RABBITMQ_IO_THREAD_POOL_SIZE
++              value: {{ $envAll.Values.io_thread_pool.size | quote }}
++{{- end }}
+           readinessProbe:
+             initialDelaySeconds: 10
+             timeoutSeconds: 10
+diff --git a/rabbitmq/values.yaml b/rabbitmq/values.yaml
+index 6c95787..9cd3a91 100644
+--- a/rabbitmq/values.yaml
++++ b/rabbitmq/values.yaml
+@@ -334,6 +334,10 @@ volume:
+   class_name: general
+   size: 256Mi
++io_thread_pool:
++  enabled: false
++  size: 64
++
+ manifests:
+   configmap_bin: true
+   configmap_etc: true
+-- 
+2.7.4
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0008-Enable-override-of-rabbitmq-probe-parameters.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/0008-Enable-override-of-rabbitmq-probe-parameters.patch
new file mode 100644 (file)
index 0000000..bf41eb4
--- /dev/null
@@ -0,0 +1,63 @@
+From 132df9829fa4c697e0b9701871888708973f9123 Mon Sep 17 00:00:00 2001
+From: Gerry Kopec <Gerry.Kopec@windriver.com>
+Date: Fri, 16 Aug 2019 14:29:46 -0400
+Subject: [PATCH] Enable override of rabbitmq probe parameters
+
+Add variables for initial delay, period and timeout for rabbitmq
+liveness and readiness probes.
+
+Change-Id: I8d2685118eb4ce3b8c27952892f7ad553fc5de77
+Signed-off-by: Gerry Kopec <Gerry.Kopec@windriver.com>
+---
+ rabbitmq/templates/statefulset.yaml | 10 ++++++----
+ rabbitmq/values.yaml                |  9 +++++++++
+ 2 files changed, 15 insertions(+), 4 deletions(-)
+
+diff --git a/rabbitmq/templates/statefulset.yaml b/rabbitmq/templates/statefulset.yaml
+index e0e61e6..f71dc3e 100644
+--- a/rabbitmq/templates/statefulset.yaml
++++ b/rabbitmq/templates/statefulset.yaml
+@@ -200,14 +200,16 @@ spec:
+               value: {{ $envAll.Values.io_thread_pool.size | quote }}
+ {{- end }}
+           readinessProbe:
+-            initialDelaySeconds: 10
+-            timeoutSeconds: 10
++            initialDelaySeconds: {{ $envAll.Values.pod.probes.readiness.initialDelaySeconds }}
++            periodSeconds: {{ $envAll.Values.pod.probes.readiness.periodSeconds }}
++            timeoutSeconds: {{ $envAll.Values.pod.probes.readiness.timeoutSeconds }}
+             exec:
+               command:
+               - /tmp/rabbitmq-readiness.sh
+           livenessProbe:
+-            initialDelaySeconds: 30
+-            timeoutSeconds: 10
++            initialDelaySeconds: {{ $envAll.Values.pod.probes.liveness.initialDelaySeconds }}
++            periodSeconds: {{ $envAll.Values.pod.probes.liveness.periodSeconds }}
++            timeoutSeconds: {{ $envAll.Values.pod.probes.liveness.timeoutSeconds }}
+             exec:
+               command:
+               - /tmp/rabbitmq-liveness.sh
+diff --git a/rabbitmq/values.yaml b/rabbitmq/values.yaml
+index 9cd3a91..2bae4cb 100644
+--- a/rabbitmq/values.yaml
++++ b/rabbitmq/values.yaml
+@@ -145,6 +145,15 @@ pod:
+         limits:
+           memory: "1024Mi"
+           cpu: "2000m"
++  probes:
++    readiness:
++      initialDelaySeconds: 10
++      periodSeconds: 10
++      timeoutSeconds: 10
++    liveness:
++      initialDelaySeconds: 30
++      periodSeconds: 10
++      timeoutSeconds: 10
+ conf:
+   enabled_plugins:
+-- 
+2.7.4
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/repositories.yaml b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra/repositories.yaml
new file mode 100644 (file)
index 0000000..7fbaebd
--- /dev/null
@@ -0,0 +1,12 @@
+---
+apiVersion: v1
+generated: 2019-01-02T15:19:36.215111369-06:00
+repositories:
+  - caFile: ""
+    cache: /builddir/.helm/repository/cache/local-index.yaml
+    certFile: ""
+    keyFile: ""
+    name: local
+    password: ""
+    url: http://127.0.0.1:8879/charts
+    username: ""
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra_1.0.bb b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm-infra_1.0.bb
new file mode 100644 (file)
index 0000000..29713c3
--- /dev/null
@@ -0,0 +1,94 @@
+
+SUMMARY = "Openstack-Helm-Infra charts"
+DESCRIPTION = "Openstack-Helm-Infra charts"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS += "helm-native"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCREV_openstack-helm-infra = "c9d6676bf9a5aceb311dc31dadd07cba6a3d6392"
+SRCREV_openstack-armada-app = "863f4b9733d3d4f4fd490606a94b84cfdaf2df2c"
+
+# Patches pulled from:
+# SRCREV_openstack-armada-app = "863f4b9733d3d4f4fd490606a94b84cfdaf2df2c"
+# git://opendev.org/starlingx/openstack-armada-app
+
+SRC_URI = " \
+    git://github.com/openstack/openstack-helm-infra;protocol=${PROTOCOL};name=openstack-helm-infra \
+    file://0001-Allow-multiple-containers-per-daemonset-pod.patch \
+    file://0002-Add-imagePullSecrets-in-service-account.patch \
+    file://0003-Set-Min-NGINX-handles.patch \
+    file://0004-Partial-revert-of-31e3469d28858d7b5eb6355e88b6f49fd6.patch \
+    file://0005-Add-TLS-support-for-Gnocchi-public-endpoint.patch \
+    file://0006-Fix-pod-restarts-on-all-workers-when-worker-added-re.patch \
+    file://0007-Add-io_thread_pool-for-rabbitmq.patch \
+    file://0008-Enable-override-of-rabbitmq-probe-parameters.patch \
+    file://repositories.yaml \
+    "
+
+PATCHTOOL = "git"
+PATCH_COMMIT_FUNCTIONS = "1"
+
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+helm_folder = "${nonarch_libdir}/helm"
+
+do_configure[noexec] = "1"
+
+do_compile () {
+       # initialize helm and build the toolkit
+       # helm init --client-only does not work if there is no networking
+       # The following commands do essentially the same as: helm init
+       export HOME="${B}/${USER}"
+       export helm_home="${B}/${USER}/.helm"
+       rm -rf ${helm_home}
+
+       mkdir -p ${helm_home}
+       mkdir ${helm_home}/repository
+       mkdir ${helm_home}/repository/cache
+       mkdir ${helm_home}/repository/local
+       mkdir ${helm_home}/plugins
+       mkdir ${helm_home}/starters
+       mkdir ${helm_home}/cache
+       mkdir ${helm_home}/cache/archive
+
+       # Stage a repository file that only has a local repo
+       install -m 0644 ${WORKDIR}/repositories.yaml \
+               ${helm_home}/repository/repositories.yaml
+
+       # Host a server for the charts
+       tmpdir=`mktemp -d ${B}/charts-XXXXXX`
+       helm serve ${tmpdir} --address localhost:8879 --url http://localhost:8879/charts &
+       sleep 1
+       helm repo rm local
+       helm repo add local http://localhost:8879/charts
+
+       # Make the charts. These produce tgz files
+       make helm-toolkit
+       make gnocchi
+       make ingress
+       make libvirt
+       make mariadb
+       make memcached
+       make openvswitch
+       make rabbitmq
+       make ceph-rgw
+
+       # terminate helm server (the last backgrounded task)
+       kill $!
+       rm -rf ${helm_home}
+}
+
+do_install () {
+       install -d -m 755 ${D}${helm_folder}
+       install -p -D -m 755 ${B}/*.tgz ${D}${helm_folder}
+}
+
+FILES_${PN} = "${helm_folder}"
+
+RDEPENDS_${PN} = "helm"
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0001-Ceilometer-chart-add-the-ability-to-publish-events-t.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0001-Ceilometer-chart-add-the-ability-to-publish-events-t.patch
new file mode 100644 (file)
index 0000000..578592b
--- /dev/null
@@ -0,0 +1,81 @@
+From 5302aa4e87694e96cc3dfc56ae494a1a8211cc37 Mon Sep 17 00:00:00 2001
+From: Angie Wang <angie.wang@windriver.com>
+Date: Wed, 6 Mar 2019 18:06:06 -0500
+Subject: [PATCH 01] Ceilometer chart: add the ability to publish events to
+ panko
+
+Ceilometer notification agent sends the events to panko via panko
+dispatcher/publisher which requires the db connection information
+in /etc/panko/panko.conf.
+This commit updates to mount the configuration file for panko in
+ceilometer notification pod.
+
+Change-Id: I4ca524ed7462f945a245e9dbe1d69493dbc4211d
+Story: 2005019
+Task: 29498
+Depends-On: https://review.openstack.org/#/c/641144/
+Signed-off-by: Angie Wang <angie.wang@windriver.com>
+(cherry picked from commit 507bc47f1447808c57c1c8aa82b0639543083656)
+Signed-off-by: Robert Church <robert.church@windriver.com>
+---
+ ceilometer/values.yaml | 29 +++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
+
+diff --git a/ceilometer/values.yaml b/ceilometer/values.yaml
+index 44dda74..1343670 100644
+--- a/ceilometer/values.yaml
++++ b/ceilometer/values.yaml
+@@ -1706,6 +1706,8 @@ dependencies:
+           service: mongodb
+         - endpoint: internal
+           service: metric
++        - endpoint: internal
++          service: event
+     tests:
+       services:
+         - endpoint: internal
+@@ -1827,6 +1829,21 @@ endpoints:
+       api:
+         default: 8041
+         public: 80
++  event:
++    name: panko
++    hosts:
++      default: panko-api
++      public: panko
++    host_fqdn_override:
++      default: null
++    path:
++      default: null
++    scheme:
++      default: 'http'
++    port:
++      api:
++        default: 8977
++        public: 80
+   alarming:
+     name: aodh
+     hosts:
+@@ -1958,7 +1975,19 @@ pod:
+       init_container: null
+       ceilometer_notification:
+         volumeMounts:
++          - name: etcpanko
++            mountPath: /etc/panko
++          - name: panko-etc
++            mountPath: /etc/panko/panko.conf
++            subPath: panko.conf
++            readOnly: true
+         volumes:
++          - name: etcpanko
++            emptyDir: {}
++          - name: panko-etc
++            secret:
++              secretName: panko-etc
++              defaultMode: 0444
+     ceilometer_db_sync:
+       ceilometer_db_sync:
+         volumeMounts:
+-- 
+2.7.4
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0002-Remove-stale-Apache2-service-pids-when-a-POD-starts.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0002-Remove-stale-Apache2-service-pids-when-a-POD-starts.patch
new file mode 100644 (file)
index 0000000..768673e
--- /dev/null
@@ -0,0 +1,70 @@
+From a0e8c7e3764b168eaaa82d17d965f62d34766573 Mon Sep 17 00:00:00 2001
+From: Chris Friesen <chris.friesen@windriver.com>
+Date: Wed, 28 Nov 2018 01:33:39 -0500
+Subject: [PATCH 02] Remove stale Apache2 service pids when a POD starts.
+
+Stale Apache2 pids will prevent Apache2 from starting and will leave
+the POD in a crashed state.
+
+Note: the pid file is somewhat confusingly called
+/var/run/httpd/httpd.pid and /var/run/apache2 is just a symlink to
+/var/run/httpd.
+
+This is loosely based off the in-review upstream commit at
+https://review.openstack.org/#/c/619747
+
+Signed-off-by: Robert Church <robert.church@windriver.com>
+---
+ ceilometer/templates/bin/_ceilometer-api.sh.tpl | 3 +++
+ keystone/templates/bin/_keystone-api.sh.tpl     | 6 ++----
+ nova/templates/bin/_nova-placement-api.sh.tpl   | 3 +++
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/ceilometer/templates/bin/_ceilometer-api.sh.tpl b/ceilometer/templates/bin/_ceilometer-api.sh.tpl
+index 25b2f9e..3870b4e 100644
+--- a/ceilometer/templates/bin/_ceilometer-api.sh.tpl
++++ b/ceilometer/templates/bin/_ceilometer-api.sh.tpl
+@@ -42,6 +42,9 @@ function start () {
+     fi
+   fi
++  # Get rid of stale pid file if present.
++  rm -f /var/run/apache2/*.pid
++
+   # Start Apache2
+   exec {{ .Values.conf.software.apache2.binary }} {{ .Values.conf.software.apache2.start_parameters }}
+ }
+diff --git a/keystone/templates/bin/_keystone-api.sh.tpl b/keystone/templates/bin/_keystone-api.sh.tpl
+index 384ee8b..4c72310 100644
+--- a/keystone/templates/bin/_keystone-api.sh.tpl
++++ b/keystone/templates/bin/_keystone-api.sh.tpl
+@@ -43,10 +43,8 @@ function start () {
+      source /etc/apache2/envvars
+   fi
+-  if [ -f /var/run/apache2/apache2.pid ]; then
+-     # Remove the stale pid for debian/ubuntu images
+-     rm -f /var/run/apache2/apache2.pid
+-  fi
++  # Get rid of stale pid, shared memory segment and wsgi sock files if present.
++  rm -f /var/run/apache2/*
+   # Start Apache2
+   exec {{ .Values.conf.software.apache2.binary }} {{ .Values.conf.software.apache2.start_parameters }}
+diff --git a/nova/templates/bin/_nova-placement-api.sh.tpl b/nova/templates/bin/_nova-placement-api.sh.tpl
+index bc15a37..055d079 100644
+--- a/nova/templates/bin/_nova-placement-api.sh.tpl
++++ b/nova/templates/bin/_nova-placement-api.sh.tpl
+@@ -33,6 +33,9 @@ function start () {
+      fi
+   fi
++  # Get rid of stale pid file if present.
++  rm -f /var/run/apache2/*.pid
++
+   # Start Apache2
+   {{- if .Values.conf.software.apache2.a2enmod }}
+     {{- range .Values.conf.software.apache2.a2enmod }}
+-- 
+2.7.4
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0003-Nova-console-ip-address-search-optionality.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0003-Nova-console-ip-address-search-optionality.patch
new file mode 100644 (file)
index 0000000..8a57d19
--- /dev/null
@@ -0,0 +1,66 @@
+From 64b22037b53e6423c465367c26a6d7255768ae17 Mon Sep 17 00:00:00 2001
+From: Gerry Kopec <Gerry.Kopec@windriver.com>
+Date: Wed, 27 Mar 2019 00:35:57 -0400
+Subject: [PATCH 03] Nova console/ip address search optionality
+
+Add options to nova to enable/disable the use of:
+1. the vnc or spice server proxyclient address found by the console
+   compute init container
+2. my_ip hypervisor address found by compute init container
+
+These options can be used to prevent cases where the found addresses
+overwrite what has already been defined in nova.conf by per host nova
+compute daemonset overrides.
+
+Story: 2005259
+Task: 30066
+Change-Id: Idf490f8b19dcd1e71a9b5fa8934461f1198a8af8
+Signed-off-by: Gerry Kopec <Gerry.Kopec@windriver.com>
+(cherry picked from commit f5e8ad20e35b770e5967f75f6f93f0a4dc6e3b41)
+Signed-off-by: Robert Church <robert.church@windriver.com>
+---
+ nova/templates/bin/_nova-compute.sh.tpl | 6 +++++-
+ nova/values.yaml                        | 3 ++-
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/nova/templates/bin/_nova-compute.sh.tpl b/nova/templates/bin/_nova-compute.sh.tpl
+index c80da6d..4927908 100644
+--- a/nova/templates/bin/_nova-compute.sh.tpl
++++ b/nova/templates/bin/_nova-compute.sh.tpl
+@@ -20,6 +20,10 @@ set -ex
+ exec nova-compute \
+       --config-file /etc/nova/nova.conf \
++{{- if .Values.console.address_search_enabled }}
+       --config-file /tmp/pod-shared/nova-console.conf \
++{{- end }}
+       --config-file /tmp/pod-shared/nova-libvirt.conf \
+-      --config-file /tmp/pod-shared/nova-hypervisor.conf
+\ No newline at end of file
++{{- if .Values.conf.hypervisor.address_search_enabled }}
++      --config-file /tmp/pod-shared/nova-hypervisor.conf
++{{- end }}
+diff --git a/nova/values.yaml b/nova/values.yaml
+index 29512ca..7ba2925 100644
+--- a/nova/values.yaml
++++ b/nova/values.yaml
+@@ -461,7 +461,7 @@ console:
+     vncproxy:
+       # IF blank, search default routing interface
+       vncserver_proxyclient_interface:
+-
++  address_search_enabled: true
+ ssh:
+   key_types:
+     - rsa
+@@ -1598,6 +1598,7 @@ conf:
+     # If this option is set to None, the hostname of the migration target compute node will be used.
+     live_migration_interface:
+   hypervisor:
++    address_search_enabled: true
+     # my_ip can be set automatically through this interface name.
+     host_interface:
+   # This list is the keys to exclude from the config file ingested by nova-compute
+-- 
+2.7.4
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0004-Nova-chart-Support-ephemeral-pool-creation.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0004-Nova-chart-Support-ephemeral-pool-creation.patch
new file mode 100644 (file)
index 0000000..6e66796
--- /dev/null
@@ -0,0 +1,347 @@
+From 4f6701c4cab07d9f54012e2a143173803f97ff3d Mon Sep 17 00:00:00 2001
+From: Irina Mihai <irina.mihai@windriver.com>
+Date: Tue, 26 Feb 2019 17:43:53 +0000
+Subject: [PATCH 04] Nova chart: Support ephemeral pool creation
+
+If libvirt images_type is rbd, then we need to have the
+images_rbd_pool present. These changes add a new job
+to make sure this pool exists.
+
+Change-Id: Iee307cb54384d1c4583d00a8d28f7b1a0676d7d8
+Story: 2004922
+Task: 29285
+Signed-off-by: Irina Mihai <irina.mihai@windriver.com>
+(cherry picked from commit 0afcb0b37cdcf57436e44867bac9242d8684ce81)
+Signed-off-by: Robert Church <robert.church@windriver.com>
+---
+ nova/templates/bin/_nova-storage-init.sh.tpl |  75 +++++++++++++
+ nova/templates/configmap-bin.yaml            |   4 +-
+ nova/templates/job-storage-init.yaml         | 155 +++++++++++++++++++++++++++
+ nova/values.yaml                             |  19 +++-
+ 4 files changed, 251 insertions(+), 2 deletions(-)
+ create mode 100644 nova/templates/bin/_nova-storage-init.sh.tpl
+ create mode 100644 nova/templates/job-storage-init.yaml
+
+diff --git a/nova/templates/bin/_nova-storage-init.sh.tpl b/nova/templates/bin/_nova-storage-init.sh.tpl
+new file mode 100644
+index 0000000..f79fcff
+--- /dev/null
++++ b/nova/templates/bin/_nova-storage-init.sh.tpl
+@@ -0,0 +1,75 @@
++#!/bin/bash
++
++{{/*
++Copyright 2019 The Openstack-Helm Authors.
++
++Licensed under the Apache License, Version 2.0 (the "License");
++you may not use this file except in compliance with the License.
++You may obtain a copy of the License at
++
++   http://www.apache.org/licenses/LICENSE-2.0
++
++Unless required by applicable law or agreed to in writing, software
++distributed under the License is distributed on an "AS IS" BASIS,
++WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++See the License for the specific language governing permissions and
++limitations under the License.
++*/}}
++
++set -x
++if [ "x$STORAGE_BACKEND" == "xrbd" ]; then
++  SECRET=$(mktemp --suffix .yaml)
++  KEYRING=$(mktemp --suffix .keyring)
++  function cleanup {
++      rm -f ${SECRET} ${KEYRING}
++  }
++  trap cleanup EXIT
++fi
++
++set -ex
++if [ "x$STORAGE_BACKEND" == "xrbd" ]; then
++  ceph -s
++  function ensure_pool () {
++    ceph osd pool stats $1 || ceph osd pool create $1 $2
++    local test_version=$(ceph tell osd.* version | egrep -c "mimic|luminous" | xargs echo)
++    if [[ ${test_version} -gt 0 ]]; then
++      ceph osd pool application enable $1 $3
++    fi
++    size_protection=$(ceph osd pool get $1 nosizechange | cut -f2 -d: | tr -d '[:space:]')
++    ceph osd pool set $1 nosizechange 0
++    ceph osd pool set $1 size ${RBD_POOL_REPLICATION}
++    ceph osd pool set $1 nosizechange ${size_protection}
++    ceph osd pool set $1 crush_rule "${RBD_POOL_CRUSH_RULE}"
++  }
++  ensure_pool ${RBD_POOL_NAME} ${RBD_POOL_CHUNK_SIZE} "nova-ephemeral"
++
++  if USERINFO=$(ceph auth get client.${RBD_POOL_USER}); then
++    echo "Cephx user client.${RBD_POOL_USER} already exist."
++    echo "Update its cephx caps"
++    ceph auth caps client.${RBD_POOL_USER} \
++      mon "profile rbd" \
++      osd "profile rbd"
++    ceph auth get client.${RBD_POOL_USER} -o ${KEYRING}
++  else
++    # NOTE: Restrict Nova permissions to what is needed.
++    # MON Read only and RBD access to the Nova ephemeral pool only.
++    ceph auth get-or-create client.${RBD_POOL_USER} \
++      mon "profile rbd" \
++      osd "profile rbd" \
++      -o ${KEYRING}
++  fi
++
++  ENCODED_KEYRING=$(sed -n 's/^[[:blank:]]*key[[:blank:]]\+=[[:blank:]]\(.*\)/\1/p' ${KEYRING} | base64 -w0)
++  cat > ${SECRET} <<EOF
++apiVersion: v1
++kind: Secret
++metadata:
++  name: "${RBD_POOL_SECRET}"
++type: kubernetes.io/rbd
++data:
++  key: $( echo ${ENCODED_KEYRING} )
++EOF
++  kubectl apply --namespace ${NAMESPACE} -f ${SECRET}
++
++fi
++
+diff --git a/nova/templates/configmap-bin.yaml b/nova/templates/configmap-bin.yaml
+index c58b90b..268434f 100644
+--- a/nova/templates/configmap-bin.yaml
++++ b/nova/templates/configmap-bin.yaml
+@@ -1,5 +1,5 @@
+ {{/*
+-Copyright 2017 The Openstack-Helm Authors.
++Copyright 2017-2019 The Openstack-Helm Authors.
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+@@ -83,6 +83,8 @@ data:
+ {{ tuple "bin/_nova-console-proxy-init.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
+   nova-console-proxy-init-assets.sh: |
+ {{ tuple "bin/_nova-console-proxy-init-assets.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
++  nova-storage-init.sh: |
++{{ tuple "bin/_nova-storage-init.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
+   ssh-start.sh: |
+ {{ tuple "bin/_ssh-start.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
+   cell-setup.sh: |
+diff --git a/nova/templates/job-storage-init.yaml b/nova/templates/job-storage-init.yaml
+new file mode 100644
+index 0000000..7d057fb
+--- /dev/null
++++ b/nova/templates/job-storage-init.yaml
+@@ -0,0 +1,155 @@
++{{/*
++Copyright 2019 The Openstack-Helm Authors.
++
++Licensed under the Apache License, Version 2.0 (the "License");
++you may not use this file except in compliance with the License.
++You may obtain a copy of the License at
++
++   http://www.apache.org/licenses/LICENSE-2.0
++
++Unless required by applicable law or agreed to in writing, software
++distributed under the License is distributed on an "AS IS" BASIS,
++WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++See the License for the specific language governing permissions and
++limitations under the License.
++*/}}
++
++{{- if .Values.manifests.job_storage_init }}
++{{- $envAll := . }}
++
++{{- $serviceAccountName := "nova-storage-init" }}
++{{ tuple $envAll "storage_init" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
++---
++apiVersion: rbac.authorization.k8s.io/v1beta1
++kind: Role
++metadata:
++  name: {{ $serviceAccountName }}
++rules:
++  - apiGroups:
++      - ""
++    resources:
++      - secrets
++    verbs:
++      - get
++      - create
++      - update
++      - patch
++---
++apiVersion: rbac.authorization.k8s.io/v1beta1
++kind: RoleBinding
++metadata:
++  name: {{ $serviceAccountName }}
++roleRef:
++  apiGroup: rbac.authorization.k8s.io
++  kind: Role
++  name: {{ $serviceAccountName }}
++subjects:
++  - kind: ServiceAccount
++    name: {{ $serviceAccountName }}
++    namespace: {{ $envAll.Release.Namespace }}
++---
++apiVersion: batch/v1
++kind: Job
++metadata:
++  name: nova-storage-init
++spec:
++  template:
++    metadata:
++      labels:
++{{ tuple $envAll "nova" "storage-init" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
++    spec:
++      serviceAccountName: {{ $serviceAccountName }}
++      restartPolicy: OnFailure
++      nodeSelector:
++        {{ .Values.labels.job.node_selector_key }}: {{ .Values.labels.job.node_selector_value }}
++      initContainers:
++{{ tuple $envAll "storage_init" list | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
++        {{ if or .Values.conf.ceph.enabled }}
++        - name: ceph-keyring-placement
++{{ tuple $envAll "nova_storage_init" | include "helm-toolkit.snippets.image" | indent 10 }}
++          securityContext:
++            runAsUser: 0
++          command:
++            - /tmp/ceph-admin-keyring.sh
++          volumeMounts:
++            - name: etcceph
++              mountPath: /etc/ceph
++            - name: nova-bin
++              mountPath: /tmp/ceph-admin-keyring.sh
++              subPath: ceph-admin-keyring.sh
++              readOnly: true
++            {{- if empty .Values.conf.ceph.admin_keyring }}
++            - name: ceph-keyring
++              mountPath: /tmp/client-keyring
++              subPath: key
++              readOnly: true
++            {{ end }}
++        {{ end }}
++      containers:
++        {{- range $ephemeralPool := .Values.conf.ceph.ephemeral_storage.rbd_pools }}
++        - name: nova-storage-init-{{- $ephemeralPool.rbd_pool_name }}
++{{ tuple $envAll "nova_storage_init" | include "helm-toolkit.snippets.image" | indent 10 }}
++{{ tuple $envAll $envAll.Values.pod.resources.jobs.storage_init | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
++          env:
++            - name: NAMESPACE
++              valueFrom:
++                fieldRef:
++                  fieldPath: metadata.namespace
++            {{ if and (eq $envAll.Values.conf.ceph.ephemeral_storage.type "rbd") $envAll.Values.conf.ceph.enabled }}
++            - name: STORAGE_BACKEND
++              value: {{ $envAll.Values.conf.ceph.ephemeral_storage.type }}
++            - name: RBD_POOL_NAME
++              value: {{ $ephemeralPool.rbd_pool_name | quote }}
++            - name: RBD_POOL_USER
++              value: {{ $ephemeralPool.rbd_user | quote }}
++            - name: RBD_POOL_CRUSH_RULE
++              value: {{ $ephemeralPool.rbd_crush_rule | quote }}
++            - name: RBD_POOL_REPLICATION
++              value: {{ $ephemeralPool.rbd_replication | quote }}
++            - name: RBD_POOL_CHUNK_SIZE
++              value: {{ $ephemeralPool.rbd_chunk_size | quote }}
++            - name: RBD_POOL_SECRET
++              value: {{ $envAll.Values.secrets.ephemeral | quote }}
++            {{- end }}
++          command:
++            - /tmp/nova-storage-init.sh
++          volumeMounts:
++            - name: nova-bin
++              mountPath: /tmp/nova-storage-init.sh
++              subPath: nova-storage-init.sh
++              readOnly: true
++            {{ if or $envAll.Values.conf.ceph.enabled }}
++            - name: etcceph
++              mountPath: /etc/ceph
++            - name: ceph-etc
++              mountPath: /etc/ceph/ceph.conf
++              subPath: ceph.conf
++              readOnly: true
++            {{- if empty $envAll.Values.conf.ceph.admin_keyring }}
++            - name: ceph-keyring
++              mountPath: /tmp/client-keyring
++              subPath: key
++              readOnly: true
++            {{- end }}
++            {{- end }}
++        {{- end }}
++      volumes:
++        - name: nova-bin
++          configMap:
++            name: nova-bin
++            defaultMode: 0555
++        {{ if or .Values.conf.ceph.enabled }}
++        - name: etcceph
++          emptyDir: {}
++        - name: ceph-etc
++          configMap:
++            name: {{ .Values.ceph_client.configmap }}
++            defaultMode: 0444
++        {{- if empty .Values.conf.ceph.admin_keyring }}
++        - name: ceph-keyring
++          secret:
++            secretName: {{ .Values.ceph_client.user_secret_name }}
++        {{- end }}
++        {{- end }}
++{{- end }}
++
+diff --git a/nova/values.yaml b/nova/values.yaml
+index 7ba2925..97ef1b5 100644
+--- a/nova/values.yaml
++++ b/nova/values.yaml
+@@ -87,6 +87,7 @@ images:
+     nova_service_cleaner: 'docker.io/port/ceph-config-helper:v1.10.3'
+     nova_spiceproxy: docker.io/openstackhelm/nova:ocata-ubuntu_xenial
+     nova_spiceproxy_assets: 'docker.io/kolla/ubuntu-source-nova-spicehtml5proxy:ocata'
++    nova_storage_init: 'docker.io/port/ceph-config-helper:v1.10.3'
+     test: docker.io/xrally/xrally-openstack:1.3.0
+     image_repo_sync: docker.io/docker:17.07.0
+   local_registry:
+@@ -556,6 +557,14 @@ conf:
+       user: "cinder"
+       keyring: null
+       secret_uuid: 457eb676-33da-42ec-9a8c-9293d545c337
++    ephemeral_storage:
++      type: rbd
++      rbd_pools:
++      - rbd_pool_name: ephemeral
++        rbd_user: ephemeral
++        rbd_crush_rule: 0
++        rbd_replication: 3
++        rbd_chunk_size: 64
+   ssh: |
+     Host *
+       StrictHostKeyChecking no
+@@ -1797,6 +1806,7 @@ secrets:
+     placement:
+       placement:
+         public: placement-tls-public
++  ephemeral: nova-ephemeral
+ # typically overridden by environmental
+ # values, but should include all endpoints
+@@ -2482,7 +2492,13 @@ pod:
+         limits:
+           memory: "1024Mi"
+           cpu: "2000m"
+-
++      storage_init:
++        requests:
++          memory: "128Mi"
++          cpu: "100m"
++        limits:
++          memory: "1024Mi"
++          cpu: "2000m"
+ network_policy:
+   nova:
+     # TODO(lamt): Need to tighten this ingress for security.
+@@ -2545,6 +2561,7 @@ manifests:
+   job_ks_placement_service: true
+   job_ks_placement_user: true
+   job_cell_setup: true
++  job_storage_init: true
+   pdb_metadata: true
+   pdb_placement: true
+   pdb_osapi: true
+-- 
+2.7.4
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0005-Nova-Add-support-for-disabling-Readiness-Liveness-pr.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0005-Nova-Add-support-for-disabling-Readiness-Liveness-pr.patch
new file mode 100644 (file)
index 0000000..2d89230
--- /dev/null
@@ -0,0 +1,228 @@
+From af94c98eee44769a2c1e8f211029f8346a13ebc2 Mon Sep 17 00:00:00 2001
+From: Robert Church <robert.church@windriver.com>
+Date: Fri, 22 Mar 2019 03:42:08 -0400
+Subject: [PATCH 05] Nova: Add support for disabling Readiness/Liveness
+ probes
+
+With the introduction of Readiness/Liveness probes in
+Ib8e4b93486588320fd2d562c3bc90b65844e52e5, some probes are failing and
+preventing successful armada manifest applies.
+
+Add support to disable the probes.
+
+Change-Id: Iebe7327055f58fa78ce3fcac968c1fa617c30c2f
+Signed-off-by: Robert Church <robert.church@windriver.com>
+---
+ nova/templates/daemonset-compute.yaml      |  4 ++++
+ nova/templates/deployment-conductor.yaml   |  4 ++++
+ nova/templates/deployment-consoleauth.yaml |  4 ++++
+ nova/templates/deployment-novncproxy.yaml  |  4 ++++
+ nova/templates/deployment-scheduler.yaml   |  4 ++++
+ nova/templates/deployment-spiceproxy.yaml  |  4 ++++
+ nova/values.yaml                           | 28 ++++++++++++++++++++++++++++
+ 7 files changed, 52 insertions(+)
+
+diff --git a/nova/templates/daemonset-compute.yaml b/nova/templates/daemonset-compute.yaml
+index feea6ab..86dc2b9 100644
+--- a/nova/templates/daemonset-compute.yaml
++++ b/nova/templates/daemonset-compute.yaml
+@@ -190,6 +190,7 @@ spec:
+             - name: LIBVIRT_CEPH_SECRET_UUID
+               value: "{{ .Values.conf.ceph.secret_uuid }}"
+           {{ end }}
++          {{- if .Values.pod.probes.readiness.nova_compute.enabled }}
+           readinessProbe:
+             exec:
+               command:
+@@ -202,6 +203,8 @@ spec:
+             initialDelaySeconds: 80
+             periodSeconds: 90
+             timeoutSeconds: 70
++          {{- end }}
++          {{- if .Values.pod.probes.liveness.nova_compute.enabled }}
+           livenessProbe:
+             exec:
+               command:
+@@ -215,6 +218,7 @@ spec:
+             initialDelaySeconds: 120
+             periodSeconds: 90
+             timeoutSeconds: 70
++          {{- end }}
+           command:
+             - /tmp/nova-compute.sh
+           volumeMounts:
+diff --git a/nova/templates/deployment-conductor.yaml b/nova/templates/deployment-conductor.yaml
+index f927afa..0caa006 100644
+--- a/nova/templates/deployment-conductor.yaml
++++ b/nova/templates/deployment-conductor.yaml
+@@ -59,6 +59,7 @@ spec:
+ {{ tuple $envAll "nova_conductor" | include "helm-toolkit.snippets.image" | indent 10 }}
+ {{ tuple $envAll $envAll.Values.pod.resources.conductor | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
+ {{ dict "envAll" $envAll "application" "nova" "container" "nova_conductor" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
++          {{- if .Values.pod.probes.readiness.nova_conductor.enabled }}
+           readinessProbe:
+             exec:
+               command:
+@@ -71,6 +72,8 @@ spec:
+             initialDelaySeconds: 80
+             periodSeconds: 90
+             timeoutSeconds: 70
++          {{- end }}
++          {{- if .Values.pod.probes.liveness.nova_conductor.enabled }}
+           livenessProbe:
+             exec:
+               command:
+@@ -84,6 +87,7 @@ spec:
+             initialDelaySeconds: 120
+             periodSeconds: 90
+             timeoutSeconds: 70
++          {{- end }}
+           command:
+             - /tmp/nova-conductor.sh
+           volumeMounts:
+diff --git a/nova/templates/deployment-consoleauth.yaml b/nova/templates/deployment-consoleauth.yaml
+index b9cb717..0f590e0 100644
+--- a/nova/templates/deployment-consoleauth.yaml
++++ b/nova/templates/deployment-consoleauth.yaml
+@@ -59,6 +59,7 @@ spec:
+ {{ tuple $envAll "nova_consoleauth" | include "helm-toolkit.snippets.image" | indent 10 }}
+ {{ tuple $envAll $envAll.Values.pod.resources.consoleauth | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
+ {{ dict "envAll" $envAll "application" "nova" "container" "nova_consoleauth" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
++          {{- if .Values.pod.probes.readiness.nova_consoleauth.enabled }}
+           readinessProbe:
+             exec:
+               command:
+@@ -71,6 +72,8 @@ spec:
+             initialDelaySeconds: 80
+             periodSeconds: 90
+             timeoutSeconds: 70
++          {{- end }}
++          {{- if .Values.pod.probes.liveness.nova_consoleauth.enabled }}
+           livenessProbe:
+             exec:
+               command:
+@@ -84,6 +87,7 @@ spec:
+             initialDelaySeconds: 120
+             periodSeconds: 90
+             timeoutSeconds: 70
++          {{- end }}
+           command:
+             - /tmp/nova-consoleauth.sh
+           volumeMounts:
+diff --git a/nova/templates/deployment-novncproxy.yaml b/nova/templates/deployment-novncproxy.yaml
+index 42a52af..495c1ac 100644
+--- a/nova/templates/deployment-novncproxy.yaml
++++ b/nova/templates/deployment-novncproxy.yaml
+@@ -103,14 +103,18 @@ spec:
+ {{ tuple $envAll "nova_novncproxy" | include "helm-toolkit.snippets.image" | indent 10 }}
+ {{ tuple $envAll $envAll.Values.pod.resources.novncproxy | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
+ {{ dict "envAll" $envAll "application" "nova" "container" "nova_novncproxy" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
++          {{- if .Values.pod.probes.readiness.nova_novcnproxy.enabled }}
+           readinessProbe:
+             tcpSocket:
+               port: {{ tuple "compute_novnc_proxy" "internal" "novnc_proxy" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
+             initialDelaySeconds: 30
++          {{- end }}
++          {{- if .Values.pod.probes.liveness.nova_novcnproxy.enabled }}
+           livenessProbe:
+             tcpSocket:
+               port: {{ tuple "compute_novnc_proxy" "internal" "novnc_proxy" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
+             initialDelaySeconds: 30
++          {{- end }}
+           command:
+             - /tmp/nova-console-proxy.sh
+           ports:
+diff --git a/nova/templates/deployment-scheduler.yaml b/nova/templates/deployment-scheduler.yaml
+index 05ee949..9a30fa6 100644
+--- a/nova/templates/deployment-scheduler.yaml
++++ b/nova/templates/deployment-scheduler.yaml
+@@ -59,6 +59,7 @@ spec:
+ {{ tuple $envAll "nova_scheduler" | include "helm-toolkit.snippets.image" | indent 10 }}
+ {{ tuple $envAll $envAll.Values.pod.resources.scheduler | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
+ {{ dict "envAll" $envAll "application" "nova" "container" "nova_scheduler" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
++          {{- if .Values.pod.probes.readiness.nova_scheduler.enabled }}
+           readinessProbe:
+             exec:
+               command:
+@@ -72,6 +73,8 @@ spec:
+             initialDelaySeconds: 80
+             periodSeconds: 90
+             timeoutSeconds: 70
++          {{- end }}
++          {{- if .Values.pod.probes.liveness.nova_scheduler.enabled }}
+           livenessProbe:
+             exec:
+               command:
+@@ -86,6 +89,7 @@ spec:
+             initialDelaySeconds: 120
+             periodSeconds: 90
+             timeoutSeconds: 70
++          {{- end }}
+           command:
+             - /tmp/nova-scheduler.sh
+           volumeMounts:
+diff --git a/nova/templates/deployment-spiceproxy.yaml b/nova/templates/deployment-spiceproxy.yaml
+index a221656..038c85c 100644
+--- a/nova/templates/deployment-spiceproxy.yaml
++++ b/nova/templates/deployment-spiceproxy.yaml
+@@ -101,14 +101,18 @@ spec:
+ {{ tuple $envAll "nova_spiceproxy" | include "helm-toolkit.snippets.image" | indent 10 }}
+ {{ tuple $envAll $envAll.Values.pod.resources.spiceproxy | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
+ {{ dict "envAll" $envAll "application" "nova" "container" "nova_spiceproxy" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
++          {{- if .Values.pod.probes.readiness.nova_spiceproxy.enabled }}
+           readinessProbe:
+             tcpSocket:
+               port: {{ tuple "compute_spice_proxy" "internal" "spice_proxy" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
+             initialDelaySeconds: 30
++          {{- end }}
++          {{- if .Values.pod.probes.liveness.nova_spiceproxy.enabled }}
+           livenessProbe:
+             tcpSocket:
+               port: {{ tuple "compute_spice_proxy" "internal" "spice_proxy" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
+             initialDelaySeconds: 30
++          {{- end }}
+           command:
+             - /tmp/nova-console-proxy.sh
+           ports:
+diff --git a/nova/values.yaml b/nova/values.yaml
+index 97ef1b5..4092329 100644
+--- a/nova/values.yaml
++++ b/nova/values.yaml
+@@ -2499,6 +2499,34 @@ pod:
+         limits:
+           memory: "1024Mi"
+           cpu: "2000m"
++  probes:
++    readiness:
++      nova_compute:
++        enabled: true
++      nova_conductor:
++        enabled: true
++      nova_consoleauth:
++        enabled: true
++      nova_novcnproxy:
++        enabled: true
++      nova_scheduler:
++        enabled: true
++      nova_spiceproxy:
++        enabled: true
++    liveness:
++      nova_compute:
++        enabled: true
++      nova_conductor:
++        enabled: true
++      nova_consoleauth:
++        enabled: true
++      nova_novcnproxy:
++        enabled: true
++      nova_scheduler:
++        enabled: true
++      nova_spiceproxy:
++        enabled: true
++
+ network_policy:
+   nova:
+     # TODO(lamt): Need to tighten this ingress for security.
+-- 
+2.7.4
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0006-Add-Placement-Chart.patch b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/0006-Add-Placement-Chart.patch
new file mode 100644 (file)
index 0000000..e0b9615
--- /dev/null
@@ -0,0 +1,1114 @@
+From 374b61d70c593694f850bd6f6a74842c12ecf5f8 Mon Sep 17 00:00:00 2001
+From: zhipengl <zhipengs.liu@intel.com>
+Date: Fri, 31 May 2019 06:49:51 +0800
+Subject: [PATCH] Add placement chart
+
+This commit adds a helm chart to deploy placement.
+
+Related test pass on simplex and multi-node setup
+
+Story: 2005799
+Task: 33532
+
+Change-Id: Ife908628c6379d2d39d15f72073da3018cc26950
+Signed-off-by: zhipengl <zhipengs.liu@intel.com>
+---
+ placement/Chart.yaml                          |   9 +
+ placement/requirements.yaml                   |  10 +
+ placement/templates/bin/_db-sync.sh.tpl       |  13 +
+ placement/templates/bin/_placement-api.sh.tpl |  34 +++
+ placement/templates/configmap-bin.yaml        |  31 ++
+ placement/templates/configmap-etc.yaml        |  58 ++++
+ placement/templates/deployment.yaml           | 116 ++++++++
+ placement/templates/ingress.yaml              |  12 +
+ placement/templates/job-db-drop.yaml          |  13 +
+ placement/templates/job-db-init.yaml          |  15 +
+ placement/templates/job-db-sync.yaml          |  12 +
+ placement/templates/job-image-repo-sync.yaml  |  12 +
+ placement/templates/job-ks-endpoints.yaml     |  12 +
+ placement/templates/job-ks-service.yaml       |  12 +
+ placement/templates/job-ks-user.yaml          |  12 +
+ placement/templates/network_policy.yaml       |  12 +
+ placement/templates/pdb.yaml                  |  21 ++
+ placement/templates/secret-db.yaml            |  22 ++
+ placement/templates/secret-ingress-tls.yaml   |  11 +
+ placement/templates/secret-keystone.yaml      |  22 ++
+ placement/templates/service-ingress.yaml      |  12 +
+ placement/templates/service.yaml              |  26 ++
+ placement/values.yaml                         | 413 ++++++++++++++++++++++++++
+ 23 files changed, 910 insertions(+)
+ create mode 100644 placement/Chart.yaml
+ create mode 100644 placement/requirements.yaml
+ create mode 100644 placement/templates/bin/_db-sync.sh.tpl
+ create mode 100644 placement/templates/bin/_placement-api.sh.tpl
+ create mode 100644 placement/templates/configmap-bin.yaml
+ create mode 100644 placement/templates/configmap-etc.yaml
+ create mode 100644 placement/templates/deployment.yaml
+ create mode 100644 placement/templates/ingress.yaml
+ create mode 100644 placement/templates/job-db-drop.yaml
+ create mode 100644 placement/templates/job-db-init.yaml
+ create mode 100644 placement/templates/job-db-sync.yaml
+ create mode 100644 placement/templates/job-image-repo-sync.yaml
+ create mode 100644 placement/templates/job-ks-endpoints.yaml
+ create mode 100644 placement/templates/job-ks-service.yaml
+ create mode 100644 placement/templates/job-ks-user.yaml
+ create mode 100644 placement/templates/network_policy.yaml
+ create mode 100644 placement/templates/pdb.yaml
+ create mode 100644 placement/templates/secret-db.yaml
+ create mode 100644 placement/templates/secret-ingress-tls.yaml
+ create mode 100644 placement/templates/secret-keystone.yaml
+ create mode 100644 placement/templates/service-ingress.yaml
+ create mode 100644 placement/templates/service.yaml
+ create mode 100644 placement/values.yaml
+
+diff --git a/placement/Chart.yaml b/placement/Chart.yaml
+new file mode 100644
+index 0000000..e8eb058
+--- /dev/null
++++ b/placement/Chart.yaml
+@@ -0,0 +1,9 @@
++#
++# Copyright (c) 2019 StarlingX.
++#
++
++apiVersion: v1
++appVersion: "1.0"
++description: OpenStack Placement Service
++name: placement
++version: 0.1.0
+diff --git a/placement/requirements.yaml b/placement/requirements.yaml
+new file mode 100644
+index 0000000..3a162a6
+--- /dev/null
++++ b/placement/requirements.yaml
+@@ -0,0 +1,10 @@
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++
++dependencies:
++  - name: helm-toolkit
++    repository: http://localhost:8879/charts
++    version: 0.1.0
+diff --git a/placement/templates/bin/_db-sync.sh.tpl b/placement/templates/bin/_db-sync.sh.tpl
+new file mode 100644
+index 0000000..4a36848
+--- /dev/null
++++ b/placement/templates/bin/_db-sync.sh.tpl
+@@ -0,0 +1,13 @@
++#!/bin/bash
++
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++set -ex
++
++su -s /bin/sh -c "placement-manage db sync" placement
+diff --git a/placement/templates/bin/_placement-api.sh.tpl b/placement/templates/bin/_placement-api.sh.tpl
+new file mode 100644
+index 0000000..4f82970
+--- /dev/null
++++ b/placement/templates/bin/_placement-api.sh.tpl
+@@ -0,0 +1,34 @@
++#!/bin/bash
++
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++set -ex
++COMMAND="${@:-start}"
++
++function start () {
++
++  cp -a $(type -p placement-api) /var/www/cgi-bin/placement/
++
++  if [ -f /etc/apache2/envvars ]; then
++     # Loading Apache2 ENV variables
++     source /etc/apache2/envvars
++  fi
++
++  # Get rid of stale pid file if present.
++  rm -f /var/run/apache2/*.pid
++
++  # Start Apache2
++  exec apache2 -DFOREGROUND
++}
++
++function stop () {
++  apachectl -k graceful-stop
++}
++
++$COMMAND
+diff --git a/placement/templates/configmap-bin.yaml b/placement/templates/configmap-bin.yaml
+new file mode 100644
+index 0000000..3e98ea9
+--- /dev/null
++++ b/placement/templates/configmap-bin.yaml
+@@ -0,0 +1,31 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.configmap_bin }}
++{{- $envAll := . }}
++---
++apiVersion: v1
++kind: ConfigMap
++metadata:
++  name: placement-bin
++data:
++  placement-api.sh: |
++{{ tuple "bin/_placement-api.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
++  db-sync.sh: |
++{{ tuple "bin/_db-sync.sh.tpl" . | include "helm-toolkit.utils.template" | indent 4 }}
++  db-init.py: |
++{{- include "helm-toolkit.scripts.db_init" . | indent 4 }}
++  db-drop.py: |
++{{- include "helm-toolkit.scripts.db_drop" . | indent 4 }}
++  ks-service.sh: |
++{{- include "helm-toolkit.scripts.keystone_service" . | indent 4 }}
++  ks-endpoints.sh: |
++{{- include "helm-toolkit.scripts.keystone_endpoints" . | indent 4 }}
++  ks-user.sh: |
++{{- include "helm-toolkit.scripts.keystone_user" . | indent 4 }}
++{{- end }}
+diff --git a/placement/templates/configmap-etc.yaml b/placement/templates/configmap-etc.yaml
+new file mode 100644
+index 0000000..62834cc
+--- /dev/null
++++ b/placement/templates/configmap-etc.yaml
+@@ -0,0 +1,58 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.configmap_etc }}
++{{- $envAll := . }}
++
++{{- if empty .Values.conf.placement.placement_database.connection -}}
++{{- $_ := tuple "oslo_db" "internal" "placement" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | set .Values.conf.placement.placement_database "connection" -}}
++{{- end -}}
++
++{{- if empty .Values.conf.placement.keystone_authtoken.auth_uri -}}
++{{- $_ := tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.placement.keystone_authtoken "auth_uri" -}}
++{{- end -}}
++{{- if empty .Values.conf.placement.keystone_authtoken.auth_url -}}
++{{- $_ := tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.placement.keystone_authtoken "auth_url" -}}
++{{- end -}}
++
++{{- if empty .Values.conf.placement.keystone_authtoken.os_region_name -}}
++{{- $_ := set .Values.conf.placement.keystone_authtoken "os_region_name" .Values.endpoints.identity.auth.placement.region_name -}}
++{{- end -}}
++{{- if empty .Values.conf.placement.keystone_authtoken.project_name -}}
++{{- $_ := set .Values.conf.placement.keystone_authtoken "project_name" .Values.endpoints.identity.auth.placement.project_name -}}
++{{- end -}}
++{{- if empty .Values.conf.placement.keystone_authtoken.project_domain_name -}}
++{{- $_ := set .Values.conf.placement.keystone_authtoken "project_domain_name" .Values.endpoints.identity.auth.placement.project_domain_name -}}
++{{- end -}}
++{{- if empty .Values.conf.placement.keystone_authtoken.user_domain_name -}}
++{{- $_ := set .Values.conf.placement.keystone_authtoken "user_domain_name" .Values.endpoints.identity.auth.placement.user_domain_name -}}
++{{- end -}}
++{{- if empty .Values.conf.placement.keystone_authtoken.username -}}
++{{- $_ := set .Values.conf.placement.keystone_authtoken "username" .Values.endpoints.identity.auth.placement.username -}}
++{{- end -}}
++{{- if empty .Values.conf.placement.keystone_authtoken.password -}}
++{{- $_ := set .Values.conf.placement.keystone_authtoken "password" .Values.endpoints.identity.auth.placement.password -}}
++{{- end -}}
++{{- if empty .Values.conf.placement.keystone_authtoken.memcached_servers -}}
++{{- $_ := tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.endpoints.host_and_port_endpoint_uri_lookup" | set .Values.conf.placement.keystone_authtoken "memcached_servers" -}}
++{{- end -}}
++{{- if empty .Values.conf.placement.keystone_authtoken.memcache_secret_key -}}
++{{- $_ := set .Values.conf.placement.keystone_authtoken "memcache_secret_key" ( default ( randAlphaNum 64 ) .Values.endpoints.oslo_cache.auth.memcache_secret_key ) -}}
++{{- end -}}
++---
++apiVersion: v1
++kind: Secret
++metadata:
++  name: placement-etc
++type: Opaque
++data:
++  policy.yaml: {{ toYaml .Values.conf.policy | b64enc }}
++  placement.conf: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.placement | b64enc }}
++  logging.conf: {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.logging | b64enc }}
++{{- include "helm-toolkit.snippets.values_template_renderer" (dict "envAll" $envAll "template" .Values.conf.wsgi_placement "key" "wsgi-placement.conf" "format" "Secret" ) | indent 2 }}
++{{- end }}
+diff --git a/placement/templates/deployment.yaml b/placement/templates/deployment.yaml
+new file mode 100644
+index 0000000..922bbcf
+--- /dev/null
++++ b/placement/templates/deployment.yaml
+@@ -0,0 +1,116 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.deployment }}
++{{- $envAll := . }}
++
++{{- $mounts_placement := .Values.pod.mounts.placement.placement }}
++{{- $mounts_placement_init := .Values.pod.mounts.placement.init_container }}
++
++{{- $serviceAccountName := "placement-api" }}
++{{ tuple $envAll "api" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
++---
++apiVersion: apps/v1
++kind: Deployment
++metadata:
++  name: placement-api
++  annotations:
++    {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
++  labels:
++{{ tuple $envAll "placement" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
++spec:
++  replicas: {{ .Values.pod.replicas.api }}
++  selector:
++    matchLabels:
++{{ tuple $envAll "placement" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }}
++{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }}
++  template:
++    metadata:
++      labels:
++{{ tuple $envAll "placement" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
++      annotations:
++{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" | indent 8 }}
++        configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}
++        configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }}
++    spec:
++      serviceAccountName: {{ $serviceAccountName }}
++      affinity:
++{{ tuple $envAll "placement" "api" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }}
++      nodeSelector:
++        {{ .Values.labels.api.node_selector_key }}: {{ .Values.labels.api.node_selector_value }}
++      terminationGracePeriodSeconds: {{ .Values.pod.lifecycle.termination_grace_period.api.timeout | default "30" }}
++      initContainers:
++{{ tuple $envAll "api" $mounts_placement_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
++      containers:
++        - name: placement-api
++{{ tuple $envAll "placement" | include "helm-toolkit.snippets.image" | indent 10 }}
++{{ tuple $envAll $envAll.Values.pod.resources.api | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
++          command:
++            - /tmp/placement-api.sh
++            - start
++          lifecycle:
++            preStop:
++              exec:
++                command:
++                  - /tmp/placement-api.sh
++                  - stop
++          ports:
++            - name: p-api
++              containerPort: {{ tuple "placement" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
++          readinessProbe:
++            #NOTE(portdirect): use tcpSocket check as HTTP will return 401
++            tcpSocket:
++              port: {{ tuple "placement" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
++            initialDelaySeconds: 15
++            periodSeconds: 10
++          livenessProbe:
++            tcpSocket:
++              port: {{ tuple "placement" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
++            initialDelaySeconds: 50
++            periodSeconds: 10
++          volumeMounts:
++            - name: pod-tmp
++              mountPath: /tmp
++            - name: wsgi-placement
++              mountPath: /var/www/cgi-bin/placement
++            - name: placement-bin
++              mountPath: /tmp/placement-api.sh
++              subPath: placement-api.sh
++              readOnly: true
++            - name: placement-etc
++              mountPath: /etc/placement/placement.conf
++              subPath: placement.conf
++              readOnly: true
++            - name: placement-etc
++              mountPath: {{ .Values.conf.placement.DEFAULT.log_config_append }}
++              subPath: {{ base .Values.conf.placement.DEFAULT.log_config_append }}
++              readOnly: true
++            - name: placement-etc
++              mountPath: /etc/placement/policy.yaml
++              subPath: policy.yaml
++              readOnly: true
++            - name: placement-etc
++              mountPath: /etc/apache2/conf-enabled/wsgi-placement.conf
++              subPath: wsgi-placement.conf
++              readOnly: true
++{{ if $mounts_placement.volumeMounts }}{{ toYaml $mounts_placement.volumeMounts | indent 12 }}{{ end }}
++      volumes:
++        - name: pod-tmp
++          emptyDir: {}
++        - name: wsgi-placement
++          emptyDir: {}
++        - name: placement-bin
++          configMap:
++            name: placement-bin
++            defaultMode: 0555
++        - name: placement-etc
++          secret:
++            secretName: placement-etc
++            defaultMode: 0444
++{{ if $mounts_placement.volumes }}{{ toYaml $mounts_placement.volumes | indent 8 }}{{ end }}
++{{- end }}
+diff --git a/placement/templates/ingress.yaml b/placement/templates/ingress.yaml
+new file mode 100644
+index 0000000..5dcced8
+--- /dev/null
++++ b/placement/templates/ingress.yaml
+@@ -0,0 +1,12 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if and .Values.manifests.ingress .Values.network.api.ingress.public }}
++{{- $ingressOpts := dict "envAll" . "backendServiceType" "placement" "backendPort" "p-api" -}}
++{{ $ingressOpts | include "helm-toolkit.manifests.ingress" }}
++{{- end }}
+diff --git a/placement/templates/job-db-drop.yaml b/placement/templates/job-db-drop.yaml
+new file mode 100644
+index 0000000..1cdb753
+--- /dev/null
++++ b/placement/templates/job-db-drop.yaml
+@@ -0,0 +1,13 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.job_db_drop }}
++{{- $serviceName := "placement" -}}
++{{- $dbDropJob := dict "envAll" . "serviceName" $serviceName -}}
++{{ $dbDropJob | include "helm-toolkit.manifests.job_db_drop_mysql" }}
++{{- end }}
+diff --git a/placement/templates/job-db-init.yaml b/placement/templates/job-db-init.yaml
+new file mode 100644
+index 0000000..4c9d450
+--- /dev/null
++++ b/placement/templates/job-db-init.yaml
+@@ -0,0 +1,15 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.job_db_init }}
++{{- $serviceName := "placement" -}}
++{{- $dbApi := dict "adminSecret" .Values.secrets.oslo_db.admin "configFile" (printf "/etc/%s/%s.conf" $serviceName $serviceName ) "logConfigFile" (printf "/etc/%s/logging.conf" $serviceName ) "configDbSection" "placement_database" "configDbKey" "connection" -}}
++{{- $dbsToInit := list $dbApi }}
++{{- $dbInitJob := dict "envAll" . "serviceName" $serviceName "dbsToInit" $dbsToInit -}}
++{{ $dbInitJob | include "helm-toolkit.manifests.job_db_init_mysql" }}
++{{- end }}
+diff --git a/placement/templates/job-db-sync.yaml b/placement/templates/job-db-sync.yaml
+new file mode 100644
+index 0000000..5aeefba
+--- /dev/null
++++ b/placement/templates/job-db-sync.yaml
+@@ -0,0 +1,12 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.job_db_sync }}
++{{- $dbSyncJob := dict "envAll" . "serviceName" "placement" -}}
++{{ $dbSyncJob | include "helm-toolkit.manifests.job_db_sync" }}
++{{- end }}
+diff --git a/placement/templates/job-image-repo-sync.yaml b/placement/templates/job-image-repo-sync.yaml
+new file mode 100644
+index 0000000..022b160
+--- /dev/null
++++ b/placement/templates/job-image-repo-sync.yaml
+@@ -0,0 +1,12 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if and .Values.manifests.job_image_repo_sync .Values.images.local_registry.active }}
++{{- $imageRepoSyncJob := dict "envAll" . "serviceName" "placement" -}}
++{{ $imageRepoSyncJob | include "helm-toolkit.manifests.job_image_repo_sync" }}
++{{- end }}
+diff --git a/placement/templates/job-ks-endpoints.yaml b/placement/templates/job-ks-endpoints.yaml
+new file mode 100644
+index 0000000..d3a43fc
+--- /dev/null
++++ b/placement/templates/job-ks-endpoints.yaml
+@@ -0,0 +1,12 @@
++{{/*
++#
++# Copyright (c) 2018 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.job_ks_endpoints }}
++{{- $ksServiceJob := dict "envAll" . "serviceName" "placement" "serviceTypes" ( tuple "placement" ) -}}
++{{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_endpoints" }}
++{{- end }}
+diff --git a/placement/templates/job-ks-service.yaml b/placement/templates/job-ks-service.yaml
+new file mode 100644
+index 0000000..0dd6d6e
+--- /dev/null
++++ b/placement/templates/job-ks-service.yaml
+@@ -0,0 +1,12 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.job_ks_service }}
++{{- $ksServiceJob := dict "envAll" . "serviceName" "placement" "serviceTypes" ( tuple "placement" ) -}}
++{{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_service" }}
++{{- end }}
+diff --git a/placement/templates/job-ks-user.yaml b/placement/templates/job-ks-user.yaml
+new file mode 100644
+index 0000000..b0f7799
+--- /dev/null
++++ b/placement/templates/job-ks-user.yaml
+@@ -0,0 +1,12 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.job_ks_user }}
++{{- $ksUserJob := dict "envAll" . "serviceName" "placement" -}}
++{{ $ksUserJob | include "helm-toolkit.manifests.job_ks_user" }}
++{{- end }}
+diff --git a/placement/templates/network_policy.yaml b/placement/templates/network_policy.yaml
+new file mode 100644
+index 0000000..6355f90
+--- /dev/null
++++ b/placement/templates/network_policy.yaml
+@@ -0,0 +1,12 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.network_policy -}}
++{{- $netpol_opts := dict "envAll" . "name" "application" "label" "placement" }}
++{{ $netpol_opts | include "helm-toolkit.manifests.kubernetes_network_policy" }}
++{{- end -}}
+diff --git a/placement/templates/pdb.yaml b/placement/templates/pdb.yaml
+new file mode 100644
+index 0000000..a61fe58
+--- /dev/null
++++ b/placement/templates/pdb.yaml
+@@ -0,0 +1,21 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.pdb }}
++{{- $envAll := . }}
++---
++apiVersion: policy/v1beta1
++kind: PodDisruptionBudget
++metadata:
++  name: placement-api
++spec:
++  minAvailable: {{ .Values.pod.lifecycle.disruption_budget.api.min_available }}
++  selector:
++    matchLabels:
++{{ tuple $envAll "placement" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }}
++{{- end }}
+diff --git a/placement/templates/secret-db.yaml b/placement/templates/secret-db.yaml
+new file mode 100644
+index 0000000..5c7321e
+--- /dev/null
++++ b/placement/templates/secret-db.yaml
+@@ -0,0 +1,22 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.secret_db }}
++{{- $envAll := . }}
++{{- range $key1, $userClass := tuple "admin" "placement" }}
++{{- $secretName := index $envAll.Values.secrets.oslo_db $userClass }}
++---
++apiVersion: v1
++kind: Secret
++metadata:
++  name: {{ $secretName }}
++type: Opaque
++data:
++  DB_CONNECTION: {{ tuple "oslo_db" "internal" $userClass "mysql" $envAll | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | b64enc -}}
++{{- end }}
++{{- end }}
+diff --git a/placement/templates/secret-ingress-tls.yaml b/placement/templates/secret-ingress-tls.yaml
+new file mode 100644
+index 0000000..3413b5b
+--- /dev/null
++++ b/placement/templates/secret-ingress-tls.yaml
+@@ -0,0 +1,11 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.secret_ingress_tls }}
++{{ include "helm-toolkit.manifests.secret_ingress_tls" ( dict "envAll" . "backendServiceType" "placement" ) }}
++{{- end }}
+diff --git a/placement/templates/secret-keystone.yaml b/placement/templates/secret-keystone.yaml
+new file mode 100644
+index 0000000..efc1a17
+--- /dev/null
++++ b/placement/templates/secret-keystone.yaml
+@@ -0,0 +1,22 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.secret_keystone }}
++{{- $envAll := . }}
++{{- range $key1, $userClass := tuple "admin" "placement" }}
++{{- $secretName := index $envAll.Values.secrets.identity $userClass }}
++---
++apiVersion: v1
++kind: Secret
++metadata:
++  name: {{ $secretName }}
++type: Opaque
++data:
++{{- tuple $userClass "internal" $envAll | include "helm-toolkit.snippets.keystone_secret_openrc" | indent 2 -}}
++{{- end }}
++{{- end }}
+diff --git a/placement/templates/service-ingress.yaml b/placement/templates/service-ingress.yaml
+new file mode 100644
+index 0000000..75fcd61
+--- /dev/null
++++ b/placement/templates/service-ingress.yaml
+@@ -0,0 +1,12 @@
++{{/*
++#
++# Copyright (c) 2019 StarlingX.
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if and .Values.manifests.service_ingress .Values.network.api.ingress.public }}
++{{- $serviceIngressOpts := dict "envAll" . "backendServiceType" "placement" -}}
++{{ $serviceIngressOpts | include "helm-toolkit.manifests.service_ingress" }}
++{{- end }}
+diff --git a/placement/templates/service.yaml b/placement/templates/service.yaml
+new file mode 100644
+index 0000000..0bda157
+--- /dev/null
++++ b/placement/templates/service.yaml
+@@ -0,0 +1,26 @@
++{{/*
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++*/}}
++
++{{- if .Values.manifests.service }}
++{{- $envAll := . }}
++---
++apiVersion: v1
++kind: Service
++metadata:
++  name: {{ tuple "placement" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
++spec:
++  ports:
++  - name: p-api
++    port: {{ tuple "placement" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
++    {{ if .Values.network.api.node_port.enabled }}
++    nodePort: {{ .Values.network.api.node_port.port }}
++    {{ end }}
++  selector:
++{{ tuple $envAll "placement" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
++  {{ if .Values.network.api.node_port.enabled }}
++  type: NodePort
++  {{ end }}
++{{- end }}
+diff --git a/placement/values.yaml b/placement/values.yaml
+new file mode 100644
+index 0000000..33139f0
+--- /dev/null
++++ b/placement/values.yaml
+@@ -0,0 +1,413 @@
++#
++# SPDX-License-Identifier: Apache-2.0
++#
++
++# Default values for openstack-placement.
++# This is a YAML-formatted file.
++# Declare variables to be passed into your templates.
++
++release_group: null
++
++labels:
++  api:
++    node_selector_key: openstack-control-plane
++    node_selector_value: enabled
++  job:
++    node_selector_key: openstack-control-plane
++    node_selector_value: enabled
++
++images:
++  pull_policy: IfNotPresent
++  tags:
++    placement: docker.io/openstackhelm/placement:ocata-ubuntu_xenial
++    ks_user: docker.io/openstackhelm/heat:ocata-ubuntu_xenial
++    ks_service: docker.io/openstackhelm/heat:ocata-ubuntu_xenial
++    ks_endpoints: docker.io/openstackhelm/heat:ocata-ubuntu_xenial
++    db_init: docker.io/openstackhelm/heat:ocata-ubuntu_xenial
++    db_drop: docker.io/openstackhelm/heat:ocata-ubuntu_xenial
++    placement_db_sync: docker.io/openstackhelm/placement:ocata-ubuntu_xenial
++    dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
++    image_repo_sync: docker.io/docker:17.07.0
++  local_registry:
++    active: false
++    exclude:
++      - dep_check
++      - image_repo_sync
++
++network:
++  api:
++    port: 8778
++    ingress:
++      public: true
++      classes:
++        namespace: "nginx"
++        cluster: "nginx-cluster"
++      annotations:
++        nginx.ingress.kubernetes.io/rewrite-target: /
++    external_policy_local: false
++    node_port:
++      enabled: false
++      port: 30778
++
++conf:
++  policy:
++    context_is_admin: 'role:admin'
++    segregation: 'rule:context_is_admin'
++    admin_or_owner: 'rule:context_is_admin or project_id:%(project_id)s'
++    default: 'rule:admin_or_owner'
++  placement:
++    DEFAULT:
++      debug: false
++      use_syslog: false
++      log_config_append: /etc/placement/logging.conf
++    placement_database:
++      connection: null
++    keystone_authtoken:
++      auth_version: v3
++      auth_type: password
++      memcache_security_strategy: ENCRYPT
++  logging:
++    loggers:
++      keys:
++        - root
++        - placement
++    handlers:
++      keys:
++        - stdout
++        - stderr
++        - "null"
++    formatters:
++      keys:
++        - context
++        - default
++    logger_root:
++      level: WARNING
++      handlers: stdout
++    logger_placement:
++      level: INFO
++      handlers:
++        - stdout
++      qualname: placement
++    logger_amqp:
++      level: WARNING
++      handlers: stderr
++      qualname: amqp
++    logger_amqplib:
++      level: WARNING
++      handlers: stderr
++      qualname: amqplib
++    logger_eventletwsgi:
++      level: WARNING
++      handlers: stderr
++      qualname: eventlet.wsgi.server
++    logger_sqlalchemy:
++      level: WARNING
++      handlers: stderr
++      qualname: sqlalchemy
++    logger_boto:
++      level: WARNING
++      handlers: stderr
++      qualname: boto
++    handler_null:
++      class: logging.NullHandler
++      formatter: default
++      args: ()
++    handler_stdout:
++      class: StreamHandler
++      args: (sys.stdout,)
++      formatter: context
++    handler_stderr:
++      class: StreamHandler
++      args: (sys.stderr,)
++      formatter: context
++    formatter_context:
++      class: oslo_log.formatters.ContextFormatter
++      datefmt: "%Y-%m-%d %H:%M:%S"
++    formatter_default:
++      format: "%(message)s"
++      datefmt: "%Y-%m-%d %H:%M:%S"
++  wsgi_placement: |
++    Listen 0.0.0.0:{{ tuple "placement" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
++    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
++    LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
++    SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
++    CustomLog /dev/stdout combined env=!forwarded
++    CustomLog /dev/stdout proxy env=forwarded
++    <VirtualHost *:{{ tuple "placement" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}>
++        WSGIDaemonProcess placement-api processes=1 threads=4 user=placement group=placement display-name=%{GROUP}
++        WSGIProcessGroup placement-api
++        WSGIScriptAlias / /var/www/cgi-bin/placement/placement-api
++        WSGIApplicationGroup %{GLOBAL}
++        WSGIPassAuthorization On
++        <IfVersion >= 2.4>
++          ErrorLogFormat "%{cu}t %M"
++        </IfVersion>
++        ErrorLog /dev/stdout
++        SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded
++        CustomLog /dev/stdout combined env=!forwarded
++        CustomLog /dev/stdout proxy env=forwarded
++    </VirtualHost>
++    Alias /placement /var/www/cgi-bin/placement/placement-api
++    <Location /placement>
++        SetHandler wsgi-script
++        Options +ExecCGI
++        WSGIProcessGroup placement-api
++        WSGIApplicationGroup %{GLOBAL}
++        WSGIPassAuthorization On
++    </Location>
++
++endpoints:
++  cluster_domain_suffix: cluster.local
++  local_image_registry:
++    name: docker-registry
++    namespace: docker-registry
++    hosts:
++      default: localhost
++      internal: docker-registry
++      node: localhost
++    host_fqdn_override:
++      default: null
++    port:
++      registry:
++        node: 5000
++  oslo_db:
++    auth:
++      admin:
++        username: root
++        password: password
++      placement:
++        username: placement
++        password: password
++    hosts:
++      default: mariadb
++    host_fqdn_override:
++      default: null
++    path: /placement
++    scheme: mysql+pymysql
++    port:
++      mysql:
++        default: 3306
++  oslo_cache:
++    auth:
++      # NOTE(portdirect): this is used to define the value for keystone
++      # authtoken cache encryption key, if not set it will be populated
++      # automatically with a random value, but to take advantage of
++      # this feature all services should be set to use the same key,
++      # and memcache service.
++      memcache_secret_key: null
++    hosts:
++      default: memcached
++    host_fqdn_override:
++      default: null
++    port:
++      memcache:
++        default: 11211
++  identity:
++    name: keystone
++    auth:
++      admin:
++        region_name: RegionOne
++        username: admin
++        password: password
++        project_name: admin
++        user_domain_name: default
++        project_domain_name: default
++      placement:
++        role: admin
++        region_name: RegionOne
++        username: placement
++        password: password
++        project_name: service
++        user_domain_name: service
++        project_domain_name: service
++    hosts:
++      default: keystone
++      internal: keystone-api
++    host_fqdn_override:
++      default: null
++    path:
++      default: /v3
++    scheme:
++      default: http
++    port:
++      api:
++        default: 80
++        internal: 5000
++  placement:
++    name: placement
++    hosts:
++      default: placement-api
++      public: placement
++    host_fqdn_override:
++      default: null
++    path:
++      default: /
++    scheme:
++      default: 'http'
++    port:
++      api:
++        default: 8778
++        public: 80
++
++pod:
++  user:
++    placement:
++      uid: 42424
++  affinity:
++    anti:
++      type:
++        default: preferredDuringSchedulingIgnoredDuringExecution
++      topologyKey:
++        default: kubernetes.io/hostname
++  mounts:
++    placement:
++      init_container: null
++      placement:
++        volumeMounts:
++        volumes:
++  replicas:
++    api: 1
++  lifecycle:
++    upgrades:
++      deployments:
++        revision_history: 3
++        pod_replacement_strategy: RollingUpdate
++        rolling_update:
++          max_unavailable: 1
++          max_surge: 3
++    disruption_budget:
++      api:
++        min_available: 0
++    termination_grace_period:
++      api:
++        timeout: 30
++  resources:
++    enabled: false
++    api:
++      requests:
++        memory: "128Mi"
++        cpu: "100m"
++      limits:
++        memory: "1024Mi"
++        cpu: "2000m"
++    jobs:
++      db_init:
++        requests:
++          memory: "128Mi"
++          cpu: "100m"
++        limits:
++          memory: "1024Mi"
++          cpu: "2000m"
++      db_sync:
++        requests:
++          memory: "128Mi"
++          cpu: "100m"
++        limits:
++          memory: "1024Mi"
++          cpu: "2000m"
++      db_drop:
++        requests:
++          memory: "128Mi"
++          cpu: "100m"
++        limits:
++          memory: "1024Mi"
++          cpu: "2000m"
++      ks_endpoints:
++        requests:
++          memory: "128Mi"
++          cpu: "100m"
++        limits:
++          memory: "1024Mi"
++          cpu: "2000m"
++      ks_service:
++        requests:
++          memory: "128Mi"
++          cpu: "100m"
++        limits:
++          memory: "1024Mi"
++          cpu: "2000m"
++      ks_user:
++        requests:
++          memory: "128Mi"
++          cpu: "100m"
++        limits:
++          memory: "1024Mi"
++          cpu: "2000m"
++
++secrets:
++  identity:
++    admin: placement-keystone-admin
++    placement: placement-keystone-user
++  oslo_db:
++    admin: placement-db-admin
++    placement: placement-db-user
++  tls:
++    placement:
++      api:
++        public: placement-tls-public
++
++dependencies:
++  dynamic:
++    common:
++      local_image_registry:
++        jobs:
++          - image-repo-sync
++        services:
++          - endpoint: node
++            service: local_image_registry
++  static:
++    api:
++      jobs:
++        - placement-db-sync
++        - placement-ks-service
++        - placement-ks-user
++        - placement-ks-endpoints
++    ks_endpoints:
++      jobs:
++        - placement-ks-user
++        - placement-ks-service
++      services:
++        - endpoint: internal
++          service: identity
++    ks_service:
++      services:
++        - endpoint: internal
++          service: identity
++    ks_user:
++      services:
++        - endpoint: internal
++          service: identity
++    db_drop:
++      services:
++        - endpoint: internal
++          service: oslo_db
++    db_init:
++      services:
++        - endpoint: internal
++          service: oslo_db
++    db_sync:
++      jobs:
++        - placement-db-init
++      services:
++        - endpoint: internal
++          service: oslo_db
++
++manifests:
++  configmap_bin: true
++  configmap_etc: true
++  deployment: true
++  job_image_repo_sync: true
++  job_db_init: true
++  job_db_sync: true
++  job_db_drop: false
++  job_ks_endpoints: true
++  job_ks_service: true
++  job_ks_user: true
++  network_policy: false
++  secret_db: true
++  secret_ingress_tls: true
++  pdb: true
++  ingress: true
++  secret_keystone: true
++  service_ingress: true
++  service: true
+-- 
+2.7.4
+
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/index.yaml b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/index.yaml
new file mode 100644 (file)
index 0000000..166dfef
--- /dev/null
@@ -0,0 +1,4 @@
+---
+apiVersion: v1
+entries: {}
+generated: 2019-01-07T12:33:46.098166523-06:00
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/repositories.yaml b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm/repositories.yaml
new file mode 100644 (file)
index 0000000..7fbaebd
--- /dev/null
@@ -0,0 +1,12 @@
+---
+apiVersion: v1
+generated: 2019-01-02T15:19:36.215111369-06:00
+repositories:
+  - caFile: ""
+    cache: /builddir/.helm/repository/cache/local-index.yaml
+    certFile: ""
+    keyFile: ""
+    name: local
+    password: ""
+    url: http://127.0.0.1:8879/charts
+    username: ""
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm_1.0.bb b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/openstack-helm_1.0.bb
new file mode 100644 (file)
index 0000000..cd051d8
--- /dev/null
@@ -0,0 +1,109 @@
+
+SUMMARY = "Openstack Helm charts"
+DESCRIPTION = "Openstack Helm charts"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS += " \
+    helm-native \
+    openstack-helm-infra \
+"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCREV_openstack-helm = "82c72367c85ca94270f702661c7b984899c1ae38"
+SRCREV_openstack-armada-app = "863f4b9733d3d4f4fd490606a94b84cfdaf2df2c"
+
+SRC_URI = " \
+    git://github.com/openstack/openstack-helm;protocol=${PROTOCOL};name=openstack-helm \
+    file://0001-Ceilometer-chart-add-the-ability-to-publish-events-t.patch \
+    file://0002-Remove-stale-Apache2-service-pids-when-a-POD-starts.patch \
+    file://0003-Nova-console-ip-address-search-optionality.patch \
+    file://0004-Nova-chart-Support-ephemeral-pool-creation.patch \
+    file://0005-Nova-Add-support-for-disabling-Readiness-Liveness-pr.patch \
+    file://0006-Add-Placement-Chart.patch \
+    file://repositories.yaml \
+    file://index.yaml \
+    "
+
+PATCHTOOL = "git"
+PATCH_COMMIT_FUNCTIONS = "1"
+
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+helm_folder = "${nonarch_libdir}/helm"
+toolkit_version = "0.1.0"
+helmchart_version = "0.1.0"
+
+do_configure[noexec] = "1"
+
+do_compile () {
+       # initialize helm and build the toolkit
+       # helm init --client-only does not work if there is no networking
+       # The following commands do essentially the same as: helm init
+       export HOME="${B}/${USER}"
+       export helm_home="${B}/${USER}/.helm"
+       rm -rf ${helm_home}
+
+       mkdir -p ${helm_home}
+       mkdir ${helm_home}/repository
+       mkdir ${helm_home}/repository/cache
+       mkdir ${helm_home}/repository/local
+       mkdir ${helm_home}/plugins
+       mkdir ${helm_home}/starters
+       mkdir ${helm_home}/cache
+       mkdir ${helm_home}/cache/archive
+
+       # Stage a repository file that only has a local repo
+       install -m 0644 ${WORKDIR}/repositories.yaml ${helm_home}/repository/repositories.yaml
+
+       # Stage a local repo index that can be updated by the build
+       install -m 0644 ${WORKDIR}/index.yaml ${helm_home}/repository/local/index.yaml
+
+       # Stage helm-toolkit in the local repo
+       cp ${RECIPE_SYSROOT}${helm_folder}/helm-toolkit-${toolkit_version}.tgz .
+
+       # Host a server for the charts
+       helm serve --repo-path . &
+       sleep 1
+       helm repo rm local
+       helm repo add local http://localhost:8879/charts
+
+       # Make the charts. These produce a tgz file
+       make aodh
+       make barbican
+       make ceilometer
+       make cinder
+       make glance
+       make heat
+       make horizon
+       make ironic
+       make keystone
+       make magnum
+       make neutron
+       make nova
+       make panko
+       make placement
+
+       # terminate helm server (the last backgrounded task)
+       kill $!
+       rm -rf ${helm_home}
+
+       # Remove the helm-toolkit tarball
+       rm helm-toolkit-${toolkit_version}.tgz
+}
+
+do_install () {
+       install -d -m 755 ${D}${helm_folder}
+       install -p -D -m 755 ${B}/*.tgz ${D}${helm_folder}
+}
+
+FILES_${PN} = "${helm_folder}"
+
+RDEPENDS_${PN} = " \
+    helm \
+    openstack-helm-infra \
+"
diff --git a/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/stx-openstack-helm_1.0.bb b/meta-starlingx/meta-stx-flock/stx-openstack-armada-app/stx-openstack-helm_1.0.bb
new file mode 100644 (file)
index 0000000..829ba8f
--- /dev/null
@@ -0,0 +1,102 @@
+
+SUMMARY = "StarlingX Openstack Application Helm charts"
+DESCRIPTION = "StarlingX Openstack Application Helm charts"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS += " \
+    helm-native \
+    openstack-helm \
+    openstack-helm-infra \
+    stx-platform-helm \
+"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCREV = "863f4b9733d3d4f4fd490606a94b84cfdaf2df2c"
+
+SRC_URI = "git://opendev.org/starlingx/openstack-armada-app;protocol=${PROTOCOL};branch=${BRANCH}"
+
+S = "${WORKDIR}/git/stx-openstack-helm/stx-openstack-helm"
+
+inherit allarch
+
+helm_folder = "${nonarch_libdir}/helm"
+armada_folder = "${nonarch_libdir}/armada"
+app_folder = "${nonarch_libdir}/application"
+toolkit_version = "0.1.0"
+helmchart_version = "0.1.0"
+
+do_configure[noexec] = "1"
+
+do_compile () {
+       # initialize helm and build the toolkit
+       # helm init --client-only does not work if there is no networking
+       # The following commands do essentially the same as: helm init
+       export HOME="${B}/${USER}"
+       export helm_home="${B}/${USER}/.helm"
+       rm -rf ${helm_home}
+
+       mkdir -p ${helm_home}
+       mkdir ${helm_home}/repository
+       mkdir ${helm_home}/repository/cache
+       mkdir ${helm_home}/repository/local
+       mkdir ${helm_home}/plugins
+       mkdir ${helm_home}/starters
+       mkdir ${helm_home}/cache
+       mkdir ${helm_home}/cache/archive
+
+       # Stage a repository file that only has a local repo
+       cp ${S}/files/repositories.yaml ${helm_home}/repository/repositories.yaml
+
+       # Stage a local repo index that can be updated by the build
+       cp ${S}/files/index.yaml ${helm_home}/repository/local/index.yaml
+
+       # Stage helm-toolkit in the local repo
+       cp ${RECIPE_SYSROOT}${helm_folder}/helm-toolkit-${toolkit_version}.tgz .
+
+       # Host a server for the charts
+       helm serve --repo-path . &
+       sleep 1
+       helm repo rm local
+       helm repo add local http://localhost:8879/charts
+
+       # Make the charts. These produce a tgz file
+       cd ${S}/helm-charts
+       make nova-api-proxy
+       make garbd
+       make keystone-api-proxy
+       make fm-rest-api
+       make nginx-ports-control
+       make dcdbsync
+       cd -
+
+       # terminate helm server (the last backgrounded task)
+       kill $!
+       rm -rf ${helm_home}
+
+       # Remove the helm-toolkit tarball
+       rm helm-toolkit-${toolkit_version}.tgz
+}
+
+do_install () {
+       install -d -m 755 ${D}${app_folder}
+       install -p -D -m 755 ${S}/files/metadata.yaml ${D}${app_folder}
+       install -d -m 755 ${D}${helm_folder}
+       install -p -D -m 755 ${S}/helm-charts/*.tgz ${D}${helm_folder}
+       install -d -m 755 ${D}${armada_folder}
+       install -p -D -m 755 ${S}/manifests/*.yaml ${D}${armada_folder}
+}
+
+FILES_${PN} = " \
+    ${app_folder} \
+    ${helm_folder} \
+    ${armada_folder} \
+"
+
+RDEPENDS_${PN} = " \
+    helm \
+    openstack-helm \
+    openstack-helm-infra \
+"
diff --git a/meta-starlingx/meta-stx-flock/stx-platform-armada-app/stx-platform-helm_1.0.bb b/meta-starlingx/meta-stx-flock/stx-platform-armada-app/stx-platform-helm_1.0.bb
new file mode 100644 (file)
index 0000000..4d49535
--- /dev/null
@@ -0,0 +1,123 @@
+
+SUMMARY = "StarlingX Platform Helm charts"
+DESCRIPTION = "StarlingX Platform Helm charts"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS += " \
+    helm-native \
+    openstack-helm \
+    openstack-helm-infra \
+"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCREV_platform-armada-app = "c67d1eeb605ea1da4ebb2a1219a6f54f05e3eb5e"
+SRCREV_helm-charts = "c01426a2500269fbf1a781214a361de0796297d1"
+
+SRC_URI = " \
+    git://opendev.org/starlingx/platform-armada-app.git;protocol=${PROTOCOL};branch=${BRANCH};name=platform-armada-app \
+    git://opendev.org/starlingx/helm-charts.git;protocol=${PROTOCOL};branch=${BRANCH};name=helm-charts;destsuffix=helm-charts \
+"
+
+S = "${WORKDIR}/git/stx-platform-helm/stx-platform-helm"
+
+inherit allarch
+
+toolkit_version = "0.1.0"
+helm_folder = "${RECIPE_SYSROOT}${nonarch_libdir}/helm"
+helm_repo = "stx-platform"
+
+app_name = "platform-integ-apps"
+app_staging = "${B}/staging"
+app_tarball = "${app_name}.tgz"
+app_folder = "/usr/local/share/applications/helm"
+
+do_configure[noexec] = "1"
+
+do_compile () {
+       # initialize helm and build the toolkit
+       # helm init --client-only does not work if there is no networking
+       # The following commands do essentially the same as: helm init
+       export HOME="${B}/${USER}"
+       export helm_home="${B}/${USER}/.helm"
+       rm -rf ${helm_home}
+
+       mkdir  -p ${helm_home}
+       mkdir  ${helm_home}/repository
+       mkdir  ${helm_home}/repository/cache
+       mkdir  ${helm_home}/repository/local
+       mkdir  ${helm_home}/plugins
+       mkdir  ${helm_home}/starters
+       mkdir  ${helm_home}/cache
+       mkdir  ${helm_home}/cache/archive
+
+       # Stage a repository file that only has a local repo
+       cp ${S}/files/repositories.yaml ${helm_home}/repository/repositories.yaml
+
+       # Stage a local repo index that can be updated by the build
+       cp ${S}/files/index.yaml ${helm_home}/repository/local/index.yaml
+
+       # Stage helm-toolkit in the local repo
+       cp ${helm_folder}/helm-toolkit-${toolkit_version}.tgz ${S}/helm-charts/
+
+       # Host a server for the charts
+       helm serve --repo-path . &
+       sleep 1
+       helm repo rm local
+       helm repo add local http://localhost:8879/charts
+
+       # Make the charts. These produce a tgz file
+       cp -rf ${WORKDIR}/helm-charts/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/ \
+               ${S}/helm-charts/
+       cd ${S}/helm-charts
+       make rbd-provisioner
+       make ceph-pools-audit
+       make node-feature-discovery
+       cd -
+
+       # Terminate helm server (the last backgrounded task)
+       kill $!
+       rm -rf ${helm_home}
+
+       # Create a chart tarball compliant with sysinv kube-app.py
+       # Setup staging
+       mkdir -p ${app_staging}
+       cp ${S}/files/metadata.yaml ${app_staging}
+       cp ${S}/manifests/manifest.yaml ${app_staging}
+
+       mkdir -p ${app_staging}/charts
+       cp ${S}/helm-charts/*.tgz ${app_staging}/charts
+       cd ${app_staging}
+
+       # Populate metadata
+       sed -i 's/@APP_NAME@/${app_name}/g' ${app_staging}/metadata.yaml
+       sed -i 's/@APP_VERSION@/${version}-${tis_patch_ver}/g' ${app_staging}/metadata.yaml
+       sed -i 's/@HELM_REPO@/${helm_repo}/g' ${app_staging}/metadata.yaml
+
+       # package it up
+       find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
+       tar -zcf ${B}/${app_tarball} -C ${app_staging}/ .
+
+       # Cleanup staging
+       rm -fr ${app_staging}
+}
+
+do_install () {
+       install -d -m 755 ${D}/${app_folder}
+       install -p -D -m 755 ${B}/${app_tarball} ${D}/${app_folder}
+       install -d -m 755 ${D}/opt/extracharts
+       install -p -D -m 755 ${S}/helm-charts/node-feature-discovery-*.tgz ${D}/opt/extracharts
+}
+
+FILES_${PN} = " \
+    /opt/extracharts \
+    ${app_folder} \
+"
+
+RDEPENDS_${PN} = " \
+    helm \
+    openstack-helm \
+    openstack-helm-infra \
+"
diff --git a/meta-starlingx/meta-stx-flock/stx-update/cgcs-patch.bb b/meta-starlingx/meta-stx-flock/stx-update/cgcs-patch.bb
new file mode 100644 (file)
index 0000000..27755ea
--- /dev/null
@@ -0,0 +1,142 @@
+PACKAGES += " ${PN}-agent"
+PACKAGES += " ${PN}-controller"
+
+require update-common.inc
+
+SUBPATH0 = "cgcs-patch/cgcs-patch"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI += "file://0001-Remove-use-of-rpmUtils.miscutils-from-cgcs-patch.patch;striplevel=3 \
+       file://0003-Cleaning-up-pylint-settings-for-cgcs-patch.patch;striplevel=3 \
+       file://0004-Address-python3-pylint-errors-and-warnings.patch;striplevel=3 \
+       file://0005-Clean-up-pylint-W1201-logging-not-lazy-in-cgcs-patch.patch;striplevel=3 \
+       file://0006-Migrate-patch-agent-to-use-DNF-for-swmgmt.patch;striplevel=3 \
+       file://0007-patch_agent-do-not-do-the-packages_iter-if-pkggrp-is.patch;striplevel=3 \
+        "
+
+RDEPENDS_${PN}_append = " \
+       bash \
+       "
+RDEPENDS_${PN}-agent_append = " \
+       bash \
+       python \
+       "
+
+RDEPENDS_${PN}-controller_append = " \
+       bash \
+       python-requests-toolbelt \
+       createrepo-c \
+       "
+
+inherit setuptools systemd
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+SYSTEMD_PACKAGES += " ${PN}-controller"
+SYSTEMD_SERVICE_${PN}-controller = "sw-patch-controller.service sw-patch-controller-daemon.service "
+SYSTEMD_PACKAGES += " ${PN}-agent"
+SYSTEMD_SERVICE_${PN}-agent = " sw-patch-agent.service"
+SYSTEMD_PACKAGES += " ${PN}"
+SYSTEMD_SERVICE_${PN} = "sw-patch.service"
+
+
+do_unpack_append() {
+    bb.build.exec_func('do_restore_files', d)
+}
+
+do_restore_files() {
+       cd ${S}
+       git reset ${SRCREV} cgcs-patch/bin
+       git checkout cgcs-patch/bin
+}
+
+do_install_append () {
+
+       cd ${S}/cgcs-patch/bin
+       install -m 755 -d ${D}/${sbindir}
+       install -m 755 -d ${D}/${sysconfdir}/bash_completion.d
+       install -m 755 -d ${D}/${sysconfdir}/goenabled.d
+       install -m 755 -d ${D}/${sysconfdir}/init.d
+       install -m 755 -d ${D}/${sysconfdir}/logrotate.d
+       install -m 755 -d ${D}/${sysconfdir}/patching
+       install -m 700 -d ${D}/${sysconfdir}/patching/patch-scripts
+       install -m 755 -d ${D}/${sysconfdir}/pmon.d
+       install -m 755 -d ${D}/${systemd_system_unitdir}
+
+       install -m 500 sw-patch-agent  ${D}/${sbindir}/sw-patch-agent
+       install -m 500 sw-patch-controller-daemon ${D}/${sbindir}/sw-patch-controller-daemon
+       install -m 555 sw-patch ${D}/${sbindir}/sw-patch
+       install -m 555 rpm-audit ${D}/${sbindir}/rpm-audit
+       
+       install -m 500 sw-patch-controller-daemon-init.sh ${D}/${sysconfdir}/init.d/sw-patch-controller-daemon
+       install -m 500 sw-patch-agent-init.sh ${D}/${sysconfdir}/init.d/sw-patch-agent
+       
+       install -m 600 patching.conf ${D}/${sysconfdir}/patching/patching.conf
+       
+       install -m 644 policy.json ${D}/${sysconfdir}/patching/policy.json 
+       
+       install -m 444 pmon-sw-patch-controller-daemon.conf ${D}/${sysconfdir}/pmon.d/sw-patch-controller-daemon.conf
+       install -m 444 pmon-sw-patch-agent.conf ${D}/${sysconfdir}/pmon.d/sw-patch-agent.conf 
+       install -m 444 *.service ${D}/${systemd_system_unitdir} 
+       install -m 444 sw-patch.completion ${D}/${sysconfdir}/bash_completion.d/sw-patch 
+       install -m 400 patch-functions ${D}/${sysconfdir}/patching/patch-functions 
+
+       install -D -m 444 patch-tmpdirs.conf ${D}/${sysconfdir}/tempfiles.d/patch-tmpdirs.conf
+
+       install -m 500 run-patch-scripts ${D}/${sbindir}/run-patch-scripts 
+       install -m 500 sw-patch-controller-daemon-restart ${D}/${sbindir}/sw-patch-controller-daemon-restart
+       install -m 500 sw-patch-agent-restart ${D}/${sbindir}/sw-patch-agent-restart
+
+
+       install -m 500 run-patch-scripts ${D}/${sbindir}/run-patch-scripts
+       install -m 500 sw-patch-controller-daemon-restart ${D}/${sbindir}/sw-patch-controller-daemon-restart
+       install -m 500 sw-patch-agent-restart ${D}/${sbindir}/sw-patch-agent-restart 
+       install -m 500 sw-patch-init.sh ${D}/${sysconfdir}/init.d/sw-patch
+       install -m 500 sw-patch-controller-init.sh ${D}/${sysconfdir}/init.d/sw-patch-controller 
+       install -m 555 patch_check_goenabled.sh ${D}/${sysconfdir}/goenabled.d/patch_check_goenabled.sh 
+       install -m 444 patching.logrotate ${D}/${sysconfdir}/logrotate.d/patching 
+       
+       install -m 500 upgrade-start-pkg-extract ${D}/${sbindir}/upgrade-start-pkg-extract
+
+       sed -i -e 's/createrepo/createrepo_c/' ${D}/${sysconfdir}/init.d/sw-patch-controller
+
+}
+
+FILES_${PN} = " \
+       ${libdir}/python2.7/site-packages/cgcs_patch \
+       ${libdir}/python2.7/site-packages/cgcs_patch-1.0-py2.7.egg-info \
+       ${libdir}/python2.7/site-packages/cgcs_make_patch \
+       ${libdir}/python2.7/site-packages/cgcs_patch-1.0-py2.7.egg-info/top_level.txt \
+       ${sbindir}/rpm-audit \
+       ${sysconfdir}/patching/policy.json \
+       ${sysconfdir}/patching/patching.conf \
+       ${sysconfdir}/patching/patch-scripts \
+       ${sysconfdir}/init.d/sw-patch \
+       ${systemd_system_unitdir}/sw-patch.service \
+       ${sysconfdir}/goenabled.d/patch_check_goenabled.sh \
+       ${sysconfdir}/logrotate.d/patching \
+       ${sysconfdir}/tempfiles.d/patch-tmpdirs.conf \
+       ${sysconfdir}/patching/patch-functions \
+"
+
+FILES_${PN}-agent = " \
+       ${sbindir}/sw-patch-agent \
+       ${sbindir}/sw-patch-agent-restart \
+       ${sysconfdir}/pmon.d/sw-patch-agent.conf \
+       ${sbindir}/run-patch-scripts \
+       ${sysconfdir}/init.d/sw-patch-agent \
+       ${systemd_system_unitdir}/sw-patch-agent.service \
+       ${sysconfdir}/bash_completion.d/sw-patch \
+       "
+
+FILES_${PN}-controller = " \
+       ${sbindir}/sw-patch-controller-daemon-restart \
+       ${sysconfdir}/init.d/sw-patch-controller-daemon \
+       ${sbindir}/sw-patch-controller-daemon \
+       ${sbindir}/upgrade-start-pkg-extract \
+       ${sysconfdir}/pmon.d/sw-patch-controller-daemon.conf \
+       ${systemd_system_unitdir}/sw-patch-controller-daemon.service \
+       ${sbindir}/sw-patch \
+       ${sysconfdir}/init.d/sw-patch-controller \
+       ${systemd_system_unitdir}/sw-patch-controller.service \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-update/enable-dev-patch.bb b/meta-starlingx/meta-stx-flock/stx-update/enable-dev-patch.bb
new file mode 100644 (file)
index 0000000..d7dce93
--- /dev/null
@@ -0,0 +1,24 @@
+require update-common.inc
+
+SUBPATH0 = "enable-dev-patch"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_unpack_append() {
+    bb.build.exec_func('do_restore_license_file', d)
+}
+
+do_restore_license_file () {
+       cd ${S}
+       git reset HEAD LICENSE
+       git checkout LICENSE
+}
+
+do_install () {
+       install -m 755 -d ${D}/${sysconfdir}/pki/wrs
+       install -m 444 enable-dev-patch/dev_certificate_enable.bin ${D}/${sysconfdir}/pki/wrs
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-update/files/0006-Migrate-patch-agent-to-use-DNF-for-swmgmt.patch b/meta-starlingx/meta-stx-flock/stx-update/files/0006-Migrate-patch-agent-to-use-DNF-for-swmgmt.patch
new file mode 100644 (file)
index 0000000..467f37e
--- /dev/null
@@ -0,0 +1,841 @@
+diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py b/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py
+index 3abd891..d8bc375 100644
+--- a/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py
++++ b/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py
+@@ -5,22 +5,26 @@ SPDX-License-Identifier: Apache-2.0
+ """
+-import os
+-import time
+-import socket
++import dnf
++import dnf.callback
++import dnf.comps
++import dnf.exceptions
++import dnf.rpm
++import dnf.sack
++import dnf.transaction
+ import json
+-import select
+-import subprocess
++import libdnf.transaction
++import os
+ import random
+ import requests
+-import xml.etree.ElementTree as ElementTree
+-import rpm
+-import sys
+-import yaml
++import select
+ import shutil
++import socket
++import subprocess
++import sys
++import time
+ from cgcs_patch.patch_functions import configure_logging
+-from cgcs_patch.patch_functions import parse_pkgver
+ from cgcs_patch.patch_functions import LOG
+ import cgcs_patch.config as cfg
+ from cgcs_patch.base import PatchService
+@@ -50,19 +54,13 @@ pa = None
+ http_port_real = http_port
+-# Smart commands
+-smart_cmd = ["/usr/bin/smart"]
+-smart_quiet = smart_cmd + ["--quiet"]
+-smart_update = smart_quiet + ["update"]
+-smart_newer = smart_quiet + ["newer"]
+-smart_orphans = smart_quiet + ["query", "--orphans", "--show-format", "$name\n"]
+-smart_query = smart_quiet + ["query"]
+-smart_query_repos = smart_quiet + ["query", "--channel=base", "--channel=updates"]
+-smart_install_cmd = smart_cmd + ["install", "--yes", "--explain"]
+-smart_remove_cmd = smart_cmd + ["remove", "--yes", "--explain"]
+-smart_query_installed = smart_quiet + ["query", "--installed", "--show-format", "$name $version\n"]
+-smart_query_base = smart_quiet + ["query", "--channel=base", "--show-format", "$name $version\n"]
+-smart_query_updates = smart_quiet + ["query", "--channel=updates", "--show-format", "$name $version\n"]
++# DNF commands
++dnf_cmd = ['/usr/bin/dnf']
++dnf_quiet = dnf_cmd + ['--quiet']
++dnf_makecache = dnf_quiet + ['makecache',
++                             '--disablerepo="*"',
++                             '--enablerepo', 'platform-base',
++                             '--enablerepo', 'platform-updates']
+ def setflag(fname):
+@@ -123,10 +121,6 @@ class PatchMessageHelloAgent(messages.PatchMessage):
+     def handle(self, sock, addr):
+         # Send response
+-        # Run the smart config audit
+-        global pa
+-        pa.timed_audit_smart_config()
+-
+         #
+         # If a user tries to do a host-install on an unlocked node,
+         # without bypassing the lock check (either via in-service
+@@ -289,6 +283,46 @@ class PatchMessageAgentInstallResp(messages.PatchMessage):
+         resp.send(sock)
++class PatchAgentDnfTransLogCB(dnf.callback.TransactionProgress):
++    def __init__(self):
++        dnf.callback.TransactionProgress.__init__(self)
++
++        self.log_prefix = 'dnf trans'
++
++    def progress(self, package, action, ti_done, ti_total, ts_done, ts_total):
++        if action in dnf.transaction.ACTIONS:
++            action_str = dnf.transaction.ACTIONS[action]
++        elif action == dnf.transaction.TRANS_POST:
++            action_str = 'Post transaction'
++        else:
++            action_str = 'unknown(%d)' % action
++
++        if ti_done is not None:
++            # To reduce the volume of logs, only log 0% and 100%
++            if ti_done == 0 or ti_done == ti_total:
++                LOG.info('%s PROGRESS %s: %s %0.1f%% [%s/%s]',
++                         self.log_prefix, action_str, package,
++                         (ti_done * 100 / ti_total),
++                         ts_done, ts_total)
++        else:
++            LOG.info('%s PROGRESS %s: %s [%s/%s]',
++                     self.log_prefix, action_str, package, ts_done, ts_total)
++
++    def filelog(self, package, action):
++        if action in dnf.transaction.FILE_ACTIONS:
++            msg = '%s: %s' % (dnf.transaction.FILE_ACTIONS[action], package)
++        else:
++            msg = '%s: %s' % (package, action)
++        LOG.info('%s FILELOG %s', self.log_prefix, msg)
++
++    def scriptout(self, msgs):
++        if msgs:
++            LOG.info("%s SCRIPTOUT :\n%s", self.log_prefix, msgs)
++
++    def error(self, message):
++        LOG.error("%s ERROR: %s", self.log_prefix, message)
++
++
+ class PatchAgent(PatchService):
+     def __init__(self):
+         PatchService.__init__(self)
+@@ -298,9 +332,14 @@ class PatchAgent(PatchService):
+         self.listener = None
+         self.changes = False
+         self.installed = {}
++        self.installed_dnf = []
+         self.to_install = {}
++        self.to_install_dnf = []
++        self.to_downgrade_dnf = []
+         self.to_remove = []
++        self.to_remove_dnf = []
+         self.missing_pkgs = []
++        self.missing_pkgs_dnf = []
+         self.patch_op_counter = 0
+         self.node_is_patched = os.path.exists(node_is_patched_file)
+         self.node_is_patched_timestamp = 0
+@@ -308,6 +347,7 @@ class PatchAgent(PatchService):
+         self.state = constants.PATCH_AGENT_STATE_IDLE
+         self.last_config_audit = 0
+         self.rejection_timestamp = 0
++        self.dnfb = None
+         # Check state flags
+         if os.path.exists(patch_installing_file):
+@@ -343,289 +383,40 @@ class PatchAgent(PatchService):
+         self.listener.bind(('', self.port))
+         self.listener.listen(2)  # Allow two connections, for two controllers
+-    def audit_smart_config(self):
+-        LOG.info("Auditing smart configuration")
+-
+-        # Get the current channel config
+-        try:
+-            output = subprocess.check_output(smart_cmd +
+-                                             ["channel", "--yaml"],
+-                                             stderr=subprocess.STDOUT)
+-            config = yaml.load(output)
+-        except subprocess.CalledProcessError as e:
+-            LOG.exception("Failed to query channels")
+-            LOG.error("Command output: %s", e.output)
+-            return False
+-        except Exception:
+-            LOG.exception("Failed to query channels")
+-            return False
+-
+-        expected = [{'channel': 'rpmdb',
+-                     'type': 'rpm-sys',
+-                     'name': 'RPM Database',
+-                     'baseurl': None},
+-                    {'channel': 'base',
+-                     'type': 'rpm-md',
+-                     'name': 'Base',
+-                     'baseurl': "http://controller:%s/feed/rel-%s" % (http_port_real, SW_VERSION)},
+-                    {'channel': 'updates',
+-                     'type': 'rpm-md',
+-                     'name': 'Patches',
+-                     'baseurl': "http://controller:%s/updates/rel-%s" % (http_port_real, SW_VERSION)}]
+-
+-        updated = False
+-
+-        for item in expected:
+-            channel = item['channel']
+-            ch_type = item['type']
+-            ch_name = item['name']
+-            ch_baseurl = item['baseurl']
+-
+-            add_channel = False
+-
+-            if channel in config:
+-                # Verify existing channel config
+-                if (config[channel].get('type') != ch_type or
+-                        config[channel].get('name') != ch_name or
+-                        config[channel].get('baseurl') != ch_baseurl):
+-                    # Config is invalid
+-                    add_channel = True
+-                    LOG.warning("Invalid smart config found for %s", channel)
+-                    try:
+-                        output = subprocess.check_output(smart_cmd +
+-                                                         ["channel", "--yes",
+-                                                          "--remove", channel],
+-                                                         stderr=subprocess.STDOUT)
+-                    except subprocess.CalledProcessError as e:
+-                        LOG.exception("Failed to configure %s channel", channel)
+-                        LOG.error("Command output: %s", e.output)
+-                        return False
+-            else:
+-                # Channel is missing
+-                add_channel = True
+-                LOG.warning("Channel %s is missing from config", channel)
+-
+-            if add_channel:
+-                LOG.info("Adding channel %s", channel)
+-                cmd_args = ["channel", "--yes", "--add", channel,
+-                            "type=%s" % ch_type,
+-                            "name=%s" % ch_name]
+-                if ch_baseurl is not None:
+-                    cmd_args += ["baseurl=%s" % ch_baseurl]
+-
+-                try:
+-                    output = subprocess.check_output(smart_cmd + cmd_args,
+-                                                     stderr=subprocess.STDOUT)
+-                except subprocess.CalledProcessError as e:
+-                    LOG.exception("Failed to configure %s channel", channel)
+-                    LOG.error("Command output: %s", e.output)
+-                    return False
+-
+-                updated = True
+-
+-        # Validate the smart config
+-        try:
+-            output = subprocess.check_output(smart_cmd +
+-                                             ["config", "--yaml"],
+-                                             stderr=subprocess.STDOUT)
+-            config = yaml.load(output)
+-        except subprocess.CalledProcessError as e:
+-            LOG.exception("Failed to query smart config")
+-            LOG.error("Command output: %s", e.output)
+-            return False
+-        except Exception:
+-            LOG.exception("Failed to query smart config")
+-            return False
+-
+-        # Check for the rpm-nolinktos flag
+-        nolinktos = 'rpm-nolinktos'
+-        if config.get(nolinktos) is not True:
+-            # Set the flag
+-            LOG.warning("Setting %s option", nolinktos)
+-            try:
+-                output = subprocess.check_output(smart_cmd +
+-                                                 ["config", "--set",
+-                                                  "%s=true" % nolinktos],
+-                                                 stderr=subprocess.STDOUT)
+-            except subprocess.CalledProcessError as e:
+-                LOG.exception("Failed to configure %s option", nolinktos)
+-                LOG.error("Command output: %s", e.output)
+-                return False
+-
+-            updated = True
+-
+-        # Check for the rpm-check-signatures flag
+-        nosignature = 'rpm-check-signatures'
+-        if config.get(nosignature) is not False:
+-            # Set the flag
+-            LOG.warning("Setting %s option", nosignature)
+-            try:
+-                output = subprocess.check_output(smart_cmd +
+-                                                 ["config", "--set",
+-                                                  "%s=false" % nosignature],
+-                                                 stderr=subprocess.STDOUT)
+-            except subprocess.CalledProcessError as e:
+-                LOG.exception("Failed to configure %s option", nosignature)
+-                LOG.error("Command output: %s", e.output)
+-                return False
+-
+-            updated = True
+-
+-        if updated:
+-            try:
+-                subprocess.check_output(smart_update, stderr=subprocess.STDOUT)
+-            except subprocess.CalledProcessError as e:
+-                LOG.exception("Failed to update smartpm")
+-                LOG.error("Command output: %s", e.output)
+-                return False
+-
+-            # Reset the patch op counter to force a detailed query
+-            self.patch_op_counter = 0
+-
+-        self.last_config_audit = time.time()
+-        return True
+-
+-    def timed_audit_smart_config(self):
+-        rc = True
+-        if (time.time() - self.last_config_audit) > 1800:
+-            # It's been 30 minutes since the last completed audit
+-            LOG.info("Kicking timed audit")
+-            rc = self.audit_smart_config()
+-
+-        return rc
+-
+     @staticmethod
+-    def parse_smart_pkglist(output):
+-        pkglist = {}
+-        for line in output.splitlines():
+-            if line == '':
+-                continue
+-
+-            fields = line.split()
+-            pkgname = fields[0]
+-            (version, arch) = fields[1].split('@')
+-
+-            if pkgname not in pkglist:
+-                pkglist[pkgname] = {}
+-                pkglist[pkgname][arch] = version
+-            elif arch not in pkglist[pkgname]:
+-                pkglist[pkgname][arch] = version
++    def pkgobjs_to_list(pkgobjs):
++        # Transform pkgobj list to format used by patch-controller
++        output = {}
++        for pkg in pkgobjs:
++            if pkg.epoch != 0:
++                output[pkg.name] = "%s:%s-%s@%s" % (pkg.epoch, pkg.version, pkg.release, pkg.arch)
+             else:
+-                stored_ver = pkglist[pkgname][arch]
+-
+-                # The rpm.labelCompare takes version broken into 3 components
+-                # It returns:
+-                #     1, if first arg is higher version
+-                #     0, if versions are same
+-                #     -1, if first arg is lower version
+-                rc = rpm.labelCompare(parse_pkgver(version),
+-                                      parse_pkgver(stored_ver))
++                output[pkg.name] = "%s-%s@%s" % (pkg.version, pkg.release, pkg.arch)
+-                if rc > 0:
+-                    # Update version
+-                    pkglist[pkgname][arch] = version
++        return output
+-        return pkglist
++    def dnf_reset_client(self):
++        if self.dnfb is not None:
++            self.dnfb.close()
++            self.dnfb = None
+-    @staticmethod
+-    def get_pkg_version(pkglist, pkg, arch):
+-        if pkg not in pkglist:
+-            return None
+-        if arch not in pkglist[pkg]:
+-            return None
+-        return pkglist[pkg][arch]
+-
+-    def parse_smart_newer(self, output):
+-        # Skip the first two lines, which are headers
+-        for line in output.splitlines()[2:]:
+-            if line == '':
+-                continue
+-
+-            fields = line.split()
+-            pkgname = fields[0]
+-            installedver = fields[2]
+-            newver = fields[5]
++        self.dnfb = dnf.Base()
++        self.dnfb.conf.substitutions['infra'] = 'stock'
+-            self.installed[pkgname] = installedver
+-            self.to_install[pkgname] = newver
+-
+-    def parse_smart_orphans(self, output):
+-        for pkgname in output.splitlines():
+-            if pkgname == '':
+-                continue
++        # Reset default installonlypkgs list
++        self.dnfb.conf.installonlypkgs = []
+-            highest_version = None
++        self.dnfb.read_all_repos()
+-            try:
+-                query = subprocess.check_output(smart_query_repos + ["--show-format", '$version\n', pkgname])
+-                # The last non-blank version is the highest
+-                for version in query.splitlines():
+-                    if version == '':
+-                        continue
+-                    highest_version = version.split('@')[0]
+-
+-            except subprocess.CalledProcessError:
+-                # Package is not in the repo
+-                highest_version = None
+-
+-            if highest_version is None:
+-                # Package is to be removed
+-                self.to_remove.append(pkgname)
++        # Ensure only platform repos are enabled for transaction
++        for repo in self.dnfb.repos.all():
++            if repo.id == 'platform-base' or repo.id == 'platform-updates':
++                repo.enable()
+             else:
+-                # Rollback to the highest version
+-                self.to_install[pkgname] = highest_version
++                repo.disable()
+-            # Get the installed version
+-            try:
+-                query = subprocess.check_output(smart_query + ["--installed", "--show-format", '$version\n', pkgname])
+-                for version in query.splitlines():
+-                    if version == '':
+-                        continue
+-                    self.installed[pkgname] = version.split('@')[0]
+-                    break
+-            except subprocess.CalledProcessError:
+-                LOG.error("Failed to query installed version of %s", pkgname)
+-
+-            self.changes = True
+-
+-    def check_groups(self):
+-        # Get the groups file
+-        mygroup = "updates-%s" % "-".join(subfunctions)
+-        self.missing_pkgs = []
+-        installed_pkgs = []
+-
+-        groups_url = "http://controller:%s/updates/rel-%s/comps.xml" % (http_port_real, SW_VERSION)
+-        try:
+-            req = requests.get(groups_url)
+-            if req.status_code != 200:
+-                LOG.error("Failed to get groups list from server")
+-                return False
+-        except requests.ConnectionError:
+-            LOG.error("Failed to connect to server")
+-            return False
+-
+-        # Get list of installed packages
+-        try:
+-            query = subprocess.check_output(["rpm", "-qa", "--queryformat", "%{NAME}\n"])
+-            installed_pkgs = query.split()
+-        except subprocess.CalledProcessError:
+-            LOG.exception("Failed to query RPMs")
+-            return False
+-
+-        root = ElementTree.fromstring(req.text)
+-        for child in root:
+-            group_id = child.find('id')
+-            if group_id is None or group_id.text != mygroup:
+-                continue
+-
+-            pkglist = child.find('packagelist')
+-            if pkglist is None:
+-                continue
+-
+-            for pkg in pkglist.findall('packagereq'):
+-                if pkg.text not in installed_pkgs and pkg.text not in self.missing_pkgs:
+-                    self.missing_pkgs.append(pkg.text)
+-                    self.changes = True
++        # Read repo info
++        self.dnfb.fill_sack()
+     def query(self):
+         """ Check current patch state """
+@@ -633,14 +424,15 @@ class PatchAgent(PatchService):
+             LOG.info("Failed install_uuid check. Skipping query")
+             return False
+-        if not self.audit_smart_config():
+-            # Set a state to "unknown"?
+-            return False
++        if self.dnfb is not None:
++            self.dnfb.close()
++            self.dnfb = None
++        # TODO(dpenney): Use python APIs for makecache
+         try:
+-            subprocess.check_output(smart_update, stderr=subprocess.STDOUT)
++            subprocess.check_output(dnf_makecache, stderr=subprocess.STDOUT)
+         except subprocess.CalledProcessError as e:
+-            LOG.error("Failed to update smartpm")
++            LOG.error("Failed to run dnf makecache")
+             LOG.error("Command output: %s", e.output)
+             # Set a state to "unknown"?
+             return False
+@@ -649,78 +441,72 @@ class PatchAgent(PatchService):
+         self.query_id = random.random()
+         self.changes = False
++        self.installed_dnf = []
+         self.installed = {}
+-        self.to_install = {}
++        self.to_install_dnf = []
++        self.to_downgrade_dnf = []
+         self.to_remove = []
++        self.to_remove_dnf = []
+         self.missing_pkgs = []
++        self.missing_pkgs_dnf = []
+-        # Get the repo data
+-        pkgs_installed = {}
+-        pkgs_base = {}
+-        pkgs_updates = {}
+-
+-        try:
+-            output = subprocess.check_output(smart_query_installed)
+-            pkgs_installed = self.parse_smart_pkglist(output)
+-        except subprocess.CalledProcessError as e:
+-            LOG.error("Failed to query installed pkgs: %s", e.output)
+-            # Set a state to "unknown"?
+-            return False
+-
+-        try:
+-            output = subprocess.check_output(smart_query_base)
+-            pkgs_base = self.parse_smart_pkglist(output)
+-        except subprocess.CalledProcessError as e:
+-            LOG.error("Failed to query base pkgs: %s", e.output)
+-            # Set a state to "unknown"?
+-            return False
++        self.dnf_reset_client()
+-        try:
+-            output = subprocess.check_output(smart_query_updates)
+-            pkgs_updates = self.parse_smart_pkglist(output)
+-        except subprocess.CalledProcessError as e:
+-            LOG.error("Failed to query patched pkgs: %s", e.output)
+-            # Set a state to "unknown"?
+-            return False
++        # Get the repo data
++        pkgs_installed = dnf.sack._rpmdb_sack(self.dnfb).query().installed()  # pylint: disable=protected-access
++        avail = self.dnfb.sack.query().available().latest()
+-        # There are four possible actions:
+-        # 1. If installed pkg is not in base or updates, remove it.
+-        # 2. If installed pkg version is higher than highest in base
+-        #    or updates, downgrade it.
+-        # 3. If installed pkg version is lower than highest in updates,
+-        #    upgrade it.
+-        # 4. If pkg in grouplist is not in installed, install it.
++        # There are three possible actions:
++        # 1. If installed pkg is not in a repo, remove it.
++        # 2. If installed pkg version does not match newest repo version, update it.
++        # 3. If a package in the grouplist is not installed, install it.
+         for pkg in pkgs_installed:
+-            for arch in pkgs_installed[pkg]:
+-                installed_version = pkgs_installed[pkg][arch]
+-                updates_version = self.get_pkg_version(pkgs_updates, pkg, arch)
+-                base_version = self.get_pkg_version(pkgs_base, pkg, arch)
+-
+-                if updates_version is None and base_version is None:
+-                    # Remove it
+-                    self.to_remove.append(pkg)
+-                    self.changes = True
+-                    continue
++            highest = avail.filter(name=pkg.name, arch=pkg.arch)
++            if highest:
++                highest_pkg = highest[0]
+-                compare_version = updates_version
+-                if compare_version is None:
+-                    compare_version = base_version
+-
+-                # Compare the installed version to what's in the repo
+-                rc = rpm.labelCompare(parse_pkgver(installed_version),
+-                                      parse_pkgver(compare_version))
+-                if rc == 0:
+-                    # Versions match, nothing to do.
++                if pkg.evr_eq(highest_pkg):
+                     continue
++
++                if pkg.evr_gt(highest_pkg):
++                    self.to_downgrade_dnf.append(highest_pkg)
+                 else:
+-                    # Install the version from the repo
+-                    self.to_install[pkg] = "@".join([compare_version, arch])
+-                    self.installed[pkg] = "@".join([installed_version, arch])
+-                    self.changes = True
++                    self.to_install_dnf.append(highest_pkg)
++            else:
++                self.to_remove_dnf.append(pkg)
++                self.to_remove.append(pkg.name)
++
++            self.installed_dnf.append(pkg)
++            self.changes = True
+         # Look for new packages
+-        self.check_groups()
++        self.dnfb.read_comps()
++        grp_id = 'updates-%s' % '-'.join(subfunctions)
++        pkggrp = None
++        for grp in self.dnfb.comps.groups_iter():
++            if grp.id == grp_id:
++                pkggrp = grp
++                break
++
++        if pkggrp is None:
++            LOG.error("Could not find software group: %s", grp_id)
++
++        for pkg in pkggrp.packages_iter():
++            try:
++                res = pkgs_installed.filter(name=pkg.name)
++                if len(res) == 0:
++                    found_pkg = avail.filter(name=pkg.name)
++                    self.missing_pkgs_dnf.append(found_pkg[0])
++                    self.missing_pkgs.append(found_pkg[0].name)
++                    self.changes = True
++            except dnf.exceptions.PackageNotFoundError:
++                self.missing_pkgs_dnf.append(pkg)
++                self.missing_pkgs.append(pkg.name)
++                self.changes = True
++
++        self.installed = self.pkgobjs_to_list(self.installed_dnf)
++        self.to_install = self.pkgobjs_to_list(self.to_install_dnf + self.to_downgrade_dnf)
+         LOG.info("Patch state query returns %s", self.changes)
+         LOG.info("Installed: %s", self.installed)
+@@ -730,6 +516,35 @@ class PatchAgent(PatchService):
+         return True
++    def resolve_dnf_transaction(self, undo_failure=True):
++        LOG.info("Starting to process transaction: undo_failure=%s", undo_failure)
++        self.dnfb.resolve()
++        self.dnfb.download_packages(self.dnfb.transaction.install_set)
++
++        tid = self.dnfb.do_transaction(display=PatchAgentDnfTransLogCB())
++
++        transaction_rc = True
++        for t in self.dnfb.transaction:
++            if t.state != libdnf.transaction.TransactionItemState_DONE:
++                transaction_rc = False
++                break
++
++        self.dnf_reset_client()
++
++        if not transaction_rc:
++            if undo_failure:
++                LOG.error("Failure occurred... Undoing last transaction (%s)", tid)
++                old = self.dnfb.history.old((tid,))[0]
++                mobj = dnf.db.history.MergedTransactionWrapper(old)
++
++                self.dnfb._history_undo_operations(mobj, old.tid, True)  # pylint: disable=protected-access
++
++                if not self.resolve_dnf_transaction(undo_failure=False):
++                    LOG.error("Failed to undo transaction")
++
++        LOG.info("Transaction complete: undo_failure=%s, success=%s", undo_failure, transaction_rc)
++        return transaction_rc
++
+     def handle_install(self, verbose_to_stdout=False, disallow_insvc_patch=False):
+         #
+         # The disallow_insvc_patch parameter is set when we're installing
+@@ -781,64 +596,54 @@ class PatchAgent(PatchService):
+         if verbose_to_stdout:
+             print("Checking for software updates...")
+         self.query()
+-        install_set = []
+-        for pkg, version in self.to_install.items():
+-            install_set.append("%s-%s" % (pkg, version))
+-
+-        install_set += self.missing_pkgs
+         changed = False
+         rc = True
+-        if len(install_set) > 0:
++        if len(self.to_install_dnf) > 0 or len(self.to_downgrade_dnf) > 0:
++            LOG.info("Adding pkgs to installation set: %s", self.to_install)
++            for pkg in self.to_install_dnf:
++                self.dnfb.package_install(pkg)
++
++            for pkg in self.to_downgrade_dnf:
++                self.dnfb.package_downgrade(pkg)
++
++            changed = True
++
++        if len(self.missing_pkgs_dnf) > 0:
++            LOG.info("Adding missing pkgs to installation set: %s", self.missing_pkgs)
++            for pkg in self.missing_pkgs_dnf:
++                self.dnfb.package_install(pkg)
++            changed = True
++
++        if len(self.to_remove_dnf) > 0:
++            LOG.info("Adding pkgs to be removed: %s", self.to_remove)
++            for pkg in self.to_remove_dnf:
++                self.dnfb.package_remove(pkg)
++            changed = True
++
++        if changed:
++            # Run the transaction set
++            transaction_rc = False
+             try:
+-                if verbose_to_stdout:
+-                    print("Installing software updates...")
+-                LOG.info("Installing: %s", ", ".join(install_set))
+-                output = subprocess.check_output(smart_install_cmd + install_set, stderr=subprocess.STDOUT)
+-                changed = True
+-                for line in output.split('\n'):
+-                    LOG.info("INSTALL: %s", line)
+-                if verbose_to_stdout:
+-                    print("Software updated.")
+-            except subprocess.CalledProcessError as e:
+-                LOG.exception("Failed to install RPMs")
+-                LOG.error("Command output: %s", e.output)
++                transaction_rc = self.resolve_dnf_transaction()
++            except dnf.exceptions.DepsolveError:
++                LOG.error("Failures resolving dependencies in transaction")
++            except dnf.exceptions.DownloadError:
++                LOG.error("Failures downloading in transaction")
++
++            if not transaction_rc:
++                LOG.error("Failures occurred during transaction")
+                 rc = False
+                 if verbose_to_stdout:
+                     print("WARNING: Software update failed.")
++
+         else:
+             if verbose_to_stdout:
+                 print("Nothing to install.")
+             LOG.info("Nothing to install")
+-        if rc:
+-            self.query()
+-            remove_set = self.to_remove
+-
+-            if len(remove_set) > 0:
+-                try:
+-                    if verbose_to_stdout:
+-                        print("Handling patch removal...")
+-                    LOG.info("Removing: %s", ", ".join(remove_set))
+-                    output = subprocess.check_output(smart_remove_cmd + remove_set, stderr=subprocess.STDOUT)
+-                    changed = True
+-                    for line in output.split('\n'):
+-                        LOG.info("REMOVE: %s", line)
+-                    if verbose_to_stdout:
+-                        print("Patch removal complete.")
+-                except subprocess.CalledProcessError as e:
+-                    LOG.exception("Failed to remove RPMs")
+-                    LOG.error("Command output: %s", e.output)
+-                    rc = False
+-                    if verbose_to_stdout:
+-                        print("WARNING: Patch removal failed.")
+-            else:
+-                if verbose_to_stdout:
+-                    print("Nothing to remove.")
+-                LOG.info("Nothing to remove")
+-
+-        if changed:
++        if changed and rc:
+             # Update the node_is_patched flag
+             setflag(node_is_patched_file)
+@@ -1057,7 +862,7 @@ class PatchAgent(PatchService):
+ def main():
+     global pa
+-    configure_logging()
++    configure_logging(dnf_log=True)
+     cfg.read_config()
+diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py b/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py
+index e9017f2..2ee9fce 100644
+--- a/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py
++++ b/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py
+@@ -69,7 +69,7 @@ def handle_exception(exc_type, exc_value, exc_traceback):
+     sys.__excepthook__(exc_type, exc_value, exc_traceback)
+-def configure_logging(logtofile=True, level=logging.INFO):
++def configure_logging(logtofile=True, level=logging.INFO, dnf_log=False):
+     if logtofile:
+         my_exec = os.path.basename(sys.argv[0])
+@@ -84,6 +84,11 @@ def configure_logging(logtofile=True, level=logging.INFO):
+         main_log_handler = logging.FileHandler(logfile)
+         main_log_handler.setFormatter(formatter)
+         LOG.addHandler(main_log_handler)
++
++        if dnf_log:
++            dnf_logger = logging.getLogger('dnf')
++            dnf_logger.addHandler(main_log_handler)
++
+         try:
+             os.chmod(logfile, 0o640)
+         except Exception:
+diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/tests/test_patch_agent.py b/cgcs-patch/cgcs-patch/cgcs_patch/tests/test_patch_agent.py
+index bd1eef9..7e30fc5 100644
+--- a/cgcs-patch/cgcs-patch/cgcs_patch/tests/test_patch_agent.py
++++ b/cgcs-patch/cgcs-patch/cgcs_patch/tests/test_patch_agent.py
+@@ -10,6 +10,15 @@ import sys
+ import testtools
+ sys.modules['rpm'] = mock.Mock()
++sys.modules['dnf'] = mock.Mock()
++sys.modules['dnf.callback'] = mock.Mock()
++sys.modules['dnf.comps'] = mock.Mock()
++sys.modules['dnf.exceptions'] = mock.Mock()
++sys.modules['dnf.rpm'] = mock.Mock()
++sys.modules['dnf.sack'] = mock.Mock()
++sys.modules['dnf.transaction'] = mock.Mock()
++sys.modules['libdnf'] = mock.Mock()
++sys.modules['libdnf.transaction'] = mock.Mock()
+ import cgcs_patch.patch_agent  # noqa: E402
+diff --git a/cgcs-patch/cgcs-patch/pylint.rc b/cgcs-patch/cgcs-patch/pylint.rc
+index 57a9829..f511718 100644
+--- a/cgcs-patch/cgcs-patch/pylint.rc
++++ b/cgcs-patch/cgcs-patch/pylint.rc
+@@ -45,10 +45,11 @@ symbols=no
+ # no Warning level messages displayed, use"--disable=all --enable=classes
+ # --disable=W"
+ # W0107 unnecessary-pass
++# W0511 fixme
+ # W0603 global-statement
+ # W0703 broad-except
+ # W1505, deprecated-method
+-disable=C, R, W0107, W0603, W0703, W1505
++disable=C, R, W0107, W0511, W0603, W0703, W1505
+ [REPORTS]
+@@ -235,7 +236,7 @@ ignore-mixin-members=yes
+ # List of module names for which member attributes should not be checked
+ # (useful for modules/projects where namespaces are manipulated during runtime
+ # and thus existing member attributes cannot be deduced by static analysis
+-ignored-modules=
++ignored-modules=dnf,libdnf
+ # List of classes names for which member attributes should not be checked
+ # (useful for classes with attributes dynamically set).
+diff --git a/cgcs-patch/cgcs-patch/test-requirements.txt b/cgcs-patch/cgcs-patch/test-requirements.txt
+index 3f4e581..56e4806 100644
+--- a/cgcs-patch/cgcs-patch/test-requirements.txt
++++ b/cgcs-patch/cgcs-patch/test-requirements.txt
+@@ -8,4 +8,3 @@ coverage!=4.4,>=4.0 # Apache-2.0
+ mock>=2.0.0 # BSD
+ stestr>=1.0.0 # Apache-2.0
+ testtools>=2.2.0 # MIT
+-
diff --git a/meta-starlingx/meta-stx-flock/stx-update/patch-alarm.bb b/meta-starlingx/meta-stx-flock/stx-update/patch-alarm.bb
new file mode 100644 (file)
index 0000000..9de6d75
--- /dev/null
@@ -0,0 +1,39 @@
+DESCRIPTION = "TIS Platform Patching"
+SUMMARY = "Patch alarm management"
+
+require update-common.inc
+
+SUBPATH0 = "patch-alarm/patch-alarm"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append = " \
+       bash \
+       python \
+       python-requests-toolbelt \
+       "
+
+inherit setuptools
+
+do_unpack_append() {
+    bb.build.exec_func('do_restore_files', d)
+}
+
+do_restore_files() {
+       cd ${S}
+       git reset ${SRCREV} patch-alarm/scripts
+       git checkout patch-alarm/scripts
+}
+
+
+do_install_append () {
+
+       cd ${S}/patch-alarm/
+
+       install -m 755 -d ${D}/${bindir}
+       install -m 755 -d ${D}/${sysconfdir}/init.d
+
+       install -m 700 scripts/bin/patch-alarm-manager ${D}/${bindir}/
+       install -m 700 scripts/init.d/patch-alarm-manager ${D}/${sysconfdir}/init.d/
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-update/tsconfig.bb b/meta-starlingx/meta-stx-flock/stx-update/tsconfig.bb
new file mode 100644 (file)
index 0000000..2a418ec
--- /dev/null
@@ -0,0 +1,15 @@
+require update-common.inc
+
+SUBPATH0 = "tsconfig/tsconfig"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append = " bash"
+
+inherit setuptools
+do_install_append () {
+       install -m 755 -d ${D}/${bindir}
+       install -m 500 scripts/tsconfig ${D}/${bindir}/
+
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-update/update-common.inc b/meta-starlingx/meta-stx-flock/stx-update/update-common.inc
new file mode 100644 (file)
index 0000000..a1f1eae
--- /dev/null
@@ -0,0 +1,20 @@
+
+DESCRIPTION = "stx-update"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCNAME = "update"
+SRCREV = "2542c5539bab060830009d02cbb257cc8bf4a376"
+SRCREV_opendev = "2542c5539bab060830009d02cbb257cc8bf4a376"
+DESTSUFFIX = "${PN}-${PV}"
+PV = "1.0.0"
+
+
+SRC_URI = " \
+   git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=${DESTSUFFIX};subpath=${SUBPATH0};name=opendev \
+   "
+
+DEPENDS = " \
+       python \
+       python-pbr-native \
+       "
diff --git a/meta-starlingx/meta-stx-flock/stx-upstream/openstack-ras_git.bb b/meta-starlingx/meta-stx-flock/stx-upstream/openstack-ras_git.bb
new file mode 100644 (file)
index 0000000..5c37014
--- /dev/null
@@ -0,0 +1,27 @@
+DESCRIPTION = "Pacemaker High Availability resource agents for OpenStack"
+SUMMARY = "Openstack Resource Agents from Madkiss"
+
+PROTOCOL = "https"
+BRANCH = "master"
+SRCNAME = "stx-openstack-ras"
+SRCREV = "cc6f677570b4f0e7ba44a91d5dff33164b8b76bc"
+S = "${WORKDIR}/git"
+PV = "1.0.0"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "git://github.com/starlingx-staging/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+
+do_install() {
+       make  DESTDIR=${D} install
+       rm -rf ${D}/usr/lib/ocf/resource.d/openstack/ceilometer-agent-central
+       rm -rf ${D}/usr/lib/ocf/resource.d/openstack/ceilometer-alarm-evaluator
+       rm -rf ${D}/usr/lib/ocf/resource.d/openstack/ceilometer-alarm-notifier
+}
+
+FILES_${PN} += " ${libdir}"
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/build-info.bb b/meta-starlingx/meta-stx-flock/stx-utilities/build-info.bb
new file mode 100644 (file)
index 0000000..54033b6
--- /dev/null
@@ -0,0 +1,26 @@
+DESCRIPTION = "Build Info"
+SUMMARY  = "Build Info"
+
+SRC_URI += " \
+       file://build.info \
+       file://0001-build_info_license.patch \
+       "
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install_append() {
+       install -d ${D}/${sysconfdir}
+       install -m 644 ${WORKDIR}/build.info ${D}/${sysconfdir}
+       sed -i -e "s/@OS@/${DISTRO}/" \
+              -e "s/@STX_RELEASE@/${STX_REL}/" \
+              -e "s/@STX_ID@/${STX_ID}/" \
+              -e "s/@BUILD_DATE@/${STX_BUILD_DATE}/" \
+              ${D}/${sysconfdir}/build.info
+
+}
+
+do_install[vardepsexclude] += "STX_BUILD_DATE"
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/ceph-manager.bb b/meta-starlingx/meta-stx-flock/stx-utilities/ceph-manager.bb
new file mode 100644 (file)
index 0000000..73636fa
--- /dev/null
@@ -0,0 +1,48 @@
+DESCRIPTION_ceph-manager = " \
+Handle Ceph API calls and provide status updates via alarms. \
+Handle sysinv RPC calls for long running Ceph API operations: \
+       - cache tiering enable \
+       - cache tiering disable \
+"
+
+
+require utilities-common.inc
+
+SUBPATH0 = "ceph/ceph-manager/ceph-manager"
+
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append = " sysinv"
+
+inherit setuptools systemd
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_SERVICE_${PN} = " ceph-manager.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+do_unpack_append() {
+    bb.build.exec_func('do_restore_files', d)
+}
+
+do_restore_files() {
+       cd ${S}
+       git reset ${SRCREV} ceph/ceph-manager/scripts
+       git reset ${SRCREV} ceph/ceph-manager/files
+       git checkout ceph/ceph-manager/scripts
+       git checkout ceph/ceph-manager/files
+}
+
+do_install_append() {
+
+       install -d -m0755 ${D}/${bindir}
+       install -d -m0755 ${D}/${sysconfdir}/init.d
+       install -d -m0755 ${D}/${sysconfdir}/logrotate.d
+       install -d -m0755 ${D}/${systemd_system_unitdir}
+
+       install -p -m0700 ${S}/ceph/ceph-manager/scripts/bin/ceph-manager ${D}/${bindir}
+       install -p -m0700 ${S}/ceph/ceph-manager/scripts/init.d/ceph-manager ${D}/${sysconfdir}/init.d
+       install -p -m0700 ${S}/ceph/ceph-manager/files/ceph-manager.logrotate ${D}/${sysconfdir}/logrotate.d
+       install -p -m0700 ${S}/ceph/ceph-manager/files/ceph-manager.service ${D}/${systemd_system_unitdir}
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/collect-engtools.bb b/meta-starlingx/meta-stx-flock/stx-utilities/collect-engtools.bb
new file mode 100644 (file)
index 0000000..d18c30f
--- /dev/null
@@ -0,0 +1,69 @@
+DESCRIPTION = " \
+This package contains data collection tools to monitor host performance. \
+Tools are general purpose engineering and debugging related. Includes \
+overall memory, cpu occupancy, per-task cpu, per-task scheduling, per-task \
+io. \
+"
+SUMMARY = "Host performance data collection tools package"
+
+require utilities-common.inc
+SUBPATH0 = "tools/engtools/hostdata-collectors/scripts"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI += "file://collect-engtools-fix-service-name-binary-path.patch;striplevel=5"
+
+RDEPENDS_collect-engtools += " \
+       iperf3 \
+       bash \
+       perl \
+       python \
+       "
+
+inherit systemd
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_SERVICE_${PN} = " ${PN}.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install_append() {
+
+       install -d -m0755 ${D}/${bindir}
+       install -m 755 buddyinfo.py ${D}/${bindir}
+       install -m 755 chewmem ${D}/${bindir}
+       install -m 755 ceph.sh ${D}/${bindir}
+       install -m 755 cleanup-engtools.sh ${D}/${bindir}
+       install -m 755 collect-engtools.sh ${D}/${bindir}
+       install -m 755 diskstats.sh ${D}/${bindir}
+       install -m 755 engtools_util.sh ${D}/${bindir}
+       install -m 755 filestats.sh ${D}/${bindir}
+       install -m 755 iostat.sh ${D}/${bindir}
+       install -m 755 linux_benchmark.sh ${D}/${bindir}
+       install -m 755 memstats.sh ${D}/${bindir}
+       install -m 755 netstats.sh ${D}/${bindir}
+       install -m 755 postgres.sh ${D}/${bindir}
+       install -m 755 rabbitmq.sh ${D}/${bindir}
+       install -m 755 remote/rbzip2-engtools.sh ${D}/${bindir}
+       install -m 755 remote/rstart-engtools.sh ${D}/${bindir}
+       install -m 755 remote/rstop-engtools.sh ${D}/${bindir}
+       install -m 755 remote/rsync-engtools-data.sh ${D}/${bindir}
+       install -m 755 slab.sh ${D}/${bindir}
+       install -m 755 ticker.sh ${D}/${bindir}
+       install -m 755 top.sh ${D}/${bindir}
+       install -m 755 vswitch.sh ${D}/${bindir}
+       install -m 755 live_stream.py ${D}/${bindir}
+
+       install -p -d -m0755 ${D}/${sysconfdir}/engtools/
+       install -m0644 -p cfg/engtools.conf ${D}/${sysconfdir}/engtools
+       install -d -m0755 ${D}/${sysconfdir}/init.d
+       install -m0755 init.d/collect-engtools.sh ${D}/${sysconfdir}/init.d
+
+       install -d -m0755 ${D}/${systemd_system_unitdir}
+       install -m0644 -p -D collect-engtools.service ${D}/${systemd_system_unitdir}
+
+       sed -i -e 's|/local/bin|/bin|g' ${D}/${sysconfdir}/init.d/collect-engtools.sh
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/collector.bb b/meta-starlingx/meta-stx-flock/stx-utilities/collector.bb
new file mode 100644 (file)
index 0000000..76f8110
--- /dev/null
@@ -0,0 +1,56 @@
+DESCRIPTION = " \
+This packages scripts that implement data and log collection that field \
+support can execute to gather current state and runtime history for off \
+platform analysis and debug. \
+"
+
+require utilities-common.inc
+SUBPATH0 = "tools/collector/scripts"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI += "file://collector-fix-service-name-binary-path.patch;striplevel=4"
+
+RDEPENDS_${PN}_append += " bash"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+
+       install -m0755 -d ${D}/${sysconfdir}/collect.d
+       install -m0755 -d ${D}/${sysconfdir}/collect
+       install -m0755 -d ${D}/${sbindir}
+       install -m0755 -d ${D}/${bindir}
+       install -m0755 -d ${D}/${sbindir}
+
+       install -m 755 collect ${D}/${sbindir}/collect
+       install -m 755 collect_host ${D}/${sbindir}/collect_host
+       install -m 755 collect_date ${D}/${sbindir}/collect_date
+       install -m 755 collect_utils ${D}/${sbindir}/collect_utils
+       install -m 755 collect_parms ${D}/${sbindir}/collect_parms
+       install -m 755 collect_mask_passwords ${D}/${sbindir}/collect_mask_passwords
+       install -m 755 expect_done ${D}/${sbindir}/expect_done
+
+       install -m 755 collect_sysinv.sh ${D}/${sysconfdir}/collect.d/collect_sysinv
+       install -m 755 collect_psqldb.sh ${D}/${sysconfdir}/collect.d/collect_psqldb
+       install -m 755 collect_openstack.sh ${D}/${sysconfdir}/collect.d/collect_openstack
+       install -m 755 collect_networking.sh ${D}/${sysconfdir}/collect.d/collect_networking
+       install -m 755 collect_ceph.sh ${D}/${sysconfdir}/collect.d/collect_ceph
+       install -m 755 collect_sm.sh ${D}/${sysconfdir}/collect.d/collect_sm
+       install -m 755 collect_tc.sh ${D}/${sysconfdir}/collect.d/collect_tc
+       install -m 755 collect_nfv_vim.sh ${D}/${sysconfdir}/collect.d/collect_nfv_vim
+       install -m 755 collect_ovs.sh ${D}/${sysconfdir}/collect.d/collect_ovs
+       install -m 755 collect_patching.sh ${D}/${sysconfdir}/collect.d/collect_patching
+       install -m 755 collect_coredump.sh ${D}/${sysconfdir}/collect.d/collect_coredump
+       install -m 755 collect_crash.sh ${D}/${sysconfdir}/collect.d/collect_crash
+       install -m 755 collect_ima.sh ${D}/${sysconfdir}/collect.d/collect_ima
+       install -m 755 collect_fm.sh ${D}/${sysconfdir}/collect.d/collect_fm
+       install -m 755 collect_containerization.sh ${D}/${sysconfdir}/collect.d/collect_containerization
+
+       install -m 755 etc.exclude ${D}/${sysconfdir}/collect/etc.exclude
+       install -m 755 run.exclude ${D}/${sysconfdir}/collect/run.exclude
+
+       ln -sf ${sbindir}/collect ${D}/${bindir}/collect
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/files/0001-build_info_license.patch b/meta-starlingx/meta-stx-flock/stx-utilities/files/0001-build_info_license.patch
new file mode 100644 (file)
index 0000000..c7d0c29
--- /dev/null
@@ -0,0 +1,207 @@
+--- /dev/null  2020-03-09 15:17:21.628000278 -0700
++++ a/LICENSE  2020-05-11 17:39:30.227649927 -0700
+@@ -0,0 +1,204 @@
++
++
++                                 Apache License
++                           Version 2.0, January 2004
++                        http://www.apache.org/licenses/
++
++   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
++
++   1. Definitions.
++
++      "License" shall mean the terms and conditions for use, reproduction,
++      and distribution as defined by Sections 1 through 9 of this document.
++
++      "Licensor" shall mean the copyright owner or entity authorized by
++      the copyright owner that is granting the License.
++
++      "Legal Entity" shall mean the union of the acting entity and all
++      other entities that control, are controlled by, or are under common
++      control with that entity. For the purposes of this definition,
++      "control" means (i) the power, direct or indirect, to cause the
++      direction or management of such entity, whether by contract or
++      otherwise, or (ii) ownership of fifty percent (50%) or more of the
++      outstanding shares, or (iii) beneficial ownership of such entity.
++
++      "You" (or "Your") shall mean an individual or Legal Entity
++      exercising permissions granted by this License.
++
++      "Source" form shall mean the preferred form for making modifications,
++      including but not limited to software source code, documentation
++      source, and configuration files.
++
++      "Object" form shall mean any form resulting from mechanical
++      transformation or translation of a Source form, including but
++      not limited to compiled object code, generated documentation,
++      and conversions to other media types.
++
++      "Work" shall mean the work of authorship, whether in Source or
++      Object form, made available under the License, as indicated by a
++      copyright notice that is included in or attached to the work
++      (an example is provided in the Appendix below).
++
++      "Derivative Works" shall mean any work, whether in Source or Object
++      form, that is based on (or derived from) the Work and for which the
++      editorial revisions, annotations, elaborations, or other modifications
++      represent, as a whole, an original work of authorship. For the purposes
++      of this License, Derivative Works shall not include works that remain
++      separable from, or merely link (or bind by name) to the interfaces of,
++      the Work and Derivative Works thereof.
++
++      "Contribution" shall mean any work of authorship, including
++      the original version of the Work and any modifications or additions
++      to that Work or Derivative Works thereof, that is intentionally
++      submitted to Licensor for inclusion in the Work by the copyright owner
++      or by an individual or Legal Entity authorized to submit on behalf of
++      the copyright owner. For the purposes of this definition, "submitted"
++      means any form of electronic, verbal, or written communication sent
++      to the Licensor or its representatives, including but not limited to
++      communication on electronic mailing lists, source code control systems,
++      and issue tracking systems that are managed by, or on behalf of, the
++      Licensor for the purpose of discussing and improving the Work, but
++      excluding communication that is conspicuously marked or otherwise
++      designated in writing by the copyright owner as "Not a Contribution."
++
++      "Contributor" shall mean Licensor and any individual or Legal Entity
++      on behalf of whom a Contribution has been received by Licensor and
++      subsequently incorporated within the Work.
++
++   2. Grant of Copyright License. Subject to the terms and conditions of
++      this License, each Contributor hereby grants to You a perpetual,
++      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
++      copyright license to reproduce, prepare Derivative Works of,
++      publicly display, publicly perform, sublicense, and distribute the
++      Work and such Derivative Works in Source or Object form.
++
++   3. Grant of Patent License. Subject to the terms and conditions of
++      this License, each Contributor hereby grants to You a perpetual,
++      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
++      (except as stated in this section) patent license to make, have made,
++      use, offer to sell, sell, import, and otherwise transfer the Work,
++      where such license applies only to those patent claims licensable
++      by such Contributor that are necessarily infringed by their
++      Contribution(s) alone or by combination of their Contribution(s)
++      with the Work to which such Contribution(s) was submitted. If You
++      institute patent litigation against any entity (including a
++      cross-claim or counterclaim in a lawsuit) alleging that the Work
++      or a Contribution incorporated within the Work constitutes direct
++      or contributory patent infringement, then any patent licenses
++      granted to You under this License for that Work shall terminate
++      as of the date such litigation is filed.
++
++   4. Redistribution. You may reproduce and distribute copies of the
++      Work or Derivative Works thereof in any medium, with or without
++      modifications, and in Source or Object form, provided that You
++      meet the following conditions:
++
++      (a) You must give any other recipients of the Work or
++          Derivative Works a copy of this License; and
++
++      (b) You must cause any modified files to carry prominent notices
++          stating that You changed the files; and
++
++      (c) You must retain, in the Source form of any Derivative Works
++          that You distribute, all copyright, patent, trademark, and
++          attribution notices from the Source form of the Work,
++          excluding those notices that do not pertain to any part of
++          the Derivative Works; and
++
++      (d) If the Work includes a "NOTICE" text file as part of its
++          distribution, then any Derivative Works that You distribute must
++          include a readable copy of the attribution notices contained
++          within such NOTICE file, excluding those notices that do not
++          pertain to any part of the Derivative Works, in at least one
++          of the following places: within a NOTICE text file distributed
++          as part of the Derivative Works; within the Source form or
++          documentation, if provided along with the Derivative Works; or,
++          within a display generated by the Derivative Works, if and
++          wherever such third-party notices normally appear. The contents
++          of the NOTICE file are for informational purposes only and
++          do not modify the License. You may add Your own attribution
++          notices within Derivative Works that You distribute, alongside
++          or as an addendum to the NOTICE text from the Work, provided
++          that such additional attribution notices cannot be construed
++          as modifying the License.
++
++      You may add Your own copyright statement to Your modifications and
++      may provide additional or different license terms and conditions
++      for use, reproduction, or distribution of Your modifications, or
++      for any such Derivative Works as a whole, provided Your use,
++      reproduction, and distribution of the Work otherwise complies with
++      the conditions stated in this License.
++
++   5. Submission of Contributions. Unless You explicitly state otherwise,
++      any Contribution intentionally submitted for inclusion in the Work
++      by You to the Licensor shall be under the terms and conditions of
++      this License, without any additional terms or conditions.
++      Notwithstanding the above, nothing herein shall supersede or modify
++      the terms of any separate license agreement you may have executed
++      with Licensor regarding such Contributions.
++
++   6. Trademarks. This License does not grant permission to use the trade
++      names, trademarks, service marks, or product names of the Licensor,
++      except as required for reasonable and customary use in describing the
++      origin of the Work and reproducing the content of the NOTICE file.
++
++   7. Disclaimer of Warranty. Unless required by applicable law or
++      agreed to in writing, Licensor provides the Work (and each
++      Contributor provides its Contributions) on an "AS IS" BASIS,
++      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
++      implied, including, without limitation, any warranties or conditions
++      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
++      PARTICULAR PURPOSE. You are solely responsible for determining the
++      appropriateness of using or redistributing the Work and assume any
++      risks associated with Your exercise of permissions under this License.
++
++   8. Limitation of Liability. In no event and under no legal theory,
++      whether in tort (including negligence), contract, or otherwise,
++      unless required by applicable law (such as deliberate and grossly
++      negligent acts) or agreed to in writing, shall any Contributor be
++      liable to You for damages, including any direct, indirect, special,
++      incidental, or consequential damages of any character arising as a
++      result of this License or out of the use or inability to use the
++      Work (including but not limited to damages for loss of goodwill,
++      work stoppage, computer failure or malfunction, or any and all
++      other commercial damages or losses), even if such Contributor
++      has been advised of the possibility of such damages.
++
++   9. Accepting Warranty or Additional Liability. While redistributing
++      the Work or Derivative Works thereof, You may choose to offer,
++      and charge a fee for, acceptance of support, warranty, indemnity,
++      or other liability obligations and/or rights consistent with this
++      License. However, in accepting such obligations, You may act only
++      on Your own behalf and on Your sole responsibility, not on behalf
++      of any other Contributor, and only if You agree to indemnify,
++      defend, and hold each Contributor harmless for any liability
++      incurred by, or claims asserted against, such Contributor by reason
++      of your accepting any such warranty or additional liability.
++
++   END OF TERMS AND CONDITIONS
++
++   APPENDIX: How to apply the Apache License to your work.
++
++      To apply the Apache License to your work, attach the following
++      boilerplate notice, with the fields enclosed by brackets "[]"
++      replaced with your own identifying information. (Don`t include
++      the brackets!)  The text should be enclosed in the appropriate
++      comment syntax for the file format. We also recommend that a
++      file or class name and description of purpose be included on the
++      same "printed page" as the copyright notice for easier
++      identification within third-party archives.
++
++   Copyright [yyyy] [name of copyright owner]
++
++   Licensed under the Apache License, Version 2.0 (the "License");
++   you may not use this file except in compliance with the License.
++   You may obtain a copy of the License at
++
++       http://www.apache.org/licenses/LICENSE-2.0
++
++   Unless required by applicable law or agreed to in writing, software
++   distributed under the License is distributed on an "AS IS" BASIS,
++   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++   See the License for the specific language governing permissions and
++   limitations under the License.
++
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/files/0001-cpumap_functions.sh-fix-perl-experimental-feature-is.patch b/meta-starlingx/meta-stx-flock/stx-utilities/files/0001-cpumap_functions.sh-fix-perl-experimental-feature-is.patch
new file mode 100644 (file)
index 0000000..c57dd81
--- /dev/null
@@ -0,0 +1,35 @@
+From e2dcf93685e6947540119fd5caff0e440857801c Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Thu, 11 Jun 2020 22:41:00 +0800
+Subject: [PATCH] cpumap_functions.sh: fix perl experimental feature issue
+
+An experimental feature added in Perl 5.14 allowed each, keys, push,
+pop, shift, splice, unshift, and values to be called with a scalar
+argument. This experiment is considered unsuccessful, and has been
+removed in 5.23 and later releases. So don't use this feature to
+avoid failure:
+localhost:~# platform_expanded_cpu_list
+Experimental keys on scalar is now forbidden at -e line 13.
+
+Upstream-Status: Submitted [https://review.opendev.org/759783]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ utilities/worker-utils/worker-utils/cpumap_functions.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/utilities/worker-utils/worker-utils/cpumap_functions.sh b/utilities/worker-utils/worker-utils/cpumap_functions.sh
+index ab961f4..ecbbb05 100644
+--- a/utilities/worker-utils/worker-utils/cpumap_functions.sh
++++ b/utilities/worker-utils/worker-utils/cpumap_functions.sh
+@@ -389,7 +389,7 @@ function topology_to_cpulist {
+     }
+ }
+ END {
+-    @cores = sort { $a <=> $b } keys $T{$socket};
++    @cores = sort { $a <=> $b } keys %{ $T{$socket} };
+     @sel_cores = splice @cores, $core_start, $num_cores;
+     @lcpus = ();
+     for $C (@sel_cores) {
+--
+2.7.4
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/files/0001-worker-utils-account-for-distro-PATH-differeces.patch b/meta-starlingx/meta-stx-flock/stx-utilities/files/0001-worker-utils-account-for-distro-PATH-differeces.patch
new file mode 100644 (file)
index 0000000..97b5650
--- /dev/null
@@ -0,0 +1,86 @@
+From ecc947cb8bddde6bbedb426152cb898be71eea32 Mon Sep 17 00:00:00 2001
+From: Babak Sarashki <Babak.SarAshki@windriver.com>
+Date: Sat, 13 Jun 2020 08:06:44 -0700
+Subject: [PATCH] worker-utils: account for distro PATH differeces
+
+The PATH variable in the worker-utils' scripts expect
+system utilities under /usr/sbin. This is not true for
+all distros. Extending PATH to /sbin.
+
+Signed-off-by: Babak Sarashki <Babak.SarAshki@windriver.com>
+---
+ utilities/worker-utils/worker-utils/affine-interrupts.sh       | 2 +-
+ utilities/worker-utils/worker-utils/affine-platform.sh         | 2 +-
+ utilities/worker-utils/worker-utils/affine-tasks.sh            | 2 +-
+ utilities/worker-utils/worker-utils/set-cpu-wakeup-latency.sh  | 2 +-
+ utilities/worker-utils/worker-utils/task_affinity_functions.sh | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/utilities/worker-utils/worker-utils/affine-interrupts.sh b/utilities/worker-utils/worker-utils/affine-interrupts.sh
+index 6a7c228..d3dc4f8 100644
+--- a/utilities/worker-utils/worker-utils/affine-interrupts.sh
++++ b/utilities/worker-utils/worker-utils/affine-interrupts.sh
+@@ -12,7 +12,7 @@
+ # Usage: /usr/bin/affine-interrupts.sh interface cpulist
+ #
+ # Define minimal path
+-PATH=/bin:/usr/bin:/usr/local/bin
++PATH=/bin:/sbin:/usr/bin:/usr/local/bin
+ # logger setup
+ WHOAMI=`basename $0`
+diff --git a/utilities/worker-utils/worker-utils/affine-platform.sh b/utilities/worker-utils/worker-utils/affine-platform.sh
+index 72a7d63..2bcc2e8 100755
+--- a/utilities/worker-utils/worker-utils/affine-platform.sh
++++ b/utilities/worker-utils/worker-utils/affine-platform.sh
+@@ -16,7 +16,7 @@
+ ### END INIT INFO
+ # Define minimal path
+-PATH=/bin:/usr/bin:/usr/local/bin
++PATH=/bin:/sbin:/usr/bin:/usr/local/bin
+ LOG_FUNCTIONS=${LOG_FUNCTIONS:-"/etc/init.d/log_functions.sh"}
+ CPUMAP_FUNCTIONS=${CPUMAP_FUNCTIONS:-"/etc/init.d/cpumap_functions.sh"}
+diff --git a/utilities/worker-utils/worker-utils/affine-tasks.sh b/utilities/worker-utils/worker-utils/affine-tasks.sh
+index 3f6d294..9603804 100644
+--- a/utilities/worker-utils/worker-utils/affine-tasks.sh
++++ b/utilities/worker-utils/worker-utils/affine-tasks.sh
+@@ -44,7 +44,7 @@
+ #
+ ################################################################################
+ # Define minimal path
+-PATH=/bin:/usr/bin:/usr/sbin:/usr/local/bin
++PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
+ CPUMAP_FUNCTIONS=${CPUMAP_FUNCTIONS:-"/etc/init.d/cpumap_functions.sh"}
+ [[ -e ${CPUMAP_FUNCTIONS} ]] && source ${CPUMAP_FUNCTIONS}
+diff --git a/utilities/worker-utils/worker-utils/set-cpu-wakeup-latency.sh b/utilities/worker-utils/worker-utils/set-cpu-wakeup-latency.sh
+index 0efa13e..b6fbddf 100644
+--- a/utilities/worker-utils/worker-utils/set-cpu-wakeup-latency.sh
++++ b/utilities/worker-utils/worker-utils/set-cpu-wakeup-latency.sh
+@@ -15,7 +15,7 @@
+ # For example, 0,5,7,9-11.
+ # Define minimal path
+-PATH=/bin:/usr/bin:/usr/local/bin
++PATH=/bin:/sbin:/usr/bin:/usr/local/bin
+ LOG_FUNCTIONS=${LOG_FUNCTIONS:-"/etc/init.d/log_functions.sh"}
+ CPUMAP_FUNCTIONS=${CPUMAP_FUNCTIONS:-"/etc/init.d/cpumap_functions.sh"}
+diff --git a/utilities/worker-utils/worker-utils/task_affinity_functions.sh b/utilities/worker-utils/worker-utils/task_affinity_functions.sh
+index 4b18431..0cd6764 100755
+--- a/utilities/worker-utils/worker-utils/task_affinity_functions.sh
++++ b/utilities/worker-utils/worker-utils/task_affinity_functions.sh
+@@ -16,7 +16,7 @@
+ ### END INIT INFO
+ # Define minimal path
+-PATH=/bin:/usr/bin:/usr/local/bin
++PATH=/bin:/sbin:/usr/bin:/usr/local/bin
+ . /etc/platform/platform.conf
+ LOG_FUNCTIONS=${LOG_FUNCTIONS:-"/etc/init.d/log_functions.sh"}
+-- 
+2.24.1
+
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/files/collect-engtools-fix-service-name-binary-path.patch b/meta-starlingx/meta-stx-flock/stx-utilities/files/collect-engtools-fix-service-name-binary-path.patch
new file mode 100644 (file)
index 0000000..264a77c
--- /dev/null
@@ -0,0 +1,40 @@
+diff --git a/tools/engtools/hostdata-collectors/scripts/cleanup-engtools.sh b/tools/engtools/hostdata-collectors/scripts/cleanup-engtools.sh
+index 5d5701b..a81ecab 100644
+--- a/tools/engtools/hostdata-collectors/scripts/cleanup-engtools.sh
++++ b/tools/engtools/hostdata-collectors/scripts/cleanup-engtools.sh
+@@ -31,7 +31,7 @@ LOG "Cleanup engtools:"
+ # Brute force methods (assume trouble with: service collect-engtools.sh stop)
+ # ( be sure not to clobber /etc/init.d/collect-engtools.sh )
+ LOG "kill processes brute force"
+-pids=( $(pidof -x /usr/local/bin/collect-engtools.sh) )
++pids=( $(pidof -x /usr/bin//collect-engtools.sh) )
+ if [ ${#pids[@]} -ne 0 ]; then
+     LOG "killing: ${pids[@]}"
+     for pid in ${pids[@]}; do
+diff --git a/tools/engtools/hostdata-collectors/scripts/collect-engtools.service b/tools/engtools/hostdata-collectors/scripts/collect-engtools.service
+index e00e1cd..6d4ae65 100644
+--- a/tools/engtools/hostdata-collectors/scripts/collect-engtools.service
++++ b/tools/engtools/hostdata-collectors/scripts/collect-engtools.service
+@@ -1,7 +1,7 @@
+ [Unit]
+ Description=Engineering data collection tools to monitor host performance
+-Requires=network.service
+-After=network.service getty.target
++Requires=networking.service
++After=networking.service getty.target
+ [Service]
+ Type=forking
+diff --git a/tools/engtools/hostdata-collectors/scripts/collect-engtools.sh b/tools/engtools/hostdata-collectors/scripts/collect-engtools.sh
+index e59f382..3140297 100644
+--- a/tools/engtools/hostdata-collectors/scripts/collect-engtools.sh
++++ b/tools/engtools/hostdata-collectors/scripts/collect-engtools.sh
+@@ -263,7 +263,7 @@ OPT_USE_INTERVALS=0
+ # Define parallel engtools configuration
+ # - tool name, filename, and collection interval attributes
+ BINDIR=/usr/bin
+-LBINDIR=/usr/local/bin
++LBINDIR=/usr/bin/
+ . /etc/engtools/engtools.conf
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/files/collector-fix-service-name-binary-path.patch b/meta-starlingx/meta-stx-flock/stx-utilities/files/collector-fix-service-name-binary-path.patch
new file mode 100644 (file)
index 0000000..46c53cd
--- /dev/null
@@ -0,0 +1,336 @@
+diff --git a/tools/collector/scripts/collect b/tools/collector/scripts/collect
+index 88e373e..666df9e 100755
+--- a/tools/collector/scripts/collect
++++ b/tools/collector/scripts/collect
+@@ -83,7 +83,7 @@ if [ ${UID} -eq 0 ]; then
+ fi
+ # pull in common utils and environment
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_utils
+ source_openrc_if_needed
+ function clean_up()
+@@ -121,7 +121,7 @@ SCP_TIMEOUT="600"
+ SSH_CMD="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o PreferredAuthentications=password -o PubkeyAuthentication=no"
+ NOWDATE=`date +"%Y%m%d.%H%M%S"`
+ COLLECT_BASE_DIR="/scratch"
+-collect_host="/usr/local/sbin/collect_host"
++collect_host="/usr/sbin/collect_host"
+ CURR_DIR=`pwd`
+diff --git a/tools/collector/scripts/collect_ceph.sh b/tools/collector/scripts/collect_ceph.sh
+index 1a5863e..d4dbcfc 100755
+--- a/tools/collector/scripts/collect_ceph.sh
++++ b/tools/collector/scripts/collect_ceph.sh
+@@ -7,8 +7,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ SERVICE="ceph"
+ LOGFILE="${extradir}/ceph.info"
+diff --git a/tools/collector/scripts/collect_containerization.sh b/tools/collector/scripts/collect_containerization.sh
+index d2e5a92..fb2fa7a 100755
+--- a/tools/collector/scripts/collect_containerization.sh
++++ b/tools/collector/scripts/collect_containerization.sh
+@@ -8,8 +8,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ SERVICE="containerization"
+ LOGFILE="${extradir}/${SERVICE}.info"
+diff --git a/tools/collector/scripts/collect_coredump.sh b/tools/collector/scripts/collect_coredump.sh
+index 7614909..7702ef2 100644
+--- a/tools/collector/scripts/collect_coredump.sh
++++ b/tools/collector/scripts/collect_coredump.sh
+@@ -8,8 +8,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ SERVICE="coredump"
+ LOGFILE="${extradir}/${SERVICE}.info"
+diff --git a/tools/collector/scripts/collect_crash.sh b/tools/collector/scripts/collect_crash.sh
+index fc8c798..c768306 100644
+--- a/tools/collector/scripts/collect_crash.sh
++++ b/tools/collector/scripts/collect_crash.sh
+@@ -8,8 +8,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ SERVICE="crash"
+ LOGFILE="${extradir}/${SERVICE}.info"
+diff --git a/tools/collector/scripts/collect_date b/tools/collector/scripts/collect_date
+index 22c62fb..60724b8 100755
+--- a/tools/collector/scripts/collect_date
++++ b/tools/collector/scripts/collect_date
+@@ -34,8 +34,8 @@
+ #
+ # Calling sequence:
+ #
+-# /usr/local/sbin/collect_date <start_date> <end_date> <include_list> <debug>
+-# /usr/local/sbin/collect_date 20170701 20170901 /tmp/file.list true
++# /usr/sbin/collect_date <start_date> <end_date> <include_list> <debug>
++# /usr/sbin/collect_date 20170701 20170901 /tmp/file.list true
+ #
+ ########################################################################
+@@ -43,7 +43,7 @@
+ # Import commands, variables and convenience functions available to
+ # all collectors ; common and user defined.
+ #
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_utils
+ # where to find the logs
+ declare -r baselogdir="/var/log"
+diff --git a/tools/collector/scripts/collect_fm.sh b/tools/collector/scripts/collect_fm.sh
+index 4ef489a..9ea432b 100644
+--- a/tools/collector/scripts/collect_fm.sh
++++ b/tools/collector/scripts/collect_fm.sh
+@@ -6,8 +6,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ SERVICE="alarms"
+ LOGFILE="${extradir}/${SERVICE}.info"
+diff --git a/tools/collector/scripts/collect_host b/tools/collector/scripts/collect_host
+index e94177a..9a47763 100755
+--- a/tools/collector/scripts/collect_host
++++ b/tools/collector/scripts/collect_host
+@@ -26,7 +26,7 @@ export ACTIVE=false
+ # Import commands, variables and convenience functions available to
+ # all collectors ; common and user defined.
+ #
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_utils
+ source_openrc_if_needed
+ #
+@@ -83,7 +83,7 @@ FLIGHT_RECORDER_FILE="sm.eru.v1"
+ VAR_LOG_INCLUDE_LIST="/tmp/${COLLECT_NAME}.lst"
+ COLLECT_DIR_PCENT_CMD="df --output=pcent ${COLLECT_BASE_DIR}"
+ COLLECT_DIR_USAGE_CMD="df -h ${COLLECT_BASE_DIR}"
+-COLLECT_DATE="/usr/local/sbin/collect_date"
++COLLECT_DATE="/usr/sbin/collect_date"
+ function log_space()
+ {
+@@ -440,8 +440,8 @@ log_space "after delete tar ....:"
+ if [ "${SKIP_MASK}" != "true" ]; then
+     # Run password masking before final tar
+-    dlog "running /usr/local/sbin/collect_mask_passwords ${COLLECT_NAME_DIR} ${EXTRA_DIR}"
+-    /usr/local/sbin/collect_mask_passwords ${COLLECT_NAME_DIR} ${EXTRA_DIR}
++    dlog "running /usr/sbin/collect_mask_passwords ${COLLECT_NAME_DIR} ${EXTRA_DIR}"
++    /usr/sbin/collect_mask_passwords ${COLLECT_NAME_DIR} ${EXTRA_DIR}
+     log_space "after passwd masking :"
+ fi
+diff --git a/tools/collector/scripts/collect_ima.sh b/tools/collector/scripts/collect_ima.sh
+index 14c751e..0ac63b3 100755
+--- a/tools/collector/scripts/collect_ima.sh
++++ b/tools/collector/scripts/collect_ima.sh
+@@ -7,8 +7,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ function is_extended_profile {
+     if [ ! -n "${security_profile}" ] || [ "${security_profile}" != "extended" ]; then
+diff --git a/tools/collector/scripts/collect_networking.sh b/tools/collector/scripts/collect_networking.sh
+index 98f4136..140e85d 100755
+--- a/tools/collector/scripts/collect_networking.sh
++++ b/tools/collector/scripts/collect_networking.sh
+@@ -8,8 +8,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ SERVICE="networking"
+ LOGFILE="${extradir}/${SERVICE}.info"
+diff --git a/tools/collector/scripts/collect_nfv_vim.sh b/tools/collector/scripts/collect_nfv_vim.sh
+index c5ccbc7..37189c5 100644
+--- a/tools/collector/scripts/collect_nfv_vim.sh
++++ b/tools/collector/scripts/collect_nfv_vim.sh
+@@ -6,8 +6,8 @@
+ #
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ LOGFILE="${extradir}/nfv-vim.info"
+ echo    "${hostname}: NFV-Vim Info ......: ${LOGFILE}"
+diff --git a/tools/collector/scripts/collect_openstack.sh b/tools/collector/scripts/collect_openstack.sh
+index e03eca8..a14c8f3 100755
+--- a/tools/collector/scripts/collect_openstack.sh
++++ b/tools/collector/scripts/collect_openstack.sh
+@@ -7,8 +7,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ function is_service_active {
+     active=`sm-query service rabbit-fs | grep "enabled-active"`
+diff --git a/tools/collector/scripts/collect_ovs.sh b/tools/collector/scripts/collect_ovs.sh
+index 94e98e6..cdf4680 100644
+--- a/tools/collector/scripts/collect_ovs.sh
++++ b/tools/collector/scripts/collect_ovs.sh
+@@ -9,8 +9,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ SERVICE="ovs"
+ LOGFILE="${extradir}/${SERVICE}.info"
+diff --git a/tools/collector/scripts/collect_patching.sh b/tools/collector/scripts/collect_patching.sh
+index 3d696d2..05ba41e 100755
+--- a/tools/collector/scripts/collect_patching.sh
++++ b/tools/collector/scripts/collect_patching.sh
+@@ -7,8 +7,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ SERVICE="patching"
+ LOGFILE="${extradir}/${SERVICE}.info"
+diff --git a/tools/collector/scripts/collect_psqldb.sh b/tools/collector/scripts/collect_psqldb.sh
+index d223b1b..dc45169 100755
+--- a/tools/collector/scripts/collect_psqldb.sh
++++ b/tools/collector/scripts/collect_psqldb.sh
+@@ -7,8 +7,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ # postgres database commands
+ PSQL_CMD="sudo -u postgres psql --pset pager=off -q"
+diff --git a/tools/collector/scripts/collect_sm.sh b/tools/collector/scripts/collect_sm.sh
+index 5f0f3c9..6de18fe 100644
+--- a/tools/collector/scripts/collect_sm.sh
++++ b/tools/collector/scripts/collect_sm.sh
+@@ -7,8 +7,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ SERVICE="sm"
+ LOGFILE="${extradir}/sm.info"
+diff --git a/tools/collector/scripts/collect_sysinv.sh b/tools/collector/scripts/collect_sysinv.sh
+index 3f27a28..6a9f4ae 100755
+--- a/tools/collector/scripts/collect_sysinv.sh
++++ b/tools/collector/scripts/collect_sysinv.sh
+@@ -7,8 +7,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ SERVICE="inventory"
+ LOGFILE="${extradir}/${SERVICE}.info"
+diff --git a/tools/collector/scripts/collect_tc.sh b/tools/collector/scripts/collect_tc.sh
+index 95cd0fe..0ee6bd8 100755
+--- a/tools/collector/scripts/collect_tc.sh
++++ b/tools/collector/scripts/collect_tc.sh
+@@ -7,8 +7,8 @@
+ # Loads Up Utilities and Commands Variables
+-source /usr/local/sbin/collect_parms
+-source /usr/local/sbin/collect_utils
++source /usr/sbin/collect_parms
++source /usr/sbin/collect_utils
+ SERVICE="tc"
+ LOGFILE="${extradir}/tc.info"
+@@ -40,13 +40,13 @@ for i in $(ip link | grep mtu | grep eth |awk '{print $2}' | sed 's#:##g'); do
+ done
+ ###############################################################################
+-# TC Configuration Script (/usr/local/bin/tc_setup.sh)
++# TC Configuration Script (/usr/bin/tc_setup.sh)
+ ###############################################################################
+-delimiter ${LOGFILE} "cat /usr/local/bin/tc_setup.sh"
+-if [ -f /usr/local/bin/tc_setup.sh ]; then
+-    cat /usr/local/bin/tc_setup.sh >> ${LOGFILE} 2>>${COLLECT_ERROR_LOG}
++delimiter ${LOGFILE} "cat /usr/bin/tc_setup.sh"
++if [ -f /usr/bin/tc_setup.sh ]; then
++    cat /usr/bin/tc_setup.sh >> ${LOGFILE} 2>>${COLLECT_ERROR_LOG}
+ else
+-    echo "/usr/local/bin/tc_setup.sh NOT FOUND" >> ${LOGFILE}
++    echo "/usr/bin/tc_setup.sh NOT FOUND" >> ${LOGFILE}
+ fi
+ ###############################################################################
+diff --git a/tools/collector/scripts/collect_utils b/tools/collector/scripts/collect_utils
+index 739e161..53ad5c3 100755
+--- a/tools/collector/scripts/collect_utils
++++ b/tools/collector/scripts/collect_utils
+@@ -90,7 +90,7 @@ function source_openrc_if_needed
+ # sequences and highlight command completion
+ collect_done="collect done"
+ cmd_done_sig="expect done"
+-cmd_done_file="/usr/local/sbin/expect_done"
++cmd_done_file="/usr/sbin/expect_done"
+ # Compression Commands
+ TAR_ZIP_CMD="tar -cvzf"
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/logmgmt.bb b/meta-starlingx/meta-stx-flock/stx-utilities/logmgmt.bb
new file mode 100644 (file)
index 0000000..d9035d9
--- /dev/null
@@ -0,0 +1,47 @@
+DESCRIPTION = "Management of /var/log filesystem"
+
+require utilities-common.inc
+SUBPATH0 = "utilities/logmgmt/logmgmt/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append = " \
+       systemd \
+       python-daemon \
+       "
+
+inherit setuptools systemd
+SYSTEMD_PACKAGES += "logmgmt"
+SYSTEMD_SERVICE_${PN} = "logmgmt.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+do_unpack_append() {
+    bb.build.exec_func('do_restore_files', d)
+}
+
+do_restore_files() {
+       cd ${S}
+       git reset ${SRCREV} utilities/logmgmt/scripts
+       git checkout utilities/logmgmt/scripts
+}
+
+do_install_append() {
+
+       cd ${S}/utilities/logmgmt/scripts
+       install -d -m0755 ${D}/${bindir}
+       install -m0700 bin/logmgmt ${D}/${bindir}
+       install -m0700 bin/logmgmt_postrotate ${D}/${bindir}
+       install -m0700 bin/logmgmt_prerotate ${D}/${bindir}
+
+       install -d -m0755 ${D}/${sysconfdir}/init.d
+       install -m0700 init.d/logmgmt ${D}/${sysconfdir}/init.d
+
+       install -d -m0755 ${D}/${sysconfdir}/pmon.d
+       install -m0700 pmon.d/logmgmt ${D}/${sysconfdir}/pmon.d
+
+       install -d -m0755 ${D}/${systemd_system_unitdir}
+       install -m0664 etc/systemd/system/logmgmt.service ${D}/${systemd_system_unitdir}
+}
+
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/namespace-utils.bb b/meta-starlingx/meta-stx-flock/stx-utilities/namespace-utils.bb
new file mode 100644 (file)
index 0000000..55f0350
--- /dev/null
@@ -0,0 +1,23 @@
+DESCRIPTION = "Titanium Cloud namespace utilities"
+SUMMARY = "namespace utils"
+
+require utilities-common.inc
+SUBPATH0 = "utilities/namespace-utils/namespace-utils"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append = " bash"
+
+do_configure[noexec] = "1"
+
+do_compile() {
+       $CC ${LDFLAGS} ${CFLAGS} -o bashns bashns.c
+}
+
+do_install() {
+
+       install -d -m0755 ${D}/${sbindir}
+       install -m0500 bashns ${D}/${sbindir}
+       install -m0500 umount-in-namespace  ${D}/${sbindir}
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/nfscheck.bb b/meta-starlingx/meta-stx-flock/stx-utilities/nfscheck.bb
new file mode 100644 (file)
index 0000000..f1b581e
--- /dev/null
@@ -0,0 +1,26 @@
+DESCRIPTION = "NFS Audit"
+SUMMARY = "NFS Audit"
+
+require utilities-common.inc
+SUBPATH0 = "utilities/nfscheck/files/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append = " bash systemd"
+
+inherit systemd
+SYSTEMD_PACKAGES += " nfscheck"
+SYSTEMD_SERVICE_${PN} = "nfscheck.service"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+
+       install -d -m0755 ${D}/${bindir}
+       install -m0755 nfscheck.sh ${D}/${bindir}
+
+       install -d -m0755 ${D}/${systemd_system_unitdir}
+       install -m0644 nfscheck.service ${D}/${systemd_system_unitdir}
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/pci-irq-affinity.bb b/meta-starlingx/meta-stx-flock/stx-utilities/pci-irq-affinity.bb
new file mode 100644 (file)
index 0000000..acd8869
--- /dev/null
@@ -0,0 +1,44 @@
+DESCRIPTION  = "StarlingX PCI Interrupt Affinity Agent Package"
+SUMMARY  = "StarlingX PCI Interrupt Affinity Agent Package"
+
+require utilities-common.inc
+
+SUBPATH0 = "utilities/pci-irq-affinity-agent/pci_irq_affinity"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://setup.py;md5=6980f60051ba4d376975eefc777fb8ae"
+
+RDEPENDS_${PN}_append = " python-novaclient libvirt libvirt-python"
+
+inherit setuptools systemd
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_SERVICE_${PN} = "${PN}-agent.service"
+
+do_unpack_append() {
+    bb.build.exec_func('do_restore_files', d)
+}
+
+do_restore_files() {
+       cd ${S}
+       git reset ${SRCREV} utilities/pci-irq-affinity-agent/files
+       git checkout utilities/pci-irq-affinity-agent/files
+}
+
+
+do_install_append() {
+
+       cd ${S}/utilities/pci-irq-affinity-agent/files
+
+       install -p -d -m0755 ${D}/${sysconfdir}/init.d
+       install -p -d -m0755 ${D}/${sysconfdir}/pmon.d
+       install -p -d -m0755 ${D}/${sysconfdir}/pci_irq_affinity
+       install -p -d -m0755 ${D}/${systemd_system_unitdir}
+       install -p -d -m0755 ${D}/${bindir}
+
+       install -m0755 pci-irq-affinity-agent ${D}/${sysconfdir}/init.d/pci-irq-affinity-agent
+       install -m0644 pci-irq-affinity-agent.service ${D}/${systemd_system_unitdir}/pci-irq-affinity-agent.service
+
+       install -m0755 nova-sriov ${D}/${bindir}/nova-sriov
+       install -m0755 config.ini ${D}/${sysconfdir}/pci_irq_affinity/config.ini
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/platform-util.bb b/meta-starlingx/meta-stx-flock/stx-utilities/platform-util.bb
new file mode 100644 (file)
index 0000000..0ce40a2
--- /dev/null
@@ -0,0 +1,56 @@
+DESCRIPTION  = "platform-util"
+SUMMARY  = "StarlingX Platform utilities installed only on controllers"
+
+require utilities-common.inc
+
+SUBPATH0 = "utilities/platform-util/platform-util"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}_append  = " bash"
+
+inherit setuptools systemd
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+SYSTEMD_PACKAGES += " ${PN}"
+SYSTEMD_SERVICE_${PN} = "opt-platform.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+do_unpack_append() {
+    bb.build.exec_func('do_restore_files', d)
+}
+
+do_restore_files() {
+       cd ${S}
+       git reset ${SRCREV} utilities/platform-util/scripts
+       git checkout utilities/platform-util/scripts
+}
+
+do_install_append() {
+
+       cd ${S}/utilities/platform-util/scripts
+
+       install -d -m0755 ${D}/${bindir}
+       install -m0755 tc_setup.sh ${D}/${bindir}/tc_setup.sh
+       install -m0755 remotelogging_tc_setup.sh ${D}/${bindir}/remotelogging_tc_setup.sh
+       install -m0755 connectivity_test  ${D}/${bindir}/connectivity_test
+       install -m0755 update-iso.sh ${D}/${bindir}/update-iso.sh
+
+       install -p -d -m0755 ${D}/${sysconfdir}/init.d
+       install -m0755 log_functions.sh ${D}/${sysconfdir}/init.d/log_functions.sh
+
+       install -p -d -m0755 ${D}/${sbindir}
+       install -m0755 patch-restart-mtce  ${D}/${sbindir}/patch-restart-mtce
+       install -m0755 patch-restart-processes ${D}/${sbindir}/patch-restart-processes
+       install -m0755 patch-restart-haproxy ${D}/${sbindir}/patch-restart-haproxy
+
+
+
+       install -p -d -m0755 ${D}/${systemd_system_unitdir}
+
+       install -m0644 opt-platform.mount  ${D}/${systemd_system_unitdir}/opt-platform.mount
+       install -m0644 opt-platform.service ${D}/${systemd_system_unitdir}/opt-platform.service
+
+}
+
+FILES_${PN}_append  = " ${systemd_system_unitdir}/opt-platform.mount" 
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/python-cephclient.bb b/meta-starlingx/meta-stx-flock/stx-utilities/python-cephclient.bb
new file mode 100644 (file)
index 0000000..0bb3b67
--- /dev/null
@@ -0,0 +1,28 @@
+DESCRIPTION = " \
+A client library in Python for Ceph Mgr RESTful plugin providing REST API \
+access to the cluster over an SSL-secured connection. Python API is compatible \
+with the old Python Ceph client at \
+https://github.com/dmsimard/python-cephclient that no longer works in Ceph \
+mimic because Ceph REST API component was removed. \
+"
+
+require utilities-common.inc
+SUBPATH0 = "ceph/python-cephclient/python-cephclient"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=41687b590435621fc0676ac02c51154f"
+
+RDEPENDS_${PN}_append = " \
+       python \
+       python-ipaddress \
+       python-six \
+       python-requests \
+       "
+
+inherit setuptools
+
+do_configure_prepend() {
+       rm -rf .pytest_cache
+       rm -rf python_cephclient.egg-info
+       rm -f requirements.txt
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/stx-extensions.bb b/meta-starlingx/meta-stx-flock/stx-utilities/stx-extensions.bb
new file mode 100644 (file)
index 0000000..156b62f
--- /dev/null
@@ -0,0 +1,32 @@
+DESCRIPTION  = "TIS Extensions to thirdparty pkgs"
+SUMMARY  = "TIS Extensions to thirdparty pkgs"
+
+require utilities-common.inc
+
+SUBPATH0 = "utilities/stx-extensions/files"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_${PN}  += " systemd"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+
+       install -p -d -m 0755 ${D}/${sysconfdir}/sysctl.d
+       install -m 0644 coredump-sysctl.conf ${D}/${sysconfdir}/sysctl.d/50-coredump.conf
+
+       # Fix the systemd unitdir and the arguments for kernel.core_pattern
+       sed -i -e 's|${nonarch_libdir}/systemd|${systemd_unitdir}|' \
+              -e 's/%p/%P/' -e 's/%e/%c %h %e/' \
+              ${D}/${sysconfdir}/sysctl.d/50-coredump.conf
+
+       install -p -d -m 0755 ${D}/${sysconfdir}/systemd/coredump.conf.d
+       install -m 0644 coredump.conf ${D}/${sysconfdir}/systemd/coredump.conf.d/coredump.conf
+
+       install -p -d -m 0755 ${D}/${sysconfdir}/modules-load.d
+       install -m 0644 modules-load-vfio.conf ${D}/${sysconfdir}/modules-load.d/vfio.conf
+
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/stx-ssl.bb b/meta-starlingx/meta-stx-flock/stx-utilities/stx-ssl.bb
new file mode 100644 (file)
index 0000000..e64fcfa
--- /dev/null
@@ -0,0 +1,28 @@
+DESCRIPTION = " Wind River Security"
+
+require utilities-common.inc
+SUBPATH0 = "security/stx-ssl/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+RDEPENDS_${PN}_append = " bash"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+
+       openssl req -new -x509 -sha256 \
+               -keyout self-signed-server-cert.pem \
+               -out self-signed-server-cert.pem \
+               -days 365 -nodes \
+               -config server-csr.conf
+
+       install -p -d -m0755 ${D}/${sysconfdir}/ssl/private/
+       install -m0400 self-signed-server-cert.pem \
+               ${D}/${sysconfdir}/ssl/private/self-signed-server-cert.pem 
+
+       install -p -d -m0755 ${D}/${sbindir}
+       install -m0700 ${S}/files/tpmdevice-setup ${D}/${sbindir}/tpmdevice-setup
+
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/update-motd.bb b/meta-starlingx/meta-stx-flock/stx-utilities/update-motd.bb
new file mode 100644 (file)
index 0000000..a3fd5ab
--- /dev/null
@@ -0,0 +1,34 @@
+DESCRIPTION  = "dynamic MOTD generation"
+SUMMARY  = "dynamic MOTD generation"
+
+require utilities-common.inc
+SUBPATH0 = "utilities/update-motd/files"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+RDEPENDS_update-motd  += " cronie bash"
+
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+
+       install -d ${D}/${sbindir}
+       install -m 700 motd-update ${D}/${sbindir}/motd-update
+
+       install -m0755 -d ${D}/${sysconfdir}
+       install -m0755 -d ${D}/${sysconfdir}/motd.d
+
+       install -m 755 motd-header ${D}/${sysconfdir}/motd.d/00-header
+       install -m 755 motd-footer ${D}/${sysconfdir}/motd.d/99-footer
+       install -m 644 motd.head ${D}/${sysconfdir}/motd.d/motd.head
+
+       install -m0755  -d ${D}/${sysconfdir}/cron.d
+       install -m 600 motd-update.cron ${D}/${sysconfdir}/cron.d/motd-update
+       install -m 700 customize-banner ${D}/${sbindir}/customize-banner
+       install -m 700 apply_banner_customization ${D}/${sbindir}/apply_banner_customization
+       install -m 700 install_banner_customization ${D}/${sbindir}/install_banner_customization
+
+}
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/utilities-common.inc b/meta-starlingx/meta-stx-flock/stx-utilities/utilities-common.inc
new file mode 100644 (file)
index 0000000..f636457
--- /dev/null
@@ -0,0 +1,24 @@
+
+DESCRIPTION = "stx-utilities"
+
+PROTOCOL = "https"
+SRCNAME = "utilities"
+BRANCH = "r/stx.3.0"
+SRCREV = "cbad6b792157d066dd601f0f9ce62dc177d4c848"
+SRCREV_opendev = "cbad6b792157d066dd601f0f9ce62dc177d4c848"
+DESTSUFFIX = "${PN}-${PV}"
+PV = "1.0.0"
+
+SRC_URI = " \
+   git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=${DESTSUFFIX};subpath=${SUBPATH0};name=opendev \
+   "
+
+#git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+DEPENDS = " \
+       python-pip \
+       python-pbr-native \
+       systemd \
+"
+
+## Skip tpm2-openssl-engine2
diff --git a/meta-starlingx/meta-stx-flock/stx-utilities/worker-utils.bb b/meta-starlingx/meta-stx-flock/stx-utilities/worker-utils.bb
new file mode 100644 (file)
index 0000000..464f8e6
--- /dev/null
@@ -0,0 +1,33 @@
+DESCRIPTION  = "Initial worker node resource reservation and misc. utilities"
+SUMMARY  = "dynamic MOTD generation"
+
+require utilities-common.inc
+SUBPATH0 = "utilities/worker-utils/worker-utils"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI += " \
+       file://0001-worker-utils-account-for-distro-PATH-differeces.patch;striplevel=4 \
+       file://0001-cpumap_functions.sh-fix-perl-experimental-feature-is.patch;striplevel=4 \
+       "
+
+RDEPENDS_${PN}_append  = " perl systemd python bash"
+DEPENDS += " python"
+
+inherit python-dir systemd
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_SERVICE_${PN} = " affine-tasks.service affine-platform.sh.service"
+
+do_configure[noexec] = "1"
+
+do_install() {
+
+       oe_runmake install \
+               BINDIR=${D}/${bindir} \
+               INITDDIR=${D}/${sysconfdir}/init.d \
+               GOENABLEDDIR=${D}/${sysconfdir}/goenabled.d \
+               PLATFORMCONFDIR=${D}/${sysconfdir}/platform \
+               SYSTEMDDIR=${D}/${systemd_system_unitdir}
+}
diff --git a/meta-starlingx/meta-stx-integ/conf/layer.conf b/meta-starlingx/meta-stx-integ/conf/layer.conf
new file mode 100644 (file)
index 0000000..c468623
--- /dev/null
@@ -0,0 +1,47 @@
+
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+            ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "stx-integ-layer"
+BBFILE_PATTERN_stx-integ-layer := "^${LAYERDIR}/"
+BBFILE_PRIORITY_stx-integ-layer = "5"
+
+LAYERDEPENDS_STX_INTEG = "\
+       core \
+       dpdk \
+       networking-layer \
+       openembedded-layer \
+       networking-layer \
+       filesystems-layer \
+       perl-layer \
+       meta-python \
+       webserver \
+       virtualization-layer \
+       cloud-services-layer \
+       openstack-layer \
+"
+
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_stx-integ-version = "1"
+LAYERSERIES_COMPAT_stx-integ-layer = "thud warrior"
+
+LAYER_PATH_meta-stx-integ = "${LAYERDIR}"
+
+# Masked recipes:
+BBMASK += "/meta-python2/recipes-core/images/meta-python-ptest-image.bb"
+BBMASK += "/meta-python2/recipes-core/images/meta-python-image-base.bb"
+BBMASK += "/meta-python2/recipes-core/images/meta-python-image.bb"
+BBMASK += "/meta-stak-common/recipes-containers/kubernetes/kubernetes_git.bbappend"
+BBMASK += "/meta-cloud-services/meta-openstack/recipes-devtools/python/python-cephclient_0.1.0.5.bb"
+BBMASK += "/meta-openstack/recipes-devtools/qemu/qemu_2.%.bbappend"
+BBMASK += "/meta-cloud-services/meta-openstack/recipes-kernel/linux/linux-yocto_4.18.bbappend"
+BBMASK += "/meta-selinux/recipes-graphics/mesa/mesa_%.bbappend"
+BBMASK += "/meta-virtualization/recipes-containers/docker-distribution/docker-distribution_git.bb"
+BBMASK += "/meta-starlingX/recipes-containers/docker-distribution/docker-distribution_git.bbappend"
+BBMASK += "/meta-starlingX/recipes-support/puppet/puppetlabs-stdlib_git.bbappend"
+BBMASK += "/meta-cloud-services/meta-openstack/recipes-dbs/postgresql/postgresql_%.bbappend"
diff --git a/meta-starlingx/meta-stx-integ/recipes-bsp/grub/grub-efi_2.02.bbappend b/meta-starlingx/meta-stx-integ/recipes-bsp/grub/grub-efi_2.02.bbappend
new file mode 100644 (file)
index 0000000..3d62091
--- /dev/null
@@ -0,0 +1,4 @@
+
+TRANSFORM_NAME = "s,grub,grub2,"
+EXTRA_OECONF += "--program-transform-name=${TRANSFORM_NAME} \
+                "
diff --git a/meta-starlingx/meta-stx-integ/recipes-bsp/grub/grub_2.02.bbappend b/meta-starlingx/meta-stx-integ/recipes-bsp/grub/grub_2.02.bbappend
new file mode 100644 (file)
index 0000000..5b0bc6f
--- /dev/null
@@ -0,0 +1,13 @@
+
+TRANSFORM_NAME = "s,grub,grub2,"
+EXTRA_OECONF += "--program-transform-name=${TRANSFORM_NAME}"
+
+do_install_append() {
+    for file in ${D}${bindir}/grub2-* ${D}${sbindir}/grub2-*; do
+        ln -sf $(basename ${file}) $(echo ${file}|sed 's/grub2/grub/')
+    done
+    
+    sed -i -e 's/ ro / rw /' ${D}${sysconfdir}/grub.d/10_linux
+}
+
+FILES_${PN}-editenv = "${bindir}/grub2-editenv"
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/avahi/avahi_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-connectivity/avahi/avahi_%.bbappend
new file mode 100644 (file)
index 0000000..795ccf6
--- /dev/null
@@ -0,0 +1,2 @@
+RRECOMMENDS_${PN}_remove_libc-glibc = "libnss-mdns"
+RRECOMMENDS_${PN}-daemon_remove_libc-glibc = "libnss-mdns"
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/dhcp/dhcp_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-connectivity/dhcp/dhcp_%.bbappend
new file mode 100644 (file)
index 0000000..53f793f
--- /dev/null
@@ -0,0 +1,23 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "dhcp-config"
+DSTSUFX0 = "stx-configfiles"
+
+SRC_URI += "\
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+"
+
+do_install_append () { 
+       install -m 0755 ${WORKDIR}/${DSTSUFX0}/files/dhclient-enter-hooks ${D}/${sysconfdir}/dhcp/dhclient-enter-hooks
+       install -m 0755 ${WORKDIR}/${DSTSUFX0}/files/dhclient.conf ${D}/${sysconfdir}/dhcp/dhclient.conf
+       ln -rs ${D}/${sysconfdir}/dhcp/dhclient-enter-hooks ${D}/${sysconfdir}/dhclient-enter-hooks
+}
+
+FILES_${PN}-client_append = " \
+       /etc/dhclient-enter-hooks \
+       /etc/dhcp/dhclient-enter-hooks \
+       "
+
+RDEPENDS_${PN}-client_append = " bash"
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/haproxy/haproxy.inc b/meta-starlingx/meta-stx-integ/recipes-connectivity/haproxy/haproxy.inc
new file mode 100644 (file)
index 0000000..5c783cb
--- /dev/null
@@ -0,0 +1,118 @@
+SUMMARY = "TCP/HTTP proxy and load balancer for high availability environments"
+DESCRIPTION = " \
+HAProxy is a TCP/HTTP reverse proxy which is particularly suited for high \
+availability environments. Indeed, it can: \
+ - route HTTP requests depending on statically assigned cookies \
+ - spread load among several servers while assuring server persistence \
+   through the use of HTTP cookies \
+ - switch to backup servers in the event a main server fails \
+ - accept connections to special ports dedicated to service monitoring \
+ - stop accepting connections without breaking existing ones \
+ - add, modify, and delete HTTP headers in both directions \
+ - block requests matching particular patterns \
+ - report detailed status to authenticated users from a URI \
+   intercepted by the application \
+"
+HOMEPAGE = "http://www.haproxy.org/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2d862e836f92129cdc0ecccc54eed5e0"
+
+DEPENDS = "libpcre openssl zlib"
+
+MAJOR_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "haproxy-config"
+DSTSUFX0 = "stx-configfiles"
+
+SRC_URI = "\
+        git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       https://www.haproxy.org/download/${MAJOR_VER}/src/haproxy-${PV}.tar.gz \
+           file://haproxy.service \
+           file://haproxy.cfg \
+          "
+
+inherit systemd useradd
+
+# create a user for running haproxy
+HAP_USER_HOME = "${libdir}/haproxy"
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --home ${HAP_USER_HOME} --shell /sbin/nologin \
+                       --groups haproxy --gid haproxy haproxy"
+GROUPADD_PARAM_${PN} = "haproxy"
+
+# for haproxy 1.x
+HAP_TARGET = "linux2628"
+
+EXTRA_OEMAKE = " \
+       'CPU=generic' \
+       'TARGET=${HAP_TARGET}' \
+       'USE_GETADDRINFO=1' \
+       'USE_OPENSSL=1' \
+       'USE_PCRE=1' 'USE_PCRE_JIT=1' \
+       'USE_ZLIB=1' \
+       'USE_LINUX_TPROXY=1' \
+       "
+
+EXTRA_OEMAKE_append_x86 = " USE_REGPARM=1"
+EXTRA_OEMAKE_append_x86-64 = " USE_REGPARM=1"
+
+
+do_configure() {
+       :
+}
+
+do_compile() {
+       oe_runmake CC="${CC}" CFLAGS="${CFLAGS}" SBINDIR="${sbindir}" \
+                  PREFIX="${prefix}" \
+                  ZLIB_INC=${STAGING_INCDIR} \
+                  ZLIB_LIB=${STAGING_LIBDIR} \
+                  PCRE_INC=${STAGING_INCDIR} \
+                  PCRE_LIB=${STAGING_LIBDIR} \
+                  SSL_INC=${STAGING_INCDIR} \
+                  SSL_LIB=${STAGING_LIBDIR}
+       oe_runmake -C contrib/halog halog
+       oe_runmake -C contrib/iprange iprange
+}
+
+do_install() {
+       oe_runmake install-bin \
+                  PREFIX="${prefix}" \
+                  SBINDIR="${sbindir}" \
+                  DESTDIR=${D} \
+                  INCLUDEDIR=${includedir}
+
+       install -D -m 0644 ${WORKDIR}/haproxy.service ${D}${systemd_system_unitdir}/haproxy.service
+       sed -i -e 's#/usr/bin/haproxy#/usr/sbin/haproxy#g' ${D}${systemd_system_unitdir}/haproxy.service
+
+       install -D -m 0644 ${WORKDIR}/haproxy.cfg ${D}${sysconfdir}/haproxy/haproxy.cfg
+
+       # install ssl folder for certificate
+       install -m 700 -d ${D}/${sysconfdir}/ssl/haproxy
+       chown haproxy:haproxy ${D}/${sysconfdir}/ssl/haproxy
+
+       # install halog and iprange
+       install -D -m 755 contrib/halog/halog ${D}${bindir}/halog
+       install -D -m 755 contrib/iprange/iprange ${D}${bindir}/iprange
+       
+       install -d -m 755 ${D}/${sysconfdir}/haproxy/errors/
+       install -m 755 ${WORKDIR}/stx-configfiles/files/503.http ${D}/${sysconfdir}/haproxy/errors/503.http
+       
+       install -p -D -m 0755 ${WORKDIR}/stx-configfiles/files/haproxy.sh ${D}/${sysconfdir}/init.d/haproxy
+}
+
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+FILES_${PN} = " \
+       ${bindir} \
+       ${sbindir} \
+       ${sysconfdir} \
+       ${systemd_system_unitdir} \
+       "
+RDEPENDS_${PN} = "openssl"
+
+SYSTEMD_SERVICE_${PN} = "haproxy.service"
+
+INSANE_SKIP_${PN} += "already-stripped"
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/haproxy/haproxy_1.7.11.bb b/meta-starlingx/meta-stx-integ/recipes-connectivity/haproxy/haproxy_1.7.11.bb
new file mode 100644 (file)
index 0000000..6066b47
--- /dev/null
@@ -0,0 +1,7 @@
+
+include haproxy.inc
+
+SRC_URI += "file://haproxy-${PV}-tpm-support.patch"
+
+SRC_URI[md5sum] = "25be5ad717a71da89a65c3c24250e2eb"
+SRC_URI[sha256sum] = "d564b8e9429d1e8e13cb648bf4694926b472e36da1079df946bb732927b232ea"
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/libnfsidmap/libnfsidmap_0.25.bb b/meta-starlingx/meta-stx-integ/recipes-connectivity/libnfsidmap/libnfsidmap_0.25.bb
new file mode 100644 (file)
index 0000000..0130249
--- /dev/null
@@ -0,0 +1,28 @@
+
+SUMMARY = "NFS id mapping library"
+HOMEPAGE = "http://www.citi.umich.edu/projects/nfsv4/linux/"
+SECTION = "libs"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d9c6a2a0ca6017fda7cd905ed2739b37"
+
+SRC_URI = "http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/${BPN}-${PV}.tar.gz \
+           file://fix-ac-prereq.patch \
+           file://Set_nobody_user_group.patch \
+           file://0001-include-sys-types.h-for-getting-u_-typedefs.patch \
+          "
+
+SRC_URI[md5sum] = "2ac4893c92716add1a1447ae01df77ab"
+SRC_URI[sha256sum] = "656d245d84400e1030f8f40a5a27da76370690c4a932baf249110f047fe7efcf"
+
+UPSTREAM_CHECK_URI = "http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/"
+
+inherit autotools
+
+EXTRA_OECONF = "--disable-ldap"
+
+do_install_append () {
+       install -d ${D}${sysconfdir}/
+       install -m 0644 ${WORKDIR}/${BPN}-${PV}/idmapd.conf ${D}${sysconfdir}/idmapd.conf
+}
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/nfs-utils/files/nfsserver-remove-the-f-option-for-rpc.mountd.patch b/meta-starlingx/meta-stx-integ/recipes-connectivity/nfs-utils/files/nfsserver-remove-the-f-option-for-rpc.mountd.patch
new file mode 100644 (file)
index 0000000..c9a9231
--- /dev/null
@@ -0,0 +1,29 @@
+From 20359d646c6003b6056aea6cbe81d8b393084de1 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Thu, 18 Jun 2020 21:42:03 +0800
+Subject: [PATCH] nfsserver: remove the -f option for rpc.mountd
+
+The -f option is not supported any more on newer version of nfs-utils.
+
+Upstream-Status: Pending
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ nfs-utils-config/files/nfsserver | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/nfs-utils-config/files/nfsserver b/nfs-utils-config/files/nfsserver
+index 6449537..58642f1 100644
+--- a/nfs-utils-config/files/nfsserver
++++ b/nfs-utils-config/files/nfsserver
+@@ -46,7 +46,7 @@ test "$NFS_SERVERS" != "" && test "$NFS_SERVERS" -gt 0 && test "$NFS_SERVERS" -l
+ #mountd
+ start_mountd(){
+       echo -n 'starting mountd: '
+-      start-stop-daemon --start --exec "$NFS_MOUNTD" -- "-f /etc/exports $@"
++      start-stop-daemon --start --exec "$NFS_MOUNTD"
+       echo done
+ }
+ stop_mountd(){
+--
+2.7.4
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/nfs-utils/nfs-utils_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-connectivity/nfs-utils/nfs-utils_%.bbappend
new file mode 100644 (file)
index 0000000..42eb47f
--- /dev/null
@@ -0,0 +1,81 @@
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "filesystem-scripts"
+DSTSUFX0 = "stx-configfiles"
+SUBPATH1 = "nfs-utils-config"
+DSTSUFX1 = "stx-nfs-utils"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       file://stx-nfs-utils-LICENSE;beginline=1;endline=10;md5=bbfb66ff81fec36fc2b2c9d98e01b1d8 \
+       "
+
+SRC_URI += " \
+        git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+        git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX1};branch="r/stx.3.0";subpath=${SUBPATH1};name=opendev \
+        file://nfsserver-remove-the-f-option-for-rpc.mountd.patch;patchdir=../${DSTSUFX1};striplevel=2 \
+"
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/${DSTSUFX0}/LICENSE ${S}/stx-configfiles-LICENSE
+    cp -pf ${WORKDIR}/${DSTSUFX0}/filesystem-scripts-1.0/LICENSE ${S}/stx-filesystem-scripts-LICENSE
+    cp -pf ${WORKDIR}/${DSTSUFX1}/centos/nfs-utils-config.spec ${S}/stx-nfs-utils-LICENSE
+}
+
+inherit systemd
+
+PACKAGES =+ "${PN}-config"
+SYSTEMD_PACKAGES += "${PN}-config"
+SYSTEMD_SERVICE_${PN}-config = "uexportfs.service nfscommon.service nfsserver.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+SYSTEMD_AUTO_ENABLE_${PN}-config = "enable"
+
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+do_install_append() {
+       mv ${D}/${sbindir}/sm-notify ${D}/${sbindir}/nfs-utils-client_sm-notify
+       install -D -m 755 ${WORKDIR}/${DSTSUFX0}/filesystem-scripts-1.0/uexportfs ${D}/${sysconfdir}/init.d/uexportfs 
+
+       # install nfs.conf and enable udp proto
+       install -m 0755 ${S}/nfs.conf ${D}${sysconfdir}
+       sed -i -e 's/#\(\[nfsd\]\)/\1/' -e 's/#\( udp=\).*/\1y/' ${D}${sysconfdir}/nfs.conf
+
+       # add initial exports file
+       echo "# Initial exports for nfs" > ${D}${sysconfdir}/exports
+
+       # Libdir here is hardcoded in other scripts.
+       install -d -m 0755 ${D}/usr/lib/ocf/resource.d/platform/
+       install -D -m 755 ${WORKDIR}/${DSTSUFX0}/filesystem-scripts-1.0/nfsserver-mgmt \
+               ${D}/usr/lib/ocf/resource.d/platform/nfsserver-mgmt
+       
+       install -p -D -m 755 ${WORKDIR}/${DSTSUFX0}/filesystem-scripts-1.0/nfs-mount ${D}/${bindir}/nfs-mount
+       install -D -m 755 ${WORKDIR}/${DSTSUFX0}/filesystem-scripts-1.0/uexportfs.service \
+                       ${D}/${systemd_system_unitdir}/uexportfs.service
+
+
+       install -d ${D}/${sysconfdir}/init.d
+       install -d ${D}/${systemd_system_unitdir}
+
+       install -m 755 -p -D ${WORKDIR}/${DSTSUFX1}/files/nfscommon      ${D}/${sysconfdir}/init.d
+        install -m 644 -p -D ${WORKDIR}/${DSTSUFX1}/files/nfscommon.service     ${D}/${systemd_system_unitdir}/
+
+        install -m 755 -p -D ${WORKDIR}/${DSTSUFX1}/files/nfsserver            ${D}/${sysconfdir}/init.d
+        install -m 644 -p -D ${WORKDIR}/${DSTSUFX1}/files/nfsserver.service    ${D}/${systemd_system_unitdir}
+        install -m 644 -p -D ${WORKDIR}/${DSTSUFX1}/files/nfsmount.conf        ${D}/${sysconfdir}/nfsmount.conf
+
+}
+
+FILES_${PN}-config = "\
+       ${systemd_system_unitdir}/nfscommon.service \
+       ${systemd_system_unitdir}/nfsserver.service \
+       ${systemd_system_unitdir}/uexportfs.service \
+       ${sysconfdir}/nfsmount.conf \
+       "
+FILES_${PN}_append = " usr/lib/ocf/resource.d"
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/files/openssh-config-rm-hmac-ripemd160.patch b/meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/files/openssh-config-rm-hmac-ripemd160.patch
new file mode 100644 (file)
index 0000000..59076e6
--- /dev/null
@@ -0,0 +1,11 @@
+diff --git a/sshd_config b/sshd_config
+index 0dfc0e2..b767509 100644
+--- a/sshd_config
++++ b/sshd_config
+@@ -144,5 +144,5 @@ DenyUsers admin secadmin operator
+ # TODO (aning): once openssh is updated to 7.5, an explicit exclusion list
+ # using "-" should be used for cipher, MAC and kex excluded suites.
+ Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
+-MACs hmac-sha1,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha1-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com
++MACs hmac-sha1,hmac-sha2-256,hmac-sha2-512,umac-64@openssh.com,umac-128@openssh.com,hmac-sha1-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com
+ KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/openssh_7.%.bbappend b/meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/openssh_7.%.bbappend
new file mode 100644 (file)
index 0000000..9765db3
--- /dev/null
@@ -0,0 +1,73 @@
+#
+## Copyright (C) 2019 Wind River Systems, Inc.
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+BRANCH = "r/stx.3.0"
+SRCREV = "d778e862571957ece3c404c0c37d325769772fde"
+
+SRC_URI += "\
+    file://stx/sshd.init \
+    file://stx/sshd-keygen \
+    file://stx/sshd-keygen.service \
+    file://stx/sshd.sysconfig \
+    git://opendev.org/starlingx/config-files.git;protocol=https;rev=${SRCREV};branch=${BRANCH};destsuffix=stx-configfiles;subpath=openssh-config \
+    file://openssh-config-rm-hmac-ripemd160.patch \
+"
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -f ${WORKDIR}/stx-configfiles/files/sshd_config ${S}
+    # remove the unsupported and deprecated options
+    sed -i -e 's/^\(GSSAPIAuthentication.*\)/#\1/' \
+           -e 's/^\(GSSAPICleanupCredentials.*\)/#\1/' \
+           -e 's/^\(UsePrivilegeSeparation.*\)/#\1/' \
+           ${S}/sshd_config
+    cp -f ${WORKDIR}/stx-configfiles/files/ssh_config ${S}
+}
+
+SYSTEMD_SERVICE_${PN}-sshd = "sshd.service"
+
+do_install_append () {
+    rm -f ${D}${systemd_system_unitdir}/sshd.socket
+    rm -f ${D}${systemd_system_unitdir}/sshd@service.socket
+    rm -f ${D}${systemd_system_unitdir}/sshdgenkeys.service
+
+    install -d ${D}/${sysconfdir}/init.d/
+    install -m 755 ${WORKDIR}/stx/sshd.init ${D}/${sysconfdir}/init.d/sshd
+
+    install -d ${D}/${sysconfdir}/sysconfig/
+    install -m 644 ${WORKDIR}/stx/sshd.sysconfig ${D}/${sysconfdir}/sysconfig/sshd
+
+    install -m 755 ${WORKDIR}/stx/sshd-keygen ${D}/${sbindir}/sshd-keygen
+    install -m644 ${WORKDIR}/stx-configfiles/files/sshd.service ${D}/${systemd_system_unitdir}/sshd.service
+    install -m644 ${WORKDIR}/stx/sshd-keygen.service ${D}/${systemd_system_unitdir}/sshd-keygen.service
+
+    install -d ${D}/${sysconfdir}/tmpfiles.d
+    echo "d ${localstatedir}/run/sshd 0755 root root -" >> ${D}/${sysconfdir}/tmpfiles.d/sshd.conf
+
+}
+
+RDEPENDS_${PN} += "bash"
+RDEPENDS_${PN}-sshd += "bash"
+
+# allow both systemd service and sysvinit scripts are installed
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+USERADD_PARAM_${PN}-sshd = "-r -d /var/empty/sshd -s /sbin/nologin -g sshd -c 'Privilege-separated SSH' sshd"
+GROUPADD_PARAM_${PN}-sshd = "-r ssh_keys; -r sshd"
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/openssl/openssl10_1.0.2%.bbappend b/meta-starlingx/meta-stx-integ/recipes-connectivity/openssl/openssl10_1.0.2%.bbappend
new file mode 100644 (file)
index 0000000..a664ddc
--- /dev/null
@@ -0,0 +1,22 @@
+
+SYSROOT_DIRS_BLACKLIST = " ${bindir} ${sysconfdir}"
+
+SYSROOT_PREPROCESS_FUNCS += "openssl10_avoid_conflict"
+
+openssl10_avoid_conflict () {
+
+       # For libaries remove statics and symlinks to avoid conflict
+
+       rm ${SYSROOT_DESTDIR}${libdir}/libssl.so
+       rm ${SYSROOT_DESTDIR}${libdir}/libcrypto.so
+       rm ${SYSROOT_DESTDIR}${libdir}/libssl.a
+       rm ${SYSROOT_DESTDIR}${libdir}/libcrypto.a
+       #mv ${SYSROOT_DESTDIR}${libdir}/pkgconfig/libcrypto.pc ${SYSROOT_DESTDIR}${libdir}/pkgconfig/libcrypto10.pc 
+       #mv ${SYSROOT_DESTDIR}${libdir}/pkgconfig/libssl.pc ${SYSROOT_DESTDIR}${libdir}/pkgconfig/libcrypto10.pc 
+       #mv ${SYSROOT_DESTDIR}${libdir}/pkgconfig/openssl.pc ${SYSROOT_DESTDIR}${libdir}/pkgconfig/openssl10.pc 
+       rm -rf ${SYSROOT_DESTDIR}${libdir}/pkgconfig
+       rm -rf ${SYSROOT_DESTDIR}${libdir}/engines 
+       # For headers
+       mkdir -p ${SYSROOT_DESTDIR}${includedir}/openssl10
+       mv ${SYSROOT_DESTDIR}${includedir}/openssl ${SYSROOT_DESTDIR}${includedir}/openssl10
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/sshpass/sshpass.inc b/meta-starlingx/meta-stx-integ/recipes-connectivity/sshpass/sshpass.inc
new file mode 100644 (file)
index 0000000..6341b0d
--- /dev/null
@@ -0,0 +1,12 @@
+
+DESCRIPTION = "Non-interactive ssh password auth"
+HOMEPAGE = "http://sshpass.sourceforge.net/"
+SECTION = "console/network"
+LICENSE = "GPLv2"
+
+# SRC_URI = "${SOURCEFORGE_MIRROR}/sshpass/sshpass-${PV}.tar.gz"
+SRC_URI = "https://fossies.org/linux/privat/sshpass-${PV}.tar.gz"
+
+INC_PR = "r0"
+
+inherit autotools
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/sshpass/sshpass_1.06.bb b/meta-starlingx/meta-stx-integ/recipes-connectivity/sshpass/sshpass_1.06.bb
new file mode 100644 (file)
index 0000000..4cc119e
--- /dev/null
@@ -0,0 +1,10 @@
+
+PR = "${INC_PR}.0"
+
+require sshpass.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI[md5sum] = "f59695e3b9761fb51be7d795819421f9"
+SRC_URI[sha256sum] = "c6324fcee608b99a58f9870157dfa754837f8c48be3df0f5e2f3accf145dee60"
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/vlan/vlan_2.0.5.bb b/meta-starlingx/meta-stx-integ/recipes-connectivity/vlan/vlan_2.0.5.bb
new file mode 100644 (file)
index 0000000..4a696ac
--- /dev/null
@@ -0,0 +1,19 @@
+
+SUMMARY = "ifupdown integration for vlan configuration"
+HOMEPAGE = "https://salsa.debian.org/debian/vlan"
+SECTION = "misc"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://debian/copyright;;md5=a99f1f04fc1d4f5d723231f8937bdc2b"
+
+SRC_URI = "https://deb.debian.org/debian/pool/main/v/vlan/vlan_2.0.5.tar.xz"
+
+SRC_URI[md5sum] = "e6994250748fa3ee6d99f3ac292b7eb9"
+SRC_URI[sha256sum] = "ccf261839b79247be8dae93074e1c5fcbce3807787a0ff7aed4e1f7a9095c465"
+
+do_install () {
+    install -d ${D}${base_sbindir}
+    install -m 0755 ${S}/vconfig ${D}${base_sbindir}/
+
+    install -d ${D}${sysconfdir}
+    cp -av --no-preserve=ownership ${S}/debian/network ${D}${sysconfdir}
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-core/base-files/base-files_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-core/base-files/base-files_%.bbappend
new file mode 100644 (file)
index 0000000..a0281d4
--- /dev/null
@@ -0,0 +1,31 @@
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "setup-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+        file://stx-configfiles-LICENSE;beginline=1;endline=10;md5=0ba4936433e3eb7acdd7d236af0d2496 \
+        "
+
+SRC_URI += " \
+        git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+        "
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/stx-configfiles/centos/setup-config.spec ${S}/stx-configfiles-LICENSE
+}
+
+do_install_append() {
+
+    install -d ${D}/${sysconfdir}/profile.d
+    install -m 644 ${WORKDIR}/${DSTSUFX0}/files/motd ${D}/${sysconfdir}/motd
+    install -m 644 ${WORKDIR}/${DSTSUFX0}/files/prompt.sh ${D}/${sysconfdir}/profile.d/prompt.sh
+    install -m 644 ${WORKDIR}/${DSTSUFX0}/files/custom.sh ${D}/${sysconfdir}/profile.d/custom.sh
+   # chmod 600 ${D}/{sysconfdir}/exports
+   # chmod 600 ${D}/{sysconfdir}/fstab
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-core/init-ifupdown/init-ifupdown_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-core/init-ifupdown/init-ifupdown_%.bbappend
new file mode 100644 (file)
index 0000000..decedd6
--- /dev/null
@@ -0,0 +1,10 @@
+do_install_append() {
+       rm -f ${D}/etc/network/interfaces
+       touch ${D}/etc/network/interfaces
+       cat >  ${D}/etc/network/interfaces << EOF
+auto lo
+iface lo inet loopback
+EOF
+}
+
+RDEPENDS_${PN} += "ifupdown"
diff --git a/meta-starlingx/meta-stx-integ/recipes-core/initrdscripts/initramfs-module-install_1.0.bbappend b/meta-starlingx/meta-stx-integ/recipes-core/initrdscripts/initramfs-module-install_1.0.bbappend
new file mode 100644 (file)
index 0000000..6a696ff
--- /dev/null
@@ -0,0 +1,12 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+do_install_append () {
+    sed -i -e 's/@STX_ID@/${STX_ID}/' ${D}/init.d/install.sh
+}
+
+RDEPENDS_${PN} += "\
+    util-linux-mount \
+    util-linux-uuidgen \
+    lvm2 \
+"
diff --git a/meta-starlingx/meta-stx-integ/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bbappend b/meta-starlingx/meta-stx-integ/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bbappend
new file mode 100644 (file)
index 0000000..04c72c4
--- /dev/null
@@ -0,0 +1,2 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/initramfs-module-setup-live:"
diff --git a/meta-starlingx/meta-stx-integ/recipes-core/initscripts/initscripts_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-core/initscripts/initscripts_%.bbappend
new file mode 100644 (file)
index 0000000..adb5aec
--- /dev/null
@@ -0,0 +1,31 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "initscripts-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += " \
+       file://stx-configfiles/centos/initscripts-config.spec;beginline=1;endline=10;md5=5c43895c2c3756125227c74209b8b791 \
+       "
+
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       "
+
+inherit systemd
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_SERVICE_${PN}_append = "mountnfs.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+do_install_append () {
+    install -d  -m 755 ${D}/${sysconfdir}/sysconfig
+    install -d  -m 755 ${D}/${sysconfdir}/init.d
+    install -d  -m 755 ${D}/${systemd_system_unitdir}
+
+    install -m  644 ${WORKDIR}/${DSTSUFX0}/files/sysconfig-network.conf ${D}/${sysconfdir}/sysconfig/network
+    install -m  755 ${WORKDIR}/${DSTSUFX0}/files/mountnfs.sh ${D}/${sysconfdir}/init.d/mountnfs
+    install -m  644 ${WORKDIR}/${DSTSUFX0}/files/mountnfs.service ${D}/${systemd_system_unitdir}/mountnfs.service
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-core/systemd/systemd-compat-units.bbappend b/meta-starlingx/meta-stx-integ/recipes-core/systemd/systemd-compat-units.bbappend
new file mode 100644 (file)
index 0000000..c3ccc48
--- /dev/null
@@ -0,0 +1,16 @@
+SYSTEMD_DISABLED_SYSV_SERVICES_remove += " networking"
+
+pkg_postinst_${PN}_append () {
+
+       if [ -n "$D" ]; then
+               OPT="-f -r $D"
+       else
+               OPT="-f"
+       fi
+
+       if [ -f "$D${sysconfdir}/init.d/networking" ]; then
+               update-rc.d $OPT networking defaults
+       fi
+}
+
+RDEPENDS_${PN} += "update-rc.d"
diff --git a/meta-starlingx/meta-stx-integ/recipes-core/systemd/systemd-conf_241.bbappend b/meta-starlingx/meta-stx-integ/recipes-core/systemd/systemd-conf_241.bbappend
new file mode 100644 (file)
index 0000000..1840341
--- /dev/null
@@ -0,0 +1,30 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "systemd-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       "
+
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       "
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -f ${WORKDIR}/${DSTSUFX0}/files/LICENSE ${S}/stx-configfiles-LICENSE
+}
+
+
+do_install_append () {
+       install -d -m 0755 ${D}/${sysconfdir}/systemd
+       install -m644 ${WORKDIR}/${DSTSUFX0}/files/journald.conf ${D}/${sysconfdir}/systemd/journald.conf
+       chmod 644 ${D}/${sysconfdir}/systemd/journald.conf
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-core/systemd/systemd_241.bbappend b/meta-starlingx/meta-stx-integ/recipes-core/systemd/systemd_241.bbappend
new file mode 100644 (file)
index 0000000..8b9d988
--- /dev/null
@@ -0,0 +1,57 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "systemd-config"
+DSTSUFX0 = "stx-configfiles"
+SUBPATH1 = "io-scheduler"
+DSTSUFX1 = "stx-io-scheduler"
+
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       file://stx-ioscheduler-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       "
+SRC_URI += " \
+       file://0900-inject-milisec-in-syslog-date.patch \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX1};branch="r/stx.3.0";subpath=${SUBPATH1};name=opendev \
+       "
+
+STX_DEFAULT_LOCALE ?= "en_US.UTF-8"
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -f ${WORKDIR}/${DSTSUFX0}/files/LICENSE ${S}/stx-configfiles-LICENSE
+    cp -f ${WORKDIR}/${DSTSUFX1}/centos/files/LICENSE ${S}/stx-ioscheduler-LICENSE
+}
+
+do_install_append () {
+       install -d ${D}${sysconfdir}
+       echo LANG=${STX_DEFAULT_LOCALE} >> ${D}${sysconfdir}/locale.conf
+       
+       install -d -m 0755 ${D}/${sysconfdir}/udev/rules.d
+       install -d -m 0755 ${D}/${sysconfdir}/tmpfiles.d
+       install -d -m 0755 ${D}/${sysconfdir}/systemd
+       
+       install -m644 ${WORKDIR}/${DSTSUFX0}/files/60-persistent-storage.rules \
+               ${D}/${sysconfdir}/udev/rules.d/60-persistent-storage.rules
+
+       install -m644 ${WORKDIR}/${DSTSUFX0}/files/systemd.conf.tmpfiles.d ${D}/${sysconfdir}/tmpfiles.d/systemd.conf
+       install -m644 ${WORKDIR}/${DSTSUFX0}/files/tmp.conf.tmpfiles.d ${D}/${sysconfdir}/tmpfiles.d/tmp.conf
+       install -m644 ${WORKDIR}/${DSTSUFX0}/files/tmp.mount ${D}/${sysconfdir}/systemd/system/tmp.mount
+       install -m644 ${WORKDIR}/${DSTSUFX1}/centos/files/60-io-scheduler.rules \
+               ${D}/${sysconfdir}/udev/rules.d/60-io-scheduler.rules
+
+}
+
+
+FILES_${PN} += "${sysconfdir}/locale.conf"
+
+PACKAGECONFIG_append = " \
+    coredump \
+"
diff --git a/meta-starlingx/meta-stx-integ/recipes-core/util-linux/util-linux_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-core/util-linux/util-linux_%.bbappend
new file mode 100644 (file)
index 0000000..ab49fe8
--- /dev/null
@@ -0,0 +1,4 @@
+
+# Increase su.util-linux update-alternative priortiy
+
+ALTERNATIVE_PRIORITY[su] = "300"
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_%.bbappend
new file mode 100644 (file)
index 0000000..589d9cd
--- /dev/null
@@ -0,0 +1,44 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "iscsi-initiator-utils-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;beginline=1;endline=10;md5=4f3e541126551bf6458a8a6557b1e171 \
+       "
+
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       "
+
+inherit systemd
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_SERVICE_${PN}_append = "iscsi-shutdown.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/stx-configfiles/centos/iscsi-initiator-utils-config.spec ${S}/stx-configfiles-LICENSE
+}
+
+do_install_append() {
+   install -d  ${D}/${libdir}/tmpfiles.d
+   install -d  ${D}/${sysconfdir}/systemd/system
+
+   install -m 0644 ${WORKDIR}/stx-configfiles/files/iscsi-cache.volatiles   ${D}/${libdir}/tmpfiles.d/iscsi-cache.conf
+   install -m 0644 ${WORKDIR}/stx-configfiles/files/iscsi-shutdown.service  ${D}/${sysconfdir}/systemd/system
+   install -m 0644 ${WORKDIR}/stx-configfiles/files/iscsid.conf             ${D}/${sysconfdir}/iscsi/iscsid.conf
+
+   rm -rf ${D}/${nonarch_base_libdir}/
+}
+
+FILES_${PN}_append = " \
+       ${libdir}/tmpfiles.d \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/i40e-lldp-configure.sh b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/i40e-lldp-configure.sh
new file mode 100644 (file)
index 0000000..4a5e8a4
--- /dev/null
@@ -0,0 +1,141 @@
+#!/bin/bash
+################################################################################
+# Copyright (c) 2016 Wind River Systems, Inc.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+################################################################################
+
+# Certain i40e network devices (XL710 Fortville) have an internal firmware LLDP
+# agent enabled by default. This can prevent LLDP PDUs from being processed by
+# the driver and any upper layer agents.
+#
+# This script allows a user to enable and disable the internal LLDP agent.
+#
+# Note: debugfs must be enabled in the kernel
+#
+# To enable:
+# ./i40e-lldp-configure.sh start
+#
+# To disable:
+# ./i40e-lldp-configure.sh stop
+
+PROGNAME=$(basename $0)
+DEBUGFS_PATH=/sys/kernel/debug
+DEBUGFS_I40_DEVICES_PATH=$DEBUGFS_PATH/i40e
+LLDP_COMMAND=lldp
+
+function log {
+    local MSG="${PROGNAME}: $1"
+    logger -p notice "${MSG}"
+}
+
+function err {
+    local MSG="${PROGNAME}: $1"
+    logger -p error "${MSG}"
+}
+
+function configure_device {
+    local DEVICE=$1
+    local ACTION=$2
+    local DEVICE_PATH=${DEBUGFS_I40_DEVICES}/${DEVICE}
+
+    if [ ! -d ${DEVICE_PATH} ]; then
+        return 1
+    fi
+
+    echo "${LLDP_COMMAND} ${ACTION}" > ${DEVICE_PATH}/command
+    RET=$?
+
+    if [ ${RET} -ne 0 ]; then
+        err "Failed to ${ACTION} internal LLDP agent for device ${DEVICE}"
+        return ${RET}
+    fi
+
+    log "${ACTION} internal LLDP agent for device ${DEVICE}"
+    return ${RET}
+}
+
+function is_debugfs_mounted {
+    if grep -qs "${DEBUGFS_PATH}" /proc/mounts; then
+    return 0
+    fi
+    return 1
+}
+
+function mount_debugfs {
+    mount -t debugfs none ${DEBUGFS_PATH}
+}
+
+function unmount_debugfs {
+    umount ${DEBUGFS_PATH}
+}
+
+function scan_devices {
+    local ACTION=$1
+    local DEBUGFS_MOUNTED="false"
+    local DEVICES=${DEBUGFS_I40_DEVICES_PATH}/*
+
+    if is_debugfs_mounted; then
+        DEBUGFS_MOUNTED="true"
+    fi
+
+    if [ ${DEBUGFS_MOUNTED} = "false" ]; then
+        mount_debugfs
+        RET=$?
+        if [ ${RET} -ne 0 ]; then
+            err "Failed to mount debugfs"
+            return ${RET}
+        fi
+        log "Mounted debugfs"
+    fi
+
+    for DEVICE in $DEVICES; do
+        configure_device ${DEVICE} ${ACTION}
+    done
+
+    if [ ${DEBUGFS_MOUNTED} = "false" ]; then
+        unmount_debugfs
+        RET=$?
+        if [ ${RET} -ne 0 ]; then
+            err "Failed to unmount debugfs"
+            return ${RET}
+        fi
+        log "Unmounted debugfs"
+    fi
+
+    return 0
+}
+
+function start {
+    scan_devices start
+    return $?
+}
+
+function stop {
+    scan_devices stop
+    return $?
+}
+
+function status {
+    return 0
+}
+
+case "$1" in
+    start)
+        start
+        ;;
+    stop)
+        stop
+        ;;
+    restart)
+        stop
+        start
+        ;;
+    status)
+        status
+        ;;
+    *)
+        echo "Usage: $0 {start|stop|restart|status}"
+        exit 1
+esac
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-clear-station.patch b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-clear-station.patch
new file mode 100644 (file)
index 0000000..6ab09f0
--- /dev/null
@@ -0,0 +1,39 @@
+From b2ed14edc66c7876cd9239a346b92630403e996c Mon Sep 17 00:00:00 2001
+From: Steven Webster <steven.webster@windriver.com>
+Date: Sun, 18 Jun 2017 22:23:49 -0400
+Subject: [PATCH 1/1] Clear station bit if any other capability is enabled
+
+---
+ src/daemon/interfaces.c | 2 ++
+ src/daemon/lldpd.c      | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/src/daemon/interfaces.c b/src/daemon/interfaces.c
+index ec81721..4923049 100644
+--- a/src/daemon/interfaces.c
++++ b/src/daemon/interfaces.c
+@@ -309,6 +309,8 @@ interfaces_helper_chassis(struct lldpd *cfg,
+       if ((LOCAL_CHASSIS(cfg)->c_cap_available & LLDP_CAP_STATION) &&
+               (LOCAL_CHASSIS(cfg)->c_cap_enabled == 0))
+           LOCAL_CHASSIS(cfg)->c_cap_enabled = LLDP_CAP_STATION;
++      else if (LOCAL_CHASSIS(cfg)->c_cap_enabled != LLDP_CAP_STATION)
++          LOCAL_CHASSIS(cfg)->c_cap_enabled &= ~LLDP_CAP_STATION;
+       if (LOCAL_CHASSIS(cfg)->c_id != NULL &&
+           LOCAL_CHASSIS(cfg)->c_id_subtype == LLDP_CHASSISID_SUBTYPE_LLADDR)
+diff --git a/src/daemon/lldpd.c b/src/daemon/lldpd.c
+index c815705..dac633f 100644
+--- a/src/daemon/lldpd.c
++++ b/src/daemon/lldpd.c
+@@ -1152,6 +1152,8 @@ lldpd_update_localchassis(struct lldpd *cfg)
+       if ((LOCAL_CHASSIS(cfg)->c_cap_available & LLDP_CAP_STATION) &&
+               (LOCAL_CHASSIS(cfg)->c_cap_enabled == 0))
+               LOCAL_CHASSIS(cfg)->c_cap_enabled = LLDP_CAP_STATION;
++      else if (LOCAL_CHASSIS(cfg)->c_cap_enabled != LLDP_CAP_STATION)
++              LOCAL_CHASSIS(cfg)->c_cap_enabled &= ~LLDP_CAP_STATION;
+       /* Set chassis ID if needed. This is only done if chassis ID
+          has not been set previously (with the MAC address of an
+-- 
+1.8.3.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-create-run-dir.patch b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-create-run-dir.patch
new file mode 100644 (file)
index 0000000..a4e9d00
--- /dev/null
@@ -0,0 +1,12 @@
+Index: lldpd-0.9.0/src/daemon/lldpd.service.in
+===================================================================
+--- lldpd-0.9.0.orig/src/daemon/lldpd.service.in
++++ lldpd-0.9.0/src/daemon/lldpd.service.in
+@@ -9,6 +9,7 @@ Type=notify
+ NotifyAccess=main
+ EnvironmentFile=-/etc/default/lldpd
+ EnvironmentFile=-/etc/sysconfig/lldpd
++ExecStartPre=/bin/mkdir -p /var/run/lldpd
+ ExecStart=@sbindir@/lldpd $DAEMON_ARGS $LLDPD_OPTIONS
+ Restart=on-failure
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-i40e-disable.patch b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-i40e-disable.patch
new file mode 100644 (file)
index 0000000..1262e94
--- /dev/null
@@ -0,0 +1,12 @@
+Index: lldpd-0.9.0/src/daemon/lldpd.service.in
+===================================================================
+--- lldpd-0.9.0.orig/src/daemon/lldpd.service.in
++++ lldpd-0.9.0/src/daemon/lldpd.service.in
+@@ -10,6 +10,7 @@
+ EnvironmentFile=-/etc/default/lldpd
+ EnvironmentFile=-/etc/sysconfig/lldpd
+ ExecStartPre=/bin/mkdir -p /var/run/lldpd
++ExecStartPre=/etc/init.d/i40e-lldp-configure.sh stop
+ ExecStart=@sbindir@/lldpd $DAEMON_ARGS $LLDPD_OPTIONS
+ Restart=on-failure
\ No newline at end of file
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-interface-show.patch b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd-interface-show.patch
new file mode 100644 (file)
index 0000000..8fb52a0
--- /dev/null
@@ -0,0 +1,206 @@
+---
+ src/client/client.h  |    2 +
+ src/client/display.c |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/client/show.c    |   44 ++++++++++++++++++++++++++++++++++++++
+ src/lib/atoms/port.c |    7 ++++++
+ src/lib/lldpctl.h    |    1 
+ 5 files changed, 112 insertions(+), 1 deletion(-)
+
+--- a/src/client/client.h
++++ b/src/client/client.h
+@@ -115,6 +115,8 @@ char*  totag(const char *);
+ #define DISPLAY_DETAILS 3
+ void display_interfaces(lldpctl_conn_t *, struct writer *,
+     struct cmd_env *, int, int);
++void display_local_interfaces(lldpctl_conn_t *, struct writer *,
++    struct cmd_env *, int, int);
+ void display_interface(lldpctl_conn_t *, struct writer *, int,
+     lldpctl_atom_t *, lldpctl_atom_t *, int, int);
+ void display_local_chassis(lldpctl_conn_t *, struct writer *,
+--- a/src/client/display.c
++++ b/src/client/display.c
+@@ -344,12 +344,23 @@ display_port(struct writer *w, lldpctl_a
+       tag_datatag(w, "descr", "PortDescr",
+           lldpctl_atom_get_str(port, lldpctl_k_port_descr));
++      tag_datatag(w, "ttl", "Ttl",
++          lldpctl_atom_get_str(port, lldpctl_k_port_ttl));
++
+       /* Dot3 */
+       if (details == DISPLAY_DETAILS) {
+               tag_datatag(w, "mfs", "MFS",
+                   lldpctl_atom_get_str(port, lldpctl_k_port_dot3_mfs));
+-              tag_datatag(w, "aggregation", "Port is aggregated. PortAggregID",
++
++              long int lag_id = lldpctl_atom_get_int(port,
++                  lldpctl_k_port_dot3_aggregid);
++              tag_start(w, "link-aggregation", "LinkAgg");
++              tag_attr(w, "supported", "supported", "yes");
++              tag_attr(w, "enabled", "enabled",
++                      (lag_id > 0)?"yes":"no");
++              tag_datatag(w, "aggregation", "PortAggregID",
+                   lldpctl_atom_get_str(port, lldpctl_k_port_dot3_aggregid));
++              tag_end(w);
+               long int autoneg_support, autoneg_enabled, autoneg_advertised;
+               autoneg_support = lldpctl_atom_get_int(port,
+@@ -663,6 +674,52 @@ display_interfaces(lldpctl_conn_t *conn,
+               lldpctl_atom_dec_ref(port);
+       }
+       tag_end(w);
++}
++
++/**
++ * Display information about local interfaces.
++ *
++ * @param conn       Connection to lldpd.
++ * @param w          Writer.
++ * @param hidden     Whatever to show hidden ports.
++ * @param env        Environment from which we may find the list of ports.
++ * @param details    Level of details we need (DISPLAY_*).
++ */
++void
++display_local_interfaces(lldpctl_conn_t *conn, struct writer *w,
++    struct cmd_env *env,
++    int hidden, int details)
++{
++      lldpctl_atom_t *iface;
++      int protocol = LLDPD_MODE_MAX;
++      const char *proto_str;
++
++      /* user might have specified protocol to filter display results */
++      proto_str = cmdenv_get(env, "protocol");
++
++      if (proto_str) {
++              log_debug("display", "filter protocol: %s ", proto_str);
++
++              protocol = 0;
++              for (lldpctl_map_t *protocol_map =
++                       lldpctl_key_get_map(lldpctl_k_port_protocol);
++                   protocol_map->string;
++                   protocol_map++) {
++                      if (!strcasecmp(proto_str, protocol_map->string)) {
++                              protocol = protocol_map->value;
++                              break;
++                      }
++              }
++      }
++
++      tag_start(w, "lldp", "LLDP interfaces");
++      while ((iface = cmd_iterate_on_interfaces(conn, env))) {
++              lldpctl_atom_t *port;
++              port      = lldpctl_get_port(iface);
++              display_interface(conn, w, hidden, iface, port, details, protocol);
++              lldpctl_atom_dec_ref(port);
++      }
++      tag_end(w);
+ }
+ void
+--- a/src/client/show.c
++++ b/src/client/show.c
+@@ -48,6 +48,35 @@ cmd_show_neighbors(struct lldpctl_conn_t
+ }
+ /**
++ * Show interfaces.
++ *
++ * The environment will contain the following keys:
++ *  - C{ports} list of ports we want to restrict showing.
++ *  - C{hidden} if we should show hidden ports.
++ *  - C{summary} if we want to show only a summary
++ *  - C{detailed} for a detailed overview
++ */
++static int
++cmd_show_interfaces(struct lldpctl_conn_t *conn, struct writer *w,
++    struct cmd_env *env, void *arg)
++{
++      log_debug("lldpctl", "show interfaces data (%s) %s hidden interfaces",
++          cmdenv_get(env, "summary")?"summary":
++          cmdenv_get(env, "detailed")?"detailed":
++          "normal", cmdenv_get(env, "hidden")?"with":"without");
++      if (cmdenv_get(env, "ports"))
++              log_debug("lldpctl", "restrict to the following ports: %s",
++                  cmdenv_get(env, "ports"));
++
++      display_local_interfaces(conn, w, env, !!cmdenv_get(env, "hidden"),
++          cmdenv_get(env, "summary")?DISPLAY_BRIEF:
++          cmdenv_get(env, "detailed")?DISPLAY_DETAILS:
++          DISPLAY_NORMAL);
++
++      return 1;
++}
++
++/**
+  * Show chassis.
+  *
+  * The environment will contain the following keys:
+@@ -269,6 +298,12 @@ register_commands_show(struct cmd_node *
+               "Show neighbors data",
+               NULL, NULL, NULL);
++      struct cmd_node *interfaces = commands_new(
++              show,
++              "interfaces",
++              "Show interfaces data",
++              NULL, NULL, NULL);
++
+       struct cmd_node *chassis = commands_new(
+               show,
+               "chassis",
+@@ -289,6 +324,15 @@ register_commands_show(struct cmd_node *
+       register_common_commands(neighbors, 1);
++      /* Interfaces data */
++      commands_new(interfaces,
++          NEWLINE,
++          "Show interfaces data",
++          NULL, cmd_show_interfaces, NULL);
++
++      cmd_restrict_ports(interfaces);
++      register_common_commands(interfaces, 0);
++
+       /* Chassis data */
+       commands_new(chassis,
+           NEWLINE,
+--- a/src/lib/atoms/port.c
++++ b/src/lib/atoms/port.c
+@@ -19,6 +19,7 @@
+ #include <stdarg.h>
+ #include <string.h>
+ #include <arpa/inet.h>
++#include <time.h>
+ #include "lldpctl.h"
+ #include "../log.h"
+@@ -544,6 +545,7 @@ _lldpctl_atom_get_int_port(lldpctl_atom_
+           (struct _lldpctl_atom_port_t *)atom;
+       struct lldpd_port     *port     = p->port;
+       struct lldpd_hardware *hardware = p->hardware;
++      time_t now = time(NULL);
+       /* Local port only */
+       if (hardware != NULL) {
+@@ -585,6 +587,11 @@ _lldpctl_atom_get_int_port(lldpctl_atom_
+               return port->p_id_subtype;
+       case lldpctl_k_port_hidden:
+               return port->p_hidden_in;
++      case lldpctl_k_port_ttl:
++              if (port->p_lastupdate > 0)
++                      return (port->p_chassis->c_ttl - (now - port->p_lastupdate));
++              else
++                      return port->p_chassis->c_ttl;
+ #ifdef ENABLE_DOT3
+       case lldpctl_k_port_dot3_mfs:
+               if (port->p_mfs > 0)
+--- a/src/lib/lldpctl.h
++++ b/src/lib/lldpctl.h
+@@ -674,6 +674,7 @@ typedef enum {
+       lldpctl_k_port_hidden,     /**< `(I)` Is this port hidden (or should it be displayed?)? */
+       lldpctl_k_port_status,     /**< `(IS,WO)` Operational status of this (local) port */
+       lldpctl_k_port_chassis,    /**< `(A)` Chassis associated to the port */
++      lldpctl_k_port_ttl,        /**< `(I)` The port ttl. */
+       lldpctl_k_port_dot3_mfs = 1300,    /**< `(I)` MFS */
+       lldpctl_k_port_dot3_aggregid,   /**< `(I)` Port aggregation ID */
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd.default b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd.default
new file mode 100644 (file)
index 0000000..2364c02
--- /dev/null
@@ -0,0 +1,2 @@
+# Uncomment to start SNMP subagent and enable CDP, SONMP and EDP protocol
+#DAEMON_ARGS="-x -c -s -e"
\ No newline at end of file
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd.init b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/files/lldpd.init
new file mode 100644 (file)
index 0000000..c910f0d
--- /dev/null
@@ -0,0 +1,117 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          lldpd
+# Required-Start:    $remote_fs $network $syslog
+# Required-Stop:     $network $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: LLDP daemon
+# Description:       lldpd is a 802.1AB implementation, a L2 network
+#                    discovery protocol. It also supports CDP, EDP and
+#                    various other protocols.
+### END INIT INFO
+
+# Do NOT "set -e"
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="LLDP daemon"
+NAME=lldpd
+DAEMON=/usr/sbin/$NAME
+DAEMON_ARGS=""
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+CHROOT=/var/run/$NAME
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Create the chroot directory if not present
+[ -d "$CHROOT" ] || mkdir -p $CHROOT
+
+# LSB log_* functions
+. /lib/lsb/init-functions
+
+if [ ! -d "$CHROOT" ]; then
+        mkdir -p $CHROOT
+fi
+
+
+do_start()
+{
+       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
+               || return 1
+       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+               $DAEMON_ARGS \
+               || return 2
+}
+
+do_stop()
+{
+       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+       RETVAL="$?"
+       [ "$RETVAL" = 2 ] && return 2
+       start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
+       [ "$?" = 2 ] && return 2
+       rm -f $PIDFILE
+       return "$RETVAL"
+}
+
+do_reload() {
+       start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
+       return 0
+}
+
+case "$1" in
+  start)
+       [ "$VERBOSE" != no ] && log_begin_msg "Starting $DESC" "$NAME"
+       do_start
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  stop)
+       [ "$VERBOSE" != no ] && log_begin_msg "Stopping $DESC" "$NAME"
+       do_stop
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  reload)
+       log_begin_msg "Reloading $DESC" "$NAME"
+       do_reload
+       log_end_msg $?
+       ;;
+  restart|force-reload)
+       log_begin_msg "Restarting $DESC" "$NAME"
+       do_stop
+       case "$?" in
+         0|1)
+               do_start
+               case "$?" in
+                       0) log_end_msg 0 ;;
+                       1) log_end_msg 1 ;; # Old process is still running
+                       *) log_end_msg 1 ;; # Failed to start
+               esac
+               ;;
+         *)
+               # Failed to stop
+               log_end_msg 1
+               ;;
+       esac
+       ;;
+  status)
+       status_of_proc $DAEMON $NAME -p $PIDFILE && exit 0 || exit $?
+       ;;
+  *)
+       echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2
+       exit 3
+       ;;
+esac
+
+:
\ No newline at end of file
diff --git a/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/lldpd_0.9.0.bb b/meta-starlingx/meta-stx-integ/recipes-daemons/lldpd/lldpd_0.9.0.bb
new file mode 100644 (file)
index 0000000..fd01837
--- /dev/null
@@ -0,0 +1,104 @@
+#
+# Copyright (C) 2019 Wind River Systems, Inc.
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments"
+SECTION = "net/misc"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d"
+
+DEPENDS = "libbsd libevent json-c"
+
+
+# Patches pullled from
+# PROTOCOL = "https"
+# BRANCH = "r/stx.3.0"
+# SRCNAME = "integ"
+# SRCREV = "0bf4b546df8c7fdec8cfc6cb6f71b9609ee54306"
+# git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=stx-patches;subpath=networking/lldpd 
+
+SRC_URI = "\
+    http://media.luffy.cx/files/${BPN}/${BPN}-${PV}.tar.gz \
+    file://lldpd-interface-show.patch \
+    file://lldpd-create-run-dir.patch \
+    file://lldpd-i40e-disable.patch \
+    file://lldpd-clear-station.patch \
+    file://i40e-lldp-configure.sh \
+    file://lldpd.init \
+    file://lldpd.default\
+    "
+
+SRC_URI[md5sum] = "ed0226129b0c90b3a45c273fe1aba8de"
+SRC_URI[sha256sum] = "300e4a590f7bf21c79d5ff94c2d6a69d0b2c34dbc21e17281496462a04ca80bc"
+
+do_patch_append () {
+    bb.build.exec_func('stx_do_patch', d)
+}
+
+SOURCE1 = "${WORKDIR}/lldpd.init"
+SOURCE2 = "${WORKDIR}/lldpd.default"
+SOURCE3 = "${WORKDIR}/i40e-lldp-configure.sh"
+
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+inherit autotools update-rc.d useradd systemd pkgconfig bash-completion
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system -g lldpd --shell /bin/false lldpd"
+GROUPADD_PARAM_${PN} = "--system lldpd"
+
+EXTRA_OECONF += "--without-embedded-libevent \
+                 --disable-oldies \
+                 --with-privsep-user=lldpd \
+                 --with-privsep-group=lldpd \
+                 --with-systemdsystemunitdir=${systemd_system_unitdir} \
+                 --without-sysusersdir \
+"
+
+PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3"
+PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2"
+PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp"
+PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp"
+PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp"
+PACKAGECONFIG[edp] = "--enable-edp,--disable-edp"
+PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp"
+PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed"
+PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1"
+PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3"
+PACKAGECONFIG[custom] = "--enable-custom,--disable-custom"
+
+INITSCRIPT_NAME = "lldpd"
+INITSCRIPT_PARAMS = "defaults"
+
+SYSTEMD_SERVICE_${PN} = "lldpd.service"
+
+do_install_append() {
+    install -d -m 0755 ${D}/${sysconfdir}/init.d
+    install -Dm 0755 ${SOURCE1} ${D}${sysconfdir}/init.d/lldpd
+    install -Dm 0644 ${SOURCE2} ${D}${sysconfdir}/default/lldpd
+    install -Dm 0755 ${SOURCE3} ${D}${sysconfdir}/init.d/
+    # Make an empty configuration file
+    touch ${D}${sysconfdir}/lldpd.conf
+}
+
+PACKAGES =+ "${PN}-zsh-completion"
+
+FILES_${PN} += "${libdir}/sysusers.d"
+RDEPENDS_${PN} += "os-release bash"
+
+FILES_${PN}-zsh-completion += "${datadir}/zsh/"
+# FIXME: zsh is broken in meta-oe so this cannot be enabled for now
+#RDEPENDS_${PN}-zsh-completion += "zsh"
diff --git a/meta-starlingx/meta-stx-integ/recipes-dbs/mysql/mysql-python_1.2.5.bb b/meta-starlingx/meta-stx-integ/recipes-dbs/mysql/mysql-python_1.2.5.bb
new file mode 100644 (file)
index 0000000..48a4624
--- /dev/null
@@ -0,0 +1,20 @@
+
+SUMMARY = "Python interface to MySQL"
+HOMEPAGE = "https://github.com/farcepest/MySQLdb1"
+SECTION = "devel/python"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://GPL-2.0;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "mysql5"
+
+SRCNAME = "MySQL-python"
+
+SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.zip \
+           file://0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch \
+"
+SRC_URI[md5sum] = "654f75b302db6ed8dc5a898c625e030c"
+SRC_URI[sha256sum] = "811040b647e5d5686f84db415efd697e6250008b112b6909ba77ac059e140c74"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools
diff --git a/meta-starlingx/meta-stx-integ/recipes-dbs/postgresql/postgresql/postgresql-init b/meta-starlingx/meta-stx-integ/recipes-dbs/postgresql/postgresql/postgresql-init
new file mode 100644 (file)
index 0000000..5559db6
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/sh
+# set -x
+
+PN=postgresql
+CONTROLLER_IP=%CONTROLLER_IP%
+COMPUTE_IP=%COMPUTE_IP%
+DB_USER=%DB_USER%
+DB_PASSWORD=%DB_PASSWORD%
+DATA_DIR=%DB_DATADIR%
+
+initdb(){
+    if [ ! -e $DATA_DIR ]; then
+        mkdir -p $DATA_DIR
+        chown postgres $DATA_DIR
+    fi
+
+    if [ -e $DATA_DIR/PG_VERSION ]; then
+        # the database has already been initialized, return
+        exit 0
+    fi
+
+    # Create the DB
+    sudo -u postgres initdb -D $DATA_DIR
+
+    # Allow readers/writers by IP
+    echo "listen_addresses = '*'" >> $DATA_DIR/postgresql.conf
+    echo "host   all   all   ${CONTROLLER_IP}/32   trust" >> $DATA_DIR/pg_hba.conf
+    echo "host   all   all   ${COMPUTE_IP}/32   trust" >> $DATA_DIR/pg_hba.conf
+    }
+
+if [ "$1" == "initdb" ]; then
+    initdb
+    exit 0
+fi
+
+count=0
+done=0
+while [ $count -le 10 ] && [ $done -eq 0 ]; do
+    sudo -u postgres psql -c "CREATE ROLE ${DB_USER} WITH SUPERUSER LOGIN PASSWORD '${DB_PASSWORD}'" 2> /dev/null
+    if [ $? -ne 0 ]; then
+        echo "[INFO] postgres: failed to create account for ${DB_USER}, trying again"
+        systemctl stop postresql
+        sleep 3
+        systemctl start postgresql
+        sleep 3
+    else
+        echo "[INFO] postgres: created account for ${DB_USER}, continuing .. "
+        done=1
+    fi
+    count=`expr $count + 1`
+done
+
+if [ $done -eq 0 ]; then
+    echo "[ERROR] postgres: unable to create admin account"
+    exit 1
+fi
+
+ln -s /usr/share/zoneinfo /usr/share/postgresql/timezone || true
diff --git a/meta-starlingx/meta-stx-integ/recipes-dbs/postgresql/postgresql/postgresql-init.service b/meta-starlingx/meta-stx-integ/recipes-dbs/postgresql/postgresql/postgresql-init.service
new file mode 100644 (file)
index 0000000..94206d2
--- /dev/null
@@ -0,0 +1,12 @@
+[Unit]
+Description=Postgresql setup for OpenStack
+After=postgresql.service
+
+[Service]
+Type=oneshot
+ExecStart=%SYSCONFIGDIR%/postgresql/postgresql-init
+ExecStartPost=/bin/systemctl --no-reload disable postgresql-init.service
+RemainAfterExit=No
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-starlingx/meta-stx-integ/recipes-dbs/postgresql/postgresql_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-dbs/postgresql/postgresql_%.bbappend
new file mode 100644 (file)
index 0000000..3096226
--- /dev/null
@@ -0,0 +1,17 @@
+COMPUTE_IP="127.0.0.1"
+CONTROLLER_IP="127.0.0.1"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/postgresql:"
+
+require ${@bb.utils.contains('DISTRO_FEATURES', 'openstack', '${BPN}_openstack.inc', '', d)}
+
+SRC_URI += " \
+    file://postgresql.service.update \
+    "
+
+do_install_append() {
+       install -d ${D}${systemd_unitdir}/system
+       install -m 0755 ${WORKDIR}/postgresql.service.update ${D}${systemd_unitdir}/system/postgresql.service
+}
+
+FILES_${PN} += "${systemd_unitdir}/system/postgresql.service"
diff --git a/meta-starlingx/meta-stx-integ/recipes-dbs/postgresql/postgresql_openstack.inc b/meta-starlingx/meta-stx-integ/recipes-dbs/postgresql/postgresql_openstack.inc
new file mode 100644 (file)
index 0000000..3de5845
--- /dev/null
@@ -0,0 +1,60 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/postgresql:"
+
+SRC_URI += " \
+    file://postgresql-init \
+    file://postgresql-init.service \
+    "
+
+inherit identity hosts
+
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+# default
+DB_DATADIR ?= "/var/lib/postgres/data"
+
+do_install_append() {
+    D_DEST_DIR=${D}${sysconfdir}/postgresql
+
+    install -d ${D_DEST_DIR}
+    install -m 0755 ${WORKDIR}/postgresql-init ${D_DEST_DIR}/postgresql-init
+
+    sed -e "s:%DB_DATADIR%:${DB_DATADIR}:g" -i ${D_DEST_DIR}/postgresql-init
+
+    sed -e "s:%DB_USER%:${DB_USER}:g" -i ${D_DEST_DIR}/postgresql-init
+    sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${D_DEST_DIR}/postgresql-init
+
+    sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${D_DEST_DIR}/postgresql-init
+    sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${D_DEST_DIR}/postgresql-init
+
+    sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${D_DEST_DIR}/postgresql-init
+    sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${D_DEST_DIR}/postgresql-init
+
+    install -d ${D}${systemd_unitdir}/system/
+    PG_INIT_SERVICE_FILE=${D}${systemd_unitdir}/system/postgresql-init.service
+    install -m 644 ${WORKDIR}/postgresql-init.service ${PG_INIT_SERVICE_FILE}
+    sed -e "s:%SYSCONFIGDIR%:${sysconfdir}:g" -i ${PG_INIT_SERVICE_FILE}
+
+    # Update PGDATA throughout
+    files="${D}${localstatedir}/lib/${BPN}/.profile"
+    files="$files ${D}${systemd_unitdir}/system/postgresql.service"
+    files="$files ${D}${bindir}/${BPN}-setup"
+    files="$files ${D}${sysconfdir}/init.d/${BPN}-server"
+    for f in $files
+    do
+        sed -e "s:\(PGDATA=\).*$:\1${DB_DATADIR}:g" -i $f
+    done
+
+    # Ensure DB is initialize before we attempt to start the service
+    FILE=${D}${systemd_unitdir}/system/postgresql.service
+    sed -e '/ExecStart=.*/i ExecStartPre=-${sysconfdir}/postgresql/postgresql-init initdb' -i $FILE
+    sed -e '/ExecStartPre=.*/i PermissionsStartOnly=true' -i $FILE
+}
+
+PACKAGES += " ${PN}-setup"
+
+SYSTEMD_PACKAGES += "${PN}-setup"
+SYSTEMD_SERVICE_${PN}-setup = "postgresql-init.service"
+
+FILES_${PN}-setup = " \
+    ${systemd_unitdir}/system \
+"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/dnf/dnf_4.1.0.bbappend b/meta-starlingx/meta-stx-integ/recipes-devtools/dnf/dnf_4.1.0.bbappend
new file mode 100644 (file)
index 0000000..b652a1a
--- /dev/null
@@ -0,0 +1,73 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+
+SRC_URI += "\
+    file://0001-const-add-os-release-and-lsb-release-into-the-search.patch \
+    "
+
+DEPENDS += "\
+    python-native \
+    "
+
+EXTRA_OECMAKE_PY2 = " \
+    -DWITH_MAN=0 \
+    -DPYTHON_INSTALL_DIR=${libdir}/python2.7/site-packages \
+    -DPYTHON_DESIRED:FILEPATH=${STAGING_BINDIR_NATIVE}/python-native/python \
+    "
+
+RDEPENDS_${PN}_class-target += " \
+    python-codecs \
+    python-compression \
+    python-core \
+    python-curses \
+    python-distutils \
+    python-email \
+    python-fcntl \
+    python-iniparse \
+    python-json \
+    python-logging \
+    python-misc \
+    python-netclient \
+    python-pygpgme \
+    python-pyliblzma \
+    python-shell \
+    python-sqlite3 \
+    python-threading \
+    python2-rpm \
+    "
+
+do_configure_append() {
+       rm -rf ${B}/build-py2
+       mkdir -p ${B}/build-py2
+       cd ${B}/build-py2
+
+       cmake \
+         ${OECMAKE_GENERATOR_ARGS} \
+         $oecmake_sitefile \
+         ${OECMAKE_SOURCEPATH} \
+         -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
+         -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \
+         -DCMAKE_INSTALL_SO_NO_EXE=0 \
+         -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
+         -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \
+         ${EXTRA_OECMAKE_PY2} \
+         -Wno-dev
+}
+
+cmake_runcmake_build_py2() {
+       bbnote ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD}
+       eval ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD}
+}
+
+do_compile_append() {
+       cd ${B}/build-py2
+       cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_COMPILE}
+}
+
+do_install_append() {
+       cd ${B}/build-py2
+       DESTDIR='${D}' cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_INSTALL}
+
+       # add a symlink for yum
+       lnr ${D}/${bindir}/dnf-2 ${D}/${bindir}/yum
+}
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/go/go-phercloud_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/go/go-phercloud_git.bb
new file mode 100644 (file)
index 0000000..6feaa75
--- /dev/null
@@ -0,0 +1,30 @@
+
+DESCRIPTION = "an OpenStack SDK for Go"
+HOMEPAGE = "https://github.com/gophercloud/gophercloud"
+SECTION = "devel/go"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dd19699707373c2ca31531a659130416"
+
+SRCNAME = "gophercloud"
+
+PKG_NAME = "github.com/gophercloud/${SRCNAME}"
+SRC_URI = "git://${PKG_NAME}.git"
+
+SRCREV = "aa00757ee3ab58e53520b6cb910ca0543116400a"
+PV = "0.3.0+git${SRCREV}"
+RDEPENDS_${PN} = "bash"
+S = "${WORKDIR}/git"
+
+do_install() {
+       install -d ${D}${prefix}/local/go/src/${PKG_NAME}
+       cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/
+}
+
+SYSROOT_PREPROCESS_FUNCS += "go_phercloud_sysroot_preprocess"
+
+go_phercloud_sysroot_preprocess () {
+    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
+    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
+}
+
+FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/grubby/grubby_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-devtools/grubby/grubby_%.bbappend
new file mode 100644 (file)
index 0000000..6c314c9
--- /dev/null
@@ -0,0 +1,10 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += " \
+       file://1000-Generic-name-for-Titanium.patch \
+       file://1001-Add-support-for-updating-grub-cfg-with-multiboot-2.patch \
+       file://1002-Install-into-libdir-instead-of-hard-coding.patch \
+       "
+
+FILES_${PN}_append = " ${libdir}"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/json-c/files/json-c-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch b/meta-starlingx/meta-stx-integ/recipes-devtools/json-c/files/json-c-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch
new file mode 100644 (file)
index 0000000..2ad17f4
--- /dev/null
@@ -0,0 +1,85 @@
+From 54e03b8693ccac182fd5d05473e01ecb37c281c8 Mon Sep 17 00:00:00 2001
+From: marxin <mliska@suse.cz>
+Date: Mon, 6 Jul 2020 20:09:15 +0800
+Subject: [PATCH] Add FALLTHRU comment to handle GCC7 warnings.
+
+Upstream-Status: Backport [1]
+
+[1] https://github.com/json-c/json-c/commit/014924ba899f659917bb64392bbff7d3c803afc2
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ json_object.c  |  4 +++-
+ json_tokener.c |  1 +
+ linkhash.c     | 22 +++++++++++-----------
+ 3 files changed, 15 insertions(+), 12 deletions(-)
+
+diff --git a/json_object.c b/json_object.c
+index f2b5ce0..5e867d0 100644
+--- a/json_object.c
++++ b/json_object.c
+@@ -545,7 +545,8 @@ int64_t json_object_get_int64(struct json_object *jso)
+   case json_type_boolean:
+     return jso->o.c_boolean;
+   case json_type_string:
+-      if (json_parse_int64(jso->o.c_string.str, &cint) == 0) return cint;
++    if (json_parse_int64(jso->o.c_string.str, &cint) == 0) return cint;
++    /* FALLTHRU */
+   default:
+     return 0;
+   }
+@@ -606,6 +607,7 @@ double json_object_get_double(struct json_object *jso)
+     return jso->o.c_boolean;
+   case json_type_string:
+     if(sscanf(jso->o.c_string.str, "%lf", &cdouble) == 1) return cdouble;
++    /* FALLTHRU */
+   default:
+     return 0.0;
+   }
+diff --git a/json_tokener.c b/json_tokener.c
+index 7b3f3ec..54aa4f7 100644
+--- a/json_tokener.c
++++ b/json_tokener.c
+@@ -341,6 +341,7 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
+       tok->err = json_tokener_error_parse_unexpected;
+       goto out;
+       }
++      /* FALLTHRU */
+       break;
+
+     case json_tokener_state_finish:
+diff --git a/linkhash.c b/linkhash.c
+index 712c387..74e3b0f 100644
+--- a/linkhash.c
++++ b/linkhash.c
+@@ -376,17 +376,17 @@ static uint32_t hashlittle( const void *key, size_t length, uint32_t initval)
+     /*-------------------------------- last block: affect all 32 bits of (c) */
+     switch(length)                   /* all the case statements fall through */
+     {
+-    case 12: c+=((uint32_t)k[11])<<24;
+-    case 11: c+=((uint32_t)k[10])<<16;
+-    case 10: c+=((uint32_t)k[9])<<8;
+-    case 9 : c+=k[8];
+-    case 8 : b+=((uint32_t)k[7])<<24;
+-    case 7 : b+=((uint32_t)k[6])<<16;
+-    case 6 : b+=((uint32_t)k[5])<<8;
+-    case 5 : b+=k[4];
+-    case 4 : a+=((uint32_t)k[3])<<24;
+-    case 3 : a+=((uint32_t)k[2])<<16;
+-    case 2 : a+=((uint32_t)k[1])<<8;
++    case 12: c+=((uint32_t)k[11])<<24; /* FALLTHRU */
++    case 11: c+=((uint32_t)k[10])<<16; /* FALLTHRU */
++    case 10: c+=((uint32_t)k[9])<<8; /* FALLTHRU */
++    case 9 : c+=k[8]; /* FALLTHRU */
++    case 8 : b+=((uint32_t)k[7])<<24; /* FALLTHRU */
++    case 7 : b+=((uint32_t)k[6])<<16; /* FALLTHRU */
++    case 6 : b+=((uint32_t)k[5])<<8; /* FALLTHRU */
++    case 5 : b+=k[4]; /* FALLTHRU */
++    case 4 : a+=((uint32_t)k[3])<<24; /* FALLTHRU */
++    case 3 : a+=((uint32_t)k[2])<<16; /* FALLTHRU */
++    case 2 : a+=((uint32_t)k[1])<<8; /* FALLTHRU */
+     case 1 : a+=k[0];
+              break;
+     case 0 : return c;
+--
+2.7.4
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/json-c/files/json-c-CVE-2013-6371.patch b/meta-starlingx/meta-stx-integ/recipes-devtools/json-c/files/json-c-CVE-2013-6371.patch
new file mode 100644 (file)
index 0000000..21a5661
--- /dev/null
@@ -0,0 +1,871 @@
+json-c: fix CVE-2013-6371 and CVE-2013-6370
+
+* CVE-2013-6371: hash collision denial of service
+* CVE-2013-6370: buffer overflow if size_t is larger than int
+
+Upstream-Status: Backport [1]
+
+[1] https://github.com/json-c/json-c/commit/64e36901a0614bf64a19bc3396469c66dcd0b015
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
+diff --git a/Makefile.am b/Makefile.am
+index 24b9bdf..26ced27 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -23,7 +23,8 @@ libjson_cinclude_HEADERS = \
+       json_tokener.h \
+       json_util.h \
+       linkhash.h \
+-      printbuf.h
++      printbuf.h \
++      random_seed.h
+
+ #libjsonx_includedir = $(libdir)/json-c-@VERSION@
+ #
+@@ -41,7 +42,8 @@ libjson_c_la_SOURCES = \
+       json_tokener.c \
+       json_util.c \
+       linkhash.c \
+-      printbuf.c
++      printbuf.c \
++      random_seed.c
+
+
+ distclean-local:
+diff --git a/Makefile.am.inc b/Makefile.am.inc
+index fd68a25..fec591b 100644
+--- a/Makefile.am.inc
++++ b/Makefile.am.inc
+@@ -1,2 +1,2 @@
+-AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT
++AM_CFLAGS = -Wall -Werror -Wno-error=deprecated-declarations -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT
+
+diff --git a/json_object.h b/json_object.h
+index 1005734..200ac40 100644
+--- a/json_object.h
++++ b/json_object.h
+@@ -13,6 +13,14 @@
+ #ifndef _json_object_h_
+ #define _json_object_h_
+
++#ifdef __GNUC__
++#define THIS_FUNCTION_IS_DEPRECATED(func) func __attribute__ ((deprecated))
++#elif defined(_MSC_VER)
++#define THIS_FUNCTION_IS_DEPRECATED(func) __declspec(deprecated) func
++#else
++#define THIS_FUNCTION_IS_DEPRECATED(func) func
++#endif
++
+ #include "json_inttypes.h"
+
+ #ifdef __cplusplus
+@@ -279,8 +287,8 @@ extern void json_object_object_add(struct json_object* obj, const char *key,
+  * @returns the json_object associated with the given field name
+  * @deprecated Please use json_object_object_get_ex
+  */
+-extern struct json_object* json_object_object_get(struct json_object* obj,
+-                                                const char *key);
++THIS_FUNCTION_IS_DEPRECATED(extern struct json_object* json_object_object_get(struct json_object* obj,
++                                                const char *key));
+
+ /** Get the json_object associated with a given object field.  
+  *
+diff --git a/json_tokener.c b/json_tokener.c
+index a1019c0..19de8ef 100644
+--- a/json_tokener.c
++++ b/json_tokener.c
+@@ -81,6 +81,7 @@ static const char* json_tokener_errors[] = {
+   "object value separator ',' expected",
+   "invalid string sequence",
+   "expected comment",
++  "buffer size overflow"
+ };
+
+ const char *json_tokener_error_desc(enum json_tokener_error jerr)
+@@ -243,6 +244,16 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
+   tok->char_offset = 0;
+   tok->err = json_tokener_success;
+
++  /* this interface is presently not 64-bit clean due to the int len argument
++     and the internal printbuf interface that takes 32-bit int len arguments
++     so the function limits the maximum string size to INT32_MAX (2GB).
++     If the function is called with len == -1 then strlen is called to check
++     the string length is less than INT32_MAX (2GB) */
++  if ((len < -1) || (len == -1 && strlen(str) > INT32_MAX)) {
++    tok->err = json_tokener_error_size;
++    return NULL;
++  }
++
+   while (PEEK_CHAR(c, tok)) {
+
+   redo_char:
+diff --git a/json_tokener.h b/json_tokener.h
+index 5471d97..a72d2bd 100644
+--- a/json_tokener.h
++++ b/json_tokener.h
+@@ -33,7 +33,8 @@ enum json_tokener_error {
+   json_tokener_error_parse_object_key_sep,
+   json_tokener_error_parse_object_value_sep,
+   json_tokener_error_parse_string,
+-  json_tokener_error_parse_comment
++  json_tokener_error_parse_comment,
++  json_tokener_error_size
+ };
+
+ enum json_tokener_state {
+@@ -163,6 +164,11 @@ extern void json_tokener_set_flags(struct json_tokener *tok, int flags);
+  * responsible for calling json_tokener_parse_ex with an appropriate str
+  * parameter starting with the extra characters.
+  *
++ * This interface is presently not 64-bit clean due to the int len argument
++ * so the function limits the maximum string size to INT32_MAX (2GB).
++ * If the function is called with len == -1 then strlen is called to check
++ * the string length is less than INT32_MAX (2GB)
++ *
+  * Example:
+  * @code
+ json_object *jobj = NULL;
+diff --git a/linkhash.c b/linkhash.c
+index 5043148..712c387 100644
+--- a/linkhash.c
++++ b/linkhash.c
+@@ -17,6 +17,11 @@
+ #include <stddef.h>
+ #include <limits.h>
+
++#ifdef HAVE_ENDIAN_H
++# include <endian.h>    /* attempt to define endianness */
++#endif
++
++#include "random_seed.h"
+ #include "linkhash.h"
+
+ void lh_abort(const char *msg, ...)
+@@ -39,14 +44,378 @@ int lh_ptr_equal(const void *k1, const void *k2)
+       return (k1 == k2);
+ }
+
++/*
++ * hashlittle from lookup3.c, by Bob Jenkins, May 2006, Public Domain.
++ * http://burtleburtle.net/bob/c/lookup3.c
++ * minor modifications to make functions static so no symbols are exported
++ * minor mofifications to compile with -Werror
++ */
++
++/*
++-------------------------------------------------------------------------------
++lookup3.c, by Bob Jenkins, May 2006, Public Domain.
++
++These are functions for producing 32-bit hashes for hash table lookup.
++hashword(), hashlittle(), hashlittle2(), hashbig(), mix(), and final()
++are externally useful functions.  Routines to test the hash are included
++if SELF_TEST is defined.  You can use this free for any purpose.  It's in
++the public domain.  It has no warranty.
++
++You probably want to use hashlittle().  hashlittle() and hashbig()
++hash byte arrays.  hashlittle() is is faster than hashbig() on
++little-endian machines.  Intel and AMD are little-endian machines.
++On second thought, you probably want hashlittle2(), which is identical to
++hashlittle() except it returns two 32-bit hashes for the price of one.
++You could implement hashbig2() if you wanted but I haven't bothered here.
++
++If you want to find a hash of, say, exactly 7 integers, do
++  a = i1;  b = i2;  c = i3;
++  mix(a,b,c);
++  a += i4; b += i5; c += i6;
++  mix(a,b,c);
++  a += i7;
++  final(a,b,c);
++then use c as the hash value.  If you have a variable length array of
++4-byte integers to hash, use hashword().  If you have a byte array (like
++a character string), use hashlittle().  If you have several byte arrays, or
++a mix of things, see the comments above hashlittle().
++
++Why is this so big?  I read 12 bytes at a time into 3 4-byte integers,
++then mix those integers.  This is fast (you can do a lot more thorough
++mixing with 12*3 instructions on 3 integers than you can with 3 instructions
++on 1 byte), but shoehorning those bytes into integers efficiently is messy.
++-------------------------------------------------------------------------------
++*/
++
++/*
++ * My best guess at if you are big-endian or little-endian.  This may
++ * need adjustment.
++ */
++#if (defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && \
++     __BYTE_ORDER == __LITTLE_ENDIAN) || \
++    (defined(i386) || defined(__i386__) || defined(__i486__) || \
++     defined(__i586__) || defined(__i686__) || defined(vax) || defined(MIPSEL))
++# define HASH_LITTLE_ENDIAN 1
++# define HASH_BIG_ENDIAN 0
++#elif (defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && \
++       __BYTE_ORDER == __BIG_ENDIAN) || \
++      (defined(sparc) || defined(POWERPC) || defined(mc68000) || defined(sel))
++# define HASH_LITTLE_ENDIAN 0
++# define HASH_BIG_ENDIAN 1
++#else
++# define HASH_LITTLE_ENDIAN 0
++# define HASH_BIG_ENDIAN 0
++#endif
++
++#define hashsize(n) ((uint32_t)1<<(n))
++#define hashmask(n) (hashsize(n)-1)
++#define rot(x,k) (((x)<<(k)) | ((x)>>(32-(k))))
++
++/*
++-------------------------------------------------------------------------------
++mix -- mix 3 32-bit values reversibly.
++
++This is reversible, so any information in (a,b,c) before mix() is
++still in (a,b,c) after mix().
++
++If four pairs of (a,b,c) inputs are run through mix(), or through
++mix() in reverse, there are at least 32 bits of the output that
++are sometimes the same for one pair and different for another pair.
++This was tested for:
++* pairs that differed by one bit, by two bits, in any combination
++  of top bits of (a,b,c), or in any combination of bottom bits of
++  (a,b,c).
++* "differ" is defined as +, -, ^, or ~^.  For + and -, I transformed
++  the output delta to a Gray code (a^(a>>1)) so a string of 1's (as
++  is commonly produced by subtraction) look like a single 1-bit
++  difference.
++* the base values were pseudorandom, all zero but one bit set, or
++  all zero plus a counter that starts at zero.
++
++Some k values for my "a-=c; a^=rot(c,k); c+=b;" arrangement that
++satisfy this are
++    4  6  8 16 19  4
++    9 15  3 18 27 15
++   14  9  3  7 17  3
++Well, "9 15 3 18 27 15" didn't quite get 32 bits diffing
++for "differ" defined as + with a one-bit base and a two-bit delta.  I
++used http://burtleburtle.net/bob/hash/avalanche.html to choose
++the operations, constants, and arrangements of the variables.
++
++This does not achieve avalanche.  There are input bits of (a,b,c)
++that fail to affect some output bits of (a,b,c), especially of a.  The
++most thoroughly mixed value is c, but it doesn't really even achieve
++avalanche in c.
++
++This allows some parallelism.  Read-after-writes are good at doubling
++the number of bits affected, so the goal of mixing pulls in the opposite
++direction as the goal of parallelism.  I did what I could.  Rotates
++seem to cost as much as shifts on every machine I could lay my hands
++on, and rotates are much kinder to the top and bottom bits, so I used
++rotates.
++-------------------------------------------------------------------------------
++*/
++#define mix(a,b,c) \
++{ \
++  a -= c;  a ^= rot(c, 4);  c += b; \
++  b -= a;  b ^= rot(a, 6);  a += c; \
++  c -= b;  c ^= rot(b, 8);  b += a; \
++  a -= c;  a ^= rot(c,16);  c += b; \
++  b -= a;  b ^= rot(a,19);  a += c; \
++  c -= b;  c ^= rot(b, 4);  b += a; \
++}
++
++/*
++-------------------------------------------------------------------------------
++final -- final mixing of 3 32-bit values (a,b,c) into c
++
++Pairs of (a,b,c) values differing in only a few bits will usually
++produce values of c that look totally different.  This was tested for
++* pairs that differed by one bit, by two bits, in any combination
++  of top bits of (a,b,c), or in any combination of bottom bits of
++  (a,b,c).
++* "differ" is defined as +, -, ^, or ~^.  For + and -, I transformed
++  the output delta to a Gray code (a^(a>>1)) so a string of 1's (as
++  is commonly produced by subtraction) look like a single 1-bit
++  difference.
++* the base values were pseudorandom, all zero but one bit set, or
++  all zero plus a counter that starts at zero.
++
++These constants passed:
++ 14 11 25 16 4 14 24
++ 12 14 25 16 4 14 24
++and these came close:
++  4  8 15 26 3 22 24
++ 10  8 15 26 3 22 24
++ 11  8 15 26 3 22 24
++-------------------------------------------------------------------------------
++*/
++#define final(a,b,c) \
++{ \
++  c ^= b; c -= rot(b,14); \
++  a ^= c; a -= rot(c,11); \
++  b ^= a; b -= rot(a,25); \
++  c ^= b; c -= rot(b,16); \
++  a ^= c; a -= rot(c,4);  \
++  b ^= a; b -= rot(a,14); \
++  c ^= b; c -= rot(b,24); \
++}
++
++
++/*
++-------------------------------------------------------------------------------
++hashlittle() -- hash a variable-length key into a 32-bit value
++  k       : the key (the unaligned variable-length array of bytes)
++  length  : the length of the key, counting by bytes
++  initval : can be any 4-byte value
++Returns a 32-bit value.  Every bit of the key affects every bit of
++the return value.  Two keys differing by one or two bits will have
++totally different hash values.
++
++The best hash table sizes are powers of 2.  There is no need to do
++mod a prime (mod is sooo slow!).  If you need less than 32 bits,
++use a bitmask.  For example, if you need only 10 bits, do
++  h = (h & hashmask(10));
++In which case, the hash table should have hashsize(10) elements.
++
++If you are hashing n strings (uint8_t **)k, do it like this:
++  for (i=0, h=0; i<n; ++i) h = hashlittle( k[i], len[i], h);
++
++By Bob Jenkins, 2006.  bob_jenkins@burtleburtle.net.  You may use this
++code any way you wish, private, educational, or commercial.  It's free.
++
++Use for hash table lookup, or anything where one collision in 2^^32 is
++acceptable.  Do NOT use for cryptographic purposes.
++-------------------------------------------------------------------------------
++*/
++
++static uint32_t hashlittle( const void *key, size_t length, uint32_t initval)
++{
++  uint32_t a,b,c;                                          /* internal state */
++  union { const void *ptr; size_t i; } u;     /* needed for Mac Powerbook G4 */
++
++  /* Set up the internal state */
++  a = b = c = 0xdeadbeef + ((uint32_t)length) + initval;
++
++  u.ptr = key;
++  if (HASH_LITTLE_ENDIAN && ((u.i & 0x3) == 0)) {
++    const uint32_t *k = (const uint32_t *)key;         /* read 32-bit chunks */
++
++    /*------ all but last block: aligned reads and affect 32 bits of (a,b,c) */
++    while (length > 12)
++    {
++      a += k[0];
++      b += k[1];
++      c += k[2];
++      mix(a,b,c);
++      length -= 12;
++      k += 3;
++    }
++
++    /*----------------------------- handle the last (probably partial) block */
++    /*
++     * "k[2]&0xffffff" actually reads beyond the end of the string, but
++     * then masks off the part it's not allowed to read.  Because the
++     * string is aligned, the masked-off tail is in the same word as the
++     * rest of the string.  Every machine with memory protection I've seen
++     * does it on word boundaries, so is OK with this.  But VALGRIND will
++     * still catch it and complain.  The masking trick does make the hash
++     * noticably faster for short strings (like English words).
++     */
++#ifndef VALGRIND
++
++    switch(length)
++    {
++    case 12: c+=k[2]; b+=k[1]; a+=k[0]; break;
++    case 11: c+=k[2]&0xffffff; b+=k[1]; a+=k[0]; break;
++    case 10: c+=k[2]&0xffff; b+=k[1]; a+=k[0]; break;
++    case 9 : c+=k[2]&0xff; b+=k[1]; a+=k[0]; break;
++    case 8 : b+=k[1]; a+=k[0]; break;
++    case 7 : b+=k[1]&0xffffff; a+=k[0]; break;
++    case 6 : b+=k[1]&0xffff; a+=k[0]; break;
++    case 5 : b+=k[1]&0xff; a+=k[0]; break;
++    case 4 : a+=k[0]; break;
++    case 3 : a+=k[0]&0xffffff; break;
++    case 2 : a+=k[0]&0xffff; break;
++    case 1 : a+=k[0]&0xff; break;
++    case 0 : return c;              /* zero length strings require no mixing */
++    }
++
++#else /* make valgrind happy */
++
++    const uint8_t  *k8 = (const uint8_t *)k;
++    switch(length)
++    {
++    case 12: c+=k[2]; b+=k[1]; a+=k[0]; break;
++    case 11: c+=((uint32_t)k8[10])<<16;  /* fall through */
++    case 10: c+=((uint32_t)k8[9])<<8;    /* fall through */
++    case 9 : c+=k8[8];                   /* fall through */
++    case 8 : b+=k[1]; a+=k[0]; break;
++    case 7 : b+=((uint32_t)k8[6])<<16;   /* fall through */
++    case 6 : b+=((uint32_t)k8[5])<<8;    /* fall through */
++    case 5 : b+=k8[4];                   /* fall through */
++    case 4 : a+=k[0]; break;
++    case 3 : a+=((uint32_t)k8[2])<<16;   /* fall through */
++    case 2 : a+=((uint32_t)k8[1])<<8;    /* fall through */
++    case 1 : a+=k8[0]; break;
++    case 0 : return c;
++    }
++
++#endif /* !valgrind */
++
++  } else if (HASH_LITTLE_ENDIAN && ((u.i & 0x1) == 0)) {
++    const uint16_t *k = (const uint16_t *)key;         /* read 16-bit chunks */
++    const uint8_t  *k8;
++
++    /*--------------- all but last block: aligned reads and different mixing */
++    while (length > 12)
++    {
++      a += k[0] + (((uint32_t)k[1])<<16);
++      b += k[2] + (((uint32_t)k[3])<<16);
++      c += k[4] + (((uint32_t)k[5])<<16);
++      mix(a,b,c);
++      length -= 12;
++      k += 6;
++    }
++
++    /*----------------------------- handle the last (probably partial) block */
++    k8 = (const uint8_t *)k;
++    switch(length)
++    {
++    case 12: c+=k[4]+(((uint32_t)k[5])<<16);
++             b+=k[2]+(((uint32_t)k[3])<<16);
++             a+=k[0]+(((uint32_t)k[1])<<16);
++             break;
++    case 11: c+=((uint32_t)k8[10])<<16;     /* fall through */
++    case 10: c+=k[4];
++             b+=k[2]+(((uint32_t)k[3])<<16);
++             a+=k[0]+(((uint32_t)k[1])<<16);
++             break;
++    case 9 : c+=k8[8];                      /* fall through */
++    case 8 : b+=k[2]+(((uint32_t)k[3])<<16);
++             a+=k[0]+(((uint32_t)k[1])<<16);
++             break;
++    case 7 : b+=((uint32_t)k8[6])<<16;      /* fall through */
++    case 6 : b+=k[2];
++             a+=k[0]+(((uint32_t)k[1])<<16);
++             break;
++    case 5 : b+=k8[4];                      /* fall through */
++    case 4 : a+=k[0]+(((uint32_t)k[1])<<16);
++             break;
++    case 3 : a+=((uint32_t)k8[2])<<16;      /* fall through */
++    case 2 : a+=k[0];
++             break;
++    case 1 : a+=k8[0];
++             break;
++    case 0 : return c;                     /* zero length requires no mixing */
++    }
++
++  } else {                        /* need to read the key one byte at a time */
++    const uint8_t *k = (const uint8_t *)key;
++
++    /*--------------- all but the last block: affect some 32 bits of (a,b,c) */
++    while (length > 12)
++    {
++      a += k[0];
++      a += ((uint32_t)k[1])<<8;
++      a += ((uint32_t)k[2])<<16;
++      a += ((uint32_t)k[3])<<24;
++      b += k[4];
++      b += ((uint32_t)k[5])<<8;
++      b += ((uint32_t)k[6])<<16;
++      b += ((uint32_t)k[7])<<24;
++      c += k[8];
++      c += ((uint32_t)k[9])<<8;
++      c += ((uint32_t)k[10])<<16;
++      c += ((uint32_t)k[11])<<24;
++      mix(a,b,c);
++      length -= 12;
++      k += 12;
++    }
++
++    /*-------------------------------- last block: affect all 32 bits of (c) */
++    switch(length)                   /* all the case statements fall through */
++    {
++    case 12: c+=((uint32_t)k[11])<<24;
++    case 11: c+=((uint32_t)k[10])<<16;
++    case 10: c+=((uint32_t)k[9])<<8;
++    case 9 : c+=k[8];
++    case 8 : b+=((uint32_t)k[7])<<24;
++    case 7 : b+=((uint32_t)k[6])<<16;
++    case 6 : b+=((uint32_t)k[5])<<8;
++    case 5 : b+=k[4];
++    case 4 : a+=((uint32_t)k[3])<<24;
++    case 3 : a+=((uint32_t)k[2])<<16;
++    case 2 : a+=((uint32_t)k[1])<<8;
++    case 1 : a+=k[0];
++             break;
++    case 0 : return c;
++    }
++  }
++
++  final(a,b,c);
++  return c;
++}
++
+ unsigned long lh_char_hash(const void *k)
+ {
+-      unsigned int h = 0;
+-      const char* data = (const char*)k;
+- 
+-      while( *data!=0 ) h = h*129 + (unsigned int)(*data++) + LH_PRIME;
++      static volatile int random_seed = -1;
++
++      if (random_seed == -1) {
++              int seed;
++              /* we can't use -1 as it is the unitialized sentinel */
++              while ((seed = json_c_get_random_seed()) == -1);
++#if defined __GNUC__
++              __sync_val_compare_and_swap(&random_seed, -1, seed);
++#elif defined _MSC_VER
++              InterlockedCompareExchange(&random_seed, seed, -1);
++#else
++#warning "racy random seed initializtion if used by multiple threads"
++              random_seed = seed; /* potentially racy */
++#endif
++      }
+
+-      return h;
++      return hashlittle((const char*)k, strlen((const char*)k), random_seed);
+ }
+
+ int lh_char_equal(const void *k1, const void *k2)
+diff --git a/linkhash.h b/linkhash.h
+index 378de0b..950d09f 100644
+--- a/linkhash.h
++++ b/linkhash.h
+@@ -246,7 +246,7 @@ extern struct lh_entry* lh_table_lookup_entry(struct lh_table *t, const void *k)
+  * @return a pointer to the found value or NULL if it does not exist.
+  * @deprecated Use lh_table_lookup_ex instead.
+  */
+-extern const void* lh_table_lookup(struct lh_table *t, const void *k);
++THIS_FUNCTION_IS_DEPRECATED(extern const void* lh_table_lookup(struct lh_table *t, const void *k));
+
+ /**
+  * Lookup a record in the table
+diff --git a/random_seed.c b/random_seed.c
+new file mode 100644
+index 0000000..3b520d4
+--- /dev/null
++++ b/random_seed.c
+@@ -0,0 +1,237 @@
++/*
++ * random_seed.c
++ *
++ * Copyright (c) 2013 Metaparadigm Pte. Ltd.
++ * Michael Clark <michael@metaparadigm.com>
++ *
++ * This library is free software; you can redistribute it and/or modify
++ * it under the terms of the MIT license. See COPYING for details.
++ *
++ */
++
++#include <stdio.h>
++#include "config.h"
++
++#define DEBUG_SEED(s)
++
++
++#if defined ENABLE_RDRAND
++
++/* cpuid */
++
++#if defined __GNUC__ && (defined __i386__ || defined __x86_64__)
++#define HAS_X86_CPUID 1
++
++static void do_cpuid(int regs[], int h)
++{
++    __asm__ __volatile__(
++#if defined __x86_64__
++                         "pushq %%rbx;\n"
++#else
++                         "pushl %%ebx;\n"
++#endif
++                         "cpuid;\n"
++#if defined __x86_64__
++                         "popq %%rbx;\n"
++#else
++                         "popl %%ebx;\n"
++#endif
++                         : "=a"(regs[0]), [ebx] "=r"(regs[1]), "=c"(regs[2]), "=d"(regs[3])
++                         : "a"(h));
++}
++
++#elif defined _MSC_VER
++
++#define HAS_X86_CPUID 1
++#define do_cpuid __cpuid
++
++#endif
++
++/* has_rdrand */
++
++#if HAS_X86_CPUID
++
++static int has_rdrand()
++{
++    // CPUID.01H:ECX.RDRAND[bit 30] == 1
++    int regs[4];
++    do_cpuid(regs, 1);
++    return (regs[2] & (1 << 30)) != 0;
++}
++
++#endif
++
++/* get_rdrand_seed - GCC x86 and X64 */
++
++#if defined __GNUC__ && (defined __i386__ || defined __x86_64__)
++
++#define HAVE_RDRAND 1
++
++static int get_rdrand_seed()
++{
++    DEBUG_SEED("get_rdrand_seed");
++    int _eax;
++    // rdrand eax
++    __asm__ __volatile__("1: .byte 0x0F\n"
++                         "   .byte 0xC7\n"
++                         "   .byte 0xF0\n"
++                         "   jnc 1b;\n"
++                         : "=a" (_eax));
++    return _eax;
++}
++
++#endif
++
++#if defined _MSC_VER
++
++#if _MSC_VER >= 1700
++#define HAVE_RDRAND 1
++
++/* get_rdrand_seed - Visual Studio 2012 and above */
++
++static int get_rdrand_seed()
++{
++    DEBUG_SEED("get_rdrand_seed");
++    int r;
++    while (_rdrand32_step(&r) == 0);
++    return r;
++}
++
++#elif defined _M_IX86
++#define HAVE_RDRAND 1
++
++/* get_rdrand_seed - Visual Studio 2010 and below - x86 only */
++
++static int get_rdrand_seed()
++{
++      DEBUG_SEED("get_rdrand_seed");
++      int _eax;
++retry:
++      // rdrand eax
++      __asm _emit 0x0F __asm _emit 0xC7 __asm _emit 0xF0
++      __asm jnc retry
++      __asm mov _eax, eax
++      return _eax;
++}
++
++#endif
++#endif
++
++#endif /* defined ENABLE_RDRAND */
++
++
++/* has_dev_urandom */
++
++#if defined (__APPLE__) || defined(__unix__) || defined(__linux__)
++
++#include <string.h>
++#include <fcntl.h>
++#include <unistd.h>
++#include <errno.h>
++#include <stdlib.h>
++#include <sys/stat.h>
++
++#define HAVE_DEV_RANDOM 1
++
++static const char *dev_random_file = "/dev/urandom";
++
++static int has_dev_urandom()
++{
++    struct stat buf;
++    if (stat(dev_random_file, &buf)) {
++        return 0;
++    }
++    return ((buf.st_mode & S_IFCHR) != 0);
++}
++
++
++/* get_dev_random_seed */
++
++static int get_dev_random_seed()
++{
++    DEBUG_SEED("get_dev_random_seed");
++
++    int fd = open(dev_random_file, O_RDONLY);
++    if (fd < 0) {
++        fprintf(stderr, "error opening %s: %s", dev_random_file, strerror(errno));
++        exit(1);
++    }
++
++    int r;
++    ssize_t nread = read(fd, &r, sizeof(r));
++    if (nread != sizeof(r)) {
++        fprintf(stderr, "error read %s: %s", dev_random_file, strerror(errno));
++        exit(1);
++    }
++    else if (nread != sizeof(r)) {
++        fprintf(stderr, "error short read %s", dev_random_file);
++        exit(1);
++    }
++    close(fd);
++    return r;
++}
++
++#endif
++
++
++/* get_cryptgenrandom_seed */
++
++#ifdef WIN32
++
++#define HAVE_CRYPTGENRANDOM 1
++
++#include <windows.h>
++#pragma comment(lib, "advapi32.lib")
++
++static int get_cryptgenrandom_seed()
++{
++    DEBUG_SEED("get_cryptgenrandom_seed");
++
++    HCRYPTPROV hProvider = 0;
++    int r;
++
++    if (!CryptAcquireContextW(&hProvider, 0, 0, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT | CRYPT_SILENT)) {
++        fprintf(stderr, "error CryptAcquireContextW");
++        exit(1);
++    }
++
++    if (!CryptGenRandom(hProvider, sizeof(r), (BYTE*)&r)) {
++        fprintf(stderr, "error CryptGenRandom");
++        exit(1);
++    }
++
++    CryptReleaseContext(hProvider, 0);
++
++    return r;
++}
++
++#endif
++
++
++/* get_time_seed */
++
++#include <time.h>
++
++static int get_time_seed()
++{
++    DEBUG_SEED("get_time_seed");
++
++    return (int)time(NULL) * 433494437;
++}
++
++
++/* json_c_get_random_seed */
++
++int json_c_get_random_seed()
++{
++#if HAVE_RDRAND
++    if (has_rdrand()) return get_rdrand_seed();
++#endif
++#if HAVE_DEV_RANDOM
++    if (has_dev_urandom()) return get_dev_random_seed();
++#endif
++#if HAVE_CRYPTGENRANDOM
++    return get_cryptgenrandom_seed();
++#endif
++    return get_time_seed();
++}
+diff --git a/random_seed.h b/random_seed.h
+new file mode 100644
+index 0000000..7362d67
+--- /dev/null
++++ b/random_seed.h
+@@ -0,0 +1,25 @@
++/*
++ * random_seed.h
++ *
++ * Copyright (c) 2013 Metaparadigm Pte. Ltd.
++ * Michael Clark <michael@metaparadigm.com>
++ *
++ * This library is free software; you can redistribute it and/or modify
++ * it under the terms of the MIT license. See COPYING for details.
++ *
++ */
++
++#ifndef seed_h
++#define seed_h
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++extern int json_c_get_random_seed();
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif
+--
+1.9.1
+
+--- a/config.h.in      2013-04-03 04:04:18.000000000 +0200
++++ b/config.h.in      2014-04-10 10:32:09.318409377 +0200
+@@ -3,12 +3,18 @@
+ /* Define if .gnu.warning accepts long strings. */
+ #undef HAS_GNU_WARNING_LONG
+
++/* Enable RDRANR Hardware RNG Hash Seed */
++#undef ENABLE_RDRAND
++
+ /* Define to 1 if you have the <dlfcn.h> header file. */
+ #undef HAVE_DLFCN_H
+
+ /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+ #undef HAVE_DOPRNT
+
++/* Define to 1 if you have the <endian.h> header file. */
++#undef HAVE_ENDIAN_H
++
+ /* Define to 1 if you have the <fcntl.h> header file. */
+ #undef HAVE_FCNTL_H
+
+--- a/configure.in     2014-04-10 10:32:56.443006786 +0200
++++ b/configure.in     2014-04-10 10:34:26.480080755 +0200
+@@ -15,6 +15,20 @@
+ )
+ AM_CONDITIONAL(ENABLE_OLDNAME_COMPAT, [test "x${enable_oldname_compat}" != "xno"])
+
++AC_ARG_ENABLE(rdrand,
++ AS_HELP_STRING([--enable-rdrand],
++   [Enable RDRAND Hardware RNG Hash Seed generation on supported x86/x64 platforms.]),
++ [if test x$enableval = xyes; then
++  enable_rdrand=yes
++  AC_DEFINE(ENABLE_RDRAND, 1, [Enable RDRANR Hardware RNG Hash Seed])
++ fi])
++
++if test "x$enable_rdrand" = "xyes"; then
++  AC_MSG_RESULT([RDRAND Hardware RNG Hash Seed enabled on supported x86/x64 platforms])
++else
++  AC_MSG_RESULT([RDRAND Hardware RNG Hash Seed disabled. Use --enable-rdrand to enable])
++fi
++
+ # Checks for programs.
+
+ # Checks for libraries.
+@@ -23,7 +37,7 @@
+ AC_CONFIG_HEADER(config.h)
+ AC_CONFIG_HEADER(json_config.h)
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS(fcntl.h limits.h strings.h syslog.h unistd.h [sys/cdefs.h] [sys/param.h] stdarg.h locale.h)
++AC_CHECK_HEADERS(fcntl.h limits.h strings.h syslog.h unistd.h [sys/cdefs.h] [sys/param.h] stdarg.h locale.h endian.h)
+ AC_CHECK_HEADER(inttypes.h,[AC_DEFINE([JSON_C_HAVE_INTTYPES_H],[1],[Public define for json_inttypes.h])])
+
+ # Checks for typedefs, structures, and compiler characteristics.
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/json-c/json-c_0.11.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/json-c/json-c_0.11.bb
new file mode 100644 (file)
index 0000000..5d4e9a1
--- /dev/null
@@ -0,0 +1,26 @@
+SUMMARY = "C bindings for apps which will manipulate JSON data"
+DESCRIPTION = "JSON-C implements a reference counting object model that allows you to easily construct JSON objects in C."
+HOMEPAGE = "https://github.com/json-c/json-c/wiki"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2"
+
+SRC_URI = "\
+    https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \
+    file://json-c-CVE-2013-6371.patch \
+    file://json-c-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch \
+"
+SRC_URI[md5sum] = "aa02367d2f7a830bf1e3376f77881e98"
+SRC_URI[sha256sum] = "28dfc65145dc0d4df1dfe7701ac173c4e5f9347176c8983edbfac9149494448c"
+
+RPROVIDES_${PN} = "libjson"
+
+PARALLEL_MAKE = ""
+
+inherit autotools
+
+do_configure_prepend() {
+    # Clean up autoconf cruft that should not be in the tarball
+    rm -f ${S}/config.status
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/libcomps/libcomps_git.bbappend b/meta-starlingx/meta-stx-integ/recipes-devtools/libcomps/libcomps_git.bbappend
new file mode 100644 (file)
index 0000000..1206385
--- /dev/null
@@ -0,0 +1,42 @@
+DEPENDS += "\
+    python-native \
+    "
+
+EXTRA_OECMAKE_PY2 = " \
+    -DPYTHON_DESIRED=2 \
+    -DPYTHON_INSTALL_DIR=${libdir}/python2.7/site-packages \
+    -DPYTHON_EXECUTABLE=${STAGING_BINDIR_NATIVE}/python-native/python \
+    "
+
+do_configure_append() {
+       rm -rf ${B}/build-py2
+       mkdir -p ${B}/build-py2
+       cd ${B}/build-py2
+
+       cmake \
+         ${OECMAKE_GENERATOR_ARGS} \
+         $oecmake_sitefile \
+         ${OECMAKE_SOURCEPATH} \
+         -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
+         -DCMAKE_INSTALL_SO_NO_EXE=0 \
+         -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
+         -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \
+         ${EXTRA_OECMAKE_PY2} \
+         -Wno-dev
+}
+
+cmake_runcmake_build_py2() {
+       bbnote ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD}
+       eval ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD}
+}
+
+do_compile_append() {
+       cd ${B}/build-py2
+       cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_COMPILE}
+}
+
+do_install_append() {
+       cd ${B}/build-py2
+       DESTDIR='${D}' cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_INSTALL}
+}
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/libdnf/libdnf_0.26.0.bbappend b/meta-starlingx/meta-stx-integ/recipes-devtools/libdnf/libdnf_0.26.0.bbappend
new file mode 100644 (file)
index 0000000..d14e330
--- /dev/null
@@ -0,0 +1,45 @@
+DEPENDS += "\
+    python-native \
+    "
+
+EXTRA_OECMAKE_PY2 = " \
+    -DPYTHON_INSTALL_DIR=${libdir}/python2.7/site-packages \
+    -DPYTHON_DESIRED:FILEPATH=${STAGING_BINDIR_NATIVE}/python-native/python \
+    -DWITH_MAN=OFF \
+    ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DWITH_GIR=ON', '-DWITH_GIR=OFF', d)} \
+    -DWITH_TESTS=OFF \
+    "
+
+do_configure_append() {
+       rm -rf ${B}/build-py2
+       mkdir -p ${B}/build-py2
+       cd ${B}/build-py2
+
+       cmake \
+         ${OECMAKE_GENERATOR_ARGS} \
+         $oecmake_sitefile \
+         ${OECMAKE_SOURCEPATH} \
+         -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
+         -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \
+         -DCMAKE_INSTALL_SO_NO_EXE=0 \
+         -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
+         -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \
+         ${EXTRA_OECMAKE_PY2} \
+         -Wno-dev
+}
+
+cmake_runcmake_build_py2() {
+       bbnote ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD}
+       eval ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD}
+}
+
+do_compile_append() {
+       cd ${B}/build-py2
+       cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_COMPILE}
+}
+
+do_install_append() {
+       cd ${B}/build-py2
+       DESTDIR='${D}' cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_INSTALL}
+}
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/perl/filter-perl_1.59.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/perl/filter-perl_1.59.bb
new file mode 100644 (file)
index 0000000..6bea0b6
--- /dev/null
@@ -0,0 +1,33 @@
+
+SUMMARY = "perlfilter - Source Filters"
+DESCRIPTION = "\
+  perlfilter - Source Filters \
+    Modules included: \
+    - Filter::Util::Call - Perl Source Filter Utility Module \
+    - Filter::Util::Exec - exec source filter \
+    - Filter::decrypt - template for a decrypt source filter \
+    - Filter::cpp - cpp source filter \
+    - Filter::exec - exec source filter \
+    - Filter::m4 - M4 source filter \
+    - Filter::sh - sh source filter \
+    - Filter::tee - tee source filter \
+"
+HOMEPAGE = "https://metacpan.org/release/Filter"
+
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
+
+CPAN_PACKAGE = "Filter"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/R/RU/RURBAN/${CPAN_PACKAGE}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "54e08a158bff1f35e0a93b3993dcf52f"
+SRC_URI[sha256sum] = "b4babfad4e0566a9a61199735f6e622a60d3274122752304f18f623412bf4e5a"
+
+S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libhtml-tagset-perl_3.20.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libhtml-tagset-perl_3.20.bb
new file mode 100644 (file)
index 0000000..947837e
--- /dev/null
@@ -0,0 +1,18 @@
+
+DESCRIPTION = "HTML Tagset bits."
+HOMEPAGE = "http://search.cpan.org/dist/HTML-Tagset/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=60;md5=16ddda2d845a5546f615e6b122d1dbad"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/P/PE/PETDANCE/HTML-Tagset-${PV}.tar.gz"
+
+S = "${WORKDIR}/HTML-Tagset-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND="native"
+
+
+SRC_URI[md5sum] = "d2bfa18fe1904df7f683e96611e87437"
+SRC_URI[sha256sum] = "adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libmailtools-perl_2.18.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libmailtools-perl_2.18.bb
new file mode 100644 (file)
index 0000000..096df69
--- /dev/null
@@ -0,0 +1,27 @@
+
+DESCRIPTION = "MailTools is a set of Perl modules related to mail applications"
+HOMEPAGE = "http://search.cpan.org/dist/MailTools/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://lib/Mail/Mailer.pod;beginline=144;md5=93c9027e72612b3555f857c4fc17b953"
+DEPENDS = " \
+       libtest-pod-perl-native \
+       libtimedate-perl-native \
+       "       
+RDEPENDS_${PN} += " \
+       libtest-pod-perl \
+       libtimedate-perl \
+       perl-module-io-handle \
+       perl-module-net-smtp \
+       perl-module-test-more \
+       "
+BBCLASSEXTEND = "native"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MailTools-${PV}.tar.gz"
+SRC_URI[md5sum] = "972468ab5207b90398d77bed4ffc361d"
+SRC_URI[sha256sum] = "dfee9e770257371112f20d978e637759e81bc4f19e97b083585c71ecab37b527"
+
+S = "${WORKDIR}/MailTools-${PV}"
+
+inherit cpan
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libmailtools-perl_2.20.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libmailtools-perl_2.20.bb
new file mode 100644 (file)
index 0000000..fb4b43d
--- /dev/null
@@ -0,0 +1,26 @@
+
+DESCRIPTION = "MailTools is a set of Perl modules related to mail applications"
+HOMEPAGE = "http://search.cpan.org/dist/MailTools/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://lib/Mail/Mailer.pod;beginline=144;md5=641bd171b1aaabba1fc83ac0a98a2d30"
+DEPENDS = " \
+       libtest-pod-perl-native \
+       libtimedate-perl-native \
+       "       
+RDEPENDS_${PN} += " \
+       libtest-pod-perl \
+       libtimedate-perl \
+       perl-module-io-handle \
+       perl-module-net-smtp \
+       perl-module-test-more \
+       "
+BBCLASSEXTEND = "native"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MailTools-${PV}.tar.gz"
+SRC_URI[md5sum] = "53e9d35256c3fd7cef0e4a24b15e9512"
+SRC_URI[sha256sum] = "f55606f7a9cc342ee9d5f996e2b6a4c0047e2ee47cd88c3250ecf0d0c5fb3196"
+
+S = "${WORKDIR}/MailTools-${PV}"
+
+inherit cpan
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libsocket6-perl_0.23.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libsocket6-perl_0.23.bb
new file mode 100644 (file)
index 0000000..ac0d57b
--- /dev/null
@@ -0,0 +1,25 @@
+
+DESCRIPTION = "Perl extensions for IPv6"
+HOMEPAGE = "https://metacpan.org/release/Socket6"
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://README;beginline=31;md5=ad207d410de6d8ca6b4655469baa1ab4"
+
+BBCLASSEXTEND = "native"
+
+CFLAGS += "-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
+BUILD_CFLAGS += "-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/U/UM/UMEMOTO/Socket6-${PV}.tar.gz;name=socket6-perl-${PV}"
+SRC_URI[socket6-perl-0.23.md5sum] = "2c02adb13c449d48d232bb704ddbd492"
+SRC_URI[socket6-perl-0.23.sha256sum] = "eda753f0197e8c3c8d4ab20a634561ce84011fa51aa5ff40d4dbcb326ace0833"
+
+S = "${WORKDIR}/Socket6-${PV}"
+
+do_configure_prepend () {
+       mkdir -p m4
+       autoreconf -Wcross --verbose --install --force || oefatal "autoreconf execution failed."
+       sed -i 's:\./configure\(.[^-]\):./configure --build=${BUILD_SYS} --host=${HOST_SYS} --target=${TARGET_SYS} --prefix=${prefix} --exec_prefix=${exec_prefix} --bindir=${bindir} --sbindir=${sbindir} --libexecdir=${libexecdir} --datadir=${datadir} --sysconfdir=${sysconfdir} --sharedstatedir=${sharedstatedir} --localstatedir=${localstatedir} --libdir=${libdir} --includedir=${includedir} --oldincludedir=${oldincludedir} --infodir=${infodir} --mandir=${mandir}\1:' Makefile.PL
+}
+
+inherit cpan
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libsocket6-perl_0.28.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libsocket6-perl_0.28.bb
new file mode 100644 (file)
index 0000000..19ce540
--- /dev/null
@@ -0,0 +1,27 @@
+
+DESCRIPTION = "Perl extensions for IPv6"
+HOMEPAGE = "https://metacpan.org/release/Socket6"
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://README;beginline=31;md5=aa15b0e3744ac40eaada8738eccd24df"
+
+BBCLASSEXTEND = "native"
+
+CFLAGS += "-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
+BUILD_CFLAGS += "-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/U/UM/UMEMOTO/Socket6-${PV}.tar.gz;name=socket6-perl-${PV} \
+           file://0001-socket6-perl-fix-configure-error.patch \
+"
+SRC_URI[socket6-perl-0.28.md5sum] = "aa8489135a3dbcec6233396e1aeb043b"
+SRC_URI[socket6-perl-0.28.sha256sum] = "bfd49ab99f3197c99285fed4683c4edc06277c1e4453f593e694d7bff0974586"
+
+S = "${WORKDIR}/Socket6-${PV}"
+
+do_configure_prepend () {
+       mkdir -p m4
+       autoreconf -Wcross --verbose --install --force || oefatal "autoreconf execution failed."
+       sed -i 's:\./configure\(.[^-]\):./configure --build=${BUILD_SYS} --host=${HOST_SYS} --target=${TARGET_SYS} --prefix=${prefix} --exec_prefix=${exec_prefix} --bindir=${bindir} --sbindir=${sbindir} --libexecdir=${libexecdir} --datadir=${datadir} --sysconfdir=${sysconfdir} --sharedstatedir=${sharedstatedir} --localstatedir=${localstatedir} --libdir=${libdir} --includedir=${includedir} --oldincludedir=${oldincludedir} --infodir=${infodir} --mandir=${mandir}\1:' Makefile.PL
+}
+
+inherit cpan
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libtest-pod-perl_1.51.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libtest-pod-perl_1.51.bb
new file mode 100644 (file)
index 0000000..a458d91
--- /dev/null
@@ -0,0 +1,20 @@
+
+DESCRIPTION = "Test::Pod - check for POD errors in files"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=26;md5=ea81140c3f3b2937c6490fc732471cd0"
+HOMEPAGE = "https://github.com/perl-pod/test-pod/"
+BBCLASSEXTEND = "native"
+RDEPENDS_${PN} += " perl-module-test-more \
+                    perl-module-file-spec \
+                    perl-module-pod-simple \
+                    perl-module-test-builder-tester \
+                    "
+
+SRC_URI ="http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Test-Pod-${PV}.tar.gz;name=test-pod-perl-${PV}"
+SRC_URI[test-pod-perl-1.51.md5sum] = "f806aa84de2f0c0fba48b3a5a8a4aecf"
+SRC_URI[test-pod-perl-1.51.sha256sum] = "c1a1d3cedf4a579e3aad89c36f9878a8542b6656dbe71f1581420f49582d7efb"
+S = "${WORKDIR}/Test-Pod-${PV}"
+
+inherit cpan
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libtest-pod-perl_1.52.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libtest-pod-perl_1.52.bb
new file mode 100644 (file)
index 0000000..1dd5be7
--- /dev/null
@@ -0,0 +1,19 @@
+
+DESCRIPTION = "Test::Pod - check for POD errors in files"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=26;md5=ea81140c3f3b2937c6490fc732471cd0"
+HOMEPAGE = "https://github.com/perl-pod/test-pod/"
+BBCLASSEXTEND = "native"
+RDEPENDS_${PN} += " perl-module-test-more \
+                    perl-module-file-spec \
+                    perl-module-pod-simple \
+                    perl-module-test-builder-tester \
+                    "
+
+SRC_URI ="http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Test-Pod-${PV}.tar.gz;name=test-pod-perl-${PV}"
+SRC_URI[test-pod-perl-1.52.md5sum] = "472dda77746d48e6465bf62e47aeca81"
+SRC_URI[test-pod-perl-1.52.sha256sum] = "60a8dbcc60168bf1daa5cc2350236df9343e9878f4ab9830970a5dde6fe8e5fc"
+S = "${WORKDIR}/Test-Pod-${PV}"
+
+inherit cpan
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libwww-perl_6.05.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libwww-perl_6.05.bb
new file mode 100644 (file)
index 0000000..3213c44
--- /dev/null
@@ -0,0 +1,25 @@
+
+DESCRIPTION = "libwww-perl provides a simple and consistent API to the World Wide Web"
+HOMEPAGE = "http://search.cpan.org/dist/libwww-perl/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=92;endline=98;md5=3da13bc02f8f17ed35ac5d192cae6fe4"
+DEPENDS = "liburi-perl-native libhtml-parser-perl-native libhtml-tagset-perl-native"
+RDEPENDS_${PN} += " \
+       libhtml-parser-perl \
+       libhtml-tagset-perl \
+       liburi-perl \
+       perl-module-digest-md5 \
+       perl-module-net-ftp \
+       "
+BBCLASSEXTEND = "native"
+
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-${PV}.tar.gz;name=libwww-perl-${PV}"
+SRC_URI[libwww-perl-6.05.md5sum] = "637d5f1eb61336ca2caa6e026b382f87"
+SRC_URI[libwww-perl-6.05.sha256sum] = "7b25799ff7eec18e8e4e97dc0cad7b2a5b433b50b13feb59d9179173bee78f23"
+
+S = "${WORKDIR}/libwww-perl-${PV}"
+
+inherit cpan
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libwww-perl_6.35.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/perl/libwww-perl_6.35.bb
new file mode 100644 (file)
index 0000000..1c06f0d
--- /dev/null
@@ -0,0 +1,24 @@
+
+DESCRIPTION = "libwww-perl provides a simple and consistent API to the World Wide Web"
+HOMEPAGE = "https://metacpan.org/release/libwww-perl"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=225d44a95fa3addb1da6d91187ab189f"
+DEPENDS = "liburi-perl-native libhtml-parser-perl-native libhtml-tagset-perl-native"
+RDEPENDS_${PN} += " \
+       libhtml-parser-perl \
+       libhtml-tagset-perl \
+       liburi-perl \
+       perl-module-digest-md5 \
+       perl-module-net-ftp \
+       "
+BBCLASSEXTEND = "native"
+
+
+SRC_URI = "https://cpan.metacpan.org/authors/id/E/ET/ETHER/libwww-perl-${PV}.tar.gz;name=libwww-perl-${PV}"
+SRC_URI[libwww-perl-6.35.md5sum] = "19cd0f55f61359c973caa9301ec405bd"
+SRC_URI[libwww-perl-6.35.sha256sum] = "dda2578d7b32152c4afce834761a61d117de286c705a9f7972c7ac6032ca5953"
+
+S = "${WORKDIR}/libwww-perl-${PV}"
+
+inherit cpan
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/perl/pathtools-perl_3.75.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/perl/pathtools-perl_3.75.bb
new file mode 100644 (file)
index 0000000..8e30312
--- /dev/null
@@ -0,0 +1,42 @@
+
+SUMMARY = "Tools for working with directory and file names"
+DESCRIPTION = "\
+  Modules included: \
+    - Cwd - get pathname of current working directory \
+    - File::Spec - portably perform operations on file names \
+    - File::Spec::AmigaOS - File::Spec for AmigaOS \
+    - File::Spec::Cygwin - methods for Cygwin file specs \
+    - File::Spec::Epoc - methods for Epoc file specs \
+    - File::Spec::Functions - portably perform operations on file names \
+    - File::Spec::Mac - File::Spec for Mac OS (Classic) \
+    - File::Spec::OS2 - methods for OS/2 file specs \
+    - File::Spec::Unix - File::Spec for Unix, base for other File::Spec modules \
+    - File::Spec::VMS - methods for VMS file specs \
+    - File::Spec::Win32 - methods for Win32 file specs \
+"
+HOMEPAGE = "https://metacpan.org/release/PathTools"
+
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
+
+CPAN_PACKAGE = "PathTools" 
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/X/XS/XSAWYERX/${CPAN_PACKAGE}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "8f329058f74468a576442d841c62aa62"
+SRC_URI[sha256sum] = "a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2"
+
+S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " \
+    perl-module-carp \
+    perl-module-file-basename \
+    perl-module-scalar-util \
+    perl-module-test-more \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/perl/podlators-perl_4.12.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/perl/podlators-perl_4.12.bb
new file mode 100644 (file)
index 0000000..7e9da16
--- /dev/null
@@ -0,0 +1,33 @@
+
+SUMMARY = "format POD source into various output formats"
+DESCRIPTION = "\
+  podlators contains Pod::Man and Pod::Text modules which convert POD input \
+  to *roff source output, suitable for man pages, or plain text. It also \
+  includes several subclasses of Pod::Text for formatted output to terminals \
+  with various capabilities. It is the source package for the Pod::Man and \
+  Pod::Text modules included with Perl. \
+"
+HOMEPAGE = "https://www.eyrie.org/~eagle/software/podlators"
+
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a25b3c873fe34dc2909a5b1ca2de4048"
+
+CPAN_PACKAGE = "podlators"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/R/RR/RRA/${CPAN_PACKAGE}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "99d5b0c15d2f72c5218dce1a5a9448c5"
+SRC_URI[sha256sum] = "948717da19630a5f003da4406da90fe1cbdec9ae493671c90dfb6d8b3d63b7eb"
+
+S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " \
+    perl-module-encode \
+    perl-module-pod-simple \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/perl/scalar-list-utils-perl_1.50.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/perl/scalar-list-utils-perl_1.50.bb
new file mode 100644 (file)
index 0000000..403c0fc
--- /dev/null
@@ -0,0 +1,28 @@
+
+SUMMARY = "A selection of general-utility list subroutines"
+DESCRIPTION = "\
+  List::Util contains a selection of subroutines that people have expressed \
+  would be nice to have in the perl core, but the usage would not really be \
+  high enough to warrant the use of a keyword, and the size so small such \
+  that being individual extensions would be wasteful.\
+"
+HOMEPAGE= "https://metacpan.org/release/Scalar-List-Utils"
+
+SECTION = "libs"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+
+LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
+
+CPAN_PACKAGE = "Scalar-List-Utils"
+
+SRC_URI = "${CPAN_MIRROR}/authors/id/P/PE/PEVANS/${CPAN_PACKAGE}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "136313884d1afa2fb6840695a1034b2c"
+SRC_URI[sha256sum] = "06aab9c693380190e53be09be7daed20c5d6278f71956989c24cca7782013675"
+
+S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
+
+inherit cpan
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/keystone.conf b/meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/keystone.conf
new file mode 100644 (file)
index 0000000..60acaee
--- /dev/null
@@ -0,0 +1,3128 @@
+
+[DEFAULT]
+
+#
+# From keystone
+#
+
+# Using this feature is *NOT* recommended. Instead, use the `keystone-manage
+# bootstrap` command. The value of this option is treated as a "shared secret"
+# that can be used to bootstrap Keystone through the API. This "token" does not
+# represent a user (it has no identity), and carries no explicit authorization
+# (it effectively bypasses most authorization checks). If set to `None`, the
+# value is ignored and the `admin_token` middleware is effectively disabled.
+# (string value)
+#admin_token = <None>
+
+# The base public endpoint URL for Keystone that is advertised to clients
+# (NOTE: this does NOT affect how Keystone listens for connections). Defaults
+# to the base host URL of the request. For example, if keystone receives a
+# request to `http://server:5000/v3/users`, then this will option will be
+# automatically treated as `http://server:5000`. You should only need to set
+# option if either the value of the base URL contains a path that keystone does
+# not automatically infer (`/prefix/v3`), or if the endpoint should be found on
+# a different host. (uri value)
+#public_endpoint = <None>
+
+# DEPRECATED: The base admin endpoint URL for Keystone that is advertised to
+# clients (NOTE: this does NOT affect how Keystone listens for connections).
+# Defaults to the base host URL of the request. For example, if keystone
+# receives a request to `http://server:35357/v3/users`, then this will option
+# will be automatically treated as `http://server:35357`. You should only need
+# to set option if either the value of the base URL contains a path that
+# keystone does not automatically infer (`/prefix/v3`), or if the endpoint
+# should be found on a different host. (uri value)
+# This option is deprecated for removal since R.
+# Its value may be silently ignored in the future.
+# Reason: With the removal of the 2.0 API keystone does not distinguish between
+# admin and public endpoints.
+#admin_endpoint = <None>
+
+# Maximum depth of the project hierarchy, excluding the project acting as a
+# domain at the top of the hierarchy. WARNING: Setting it to a large value may
+# adversely impact performance. (integer value)
+#max_project_tree_depth = 5
+
+# Limit the sizes of user & project ID/names. (integer value)
+#max_param_size = 64
+
+# Similar to `[DEFAULT] max_param_size`, but provides an exception for token
+# values. With Fernet tokens, this can be set as low as 255. With UUID tokens,
+# this should be set to 32). (integer value)
+#max_token_size = 255
+
+# The maximum number of entities that will be returned in a collection. This
+# global limit may be then overridden for a specific driver, by specifying a
+# list_limit in the appropriate section (for example, `[assignment]`). No limit
+# is set by default. In larger deployments, it is recommended that you set this
+# to a reasonable number to prevent operations like listing all users and
+# projects from placing an unnecessary load on the system. (integer value)
+#list_limit = <None>
+
+# If set to true, strict password length checking is performed for password
+# manipulation. If a password exceeds the maximum length, the operation will
+# fail with an HTTP 403 Forbidden error. If set to false, passwords are
+# automatically truncated to the maximum length. (boolean value)
+#strict_password_check = false
+
+# If set to true, then the server will return information in HTTP responses
+# that may allow an unauthenticated or authenticated user to get more
+# information than normal, such as additional details about why authentication
+# failed. This may be useful for debugging but is insecure. (boolean value)
+#insecure_debug = false
+
+# Default `publisher_id` for outgoing notifications. If left undefined,
+# Keystone will default to using the server's host name. (string value)
+#default_publisher_id = <None>
+
+# Define the notification format for identity service events. A `basic`
+# notification only has information about the resource being operated on. A
+# `cadf` notification has the same information, as well as information about
+# the initiator of the event. The `cadf` option is entirely backwards
+# compatible with the `basic` option, but is fully CADF-compliant, and is
+# recommended for auditing use cases. (string value)
+# Possible values:
+# basic - <No description provided>
+# cadf - <No description provided>
+#notification_format = cadf
+
+# You can reduce the number of notifications keystone emits by explicitly
+# opting out. Keystone will not emit notifications that match the patterns
+# expressed in this list. Values are expected to be in the form of
+# `identity.<resource_type>.<operation>`. By default, all notifications related
+# to authentication are automatically suppressed. This field can be set
+# multiple times in order to opt-out of multiple notification topics. For
+# example, the following suppresses notifications describing user creation or
+# successful authentication events: notification_opt_out=identity.user.create
+# notification_opt_out=identity.authenticate.success (multi valued)
+#notification_opt_out = identity.authenticate.success
+#notification_opt_out = identity.authenticate.pending
+#notification_opt_out = identity.authenticate.failed
+
+#
+# From oslo.log
+#
+
+# If set to true, the logging level will be set to DEBUG instead of the default
+# INFO level. (boolean value)
+# Note: This option can be changed without restarting.
+#debug = false
+
+# The name of a logging configuration file. This file is appended to any
+# existing logging configuration files. For details about logging configuration
+# files, see the Python logging module documentation. Note that when logging
+# configuration files are used then all logging configuration is set in the
+# configuration file and other logging configuration options are ignored (for
+# example, logging_context_format_string). (string value)
+# Note: This option can be changed without restarting.
+# Deprecated group/name - [DEFAULT]/log_config
+#log_config_append = <None>
+
+# Defines the format string for %%(asctime)s in log records. Default:
+# %(default)s . This option is ignored if log_config_append is set. (string
+# value)
+#log_date_format = %Y-%m-%d %H:%M:%S
+
+# (Optional) Name of log file to send logging output to. If no default is set,
+# logging will go to stderr as defined by use_stderr. This option is ignored if
+# log_config_append is set. (string value)
+# Deprecated group/name - [DEFAULT]/logfile
+#log_file = <None>
+
+# (Optional) The base directory used for relative log_file  paths. This option
+# is ignored if log_config_append is set. (string value)
+# Deprecated group/name - [DEFAULT]/logdir
+#log_dir = <None>
+
+# Uses logging handler designed to watch file system. When log file is moved or
+# removed this handler will open a new log file with specified path
+# instantaneously. It makes sense only if log_file option is specified and
+# Linux platform is used. This option is ignored if log_config_append is set.
+# (boolean value)
+#watch_log_file = false
+
+# Use syslog for logging. Existing syslog format is DEPRECATED and will be
+# changed later to honor RFC5424. This option is ignored if log_config_append
+# is set. (boolean value)
+#use_syslog = false
+
+# Enable journald for logging. If running in a systemd environment you may wish
+# to enable journal support. Doing so will use the journal native protocol
+# which includes structured metadata in addition to log messages.This option is
+# ignored if log_config_append is set. (boolean value)
+#use_journal = false
+
+# Syslog facility to receive log lines. This option is ignored if
+# log_config_append is set. (string value)
+#syslog_log_facility = LOG_USER
+
+# Use JSON formatting for logging. This option is ignored if log_config_append
+# is set. (boolean value)
+#use_json = false
+
+# Log output to standard error. This option is ignored if log_config_append is
+# set. (boolean value)
+#use_stderr = false
+
+# Format string to use for log messages with context. (string value)
+#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
+
+# Format string to use for log messages when context is undefined. (string
+# value)
+#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
+
+# Additional data to append to log message when logging level for the message
+# is DEBUG. (string value)
+#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
+
+# Prefix each line of exception output with this format. (string value)
+#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
+
+# Defines the format string for %(user_identity)s that is used in
+# logging_context_format_string. (string value)
+#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
+
+# List of package logging levels in logger=LEVEL pairs. This option is ignored
+# if log_config_append is set. (list value)
+#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO
+
+# Enables or disables publication of error events. (boolean value)
+#publish_errors = false
+
+# The format for an instance that is passed with the log message. (string
+# value)
+#instance_format = "[instance: %(uuid)s] "
+
+# The format for an instance UUID that is passed with the log message. (string
+# value)
+#instance_uuid_format = "[instance: %(uuid)s] "
+
+# Interval, number of seconds, of log rate limiting. (integer value)
+#rate_limit_interval = 0
+
+# Maximum number of logged messages per rate_limit_interval. (integer value)
+#rate_limit_burst = 0
+
+# Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG
+# or empty string. Logs with level greater or equal to rate_limit_except_level
+# are not filtered. An empty string means that all levels are filtered. (string
+# value)
+#rate_limit_except_level = CRITICAL
+
+# Enables or disables fatal status of deprecations. (boolean value)
+#fatal_deprecations = false
+
+#
+# From oslo.messaging
+#
+
+# Size of RPC connection pool. (integer value)
+#rpc_conn_pool_size = 30
+
+# The pool size limit for connections expiration policy (integer value)
+#conn_pool_min_size = 2
+
+# The time-to-live in sec of idle connections in the pool (integer value)
+#conn_pool_ttl = 1200
+
+# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
+# The "host" option should point or resolve to this address. (string value)
+#rpc_zmq_bind_address = *
+
+# MatchMaker driver. (string value)
+# Possible values:
+# redis - <No description provided>
+# sentinel - <No description provided>
+# dummy - <No description provided>
+#rpc_zmq_matchmaker = redis
+
+# Number of ZeroMQ contexts, defaults to 1. (integer value)
+#rpc_zmq_contexts = 1
+
+# Maximum number of ingress messages to locally buffer per topic. Default is
+# unlimited. (integer value)
+#rpc_zmq_topic_backlog = <None>
+
+# Directory for holding IPC sockets. (string value)
+#rpc_zmq_ipc_dir = /var/run/openstack
+
+# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match
+# "host" option, if running Nova. (string value)
+#rpc_zmq_host = localhost
+
+# Number of seconds to wait before all pending messages will be sent after
+# closing a socket. The default value of -1 specifies an infinite linger
+# period. The value of 0 specifies no linger period. Pending messages shall be
+# discarded immediately when the socket is closed. Positive values specify an
+# upper bound for the linger period. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
+#zmq_linger = -1
+
+# The default number of seconds that poll should wait. Poll raises timeout
+# exception when timeout expired. (integer value)
+#rpc_poll_timeout = 1
+
+# Expiration timeout in seconds of a name service record about existing target
+# ( < 0 means no timeout). (integer value)
+#zmq_target_expire = 300
+
+# Update period in seconds of a name service record about existing target.
+# (integer value)
+#zmq_target_update = 180
+
+# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean
+# value)
+#use_pub_sub = false
+
+# Use ROUTER remote proxy. (boolean value)
+#use_router_proxy = false
+
+# This option makes direct connections dynamic or static. It makes sense only
+# with use_router_proxy=False which means to use direct connections for direct
+# message types (ignored otherwise). (boolean value)
+#use_dynamic_connections = false
+
+# How many additional connections to a host will be made for failover reasons.
+# This option is actual only in dynamic connections mode. (integer value)
+#zmq_failover_connections = 2
+
+# Minimal port number for random ports range. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+#rpc_zmq_min_port = 49153
+
+# Maximal port number for random ports range. (integer value)
+# Minimum value: 1
+# Maximum value: 65536
+#rpc_zmq_max_port = 65536
+
+# Number of retries to find free port number before fail with ZMQBindError.
+# (integer value)
+#rpc_zmq_bind_port_retries = 100
+
+# Default serialization mechanism for serializing/deserializing
+# outgoing/incoming messages (string value)
+# Possible values:
+# json - <No description provided>
+# msgpack - <No description provided>
+#rpc_zmq_serialization = json
+
+# This option configures round-robin mode in zmq socket. True means not keeping
+# a queue when server side disconnects. False means to keep queue and messages
+# even if server is disconnected, when the server appears we send all
+# accumulated messages to it. (boolean value)
+#zmq_immediate = true
+
+# Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any
+# other negative value) means to skip any overrides and leave it to OS default;
+# 0 and 1 (or any other positive value) mean to disable and enable the option
+# respectively. (integer value)
+#zmq_tcp_keepalive = -1
+
+# The duration between two keepalive transmissions in idle condition. The unit
+# is platform dependent, for example, seconds in Linux, milliseconds in Windows
+# etc. The default value of -1 (or any other negative value and 0) means to
+# skip any overrides and leave it to OS default. (integer value)
+#zmq_tcp_keepalive_idle = -1
+
+# The number of retransmissions to be carried out before declaring that remote
+# end is not available. The default value of -1 (or any other negative value
+# and 0) means to skip any overrides and leave it to OS default. (integer
+# value)
+#zmq_tcp_keepalive_cnt = -1
+
+# The duration between two successive keepalive retransmissions, if
+# acknowledgement to the previous keepalive transmission is not received. The
+# unit is platform dependent, for example, seconds in Linux, milliseconds in
+# Windows etc. The default value of -1 (or any other negative value and 0)
+# means to skip any overrides and leave it to OS default. (integer value)
+#zmq_tcp_keepalive_intvl = -1
+
+# Maximum number of (green) threads to work concurrently. (integer value)
+#rpc_thread_pool_size = 100
+
+# Expiration timeout in seconds of a sent/received message after which it is
+# not tracked anymore by a client/server. (integer value)
+#rpc_message_ttl = 300
+
+# Wait for message acknowledgements from receivers. This mechanism works only
+# via proxy without PUB/SUB. (boolean value)
+#rpc_use_acks = false
+
+# Number of seconds to wait for an ack from a cast/call. After each retry
+# attempt this timeout is multiplied by some specified multiplier. (integer
+# value)
+#rpc_ack_timeout_base = 15
+
+# Number to multiply base ack timeout by after each retry attempt. (integer
+# value)
+#rpc_ack_timeout_multiplier = 2
+
+# Default number of message sending attempts in case of any problems occurred:
+# positive value N means at most N retries, 0 means no retries, None or -1 (or
+# any other negative values) mean to retry forever. This option is used only if
+# acknowledgments are enabled. (integer value)
+#rpc_retry_attempts = 3
+
+# List of publisher hosts SubConsumer can subscribe on. This option has higher
+# priority then the default publishers list taken from the matchmaker. (list
+# value)
+#subscribe_on =
+
+# Size of executor thread pool when executor is threading or eventlet. (integer
+# value)
+# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
+#executor_thread_pool_size = 64
+
+# Seconds to wait for a response from a call. (integer value)
+#rpc_response_timeout = 60
+
+# A URL representing the messaging driver to use and its full configuration.
+# (string value)
+#transport_url = <None>
+
+# DEPRECATED: The messaging driver to use, defaults to rabbit. Other drivers
+# include amqp and zmq. (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rpc_backend = rabbit
+
+# The default exchange under which topics are scoped. May be overridden by an
+# exchange name specified in the transport_url option. (string value)
+#control_exchange = keystone
+
+
+[access_rules_config]
+
+#
+# From keystone
+#
+
+# Entry point for the access rules config backend driver in the
+# `keystone.access_rules_config` namespace.  Keystone only provides a `json`
+# driver, so there is no reason to change this unless you are providing a
+# custom entry point. (string value)
+#driver = json
+
+# Toggle for access rules caching. This has no effect unless global caching is
+# enabled. (boolean value)
+#caching = true
+
+# Time to cache access rule data in seconds. This has no effect unless global
+# caching is enabled. (integer value)
+#cache_time = <None>
+
+# Path to access rules configuration. If not present, no access rule
+# configuration will be loaded and application credential access rules will be
+# unavailable. (string value)
+#rules_file = /etc/keystone/access_rules.json
+
+# Toggles permissive mode for access rules. When enabled, application
+# credentials can be created with any access rules regardless of operator's
+# configuration. (boolean value)
+#permissive = false
+
+
+[application_credential]
+
+#
+# From keystone
+#
+
+# Entry point for the application credential backend driver in the
+# `keystone.application_credential` namespace.  Keystone only provides a `sql`
+# driver, so there is no reason to change this unless you are providing a
+# custom entry point. (string value)
+#driver = sql
+
+# Toggle for application credential caching. This has no effect unless global
+# caching is enabled. (boolean value)
+#caching = true
+
+# Time to cache application credential data in seconds. This has no effect
+# unless global caching is enabled. (integer value)
+#cache_time = <None>
+
+# Maximum number of application credentials a user is permitted to create. A
+# value of -1 means unlimited. If a limit is not set, users are permitted to
+# create application credentials at will, which could lead to bloat in the
+# keystone database or open keystone to a DoS attack. (integer value)
+#user_limit = -1
+
+
+[assignment]
+
+#
+# From keystone
+#
+
+# Entry point for the assignment backend driver (where role assignments are
+# stored) in the `keystone.assignment` namespace. Only a SQL driver is supplied
+# by keystone itself. Unless you are writing proprietary drivers for keystone,
+# you do not need to set this option. (string value)
+#driver = sql
+
+# A list of role names which are prohibited from being an implied role. (list
+# value)
+#prohibited_implied_role = admin
+
+
+[auth]
+
+#
+# From keystone
+#
+
+# Allowed authentication methods. Note: You should disable the `external` auth
+# method if you are currently using federation. External auth and federation
+# both use the REMOTE_USER variable. Since both the mapped and external plugin
+# are being invoked to validate attributes in the request environment, it can
+# cause conflicts. (list value)
+#methods = external,password,token,oauth1,mapped,application_credential
+
+# Entry point for the password auth plugin module in the
+# `keystone.auth.password` namespace. You do not need to set this unless you
+# are overriding keystone's own password authentication plugin. (string value)
+#password = <None>
+
+# Entry point for the token auth plugin module in the `keystone.auth.token`
+# namespace. You do not need to set this unless you are overriding keystone's
+# own token authentication plugin. (string value)
+#token = <None>
+
+# Entry point for the external (`REMOTE_USER`) auth plugin module in the
+# `keystone.auth.external` namespace. Supplied drivers are `DefaultDomain` and
+# `Domain`. The default driver is `DefaultDomain`, which assumes that all users
+# identified by the username specified to keystone in the `REMOTE_USER`
+# variable exist within the context of the default domain. The `Domain` option
+# expects an additional environment variable be presented to keystone,
+# `REMOTE_DOMAIN`, containing the domain name of the `REMOTE_USER` (if
+# `REMOTE_DOMAIN` is not set, then the default domain will be used instead).
+# You do not need to set this unless you are taking advantage of "external
+# authentication", where the application server (such as Apache) is handling
+# authentication instead of keystone. (string value)
+#external = <None>
+
+# Entry point for the OAuth 1.0a auth plugin module in the
+# `keystone.auth.oauth1` namespace. You do not need to set this unless you are
+# overriding keystone's own `oauth1` authentication plugin. (string value)
+#oauth1 = <None>
+
+# Entry point for the mapped auth plugin module in the `keystone.auth.mapped`
+# namespace. You do not need to set this unless you are overriding keystone's
+# own `mapped` authentication plugin. (string value)
+#mapped = <None>
+
+# Entry point for the application_credential auth plugin module in the
+# `keystone.auth.application_credential` namespace. You do not need to set this
+# unless you are overriding keystone's own `application_credential`
+# authentication plugin. (string value)
+#application_credential = <None>
+
+
+[cache]
+
+#
+# From oslo.cache
+#
+
+# Prefix for building the configuration dictionary for the cache region. This
+# should not need to be changed unless there is another dogpile.cache region
+# with the same configuration name. (string value)
+#config_prefix = cache.oslo
+
+# Default TTL, in seconds, for any cached item in the dogpile.cache region.
+# This applies to any cached method that doesn't have an explicit cache
+# expiration time defined for it. (integer value)
+#expiration_time = 600
+
+# Cache backend module. For eventlet-based or environments with hundreds of
+# threaded servers, Memcache with pooling (oslo_cache.memcache_pool) is
+# recommended. For environments with less than 100 threaded servers, Memcached
+# (dogpile.cache.memcached) or Redis (dogpile.cache.redis) is recommended. Test
+# environments with a single instance of the server can use the
+# dogpile.cache.memory backend. (string value)
+# Possible values:
+# oslo_cache.memcache_pool - <No description provided>
+# oslo_cache.dict - <No description provided>
+# dogpile.cache.memcached - <No description provided>
+# dogpile.cache.redis - <No description provided>
+# dogpile.cache.memory - <No description provided>
+# dogpile.cache.null - <No description provided>
+#backend = dogpile.cache.null
+
+# Arguments supplied to the backend module. Specify this option once per
+# argument to be passed to the dogpile.cache backend. Example format:
+# "<argname>:<value>". (multi valued)
+#backend_argument =
+
+# Proxy classes to import that will affect the way the dogpile.cache backend
+# functions. See the dogpile.cache documentation on changing-backend-behavior.
+# (list value)
+#proxies =
+
+# Global toggle for caching. (boolean value)
+#enabled = true
+
+# Extra debugging from the cache backend (cache keys, get/set/delete/etc
+# calls). This is only really useful if you need to see the specific cache-
+# backend get/set/delete calls with the keys/values.  Typically this should be
+# left set to false. (boolean value)
+#debug_cache_backend = false
+
+# Memcache servers in the format of "host:port". (dogpile.cache.memcache and
+# oslo_cache.memcache_pool backends only). (list value)
+#memcache_servers = localhost:11211
+
+# Number of seconds memcached server is considered dead before it is tried
+# again. (dogpile.cache.memcache and oslo_cache.memcache_pool backends only).
+# (integer value)
+#memcache_dead_retry = 300
+
+# Timeout in seconds for every call to a server. (dogpile.cache.memcache and
+# oslo_cache.memcache_pool backends only). (integer value)
+#memcache_socket_timeout = 3
+
+# Max total number of open connections to every memcached server.
+# (oslo_cache.memcache_pool backend only). (integer value)
+#memcache_pool_maxsize = 10
+
+# Number of seconds a connection to memcached is held unused in the pool before
+# it is closed. (oslo_cache.memcache_pool backend only). (integer value)
+#memcache_pool_unused_timeout = 60
+
+# Number of seconds that an operation will wait to get a memcache client
+# connection. (integer value)
+#memcache_pool_connection_get_timeout = 10
+
+
+[catalog]
+
+#
+# From keystone
+#
+
+# Absolute path to the file used for the templated catalog backend. This option
+# is only used if the `[catalog] driver` is set to `templated`. (string value)
+#template_file = default_catalog.templates
+
+# Entry point for the catalog driver in the `keystone.catalog` namespace.
+# Keystone provides a `sql` option (which supports basic CRUD operations
+# through SQL), a `templated` option (which loads the catalog from a templated
+# catalog file on disk), and a `endpoint_filter.sql` option (which supports
+# arbitrary service catalogs per project). (string value)
+#driver = sql
+
+# Toggle for catalog caching. This has no effect unless global caching is
+# enabled. In a typical deployment, there is no reason to disable this.
+# (boolean value)
+#caching = true
+
+# Time to cache catalog data (in seconds). This has no effect unless global and
+# catalog caching are both enabled. Catalog data (services, endpoints, etc.)
+# typically does not change frequently, and so a longer duration than the
+# global default may be desirable. (integer value)
+#cache_time = <None>
+
+# Maximum number of entities that will be returned in a catalog collection.
+# There is typically no reason to set this, as it would be unusual for a
+# deployment to have enough services or endpoints to exceed a reasonable limit.
+# (integer value)
+#list_limit = <None>
+
+
+[cors]
+
+#
+# From oslo.middleware
+#
+
+# Indicate whether this resource may be shared with the domain received in the
+# requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing
+# slash. Example: https://horizon.example.com (list value)
+#allowed_origin = <None>
+
+# Indicate that the actual request can include user credentials (boolean value)
+#allow_credentials = true
+
+# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
+# Headers. (list value)
+#expose_headers = X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token,Openstack-Auth-Receipt
+
+# Maximum cache age of CORS preflight requests. (integer value)
+#max_age = 3600
+
+# Indicate which methods can be used during the actual request. (list value)
+#allow_methods = GET,PUT,POST,DELETE,PATCH
+
+# Indicate which header field names may be used during the actual request.
+# (list value)
+#allow_headers = X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token,X-Project-Id,X-Project-Name,X-Project-Domain-Id,X-Project-Domain-Name,X-Domain-Id,X-Domain-Name,Openstack-Auth-Receipt
+
+
+[credential]
+
+#
+# From keystone
+#
+
+# Entry point for the credential backend driver in the `keystone.credential`
+# namespace. Keystone only provides a `sql` driver, so there's no reason to
+# change this unless you are providing a custom entry point. (string value)
+#driver = sql
+
+# Entry point for credential encryption and decryption operations in the
+# `keystone.credential.provider` namespace. Keystone only provides a `fernet`
+# driver, so there's no reason to change this unless you are providing a custom
+# entry point to encrypt and decrypt credentials. (string value)
+#provider = fernet
+
+# Directory containing Fernet keys used to encrypt and decrypt credentials
+# stored in the credential backend. Fernet keys used to encrypt credentials
+# have no relationship to Fernet keys used to encrypt Fernet tokens. Both sets
+# of keys should be managed separately and require different rotation policies.
+# Do not share this repository with the repository used to manage keys for
+# Fernet tokens. (string value)
+#key_repository = /etc/keystone/credential-keys/
+
+
+[database]
+
+#
+# From oslo.db
+#
+
+# If True, SQLite uses synchronous mode. (boolean value)
+#sqlite_synchronous = true
+
+# The back end to use for the database. (string value)
+# Deprecated group/name - [DEFAULT]/db_backend
+#backend = sqlalchemy
+
+# The SQLAlchemy connection string to use to connect to the database. (string
+# value)
+# Deprecated group/name - [DEFAULT]/sql_connection
+# Deprecated group/name - [DATABASE]/sql_connection
+# Deprecated group/name - [sql]/connection
+#connection = <None>
+
+# The SQLAlchemy connection string to use to connect to the slave database.
+# (string value)
+#slave_connection = <None>
+
+# The SQL mode to be used for MySQL sessions. This option, including the
+# default, overrides any server-set SQL mode. To use whatever SQL mode is set
+# by the server configuration, set this to no value. Example: mysql_sql_mode=
+# (string value)
+#mysql_sql_mode = TRADITIONAL
+
+# If True, transparently enables support for handling MySQL Cluster (NDB).
+# (boolean value)
+#mysql_enable_ndb = false
+
+# Connections which have been present in the connection pool longer than this
+# number of seconds will be replaced with a new one the next time they are
+# checked out from the pool. (integer value)
+# Deprecated group/name - [DATABASE]/idle_timeout
+# Deprecated group/name - [database]/idle_timeout
+# Deprecated group/name - [DEFAULT]/sql_idle_timeout
+# Deprecated group/name - [DATABASE]/sql_idle_timeout
+# Deprecated group/name - [sql]/idle_timeout
+#connection_recycle_time = 3600
+
+# Minimum number of SQL connections to keep open in a pool. (integer value)
+# Deprecated group/name - [DEFAULT]/sql_min_pool_size
+# Deprecated group/name - [DATABASE]/sql_min_pool_size
+#min_pool_size = 1
+
+# Maximum number of SQL connections to keep open in a pool. Setting a value of
+# 0 indicates no limit. (integer value)
+# Deprecated group/name - [DEFAULT]/sql_max_pool_size
+# Deprecated group/name - [DATABASE]/sql_max_pool_size
+#max_pool_size = 5
+
+# Maximum number of database connection retries during startup. Set to -1 to
+# specify an infinite retry count. (integer value)
+# Deprecated group/name - [DEFAULT]/sql_max_retries
+# Deprecated group/name - [DATABASE]/sql_max_retries
+#max_retries = 10
+
+# Interval between retries of opening a SQL connection. (integer value)
+# Deprecated group/name - [DEFAULT]/sql_retry_interval
+# Deprecated group/name - [DATABASE]/reconnect_interval
+#retry_interval = 10
+
+# If set, use this value for max_overflow with SQLAlchemy. (integer value)
+# Deprecated group/name - [DEFAULT]/sql_max_overflow
+# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow
+#max_overflow = 50
+
+# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
+# value)
+# Minimum value: 0
+# Maximum value: 100
+# Deprecated group/name - [DEFAULT]/sql_connection_debug
+#connection_debug = 0
+
+# Add Python stack traces to SQL as comment strings. (boolean value)
+# Deprecated group/name - [DEFAULT]/sql_connection_trace
+#connection_trace = false
+
+# If set, use this value for pool_timeout with SQLAlchemy. (integer value)
+# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout
+#pool_timeout = <None>
+
+# Enable the experimental use of database reconnect on connection lost.
+# (boolean value)
+#use_db_reconnect = false
+
+# Seconds between retries of a database transaction. (integer value)
+#db_retry_interval = 1
+
+# If True, increases the interval between retries of a database operation up to
+# db_max_retry_interval. (boolean value)
+#db_inc_retry_interval = true
+
+# If db_inc_retry_interval is set, the maximum seconds between retries of a
+# database operation. (integer value)
+#db_max_retry_interval = 10
+
+# Maximum retries in case of connection error or deadlock error before error is
+# raised. Set to -1 to specify an infinite retry count. (integer value)
+#db_max_retries = 20
+
+
+[domain_config]
+
+#
+# From keystone
+#
+
+# Entry point for the domain-specific configuration driver in the
+# `keystone.resource.domain_config` namespace. Only a `sql` option is provided
+# by keystone, so there is no reason to set this unless you are providing a
+# custom entry point. (string value)
+#driver = sql
+
+# Toggle for caching of the domain-specific configuration backend. This has no
+# effect unless global caching is enabled. There is normally no reason to
+# disable this. (boolean value)
+#caching = true
+
+# Time-to-live (TTL, in seconds) to cache domain-specific configuration data.
+# This has no effect unless `[domain_config] caching` is enabled. (integer
+# value)
+#cache_time = 300
+
+
+[endpoint_filter]
+
+#
+# From keystone
+#
+
+# Entry point for the endpoint filter driver in the `keystone.endpoint_filter`
+# namespace. Only a `sql` option is provided by keystone, so there is no reason
+# to set this unless you are providing a custom entry point. (string value)
+#driver = sql
+
+# This controls keystone's behavior if the configured endpoint filters do not
+# result in any endpoints for a user + project pair (and therefore a
+# potentially empty service catalog). If set to true, keystone will return the
+# entire service catalog. If set to false, keystone will return an empty
+# service catalog. (boolean value)
+#return_all_endpoints_if_no_filter = true
+
+
+[endpoint_policy]
+
+#
+# From keystone
+#
+
+# Entry point for the endpoint policy driver in the `keystone.endpoint_policy`
+# namespace. Only a `sql` driver is provided by keystone, so there is no reason
+# to set this unless you are providing a custom entry point. (string value)
+#driver = sql
+
+
+[eventlet_server]
+
+#
+# From keystone
+#
+
+# DEPRECATED: The IP address of the network interface for the public service to
+# listen on. (unknown value)
+# Deprecated group/name - [DEFAULT]/bind_host
+# Deprecated group/name - [DEFAULT]/public_bind_host
+# This option is deprecated for removal since K.
+# Its value may be silently ignored in the future.
+# Reason: Support for running keystone under eventlet has been removed in the
+# Newton release. These options remain for backwards compatibility because they
+# are used for URL substitutions.
+#public_bind_host = 0.0.0.0
+
+# DEPRECATED: The port number for the public service to listen on. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+# Deprecated group/name - [DEFAULT]/public_port
+# This option is deprecated for removal since K.
+# Its value may be silently ignored in the future.
+# Reason: Support for running keystone under eventlet has been removed in the
+# Newton release. These options remain for backwards compatibility because they
+# are used for URL substitutions.
+#public_port = 5000
+
+# DEPRECATED: The IP address of the network interface for the admin service to
+# listen on. (unknown value)
+# Deprecated group/name - [DEFAULT]/bind_host
+# Deprecated group/name - [DEFAULT]/admin_bind_host
+# This option is deprecated for removal since K.
+# Its value may be silently ignored in the future.
+# Reason: Support for running keystone under eventlet has been removed in the
+# Newton release. These options remain for backwards compatibility because they
+# are used for URL substitutions.
+#admin_bind_host = 0.0.0.0
+
+# DEPRECATED: The port number for the admin service to listen on. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+# Deprecated group/name - [DEFAULT]/admin_port
+# This option is deprecated for removal since K.
+# Its value may be silently ignored in the future.
+# Reason: Support for running keystone under eventlet has been removed in the
+# Newton release. These options remain for backwards compatibility because they
+# are used for URL substitutions.
+#admin_port = 35357
+
+
+[federation]
+
+#
+# From keystone
+#
+
+# Entry point for the federation backend driver in the `keystone.federation`
+# namespace. Keystone only provides a `sql` driver, so there is no reason to
+# set this option unless you are providing a custom entry point. (string value)
+#driver = sql
+
+# Prefix to use when filtering environment variable names for federated
+# assertions. Matched variables are passed into the federated mapping engine.
+# (string value)
+#assertion_prefix =
+
+# Value to be used to obtain the entity ID of the Identity Provider from the
+# environment. For `mod_shib`, this would be `Shib-Identity-Provider`. For
+# `mod_auth_openidc`, this could be `HTTP_OIDC_ISS`. For `mod_auth_mellon`,
+# this could be `MELLON_IDP`. (string value)
+#remote_id_attribute = <None>
+
+# An arbitrary domain name that is reserved to allow federated ephemeral users
+# to have a domain concept. Note that an admin will not be able to create a
+# domain with this name or update an existing domain to this name. You are not
+# advised to change this value unless you really have to. (string value)
+#federated_domain_name = Federated
+
+# A list of trusted dashboard hosts. Before accepting a Single Sign-On request
+# to return a token, the origin host must be a member of this list. This
+# configuration option may be repeated for multiple values. You must set this
+# in order to use web-based SSO flows. For example:
+# trusted_dashboard=https://acme.example.com/auth/websso
+# trusted_dashboard=https://beta.example.com/auth/websso (multi valued)
+#trusted_dashboard =
+
+# Absolute path to an HTML file used as a Single Sign-On callback handler. This
+# page is expected to redirect the user from keystone back to a trusted
+# dashboard host, by form encoding a token in a POST request. Keystone's
+# default value should be sufficient for most deployments. (string value)
+#sso_callback_template = /etc/keystone/sso_callback_template.html
+
+# Toggle for federation caching. This has no effect unless global caching is
+# enabled. There is typically no reason to disable this. (boolean value)
+#caching = true
+
+
+[fernet_receipts]
+
+#
+# From keystone
+#
+
+# Directory containing Fernet receipt keys. This directory must exist before
+# using `keystone-manage fernet_setup` for the first time, must be writable by
+# the user running `keystone-manage fernet_setup` or `keystone-manage
+# fernet_rotate`, and of course must be readable by keystone's server process.
+# The repository may contain keys in one of three states: a single staged key
+# (always index 0) used for receipt validation, a single primary key (always
+# the highest index) used for receipt creation and validation, and any number
+# of secondary keys (all other index values) used for receipt validation. With
+# multiple keystone nodes, each node must share the same key repository
+# contents, with the exception of the staged key (index 0). It is safe to run
+# `keystone-manage fernet_rotate` once on any one node to promote a staged key
+# (index 0) to be the new primary (incremented from the previous highest
+# index), and produce a new staged key (a new key with index 0); the resulting
+# repository can then be atomically replicated to other nodes without any risk
+# of race conditions (for example, it is safe to run `keystone-manage
+# fernet_rotate` on host A, wait any amount of time, create a tarball of the
+# directory on host A, unpack it on host B to a temporary location, and
+# atomically move (`mv`) the directory into place on host B). Running
+# `keystone-manage fernet_rotate` *twice* on a key repository without syncing
+# other nodes will result in receipts that can not be validated by all nodes.
+# (string value)
+#key_repository = /etc/keystone/fernet-keys/
+
+# This controls how many keys are held in rotation by `keystone-manage
+# fernet_rotate` before they are discarded. The default value of 3 means that
+# keystone will maintain one staged key (always index 0), one primary key (the
+# highest numerical index), and one secondary key (every other index).
+# Increasing this value means that additional secondary keys will be kept in
+# the rotation. (integer value)
+# Minimum value: 1
+#max_active_keys = 3
+
+
+[fernet_tokens]
+
+#
+# From keystone
+#
+
+# Directory containing Fernet token keys. This directory must exist before
+# using `keystone-manage fernet_setup` for the first time, must be writable by
+# the user running `keystone-manage fernet_setup` or `keystone-manage
+# fernet_rotate`, and of course must be readable by keystone's server process.
+# The repository may contain keys in one of three states: a single staged key
+# (always index 0) used for token validation, a single primary key (always the
+# highest index) used for token creation and validation, and any number of
+# secondary keys (all other index values) used for token validation. With
+# multiple keystone nodes, each node must share the same key repository
+# contents, with the exception of the staged key (index 0). It is safe to run
+# `keystone-manage fernet_rotate` once on any one node to promote a staged key
+# (index 0) to be the new primary (incremented from the previous highest
+# index), and produce a new staged key (a new key with index 0); the resulting
+# repository can then be atomically replicated to other nodes without any risk
+# of race conditions (for example, it is safe to run `keystone-manage
+# fernet_rotate` on host A, wait any amount of time, create a tarball of the
+# directory on host A, unpack it on host B to a temporary location, and
+# atomically move (`mv`) the directory into place on host B). Running
+# `keystone-manage fernet_rotate` *twice* on a key repository without syncing
+# other nodes will result in tokens that can not be validated by all nodes.
+# (string value)
+#key_repository = /etc/keystone/fernet-keys/
+
+# This controls how many keys are held in rotation by `keystone-manage
+# fernet_rotate` before they are discarded. The default value of 3 means that
+# keystone will maintain one staged key (always index 0), one primary key (the
+# highest numerical index), and one secondary key (every other index).
+# Increasing this value means that additional secondary keys will be kept in
+# the rotation. (integer value)
+# Minimum value: 1
+#max_active_keys = 3
+
+
+[healthcheck]
+
+#
+# From oslo.middleware
+#
+
+# DEPRECATED: The path to respond to healtcheck requests on. (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+#path = /healthcheck
+
+# Show more detailed information as part of the response (boolean value)
+#detailed = false
+
+# Additional backends that can perform health checks and report that
+# information back as part of a request. (list value)
+#backends =
+
+# Check the presence of a file to determine if an application is running on a
+# port. Used by DisableByFileHealthcheck plugin. (string value)
+#disable_by_file_path = <None>
+
+# Check the presence of a file based on a port to determine if an application
+# is running on a port. Expects a "port:path" list of strings. Used by
+# DisableByFilesPortsHealthcheck plugin. (list value)
+#disable_by_file_paths =
+
+
+[identity]
+
+#
+# From keystone
+#
+
+# This references the domain to use for all Identity API v2 requests (which are
+# not aware of domains). A domain with this ID can optionally be created for
+# you by `keystone-manage bootstrap`. The domain referenced by this ID cannot
+# be deleted on the v3 API, to prevent accidentally breaking the v2 API. There
+# is nothing special about this domain, other than the fact that it must exist
+# to order to maintain support for your v2 clients. There is typically no
+# reason to change this value. (string value)
+#default_domain_id = default
+
+# A subset (or all) of domains can have their own identity driver, each with
+# their own partial configuration options, stored in either the resource
+# backend or in a file in a domain configuration directory (depending on the
+# setting of `[identity] domain_configurations_from_database`). Only values
+# specific to the domain need to be specified in this manner. This feature is
+# disabled by default, but may be enabled by default in a future release; set
+# to true to enable. (boolean value)
+#domain_specific_drivers_enabled = false
+
+# By default, domain-specific configuration data is read from files in the
+# directory identified by `[identity] domain_config_dir`. Enabling this
+# configuration option allows you to instead manage domain-specific
+# configurations through the API, which are then persisted in the backend
+# (typically, a SQL database), rather than using configuration files on disk.
+# (boolean value)
+#domain_configurations_from_database = false
+
+# Absolute path where keystone should locate domain-specific `[identity]`
+# configuration files. This option has no effect unless `[identity]
+# domain_specific_drivers_enabled` is set to true. There is typically no reason
+# to change this value. (string value)
+#domain_config_dir = /etc/keystone/domains
+
+# Entry point for the identity backend driver in the `keystone.identity`
+# namespace. Keystone provides a `sql` and `ldap` driver. This option is also
+# used as the default driver selection (along with the other configuration
+# variables in this section) in the event that `[identity]
+# domain_specific_drivers_enabled` is enabled, but no applicable domain-
+# specific configuration is defined for the domain in question. Unless your
+# deployment primarily relies on `ldap` AND is not using domain-specific
+# configuration, you should typically leave this set to `sql`. (string value)
+#driver = sql
+
+# Toggle for identity caching. This has no effect unless global caching is
+# enabled. There is typically no reason to disable this. (boolean value)
+#caching = true
+
+# Time to cache identity data (in seconds). This has no effect unless global
+# and identity caching are enabled. (integer value)
+#cache_time = 600
+
+# Maximum allowed length for user passwords. Decrease this value to improve
+# performance. Changing this value does not effect existing passwords. (integer
+# value)
+# Maximum value: 4096
+#max_password_length = 4096
+
+# Maximum number of entities that will be returned in an identity collection.
+# (integer value)
+#list_limit = <None>
+
+# The password hashing algorithm to use for passwords stored within keystone.
+# (string value)
+# Possible values:
+# bcrypt - <No description provided>
+# scrypt - <No description provided>
+# pbkdf2_sha512 - <No description provided>
+#password_hash_algorithm = bcrypt
+
+# This option represents a trade off between security and performance. Higher
+# values lead to slower performance, but higher security. Changing this option
+# will only affect newly created passwords as existing password hashes already
+# have a fixed number of rounds applied, so it is safe to tune this option in a
+# running cluster.  The default for bcrypt is 12, must be between 4 and 31,
+# inclusive.  The default for scrypt is 16, must be within `range(1,32)`.  The
+# default for pbkdf_sha512 is 60000, must be within `range(1,1<<32)`  WARNING:
+# If using scrypt, increasing this value increases BOTH time AND memory
+# requirements to hash a password. (integer value)
+#password_hash_rounds = <None>
+
+# Optional block size to pass to scrypt hash function (the `r` parameter).
+# Useful for tuning scrypt to optimal performance for your CPU architecture.
+# This option is only used when the `password_hash_algorithm` option is set to
+# `scrypt`. Defaults to 8. (integer value)
+#scrypt_block_size = <None>
+
+# Optional parallelism to pass to scrypt hash function (the `p` parameter).
+# This option is only used when the `password_hash_algorithm` option is set to
+# `scrypt`. Defaults to 1. (integer value)
+#scrypt_parallelism = <None>
+
+# Number of bytes to use in scrypt and pbkfd2_sha512 hashing salt.  Default for
+# scrypt is 16 bytes. Default for pbkfd2_sha512 is 16 bytes.  Limited to a
+# maximum of 96 bytes due to the size of the column used to store password
+# hashes. (integer value)
+# Minimum value: 0
+# Maximum value: 96
+#salt_bytesize = <None>
+
+
+[identity_mapping]
+
+#
+# From keystone
+#
+
+# Entry point for the identity mapping backend driver in the
+# `keystone.identity.id_mapping` namespace. Keystone only provides a `sql`
+# driver, so there is no reason to change this unless you are providing a
+# custom entry point. (string value)
+#driver = sql
+
+# Entry point for the public ID generator for user and group entities in the
+# `keystone.identity.id_generator` namespace. The Keystone identity mapper only
+# supports generators that produce 64 bytes or less. Keystone only provides a
+# `sha256` entry point, so there is no reason to change this value unless
+# you're providing a custom entry point. (string value)
+#generator = sha256
+
+# The format of user and group IDs changed in Juno for backends that do not
+# generate UUIDs (for example, LDAP), with keystone providing a hash mapping to
+# the underlying attribute in LDAP. By default this mapping is disabled, which
+# ensures that existing IDs will not change. Even when the mapping is enabled
+# by using domain-specific drivers (`[identity]
+# domain_specific_drivers_enabled`), any users and groups from the default
+# domain being handled by LDAP will still not be mapped to ensure their IDs
+# remain backward compatible. Setting this value to false will enable the new
+# mapping for all backends, including the default LDAP driver. It is only
+# guaranteed to be safe to enable this option if you do not already have
+# assignments for users and groups from the default LDAP domain, and you
+# consider it to be acceptable for Keystone to provide the different IDs to
+# clients than it did previously (existing IDs in the API will suddenly
+# change). Typically this means that the only time you can set this value to
+# false is when configuring a fresh installation, although that is the
+# recommended value. (boolean value)
+#backward_compatible_ids = true
+
+
+[jwt_tokens]
+
+#
+# From keystone
+#
+
+# Directory containing public keys for validating JWS token signatures. This
+# directory must exist in order for keystone's server process to start. It must
+# also be readable by keystone's server process. It must contain at least one
+# public key that corresponds to a private key in `keystone.conf [jwt_tokens]
+# jws_private_key_repository`. This option is only applicable in deployments
+# issuing JWS tokens and setting `keystone.conf [tokens] provider = jws`.
+# (string value)
+#jws_public_key_repository = /etc/keystone/jws-keys/public
+
+# Directory containing private keys for signing JWS tokens. This directory must
+# exist in order for keystone's server process to start. It must also be
+# readable by keystone's server process. It must contain at least one private
+# key that corresponds to a public key in `keystone.conf [jwt_tokens]
+# jws_public_key_repository`. In the event there are multiple private keys in
+# this directory, keystone will use a key named `private.pem` to sign tokens.
+# In the future, keystone may support the ability to sign tokens with multiple
+# private keys. For now, only a key named `private.pem` within this directory
+# is required to issue JWS tokens. This option is only applicable in
+# deployments issuing JWS tokens and setting `keystone.conf [tokens] provider =
+# jws`. (string value)
+#jws_private_key_repository = /etc/keystone/jws-keys/private
+
+
+[ldap]
+
+#
+# From keystone
+#
+
+# URL(s) for connecting to the LDAP server. Multiple LDAP URLs may be specified
+# as a comma separated string. The first URL to successfully bind is used for
+# the connection. (string value)
+#url = ldap://localhost
+
+# The user name of the administrator bind DN to use when querying the LDAP
+# server, if your LDAP server requires it. (string value)
+#user = <None>
+
+# The password of the administrator bind DN to use when querying the LDAP
+# server, if your LDAP server requires it. (string value)
+#password = <None>
+
+# The default LDAP server suffix to use, if a DN is not defined via either
+# `[ldap] user_tree_dn` or `[ldap] group_tree_dn`. (string value)
+#suffix = cn=example,cn=com
+
+# The search scope which defines how deep to search within the search base. A
+# value of `one` (representing `oneLevel` or `singleLevel`) indicates a search
+# of objects immediately below to the base object, but does not include the
+# base object itself. A value of `sub` (representing `subtree` or
+# `wholeSubtree`) indicates a search of both the base object itself and the
+# entire subtree below it. (string value)
+# Possible values:
+# one - <No description provided>
+# sub - <No description provided>
+#query_scope = one
+
+# Defines the maximum number of results per page that keystone should request
+# from the LDAP server when listing objects. A value of zero (`0`) disables
+# paging. (integer value)
+# Minimum value: 0
+#page_size = 0
+
+# The LDAP dereferencing option to use for queries involving aliases. A value
+# of `default` falls back to using default dereferencing behavior configured by
+# your `ldap.conf`. A value of `never` prevents aliases from being dereferenced
+# at all. A value of `searching` dereferences aliases only after name
+# resolution. A value of `finding` dereferences aliases only during name
+# resolution. A value of `always` dereferences aliases in all cases. (string
+# value)
+# Possible values:
+# never - <No description provided>
+# searching - <No description provided>
+# always - <No description provided>
+# finding - <No description provided>
+# default - <No description provided>
+#alias_dereferencing = default
+
+# Sets the LDAP debugging level for LDAP calls. A value of 0 means that
+# debugging is not enabled. This value is a bitmask, consult your LDAP
+# documentation for possible values. (integer value)
+# Minimum value: -1
+#debug_level = <None>
+
+# Sets keystone's referral chasing behavior across directory partitions. If
+# left unset, the system's default behavior will be used. (boolean value)
+#chase_referrals = <None>
+
+# The search base to use for users. Defaults to the `[ldap] suffix` value.
+# (string value)
+#user_tree_dn = <None>
+
+# The LDAP search filter to use for users. (string value)
+#user_filter = <None>
+
+# The LDAP object class to use for users. (string value)
+#user_objectclass = inetOrgPerson
+
+# The LDAP attribute mapped to user IDs in keystone. This must NOT be a
+# multivalued attribute. User IDs are expected to be globally unique across
+# keystone domains and URL-safe. (string value)
+#user_id_attribute = cn
+
+# The LDAP attribute mapped to user names in keystone. User names are expected
+# to be unique only within a keystone domain and are not expected to be URL-
+# safe. (string value)
+#user_name_attribute = sn
+
+# The LDAP attribute mapped to user descriptions in keystone. (string value)
+#user_description_attribute = description
+
+# The LDAP attribute mapped to user emails in keystone. (string value)
+#user_mail_attribute = mail
+
+# The LDAP attribute mapped to user passwords in keystone. (string value)
+#user_pass_attribute = userPassword
+
+# The LDAP attribute mapped to the user enabled attribute in keystone. If
+# setting this option to `userAccountControl`, then you may be interested in
+# setting `[ldap] user_enabled_mask` and `[ldap] user_enabled_default` as well.
+# (string value)
+#user_enabled_attribute = enabled
+
+# Logically negate the boolean value of the enabled attribute obtained from the
+# LDAP server. Some LDAP servers use a boolean lock attribute where "true"
+# means an account is disabled. Setting `[ldap] user_enabled_invert = true`
+# will allow these lock attributes to be used. This option will have no effect
+# if either the `[ldap] user_enabled_mask` or `[ldap] user_enabled_emulation`
+# options are in use. (boolean value)
+#user_enabled_invert = false
+
+# Bitmask integer to select which bit indicates the enabled value if the LDAP
+# server represents "enabled" as a bit on an integer rather than as a discrete
+# boolean. A value of `0` indicates that the mask is not used. If this is not
+# set to `0` the typical value is `2`. This is typically used when `[ldap]
+# user_enabled_attribute = userAccountControl`. Setting this option causes
+# keystone to ignore the value of `[ldap] user_enabled_invert`. (integer value)
+# Minimum value: 0
+#user_enabled_mask = 0
+
+# The default value to enable users. This should match an appropriate integer
+# value if the LDAP server uses non-boolean (bitmask) values to indicate if a
+# user is enabled or disabled. If this is not set to `True`, then the typical
+# value is `512`. This is typically used when `[ldap] user_enabled_attribute =
+# userAccountControl`. (string value)
+#user_enabled_default = True
+
+# List of user attributes to ignore on create and update, or whether a specific
+# user attribute should be filtered for list or show user. (list value)
+#user_attribute_ignore = default_project_id
+
+# The LDAP attribute mapped to a user's default_project_id in keystone. This is
+# most commonly used when keystone has write access to LDAP. (string value)
+#user_default_project_id_attribute = <None>
+
+# If enabled, keystone uses an alternative method to determine if a user is
+# enabled or not by checking if they are a member of the group defined by the
+# `[ldap] user_enabled_emulation_dn` option. Enabling this option causes
+# keystone to ignore the value of `[ldap] user_enabled_invert`. (boolean value)
+#user_enabled_emulation = false
+
+# DN of the group entry to hold enabled users when using enabled emulation.
+# Setting this option has no effect unless `[ldap] user_enabled_emulation` is
+# also enabled. (string value)
+#user_enabled_emulation_dn = <None>
+
+# Use the `[ldap] group_member_attribute` and `[ldap] group_objectclass`
+# settings to determine membership in the emulated enabled group. Enabling this
+# option has no effect unless `[ldap] user_enabled_emulation` is also enabled.
+# (boolean value)
+#user_enabled_emulation_use_group_config = false
+
+# A list of LDAP attribute to keystone user attribute pairs used for mapping
+# additional attributes to users in keystone. The expected format is
+# `<ldap_attr>:<user_attr>`, where `ldap_attr` is the attribute in the LDAP
+# object and `user_attr` is the attribute which should appear in the identity
+# API. (list value)
+#user_additional_attribute_mapping =
+
+# The search base to use for groups. Defaults to the `[ldap] suffix` value.
+# (string value)
+#group_tree_dn = <None>
+
+# The LDAP search filter to use for groups. (string value)
+#group_filter = <None>
+
+# The LDAP object class to use for groups. If setting this option to
+# `posixGroup`, you may also be interested in enabling the `[ldap]
+# group_members_are_ids` option. (string value)
+#group_objectclass = groupOfNames
+
+# The LDAP attribute mapped to group IDs in keystone. This must NOT be a
+# multivalued attribute. Group IDs are expected to be globally unique across
+# keystone domains and URL-safe. (string value)
+#group_id_attribute = cn
+
+# The LDAP attribute mapped to group names in keystone. Group names are
+# expected to be unique only within a keystone domain and are not expected to
+# be URL-safe. (string value)
+#group_name_attribute = ou
+
+# The LDAP attribute used to indicate that a user is a member of the group.
+# (string value)
+#group_member_attribute = member
+
+# Enable this option if the members of the group object class are keystone user
+# IDs rather than LDAP DNs. This is the case when using `posixGroup` as the
+# group object class in Open Directory. (boolean value)
+#group_members_are_ids = false
+
+# The LDAP attribute mapped to group descriptions in keystone. (string value)
+#group_desc_attribute = description
+
+# List of group attributes to ignore on create and update. or whether a
+# specific group attribute should be filtered for list or show group. (list
+# value)
+#group_attribute_ignore =
+
+# A list of LDAP attribute to keystone group attribute pairs used for mapping
+# additional attributes to groups in keystone. The expected format is
+# `<ldap_attr>:<group_attr>`, where `ldap_attr` is the attribute in the LDAP
+# object and `group_attr` is the attribute which should appear in the identity
+# API. (list value)
+#group_additional_attribute_mapping =
+
+# If enabled, group queries will use Active Directory specific filters for
+# nested groups. (boolean value)
+#group_ad_nesting = false
+
+# An absolute path to a CA certificate file to use when communicating with LDAP
+# servers. This option will take precedence over `[ldap] tls_cacertdir`, so
+# there is no reason to set both. (string value)
+#tls_cacertfile = <None>
+
+# An absolute path to a CA certificate directory to use when communicating with
+# LDAP servers. There is no reason to set this option if you've also set
+# `[ldap] tls_cacertfile`. (string value)
+#tls_cacertdir = <None>
+
+# Enable TLS when communicating with LDAP servers. You should also set the
+# `[ldap] tls_cacertfile` and `[ldap] tls_cacertdir` options when using this
+# option. Do not set this option if you are using LDAP over SSL (LDAPS) instead
+# of TLS. (boolean value)
+#use_tls = false
+
+# Specifies which checks to perform against client certificates on incoming TLS
+# sessions. If set to `demand`, then a certificate will always be requested and
+# required from the LDAP server. If set to `allow`, then a certificate will
+# always be requested but not required from the LDAP server. If set to `never`,
+# then a certificate will never be requested. (string value)
+# Possible values:
+# demand - <No description provided>
+# never - <No description provided>
+# allow - <No description provided>
+#tls_req_cert = demand
+
+# The connection timeout to use with the LDAP server. A value of `-1` means
+# that connections will never timeout. (integer value)
+# Minimum value: -1
+#connection_timeout = -1
+
+# Enable LDAP connection pooling for queries to the LDAP server. There is
+# typically no reason to disable this. (boolean value)
+#use_pool = true
+
+# The size of the LDAP connection pool. This option has no effect unless
+# `[ldap] use_pool` is also enabled. (integer value)
+# Minimum value: 1
+#pool_size = 10
+
+# The maximum number of times to attempt reconnecting to the LDAP server before
+# aborting. A value of zero prevents retries. This option has no effect unless
+# `[ldap] use_pool` is also enabled. (integer value)
+# Minimum value: 0
+#pool_retry_max = 3
+
+# The number of seconds to wait before attempting to reconnect to the LDAP
+# server. This option has no effect unless `[ldap] use_pool` is also enabled.
+# (floating point value)
+#pool_retry_delay = 0.1
+
+# The connection timeout to use when pooling LDAP connections. A value of `-1`
+# means that connections will never timeout. This option has no effect unless
+# `[ldap] use_pool` is also enabled. (integer value)
+# Minimum value: -1
+#pool_connection_timeout = -1
+
+# The maximum connection lifetime to the LDAP server in seconds. When this
+# lifetime is exceeded, the connection will be unbound and removed from the
+# connection pool. This option has no effect unless `[ldap] use_pool` is also
+# enabled. (integer value)
+# Minimum value: 1
+#pool_connection_lifetime = 600
+
+# Enable LDAP connection pooling for end user authentication. There is
+# typically no reason to disable this. (boolean value)
+#use_auth_pool = true
+
+# The size of the connection pool to use for end user authentication. This
+# option has no effect unless `[ldap] use_auth_pool` is also enabled. (integer
+# value)
+# Minimum value: 1
+#auth_pool_size = 100
+
+# The maximum end user authentication connection lifetime to the LDAP server in
+# seconds. When this lifetime is exceeded, the connection will be unbound and
+# removed from the connection pool. This option has no effect unless `[ldap]
+# use_auth_pool` is also enabled. (integer value)
+# Minimum value: 1
+#auth_pool_connection_lifetime = 60
+
+
+[matchmaker_redis]
+
+#
+# From oslo.messaging
+#
+
+# DEPRECATED: Host to locate redis. (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#host = 127.0.0.1
+
+# DEPRECATED: Use this port to connect to redis host. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#port = 6379
+
+# DEPRECATED: Password for Redis server (optional). (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#password =
+
+# DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode), e.g.,
+# [host:port, host1:port ... ] (list value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#sentinel_hosts =
+
+# Redis replica set name. (string value)
+#sentinel_group_name = oslo-messaging-zeromq
+
+# Time in ms to wait between connection attempts. (integer value)
+#wait_timeout = 2000
+
+# Time in ms to wait before the transaction is killed. (integer value)
+#check_timeout = 20000
+
+# Timeout in ms on blocking socket operations. (integer value)
+#socket_timeout = 10000
+
+
+[memcache]
+
+#
+# From keystone
+#
+
+# Number of seconds memcached server is considered dead before it is tried
+# again. This is used by the key value store system. (integer value)
+#dead_retry = 300
+
+# Timeout in seconds for every call to a server. This is used by the key value
+# store system. (integer value)
+#socket_timeout = 3
+
+# Max total number of open connections to every memcached server. This is used
+# by the key value store system. (integer value)
+#pool_maxsize = 10
+
+# Number of seconds a connection to memcached is held unused in the pool before
+# it is closed. This is used by the key value store system. (integer value)
+#pool_unused_timeout = 60
+
+# Number of seconds that an operation will wait to get a memcache client
+# connection. This is used by the key value store system. (integer value)
+#pool_connection_get_timeout = 10
+
+
+[oauth1]
+
+#
+# From keystone
+#
+
+# Entry point for the OAuth backend driver in the `keystone.oauth1` namespace.
+# Typically, there is no reason to set this option unless you are providing a
+# custom entry point. (string value)
+#driver = sql
+
+# Number of seconds for the OAuth Request Token to remain valid after being
+# created. This is the amount of time the user has to authorize the token.
+# Setting this option to zero means that request tokens will last forever.
+# (integer value)
+# Minimum value: 0
+#request_token_duration = 28800
+
+# Number of seconds for the OAuth Access Token to remain valid after being
+# created. This is the amount of time the consumer has to interact with the
+# service provider (which is typically keystone). Setting this option to zero
+# means that access tokens will last forever. (integer value)
+# Minimum value: 0
+#access_token_duration = 86400
+
+
+[oslo_messaging_amqp]
+
+#
+# From oslo.messaging
+#
+
+# Name for the AMQP container. must be globally unique. Defaults to a generated
+# UUID (string value)
+#container_name = <None>
+
+# Timeout for inactive connections (in seconds) (integer value)
+#idle_timeout = 0
+
+# Debug: dump AMQP frames to stdout (boolean value)
+#trace = false
+
+# Attempt to connect via SSL. If no other ssl-related parameters are given, it
+# will use the system's CA-bundle to verify the server's certificate. (boolean
+# value)
+#ssl = false
+
+# CA certificate PEM file used to verify the server's certificate (string
+# value)
+#ssl_ca_file =
+
+# Self-identifying certificate PEM file for client authentication (string
+# value)
+#ssl_cert_file =
+
+# Private key PEM file used to sign ssl_cert_file certificate (optional)
+# (string value)
+#ssl_key_file =
+
+# Password for decrypting ssl_key_file (if encrypted) (string value)
+#ssl_key_password = <None>
+
+# By default SSL checks that the name in the server's certificate matches the
+# hostname in the transport_url. In some configurations it may be preferable to
+# use the virtual hostname instead, for example if the server uses the Server
+# Name Indication TLS extension (rfc6066) to provide a certificate per virtual
+# host. Set ssl_verify_vhost to True if the server's SSL certificate uses the
+# virtual host name instead of the DNS name. (boolean value)
+#ssl_verify_vhost = false
+
+# DEPRECATED: Accept clients using either SSL or plain TCP (boolean value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Not applicable - not a SSL server
+#allow_insecure_clients = false
+
+# Space separated list of acceptable SASL mechanisms (string value)
+#sasl_mechanisms =
+
+# Path to directory that contains the SASL configuration (string value)
+#sasl_config_dir =
+
+# Name of configuration file (without .conf suffix) (string value)
+#sasl_config_name =
+
+# SASL realm to use if no realm present in username (string value)
+#sasl_default_realm =
+
+# DEPRECATED: User name for message broker authentication (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Should use configuration option transport_url to provide the
+# username.
+#username =
+
+# DEPRECATED: Password for message broker authentication (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Should use configuration option transport_url to provide the
+# password.
+#password =
+
+# Seconds to pause before attempting to re-connect. (integer value)
+# Minimum value: 1
+#connection_retry_interval = 1
+
+# Increase the connection_retry_interval by this many seconds after each
+# unsuccessful failover attempt. (integer value)
+# Minimum value: 0
+#connection_retry_backoff = 2
+
+# Maximum limit for connection_retry_interval + connection_retry_backoff
+# (integer value)
+# Minimum value: 1
+#connection_retry_interval_max = 30
+
+# Time to pause between re-connecting an AMQP 1.0 link that failed due to a
+# recoverable error. (integer value)
+# Minimum value: 1
+#link_retry_delay = 10
+
+# The maximum number of attempts to re-send a reply message which failed due to
+# a recoverable error. (integer value)
+# Minimum value: -1
+#default_reply_retry = 0
+
+# The deadline for an rpc reply message delivery. (integer value)
+# Minimum value: 5
+#default_reply_timeout = 30
+
+# The deadline for an rpc cast or call message delivery. Only used when caller
+# does not provide a timeout expiry. (integer value)
+# Minimum value: 5
+#default_send_timeout = 30
+
+# The deadline for a sent notification message delivery. Only used when caller
+# does not provide a timeout expiry. (integer value)
+# Minimum value: 5
+#default_notify_timeout = 30
+
+# The duration to schedule a purge of idle sender links. Detach link after
+# expiry. (integer value)
+# Minimum value: 1
+#default_sender_link_timeout = 600
+
+# Indicates the addressing mode used by the driver.
+# Permitted values:
+# 'legacy'   - use legacy non-routable addressing
+# 'routable' - use routable addresses
+# 'dynamic'  - use legacy addresses if the message bus does not support routing
+# otherwise use routable addressing (string value)
+#addressing_mode = dynamic
+
+# Enable virtual host support for those message buses that do not natively
+# support virtual hosting (such as qpidd). When set to true the virtual host
+# name will be added to all message bus addresses, effectively creating a
+# private 'subnet' per virtual host. Set to False if the message bus supports
+# virtual hosting using the 'hostname' field in the AMQP 1.0 Open performative
+# as the name of the virtual host. (boolean value)
+#pseudo_vhost = true
+
+# address prefix used when sending to a specific server (string value)
+#server_request_prefix = exclusive
+
+# address prefix used when broadcasting to all servers (string value)
+#broadcast_prefix = broadcast
+
+# address prefix when sending to any server in group (string value)
+#group_request_prefix = unicast
+
+# Address prefix for all generated RPC addresses (string value)
+#rpc_address_prefix = openstack.org/om/rpc
+
+# Address prefix for all generated Notification addresses (string value)
+#notify_address_prefix = openstack.org/om/notify
+
+# Appended to the address prefix when sending a fanout message. Used by the
+# message bus to identify fanout messages. (string value)
+#multicast_address = multicast
+
+# Appended to the address prefix when sending to a particular RPC/Notification
+# server. Used by the message bus to identify messages sent to a single
+# destination. (string value)
+#unicast_address = unicast
+
+# Appended to the address prefix when sending to a group of consumers. Used by
+# the message bus to identify messages that should be delivered in a round-
+# robin fashion across consumers. (string value)
+#anycast_address = anycast
+
+# Exchange name used in notification addresses.
+# Exchange name resolution precedence:
+# Target.exchange if set
+# else default_notification_exchange if set
+# else control_exchange if set
+# else 'notify' (string value)
+#default_notification_exchange = <None>
+
+# Exchange name used in RPC addresses.
+# Exchange name resolution precedence:
+# Target.exchange if set
+# else default_rpc_exchange if set
+# else control_exchange if set
+# else 'rpc' (string value)
+#default_rpc_exchange = <None>
+
+# Window size for incoming RPC Reply messages. (integer value)
+# Minimum value: 1
+#reply_link_credit = 200
+
+# Window size for incoming RPC Request messages (integer value)
+# Minimum value: 1
+#rpc_server_credit = 100
+
+# Window size for incoming Notification messages (integer value)
+# Minimum value: 1
+#notify_server_credit = 100
+
+# Send messages of this type pre-settled.
+# Pre-settled messages will not receive acknowledgement
+# from the peer. Note well: pre-settled messages may be
+# silently discarded if the delivery fails.
+# Permitted values:
+# 'rpc-call' - send RPC Calls pre-settled
+# 'rpc-reply'- send RPC Replies pre-settled
+# 'rpc-cast' - Send RPC Casts pre-settled
+# 'notify'   - Send Notifications pre-settled
+#  (multi valued)
+#pre_settled = rpc-cast
+#pre_settled = rpc-reply
+
+
+[oslo_messaging_kafka]
+
+#
+# From oslo.messaging
+#
+
+# DEPRECATED: Default Kafka broker Host (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#kafka_default_host = localhost
+
+# DEPRECATED: Default Kafka broker Port (port value)
+# Minimum value: 0
+# Maximum value: 65535
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#kafka_default_port = 9092
+
+# Max fetch bytes of Kafka consumer (integer value)
+#kafka_max_fetch_bytes = 1048576
+
+# Default timeout(s) for Kafka consumers (floating point value)
+#kafka_consumer_timeout = 1.0
+
+# Pool Size for Kafka Consumers (integer value)
+#pool_size = 10
+
+# The pool size limit for connections expiration policy (integer value)
+#conn_pool_min_size = 2
+
+# The time-to-live in sec of idle connections in the pool (integer value)
+#conn_pool_ttl = 1200
+
+# Group id for Kafka consumer. Consumers in one group will coordinate message
+# consumption (string value)
+#consumer_group = oslo_messaging_consumer
+
+# Upper bound on the delay for KafkaProducer batching in seconds (floating
+# point value)
+#producer_batch_timeout = 0.0
+
+# Size of batch for the producer async send (integer value)
+#producer_batch_size = 16384
+
+
+[oslo_messaging_notifications]
+
+#
+# From oslo.messaging
+#
+
+# The Drivers(s) to handle sending notifications. Possible values are
+# messaging, messagingv2, routing, log, test, noop (multi valued)
+# Deprecated group/name - [DEFAULT]/notification_driver
+#driver =
+
+# A URL representing the messaging driver to use for notifications. If not set,
+# we fall back to the same configuration used for RPC. (string value)
+# Deprecated group/name - [DEFAULT]/notification_transport_url
+#transport_url = <None>
+
+# AMQP topic used for OpenStack notifications. (list value)
+# Deprecated group/name - [rpc_notifier2]/topics
+# Deprecated group/name - [DEFAULT]/notification_topics
+#topics = notifications
+
+# The maximum number of attempts to re-send a notification message which failed
+# to be delivered due to a recoverable error. 0 - No retry, -1 - indefinite
+# (integer value)
+#retry = -1
+
+
+[oslo_messaging_rabbit]
+
+#
+# From oslo.messaging
+#
+
+# Use durable queues in AMQP. (boolean value)
+# Deprecated group/name - [DEFAULT]/amqp_durable_queues
+# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
+#amqp_durable_queues = false
+
+# Auto-delete queues in AMQP. (boolean value)
+#amqp_auto_delete = false
+
+# Enable SSL (boolean value)
+#ssl = <None>
+
+# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and
+# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some
+# distributions. (string value)
+# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_version
+#ssl_version =
+
+# SSL key file (valid only if SSL enabled). (string value)
+# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_keyfile
+#ssl_key_file =
+
+# SSL cert file (valid only if SSL enabled). (string value)
+# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_certfile
+#ssl_cert_file =
+
+# SSL certification authority file (valid only if SSL enabled). (string value)
+# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_ca_certs
+#ssl_ca_file =
+
+# How long to wait before reconnecting in response to an AMQP consumer cancel
+# notification. (floating point value)
+#kombu_reconnect_delay = 1.0
+
+# EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not
+# be used. This option may not be available in future versions. (string value)
+#kombu_compression = <None>
+
+# How long to wait a missing client before abandoning to send it its replies.
+# This value should not be longer than rpc_response_timeout. (integer value)
+# Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout
+#kombu_missing_consumer_retry_timeout = 60
+
+# Determines how the next RabbitMQ node is chosen in case the one we are
+# currently connected to becomes unavailable. Takes effect only if more than
+# one RabbitMQ node is provided in config. (string value)
+# Possible values:
+# round-robin - <No description provided>
+# shuffle - <No description provided>
+#kombu_failover_strategy = round-robin
+
+# DEPRECATED: The RabbitMQ broker address where a single node is used. (string
+# value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rabbit_host = localhost
+
+# DEPRECATED: The RabbitMQ broker port where a single node is used. (port
+# value)
+# Minimum value: 0
+# Maximum value: 65535
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rabbit_port = 5672
+
+# DEPRECATED: RabbitMQ HA cluster host:port pairs. (list value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rabbit_hosts = $rabbit_host:$rabbit_port
+
+# DEPRECATED: The RabbitMQ userid. (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rabbit_userid = guest
+
+# DEPRECATED: The RabbitMQ password. (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rabbit_password = guest
+
+# The RabbitMQ login method. (string value)
+# Possible values:
+# PLAIN - <No description provided>
+# AMQPLAIN - <No description provided>
+# RABBIT-CR-DEMO - <No description provided>
+#rabbit_login_method = AMQPLAIN
+
+# DEPRECATED: The RabbitMQ virtual host. (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rabbit_virtual_host = /
+
+# How frequently to retry connecting with RabbitMQ. (integer value)
+#rabbit_retry_interval = 1
+
+# How long to backoff for between retries when connecting to RabbitMQ. (integer
+# value)
+#rabbit_retry_backoff = 2
+
+# Maximum interval of RabbitMQ connection retries. Default is 30 seconds.
+# (integer value)
+#rabbit_interval_max = 30
+
+# DEPRECATED: Maximum number of RabbitMQ connection retries. Default is 0
+# (infinite retry count). (integer value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+#rabbit_max_retries = 0
+
+# Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this
+# option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring
+# is no longer controlled by the x-ha-policy argument when declaring a queue.
+# If you just want to make sure that all queues (except those with auto-
+# generated names) are mirrored across all nodes, run: "rabbitmqctl set_policy
+# HA '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value)
+#rabbit_ha_queues = false
+
+# Positive integer representing duration in seconds for queue TTL (x-expires).
+# Queues which are unused for the duration of the TTL are automatically
+# deleted. The parameter affects only reply and fanout queues. (integer value)
+# Minimum value: 1
+#rabbit_transient_queues_ttl = 1800
+
+# Specifies the number of messages to prefetch. Setting to zero allows
+# unlimited messages. (integer value)
+#rabbit_qos_prefetch_count = 0
+
+# Number of seconds after which the Rabbit broker is considered down if
+# heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL (integer
+# value)
+#heartbeat_timeout_threshold = 60
+
+# How often times during the heartbeat_timeout_threshold we check the
+# heartbeat. (integer value)
+#heartbeat_rate = 2
+
+# Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake (boolean value)
+#fake_rabbit = false
+
+# Maximum number of channels to allow (integer value)
+#channel_max = <None>
+
+# The maximum byte size for an AMQP frame (integer value)
+#frame_max = <None>
+
+# How often to send heartbeats for consumer's connections (integer value)
+#heartbeat_interval = 3
+
+# Arguments passed to ssl.wrap_socket (dict value)
+#ssl_options = <None>
+
+# Set socket timeout in seconds for connection's socket (floating point value)
+#socket_timeout = 0.25
+
+# Set TCP_USER_TIMEOUT in seconds for connection's socket (floating point
+# value)
+#tcp_user_timeout = 0.25
+
+# Set delay for reconnection to some host which has connection error (floating
+# point value)
+#host_connection_reconnect_delay = 0.25
+
+# Connection factory implementation (string value)
+# Possible values:
+# new - <No description provided>
+# single - <No description provided>
+# read_write - <No description provided>
+#connection_factory = single
+
+# Maximum number of connections to keep queued. (integer value)
+#pool_max_size = 30
+
+# Maximum number of connections to create above `pool_max_size`. (integer
+# value)
+#pool_max_overflow = 0
+
+# Default number of seconds to wait for a connections to available (integer
+# value)
+#pool_timeout = 30
+
+# Lifetime of a connection (since creation) in seconds or None for no
+# recycling. Expired connections are closed on acquire. (integer value)
+#pool_recycle = 600
+
+# Threshold at which inactive (since release) connections are considered stale
+# in seconds or None for no staleness. Stale connections are closed on acquire.
+# (integer value)
+#pool_stale = 60
+
+# Default serialization mechanism for serializing/deserializing
+# outgoing/incoming messages (string value)
+# Possible values:
+# json - <No description provided>
+# msgpack - <No description provided>
+#default_serializer_type = json
+
+# Persist notification messages. (boolean value)
+#notification_persistence = false
+
+# Exchange name for sending notifications (string value)
+#default_notification_exchange = ${control_exchange}_notification
+
+# Max number of not acknowledged message which RabbitMQ can send to
+# notification listener. (integer value)
+#notification_listener_prefetch_count = 100
+
+# Reconnecting retry count in case of connectivity problem during sending
+# notification, -1 means infinite retry. (integer value)
+#default_notification_retry_attempts = -1
+
+# Reconnecting retry delay in case of connectivity problem during sending
+# notification message (floating point value)
+#notification_retry_delay = 0.25
+
+# Time to live for rpc queues without consumers in seconds. (integer value)
+#rpc_queue_expiration = 60
+
+# Exchange name for sending RPC messages (string value)
+#default_rpc_exchange = ${control_exchange}_rpc
+
+# Exchange name for receiving RPC replies (string value)
+#rpc_reply_exchange = ${control_exchange}_rpc_reply
+
+# Max number of not acknowledged message which RabbitMQ can send to rpc
+# listener. (integer value)
+#rpc_listener_prefetch_count = 100
+
+# Max number of not acknowledged message which RabbitMQ can send to rpc reply
+# listener. (integer value)
+#rpc_reply_listener_prefetch_count = 100
+
+# Reconnecting retry count in case of connectivity problem during sending
+# reply. -1 means infinite retry during rpc_timeout (integer value)
+#rpc_reply_retry_attempts = -1
+
+# Reconnecting retry delay in case of connectivity problem during sending
+# reply. (floating point value)
+#rpc_reply_retry_delay = 0.25
+
+# Reconnecting retry count in case of connectivity problem during sending RPC
+# message, -1 means infinite retry. If actual retry attempts in not 0 the rpc
+# request could be processed more than one time (integer value)
+#default_rpc_retry_attempts = -1
+
+# Reconnecting retry delay in case of connectivity problem during sending RPC
+# message (floating point value)
+#rpc_retry_delay = 0.25
+
+
+[oslo_messaging_zmq]
+
+#
+# From oslo.messaging
+#
+
+# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
+# The "host" option should point or resolve to this address. (string value)
+#rpc_zmq_bind_address = *
+
+# MatchMaker driver. (string value)
+# Possible values:
+# redis - <No description provided>
+# sentinel - <No description provided>
+# dummy - <No description provided>
+#rpc_zmq_matchmaker = redis
+
+# Number of ZeroMQ contexts, defaults to 1. (integer value)
+#rpc_zmq_contexts = 1
+
+# Maximum number of ingress messages to locally buffer per topic. Default is
+# unlimited. (integer value)
+#rpc_zmq_topic_backlog = <None>
+
+# Directory for holding IPC sockets. (string value)
+#rpc_zmq_ipc_dir = /var/run/openstack
+
+# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match
+# "host" option, if running Nova. (string value)
+#rpc_zmq_host = localhost
+
+# Number of seconds to wait before all pending messages will be sent after
+# closing a socket. The default value of -1 specifies an infinite linger
+# period. The value of 0 specifies no linger period. Pending messages shall be
+# discarded immediately when the socket is closed. Positive values specify an
+# upper bound for the linger period. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
+#zmq_linger = -1
+
+# The default number of seconds that poll should wait. Poll raises timeout
+# exception when timeout expired. (integer value)
+#rpc_poll_timeout = 1
+
+# Expiration timeout in seconds of a name service record about existing target
+# ( < 0 means no timeout). (integer value)
+#zmq_target_expire = 300
+
+# Update period in seconds of a name service record about existing target.
+# (integer value)
+#zmq_target_update = 180
+
+# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean
+# value)
+#use_pub_sub = false
+
+# Use ROUTER remote proxy. (boolean value)
+#use_router_proxy = false
+
+# This option makes direct connections dynamic or static. It makes sense only
+# with use_router_proxy=False which means to use direct connections for direct
+# message types (ignored otherwise). (boolean value)
+#use_dynamic_connections = false
+
+# How many additional connections to a host will be made for failover reasons.
+# This option is actual only in dynamic connections mode. (integer value)
+#zmq_failover_connections = 2
+
+# Minimal port number for random ports range. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+#rpc_zmq_min_port = 49153
+
+# Maximal port number for random ports range. (integer value)
+# Minimum value: 1
+# Maximum value: 65536
+#rpc_zmq_max_port = 65536
+
+# Number of retries to find free port number before fail with ZMQBindError.
+# (integer value)
+#rpc_zmq_bind_port_retries = 100
+
+# Default serialization mechanism for serializing/deserializing
+# outgoing/incoming messages (string value)
+# Possible values:
+# json - <No description provided>
+# msgpack - <No description provided>
+#rpc_zmq_serialization = json
+
+# This option configures round-robin mode in zmq socket. True means not keeping
+# a queue when server side disconnects. False means to keep queue and messages
+# even if server is disconnected, when the server appears we send all
+# accumulated messages to it. (boolean value)
+#zmq_immediate = true
+
+# Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any
+# other negative value) means to skip any overrides and leave it to OS default;
+# 0 and 1 (or any other positive value) mean to disable and enable the option
+# respectively. (integer value)
+#zmq_tcp_keepalive = -1
+
+# The duration between two keepalive transmissions in idle condition. The unit
+# is platform dependent, for example, seconds in Linux, milliseconds in Windows
+# etc. The default value of -1 (or any other negative value and 0) means to
+# skip any overrides and leave it to OS default. (integer value)
+#zmq_tcp_keepalive_idle = -1
+
+# The number of retransmissions to be carried out before declaring that remote
+# end is not available. The default value of -1 (or any other negative value
+# and 0) means to skip any overrides and leave it to OS default. (integer
+# value)
+#zmq_tcp_keepalive_cnt = -1
+
+# The duration between two successive keepalive retransmissions, if
+# acknowledgement to the previous keepalive transmission is not received. The
+# unit is platform dependent, for example, seconds in Linux, milliseconds in
+# Windows etc. The default value of -1 (or any other negative value and 0)
+# means to skip any overrides and leave it to OS default. (integer value)
+#zmq_tcp_keepalive_intvl = -1
+
+# Maximum number of (green) threads to work concurrently. (integer value)
+#rpc_thread_pool_size = 100
+
+# Expiration timeout in seconds of a sent/received message after which it is
+# not tracked anymore by a client/server. (integer value)
+#rpc_message_ttl = 300
+
+# Wait for message acknowledgements from receivers. This mechanism works only
+# via proxy without PUB/SUB. (boolean value)
+#rpc_use_acks = false
+
+# Number of seconds to wait for an ack from a cast/call. After each retry
+# attempt this timeout is multiplied by some specified multiplier. (integer
+# value)
+#rpc_ack_timeout_base = 15
+
+# Number to multiply base ack timeout by after each retry attempt. (integer
+# value)
+#rpc_ack_timeout_multiplier = 2
+
+# Default number of message sending attempts in case of any problems occurred:
+# positive value N means at most N retries, 0 means no retries, None or -1 (or
+# any other negative values) mean to retry forever. This option is used only if
+# acknowledgments are enabled. (integer value)
+#rpc_retry_attempts = 3
+
+# List of publisher hosts SubConsumer can subscribe on. This option has higher
+# priority then the default publishers list taken from the matchmaker. (list
+# value)
+#subscribe_on =
+
+
+[oslo_middleware]
+
+#
+# From oslo.middleware
+#
+
+# The maximum body size for each  request, in bytes. (integer value)
+# Deprecated group/name - [DEFAULT]/osapi_max_request_body_size
+# Deprecated group/name - [DEFAULT]/max_request_body_size
+#max_request_body_size = 114688
+
+# DEPRECATED: The HTTP Header that will be used to determine what the original
+# request protocol scheme was, even if it was hidden by a SSL termination
+# proxy. (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+#secure_proxy_ssl_header = X-Forwarded-Proto
+
+# Whether the application is behind a proxy or not. This determines if the
+# middleware should parse the headers or not. (boolean value)
+#enable_proxy_headers_parsing = false
+
+
+[oslo_policy]
+
+#
+# From oslo.policy
+#
+
+# This option controls whether or not to enforce scope when evaluating
+# policies. If ``True``, the scope of the token used in the request is compared
+# to the ``scope_types`` of the policy being enforced. If the scopes do not
+# match, an ``InvalidScope`` exception will be raised. If ``False``, a message
+# will be logged informing operators that policies are being invoked with
+# mismatching scope. (boolean value)
+#enforce_scope = false
+
+# The file that defines policies. (string value)
+#policy_file = policy.json
+
+# Default rule. Enforced when a requested rule is not found. (string value)
+#policy_default_rule = default
+
+# Directories where policy configuration files are stored. They can be relative
+# to any directory in the search path defined by the config_dir option, or
+# absolute paths. The file defined by policy_file must exist for these
+# directories to be searched.  Missing or empty directories are ignored. (multi
+# valued)
+#policy_dirs = policy.d
+
+# Content Type to send and receive data for REST based policy check (string
+# value)
+# Possible values:
+# application/x-www-form-urlencoded - <No description provided>
+# application/json - <No description provided>
+#remote_content_type = application/x-www-form-urlencoded
+
+# server identity verification for REST based policy check (boolean value)
+#remote_ssl_verify_server_crt = false
+
+# Absolute path to ca cert file for REST based policy check (string value)
+#remote_ssl_ca_crt_file = <None>
+
+# Absolute path to client cert for REST based policy check (string value)
+#remote_ssl_client_crt_file = <None>
+
+# Absolute path client key file REST based policy check (string value)
+#remote_ssl_client_key_file = <None>
+
+
+[policy]
+
+#
+# From keystone
+#
+
+# Entry point for the policy backend driver in the `keystone.policy` namespace.
+# Supplied drivers are `rules` (which does not support any CRUD operations for
+# the v3 policy API) and `sql`. Typically, there is no reason to set this
+# option unless you are providing a custom entry point. (string value)
+#driver = sql
+
+# Maximum number of entities that will be returned in a policy collection.
+# (integer value)
+#list_limit = <None>
+
+
+[profiler]
+
+#
+# From osprofiler
+#
+
+#
+# Enables the profiling for all services on this node. Default value is False
+# (fully disable the profiling feature).
+#
+# Possible values:
+#
+# * True: Enables the feature
+# * False: Disables the feature. The profiling cannot be started via this
+# project
+# operations. If the profiling is triggered by another project, this project
+# part
+# will be empty.
+#  (boolean value)
+# Deprecated group/name - [profiler]/profiler_enabled
+#enabled = false
+
+#
+# Enables SQL requests profiling in services. Default value is False (SQL
+# requests won't be traced).
+#
+# Possible values:
+#
+# * True: Enables SQL requests profiling. Each SQL query will be part of the
+# trace and can the be analyzed by how much time was spent for that.
+# * False: Disables SQL requests profiling. The spent time is only shown on a
+# higher level of operations. Single SQL queries cannot be analyzed this
+# way.
+#  (boolean value)
+#trace_sqlalchemy = false
+
+#
+# Secret key(s) to use for encrypting context data for performance profiling.
+# This string value should have the following format:
+# <key1>[,<key2>,...<keyn>],
+# where each key is some random string. A user who triggers the profiling via
+# the REST API has to set one of these keys in the headers of the REST API call
+# to include profiling results of this node for this particular project.
+#
+# Both "enabled" flag and "hmac_keys" config options should be set to enable
+# profiling. Also, to generate correct profiling information across all
+# services
+# at least one key needs to be consistent between OpenStack projects. This
+# ensures it can be used from client side to generate the trace, containing
+# information from all possible resources. (string value)
+#hmac_keys = SECRET_KEY
+
+#
+# Connection string for a notifier backend. Default value is messaging:// which
+# sets the notifier to oslo_messaging.
+#
+# Examples of possible values:
+#
+# * messaging://: use oslo_messaging driver for sending notifications.
+# * mongodb://127.0.0.1:27017 : use mongodb driver for sending notifications.
+# * elasticsearch://127.0.0.1:9200 : use elasticsearch driver for sending
+# notifications.
+#  (string value)
+#connection_string = messaging://
+
+#
+# Document type for notification indexing in elasticsearch.
+#  (string value)
+#es_doc_type = notification
+
+#
+# This parameter is a time value parameter (for example: es_scroll_time=2m),
+# indicating for how long the nodes that participate in the search will
+# maintain
+# relevant resources in order to continue and support it.
+#  (string value)
+#es_scroll_time = 2m
+
+#
+# Elasticsearch splits large requests in batches. This parameter defines
+# maximum size of each batch (for example: es_scroll_size=10000).
+#  (integer value)
+#es_scroll_size = 10000
+
+#
+# Redissentinel provides a timeout option on the connections.
+# This parameter defines that timeout (for example: socket_timeout=0.1).
+#  (floating point value)
+#socket_timeout = 0.1
+
+#
+# Redissentinel uses a service name to identify a master redis service.
+# This parameter defines the name (for example:
+# sentinal_service_name=mymaster).
+#  (string value)
+#sentinel_service_name = mymaster
+
+
+[receipt]
+
+#
+# From keystone
+#
+
+# The amount of time that a receipt should remain valid (in seconds). This
+# value should always be very short, as it represents how long a user has to
+# reattempt auth with the missing auth methods. (integer value)
+# Minimum value: 0
+# Maximum value: 86400
+#expiration = 300
+
+# Entry point for the receipt provider in the `keystone.receipt.provider`
+# namespace. The receipt provider controls the receipt construction and
+# validation operations. Keystone includes just the `fernet` receipt provider
+# for now. `fernet` receipts do not need to be persisted at all, but require
+# that you run `keystone-manage fernet_setup` (also see the `keystone-manage
+# fernet_rotate` command). (string value)
+#provider = fernet
+
+# Toggle for caching receipt creation and validation data. This has no effect
+# unless global caching is enabled, or if cache_on_issue is disabled as we only
+# cache receipts on issue. (boolean value)
+#caching = true
+
+# The number of seconds to cache receipt creation and validation data. This has
+# no effect unless both global and `[receipt] caching` are enabled. (integer
+# value)
+# Minimum value: 0
+#cache_time = 300
+
+# Enable storing issued receipt data to receipt validation cache so that first
+# receipt validation doesn't actually cause full validation cycle. This option
+# has no effect unless global caching and receipt caching are enabled. (boolean
+# value)
+#cache_on_issue = true
+
+
+[resource]
+
+#
+# From keystone
+#
+
+# DEPRECATED: Entry point for the resource driver in the `keystone.resource`
+# namespace. Only a `sql` driver is supplied by keystone. Unless you are
+# writing proprietary drivers for keystone, you do not need to set this option.
+# (string value)
+# This option is deprecated for removal since P.
+# Its value may be silently ignored in the future.
+# Reason: Non-SQL resource cannot be used with SQL Identity and has been unable
+# to be used since Ocata. SQL Resource backend is a requirement as of Pike.
+# Setting this option no longer has an effect on how Keystone operates.
+#driver = sql
+
+# Toggle for resource caching. This has no effect unless global caching is
+# enabled. (boolean value)
+# Deprecated group/name - [assignment]/caching
+#caching = true
+
+# Time to cache resource data in seconds. This has no effect unless global
+# caching is enabled. (integer value)
+# Deprecated group/name - [assignment]/cache_time
+#cache_time = <None>
+
+# Maximum number of entities that will be returned in a resource collection.
+# (integer value)
+# Deprecated group/name - [assignment]/list_limit
+#list_limit = <None>
+
+# Name of the domain that owns the `admin_project_name`. If left unset, then
+# there is no admin project. `[resource] admin_project_name` must also be set
+# to use this option. (string value)
+#admin_project_domain_name = <None>
+
+# This is a special project which represents cloud-level administrator
+# privileges across services. Tokens scoped to this project will contain a true
+# `is_admin_project` attribute to indicate to policy systems that the role
+# assignments on that specific project should apply equally across every
+# project. If left unset, then there is no admin project, and thus no explicit
+# means of cross-project role assignments. `[resource]
+# admin_project_domain_name` must also be set to use this option. (string
+# value)
+#admin_project_name = <None>
+
+# This controls whether the names of projects are restricted from containing
+# URL-reserved characters. If set to `new`, attempts to create or update a
+# project with a URL-unsafe name will fail. If set to `strict`, attempts to
+# scope a token with a URL-unsafe project name will fail, thereby forcing all
+# project names to be updated to be URL-safe. (string value)
+# Possible values:
+# off - <No description provided>
+# new - <No description provided>
+# strict - <No description provided>
+#project_name_url_safe = off
+
+# This controls whether the names of domains are restricted from containing
+# URL-reserved characters. If set to `new`, attempts to create or update a
+# domain with a URL-unsafe name will fail. If set to `strict`, attempts to
+# scope a token with a URL-unsafe domain name will fail, thereby forcing all
+# domain names to be updated to be URL-safe. (string value)
+# Possible values:
+# off - <No description provided>
+# new - <No description provided>
+# strict - <No description provided>
+#domain_name_url_safe = off
+
+
+[revoke]
+
+#
+# From keystone
+#
+
+# Entry point for the token revocation backend driver in the `keystone.revoke`
+# namespace. Keystone only provides a `sql` driver, so there is no reason to
+# set this option unless you are providing a custom entry point. (string value)
+#driver = sql
+
+# The number of seconds after a token has expired before a corresponding
+# revocation event may be purged from the backend. (integer value)
+# Minimum value: 0
+#expiration_buffer = 1800
+
+# Toggle for revocation event caching. This has no effect unless global caching
+# is enabled. (boolean value)
+#caching = true
+
+# Time to cache the revocation list and the revocation events (in seconds).
+# This has no effect unless global and `[revoke] caching` are both enabled.
+# (integer value)
+# Deprecated group/name - [token]/revocation_cache_time
+#cache_time = 3600
+
+
+[role]
+
+#
+# From keystone
+#
+
+# Entry point for the role backend driver in the `keystone.role` namespace.
+# Keystone only provides a `sql` driver, so there's no reason to change this
+# unless you are providing a custom entry point. (string value)
+#driver = <None>
+
+# Toggle for role caching. This has no effect unless global caching is enabled.
+# In a typical deployment, there is no reason to disable this. (boolean value)
+#caching = true
+
+# Time to cache role data, in seconds. This has no effect unless both global
+# caching and `[role] caching` are enabled. (integer value)
+#cache_time = <None>
+
+# Maximum number of entities that will be returned in a role collection. This
+# may be useful to tune if you have a large number of discrete roles in your
+# deployment. (integer value)
+#list_limit = <None>
+
+
+[saml]
+
+#
+# From keystone
+#
+
+# Determines the lifetime for any SAML assertions generated by keystone, using
+# `NotOnOrAfter` attributes. (integer value)
+#assertion_expiration_time = 3600
+
+# Name of, or absolute path to, the binary to be used for XML signing. Although
+# only the XML Security Library (`xmlsec1`) is supported, it may have a non-
+# standard name or path on your system. If keystone cannot find the binary
+# itself, you may need to install the appropriate package, use this option to
+# specify an absolute path, or adjust keystone's PATH environment variable.
+# (string value)
+#xmlsec1_binary = xmlsec1
+
+# Absolute path to the public certificate file to use for SAML signing. The
+# value cannot contain a comma (`,`). (string value)
+#certfile = /etc/keystone/ssl/certs/signing_cert.pem
+
+# Absolute path to the private key file to use for SAML signing. The value
+# cannot contain a comma (`,`). (string value)
+#keyfile = /etc/keystone/ssl/private/signing_key.pem
+
+# This is the unique entity identifier of the identity provider (keystone) to
+# use when generating SAML assertions. This value is required to generate
+# identity provider metadata and must be a URI (a URL is recommended). For
+# example: `https://keystone.example.com/v3/OS-FEDERATION/saml2/idp`. (uri
+# value)
+#idp_entity_id = <None>
+
+# This is the single sign-on (SSO) service location of the identity provider
+# which accepts HTTP POST requests. A value is required to generate identity
+# provider metadata. For example: `https://keystone.example.com/v3/OS-
+# FEDERATION/saml2/sso`. (uri value)
+#idp_sso_endpoint = <None>
+
+# This is the language used by the identity provider's organization. (string
+# value)
+#idp_lang = en
+
+# This is the name of the identity provider's organization. (string value)
+#idp_organization_name = SAML Identity Provider
+
+# This is the name of the identity provider's organization to be displayed.
+# (string value)
+#idp_organization_display_name = OpenStack SAML Identity Provider
+
+# This is the URL of the identity provider's organization. The URL referenced
+# here should be useful to humans. (uri value)
+#idp_organization_url = https://example.com/
+
+# This is the company name of the identity provider's contact person. (string
+# value)
+#idp_contact_company = Example, Inc.
+
+# This is the given name of the identity provider's contact person. (string
+# value)
+#idp_contact_name = SAML Identity Provider Support
+
+# This is the surname of the identity provider's contact person. (string value)
+#idp_contact_surname = Support
+
+# This is the email address of the identity provider's contact person. (string
+# value)
+#idp_contact_email = support@example.com
+
+# This is the telephone number of the identity provider's contact person.
+# (string value)
+#idp_contact_telephone = +1 800 555 0100
+
+# This is the type of contact that best describes the identity provider's
+# contact person. (string value)
+# Possible values:
+# technical - <No description provided>
+# support - <No description provided>
+# administrative - <No description provided>
+# billing - <No description provided>
+# other - <No description provided>
+#idp_contact_type = other
+
+# Absolute path to the identity provider metadata file. This file should be
+# generated with the `keystone-manage saml_idp_metadata` command. There is
+# typically no reason to change this value. (string value)
+#idp_metadata_path = /etc/keystone/saml2_idp_metadata.xml
+
+# The prefix of the RelayState SAML attribute to use when generating enhanced
+# client and proxy (ECP) assertions. In a typical deployment, there is no
+# reason to change this value. (string value)
+#relay_state_prefix = ss:mem:
+
+
+[security_compliance]
+
+#
+# From keystone
+#
+
+# The maximum number of days a user can go without authenticating before being
+# considered "inactive" and automatically disabled (locked). This feature is
+# disabled by default; set any value to enable it. This feature depends on the
+# `sql` backend for the `[identity] driver`. When a user exceeds this threshold
+# and is considered "inactive", the user's `enabled` attribute in the HTTP API
+# may not match the value of the user's `enabled` column in the user table.
+# (integer value)
+# Minimum value: 1
+#disable_user_account_days_inactive = <None>
+
+# The maximum number of times that a user can fail to authenticate before the
+# user account is locked for the number of seconds specified by
+# `[security_compliance] lockout_duration`. This feature is disabled by
+# default. If this feature is enabled and `[security_compliance]
+# lockout_duration` is not set, then users may be locked out indefinitely until
+# the user is explicitly enabled via the API. This feature depends on the `sql`
+# backend for the `[identity] driver`. (integer value)
+# Minimum value: 1
+#lockout_failure_attempts = <None>
+
+# The number of seconds a user account will be locked when the maximum number
+# of failed authentication attempts (as specified by `[security_compliance]
+# lockout_failure_attempts`) is exceeded. Setting this option will have no
+# effect unless you also set `[security_compliance] lockout_failure_attempts`
+# to a non-zero value. This feature depends on the `sql` backend for the
+# `[identity] driver`. (integer value)
+# Minimum value: 1
+#lockout_duration = 1800
+
+# The number of days for which a password will be considered valid before
+# requiring it to be changed. This feature is disabled by default. If enabled,
+# new password changes will have an expiration date, however existing passwords
+# would not be impacted. This feature depends on the `sql` backend for the
+# `[identity] driver`. (integer value)
+# Minimum value: 1
+#password_expires_days = <None>
+
+# This controls the number of previous user password iterations to keep in
+# history, in order to enforce that newly created passwords are unique. The
+# total number which includes the new password should not be greater or equal
+# to this value. Setting the value to zero (the default) disables this feature.
+# Thus, to enable this feature, values must be greater than 0. This feature
+# depends on the `sql` backend for the `[identity] driver`. (integer value)
+# Minimum value: 0
+#unique_last_password_count = 0
+
+# The number of days that a password must be used before the user can change
+# it. This prevents users from changing their passwords immediately in order to
+# wipe out their password history and reuse an old password. This feature does
+# not prevent administrators from manually resetting passwords. It is disabled
+# by default and allows for immediate password changes. This feature depends on
+# the `sql` backend for the `[identity] driver`. Note: If
+# `[security_compliance] password_expires_days` is set, then the value for this
+# option should be less than the `password_expires_days`. (integer value)
+# Minimum value: 0
+#minimum_password_age = 0
+
+# The regular expression used to validate password strength requirements. By
+# default, the regular expression will match any password. The following is an
+# example of a pattern which requires at least 1 letter, 1 digit, and have a
+# minimum length of 7 characters: ^(?=.*\d)(?=.*[a-zA-Z]).{7,}$ This feature
+# depends on the `sql` backend for the `[identity] driver`. (string value)
+#password_regex = <None>
+
+# Describe your password regular expression here in language for humans. If a
+# password fails to match the regular expression, the contents of this
+# configuration variable will be returned to users to explain why their
+# requested password was insufficient. (string value)
+#password_regex_description = <None>
+
+# Enabling this option requires users to change their password when the user is
+# created, or upon administrative reset. Before accessing any services,
+# affected users will have to change their password. To ignore this requirement
+# for specific users, such as service users, set the `options` attribute
+# `ignore_change_password_upon_first_use` to `True` for the desired user via
+# the update user API. This feature is disabled by default. This feature is
+# only applicable with the `sql` backend for the `[identity] driver`. (boolean
+# value)
+#change_password_upon_first_use = false
+
+
+[shadow_users]
+
+#
+# From keystone
+#
+
+# Entry point for the shadow users backend driver in the
+# `keystone.identity.shadow_users` namespace. This driver is used for
+# persisting local user references to externally-managed identities (via
+# federation, LDAP, etc). Keystone only provides a `sql` driver, so there is no
+# reason to change this option unless you are providing a custom entry point.
+# (string value)
+#driver = sql
+
+
+[signing]
+
+#
+# From keystone
+#
+
+# DEPRECATED: Absolute path to the public certificate file to use for signing
+# responses to revocation lists requests. Set this together with `[signing]
+# keyfile`. For non-production environments, you may be interested in using
+# `keystone-manage pki_setup` to generate self-signed certificates. (string
+# value)
+# This option is deprecated for removal since P.
+# Its value may be silently ignored in the future.
+# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
+# Pike. These options remain for backwards compatibility.
+#certfile = /etc/keystone/ssl/certs/signing_cert.pem
+
+# DEPRECATED: Absolute path to the private key file to use for signing
+# responses to revocation lists requests. Set this together with `[signing]
+# certfile`. (string value)
+# This option is deprecated for removal since P.
+# Its value may be silently ignored in the future.
+# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
+# Pike. These options remain for backwards compatibility.
+#keyfile = /etc/keystone/ssl/private/signing_key.pem
+
+# DEPRECATED: Absolute path to the public certificate authority (CA) file to
+# use when creating self-signed certificates with `keystone-manage pki_setup`.
+# Set this together with `[signing] ca_key`. There is no reason to set this
+# option unless you are requesting revocation lists in a non-production
+# environment. Use a `[signing] certfile` issued from a trusted certificate
+# authority instead. (string value)
+# This option is deprecated for removal since P.
+# Its value may be silently ignored in the future.
+# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
+# Pike. These options remain for backwards compatibility.
+#ca_certs = /etc/keystone/ssl/certs/ca.pem
+
+# DEPRECATED: Absolute path to the private certificate authority (CA) key file
+# to use when creating self-signed certificates with `keystone-manage
+# pki_setup`. Set this together with `[signing] ca_certs`. There is no reason
+# to set this option unless you are requesting revocation lists in a non-
+# production environment. Use a `[signing] certfile` issued from a trusted
+# certificate authority instead. (string value)
+# This option is deprecated for removal since P.
+# Its value may be silently ignored in the future.
+# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
+# Pike. These options remain for backwards compatibility.
+#ca_key = /etc/keystone/ssl/private/cakey.pem
+
+# DEPRECATED: Key size (in bits) to use when generating a self-signed token
+# signing certificate. There is no reason to set this option unless you are
+# requesting revocation lists in a non-production environment. Use a `[signing]
+# certfile` issued from a trusted certificate authority instead. (integer
+# value)
+# Minimum value: 1024
+# This option is deprecated for removal since P.
+# Its value may be silently ignored in the future.
+# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
+# Pike. These options remain for backwards compatibility.
+#key_size = 2048
+
+# DEPRECATED: The validity period (in days) to use when generating a self-
+# signed token signing certificate. There is no reason to set this option
+# unless you are requesting revocation lists in a non-production environment.
+# Use a `[signing] certfile` issued from a trusted certificate authority
+# instead. (integer value)
+# This option is deprecated for removal since P.
+# Its value may be silently ignored in the future.
+# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
+# Pike. These options remain for backwards compatibility.
+#valid_days = 3650
+
+# DEPRECATED: The certificate subject to use when generating a self-signed
+# token signing certificate. There is no reason to set this option unless you
+# are requesting revocation lists in a non-production environment. Use a
+# `[signing] certfile` issued from a trusted certificate authority instead.
+# (string value)
+# This option is deprecated for removal since P.
+# Its value may be silently ignored in the future.
+# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
+# Pike. These options remain for backwards compatibility.
+#cert_subject = /C=US/ST=Unset/L=Unset/O=Unset/CN=www.example.com
+
+
+[token]
+
+#
+# From keystone
+#
+
+# The amount of time that a token should remain valid (in seconds). Drastically
+# reducing this value may break "long-running" operations that involve multiple
+# services to coordinate together, and will force users to authenticate with
+# keystone more frequently. Drastically increasing this value will increase the
+# number of tokens that will be simultaneously valid. Keystone tokens are also
+# bearer tokens, so a shorter duration will also reduce the potential security
+# impact of a compromised token. (integer value)
+# Minimum value: 0
+# Maximum value: 9223372036854775807
+#expiration = 3600
+
+# Entry point for the token provider in the `keystone.token.provider`
+# namespace. The token provider controls the token construction, validation,
+# and revocation operations. Supported upstream providers are `fernet` and
+# `jws`. Neither `fernet` or `jws` tokens require persistence and both require
+# additional setup. If using `fernet`, you're required to run `keystone-manage
+# fernet_setup`, which creates symmetric keys used to encrypt tokens. If using
+# `jws`, you're required to generate an ECDSA keypair using a SHA-256 hash
+# algorithm for signing and validating token, which can be done with `keystone-
+# manage create_jws_keypair`. Note that `fernet` tokens are encrypted and `jws`
+# tokens are only signed. Please be sure to consider this if your deployment
+# has security requirements regarding payload contents used to generate token
+# IDs. (string value)
+#provider = fernet
+
+# Toggle for caching token creation and validation data. This has no effect
+# unless global caching is enabled. (boolean value)
+#caching = true
+
+# The number of seconds to cache token creation and validation data. This has
+# no effect unless both global and `[token] caching` are enabled. (integer
+# value)
+# Minimum value: 0
+# Maximum value: 9223372036854775807
+#cache_time = <None>
+
+# This toggles support for revoking individual tokens by the token identifier
+# and thus various token enumeration operations (such as listing all tokens
+# issued to a specific user). These operations are used to determine the list
+# of tokens to consider revoked. Do not disable this option if you're using the
+# `kvs` `[revoke] driver`. (boolean value)
+#revoke_by_id = true
+
+# This toggles whether scoped tokens may be re-scoped to a new project or
+# domain, thereby preventing users from exchanging a scoped token (including
+# those with a default project scope) for any other token. This forces users to
+# either authenticate for unscoped tokens (and later exchange that unscoped
+# token for tokens with a more specific scope) or to provide their credentials
+# in every request for a scoped token to avoid re-scoping altogether. (boolean
+# value)
+#allow_rescope_scoped_token = true
+
+# DEPRECATED: This controls whether roles should be included with tokens that
+# are not directly assigned to the token's scope, but are instead linked
+# implicitly to other role assignments. (boolean value)
+# This option is deprecated for removal since R.
+# Its value may be silently ignored in the future.
+# Reason: Default roles depend on a chain of implied role assignments. Ex: an
+# admin user will also have the reader and member role. By ensuring that all
+# these roles will always appear on the token validation response, we can
+# improve the simplicity and readability of policy files.
+#infer_roles = true
+
+# DEPRECATED: Enable storing issued token data to token validation cache so
+# that first token validation doesn't actually cause full validation cycle.
+# This option has no effect unless global caching is enabled and will still
+# cache tokens even if `[token] caching = False`. (boolean value)
+# This option is deprecated for removal since S.
+# Its value may be silently ignored in the future.
+# Reason: Keystone already exposes a configuration option for caching tokens.
+# Having a separate configuration option to cache tokens when they are issued
+# is redundant, unnecessarily complicated, and is misleading if token caching
+# is disabled because tokens will still be pre-cached by default when they are
+# issued. The ability to pre-cache tokens when they are issued is going to rely
+# exclusively on the ``keystone.conf [token] caching`` option in the future.
+#cache_on_issue = true
+
+# This controls the number of seconds that a token can be retrieved for beyond
+# the built-in expiry time. This allows long running operations to succeed.
+# Defaults to two days. (integer value)
+#allow_expired_window = 172800
+
+
+[tokenless_auth]
+
+#
+# From keystone
+#
+
+# The list of distinguished names which identify trusted issuers of client
+# certificates allowed to use X.509 tokenless authorization. If the option is
+# absent then no certificates will be allowed. The format for the values of a
+# distinguished name (DN) must be separated by a comma and contain no spaces.
+# Furthermore, because an individual DN may contain commas, this configuration
+# option may be repeated multiple times to represent multiple values. For
+# example, keystone.conf would include two consecutive lines in order to trust
+# two different DNs, such as `trusted_issuer = CN=john,OU=keystone,O=openstack`
+# and `trusted_issuer = CN=mary,OU=eng,O=abc`. (multi valued)
+#trusted_issuer =
+
+# The federated protocol ID used to represent X.509 tokenless authorization.
+# This is used in combination with the value of `[tokenless_auth]
+# issuer_attribute` to find a corresponding federated mapping. In a typical
+# deployment, there is no reason to change this value. (string value)
+#protocol = x509
+
+# The name of the WSGI environment variable used to pass the issuer of the
+# client certificate to keystone. This attribute is used as an identity
+# provider ID for the X.509 tokenless authorization along with the protocol to
+# look up its corresponding mapping. In a typical deployment, there is no
+# reason to change this value. (string value)
+#issuer_attribute = SSL_CLIENT_I_DN
+
+
+[trust]
+
+#
+# From keystone
+#
+
+# Allows authorization to be redelegated from one user to another, effectively
+# chaining trusts together. When disabled, the `remaining_uses` attribute of a
+# trust is constrained to be zero. (boolean value)
+#allow_redelegation = false
+
+# Maximum number of times that authorization can be redelegated from one user
+# to another in a chain of trusts. This number may be reduced further for a
+# specific trust. (integer value)
+#max_redelegation_count = 3
+
+# Entry point for the trust backend driver in the `keystone.trust` namespace.
+# Keystone only provides a `sql` driver, so there is no reason to change this
+# unless you are providing a custom entry point. (string value)
+#driver = sql
+
+
+[unified_limit]
+
+#
+# From keystone
+#
+
+# Entry point for the unified limit backend driver in the
+# `keystone.unified_limit` namespace. Keystone only provides a `sql` driver, so
+# there's no reason to change this unless you are providing a custom entry
+# point. (string value)
+#driver = sql
+
+# Toggle for unified limit caching. This has no effect unless global caching is
+# enabled. In a typical deployment, there is no reason to disable this.
+# (boolean value)
+#caching = true
+
+# Time to cache unified limit data, in seconds. This has no effect unless both
+# global caching and `[unified_limit] caching` are enabled. (integer value)
+#cache_time = <None>
+
+# Maximum number of entities that will be returned in a role collection. This
+# may be useful to tune if you have a large number of unified limits in your
+# deployment. (integer value)
+#list_limit = <None>
+
+# The enforcement model to use when validating limits associated to projects.
+# Enforcement models will behave differently depending on the existing limits,
+# which may result in backwards incompatible changes if a model is switched in
+# a running deployment. (string value)
+# Possible values:
+# flat - <No description provided>
+# strict_two_level - <No description provided>
+#enforcement_model = flat
+
+
+[wsgi]
+
+#
+# From keystone
+#
+
+# If set to true, this enables the oslo debug middleware in Keystone. This
+# Middleware prints a lot of information about the request and the response. It
+# is useful for getting information about the data on the wire (decoded) and
+# passed to the WSGI application pipeline. This middleware has no effect on the
+# "debug" setting in the [DEFAULT] section of the config file or setting
+# Keystone's log-level to "DEBUG"; it is specific to debugging the WSGI data as
+# it enters and leaves Keystone (specific request-related data). This option is
+# used for introspection on the request and response data between the web
+# server (apache, nginx, etc) and Keystone.  This middleware is inserted as the
+# first element in the middleware chain and will show the data closest to the
+# wire.  WARNING: NOT INTENDED FOR USE IN PRODUCTION. THIS MIDDLEWARE CAN AND
+# WILL EMIT SENSITIVE/PRIVILEGED DATA. (boolean value)
+#debug_middleware = false
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/stx-files/password-rules.conf b/meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/stx-files/password-rules.conf
new file mode 100644 (file)
index 0000000..6ecd43c
--- /dev/null
@@ -0,0 +1,35 @@
+
+# The password rules captures the [security_compliance]
+# section of the generic Keystone configuration (keystone.conf)
+# This configuration is used to statically define the password
+# rules for password validation in pre-Keystone environments
+#
+# N.B: Only set non-default keys here (default commented configuration
+# items not needed)
+
+[security_compliance]
+
+#
+# From keystone
+#
+
+# This controls the number of previous user password iterations to keep in
+# history, in order to enforce that newly created passwords are unique. Setting
+# the value to one (the default) disables this feature. Thus, to enable this
+# feature, values must be greater than 1. This feature depends on the `sql`
+# backend for the `[identity] driver`. (integer value)
+# Minimum value: 1
+unique_last_password_count = 2
+
+# The regular expression used to validate password strength requirements. By
+# default, the regular expression will match any password. The following is an
+# example of a pattern which requires at least 1 letter, 1 digit, and have a
+# minimum length of 7 characters: ^(?=.*\d)(?=.*[a-zA-Z]).{7,}$ This feature
+# depends on the `sql` backend for the `[identity] driver`. (string value)
+password_regex = ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()<>{}+=_\\\[\]\-?|~`,.;:]).{7,}$
+
+# Describe your password regular expression here in language for humans. If a
+# password fails to match the regular expression, the contents of this
+# configuration variable will be returned to users to explain why their
+# requested password was insufficient. (string value)
+password_regex_description = Password must have a minimum length of 7 characters, and must contain at least 1 upper case, 1 lower case, 1 digit, and 1 special character
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/wsgi-keystone.conf b/meta-starlingx/meta-stx-integ/recipes-devtools/python/files/python-keystone/wsgi-keystone.conf
new file mode 100644 (file)
index 0000000..7f0b6c6
--- /dev/null
@@ -0,0 +1,53 @@
+
+Listen 5000
+Listen 35357
+
+<VirtualHost *:5000>
+    WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
+    WSGIProcessGroup keystone-public
+    WSGIScriptAlias / /usr/bin/keystone-wsgi-public
+    WSGIApplicationGroup %{GLOBAL}
+    WSGIPassAuthorization On
+    ErrorLogFormat "%{cu}t %M"
+    ErrorLog /var/log/apache2/keystone.log
+    CustomLog /var/log/apache2/keystone_access.log combined
+
+    <Directory /usr/bin>
+        Require all granted
+    </Directory>
+</VirtualHost>
+
+<VirtualHost *:35357>
+    WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
+    WSGIProcessGroup keystone-admin
+    WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
+    WSGIApplicationGroup %{GLOBAL}
+    WSGIPassAuthorization On
+    ErrorLogFormat "%{cu}t %M"
+    ErrorLog /var/log/apache2/keystone.log
+    CustomLog /var/log/apache2/keystone_access.log combined
+
+    <Directory /usr/bin>
+        Require all granted
+    </Directory>
+</VirtualHost>
+
+Alias /identity /usr/bin/keystone-wsgi-public
+<Location /identity>
+    SetHandler wsgi-script
+    Options +ExecCGI
+
+    WSGIProcessGroup keystone-public
+    WSGIApplicationGroup %{GLOBAL}
+    WSGIPassAuthorization On
+</Location>
+
+Alias /identity_admin /usr/bin/keystone-wsgi-admin
+<Location /identity_admin>
+    SetHandler wsgi-script
+    Options +ExecCGI
+
+    WSGIProcessGroup keystone-admin
+    WSGIApplicationGroup %{GLOBAL}
+    WSGIPassAuthorization On
+</Location>
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-3parclient_4.2.3.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-3parclient_4.2.3.bb
new file mode 100644 (file)
index 0000000..7e94afc
--- /dev/null
@@ -0,0 +1,12 @@
+
+DESCRIPTION = "HPE 3PAR HTTP REST Client"
+HOMEPAGE = "https://pythonhosted.org/python-3parclient/"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=c6f4d3b3208673edc0228bbc3ad053cc"
+
+SRC_URI[md5sum] = "845e688b5607a71fc307e8371daf5d40"
+SRC_URI[sha256sum] = "fcd1c5c7d9356f4244a6c0b2b6dd6c64366399642c348b02999ea8fbf79e3a8d"
+
+PYPI_PACKAGE = "python-3parclient"
+inherit setuptools pypi
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-adal_1.0.2.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-adal_1.0.2.bb
new file mode 100644 (file)
index 0000000..d48b014
--- /dev/null
@@ -0,0 +1,27 @@
+
+DESCRIPTION = "Microsoft Azure Active Directory Authentication Library (ADAL) for Python"
+HOMEPAGE = "https://github.com/AzureAD/azure-activedirectory-library-for-python"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=2;endline=27;md5=43b81fae9d7baa1f0b1c9774a68ca33a"
+
+
+inherit pypi setuptools
+
+PYPI_PACKAGE = "adal"
+
+SRC_URI[md5sum] = "895791621c696fbbb00dee975260f890" 
+SRC_URI[sha256sum] = "4c020807b3f3cfd90f59203077dd5e1f59671833f8c3c5028ec029ed5072f9ce"
+
+RDEPENDS_${PN} += " \
+       ${PYTHON_PN}-requests \
+       ${PYTHON_PN}-dateutil \
+       ${PYTHON_PN}-pyjwt \
+       ${PYTHON_PN}-crypt \
+       ${PYTHON_PN}-datetime \
+       ${PYTHON_PN}-json \
+       ${PYTHON_PN}-logging \
+       ${PYTHON_PN}-netclient \
+       ${PYTHON_PN}-threading \
+       ${PYTHON_PN}-xml \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-alabaster_0.7.12.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-alabaster_0.7.12.bb
new file mode 100644 (file)
index 0000000..fb1984c
--- /dev/null
@@ -0,0 +1,15 @@
+
+DESCRIPTION = " \
+       Alabaster is a visually (c)lean, responsive, configurable theme for the \
+       Sphinx documentation system. It is Python 2+3 compatible. \
+       "
+HOMEPAGE = "https://alabaster.readthedocs.io/en/latest/"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=da053683d66d543813a727e8a30c96ca"
+
+SRC_URI[md5sum] = "3591827fde96d1dd23970fb05410ed04"
+SRC_URI[sha256sum] = "a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"
+
+PYPI_PACKAGE = "alabaster"
+inherit setuptools pypi
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-amqp_2.5.2.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-amqp_2.5.2.bb
new file mode 100644 (file)
index 0000000..b60d652
--- /dev/null
@@ -0,0 +1,16 @@
+
+DESCRIPTION = "Low-level AMQP client for Python"
+HOMEPAGE = "https://pypi.python.org/pypi/amqp/"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9d6ba772ac59c08a25a12ce15bd5f27b"
+
+SRC_URI[md5sum] = "852ecff645c00f124c78915fcc8ea7c0"
+SRC_URI[sha256sum] = "77f1aef9410698d20eaeac5b73a87817365f457a507d82edf292e12cbb83b08d"
+
+PYPI_PACKAGE = "amqp"
+inherit setuptools pypi
+
+RDEPENDS_${PN} += " \
+       python-vine \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-aniso8601_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-aniso8601_git.bb
new file mode 100644 (file)
index 0000000..37d041b
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "Another ISO 8601 parser for Python"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bf2bdb115b4d685026985cc189ca5375"
+
+SRCREV = "b5aad0fbef5664e624986a10bd1362e0ac05214c"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "7.0.0+git${SRCPV}"
+
+SRC_URI = "git://bitbucket.org/nielsenb/aniso8601.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-aodhclient_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-aodhclient_git.bb
new file mode 100644 (file)
index 0000000..735060d
--- /dev/null
@@ -0,0 +1,47 @@
+
+DESCRIPTION = "client library for Aodh built on the Aodh API"
+HOMEPAGE = "https://launchpad.net/python-aodhclient"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRCREV = "6d03e61986418a3a95635405ae65ae9f28a5c61e"
+SRCNAME = "python-aodhclient"
+BRANCH = "stable/train"
+PROTOCOL = "https"
+PV = "1.2.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+       
+inherit setuptools monitor rmargparse
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native\
+        "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+        python-pbr \
+        python-cliff \
+        python-oslo.i18n \
+        python-oslo.serialization \
+        python-oslo.utils \
+        python-keystoneauth1 \
+        python-six \
+        python-osc-lib \
+       python-pyparsing \
+       "
+
+
+do_install_append() {
+       :
+}
+
+FILES_${PN} += " \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-backports-init_1.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-backports-init_1.0.bb
new file mode 100644 (file)
index 0000000..2db0de3
--- /dev/null
@@ -0,0 +1,26 @@
+
+SUMMARY = "Helper package to avoid backports/__init__.py conflicts"
+DETAIL = "backports packages in python2 suffer from a flaw in the namespace \
+implementation and can conflict with each other. For OE purposes, at least \
+fix the conflicting install of .../site-packages/backports/__init__.py"
+AUTHOR = "Tim Orling <ticotimo@gmail.com>"
+SECTION = "devel/python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI = "file://backports/__init__.py"
+
+inherit python-dir
+
+# provide to avoid warnings
+do_compile() {
+    :
+}
+
+do_install() {
+    install -d ${D}${PYTHON_SITEPACKAGES_DIR}/backports
+    install ${WORKDIR}/backports/__init__.py ${D}${PYTHON_SITEPACKAGES_DIR}/backports/
+}
+
+FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/backports/__init__.py"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-barbican_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-barbican_git.bb
new file mode 100644 (file)
index 0000000..b96d2c8
--- /dev/null
@@ -0,0 +1,155 @@
+
+DESCRIPTION = "Barbican is a ReST API designed for the secure storage, provisioning and management of secrets."
+HOMEPAGE = "https://wiki.openstack.org/wiki/Barbican"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fc8be9e7dffe97390d1216b01fd0be01"
+
+PR = "r0"
+SRCNAME = "barbican"
+BARBICAN_MAX_PACKET_SIZE ?= "65535"
+
+SRC_URI = " \
+       git://github.com/openstack/barbican.git;branch=${BRANCH} \
+       file://${BPN}/barbican-fix-path-to-find-configuration-files.patch \
+       file://${BPN}/openstack-barbican-api.service \
+       file://${BPN}/openstack-barbican-worker.service \
+       file://${BPN}/openstack-barbican-keystone-listener.service \
+       file://${BPN}/gunicorn-config.py \
+       "
+
+SRCREV = "4c0ddda941289fba8e5ec4341b5d02d155d46162"
+BRANCH = "stable/stein"
+PV = "8.0.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+inherit update-rc.d setuptools identity hosts useradd default_configs monitor systemd
+
+SYSTEMD_SERVICE_${SRCNAME} = " \
+       openstack-barbican-api.service \
+       openstack-barbican-worker.service \
+       openstack-barbican-keystone-listener.service \
+       "
+
+SYSTEMD_AUTO_ENABLE_${SRCNAME} = "disable"
+
+SERVICECREATE_PACKAGES = "${SRCNAME}-setup"
+KEYSTONE_HOST="${CONTROLLER_IP}"
+
+# USERCREATE_PARAM and SERVICECREATE_PARAM contain the list of parameters to be set.
+# If the flag for a parameter in the list is not set here, the default value will be given to that parameter.
+# Parameters not in the list will be set to empty.
+
+USERCREATE_PARAM_${SRCNAME}-setup = "name pass tenant role email"
+SERVICECREATE_PARAM_${SRCNAME}-setup = "name type description region publicurl adminurl internalurl"
+python () {
+    flags = {'type':'keystore',\
+             'description':'Barbican Key Management Service',\
+             'publicurl':"'http://${KEYSTONE_HOST}:9311/v1'",\
+             'adminurl':"'http://${KEYSTONE_HOST}:9312/v1'",\
+             'internalurl':"'http://${KEYSTONE_HOST}:9313/v1'"}
+    d.setVarFlags("SERVICECREATE_PARAM_%s-setup" % d.getVar('SRCNAME',True), flags)
+}
+SERVICECREATE_PACKAGES[vardeps] += "KEYSTONE_HOST"
+
+do_install_append() {
+    TEMPLATE_CONF_DIR=${S}${sysconfdir}/${SRCNAME}
+    BARBICAN_CONF_DIR=${D}${sysconfdir}/${SRCNAME}
+
+    install -d ${BARBICAN_CONF_DIR}
+    cp -r ${TEMPLATE_CONF_DIR}/* ${BARBICAN_CONF_DIR}
+
+    install -d ${D}${localstatedir}/lib/barbican
+
+    # Install the systemd service files
+    install -d ${D}${systemd_system_unitdir}/
+    install -m 644 ${WORKDIR}/${BPN}/*.service ${D}${systemd_system_unitdir}
+
+    # python-gunicorn and gunicorn-config.py are required by openstack-barbican-api.service
+    install -m 644 ${WORKDIR}/${PN}/gunicorn-config.py ${BARBICAN_CONF_DIR}
+
+    # Modify barbican-api-paste.ini for gunicorn
+    echo '[server:main]' >> ${BARBICAN_CONF_DIR}/barbican-api-paste.ini
+    echo 'use = egg:gunicorn#main' >> ${BARBICAN_CONF_DIR}/barbican-api-paste.ini
+
+    sed -e "s:%BARBICAN_CONF_DIR%:${sysconfdir}/${SRCNAME}:g" \
+        -i ${D}/${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/tests/api/test_resources_policy.py
+
+    install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
+    echo "d ${localstatedir}/log/barbican 0750 barbican barbican -" >> ${D}/${sysconfdir}/tmpfiles.d/barbican.conf
+}
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM_${PN} = "--system barbican"
+USERADD_PARAM_${PN}  = "--system --home /var/lib/barbican -g barbican \
+                        --no-create-home --shell /bin/false barbican"
+
+PACKAGES += "${SRCNAME} \
+             ${SRCNAME}-setup "
+
+FILES_${PN} = "${libdir}/* \
+"
+FILES_${SRCNAME} = "${sysconfdir}/${SRCNAME}/* \
+                    ${sysconfdir}/init.d/barbican-api \
+                   ${bindir} \
+                   ${bindir}/* \
+                    ${localstatedir}/* \
+                    ${systemd_system_unitdir} \
+"
+
+ALLOW_EMPTY_${SRCNAME}-setup = "1"
+pkg_postinst_${SRCNAME}-setup () {
+    if [ -z "$D" ]; then
+        chown -R barbican:barbican ${sysconfdir}/${SRCNAME}
+        chown -R barbican:barbican ${localstatedir}/lib/barbican
+    fi
+}
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native \
+        "
+
+RDEPENDS_${SRCNAME} = "${PN} \
+                       ${SRCNAME}-setup \
+                       uwsgi \
+                       python-falcon \
+                       python-oslo.messaging"
+
+RDEPENDS_${PN} += " \
+        python-pip \
+        python-pbr \
+        python-alembic \
+        python-babel \
+        python-eventlet \
+        python-falcon \
+        python-iso8601 \
+        python-jsonschema \
+        python-kombu \
+        python-netaddr \
+        python-pastedeploy \
+        python-paste \
+        python-pycrypto \
+        python-keystoneclient \
+        python-sqlalchemy \
+        python-stevedore \
+        python-webob \
+        python-wsgiref \
+        python-barbicanclient \
+        python-gunicorn \
+       python-castellan \
+       python-ldap3 \
+        "
+
+INITSCRIPT_PACKAGES = "${SRCNAME}"
+INITSCRIPT_NAME_${SRCNAME} = "barbican-api"
+INITSCRIPT_PARAMS_${SRCNAME} = "${OS_DEFAULT_INITSCRIPT_PARAMS}"
+
+MONITOR_SERVICE_PACKAGES = "${SRCNAME}"
+MONITOR_SERVICE_${SRCNAME} = "barbican"
+
+
+FILES_${PN}_append = " \
+       ${datadir}/ \
+       ${sysconfdir}/tmpfiles.d/barbican.conf \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-beaker_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-beaker_git.bb
new file mode 100644 (file)
index 0000000..8dfcde8
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "Beaker is a web session and general caching library that includes WSGI middleware for use in web applications."
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5297e0e46f5be6c86a87e35afe958cc7"
+
+SRCREV = "4a2cb747c16dc58af39b1ae56e1cf14dfeb9c9a7"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "1.10.1+git${SRCPV}"
+
+SRC_URI = "git://github.com/bbangert/beaker;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-castellan_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-castellan_git.bb
new file mode 100644 (file)
index 0000000..a9fc224
--- /dev/null
@@ -0,0 +1,35 @@
+
+DESCRIPTION = "Generic Key Manager interface for OpenStack"
+HOMEPAGE = "https://github.com/openstack/castellan"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRCREV = "8e2929b8779eaa03f15a25da5cf64ef8539a026b"
+SRCNAME = "castellan"
+PROTOCOL = "https"
+BRANCH = "stable/stein"
+S = "${WORKDIR}/git"
+PV = "0.17.0+git${SRCPV}"
+
+SRC_URI = "git://opendev.org/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+        python-pbr \
+        python-babel \
+        python-cryptography \
+        python-barbicanclient \
+        python-oslo.config \
+        python-oslo.context \
+        python-oslo.i18n \
+        python-oslo.log \
+        python-oslo.utils \
+        python-keystoneauth1 \
+        "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-cherrypy_3.2.2.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-cherrypy_3.2.2.bb
new file mode 100644 (file)
index 0000000..89fd4fb
--- /dev/null
@@ -0,0 +1,27 @@
+SUMMARY = " CherryPy is a pythonic, object-oriented HTTP framework"
+DESCRIPTION = "\
+It allows building web applications in much the same way one would build any \
+other object-oriented program. This design results in less and more readable \
+code being developed faster. It's all just properties and methods. \
+It is now more than ten years old and has proven fast and very stable. \
+It is being used in production by many sites, from the simplest to the most \
+demanding. \
+"
+
+HOMEPAGE = "https://www.cherrypy.org/"
+AUTHOR = "CherryPy Team"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://cherrypy/LICENSE.txt;md5=c187ff3653a0878075713adef2c545c3"
+
+SRC_URI = "https://pypi.python.org/packages/source/C/CherryPy/CherryPy-${PV}.tar.gz"
+SRC_URI[md5sum] = "c1b1e9577f65f9bb88bfd1b15b93b911"
+SRC_URI[sha256sum] = "dc5a88562795c2ee462dac5b37aba1cf4f34f3e27281ec11049227039308b691"
+
+S = "${WORKDIR}/CherryPy-${PV}"
+
+inherit setuptools
+
+FILES_${PN} += "\
+    ${datadir}/cherrypy \
+"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-cinderclient_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-cinderclient_git.bb
new file mode 100644 (file)
index 0000000..c894e41
--- /dev/null
@@ -0,0 +1,48 @@
+
+DESCRIPTION = "Client for the OpenStack Cinder API"
+HOMEPAGE = "https://opendev.org/openstack/python-cinderclient"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3572962e13e5e739b30b0864365e0795"
+
+SRCREV = "4e17e1d1912f1902a37e4db543e38cdbe3961358"
+SRCNAME = "python-cinderclient"
+BRANCH = "stable/train"
+PROTOCOL = "https"
+PV = "4.1.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native\
+        "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+       bash \
+       python-pbr \
+       python-prettytable \
+       python-keystoneauth1 \
+       python-oslo.i18n \
+       python-oslo.utils \
+       python-six \
+       python-osc-lib \
+       python-babel \
+       python-requests \
+       python-simplejson \
+       "
+
+
+do_install_append() {
+       install -d -m 755 ${D}/${sysconfdir}/bash_completion.d
+       install -p -D -m 664 tools/cinder.bash_completion ${D}/${sysconfdir}/bash_completion.d/cinder.bash_completion
+        
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-cliff_2.14.1.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-cliff_2.14.1.bb
new file mode 100644 (file)
index 0000000..0f828db
--- /dev/null
@@ -0,0 +1,33 @@
+
+DESCRIPTION = "Command Line Interface Formulation Framework"
+HOMEPAGE = "https://github.com/dreamhost/cliff"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[md5sum] = "4c5d43d98970c79b091e25676cce2b10"
+SRC_URI[sha256sum] = "b47387a344898ccb28ca7f386f017ade9eb66dc1713e5c642a0bc09ec606cc67"
+
+inherit setuptools pypi
+
+DEPENDS += "\
+    python-pbr \
+    "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+    python-pbr-native \
+    "
+
+RDEPENDS_${PN} += "python-prettytable \
+            python-cmd2 \
+            python-pbr \
+            python-pyparsing \
+            python-prettytable \
+            python-six \
+            python-stevedore \
+            python-unicodecsv \
+            python-pyyaml \
+"
+
+CLEANBROKEN = "1"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-configobj_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-configobj_git.bb
new file mode 100644 (file)
index 0000000..6e8db9f
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "ConfigObj is a simple but powerful config file reader and writer: an ini file round tripper. Its main feature is that it is very easy to use, with a straightforward programmer’s interface and a simple syntax for config files."
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9a851af36881461de16b8fecf59a9e17"
+
+SRCREV = "45fbf1b85b181853caea4d251e6d4c0232735e85"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "5.0.6+git${SRCPV}"
+
+SRC_URI = "git://github.com/DiffSK/configobj;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-configshell_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-configshell_git.bb
new file mode 100644 (file)
index 0000000..0795518
--- /dev/null
@@ -0,0 +1,19 @@
+
+DESCRIPTION = " \
+ConfigShell is a Python library that provides a framework for building simple but nice CLI-based applications running both as single-command tools and interactive shells providing a UNIX filesystem-like navigation interface, as well as full autocompletion support and interactive inline help. It is part of LIO. \
+       "
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRCREV = "020d540850ca36f31af68e9b545a520f1122ea69"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "1.6+git${SRCPV}"
+
+SRC_URI = "git://github.com/Datera/configshell.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python python-pyparsing-native"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-construct_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-construct_git.bb
new file mode 100644 (file)
index 0000000..66e95ef
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "Construct is a powerful declarative and symmetrical parser and builder for binary data"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3fd0f2c25089e629957285e6bc402a20"
+
+SRCREV = "a6a45f09da003b278cc5955486ad17d9144c136b"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "v2.9.46+git${SRCPV}"
+
+SRC_URI = "git://github.com/construct/construct.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python python-pbr-native"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-d2to1_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-d2to1_git.bb
new file mode 100644 (file)
index 0000000..96191a0
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "d2to1 (the ‘d’ is for ‘distutils’) allows using distutils2-like setup.cfg files for a package’s metadata with a distribute/setuptools setup.py script. It works by providing a distutils2-formatted setup.cfg file containing all of a package’s metadata, and a very minimal setup.py which will slurp its arguments from the setup.cfg."
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ec5c9882880dafb7f5a0b8d2642ea581"
+
+SRCREV = "d16d8fdcec77a6d3fcbd10ce23aa8810d8dd3bf2"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "0.2.12.post1+git${SRCREV}"
+
+SRC_URI = "git://github.com/embray/d2to1;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-dateutil.inc b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-dateutil.inc
new file mode 100644 (file)
index 0000000..fb59b61
--- /dev/null
@@ -0,0 +1,24 @@
+
+SUMMARY = "Extensions to the standard Python datetime module"
+DESCRIPTION = "The dateutil module provides powerful extensions to the datetime module available in the Python standard library."
+HOMEPAGE = "https://dateutil.readthedocs.org"
+LICENSE = "BSD-3-Clause & Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3155c7bdc71f66e02678411d2abf996"
+
+SRC_URI[md5sum] = "f2a1d4b680b297b367a974664ca3a4f6"
+SRC_URI[sha256sum] = "73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"
+
+PYPI_PACKAGE = "python-dateutil"
+inherit pypi
+
+PACKAGES =+ "${PN}-zoneinfo"
+FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+RDEPENDS_${PN}_class-target = "\
+    ${PYTHON_PN}-datetime \
+    ${PYTHON_PN}-numbers \
+    ${PYTHON_PN}-six \
+    ${PYTHON_PN}-stringold \
+"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-dateutil_2.8.1.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-dateutil_2.8.1.bb
new file mode 100644 (file)
index 0000000..0d1290f
--- /dev/null
@@ -0,0 +1,3 @@
+
+inherit setuptools
+require python-dateutil.inc
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-defusedxml_0.6.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-defusedxml_0.6.0.bb
new file mode 100644 (file)
index 0000000..fa058fc
--- /dev/null
@@ -0,0 +1,12 @@
+
+SUMMARY = "defusedxml -- defusing XML bombs and other exploits"
+HOMEPAGE = "https://github.com/tiran/defusedxml"
+
+LICENSE = "Python-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=056fea6a4b395a24d0d278bf5c80249e"
+#a5c8025e305fb49e6d405769358851f6
+
+SRC_URI[md5sum] = "a59741f675c4cba649de40a99f732897"
+SRC_URI[sha256sum] = "f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5"
+
+inherit pypi setuptools
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django-babel_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django-babel_git.bb
new file mode 100644 (file)
index 0000000..cccda81
--- /dev/null
@@ -0,0 +1,25 @@
+
+DESCRIPTION = "Tools for using Babel with Django"
+HOMEPAGE = "https://github.com/python-babel/django-babel"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5ae97ab65116b8d7890c59de57577b46"
+
+SRCREV = "1da5c0ba7ef3b12810154d9e64b3e847ecbb06cc"
+SRCNAME = "django-babel"
+BRANCH = "master"
+PROTOCOL = "https"
+PV = "0.6.2+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/python-babel/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+       
+inherit setuptools
+
+DEPENDS += " python-pip"
+
+RDEPENDS_${PN}_append = " \
+       python-django \
+       python-babel \
+       "
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django-debreach_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django-debreach_git.bb
new file mode 100644 (file)
index 0000000..4d398b5
--- /dev/null
@@ -0,0 +1,18 @@
+
+DESCRIPTION = "Simple database sharding (horizontal partitioning) library for Django applications."
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=04c6b8f6ee56b21d30ecb172b066902c"
+
+
+SRCREV = "b425bb719ea5de583fae7db5b7419e5fed569cb0"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "1.5.2+git${SRCPV}"
+
+SRC_URI = "git://github.com/lpomfrey/django-debreach.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django-horizon_15.1.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django-horizon_15.1.0.bb
new file mode 100644 (file)
index 0000000..b4638ea
--- /dev/null
@@ -0,0 +1,88 @@
+
+DESCRIPTION = "Simple database sharding (horizontal partitioning) library for Django applications."
+HOMEPAGE = "http://horizon.openstack.org/"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+inherit setuptools 
+
+SRC_URI[md5sum] = "21c32ba58806b351ede4eca6804e6d3e"
+SRC_URI[sha256sum] = "25cf663f8f9a0233edbd5ba322acc28805fca684df28290c3e62a79abf6724e9"
+
+S = "${WORKDIR}/horizon-${PV}"
+
+SRC_URI = "https://tarballs.openstack.org/horizon/horizon-${PV}.tar.gz"
+
+DEPENDS += " \
+       python-pip \
+       python-pbr-native \
+       "
+
+
+RDEPENDS_${PN} = " \
+       python-pbr \
+       python-babel \
+       python-django \
+       python-django \
+       python-django-babel \
+       python-django-compressor \
+       python-django-debreach \
+       python-django-pyscss \
+       python-futurist \
+       python-iso8601 \
+       python-keystoneauth1 \
+       python-netaddr \
+       python-oslo.concurrency \
+       python-oslo.config \
+       python-oslo.i18n \
+       python-oslo.policy \
+       python-oslo.serialization \
+       python-oslo.upgradecheck \
+       python-oslo.utils \
+       python-osprofiler \
+       python-pint \
+       python-pymongo \
+       python-pyscss \
+       python-cinderclient \
+       python-glanceclient \
+       python-keystoneclient \
+       python-neutronclient \
+       python-novaclient \
+       python-swiftclient \
+       python-pytz \
+       python-pyyaml \
+       python-requests \
+       python-semantic-version \
+       python-six \
+       python-xstatic \
+       python-xstatic-angular \
+       python-xstatic-angular-bootstrap \
+       python-xstatic-angular-fileupload \
+       python-xstatic-angular-gettext \
+       python-xstatic-angular-lrdragndrop \
+       python-xstatic-angular-schema-form \
+       python-xstatic-bootstrap-datepicker \
+       python-xstatic-bootstrap-scss \
+       python-xstatic-bootswatch \
+       python-xstatic-d3 \
+       python-xstatic-hogan \
+       python-xstatic-font-awesome \
+       python-xstatic-jasmine \
+       python-xstatic-jquery \
+       python-xstatic-jquery-migrate \
+       python-xstatic-jquery.quicksearch \
+       python-xstatic-jquery.tablesorter \
+       python-xstatic-jquery-ui \
+       python-xstatic-jsencrypt \
+       python-xstatic-mdi \
+       python-xstatic-objectpath \
+       python-xstatic-mdi \
+       python-xstatic-objectpath \
+       python-xstatic-rickshaw \
+       python-xstatic-roboto-fontface \
+       python-xstatic-smart-table \
+       python-xstatic-spin \
+       python-xstatic-term.js \
+       python-xstatic-tv4 \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django-openstack-auth_git.bbappend b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django-openstack-auth_git.bbappend
new file mode 100644 (file)
index 0000000..9ab845a
--- /dev/null
@@ -0,0 +1,4 @@
+
+DEPENDS += "\
+       python-pbr-native \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django_git.bb
new file mode 100644 (file)
index 0000000..b81116d
--- /dev/null
@@ -0,0 +1,22 @@
+
+DESCRIPTION = "client library for Aodh built on the Aodh API"
+HOMEPAGE = "https://launchpad.net/python-aodhclient"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause & Python-2.0"
+LIC_FILES_CHKSUM = " \
+       file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa\
+       file://LICENSE.python;md5=6b60258130e4ed10d3101517eb5b9385 \
+       "
+
+SRCREV = "1c9cb948d7b0c264d244763b6682ab790a6b90a0"
+SRCNAME = "django"
+BRANCH = "stable/1.11.x"
+PROTOCOL = "https"
+PV = "1.11.20+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/django/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+       
+inherit setuptools
+
+FILES_${PN} += "${datadir}/django/"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django_git.bbappend b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-django_git.bbappend
new file mode 100644 (file)
index 0000000..de9a313
--- /dev/null
@@ -0,0 +1,9 @@
+
+do_install_append() {
+    install -d ${D}/${sysconfdir}/bash_completion.d
+    install -m 755 ${S}/extras/django_bash_completion ${D}/${sysconfdir}/bash_completion.d 
+}
+
+PACKAGES =+ "${PN}-bash-completion"
+
+FILES_${PN}-bash-completion = "${sysconfdir}/bash_completion.d/*"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-docker_3.3.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-docker_3.3.0.bb
new file mode 100644 (file)
index 0000000..75bff13
--- /dev/null
@@ -0,0 +1,16 @@
+
+DESCRIPTION = "A Python library for the Docker Engine API"
+HOMEPAGE = "https://pypi.org/project/docker/3.3.0"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34f3846f940453127309b920eeb89660"
+
+SRC_URI[md5sum] = "660c3c0c3776cb88f34fc549d7c89ed2"
+SRC_URI[sha256sum] = "dc5cc0971a0d36fe94c5ce89bd4adb6c892713500af7b0818708229c3199911a"
+
+inherit setuptools pypi
+
+RDEPENDS_${PN}_append = " \
+       python-docker-pycreds \
+       python-backports-ssl \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ethtool_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ethtool_git.bb
new file mode 100644 (file)
index 0000000..7addcd0
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "Python bindings for the ethtool kernel interface"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRCREV = "b8b09b69ef6d4f8a6f12a6c441305790060dd829"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "0.14+git${SRCPV}"
+
+SRC_URI = "git://github.com/fedora-python/python-ethtool.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " libnl python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-eventlet_0.18.4.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-eventlet_0.18.4.bb
new file mode 100644 (file)
index 0000000..db3ded1
--- /dev/null
@@ -0,0 +1,16 @@
+DESCRIPTION = "Highly concurrent networking library"
+HOMEPAGE = "http://pypi.python.org/pypi/eventlet"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=56472ad6de4caf50e05332a34b66e778"
+
+SRC_URI[md5sum] = "8d1c646d8cc10a4958c92fe8a30f3676"
+SRC_URI[sha256sum] = "74ef11d67ee5e85e009b0fced733c907620bca1ab8e6b0489d9f247405ab2685"
+
+inherit setuptools pypi
+
+RDEPENDS_${PN} += " \
+    python-enum34 \
+    python-enum-compat \
+    python-greenlet \
+    "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-firewall_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-firewall_git.bb
new file mode 100644 (file)
index 0000000..66b8f73
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "Temporarily allow access to your current IP address into security groups, and automatically closes the hole when quitting. Convenient for SSH-ing into a box from a home or from any off-site location without worrying about leaving SSH open to the world or dealing with VPN."
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7f1e0f09645893c55fb92d53ccea0a57"
+
+SRCREV = "59b63088b8b791cc495d809240f94fddaa87dc55"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "0.2.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/mattrobenolt/firewall;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-futurist_1.8.1.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-futurist_1.8.1.bb
new file mode 100644 (file)
index 0000000..3d831e8
--- /dev/null
@@ -0,0 +1,26 @@
+
+DESCRIPTION = "Useful additions to futures, from the future"
+HOMEPAGE = "https://pypi.python.org/pypi/futurist"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRC_URI[md5sum] = "3e5a4b8254ded1624ec807cb7ae04ba5"
+SRC_URI[sha256sum] = "499ee57728a987028725f836ac22aa18899702162fa0a0f1bbe2ecd5c8daf1eb"
+
+inherit setuptools pypi
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+        python-pbr \
+        python-six \
+        python-monotonic \
+        python-futures \
+        python-contextlib2 \
+        python-prettytable \
+        "
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-glanceclient_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-glanceclient_git.bb
new file mode 100644 (file)
index 0000000..bb22437
--- /dev/null
@@ -0,0 +1,46 @@
+
+DESCRIPTION = "Client library for Glance built on the OpenStack Images API."
+HOMEPAGE = "https://opendev.org/openstack/python-glanceclient"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
+
+SRCREV = "44a4dbd6ce2642daeaca9f45ac99e2d1b39e805a"
+SRCNAME = "python-glanceclient"
+BRANCH = "stable/train"
+PROTOCOL = "https"
+PV = "2.16.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+       
+inherit setuptools monitor rmargparse
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native\
+        "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+       bash \
+        python-pbr \
+        python-prettytable \
+        python-keystoneauth1 \
+       python-warlock \
+        python-six \
+        python-oslo.utils \
+        python-oslo.i18n \
+       python-wrapt \
+       python-pyopenssl \
+       "
+
+
+do_install_append() {
+       install -d -m 755 ${D}/${sysconfdir}/bash_completion.d
+       install -p -D -m 664 tools/glance.bash_completion ${D}/${sysconfdir}/bash_completion.d/glance
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-gnocchiclient_7.0.4.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-gnocchiclient_7.0.4.bb
new file mode 100644 (file)
index 0000000..12c11d2
--- /dev/null
@@ -0,0 +1,22 @@
+
+DESCRIPTION = "python-gnocchiclient"
+STABLE = "master"
+PROTOCOL = "https"
+BRANCH = "master"
+SRCREV = "64814b9ace54e0151e9c28f4e57b87dafc984241"
+S = "${WORKDIR}/git"
+PV = "7.0.4"
+
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRC_URI = "git://github.com/gnocchixyz/python-gnocchiclient.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+DEPENDS += " \
+       python \
+       python-pbr-native \
+       "
+
+RDEPENDS_${PN}_append = " python-ujson"
+
+inherit setuptools
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-google-auth_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-google-auth_git.bb
new file mode 100644 (file)
index 0000000..4258427
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "This library simplifies using Google’s various server-to-server authentication mechanisms to access Google APIs."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+SRCREV = "1322d896ba725b8d73fd7ac4793601d9f574a839"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "1.6.3+git${SRCPV}"
+
+SRC_URI = "git://github.com/googleapis/google-auth-library-python.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-gunicorn_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-gunicorn_git.bb
new file mode 100644 (file)
index 0000000..38ebaaa
--- /dev/null
@@ -0,0 +1,20 @@
+DESCRIPTION = "Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX. \
+It's a pre-fork worker model ported from Ruby's Unicorn project. \
+The Gunicorn server is broadly compatible with various web frameworks, \
+simply implemented, light on server resource usage, and fairly speedy."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=03ccc2b0215ca2a4b1e5f3c5483807f9"
+
+
+SRCREV = "328e509260ae70de6c04c5ba885ee17960b3ced5"
+PROTOCOL = "https"
+BRANCH = "19.x"
+S = "${WORKDIR}/git"
+PV = "19.7.1+git${SRCPV}"
+
+SRC_URI = "git://github.com/benoitc/gunicorn.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-horizon_git.bbappend b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-horizon_git.bbappend
new file mode 100644 (file)
index 0000000..9ab845a
--- /dev/null
@@ -0,0 +1,4 @@
+
+DEPENDS += "\
+       python-pbr-native \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-imagesize_1.2.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-imagesize_1.2.0.bb
new file mode 100644 (file)
index 0000000..3f9504d
--- /dev/null
@@ -0,0 +1,14 @@
+
+DESCRIPTION = " \
+       This module analyzes JPEG/JPEG 2000/PNG/GIF/TIFF/SVG image headers and returns image size. \
+       "
+HOMEPAGE = "https://github.com/shibukawa/imagesize_py"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=0c128f0f7e8a02e1b83884c0b5a41cda"
+
+SRC_URI[md5sum] = "3a1e124594183778a8f87e4bcdb6dca9"
+SRC_URI[sha256sum] = "b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"
+
+PYPI_PACKAGE = "imagesize"
+inherit setuptools pypi
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-importlib-metadata_0.23.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-importlib-metadata_0.23.bb
new file mode 100644 (file)
index 0000000..7134bbb
--- /dev/null
@@ -0,0 +1,28 @@
+
+SUMMARY = "Read metadata from Python packages"
+DESCRIPTION = "Read metadata from Python packages"
+HOMEPAGE = "https://pypi.org/project/importlib-metadata/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e"
+
+SRC_URI[md5sum] = "80d677d744995336c9c22d21a85ddeb8"
+SRC_URI[sha256sum] = "aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+PYPI_PACKAGE = "importlib_metadata"
+
+inherit pypi setuptools
+
+S = "${WORKDIR}/importlib_metadata-${PV}"
+
+RDEPENDS_${PN} += "\
+    ${PYTHON_PN}-zipp \
+    ${PYTHON_PN}-pathlib2 \
+    python-compression \
+    python-configparser \
+    python-contextlib2 \
+    python-pathlib2 \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-influxdb_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-influxdb_git.bb
new file mode 100644 (file)
index 0000000..65b4f13
--- /dev/null
@@ -0,0 +1,17 @@
+
+SUMMARY = "InfluxDB is an open-source distributed time series database, find more about InfluxDB at https://docs.influxdata.com/influxdb/latest"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=046523829184aac3703a4c60c0ae2104"
+
+SRCREV = "dc83fc6576b6463dcc77a0c101475a2a71ed655a"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "5.2.2+git${SRCPV}"
+
+SRC_URI = "git://github.com/influxdata/influxdb-python.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-iniparse_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-iniparse_git.bb
new file mode 100644 (file)
index 0000000..f61f9b8
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "Iniparse is a INI parser for Python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=52f28065af11d69382693b45b5a8eb54"
+
+SRCREV = "0305d08121461776222e515ae21a8405ee68eef4"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "0.4+git${SRCPV}"
+
+SRC_URI = "git://github.com/candlepin/python-iniparse.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+
+inherit setuptools distutils
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ironicclient_2.7.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ironicclient_2.7.0.bb
new file mode 100644 (file)
index 0000000..e40a4ab
--- /dev/null
@@ -0,0 +1,25 @@
+
+DESCRIPTION = "python-ironicclient"
+STABLE = "master"
+PROTOCOL = "https"
+BRANCH = "master"
+PV = "2.7.0"
+
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRC_URI = "https://tarballs.openstack.org/python-ironicclient/python-ironicclient-${PV}.tar.gz"
+SRC_URI[md5sum] = "6b13e133eb0c521a09c377f28fef139e"
+
+DEPENDS += " \
+       python \
+       python-pbr-native \
+       "
+
+inherit setuptools
+
+RDEPENDS_${PN}_append = " \
+       bash \
+       python-dogpile.cache \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-jmespath_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-jmespath_git.bb
new file mode 100644 (file)
index 0000000..9dd0d58
--- /dev/null
@@ -0,0 +1,18 @@
+
+DESCRIPTION = "JMESPath (pronounced “james path”) allows you to declaratively specify how to extract elements from a JSON document."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2683790f5fabb41a3f75b70558799eb4"
+
+PV = "0.9.4"
+
+SRCREV = "4a4f6dbd98549b2b8fc71bbc19860d317a6abfdb"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/jmespath/jmespath.py;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-jwcrypto_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-jwcrypto_git.bb
new file mode 100644 (file)
index 0000000..cb4dd7c
--- /dev/null
@@ -0,0 +1,15 @@
+
+DESCRIPTION = "An implementation of the JOSE Working Group documents: RFC 7515 - JSON Web Signature (JWS) RFC 7516 - JSON Web Encryption (JWE) RFC 7517 - JSON Web Key (JWK) RFC 7518 - JSON Web Algorithms (JWA) RFC 7519 - JSON Web Token (JWT) RFC 7520 - Examples of Protecting Content Using JSON Object Signing and Encryption (JOSE)"
+
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+SRCREV = "437ea86caef224cf769e30cafe30f1c0b4e0f3e2"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "0.6.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/latchset/jwcrypto.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools distutils
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-jwt_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-jwt_git.bb
new file mode 100644 (file)
index 0000000..87d7e51
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "A messaging framework built on the QPID Proton engine. It provides a callback-based API for message passing. See the User Guide in the docs directory for more detail."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=54830c88a42666c6835a0f834f93a521"
+
+SRCREV = "39f0ee6fd6d71ee335b1229b91ab0bb47bdd71f0"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "0.6.1+git${SRCPV}"
+
+SRC_URI = "git://github.com/GehirnInc/python-jwt;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-keystone_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-keystone_git.bb
new file mode 100644 (file)
index 0000000..342523c
--- /dev/null
@@ -0,0 +1,299 @@
+
+DESCRIPTION = "Authentication service for OpenStack"
+HOMEPAGE = "http://www.openstack.org"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRCREV = "c78581b4608f3dc10e945d358963000f284f188a"
+SRCNAME = "keystone"
+PROTOCOL = "git"
+BRANCH = "stable/stein"
+S = "${WORKDIR}/git"
+PV = "15.0.0+git${SRCPV}"
+
+
+SRC_URI = " \
+       git://opendev.org/openstack/${SRCNAME}.git;protocol=${PROTOCOL};branch=${BRANCH} \
+       file://${PN}/keystone.conf \
+       file://${PN}/identity.sh \
+       file://${PN}/convert_keystone_backend.py \
+       file://${PN}/wsgi-keystone.conf \
+       file://${PN}/admin-openrc \
+       file://${PN}/keystone-init.service \
+       file://${PN}/stx-files/openstack-keystone.service \
+       file://${PN}/stx-files/keystone-all \
+       file://${PN}/stx-files/keystone-fernet-keys-rotate-active \
+       file://${PN}/stx-files/public.py \
+       file://${PN}/stx-files/password-rules.conf \
+       "
+
+
+inherit setuptools identity hosts default_configs monitor useradd systemd
+
+SERVICE_TOKEN = "password"
+TOKEN_FORMAT ?= "PKI"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system -m -s /bin/false keystone"
+
+LDAP_DN ?= "dc=my-domain,dc=com"
+
+SERVICECREATE_PACKAGES = "${SRCNAME}-setup"
+KEYSTONE_HOST="${CONTROLLER_IP}"
+
+# USERCREATE_PARAM and SERVICECREATE_PARAM contain the list of parameters to be
+# set.  If the flag for a parameter in the list is not set here, the default
+# value will be given to that parameter. Parameters not in the list will be set
+# to empty.
+
+USERCREATE_PARAM_${SRCNAME}-setup = "name pass tenant role email"
+python () {
+    flags = {'name':'${ADMIN_USER}',\
+             'pass':'${ADMIN_PASSWORD}',\
+             'tenant':'${ADMIN_TENANT}',\
+             'role':'${ADMIN_ROLE}',\
+             'email':'${ADMIN_USER_EMAIL}',\
+            }
+    d.setVarFlags("USERCREATE_PARAM_%s-setup" % d.getVar('SRCNAME',True), flags)
+}
+
+SERVICECREATE_PARAM_${SRCNAME}-setup = "name type description region publicurl adminurl internalurl"
+python () {
+    flags = {'type':'identity',\
+             'description':'OpenStack Identity',\
+             'publicurl':"'http://${KEYSTONE_HOST}:8081/keystone/main/v2.0'",\
+             'adminurl':"'http://${KEYSTONE_HOST}:8081/keystone/admin/v2.0'",\
+             'internalurl':"'http://${KEYSTONE_HOST}:8081/keystone/main/v2.0'"}
+    d.setVarFlags("SERVICECREATE_PARAM_%s-setup" % d.getVar('SRCNAME',True), flags)
+}
+
+do_install_append() {
+
+    KEYSTONE_CONF_DIR=${D}${sysconfdir}/keystone
+    KEYSTONE_DATA_DIR=${D}${datadir}/keystone
+    KEYSTONE_PACKAGE_DIR=${D}${PYTHON_SITEPACKAGES_DIR}/keystone
+    APACHE_CONF_DIR=${D}${sysconfdir}/apache2/conf.d/
+
+
+    # Create directories
+    install -m 755 -d ${KEYSTONE_CONF_DIR}
+    install -m 755 -d ${APACHE_CONF_DIR}
+    install -d ${D}${localstatedir}/log/${SRCNAME}
+
+    # Setup the systemd service file
+    install -d ${D}${systemd_system_unitdir}/
+    install -m 644 ${WORKDIR}/${PN}/keystone-init.service ${D}${systemd_system_unitdir}/keystone-init.service
+
+    mv  ${D}/${datadir}/etc/keystone/sso_callback_template.html ${KEYSTONE_CONF_DIR}/
+    rm -rf ${D}/${datadir}
+
+    # Setup the admin-openrc file
+    KS_OPENRC_FILE=${KEYSTONE_CONF_DIR}/admin-openrc
+    install -m 600 ${WORKDIR}/${PN}/admin-openrc ${KS_OPENRC_FILE}
+    sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${KS_OPENRC_FILE}
+    sed -e "s:%ADMIN_USER%:${ADMIN_USER}:g" -i ${KS_OPENRC_FILE}
+    sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${KS_OPENRC_FILE}
+
+    # Install various configuration files. We have to select suitable
+    # permissions as packages such as Apache require read access.
+    #
+    # Apache needs to read the keystone.conf
+    install -m 644 ${WORKDIR}/${PN}/keystone.conf ${KEYSTONE_CONF_DIR}/
+    # Apache needs to read the wsgi-keystone.conf
+    install -m 644 ${WORKDIR}/${PN}/wsgi-keystone.conf ${APACHE_CONF_DIR}/keystone.conf
+    install -m 600 ${S}${sysconfdir}/logging.conf.sample  ${KEYSTONE_CONF_DIR}/logging.conf
+
+    # Copy examples from upstream
+    cp -r ${S}/examples ${KEYSTONE_PACKAGE_DIR}
+
+    # Edit the configuration to allow it to work out of the box
+    KEYSTONE_CONF_FILE=${KEYSTONE_CONF_DIR}/keystone.conf
+    sed "/# admin_endpoint = .*/a \
+        public_endpoint = http://%CONTROLLER_IP%:5000/ " \
+        -i ${KEYSTONE_CONF_FILE}
+
+    sed "/# admin_endpoint = .*/a \
+        admin_endpoint = http://%CONTROLLER_IP%:35357/ " \
+        -i ${KEYSTONE_CONF_FILE}
+    
+    sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${KEYSTONE_CONF_FILE}
+    sed -e "s:%DB_USER%:${DB_USER}:g" -i ${KEYSTONE_CONF_FILE}
+    sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${KEYSTONE_CONF_FILE}
+    sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${KEYSTONE_CONF_FILE}
+    sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${KEYSTONE_CONF_FILE}
+    sed -e "s:%TOKEN_FORMAT%:${TOKEN_FORMAT}:g" -i ${KEYSTONE_CONF_FILE}
+    
+    install -d ${KEYSTONE_PACKAGE_DIR}/tests/tmp
+    if [ -e "${KEYSTONE_PACKAGE_DIR}/tests/test_overrides.conf" ];then
+        sed -e "s:%KEYSTONE_PACKAGE_DIR%:${PYTHON_SITEPACKAGES_DIR}/keystone:g" \
+            -i ${KEYSTONE_PACKAGE_DIR}/tests/test_overrides.conf
+    fi
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'OpenLDAP', 'true', 'false', d)};
+    then
+        sed -i -e '/^\[identity\]/a \
+driver = keystone.identity.backends.hybrid_identity.Identity \
+\
+[assignment]\
+driver = keystone.assignment.backends.hybrid_assignment.Assignment\
+' ${D}${sysconfdir}/keystone/keystone.conf
+
+        sed -i -e '/^\[ldap\]/a \
+url = ldap://localhost \
+user = cn=Manager,${LDAP_DN} \
+password = secret \
+suffix = ${LDAP_DN} \
+use_dumb_member = True \
+\
+user_tree_dn = ou=Users,${LDAP_DN} \
+user_attribute_ignore = enabled,email,tenants,default_project_id \
+user_id_attribute = uid \
+user_name_attribute = uid \
+user_mail_attribute = email \
+user_pass_attribute = keystonePassword \
+\
+tenant_tree_dn = ou=Groups,${LDAP_DN} \
+tenant_desc_attribute = description \
+tenant_domain_id_attribute = businessCategory \
+tenant_attribute_ignore = enabled \
+tenant_objectclass = groupOfNames \
+tenant_id_attribute = cn \
+tenant_member_attribute = member \
+tenant_name_attribute = ou \
+\
+role_attribute_ignore = enabled \
+role_objectclass = groupOfNames \
+role_member_attribute = member \
+role_id_attribute = cn \
+role_name_attribute = ou \
+role_tree_dn = ou=Roles,${LDAP_DN} \
+' ${KEYSTONE_CONF_FILE}
+
+        install -m 0755 ${WORKDIR}/${PN}/convert_keystone_backend.py \
+            ${D}${sysconfdir}/keystone/convert_keystone_backend.py
+    fi
+
+    
+    install -m 755 ${WORKDIR}/${PN}/stx-files/keystone-fernet-keys-rotate-active ${D}/${bindir}/keystone-fernet-keys-rotate-active
+    install -m 440 ${WORKDIR}/${PN}/stx-files/password-rules.conf ${KEYSTONE_CONF_DIR}/password-rules.conf
+    install -m 755 -d ${KEYSTONE_DATA_DIR}
+    install -m 755 ${WORKDIR}/${PN}/stx-files/public.py ${KEYSTONE_DATA_DIR}/public.py
+    install -m 644 ${WORKDIR}/${PN}/stx-files/openstack-keystone.service ${D}${systemd_system_unitdir}/openstack-keystone.service
+    install -m 755 ${WORKDIR}/${PN}/stx-files/keystone-all ${D}${bindir}/keystone-all
+    
+}
+
+# By default tokens are expired after 1 day so by default we can set
+# this token flush cronjob to run every 2 days
+KEYSTONE_TOKEN_FLUSH_TIME ??= "0 0 */2 * *"
+
+pkg_postinst_${SRCNAME}-cronjobs () {
+    if [ -z "$D" ]; then
+       # By default keystone expired tokens are not automatic removed out of the
+       # database.  So we create a cronjob for cleaning these expired tokens.
+       echo "${KEYSTONE_TOKEN_FLUSH_TIME} root /usr/bin/keystone-manage token_flush" >> /etc/crontab
+    fi
+}
+
+PACKAGES += " ${SRCNAME}-tests ${SRCNAME} ${SRCNAME}-setup ${SRCNAME}-cronjobs"
+
+SYSTEMD_PACKAGES += "${SRCNAME}-setup"
+SYSTEMD_SERVICE_${SRCNAME}-setup = "keystone-init.service"
+SYSTEMD_SERVICE_${SRCNAME} = "openstack-keystone.service"
+
+SYSTEMD_AUTO_ENABLE_${SRCNAME}-setup = "disable"
+SYSTEMD_AUTO_ENABLE_${SRCNAME} = "disable"
+
+FILES_${SRCNAME}-setup = " \
+    ${systemd_system_unitdir}/keystone-init.service \
+    "
+
+ALLOW_EMPTY_${SRCNAME}-cronjobs = "1"
+
+FILES_${PN} = "${libdir}/* \
+    "
+
+FILES_${SRCNAME}-tests = "${sysconfdir}/${SRCNAME}/run_tests.sh"
+
+FILES_${SRCNAME} = "${bindir}/* \
+    ${sysconfdir}/${SRCNAME}/* \
+    ${localstatedir}/* \
+    ${datadir}/openstack-dashboard/openstack_dashboard/api/keystone-httpd.py \
+    ${sysconfdir}/apache2/conf.d/keystone.conf \
+    ${systemd_system_unitdir}/openstack-keystone.service \
+    ${datadir} \
+    "
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native \
+        "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+        python-babel \
+        python-pbr \
+        python-webob \
+        python-pastedeploy \
+        python-paste \
+        python-routes \
+        python-cryptography \
+        python-six \
+        python-sqlalchemy \
+        python-sqlalchemy-migrate \
+        python-stevedore \
+        python-passlib \
+        python-keystoneclient \
+        python-keystonemiddleware \
+        python-bcrypt \
+        python-scrypt \
+        python-oslo.cache \
+        python-oslo.concurrency \
+        python-oslo.config \
+        python-oslo.context \
+        python-oslo.messaging \
+        python-oslo.db \
+        python-oslo.i18n \
+        python-oslo.log \
+        python-oslo.middleware \
+        python-oslo.policy \
+        python-oslo.serialization \
+        python-oslo.utils \
+        python-oauthlib \
+        python-pysaml2 \
+        python-dogpile.cache \
+        python-jsonschema \
+        python-pycadf \
+        python-msgpack \
+        python-osprofiler \
+       python-flask \
+       python-flask-restful \
+        python-pytz \
+        "
+
+RDEPENDS_${SRCNAME}-tests += " bash"
+
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'OpenLDAP', 'OpenLDAP', '', d)}"
+PACKAGECONFIG[OpenLDAP] = ",,,python-ldap python-keystone-hybrid-backend"
+
+# TODO:
+#    if DISTRO_FEATURE contains "tempest" then add *-tests to the main RDEPENDS
+
+RDEPENDS_${SRCNAME} = " \
+    ${PN} \
+    postgresql \
+    postgresql-client \
+    python-psycopg2 \
+    apache2 \
+    "
+
+RDEPENDS_${SRCNAME}-setup = "postgresql sudo ${SRCNAME}"
+RDEPENDS_${SRCNAME}-cronjobs = "cronie ${SRCNAME}"
+
+MONITOR_SERVICE_PACKAGES = "${SRCNAME}"
+MONITOR_SERVICE_${SRCNAME} = "keystone"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-keystoneauth1.inc b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-keystoneauth1.inc
new file mode 100644 (file)
index 0000000..12aa80b
--- /dev/null
@@ -0,0 +1,29 @@
+
+DESCRIPTION = "Authentication Library for OpenStack Identity"
+HOMEPAGE = "https://pypi.python.org/pypi/keystoneauth1"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=96f840d59b245a1c817fbcb901afc574"
+
+SRC_URI[md5sum] = "0864f3485db8709d1dec0c8fa6073a31"
+SRC_URI[sha256sum] = "db91ccab5cc43dac4a25dc2c090642d7c31f9ceb28df2c685620d7c12335a8cd"
+
+inherit pypi
+
+DEPENDS += " \
+        ${PYTHON_PN}-pbr \
+        "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        ${PYTHON_PN}-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+        ${PYTHON_PN}-pbr \
+        ${PYTHON_PN}-iso8601 \
+        ${PYTHON_PN}-requests \
+        ${PYTHON_PN}-six \
+        ${PYTHON_PN}-stevedore \
+       python2-os-service-types \
+        "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-keystoneauth1_3.17.1.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-keystoneauth1_3.17.1.bb
new file mode 100644 (file)
index 0000000..661a758
--- /dev/null
@@ -0,0 +1,3 @@
+
+inherit setuptools
+require python-keystoneauth1.inc
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-keystonemiddleware_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-keystonemiddleware_git.bb
new file mode 100644 (file)
index 0000000..67400e3
--- /dev/null
@@ -0,0 +1,46 @@
+
+DESCRIPTION = "Middleware for Openstack identity API"
+HOMEPAGE = "https://launchpad.net/keystonemiddleware"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4a4d0e932ffae1c0131528d30d419c55"
+
+SRCREV = "83d0612e03471f56be3be2b521cc21974118cebe"
+SRCNAME = "keystonemiddleware"
+BRANCH = "stable/train"
+PROTOCOL = "https"
+PV = "5.1.0"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://git.openstack.org/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+inherit setuptools
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native \
+        "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+        python-keystoneauth1 \
+        python-oslo.cache \
+        python-oslo.config \
+        python-oslo.context \
+        python-oslo.i18n \
+        python-oslo.log \
+        python-oslo.serialization \
+        python-oslo.utils \
+        python-pbr \
+        python-positional \
+        python-pycadf \
+        python-keystoneclient \
+        python-requests \
+        python-six \
+        python-webob \
+        "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-kombu_4.6.6.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-kombu_4.6.6.bb
new file mode 100644 (file)
index 0000000..72a9d90
--- /dev/null
@@ -0,0 +1,23 @@
+SUMMARY = "The aim of Kombu is to make messaging in Python as easy as possible by providing \
+an idiomatic high-level interface for the AMQ protocol, and also provide proven and tested \
+solutions to common messaging problems."
+
+DESCRIPTION = "A messaging framework for Python"
+BUGTRACKER = "http://github.com/celery/kombu/issues/"
+HOMEPAGE = "http://kombu.readthedocs.org"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=daea7c168428449fbee05e644df929f4"
+
+SRC_URI[md5sum] = "5f751ea817b1f6a4293d4e3a01040d4f"
+SRC_URI[sha256sum] = "1760b54b1d15a547c9a26d3598a1c8cdaf2436386ac1f5561934bc8a3cbbbd86"
+
+inherit setuptools pypi
+
+PYPI_PACKAGE = "kombu"
+
+FILES_${PN}-doc += "${datadir}/${SRCNAME}"
+
+RDEPENDS_${PN} = " \
+        python-amqp \
+        "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-kubernetes_8.0.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-kubernetes_8.0.0.bb
new file mode 100644 (file)
index 0000000..87aa042
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "Kubernetes python client"
+HOMEPAGE = "https://pypi.org/project/kubernetes/8.0.0"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ad09685d909e7a9f763d2bb62d4bd6fb"
+
+SRC_URI[md5sum] = "c1d6d0ac57a8a49c5fd383a39ee9ab4b"
+SRC_URI[sha256sum] = "54f8e7bb1dd9a55cf416dff76a63c4ae441764280942d9913f2243676f29d02c"
+
+inherit setuptools pypi
+
+RDEPENDS_${PN}_append = " \
+       ${PYTHON_PN}-adal \
+       ${PYTHON_PN}-google-auth \
+       ${PYTHON_PN}-requests-oauthlib \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ldap3_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ldap3_git.bb
new file mode 100644 (file)
index 0000000..bc6d9e1
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "ldap3 is a strictly RFC 4510 conforming LDAP V3 pure Python client library. The same codebase runs in Python 2, Python 3, PyPy and PyPy3."
+
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=32be5282b8f7cafe30b89d2980fbc7d0"
+
+SRCREV = "08810e435392a1f1a96d5e65bb444b9cb9e96ae3"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "2.6+git${SRCPV}"
+
+SRC_URI = "git://github.com/cannatag/ldap3;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ldap_3.2.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ldap_3.2.0.bb
new file mode 100644 (file)
index 0000000..af8961e
--- /dev/null
@@ -0,0 +1,31 @@
+#
+# Copyright (C) 2012 Wind River Systems, Inc.
+#
+SUMMARY = "Provides a wrapper in Python to LDAP"
+DESCRIPTION = "This module provides access to the LDAP \
+(Lightweight Directory Access Protocol) through Python operations \
+instead of C API. The module mainly acts as a wrapper for the \
+OpenLDAP 2.x libraries. Errors will appear as exceptions."
+
+LICENSE = "PSF"
+HOMEPAGE = "http://www.python-ldap.org/"
+DEPENDS = "python openldap cyrus-sasl"
+
+PYPI_PACKAGE = "python-ldap"
+inherit pypi setuptools
+
+LIC_FILES_CHKSUM = "file://LICENCE;md5=36ce9d726d0321b73c1521704d07db1b"
+SRC_URI[md5sum] = "fe22522208dc9b06d16eb70f8553eaab"
+SRC_URI[sha256sum] = "7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e"
+
+do_configure_prepend() {
+    sed -i -e 's:^library_dirs =.*::' setup.cfg
+    sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' setup.cfg
+}
+
+RDEPENDS_${PN} = " \
+    ${PYTHON_PN}-pprint \
+    ${PYTHON_PN}-threading \
+    ${PYTHON_PN}-pyasn1 \
+    ${PYTHON_PN}-pyasn1-modules \
+"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ldappool_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ldappool_git.bb
new file mode 100644 (file)
index 0000000..a72e6ea
--- /dev/null
@@ -0,0 +1,18 @@
+
+DESCRIPTION = "A simple connector pool for python-ldap."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://setup.py;md5=9c24605289b49ad77a51ba7986425158"
+
+
+SRCREV = "f75c1a8a34d4fbe6df7889205b5c6a4db6886c33"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "2.4.1+git${SRCPV}"
+
+SRC_URI = "git://opendev.org/openstack/ldappool.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python python-pbr-native"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-lefthandclient_2.1.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-lefthandclient_2.1.0.bb
new file mode 100644 (file)
index 0000000..c27e517
--- /dev/null
@@ -0,0 +1,15 @@
+
+DESCRIPTION = "This is a Client library that can talk to the HPE LeftHand/StoreVirtual Storage array. The HPE LeftHand storage array has a REST web service interface as well as runs SSH. This client library implements a simple interface to talk with that REST interface using the python Requests http library and communicates via SSH using Pytohn’s paramiko library."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI[sha256sum] = "efdea5cdd2ecce20f9bb482dd0a6f55bcefc462df42eaef4d85258c04e991b20"
+
+SRCREV = "db9773f0f97c5af04da89fcb7dca2a6ddf8d5e4a"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/hpe-storage/python-lefthandclient.git;rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools distutils
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-linecache2_1.0.0.bbappend b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-linecache2_1.0.0.bbappend
new file mode 100644 (file)
index 0000000..1ddc46b
--- /dev/null
@@ -0,0 +1,2 @@
+
+BBCLASSEXTEND = "native"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-magnumclient_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-magnumclient_git.bb
new file mode 100644 (file)
index 0000000..e4f82a1
--- /dev/null
@@ -0,0 +1,37 @@
+
+DESCRIPTION = "Python client for containers service"
+HOMEPAGE = "https://github.com/openstack/python-magnumclient"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+SRCREV = "37e602d160632a386c2960ec8777bfc65642a9a9"
+SRCNAME = "python-magnumclient"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "2.12.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} +=" \
+       python-pbr \
+       python-babel \
+       python-stevedore \
+       python-requests \
+       python-oslo.i18n \
+       python-oslo.serialization \
+       python-oslo.utils \
+       python-os-client-config \
+       python-osc-lib \
+       python-prettytable \
+       python-cryptography \
+       python-decorator \
+       "
+
+inherit setuptools
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-migrate_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-migrate_git.bb
new file mode 100644 (file)
index 0000000..e741cf8
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "A simple language agnostic database migration tool"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=123c58ff9658c9062dbe401889464492"
+
+SRCREV = "b53b7168f8ac27e4c557de6e62ad85fe00d99566"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "0.3.8+git${SRCPV}"
+
+SRC_URI = "git://github.com/kofrasa/migrate;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-munch_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-munch_git.bb
new file mode 100644 (file)
index 0000000..2ef46ac
--- /dev/null
@@ -0,0 +1,16 @@
+
+DESCRIPTION = "Munch is a dictionary that supports attribute-style access, a la JavaScript."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f0291cd32b2d6a91d9b19970c94d0a46"
+
+SRCREV = "d0fbbce7b8205a243337faed0b61472dfe09706d"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "2.3.2+git${SRCPV}"
+
+SRC_URI = "git://github.com/Infinidat/munch.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-murano-pkg-check_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-murano-pkg-check_git.bb
new file mode 100644 (file)
index 0000000..a500b9e
--- /dev/null
@@ -0,0 +1,19 @@
+
+DESCRIPTION = "Murano package validator tool"
+
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+
+SRCREV = "18119f5e9d5a9d706c13188e057cb5b242c51f89"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "0.3.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/murano-pkg-check.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python python-pbr-native"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-muranoclient_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-muranoclient_git.bb
new file mode 100644 (file)
index 0000000..a047b41
--- /dev/null
@@ -0,0 +1,42 @@
+
+DESCRIPTION = "python-muranoclient"
+STABLE = "master"
+PROTOCOL = "https"
+BRANCH = "master"
+SRCREV = "70b4392c7f8524ac25dbf3ab0feb3ac4127c1ecf"
+S = "${WORKDIR}/git"
+PV = "1.1.1"
+
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRC_URI = "git://github.com/openstack/python-muranoclient.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+DEPENDS += " \
+       python \
+       python-pbr-native \
+       "
+
+inherit setuptools
+
+RDEPENDS_${PN}_append = " \
+       bash    \
+       python-pbr \
+       python-prettytable \
+       python-glanceclient \
+       python-keystoneclient \
+       python-iso8601 \
+       python-six \
+       python-babel \
+       python-pyopenssl \
+       python-requests \
+       python-pyyaml \
+       python-yaql \
+       python-osc-lib \
+       python-murano-pkg-check \
+       python-oslo.serialization \
+       python-oslo.utils \
+       python-oslo.log \
+       python-oslo.i18n \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-neutronclient_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-neutronclient_git.bb
new file mode 100644 (file)
index 0000000..d5f3a4c
--- /dev/null
@@ -0,0 +1,62 @@
+
+DESCRIPTION = "CLI and python client library for OpenStack Neutron"
+HOMEPAGE = "https://launchpad.net/neutron"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRCREV = "680b417111dbbda9e318700286c4efd9055f1af3"
+SRCNAME = "python-neutronclient"
+BRANCH = "stable/train"
+PROTOCOL = "https"
+PV = "6.12.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+       
+inherit setuptools monitor rmargparse
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native\
+        "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+        python-pbr \
+        python-cliff \
+        python-debtcollector \
+        python-iso8601 \
+        python-netaddr \
+        python-osc-lib \
+        python-oslo.i18n \
+        python-oslo.serialization \
+        python-oslo.utils \
+        python-os-client-config \
+        python-keystoneauth1 \
+        python-keystoneclient \
+        python-requests \
+        python-simplejson \
+        python-six \
+        python-babel \
+        "
+
+
+PACKAGECONFIG ?= "bash-completion"
+PACKAGECONFIG[bash-completion] = ",,bash-completion,bash-completion ${BPN}-bash-completion"
+
+do_install_append() {
+       install -d ${D}/${sysconfdir}/bash_completion.d
+       install -m 664 ${S}/tools/neutron.bash_completion ${D}/${sysconfdir}/bash_completion.d
+}
+
+PACKAGES =+ "${BPN}-bash-completion"
+FILES_${BPN}-bash-completion = "${sysconfdir}/bash_completion.d/*"
+
+MONITOR_CHECKS_${PN} += "\
+       neutron-api-check.sh \
+"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-novaclient_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-novaclient_git.bb
new file mode 100644 (file)
index 0000000..533ada0
--- /dev/null
@@ -0,0 +1,63 @@
+
+DESCRIPTION = "Client library for OpenStack Compute API"
+HOMEPAGE = "https://github.com/openstack/python-novaclient"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7cdb54622cacc9bc9b2883091e6dd669"
+
+SRC_URI = "git://github.com/openstack/python-novaclient.git;branch=stable/pike"
+
+SRCREV = "62bf8809c660ed0675f301c235b1d434caeaf580"
+SRCNAME = "python-novaclient"
+PROTOCOL = "https"
+BRANCH = "stable/train"
+S = "${WORKDIR}/git"
+PV = "13.0.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools python-dir
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native \
+        "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+        python-pbr \
+        python-keystoneauth1 \
+        python-iso8601 \
+        python-oslo.i18n \
+        python-oslo.serialization \
+        python-oslo.utils \
+        python-prettytable \
+        python-simplejson \
+        python-six \
+        python-babel \
+        "
+
+PACKAGECONFIG ?= "bash-completion"
+PACKAGECONFIG[bash-completion] = ",,bash-completion,bash-completion ${BPN}-bash-completion"
+
+do_install_append() {
+       install -d ${D}/${sysconfdir}/bash_completion.d
+       install -m 664 ${S}/tools/nova.bash_completion ${D}/${sysconfdir}/bash_completion.d
+
+       mv ${D}/${bindir}/nova ${D}/${bindir}/nova-${PYTHON_BASEVERSION}
+       ln -s ./nova-${PYTHON_BASEVERSION}  ${D}/${bindir}/nova-2
+       ln -s ./nova-2  ${D}/${bindir}/nova
+
+       if [ -e "${D}/${PYTHON_SITEPACKAGES_DIR}/novaclient/tests/v1_1/test_servers.py" ]; then
+               sed -e "s:%PYTHON_SITEPACKAGES_DIR%:${PYTHON_SITEPACKAGES_DIR}:g" \
+                   -i ${D}/${PYTHON_SITEPACKAGES_DIR}/novaclient/tests/v1_1/test_servers.py
+       fi
+
+}
+
+PACKAGES =+ "${BPN}-bash-completion"
+FILES_${BPN}-bash-completion = "${sysconfdir}/bash_completion.d/*"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-openstackclient_git.bbappend b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-openstackclient_git.bbappend
new file mode 100644 (file)
index 0000000..3b2c070
--- /dev/null
@@ -0,0 +1,8 @@
+
+
+PV = "3.19.0+git${SRCPV}"
+SRCREV = "83359fbe4fd7e5850abd45a467bf197c284519b1"
+
+SRC_URI = " \
+        git://github.com/openstack/python-openstackclient.git;branch=stable/stein \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-osc-lib_1.12.1.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-osc-lib_1.12.1.bb
new file mode 100644 (file)
index 0000000..df288da
--- /dev/null
@@ -0,0 +1,31 @@
+
+DESCRIPTION = "OpenStackClient Library"
+HOMEPAGE = "http://opensource.perlig.de/rcssmin/"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRC_URI[md5sum] = "73c8bd90b8325b2595b814f41d06fdb8"
+SRC_URI[sha256sum] = "26d3e32c8c4eff47240c458cddb6b75db52034d643f01de2841ad9e84904d7aa"
+
+inherit setuptools pypi
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+        python-pbr \
+        python-six \
+        python-babel \
+        python-cliff \
+        python-keystoneauth1 \
+        python-os-client-config \
+        python-oslo.i18n \
+        python-oslo.utils \
+        python-simplejson \
+        python-stevedore \
+        "
+
+CLEANBROKEN = "1"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.cache_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.cache_git.bb
new file mode 100644 (file)
index 0000000..8d6169a
--- /dev/null
@@ -0,0 +1,36 @@
+
+DESCRIPTION = "oslo.config enabled dogpile cache"
+HOMEPAGE = "https://github.com/openstack/oslo.cache"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRCREV = "3b8d9c3f6c87d62e5502cf4a9ae89e4067180c1f"
+SRCNAME = "oslo.cache"
+PROTOCOL = "https"
+BRANCH = "stable/train"
+S = "${WORKDIR}/git"
+PV = "1.26.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools rmargparse
+
+DEPENDS += " \
+        python-pbr \
+        python-pip \
+        "
+
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+# RDEPENDS_default:
+RDEPENDS_${PN} += " \
+        python-dogpile.cache \
+        python-six \
+        python-oslo.config \
+        python-oslo.i18n \
+        python-oslo.log \
+        python-oslo.utils \
+        "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.concurrency_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.concurrency_git.bb
new file mode 100644 (file)
index 0000000..62f486f
--- /dev/null
@@ -0,0 +1,37 @@
+
+DESCRIPTION = "oslo.concurrency library"
+HOMEPAGE = "https://github.com/openstack/oslo.concurrency"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
+
+SRCREV = "5b42d276350666410a7d010a5152467ad509d3f9"
+SRCNAME = "oslo.concurrency"
+PROTOCOL = "https"
+BRANCH = "stable/train"
+S = "${WORKDIR}/git"
+PV = "3.26.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools rmargparse
+
+DEPENDS += " \
+        python-pbr \
+        python-pip \
+        "
+
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+# RDEPENDS_default:
+RDEPENDS_${PN} += " \
+        python-pbr \
+        python-fasteners \
+        python-oslo.config \
+        python-oslo.i18n \
+        python-oslo.utils \
+        python-six \
+        python-enum34 \
+        "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.config_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.config_git.bb
new file mode 100644 (file)
index 0000000..a3cda7f
--- /dev/null
@@ -0,0 +1,40 @@
+
+DESCRIPTION = "API supporting parsing command line arguments and .ini style configuration files."
+HOMEPAGE = "https://pypi.python.org/pypi/oslo.config/5.2.0"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c46f31914956e4579f9b488e71415ac8"
+
+SRCREV = "31c11ab4289efa1a91835f3daa928fe927ac4276"
+SRCNAME = "oslo.config"
+PROTOCOL = "https"
+BRANCH = "stable/queens"
+S = "${WORKDIR}/git"
+PV = "5.2.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools rmargparse
+
+DEPENDS += " \
+        python-pbr \
+        python-pip \
+        "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+    python-pbr \
+    python-netaddr \
+    python-six \
+    python-stevedore \
+    python-debtcollector \
+    python-oslo.i18n \
+    python-rfc3986 \
+    python-pyyaml \
+    python-importlib-metadata \
+    "
+       
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.context_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.context_git.bb
new file mode 100644 (file)
index 0000000..5dafb7b
--- /dev/null
@@ -0,0 +1,35 @@
+
+DESCRIPTION = "Oslo Context Library"
+HOMEPAGE = "https://launchpad.net/oslo"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRCREV = "76a07f9022f0fa967707c9f6cb5a4a24aac6b3ef"
+SRCNAME = "oslo.context"
+PROTOCOL = "https"
+BRANCH = "stable/stein"
+S = "${WORKDIR}/git"
+PV = "2.22.1+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native \
+        "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+# RDEPENDS_default: 
+RDEPENDS_${PN} += " \
+        bash \
+        python-pbr \
+        python-debtcollector \
+        python-positional \
+        "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.db_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.db_git.bb
new file mode 100644 (file)
index 0000000..31a8e94
--- /dev/null
@@ -0,0 +1,36 @@
+
+DESCRIPTION = "Oslo db library"
+HOMEPAGE = "http://launchpad.net/oslo"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
+
+SRCREV = "4de33ebd504a2c3dbddc2492bdb96ae7bca77d66"
+SRCNAME = "oslo.db"
+PROTOCOL = "https"
+BRANCH = "stable/stein"
+S = "${WORKDIR}/git"
+PV = "4.27.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+        python-oslo.config \
+       python-oslo.i18n \
+       python-oslo.serialization \
+       python-oslo.utils \
+       python-six \
+        python-alembic \
+       python-sqlalchemy \
+       python-sqlalchemy-migrate \
+       python-stevedore \
+       python-pbr \
+       python-debtcollector \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.log_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.log_git.bb
new file mode 100644 (file)
index 0000000..053baea
--- /dev/null
@@ -0,0 +1,44 @@
+
+DESCRIPTION = "Oslo Log Library"
+HOMEPAGE = "https://launchpad.net/oslo"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
+
+SRCREV = "110191aa505cfefafee1c8579213b2f9c3397b6c"
+SRCNAME = "oslo.log"
+PROTOCOL = "https"
+BRANCH = "stable/train"
+S = "${WORKDIR}/git"
+PV = "3.38.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools
+
+DEPENDS += " \
+        python-pip \
+        python-babel \
+        python-pbr-native \
+        "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+# RDEPENDS_default: 
+RDEPENDS_${PN} += " \
+        bash \
+        python-pbr \
+        python-six \
+        python-oslo.config \
+        python-oslo.context \
+        python-oslo.i18n \
+        python-oslo.utils \
+        python-oslo.serialization \
+        python-pyinotify \
+        python-debtcollector \
+        python-dateutil \
+        python-monotonic \
+        "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.middleware_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.middleware_git.bb
new file mode 100644 (file)
index 0000000..02e52af
--- /dev/null
@@ -0,0 +1,42 @@
+
+DESCRIPTION = "Oslo Middleware Library"
+HOMEPAGE = "https://launchpad.net/oslo"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
+
+SRCREV = "8812bc3fc490f0db4977418eaedf58190a0df394"
+SRCNAME = "oslo.middleware"
+PROTOCOL = "https"
+BRANCH = "stable/train"
+S = "${WORKDIR}/git"
+PV = "3.31.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native \
+        "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+        "
+
+# RDEPENDS_default:
+RDEPENDS_${PN} += " \
+        python-pbr \
+        python-jinja2 \
+        python-oslo.config \
+        python-oslo.context \
+        python-oslo.i18n \
+        python-oslo.utils \
+        python-six \
+        python-stevedore \
+        python-webob \
+        python-debtcollector \
+        python-statsd \
+        "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.policy_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.policy_git.bb
new file mode 100644 (file)
index 0000000..6b737a8
--- /dev/null
@@ -0,0 +1,32 @@
+
+DESCRIPTION = "Oslo policy library"
+HOMEPAGE = "https://github.com/openstack/oslo.policy"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRCREV = "b9fd10e2612f26c93d49c168a0408aba6d20e5bf"
+SRCNAME = "oslo.policy"
+PROTOCOL = "https"
+BRANCH = "stable/train"
+S = "${WORKDIR}/git"
+PV = "1.43.1+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+        python-oslo.config \
+       python-oslo.i18n \
+       python-oslo.serialization \
+       python-oslo.utils \
+       python-six \
+       python-pyyaml \
+       python-requests \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.serialization_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.serialization_git.bb
new file mode 100644 (file)
index 0000000..1ada0ac
--- /dev/null
@@ -0,0 +1,39 @@
+
+DESCRIPTION = "Oslo Serialization API"
+HOMEPAGE = "https://launchpad.net/oslo"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
+
+SRCREV = "576b13ec26baa671da05df56a8d14aba6fa3e826"
+SRCNAME = "oslo.serialization"
+PROTOCOL = "https"
+BRANCH = "stable/train"
+S = "${WORKDIR}/git"
+PV = "2.23.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+inherit setuptools
+
+# DEPENDS_default: python-pip
+
+DEPENDS += " \
+        python-pip \
+       python-pbr-native\
+       "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+       python-pbr-native \
+       "
+
+# RDEPENDS_default:
+RDEPENDS_${PN} += " \
+       python-pbr \
+       python-six \
+       python-oslo.utils \
+       python-pytz \
+       python-msgpack \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.upgradecheck_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.upgradecheck_git.bb
new file mode 100644 (file)
index 0000000..bede111
--- /dev/null
@@ -0,0 +1,33 @@
+
+SUMMARY = "Common code for writing OpenStack upgrade checks"
+DESCRIPTION = "\
+  This project contains the common code necessary for writing upgrade checks \
+  in OpenStack projects. It includes a module (oslo_upgradecheck.upgradecheck) \
+  for the common code as well as an example (oslo_upgradecheck.__main__) of \
+  integrating that code into a project. \
+"
+HOMEPAGE = "https://github.com/openstack/oslo.upgradecheck"
+SECTION = "devel/python"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+PV = "0.3.1+git${SRCPV}"
+SRCREV = "5f182fe19cdfe0bcf0d51bcf7be05e7a74f0a068"
+
+SRCNAME = "oslo.upgradecheck"
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=master"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools
+
+DEPENDS += " \
+    python-pip \
+    python-pbr-native \
+"
+
+RDEPENDS_${PN} += " \
+    python-oslo.config \
+    python-oslo.i18n \
+"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.versionedobjects_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-oslo.versionedobjects_git.bb
new file mode 100644 (file)
index 0000000..3ba522c
--- /dev/null
@@ -0,0 +1,37 @@
+
+DESCRIPTION = "Oslo versionedobjects library"
+HOMEPAGE = "https://wiki.openstack.org/wiki/Oslo"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRCREV = "c95f0c876840e36f37acb14d5eec5238d85e7dce"
+SRCNAME = "oslo.versionedobjects"
+PROTOCOL = "https"
+BRANCH = "stable/queens"
+S = "${WORKDIR}/git"
+PV = "1.31.2+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools
+
+DEPENDS += " \
+        python-pip \
+        python-pbr-native \
+        "
+
+RDEPENDS_${PN} += " \
+        python-six \
+        python-oslo.concurrency \
+        python-oslo.config \
+        python-oslo.context \
+        python-oslo.messaging \
+        python-oslo.serialization \
+        python-oslo.utils \
+        python-oslo.log \
+        python-oslo.i18n \
+        python-webob \
+        python-iso8601 \
+        python-netaddr \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-osprofiler_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-osprofiler_git.bb
new file mode 100644 (file)
index 0000000..df8dd7b
--- /dev/null
@@ -0,0 +1,31 @@
+
+DESCRIPTION = "Library for cross-project profiling library"
+HOMEPAGE = "https://docs.openstack.org/osprofiler/latest/"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5"
+
+SRCREV = "6d68170f72ef303e6564e164aafb1ec53a8b8314"
+SRCNAME = "osprofiler"
+BRANCH = "master"
+PROTOCOL = "https"
+PV = "2.3.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://opendev.org/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+       
+inherit setuptools
+
+DEPENDS += " python-pbr-native"
+
+RDEPENDS_${PN}_append = " \
+       python-pbr \
+       python-six \
+       python-oslo.messaging \
+       python-oslo.log \
+       python-oslo.utils \
+       python-webob \
+       python-requests \
+       python-netaddr \
+       python-oslo.concurrency \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-packaging_20.1.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-packaging_20.1.bb
new file mode 100644 (file)
index 0000000..2216edb
--- /dev/null
@@ -0,0 +1,15 @@
+
+DESCRIPTION = " \
+       Core utilities for Python packages. \
+       The packaging project includes the following: version handling, specifiers, markers, requirements, tags, utilities. \
+       "
+HOMEPAGE = "https://github.com/pypa/packaging"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91"
+
+SRC_URI[md5sum] = "a02ce566f10c701b4c42e39a4ce59c93"
+SRC_URI[sha256sum] = "e665345f9eef0c621aa0bf2f8d78cf6d21904eef16a93f020240b704a57f1334"
+
+PYPI_PACKAGE = "packaging"
+inherit setuptools pypi
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pankoclient_0.5.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pankoclient_0.5.0.bb
new file mode 100644 (file)
index 0000000..8696afb
--- /dev/null
@@ -0,0 +1,21 @@
+
+DESCRIPTION = "python-pankoclient"
+STABLE = "master"
+PROTOCOL = "https"
+BRANCH = "master"
+SRCREV = "572aee9cf6ac618eb5d1ea325f9e59414d387dbf"
+S = "${WORKDIR}/git"
+PV = "0.5.0"
+
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+SRC_URI = "git://github.com/openstack/python-pankoclient.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+DEPENDS += " \
+       python \
+       python-pbr-native \
+       "
+
+inherit setuptools
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pika_1.1.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pika_1.1.0.bb
new file mode 100644 (file)
index 0000000..a2c443b
--- /dev/null
@@ -0,0 +1,11 @@
+
+DESCRIPTION = "Pika is a pure-Python implementation of the AMQP 0-9-1 protocol including RabbitMQ’s extensions."
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=535836bf0a5de515a7bfee026075701d"
+HOMEPAGE = "https://pika.readthedocs.io/en/stable/"
+
+SRC_URI[sha256sum] = "9fa76ba4b65034b878b2b8de90ff8660a59d925b087c5bb88f8fdbb4b64a1dbf"
+
+
+PYPI_PACKAGE = "pika"
+inherit pypi setuptools
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pycurl_7.43.0.3.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pycurl_7.43.0.3.bb
new file mode 100644 (file)
index 0000000..ae5d710
--- /dev/null
@@ -0,0 +1,23 @@
+
+DESCRIPTION = "libcurl python bindings"
+LICENSE = "LGPLv2 | MIT"
+HOMEPAGE = "http://pycurl.io/"
+LIC_FILES_CHKSUM = " \
+       file://COPYING-LGPL;md5=4fbd65380cdd255951079008b364516c \
+       file://COPYING-MIT;md5=2df767ed35d8ea83de4a93feb55e7815 \
+       "
+
+SRC_URI[sha256sum] = "6f08330c5cf79fa8ef68b9912b9901db7ffd34b63e225dce74db56bb21deda8e"
+
+
+PYPI_PACKAGE = "pycurl"
+inherit pypi setuptools
+
+export BUILD_SYS
+export HOST_SYS
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+DEPENDS = " curl python"
+
+BBCLASSEXTEND = " native"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyelftools_0.25.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyelftools_0.25.bb
new file mode 100644 (file)
index 0000000..db6370d
--- /dev/null
@@ -0,0 +1,10 @@
+
+DESCRIPTION = "pyelftools library for parsing and analyzing elf files"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5ce2a2b07fca326bc7c146d10105ccfc"
+HOMEPAGE = "https://github.com/eliben/pyelftools"
+
+SRC_URI[sha256sum] = "89c6da6f56280c37a5ff33468591ba9a124e17d71fe42de971818cbff46c1b24"
+
+PYPI_PACKAGE = "pyelftools"
+inherit pypi setuptools
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyghmi_1.5.7.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyghmi_1.5.7.bb
new file mode 100644 (file)
index 0000000..9457420
--- /dev/null
@@ -0,0 +1,20 @@
+
+DESCRIPTION = "HPE 3PAR HTTP REST Client"
+HOMEPAGE = "https://pythonhosted.org/python-3parclient/"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=d3dfac7b0d23cb44b097e35518879438"
+
+SRC_URI[md5sum] = "b49dd03782fd5eda09cd9210ae979f6a"
+SRC_URI[sha256sum] = "4c2b0be4e3b8a517c1718e39e1eeb3e62f73810bb9910278000716f6074e5a69"
+
+PYPI_PACKAGE = "pyghmi"
+inherit setuptools pypi
+
+DEPENDS += " \
+       python-pbr-native \
+       "
+
+RDEPENDS_${PN}_append = " \
+       python-dateutil \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyliblzma_0.5.3.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyliblzma_0.5.3.bb
new file mode 100644 (file)
index 0000000..41d0f85
--- /dev/null
@@ -0,0 +1,19 @@
+SUMMARY = "Python bindings for liblzma"
+DESCRIPTION = "\
+PylibLZMA provides a python interface for the liblzma library to read and write data \
+that has been compressed or can be decompressed by Lasse Collin’s xz / lzma utils. \
+"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=58c39b26c0549f8e1bb4122173f474cd"
+
+SRC_URI[md5sum] = "500f61116ee1ab4063b49c121786863a"
+SRC_URI[sha256sum] = "08d762f36d5e59fb9bb0e22e000c300b21f97e35b713321ee504cfb442667957"
+
+DEPENDS = "xz"
+
+inherit pypi setuptools
+
+PYPI_PACKAGE = "pyliblzma"
+PYPI_PACKAGE_EXT = "tar.bz2"
+
+BBCLASSEXTEND = " native"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pymysql_0.9.3.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pymysql_0.9.3.bb
new file mode 100644 (file)
index 0000000..7668a2a
--- /dev/null
@@ -0,0 +1,15 @@
+
+SUMMARY = "Python MySQL client library"
+DESCRIPTION = " This package contains a pure-Python MySQL client library, based on PEP 249." 
+
+SECTION = "devel/python"
+HOMEPAGE = "https://github.com/PyMySQL/PyMySQL"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=528175c84163bb800d23ad835c7fa0fc"
+
+inherit pypi setuptools
+
+PYPI_PACKAGE = "PyMySQL"
+
+SRC_URI[md5sum] = "e5d9183cc0a775ac29f9e0365cca6556"
+SRC_URI[sha256sum] = "d8c059dcd81dedb85a9f034d5e22dcb4442c0b201908bede99e306d65ea7c8e7"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pynacl_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pynacl_git.bb
new file mode 100644 (file)
index 0000000..bfc61f0
--- /dev/null
@@ -0,0 +1,37 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files/python-pynacl:"
+DESCRIPTION = "Python binding to libsodiom"
+
+HOMEPAGE = "https://pypi.org/project/PyNaCl/"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8cc789b082b3d97e1ccc5261f8594d3f"
+
+SRCREV = "4881c878c9a33f4684337f650355bdf7f031d77d"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+PV = "1.3.0+git${SRCPV}"
+
+SRC_URI = " \
+       git://github.com/pyca/pynacl.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/0001-Enable-cross-compile.patch \
+       "
+
+
+inherit setuptools distutils
+
+DEPENDS += " libsodium python-cffi-native libsodium-native"
+RDEPENDS_${PN} = " libsodium"
+
+do_compile_prepend() {
+       export PYNACL_CROSS_BUILD="--build=${BUILD_SYS}"
+       export PYNACL_CROSS_HOST="--host=${HOST_SYS}"
+       export PYNACL_CROSS_TARGET="--target=${TARGET_SYS}"
+       export SODIUM_INSTALL="system"
+}
+
+do_install_prepend() {
+       export SODIUM_INSTALL="system"
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyngus_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyngus_git.bb
new file mode 100644 (file)
index 0000000..66aff56
--- /dev/null
@@ -0,0 +1,18 @@
+
+DESCRIPTION = "A messaging framework built on the QPID Proton engine. It provides a callback-based API for message passing. See the User Guide in the docs directory for more detail."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+SRCREV = "5392392046989f1bb84ba938c30e4d48311075f1"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+
+PV = "2.3.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/kgiusti/pyngus;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyperf_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pyperf_git.bb
new file mode 100644 (file)
index 0000000..28be5e5
--- /dev/null
@@ -0,0 +1,18 @@
+
+DESCRIPTION = "The Python perf module is a toolkit to write, run and analyze benchmarks."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=78bc2e6e87c8c61272937b879e6dc2f8"
+
+SRCREV = "7febee0242ce8fd01f56bce2ec72ec536a41caed"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "1.6.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/vstinner/pyperf.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+# DEPENDS += " python python-pbr-native"
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pysaml2_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-pysaml2_git.bb
new file mode 100644 (file)
index 0000000..3f5ec62
--- /dev/null
@@ -0,0 +1,27 @@
+
+DESCRIPTION = "Python implementation of SAML Version 2 to be used in a WSGI environment"
+HOMEPAGE = "https://github.com/rohe/pysaml2"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=861cc9087857b5bea2e11356c3de95d9"
+
+SRCREV = "c740a3a270037d6fcb42a12112db594705d3878f"
+SRCNAME = "pysaml2"
+PROTOCOL = "git"
+BRANCH = "v4.9.0"
+S = "${WORKDIR}/git"
+PV = "4.5.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/rohe/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools
+
+DEPENDS += " \
+        python-pip \
+        "
+
+RDEPENDS_${PN} += " \
+       python-zopeinterface \
+       python-repoze.who \
+       python-defusedxml \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-redfishtool_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-redfishtool_git.bb
new file mode 100644 (file)
index 0000000..1299c91
--- /dev/null
@@ -0,0 +1,32 @@
+
+DESCRIPTION = "Client side API implementation of the Redfish RESTful API for Data Center Hardware Management."
+HOMEPAGE = "https://github.com/DMTF/Redfishtool"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=cee7a7694b5bf14bc9d3e0fbe78a64af"
+
+
+SRCREV = "2bdcd905e1ad227f40809ec298804d5401047612"
+SRCNAME = "Redfishtool"
+BRANCH = "master"
+PROTOCOL = "https"
+PV = "1.1.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+       git://github.com/DMTF/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+       file://${PN}/0001-Adapt-redfishtool-to-python2.patch \
+       "
+
+inherit setuptools
+
+RDEPENDS_${PN} += " \
+       python-requests \
+"
+
+do_install_append() {
+       :
+}
+
+FILES_${PN} += " \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-requests-oauthlib_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-requests-oauthlib_git.bb
new file mode 100644 (file)
index 0000000..fa2e971
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "This project provides first-class OAuth library support for Requests."
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=22d117a849df10d047ed9b792838e863"
+
+SRCREV = "e19ac082682ecf3ed06cdcc5538e3c4bb2aa7762"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "1.2.0"
+
+SRC_URI = "git://github.com/requests/requests-oauthlib;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-requests-toolbelt_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-requests-toolbelt_git.bb
new file mode 100644 (file)
index 0000000..2ef5afb
--- /dev/null
@@ -0,0 +1,24 @@
+
+DESCRIPTION = "requests-toolbelt"
+
+STABLE = "master"
+PROTOCOL = "https"
+BRANCH = "master"
+SRCREV = "1e384626476f7afbff0f649fe41886d0f27473d6"
+S = "${WORKDIR}/git"
+PV = "0.9.1+${SRCPV}"
+
+LICENSE = "Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=71760e0f1dda8cff91b0bc9246caf571"
+
+SRC_URI = "git://github.com/requests/toolbelt.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+DEPENDS = " \
+       python \
+       python-pbr-native \
+       "
+
+inherit setuptools
+
+RDEPENDS_${PN} += " bash"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ruamel.ordereddict_0.4.9.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ruamel.ordereddict_0.4.9.bb
new file mode 100644 (file)
index 0000000..243458e
--- /dev/null
@@ -0,0 +1,11 @@
+
+DESCRIPTION = "The ordereddict module in short"
+HOMEPAGE = "https://pypi.org/project/ruamel.ordereddict/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=0caf06c5d151e57e100341eb28dcb6f5"
+
+SRC_URI[md5sum] = "d160714193a0ec470cc26f614b1aa0e7"
+SRC_URI[sha256sum] = "7058c470f131487a3039fb9536dda9dd17004a7581bdeeafa836269a36a2b3f6"
+
+inherit setuptools pypi
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ruamel.yaml_0.15.9.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ruamel.yaml_0.15.9.bb
new file mode 100644 (file)
index 0000000..0606fb3
--- /dev/null
@@ -0,0 +1,24 @@
+
+DESCRIPTION = "YAML 1.2 loader/dumper package for Python"
+HOMEPAGE = "https://pypi.org/project/ruamel.yaml/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=84e9d7d823d2abac052e70de2051ca1c"
+
+SRC_URI[md5sum] = "d53315f8ccb93748d00ccca39486ac78"
+SRC_URI[sha256sum] = "350496f6fdd8c2bb17a0fa3fd2ec98431280cf12d72dae498b19ac0119c2bbad"
+
+inherit setuptools pypi python-dir
+
+DEPENDS += " \
+       ${PYTHON_PN}-native \
+       ${PYTHON_PN}-cryptography-native \
+       "
+RDEPENDS_${PN}_append  = " \
+       ${PYTHON_PN}-ruamel.ordereddict \
+       "
+
+do_install_prepend() {
+       export RUAMEL_NO_PIP_INSTALL_CHECK=1
+}
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ryu_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-ryu_git.bb
new file mode 100644 (file)
index 0000000..b5eeb61
--- /dev/null
@@ -0,0 +1,40 @@
+
+DESCRIPTION = "Ryu is a component-based software defined networking framework."
+HOMEPAGE = "https://github.com/osrg/ryu"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = " \
+       file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57\
+       "
+
+SRCREV = "1c008060fa3dab51c3a59c1485a7529b13cf0dd1"
+SRCNAME = "ryu"
+BRANCH = "master"
+PROTOCOL = "https"
+PV = "4.24+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/osrg/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools python-dir
+
+DEPENDS += " \
+       python-pip \
+       python-pbr-native \
+       "
+
+RDEPENDS_${PN}_append = " \
+       ${PYTHON_PN}-eventlet \
+       ${PYTHON_PN}-msgpack \
+       ${PYTHON_PN}-netaddr \
+       ${PYTHON_PN}-oslo.config \
+       ${PYTHON_PN}-ovs \
+       ${PYTHON_PN}-routes \
+       ${PYTHON_PN}-six \
+       ${PYTHON_PN}-tinyrpc \
+       ${PYTHON_PN}-webob \
+       "
+
+FILES_${PN}_append = " \
+       ${datadir}/etc/${SRCNAME} \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-saharaclient_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-saharaclient_git.bb
new file mode 100644 (file)
index 0000000..71d4154
--- /dev/null
@@ -0,0 +1,31 @@
+
+DESCRIPTION = "CLI and python client library for OpenStack Sahara"
+HOMEPAGE = "https://launchpad.net/sahara"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+DEPENDS += " \
+        python-pip \
+        python-pbr \
+        "
+
+# Satisfy setup.py 'setup_requires'
+DEPENDS += " \
+        python-pbr-native \
+"
+
+RDEPENDS_${PN} += " \
+       python-pbr \
+       "
+
+SRCNAME = "saharaclient"
+
+SRC_URI = "git://github.com/openstack/python-saharaclient.git;branch=master"
+
+PV = "2.3.0+git${SRCPV}"
+SRCREV = "3107b452467537f4eef3d9ecfb5e35d110d19662"
+S = "${WORKDIR}/git"
+
+inherit setuptools
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-scss_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-scss_git.bb
new file mode 100644 (file)
index 0000000..3fd7809
--- /dev/null
@@ -0,0 +1,18 @@
+
+DESCRIPTION = "A simple language agnostic database migration tool"
+
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e6a600fd5e1d9cbde2d983680233ad02 "
+
+
+SRCREV = "34fe985e6b43caa9f9b9bcd0dc433be4b2a1fdec"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "0.8.73"
+
+SRC_URI = "git://github.com/klen/python-scss;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-snowballstemmer_2.0.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-snowballstemmer_2.0.0.bb
new file mode 100644 (file)
index 0000000..d254208
--- /dev/null
@@ -0,0 +1,16 @@
+
+DESCRIPTION = " \
+       Snowball is a small string processing language designed for creating stemming algorithms \
+       for use in Information Retrieval. This site describes Snowball, and presents several useful \
+       stemmers which have been implemented using it. \
+       "
+HOMEPAGE = "https://github.com/snowballstem/snowball"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2750797da77c1d784e7626b3f7d7ff3e"
+
+SRC_URI[md5sum] = "c05ec4a897be3c953c8b8b844c4241d4"
+SRC_URI[sha256sum] = "df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52"
+
+PYPI_PACKAGE = "snowballstemmer"
+inherit setuptools pypi
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-sphinxcontrib-websupport_1.1.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-sphinxcontrib-websupport_1.1.0.bb
new file mode 100644 (file)
index 0000000..fcc9980
--- /dev/null
@@ -0,0 +1,15 @@
+
+DESCRIPTION = " \
+       sphinxcontrib-websupport provides a Python API to easily integrate Sphinx\
+       documentation into your Web application. \
+       "
+HOMEPAGE = "https://www.sphinx-doc.org/en/master/"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=819a10ab58e77e03e61a584de6339f7c"
+
+SRC_URI[md5sum] = "ca6435e7b4eb9408df4f54972361e9d3"
+SRC_URI[sha256sum] = "9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9"
+
+PYPI_PACKAGE = "sphinxcontrib-websupport"
+inherit setuptools pypi
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-traceback2_1.4.0.bbappend b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-traceback2_1.4.0.bbappend
new file mode 100644 (file)
index 0000000..1ddc46b
--- /dev/null
@@ -0,0 +1,2 @@
+
+BBCLASSEXTEND = "native"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-urlgrabber_4.0.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-urlgrabber_4.0.0.bb
new file mode 100644 (file)
index 0000000..2270e46
--- /dev/null
@@ -0,0 +1,13 @@
+
+DESCRIPTION = "A high-level cross-protocol url-grabber."
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=68ad62c64cc6c620126241fd429e68fe"
+HOMEPAGE = "http://urlgrabber.baseurl.org/"
+
+SRC_URI[sha256sum] = "79c5a01c5dd31906a7f38ef1f500030e137704804d585644693d3e474ed15f39"
+
+DEPENDS += "python-six python-six-native"
+PYPI_PACKAGE = "urlgrabber"
+inherit pypi setuptools
+
+FILES_${PN}_append = " ${datadir}"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-urwid_2.0.1.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-urwid_2.0.1.bb
new file mode 100644 (file)
index 0000000..ad156a2
--- /dev/null
@@ -0,0 +1,11 @@
+
+DESCRIPTION = "Urwid is a console user interface library for Python."
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
+HOMEPAGE = "http://urwid.org/"
+
+SRC_URI[sha256sum] = "644d3e3900867161a2fc9287a9762753d66bd194754679adb26aede559bcccbc"
+
+
+PYPI_PACKAGE = "urwid"
+inherit pypi setuptools
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-versiontools.inc b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-versiontools.inc
new file mode 100644 (file)
index 0000000..8c039dd
--- /dev/null
@@ -0,0 +1,11 @@
+
+SUMMARY = "Smart replacement for plain tuple used in __version__"
+SECTION = "devel/python"
+HOMEPAGE = "https://launchpad.net/versiontools"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://setup.py;beginline=3;endline=20;md5=02193721a38fd8a05a4ddeb7df8e294d"
+
+inherit pypi
+
+SRC_URI[md5sum] = "602b7db8eea30dd29a1d451997adf251"
+SRC_URI[sha256sum] = "a969332887a18a9c98b0df0ea4d4ca75972f24ca94f06fb87d591377e83414f6"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-versiontools_1.9.1.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-versiontools_1.9.1.bb
new file mode 100644 (file)
index 0000000..7b33480
--- /dev/null
@@ -0,0 +1,3 @@
+
+inherit setuptools
+require python-versiontools.inc
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-yaql_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-yaql_git.bb
new file mode 100644 (file)
index 0000000..ecdec7a
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "YAQL (Yet Another Query Language) is an embeddable and extensible query language, that allows performing complex queries against arbitrary objects. It has a vast and comprehensive standard library of frequently used querying functions and can be extend even further with user-specified functions. YAQL is written in python and is distributed via PyPI."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
+
+SRCREV = "7385a31b9dbfc777a514ba28fe507fbf904cc779"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "1.1.3+git${SRCPV}"
+
+SRC_URI = "git://github.com/openstack/yaql.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python python-pbr-native"
+inherit setuptools distutils pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-zipp_0.6.0.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python-zipp_0.6.0.bb
new file mode 100644 (file)
index 0000000..fbce0aa
--- /dev/null
@@ -0,0 +1,15 @@
+
+DESCRIPTION = "Backport of pathlib-compatible object wrapper for zip files"
+HOMEPAGE = "https://github.com/jaraco/zipp"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
+
+SRC_URI[md5sum] = "d4451a749d8a7c3c392a9edd1864a937"
+SRC_URI[sha256sum] = "3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+RDEPENDS_${PN} += "${PYTHON_PN}-more-itertools"
+
+inherit pypi setuptools
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-cheroot_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-cheroot_git.bb
new file mode 100644 (file)
index 0000000..87df278
--- /dev/null
@@ -0,0 +1,32 @@
+
+SUMMARY = "Cheroot is the high-performance, pure-Python HTTP server used by CherryPy."
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=beeffd9dfcc746ed5a91921f1acc2746"
+
+SRCREV = "c7ca7ff0bcebb53e1bed783280a3bb5db35f900f"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "7.0.0"
+
+SRC_URI = "git://github.com/cherrypy/cheroot.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " \
+       python3 \
+       python3-setuptools-scm-native \
+       python3-setuptools-scm-git-archive-native \
+       "
+
+RDEPENDS_${PN} += " \
+       python3-email \
+       python3-fcntl \
+       python3-io \
+       python3-logging \
+       python3-unixadmin \
+       python3-pyopenssl \
+       python3-six \
+       "
+
+inherit setuptools3 distutils3 pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-lang_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-lang_git.bb
new file mode 100644 (file)
index 0000000..ddee5d3
--- /dev/null
@@ -0,0 +1,23 @@
+
+SUMMARY = " Lang - Python Language Constraints"
+DESCRIPTION = "\
+       Lang is a Python module that allows enforcing programming language constraints. Lang was \
+       built using a Java like mindset, so many of the constraints that are supported are mirrors \
+       of constraints in the Java programming language. \
+       "
+
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
+
+SRCREV = "feb4c638ebc581d9913f440965e83558fd10018c"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git/src"
+PV = "1.0.4+git${SRCPV}"
+
+SRC_URI = "git://github.com/amitassaraf/lang.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python3 python3-setuptools-scm-native"
+inherit setuptools3 distutils3 pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-linux-procfs_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-linux-procfs_git.bb
new file mode 100644 (file)
index 0000000..cad9fd2
--- /dev/null
@@ -0,0 +1,20 @@
+
+DESCRIPTION = "Python classes to extract information from the Linux kernel /proc files"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+
+
+SRCREV = "d170839360edf3fbac4a31c7771c4ec5bb0b6121"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "0.6.1"
+
+SRC_URI = "git://git.kernel.org/pub/scm/libs/python/python-linux-procfs/python-linux-procfs.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+DEPENDS += " python"
+RDEPENDS_${PN} = "python3-core"
+
+inherit setuptools3 distutils3 pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-logutils_0.3.5.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-logutils_0.3.5.bb
new file mode 100644 (file)
index 0000000..95caed9
--- /dev/null
@@ -0,0 +1,17 @@
+
+DESCRIPTION = "Set of handlers for the Python standard library's logging package"
+HOMEPAGE = "https://pypi.python.org/pypi/logutils"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=44c35f0b8e2a27a2f33a4e4a5c65d014"
+
+SRCREV = "66d55fae0cb3a94bc6a25af8e7c3dff2535a1b02"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "0.3.5"
+
+# SRC_URI = "hg://bitbucket.org/vinay.sajip/logutils;module=${PN}-${PV};proto=https;rev=8dcaf2a86257"
+SRC_URI = "git://bitbucket.org/vinay.sajip/logutils.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools3 distutils3
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-pecan_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-pecan_git.bb
new file mode 100644 (file)
index 0000000..8770589
--- /dev/null
@@ -0,0 +1,29 @@
+
+DESCRIPTION = "WSGI object-dispatching web framework"
+
+HOMEPAGE = "https://pypi.python.org/pypi/pecan/"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d846877d24bbb3d7a00a985c90378e8c"
+
+SRCREV = "da15e06d783e2cf569b39ba506e68e4e1e85568d"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "1.3.2+git${SRCPV}"
+
+SRC_URI = "git://github.com/pecan/pecan.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+inherit setuptools3 distutils3
+
+RDEPENDS_${PN} = "python3-mako \
+                 python3-six \
+                 python3-logutils \
+                 python3-webtest  \
+                 "
+
+do_install_append() {
+        mv ${D}/${bindir}/gunicorn_pecan ${D}/${bindir}/gunicorn_pecan3
+        mv ${D}/${bindir}/pecan ${D}/${bindir}/pecan3
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-prettytable_0.7.2.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-prettytable_0.7.2.bb
new file mode 100644 (file)
index 0000000..b0cc20b
--- /dev/null
@@ -0,0 +1,27 @@
+
+# Update log with the message: adopted from upstream e1f2e1ae5f27d889e3d4bef1b23edcf8a6d804c0
+DESCRIPTION = " \
+       PrettyTable is a simple Python library designed to make it quick and easy to represent tabular data \
+       in visually appealing ASCII tables. It was inspired by the ASCII tables used in the PostgreSQL shell \
+       psql. PrettyTable allows for selection of which columns are to be printed, independent alignment of \
+       columns (left or right justified or centred) and printing of “sub-tables” by specifying a row range.\
+       "
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3e73500ffa52de5071cff65990055282"
+
+SRC_URI[md5sum] = "0c1361104caff8b09f220748f9d69899"
+SRC_URI[sha256sum] = "a53da3b43d7a5c229b5e3ca2892ef982c46b7923b51e98f0db49956531211c4f"
+
+SRCNAME = "prettytable"
+
+SRC_URI = "https://pypi.python.org/packages/source/P/PrettyTable/${SRCNAME}-${PV}.zip"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit setuptools3
+do_install_append() {
+    find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "*.txt" -o -name "PKG-INFO" -exec chmod 644 {} +
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-pymysql_0.9.3.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-pymysql_0.9.3.bb
new file mode 100644 (file)
index 0000000..08999a3
--- /dev/null
@@ -0,0 +1,18 @@
+
+SUMMARY = "A pure-Python MySQL client library"
+DESCRIPTION = " \
+This package contains a pure-Python MySQL client library, based on PEP 249 \
+Most public APIs are compatible with mysqlclient and MySQLdb.\
+"
+SECTION = "devel/python"
+HOMEPAGE = "https://github.com/PyMySQL/PyMySQL"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=528175c84163bb800d23ad835c7fa0fc"
+
+inherit pypi
+inherit setuptools3
+
+PYPI_PACKAGE = "PyMySQL"
+
+SRC_URI[md5sum] = "e5d9183cc0a775ac29f9e0365cca6556"
+SRC_URI[sha256sum] = "d8c059dcd81dedb85a9f034d5e22dcb4442c0b201908bede99e306d65ea7c8e7"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-redfishtool_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-redfishtool_git.bb
new file mode 100644 (file)
index 0000000..cfbab96
--- /dev/null
@@ -0,0 +1,29 @@
+
+DESCRIPTION = "Client side API implementation of the Redfish RESTful API for Data Center Hardware Management."
+HOMEPAGE = "https://github.com/DMTF/Redfishtool"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=cee7a7694b5bf14bc9d3e0fbe78a64af"
+
+
+SRCREV = "2bdcd905e1ad227f40809ec298804d5401047612"
+SRCNAME = "Redfishtool"
+BRANCH = "master"
+PROTOCOL = "https"
+PV = "1.1.0+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/DMTF/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit setuptools3
+
+RDEPENDS_${PN} += " \
+       python3-requests \
+"
+
+do_install_append() {
+       :
+}
+
+FILES_${PN} += " \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-versiontools_1.9.1.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-versiontools_1.9.1.bb
new file mode 100644 (file)
index 0000000..28e0f47
--- /dev/null
@@ -0,0 +1,3 @@
+
+inherit setuptools3
+require python-versiontools.inc
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-webtest_2.0.33.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-webtest_2.0.33.bb
new file mode 100644 (file)
index 0000000..8828fbe
--- /dev/null
@@ -0,0 +1,14 @@
+
+DESCRIPTION = "This wraps any WSGI application and makes it easy to send test requests to that application, without starting up an HTTP server."
+HOMEPAGE = "https://pypi.python.org/pypi/WebTest/"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://license.rst;md5=64f013a9d7a2a8ffc8d016a2d4214bcd"
+
+PYPI_PACKAGE = "WebTest"
+
+RDEPENDS_${PN} += "${PYTHON_PN}-beautifulsoup4"
+
+SRC_URI[md5sum] = "dd0385c725b85ac1e8079f38d2acd7b1"
+SRC_URI[sha256sum] = "41348efe4323a647a239c31cde84e5e440d726ca4f449859264e538d39037fd0"
+inherit setuptools3 pypi
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-wsme_git.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python3-wsme_git.bb
new file mode 100644 (file)
index 0000000..9b13942
--- /dev/null
@@ -0,0 +1,20 @@
+
+SUMMARY = " Web Services Made Easy (WSME)"
+DESCRIPTION = "\
+       Web Services Made Easy (WSME) simplifies the writing of REST web services by providing simple yet \
+       powerful typing, removing the need to directly manipulate the request and the response objects. \
+       "
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5a9126e7f56a0cf3247050de7f10d0f4"
+
+SRCREV = "f36a607124355007d3a830ebe7e53efda777c58a"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git/"
+PV = "0.9.3+git${SRCPV}"
+
+SRC_URI = "git://opendev.org/x/wsme.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+DEPENDS += " python3 python3-pbr-native"
+inherit distutils3 
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/python/python_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-devtools/python/python_%.bbappend
new file mode 100644 (file)
index 0000000..fa1c11e
--- /dev/null
@@ -0,0 +1,7 @@
+pkg_postinst_${PN}-core () {
+    # several scritps assume /bin/python is available
+    ln -sf ${bindir}/python $D${base_bindir}/python
+}
+    
+
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/rpm/rpm2_4.14.2.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/rpm/rpm2_4.14.2.bb
new file mode 100644 (file)
index 0000000..7e56302
--- /dev/null
@@ -0,0 +1,107 @@
+SUMMARY_python2-rpm = "Python bindings for apps which will manupulate RPM packages"
+DESCRIPTION_python2-rpm = "The python2-rpm package contains a module that permits applications \
+written in the Python programming language to use the interface \
+supplied by the RPM Package Manager libraries."
+
+HOMEPAGE = "http://www.rpm.org"
+
+# libraries are also LGPL - how to express this?
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c0bf017c0fd1920e6158a333acabfd4a"
+
+SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
+           file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
+           file://0001-Do-not-read-config-files-from-HOME.patch \
+           file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \
+           file://0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch \
+           file://0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch \
+           file://0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch \
+           file://0001-Fix-build-with-musl-C-library.patch \
+           file://0001-Add-a-color-setting-for-mips64_n32-binaries.patch \
+           file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \
+           file://0001-Split-binary-package-building-into-a-separate-functi.patch \
+           file://0002-Run-binary-package-creation-via-thread-pools.patch \
+           file://0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch \
+           file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \
+           file://0001-perl-disable-auto-reqs.patch \
+           file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \
+           "
+
+PE = "1"
+SRCREV = "753f6941dc32e94047b7cfe713ddd604a810b4db"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "nss libarchive db file popt xz bzip2 dbus elfutils python"
+DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native"
+
+inherit autotools gettext pkgconfig pythonnative
+export PYTHON_ABI
+
+# OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe
+EXTRA_AUTORECONF_append = " --exclude=gnu-configize"
+
+EXTRA_OECONF_append = " --without-lua --enable-python"
+EXTRA_OECONF_append_libc-musl = " --disable-nls"
+
+# --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs
+#
+# --localstatedir prevents rpm from writing its database to native sysroot when building images
+#
+# Disable dbus for native, so that rpm doesn't attempt to inhibit shutdown via session dbus even when plugins support is enabled.
+# Also disable plugins by default for native.
+EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --disable-plugins"
+EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --localstatedir=/var --disable-plugins"
+
+BBCLASSEXTEND = "native nativesdk"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils"
+
+ASNEEDED = ""
+
+do_compile_append () {
+       cd python
+       cp -r ../../git/python/* ./
+       python setup.py build
+}
+
+do_install_append () {
+       sed -i -e 's:${HOSTTOOLS_DIR}/::g' \
+           ${D}/${libdir}/rpm/macros
+
+       sed -i -e 's|/usr/bin/python|${USRBINPATH}/env ${PYTHON_PN}|' \
+           ${D}${libdir}/rpm/pythondistdeps.py \
+           ${D}${libdir}/rpm/python-macro-helper
+
+       # remove all contents except python2-rpm
+       rm -r ${D}/var
+       rm -r ${D}/usr/share
+       rm -r ${D}/usr/include
+       rm -r ${D}/usr/lib/librpm*
+       rm -r ${D}/usr/lib/pkgconfig
+       # rm -r ${D}/usr/src
+       rm -r ${D}/usr/lib/rpm
+       rm -r ${D}/usr/lib/rpm-plugins
+       # rm -r ${D}/usr/lib/.debug
+       rm -r ${D}/usr/bin
+
+       cd python
+       python setup.py install \
+               --root=${D} --prefix=/usr \
+               --install-lib=${PYTHON_SITEPACKAGES_DIR}/ --install-data=${datadir}
+}
+
+PACKAGES = "python2-rpm rpm2-dbg"
+PROVIDES = "python2-rpm rpm2-dbg"
+FILES_python2-rpm = " \
+       ${PYTHON_SITEPACKAGES_DIR}/rpm/ \
+       ${PYTHON_SITEPACKAGES_DIR}/rpm-${PV}-py${PYTHON_BASEVERSION}.egg-info \
+       "
+
+# rpm 5.x was packaging the rpm build tools separately
+#RPROVIDES_${PN} += "rpm-build"
+
+RDEPENDS_${PN} = "bash perl python-core"
+RDEPENDS_python2-rpm = "rpm"
+DEPENDS_python2-rpm = "rpm"
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/rsync/rsync_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-devtools/rsync/rsync_%.bbappend
new file mode 100644 (file)
index 0000000..d2c8693
--- /dev/null
@@ -0,0 +1,35 @@
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "rsync-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = " & Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;beginline=1;endline=10;md5=0b819b48e21c87ba7f5d0502e304af61 \
+       "
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       "
+
+inherit systemd
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "rsync.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/${DSTSUFX0}/centos/rsync-config.spec ${S}/stx-configfiles-LICENSE
+}
+
+
+do_install_append_class-target() {
+    install -p -D -m 644 ${S}/packaging/systemd/rsync.service ${D}/${systemd_system_unitdir}/rsync.service
+    install -m 644 ${WORKDIR}/${DSTSUFX0}/files/rsyncd.conf  ${D}/${sysconfdir}/rsyncd.conf
+}
+
+FILES_${PN}_append = " ${systemd_system_unitdir}"
+
+       
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/ruby/ruby.inc b/meta-starlingx/meta-stx-integ/recipes-devtools/ruby/ruby.inc
new file mode 100644 (file)
index 0000000..1a804da
--- /dev/null
@@ -0,0 +1,43 @@
+
+SUMMARY = "An interpreter of object-oriented scripting language"
+DESCRIPTION = "Ruby is an interpreted scripting language for quick \
+and easy object-oriented programming. It has many features to process \
+text files and to do system management tasks (as in Perl). \
+It is simple, straight-forward, and extensible. \
+"
+HOMEPAGE = "http://www.ruby-lang.org/"
+SECTION = "devel/ruby"
+LICENSE = "Ruby | BSD | GPLv2"
+LIC_FILES_CHKSUM = "\
+    file://COPYING;md5=837b32593517ae48b9c3b5c87a5d288c \
+    file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5 \
+    file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://LEGAL;md5=3ce1fae39fe573b818c0af162bce6579 \
+"
+
+DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline libffi libnsl2"
+DEPENDS_class-native = "zlib-native openssl-native libyaml-native readline-native libnsl2"
+
+SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+SRC_URI = " \
+       http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz \
+       file://0002-Obey-LDFLAGS-for-the-link-of-libruby.patch \
+           "
+# file://0002-Obey-LDFLAGS-for-the-link-of-libruby.patch 
+# file://extmk.patch 
+UPSTREAM_CHECK_URI = "https://www.ruby-lang.org/en/downloads/"
+
+inherit autotools ptest
+
+
+# This snippet lets compiled extensions which rely on external libraries,
+# such as zlib, compile properly.  If we don't do this, then when extmk.rb
+# runs, it uses the native libraries instead of the target libraries, and so
+# none of the linking operations succeed -- which makes extconf.rb think
+# that the libraries aren't available and hence that the extension can't be
+# built.
+
+do_configure_prepend() {
+    sed -i "s#%%TARGET_CFLAGS%%#$TARGET_CFLAGS#; s#%%TARGET_LDFLAGS%%#$TARGET_LDFLAGS#" ${S}/common.mk
+    rm -rf ${S}/ruby/
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-devtools/ruby/ruby_2.0.0-p648.bb b/meta-starlingx/meta-stx-integ/recipes-devtools/ruby/ruby_2.0.0-p648.bb
new file mode 100644 (file)
index 0000000..244533b
--- /dev/null
@@ -0,0 +1,81 @@
+
+require ruby.inc
+inherit openssl10
+
+DEPENDS += " libnsl2"
+
+SRCREV = "1a828cad2d559e2ff55a5f01cc5de217b9c9bc2b"
+
+SRC_URI += " \
+       git://github.com/ruby/spec.git;protocol=https;rev=${SRCREV};destsuffix=spec/rubyspec \
+       file://ruby-CVE-2017-9228.patch \
+       file://ext.socket.extmk.patch \
+       "
+
+SRC_URI[md5sum] = "05db49992d01731fee023cad09bb4e52"
+SRC_URI[sha256sum] = "8690bd6b4949c333b3919755c4e48885dbfed6fd055fe9ef89930bde0d2376f8"
+
+# it's unknown to configure script, but then passed to extconf.rb
+# maybe it's not really needed as we're hardcoding the result with
+# 0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch
+UNKNOWN_CONFIGURE_WHITELIST += "--enable-wide-getaddrinfo"
+
+PACKAGECONFIG ??= ""
+
+PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind"
+#PACKAGECONFIG[gmp] = "--with-gmp=yes, --with-gmp=no, gmp"
+
+EXTRA_AUTORECONF += "--exclude=aclocal"
+
+EXTRA_OECONF ?= " "
+EXTRA_OECONF = "\
+    --disable-install-doc \
+    --disable-rpath \
+    --disable-dtrace \
+    --enable-shared \
+    --enable-load-relative \
+"
+
+EXTRA_OEMAKE = " \
+    LIBRUBYARG='-lruby-static' \
+"
+
+do_configure_prepend() {
+    cd ${S}
+    rm -rf spec/rubyspec
+    cp -rf ${WORKDIR}/spec ${S}
+    cd ${B}
+}
+
+do_install() {
+    oe_runmake 'DESTDIR=${D}' install
+}
+
+do_install_append_class-target () {
+    # Find out rbconfig.rb from .installed.list
+    rbconfig_rb=`grep rbconfig.rb ${B}/.installed.list`
+    # Remove build host directories
+    sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' \
+           -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
+           -e 's|${DEBUG_PREFIX_MAP}||g' \
+           -e 's:${HOSTTOOLS_DIR}/::g' \
+           -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+           -e 's:${RECIPE_SYSROOT}::g' \
+           -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
+        ${D}$rbconfig_rb
+
+}
+
+do_install_ptest () {
+    cp -rf ${S}/test ${D}${PTEST_PATH}/
+    cp -r ${S}/include ${D}/${libdir}/ruby/
+    test_case_rb=`grep rubygems/test_case.rb ${B}/.installed.list`
+    sed -i -e 's:../../../test/:../../../ptest/test/:g' ${D}/$test_case_rb
+}
+
+FILES_${PN} += "${datadir}/rubygems"
+
+
+BBCLASSEXTEND = "native nativesdk"
+
+# INSANE_SKIP_${PN} += "ldflags"
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/collectd/collectd_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-extended/collectd/collectd_%.bbappend
new file mode 100644 (file)
index 0000000..567f24e
--- /dev/null
@@ -0,0 +1,24 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += " \
+    file://collectd-fix-for-LIBPYTHON_LDFLAGS.patch \
+    file://default-plugins-cpu.conf \
+    file://default-plugins-interface.conf \
+    file://default-plugins-load.conf \
+    file://default-plugins-memory.conf \
+    file://default-plugins-syslog.conf \
+    "
+
+PACKAGECONFIG += "python"
+
+PACKAGECONFIG[python] = "--enable-python --with-libpython,--disable-python --with-libpython=no,python"
+
+do_install_append () {
+    install -m 755 -d ${D}${sysconfdir}/collectd.d/
+    install -m 644 ${WORKDIR}/default-plugins-cpu.conf ${D}${sysconfdir}/collectd.d/90-default-plugins-cpu.conf
+    install -m 644 ${WORKDIR}/default-plugins-interface.conf ${D}${sysconfdir}/collectd.d/90-default-plugins-interface.conf
+    install -m 644 ${WORKDIR}/default-plugins-load.conf ${D}${sysconfdir}/collectd.d/90-default-plugins-load.conf
+    install -m 644 ${WORKDIR}/default-plugins-memory.conf ${D}${sysconfdir}/collectd.d/90-default-plugins-memory.conf
+    install -m 644 ${WORKDIR}/default-plugins-syslog.conf ${D}${sysconfdir}/collectd.d/90-default-plugins-syslog.conf
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/hardlink/hardlink_0.3.0.bb b/meta-starlingx/meta-stx-integ/recipes-extended/hardlink/hardlink_0.3.0.bb
new file mode 100644 (file)
index 0000000..c5dfa54
--- /dev/null
@@ -0,0 +1,20 @@
+
+DESCRIPTION = "Hardlink is a tool which replaces multiple copies of a file with hardlinks"
+
+HOMEPAGE = "https://jak-linux.org/projects/hardlink"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://hardlink.1;md5=c7a9a3326f28fa218d9af0251a5e1ae4"
+
+SRC_URI = "https://jak-linux.org/projects/hardlink/hardlink_0.3.0.tar.xz"
+SRC_URI[md5sum] = "72f1a460adb6874c151deab766e434ad"
+SRC_URI[sha256sum] = "e8c93dfcb24aeb44a75281ed73757cb862cc63b225d565db1c270af9dbb7300f"
+
+DEPENDS = " attr"
+inherit pkgconfig
+
+do_install() {
+       cd ${S}
+       oe_runmake -e DESTDIR=${D} BINDIR=${bindir} MANDIR=${datadir} install
+}
+
+FILES_${PN}-doc = "${datadir}/"
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/ibsh/ibsh_0.3e.bb b/meta-starlingx/meta-stx-integ/recipes-extended/ibsh/ibsh_0.3e.bb
new file mode 100644 (file)
index 0000000..8fdadee
--- /dev/null
@@ -0,0 +1,24 @@
+
+SUMMARY = "ibsh Iron Bar Shell"
+DESCRIPTION = "CGCS add default users types"
+SECTION = "base/shell"
+HOMEPAGE = "https://sourceforge.net/projects/ibsh/"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+                    file://COPYRIGHT;md5=e5ef2fe07fcba90ea59f9f1a61f7526b \
+"
+
+SRC_URI[md5sum] = "41ea08a03c6bd805dff1a5ff25ea1d5b"
+SRC_URI[sha256sum] = "4c40d0841527c76fc75ccc27d32b575543d02d661973fc3561004efb6033206d"
+SRC_URI = "https://downloads.sourceforge.net/project/ibsh/ibsh/ibsh-0.3e/ibsh-0.3e.tar.gz"
+
+do_install() {
+       cd ${S}
+       install -d -m0755 ${D}/${base_bindir}
+       install -d -m0755 ${D}/${sysconfdir}/ibsh/cmds/
+       install -d -m0755 ${D}/${sysconfdir}/ibsh/xtns/
+       install -m0755 ibsh ${D}/${base_bindir}
+       install -m0644 globals.cmds ${D}/${sysconfdir}/ibsh
+       install -m0644 globals.xtns ${D}/${sysconfdir}/ibsh
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/iptables/iptables_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-extended/iptables/iptables_%.bbappend
new file mode 100644 (file)
index 0000000..f4dee87
--- /dev/null
@@ -0,0 +1,33 @@
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "iptables-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       "
+
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+"
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/${DSTSUFX0}/files/LICENSE ${S}/stx-configfiles-LICENSE
+}
+
+inherit systemd
+SYSTEMD_PACKAGES += "${PN}"
+SYSETMD_SERVICE_${PN}_append = "iptables.service ip6tables.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "enable"
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+do_install_append() {
+    install -d -m0755 ${D}/${sysconfdir}/sysconfig
+    install -m 600 ${WORKDIR}/${DSTSUFX0}/files/iptables.rules ${D}/${sysconfdir}/sysconfig/iptables
+    install -m 600 ${WORKDIR}/${DSTSUFX0}/files/ip6tables.rules ${D}/${sysconfdir}/sysconfig/ip6tables
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/libpwquality/libpwquality_1.4.0.bbappend b/meta-starlingx/meta-stx-integ/recipes-extended/libpwquality/libpwquality_1.4.0.bbappend
new file mode 100644 (file)
index 0000000..660a450
--- /dev/null
@@ -0,0 +1,8 @@
+
+do_install_append() {
+       install -d ${D}/${baselib}/security/
+       ln -fs ${libdir}/security/pam_pwquality.so ${D}/${baselib}/security/
+}
+
+FILES_${PN} += "/${baselib}/security/"
+INSANE_SKIP_${PN} += "dev-so"
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/logrotate/logrotate_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-extended/logrotate/logrotate_%.bbappend
new file mode 100644 (file)
index 0000000..faf2b7f
--- /dev/null
@@ -0,0 +1,32 @@
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "logrotate-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       "
+
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+"
+
+RDEPENDS_${PN}_append = " cronie"
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/${DSTSUFX0}/files/LICENSE ${S}/stx-configfiles-LICENSE
+}
+
+do_install_append() {
+    install -d -m0755 ${D}/${sysconfdir}/cron.d/
+    install -m 644 ${WORKDIR}/${DSTSUFX0}/files/logrotate-cron.d ${D}/${sysconfdir}/cron.d/logrotate
+    install -m 644 ${WORKDIR}/${DSTSUFX0}/files/logrotate.conf ${D}/${sysconfdir}/logrotate.conf
+    #mv ${D}/${sysconfdir}/cron.daily/logrotate ${D}/${sysconfdir}/logrotate.cron
+    #chmod 700 ${D}/${sysconfdir}/logrotate.cron
+}
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/lsb/lsbinitscripts_9.79.bbappend b/meta-starlingx/meta-stx-integ/recipes-extended/lsb/lsbinitscripts_9.79.bbappend
new file mode 100644 (file)
index 0000000..6f82beb
--- /dev/null
@@ -0,0 +1,26 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRC_URI += "file://service-redirect-to-restart-for-reload.patch"
+
+DEPENDS += "\
+    gettext-native \
+    glib-2.0 \
+    popt \
+"
+
+unset do_configure[noexec]
+unset do_compile[noexec]
+
+do_install_append() {
+       install -m 0755 -d ${D}/${sysconfdir}/profile.d/
+       install -m 0644 ${S}/lang.sh  ${D}${sysconfdir}/profile.d/lang.sh
+       install -m 0755 -d ${D}/${base_sbindir}
+       install -m 0755 ${S}/src/consoletype ${D}/${base_sbindir}
+
+       install -m 0755 -d ${D}/${bindir}
+       install -m 0755 ${S}/service ${D}/${bindir}
+       sed -i -e 's|${bindir}|${base_bindir}|' ${D}/${bindir}/service
+}
+
+FILES_${PN}_append = "${sysconfdir}/profile.d/lang.sh"
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/pam/files/util-linux-pam-postlogin.patch b/meta-starlingx/meta-stx-integ/recipes-extended/pam/files/util-linux-pam-postlogin.patch
new file mode 100644 (file)
index 0000000..2ace20e
--- /dev/null
@@ -0,0 +1,9 @@
+diff --git a/util-linux-config/files/stx.postlogin b/util-linux-config/files/stx.postlogin
+new file mode 100644
+index 0000000..292bd8a
+--- /dev/null
++++ b/stx.postlogin
+@@ -0,0 +1,3 @@
++session     [default=1]   pam_lastlog.so nowtmp showfailed
++session     optional      pam_lastlog.so silent noupdate showfailed
++
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/pam/libpam_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-extended/pam/libpam_%.bbappend
new file mode 100644 (file)
index 0000000..bd24ec6
--- /dev/null
@@ -0,0 +1,91 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH = "pam-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = " & Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;beginline=1;endline=10;md5=fa5ec877c97a75a09b397bccc95b2b87 \
+       "
+
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH};name=opendev \
+       file://util-linux-pam-postlogin.patch \
+       "
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/stx-configfiles/centos/pam-config.spec ${S}/stx-configfiles-LICENSE
+}
+
+do_install_append () {
+
+    # From util-linux-config patch
+    install -m 644 ${S}/stx.postlogin ${D}/${sysconfdir}/pam.d/postlogin
+
+    install  -m 644 ${WORKDIR}/stx-configfiles/files/sshd.pam        ${D}/${sysconfdir}/pam.d/sshd.pam
+    install  -m 644 ${WORKDIR}/stx-configfiles/files/common-account  ${D}/${sysconfdir}/pam.d/common-account
+    install  -m 644 ${WORKDIR}/stx-configfiles/files/common-auth     ${D}/${sysconfdir}/pam.d/common-auth
+    install  -m 644 ${WORKDIR}/stx-configfiles/files/common-password ${D}/${sysconfdir}/pam.d/common-password
+    install  -m 644 ${WORKDIR}/stx-configfiles/files/common-session  ${D}/${sysconfdir}/pam.d/common-session
+
+    install  -m 644 ${WORKDIR}/stx-configfiles/files/common-session-noninteractive  \
+               ${D}/${sysconfdir}/pam.d/common-session-noninteractive
+
+    install  -m 644 ${WORKDIR}/stx-configfiles/files/system-auth.pamd ${D}/${sysconfdir}/pam.d/system-auth
+       # A better place is the autoconfig from kickstarter
+       sed -i -e '/password .*pam_ldap.so/,/session .*revoke/ s/^$/password required pam_deny.so\n/g' \
+               ${D}/${sysconfdir}/pam.d/system-auth
+}
+
+RRECOMMENDS_${PN}_append = " \
+    nss-pam-ldapd \
+    libpwquality \
+    pam-plugin-access \
+    pam-plugin-cracklib \
+    pam-plugin-debug \
+    pam-plugin-deny \
+    pam-plugin-echo \
+    pam-plugin-env \
+    pam-plugin-exec \
+    pam-plugin-faildelay \
+    pam-plugin-filter \
+    pam-plugin-ftp \
+    pam-plugin-group \
+    pam-plugin-issue \
+    pam-plugin-keyinit \
+    pam-plugin-lastlog \
+    pam-plugin-limits \
+    pam-plugin-listfile \
+    pam-plugin-localuser \
+    pam-plugin-loginuid \
+    pam-plugin-mail \
+    pam-plugin-mkhomedir \
+    pam-plugin-motd \
+    pam-plugin-namespace \
+    pam-plugin-nologin \
+    pam-plugin-permit \
+    pam-plugin-pwhistory \
+    pam-plugin-rhosts \
+    pam-plugin-rootok \
+    pam-plugin-securetty \
+    pam-plugin-shells \
+    pam-plugin-stress \
+    pam-plugin-succeed-if \
+    pam-plugin-tally \
+    pam-plugin-stress \
+    pam-plugin-succeed-if \
+    pam-plugin-tally \
+    pam-plugin-tally2 \
+    pam-plugin-time \
+    pam-plugin-timestamp \
+    pam-plugin-umask \
+    pam-plugin-unix \
+    pam-plugin-warn \
+    pam-plugin-wheel \
+    pam-plugin-xauth \
+    "
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/procps/procps_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-extended/procps/procps_%.bbappend
new file mode 100644 (file)
index 0000000..df7e138
--- /dev/null
@@ -0,0 +1,29 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH = "initscripts-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += " \
+       file://stx-configfiles-LICENSE;beginline=1;endline=10;md5=5c43895c2c3756125227c74209b8b791 \
+       "
+
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH};name=opendev \
+       "
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/${DSTSUFX0}/centos/initscripts-config.spec ${S}/stx-configfiles-LICENSE
+}
+
+do_install_append () {
+    install -d  -m 755 ${D}/${sysconfdir}
+
+    install -m  644 ${WORKDIR}/${DSTSUFX0}/files/sysctl.conf ${D}/${sysconfdir}/sysctl.conf
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/rabbitmq/rabbitmq-server_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-extended/rabbitmq/rabbitmq-server_%.bbappend
new file mode 100644 (file)
index 0000000..c68e133
--- /dev/null
@@ -0,0 +1,41 @@
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+LICENSE_append = " & Apache-2.0"
+SUBPATH0 = "rabbitmq-server-config"
+DSTSUFX0 = "stx-configfiles"
+
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;beginline=1;endline=10;md5=47a43f492f496b985b830ce47b8c5cec \
+       "
+SRC_URI += " \
+    git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+    "
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/stx-configfiles/centos/rabbitmq-server-config.spec ${S}/stx-configfiles-LICENSE
+}
+
+do_install_append () {
+
+    # Libdir here is hardcoded in other scripts.
+    install -d ${D}/usr/lib/ocf/resource.d/rabbitmq
+    install -d ${D}/${sysconfdir}/systemd/system
+    install -d ${D}/${sysconfdir}/logrotate.d
+
+    install -m 0755 ${WORKDIR}/stx-configfiles/files/rabbitmq-server.ocf  \
+        ${D}/usr/lib/ocf/resource.d/rabbitmq/stx.rabbitmq-server
+               
+    install -m 0644 ${WORKDIR}/stx-configfiles/files/rabbitmq-server.service.example  \
+         ${D}/${sysconfdir}/systemd/system/rabbitmq-server.service
+    sed -i -e 's/notify/simple/' ${D}/${sysconfdir}/systemd/system/rabbitmq-server.service 
+    # Remove lib/systemd/ 
+    rm -rf ${D}/${nonarch_base_libdir}
+        
+    install -m 0644 ${WORKDIR}/stx-configfiles/files/rabbitmq-server.logrotate  \
+         ${D}/${sysconfdir}/logrotate.d/rabbitmq-server
+
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/rpcbind/rpcbind_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-extended/rpcbind/rpcbind_%.bbappend
new file mode 100644 (file)
index 0000000..3f700b3
--- /dev/null
@@ -0,0 +1,2 @@
+USERADD_PARAM_${PN} = "-r -g rpc -u 32 -d /var/lib/rpcbind -s /sbin/nologin -c 'Rpcbind Daemons' rpc"
+GROUPADD_PARAM_${PN} = "-r -g 32 rpc"
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/shadow/shadow_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-extended/shadow/shadow_%.bbappend
new file mode 100644 (file)
index 0000000..c887329
--- /dev/null
@@ -0,0 +1,40 @@
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "shadow-utils-config"
+DSTSUFX0 = "stx-configfiles"
+SUBPATH1 = "util-linux-config"
+DSTSUFX1 = "stx-util-linux"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       file://stx-util-linux-LICENSE;beginline=1;endline=10;md5=5801a9b9ee2a1468c289f27bd8ee8af3 \
+       "
+SRC_URI += " \
+        git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+        git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX1};branch="r/stx.3.0";subpath=${SUBPATH1};name=opendev \
+       "
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/stx-configfiles/files/LICENSE ${S}/stx-configfiles-LICENSE
+    cp -pf ${WORKDIR}/stx-util-linux/centos/util-linux-config.spec ${S}/stx-util-linux-LICENSE
+}
+
+do_install_append_class-target () { 
+
+    install -d ${D}/${sysconfdir}/pam.d
+    install -m 644 ${WORKDIR}/stx-util-linux/files/stx.su     ${D}/${sysconfdir}/pam.d/su
+    install -m 644 ${WORKDIR}/stx-util-linux/files/stx.login  ${D}/${sysconfdir}/pam.d/login
+
+    install -D -m644 ${WORKDIR}/${DSTSUFX0}/files/login.defs ${D}/${sysconfdir}/login.defs
+    install -D -m644 ${WORKDIR}/${DSTSUFX0}/files/clear_shadow_locks.service  \
+              ${D}/${systemd_system_unitdir}/clear_shadow_locks.service
+}
+
+inherit systemd
+SYSTEMD_PACKAGES += "shadow"
+SYSTEMD_SERVICE_${PN} = "clear_shadow_locks.service"
+SYSTEMD_AUTO_ENABLE_${PN} += "enable"
diff --git a/meta-starlingx/meta-stx-integ/recipes-extended/sudo/sudo_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-extended/sudo/sudo_%.bbappend
new file mode 100644 (file)
index 0000000..94dd1a2
--- /dev/null
@@ -0,0 +1,59 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+DEPENDS += " \
+       openldap \
+       libgcrypt \
+       "
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "sudo-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       "
+
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       file://sudo-1.6.7p5-strip.patch \
+       file://sudo-1.7.2p1-envdebug.patch \
+       file://sudo-1.8.23-sudoldapconfman.patch \
+       file://sudo-1.8.23-legacy-group-processing.patch \
+       file://sudo-1.8.23-ldapsearchuidfix.patch \
+       file://sudo-1.8.6p7-logsudouser.patch \
+       file://sudo-1.8.23-nowaitopt.patch \
+       file://sudo-1.8.23-fix-double-quote-parsing-for-Defaults-values.patch \
+       "
+
+EXTRA_OECONF += " \
+       --with-pam-login \
+       --with-editor=${base_bindir}/vi \
+       --with-env-editor \
+       --with-ignore-dot \
+       --with-tty-tickets \
+       --with-ldap \
+       --with-ldap-conf-file="${sysconfdir}/sudo-ldap.conf" \
+       --with-passprompt="[sudo] password for %Zp: " \
+       --with-sssd \
+       "
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/${DSTSUFX0}/files/LICENSE ${S}/stx-configfiles-LICENSE
+}
+
+do_install_append () {
+       install -m755 -d ${D}/${sysconfdir}/openldap/schema
+       install -m644 ${S}/doc/schema.OpenLDAP  ${D}/${sysconfdir}/openldap/schema/sudo.schema
+       install -m 440 ${WORKDIR}/${DSTSUFX0}/files/sysadmin.sudo  ${D}/${sysconfdir}/sudoers.d/sysadmin
+}
+
+# This means sudo package only owns files
+# to avoid install conflict with openldap on
+# /etc/openldap. Sure there is a better way.
+DIRFILES = "1"
diff --git a/meta-starlingx/meta-stx-integ/recipes-graphics/mesa/mesa_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-graphics/mesa/mesa_%.bbappend
new file mode 100644 (file)
index 0000000..0c434f1
--- /dev/null
@@ -0,0 +1,4 @@
+
+inherit selinux
+DEPENDS += " libselinux"
+RDEPENDS_${PN}_append = " libselinux"
diff --git a/meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux-yocto-rt_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux-yocto-rt_%.bbappend
new file mode 100644 (file)
index 0000000..625caac
--- /dev/null
@@ -0,0 +1,2 @@
+
+require linux-yocto-stx.inc
diff --git a/meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux-yocto-stx.inc b/meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux-yocto-stx.inc
new file mode 100644 (file)
index 0000000..cacb4ef
--- /dev/null
@@ -0,0 +1,13 @@
+
+FILESEXTRAPATHS_append:= ":${THISDIR}/linux:"
+
+SRC_URI_append_poky-stx = " file://stx-kconfig.cfg"
+SRC_URI_append_anaconda = " file://stx-anaconda-kconfig.cfg"
+SRC_URI_append = " file://Notification-of-Death-of-arbitrary-processes.patch"
+
+KERNEL_EXTRA_FEATURES_append = " \
+    features/xfs/xfs.scc \
+    features/iommu/iommu.scc \
+    features/vfio/vfio.scc \
+    cfg/debug/sched/debug-sched.scc \
+    "
diff --git a/meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux-yocto_%.bbappend
new file mode 100644 (file)
index 0000000..625caac
--- /dev/null
@@ -0,0 +1,2 @@
+
+require linux-yocto-stx.inc
diff --git a/meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux/Notification-of-Death-of-arbitrary-processes.patch b/meta-starlingx/meta-stx-integ/recipes-kernel/linux/linux/Notification-of-Death-of-arbitrary-processes.patch
new file mode 100644 (file)
index 0000000..e1e4ecf
--- /dev/null
@@ -0,0 +1,546 @@
+From 4cfbf1a112e17b071fcdae207e4f785c096a198c Mon Sep 17 00:00:00 2001
+From: Saul Wold <sgw@linux.intel.com>
+Date: Thu, 2 Jul 2020 09:46:12 -0700
+Subject: [PATCH] Notification of Death of arbitrary processes
+
+Note: this commit was copied from Titanium Cloud Rel2
+
+This exposes a new feature which may be called to request
+notification when an arbitrary process changes state. The
+caller specifies a pid, signal number, and event mask, and
+when that pid dies, or is stopped, or anything else that
+would normally cause a SIGCHLD, the kernel will send the
+specified signal to the caller if the event is in the event
+mask originally passed down. The siginfo_t struct will
+contain the same information as would be included with SIGCHLD.
+
+This is exposed to userspace via the prctl() call with the
+PR_DO_NOTIFY_TASK_STATE option.
+
+Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
+Signed-off-by: Zhang Zhiguo <zhangzhg@neusoft.com>
+Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
+Signed-off-by: Saul Wold <sgw@linux.intel.com>
+---
+ include/linux/init_task.h  |   9 ++
+ include/linux/sched.h      |   6 +
+ include/uapi/linux/prctl.h |  18 +++
+ init/Kconfig               |  15 +++
+ init/init_task.c           |   1 +
+ kernel/Makefile            |   1 +
+ kernel/death_notify.c      | 228 +++++++++++++++++++++++++++++++++++++
+ kernel/death_notify.h      |  46 ++++++++
+ kernel/exit.c              |   6 +
+ kernel/fork.c              |   4 +
+ kernel/signal.c            |  11 ++
+ kernel/sys.c               |   8 ++
+ 12 files changed, 353 insertions(+)
+ create mode 100644 kernel/death_notify.c
+ create mode 100644 kernel/death_notify.h
+
+diff --git a/include/linux/init_task.h b/include/linux/init_task.h
+index a7083a45a26c..1ad2341b3036 100644
+--- a/include/linux/init_task.h
++++ b/include/linux/init_task.h
+@@ -24,6 +24,15 @@
+ extern struct files_struct init_files;
+ extern struct fs_struct init_fs;
+ extern struct nsproxy init_nsproxy;
++
++#ifdef CONFIG_SIGEXIT
++#define INIT_SIGEXIT(tsk) \
++      .notify         = LIST_HEAD_INIT(tsk.notify),                   \
++      .monitor        = LIST_HEAD_INIT(tsk.monitor),
++#else
++#define INIT_SIGEXIT(tsk)
++#endif
++
+ extern struct group_info init_groups;
+ extern struct cred init_cred;
+diff --git a/include/linux/sched.h b/include/linux/sched.h
+index 9b35aff09f70..d6f5a2711b7d 100644
+--- a/include/linux/sched.h
++++ b/include/linux/sched.h
+@@ -1015,6 +1015,12 @@ struct task_struct {
+       short                           il_prev;
+       short                           pref_node_fork;
+ #endif
++#ifdef CONFIG_SIGEXIT
++      /* list of processes to notify on death */
++      struct                          list_head notify;
++      /* list of outstanding monitor requests */
++      struct                          list_head monitor;
++#endif
+ #ifdef CONFIG_NUMA_BALANCING
+       int                             numa_scan_seq;
+       unsigned int                    numa_scan_period;
+diff --git a/include/uapi/linux/prctl.h b/include/uapi/linux/prctl.h
+index b4875a93363a..d50c435a04ea 100644
+--- a/include/uapi/linux/prctl.h
++++ b/include/uapi/linux/prctl.h
+@@ -63,6 +63,24 @@
+ # define PR_ENDIAN_LITTLE     1       /* True little endian mode */
+ # define PR_ENDIAN_PPC_LITTLE 2       /* "PowerPC" pseudo little endian */
++#ifdef CONFIG_SIGEXIT
++#define PR_DO_NOTIFY_TASK_STATE 17    /* Set/get notification for task
++                                         state changes */
++
++/* This is the data structure for requestion process death
++ * (and other state change) information.  Sig of -1 means
++ * query, sig of 0 means deregistration, positive sig means
++ * that you want to set it.  sig and events are value-result
++ * and will be updated with the previous values on every
++ * successful call.
++ */
++struct task_state_notify_info {
++      pid_t pid;
++      int sig;
++      unsigned int events;
++};
++#endif
++
+ /* Get/set process seccomp mode */
+ #define PR_GET_SECCOMP        21
+ #define PR_SET_SECCOMP        22
+diff --git a/init/Kconfig b/init/Kconfig
+index bdf4f284509b..8102ef3d2adb 100644
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -1648,6 +1648,21 @@ config VM_EVENT_COUNTERS
+         on EXPERT systems.  /proc/vmstat will only show page counts
+         if VM event counters are disabled.
++config SIGEXIT
++      bool "Notification of death of arbitrary processes"
++      default n
++      help
++        When enabled this exposes a new feature which may be called to request
++        notification when an arbitrary process changes state.  The caller specifies
++        a pid, signal number, and event mask, and when that pid dies, or is
++        stopped, or anything else that would normally cause a SIGCHLD, the
++        kernel will send the specified signal to the caller if the event is in
++        the event mask originally passed down. The siginfo_t struct will
++        contain the same information as would be included with SIGCHLD.
++
++        This is exposed to userspace via the prctl()
++        call with the PR_DO_NOTIFY_TASK_STATE option
++
+ config SLUB_DEBUG
+       default y
+       bool "Enable SLUB debugging support" if EXPERT
+diff --git a/init/init_task.c b/init/init_task.c
+index 5aebe3be4d7c..d0891101ac7d 100644
+--- a/init/init_task.c
++++ b/init/init_task.c
+@@ -116,6 +116,7 @@ struct task_struct init_task
+       .alloc_lock     = __SPIN_LOCK_UNLOCKED(init_task.alloc_lock),
+       .journal_info   = NULL,
+       INIT_CPU_TIMERS(init_task)
++      INIT_SIGEXIT(init_task)
+       .pi_lock        = __RAW_SPIN_LOCK_UNLOCKED(init_task.pi_lock),
+       .timer_slack_ns = 50000, /* 50 usec default slack */
+       .thread_pid     = &init_struct_pid,
+diff --git a/kernel/Makefile b/kernel/Makefile
+index 1ea0ba13a445..f839f425ca09 100644
+--- a/kernel/Makefile
++++ b/kernel/Makefile
+@@ -99,6 +99,7 @@ obj-$(CONFIG_TRACEPOINTS) += trace/
+ obj-$(CONFIG_IRQ_WORK) += irq_work.o
+ obj-$(CONFIG_CPU_PM) += cpu_pm.o
+ obj-$(CONFIG_BPF) += bpf/
++obj-$(CONFIG_SIGEXIT) += death_notify.o
+ obj-$(CONFIG_PERF_EVENTS) += events/
+diff --git a/kernel/death_notify.c b/kernel/death_notify.c
+new file mode 100644
+index 000000000000..5819d35a2564
+--- /dev/null
++++ b/kernel/death_notify.c
+@@ -0,0 +1,228 @@
++/*
++ * kernel/death_notify.c, Process death notification support
++ *
++ * Copyright (c) 2006-2014 Wind River Systems, Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
++ * See the GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ */
++
++#include <linux/errno.h>
++#include <linux/signal.h>
++#include <linux/sched.h>
++#include <linux/sched/task.h>
++#include <linux/slab.h>
++#include <linux/prctl.h>
++#include <linux/uaccess.h>
++#include "death_notify.h"
++
++static void unlink_status_notifier(struct signotifier *n)
++{
++      list_del(&n->monitor_list);
++      list_del(&n->notify_list);
++      kfree(n);
++}
++
++static void handle_already_monitoring(struct signotifier *node,
++       struct task_state_notify_info *args,
++       struct task_state_notify_info *oldargs)
++{
++      /* Store the old values */
++      oldargs->sig = node->sig;
++      oldargs->events = node->events;
++
++      /* We know that args->sig is 0 or a valid signal. */
++      if (args->sig > 0) {
++              /* Update the new values */
++              node->sig = args->sig;
++              node->events = args->events;
++      } else if (!args->sig) {
++              /* args->sig of 0 means to deregister */
++              unlink_status_notifier(node);
++      }
++}
++
++static void setup_new_node(struct task_struct *p,
++      struct signotifier *node,
++      struct task_state_notify_info *args)
++{
++      node->notify_tsk = current;
++      node->sig = args->sig;
++      node->events = args->events;
++
++      /* Add this node to the list of notification requests
++       * for the specified process.
++       */
++      list_add_tail(&node->notify_list, &p->notify);
++
++      /* Also add this node to the list of monitor requests
++       * for the current process.
++       */
++      list_add_tail(&node->monitor_list, &current->monitor);
++}
++
++/* Returns 0 if arguments are valid, 1 if they are not. */
++static int invalid_args(struct task_state_notify_info *args)
++{
++      int ret = 1;
++
++      if (args->pid <= 0)
++              goto out;
++
++      /* Sig of -1 implies query, sig of 0 implies deregistration.
++       * Otherwise sig must be positive and within range.
++       */
++      if ((args->sig < -1) || (args->sig > _NSIG))
++              goto out;
++
++      /* If positive sig, must have valid events. */
++      if (args->sig > 0) {
++              if (!args->events || (args->events >= (1 << (NSIGCHLD+1))))
++                      goto out;
++      }
++
++      ret = 0;
++out:
++      return ret;
++}
++
++/* Notify those registered for process state updates via do_notify_task_state().
++ * If "del" is nonzero, the process is dying and we want to free
++ * the nodes in the list as we go.
++ *
++ * Note: we only notify processes for events in which they have registered
++ * interest.
++ *
++ * Must be called holding a lock on tasklist_lock.
++ */
++void do_notify_others(struct task_struct *tsk, struct kernel_siginfo *info)
++{
++      struct signotifier *node;
++      unsigned int events;
++
++      /* This method of generating the event bit must be
++       * matched in the userspace library.
++       */
++      events = 1 << (info->si_code & 0xFF);
++
++      list_for_each_entry(node, &tsk->notify, notify_list) {
++              if (events & node->events) {
++                      info->si_signo = node->sig;
++                      group_send_sig_info(node->sig, info, node->notify_tsk, PIDTYPE_TGID);
++              }
++      }
++}
++
++void release_notify_others(struct task_struct *p)
++{
++      struct signotifier *n, *t;
++
++      /* Need to clean up any outstanding requests where we
++       * wanted to be notified when others died.
++       */
++      list_for_each_entry_safe(n, t, &p->monitor, monitor_list) {
++              unlink_status_notifier(n);
++      }
++
++      /* Also need to clean up any outstanding requests where others
++       * wanted to be notified when we died.
++       */
++      list_for_each_entry_safe(n, t, &p->notify, notify_list) {
++              unlink_status_notifier(n);
++      }
++}
++
++/* If the config is defined, then processes can call this routine
++ * to request notification when the specified task's state changes.
++ * On the death (or other state change) of the specified process,
++ * we will send them the specified signal if the event is listed
++ * in their event bitfield.
++ *
++ * A sig of 0 means that we want to deregister.
++ *
++ * The sig/events fields are value/result.  On success we update them
++ * to reflect what they were before the call.
++ *
++ * Returns error code on error, on success we return 0.
++ */
++int do_notify_task_state(unsigned long arg)
++{
++      int err;
++      struct task_struct *p;
++      struct signotifier *node, *tmp;
++      struct task_state_notify_info args, oldargs;
++
++      if (copy_from_user(&args, (struct task_state_notify_info __user *)arg,
++                      sizeof(args)))
++              return -EFAULT;
++      oldargs.pid = args.pid;
++
++      /* Validate the arguments passed in. */
++      err = -EINVAL;
++      if (invalid_args(&args))
++              goto out;
++
++      /* We must hold a write lock on tasklist_lock to add the notification
++       * later on, and we need some lock on tasklist_lock for
++       * find_task_by_pid(), so may as well take the write lock now.
++       * Must use write_lock_irq().
++       */
++      write_lock_irq(&tasklist_lock);
++
++      err = -ESRCH;
++      p = find_task_by_vpid(args.pid);
++      if (!p)
++              goto unlock_out;
++
++      /* Now we know pid exists, unlikely to fail. */
++      err = 0;
++
++      /* Check if we're already monitoring the specified pid. If so, update
++       * the monitoring parameters and return the old ones.
++       */
++      list_for_each_entry(tmp, &p->notify, notify_list) {
++              if (tmp->notify_tsk == current) {
++                      handle_already_monitoring(tmp, &args, &oldargs);
++                      goto unlock_out;
++              }
++      }
++
++      /* If we get here, we're not currently monitoring the process. */
++      oldargs.sig = 0;
++      oldargs.events = 0;
++
++      /* If we wanted to set up a new monitor, do it now. If we didn't
++       * manage to allocate memory for the new node, then we return
++       * an appropriate error.
++       */
++      if (args.sig > 0) {
++              node = kmalloc(sizeof(*node), GFP_ATOMIC);
++              if (node)
++                      setup_new_node(p, node, &args);
++              else
++                      err = -ENOMEM;
++      }
++
++unlock_out:
++      write_unlock_irq(&tasklist_lock);
++
++      /* Copy the old values back to caller. */
++      if (copy_to_user((struct task_state_notify_info __user *)arg,
++                      &oldargs, sizeof(oldargs)))
++              err = -EFAULT;
++
++out:
++      return err;
++}
++
+diff --git a/kernel/death_notify.h b/kernel/death_notify.h
+new file mode 100644
+index 000000000000..14a0995b79af
+--- /dev/null
++++ b/kernel/death_notify.h
+@@ -0,0 +1,46 @@
++/*
++ * kernel/death_notify.h, Process death notification support
++ *
++ * Copyright (c) 2006-2014 Wind River Systems, Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
++ * See the GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ */
++#ifndef _KERNEL_DEATH_NOTIFY_H
++#define _KERNEL_DEATH_NOTIFY_H
++
++#ifdef CONFIG_SIGEXIT
++
++struct signotifier {
++      struct task_struct *notify_tsk;
++      struct list_head notify_list;
++      struct list_head monitor_list;
++      int sig;
++      unsigned int events;
++};
++
++extern int do_notify_task_state(unsigned long arg);
++extern void do_notify_others(struct task_struct *tsk,
++                                      struct kernel_siginfo *info);
++extern void release_notify_others(struct task_struct *p);
++
++#else /* !CONFIG_SIGEXIT */
++
++static inline void do_notify_others(struct task_struct *tsk,
++                                      struct kernel_siginfo *info) {}
++static inline void release_notify_others(struct task_struct *p) {}
++
++#endif /* CONFIG_SIGEXIT */
++#endif
++
+diff --git a/kernel/exit.c b/kernel/exit.c
+index 2166c2d92ddc..f35f3a5870a8 100644
+--- a/kernel/exit.c
++++ b/kernel/exit.c
+@@ -67,6 +67,9 @@
+ #include <asm/unistd.h>
+ #include <asm/pgtable.h>
+ #include <asm/mmu_context.h>
++#ifdef CONFIG_SIGEXIT
++#include "death_notify.h"
++#endif
+ static void __unhash_process(struct task_struct *p, bool group_dead)
+ {
+@@ -196,6 +199,9 @@ void release_task(struct task_struct *p)
+       proc_flush_task(p);
+       write_lock_irq(&tasklist_lock);
++#ifdef CONFIG_SIGEXIT
++      release_notify_others(p);
++#endif
+       ptrace_release_task(p);
+       __exit_signal(p);
+diff --git a/kernel/fork.c b/kernel/fork.c
+index 17389e9935c4..4d79f261c365 100644
+--- a/kernel/fork.c
++++ b/kernel/fork.c
+@@ -1907,6 +1907,10 @@ static __latent_entropy struct task_struct *copy_process(
+       p->sequential_io        = 0;
+       p->sequential_io_avg    = 0;
+ #endif
++#ifdef CONFIG_SIGEXIT
++      INIT_LIST_HEAD(&p->notify);
++      INIT_LIST_HEAD(&p->monitor);
++#endif
+       /* Perform scheduler related setup. Assign this task to a CPU. */
+       retval = sched_fork(clone_flags, p);
+diff --git a/kernel/signal.c b/kernel/signal.c
+index 57b7771e20d7..41126fa53102 100644
+--- a/kernel/signal.c
++++ b/kernel/signal.c
+@@ -51,6 +51,9 @@
+ #include <asm/siginfo.h>
+ #include <asm/cacheflush.h>
+ #include "audit.h"    /* audit_signal_info() */
++#ifdef CONFIG_SIGEXIT
++#include "death_notify.h"
++#endif
+ /*
+  * SLAB caches for signal bits.
+@@ -1893,6 +1896,10 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
+       __wake_up_parent(tsk, tsk->parent);
+       spin_unlock_irqrestore(&psig->siglock, flags);
++#ifdef CONFIG_SIGEXIT
++      do_notify_others(tsk, &info);
++#endif
++
+       return autoreap;
+ }
+@@ -1965,6 +1972,10 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
+        */
+       __wake_up_parent(tsk, parent);
+       spin_unlock_irqrestore(&sighand->siglock, flags);
++
++#ifdef CONFIG_SIGEXIT
++      do_notify_others(tsk, &info);
++#endif
+ }
+ static inline bool may_ptrace_stop(void)
+diff --git a/kernel/sys.c b/kernel/sys.c
+index f7eb62eceb24..9fadbbe9565f 100644
+--- a/kernel/sys.c
++++ b/kernel/sys.c
+@@ -72,6 +72,9 @@
+ #include <asm/unistd.h>
+ #include "uid16.h"
++#ifdef CONFIG_SIGEXIT
++#include "death_notify.h"
++#endif
+ #ifndef SET_UNALIGN_CTL
+ # define SET_UNALIGN_CTL(a, b)        (-EINVAL)
+@@ -2405,6 +2408,11 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
+               else
+                       error = PR_MCE_KILL_DEFAULT;
+               break;
++#ifdef CONFIG_SIGEXIT
++      case PR_DO_NOTIFY_TASK_STATE:
++              error = do_notify_task_state(arg2);
++              break;
++#endif
+       case PR_SET_MM:
+               error = prctl_set_mm(arg2, arg3, arg4, arg5);
+               break;
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-networking/ipset/ipset_6.38.bb b/meta-starlingx/meta-stx-integ/recipes-networking/ipset/ipset_6.38.bb
new file mode 100644 (file)
index 0000000..bc63de2
--- /dev/null
@@ -0,0 +1,56 @@
+
+SUMMARY = "Manage Linux IP sets"
+DESCRIPTION = " \
+IP sets are a framework inside the Linux kernel since version 2.4.x, which can  \
+be administered by the ipset utility. Depending on the type, currently an IP \
+set may store IP addresses, (TCP/UDP) port numbers or IP addresses with MAC \
+addresses in a way, which ensures lightning speed when matching an entry \
+against a set. \
+\
+If you want to: \
+ - store multiple IP addresses or port numbers and match against the collection \
+   by iptables at one swoop; \
+ - dynamically update iptables rules against IP addresses or ports without \
+   performance penalty; \
+ - express complex IP address and ports based rulesets with one single iptables \
+   rule and benefit from the speed of IP sets \
+then ipset may be the proper tool for you. \
+"
+
+HOMEPAGE = "http://ipset.netfilter.org"
+
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+SECTION = "network"
+
+DEPENDS = "libtool libmnl"
+
+SRC_URI = "http://ftp.netfilter.org/pub/ipset/${BP}.tar.bz2"
+
+SRC_URI[md5sum] = "0e5d9c85f6b78e7dff0c996e2900574b"
+SRC_URI[sha256sum] = "ceef625ba31fe0aaa422926c7231a819de0b07644c02c17ebdd3022a29e3e244"
+
+inherit autotools pkgconfig module-base
+
+EXTRA_OECONF += "-with-kbuild=${KBUILD_OUTPUT} --with-ksource=${STAGING_KERNEL_DIR}"
+
+RDEPENDS_${PN} = "kernel-module-ip-set"
+RRECOMMENDS_${PN} = "\
+    kernel-module-ip-set-bitmap-ip \
+    kernel-module-ip-set-bitmap-ipmac \
+    kernel-module-ip-set-bitmap-port \
+    kernel-module-ip-set-hash-ip \
+    kernel-module-ip-set-hash-ipmac \
+    kernel-module-ip-set-hash-ipmark \
+    kernel-module-ip-set-hash-ipport \
+    kernel-module-ip-set-hash-ipportip \
+    kernel-module-ip-set-hash-ipportnet \
+    kernel-module-ip-set-hash-mac \
+    kernel-module-ip-set-hash-net \
+    kernel-module-ip-set-hash-netiface \
+    kernel-module-ip-set-hash-netnet \
+    kernel-module-ip-set-hash-netport \
+    kernel-module-ip-set-hash-netportnet \
+    kernel-module-ip-set-list-set \
+"
diff --git a/meta-starlingx/meta-stx-integ/recipes-protocols/net-snmp/net-snmp_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-protocols/net-snmp/net-snmp_%.bbappend
new file mode 100644 (file)
index 0000000..6a9663e
--- /dev/null
@@ -0,0 +1,53 @@
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "net-snmp-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;beginline=1;endline=10;md5=ea07d0b28c02168e45abc208d8193e1a \
+       "
+
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       "
+       
+inherit useradd
+
+USERADD_PACKAGES = "net-snmp-server-snmpd"
+USERADD_PARAM_net-snmp-server-snmpd = "-r -g snmpd -d /usr/share/snmp -s /sbin/nologin -c 'net-snmp' snmpd"
+GROUPADD_PARAM_net-snmp-server-snmpd = "-r snmpd"
+
+SYSTEMD_AUTO_ENABLE_${PN}-server-snmpd = "disable"
+SYSTEMD_AUTO_ENABLE_${PN}-server-snmptrapd = "disable"
+
+SYSTEMD_SERVICE_${PN}_append = "snmpd.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+   cp -pf ${WORKDIR}/${DSTSUFX0}/centos/net-snmp-config.spec ${S}/stx-configfiles-LICENSE
+}
+
+do_install_append () {
+
+    install -d ${D}/${sysconfdir}/rc.d/init.d
+    install -d ${D}/${sysconfdir}/init.d
+    install -d ${D}/${sysconfdir}/systemd/system
+
+    install -m 640 ${WORKDIR}/${DSTSUFX0}/files/stx.snmpd.conf    ${D}/${sysconfdir}/snmp/snmpd.conf
+    install -m 755 ${WORKDIR}/${DSTSUFX0}/files/stx.snmpd         ${D}/${sysconfdir}/rc.d/init.d/snmpd
+    install -m 755 ${WORKDIR}/${DSTSUFX0}/files/stx.snmpd         ${D}/${sysconfdir}/init.d/snmpd
+    install -m 660 ${WORKDIR}/${DSTSUFX0}/files/stx.snmp.conf     ${D}/${datadir}/snmp/snmp.conf
+    install -m 644 ${WORKDIR}/${DSTSUFX0}/files/snmpd.service     ${D}/${sysconfdir}/systemd/system/snmpd.service
+    chmod 640 ${D}/${sysconfdir}/snmp/snmpd.conf
+    chmod 640 ${D}/${sysconfdir}/snmp/snmptrapd.conf
+}
+
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+FILES_${PN}-server-snmpd_append = " ${sysconfdir}/rc.d/init.d/snmpd"
diff --git a/meta-starlingx/meta-stx-integ/recipes-rt/rt-tests/rt-tests_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-rt/rt-tests/rt-tests_%.bbappend
new file mode 100644 (file)
index 0000000..0f694ac
--- /dev/null
@@ -0,0 +1,13 @@
+PACKAGECONFIG ?= "numa"
+PACKAGECONFIG[numa] = ",,numactl,numactl"
+
+EXTRA_OEMAKE = "\
+    ${@bb.utils.contains('PACKAGECONFIG', 'numa', 'NUMA=1', 'NUMA=0', d)} \
+    PYLIB=${libdir}/python2.7/site-packages \
+"
+
+FILES_${PN} += "\
+    ${libdir}/python2.7/site-packages \
+"
+
+RDEPENDS_${PN} += "python"
diff --git a/meta-starlingx/meta-stx-integ/recipes-security/audit/audit_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-security/audit/audit_%.bbappend
new file mode 100644 (file)
index 0000000..ac32105
--- /dev/null
@@ -0,0 +1,15 @@
+
+SRCREV_FORMAT = "configfiles"
+SRCREV_configfiles = "d778e862571957ece3c404c0c37d325769772fde"
+
+SRC_URI += "\
+    git://opendev.org/starlingx/config-files.git;protocol=https;branch=r/stx.3.0;destsuffix=stx_configfiles;name=configfiles;subpath=audit-config \
+"
+
+do_unpack_append () {
+    bb.build.exec_func('do_copy_audit_config', d)
+}
+
+do_copy_audit_config () {
+    cp -f ${WORKDIR}/stx_configfiles/files/syslog.conf ${S}/audisp/plugins/builtins/syslog.conf
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-security/krb5/krb5_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-security/krb5/krb5_%.bbappend
new file mode 100644 (file)
index 0000000..c46ed4e
--- /dev/null
@@ -0,0 +1,18 @@
+
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+#SRC_URI_append = "file://soname_majversion.diff"
+DEPENDS += "libverto"
+
+PACKAGES_remove = "libverto"
+
+RDEPENDS_${PN} += "\
+        libverto \
+"
+RDEPENDS_krb5-admin-server += "\
+        libverto \
+"
+RDEPENDS_krb5-kdc += "\
+        libverto \
+"
diff --git a/meta-starlingx/meta-stx-integ/recipes-security/libtomcrypt/libtomcrypt_1.18.2.bb b/meta-starlingx/meta-stx-integ/recipes-security/libtomcrypt/libtomcrypt_1.18.2.bb
new file mode 100644 (file)
index 0000000..2dcb0ba
--- /dev/null
@@ -0,0 +1,38 @@
+
+SUMMARY = "A comprehensive, portable cryptographic toolkit"
+DESCRIPTION = " \
+  A comprehensive, modular and portable cryptographic toolkit that provides \
+  developers with a vast array of well known published block ciphers, one-way \
+  hash functions, chaining modes, pseudo-random number generators, public key \
+  cryptography and a plethora of other routines. Designed from the ground up to \
+  be very simple to use. It has a modular and standard API that allows new ciphers, \
+  hashes and PRNGs to be added or removed without change to the overall end application. \
+  It features easy to use functions and a complete user manual which has many source \
+  snippet examples. \
+"
+HOMEPAGE = "https://github.com/libtom/libtomcrypt"
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=71baacc459522324ef3e2b9e052e8180"
+
+DEPENDS = "libtool-cross"
+
+SRC_URI = "https://github.com/libtom/libtomcrypt/releases/download/v${PV}/crypt-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "e8d22351b7c95bef423c1cd02dcf836d"
+SRC_URI[sha256sum] = "96ad4c3b8336050993c5bc2cf6c057484f2b0f9f763448151567fbab5e767b84"
+
+EXTRA_OEMAKE = " \
+       LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool \
+       LIBPATH=${libdir} \
+       INCPATH=${includedir} \
+       -f makefile.shared \
+       "
+
+do_compile() {
+       oe_runmake library
+}
+
+do_install() {
+       oe_runmake install DESTDIR=${D}
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-security/libtomcrypt/libtommath_1.1.0.bb b/meta-starlingx/meta-stx-integ/recipes-security/libtomcrypt/libtommath_1.1.0.bb
new file mode 100644 (file)
index 0000000..e7b1d17
--- /dev/null
@@ -0,0 +1,30 @@
+
+SUMMARY = "A portable number theoretic multiple-precision integer library"
+DESCRIPTION = " \
+  A free open source portable number theoretic multiple-precision integer \
+  library written entirely in C. (phew!). The library is designed to provide \
+  a simple to work with API that provides fairly efficient routines that \
+  build out of the box without configuration. \
+"
+HOMEPAGE = "https://github.com/libtom/libtommath"
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=23e7e0a32e53a2b1d35f5fd9ef053402"
+
+DEPENDS = "libtool-cross"
+
+SRC_URI = "https://github.com/libtom/libtommath/releases/download/v${PV}/ltm-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "b2da4488c9024976d36870132f4b8a42"
+SRC_URI[sha256sum] = "90466c88783d1fe9f5c2364a69f5479f10d73ed616011be6196f35f7f1537ead"
+
+EXTRA_OEMAKE = " \
+       LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool \
+       LIBPATH=${libdir} \
+       INCPATH=${includedir} \
+       -f makefile.shared \
+       "
+
+do_install() {
+       oe_runmake install DESTDIR=${D}
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/boost/boost_1.69.0.bbappend b/meta-starlingx/meta-stx-integ/recipes-support/boost/boost_1.69.0.bbappend
new file mode 100644 (file)
index 0000000..9541e2b
--- /dev/null
@@ -0,0 +1,31 @@
+DEP_PYTHON = "\
+    python \
+    python-native \
+    python-numpy-native \
+    python3 \
+    python3-native \
+    python3-numpy-native \
+"
+
+PACKAGECONFIG = "locale python"
+PACKAGECONFIG[python] = ",,${DEP_PYTHON}"
+
+BJAM_OPTS += "${@bb.utils.contains('BOOST_LIBS', 'python', 'python=${PYTHON_BASEVERSION},2.7', '', d)}"
+
+do_configure_append () {
+    if ${@bb.utils.contains('BOOST_LIBS', 'python', 'true', 'false', d)}; then
+        echo "using python : 2.7 : ${STAGING_BINDIR_NATIVE}/python-native/python : ${STAGING_INCDIR}/python2.7 : ${STAGING_LIBDIR}/python2.7 ;" >> ${WORKDIR}/user-config.jam
+        sed -i -e 's|${STAGING_DIR_HOST}${bindir}/python3|${STAGING_BINDIR_NATIVE}/python3-native/python3|' ${WORKDIR}/user-config.jam
+    fi
+}
+
+PACKAGES += "${PN}-python3"
+
+FILES_${PN}-python = " \
+    ${libdir}/libboost_python2*.so.* \
+    ${libdir}/libboost_numpy2*.so.* \
+"
+FILES_${PN}-python3 = " \
+    ${libdir}/libboost_python3*.so.* \
+    ${libdir}/libboost_numpy3*.so.* \
+"
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/cluster-glue/cluster-glue_1.0.12.bb b/meta-starlingx/meta-stx-integ/recipes-support/cluster-glue/cluster-glue_1.0.12.bb
new file mode 100644 (file)
index 0000000..4d39656
--- /dev/null
@@ -0,0 +1,138 @@
+
+DESCRIPTION = "Cluster Glue is a set of libraries, tools and utilities suitable for \
+the Heartbeat/Pacemaker cluster stack. In essence, Glue is everything that \
+is not the cluster messaging layer (Heartbeat), nor the cluster resource manager \
+(Pacemaker), nor a Resource Agent."
+HOMEPAGE = "http://clusterlabs.org/"
+LICENSE = "GPLv2 & LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+                    file://COPYING.LIB;md5=243b725d71bb5df4a1e5920b344b86ad \
+"
+
+DEPENDS = "libxml2 libtool glib-2.0 bzip2 util-linux net-snmp openhpi"
+
+SRC_URI = " \
+    http://hg.linux-ha.org/glue/archive/glue-${PV}.tar.bz2 \
+    file://0001-don-t-compile-doc-and-Error-Fix.patch \
+    file://0001-ribcl.py.in-Warning-Fix.patch \
+    file://volatiles \
+    file://tmpfiles \
+"
+SRC_URI_append_libc-uclibc = " file://kill-stack-protector.patch"
+
+SRC_URI[md5sum] = "ec620466d6f23affa3b074b72bca7870"
+SRC_URI[sha256sum] = "feba102fa1e24b6be2005089ebe362b82d6567af60005cf371679b1b44ec503f"
+
+inherit autotools useradd pkgconfig systemd
+
+SYSTEMD_SERVICE_${PN} = "logd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+HA_USER = "hacluster"
+HA_GROUP = "haclient"
+
+S = "${WORKDIR}/Reusable-Cluster-Components-glue--glue-${PV}"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir},--without-systemdsystemunitdir,systemd"
+
+EXTRA_OECONF = "--with-daemon-user=${HA_USER} \
+                --with-daemon-group=${HA_GROUP} \
+                --disable-fatal-warnings \
+               "
+
+CACHED_CONFIGUREVARS="ac_cv_path_XML2CONFIG=0"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--home-dir=${localstatedir}/lib/heartbeat/cores/${HA_USER} \
+                       -g ${HA_GROUP} -r -s ${sbindir}/nologin -c 'cluster user' ${HA_USER} \
+                      "
+GROUPADD_PARAM_${PN} = "-r ${HA_GROUP}"
+
+do_configure_prepend() {
+    ln -sf ${PKG_CONFIG_SYSROOT_DIR}/usr/include/libxml2/libxml ${PKG_CONFIG_SYSROOT_DIR}/usr/include/libxml
+}
+
+do_install_append() {
+       install -d ${D}${sysconfdir}/default/volatiles
+       install -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/04_cluster-glue
+       install -d ${D}${sysconfdir}/tmpfiles.d
+       install -m 0644 ${WORKDIR}/tmpfiles ${D}${sysconfdir}/tmpfiles.d/${PN}.conf
+}
+
+pkg_postinst_${PN} () {
+       if [ -z "$D" ]; then
+               if type systemd-tmpfiles >/dev/null; then
+                       systemd-tmpfiles --create
+               elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+                       ${sysconfdir}/init.d/populate-volatile.sh update
+               fi
+       fi
+}
+
+PACKAGES += "\
+        ${PN}-plugin-test \
+        ${PN}-plugin-test-dbg \
+        ${PN}-plugin-test-staticdev \
+        ${PN}-plugin-stonith2 \
+        ${PN}-plugin-stonith2-dbg \
+        ${PN}-plugin-stonith2-staticdev \
+        ${PN}-plugin-stonith2-ribcl \
+        ${PN}-plugin-stonith-external \
+        ${PN}-plugin-raexec \
+        ${PN}-plugin-raexec-dbg \
+        ${PN}-plugin-raexec-staticdev \
+        ${PN}-plugin-interfacemgr \
+        ${PN}-plugin-interfacemgr-dbg \
+        ${PN}-plugin-interfacemgr-staticdev \
+        ${PN}-lrmtest \
+         ${PN}-plugin-compress \
+         ${PN}-plugin-compress-dbg \
+         ${PN}-plugin-compress-staticdev \
+        "
+
+FILES_${PN} = "${sysconfdir} /var ${libdir}/lib*.so.* ${sbindir} ${datadir}/cluster-glue/*sh ${datadir}/cluster-glue/*pl\
+       ${libdir}/heartbeat/transient-test.sh \
+       ${libdir}/heartbeat/logtest \
+       ${libdir}/heartbeat/ipctransientserver \
+       ${libdir}/heartbeat/base64_md5_test \
+       ${libdir}/heartbeat/ipctest \
+       ${libdir}/heartbeat/ipctransientclient \
+       ${libdir}/heartbeat/ha_logd \
+       ${libdir}/heartbeat/lrmd \
+       ${systemd_unitdir} \
+       "
+
+FILES_${PN}-dbg += "${libdir}/heartbeat/.debug/ \
+                   "
+FILES_${PN}-plugin-compress = "${libdir}/heartbeat/plugins/compress/*.so"
+FILES_${PN}-plugin-compress-staticdev = "${libdir}/heartbeat/plugins/compress/*.*a"
+FILES_${PN}-plugin-compress-dbg = "${libdir}/heartbeat/plugins/compress/.debug/"
+
+FILES_${PN}-plugin-test = "${libdir}/heartbeat/plugins/test/test.so"
+FILES_${PN}-plugin-test-staticdev = "${libdir}/heartbeat/plugins/test/test.*a"
+FILES_${PN}-plugin-test-dbg = "${libdir}/heartbeat/plugins/test/.debug/"
+FILES_${PN}-plugin-stonith2 = " \
+       ${libdir}/stonith/plugins/xen0-ha-dom0-stonith-helper \
+       ${libdir}/stonith/plugins/stonith2/*.so \
+       "
+FILES_${PN}-plugin-stonith2-ribcl = "${libdir}/stonith/plugins/stonith2/ribcl.py"
+
+FILES_${PN}-plugin-stonith2-dbg = "${libdir}/stonith/plugins/stonith2/.debug/"
+FILES_${PN}-plugin-stonith2-staticdev = "${libdir}/stonith/plugins/stonith2/*.*a"
+
+FILES_${PN}-plugin-stonith-external = "${libdir}/stonith/plugins/external/"
+FILES_${PN}-plugin-raexec = "${libdir}/heartbeat/plugins/RAExec/*.so"
+FILES_${PN}-plugin-raexec-staticdev = "${libdir}/heartbeat/plugins/RAExec/*.*a"
+FILES_${PN}-plugin-raexec-dbg = "${libdir}/heartbeat/plugins/RAExec/.debug/"
+
+FILES_${PN}-plugin-interfacemgr = "${libdir}/heartbeat/plugins/InterfaceMgr/generic.so"
+FILES_${PN}-plugin-interfacemgr-staticdev = "${libdir}/heartbeat/plugins/InterfaceMgr/generic.*a"
+FILES_${PN}-plugin-interfacemgr-dbg = "${libdir}/heartbeat/plugins/InterfaceMgr/.debug/"
+
+FILES_${PN}-lrmtest = "${datadir}/cluster-glue/lrmtest/"
+
+RDEPENDS_${PN} += "perl"
+RDEPENDS_${PN}-plugin-stonith2 += "bash"
+RDEPENDS_${PN}-plugin-stonith-external += "bash python perl"
+RDEPENDS_${PN}-plugin-stonith2-ribcl += "python"
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/deltarpm/deltarpm_git.bb b/meta-starlingx/meta-stx-integ/recipes-support/deltarpm/deltarpm_git.bb
new file mode 100644 (file)
index 0000000..f2c9ab3
--- /dev/null
@@ -0,0 +1,37 @@
+
+DESCRIPTION = "Makedeltarpm creates a deltarpm from two rpms. The deltarpm can \
+               later be used to recreate the new rpm from either filesystem data \
+               or the old rpm. Use the -v option to make makedeltarpm more verbose \
+               about its work (use it twice to make it even more verbose).\
+               "
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=574af071cf0d60a71cb781844bbe2d76"
+
+SRCREV = "c5e0ca7482e2cfea5e4d902ffe488e0a71ed3e67"
+# SRCREV = "8660d976f5d2b73adf1088d67341be9c3646f2f2"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "3.6.2+git${SRCPV}"
+
+SRC_URI = "git://github.com/rpm-software-management/deltarpm.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
+               file://0001-Makefile-patch-fix-build-errors.patch \
+               "
+
+DEPENDS += " python perl bzip2 rpm zlib python xz zstd"
+
+do_compile_append () {
+       cd ${S}
+       oe_runmake -e DESTDIR=${D} bindir=${bindir} mandir=${mandir} python
+
+}
+
+do_install () {
+       cd ${S}
+       oe_runmake -e DESTDIR=${D} bindir=${bindir} mandir=${mandir} install
+}
+
+FILES_${PN}_append += " \
+       /usr/lib/python2.7/site-packages/deltarpm.py \
+       /usr/lib/python2.7/site-packages/_deltarpmmodule.so \
+       "
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq_%.bbappend
new file mode 100644 (file)
index 0000000..02c6fb4
--- /dev/null
@@ -0,0 +1 @@
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq_2.76.bb b/meta-starlingx/meta-stx-integ/recipes-support/dnsmasq/dnsmasq_2.76.bb
new file mode 100644 (file)
index 0000000..5f6ec18
--- /dev/null
@@ -0,0 +1,145 @@
+SUMMARY = "Lightweight, easy to configure DNS forwarder and DHCP server"
+DESCRIPTION = "\
+Dnsmasq is lightweight, easy to configure DNS forwarder and DHCP server. \
+It is designed to provide DNS and, optionally, DHCP, to a small network. \
+It can serve the names of local machines which are not in the global \
+DNS. The DHCP server integrates with the DNS server and allows machines \
+with DHCP-allocated addresses to appear in the DNS with names configured \
+either in each host or in a central configuration file. Dnsmasq supports \
+static and dynamic DHCP leases and BOOTP for network booting of diskless \
+machines. \
+"
+HOMEPAGE = "http://www.thekelleys.org.uk/dnsmasq"
+SECTION = "net"
+
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "dnsmasq-config"
+DSTSUFX0 = "stx-configfiles"
+
+# GPLv3 was added in version 2.41 as license option
+LICENSE = "GPLv2 | GPLv3"
+LIC_FILES_CHKSUM = "\
+    file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+    file://COPYING-v3;md5=d32239bcb673463ab874e80d47fae504 \
+"
+
+SRC_URI = " \
+    git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+    http://www.thekelleys.org.uk/${BPN}/${BP}.tar.gz \
+    file://init \
+    file://dnsmasq-resolvconf.service \
+    file://lua.patch \
+    \
+    file://stx/dnsmasq-2.76-dns-sleep-resume.patch \
+    file://stx/dnsmasq-2.76-fix-dhcp-option-arrangements.patch \
+    file://stx/dnsmasq-2.76-pftables.patch \
+    file://stx/dnsmasq-2.76-fix-crash-dns-resume.patch \
+    file://stx/dnsmasq-2.76-warning-fixes.patch \
+    file://stx/dnsmasq-2.76-label-warning.patch \
+    file://stx/dnsmasq-2.76-label-man.patch \
+    file://stx/dnsmasq-2.76-coverity.patch \
+    file://stx/dnsmasq-2.76-dhcp-script-log.patch \
+    file://stx/dnsmasq-2.76-file_offset32.patch \
+    file://stx/dnsmasq-2.76-CVE-2017-14491.patch \
+    file://stx/dnsmasq-2.76-CVE-2017-14492.patch \
+    file://stx/dnsmasq-2.76-CVE-2017-14493.patch \
+    file://stx/dnsmasq-2.76-CVE-2017-14494.patch \
+    file://stx/dnsmasq-2.76-CVE-2017-14496.patch \
+    file://stx/dnsmasq-2.76-CVE-2017-14495.patch \
+    file://stx/dnsmasq-2.76-gita3303e196.patch \
+    file://stx/dnsmasq-2.76-underflow.patch \
+    file://stx/dnsmasq-2.76-misc-cleanups.patch \
+    file://stx/dnsmasq-2.76-CVE-2017-14491-2.patch \
+    file://stx/dnsmasq-2.76-inotify.patch \
+    file://stx/dnsmasq-update-ipv6-leases-from-config.patch \
+    file://stx/close-tftp-sockets-immediately.patch \
+    file://stx/dnsmasq.service \
+"
+SRC_URI[md5sum] = "6610f8233ca89b15a1bb47c788ffb84f"
+SRC_URI[sha256sum] = "777c4762d2fee3738a0380401f2d087b47faa41db2317c60660d69ad10a76c32"
+
+inherit pkgconfig update-rc.d systemd
+
+INITSCRIPT_NAME = "dnsmasq"
+INITSCRIPT_PARAMS = "defaults"
+
+PACKAGECONFIG ?= "dbus idn"
+PACKAGECONFIG[dbus] = ",,dbus"
+PACKAGECONFIG[idn] = ",,libidn"
+PACKAGECONFIG[conntrack] = ",,libnetfilter-conntrack"
+PACKAGECONFIG[lua] = ",,lua"
+PACKAGECONFIG[resolvconf] = ",,,resolvconf"
+
+EXTRA_OEMAKE = "\
+    'COPTS=${@bb.utils.contains('PACKAGECONFIG', 'dbus', '-DHAVE_DBUS', '', d)} \
+           ${@bb.utils.contains('PACKAGECONFIG', 'idn', '-DHAVE_IDN', '', d)} \
+           ${@bb.utils.contains('PACKAGECONFIG', 'conntrack', '-DHAVE_CONNTRACK', '', d)} \
+           ${@bb.utils.contains('PACKAGECONFIG', 'lua', '-DHAVE_LUASCRIPT', '', d)}' \
+    'CFLAGS=${CFLAGS}' \
+    'LDFLAGS=${LDFLAGS}' \
+"
+
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'resolvconf', 'file://dnsmasq.resolvconf file://99_dnsmasq file://dnsmasq-resolvconf-helper', '', d)}"
+
+do_compile_append() {
+    # build dhcp_release
+    cd ${S}/contrib/lease-tools
+    oe_runmake
+}
+
+do_install () {
+    oe_runmake "PREFIX=${D}${prefix}" \
+               "BINDIR=${D}${bindir}" \
+               "MANDIR=${D}${mandir}" \
+               install
+
+    install -d ${D}${sysconfdir}/
+    install -d ${D}${sysconfdir}/init.d
+    install -d ${D}${sysconfdir}/dnsmasq.d
+
+    install -m 644 ${S}/dnsmasq.conf.example ${D}${sysconfdir}/dnsmasq.conf
+    cat << EOF >> ${D}${sysconfdir}/dnsmasq.conf
+
+# Include all files in /etc/dnsmasq.d except RPM backup files
+conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig
+EOF
+
+    install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/dnsmasq
+
+    install -d ${D}${systemd_system_unitdir}
+
+    if [ "${@bb.utils.filter('PACKAGECONFIG', 'resolvconf', d)}" ]; then
+        install -m 0644 ${WORKDIR}/dnsmasq-resolvconf.service ${D}${systemd_system_unitdir}/dnsmasq.service
+    else
+        install -m 0644 ${WORKDIR}/stx/dnsmasq.service ${D}${systemd_system_unitdir}/dnsmasq.service
+    fi
+
+    install -m 0755 ${S}/contrib/lease-tools/dhcp_release ${D}${bindir}
+    install -m 0755 ${S}/contrib/lease-tools/dhcp_release6 ${D}${bindir}
+    install -m 0755 ${S}/contrib/lease-tools/dhcp_lease_time ${D}${bindir}
+
+    if [ "${@bb.utils.filter('PACKAGECONFIG', 'dbus', d)}" ]; then
+        install -d ${D}${sysconfdir}/dbus-1/system.d
+        install -m 644 dbus/dnsmasq.conf ${D}${sysconfdir}/dbus-1/system.d/
+    fi
+    if [ "${@bb.utils.filter('PACKAGECONFIG', 'resolvconf', d)}" ]; then
+        install -d ${D}${sysconfdir}/resolvconf/update.d/
+        install -m 0755 ${WORKDIR}/dnsmasq.resolvconf ${D}${sysconfdir}/resolvconf/update.d/dnsmasq
+
+        install -d ${D}${sysconfdir}/default/volatiles
+        install -m 0644 ${WORKDIR}/99_dnsmasq ${D}${sysconfdir}/default/volatiles
+        install -m 0755 ${WORKDIR}/dnsmasq-resolvconf-helper ${D}${bindir}
+    fi
+    install -m 755 ${WORKDIR}/${DSTSUFX0}/files/init ${D}/${sysconfdir}/init.d/dnsmasq
+}
+
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+CONFFILES_${PN} = "${sysconfdir}/dnsmasq.conf"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "dnsmasq.service"
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils_8.4.3.bb b/meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils_8.4.3.bb
new file mode 100644 (file)
index 0000000..93e43c7
--- /dev/null
@@ -0,0 +1,40 @@
+
+SUMMARY = "Distributed block device driver for Linux"
+
+DESCRIPTION = " DRBD, developed by LINBIT, is a software that allows RAID 1 functionality over \
+       TCP/IP and RDMA for GNU/Linux. DRBD is a block device which is designed to build high \
+       availability clusters and software defined storage by providing a virtual shared device \
+       which keeps disks in nodes synchronised using TCP/IP or RDMA. This simulates RAID 1 but \
+       avoids the use of uncommon hardware (shared SCSI buses or Fibre Channel)."
+HOMEPAGE = "http://www.drbd.org/"
+SECTION = "admin"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
+
+# SRCREV = "89a294209144b68adb3ee85a73221f964d3ee515"
+SRCREV = "136c0e42691aed4a4607c79969de87cb8410285c"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "8.4.3rc1"
+
+SRC_URI = "git://github.com/LINBIT/drbd-8.4.git;name="git";protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+
+# https://www.linbit.com/downloads/drbd/8.4/archive/
+
+inherit autotools
+
+DEPENDS += " \
+       linux-libc-headers \
+       glibc \
+       "
+# UPSTREAM_CHECK_URI = "https://github.com/LINBIT/drbd-utils/releases"
+
+inherit autotools-brokensep
+
+RDEPENDS_${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy"
+
+do_install_append() {
+       rm -rf ${D}/var/lock
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils_8.4.3.bbappend b/meta-starlingx/meta-stx-integ/recipes-support/drbd/drbd-utils_8.4.3.bbappend
new file mode 100644 (file)
index 0000000..1c14e13
--- /dev/null
@@ -0,0 +1,88 @@
+
+FILESEXTRAPATHS_append := ":${THISDIR}/${PN}:"
+
+
+SRC_URI += " \
+       file://0001-skip_wait_con_int_on_simplex.patch \
+       file://0002-drbd-conditional-crm-dependency.patch \
+       file://0003-drbd_report_condition.patch \
+       file://0004-drbdadm-ipaddr-change.patch \
+       file://0005-drbd_reconnect_standby_standalone.patch \
+       file://0006-avoid-kernel-userspace-version-check.patch \
+       file://0007-Update-OCF-to-attempt-connect-in-certain-states.patch \
+       file://0008-Increase-short-cmd-timeout-to-15-secs.patch \
+       file://0009-Check-for-mounted-device-before-demoting-Primary-DRB.patch \
+       file://0010-Include-sysmacros-for-major-minor-macros.patch \
+       file://0011-Disable-documentation.patch \
+       file://drbd.service \
+       "
+
+EXTRA_OECONF = " \
+               --with-utils                    \
+                --with-initdir=/etc/init.d     \
+               --without-km                    \
+                --with-pacemaker               \
+                --with-rgmanager               \
+                --with-bashcompletion          \
+               --with-udev                     \
+               --with-heartbeat                \
+                --with-distro debian           \
+               "
+
+FILES_${PN} = "\
+       /var/lib/drbd \
+       /run \
+       ${base_sbindir}/drbdsetup \
+       ${base_sbindir}/drbdadm \
+       ${base_sbindir}/drbdmeta \
+       ${nonarch_base_libdir}/drbd/drbdsetup-83 \
+       ${nonarch_base_libdir}/drbd/drbdadm-83 \
+       ${sysconfdir}/init.d/drbd \
+       ${sysconfdir}/drbd.conf \
+       ${sysconfdir}/xen \
+       ${sysconfdir}/drbd.d \
+       ${sbindir}/drbd-overview \
+       ${libdir}/drbd/outdate-peer.sh \
+       ${libdir}/drbd/snapshot-resync-target-lvm.sh \
+       ${libdir}/drbd/unsnapshot-resync-target-lvm.sh \
+       ${libdir}/drbd/notify-out-of-sync.sh \
+       ${libdir}/drbd/notify-split-brain.sh \
+       ${libdir}/drbd/notify-emergency-reboot.sh \
+       ${libdir}/drbd/notify-emergency-shutdown.sh \
+       ${libdir}/drbd/notify-io-error.sh \
+       ${libdir}/drbd/notify-pri-lost-after-sb.sh \
+       ${libdir}/drbd/notify-pri-lost.sh \
+       ${libdir}/drbd/notify-pri-on-incon-degr.sh \
+       ${libdir}/drbd/notify.sh \
+       ${libdir}/drbd/rhcs_fence \
+       ${sysconfdir}/udev/rules.d/65-drbd.rules \
+       ${libdir}/drbd/crm-fence-peer.sh \
+       ${libdir}/drbd/crm-unfence-peer.sh \
+       ${libdir}/drbd/stonith_admin-fence-peer.sh \
+       ${libdir}/ocf/resource.d/linbit/drbd \
+       ${datadir}/cluster/drbd.sh.drbd-utils \
+       ${datadir}/cluster/drbd.metadata \
+       ${sysconfdir}/ha.d/resource.d/drbddisk \
+       ${sysconfdir}/ha.d/resource.d/drbdupper \
+       ${sysconfdir}/bash_completion.d/drbdadm* \
+       ${systemd_system_unitdir}/drbd.service \
+       "
+
+inherit update-alternatives
+ALTERNATIVE_PRIORITY = "80"
+ALTERNATIVE_${PN} = "drbd.sh"
+ALTERNATIVE_LINK_NAME[drbd.sh] = "${datadir}/cluster/drbd.sh"
+
+do_install_append() {
+       mv ${D}${datadir}/cluster/drbd.sh ${D}${datadir}/cluster/drbd.sh.drbd-utils
+       install -d -m 755 ${D}/${systemd_system_unitdir}
+       install -p -D -m 644 ${WORKDIR}/drbd.service ${D}/${systemd_system_unitdir}
+}
+
+#inherit systemd
+#SYSTEMD_PACKAGES += "${PN}"
+#SYSTEMD_SERVICE_${PN} = "drbd.service"
+
+pkg_postinst_ontarget_drbd-utils() {
+       ${base_bindir}/systemctl enable drbd.service
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/eventlog/eventlog_git.bb b/meta-starlingx/meta-stx-integ/recipes-support/eventlog/eventlog_git.bb
new file mode 100644 (file)
index 0000000..b895d73
--- /dev/null
@@ -0,0 +1,27 @@
+
+SUMMARY = "syslog replacement"
+DESCRIPTION = " \
+       The EventLog library aims to be a replacement of the simple syslog() API \
+       provided on UNIX systems. The major difference between EventLog and syslog \
+       is that EventLog tries to add structure to messages. \
+        \
+       Where you had a simple non-structrured string in syslog() you have a \
+       combination of description and tag/value pairs. \
+        \
+       EventLog provides an interface to build, format and output an event record. \
+       The exact format and output method can be customized by the administrator \
+       via a configuration file \
+         "
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b8ba8e77bcda9a53fac0fe39fe957767"
+
+SRCREV = "a5c19163ba131f79452c6dfe4e31c2b4ce4be741"
+PROTOCOL = "https"
+BRANCH = "master"
+S = "${WORKDIR}/git"
+PV = "1.0+git${SRCPV}"
+
+SRC_URI = "git://github.com/balabit/eventlog.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
+
+inherit autotools pkgconfig
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/libevent/libevent/libevent-ipv6-client-socket.patch b/meta-starlingx/meta-stx-integ/recipes-support/libevent/libevent/libevent-ipv6-client-socket.patch
new file mode 100644 (file)
index 0000000..7115f30
--- /dev/null
@@ -0,0 +1,60 @@
+Upstream-Status: Inappropriate [1]
+
+[1] ported from libevent-2.0.21-4.el7.tis.2.src.rpm
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ http.c |   25 ++++++++++++++++++-------
+ 1 file changed, 18 insertions(+), 7 deletions(-)
+
+--- a/http.c
++++ b/http.c
+@@ -1325,6 +1325,9 @@ evhttp_error_cb(struct bufferevent *bufe
+       struct evhttp_connection *evcon = arg;
+       struct evhttp_request *req = TAILQ_FIRST(&evcon->requests);
+
++      if (evcon->fd == -1)
++              evcon->fd = bufferevent_getfd(bufev);
++
+       switch (evcon->state) {
+       case EVCON_CONNECTING:
+               if (what & BEV_EVENT_TIMEOUT) {
+@@ -1390,6 +1393,9 @@ evhttp_connection_cb(struct bufferevent
+       int error;
+       ev_socklen_t errsz = sizeof(error);
+
++      if (evcon->fd == -1)
++              evcon->fd = bufferevent_getfd(bufev);
++
+       if (!(what & BEV_EVENT_CONNECTED)) {
+               /* some operating systems return ECONNREFUSED immediately
+                * when connecting to a local address.  the cleanup is going
+@@ -2189,16 +2195,21 @@ evhttp_connection_connect(struct evhttp_
+       EVUTIL_ASSERT(!(evcon->flags & EVHTTP_CON_INCOMING));
+       evcon->flags |= EVHTTP_CON_OUTGOING;
+
+-      evcon->fd = bind_socket(
+-              evcon->bind_address, evcon->bind_port, 0 /*reuse*/);
+-      if (evcon->fd == -1) {
+-              event_debug(("%s: failed to bind to \"%s\"",
+-                      __func__, evcon->bind_address));
+-              return (-1);
++      if (evcon->bind_address || evcon->bind_port) {
++              evcon->fd = bind_socket(
++                      evcon->bind_address, evcon->bind_port, 0 /*reuse*/);
++              if (evcon->fd == -1) {
++                      event_debug(("%s: failed to bind to \"%s\"",
++                              __func__, evcon->bind_address));
++                      return (-1);
++              }
++
++              bufferevent_setfd(evcon->bufev, evcon->fd);
++      } else {
++              bufferevent_setfd(evcon->bufev, -1);
+       }
+
+       /* Set up a callback for successful connection setup */
+-      bufferevent_setfd(evcon->bufev, evcon->fd);
+       bufferevent_setcb(evcon->bufev,
+           NULL /* evhttp_read_cb */,
+           NULL /* evhttp_write_cb */,
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/libevent/libevent_2.0.21.bb b/meta-starlingx/meta-stx-integ/recipes-support/libevent/libevent_2.0.21.bb
new file mode 100644 (file)
index 0000000..332e12d
--- /dev/null
@@ -0,0 +1,31 @@
+SUMMARY = "An asynchronous event notification library"
+HOMEPAGE = "http://libevent.org/"
+BUGTRACKER = "https://github.com/libevent/libevent/issues"
+SECTION = "libs"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=45c5316ff684bcfe2f9f86d8b1279559"
+
+SRC_URI = " \
+    https://github.com/downloads/libevent/libevent/${BP}-stable.tar.gz \
+    file://libevent-obsolete_automake_macros.patch \
+    file://libevent-disable_tests.patch \
+    file://libevent-ipv6-client-socket.patch \
+"
+
+SRC_URI[md5sum] = "b2405cc9ebf264aa47ff615d9de527a2"
+SRC_URI[sha256sum] = "22a530a8a5ba1cb9c080cba033206b17dacd21437762155c6d30ee6469f574f5"
+
+S = "${WORKDIR}/${BP}-stable"
+
+inherit openssl10
+
+PACKAGECONFIG ??= "openssl"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl10"
+
+inherit autotools
+
+# Needed for Debian packaging
+LEAD_SONAME = "libevent-2.0.so"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/libverto/libverto_0.2.5.bb b/meta-starlingx/meta-stx-integ/recipes-support/libverto/libverto_0.2.5.bb
new file mode 100644 (file)
index 0000000..4dcff21
--- /dev/null
@@ -0,0 +1,37 @@
+
+SUMMARY = "Event loop abstraction for Libraries"
+DESCRIPTION = "Libverto exists to isolate libraries from the particular event loop \
+chosen by an application. Libverto provides an asynchronous \
+programming interface independent of any particular event loop and \
+allows applications to attach this interface to whatever event loop \
+they select."
+HOMEPAGE = "http://fedorahosted.net/libverto"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bc8917ab981cfa6161dc29319a4038d9"
+
+
+DEPENDS += "libevent libtevent"
+
+# fedorahosted tarball cannot be fetched completely, so switch to use other source
+# SRC_URI = "http://fedorahosted.org/releases/l/i/${PN}/${PN}-${PV}.tar.gz"
+SRC_URI = "https://github.com/latchset/libverto/releases/download/0.2.5/${PN}-${PV}.tar.gz \
+          "
+SRC_URI[md5sum] = "144fb8f00759ef8ad71c472333847f03"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "libevent tevent"
+PACKAGECONFIG[glib] = "--with-glib,--without-glib,glib-2.0"
+PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev"
+PACKAGECONFIG[libevent] = "--with-libevent,--without-libevent,libevent"
+PACKAGECONFIG[tevent] = "--with-tevent,--without-tevent,libtevent"
+
+PACKAGES =+ "${PN}-libevent ${PN}-tevent"
+
+FILES_${PN}-libevent = "${libdir}/libverto-libevent${SOLIBS}"
+FILES_${PN}-tevent = "${libdir}/libverto-tevent${SOLIBS}"
+
+RPROVIDES_${PN}-libevent += "${PN}-module-base"
+RPROVIDES_${PN}-tevent += "${PN}-module-base"
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/memcached/memcached_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-support/memcached/memcached_%.bbappend
new file mode 100644 (file)
index 0000000..cede4cf
--- /dev/null
@@ -0,0 +1,40 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "memcached-custom"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;beginline=1;endline=10;md5=b3063b05db239c326cb7f5c267e0d023 \
+       "
+
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       file://memcached.sysconfig \
+       "
+
+inherit useradd
+
+USERADD_PACKAGES = "${PN}"
+
+USERADD_PARAM_${PN} = "-r -g memcached -d /run/memcached -s /sbin/nologin -c 'Memcached daemon' memcached"
+GROUPADD_PARAM_${PN} = "-r memcached"
+
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+   cp -pf ${WORKDIR}/${DSTSUFX0}/centos/memcached-custom.spec ${S}/stx-configfiles-LICENSE
+}
+
+do_install_append () {
+    install -d ${D}${sysconfdir}/sysconfig
+    install -d ${D}/${sysconfdir}/systemd/system/
+    install -m 0644 ${WORKDIR}/memcached.sysconfig ${D}${sysconfdir}/sysconfig/memcached
+    install -m 0644 ${WORKDIR}/${DSTSUFX0}/files/memcached.service \
+               ${D}/${sysconfdir}/systemd/system/memcached
+}
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/ntp/ntp_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-support/ntp/ntp_%.bbappend
new file mode 100644 (file)
index 0000000..294c84d
--- /dev/null
@@ -0,0 +1,34 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "ntp-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       "
+
+SRC_URI += " \
+        git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       "
+
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/${DSTSUFX0}/files/LICENSE ${S}/stx-configfiles-LICENSE
+}
+
+do_install_append () {
+        install -D -m644 ${WORKDIR}/${DSTSUFX0}/files/ntpd.sysconfig ${D}/${sysconfdir}/sysconfig/ntpd
+        install -D -m644 ${WORKDIR}/${DSTSUFX0}/files/ntp.conf ${D}/${sysconfdir}/ntp.conf
+}
+
+SYSTEMD_AUTO_ENABLE = "disable"
+RDEPENDS_${PN}_append = " bash"
+
+FILES_${PN}_append = " ${sysconfdir}/sysconfig/ntpd"
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0001-Various-manual-pages-changes.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0001-Various-manual-pages-changes.patch
new file mode 100644 (file)
index 0000000..325aaae
--- /dev/null
@@ -0,0 +1,82 @@
+From 462675a5b797afb411de4506425f12ac6ebdf56a Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 14:28:29 -0800
+Subject: [PATCH 01/20] Various manual pages changes:
+
+remove LIBEXECDIR from slapd.8
+remove references to non-existing manpages (bz 624616)
+---
+ doc/man/man1/ldapmodify.1 | 3 +--
+ doc/man/man5/ldap.conf.5  | 1 +
+ doc/man/man8/slapd.8      | 8 ++++----
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/doc/man/man1/ldapmodify.1 b/doc/man/man1/ldapmodify.1
+index 19263eb..46a8593 100644
+--- a/doc/man/man1/ldapmodify.1
++++ b/doc/man/man1/ldapmodify.1
+@@ -397,8 +397,7 @@ exit status and a diagnostic message being written to standard error.
+ .BR ldap_add_ext (3),
+ .BR ldap_delete_ext (3),
+ .BR ldap_modify_ext (3),
+-.BR ldap_modrdn_ext (3),
+-.BR ldif (5).
++.BR ldif (5)
+ .SH AUTHOR
+ The OpenLDAP Project <http://www.openldap.org/>
+ .SH ACKNOWLEDGEMENTS
+diff --git a/doc/man/man5/ldap.conf.5 b/doc/man/man5/ldap.conf.5
+index 0c8ec8a..49f1830 100644
+--- a/doc/man/man5/ldap.conf.5
++++ b/doc/man/man5/ldap.conf.5
+@@ -318,6 +318,7 @@ certificates in separate individual files. The
+ .B TLS_CACERT
+ is always used before
+ .B TLS_CACERTDIR.
++The specified directory must be managed with the OpenSSL c_rehash utility.
+ This parameter is ignored with GnuTLS.
+ When using Mozilla NSS, <path> may contain a Mozilla NSS cert/key
+diff --git a/doc/man/man8/slapd.8 b/doc/man/man8/slapd.8
+index b554305..22fff11 100644
+--- a/doc/man/man8/slapd.8
++++ b/doc/man/man8/slapd.8
+@@ -5,7 +5,7 @@
+ .SH NAME
+ slapd \- Stand-alone LDAP Daemon
+ .SH SYNOPSIS
+-.B LIBEXECDIR/slapd 
++.B slapd
+ [\c
+ .BR \-4 | \-6 ]
+ [\c
+@@ -317,7 +317,7 @@ the LDAP databases defined in the default config file, just type:
+ .LP
+ .nf
+ .ft tt
+-      LIBEXECDIR/slapd
++      slapd
+ .ft
+ .fi
+ .LP
+@@ -328,7 +328,7 @@ on voluminous debugging which will be printed on standard error, type:
+ .LP
+ .nf
+ .ft tt
+-      LIBEXECDIR/slapd \-f /var/tmp/slapd.conf \-d 255
++      slapd -f /var/tmp/slapd.conf -d 255
+ .ft
+ .fi
+ .LP
+@@ -336,7 +336,7 @@ To test whether the configuration file is correct or not, type:
+ .LP
+ .nf
+ .ft tt
+-      LIBEXECDIR/slapd \-Tt
++      slapd -Tt
+ .ft
+ .fi
+ .LP
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0001-stx-openldap-config-files.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0001-stx-openldap-config-files.patch
new file mode 100644 (file)
index 0000000..2390fac
--- /dev/null
@@ -0,0 +1,596 @@
+From ceaad5c741c95c78d924cb6b179daa6c6b60bf91 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Wed, 4 Dec 2019 08:07:24 -0800
+Subject: [PATCH] stx openldap config files
+
+---
+ stx-openldap-config/LICENSE             | 202 ++++++++++++++++++++++++
+ stx-openldap-config/initial_config.ldif |  80 ++++++++++
+ stx-openldap-config/initscript          | 100 ++++++++++++
+ stx-openldap-config/slapd.conf          | 117 ++++++++++++++
+ stx-openldap-config/slapd.service       |  23 +++
+ stx-openldap-config/slapd.sysconfig     |  15 ++
+ 6 files changed, 537 insertions(+)
+ create mode 100644 stx-openldap-config/LICENSE
+ create mode 100644 stx-openldap-config/initial_config.ldif
+ create mode 100755 stx-openldap-config/initscript
+ create mode 100644 stx-openldap-config/slapd.conf
+ create mode 100644 stx-openldap-config/slapd.service
+ create mode 100644 stx-openldap-config/slapd.sysconfig
+
+diff --git a/stx-openldap-config/LICENSE b/stx-openldap-config/LICENSE
+new file mode 100644
+index 000000000..d64569567
+--- /dev/null
++++ b/stx-openldap-config/LICENSE
+@@ -0,0 +1,202 @@
++
++                                 Apache License
++                           Version 2.0, January 2004
++                        http://www.apache.org/licenses/
++
++   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
++
++   1. Definitions.
++
++      "License" shall mean the terms and conditions for use, reproduction,
++      and distribution as defined by Sections 1 through 9 of this document.
++
++      "Licensor" shall mean the copyright owner or entity authorized by
++      the copyright owner that is granting the License.
++
++      "Legal Entity" shall mean the union of the acting entity and all
++      other entities that control, are controlled by, or are under common
++      control with that entity. For the purposes of this definition,
++      "control" means (i) the power, direct or indirect, to cause the
++      direction or management of such entity, whether by contract or
++      otherwise, or (ii) ownership of fifty percent (50%) or more of the
++      outstanding shares, or (iii) beneficial ownership of such entity.
++
++      "You" (or "Your") shall mean an individual or Legal Entity
++      exercising permissions granted by this License.
++
++      "Source" form shall mean the preferred form for making modifications,
++      including but not limited to software source code, documentation
++      source, and configuration files.
++
++      "Object" form shall mean any form resulting from mechanical
++      transformation or translation of a Source form, including but
++      not limited to compiled object code, generated documentation,
++      and conversions to other media types.
++
++      "Work" shall mean the work of authorship, whether in Source or
++      Object form, made available under the License, as indicated by a
++      copyright notice that is included in or attached to the work
++      (an example is provided in the Appendix below).
++
++      "Derivative Works" shall mean any work, whether in Source or Object
++      form, that is based on (or derived from) the Work and for which the
++      editorial revisions, annotations, elaborations, or other modifications
++      represent, as a whole, an original work of authorship. For the purposes
++      of this License, Derivative Works shall not include works that remain
++      separable from, or merely link (or bind by name) to the interfaces of,
++      the Work and Derivative Works thereof.
++
++      "Contribution" shall mean any work of authorship, including
++      the original version of the Work and any modifications or additions
++      to that Work or Derivative Works thereof, that is intentionally
++      submitted to Licensor for inclusion in the Work by the copyright owner
++      or by an individual or Legal Entity authorized to submit on behalf of
++      the copyright owner. For the purposes of this definition, "submitted"
++      means any form of electronic, verbal, or written communication sent
++      to the Licensor or its representatives, including but not limited to
++      communication on electronic mailing lists, source code control systems,
++      and issue tracking systems that are managed by, or on behalf of, the
++      Licensor for the purpose of discussing and improving the Work, but
++      excluding communication that is conspicuously marked or otherwise
++      designated in writing by the copyright owner as "Not a Contribution."
++
++      "Contributor" shall mean Licensor and any individual or Legal Entity
++      on behalf of whom a Contribution has been received by Licensor and
++      subsequently incorporated within the Work.
++
++   2. Grant of Copyright License. Subject to the terms and conditions of
++      this License, each Contributor hereby grants to You a perpetual,
++      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
++      copyright license to reproduce, prepare Derivative Works of,
++      publicly display, publicly perform, sublicense, and distribute the
++      Work and such Derivative Works in Source or Object form.
++
++   3. Grant of Patent License. Subject to the terms and conditions of
++      this License, each Contributor hereby grants to You a perpetual,
++      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
++      (except as stated in this section) patent license to make, have made,
++      use, offer to sell, sell, import, and otherwise transfer the Work,
++      where such license applies only to those patent claims licensable
++      by such Contributor that are necessarily infringed by their
++      Contribution(s) alone or by combination of their Contribution(s)
++      with the Work to which such Contribution(s) was submitted. If You
++      institute patent litigation against any entity (including a
++      cross-claim or counterclaim in a lawsuit) alleging that the Work
++      or a Contribution incorporated within the Work constitutes direct
++      or contributory patent infringement, then any patent licenses
++      granted to You under this License for that Work shall terminate
++      as of the date such litigation is filed.
++
++   4. Redistribution. You may reproduce and distribute copies of the
++      Work or Derivative Works thereof in any medium, with or without
++      modifications, and in Source or Object form, provided that You
++      meet the following conditions:
++
++      (a) You must give any other recipients of the Work or
++          Derivative Works a copy of this License; and
++
++      (b) You must cause any modified files to carry prominent notices
++          stating that You changed the files; and
++
++      (c) You must retain, in the Source form of any Derivative Works
++          that You distribute, all copyright, patent, trademark, and
++          attribution notices from the Source form of the Work,
++          excluding those notices that do not pertain to any part of
++          the Derivative Works; and
++
++      (d) If the Work includes a "NOTICE" text file as part of its
++          distribution, then any Derivative Works that You distribute must
++          include a readable copy of the attribution notices contained
++          within such NOTICE file, excluding those notices that do not
++          pertain to any part of the Derivative Works, in at least one
++          of the following places: within a NOTICE text file distributed
++          as part of the Derivative Works; within the Source form or
++          documentation, if provided along with the Derivative Works; or,
++          within a display generated by the Derivative Works, if and
++          wherever such third-party notices normally appear. The contents
++          of the NOTICE file are for informational purposes only and
++          do not modify the License. You may add Your own attribution
++          notices within Derivative Works that You distribute, alongside
++          or as an addendum to the NOTICE text from the Work, provided
++          that such additional attribution notices cannot be construed
++          as modifying the License.
++
++      You may add Your own copyright statement to Your modifications and
++      may provide additional or different license terms and conditions
++      for use, reproduction, or distribution of Your modifications, or
++      for any such Derivative Works as a whole, provided Your use,
++      reproduction, and distribution of the Work otherwise complies with
++      the conditions stated in this License.
++
++   5. Submission of Contributions. Unless You explicitly state otherwise,
++      any Contribution intentionally submitted for inclusion in the Work
++      by You to the Licensor shall be under the terms and conditions of
++      this License, without any additional terms or conditions.
++      Notwithstanding the above, nothing herein shall supersede or modify
++      the terms of any separate license agreement you may have executed
++      with Licensor regarding such Contributions.
++
++   6. Trademarks. This License does not grant permission to use the trade
++      names, trademarks, service marks, or product names of the Licensor,
++      except as required for reasonable and customary use in describing the
++      origin of the Work and reproducing the content of the NOTICE file.
++
++   7. Disclaimer of Warranty. Unless required by applicable law or
++      agreed to in writing, Licensor provides the Work (and each
++      Contributor provides its Contributions) on an "AS IS" BASIS,
++      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
++      implied, including, without limitation, any warranties or conditions
++      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
++      PARTICULAR PURPOSE. You are solely responsible for determining the
++      appropriateness of using or redistributing the Work and assume any
++      risks associated with Your exercise of permissions under this License.
++
++   8. Limitation of Liability. In no event and under no legal theory,
++      whether in tort (including negligence), contract, or otherwise,
++      unless required by applicable law (such as deliberate and grossly
++      negligent acts) or agreed to in writing, shall any Contributor be
++      liable to You for damages, including any direct, indirect, special,
++      incidental, or consequential damages of any character arising as a
++      result of this License or out of the use or inability to use the
++      Work (including but not limited to damages for loss of goodwill,
++      work stoppage, computer failure or malfunction, or any and all
++      other commercial damages or losses), even if such Contributor
++      has been advised of the possibility of such damages.
++
++   9. Accepting Warranty or Additional Liability. While redistributing
++      the Work or Derivative Works thereof, You may choose to offer,
++      and charge a fee for, acceptance of support, warranty, indemnity,
++      or other liability obligations and/or rights consistent with this
++      License. However, in accepting such obligations, You may act only
++      on Your own behalf and on Your sole responsibility, not on behalf
++      of any other Contributor, and only if You agree to indemnify,
++      defend, and hold each Contributor harmless for any liability
++      incurred by, or claims asserted against, such Contributor by reason
++      of your accepting any such warranty or additional liability.
++
++   END OF TERMS AND CONDITIONS
++
++   APPENDIX: How to apply the Apache License to your work.
++
++      To apply the Apache License to your work, attach the following
++      boilerplate notice, with the fields enclosed by brackets "[]"
++      replaced with your own identifying information. (Don't include
++      the brackets!)  The text should be enclosed in the appropriate
++      comment syntax for the file format. We also recommend that a
++      file or class name and description of purpose be included on the
++      same "printed page" as the copyright notice for easier
++      identification within third-party archives.
++
++   Copyright [yyyy] [name of copyright owner]
++
++   Licensed under the Apache License, Version 2.0 (the "License");
++   you may not use this file except in compliance with the License.
++   You may obtain a copy of the License at
++
++       http://www.apache.org/licenses/LICENSE-2.0
++
++   Unless required by applicable law or agreed to in writing, software
++   distributed under the License is distributed on an "AS IS" BASIS,
++   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++   See the License for the specific language governing permissions and
++   limitations under the License.
+diff --git a/stx-openldap-config/initial_config.ldif b/stx-openldap-config/initial_config.ldif
+new file mode 100644
+index 000000000..672e364b5
+--- /dev/null
++++ b/stx-openldap-config/initial_config.ldif
+@@ -0,0 +1,80 @@
++#ldapadd -D "cn=ldapadmin,dc=cgcs,dc=local" -W -f /etc/openldap/initial_config.ldif
++#ldapsearch -x -b 'dc=cgcs,dc=local' '(objectclass=*)'
++dn: dc=cgcs,dc=local
++dc: cgcs
++objectClass: top
++objectClass: domain
++
++dn: ou=policies,dc=cgcs,dc=local
++ou: policies
++objectClass: top
++objectClass: organizationalUnit
++
++dn: ou=People,dc=cgcs,dc=local
++ou: People
++objectClass: top
++objectClass: organizationalUnit
++
++dn: ou=Group,dc=cgcs,dc=local
++ou: Group
++objectClass: top
++objectClass: organizationalUnit
++
++dn: ou=SUDOers,dc=cgcs,dc=local
++objectClass: top
++objectClass: organizationalUnit
++ou: SUDOers
++
++dn: cn=users,ou=Group,dc=cgcs,dc=local
++objectClass: posixGroup
++objectClass: top
++cn: users
++userPassword: {crypt}x
++gidNumber: 100
++
++dn: cn=cgcs,ou=Group,dc=cgcs,dc=local
++objectClass: posixGroup
++objectClass: top
++cn: cgcs
++userPassword: {crypt}x
++gidNumber: 1000
++
++dn: cn=default,ou=policies,dc=cgcs,dc=local
++objectClass: top
++objectClass: device
++objectClass: pwdPolicy
++objectClass: pwdPolicyChecker
++cn: default
++pwdAttribute: userPassword
++pwdMaxAge: 0
++pwdExpireWarning: 432000
++pwdInHistory: 2
++pwdCheckModule: check_password.so
++pwdCheckQuality: 1
++pwdMinLength: 7
++pwdMaxFailure: 5
++pwdLockout: TRUE
++pwdLockoutDuration: 300
++pwdFailureCountInterval: 0
++pwdMustChange: TRUE
++pwdAllowUserChange: TRUE
++pwdSafeModify: FALSE
++pwdGraceAuthNLimit: 0
++
++dn: cn=defaults,ou=SUDOers,dc=cgcs,dc=local
++objectClass: top
++objectClass: sudoRole
++cn: defaults
++description: Default sudoOption's go here
++sudoOrder: 1
++
++dn: cn=admin,ou=SUDOers,dc=cgcs,dc=local
++objectClass: top
++objectClass: sudoRole
++cn: admin
++sudoUser: admin
++sudoHost: ALL
++sudoRunAsUser: ALL
++sudoCommand: ALL
++sudoOrder: 2
++sudoOption: secure_path=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
+diff --git a/stx-openldap-config/initscript b/stx-openldap-config/initscript
+new file mode 100755
+index 000000000..d3208dd9a
+--- /dev/null
++++ b/stx-openldap-config/initscript
+@@ -0,0 +1,100 @@
++#! /bin/sh
++#
++# This is an init script for openembedded
++# Copy it to /etc/init.d/openldap and type
++# > update-rc.d openldap defaults 60
++#
++. /etc/init.d/functions
++
++################################################################################
++# Wait for a process to stop running.
++#
++################################################################################
++function wait_for_proc_stop()
++{
++    PROGNAME=$1
++    TIMEOUT=${2:-"5"}
++
++    for I in $(seq 1 $TIMEOUT); do
++        PID=$(pidof $PROGNAME 2> /dev/null)
++        if [ $? -ne 0 ]; then
++            ## already dead
++            return 0
++        fi
++        sleep 1
++    done
++
++    return 1
++}
++
++slapd=/usr/sbin/slapd
++test -x "$slapd" || exit 0
++
++RETVAL=0
++
++case "$1" in
++  start)
++    echo -n "Starting SLAPD: "
++    if [ -f /etc/openldap/schema/cn=config.ldif ]; then
++        start-stop-daemon --start --oknodo --quiet --exec $slapd \
++            -- -F /etc/openldap/schema/
++        RETVAL=$?
++    else
++        start-stop-daemon --start --oknodo --quiet --exec $slapd
++        RETVAL=$?
++    fi
++    if [ $RETVAL -ne 0 ]; then
++        echo "Failed to start SLAPD."
++        exit $RETVAL
++    fi
++
++    # we need to start nscd service as part of this openldap
++    # init.d script since SM manages this as a service and both
++    # daemons should be running on a controller host
++    systemctl status nscd.service
++    if [ $? -ne 0 ]; then
++        echo -n "Starting NSCD: "
++        systemctl start nscd.service
++        RETVAL=$?
++        if [ $RETVAL -ne 0 ]; then
++            echo "Failed to start NSCD."
++            exit $RETVAL
++        fi
++    fi
++
++    echo "."
++    ;;
++  stop)
++    echo -n "Stopping NSCD: "
++    systemctl stop nscd.service
++    rm -f /var/run/nscd/nscd.pid
++
++    echo -n "Stopping SLAPD: "
++    start-stop-daemon --retry 60 --stop --oknodo --quiet --pidfile /var/run/slapd.pid
++    RETVAL=$?
++    wait_for_proc_stop $slapd 10
++    WRETVAL=$?
++    while [ $WRETVAL -eq 1 ]; do
++      killproc $slapd
++      wait_for_proc_stop $slapd 10
++      WRETVAL=$?
++    done
++    rm -f /var/run/slapd.pid
++    echo "."
++    ;;
++  status)
++    status $slapd
++    [ $? -eq 0 ] || exit $?
++    systemctl status nscd.service
++    [ $? -eq 0 ] || exit $?
++    ;;
++  restart)
++    $0 stop
++    $0 start
++    ;;
++  *)
++    echo "Usage: /etc/init.d/openldap {start|stop|status|restart}"
++    exit 1
++esac
++
++exit $RETVAL
+diff --git a/stx-openldap-config/slapd.conf b/stx-openldap-config/slapd.conf
+new file mode 100644
+index 000000000..3b6fcc545
+--- /dev/null
++++ b/stx-openldap-config/slapd.conf
+@@ -0,0 +1,117 @@
++#
++# See slapd.conf(5) for details on configuration options.
++# This file should NOT be world readable.
++#
++include         /etc/openldap/schema/core.schema
++include         /etc/openldap/schema/cosine.schema
++include         /etc/openldap/schema/inetorgperson.schema
++include         /etc/openldap/schema/nis.schema
++include         /etc/openldap/schema/ppolicy.schema
++include         /etc/openldap/schema/sudo.schema
++
++# Define global ACLs to disable default read access.
++
++# Do not enable referrals until AFTER you have a working directory
++# service AND an understanding of referrals.
++#referral       ldap://root.openldap.org
++
++pidfile         /var/run/slapd.pid
++argsfile        /var/run/slapd.args
++
++# uniquely identifies this server
++serverID 001
++
++# Load dynamic backend modules:
++modulepath      /usr/libexec/openldap
++moduleload      back_mdb.la
++moduleload      ppolicy.la
++moduleload      syncprov.la
++
++# Sample security restrictions
++#       Require integrity protection (prevent hijacking)
++#       Require 112-bit (3DES or better) encryption for updates
++#       Require 63-bit encryption for simple bind
++# security ssf=1 update_ssf=112 simple_bind=64
++
++# Sample access control policy:
++#       Root DSE: allow anyone to read it
++#       Subschema (sub)entry DSE: allow anyone to read it
++#       Other DSEs:
++#               Allow self write access
++#               Allow authenticated users read access
++#               Allow anonymous users to authenticate
++#       Directives needed to implement policy:
++#access to dn.base="" by * read
++#access to dn.base="cn=Subschema" by * read
++#access to *
++#       by self write
++#       by anonymous auth
++#       by * read
++#
++# if no access controls are present, the default policy
++# allows anyone and everyone to read anything but restricts
++# updates to rootdn.  (e.g., "access to * by * read")
++#
++# rootdn can always read and write EVERYTHING!
++
++#######################################################################
++# BDB database definitions
++#######################################################################
++
++database        mdb
++suffix          "dc=cgcs,dc=local"
++rootdn          "cn=ldapadmin,dc=cgcs,dc=local"
++# Cleartext passwords, especially for the rootdn, should
++# be avoid.  See slappasswd(8) and slapd.conf(5) for details.
++# Use of strong authentication encouraged.
++rootpw          _LDAPADMIN_PW_
++# The database directory MUST exist prior to running slapd AND 
++# should only be accessible by the slapd and slap tools.
++# Mode 700 recommended.
++directory       /var/lib/openldap-data
++# Maximum size
++maxsize 1073741824
++# Indices to maintain
++index   cn              eq
++index   objectClass     eq
++index   uid             eq,pres,sub
++index   uidNumber       eq
++index   gidNumber       eq
++index   memberUid       eq
++index   sudoUser        eq,sub
++
++access to *
++       by self write
++       by * read
++
++loglevel none
++
++overlay ppolicy
++ppolicy_default "cn=default,ou=policies,dc=cgcs,dc=local"
++ppolicy_use_lockout
++
++# NOTE: 
++# syncrepl directives for each of the other masters
++syncrepl rid=000 
++  provider=ldap://controller-1
++  type=refreshAndPersist
++  retry="5 5 300 +" 
++  searchbase="dc=cgcs,dc=local"
++  attrs="*,+"
++  bindmethod=simple
++  binddn="cn=ldapadmin,dc=cgcs,dc=local"
++  credentials=_LDAPADMIN_PW_
++
++# syncprov specific indexing (add others as required)
++index entryCSN eq
++index entryUUID eq 
++# ...
++# # mirror mode essential to allow writes
++# # and must appear after all syncrepl directives
++mirrormode TRUE
++#
++# # define the provider to use the syncprov overlay
++# # (last directives in database section)
++overlay syncprov
++# # contextCSN saved to database every 100 updates or ten minutes
++syncprov-checkpoint 1 1
+diff --git a/stx-openldap-config/slapd.service b/stx-openldap-config/slapd.service
+new file mode 100644
+index 000000000..24b39380a
+--- /dev/null
++++ b/stx-openldap-config/slapd.service
+@@ -0,0 +1,23 @@
++[Unit]
++Description=OpenLDAP Server Daemon
++Before=rsyncd.service
++After=network.target syslog-ng.target
++Documentation=man:slapd
++Documentation=man:slapd-config
++Documentation=man:slapd-hdb
++Documentation=man:slapd-mdb
++Documentation=file:///usr/share/doc/openldap-servers/guide.html
++
++[Service]
++Type=forking
++PIDFile=/var/run/slapd.pid
++Environment="SLAPD_URLS=ldap:/// ldapi:///" "SLAPD_OPTIONS="
++EnvironmentFile=/etc/sysconfig/slapd
++ExecStartPre=/usr/libexec/openldap/check-config.sh
++ExecStart=/etc/init.d/openldap start
++ExecStop=/etc/init.d/openldap stop
++ExecReload=/etc/init.d/openldap restart
++RemainAfterExit=yes
++
++[Install]
++WantedBy=multi-user.target
+diff --git a/stx-openldap-config/slapd.sysconfig b/stx-openldap-config/slapd.sysconfig
+new file mode 100644
+index 000000000..573486da4
+--- /dev/null
++++ b/stx-openldap-config/slapd.sysconfig
+@@ -0,0 +1,15 @@
++# OpenLDAP server configuration
++# see 'man slapd' for additional information
++
++# Where the server will run (-h option)
++# - ldapi:/// is required for on-the-fly configuration using client tools
++#   (use SASL with EXTERNAL mechanism for authentication)
++# - default: ldapi:/// ldap:///
++# - example: ldapi:/// ldap://127.0.0.1/ ldap://10.0.0.1:1389/ ldaps:///
++SLAPD_URLS="ldapi:/// ldap:///"
++
++# Any custom options
++SLAPD_OPTIONS=""
++
++# Keytab location for GSSAPI Kerberos authentication
++#KRB5_KTNAME="FILE:/etc/openldap/ldap.keytab"
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0002-Correct-log-levels-in-ppolicy-overlay.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0002-Correct-log-levels-in-ppolicy-overlay.patch
new file mode 100644 (file)
index 0000000..1d63588
--- /dev/null
@@ -0,0 +1,44 @@
+From 35907952c646b971ba5b14002db2aac8d2324f21 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 14:30:27 -0800
+Subject: [PATCH 02/20] Correct log levels in ppolicy overlay
+
+From STX 1901 openldap-ppolicy-loglevels.patch
+---
+ servers/slapd/overlays/ppolicy.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/servers/slapd/overlays/ppolicy.c b/servers/slapd/overlays/ppolicy.c
+index 7d26b73..3f41e27 100644
+--- a/servers/slapd/overlays/ppolicy.c
++++ b/servers/slapd/overlays/ppolicy.c
+@@ -685,7 +685,7 @@ check_password_quality( struct berval *cred, PassPolicy *pp, LDAPPasswordPolicyE
+               if ((mod = lt_dlopen( pp->pwdCheckModule )) == NULL) {
+                       err = lt_dlerror();
+-                      Debug(LDAP_DEBUG_ANY,
++                      Log3(LDAP_DEBUG_ANY, LDAP_LEVEL_WARNING,
+                       "check_password_quality: lt_dlopen failed: (%s) %s.\n",
+                               pp->pwdCheckModule, err, 0 );
+                       ok = LDAP_OTHER; /* internal error */
+@@ -700,7 +700,7 @@ check_password_quality( struct berval *cred, PassPolicy *pp, LDAPPasswordPolicyE
+                       if ((prog = lt_dlsym( mod, "check_password" )) == NULL) {
+                               err = lt_dlerror();
+                           
+-                              Debug(LDAP_DEBUG_ANY,
++                              Log3(LDAP_DEBUG_ANY, LDAP_LEVEL_WARNING,
+                                       "check_password_quality: lt_dlsym failed: (%s) %s.\n",
+                                       pp->pwdCheckModule, err, 0 );
+                               ok = LDAP_OTHER;
+@@ -709,7 +709,7 @@ check_password_quality( struct berval *cred, PassPolicy *pp, LDAPPasswordPolicyE
+                               ok = prog( ptr, txt, e );
+                               ldap_pvt_thread_mutex_unlock( &chk_syntax_mutex );
+                               if (ok != LDAP_SUCCESS) {
+-                                      Debug(LDAP_DEBUG_ANY,
++                                      Log3(LDAP_DEBUG_ANY, LDAP_LEVEL_WARNING,
+                                               "check_password_quality: module error: (%s) %s.[%d]\n",
+                                               pp->pwdCheckModule, *txt ? *txt : "", ok );
+                               }
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0003-Removes-unnecessary-linking-of-SQL-Libs-into-slad.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0003-Removes-unnecessary-linking-of-SQL-Libs-into-slad.patch
new file mode 100644 (file)
index 0000000..f613a59
--- /dev/null
@@ -0,0 +1,29 @@
+From 15b7c5ebcbb607cd2edc2119dfefd16b41cddc21 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 14:32:09 -0800
+Subject: [PATCH 03/20] Removes unnecessary linking of SQL Libs into slad.
+
+This makes openldap-servers package independent of libodbc (SQL
+backend is packaged separately in openldap-servers-sql.)
+
+From STX openldap-sql-linking.patch
+---
+ build/top.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/top.mk b/build/top.mk
+index 3b9e202..4364187 100644
+--- a/build/top.mk
++++ b/build/top.mk
+@@ -201,7 +201,7 @@ SLAPD_SQL_LDFLAGS = @SLAPD_SQL_LDFLAGS@
+ SLAPD_SQL_INCLUDES = @SLAPD_SQL_INCLUDES@
+ SLAPD_SQL_LIBS = @SLAPD_SQL_LIBS@
+-SLAPD_LIBS = @SLAPD_LIBS@ @SLAPD_PERL_LDFLAGS@ @SLAPD_SQL_LDFLAGS@ @SLAPD_SQL_LIBS@ @SLAPD_SLP_LIBS@ @SLAPD_GMP_LIBS@ $(ICU_LIBS)
++SLAPD_LIBS = @SLAPD_LIBS@ @SLAPD_PERL_LDFLAGS@ @SLAPD_SLP_LIBS@ @SLAPD_GMP_LIBS@ $(ICU_LIBS)
+ # Our Defaults
+ CC = $(AC_CC)
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0004-openlap-reentrant-gethostby.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0004-openlap-reentrant-gethostby.patch
new file mode 100644 (file)
index 0000000..6f127b8
--- /dev/null
@@ -0,0 +1,43 @@
+From df22708bcbe727570daada3fbf8065a447444716 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 14:34:19 -0800
+Subject: [PATCH 04/20] openlap reentrant gethostby
+
+The non-reentrant gethostbyXXXX() functions deadlock if called recursively, for
+example if libldap needs to be initialized from within gethostbyXXXX() (which
+actually happens if nss_ldap is used for hostname resolution and earlier
+modules can't resolve the local host name), so use the reentrant versions of
+the functions, even if we're not being compiled for use in libldap_r
+
+From STX openldap-reentrant-gethostby.patch
+---
+ libraries/libldap/util-int.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/libraries/libldap/util-int.c b/libraries/libldap/util-int.c
+index e65db0c..0628951 100644
+--- a/libraries/libldap/util-int.c
++++ b/libraries/libldap/util-int.c
+@@ -52,8 +52,8 @@ extern int h_errno;
+ #ifndef LDAP_R_COMPILE
+ # undef HAVE_REENTRANT_FUNCTIONS
+ # undef HAVE_CTIME_R
+-# undef HAVE_GETHOSTBYNAME_R
+-# undef HAVE_GETHOSTBYADDR_R
++/* # undef HAVE_GETHOSTBYNAME_R */
++/* # undef HAVE_GETHOSTBYADDR_R */
+ #else
+ # include <ldap_pvt_thread.h>
+@@ -420,7 +420,7 @@ ldap_pvt_csnstr(char *buf, size_t len, unsigned int replica, unsigned int mod)
+ #define BUFSTART (1024-32)
+ #define BUFMAX (32*1024-32)
+-#if defined(LDAP_R_COMPILE)
++#if defined(LDAP_R_COMPILE) || defined(HAVE_GETHOSTBYNAME_R) && defined(HAVE_GETHOSTBYADDR_R)
+ static char *safe_realloc( char **buf, int len );
+ #if !(defined(HAVE_GETHOSTBYNAME_R) && defined(HAVE_GETHOSTBYADDR_R))
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0005-openldap-smbk5pwd-overlay.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0005-openldap-smbk5pwd-overlay.patch
new file mode 100644 (file)
index 0000000..4c6b6f5
--- /dev/null
@@ -0,0 +1,65 @@
+From 75e89e30c2ef819169b5f77b0ac8d450271f516b Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 14:35:23 -0800
+Subject: [PATCH 05/20] openldap smbk5pwd overlay
+
+Compile smbk5pwd together with other overlays.
+
+From STX: openldap-smbk5pwd-overlay.patch
+---
+ contrib/slapd-modules/smbk5pwd/README |  5 +++++
+ servers/slapd/overlays/Makefile.in    | 11 +++++++++--
+ 2 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/contrib/slapd-modules/smbk5pwd/README b/contrib/slapd-modules/smbk5pwd/README
+index a7ef2ce..6780f9e 100644
+--- a/contrib/slapd-modules/smbk5pwd/README
++++ b/contrib/slapd-modules/smbk5pwd/README
+@@ -1,3 +1,8 @@
++******************************************************************************
++Red Hat note: We do not provide Heimdal Kerberos but MIT. Therefore the module
++is compiled only with Samba features in Fedora and Red Hat Enterprise Linux.
++******************************************************************************
++
+ This directory contains a slapd overlay, smbk5pwd, that extends the
+ PasswordModify Extended Operation to update Kerberos keys and Samba
+ password hashes for an LDAP user.
+diff --git a/servers/slapd/overlays/Makefile.in b/servers/slapd/overlays/Makefile.in
+index 40b6fa5..e3f415a 100644
+--- a/servers/slapd/overlays/Makefile.in
++++ b/servers/slapd/overlays/Makefile.in
+@@ -33,7 +33,8 @@ SRCS = overlays.c \
+       syncprov.c \
+       translucent.c \
+       unique.c \
+-      valsort.c
++      valsort.c \
++      smbk5pwd.c
+ OBJS = statover.o \
+       @SLAPD_STATIC_OVERLAYS@ \
+       overlays.o
+@@ -53,7 +54,7 @@ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+ LIBRARY = ../liboverlays.a
+-PROGRAMS = @SLAPD_DYNAMIC_OVERLAYS@
++PROGRAMS = @SLAPD_DYNAMIC_OVERLAYS@ smbk5pwd.la
+ XINCPATH = -I.. -I$(srcdir)/..
+ XDEFS = $(MODULES_CPPFLAGS)
+@@ -125,6 +126,12 @@ unique.la : unique.lo
+ valsort.la : valsort.lo
+       $(LTLINK_MOD) -module -o $@ valsort.lo version.lo $(LINK_LIBS)
++smbk5pwd.lo : smbk5pwd.c
++      $(LTCOMPILE_MOD) -DDO_SAMBA -UHAVE_MOZNSS -DHAVE_OPENSSL $(shell pkg-config openssl --cflags) $<
++
++smbk5pwd.la : smbk5pwd.lo
++      $(LTLINK_MOD) -module -o $@ smbk5pwd.lo version.lo $(LINK_LIBS) $(shell pkg-config openssl --libs)
++
+ install-local:        $(PROGRAMS)
+       @if test -n "$?" ; then \
+               $(MKDIR) $(DESTDIR)$(moduledir); \
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0006-openldap-ldaprc-currentdir.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0006-openldap-ldaprc-currentdir.patch
new file mode 100644 (file)
index 0000000..fddfd8c
--- /dev/null
@@ -0,0 +1,34 @@
+From b7f7a583e8a63b1787c3a98f4c43ccbb6c3e39df Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 14:36:48 -0800
+Subject: [PATCH 06/20] openldap ldaprc currentdir
+
+From Stx 1901: openldap-ldaprc-currentdir.patch
+
+Disables opening of ldaprc file in current directory.
+Disables opening of ldaprc file in current directory.
+
+Resolves: #38402
+Upstream: ITS #1131
+Author: Henning Schmiedehausen <hps@intermeta.de>
+---
+ libraries/libldap/init.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c
+index 9b877a9..89235f9 100644
+--- a/libraries/libldap/init.c
++++ b/libraries/libldap/init.c
+@@ -352,9 +352,6 @@ static void openldap_ldap_init_w_userconf(const char *file)
+       if(path != NULL) {
+               LDAP_FREE(path);
+       }
+-
+-      /* try file */
+-      openldap_ldap_init_w_conf(file, 1);
+ }
+ static void openldap_ldap_init_w_env(
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0007-openldap-userconfig-setgid.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0007-openldap-userconfig-setgid.patch
new file mode 100644 (file)
index 0000000..4249400
--- /dev/null
@@ -0,0 +1,31 @@
+From c4906ff521df3f1c9fc4a302300fc135447ee40a Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 14:38:21 -0800
+Subject: [PATCH 07/20] openldap userconfig setgid
+
+From Stx 1901: openldap-userconfig-setgid.patch
+
+Normally, skips reading of user configuration file when running with different effective UID.
+This patch adds the same behavior for GID.
+
+Author: Nalin Dahyabhai <nalin@redhat.com>
+---
+ libraries/libldap/init.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c
+index 89235f9..de16b60 100644
+--- a/libraries/libldap/init.c
++++ b/libraries/libldap/init.c
+@@ -684,7 +684,7 @@ void ldap_int_initialize( struct ldapoptions *gopts, int *dbglvl )
+       openldap_ldap_init_w_sysconf(LDAP_CONF_FILE);
+ #ifdef HAVE_GETEUID
+-      if ( geteuid() != getuid() )
++      if ( geteuid() != getuid() || getegid() != getgid() )
+               return;
+ #endif
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0008-openldap-allop-overlay.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0008-openldap-allop-overlay.patch
new file mode 100644 (file)
index 0000000..4d21fa0
--- /dev/null
@@ -0,0 +1,54 @@
+From ac607279df96d4f29f0778ad2657b1f962b496bb Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 14:40:33 -0800
+Subject: [PATCH 08/20] openldap allop overlay
+
+From Stx 1901: openldap-allop-overlay.patch
+
+Compile AllOp together with other overlays.
+
+Author: Matus Honek <mhonek@redhat.com>
+Resolves: #990893
+---
+ servers/slapd/overlays/Makefile.in | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/servers/slapd/overlays/Makefile.in b/servers/slapd/overlays/Makefile.in
+index e3f415a..d940560 100644
+--- a/servers/slapd/overlays/Makefile.in
++++ b/servers/slapd/overlays/Makefile.in
+@@ -34,7 +34,8 @@ SRCS = overlays.c \
+       translucent.c \
+       unique.c \
+       valsort.c \
+-      smbk5pwd.c
++      smbk5pwd.c \
++      allop.c
+ OBJS = statover.o \
+       @SLAPD_STATIC_OVERLAYS@ \
+       overlays.o
+@@ -54,7 +55,7 @@ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+ LIBRARY = ../liboverlays.a
+-PROGRAMS = @SLAPD_DYNAMIC_OVERLAYS@ smbk5pwd.la
++PROGRAMS = @SLAPD_DYNAMIC_OVERLAYS@ smbk5pwd.la allop.la
+ XINCPATH = -I.. -I$(srcdir)/..
+ XDEFS = $(MODULES_CPPFLAGS)
+@@ -132,6 +133,12 @@ smbk5pwd.lo : smbk5pwd.c
+ smbk5pwd.la : smbk5pwd.lo
+       $(LTLINK_MOD) -module -o $@ smbk5pwd.lo version.lo $(LINK_LIBS) $(shell pkg-config openssl --libs)
++allop.lo : allop.c
++      $(LTCOMPILE_MOD) -DDO_SAMBA -UHAVE_MOZNSS -DHAVE_OPENSSL $(shell pkg-config openssl --cflags) $<
++
++allop.la : allop.lo
++      $(LTLINK_MOD) -module -o $@ allop.lo version.lo $(LINK_LIBS) $(shell pkg-config openssl --libs)
++
+ install-local:        $(PROGRAMS)
+       @if test -n "$?" ; then \
+               $(MKDIR) $(DESTDIR)$(moduledir); \
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0009-openldap-syncrepl-unset-tls-options.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0009-openldap-syncrepl-unset-tls-options.patch
new file mode 100644 (file)
index 0000000..6525ba4
--- /dev/null
@@ -0,0 +1,75 @@
+From d87f33bf42e3ee1ce47ea61fde809fe693eede87 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 14:42:04 -0800
+Subject: [PATCH 09/20] openldap syncrepl unset tls options
+
+From Stx 1901: openldap-syncrepl-unset-tls-options.patch
+
+allow unsetting of tls_* syncrepl options
+
+Author: Patrick Monnerat <pm@datasphere.ch>
+Upstream ITS: #7042
+Resolves: #734187
+---
+ libraries/libldap/tls2.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/libraries/libldap/tls2.c b/libraries/libldap/tls2.c
+index d25c190..46ccefa 100644
+--- a/libraries/libldap/tls2.c
++++ b/libraries/libldap/tls2.c
+@@ -747,27 +747,27 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg )
+               return 0;
+       case LDAP_OPT_X_TLS_CACERTFILE:
+               if ( lo->ldo_tls_cacertfile ) LDAP_FREE( lo->ldo_tls_cacertfile );
+-              lo->ldo_tls_cacertfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
++              lo->ldo_tls_cacertfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
+               return 0;
+       case LDAP_OPT_X_TLS_CACERTDIR:
+               if ( lo->ldo_tls_cacertdir ) LDAP_FREE( lo->ldo_tls_cacertdir );
+-              lo->ldo_tls_cacertdir = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
++              lo->ldo_tls_cacertdir = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
+               return 0;
+       case LDAP_OPT_X_TLS_CERTFILE:
+               if ( lo->ldo_tls_certfile ) LDAP_FREE( lo->ldo_tls_certfile );
+-              lo->ldo_tls_certfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
++              lo->ldo_tls_certfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
+               return 0;
+       case LDAP_OPT_X_TLS_KEYFILE:
+               if ( lo->ldo_tls_keyfile ) LDAP_FREE( lo->ldo_tls_keyfile );
+-              lo->ldo_tls_keyfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
++              lo->ldo_tls_keyfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
+               return 0;
+       case LDAP_OPT_X_TLS_DHFILE:
+               if ( lo->ldo_tls_dhfile ) LDAP_FREE( lo->ldo_tls_dhfile );
+-              lo->ldo_tls_dhfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
++              lo->ldo_tls_dhfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
+               return 0;
+       case LDAP_OPT_X_TLS_CRLFILE:    /* GnuTLS only */
+               if ( lo->ldo_tls_crlfile ) LDAP_FREE( lo->ldo_tls_crlfile );
+-              lo->ldo_tls_crlfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
++              lo->ldo_tls_crlfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
+               return 0;
+       case LDAP_OPT_X_TLS_REQUIRE_CERT:
+               if ( !arg ) return -1;
+@@ -795,7 +795,7 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg )
+ #endif
+       case LDAP_OPT_X_TLS_CIPHER_SUITE:
+               if ( lo->ldo_tls_ciphersuite ) LDAP_FREE( lo->ldo_tls_ciphersuite );
+-              lo->ldo_tls_ciphersuite = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
++              lo->ldo_tls_ciphersuite = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
+               return 0;
+       case LDAP_OPT_X_TLS_PROTOCOL_MIN:
+@@ -806,7 +806,7 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg )
+               if ( ld != NULL )
+                       return -1;
+               if ( lo->ldo_tls_randfile ) LDAP_FREE (lo->ldo_tls_randfile );
+-              lo->ldo_tls_randfile = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
++              lo->ldo_tls_randfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
+               break;
+       case LDAP_OPT_X_TLS_NEWCTX:
+               if ( !arg ) return -1;
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0010-openldap-ai-addrconfig.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0010-openldap-ai-addrconfig.patch
new file mode 100644 (file)
index 0000000..86cda4d
--- /dev/null
@@ -0,0 +1,32 @@
+From 6fcc222021258cf00cef05bdc487c614c33ab371 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 14:44:05 -0800
+Subject: [PATCH 10/20] openldap ai addrconfig
+
+From stx 1901: openldap-ai-addrconfig.patch
+use AI_ADDRCONFIG if defined in the environment
+
+Author: Jan Vcelak <jvcelak@redhat.com>
+Upstream ITS: #7326
+Resolves: #835013
+---
+ libraries/libldap/os-ip.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/libraries/libldap/os-ip.c b/libraries/libldap/os-ip.c
+index 623dfad..0618900 100644
+--- a/libraries/libldap/os-ip.c
++++ b/libraries/libldap/os-ip.c
+@@ -594,8 +594,7 @@ ldap_connect_to_host(LDAP *ld, Sockbuf *sb,
+ #if defined( HAVE_GETADDRINFO ) && defined( HAVE_INET_NTOP )
+       memset( &hints, '\0', sizeof(hints) );
+-#ifdef USE_AI_ADDRCONFIG /* FIXME: configure test needed */
+-      /* Use AI_ADDRCONFIG only on systems where its known to be needed. */
++#ifdef AI_ADDRCONFIG
+       hints.ai_flags = AI_ADDRCONFIG;
+ #endif
+       hints.ai_family = ldap_int_inet4or6;
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0011-openldap-switch-to-t_dlopenadvise-to-get-RTLD_GLOBAL.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0011-openldap-switch-to-t_dlopenadvise-to-get-RTLD_GLOBAL.patch
new file mode 100644 (file)
index 0000000..20a9be1
--- /dev/null
@@ -0,0 +1,57 @@
+From b0b00385bf7564fa39f711f958b90512559f7f70 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 14:45:27 -0800
+Subject: [PATCH 11/20] openldap switch to t_dlopenadvise to get RTLD_GLOBAL
+ set
+
+From-stx-1901: openldap-switch-to-t_dlopenadvise-to-get-RTLD_GLOBAL-set.patch
+
+From: Jan-Marek Glogowski <jan-marek.glogowski@muenchen.de>
+Date: Tue, 18 May 2010 17:47:05 +0200
+Subject: [PATCH] Switch to lt_dlopenadvise() to get RTLD_GLOBAL set.
+
+Proof of concept for fixing http://bugs.debian.org/327585
+(patch ported from freeradius bug http://bugs.debian.org/416266)
+
+Resolves: #960048
+---
+ servers/slapd/module.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/servers/slapd/module.c b/servers/slapd/module.c
+index 2a8aa0a..994b885 100644
+--- a/servers/slapd/module.c
++++ b/servers/slapd/module.c
+@@ -117,6 +117,20 @@ int module_unload( const char *file_name )
+       return -1;      /* not found */
+ }
++static lt_dlhandle slapd_lt_dlopenext_global( const char *filename )
++{
++      lt_dlhandle handle = 0;
++      lt_dladvise advise;
++
++      if (!lt_dladvise_init (&advise) && !lt_dladvise_ext (&advise)
++                      && !lt_dladvise_global (&advise))
++              handle = lt_dlopenadvise (filename, advise);
++
++      lt_dladvise_destroy (&advise);
++
++      return handle;
++}
++
+ int module_load(const char* file_name, int argc, char *argv[])
+ {
+       module_loaded_t *module;
+@@ -180,7 +194,7 @@ int module_load(const char* file_name, int argc, char *argv[])
+        * to calling Debug. This is because Debug is a macro that expands
+        * into multiple function calls.
+        */
+-      if ((module->lib = lt_dlopenext(file)) == NULL) {
++      if ((module->lib = slapd_lt_dlopenext_global(file)) == NULL) {
+               error = lt_dlerror();
+ #ifdef HAVE_EBCDIC
+               strcpy( ebuf, error );
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0012-openldap-ldapi-sasl.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0012-openldap-ldapi-sasl.patch
new file mode 100644 (file)
index 0000000..db753aa
--- /dev/null
@@ -0,0 +1,55 @@
+From b2623b57b79becf707ff1800bfb5153af3f0d1fc Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Wed, 4 Dec 2019 07:58:45 -0800
+Subject: [PATCH 12/12] openldap ldapi sasl
+
+From stx 1901: openldap-ldapi-sasl.patch
+---
+ libraries/libldap/cyrus.c | 19 ++++++++++++++++---
+ 1 file changed, 16 insertions(+), 3 deletions(-)
+
+diff --git a/libraries/libldap/cyrus.c b/libraries/libldap/cyrus.c
+index 8a496f990..06a9fdf41 100644
+--- a/libraries/libldap/cyrus.c
++++ b/libraries/libldap/cyrus.c
+@@ -385,6 +385,8 @@ ldap_int_sasl_bind(
+       struct berval   ccred = BER_BVNULL;
+       int saslrc, rc;
+       unsigned credlen;
++      char my_hostname[HOST_NAME_MAX + 1];
++      int free_saslhost = 0;
+       Debug( LDAP_DEBUG_TRACE, "ldap_int_sasl_bind: %s\n",
+               mechs ? mechs : "<null>", 0, 0 );
+@@ -445,14 +447,25 @@ ldap_int_sasl_bind(
+                       /* If we don't need to canonicalize just use the host
+                        * from the LDAP URI.
++                       * Always use the result of gethostname() for LDAPI.
+                        */
+-                      if ( nocanon )
++                      if (ld->ld_defconn->lconn_server->lud_scheme != NULL &&
++                          strcmp("ldapi", ld->ld_defconn->lconn_server->lud_scheme) == 0) {
++                              rc = gethostname(my_hostname, HOST_NAME_MAX + 1);
++                              if (rc == 0) {
++                                      saslhost = my_hostname;
++                              } else {
++                                      saslhost = "localhost";
++                              }
++                      } else if ( nocanon )
+                               saslhost = ld->ld_defconn->lconn_server->lud_host;
+-                      else 
++                      else {
+                               saslhost = ldap_host_connected_to( ld->ld_defconn->lconn_sb,
+                               "localhost" );
++                              free_saslhost = 1;
++                      }
+                       rc = ldap_int_sasl_open( ld, ld->ld_defconn, saslhost );
+-                      if ( !nocanon )
++                      if ( free_saslhost )
+                               LDAP_FREE( saslhost );
+               }
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0013-openldap-missing-unlock-in-accesslog-overlay.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0013-openldap-missing-unlock-in-accesslog-overlay.patch
new file mode 100644 (file)
index 0000000..e2b401f
--- /dev/null
@@ -0,0 +1,38 @@
+From 7cc8c2c22dc6a5999554e64b25f162b3673cd922 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 14:48:29 -0800
+Subject: [PATCH 13/20] openldap missing unlock in accesslog overlay
+
+From stx 1901: openldap-missing-unlock-in-accesslog-overlay.patch
+A mutex lock might not get unlocked when plausible
+
+In the preceding if-statement a mutex may get locked. This is unlocked on
+'done' label, but not called when plausible. Based on the current code logic
+this seems to not be able to happen, but might when code gets changed at
+some point in time. This patch fixes the issue.
+
+The issue was found by Coverity scan
+http://cov01.lab.eng.brq.redhat.com/covscanhub/waiving/11054/38577/
+
+Author: Matus Honek <mhonek@redhat.com>
+Resolves: #1261003
+---
+ servers/slapd/overlays/accesslog.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/servers/slapd/overlays/accesslog.c b/servers/slapd/overlays/accesslog.c
+index 6162b57..f6d7fc1 100644
+--- a/servers/slapd/overlays/accesslog.c
++++ b/servers/slapd/overlays/accesslog.c
+@@ -1517,7 +1517,7 @@ static int accesslog_response(Operation *op, SlapReply *rs) {
+       /* ignore these internal reads */
+       if (( lo->mask & LOG_OP_READS ) && op->o_do_not_cache ) {
+-              return SLAP_CB_CONTINUE;
++              goto done;
+       }
+       if ( li->li_success && rs->sr_err != LDAP_SUCCESS )
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0014-openldap-module-passwd-sha2.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0014-openldap-module-passwd-sha2.patch
new file mode 100644 (file)
index 0000000..e11c8d8
--- /dev/null
@@ -0,0 +1,55 @@
+From 1281efe5b451e0fd030406bc68be9d1f9356adc5 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 14:55:58 -0800
+Subject: [PATCH 14/20] openldap module passwd sha2
+
+From Stx 1901: openldap-module-passwd-sha2.patch
+Include sha2 module
+
+Author: Matus Honek <mhonek@redhat.com>
+---
+ servers/slapd/overlays/Makefile.in | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/servers/slapd/overlays/Makefile.in b/servers/slapd/overlays/Makefile.in
+index d940560..0b3eeb7 100644
+--- a/servers/slapd/overlays/Makefile.in
++++ b/servers/slapd/overlays/Makefile.in
+@@ -35,7 +35,8 @@ SRCS = overlays.c \
+       unique.c \
+       valsort.c \
+       smbk5pwd.c \
+-      allop.c
++      allop.c \
++      sha2.c slapd-sha2.c
+ OBJS = statover.o \
+       @SLAPD_STATIC_OVERLAYS@ \
+       overlays.o
+@@ -55,7 +56,7 @@ NT_LINK_LIBS = -L.. -lslapd $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+ UNIX_LINK_LIBS = $(@BUILD_LIBS_DYNAMIC@_LDAP_LIBS)
+ LIBRARY = ../liboverlays.a
+-PROGRAMS = @SLAPD_DYNAMIC_OVERLAYS@ smbk5pwd.la allop.la
++PROGRAMS = @SLAPD_DYNAMIC_OVERLAYS@ smbk5pwd.la allop.la pw-sha2.la
+ XINCPATH = -I.. -I$(srcdir)/..
+ XDEFS = $(MODULES_CPPFLAGS)
+@@ -139,6 +140,15 @@ allop.lo : allop.c
+ allop.la : allop.lo
+       $(LTLINK_MOD) -module -o $@ allop.lo version.lo $(LINK_LIBS) $(shell pkg-config openssl --libs)
++sha2.lo : sha2.c
++      $(LTCOMPILE_MOD) $<
++
++slapd-sha2.lo : slapd-sha2.c
++      $(LTCOMPILE_MOD) $<
++
++pw-sha2.la : sha2.lo slapd-sha2.lo
++      $(LTLINK_MOD) -module -o $@ $? version.lo $(LINK_LIBS)
++
+ install-local:        $(PROGRAMS)
+       @if test -n "$?" ; then \
+               $(MKDIR) $(DESTDIR)$(moduledir); \
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0015-openldap-man-tls-reqcert.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0015-openldap-man-tls-reqcert.patch
new file mode 100644 (file)
index 0000000..430cd27
--- /dev/null
@@ -0,0 +1,55 @@
+From 26c18423ab3b7e9100ea915b175c40ed7345df74 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Wed, 4 Dec 2019 08:03:25 -0800
+Subject: [PATCH] openldap man tls reqcert
+
+From stx 1901: openldap-man-tls-reqcert.patch
+From f7027b3118ea90d616d0ddeeb348f15ba91cd08b
+---
+ doc/man/man5/ldap.conf.5 | 18 ++++++++----------
+ 1 file changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/doc/man/man5/ldap.conf.5 b/doc/man/man5/ldap.conf.5
+index 49f1830a0..313b9c275 100644
+--- a/doc/man/man5/ldap.conf.5
++++ b/doc/man/man5/ldap.conf.5
+@@ -433,8 +433,8 @@ The environment variable RANDFILE can also be used to specify the filename.
+ This parameter is ignored with GnuTLS and Mozilla NSS.
+ .TP
+ .B TLS_REQCERT <level>
+-Specifies what checks to perform on server certificates in a TLS session,
+-if any. The
++Specifies what checks to perform on server certificates in a TLS session.
++The
+ .B <level>
+ can be specified as one of the following keywords:
+ .RS
+@@ -443,19 +443,17 @@ can be specified as one of the following keywords:
+ The client will not request or check any server certificate.
+ .TP
+ .B allow
+-The server certificate is requested. If no certificate is provided,
+-the session proceeds normally. If a bad certificate is provided, it will
++The server certificate is requested.  If a bad certificate is provided, it will
+ be ignored and the session proceeds normally.
+ .TP
+ .B try
+-The server certificate is requested. If no certificate is provided,
+-the session proceeds normally. If a bad certificate is provided,
+-the session is immediately terminated.
++The server certificate is requested. If a bad certificate is provided, the
++session is immediately terminated.
+ .TP
+ .B demand | hard
+-These keywords are equivalent. The server certificate is requested. If no
+-certificate is provided, or a bad certificate is provided, the session
+-is immediately terminated. This is the default setting.
++These keywords are equivalent and semantically same as
++.BR try .
++This is the default setting.
+ .RE
+ .TP
+ .B TLS_CRLCHECK <level>
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0016-openldap-man-ldap-conf.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0016-openldap-man-ldap-conf.patch
new file mode 100644 (file)
index 0000000..a2e8aa7
--- /dev/null
@@ -0,0 +1,40 @@
+From 8196f53139c4d7e6c1cb8508d1a421299f7eaa61 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 15:14:39 -0800
+Subject: [PATCH 16/20] openldap man ldap conf
+
+From Stx 1901: openldap-man-ldap-conf.patch
+
+This patch makes clear what is the actual behavior in RHEL due to bug #38402.
+
+Author: Matus Honek <mhonek@redhat.com>
+Resolves: #1498841
+---
+ doc/man/man5/ldap.conf.5 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/doc/man/man5/ldap.conf.5 b/doc/man/man5/ldap.conf.5
+index 313b9c2..904bf24 100644
+--- a/doc/man/man5/ldap.conf.5
++++ b/doc/man/man5/ldap.conf.5
+@@ -25,7 +25,7 @@ in their home directory which will be used to override the system-wide
+ defaults file.
+ The file
+ .I ldaprc
+-in the current working directory is also used.
++in the current working directory is \fBNOT\fP used (this differs from upstream).
+ .LP
+ .LP
+ Additional configuration files can be specified using
+@@ -50,7 +50,7 @@ Thus the following files and variables are read, in order:
+ .nf
+     variable     $LDAPNOINIT, and if that is not set:
+     system file  ETCDIR/ldap.conf,
+-    user files   $HOME/ldaprc,  $HOME/.ldaprc,  ./ldaprc,
++    user files   $HOME/ldaprc,  $HOME/.ldaprc,  (\fBNOT\fP ./ldaprc, see above),
+     system file  $LDAPCONF,
+     user files   $HOME/$LDAPRC, $HOME/.$LDAPRC, ./$LDAPRC,
+     variables    $LDAP<uppercase option name>.
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0017-openldap-bdb_idl_fetch_key-correct-key-pointer.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0017-openldap-bdb_idl_fetch_key-correct-key-pointer.patch
new file mode 100644 (file)
index 0000000..277816b
--- /dev/null
@@ -0,0 +1,31 @@
+From 4e495a37939a605577c72ed43e1f5a3ab3780611 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 15:16:35 -0800
+Subject: [PATCH 17/20] openldap bdb_idl_fetch_key correct key pointer
+
+From Stx 1901: openldap-bdb_idl_fetch_key-correct-key-pointer.patch
+
+Correct key pointer usage in bdb_idl_fetch_key.
+
+Author: Shogo Matsumoto
+Resolves: #1356165
+---
+ servers/slapd/back-bdb/idl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/servers/slapd/back-bdb/idl.c b/servers/slapd/back-bdb/idl.c
+index 3e0d7a6..7dae9ff 100644
+--- a/servers/slapd/back-bdb/idl.c
++++ b/servers/slapd/back-bdb/idl.c
+@@ -626,7 +626,7 @@ bdb_idl_fetch_key(
+                                       BDB_DISK2ID( j, i );
+                               }
+                       }
+-                      rc = cursor->c_get( cursor, key, &data, flags | DB_NEXT_DUP );
++                      rc = cursor->c_get( cursor, kptr, &data, flags | DB_NEXT_DUP );
+               }
+               if ( rc == DB_NOTFOUND ) rc = 0;
+               ids[0] = i - ids;
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0018-openldap-tlsmc.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0018-openldap-tlsmc.patch
new file mode 100644 (file)
index 0000000..683e770
--- /dev/null
@@ -0,0 +1,1858 @@
+From 35b08487213749c6da625a446f605b6e7f74d07f Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Sun, 3 Nov 2019 15:24:11 -0800
+Subject: [PATCH 18/20] openldap tlsmc
+
+From Stx 1901: openldap-tlsmc.patch
+---
+ configure.in                    |   21 +
+ doc/man/man3/ldap_get_option.3  |   13 +
+ doc/man/man5/ldap.conf.5        |    5 +
+ doc/man/man5/slapd-config.5     |    5 +
+ doc/man/man5/slapd.conf.5       |    5 +
+ include/ldap.h                  |    4 +
+ libraries/libldap/Makefile.in   |    4 +-
+ libraries/libldap/init.c        |    7 +-
+ libraries/libldap/ldap-int.h    |    3 +-
+ libraries/libldap/tls2.c        |   47 ++
+ libraries/libldap/tls_mc.c      | 1369 +++++++++++++++++++++++++++++++
+ libraries/libldap/tls_mc.h      |   18 +
+ libraries/libldap/tls_mc_ossl.c |   95 +++
+ libraries/libldap/tls_mc_ossl.h |   12 +
+ libraries/libldap_r/Makefile.in |    4 +-
+ 15 files changed, 1606 insertions(+), 6 deletions(-)
+ create mode 100644 libraries/libldap/tls_mc.c
+ create mode 100644 libraries/libldap/tls_mc.h
+ create mode 100644 libraries/libldap/tls_mc_ossl.c
+ create mode 100644 libraries/libldap/tls_mc_ossl.h
+
+diff --git a/configure.in b/configure.in
+index caa49a1..949a1b2 100644
+--- a/configure.in
++++ b/configure.in
+@@ -237,6 +237,7 @@ dnl OL_ARG_ENABLE(referrals,[  --enable-referrals    enable LDAPv2+ Referrals (ex
+ ol_enable_referrals=${ol_enable_referrals-no}
+ OL_ARG_ENABLE(ipv6,[  --enable-ipv6     enable IPv6 support], auto)dnl
+ OL_ARG_ENABLE(local,[  --enable-local   enable AF_LOCAL (AF_UNIX) socket support], auto)dnl
++OL_ARG_ENABLE(moznss_compatibility,[  --enable-moznss-compatibility     enable MozNSS compatibility], no)dnl
+ dnl ----------------------------------------------------------------
+ dnl General "with" options
+@@ -1256,6 +1257,26 @@ if test $ol_link_tls = no ; then
+       fi
+ fi
++if test $ol_enable_moznss_compatibility = yes ; then
++      if test $have_openssl = yes ; then
++              if test $ol_with_tls = openssl ; then
++                      PKG_CHECK_MODULES(MOZNSS, [nss nspr], [have_moznss_libs=yes], [have_moznss_libs=no])
++                      if test $have_moznss_libs = yes ; then
++                              AC_DEFINE(HAVE_MOZNSS_COMPATIBILITY, 1,
++                                      [define if you want to support MozNSS databases when compiled with OpenSSL])
++                              TLS_LIBS="$TLS_LIBS $MOZNSS_LIBS"
++                              CFLAGS="$CFLAGS $MOZNSS_CFLAGS"
++                      else
++                              AC_MSG_ERROR([For MOZNSS_COMPATIBILITY you have to have MozNSS present.])
++                      fi
++              else
++                      AC_MSG_ERROR([For MOZNSS_COMPATIBILITY you have to compile with OpenSSL for crypto. (see --with-tls flag)])
++              fi
++      else
++              AC_MSG_ERROR([For MOZNSS_COMPATIBILITY you have to have OpenSSL devel available. (unable to build with OpenSSL)])
++      fi
++fi
++
+ WITH_TLS=no
+ if test $ol_link_tls = yes ; then
+       AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
+diff --git a/doc/man/man3/ldap_get_option.3 b/doc/man/man3/ldap_get_option.3
+index af5ede1..e4cf843 100644
+--- a/doc/man/man3/ldap_get_option.3
++++ b/doc/man/man3/ldap_get_option.3
+@@ -772,6 +772,19 @@ must be
+ When using the OpenSSL library this is an SSL*. When using other
+ crypto libraries this is a pointer to an OpenLDAP private structure.
+ Applications generally should not use this option.
++.TP
++.B LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY
++Sets/gets the status of the MozNSS database compatibility layer for TLS options. This options is available only if OpenLDAP is compiled with OpenSSL. This has effect only before the TLS context is established.
++This option defaults to be on.
++.BR invalue
++should either be
++.BR LDAP_OPT_OFF
++or
++.BR LDAP_OPT_ON ;
++.BR outvalue
++must be
++.BR "int *" .
++When set, just before TLS context initialization the library will first check if TLS settings are MozNSS-specific and if so it will export certificates from a preconfigured database and set other TLS settings so that OpenSSL can continue without issues.
+ .SH ERRORS
+ On success, the functions return
+ .BR LDAP_OPT_SUCCESS ,
+diff --git a/doc/man/man5/ldap.conf.5 b/doc/man/man5/ldap.conf.5
+index 904bf24..24c0155 100644
+--- a/doc/man/man5/ldap.conf.5
++++ b/doc/man/man5/ldap.conf.5
+@@ -480,6 +480,11 @@ Check the CRL for a whole certificate chain
+ Specifies the file containing a Certificate Revocation List to be used
+ to verify if the server certificates have not been revoked. This
+ parameter is only supported with GnuTLS and Mozilla NSS.
++.RE
++.TP
++.B TLS_MOZNSS_COMPATIBILITY <on/true/yes/off/false/no>
++Specifies whether the MozNSS database compatibility layer for TLS options should be enabled. This options is available only if OpenLDAP is compiled with OpenSSL.
++This option defaults to be on.
+ .SH "ENVIRONMENT VARIABLES"
+ .TP
+ LDAPNOINIT
+diff --git a/doc/man/man5/slapd-config.5 b/doc/man/man5/slapd-config.5
+index 9c72e82..42032d4 100644
+--- a/doc/man/man5/slapd-config.5
++++ b/doc/man/man5/slapd-config.5
+@@ -1004,6 +1004,11 @@ Check the CRL for a whole certificate chain
+ Specifies a file containing a Certificate Revocation List to be used
+ for verifying that certificates have not been revoked. This parameter
+ is only valid when using GnuTLS or Mozilla NSS.
++.RE
++.TP
++.B olcTLSMozNSSCompatibility <on/true/yes/off/false/no>
++Specifies whether the MozNSS database compatibility layer for TLS options should be enabled. This options is available only if OpenLDAP is compiled with OpenSSL.
++This option defaults to be on.
+ .SH DYNAMIC MODULE OPTIONS
+ If
+ .B slapd
+diff --git a/doc/man/man5/slapd.conf.5 b/doc/man/man5/slapd.conf.5
+index f504adc..2d4431f 100644
+--- a/doc/man/man5/slapd.conf.5
++++ b/doc/man/man5/slapd.conf.5
+@@ -1235,6 +1235,11 @@ Check the CRL for a whole certificate chain
+ Specifies a file containing a Certificate Revocation List to be used
+ for verifying that certificates have not been revoked. This directive is
+ only valid when using GnuTLS and Mozilla NSS.
++.RE
++.TP
++.B TLSMozNSSCompatibility <on/true/yes/off/false/no>
++Specifies whether the MozNSS database compatibility layer for TLS options should be enabled. This options is available only if OpenLDAP is compiled with OpenSSL.
++This option defaults to be on.
+ .SH GENERAL BACKEND OPTIONS
+ Options in this section only apply to the configuration file section
+ for the specified backend.  They are supported by every
+diff --git a/include/ldap.h b/include/ldap.h
+index c245651..7bc0644 100644
+--- a/include/ldap.h
++++ b/include/ldap.h
+@@ -158,6 +158,10 @@ LDAP_BEGIN_DECL
+ #define LDAP_OPT_X_TLS_NEWCTX         0x600f
+ #define LDAP_OPT_X_TLS_CRLFILE                0x6010  /* GNUtls only */
+ #define LDAP_OPT_X_TLS_PACKAGE                0x6011
++#define LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY  0x6050
++
++#define LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY_DISABLED  0
++#define LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY_ENABLED   1
+ #define LDAP_OPT_X_TLS_NEVER  0
+ #define LDAP_OPT_X_TLS_HARD           1
+diff --git a/libraries/libldap/Makefile.in b/libraries/libldap/Makefile.in
+index 58d9cc7..80b81f0 100644
+--- a/libraries/libldap/Makefile.in
++++ b/libraries/libldap/Makefile.in
+@@ -26,7 +26,7 @@ SRCS = bind.c open.c result.c error.c compare.c search.c \
+       request.c os-ip.c url.c pagectrl.c sortctrl.c vlvctrl.c \
+       init.c options.c print.c string.c util-int.c schema.c \
+       charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \
+-      tls2.c tls_o.c tls_g.c tls_m.c \
++      tls2.c tls_o.c tls_g.c tls_m.c tls_mc.c tls_mc_ossl.c \
+       turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \
+       assertion.c deref.c ldif.c fetch.c
+@@ -39,7 +39,7 @@ OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \
+       request.lo os-ip.lo url.lo pagectrl.lo sortctrl.lo vlvctrl.lo \
+       init.lo options.lo print.lo string.lo util-int.lo schema.lo \
+       charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \
+-      tls2.lo tls_o.lo tls_g.lo tls_m.lo \
++      tls2.lo tls_o.lo tls_g.lo tls_m.lo tls_mc.lo tls_mc_ossl.lo \
+       turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \
+       assertion.lo deref.lo ldif.lo fetch.lo
+diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c
+index de16b60..d016bdc 100644
+--- a/libraries/libldap/init.c
++++ b/libraries/libldap/init.c
+@@ -137,7 +137,9 @@ static const struct ol_attribute {
+ #ifdef HAVE_GNUTLS
+       {0, ATTR_TLS,   "TLS_CRLFILE",                  NULL,   LDAP_OPT_X_TLS_CRLFILE},
+ #endif
+-        
++#ifdef HAVE_MOZNSS_COMPATIBILITY
++      {0, ATTR_TLS,   "TLS_MOZNSS_COMPATIBILITY",     NULL,   LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY},
++#endif
+ #endif
+       {0, ATTR_NONE,          NULL,           NULL,   0}
+@@ -579,6 +581,9 @@ void ldap_int_initialize_global_options( struct ldapoptions *gopts, int *dbglvl
+       gopts->ldo_tls_connect_cb = NULL;
+       gopts->ldo_tls_connect_arg = NULL;
+       gopts->ldo_tls_require_cert = LDAP_OPT_X_TLS_DEMAND;
++#ifdef HAVE_MOZNSS_COMPATIBILITY
++      gopts->ldo_tls_moznss_compatibility = LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY_ENABLED;
++#endif
+ #endif
+       gopts->ldo_keepalive_probes = 0;
+       gopts->ldo_keepalive_interval = 0;
+diff --git a/libraries/libldap/ldap-int.h b/libraries/libldap/ldap-int.h
+index 66e04ae..15092c1 100644
+--- a/libraries/libldap/ldap-int.h
++++ b/libraries/libldap/ldap-int.h
+@@ -260,7 +260,8 @@ struct ldapoptions {
+       int                     ldo_tls_require_cert;
+       int                     ldo_tls_impl;
+       int                     ldo_tls_crlcheck;
+-#define LDAP_LDO_TLS_NULLARG ,0,0,0,{0,0,0,0,0,0,0,0,0},0,0,0,0
++      int                     ldo_tls_moznss_compatibility;
++#define LDAP_LDO_TLS_NULLARG ,0,0,0,{0,0,0,0,0,0,0,0,0},0,0,0,0,0
+ #else
+ #define LDAP_LDO_TLS_NULLARG
+ #endif
+diff --git a/libraries/libldap/tls2.c b/libraries/libldap/tls2.c
+index 46ccefa..198d0b1 100644
+--- a/libraries/libldap/tls2.c
++++ b/libraries/libldap/tls2.c
+@@ -37,6 +37,8 @@
+ #include "ldap-tls.h"
++#include "tls_mc.h"
++
+ static tls_impl *tls_imp = &ldap_int_tls_impl;
+ #define HAS_TLS( sb ) ber_sockbuf_ctrl( sb, LBER_SB_OPT_HAS_IO, \
+                               (void *)tls_imp->ti_sbio )
+@@ -96,6 +98,7 @@ tls_ctx_ref( tls_ctx *ctx )
+  * an extra mutex for the default ctx.
+  */
+ static ldap_pvt_thread_mutex_t tls_def_ctx_mutex;
++ldap_pvt_thread_mutex_t tlsmc_mutex;
+ #endif
+ void
+@@ -161,6 +164,7 @@ tls_init(tls_impl *impl )
+       if ( !tls_initialized++ ) {
+ #ifdef LDAP_R_COMPILE
+               ldap_pvt_thread_mutex_init( &tls_def_ctx_mutex );
++              ldap_pvt_thread_mutex_init( &tlsmc_mutex );
+ #endif
+       }
+@@ -196,6 +200,27 @@ ldap_int_tls_init_ctx( struct ldapoptions *lo, int is_server )
+       tls_init( ti );
++#ifdef HAVE_MOZNSS_COMPATIBILITY
++      if ( LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY_ENABLED == lo->ldo_tls_moznss_compatibility ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "TLSMC: MozNSS compatibility interception begins.\n",
++                     0, 0, 0 );
++              if ( 0 == tlsmc_intercept_initialization( lo, is_server ) ) {
++                      Debug( LDAP_DEBUG_TRACE,
++                             "TLSMC: ERROR: MozNSS compatibility layer failed.\n",
++                             0, 0, 0 );
++              }
++              lts = lo->ldo_tls_info;
++              Debug( LDAP_DEBUG_ANY,
++                     "TLSMC: MozNSS compatibility interception ends.\n",
++                     0, 0, 0 );
++      } else {
++              Debug( LDAP_DEBUG_TRACE,
++                     "TLS: MozNSS compatibility layer disabled.\n",
++                     0, 0, 0 );
++      }
++#endif
++
+       if ( is_server && !lts.lt_certfile && !lts.lt_keyfile &&
+               !lts.lt_cacertfile && !lts.lt_cacertdir ) {
+               /* minimum configuration not provided */
+@@ -584,6 +609,21 @@ ldap_int_tls_config( LDAP *ld, int option, const char *arg )
+                       return ldap_pvt_tls_set_option( ld, option, &i );
+               }
+               return -1;
++#endif
++#ifdef HAVE_MOZNSS_COMPATIBILITY
++      case LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY:
++              i = -1;
++              if ( (strcasecmp( arg, "yes" ) == 0) ||
++                   (strcasecmp( arg, "true" ) == 0) ||
++                   (strcasecmp( arg, "on" ) == 0) ) {
++                      i = LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY_ENABLED;
++              }
++              if ( (strcasecmp( arg, "no" ) == 0) ||
++                   (strcasecmp( arg, "false" ) == 0) ||
++                   (strcasecmp( arg, "off" ) == 0)  ) {
++                      i = LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY_DISABLED;
++              }
++              return ldap_pvt_tls_set_option( ld, option, &i );
+ #endif
+       }
+       return -1;
+@@ -687,6 +727,9 @@ ldap_pvt_tls_get_option( LDAP *ld, int option, void *arg )
+       case LDAP_OPT_X_TLS_CONNECT_ARG:
+               *(void **)arg = lo->ldo_tls_connect_arg;
+               break;
++      case LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY:
++              *(int *)arg = lo->ldo_tls_moznss_compatibility;
++              break;
+       default:
+               return -1;
+       }
+@@ -814,6 +857,10 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg )
+                       ldap_pvt_tls_ctx_free( lo->ldo_tls_ctx );
+               lo->ldo_tls_ctx = NULL;
+               return ldap_int_tls_init_ctx( lo, *(int *)arg );
++      case LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY:
++              if ( !arg ) return -1;
++              lo->ldo_tls_moznss_compatibility = *(int *)arg;
++              break;
+       default:
+               return -1;
+       }
+diff --git a/libraries/libldap/tls_mc.c b/libraries/libldap/tls_mc.c
+new file mode 100644
+index 0000000..7ba2a07
+--- /dev/null
++++ b/libraries/libldap/tls_mc.c
+@@ -0,0 +1,1369 @@
++#include "portable.h"
++
++#ifdef HAVE_MOZNSS_COMPATIBILITY
++
++#include <sys/stat.h>
++#include <sys/types.h>
++#include <ac/unistd.h>
++#include <ac/errno.h>
++#include <ac/termios.h>
++#include <fcntl.h>
++#include <dirent.h>
++
++#include <nspr/nspr.h>
++#include <nspr/private/pprio.h>
++
++#include <nss/nss.h>
++#include <nss/pk11pub.h>
++#include <nss/cert.h>
++
++#include <nss/base64.h>
++#include <nss/key.h>
++#include <nss/keyt.h>
++#include <nss/blapi.h>
++#include <nss/certdb.h>
++
++#include "ldap-int.h"
++#include "ldap-tls.h"
++#include "ldap_pvt_thread.h"
++
++#include "tls_mc.h"
++#include "tls_mc_ossl.h"
++
++#define TLSMC_CHECKSUM_LEN 32
++
++#define TLSMC_CACERTS_DIR_NAME "cacerts"
++#define TLSMC_CERT_FILE_NAME "cert.pem"
++#define TLSMC_KEY_FILE_NAME "key.pem"
++#define TLSMC_README_FILE_NAME "README"
++
++#define TLSM_CERTDB_DESC "ldap"
++#define DEFAULT_TOKEN_NAME "default"
++
++#define TLSMC_IS_INPLACE 1
++#define TLSMC_IS_TEMPORARY 2
++
++#define DONOTEDIT \
++      "This file is auto-generated by the MozNSS Compatibility Layer of OpenLDAP software.\n" \
++      "This layer is not part of the OpenLDAP software distributed in upstream.\n" \
++      "Please file any related bugs with your GNU/Linux distribution.\n" \
++      "Do not edit contents of this directory structure directly. Rather, change your configuration to use the OpenSSL-style TLS options, so that this directory structure does not need to be generated anymore.\n" \
++      "Please refer to the slapd.conf(5), slapd-config(5), and ldap.conf(5) man pages for more information."
++#define PEM_CERT_HEADER "-----BEGIN CERTIFICATE-----"
++#define PEM_CERT_FOOTER "-----END CERTIFICATE-----"
++#define PEM_KEY_HEADER  "-----BEGIN PRIVATE KEY-----"
++#define PEM_KEY_FOOTER "-----END PRIVATE KEY-----"
++#define README_HEADER "The contents of this file are hashed and used as part of the name of the parent directory.\n"
++
++#ifdef LDAP_R_COMPILE
++ldap_pvt_thread_mutex_t tlsmc_mutex;
++#endif
++/*******************************************************************/
++
++
++char *
++tlsmc_path2name( char *path )
++{
++    if ( NULL == path ) return NULL;
++    char *last_slash = strrchr( path, '/' );
++    if ( NULL == last_slash )
++        return path;
++    else
++        return last_slash + 1;
++}
++
++
++int
++tlsmc_write_file( char *filename, char *buf, mode_t final_mode )
++{
++      int rv = 0;
++      int fd = -1;
++      if ( 0 > ( fd = open( filename, O_WRONLY | O_CREAT | O_EXCL, S_IWUSR ) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_write_file: ERROR: could not open file: `%s': %s.\n",
++                     filename, strerror(errno), 0 );
++              goto bail;
++      }
++      if ( -1 >= write( fd, buf, strlen(buf) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_write_file: ERROR: could not write file: `%s': %s.\n",
++                     filename, strerror(errno), 0 );
++              goto bail;
++      }
++      if ( -1 >= fchmod( fd, final_mode ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_write_file: ERROR: could not set file mode: `%s': %s.\n",
++                     filename, strerror(errno), 0 );
++              goto bail;
++      }
++      if ( -1 >= fsync( fd ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_write_file: ERROR: could not fsync file: `%s': %s.\n",
++                     filename, strerror(errno), 0 );
++              goto bail;
++      }
++      if ( 0 > close( fd ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_write_file: ERROR: could not close file: `%s': %s.\n",
++                     filename, strerror(errno), 0 );
++              fd = -1;
++              goto bail;
++      }
++      fd = -1;
++      rv = 1;
++bail:
++      if ( fd > -1 ) close( fd );
++      return rv;
++}
++
++
++static int
++tlsmc_remove_dir_recursively( const char *dir_name )
++{
++      int rv = 0;
++      DIR *dir = NULL;
++      struct dirent *entry = NULL;
++      char *full_path = NULL;
++
++      Debug( LDAP_DEBUG_TRACE,
++             "tlsmc_remove_dir_recursively: INFO: starting recursively removing directory `%s'.\n",
++             dir_name, 0, 0 );
++      if ( NULL == ( dir = opendir( dir_name ) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_remove_dir_recursively: ERROR: could not open the directory (errno %d: %s).\n",
++                     errno, strerror( errno ), 0 );
++              goto bail;
++      }
++
++      while ( NULL != ( entry = readdir( dir ) ) ) {
++              struct stat info;
++
++              full_path = NULL;
++              full_path = PR_smprintf( "%s/%s", dir_name, entry->d_name );
++
++              if ( 0 != strcmp( entry->d_name, "." ) && 0 != strcmp( entry->d_name, ".." ) ) {
++                      if ( 0 == lstat( full_path, &info ) ) {
++                              if ( S_ISDIR( info.st_mode ) ) {
++                                      Debug( LDAP_DEBUG_TRACE,
++                                             "tlsmc_remove_dir_recursively: INFO: stepping into directory `%s'.\n",
++                                             entry->d_name, 0, 0 );
++                                      if ( 0 == tlsmc_remove_dir_recursively( full_path ) ) {
++                                              goto bail_and_close_dir;
++                                      }
++                              } else {
++                                      Debug( LDAP_DEBUG_TRACE,
++                                             "tlsmc_remove_dir_recursively: INFO: removing file `%s'.\n",
++                                             entry->d_name, 0, 0 );
++                                      if ( 0 != remove( full_path ) ) {
++                                              Debug( LDAP_DEBUG_ANY,
++                                                     "tlsmc_remove_dir_recursively: ERROR: could not remove the file (errno %d: %s).\n",
++                                                     errno, strerror( errno ), 0 );
++                                              goto bail_and_close_dir;
++                                      }
++                              }
++                      } else {
++                              Debug( LDAP_DEBUG_ANY,
++                                     "tlsmc_remove_dir_recursively: ERROR: could not stat `%s', (errno %d: %s).\n",
++                                     full_path, errno, strerror( errno ) );
++                              goto bail_and_close_dir;
++                      }
++              }
++
++              if ( full_path ) {
++                      PR_smprintf_free( full_path );
++                      full_path = NULL;
++              }
++
++      }
++      Debug( LDAP_DEBUG_TRACE,
++             "tlsmc_remove_dir_recursively: INFO: stepping out of the directory.\n",
++             0, 0, 0 );
++      if ( 0 != closedir( dir ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_remove_dir_recursively: WARN: could not close the directory (errno %d: %s).\n",
++                     errno, strerror( errno ), 0 );
++              goto bail;
++      }
++
++      Debug( LDAP_DEBUG_TRACE,
++             "tlsmc_remove_dir_recursively: INFO: removing the directory itself.\n",
++             0, 0, 0 );
++      if ( 0 != remove( dir_name ) ) {
++              PRErrorCode errcode = PR_GetError();
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_remove_dir_recursively: ERROR: could not remove the directory (errno %d: %s).\n",
++                     errno, strerror( errno ), 0 );
++              goto bail;
++      }
++
++      rv = 1;
++      goto bail;
++bail_and_close_dir:
++      closedir( dir );
++bail:
++      if ( full_path ) PR_smprintf_free( full_path );
++      return rv;
++}
++
++
++/* BORROWED FROM tls_m.c */
++static void
++tlsmc_get_certdb_prefix( const char *certdir, char **nsscertdir, char **realcertdir, char **prefix )
++{
++      char sep = PR_GetDirectorySeparator();
++      char *ptr = NULL;
++      char *chkpath = NULL;
++      struct PRFileInfo prfi;
++      PRStatus prc;
++
++      *realcertdir = (char *)certdir; /* default is the one passed in */
++
++      /* if certdir is not given, just return */
++      if ( !certdir ) return;
++
++      *nsscertdir = certdir;
++
++      /* ignore database type prefix (e.g. sql:, dbm:) if provided */
++      if ( NULL != ( chkpath = strchr( certdir, ':' ) ) ) {
++              *realcertdir = chkpath + 1;
++      }
++
++      /* if certdir exists (file or directory) then it cannot specify a prefix */
++      prc = PR_GetFileInfo( *realcertdir, &prfi );
++      if ( prc == PR_SUCCESS ) {
++              goto finish;
++      }
++
++      /* if certdir was given, and there is a '/' in certdir, see if there
++         is anything after the last '/' - if so, assume it is the prefix */
++      /* if ( ( ( ptr = strrchr( *realcertdir, sep ) ) ) && *(ptr + 1) ) { */
++      /*      *realcertdir = PL_strndup( *realcertdir, ptr - (*realcertdir) ); */
++      /*      *prefix = PL_strdup( ptr + 1 ); */
++      /* } */
++
++
++      if ( ptr = strrchr( *realcertdir, sep ) ) {
++              if ( *(ptr + 1) ) {
++                      *ptr = '\0';
++                      *prefix = ptr + 1;
++              } else {
++                      *prefix = *realcertdir + strlen( *realcertdir );  // empty string
++              }
++      } else {
++              *prefix = *realcertdir;
++              *realcertdir = *prefix + strlen( *prefix );  //  empty string
++      }
++finish:
++      /* drop potential last '/' from realcertdir */
++      do {
++              ptr = strrchr( *realcertdir, sep );
++              if ( ptr && (! *(ptr+1) ) ) {
++                      *ptr = '\0';
++              } else {
++                      break;
++              }
++      } while (1);
++
++      return;
++}
++
++
++/* BORROWED FROM tls_m.c */
++static char *
++tlsmc_get_pin_from_file(const char *token_name, char *filename)
++{
++      char *pwdstr = NULL;
++      char *contents = NULL;
++      char *lasts = NULL;
++      char *line = NULL;
++      char *candidate = NULL;
++      PRFileInfo file_info;
++      PRFileDesc *pwd_fileptr = NULL;
++      pwd_fileptr = PR_Open( filename, PR_RDONLY, 00400 );
++
++      /* open the password file */
++      if ( !pwd_fileptr ) {
++              PRErrorCode errcode = PR_GetError();
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_get_pin_from_file: could not open security pin file %s - error %d:%s.\n",
++                     filename, errcode,
++                     PR_ErrorToString( errcode, PR_LANGUAGE_I_DEFAULT ) );
++              goto done;
++      }
++
++      /* get the file size */
++      if ( PR_SUCCESS != PR_GetFileInfo( filename, &file_info ) ) {
++              PRErrorCode errcode = PR_GetError();
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_get_pin_from_file: could not get file info from pin file %s - error %d:%s.\n",
++                     filename, errcode,
++                     PR_ErrorToString( errcode, PR_LANGUAGE_I_DEFAULT ) );
++              goto done;
++      }
++
++      /* create a buffer to hold the file contents */
++      if ( !( contents = PR_CALLOC( file_info.size + 1 ) ) ) {
++              PRErrorCode errcode = PR_GetError();
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_get_pin_from_file: could not alloc a buffer for contents of pin file %s - error %d:%s.\n",
++                     filename, errcode, PR_ErrorToString( errcode, PR_LANGUAGE_I_DEFAULT ) );
++              goto done;
++      }
++
++      /* read file into the buffer */
++      if( PR_Read( pwd_fileptr, contents, file_info.size ) <= 0 ) {
++              PRErrorCode errcode = PR_GetError();
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_get_pin_from_file: could not read the file contents from pin file %s - error %d:%s.\n",
++                     filename, errcode, PR_ErrorToString( errcode, PR_LANGUAGE_I_DEFAULT ) );
++              goto done;
++      }
++
++      /* format is [tokenname:]password EOL [tokenname:]password EOL ... */
++      /* if you want to use a password containing a colon character, use
++         the special tokenname "default" */
++      for ( line = PL_strtok_r( contents, "\r\n", &lasts ); line;
++            line = PL_strtok_r( NULL, "\r\n", &lasts ) ) {
++              char *colon;
++
++              if ( !*line ) {
++                      continue; /* skip blank lines */
++              }
++              colon = PL_strchr( line, ':' );
++              if ( colon ) {
++                      if ( *(colon + 1) && token_name &&
++                           !PL_strncmp( token_name, line, colon-line ) ) {
++                              candidate = colon + 1; /* found a definite match */
++                              break;
++                      } else if ( !PL_strncmp( DEFAULT_TOKEN_NAME, line, colon-line ) ) {
++                              candidate = colon + 1; /* found possible match */
++                      }
++              } else { /* no token name */
++                      candidate = line;
++              }
++      }
++done:
++      if ( pwd_fileptr ) {
++              PR_Close( pwd_fileptr );
++      }
++      if ( candidate ) {
++              pwdstr = PL_strdup( candidate );
++      }
++      PL_strfree( contents );
++
++      return pwdstr;
++}
++
++
++/* BORROWED FROM tls_m.c */
++/*
++ * Turn the echoing off on a tty.
++ */
++static void
++echoOff(int fd)
++{
++      if ( isatty( fd ) ) {
++              struct termios tio;
++              tcgetattr( fd, &tio );
++              tio.c_lflag &= ~ECHO;
++              tcsetattr( fd, TCSAFLUSH, &tio );
++      }
++}
++
++/* BORROWED FROM tls_m.c */
++/*
++ * Turn the echoing on on a tty.
++ */
++static void
++echoOn(int fd)
++{
++      if ( isatty( fd ) ) {
++              struct termios tio;
++              tcgetattr( fd, &tio );
++              tio.c_lflag |= ECHO;
++              tcsetattr( fd, TCSAFLUSH, &tio );
++              tcsetattr( fd, TCSAFLUSH, &tio );
++      }
++}
++
++
++/* BORROWED FROM tls_m.c */
++char *
++tlsmc_get_pin( PK11SlotInfo *slot, PRBool retry, void * filename)
++{
++      char *token_name = NULL;
++      char *pwdstr = NULL;
++
++      token_name = PK11_GetTokenName( slot );
++      /* Try to get the passwords from the password file if it exists.
++       * THIS IS UNSAFE and is provided for convenience only. Without this
++       * capability the server would have to be started in foreground mode
++       * if using an encrypted key.
++       */
++      if ( filename ) {
++              fprintf( stderr,
++                       "tlsmc_get_pin: INFO: Please note the extracted key file will not be protected with a PIN any more, however it will be still protected at least by file permissions.\n");
++              pwdstr = tlsmc_get_pin_from_file( token_name, (char *)filename );
++              if ( retry && pwdstr != NULL )
++                      return NULL;
++      }
++      if ( !pwdstr ) {
++              int infd = PR_FileDesc2NativeHandle( PR_STDIN );
++              int isTTY = isatty( infd );
++              unsigned char phrase[200];
++              /* Prompt for password */
++              if ( isTTY ) {
++                      fprintf( stderr,
++                               "tlsmc_get_pin: INFO: Please note the extracted key file will not be protected with a PIN any more, however it will be still protected at least by file permissions.\n");
++                      fprintf( stdout,
++                               "Please enter pin, password, or pass phrase for security token '%s': ",
++                               token_name ? token_name : DEFAULT_TOKEN_NAME );
++                      echoOff( infd );
++              }
++              fgets( (char*)phrase, sizeof(phrase), stdin );
++              if ( isTTY ) {
++                      fprintf( stdout, "\n" );
++                      echoOn( infd );
++              }
++              /* stomp on newline */
++              phrase[strlen((char*)phrase)-1] = 0;
++
++              pwdstr = PL_strdup( (char*)phrase );
++      }
++
++      return pwdstr;
++}
++
++
++int
++tlsmc_hash( char **dest, const char *src )
++{
++      int rv = 0;
++      unsigned char fp[SHA256_LENGTH];
++      SECItem fpItem;
++
++      if ( SECSuccess != ( rv = PK11_HashBuf( SEC_OID_SHA256, fp, src, strlen(src) ) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_hash: could not hash a buffer",
++                     NULL, NULL, NULL );
++              goto bail;
++      }
++      fpItem.data = fp;
++      fpItem.len = SHA256_LENGTH;
++      if ( NULL == ( *dest = CERT_Hexify( &fpItem, 0 ) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_hash: could not hexify the hash",
++                     NULL, NULL, NULL );
++              goto bail;
++      }
++
++      rv = 1;
++bail:
++      return rv;
++}
++
++
++/* BORROWED FROM tls_m.c */
++int
++tlsmc_open_nssdb( char *ld_cacertdir, NSSInitContext **out_initctx, char **out_nssdb_dir, char **out_nssdb_prefix )
++{
++#define SECURITYDIRS_COUNT 3
++      int rc = 0;
++      PRErrorCode errcode = 1;
++
++      /* restart secmod modules */
++#ifdef HAVE_SECMOD_RESTARTMODULES
++      /* NSS enforces the pkcs11 requirement that modules should be unloaded after
++         a fork() - since there is no portable way to determine if NSS has been
++         already initialized in a parent process, we just call SECMOD_RestartModules
++         with force == FALSE - if the module has been unloaded due to a fork, it will
++         be reloaded, otherwise, it is a no-op */
++      if ( 0 == ( rc = SECMOD_RestartModules(PR_FALSE /* do not force */) ) ) {
++              errcode = PORT_GetError();
++              if ( errcode != SEC_ERROR_NOT_INITIALIZED ) {
++                      Debug( LDAP_DEBUG_TRACE,
++                             "tlsmc_open_nssdb: WARN: could not restart the security modules: %d:%s.\n",
++                             errcode, PR_ErrorToString( errcode, PR_LANGUAGE_I_DEFAULT ), 0 );
++              } else {
++                      errcode = 1;
++              }
++      }
++#endif
++
++
++      /* context and certdb */
++      char *dir_moznss = PR_GetEnv( "MOZNSS_DIR" );
++      char *dir_default_moznss = PR_GetEnv( "DEFAULT_MOZNSS_DIR" );
++      const char *securitydirs[SECURITYDIRS_COUNT] = { dir_moznss, ld_cacertdir, dir_default_moznss };
++      int done = 0;
++      int ii = 0;
++      for ( ii = 0; !done && ( ii < SECURITYDIRS_COUNT ); ++ii ) {
++              // get certdb prefix
++              const char *securitydir = securitydirs[ii];
++              char *nsscertdir = NULL;
++              char *realcertdir = NULL;
++              const char *defprefix = "";
++              char *prefix = (char *)defprefix;
++              if ( securitydir == NULL ) continue;
++              tlsmc_get_certdb_prefix( securitydir, &nsscertdir, &realcertdir, &prefix );
++              *out_nssdb_dir = strdup( realcertdir );
++              *out_nssdb_prefix = strdup( prefix );
++
++              Debug( LDAP_DEBUG_TRACE,
++                     "tlsmc_open_nssdb: INFO: trying to initialize moznss using security dir `%s` prefix `%s`.\n",
++                     nsscertdir, prefix, NULL);
++
++              // init context
++              NSSInitContext *initctx = NULL;
++              NSSInitParameters initparams;
++              memset( &initparams, 0, sizeof( initparams ) );
++              initparams.length = sizeof( initparams );
++
++              initctx = NSS_InitContext( nsscertdir,
++                                         prefix,
++                                         prefix,
++                                         SECMOD_DB,
++                                         &initparams,
++                                         NSS_INIT_READONLY // | NSS_INIT_NOCERTDB
++                      );
++              rc = initctx ? 1 : 0;
++
++              *out_initctx = initctx;
++
++              if ( rc != 1 ) {
++                      errcode = PORT_GetError();
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_open_nssdb: WARN: could not initialize MozNSS context - error %d.\n",
++                             errcode, 0, 0 );
++              } else {
++                      Debug( LDAP_DEBUG_TRACE,
++                             "tlsmc_open_nssdb: INFO: initialized MozNSS context.\n",
++                             0, 0, 0 );
++                      errcode = 0;
++                      done = 1;
++              }
++      }
++
++      PR_Free( dir_moznss );
++      PR_Free( dir_default_moznss );
++
++      PK11_SetPasswordFunc( tlsmc_get_pin );
++
++      if ( done && (errcode == 0) && out_initctx ) {
++              return 1;
++      } else {
++              return 0;
++      }
++}
++
++
++int
++tlsmc_filestamp( char **filestamp, char *path )
++{
++      int rv = 0;
++      struct stat attr;
++      char stime[20];
++
++      if ( 0 != stat( path, &attr ) ) {
++              rv = -1;
++              goto bail;
++      }
++      if ( 0 == strftime(stime, sizeof(stime), "%FT%T", localtime(&attr.st_mtime)) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_filestamp: ERROR: could not format mtime: %s.\n",
++                     strerror(errno), 0, 0 );
++              goto bail;
++      }
++
++      *filestamp = PR_smprintf("mtime %s.%d, size %lld",
++                               stime, attr.st_mtim.tv_nsec, (long long) attr.st_size);
++
++      rv = 1;
++bail:
++      return rv;
++}
++
++
++char *
++tlsmc_compute_checksum( char *nssdb_dir, char *nssdb_prefix,
++                        char *ld_cacertdir, char *ld_cert, char *ld_key,
++                        char **out_data)
++{
++      int rv = 0;
++      char *data = NULL;
++      char *checksum = NULL;
++
++      /* gather data */
++      data = PR_sprintf_append( data,
++                                DONOTEDIT "\n"
++                                README_HEADER "\n"
++                                "PARAMETERS:\n"
++                                "nssdb_dir: %s\n"
++                                "nssdb_prefix: %s\n"
++                                "ld_cacertdir: %s\n"
++                                "ld_cert: %s\n"
++                                "ld_key: %s\n"
++                                "euid: %d\n\n"
++                                "FILES:\n",
++                                nssdb_dir, nssdb_prefix, ld_cacertdir, ld_cert, ld_key, geteuid() );
++
++      char *files[] = { "cert8.db", "cert9.db", "key3.db", "key4.db", "secmod.db", NULL };
++      char **filep = NULL;
++      for ( filep = files; NULL != *filep; filep++ ) {
++              char *filestamp = NULL;
++              char *path = NULL;
++              path = PR_smprintf( "%s/%s%s", nssdb_dir, nssdb_prefix, *filep );
++              if ( 0 == tlsmc_filestamp( &filestamp, path ) ) {
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_compute_checksum: INFO: could not check file `%s'.\n",
++                             path, 0, 0 );
++                      rv = -1;
++              } else {
++                      data = PR_sprintf_append( data, "%s: %s\n", *filep, filestamp );
++              }
++              if ( filestamp ) PR_smprintf_free( filestamp );
++              if ( path ) PR_smprintf_free( path );
++              if ( -1 == rv ) goto bail;
++      }
++
++      /* compute data checksum */
++      if ( 1 != tlsmc_hash( &checksum, (const char*) data ) ) {
++              checksum = NULL;
++              goto bail;
++      }
++
++      /* possibly supply data */
++      if ( out_data ) {
++              *out_data = strdup( data );
++      }
++
++      /* return checksum */
++bail:
++      if ( data ) PR_smprintf_free( data );
++      return checksum;
++}
++
++
++int
++tlsmc_prepare_dir( char *dir )
++{
++      int rv = 0;
++      char *cacerts_dir = NULL;
++
++      Debug( LDAP_DEBUG_TRACE,
++             "tlsmc_prepare_dir: INFO: preparing PEM directory `%s'.\n",
++             dir, 0, 0 );
++
++      if ( 0 != mkdir( dir, S_IRWXU /* u+rwx */ ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_prepare_dir: WARN: could not create the PEM directory.\n",
++                     0, 0, 0 );
++              rv = 0;
++              goto bail;
++      }
++
++      Debug( LDAP_DEBUG_TRACE,
++             "tlsmc_prepare_dir: INFO: creating a subdirectory `%s'.\n",
++             TLSMC_CACERTS_DIR_NAME, 0, 0 );
++      cacerts_dir = PR_smprintf( "%s/%s", dir, TLSMC_CACERTS_DIR_NAME );
++      if ( 0 != mkdir( cacerts_dir, S_IRWXU /* u+rwx */ ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_prepare_dir: WARN: could not create the subdirectory.\n",
++                     0, 0, 0 );
++              rv = 0;
++              goto bail;
++      }
++
++      Debug( LDAP_DEBUG_TRACE,
++             "tlsmc_prepare_dir: INFO: successfully created PEM directory structure.\n",
++             TLSMC_CACERTS_DIR_NAME, 0, 0 );
++      rv = 1;
++
++bail:
++      if ( cacerts_dir ) PR_smprintf_free( cacerts_dir );
++      return rv;
++}
++
++
++/* BORROWED FROM 389ds: ssl.c */
++int
++tlsmc_extract_cert_to_file(CERTCertDBHandle *certdb_handle, CERTCertificate *cert, char *file_path)
++{
++      int rv = 0;
++      SECItem data;
++      char *b64 = NULL;
++      char *output = NULL;
++
++      if ( ! cert ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_cert_to_file: ERROR: cert empty.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++
++      data.data = cert->derCert.data;
++      data.len = cert->derCert.len;
++      b64 = BTOA_DataToAscii(data.data, data.len);
++      if ( ! b64 ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_cert_to_file: ERROR: could not base64 encode.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++
++      output = PR_smprintf( DONOTEDIT "\n\n"
++                            "NSS nickname: %s\n"
++                            "Issuer: %s\n"
++                            "Subject: %s\n"
++                            PEM_CERT_HEADER "\n"
++                            "%s\n"
++                            PEM_CERT_FOOTER "\n",
++                            cert->nickname,
++                            cert->issuerName,
++                            cert->subjectName,
++                            b64 );
++
++      if ( 0 == tlsmc_write_file( file_path, output, S_IRUSR ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_cert_to_file: ERROR: could not write certificate.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++
++      rv = 1;
++bail:
++      if ( output ) PR_smprintf_free( output );
++      if ( b64 ) PORT_Free( b64 );
++      return rv;
++}
++
++
++/* BORROWED FROM 389ds: ssl.c */
++int
++tlsmc_decrypt_key(SECKEYEncryptedPrivateKeyInfo *epki,
++                  SECOidTag algTag,
++                  SECItem *pwitem,
++                  void *pin_arg,
++                  SECItem *derPKI)
++{
++      SECItem  *cryptoParam = NULL;
++      PK11SymKey *symKey = NULL;
++      PK11Context *ctx = NULL;
++      int rv = 0;
++
++      if (!pwitem) return rv;
++
++      do {
++              SECAlgorithmID algid = epki->algorithm;
++              CK_MECHANISM_TYPE cryptoMechType;
++              CK_ATTRIBUTE_TYPE operation = CKA_DECRYPT;
++              PK11SlotInfo *slot = NULL;
++
++              cryptoMechType = PK11_GetPBECryptoMechanism(&algid, &cryptoParam, pwitem);
++              if (cryptoMechType == CKM_INVALID_MECHANISM)  {
++                      goto bail;
++              }
++
++              if ( NULL == ( slot = PK11_GetBestSlot(cryptoMechType, NULL) ) ) {
++                      goto bail;
++              }
++
++              if ( NULL == ( symKey = PK11_PBEKeyGen(slot, &algid, pwitem, PR_FALSE, pin_arg) ) ) {
++                      rv = -1;
++                      goto bail_one;
++              }
++
++              if ( NULL == ( ctx = PK11_CreateContextBySymKey(
++                                     cryptoMechType, operation, symKey, cryptoParam) ) ) {
++                      rv = -1;
++                      goto bail_one;
++              }
++
++              if ( SECSuccess != PK11_CipherOp(ctx,
++                                               derPKI->data, /* out */
++                                               (int *)(&derPKI->len), /* out len */
++                                               (int)epki->encryptedData.len, /* max out */
++                                               epki->encryptedData.data,      /* in */
++                                               (int)epki->encryptedData.len /* in len */ ) ) {
++                      rv = -1;
++                      goto bail_one;
++              }
++
++              if ( derPKI->len != epki->encryptedData.len ) goto bail_one;
++              if ( SECSuccess != PK11_Finalize(ctx) ) goto bail_one;
++      bail_one:
++              if (slot) PK11_FreeSlot(slot);
++      } while (0);
++
++      rv = ((rv == 0) ? 1 : 0);
++bail:
++      if (symKey) PK11_FreeSymKey(symKey);
++      if (cryptoParam) {
++              SECITEM_ZfreeItem(cryptoParam, PR_TRUE);
++              cryptoParam = NULL;
++      }
++      if (ctx) PK11_DestroyContext(ctx, PR_TRUE);
++
++      return rv;
++}
++
++
++/* BORROWED FROM 389ds: ssl.c */
++int
++tlsmc_extract_key_of_cert_to_file(CERTCertificate *cert,
++                                  char *pin_filename,
++                                  char *filename)
++{
++      int rv = 0;
++      SECKEYPrivateKey *key = NULL;
++      SECItem pwitem;
++      SECKEYEncryptedPrivateKeyInfo *epki = NULL;
++      PLArenaPool *arenaForPKI = NULL;
++      SECItem clearKeyDER;
++      char *b64 = NULL;
++      char *output = NULL;
++
++      // establish password
++      pwitem.data = "secretpw";  // FIXME use pin_filename
++      pwitem.len = strlen(pwitem.data);
++      pwitem.type = siBuffer;
++
++      // get key
++      if ( NULL == ( key = PK11_FindKeyByAnyCert(cert, (void *)pin_filename) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_key_of_cert_to_file: ERROR: PK11_FindKeyByAnyCert failed.\n",
++                     0,0,0);
++              goto bail;
++      }
++
++      // get key info
++      if ( NULL == ( epki = PK11_ExportEncryptedPrivKeyInfo(
++                             NULL, SEC_OID_DES_EDE3_CBC, &pwitem, key, 1000, (void *)pin_filename) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_key_of_cert_to_file: ERROR: PK11_ExportEncryptedPrivKeyInfo returned NULL.\n",
++                     0,0,0);
++              goto bail;
++      }
++
++      // get clear DER
++      if ( NULL == ( arenaForPKI = PORT_NewArena(2048) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_key_of_cert_to_file: ERROR: PORT_NewArena failed.\n",
++                     0,0,0);
++              goto bail;
++      }
++
++      clearKeyDER.data = PORT_ArenaAlloc(arenaForPKI, epki->encryptedData.len);
++      clearKeyDER.len = epki->encryptedData.len;
++      clearKeyDER.type = siBuffer;
++
++      if ( 0 == tlsmc_decrypt_key(epki, SEC_OID_DES_EDE3_CBC, &pwitem,
++                                           (void *)pin_filename, &clearKeyDER) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_key_of_cert_to_file: ERROR: could not decrypt the key.\n",
++                     0,0,0);
++              goto bail;
++      }
++
++      // base64 encode
++      if ( NULL == ( b64 = BTOA_ConvertItemToAscii(&clearKeyDER) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_key_of_cert_to_file: ERROR: could not base64 encode.\n",
++                     0,0,0);
++              goto bail;
++      }
++
++      // print out
++      output = PR_smprintf( DONOTEDIT "\n"
++                            PEM_KEY_HEADER "\n"
++                            "%s\n"
++                            PEM_KEY_FOOTER "\n",
++                            b64 );
++
++      if ( 0 == tlsmc_write_file( filename, output, S_IRUSR ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_key_of_cert_to_file: ERROR: could not write PK.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++
++      rv = 1;
++
++bail:
++      if (b64) PORT_Free(b64);
++      if (arenaForPKI) PORT_FreeArena(arenaForPKI, PR_FALSE);
++      if (epki) SECKEY_DestroyEncryptedPrivateKeyInfo(epki, PR_TRUE);
++      if (key) SECKEY_DestroyPrivateKey(key);
++      return rv;
++}
++
++
++/* BORROWED FROM 389ds: ssl.c */
++int
++tlsmc_extract_cert_key_pair(char *nickname, char *pin_filename, char *dir_name)
++{
++      int rv = 0;
++      CERTCertDBHandle *certHandle = NULL;
++      CERTCertificate *cert = NULL;
++      char *cert_file_path = NULL;
++      char *key_file_path = NULL;
++      char *file_realpath = NULL;
++
++
++      cert_file_path = PR_smprintf( "%s/cert.pem", dir_name );
++      key_file_path = PR_smprintf( "%s/key.pem", dir_name );
++
++      if ( NULL == nickname ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_cert_key_pair: WARN: supplied nickname is empty (NULL).\n",
++                     0, 0, 0 );
++              rv = 1;
++              goto bail;
++      }
++      if ( NULL == ( certHandle = CERT_GetDefaultCertDB() ) ) {
++              // FIXME see same in tlsmc_extract_cacerts()
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_cert_key_pair: ERROR: could not get certificate handle.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++      if ( NULL != ( cert = PK11_FindCertFromNickname(nickname, NULL) ) ) {
++              /* extract cert/key from NSS db */
++
++              Debug( LDAP_DEBUG_TRACE,
++                     "tlsmc_extract_cert_key_pair: INFO: extracting certificate `%s' to file `%s'.\n",
++                     nickname, cert_file_path, 0 );
++              if ( 0 == tlsmc_extract_cert_to_file(certHandle, cert, cert_file_path) ) {
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_extract_cert_key_pair: ERROR: could not extract certificate.\n",
++                             0, 0, 0 );
++                      goto bail;
++              }
++
++              Debug( LDAP_DEBUG_TRACE,
++                     "tlsmc_extract_cert_key_pair: INFO: extracting associated PK to file `%s'.\n",
++                     key_file_path, 0, 0 );
++              if ( 0 == tlsmc_extract_key_of_cert_to_file( cert, pin_filename, key_file_path ) ) {
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_extract_cert_key_pair: ERROR: could not extract PK.\n",
++                             0, 0, 0 );
++                      goto bail;
++              }
++      } else {
++              /* symlink PEM cert/key PEM files */
++
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_cert_key_pair: INFO: could not find certificate with nickname `%s', expecting a PEM file.\n",
++                     nickname, 0, 0 );
++
++              Debug( LDAP_DEBUG_TRACE,
++                     "tlsmc_extract_cert_key_pair: INFO: symlinking certificate file `%s' to file `%s'.\n",
++                     nickname, cert_file_path, 0 );
++              if ( NULL == ( file_realpath = realpath( nickname, NULL ) ) ) {
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_extract_cert_key_pair: ERROR: could not get realpath of certificate file `%s'.\n",
++                             nickname, 0, 0 );
++                      goto bail;
++              }
++              if ( -1 == symlink( file_realpath, cert_file_path ) ) {
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_extract_cert_key_pair: ERROR: could not create a symlink of `%s' to `%s'.\n",
++                             file_realpath, cert_file_path, 0 );
++                      goto bail;
++              }
++              if ( file_realpath ) free( file_realpath );
++
++              Debug( LDAP_DEBUG_TRACE,
++                     "tlsmc_extract_cert_key_pair: INFO: symlinking PK file `%s' to file `%s'.\n",
++                     pin_filename, key_file_path, 0 );
++              if ( NULL == ( file_realpath = realpath( pin_filename, NULL ) ) ) {
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_extract_cert_key_pair: ERROR: could not get realpath of PK file `%s'.\n",
++                             pin_filename, 0, 0 );
++                      goto bail;
++              }
++              if ( -1 == symlink( file_realpath, key_file_path ) ) {
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_extract_cert_key_pair: ERROR: could not create a symlink of `%s' to `%s'.\n",
++                             file_realpath, key_file_path, 0 );
++                      goto bail;
++              }
++      }
++
++      rv = 1;
++
++bail:
++      if (file_realpath) free(file_realpath);
++      if (key_file_path) PR_smprintf_free(key_file_path);
++      if (cert_file_path) PR_smprintf_free(cert_file_path);
++      if (cert) CERT_DestroyCertificate(cert);
++      return rv;
++}
++
++
++/* BORROWED FROM 389ds: ssl.c */
++int
++tlsmc_extract_cacerts( char *dir_name )
++{
++      int rv = 0;
++      CERTCertDBHandle *certHandle = NULL;
++      CERTCertListNode *node = NULL;
++      CERTCertList *list = NULL;
++      char *cacerts_dir = NULL;
++      int cert_cnt = 0;
++
++      cacerts_dir = PR_smprintf( "%s/" TLSMC_CACERTS_DIR_NAME, dir_name );
++
++      certHandle = CERT_GetDefaultCertDB();  // FIXME maybe we should really use certdb_slot?
++      if ( ! certHandle ) {
++              Debug( LDAP_DEBUG_TRACE,
++                     "tlsmc_extract_cacerts: could not get certificate database handle.\n",
++                     0, 0, 0);
++              goto bail;
++      }
++
++      list = PK11_ListCerts(PK11CertListAll, NULL);
++      if ( ! list ) {
++              Debug( LDAP_DEBUG_TRACE,
++                     "tlsmc_extract_cacerts: could not get list of certificates.\n",
++                     0, 0, 0);
++              goto bail;
++      }
++      for ( node = CERT_LIST_HEAD(list);
++            !CERT_LIST_END(node, list);
++            node = CERT_LIST_NEXT(node)) {
++
++              CERTCertificate *cert = NULL;
++              CERTCertTrust trust;
++              char *cert_file_path = NULL;
++              int is_ca = 0;
++
++              cert = node->cert;
++              if ( SECFailure == CERT_GetCertTrust( cert, &trust ) ) {
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_extract_cacerts: ERROR: could not get trust flags of certificate nick=`%s'.\n",
++                             cert->nickname, 0, 0);
++                      goto bail;
++              }
++              if (trust.sslFlags &
++                  (CERTDB_VALID_CA | CERTDB_TRUSTED_CA | CERTDB_TRUSTED_CLIENT_CA)) {
++                      is_ca = 1;
++              }
++
++              Debug(LDAP_DEBUG_TRACE,
++                    "tlsmc_extract_cacerts: INFO: found cert nick=`%s'%s.\n",
++                    cert->nickname, is_ca ? ", a trusted CA" : ", _not_ a trusted CA, skipping", 0);
++              if ( ! is_ca ) continue;
++
++              cert_file_path = PR_smprintf( "%s/cert%d.pem", cacerts_dir, cert_cnt );
++              cert_cnt++;
++              Debug(LDAP_DEBUG_TRACE,
++                    "tlsmc_extract_cacerts: INFO: extracting cert nick=`%s' to file `%s'.\n",
++                    cert->nickname, cert_file_path, 0);
++              if ( 0 == tlsmc_extract_cert_to_file( certHandle, cert, cert_file_path ) ) {
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_extract_cacerts: ERROR: could not extract the certificate.\n",
++                             0, 0, 0);
++                      goto bail_one;
++              }
++              if ( 0 == tlsmc_cert_create_hash_symlink( cert_file_path, cacerts_dir ) ) {
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_extract_cacerts: ERROR: could not rehash the certificate.\n",
++                             0, 0, 0);
++                      goto bail_one;
++              }
++              if ( cert_file_path ) PR_smprintf_free( cert_file_path );
++              continue;
++      bail_one:
++              if ( cert_file_path ) PR_smprintf_free( cert_file_path );
++              goto bail;
++      }
++
++      rv = 1;
++bail:
++      if ( cacerts_dir ) PR_smprintf_free( cacerts_dir );
++      if ( list ) CERT_DestroyCertList( list );
++      return rv;
++}
++
++
++/* returns 1 if successfull;
++   returns -1 if only cert-key pair is NULL or could not be extracted;
++   returns 0 if any other error
++*/
++int
++tlsmc_extract_nssdb( char *dir_name, char **ld_cacertdir, char **ld_cert, char **ld_key )
++{
++      int rv = 0;
++
++      if ( ! dir_name ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_nssdb: FATAL: target dir name empty.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++
++      if ( 0 == tlsmc_extract_cacerts( dir_name ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_nssdb: ERROR: could not export CA certificates.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++
++      if ( 0 == tlsmc_extract_cert_key_pair( *ld_cert, *ld_key, dir_name ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_extract_nssdb: ERROR: could not export user cert and/or key.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++
++      rv = 1;
++bail:
++      return rv;
++}
++
++
++/* BORROWED FROM tls_m.c */
++int
++tlsmc_close_nssdb(NSSInitContext **initctx)
++{
++      if ( *initctx && NSS_ShutdownContext( *initctx ) ) {
++              PRErrorCode errcode = PR_GetError();
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_close_nssdb: ERROR: could not shutdown NSS - error %d:%s.\n",
++                     errcode, PR_ErrorToString( errcode, PR_LANGUAGE_I_DEFAULT ), 0 );
++              return 0;
++      } else {
++              return 1;
++      }
++}
++
++
++int
++tlsmc_convert( char **ld_cacertdir, char **ld_cert, char **ld_key )
++{
++
++      int rv = 0;
++
++      NSSInitContext *nss_ctx = NULL;
++      char *nssdb_dir_path = NULL;
++      char *nssdb_prefix = NULL;
++      char *pem_dir = NULL;
++      char *readme_path = NULL;
++      char *data = NULL;  // data before checksum
++      char *checksum = NULL;  // checksummed data
++      struct stat stat_buf;
++
++#ifdef LDAP_R_COMPILE
++      ldap_pvt_thread_mutex_lock( &tlsmc_mutex );
++#endif
++
++      Debug( LDAP_DEBUG_TRACE,
++             "tlsmc_convert: INFO: trying to open NSS DB with CACertDir = `%s'.\n",
++             *ld_cacertdir, 0, 0 );
++      if ( NULL == ld_cacertdir || NULL == ld_cert || NULL == ld_key ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_convert: ERROR: cannot proceed, some of the arguments are NULL.\n",
++                     0, 0, 0 );
++              rv = 1;
++              goto bail;
++      }
++      if ( 0 == tlsmc_open_nssdb( *ld_cacertdir, &nss_ctx, &nssdb_dir_path, &nssdb_prefix ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_convert: INFO: cannot open the NSS DB, expecting PEM configuration is present.\n",
++                     0, 0, 0 );
++              rv = 1;
++              goto bail;
++      }
++
++      if ( NULL == ( checksum = tlsmc_compute_checksum( nssdb_dir_path, nssdb_prefix,
++                                                        *ld_cacertdir, *ld_cert, *ld_key,
++                                                        &data ) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_convert: ERROR: could not compute checksum.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++
++      if ( NULL == ( pem_dir = PR_smprintf( "/tmp/openldap-tlsmc-%s-%s-%s",
++                                            tlsmc_path2name( nssdb_dir_path ),
++                                            nssdb_prefix,
++                                            checksum) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_convert: FATAL: could not allocate memory.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++      if ( NULL == ( readme_path = PR_smprintf( "%s/" TLSMC_README_FILE_NAME, pem_dir ) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_convert: FATAL: could not allocate memory.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++      Debug( LDAP_DEBUG_TRACE,
++             "tlsmc_convert: INFO: trying with PEM dir = `%s'.\n",
++             pem_dir, 0, 0 );
++      if ( 0 == stat( pem_dir, &stat_buf ) ) {
++              if ( S_ISDIR(stat_buf.st_mode) ) {
++                      Debug( LDAP_DEBUG_TRACE,
++                             "tlsmc_convert: INFO: using the existing PEM dir.\n",
++                             0, 0, 0 );
++                      if ( 0 == stat( readme_path, &stat_buf ) ) {
++                              goto pem_dir_exists;
++                      } else {
++                              Debug( LDAP_DEBUG_ANY,
++                                     "tlsmc_convert: ERROR: the PEM dir found does not contain README file. Will remove the PEM dir and try to recreate it.\n",
++                                     0, 0, 0 );
++                              if ( 0 == tlsmc_remove_dir_recursively( pem_dir ) ) {
++                                      Debug( LDAP_DEBUG_ANY,
++                                             "tlsmc_convert: FATAL: could not remove the PEM dir. Cannot properly set TLS.\n",
++                                             0, 0, 0 );
++                                      goto bail;
++                              }
++                      }
++              } else {
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_convert: FATAL: tried to stat the PEM dir but it is not a directory.\n",
++                             0, 0, 0 );
++                      goto bail;
++              }
++      }
++      Debug( LDAP_DEBUG_TRACE,
++             "tlsmc_convert: WARN: will try to create PEM dir.\n",
++             0, 0, 0 );
++      if ( 0 == tlsmc_prepare_dir( pem_dir ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_convert: FATAL: cannot prepare the PEM dir.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++      if ( 0 == tlsmc_extract_nssdb( pem_dir, ld_cacertdir, ld_cert, ld_key ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_convert: FATAL: could not extract from the NSS DB.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++      if ( 0 == tlsmc_write_file( readme_path, data, S_IRUSR ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_convert: ERROR: could not create README file.\n",
++                     0, 0, 0 );
++      }
++
++pem_dir_exists:
++      if (*ld_cacertdir) free(*ld_cacertdir);
++      *ld_cacertdir = PR_smprintf( "%s/" TLSMC_CACERTS_DIR_NAME, pem_dir );
++      if ( ! ( ( 0 == stat( *ld_cacertdir, &stat_buf ) )
++               && S_ISDIR(stat_buf.st_mode) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_convert: WARN: extracted cacerts dir is not present.\n",
++                     0, 0, 0 );
++              if ( *ld_cacertdir ) PR_smprintf_free( *ld_cacertdir );
++              *ld_cacertdir = NULL;
++      }
++
++      if (*ld_cert) free(*ld_cert);
++      *ld_cert = PR_smprintf( "%s/" TLSMC_CERT_FILE_NAME, pem_dir );
++      if ( ! ( ( 0 == stat( *ld_cert, &stat_buf ) )
++               && ( S_ISREG(stat_buf.st_mode)
++                    || S_ISLNK(stat_buf.st_mode) ) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_convert: WARN: extracted cert file is not present.\n",
++                     0, 0, 0 );
++              if ( *ld_cert ) PR_smprintf_free( *ld_cert );
++              *ld_cert = NULL;
++      }
++
++      if (*ld_key) free(*ld_key);
++      *ld_key = PR_smprintf( "%s/" TLSMC_KEY_FILE_NAME, pem_dir );
++      if ( ! ( ( 0 == stat( *ld_key, &stat_buf ) )
++               && ( S_ISREG(stat_buf.st_mode)
++                    || S_ISLNK(stat_buf.st_mode) ) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_convert: WARN: extracted key file is not present.\n",
++                     0, 0, 0 );
++              if ( *ld_key ) PR_smprintf_free( *ld_key );
++              *ld_key = NULL;
++      }
++
++      rv = 1;
++
++bail:
++      if ( checksum ) free( checksum );
++      if ( pem_dir ) PR_smprintf_free( pem_dir );
++      if ( readme_path ) PR_smprintf_free( readme_path );
++      if ( data ) free( data );
++      if ( nssdb_prefix ) free( nssdb_prefix );
++      if ( nssdb_dir_path ) free( nssdb_dir_path );
++      if ( nss_ctx ) tlsmc_close_nssdb( &nss_ctx );
++
++#ifdef LDAP_R_COMPILE
++      ldap_pvt_thread_mutex_unlock( &tlsmc_mutex );
++#endif
++
++      return rv;
++}
++
++
++// returns 0 when successful
++int
++tlsmc_intercept_initialization( struct ldapoptions *lo, int is_server )
++{
++      int rv = 0;
++      char *ld_cacertdir = NULL;
++      char *ld_cert = NULL;
++      char *ld_key = NULL;
++
++      ld_cacertdir = lo->ldo_tls_cacertdir ? LDAP_STRDUP( (char *) lo->ldo_tls_cacertdir ) : NULL;
++      ld_cert = lo->ldo_tls_certfile ? LDAP_STRDUP( (char *) lo->ldo_tls_certfile ) : NULL;
++      ld_key = lo->ldo_tls_keyfile ? LDAP_STRDUP( (char *) lo->ldo_tls_keyfile ) : NULL;
++
++      Debug( LDAP_DEBUG_TRACE,
++             "tlsmc_intercept_initialization: INFO: entry options follow:\n"
++             "tlsmc_intercept_initialization: INFO: cacertdir = `%s'\n"
++             "tlsmc_intercept_initialization: INFO: certfile = `%s'\n"
++             "tlsmc_intercept_initialization: INFO: keyfile = `%s'\n",
++             lo->ldo_tls_cacertdir, lo->ldo_tls_certfile, lo->ldo_tls_keyfile );
++
++      if ( 0 == tlsmc_convert( &ld_cacertdir, &ld_cert, &ld_key ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_intercept_initialization: FATAL: could not intercept TLS initialization. TLS will not work!\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++
++      if ( lo->ldo_tls_cacertdir ) LDAP_FREE( lo->ldo_tls_cacertdir );
++      lo->ldo_tls_cacertdir = ld_cacertdir ? LDAP_STRDUP( (char *) ld_cacertdir ) : NULL;
++
++      if ( lo->ldo_tls_certfile ) LDAP_FREE( lo->ldo_tls_certfile );
++      lo->ldo_tls_certfile = ld_cert ? LDAP_STRDUP( (char *) ld_cert ) : NULL;
++
++      if ( lo->ldo_tls_keyfile ) LDAP_FREE( lo->ldo_tls_keyfile );
++      lo->ldo_tls_keyfile = ld_key ? LDAP_STRDUP( (char *) ld_key ) : NULL;
++
++      Debug( LDAP_DEBUG_TRACE,
++             "tlsmc_intercept_initialization: INFO: altered options follow:\n"
++             "tlsmc_intercept_initialization: INFO: cacertdir = `%s'\n"
++             "tlsmc_intercept_initialization: INFO: certfile = `%s'\n"
++             "tlsmc_intercept_initialization: INFO: keyfile = `%s'\n",
++             lo->ldo_tls_cacertdir, lo->ldo_tls_certfile, lo->ldo_tls_keyfile );
++
++      Debug( LDAP_DEBUG_ANY,
++             "tlsmc_intercept_initialization: INFO: successfully intercepted TLS initialization. Continuing with OpenSSL only.\n",
++             0, 0, 0 );
++      rv = 1;
++bail:
++      if ( ld_cacertdir ) LDAP_FREE( ld_cacertdir );
++      if ( ld_cert ) LDAP_FREE( ld_cert );
++      if ( ld_key ) LDAP_FREE( ld_key );
++      return rv;
++}
++
++
++#endif /* HAVE_MOZNSS_COMPATIBILITY */
++/*
++  emacs settings
++  Local Variables:
++  indent-tabs-mode: t
++  tab-width: 4
++  End:
++*/
+diff --git a/libraries/libldap/tls_mc.h b/libraries/libldap/tls_mc.h
+new file mode 100644
+index 0000000..2e6e567
+--- /dev/null
++++ b/libraries/libldap/tls_mc.h
+@@ -0,0 +1,18 @@
++#ifndef _LDAP_TLSMC_H
++#define _LDAP_TLSMC_H
++
++#include "portable.h"
++
++#ifdef HAVE_MOZNSS_COMPATIBILITY
++
++#include "ldap-int.h"
++
++int
++tlsmc_convert( char **ld_cacertdir, char **ld_cert, char **ld_key );
++
++int
++tlsmc_intercept_initialization( struct ldapoptions *lo, int is_server );
++
++
++#endif /* HAVE_MOZNSS_COMPATIBILITY */
++#endif /* _LDAP_TLSMC_H */
+diff --git a/libraries/libldap/tls_mc_ossl.c b/libraries/libldap/tls_mc_ossl.c
+new file mode 100644
+index 0000000..62ff54d
+--- /dev/null
++++ b/libraries/libldap/tls_mc_ossl.c
+@@ -0,0 +1,95 @@
++#include "portable.h"
++
++/* This file contains functions that require OpenSSL headers due to some
++   conflicts with what MozNSS defines.
++*/
++
++#ifdef HAVE_MOZNSS_COMPATIBILITY
++
++#include <openssl/x509.h>
++#include <openssl/pem.h>
++#include "ldap-int.h"
++#include <nspr/nspr.h>
++#include <unistd.h>
++#include <errno.h>
++
++
++int
++tlsmc_cert_create_hash_symlink( char *cert_path, char *cacerts_dir )
++{
++      int rv = 0;
++      X509 *cert = NULL;
++      FILE *fp = NULL;
++      unsigned long hash = 0;
++      char *cert_filename_p = NULL;
++      char *last_slash_p = NULL;
++      char *symlink_path = NULL;
++      int cnt = 0;
++
++      if ( NULL == ( fp = fopen( cert_path, "r" ) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_cert_create_hash_symlink: ERROR: could not open the cert file.\n",
++                     0, 0, 0 );
++              perror( "tlsmc_cert_create_hash_symlink: ERROR: OS error" );
++              goto bail;
++      }
++      if ( NULL == PEM_read_X509( fp, &cert, NULL, NULL ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_cert_create_hash_symlink: ERROR: could not read PEM data.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++      if ( 0 == ( hash = X509_subject_name_hash( cert ) ) ) {
++              Debug( LDAP_DEBUG_ANY,
++                     "tlsmc_cert_create_hash_symlink: ERROR: could not hash subject.\n",
++                     0, 0, 0 );
++              goto bail;
++      }
++
++      last_slash_p = strrchr( cert_path, '/' );
++      cert_filename_p = last_slash_p ? last_slash_p + 1 : cert_path;
++      for ( cnt = 0; cnt < 10; cnt++ ) {
++              if ( NULL == ( symlink_path = PR_smprintf( "%s/%08lx.%d", cacerts_dir, hash, cnt ) ) ) {
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_cert_create_hash_symlink: ERROR: memory allocation error.\n",
++                             0, 0, 0 );
++                      continue;
++              }
++              if ( 0 != symlink( cert_filename_p, symlink_path ) ) {
++                      if ( errno == EEXIST ) {
++                              Debug( LDAP_DEBUG_ANY,
++                                     "tlsmc_cert_create_hash_symlink: INFO: symlink `%s' already exists.\n",
++                                     symlink_path, 0, 0 );
++                              if ( symlink_path ) PR_smprintf( symlink_path );
++                              continue;
++                      }
++                      Debug( LDAP_DEBUG_ANY,
++                             "tlsmc_cert_create_hash_symlink: ERROR: could not create symlink.\n",
++                             0, 0, 0 );
++                      perror( "tlsmc_cert_create_hash_symlink: ERROR: OS error" );
++                      goto bail;
++              }
++              Debug( LDAP_DEBUG_TRACE,
++                     "tlsmc_cert_create_hash_symlink: INFO: the cert is now symlinked to %s.\n",
++                     symlink_path, 0, 0 );
++              rv = 1;
++              goto bail;
++      }
++      Debug( LDAP_DEBUG_ANY,
++             "tlsmc_cert_create_hash_symlink: INFO: could not create symlink (all possible file names taken).\n",
++             0, 0, 0 );
++bail:
++      if ( symlink_path ) PR_smprintf_free( symlink_path );
++      if ( cert ) X509_free( cert );
++      if ( fp ) fclose( fp );
++      return rv;
++}
++
++#endif /* HAVE_MOZNSS_COMPATIBILITY */
++/*
++  emacs settings
++  Local Variables:
++  indent-tabs-mode: t
++  tab-width: 4
++  End:
++*/
+diff --git a/libraries/libldap/tls_mc_ossl.h b/libraries/libldap/tls_mc_ossl.h
+new file mode 100644
+index 0000000..1b42845
+--- /dev/null
++++ b/libraries/libldap/tls_mc_ossl.h
+@@ -0,0 +1,12 @@
++#ifndef _LDAP_TLSMC_OSSL_H
++#define _LDAP_TLSMC_OSSL_H
++
++#include "portable.h"
++
++#ifdef HAVE_MOZNSS_COMPATIBILITY
++
++int
++tlsmc_cert_create_hash_symlink( char *cert_path, char *cacerts_dir );
++
++#endif
++#endif
+diff --git a/libraries/libldap_r/Makefile.in b/libraries/libldap_r/Makefile.in
+index a43ce6e..6615f6c 100644
+--- a/libraries/libldap_r/Makefile.in
++++ b/libraries/libldap_r/Makefile.in
+@@ -28,7 +28,7 @@ XXSRCS    = apitest.c test.c \
+       request.c os-ip.c url.c pagectrl.c sortctrl.c vlvctrl.c \
+       init.c options.c print.c string.c util-int.c schema.c \
+       charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \
+-      tls2.c tls_o.c tls_g.c tls_m.c \
++      tls2.c tls_o.c tls_g.c tls_m.c tls_mc.c tls_mc_ossl.c \
+       turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \
+       assertion.c deref.c ldif.c fetch.c
+ SRCS  = threads.c rdwr.c rmutex.c tpool.c rq.c \
+@@ -46,7 +46,7 @@ OBJS = threads.lo rdwr.lo rmutex.lo tpool.lo  rq.lo \
+       request.lo os-ip.lo url.lo pagectrl.lo sortctrl.lo vlvctrl.lo \
+       init.lo options.lo print.lo string.lo util-int.lo schema.lo \
+       charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \
+-      tls2.lo tls_o.lo tls_g.lo tls_m.lo \
++      tls2.lo tls_o.lo tls_g.lo tls_m.lo tls_mc.lo tls_mc_ossl.lo \
+       turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \
+       assertion.lo deref.lo ldif.lo fetch.lo
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0019-openldap-openssl-ITS7596-Add-EC-support.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0019-openldap-openssl-ITS7596-Add-EC-support.patch
new file mode 100644 (file)
index 0000000..ef3da1e
--- /dev/null
@@ -0,0 +1,241 @@
+From dc82cdf9c6c25c69c7eee203d1c4f4c91f969ba9 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Tue, 5 Nov 2019 09:30:49 -0800
+Subject: [PATCH 19/20] openldap openssl ITS7596 Add EC support
+
+From e631ce808ed56119e61321463d06db7999ba5a08
+From stx 1901 openldap-openssl-ITS7595-Add-EC-support-1.patch
+---
+ doc/man/man5/slapd-config.5  |  7 +++++++
+ doc/man/man5/slapd.conf.5    |  7 +++++++
+ include/ldap.h               |  1 +
+ libraries/libldap/ldap-int.h |  2 ++
+ libraries/libldap/tls2.c     | 17 +++++++++++++++++
+ libraries/libldap/tls_o.c    | 33 ++++++++++++++++++++++++++++++---
+ servers/slapd/bconfig.c      | 12 +++++++++++-
+ 7 files changed, 75 insertions(+), 4 deletions(-)
+
+diff --git a/doc/man/man5/slapd-config.5 b/doc/man/man5/slapd-config.5
+index 42032d4..733ff1e 100644
+--- a/doc/man/man5/slapd-config.5
++++ b/doc/man/man5/slapd-config.5
+@@ -922,6 +922,13 @@ are not used.
+ When using Mozilla NSS these parameters are always generated randomly
+ so this directive is ignored.
+ .TP
++.B olcTLSECName: <name>
++Specify the name of a curve to use for Elliptic curve Diffie-Hellman
++ephemeral key exchange.  This is required to enable ECDHE algorithms in
++OpenSSL.  This option is not used with GnuTLS; the curves may be
++chosen in the GnuTLS ciphersuite specification. This option is also
++ignored for Mozilla NSS.
++.TP
+ .B olcTLSProtocolMin: <major>[.<minor>]
+ Specifies minimum SSL/TLS protocol version that will be negotiated.
+ If the server doesn't support at least that version,
+diff --git a/doc/man/man5/slapd.conf.5 b/doc/man/man5/slapd.conf.5
+index 2d4431f..ffe74ff 100644
+--- a/doc/man/man5/slapd.conf.5
++++ b/doc/man/man5/slapd.conf.5
+@@ -1153,6 +1153,13 @@ are not used.
+ When using Mozilla NSS these parameters are always generated randomly
+ so this directive is ignored.
+ .TP
++.B TLSECName <name>
++Specify the name of a curve to use for Elliptic curve Diffie-Hellman
++ephemeral key exchange.  This is required to enable ECDHE algorithms in
++OpenSSL.  This option is not used with GnuTLS; the curves may be
++chosen in the GnuTLS ciphersuite specification. This option is also
++ignored for Mozilla NSS.
++.TP
+ .B TLSProtocolMin <major>[.<minor>]
+ Specifies minimum SSL/TLS protocol version that will be negotiated.
+ If the server doesn't support at least that version,
+diff --git a/include/ldap.h b/include/ldap.h
+index 7bc0644..bb22cb8 100644
+--- a/include/ldap.h
++++ b/include/ldap.h
+@@ -158,6 +158,7 @@ LDAP_BEGIN_DECL
+ #define LDAP_OPT_X_TLS_NEWCTX         0x600f
+ #define LDAP_OPT_X_TLS_CRLFILE                0x6010  /* GNUtls only */
+ #define LDAP_OPT_X_TLS_PACKAGE                0x6011
++#define LDAP_OPT_X_TLS_ECNAME         0x6012
+ #define LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY  0x6050
+ #define LDAP_OPT_X_TLS_MOZNSS_COMPATIBILITY_DISABLED  0
+diff --git a/libraries/libldap/ldap-int.h b/libraries/libldap/ldap-int.h
+index 15092c1..f504f44 100644
+--- a/libraries/libldap/ldap-int.h
++++ b/libraries/libldap/ldap-int.h
+@@ -165,6 +165,7 @@ struct ldaptls {
+       char            *lt_ciphersuite;
+       char            *lt_crlfile;
+       char            *lt_randfile;   /* OpenSSL only */
++      char            *lt_ecname;             /* OpenSSL only */
+       int             lt_protocol_min;
+ };
+ #endif
+@@ -250,6 +251,7 @@ struct ldapoptions {
+ #define ldo_tls_certfile      ldo_tls_info.lt_certfile
+ #define ldo_tls_keyfile       ldo_tls_info.lt_keyfile
+ #define ldo_tls_dhfile        ldo_tls_info.lt_dhfile
++#define ldo_tls_ecname        ldo_tls_info.lt_ecname
+ #define ldo_tls_cacertfile    ldo_tls_info.lt_cacertfile
+ #define ldo_tls_cacertdir     ldo_tls_info.lt_cacertdir
+ #define ldo_tls_ciphersuite   ldo_tls_info.lt_ciphersuite
+diff --git a/libraries/libldap/tls2.c b/libraries/libldap/tls2.c
+index 198d0b1..ba4b9c5 100644
+--- a/libraries/libldap/tls2.c
++++ b/libraries/libldap/tls2.c
+@@ -121,6 +121,10 @@ ldap_int_tls_destroy( struct ldapoptions *lo )
+               LDAP_FREE( lo->ldo_tls_dhfile );
+               lo->ldo_tls_dhfile = NULL;
+       }
++      if ( lo->ldo_tls_ecname ) {
++              LDAP_FREE( lo->ldo_tls_ecname );
++              lo->ldo_tls_ecname = NULL;
++      }
+       if ( lo->ldo_tls_cacertfile ) {
+               LDAP_FREE( lo->ldo_tls_cacertfile );
+               lo->ldo_tls_cacertfile = NULL;
+@@ -257,6 +261,10 @@ ldap_int_tls_init_ctx( struct ldapoptions *lo, int is_server )
+               lts.lt_dhfile = LDAP_STRDUP( lts.lt_dhfile );
+               __atoe( lts.lt_dhfile );
+       }
++      if ( lts.lt_ecname ) {
++              lts.lt_ecname = LDAP_STRDUP( lts.lt_ecname );
++              __atoe( lts.lt_ecname );
++      }
+ #endif
+       lo->ldo_tls_ctx = ti->ti_ctx_new( lo );
+       if ( lo->ldo_tls_ctx == NULL ) {
+@@ -282,6 +290,7 @@ error_exit:
+       LDAP_FREE( lts.lt_crlfile );
+       LDAP_FREE( lts.lt_cacertdir );
+       LDAP_FREE( lts.lt_dhfile );
++      LDAP_FREE( lts.lt_ecname );
+ #endif
+       return rc;
+ }
+@@ -686,6 +695,10 @@ ldap_pvt_tls_get_option( LDAP *ld, int option, void *arg )
+               *(char **)arg = lo->ldo_tls_dhfile ?
+                       LDAP_STRDUP( lo->ldo_tls_dhfile ) : NULL;
+               break;
++      case LDAP_OPT_X_TLS_ECNAME:
++              *(char **)arg = lo->ldo_tls_ecname ?
++                      LDAP_STRDUP( lo->ldo_tls_ecname ) : NULL;
++              break;
+       case LDAP_OPT_X_TLS_CRLFILE:    /* GnuTLS only */
+               *(char **)arg = lo->ldo_tls_crlfile ?
+                       LDAP_STRDUP( lo->ldo_tls_crlfile ) : NULL;
+@@ -808,6 +821,10 @@ ldap_pvt_tls_set_option( LDAP *ld, int option, void *arg )
+               if ( lo->ldo_tls_dhfile ) LDAP_FREE( lo->ldo_tls_dhfile );
+               lo->ldo_tls_dhfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
+               return 0;
++      case LDAP_OPT_X_TLS_ECNAME:
++              if ( lo->ldo_tls_ecname ) LDAP_FREE( lo->ldo_tls_ecname );
++              lo->ldo_tls_ecname = arg ? LDAP_STRDUP( (char *) arg ) : NULL;
++              return 0;
+       case LDAP_OPT_X_TLS_CRLFILE:    /* GnuTLS only */
+               if ( lo->ldo_tls_crlfile ) LDAP_FREE( lo->ldo_tls_crlfile );
+               lo->ldo_tls_crlfile = (arg && *(char *)arg) ? LDAP_STRDUP( (char *) arg ) : NULL;
+diff --git a/libraries/libldap/tls_o.c b/libraries/libldap/tls_o.c
+index 92c708b..45afc11 100644
+--- a/libraries/libldap/tls_o.c
++++ b/libraries/libldap/tls_o.c
+@@ -371,10 +371,9 @@ tlso_ctx_init( struct ldapoptions *lo, struct ldaptls *lt, int is_server )
+               return -1;
+       }
+-      if ( lo->ldo_tls_dhfile ) {
+-              DH *dh = NULL;
++      if ( is_server && lo->ldo_tls_dhfile ) {
++              DH *dh;
+               BIO *bio;
+-              SSL_CTX_set_options( ctx, SSL_OP_SINGLE_DH_USE );
+               if (( bio=BIO_new_file( lt->lt_dhfile,"r" )) == NULL ) {
+                       Debug( LDAP_DEBUG_ANY,
+@@ -393,7 +392,35 @@ tlso_ctx_init( struct ldapoptions *lo, struct ldaptls *lt, int is_server )
+               }
+               BIO_free( bio );
+               SSL_CTX_set_tmp_dh( ctx, dh );
++              SSL_CTX_set_options( ctx, SSL_OP_SINGLE_DH_USE );
++              DH_free( dh );
++      }
++
++#ifdef SSL_OP_SINGLE_ECDH_USE
++      if ( is_server && lo->ldo_tls_ecname ) {
++              EC_KEY *ecdh;
++
++              int nid = OBJ_sn2nid( lt->lt_ecname );
++              if ( nid == NID_undef ) {
++                      Debug( LDAP_DEBUG_ANY,
++                              "TLS: could not use EC name `%s'.\n",
++                              lo->ldo_tls_ecname,0,0);
++                      tlso_report_error();
++                      return -1;
++              }
++              ecdh = EC_KEY_new_by_curve_name( nid );
++              if ( ecdh == NULL ) {
++                      Debug( LDAP_DEBUG_ANY,
++                              "TLS: could not generate key for EC name `%s'.\n",
++                              lo->ldo_tls_ecname,0,0);
++                      tlso_report_error();
++                      return -1;
++              }
++              SSL_CTX_set_tmp_ecdh( ctx, ecdh );
++              SSL_CTX_set_options( ctx, SSL_OP_SINGLE_ECDH_USE );
++              EC_KEY_free( ecdh );
+       }
++#endif
+       if ( tlso_opt_trace ) {
+               SSL_CTX_set_info_callback( ctx, tlso_info_cb );
+diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c
+index 250f141..8b1e4e5 100644
+--- a/servers/slapd/bconfig.c
++++ b/servers/slapd/bconfig.c
+@@ -194,6 +194,7 @@ enum {
+       CFG_ACL_ADD,
+       CFG_SYNC_SUBENTRY,
+       CFG_LTHREADS,
++      CFG_TLS_ECNAME,
+       CFG_LAST
+ };
+@@ -738,6 +739,14 @@ static ConfigTable config_back_cf_table[] = {
+ #endif
+               "( OLcfgGlAt:77 NAME 'olcTLSDHParamFile' "
+                       "SYNTAX OMsDirectoryString SINGLE-VALUE )", NULL, NULL },
++      { "TLSECName", NULL, 2, 2, 0,
++#ifdef HAVE_TLS
++              CFG_TLS_ECNAME|ARG_STRING|ARG_MAGIC, &config_tls_option,
++#else
++              ARG_IGNORED, NULL,
++#endif
++              "( OLcfgGlAt:96 NAME 'olcTLSECName' "
++                      "SYNTAX OMsDirectoryString SINGLE-VALUE )", NULL, NULL },
+       { "TLSProtocolMin",     NULL, 2, 2, 0,
+ #ifdef HAVE_TLS
+               CFG_TLS_PROTOCOL_MIN|ARG_STRING|ARG_MAGIC, &config_tls_config,
+@@ -819,7 +828,7 @@ static ConfigOCs cf_ocs[] = {
+                "olcThreads $ olcTimeLimit $ olcTLSCACertificateFile $ "
+                "olcTLSCACertificatePath $ olcTLSCertificateFile $ "
+                "olcTLSCertificateKeyFile $ olcTLSCipherSuite $ olcTLSCRLCheck $ "
+-               "olcTLSRandFile $ olcTLSVerifyClient $ olcTLSDHParamFile $ "
++               "olcTLSRandFile $ olcTLSVerifyClient $ olcTLSDHParamFile $ olcTLSECName $ "
+                "olcTLSCRLFile $ olcTLSProtocolMin $ olcToolThreads $ olcWriteTimeout $ "
+                "olcObjectIdentifier $ olcAttributeTypes $ olcObjectClasses $ "
+                "olcDitContentRules $ olcLdapSyntaxes ) )", Cft_Global },
+@@ -3824,6 +3833,7 @@ config_tls_option(ConfigArgs *c) {
+       case CFG_TLS_CA_PATH:   flag = LDAP_OPT_X_TLS_CACERTDIR;        break;
+       case CFG_TLS_CA_FILE:   flag = LDAP_OPT_X_TLS_CACERTFILE;       break;
+       case CFG_TLS_DH_FILE:   flag = LDAP_OPT_X_TLS_DHFILE;   break;
++      case CFG_TLS_ECNAME:    flag = LDAP_OPT_X_TLS_ECNAME;   break;
+ #ifdef HAVE_GNUTLS
+       case CFG_TLS_CRL_FILE:  flag = LDAP_OPT_X_TLS_CRLFILE;  break;
+ #endif
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0020-openldap-openssl-ITS7596-Add-EC-support-patch-2.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0020-openldap-openssl-ITS7596-Add-EC-support-patch-2.patch
new file mode 100644 (file)
index 0000000..388f46d
--- /dev/null
@@ -0,0 +1,42 @@
+From 14058818a2d2aa42427a0e9433957c90a1264ec5 Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Tue, 5 Nov 2019 09:50:55 -0800
+Subject: [PATCH 20/20] openldap openssl ITS7596 Add EC support patch 2
+
+From 721e46fe6695077d63a3df6ea2e397920a72308d
+From stx 1901 openldap-openssl-ITS7595-Add-EC-support-2.patch
+---
+ libraries/libldap/tls_o.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/libraries/libldap/tls_o.c b/libraries/libldap/tls_o.c
+index 45afc11..0a70156 100644
+--- a/libraries/libldap/tls_o.c
++++ b/libraries/libldap/tls_o.c
+@@ -396,8 +396,12 @@ tlso_ctx_init( struct ldapoptions *lo, struct ldaptls *lt, int is_server )
+               DH_free( dh );
+       }
+-#ifdef SSL_OP_SINGLE_ECDH_USE
+       if ( is_server && lo->ldo_tls_ecname ) {
++#ifdef OPENSSL_NO_EC
++              Debug( LDAP_DEBUG_ANY,
++                      "TLS: Elliptic Curves not supported.\n", 0,0,0 );
++              return -1;
++#else
+               EC_KEY *ecdh;
+               int nid = OBJ_sn2nid( lt->lt_ecname );
+@@ -419,8 +423,8 @@ tlso_ctx_init( struct ldapoptions *lo, struct ldaptls *lt, int is_server )
+               SSL_CTX_set_tmp_ecdh( ctx, ecdh );
+               SSL_CTX_set_options( ctx, SSL_OP_SINGLE_ECDH_USE );
+               EC_KEY_free( ecdh );
+-      }
+ #endif
++      }
+       if ( tlso_opt_trace ) {
+               SSL_CTX_set_info_callback( ctx, tlso_info_cb );
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0022-ltb-project-openldap-ppolicy-check-password-1.1.patch b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/0022-ltb-project-openldap-ppolicy-check-password-1.1.patch
new file mode 100644 (file)
index 0000000..d66cc7a
--- /dev/null
@@ -0,0 +1,775 @@
+From 26002bd1d02d871e3c0526f3a0b7b99e25f3564c Mon Sep 17 00:00:00 2001
+From: babak sarashki <babak.sarashki@windriver.com>
+Date: Tue, 5 Nov 2019 18:02:38 -0800
+Subject: [PATCH] ltb project openldap ppolicy check password 1.1
+
+From stx 1901 openldap src RPM 2.4.44
+Upstream at https://github.com/ltb-project/openldap-ppolicy-check-password.git
+---
+ .../INSTALL                                   |  31 ++
+ .../LICENSE                                   |  50 ++
+ .../Makefile                                  |  48 ++
+ .../README                                    | 146 ++++++
+ .../check_password.c                          | 447 ++++++++++++++++++
+ 5 files changed, 722 insertions(+)
+ create mode 100644 ltb-project-openldap-ppolicy-check-password-1.1/INSTALL
+ create mode 100644 ltb-project-openldap-ppolicy-check-password-1.1/LICENSE
+ create mode 100644 ltb-project-openldap-ppolicy-check-password-1.1/Makefile
+ create mode 100644 ltb-project-openldap-ppolicy-check-password-1.1/README
+ create mode 100644 ltb-project-openldap-ppolicy-check-password-1.1/check_password.c
+
+diff --git a/ltb-project-openldap-ppolicy-check-password-1.1/INSTALL b/ltb-project-openldap-ppolicy-check-password-1.1/INSTALL
+new file mode 100644
+index 0000000..eb2dab4
+--- /dev/null
++++ b/ltb-project-openldap-ppolicy-check-password-1.1/INSTALL
+@@ -0,0 +1,31 @@
++INSTALLATION
++============
++
++Build dependencies
++------------------
++cracklib header files (link with -lcrack). The Makefile does not look for
++cracklib; you may need to provide the paths manually.
++
++Build
++-----
++Use the provided Makefile to build the module.
++
++Copy the resulting check_password.so into the OpenLDAP modulepath.
++
++Or, change the installation path to match with the OpenLDAP module path in the
++Makefile and use 'make install'.
++
++
++USAGE
++=====
++Add objectClass 'pwdPolicyChecker' with an attribute
++
++   pwdCheckModule: check_password.so
++
++to a password policy entry.
++
++The module depends on a working cracklib installation including wordlist files.
++If the wordlist files are not readable, the cracklib check will be skipped
++silently. 
++
++But you can use this module without cracklib, just checks for syntatic checks.
+diff --git a/ltb-project-openldap-ppolicy-check-password-1.1/LICENSE b/ltb-project-openldap-ppolicy-check-password-1.1/LICENSE
+new file mode 100644
+index 0000000..03f692b
+--- /dev/null
++++ b/ltb-project-openldap-ppolicy-check-password-1.1/LICENSE
+@@ -0,0 +1,50 @@
++OpenLDAP Public License
++
++The OpenLDAP Public License
++  Version 2.8.1, 25 November 2003
++
++Redistribution and use of this software and associated documentation
++("Software"), with or without modification, are permitted provided
++that the following conditions are met:
++
++1. Redistributions in source form must retain copyright statements
++   and notices,
++
++2. Redistributions in binary form must reproduce applicable copyright
++   statements and notices, this list of conditions, and the following
++   disclaimer in the documentation and/or other materials provided
++   with the distribution, and
++
++3. Redistributions must contain a verbatim copy of this document.
++
++The OpenLDAP Foundation may revise this license from time to time.
++Each revision is distinguished by a version number.  You may use
++this Software under terms of this license revision or under the
++terms of any subsequent revision of the license.
++
++THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
++CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
++INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
++AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT
++SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
++OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
++INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
++BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
++CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
++ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGE.
++
++The names of the authors and copyright holders must not be used in
++advertising or otherwise to promote the sale, use or other dealing
++in this Software without specific, written prior permission.  Title
++to copyright in this Software shall at all times remain with copyright
++holders.
++
++OpenLDAP is a registered trademark of the OpenLDAP Foundation.
++
++Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
++California, USA.  All rights reserved.  Permission to copy and
++distribute verbatim copies of this document is granted.
++
+diff --git a/ltb-project-openldap-ppolicy-check-password-1.1/Makefile b/ltb-project-openldap-ppolicy-check-password-1.1/Makefile
+new file mode 100644
+index 0000000..91de40b
+--- /dev/null
++++ b/ltb-project-openldap-ppolicy-check-password-1.1/Makefile
+@@ -0,0 +1,48 @@
++# contrib/slapd-modules/check_password/Makefile
++# Copyright 2007 Michael Steinmann, Calivia. All Rights Reserved.
++# Updated by Pierre-Yves Bonnetain, B&A Consultants, 2008
++#
++
++CC=gcc
++
++# Where to look for the CrackLib dictionaries
++#
++CRACKLIB=/usr/share/cracklib/pw_dict
++
++# Path to the configuration file
++#
++CONFIG=/etc/openldap/check_password.conf
++
++CFLAGS+=-fpic                                                  \
++      -DHAVE_CRACKLIB -DCRACKLIB_DICTPATH="\"$(CRACKLIB)\""  \
++      -DCONFIG_FILE="\"$(CONFIG)\""                          \
++      -DDEBUG
++
++LDAP_LIB=-lldap_r -llber
++
++# Comment out this line if you do NOT want to use the cracklib.
++# You may have to add an -Ldirectory if the libcrak is not in a standard
++# location
++#
++CRACKLIB_LIB=-lcrack
++
++LIBS=$(LDAP_LIB) $(CRACKLIB_LIB)
++
++LIBDIR=/usr/lib/openldap/
++
++
++all:  check_password
++
++check_password.o:
++      $(CC) $(CFLAGS) -c $(LDAP_INC) check_password.c
++
++check_password: clean check_password.o
++      $(CC) $(LDFLAGS) -shared -o check_password.so check_password.o $(CRACKLIB_LIB)
++
++install: check_password
++      cp -f check_password.so ../../../usr/lib/openldap/modules/
++
++clean:
++      $(RM) check_password.o check_password.so check_password.lo
++      $(RM) -r .libs
++
+diff --git a/ltb-project-openldap-ppolicy-check-password-1.1/README b/ltb-project-openldap-ppolicy-check-password-1.1/README
+new file mode 100644
+index 0000000..10191c2
+--- /dev/null
++++ b/ltb-project-openldap-ppolicy-check-password-1.1/README
+@@ -0,0 +1,146 @@
++
++check_password.c - OpenLDAP pwdChecker library
++
++2007-06-06 Michael Steinmann <msl@calivia.com>
++2008-01-30 Pierre-Yves Bonnetain <py.bonnetain@ba-cst.com>
++2009        Clement Oudot <clem.oudot@gmail.com> - LTB-project
++2009        Jerome HUET - LTB-project
++
++check_password.c is an OpenLDAP pwdPolicyChecker module used to check the
++strength and quality of user-provided passwords.
++
++This module is used as an extension of the OpenLDAP password policy controls,
++see slapo-ppolicy(5) section pwdCheckModule.
++
++check_password.c will run a number of checks on the passwords to ensure minimum
++strength and quality requirements are met. Passwords that do not meet these
++requirements are rejected.
++
++
++Password checks
++---------------
++ - passwords shorter than 6 characters are rejected if cracklib is used (because
++   cracklib WILL reject them).
++
++ - syntactic checks controls how many different character classes are used
++   (lower, upper, digit and punctuation characters). The minimum number of
++   classes is defined in a configuration file. You can set the minimum for each
++   class.
++
++ - passwords are checked against cracklib if cracklib is enabled at compile
++   time. It can be disabled in configuration file.
++
++INSTALLATION
++------------
++Use the provided Makefile to build the module.
++
++Compilation constants :
++
++CONFIG_FILE : Path to the configuration file. 
++              Defaults to /etc/openldap/check_password.conf
++
++DEBUG : If defined, check_password will syslog() its actions.
++
++Build dependencies
++cracklib header files (link with -lcrack). The Makefile does not look for
++cracklib; you may need to provide the paths manually.
++
++Install into the slapd server module path.  Change the installation
++path to match with the OpenLDAP module path in the Makefile.
++
++The module may be defined with slapd.conf parameter "modulepath".
++
++USAGE
++-----
++To use this module you need to add objectClass pwdPolicyChecker with an 
++attribute 'pwdCheckModule: check_password.so' to a password policy entry.
++
++The module depends on a working cracklib installation including wordlist files.
++If the wordlist files are not readable, the cracklib check will be skipped
++silently.
++
++Note: pwdPolicyChecker modules are loaded on *every* password change operation.
++
++Configuration
++-------------
++The configuration file (/etc/openldap/check_password.conf by default) contains
++parameters for the module. If the file is not found, parameters are given their
++default value.
++
++The syntax of the file is :
++
++parameter value
++
++with spaces being delimiters. Parameter names ARE case sensitive (this may
++change in the future).
++
++Current parameters :
++
++-  useCracklib: integer. Default value: 1. Set it to 0 to disable cracklib verification.
++   It has no effect if cracklib is not included at compile time.
++
++-  minPoints: integer. Default value: 3. Minimum number of quality points a new
++   password must have to be accepted. One quality point is awarded for each character
++   class used in the password.
++
++- minUpper: integer. Defaut value: 0. Minimum upper characters expected.
++
++- minLower: integer. Defaut value: 0. Minimum lower characters expected.
++
++- minDigit: integer. Defaut value: 0. Minimum digit characters expected.
++
++- minPunct: integer. Defaut value: 0. Minimum punctuation characters expected.
++
++Logs
++----
++If a user password is rejected by an OpenLDAP pwdChecker module, the user will
++*not* get a detailed error message, this is by design.
++
++Typical user message from ldappasswd(5):
++  Result: Constraint violation (19)
++  Additional info: Password fails quality checking policy
++
++A more detailed message is written to the server log.
++
++Server log:
++  check_password_quality: module error: (check_password.so)
++  Password for dn=".." does not pass required number of strength checks (2 of 3)
++
++
++Caveats
++-------
++Runtime errors with this module (such as cracklib configuration problems) may
++bring down the slapd process.
++
++Use at your own risk.
++
++
++TODO
++----
++* use proper malloc function, see ITS#4998
++
++
++HISTORY
++-------
++* 2009-10-30 Clement OUDOT - LTB-project
++  Version 1.1
++   - Apply patch from Jerome HUET for minUpper/minLower/minDigit/minPunct
++
++* 2009-02-05 Clement Oudot <clem.oudot@gmail.com> - LINAGORA Group
++  Version 1.0.3
++  - Add useCracklib parameter in config file (with help of Pascal Pejac)
++  - Prefix log messages with "check_password: "
++  - Log what character type is found for quality checking
++
++* 2008-01-31 Pierre-Yves Bonnetain <py.bonnetain@ba-cst.com>
++  Version 1.0.2
++  - Several bug fixes.
++  - Add external config file
++
++* 2007-06-06 Michael Steinmann <msl@calivia.com>
++  Version 1.0.1
++  - add dn to error messages
++
++* 2007-06-02 Michael Steinmann <msl@calivia.com>
++  Version 1.0
++
+diff --git a/ltb-project-openldap-ppolicy-check-password-1.1/check_password.c b/ltb-project-openldap-ppolicy-check-password-1.1/check_password.c
+new file mode 100644
+index 0000000..f4dd1cb
+--- /dev/null
++++ b/ltb-project-openldap-ppolicy-check-password-1.1/check_password.c
+@@ -0,0 +1,447 @@
++/*
++ * check_password.c for OpenLDAP
++ *
++ * See LICENSE, README and INSTALL files
++ */
++
++#include <string.h>
++#include <ctype.h>
++#include <portable.h>
++#include <slap.h>
++
++#ifdef HAVE_CRACKLIB
++#include <crack.h>
++#endif
++
++#if defined(DEBUG)
++#include <syslog.h>
++#endif
++
++#ifndef CRACKLIB_DICTPATH
++#define CRACKLIB_DICTPATH "/usr/share/cracklib/pw_dict"
++#endif
++
++#ifndef CONFIG_FILE
++#define CONFIG_FILE "/etc/openldap/check_password.conf"
++#endif
++
++#define DEFAULT_QUALITY  3
++#define DEFAULT_CRACKLIB 1
++#define MEMORY_MARGIN    50
++#define MEM_INIT_SZ      64
++#define FILENAME_MAXLEN  512
++
++#define PASSWORD_TOO_SHORT_SZ \
++      "Password for dn=\"%s\" is too short (%d/6)"
++#define PASSWORD_QUALITY_SZ \
++      "Password for dn=\"%s\" does not pass required number of strength checks for the required character sets (%d of %d)"
++#define BAD_PASSWORD_SZ \
++      "Bad password for dn=\"%s\" because %s"
++#define UNKNOWN_ERROR_SZ \
++      "An unknown error occurred, please see your systems administrator"
++
++typedef int (*validator) (char*);
++static int read_config_file ();
++static validator valid_word (char *);
++static int set_quality (char *);
++static int set_cracklib (char *);
++
++int check_password (char *pPasswd, char **ppErrStr, Entry *pEntry);
++
++struct config_entry {
++      char* key;
++      char* value;
++      char* def_value;
++} config_entries[] = { { "minPoints", NULL, "3"},
++                     { "useCracklib", NULL, "1"},
++                     { "minUpper", NULL, "0"},
++                     { "minLower", NULL, "0"},
++                     { "minDigit", NULL, "0"},
++                     { "minPunct", NULL, "0"},
++                     { NULL, NULL, NULL }};
++
++int get_config_entry_int(char* entry) {
++      struct config_entry* centry = config_entries;
++
++      int i = 0;
++      char* key = centry[i].key;
++      while (key != NULL) {
++              if ( strncmp(key, entry, strlen(key)) == 0 ) {
++                      if ( centry[i].value == NULL ) {
++                              return atoi(centry[i].def_value);
++                      }
++                      else {
++                              return atoi(centry[i].value);
++                      }
++              }
++              i++;
++              key = centry[i].key;
++      }
++
++      return -1;
++}
++
++void dealloc_config_entries() {
++      struct config_entry* centry = config_entries;
++
++      int i = 0;
++      while (centry[i].key != NULL) {
++              if ( centry[i].value != NULL ) {
++                      ber_memfree(centry[i].value);
++              }
++              i++;
++      }
++}
++
++char* chomp(char *s)
++{
++      char* t = ber_memalloc(strlen(s)+1);
++      strncpy (t,s,strlen(s)+1);
++
++      if ( t[strlen(t)-1] == '\n' ) {
++              t[strlen(t)-1] = '\0';
++      }
++
++      return t;
++}
++
++static int set_quality (char *value)
++{
++#if defined(DEBUG)
++      syslog(LOG_INFO, "check_password: Setting quality to [%s]", value);
++#endif
++
++      /* No need to require more quality than we can check for. */
++      if (!isdigit(*value) || (int) (value[0] - '0') > 4) return DEFAULT_QUALITY;
++      return (int) (value[0] - '0');
++
++}
++
++static int set_cracklib (char *value)
++{
++#if defined(DEBUG)
++      syslog(LOG_INFO, "check_password: Setting cracklib usage to [%s]", value);
++#endif
++
++
++      return (int) (value[0] - '0');
++
++}
++
++static int set_digit (char *value)
++{
++#if defined(DEBUG)
++      syslog(LOG_INFO, "check_password: Setting parameter to [%s]", value);
++#endif
++      if (!isdigit(*value) || (int) (value[0] - '0') > 9) return 0;
++      return (int) (value[0] - '0');
++}
++
++static validator valid_word (char *word)
++{
++      struct {
++              char * parameter;
++              validator dealer;
++      } list[] = { { "minPoints", set_quality },
++                   { "useCracklib", set_cracklib },
++                   { "minUpper", set_digit },
++                   { "minLower", set_digit },
++                   { "minDigit", set_digit },
++                   { "minPunct", set_digit },
++                   { NULL, NULL } };
++      int index = 0;
++
++#if defined(DEBUG)
++      syslog(LOG_DEBUG, "check_password: Validating parameter [%s]", word);
++#endif
++
++      while (list[index].parameter != NULL) {
++              if (strlen(word) == strlen(list[index].parameter) &&
++                  strcmp(list[index].parameter, word) == 0) {
++#if defined(DEBUG)
++                      syslog(LOG_DEBUG, "check_password: Parameter accepted.");
++#endif
++                      return list[index].dealer;
++              }
++              index++;
++      }
++
++#if defined(DEBUG)
++      syslog(LOG_DEBUG, "check_password: Parameter rejected.");
++#endif
++
++      return NULL;
++}
++
++static int read_config_file ()
++{
++      FILE * config;
++      char * line;
++      int returnValue =  -1;
++
++      line = ber_memcalloc(260, sizeof(char));
++
++      if ( line == NULL ) {
++              return returnValue;
++      }
++
++      if ( (config = fopen(CONFIG_FILE, "r")) == NULL) {
++#if defined(DEBUG)
++              syslog(LOG_ERR, "check_password: Opening file %s failed", CONFIG_FILE);
++#endif
++
++              ber_memfree(line);
++              return returnValue;
++      }
++
++      returnValue = 0;
++
++      while (fgets(line, 256, config) != NULL) {
++              char *start = line;
++              char *word, *value;
++              validator dealer;
++
++#if defined(DEBUG)
++              /* Debug traces to syslog. */
++              syslog(LOG_DEBUG, "check_password: Got line |%s|", line);
++#endif
++
++              while (isspace(*start) && isascii(*start)) start++;
++
++              /* If we've got punctuation, just skip the line. */
++              if ( ispunct(*start)) {
++#if defined(DEBUG)
++                      /* Debug traces to syslog. */
++                      syslog(LOG_DEBUG, "check_password: Skipped line |%s|", line);
++#endif
++                      continue;
++              }
++
++              if( isascii(*start)) {
++
++                      struct config_entry* centry = config_entries;
++                      int i = 0;
++                      char* keyWord = centry[i].key;
++                      if ((word = strtok(start, " \t")) && (value = strtok(NULL, " \t"))) {
++                              while ( keyWord != NULL ) {
++                                      if ((strncmp(keyWord,word,strlen(keyWord)) == 0) && (dealer = valid_word(word)) ) {
++
++#if defined(DEBUG)
++                                              syslog(LOG_DEBUG, "check_password: Word = %s, value = %s", word, value);
++#endif
++
++                                              centry[i].value = chomp(value);
++                                              break;
++                                      }
++                                      i++;
++                                      keyWord = centry[i].key;
++                              }
++                      }
++              }
++      }
++      fclose(config);
++      ber_memfree(line);
++
++      return returnValue;
++}
++
++static int realloc_error_message (char ** target, int curlen, int nextlen)
++{
++      if (curlen < nextlen + MEMORY_MARGIN) {
++#if defined(DEBUG)
++              syslog(LOG_WARNING, "check_password: Reallocating szErrStr from %d to %d",
++                     curlen, nextlen + MEMORY_MARGIN);
++#endif
++              ber_memfree(*target);
++              curlen = nextlen + MEMORY_MARGIN;
++              *target = (char *) ber_memalloc(curlen);
++      }
++
++      return curlen;
++}
++
++int
++check_password (char *pPasswd, char **ppErrStr, Entry *pEntry)
++{
++
++      char *szErrStr = (char *) ber_memalloc(MEM_INIT_SZ);
++      int  mem_len = MEM_INIT_SZ;
++
++      int nLen;
++      int nLower = 0;
++      int nUpper = 0;
++      int nDigit = 0;
++      int nPunct = 0;
++      int minLower = 0;
++      int minUpper = 0;
++      int minDigit = 0;
++      int minPunct = 0;
++      int nQuality = 0;
++      int i;
++
++      /* Set a sensible default to keep original behaviour. */
++      int minQuality = DEFAULT_QUALITY;
++      int useCracklib = DEFAULT_CRACKLIB;
++
++      /** bail out early as cracklib will reject passwords shorter
++       * than 6 characters
++       */
++
++      nLen = strlen (pPasswd);
++      if ( nLen < 6) {
++              mem_len = realloc_error_message(&szErrStr, mem_len,
++                                              strlen(PASSWORD_TOO_SHORT_SZ) +
++                                              strlen(pEntry->e_name.bv_val) + 1);
++              sprintf (szErrStr, PASSWORD_TOO_SHORT_SZ, pEntry->e_name.bv_val, nLen);
++              goto fail;
++      }
++
++      if (read_config_file() == -1) {
++              syslog(LOG_ERR, "Warning: Could not read values from config file %s. Using defaults.", CONFIG_FILE);
++      }
++
++      minQuality = get_config_entry_int("minPoints");
++      useCracklib = get_config_entry_int("useCracklib");
++      minUpper = get_config_entry_int("minUpper");
++      minLower = get_config_entry_int("minLower");
++      minDigit = get_config_entry_int("minDigit");
++      minPunct = get_config_entry_int("minPunct");
++
++      /** The password must have at least minQuality strength points with one
++       * point for the first occurrance of a lower, upper, digit and
++       * punctuation character
++       */
++
++      for ( i = 0; i < nLen; i++ ) {
++
++              if ( islower (pPasswd[i]) ) {
++                      minLower--;
++                      if ( !nLower && (minLower < 1)) {
++                              nLower = 1; nQuality++;
++#if defined(DEBUG)
++                              syslog(LOG_DEBUG, "check_password: Found lower character - quality raise %d", nQuality);
++#endif
++                      }
++                      continue;
++              }
++
++              if ( isupper (pPasswd[i]) ) {
++                      minUpper--;
++                      if ( !nUpper && (minUpper < 1)) {
++                              nUpper = 1; nQuality++;
++#if defined(DEBUG)
++                              syslog(LOG_DEBUG, "check_password: Found upper character - quality raise %d", nQuality);
++#endif
++                      }
++                      continue;
++              }
++
++              if ( isdigit (pPasswd[i]) ) {
++                      minDigit--;
++                      if ( !nDigit && (minDigit < 1)) {
++                              nDigit = 1; nQuality++;
++#if defined(DEBUG)
++                              syslog(LOG_DEBUG, "check_password: Found digit character - quality raise %d", nQuality);
++#endif
++                      }
++                      continue;
++              }
++
++              if ( ispunct (pPasswd[i]) ) {
++                      minPunct--;
++                      if ( !nPunct && (minPunct < 1)) {
++                              nPunct = 1; nQuality++;
++#if defined(DEBUG)
++                              syslog(LOG_DEBUG, "check_password: Found punctuation character - quality raise %d", nQuality);
++#endif
++                      }
++                      continue;
++              }
++      }
++
++      /*
++       * If you have a required field, then it should be required in the strength
++       * checks.
++       */
++
++      if (
++              (minLower > 0 ) ||
++              (minUpper > 0 ) ||
++              (minDigit > 0 ) ||
++              (minPunct > 0 ) ||
++              (nQuality < minQuality)
++              ) {
++              mem_len = realloc_error_message(&szErrStr, mem_len,
++                                              strlen(PASSWORD_QUALITY_SZ) +
++                                              strlen(pEntry->e_name.bv_val) + 2);
++              sprintf (szErrStr, PASSWORD_QUALITY_SZ, pEntry->e_name.bv_val,
++                       nQuality, minQuality);
++              goto fail;
++      }
++
++#ifdef HAVE_CRACKLIB
++
++      /** Check password with cracklib */
++
++      if ( useCracklib > 0 ) {
++              int   j = 0;
++              FILE* fp;
++              char  filename[FILENAME_MAXLEN];
++              char  const* ext[] = { "hwm", "pwd", "pwi" };
++              int   nErr = 0;
++
++              /**
++               * Silently fail when cracklib wordlist is not found
++               */
++
++              for ( j = 0; j < 3; j++ ) {
++
++                      snprintf (filename, FILENAME_MAXLEN - 1, "%s.%s", \
++                                CRACKLIB_DICTPATH, ext[j]);
++
++                      if (( fp = fopen ( filename, "r")) == NULL ) {
++
++                              nErr = 1;
++                              break;
++
++                      } else {
++
++                              fclose (fp);
++
++                      }
++              }
++
++              char *r;
++              if ( nErr  == 0) {
++
++                      r = (char *) FascistCheck (pPasswd, CRACKLIB_DICTPATH);
++                      if ( r != NULL ) {
++                              mem_len = realloc_error_message(&szErrStr, mem_len,
++                                                              strlen(BAD_PASSWORD_SZ) +
++                                                              strlen(pEntry->e_name.bv_val) +
++                                                              strlen(r));
++                              sprintf (szErrStr, BAD_PASSWORD_SZ, pEntry->e_name.bv_val, r);
++                              goto fail;
++                      }
++              }
++      }
++
++      else {
++#if defined(DEBUG)
++              syslog(LOG_NOTICE, "check_password: Cracklib verification disabled by configuration");
++#endif
++      }
++
++#endif
++      dealloc_config_entries();
++      *ppErrStr = strdup ("");
++      ber_memfree(szErrStr);
++      return (LDAP_SUCCESS);
++
++fail:
++      dealloc_config_entries();
++      *ppErrStr = strdup (szErrStr);
++      ber_memfree(szErrStr);
++      return (EXIT_FAILURE);
++
++}
+-- 
+2.17.1
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/ldap.conf b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/ldap.conf
new file mode 100644 (file)
index 0000000..1b54865
--- /dev/null
@@ -0,0 +1,19 @@
+
+#
+# LDAP Defaults
+#
+
+# See ldap.conf(5) for details
+# This file should be world readable but not world writable.
+
+#BASE  dc=example,dc=com
+#URI   ldap://ldap.example.com ldap://ldap-master.example.com:666
+
+#SIZELIMIT     12
+#TIMELIMIT     15
+#DEREF         never
+
+TLS_CACERTDIR  /etc/openldap/certs
+
+# Turning this off breaks GSSAPI used with krb5 when rdns = false
+SASL_NOCANON   on
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-check-config.sh b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-check-config.sh
new file mode 100755 (executable)
index 0000000..87e377f
--- /dev/null
@@ -0,0 +1,91 @@
+#!/bin/sh
+# Author: Jan Vcelak <jvcelak@redhat.com>
+
+. /usr/libexec/openldap/functions
+
+function check_config_syntax()
+{
+       retcode=0
+       tmp_slaptest=`mktemp --tmpdir=/var/run/openldap`
+       run_as_ldap "/usr/sbin/slaptest $SLAPD_GLOBAL_OPTIONS -u" &>$tmp_slaptest
+       if [ $? -ne 0 ]; then
+               error "Checking configuration file failed:"
+               cat $tmp_slaptest >&2
+               retcode=1
+       fi
+       rm $tmp_slaptest
+       return $retcode
+}
+
+function check_certs_perms()
+{
+       retcode=0
+       for cert in `certificates`; do
+               run_as_ldap "/usr/bin/test -e \"$cert\""
+               if [ $? -ne 0 ]; then
+                       error "TLS certificate/key/DB '%s' was not found." "$cert"
+                       retcoder=1
+                       continue
+               fi
+               run_as_ldap "/usr/bin/test -r \"$cert\""
+               if [ $? -ne 0 ]; then
+                       error "TLS certificate/key/DB '%s' is not readable." "$cert"
+                       retcode=1
+               fi
+       done
+       return $retcode
+}
+
+function check_db_perms()
+{
+       retcode=0
+       for dbdir in `databases`; do
+               [ -d "$dbdir" ] || continue
+               for dbfile in `find ${dbdir} -maxdepth 1 -name "*.dbb" -or -name "*.gdbm" -or -name "*.bdb" -or -name "__db.*" -or -name "log.*" -or -name "alock"`; do
+                       run_as_ldap "/usr/bin/test -r \"$dbfile\" -a -w \"$dbfile\""
+                       if [ $? -ne 0 ]; then
+                               error "Read/write permissions for DB file '%s' are required." "$dbfile"
+                               retcode=1
+                       fi
+               done
+       done
+       return $retcode
+}
+
+function check_everything()
+{
+       retcode=0
+       check_config_syntax || retcode=1
+       # TODO: need support for Mozilla NSS, disabling temporarily
+       #check_certs_perms || retcode=1
+       check_db_perms || retcode=1
+       return $retcode
+}
+
+if [ `id -u` -ne 0 ]; then
+       error "You have to be root to run this script."
+       exit 4
+fi
+
+load_sysconfig
+
+if [ -n "$SLAPD_CONFIG_DIR" ]; then
+       if [ ! -d "$SLAPD_CONFIG_DIR" ]; then
+               error "Configuration directory '%s' does not exist." "$SLAPD_CONFIG_DIR"
+       else
+               check_everything
+               exit $?
+       fi
+fi
+
+if [ -n "$SLAPD_CONFIG_FILE" ]; then
+       if [ ! -f "$SLAPD_CONFIG_FILE" ]; then
+               error "Configuration file '%s' does not exist." "$SLAPD_CONFIG_FILE"
+       else
+               error "Warning: Usage of a configuration file is obsolete!"
+               check_everything
+               exit $?
+       fi
+fi
+
+exit 1
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-convert-config.sh b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-convert-config.sh
new file mode 100755 (executable)
index 0000000..824c3b1
--- /dev/null
@@ -0,0 +1,79 @@
+#!/bin/sh
+# Author: Jan Vcelak <jvcelak@redhat.com>
+
+. /usr/libexec/openldap/functions
+
+function help()
+{
+       error "usage: %s [-f config-file] [-F config-dir]\n" "`basename $0`"
+       exit 2
+}
+
+load_sysconfig
+
+while getopts :f:F: opt; do
+       case "$opt" in
+       f)
+               SLAPD_CONFIG_FILE="$OPTARG"
+               ;;
+       F)
+               SLAPD_CONFIG_DIR="$OPTARG"
+               ;;
+       *)
+               help
+               ;;
+       esac
+done
+shift $((OPTIND-1))
+[ -n "$1" ] && help
+
+# check source, target
+
+if [ ! -f "$SLAPD_CONFIG_FILE" ]; then
+       error "Source configuration file '%s' not found." "$SLAPD_CONFIG_FILE"
+       exit 1
+fi
+
+if grep -iq '^dn: cn=config$' "$SLAPD_CONFIG_FILE"; then
+       SLAPD_CONFIG_FILE_FORMAT=ldif
+else
+       SLAPD_CONFIG_FILE_FORMAT=conf
+fi
+
+if [ -d "$SLAPD_CONFIG_DIR" ]; then
+       if [ `find "$SLAPD_CONFIG_DIR" -maxdepth 0 -empty | wc -l` -eq 0 ]; then
+               error "Target configuration directory '%s' is not empty." "$SLAPD_CONFIG_DIR"
+               exit 1
+       fi
+fi
+
+# perform the conversion
+
+tmp_convert=`mktemp --tmpdir=/var/run/openldap`
+
+if [ `id -u` -eq 0 ]; then
+       install -d --owner $SLAPD_USER --group `id -g $SLAPD_USER` --mode 0750 "$SLAPD_CONFIG_DIR" &>>$tmp_convert
+       if [ $SLAPD_CONFIG_FILE_FORMAT = ldif ]; then
+               run_as_ldap "/usr/sbin/slapadd -F \"$SLAPD_CONFIG_DIR\" -n 0 -l \"$SLAPD_CONFIG_FILE\"" &>>$tmp_convert
+       else
+               run_as_ldap "/usr/sbin/slaptest -f \"$SLAPD_CONFIG_FILE\" -F \"$SLAPD_CONFIG_DIR\"" &>>$tmp_convert
+       fi
+       retcode=$?
+else
+       error "You are not root! Permission will not be set."
+       install -d --mode 0750 "$SLAPD_CONFIG_DIR" &>>$tmp_convert
+       if [ $SLAPD_CONFIG_FILE_FORMAT = ldif ]; then
+               /usr/sbin/slapadd -F "$SLAPD_CONFIG_DIR" -n 0 -l "$SLAPD_CONFIG_FILE" &>>$tmp_convert
+       else
+               /usr/sbin/slaptest -f "$SLAPD_CONFIG_FILE" -F "$SLAPD_CONFIG_DIR" &>>$tmp_convert
+       fi
+       retcode=$?
+fi
+
+if [ $retcode -ne 0 ]; then
+       error "Configuration conversion failed:"
+       cat $tmp_convert >&2
+fi
+
+rm $tmp_convert
+exit $retcode
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-create-certdb.sh b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-create-certdb.sh
new file mode 100755 (executable)
index 0000000..2377fdd
--- /dev/null
@@ -0,0 +1,70 @@
+#!/bin/bash
+# Author: Jan Vcelak <jvcelak@redhat.com>
+
+set -e
+
+# default options
+
+CERTDB_DIR=/etc/openldap/certs
+
+# internals
+
+MODULE_CKBI="$(rpm --eval %{_libdir})/libnssckbi.so"
+RANDOM_SOURCE=/dev/urandom
+PASSWORD_BYTES=32
+
+# parse arguments
+
+usage() {
+       printf "usage: create-certdb.sh [-d certdb]\n" >&2
+       exit 1
+}
+
+while getopts "d:" opt; do
+       case "$opt" in
+       d)
+               CERTDB_DIR="$OPTARG"
+               ;;
+       \?)
+               usage
+               ;;
+       esac
+done
+
+[ "$OPTIND" -le "$#" ] && usage
+
+# verify target location
+
+if [ ! -d "$CERTDB_DIR" ]; then
+       printf "Directory '%s' does not exist.\n" "$CERTDB_DIR" >&2
+       exit 1
+fi
+
+if [ ! "$(find "$CERTDB_DIR"  -maxdepth 0 -empty | wc -l)" -eq 1 ]; then
+       printf "Directory '%s' is not empty.\n" "$CERTDB_DIR" >&2
+       exit 1
+fi
+
+# create the database
+
+printf "Creating certificate database in '%s'.\n" "$CERTDB_DIR" >&2
+
+PASSWORD_FILE="$CERTDB_DIR/password"
+OLD_UMASK="$(umask)"
+umask 0377
+dd if=$RANDOM_SOURCE bs=$PASSWORD_BYTES count=1 2>/dev/null | base64 > "$PASSWORD_FILE"
+umask "$OLD_UMASK"
+
+certutil -d "$CERTDB_DIR" -N -f "$PASSWORD_FILE" &>/dev/null
+
+# load module with builtin CA certificates
+
+echo | modutil -dbdir "$CERTDB_DIR" -add "Root Certs" -libfile "$MODULE_CKBI" &>/dev/null
+
+# tune permissions
+
+for dbfile in "$CERTDB_DIR"/*.db; do
+       chmod 0644 "$dbfile"
+done
+
+exit 0
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-functions b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-functions
new file mode 100644 (file)
index 0000000..98c8631
--- /dev/null
@@ -0,0 +1,136 @@
+# Author: Jan Vcelak <jvcelak@redhat.com>
+
+SLAPD_USER=
+SLAPD_CONFIG_FILE=
+SLAPD_CONFIG_DIR=
+SLAPD_CONFIG_CUSTOM=
+SLAPD_GLOBAL_OPTIONS=
+SLAPD_SYSCONFIG_FILE=
+
+function default_config()
+{
+       SLAPD_USER=ldap
+       SLAPD_CONFIG_FILE=/etc/openldap/slapd.conf
+       SLAPD_CONFIG_DIR=/etc/openldap/slapd.d
+       SLAPD_CONFIG_CUSTOM=
+       SLAPD_GLOBAL_OPTIONS=
+       SLAPD_SYSCONFIG_FILE=/etc/sysconfig/slapd
+}
+
+function parse_config_options()
+{
+       user=
+       config_file=
+       config_dir=
+       while getopts :u:f:F: opt; do
+               case "$opt" in
+               u)
+                       user="$OPTARG"
+                       ;;
+               f)
+                       config_file="$OPTARG"
+                       ;;
+               F)
+                       config_dir="$OPTARG"
+                       ;;
+               esac
+       done
+
+       unset OPTIND
+
+       if [ -n "$user" ]; then
+               SLAPD_USER="$user"
+       fi
+
+       if [ -n "$config_dir" ]; then
+               SLAPD_CONFIG_DIR="$config_dir"
+               SLAPD_CONFIG_FILE=
+               SLAPD_CONFIG_CUSTOM=1
+               SLAPD_GLOBAL_OPTIONS="-F '$config_dir'"
+       elif [ -n "$config_file" ]; then
+               SLAPD_CONFIG_DIR=
+               SLAPD_CONFIG_FILE="$config_file"
+               SLAPD_CONFIG_CUSTOM=1
+               SLAPD_GLOBAL_OPTIONS="-f '$config_file'"
+       fi
+}
+
+function uses_new_config()
+{
+       [ -n "$SLAPD_CONFIG_DIR" ]
+       return $?
+}
+
+function run_as_ldap()
+{
+       /sbin/runuser --shell /bin/sh --session-command "$1" "$SLAPD_USER"
+       return $?
+}
+
+function ldif_unbreak()
+{
+       sed ':a;N;s/\n //;ta;P;D'
+}
+
+function ldif_value()
+{
+       sed 's/^[^:]*: //'
+}
+
+function databases_new()
+{
+       slapcat $SLAPD_GLOBAL_OPTIONS -c \
+       -H 'ldap:///cn=config???(|(objectClass=olcBdbConfig)(objectClass=olcHdbConfig))' 2>/dev/null | \
+               ldif_unbreak | \
+               grep '^olcDbDirectory: ' | \
+               ldif_value
+}
+
+function databases_old()
+{
+       awk     'begin { database="" }
+               $1 == "database" { database=$2 }
+               $1 == "directory" { if (database == "bdb" || database == "hdb") print $2}' \
+               "$SLAPD_CONFIG_FILE"
+}
+
+function certificates_new()
+{
+       slapcat $SLAPD_GLOBAL_OPTIONS -c -H 'ldap:///cn=config???(cn=config)' 2>/dev/null | \
+               ldif_unbreak | \
+               grep '^olcTLS\(CACertificateFile\|CACertificatePath\|CertificateFile\|CertificateKeyFile\): ' | \
+               ldif_value
+}
+
+function certificates_old()
+{
+       awk '$1 ~ "^TLS(CACertificate(File|Path)|CertificateFile|CertificateKeyFile)$" { print $2 } ' \
+               "$SLAPD_CONFIG_FILE"
+}
+
+function certificates()
+{
+       uses_new_config && certificates_new || certificates_old
+}
+
+function databases()
+{
+       uses_new_config && databases_new || databases_old
+}
+
+
+function error()
+{
+       format="$1\n"; shift
+       printf "$format" $@ >&2
+}
+
+function load_sysconfig()
+{
+       [ -r "$SLAPD_SYSCONFIG_FILE" ] || return
+
+       . "$SLAPD_SYSCONFIG_FILE"
+       [ -n "$SLAPD_OPTIONS" ] && parse_config_options $SLAPD_OPTIONS
+}
+
+default_config
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-generate-server-cert.sh b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-generate-server-cert.sh
new file mode 100755 (executable)
index 0000000..e2f4974
--- /dev/null
@@ -0,0 +1,118 @@
+#!/bin/bash
+# Author: Jan Vcelak <jvcelak@redhat.com>
+
+set -e
+
+# default options
+
+CERTDB_DIR=/etc/openldap/certs
+CERT_NAME="OpenLDAP Server"
+PASSWORD_FILE=
+HOSTNAME_FQDN="$(hostname --fqdn)"
+ALT_NAMES=
+ONCE=0
+
+# internals
+
+RANDOM_SOURCE=/dev/urandom
+CERT_RANDOM_BYTES=256
+CERT_KEY_TYPE=rsa
+CERT_KEY_SIZE=1024
+CERT_VALID_MONTHS=12
+
+# parse arguments
+
+usage() {
+       printf "usage: generate-server-cert.sh [-d certdb-dir] [-n cert-name]\n" >&2
+       printf "                               [-p password-file] [-h hostnames]\n" >&2
+       printf "                               [-a dns-alt-names] [-o]\n" >&2
+       exit 1
+}
+
+while getopts "d:n:p:h:a:o" opt; do
+       case "$opt" in
+       d)
+               CERTDB_DIR="$OPTARG"
+               ;;
+       n)
+               CERT_NAME="$OPTARG"
+               ;;
+       p)
+               PASSWORD_FILE="$OPTARG"
+               ;;
+       h)
+               HOSTNAME_FQDN="$OPTARG"
+               ;;
+       a)
+               ALT_NAMES="$OPTARG"
+               ;;
+       o)
+               ONCE=1
+               ;;
+       \?)
+               usage
+               ;;
+       esac
+done
+
+[ "$OPTIND" -le "$#" ] && usage
+
+# generated options
+
+ONCE_FILE="$CERTDB_DIR/.slapd-leave"
+PASSWORD_FILE="${PASSWORD_FILE:-${CERTDB_DIR}/password}"
+ALT_NAMES="${ALT_NAMES:-${HOSTNAME_FQDN},localhost,localhost.localdomain}"
+
+# verify target location
+
+if [ "$ONCE" -eq 1 -a -f "$ONCE_FILE" ]; then
+       printf "Skipping certificate generating, '%s' exists.\n" "$ONCE_FILE" >&2
+       exit 0
+fi
+
+if ! certutil -d "$CERTDB_DIR" -U &>/dev/null; then
+       printf "Directory '%s' is not a valid certificate database.\n" "$CERTDB_DIR" >&2
+       exit 1
+fi
+
+printf "Creating new server certificate in '%s'.\n" "$CERTDB_DIR" >&2
+
+if [ ! -r "$PASSWORD_FILE" ]; then
+       printf "Password file '%s' is not readable.\n" "$PASSWORD_FILE" >&2
+       exit 1
+fi
+
+if certutil -d "$CERTDB_DIR" -L -a -n "$CERT_NAME" &>/dev/null; then
+       printf "Certificate '%s' already exists in the certificate database.\n" "$CERT_NAME" >&2
+       exit 1
+fi
+
+# generate server certificate (self signed)
+
+
+CERT_RANDOM=$(mktemp --tmpdir=/var/run/openldap)
+dd if=$RANDOM_SOURCE bs=$CERT_RANDOM_BYTES count=1 of=$CERT_RANDOM &>/dev/null
+
+certutil -d "$CERTDB_DIR" -f "$PASSWORD_FILE" -z "$CERT_RANDOM" \
+       -S -x -n "$CERT_NAME" \
+       -s "CN=$HOSTNAME_FQDN" \
+       -t TC,, \
+       -k $CERT_KEY_TYPE -g $CERT_KEY_SIZE \
+       -v $CERT_VALID_MONTHS \
+       -8 "$ALT_NAMES" \
+       &>/dev/null
+
+rm -f $CERT_RANDOM
+
+# tune permissions
+
+if [ "$(id -u)" -eq 0 ]; then
+       chgrp ldap "$PASSWORD_FILE"
+       chmod g+r "$PASSWORD_FILE"
+else
+       printf "WARNING: The server requires read permissions on the password file in order to\n" >&2
+       printf "         load it's private key from the certificate database.\n" >&2
+fi
+
+touch "$ONCE_FILE"
+exit 0
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-update-ppolicy-schema.sh b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-update-ppolicy-schema.sh
new file mode 100755 (executable)
index 0000000..a853b27
--- /dev/null
@@ -0,0 +1,142 @@
+#!/bin/bash
+# This script serves one purpose, to add a possibly missing attribute
+# to a ppolicy schema in a dynamic configuration of OpenLDAP. This
+# attribute was introduced in openldap-2.4.43 and slapd will not 
+# start without it later on.
+#
+# The script tries to update in a directory given as first parameter,
+# or in /etc/openldap/slapd.d implicitly.
+#
+# Author: Matus Honek <mhonek@redhat.com>
+# Bugzilla: #1487857
+
+function log {
+    echo "Update dynamic configuration: " $@
+    true
+}
+
+function iferr {
+    if [ $? -ne 0 ]; then
+       log "ERROR: " $@
+       true
+    else
+       false
+    fi
+}
+
+function update {
+    set -u
+    shopt -s extglob
+
+    ORIGINAL="${1:-/etc/openldap/slapd.d}"
+    ORIGINAL="${ORIGINAL%*(/)}"
+
+    ### check if necessary
+    grep -r "pwdMaxRecordedFail" "${ORIGINAL}/cn=config/cn=schema" >/dev/null
+    [ $? -eq 0 ] && log "Schemas look up to date. Ok. Quitting." && return 0
+
+    ### prep
+    log "Prepare environment."
+    
+    TEMPDIR=$(mktemp -d)
+    iferr "Could not create a temporary directory. Quitting." && return 1
+    DBDIR="${TEMPDIR}/db"
+    SUBDBDIR="${DBDIR}/cn=temporary"
+
+    mkdir "${DBDIR}"
+    iferr "Could not create temporary configuration directory. Quitting." && return 1
+    cp -r --no-target-directory "${ORIGINAL}" "${SUBDBDIR}"
+    iferr "Could not copy configuration. Quitting." && return 1
+    
+    pushd "$TEMPDIR" >/dev/null
+
+    cat > temp.conf <<EOF
+database ldif
+suffix cn=temporary
+directory db
+access to * by * manage
+EOF
+    
+    SOCKET="$(pwd)/socket"
+    LISTENER="ldapi://${SOCKET//\//%2F}"
+    CONN_PARAMS=("-Y" "EXTERNAL" "-H" "${LISTENER}")
+    
+    slapd -f temp.conf -h "$LISTENER" -d 0 >/dev/null 2>&1 &
+    SLAPDPID="$!"
+    sleep 2
+
+    ldapadd ${CONN_PARAMS[@]} -d 0 >/dev/null 2>&1 <<EOF
+dn: cn=temporary
+objectClass: olcGlobal
+cn: temporary
+EOF
+    iferr "Could not populate the temporary database. Quitting." && return 1
+    
+    ### update
+    log "Update with new pwdMaxRecordedFailure attribute."
+    FILTER="(&"
+    FILTER+="(olcObjectClasses=*'pwdPolicy'*)"
+    FILTER+="(!(olcObjectClasses=*'pwdPolicy'*'pwdMaxRecordedFailure'*))"
+    FILTER+="(!(olcAttributeTypes=*'pwdMaxRecordedFailure'*))"
+    FILTER+=")"
+    RES=$(ldapsearch ${CONN_PARAMS[@]} \
+                    -b cn=schema,cn=config,cn=temporary \
+                    -LLL \
+                    -o ldif-wrap=no \
+                    "$FILTER" \
+                    dn olcObjectClasses \
+                    2>/dev/null \
+             | sed '/^$/d')
+    DN=$(printf "$RES" | grep '^dn:')
+    OC=$(printf "$RES" | grep "^olcObjectClasses:.*'pwdPolicy'")
+    NEWOC="${OC//$ pwdSafeModify /$ pwdSafeModify $ pwdMaxRecordedFailure }"
+
+    test $(echo "$DN" | wc -l) = 1
+    iferr "Received more than one DN. Cannot continue. Quitting." && return 1
+    test "$NEWOC" != "$OC"
+    iferr "Updating pwdPolicy objectClass definition failed. Quitting." && return 1
+
+    ldapmodify ${CONN_PARAMS[@]} -d 0 >/dev/null 2>&1 <<EOF
+$DN
+changetype: modify
+add: olcAttributeTypes
+olcAttributeTypes: ( 1.3.6.1.4.1.42.2.27.8.1.30 NAME 'pwdMaxRecordedFailur
+ e' EQUALITY integerMatch ORDERING integerOrderingMatch  SYNTAX 1.3.6.1.4.1.
+ 1466.115.121.1.27 SINGLE-VALUE )
+-
+delete: olcObjectClasses
+$OC
+-
+add: olcObjectClasses
+$NEWOC
+EOF
+    iferr "Updating with new attribute failed. Quitting." && return 1
+
+    popd >/dev/null
+
+    ### apply
+    log "Apply changes."
+    cp -r --no-target-directory "$ORIGINAL" "$ORIGINAL~backup"
+    iferr "Backing up old configuration failed. Quitting." && return 1
+    cp -r --no-target-directory "$SUBDBDIR" "$ORIGINAL"
+    iferr "Applying new configuration failed. Quitting." && return 1
+    
+    ### clean up
+    log "Clean up."
+    kill "$SLAPDPID"
+    SLAPDPID=
+    rm -rf "$TEMPDIR"
+    TEMPDIR=
+}
+
+SLAPDPID=
+TEMPDIR=
+update "$1"
+if [ $? -ne 0 ]; then
+    log "Clean up."
+    echo "$SLAPDPID"
+    echo "$TEMPDIR"
+    kill "$SLAPDPID"
+    rm -rf "$TEMPDIR"
+fi
+log "Finished."
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-upgrade-db.sh b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/libexec-upgrade-db.sh
new file mode 100755 (executable)
index 0000000..1543c80
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/sh
+# Author: Jan Vcelak <jvcelak@redhat.com>
+
+. /usr/libexec/openldap/functions
+
+if [ `id -u` -ne 0 ]; then
+       error "You have to be root to run this command."
+       exit 4
+fi
+
+load_sysconfig
+retcode=0
+
+for dbdir in `databases`; do
+       upgrade_log="$dbdir/db_upgrade.`date +%Y%m%d%H%M%S`.log"
+       bdb_files=`find "$dbdir" -maxdepth 1 -name "*.bdb" -printf '"%f" '`
+
+       # skip uninitialized database
+       [ -z "$bdb_files"]  || continue
+
+       printf "Updating '%s', logging into '%s'\n" "$dbdir" "$upgrade_log"
+
+       # perform the update
+       for command in \
+               "/usr/bin/db_recover -v -h \"$dbdir\"" \
+               "/usr/bin/db_upgrade -v -h \"$dbdir\" $bdb_files" \
+               "/usr/bin/db_checkpoint -v -h \"$dbdir\" -1" \
+       ; do
+               printf "Executing: %s\n" "$command" &>>$upgrade_log
+               run_as_ldap "$command" &>>$upgrade_log
+               result=$?
+               printf "Exit code: %d\n" $result >>"$upgrade_log"
+               if [ $result -ne 0 ]; then
+                       printf "Upgrade failed: %d\n" $result
+                       retcode=1
+               fi
+       done
+done
+
+exit $retcode
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/openldap.tmpfiles b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/openldap.tmpfiles
new file mode 100644 (file)
index 0000000..aa0e805
--- /dev/null
@@ -0,0 +1,3 @@
+# OpenLDAP TLSMC runtime directories
+x /tmp/openldap-tlsmc-*
+X /tmp/openldap-tlsmc-*
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/slapd.ldif b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/slapd.ldif
new file mode 100644 (file)
index 0000000..7b7f328
--- /dev/null
@@ -0,0 +1,148 @@
+#
+# See slapd-config(5) for details on configuration options.
+# This file should NOT be world readable.
+#
+
+dn: cn=config
+objectClass: olcGlobal
+cn: config
+olcArgsFile: /var/run/openldap/slapd.args
+olcPidFile: /var/run/openldap/slapd.pid
+#
+# TLS settings
+#
+olcTLSCACertificatePath: /etc/openldap/certs
+olcTLSCertificateFile: "OpenLDAP Server"
+olcTLSCertificateKeyFile: /etc/openldap/certs/password
+#
+# Do not enable referrals until AFTER you have a working directory
+# service AND an understanding of referrals.
+#
+#olcReferral: ldap://root.openldap.org
+#
+# Sample security restrictions
+#      Require integrity protection (prevent hijacking)
+#      Require 112-bit (3DES or better) encryption for updates
+#      Require 64-bit encryption for simple bind
+#
+#olcSecurity: ssf=1 update_ssf=112 simple_bind=64
+
+
+#
+# Load dynamic backend modules:
+# - modulepath is architecture dependent value (32/64-bit system)
+# - back_sql.la backend requires openldap-servers-sql package
+# - dyngroup.la and dynlist.la cannot be used at the same time
+#
+
+#dn: cn=module,cn=config
+#objectClass: olcModuleList
+#cn: module
+#olcModulepath:        /usr/lib/openldap
+#olcModulepath:        /usr/lib64/openldap
+#olcModuleload: accesslog.la
+#olcModuleload: auditlog.la
+#olcModuleload: back_dnssrv.la
+#olcModuleload: back_ldap.la
+#olcModuleload: back_mdb.la
+#olcModuleload: back_meta.la
+#olcModuleload: back_null.la
+#olcModuleload: back_passwd.la
+#olcModuleload: back_relay.la
+#olcModuleload: back_shell.la
+#olcModuleload: back_sock.la
+#olcModuleload: collect.la
+#olcModuleload: constraint.la
+#olcModuleload: dds.la
+#olcModuleload: deref.la
+#olcModuleload: dyngroup.la
+#olcModuleload: dynlist.la
+#olcModuleload: memberof.la
+#olcModuleload: pcache.la
+#olcModuleload: ppolicy.la
+#olcModuleload: refint.la
+#olcModuleload: retcode.la
+#olcModuleload: rwm.la
+#olcModuleload: seqmod.la
+#olcModuleload: smbk5pwd.la
+#olcModuleload: sssvlv.la
+#olcModuleload: syncprov.la
+#olcModuleload: translucent.la
+#olcModuleload: unique.la
+#olcModuleload: valsort.la
+
+
+#
+# Schema settings
+#
+
+dn: cn=schema,cn=config
+objectClass: olcSchemaConfig
+cn: schema
+
+include: file:///etc/openldap/schema/core.ldif
+
+#
+# Frontend settings
+#
+
+dn: olcDatabase=frontend,cn=config
+objectClass: olcDatabaseConfig
+objectClass: olcFrontendConfig
+olcDatabase: frontend
+#
+# Sample global access control policy:
+#      Root DSE: allow anyone to read it
+#      Subschema (sub)entry DSE: allow anyone to read it
+#      Other DSEs:
+#              Allow self write access
+#              Allow authenticated users read access
+#              Allow anonymous users to authenticate
+#
+#olcAccess: to dn.base="" by * read
+#olcAccess: to dn.base="cn=Subschema" by * read
+#olcAccess: to *
+#      by self write
+#      by users read
+#      by anonymous auth
+#
+# if no access controls are present, the default policy
+# allows anyone and everyone to read anything but restricts
+# updates to rootdn.  (e.g., "access to * by * read")
+#
+# rootdn can always read and write EVERYTHING!
+#
+
+#
+# Configuration database
+#
+
+dn: olcDatabase=config,cn=config
+objectClass: olcDatabaseConfig
+olcDatabase: config
+olcAccess: to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,c
+ n=auth" manage by * none
+
+#
+# Server status monitoring
+#
+
+dn: olcDatabase=monitor,cn=config
+objectClass: olcDatabaseConfig
+olcDatabase: monitor
+olcAccess: to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,c
+ n=auth" read by dn.base="cn=Manager,dc=my-domain,dc=com" read by * none
+
+#
+# Backend database definitions
+#
+
+dn: olcDatabase=hdb,cn=config
+objectClass: olcDatabaseConfig
+objectClass: olcHdbConfig
+olcDatabase: hdb
+olcSuffix: dc=my-domain,dc=com
+olcRootDN: cn=Manager,dc=my-domain,dc=com
+olcDbDirectory:        /var/lib/ldap
+olcDbIndex: objectClass eq,pres
+olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/slapd.service b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/slapd.service
new file mode 100644 (file)
index 0000000..8a3a722
--- /dev/null
@@ -0,0 +1,19 @@
+[Unit]
+Description=OpenLDAP Server Daemon
+After=syslog.target network-online.target
+Documentation=man:slapd
+Documentation=man:slapd-config
+Documentation=man:slapd-hdb
+Documentation=man:slapd-mdb
+Documentation=file:///usr/share/doc/openldap-servers/guide.html
+
+[Service]
+Type=forking
+PIDFile=/var/run/openldap/slapd.pid
+Environment="SLAPD_URLS=ldap:/// ldapi:///" "SLAPD_OPTIONS="
+EnvironmentFile=/etc/sysconfig/slapd
+ExecStartPre=/usr/libexec/openldap/check-config.sh
+ExecStart=/usr/sbin/slapd -u ldap -h ${SLAPD_URLS} $SLAPD_OPTIONS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/slapd.sysconfig b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/slapd.sysconfig
new file mode 100644 (file)
index 0000000..68091a5
--- /dev/null
@@ -0,0 +1,15 @@
+# OpenLDAP server configuration
+# see 'man slapd' for additional information
+
+# Where the server will run (-h option)
+# - ldapi:/// is required for on-the-fly configuration using client tools
+#   (use SASL with EXTERNAL mechanism for authentication)
+# - default: ldapi:/// ldap:///
+# - example: ldapi:/// ldap://127.0.0.1/ ldap://10.0.0.1:1389/ ldaps:///
+SLAPD_URLS="ldapi:/// ldap:///"
+
+# Any custom options
+#SLAPD_OPTIONS=""
+
+# Keytab location for GSSAPI Kerberos authentication
+#KRB5_KTNAME="FILE:/etc/openldap/ldap.keytab"
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/slapd.tmpfiles b/meta-starlingx/meta-stx-integ/recipes-support/openldap/files/sources/slapd.tmpfiles
new file mode 100644 (file)
index 0000000..56aa32e
--- /dev/null
@@ -0,0 +1,2 @@
+# openldap runtime directory for slapd.arg and slapd.pid
+d /var/run/openldap 0755 ldap ldap -
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/openldap/openldap_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-support/openldap/openldap_%.bbappend
new file mode 100644 (file)
index 0000000..f33c2b6
--- /dev/null
@@ -0,0 +1,195 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "openldap-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       "
+
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       file://rootdn-should-not-bypass-ppolicy.patch \
+       file://0021-openldap-and-stx-source-and-config-files.patch \
+       "
+RRECOMMENDS_openldap += " \
+        openldap-backend-shell \
+        openldap-backend-passwd \
+        openldap-backend-null \
+        openldap-backend-monitor \
+        openldap-backend-meta \
+        openldap-backend-ldap \
+        openldap-backend-dnssrv \
+        openldap-staticdev \
+        openldap-locale \
+        openldap-overlay-proxycache \
+        openldap-slapd \
+        openldap-slurpd \
+        openldap-bin \
+        "
+
+inherit pkgconfig useradd
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "-r -g ldap -u 55 -d / -s /sbin/nologin -c 'OpenLDAP server' ldap"
+GROUPADD_PARAM_${PN} = "-r -g 55 ldap"
+
+inherit systemd
+SYSTEMD_PACKAGES += "${PN}"
+SYSTEMD_SERVICE_${PN}_append = "slapd.service"
+SYSETMD_AUTO_ENABLE_${PN} = "enable"
+# Needed for stx init.d/openldap
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+PACKAGECONFIG_CONFARGS_remove = "--with-tls=gnutls "
+DEPENDS += " \
+       openssl \
+       glibc \
+       mariadb \
+       mariadb-native \
+       libtirpc \
+       "
+
+RDEPENDS_${PN}_append = " bash"
+
+# Do not remove libtool la files slapd.conf uses ppolicy.la 
+REMOVE_LIBTOOL_LA = "0"
+
+
+# Defaults:
+#      --enable-bdb=no
+#      --enable-hdb=no
+#      --enable-bdb=no
+#      --enable-monitor=mod 
+######
+# Stx :
+#      --enable-wrappers=yes
+#      --enable-moznss-compatibility=yes
+
+#################
+# TODO:
+#      mysql_config: native command missing
+
+EXTRA_OECONF += " \
+               --enable-syslog \
+               --enable-proctitle \
+               --enable-ipv6 \
+               --enable-local \
+               --enable-slapd \
+               --enable-dynacl \
+               --enable-aci \
+               --enable-cleartext \
+               --enable-crypt \
+               --enable-lmpasswd \
+               --enable-modules \
+               --enable-rewrite \
+               --enable-rlookups \
+               --disable-slp \
+               --enable-wrappers=no \
+               --enable-backends=mod \
+               --enable-bdb=yes \
+               --enable-hdb=yes \
+               --enable-mdb=yes \
+               --enable-monitor=yes \
+               --disable-ndb \
+               --enable-overlays=mod \
+               --disable-static \
+               --enable-shared \
+               --with-cyrus-sasl \
+               --without-fetch \
+               --with-tls=openssl \
+               "
+#      --enable-moznss-compatibility=no 
+# NEW:
+# --enable-lmpasswd 
+# --enable-slapi
+# --enable-wrappers
+# --enable-moznss-compatibility=yes
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/${DSTSUFX0}/files/LICENSE ${S}/stx-configfiles-LICENSE
+}
+
+do_configure_append () {
+   cd ${S}
+   ln -f -s ${S}/contrib/slapd-modules/smbk5pwd/smbk5pwd.c servers/slapd/overlays
+   ln -f -s ${S}/contrib/slapd-modules/allop/allop.c servers/slapd/overlays
+   ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/sha2.c servers/slapd/overlays
+   ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/sha2.h servers/slapd/overlays
+   ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/slapd-sha2.c servers/slapd/overlays
+}
+
+
+do_install_append () {
+       
+       # For this we need to build ltb-project-openldap
+       #install -m 755 check_password.so.%{check_password_version} %{buildroot}%{_libdir}/openldap/
+
+       cd ${S}/stx-sources
+       install -m 0755 -d ${D}/var/run/openldap
+       install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
+       install -m 0755 ${S}/stx-sources/slapd.tmpfiles ${D}/${sysconfdir}/tmpfiles.d/slapd.conf 
+       install -m 0755 ${S}/stx-sources/openldap.tmpfiles ${D}/${sysconfdir}/tmpfiles.d/openldap.conf 
+       install -m 0755 ${S}/stx-sources/ldap.conf ${D}/${sysconfdir}/tmpfiles.d/ldap.conf 
+
+       # The database directory MUST exist prior to running slapd AND
+       # should only be accessible by the slapd and slap tools.
+       # Mode 700 recommended.
+       echo "d /var/lib/openldap-data 0700 ldap ldap -" >> ${D}/${sysconfdir}/tmpfiles.d/slapd.conf
+
+       install -m 0644 libexec-functions ${D}/${libexecdir}/openldap/functions
+       install -m 0755 libexec-convert-config.sh ${D}/${libexecdir}/openldap/convert-config.sh
+       install -m 0755 libexec-check-config.sh ${D}/${libexecdir}/openldap/check-config.sh
+       install -m 0755 libexec-upgrade-db.sh ${D}/${libexecdir}/openldap/upgrade-db.sh
+
+       install -m 0755 libexec-create-certdb.sh ${D}/${libexecdir}/openldap/create-certdb.sh
+       install -m 0755 libexec-generate-server-cert.sh ${D}/${libexecdir}/openldap/generate-server-cert.sh
+       install -m 0755 libexec-update-ppolicy-schema.sh ${D}/${libexecdir}/openldap/update-ppolicy-schema.sh
+
+       install -m 0755 -d ${D}/${sysconfdir}/sysconfig
+       install -m 0644 slapd.sysconfig ${D}/${sysconfdir}/sysconfig/slapd
+       install -m 0755 -d ${D}/${datadir}/openldap-servers
+       install -m 0644 slapd.ldif ${D}/${datadir}/openldap-servers/slapd.ldif
+       install -m 0750 -d ${D}/${sysconfdir}/openldap/slapd.d
+       rm -rf ${D}/var/run
+
+       sed -i -e 's:\(/sbin/runuser\):/usr\1:g' ${D}/usr/libexec/openldap/functions 
+
+       install -m 755 ${WORKDIR}/${DSTSUFX0}/files/initscript ${D}/${sysconfdir}/init.d/openldap
+        install -m 600 ${WORKDIR}/${DSTSUFX0}/files/slapd.conf ${D}/${sysconfdir}/openldap/slapd.conf
+
+        install -m 600 ${WORKDIR}/${DSTSUFX0}/files/initial_config.ldif ${D}/${sysconfdir}/openldap/initial_config.ldif
+
+        # install -D -m 644 ${WORKDIR}/${DSTSUFX0}/files/slapd.service ${D}/${sysconfdir}/systemd/system/slapd.service
+        install -D -m 644 ${WORKDIR}/${DSTSUFX0}/files/slapd.service ${D}/${systemd_system_unitdir}/slapd.service
+        sed -i -e 's|/var/run|/run|' ${D}/${systemd_system_unitdir}/slapd.service
+
+        install -m 644 ${WORKDIR}/${DSTSUFX0}/files/slapd.sysconfig ${D}/${sysconfdir}/sysconfig/slapd
+
+}
+
+
+FILES_${PN}_append = " \
+       ${datadir}/openldap-servers/ \
+       ${libexecdir}/openldap/ \
+       ${sysconfdir}/sysconfig \
+       ${sysconfdir}/tmpfiles.d \
+       ${systemd_system_unitdir}/slapd.service  \
+       ${sysconfdir}/openldap/initial_config.ldif \
+       "
+
+# *.la are openldap modules. 
+FILES_${PN}-dev = " \
+       ${includedir} \
+       ${FILES_SOLIBSDEV} \
+       ${libdir}/*.la \
+       ${libexecdir}/openldap/*${SOLIBSDEV} \
+       "
+
diff --git a/meta-starlingx/meta-stx-integ/recipes-support/syslog-ng/syslog-ng_%.bbappend b/meta-starlingx/meta-stx-integ/recipes-support/syslog-ng/syslog-ng_%.bbappend
new file mode 100644 (file)
index 0000000..4e2cfd9
--- /dev/null
@@ -0,0 +1,62 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "syslog-ng-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       "
+
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       file://syslog-ng-config-parse-err.patch;striplevel=3 \
+       file://syslog-ng-config-systemd-service.patch;striplevel=3 \
+       file://syslog-ng-conf-replace-match-with-message.patch;striplevel=3 \ 
+       "
+
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/${DSTSUFX0}/files/LICENSE ${S}/stx-configfiles-LICENSE
+    cp -pf ${WORKDIR}/${DSTSUFX0}/files/syslog-ng.conf ${S}/syslog-ng.conf
+    cp -pf ${WORKDIR}/${DSTSUFX0}/files/syslog-ng.service ${S}/syslog-ng.service
+    cp -pf ${WORKDIR}/${DSTSUFX0}/files/syslog-ng.logrotate ${S}/syslog-ng.logortate
+    cp -pf ${WORKDIR}/${DSTSUFX0}/files/remotelogging.conf ${S}/remotelogging.conf
+    cp -pf ${WORKDIR}/${DSTSUFX0}/files//fm_event_syslogger ${S}/fm_event_syslogger
+}
+
+do_install_append () {
+    rm -rf ${D}${systemd_unitdir}/system/multi-user.target.wants
+
+        chmod 644 ${D}/${sysconfdir}/syslog-ng/syslog-ng.conf
+
+    install -D -m644 ${S}/remotelogging.conf ${D}/${sysconfdir}/syslog-ng/remotelogging.conf
+    install -D -m700 ${S}/fm_event_syslogger ${D}/${sbindir}/fm_event_syslogger
+
+
+    install -D -m700 ${S}/fm_event_syslogger ${D}/${sbindir}/fm_event_syslogger
+    install -D -m644 ${S}/syslog-ng.logrotate ${D}/${sysconfdir}/logrotate.d/syslog
+    install -D -m644 ${S}/remotelogging.conf ${D}/${sysconfdir}/syslog-ng/remotelogging.conf
+    install -D -m644 ${S}/syslog-ng.conf ${D}/${sysconfdir}/syslog-ng/syslog-ng.conf
+
+    # install -D -m644 ${S}/syslog-ng.service ${D}/${sysconfdir}/systemd/system/syslog-ng.service
+    install -D -m644 ${S}/syslog-ng.service  ${D}/${systemd_system_unitdir}/syslog-ng.service
+       # Fix the config version to avoid warning
+    sed -i -e 's/\(@version: \).*/\1 3.19/' ${D}${sysconfdir}/syslog-ng/syslog-ng.conf
+    # Workaround: comment out the udp source to aviod the service fail to start at boot time
+    sed -i -e 's/\(.*s_udp.*\)/#\1/' ${D}/${sysconfdir}/syslog-ng/syslog-ng.conf
+       # And replace default unit file with stx specific service file
+       rm -f ${D}/${systemd_system_unitdir}/syslog-ng@.service
+
+}
+
+# SYSTEMD_PACKAGES_append = "${PN}"
+SYSTEMD_SERVICE_${PN} = "syslog-ng.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+RDEPENDS_${PN}_append = " bash"
diff --git a/meta-starlingx/meta-stx-virt/conf/layer.conf b/meta-starlingx/meta-stx-virt/conf/layer.conf
new file mode 100644 (file)
index 0000000..0484c0e
--- /dev/null
@@ -0,0 +1,46 @@
+
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+            ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "stx-virt-layer"
+BBFILE_PATTERN_stx-virt-layer := "^${LAYERDIR}/"
+BBFILE_PRIORITY_stx-virt-layer = "5"
+
+LAYERDEPENDS_STX_VIRT = "\
+       core \
+       dpdk \
+       networking-layer \
+       openembedded-layer \
+       networking-layer \
+       filesystems-layer \
+       perl-layer \
+       meta-python \
+       webserver \
+       virtualization-layer \
+       cloud-services-layer \
+       openstack-layer \
+"
+
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_stx-virt-version = "1"
+LAYERSERIES_COMPAT_stx-virt-layer = "thud warrior"
+
+LAYER_PATH_meta-stx-virt = "${LAYERDIR}"
+
+# Masked recipes:
+BBMASK += "/meta-python2/recipes-core/images/meta-python-ptest-image.bb"
+BBMASK += "/meta-python2/recipes-core/images/meta-python-image-base.bb"
+BBMASK += "/meta-python2/recipes-core/images/meta-python-image.bb"
+BBMASK += "/meta-stak-common/recipes-containers/kubernetes/kubernetes_git.bbappend"
+BBMASK += "/meta-cloud-services/meta-openstack/recipes-devtools/python/python-cephclient_0.1.0.5.bb"
+BBMASK += "/meta-openstack/recipes-devtools/qemu/qemu_2.%.bbappend"
+BBMASK += "/meta-cloud-services/meta-openstack/recipes-kernel/linux/linux-yocto_4.18.bbappend"
+BBMASK += "/meta-selinux/recipes-graphics/mesa/mesa_%.bbappend"
+BBMASK += "/meta-virtualization/recipes-containers/docker-distribution/docker-distribution_git.bb"
+BBMASK += "/meta-starlingX/recipes-containers/docker-distribution/docker-distribution_git.bbappend"
+BBMASK += "/meta-starlingX/recipes-support/puppet/puppetlabs-stdlib_git.bbappend"
diff --git a/meta-starlingx/meta-stx-virt/recipes-connectivity/etcd/etcd_git.bb b/meta-starlingx/meta-stx-virt/recipes-connectivity/etcd/etcd_git.bb
new file mode 100644 (file)
index 0000000..fd8defa
--- /dev/null
@@ -0,0 +1,93 @@
+
+SUMMARY = "A distributed key-value store for shared config and service discovery"
+DESCRIPTION = " \
+    etcd is a distributed reliable key-value store for the most critical data \
+    of a distributed system, with a focus on being: \
+    \
+    * Simple: well-defined, user-facing API (gRPC) \
+    * Secure: automatic TLS with optional client cert authentication \
+    * Fast: benchmarked 10,000 writes/sec \
+    * Reliable: properly distributed using Raft \
+"
+HOMEPAGE = "https://github.com/coreos/etcd"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = " \
+    git://github.com/coreos/etcd.git;branch=release-3.3 \
+    "
+
+SRCREV = "94745a4eed0425653b3b4275a208d38babceeaec"
+PV = "3.3.15+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit go goarch systemd useradd
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = " \
+    --system --shell ${sbindir}/nologin --comment 'etcd user' \
+    --home-dir ${localstatedir}/lib --groups etcd --gid etcd etcd \
+    "
+GROUPADD_PARAM_${PN} = "etcd"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+GO_IMPORT = "import"
+
+do_compile() {
+       export GOARCH="${TARGET_GOARCH}"
+
+       # Setup vendor directory so that it can be used in GOPATH.
+       #
+       # Go looks in a src directory under any directory in GOPATH but
+       # uses 'vendor' instead of 'vendor/src'. We can fix this with a symlink.
+       #
+       # We also need to link in the ipallocator directory as that is not under
+       # a src directory.
+       export GOPATH="${B}/src/import/"
+       mkdir -p ${B}/src/import/src/github.com/coreos/
+       ln -s ${S}/src/import ${B}/src/import/src/github.com/coreos/etcd
+
+       # Pass the needed cflags/ldflags so that cgo
+       # can find the needed headers files and libraries
+       export CGO_ENABLED="1"
+       export CFLAGS=""
+       export LDFLAGS=""
+       export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+       export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+
+       if [ "${TARGET_ARCH}" = "x86_64" ]; then
+               export GOARCH="amd64"
+       elif [ "${TARGET_ARCH}" = "i586" ]; then
+               export GOARCH="386"
+       fi
+
+       ./src/import/build
+}
+
+do_install() {
+       install -d ${D}/${bindir}
+       install -m 0755 ${B}/bin/etcd ${D}/${bindir}/etcd
+       install -m 0755 ${B}/bin/etcdctl ${D}/${bindir}/etcdctl
+
+       install -d ${D}${systemd_system_unitdir}
+       install -m 0644 ${S}/src/import/contrib/systemd/etcd.service ${D}${systemd_system_unitdir}
+
+       # etcd state is in /var/lib/etcd
+       install -d ${D}${sysconfdir}/tmpfiles.d
+       echo "d ${localstatedir}/lib/${BPN} 0755 etcd etcd -" \
+               > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
+
+       # we aren't creating a user, so we need to comment out this line
+       sed -i '/User/s/^/#/' ${D}${systemd_unitdir}/system/etcd.service
+}
+
+deltask compile_ptest_base
+
+RDEPENDS_${PN} = "bash"
+
+# During packaging etcd gets the warning "no GNU hash in elf binary"
+# This issue occurs due to compiling without ldflags, but a
+# solution has yet to be found. For now we ignore this error with
+# the line below.
+#INSANE_SKIP_${PN} = "ldflags"
diff --git a/meta-starlingx/meta-stx-virt/recipes-connectivity/etcd/etcd_git.bbappend b/meta-starlingx/meta-stx-virt/recipes-connectivity/etcd/etcd_git.bbappend
new file mode 100644 (file)
index 0000000..bbdb9a0
--- /dev/null
@@ -0,0 +1,16 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+SRC_URI += " \
+    file://etcd.service \
+    file://etcd.conf \
+    "
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "etcd.service"
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+
+do_install_append() {
+       install -m 0644 ${WORKDIR}/etcd.service ${D}${systemd_system_unitdir}
+       install -d ${D}${sysconfdir}/etcd
+       install -m 0644 ${WORKDIR}/etcd.conf ${D}${sysconfdir}/etcd
+}
diff --git a/meta-starlingx/meta-stx-virt/recipes-connectivity/etcd/files/etcd.conf b/meta-starlingx/meta-stx-virt/recipes-connectivity/etcd/files/etcd.conf
new file mode 100644 (file)
index 0000000..e59a45f
--- /dev/null
@@ -0,0 +1,70 @@
+
+#[Member]
+#ETCD_CORS=""
+ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
+#ETCD_WAL_DIR=""
+#ETCD_LISTEN_PEER_URLS="http://localhost:2380"
+ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"
+#ETCD_MAX_SNAPSHOTS="5"
+#ETCD_MAX_WALS="5"
+ETCD_NAME="default"
+#ETCD_SNAPSHOT_COUNT="100000"
+#ETCD_HEARTBEAT_INTERVAL="100"
+#ETCD_ELECTION_TIMEOUT="1000"
+#ETCD_QUOTA_BACKEND_BYTES="0"
+#ETCD_MAX_REQUEST_BYTES="1572864"
+#ETCD_GRPC_KEEPALIVE_MIN_TIME="5s"
+#ETCD_GRPC_KEEPALIVE_INTERVAL="2h0m0s"
+#ETCD_GRPC_KEEPALIVE_TIMEOUT="20s"
+#
+#[Clustering]
+#ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380"
+ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"
+#ETCD_DISCOVERY=""
+#ETCD_DISCOVERY_FALLBACK="proxy"
+#ETCD_DISCOVERY_PROXY=""
+#ETCD_DISCOVERY_SRV=""
+#ETCD_INITIAL_CLUSTER="default=http://localhost:2380"
+#ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
+#ETCD_INITIAL_CLUSTER_STATE="new"
+#ETCD_STRICT_RECONFIG_CHECK="true"
+#ETCD_ENABLE_V2="true"
+#
+#[Proxy]
+#ETCD_PROXY="off"
+#ETCD_PROXY_FAILURE_WAIT="5000"
+#ETCD_PROXY_REFRESH_INTERVAL="30000"
+#ETCD_PROXY_DIAL_TIMEOUT="1000"
+#ETCD_PROXY_WRITE_TIMEOUT="5000"
+#ETCD_PROXY_READ_TIMEOUT="0"
+#
+#[Security]
+#ETCD_CERT_FILE=""
+#ETCD_KEY_FILE=""
+#ETCD_CLIENT_CERT_AUTH="false"
+#ETCD_TRUSTED_CA_FILE=""
+#ETCD_AUTO_TLS="false"
+#ETCD_PEER_CERT_FILE=""
+#ETCD_PEER_KEY_FILE=""
+#ETCD_PEER_CLIENT_CERT_AUTH="false"
+#ETCD_PEER_TRUSTED_CA_FILE=""
+#ETCD_PEER_AUTO_TLS="false"
+#
+#[Logging]
+#ETCD_DEBUG="false"
+#ETCD_LOG_PACKAGE_LEVELS=""
+#ETCD_LOG_OUTPUT="default"
+#
+#[Unsafe]
+#ETCD_FORCE_NEW_CLUSTER="false"
+#
+#[Version]
+#ETCD_VERSION="false"
+#ETCD_AUTO_COMPACTION_RETENTION="0"
+#
+#[Profiling]
+#ETCD_ENABLE_PPROF="false"
+#ETCD_METRICS="basic"
+#
+#[Auth]
+#ETCD_AUTH_TOKEN="simple"
diff --git a/meta-starlingx/meta-stx-virt/recipes-containers/docker-distribution/docker-distribution_git.bb b/meta-starlingx/meta-stx-virt/recipes-containers/docker-distribution/docker-distribution_git.bb
new file mode 100644 (file)
index 0000000..be1262a
--- /dev/null
@@ -0,0 +1,76 @@
+HOMEPAGE = "http://github.com/docker/distribution"
+SUMMARY = "The Docker toolset to pack, ship, store, and deliver content"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+GO_PKG_PATH = "github.com/docker/distribution"
+GO_IMPORT = "import"
+
+SRCREV_distribution="48294d928ced5dd9b378f7fd7c6f5da3ff3f2c89"
+SRC_URI = " \
+       git://github.com/docker/distribution.git;branch=release/2.6;name=distribution;destsuffix=git/src/${GO_PKG_PATH} \
+       file://${BPN}.service \
+       file://config.yml \
+       "
+
+PV = "v2.6.2"
+S = "${WORKDIR}/git/src/${GO_PKG_PATH}"
+
+inherit goarch
+inherit go
+
+# This disables seccomp and apparmor, which are on by default in the
+# go package. 
+EXTRA_OEMAKE="BUILDTAGS=''"
+
+do_compile() {
+       export GOARCH="${TARGET_GOARCH}"
+       export GOPATH="${WORKDIR}/git/"
+       export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
+       # Pass the needed cflags/ldflags so that cgo
+       # can find the needed headers files and libraries
+       export CGO_ENABLED="1"
+       export CFLAGS=""
+       export LDFLAGS=""
+       export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+       export GO_GCFLAGS=""
+       export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+
+       cd ${S}
+
+       oe_runmake binaries
+}
+
+do_install() {
+       install -d ${D}/${bindir}
+       install ${S}/bin/registry ${D}/${bindir}
+
+       if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+           install -d ${D}${systemd_system_unitdir}
+           install -m 644 ${WORKDIR}/${BPN}.service ${D}/${systemd_system_unitdir}
+       fi
+
+       install -d ${D}/${sysconfdir}/${BPN}/registry/
+       install ${WORKDIR}/config.yml ${D}/${sysconfdir}/${BPN}/registry/config.yml
+
+       # storage for the registry containers
+       install -d ${D}/${localstatedir}/lib/registry/
+}
+
+FILES_${PN} = "\
+       ${bindir}/* \
+       ${systemd_system_unitdir}/${BPN}.service \
+       ${sysconfdir}/${BPN}/* \
+       ${localstatedir}/lib/registry/ \
+       "
+
+SYSTEMD_SERVICE_${BPN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${BPN}.service','',d)}"
+SYSTEMD_AUTO_ENABLE_${BPN} = "disable"
+
+
+SYSROOT_PREPROCESS_FUNCS += "docker_distribution_sysroot_preprocess"
+
+docker_distribution_sysroot_preprocess () {
+    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${GO_PKG_PATH}
+    cp -r ${S} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${GO_PKG_PATH})
+}
diff --git a/meta-starlingx/meta-stx-virt/recipes-containers/docker-distribution/docker-distribution_git.bbappend b/meta-starlingx/meta-stx-virt/recipes-containers/docker-distribution/docker-distribution_git.bbappend
new file mode 100644 (file)
index 0000000..a693c2a
--- /dev/null
@@ -0,0 +1,9 @@
+
+PKG_NAME = "github.com/docker/distribution"
+
+SYSROOT_PREPROCESS_FUNCS += "docker_distribution_sysroot_preprocess"
+
+docker_distribution_sysroot_preprocess () {
+    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
+    cp -r ${S} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
+}
diff --git a/meta-starlingx/meta-stx-virt/recipes-containers/docker-forward-journald/docker-forward-journald_git.bb b/meta-starlingx/meta-stx-virt/recipes-containers/docker-forward-journald/docker-forward-journald_git.bb
new file mode 100644 (file)
index 0000000..c231bfe
--- /dev/null
@@ -0,0 +1,37 @@
+
+SUMMARY = "Forward stdin to journald"
+HOMEPAGE = "https://github.com/docker/docker"
+SECTION = "devel"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://src/forward-journald/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+PROTOCOL = "https"
+SRCNAME = "forward-journald"
+SRCREV = "77e02a9774a6ca054e41c27f6f319d701f1cbaea"
+PV = "1.10.3+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/projectatomic/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};"
+
+GO_IMPORT = "forward-journald"
+inherit go goarch
+
+do_compile() {
+        mkdir -p _build/src
+        ln -sfn ${S}/src/forward-journald ./_build/src/${SRCNAME}
+        export GOARCH=${TARGET_GOARCH}
+        export CGO_ENABLED="1"
+        export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+        export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
+
+        export GOPATH="${WORKDIR}/build/_build:${STAGING_DIR_TARGET}/${prefix}/local/go"
+        cd _build/src/${SRCNAME}
+        export GOROOT=${STAGING_DIR_TARGET}/${prefix}/local/go
+        go build -ldflags "-B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n')" -o ${WORKDIR}/build/bin/forward-journald forward-journald
+}
+
+do_install() {
+       install -m 0755 -d ${D}/${bindir}/
+
+       install -m 0755 bin/forward-journald ${D}/${bindir}/
+}
diff --git a/meta-starlingx/meta-stx-virt/recipes-containers/docker/docker-ce_git.bbappend b/meta-starlingx/meta-stx-virt/recipes-containers/docker/docker-ce_git.bbappend
new file mode 100644 (file)
index 0000000..c8ce3b5
--- /dev/null
@@ -0,0 +1,36 @@
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "docker-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       "
+
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       "
+
+RDEPENDS_${PN}_append = " logrotate"
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -f ${WORKDIR}/${DSTSUFX0}/files/LICENSE ${S}/stx-configfiles-LICENSE
+}
+
+do_install_append () {
+    rm -f ${D}${sysconfdir}/docker
+    install -d -m 0755 ${D}${sysconfdir}/docker
+    install -d -m 0755 ${D}/${sysconfdir}/pmon.d 
+    install -d -m 0755 ${D}/${sysconfdir}/systemd/system/docker.service.d 
+    
+    install -D -m 644 ${WORKDIR}/${DSTSUFX0}/files/docker-pmond.conf ${D}/${sysconfdir}/pmon.d/docker.conf
+    
+    install -D -m 644 ${WORKDIR}/${DSTSUFX0}/files/docker-stx-override.conf \
+       ${D}/${sysconfdir}/systemd/system/docker.service.d/docker-stx-override.conf
+    install -D -m 644 ${WORKDIR}/${DSTSUFX0}/files/docker.logrotate ${D}/${sysconfdir}/logrotate.d/docker.logrotate
+}
diff --git a/meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/tmpfiles.d/kubernetes.conf b/meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/contrib/init/systemd/tmpfiles.d/kubernetes.conf
new file mode 100644 (file)
index 0000000..1539791
--- /dev/null
@@ -0,0 +1,2 @@
+
+d /var/run/kubernetes 0755 kube kube -
diff --git a/meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/kubeadm.conf b/meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/kubeadm.conf
new file mode 100644 (file)
index 0000000..c128c0f
--- /dev/null
@@ -0,0 +1,18 @@
+
+# Note: This dropin only works with kubeadm and kubelet v1.11+
+[Service]
+Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
+Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
+# This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating the KUBELET_KUBEADM_ARGS variable dynamically
+EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
+# This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, the user should use
+# the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. KUBELET_EXTRA_ARGS should be sourced from this file.
+EnvironmentFile=-/etc/sysconfig/kubelet
+ExecStart=
+ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
+ExecStartPre=-/usr/bin/kubelet-cgroup-setup.sh
+ExecStartPost=/bin/bash -c 'echo $MAINPID > /var/run/kubelet.pid;'
+ExecStopPost=/bin/rm -f /var/run/kubelet.pid
+Restart=always
+StartLimitInterval=0
+RestartSec=10
diff --git a/meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/kubernetes-accounting.conf b/meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/files/kubernetes-accounting.conf
new file mode 100644 (file)
index 0000000..83c49d3
--- /dev/null
@@ -0,0 +1,5 @@
+
+[Manager]
+DefaultCPUAccounting=yes
+DefaultMemoryAccounting=yes
+
diff --git a/meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/helm_2.13.1.bb b/meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/helm_2.13.1.bb
new file mode 100644 (file)
index 0000000..6889768
--- /dev/null
@@ -0,0 +1,56 @@
+
+SUMMARY = "The Kubernetes Package Manager"
+HOMEPAGE = "https://github.com/kubernetes/helm/releases "
+SECTION = "devel"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0c7bcb474e766c7d92924a18cd9d3878"
+
+#SRCREV = "618447cbf203d147601b4b9bd7f8c37a5d39fbb4"
+SRCNAME = "helm"
+#PROTOCOL = "https"
+#BRANCH = "release-2.13"
+S = "${WORKDIR}/linux-amd64"
+PV = "2.13.1"
+
+SRC_URI = " \
+       https://get.helm.sh/helm-v2.13.1-linux-amd64.tar.gz \
+       file://helm-upload \
+       file://helm.sudo \
+       "
+# Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
+SRC_URI[md5sum] = "ffbe37fe328d99156d14a950bbd8107c"
+SRC_URI[sha256sum] = "c1967c1dfcd6c921694b80ededdb9bd1beb27cb076864e58957b1568bc98925a"
+
+INSANE_SKIP_${PN} = "ldflags"
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT  = "1"
+
+RDEPENDS_${PN} += " bash"
+
+
+do_configure() {
+       :
+}
+
+do_compile() {
+       :
+}
+
+do_install() {
+       install -m 0755 -d ${D}/${sbindir}/
+       install -m 0750 -d ${D}/${sysconfdir}/sudoers.d
+
+       install -m 0755 ${S}/helm ${D}/${sbindir}/
+       install -m 0755 ${S}/../helm.sudo ${D}/${sysconfdir}/sudoers.d/helm
+       install -m 0755 ${S}/../helm-upload ${D}/${sbindir}/
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+FILES_${PN} = " \
+       ${sbindir}/helm \
+       ${sbindir}/helm-upload \
+       ${sysconfdir}/sudoers.d \
+       ${sysconfdir}/sudoers.d/helm \
+       "
diff --git a/meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/kubernetes_git.bbappend b/meta-starlingx/meta-stx-virt/recipes-containers/kubernetes/kubernetes_git.bbappend
new file mode 100644 (file)
index 0000000..af0ddbc
--- /dev/null
@@ -0,0 +1,106 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+PV = "1.16.2+git${SRCREV_kubernetes}"
+SRCREV_kubernetes = "c97fe5036ef3df2967d086711e6c0c405941e14b"
+
+LICENSE += "(Apache-2.0&MIT)&(Apache-2.0|CC-BY-4.0)"
+LIC_FILES_CHKSUM_append = " \
+       file://src/import/logo/LICENSE;md5=b431638b9986506145774a9da0d0ad85 \
+       file://src/import/vendor/github.com/morikuni/aec/LICENSE;md5=86852eb2df591157c788f3ba889c8aec \
+       file://src/import/staging/src/k8s.io/sample-controller/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       file://src/import/test/images/kitten/Dockerfile;beginline=1;endline=13;md5=78cb21f802c15df77b75bd56f9417ccf \
+       file://src/import/test/images/nautilus/Dockerfile;beginline=1;endline=13;md5=78cb21f802c15df77b75bd56f9417ccf \
+       file://src/import/staging/src/k8s.io/kubectl/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e \
+       file://src/import/vendor/github.com/grpc-ecosystem/go-grpc-middleware/LICENSE;md5=7ab5c73bb7e4679b16dd7c11b3559acf \
+       "
+
+SRC_URI = "git://github.com/kubernetes/kubernetes.git;branch=release-1.16;name=kubernetes \
+       file://0001-hack-lib-golang.sh-use-CC-from-environment.patch \
+       file://0001-cross-don-t-build-tests-by-default.patch \
+       file://kubernetes-accounting.conf \
+       file://kubeadm.conf \
+       file://kubelet-cgroup-setup.sh \
+       file://contrib/* \
+       "
+
+INSANE_SKIP_${PN} += "textrel"
+INSANE_SKIP_${PN}-misc += "textrel"
+INSANE_SKIP_kubelet += "textrel"
+
+
+do_install () {
+       install -d ${D}${bindir}
+       install -d ${D}${systemd_system_unitdir}/
+
+       # Install binaries
+       install -m 755 -D ${S}/src/import/_output/local/bin/${TARGET_GOOS}/${TARGET_GOARCH}/* ${D}/${bindir}
+
+       # kubeadm:
+       install -d -m 0755 ${D}/${sysconfdir}/systemd/system/kubelet.service.d
+       install -m 0644 ${WORKDIR}/kubeadm.conf ${D}/${sysconfdir}/systemd/system/kubelet.service.d
+
+       # kubelete-cgroup-setup.sh
+       install -m 0700 ${WORKDIR}/kubelet-cgroup-setup.sh ${D}/${bindir}
+
+       # install the bash completion
+       install -d -m 0755 ${D}${datadir}/bash-completion/completions/
+       ${D}${bindir}/kubectl completion bash > ${D}${datadir}/bash-completion/completions/kubectl
+
+       # install config files
+       install -d -m 0755 ${D}${sysconfdir}/${BPN}
+       install -m 644 -t ${D}${sysconfdir}/${BPN} ${WORKDIR}/contrib/init/systemd/environ/*
+
+       # install service files
+       install -d -m 0755 ${D}${systemd_system_unitdir}
+       install -m 0644 -t ${D}${systemd_system_unitdir} ${WORKDIR}/contrib/init/systemd/*.service
+
+       # install the place the kubelet defaults to put volumes
+       install -d ${D}${localstatedir}/lib/kubelet
+
+       # install systemd tmpfiles
+       install -d -m 0755 ${D}${sysconfdir}/tmpfiles.d
+       install -p -m 0644 -t ${D}${sysconfdir}/tmpfiles.d ${WORKDIR}/contrib/init/systemd/tmpfiles.d/kubernetes.conf
+
+       # enable CPU and Memory accounting
+       install -d -m 0755 ${D}/${sysconfdir}/systemd/system.conf.d
+       install -m 0644 ${WORKDIR}/kubernetes-accounting.conf ${D}/${sysconfdir}//systemd/system.conf.d/
+}
+
+SYSTEMD_PACKAGES += "${PN} kube-proxy"
+SYSTEMD_SERVICE_kube-proxy = "kube-proxy.service"
+SYSTEMD_SERVICE_${PN} = "\
+       kube-scheduler.service \
+       kube-apiserver.service \
+       kube-controller-manager.service \
+       "
+SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+SYSTEMD_AUTO_ENABLE_kubelet = "disable"
+SYSTEMD_AUTO_ENABLE_kube-proxy = "disable"
+
+FILES_${PN} += "\
+       ${bindir}/kube-scheduler \
+       ${bindir}/kube-apiserver \
+       ${bindir}/kube-controller-manager \
+       ${bindir}/hyperkube \
+       ${bindir}/kubelet-cgroup-setup.sh \
+       "
+
+FILES_kubectl += "\
+       ${datadir}/bash-completion/completions/kubectl \
+       "
+
+FILES_${PN}-misc = "\
+       ${bindir}/conversion-gen \
+       ${bindir}/openapi-gen \
+       ${bindir}/apiextensions-apiserver \
+       ${bindir}/defaulter-gen \
+       ${bindir}/mounter \
+       ${bindir}/deepcopy-gen \
+       ${bindir}/go-bindata \
+       ${bindir}/go2make \
+       "
+
+RDEPENDS_${PN} += "\
+       bash \
+       kube-proxy \
+       "
diff --git a/meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph_13.2.2.bb b/meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph_13.2.2.bb
new file mode 100644 (file)
index 0000000..b908707
--- /dev/null
@@ -0,0 +1,300 @@
+SUMMARY = "User space components of the Ceph file system"
+DESCRIPTION = "\
+Ceph is a massively scalable, open-source, distributed storage system that runs \
+on commodity hardware and delivers object, block and file system storage. \
+"
+HOMEPAGE = "https://ceph.io"
+
+LICENSE = "LGPLv2.1 & GPLv2 & Apache-2.0 & MIT"
+LIC_FILES_CHKSUM = "\
+    file://COPYING-LGPL2.1;md5=fbc093901857fcd118f065f900982c24 \
+    file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+    file://COPYING;md5=92d301c8fccd296f2221a68a8dd53828 \
+"
+
+DEPENDS = "\
+    boost rdma-core bzip2 curl expat \
+    gperf-native keyutils libaio lz4 \
+    nspr nss oath openldap openssl \
+    python python-cython-native rocksdb \
+    snappy udev valgrind xfsprogs zlib \
+"
+
+S = "${WORKDIR}/git"
+BRANCH = "stx/v${PV}"
+SRCREV = "7567060fea1f8d719d317277f1eb01161cf3bfef"
+
+BRANCH_lua = "lua-5.3-ceph"
+SRCREV_lua = "1fce39c6397056db645718b8f5821571d97869a4"
+DESTSUF_lua = "git/src/lua"
+
+BRANCH_ceph-object-corpus = "master"
+SRCREV_ceph-object-corpus = "e32bf8ca3dc6151ebe7f205ba187815bc18e1cef"
+DESTSUF_ceph-object-corpus = "git/ceph-object-corpus"
+
+BRANCH_civetweb = "ceph-mimic"
+SRCREV_civetweb = "ff2881e2cd5869a71ca91083bad5d12cccd22136"
+DESTSUF_civetweb = "git/src/civetweb"
+
+BRANCH_jerasure = "v2-ceph"
+SRCREV_jerasure = "96c76b89d661c163f65a014b8042c9354ccf7f31"
+DESTSUF_jerasure = "git/src/erasure-code/jerasure/jerasure"
+
+BRANCH_gf-complete = "v3-ceph"
+SRCREV_gf-complete = "7e61b44404f0ed410c83cfd3947a52e88ae044e1"
+DESTSUF_gf-complete = "git/src/erasure-code/jerasure/gf-complete"
+
+BRANCH_xxHash = "master"
+SRCREV_xxHash = "1f40c6511fa8dd9d2e337ca8c9bc18b3e87663c9"
+DESTSUF_xxHash = "git/src/xxHash"
+
+# the tag v1.3.2 is not on any branch
+BRANCH_zstd = "nobranch=1"
+SRCREV_zstd = "f4340f46b2387bc8de7d5320c0b83bb1499933ad"
+DESTSUF_zstd = "git/src/zstd"
+
+BRANCH_rocksdb = "ceph-mimic"
+SRCREV_rocksdb = "f4a857da0b720691effc524469f6db895ad00d8e"
+DESTSUF_rocksdb = "git/src/rocksdb"
+
+BRANCH_ceph-erasure-code-corpus = "master"
+SRCREV_ceph-erasure-code-corpus = "2d7d78b9cc52e8a9529d8cc2d2954c7d375d5dd7"
+DESTSUF_ceph-erasure-code-corpus = "git/ceph-erasure-code-corpus"
+
+BRANCH_spdk = "wip-25032-mimic"
+SRCREV_spdk = "f474ce6930f0a44360e1cc4ecd606d2348481c4c"
+DESTSUF_spdk = "git/src/spdk"
+
+BRANCH_isa-l = "master"
+SRCREV_isa-l = "7e1a337433a340bc0974ed0f04301bdaca374af6"
+DESTSUF_isa-l = "git/src/isa-l"
+
+BRANCH_blkin = "master"
+SRCREV_blkin = "f24ceec055ea236a093988237a9821d145f5f7c8"
+DESTSUF_blkin = "git/src/blkin"
+
+BRANCH_rapidjson = "master"
+SRCREV_rapidjson = "f54b0e47a08782a6131cc3d60f94d038fa6e0a51"
+DESTSUF_rapidjson = "git/src/rapidjson"
+
+BRANCH_googletest = "ceph-release-1.7.x"
+SRCREV_googletest = "fdb850479284e2aae047b87df6beae84236d0135"
+DESTSUF_googletest = "git/src/googletest"
+
+BRANCH_crypto = "master"
+SRCREV_crypto = "603529a4e06ac8a1662c13d6b31f122e21830352"
+DESTSUF_crypto = "git/src/crypto/isa-l/isa-l_crypto"
+
+BRANCH_rapidjson-gtest = "ceph-release-1.7.x"
+SRCREV_rapidjson-gtest = "0a439623f75c029912728d80cb7f1b8b48739ca4"
+DESTSUF_rapidjson-gtest = "git/src/rapidjson/thirdparty/gtest"
+
+
+SRC_URI = "\
+    git://github.com/starlingx-staging/stx-ceph.git;branch=${BRANCH} \
+    git://github.com/ceph/lua;name=lua;branch=${BRANCH_lua};destsuffix=${DESTSUF_lua} \
+    git://github.com/ceph/ceph-object-corpus;name=ceph-object-corpus;branch=${BRANCH_ceph-object-corpus};destsuffix=${DESTSUF_ceph-object-corpus} \
+    git://github.com/ceph/civetweb;name=civetweb;branch=${BRANCH_civetweb};destsuffix=${DESTSUF_civetweb} \
+    git://github.com/ceph/jerasure;name=jerasure;branch=${BRANCH_jerasure};destsuffix=${DESTSUF_jerasure} \
+    git://github.com/ceph/gf-complete;name=gf-complete;branch=${BRANCH_gf-complete};destsuffix=${DESTSUF_gf-complete} \
+    git://github.com/ceph/xxHash;name=xxHash;branch=${BRANCH_xxHash};destsuffix=${DESTSUF_xxHash} \
+    git://github.com/facebook/zstd;name=zstd;${BRANCH_zstd};destsuffix=${DESTSUF_zstd} \
+    git://github.com/ceph/rocksdb;name=rocksdb;branch=${BRANCH_rocksdb};destsuffix=${DESTSUF_rocksdb} \
+    git://github.com/ceph/ceph-erasure-code-corpus;name=ceph-erasure-code-corpus;branch=${BRANCH_ceph-erasure-code-corpus};destsuffix=${DESTSUF_ceph-erasure-code-corpus} \
+    git://github.com/ceph/spdk;name=spdk;branch=${BRANCH_spdk};destsuffix=${DESTSUF_spdk} \
+    git://github.com/ceph/isa-l;name=isa-l;branch=${BRANCH_isa-l};destsuffix=${DESTSUF_isa-l} \
+    git://github.com/intel/isa-l_crypto;name=crypto;branch=${BRANCH_crypto};destsuffix=${DESTSUF_crypto} \
+    git://github.com/ceph/blkin;name=blkin;branch=${BRANCH_blkin};destsuffix=${DESTSUF_blkin} \
+    git://github.com/ceph/rapidjson;name=rapidjson;branch=${BRANCH_rapidjson};destsuffix=${DESTSUF_rapidjson} \
+    git://github.com/ceph/googletest;name=googletest;branch=${BRANCH_googletest};destsuffix=${DESTSUF_googletest} \
+    git://github.com/ceph/googletest;name=rapidjson-gtest;branch=${BRANCH_rapidjson-gtest};destsuffix=${DESTSUF_rapidjson-gtest} \
+    \
+    file://0001-Correct-the-path-to-find-version.h-in-rocksdb.patch \
+    file://0002-zstd-fix-error-for-cross-compile.patch \
+    file://0003-ceph-add-pybind-support-in-OE.patch \
+    file://0004-ceph-detect-init-correct-the-installation-for-OE.patch \
+    \
+    file://ceph-init-wrapper.sh \
+    file://ceph-manage-journal.py \
+    file://ceph-preshutdown.sh \
+    file://ceph-radosgw.service \
+    file://ceph.conf \
+    file://ceph.conf.pmon \
+    file://ceph.service \
+    file://ceph.sh \
+    file://mgr-restful-plugin.py \
+    file://mgr-restful-plugin.service \
+    file://starlingx-docker-override.conf \
+"
+
+inherit cmake pythonnative python-dir systemd
+
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+SYSTEMD_SERVICE_${PN} = " \
+    ceph-radosgw@.service \
+    ceph-radosgw.target \
+    ceph-mon@.service \
+    ceph-mon.target \
+    ceph-mds@.service \
+    ceph-mds.target \
+    ceph-disk@.service \
+    ceph-osd@.service \
+    ceph-osd.target \
+    ceph.target \
+    ceph-fuse@.service \
+    ceph-fuse.target \
+    ceph-rbd-mirror@.service \
+    ceph-rbd-mirror.target \
+    ceph-volume@.service \
+    ceph-mgr@.service \
+    ceph-mgr.target \
+    rbdmap.service \
+"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+OECMAKE_GENERATOR = "Unix Makefiles"
+
+EXTRA_OECMAKE = "\
+    -DWITH_MANPAGE=OFF \
+    -DWITH_FUSE=OFF \
+    -DWITH_SPDK=OFF \
+    -DWITH_LEVELDB=OFF \
+    -DWITH_LTTNG=OFF \
+    -DWITH_BABELTRACE=OFF \
+    -DWITH_TESTS=OFF \
+    -DDEBUG_GATHER=OFF \
+    -DWITH_PYTHON2=ON \
+    -DWITH_MGR=ON \
+    -DMGR_PYTHON_VERSION=2.7 \
+    -DWITH_MGR_DASHBOARD_FRONTEND=OFF \
+    -DWITH_SYSTEM_BOOST=ON \
+    -DWITH_SYSTEM_ROCKSDB=ON \
+    -DCMAKE_INSTALL_INITCEPH=${sysconfdir}/init.d \
+"
+
+do_configure_prepend () {
+    echo "set( CMAKE_SYSROOT \"${RECIPE_SYSROOT}\" )" >> ${WORKDIR}/toolchain.cmake
+    echo "set( CMAKE_DESTDIR \"${D}\" )" >> ${WORKDIR}/toolchain.cmake
+    echo "set( PYTHON_SITEPACKAGES_DIR \"${PYTHON_SITEPACKAGES_DIR}\" )" >> ${WORKDIR}/toolchain.cmake
+    ln -sf ${STAGING_LIBDIR}/libboost_python27.so ${STAGING_LIBDIR}/libboost_python.so
+    echo ${SRCREV} > ${S}/src/.git_version
+    echo v${PV} >> ${S}/src/.git_version
+}
+
+do_install_append () {
+    mv ${D}${bindir}/ceph-disk ${D}${sbindir}/ceph-disk
+    sed -i -e 's:${WORKDIR}.*python2.7:${bindir}/python:' ${D}${sbindir}/ceph-disk
+    sed -i -e 's:${sbindir}/service:${bindir}/service:' ${D}/${libdir}/python2.7/site-packages/ceph_disk/main.py
+    sed -i -e 's:${WORKDIR}.*python2.7:${bindir}/python:' ${D}${bindir}/ceph
+    sed -i -e 's:${WORKDIR}.*python2.7:${bindir}/python:' ${D}${bindir}/ceph-detect-init
+    find ${D} -name SOURCES.txt | xargs sed -i -e 's:${WORKDIR}::'
+
+    install -d ${D}${systemd_unitdir}
+    mv ${D}${libexecdir}/systemd/system ${D}${systemd_unitdir}
+    mv ${D}${libexecdir}/ceph/ceph-osd-prestart.sh ${D}${libdir}/ceph
+    install -m 0755 ${D}${libexecdir}/ceph/ceph_common.sh ${D}${libdir}/ceph
+
+    install -d ${D}${sysconfdir}/ceph
+    install -m 0644 ${WORKDIR}/ceph.conf ${D}${sysconfdir}/ceph/
+    install -m 0644 ${WORKDIR}/ceph-radosgw.service ${D}${systemd_system_unitdir}/ceph-radosgw@.service
+    install -m 0644 ${WORKDIR}/ceph.service ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/mgr-restful-plugin.service ${D}${systemd_system_unitdir}
+
+    install -m 0700 ${WORKDIR}/ceph-manage-journal.py ${D}${sbindir}/ceph-manage-journal
+    install -Dm 0750 ${WORKDIR}/mgr-restful-plugin.py  ${D}${sysconfdir}/rc.d/init.d/mgr-restful-plugin
+    install -Dm 0750 ${WORKDIR}/mgr-restful-plugin.py  ${D}${sysconfdir}/init.d/mgr-restful-plugin
+    install -m 0750 ${WORKDIR}/ceph.conf.pmon ${D}${sysconfdir}/ceph/
+
+    install -d -m 0750 ${D}${sysconfdir}/services.d/controller
+    install -d -m 0750 ${D}${sysconfdir}/services.d/storage
+    install -d -m 0750 ${D}${sysconfdir}/services.d/worker
+
+    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/controller
+    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/storage
+    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/worker
+
+    install -Dm 0750 ${WORKDIR}/ceph-init-wrapper.sh ${D}${sysconfdir}/rc.d/init.d/ceph-init-wrapper
+    install -Dm 0750 ${WORKDIR}/ceph-init-wrapper.sh ${D}${sysconfdir}/init.d/ceph-init-wrapper
+    sed -i -e 's|/usr/lib64|${libdir}|' ${D}${sysconfdir}/rc.d/init.d/ceph-init-wrapper ${D}${sysconfdir}/init.d/ceph-init-wrapper
+
+    install -m 0700 ${WORKDIR}/ceph-preshutdown.sh ${D}${sbindir}/ceph-preshutdown.sh
+    
+    install -Dm 0644 ${WORKDIR}/starlingx-docker-override.conf ${D}${systemd_system_unitdir}/docker.service.d/starlingx-docker-override.conf
+
+    install -m 0644 -D ${S}/src/etc-rbdmap ${D}${sysconfdir}/ceph/rbdmap 
+    install -m 0644 -D ${S}/etc/sysconfig/ceph ${D}${sysconfdir}/sysconfig/ceph
+    install -m 0644 -D ${S}/src/logrotate.conf ${D}${sysconfdir}/logrotate.d/ceph
+
+    install -m 0644 -D ${S}/COPYING ${D}${docdir}/ceph/COPYING    
+    install -m 0644 -D ${S}/etc/sysctl/90-ceph-osd.conf ${D}${libdir}/sysctl.d/90-ceph-osd.conf
+    install -m 0644 -D ${S}/udev/50-rbd.rules ${D}${libdir}/udev/rules.d/50-rbd.rules
+    install -m 0644 -D ${S}/udev/60-ceph-by-parttypeuuid.rules ${D}${libdir}/udev/rules.d/60-ceph-by-parttypeuuid.rules
+
+    mkdir -p ${D}${localstatedir}/ceph
+    mkdir -p ${D}${localstatedir}/log/ceph
+    mkdir -p ${D}${localstatedir}/lib/ceph/tmp
+    mkdir -p ${D}${localstatedir}/lib/ceph/mon
+    mkdir -p ${D}${localstatedir}/lib/ceph/osd
+    mkdir -p ${D}${localstatedir}/lib/ceph/mds
+    mkdir -p ${D}${localstatedir}/lib/ceph/mgr
+    mkdir -p ${D}${localstatedir}/lib/ceph/radosgw
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-osd
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-mds
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-rgw
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-mgr
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-rbd
+
+    install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
+    echo "d ${localstatedir}/run/ceph 0755 ceph ceph -" >> ${D}/${sysconfdir}/tmpfiles.d/ceph.conf
+
+    install -m 0750 -D ${S}/src/init-radosgw ${D}${sysconfdir}/rc.d/init.d/ceph-radosgw
+    install -m 0750 -D ${S}/src/init-radosgw ${D}${sysconfdir}/init.d/ceph-radosgw
+    sed -i '/### END INIT INFO/a SYSTEMCTL_SKIP_REDIRECT=1' ${D}${sysconfdir}/rc.d/init.d/ceph-radosgw
+    sed -i '/### END INIT INFO/a SYSTEMCTL_SKIP_REDIRECT=1' ${D}${sysconfdir}/init.d/ceph-radosgw
+    install -m 0750 -D ${S}/src/init-rbdmap ${D}${sysconfdir}/rc.d/init.d/rbdmap
+    install -m 0750 -D ${S}/src/init-rbdmap ${D}${sysconfdir}/init.d/rbdmap
+    install -m 0750 -D ${B}/bin/init-ceph ${D}${sysconfdir}/rc.d/init.d/ceph
+    install -m 0750 -D ${B}/bin/init-ceph ${D}${sysconfdir}/init.d/ceph
+    sed -i -e 's|/usr/lib64|${libdir}|' ${D}${sysconfdir}/init.d/ceph ${D}${sysconfdir}/rc.d/init.d/ceph
+    install -d -m 0750 ${D}${localstatedir}/log/radosgw
+}
+
+PACKAGES += " \
+    ${PN}-python \
+"
+
+FILES_${PN} += "\
+    ${libdir}/rados-classes/*.so.* \
+    ${libdir}/ceph/compressor/*.so \
+    ${libdir}/rados-classes/*.so \
+    ${libdir}/ceph/*.so \
+    ${localstatedir} \
+    ${docdir}/ceph/COPYING \
+    ${libdir}/sysctl.d/90-ceph-osd.conf \
+    ${libdir}/udev/rules.d/50-rbd.rules \
+    ${libdir}/udev/rules.d/60-ceph-by-parttypeuuid.rules \
+    ${systemd_system_unitdir}/mgr-restful-plugin.service \
+    ${systemd_system_unitdir}/ceph-radosgw@.service \
+    ${systemd_system_unitdir}/ceph.service \
+    ${systemd_system_unitdir}/docker.service.d/starlingx-docker-override.conf \
+"
+FILES_${PN}-python = "\
+    ${PYTHON_SITEPACKAGES_DIR}/* \
+"
+
+RDEPENDS_${PN} += "\
+    bash \
+    python \
+    python-misc \
+    python-modules \
+    python-prettytable \
+    rdma-core \
+    xfsprogs-mkfs \
+    ${PN}-python \
+"
+
+COMPATIBLE_HOST = "(x86_64).*"
+
+INSANE_SKIP_${PN}-python += "ldflags"
+INSANE_SKIP_${PN} += "dev-so"
diff --git a/meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph_14.1.0.bbappend b/meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph_14.1.0.bbappend
new file mode 100644 (file)
index 0000000..a89528f
--- /dev/null
@@ -0,0 +1,154 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:${THISDIR}/files:"
+
+inherit python3native python3-dir
+
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+SRC_URI += "\
+       file://0001-ceph-rebase-on-stx.3.0-and-warrior.patch \
+       file://ceph.conf \
+       file://ceph-init-wrapper.sh \
+        file://ceph-preshutdown.sh \
+        file://ceph.service \
+        file://mgr-restful-plugin.py \
+        file://starlingx-docker-override.conf \
+        file://ceph.conf.pmon \
+        file://ceph-manage-journal.py \
+        file://ceph-radosgw.service \
+        file://ceph.sh \
+        file://mgr-restful-plugin.service \
+       file://rados.runtime.decode.error.patch \
+       "
+DEPENDS = "boost rdma-core bzip2 curl expat gperf-native \
+               keyutils libaio lz4 \
+               nspr nss oath openldap openssl \
+               python3 python3-cython-native rocksdb snappy udev \
+               python-cython-native valgrind xfsprogs zlib \
+               rabbitmq-c \
+               "
+RDEPENDS_${PN} += " rdma-core python3-core python3 xfsprogs-mkfs python3-prettytable"
+
+
+EXTRA_OECMAKE = "-DWITH_MANPAGE=OFF \
+                 -DWITH_FUSE=OFF \
+                -DWITH_SPDK=OFF \
+                -DWITH_LEVELDB=OFF \
+                -DWITH_LTTNG=OFF \
+                -DWITH_BABELTRACE=OFF \
+                -DWITH_TESTS=OFF \
+                -DWITH_MGR=ON \
+                -DWITH_PYTHON2=OFF \
+                -DWITH_PYTHON3=ON \
+                -DMGR_PYTHON_VERSION=3 \
+                -DWITH_MGR_DASHBOARD_FRONTEND=OFF \
+                -DWITH_SYSTEM_BOOST=ON \
+                -DWITH_SYSTEM_ROCKSDB=ON \
+                -DWITH_RDMA=OFF \
+                -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \
+                "
+
+# TODO: Should be fixed in either boost package or CMake files. 
+#do_configure_prepend() {
+#      ln -f -s ${WORKDIR}/recipe-sysroot/usr/lib/libboost_python35.so \
+#              ${WORKDIR}/recipe-sysroot/usr/lib/libboost_python.so
+#}
+
+do_install_append () {
+    install -d ${D}${sysconfdir}/ceph
+    install -m 0644 ${WORKDIR}/ceph.conf ${D}${sysconfdir}/ceph/
+    install -m 0644 ${WORKDIR}/ceph-radosgw.service ${D}${systemd_system_unitdir}/ceph-radosgw@.service
+    install -m 0644 ${WORKDIR}/ceph.service ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/mgr-restful-plugin.service ${D}${systemd_system_unitdir}
+
+    install -m 0700 ${WORKDIR}/ceph-manage-journal.py ${D}${sbindir}/ceph-manage-journal
+    install -Dm 0750 ${WORKDIR}/mgr-restful-plugin.py  ${D}${sysconfdir}/rc.d/init.d/mgr-restful-plugin
+    install -Dm 0750 ${WORKDIR}/mgr-restful-plugin.py  ${D}${sysconfdir}/init.d/mgr-restful-plugin
+    install -m 0750 ${WORKDIR}/ceph.conf.pmon ${D}${sysconfdir}/ceph/
+
+    install -d -m 0750 ${D}${sysconfdir}/services.d/controller
+    install -d -m 0750 ${D}${sysconfdir}/services.d/storage
+    install -d -m 0750 ${D}${sysconfdir}/services.d/worker
+
+    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/controller
+    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/storage
+    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/worker
+
+    install -Dm 0750 ${WORKDIR}/ceph-init-wrapper.sh ${D}${sysconfdir}/rc.d/init.d/ceph-init-wrapper
+    install -Dm 0750 ${WORKDIR}/ceph-init-wrapper.sh ${D}${sysconfdir}/init.d/ceph-init-wrapper
+    sed -i -e 's|/usr/lib64|${libdir}|' ${D}${sysconfdir}/rc.d/init.d/ceph-init-wrapper ${D}${sysconfdir}/init.d/ceph-init-wrapper
+
+    install -m 0700 ${WORKDIR}/ceph-preshutdown.sh ${D}${sbindir}/ceph-preshutdown.sh
+    
+    install -Dm 0644 ${WORKDIR}/starlingx-docker-override.conf ${D}${systemd_system_unitdir}/docker.service.d/starlingx-docker-override.conf
+
+    install -m 0644 -D ${S}/src/etc-rbdmap ${D}${sysconfdir}/ceph/rbdmap 
+    install -m 0644 -D ${S}/etc/sysconfig/ceph ${D}${sysconfdir}/sysconfig/ceph
+    install -m 0644 -D ${S}/src/logrotate.conf ${D}${sysconfdir}/logrotate.d/ceph
+
+    install -m 0644 -D ${S}/COPYING ${D}${docdir}/ceph/COPYING    
+    install -m 0644 -D ${S}/etc/sysctl/90-ceph-osd.conf ${D}${libdir}/sysctl.d/90-ceph-osd.conf
+    install -m 0644 -D ${S}/udev/50-rbd.rules ${D}${libdir}/udev/rules.d/50-rbd.rules
+    # install -m 0644 -D ${S}/udev/60-ceph-by-parttypeuuid.rules ${D}${libdir}/udev/rules.d/60-ceph-by-parttypeuuid.rules
+
+    mkdir -p ${D}${localstatedir}/ceph
+    mkdir -p ${D}${localstatedir}/log/ceph
+    mkdir -p ${D}${localstatedir}/lib/ceph/tmp
+    mkdir -p ${D}${localstatedir}/lib/ceph/mon
+    mkdir -p ${D}${localstatedir}/lib/ceph/osd
+    mkdir -p ${D}${localstatedir}/lib/ceph/mds
+    mkdir -p ${D}${localstatedir}/lib/ceph/mgr
+    mkdir -p ${D}${localstatedir}/lib/ceph/radosgw
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-osd
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-mds
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-rgw
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-mgr
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-rbd
+    mkdir -p ${D}${localstatedir}/lib/ceph/crash/posted
+
+    install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
+    echo "d ${localstatedir}/run/ceph 0755 ceph ceph -" >> ${D}/${sysconfdir}/tmpfiles.d/ceph.conf
+
+    install -m 0755 ${D}${libdir}/ceph/ceph_common.sh ${D}${libexecdir}/ceph
+
+    install -m 0750 -D ${S}/src/init-radosgw ${D}${sysconfdir}/rc.d/init.d/ceph-radosgw
+    install -m 0750 -D ${S}/src/init-radosgw ${D}${sysconfdir}/init.d/ceph-radosgw
+    sed -i '/### END INIT INFO/a SYSTEMCTL_SKIP_REDIRECT=1' ${D}${sysconfdir}/rc.d/init.d/ceph-radosgw
+    sed -i '/### END INIT INFO/a SYSTEMCTL_SKIP_REDIRECT=1' ${D}${sysconfdir}/init.d/ceph-radosgw
+    install -m 0750 -D ${S}/src/init-rbdmap ${D}${sysconfdir}/rc.d/init.d/rbdmap
+    install -m 0750 -D ${S}/src/init-rbdmap ${D}${sysconfdir}/init.d/rbdmap
+    install -m 0750 -D ${B}/bin/init-ceph ${D}${sysconfdir}/rc.d/init.d/ceph
+    install -m 0750 -D ${B}/bin/init-ceph ${D}${sysconfdir}/init.d/ceph
+    install -d -m 0750 ${D}${localstatedir}/log/radosgw 
+
+    sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph
+    # sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-disk
+    # sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-detect-init
+
+    sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-crash
+    sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-volume
+    sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-volume-systemd
+    #sed -i -e '1s:python$:python3:' ${D}${bindir}/ceph-volume
+    #sed -i -e '1s:python$:python3:' ${D}${bindir}/ceph-volume-systemd
+    sed -i -e 's:/sbin/:/bin/:' ${D}${systemd_system_unitdir}/ceph-volume@.service
+}
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+RDEPENDS_${PN} += "\
+        bash \
+"
+
+FILES_${PN} += "\
+        ${localstatedir} \
+       ${docdir}/ceph/COPYING \
+       ${libdir}/sysctl.d/90-ceph-osd.conf \
+       ${libdir}/udev/rules.d/50-rbd.rules \
+       ${libdir}/udev/rules.d/60-ceph-by-parttypeuuid.rules \
+        ${systemd_system_unitdir}/mgr-restful-plugin.service \
+        ${systemd_system_unitdir}/ceph-radosgw@.service \
+        ${systemd_system_unitdir}/ceph.service \
+        ${systemd_system_unitdir}/docker.service.d/starlingx-docker-override.conf \
+       home/root/cluster/ceph-mon_config.sh \
+       home/root/cluster/ceph-mgr_manual.sh \
+       home/root/cluster/ceph-volume_manual.sh \
+"
+# /run/ceph
diff --git a/meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/ceph.conf b/meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/ceph.conf
new file mode 100644 (file)
index 0000000..29e0711
--- /dev/null
@@ -0,0 +1,58 @@
+[global]
+       # Unique ID for the cluster.
+       fsid = %CLUSTER_UUID%
+       # Public network where the monitor is connected to, i.e, 128.224.0.0/16
+       #public network = 127.0.0.1/24
+       # For version 0.55 and beyond, you must explicitly enable
+       # or disable authentication with "auth" entries in [global].
+       auth_cluster_required = cephx
+       auth_service_required = cephx
+       auth_client_required = cephx
+       osd_journal_size = 1024
+
+       # Uncomment the following line if you are mounting with ext4
+       # filestore xattr use omap = true
+
+       # Number of replicas of objects. Write an object 2 times.
+       # Cluster cannot reach an active + clean state until there's enough OSDs
+       # to handle the number of copies of an object. In this case, it requires
+       # at least 2 OSDs
+       osd_pool_default_size = 2
+
+       # Allow writing one copy in a degraded state.
+       osd_pool_default_min_size = 1
+
+       # Ensure you have a realistic number of placement groups. We recommend
+       # approximately 100 per OSD. E.g., total number of OSDs multiplied by 100
+       # divided by the number of replicas (i.e., osd pool default size). So for
+       # 2 OSDs and osd pool default size = 2, we'd recommend approximately
+       # (100 * 2) / 2 = 100.
+       osd_pool_default_pg_num = 64
+       osd_pool_default_pgp_num = 64
+       osd_crush_chooseleaf_type = 1
+       setuser match path = /var/lib/ceph/$type/$cluster-$id
+
+       # Override Jewel default of 2 reporters. StarlingX has replication factor 2
+       mon_osd_min_down_reporters = 1
+
+       # Use Hammer's report interval default value
+       osd_mon_report_interval_max = 120
+
+    # Configure max PGs per OSD to cover worst-case scenario of all possible
+    # StarlingX deployments i.e. AIO-SX with one OSD. Otherwise using
+    # the default value provided by Ceph Mimic leads to "too many PGs per OSD"
+    # health warning as the pools needed by stx-openstack are being created.
+    mon_max_pg_per_osd = 2048
+    osd_max_pg_per_osd_hard_ratio = 1.2
+
+[osd]
+       osd_mkfs_type = xfs
+       osd_mkfs_options_xfs = "-f"
+       osd_mount_options_xfs = "rw,noatime,inode64,logbufs=8,logbsize=256k"
+
+[mon]
+    mon warn on legacy crush tunables = false
+    # Quiet new warnings on move to Hammer
+    mon pg warn max per osd = 2048
+    mon pg warn max object skew = 0
+    mgr initial modules = restful
diff --git a/meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/starlingx-docker-override.conf b/meta-starlingx/meta-stx-virt/recipes-extended/ceph/files/starlingx-docker-override.conf
new file mode 100644 (file)
index 0000000..5ffd859
--- /dev/null
@@ -0,0 +1,3 @@
+[Service]
+ExecStopPost=/usr/sbin/ceph-preshutdown.sh
+
diff --git a/meta-starlingx/meta-stx-virt/recipes-networking/openvswitch/openvswitch_%.bbappend b/meta-starlingx/meta-stx-virt/recipes-networking/openvswitch/openvswitch_%.bbappend
new file mode 100644 (file)
index 0000000..764b98e
--- /dev/null
@@ -0,0 +1,108 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+
+RDEPENDS_${PN} += " \
+               python-pyelftools \
+               firewalld \
+               logrotate \
+               hwdata \
+               "
+
+PACKAGECONFIG = "libcap-ng ssl dpdk"
+PACKAGECONFIG[ssl] = "--enable-ssl,--disable-ssl,openssl,"
+PACKAGECONFIG[dpdk] = "--with-dpdk=${STAGING_DIR_TARGET}${DPDK_INSTALL_DIR}/share/${TARGET_ARCH}-native-linuxapp-gcc,,dpdk,"
+
+SRCREV_FORMAT = "opendev"
+SRCREV_opendev = "d778e862571957ece3c404c0c37d325769772fde"
+SUBPATH0 = "openvswitch-config"
+DSTSUFX0 = "stx-configfiles"
+
+LICENSE_append = "& Apache-2.0"
+LIC_FILES_CHKSUM += "\
+       file://stx-configfiles-LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+       "
+SRC_URI += " \
+       git://opendev.org/starlingx/config-files.git;protocol=https;destsuffix=${DSTSUFX0};branch="r/stx.3.0";subpath=${SUBPATH0};name=opendev \
+       "
+
+do_unpack_append() {
+    bb.build.exec_func('do_copy_config_files', d)
+}
+
+do_copy_config_files () {
+    cp -pf ${WORKDIR}/stx-configfiles/files/LICENSE ${S}/stx-configfiles-LICENSE
+}
+
+do_install_append () {
+       cd ${S}
+       install -d -p -m0755 ${D}/${base_libdir}/udev/rules.d
+       install -d -m0755 ${D}/${systemd_system_unitdir}
+       install -p -m0644 rhel/usr_lib_udev_rules.d_91-vfio.rules ${D}/${base_libdir}/udev/rules.d/91-vfio.rules
+
+       install -p -m0644 \
+               rhel/usr_lib_systemd_system_ovs-delete-transient-ports.service \
+               ${D}/${systemd_system_unitdir}/ovs-delete-transient-ports.service 
+
+       install -p -m0644 \
+               rhel/usr_lib_systemd_system_ovn-controller.service \
+               ${D}/${systemd_system_unitdir}/ovn-controller.service \
+
+       install -p -m0644 \
+               rhel/usr_lib_systemd_system_ovn-controller-vtep.service \
+               ${D}/${systemd_system_unitdir}/ovn-controller-vtep.service \
+
+       install -p -m0644 \
+               rhel/usr_lib_systemd_system_ovn-northd.service \
+               ${D}/${systemd_system_unitdir}/ovn-northd.service \
+
+##############
+# TODO: Do we need to use sysv? 
+#              
+#      install -m 0755 rhel/etc_init.d_openvswitch \
+#        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init
+#
+# TODO: Is this the best solution?
+#      install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/
+#      install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \
+#              $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
+#      install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \
+#              $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
+# TODO: warrior builds openvswitch with python3.
+#      install -d -m 0755 $RPM_BUILD_ROOT%{python2_sitelib}
+#      cp -a $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/* \
+#              $RPM_BUILD_ROOT%{python2_sitelib}
+#
+# TODO: who needs this script?
+#      install -p -D -m 0755 \
+#              rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
+#              $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs-systemd-reload
+###########
+
+       install -d -p -m0755 ${D}/${sysconfdir}/logrotate.d
+       install -p -D -m 0644 rhel/etc_logrotate.d_openvswitch \
+               ${D}/${sysconfdir}/logrotate.d/openvswitch
+
+
+       install -d -p -m 0755 ${D}/${sharedstatedir}/openvswitch
+       install -d -p  -m 0755 ${D}/${libdir}/firewalld/services/
+       install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-central-firewall-service.xml \
+               ${D}/${libdir}/firewalld/services/ovn-central-firewall-service.xml
+
+       install -d -p -m 0755 ${D}/${libdir}/ocf/resource.d/ovn
+       ln -s ${datadir}/openvswitch/scripts/ovndb-servers.ocf  ${D}/${libdir}/ocf/resource.d/ovn/ovndb-servers
+
+       if ${@bb.utils.contains('PACKAGECONFIG', 'dpdk', 'true', 'false', d)}; then
+               install -m 0755 ${STAGING_DATADIR}/dpdk/usertools/dpdk-pmdinfo.py ${D}${datadir}/openvswitch/scripts/dpdk-pmdinfo.py
+               install -m 0755 ${STAGING_DATADIR}/dpdk/usertools/dpdk-devbind.py ${D}${datadir}/openvswitch/scripts/dpdk-devbind.py
+       fi
+
+       install -m 0644 ${WORKDIR}/stx-configfiles/files/ovsdb-server.pmon.conf ${D}/${sysconfdir}/openvswitch/ovsdb-server.pmon.conf
+       install -m 0644 ${WORKDIR}/stx-configfiles/files/ovs-vswitchd.pmon.conf ${D}/${sysconfdir}/openvswitch/ovs-vswitchd.pmon.conf
+       install -m 0644 ${WORKDIR}/stx-configfiles/files/etc_logrotate.d_openvswitch ${D}/${sysconfdir}/logrotate.d/openvswitch
+      
+}
+
+
+FILES_${PN}_append = " \
+       ${libdir}/      \
+       ${base_libdir}/ \
+       "
diff --git a/meta-stx/README.md b/meta-stx/README.md
deleted file mode 100644 (file)
index 98dffe5..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-#
-meta-stx
-=========
-
-Build
-------------------------
-```
-git clone --branch r3_rebase git@github.com:zbsarashki/staging-stx.git
-cd staging-stx
-./setup.sh
-```
-
-Introduction
-------------------------
-
-This layer enables starlingx on poky. 
-
-
-Dependencies
--------------------------
-
-This layer depends on:
-
-```
-       URI: git://git.openembedded.org/meta-openembedded/
-       revision: HEAD
-
-       layes: meta-oe
-       meta-python
-       meta-networking
-```
-You are solely responsible for determining the appropriateness of using or redistributing the above dependencies and assume any risks associated with your exercise of permissions under the license.
-
-Maintenance
--------------------------
-
-Maintainer:
-
-
-
-Building the meta-stx layer
----------------------------
-
-
-Setup workspace
-```
-mkdir -p $P/workspace/{layers,build}
-cd $P/workspace/layers
-
-git clone --branch thud git://git.yoctoproject.org/poky.git
-git clone --branch thud git://git.openembedded.org/meta-openembedded
-git clone --branch thud git://git.yoctoproject.org/meta-virtualization
-git clone --branch thud git://git.yoctoproject.org/meta-cloud-services
-git clone --branch thud git://git.yoctoproject.org/meta-intel
-git clone --branch thud git://git.yoctoproject.org/meta-intel-qat
-git clone --branch thud git://git.yoctoproject.org/meta-selinux
-git clone --branch thud git://git.yoctoproject.org/meta-security
-git clone --branch thud https://github.com/jiazhang0/meta-secure-core.git
-git clone --branch thud https://github.com/intel-iot-devkit/meta-iot-cloud.git 
-git clone --branch thud https://github.com/rauc/meta-rauc.git
-git clone --branch thud git://git.yoctoproject.org/meta-intel
-git clone --branch thud git://git.yoctoproject.org/meta-intel-qat
-git clone --branch thud https://github.com/intel-iot-devkit/meta-iot-cloud.git
-git clone https://github.com/zbsarashki/meta-stx.git
-
-```
-Add the following layers to conf/bblayers.conf
-
-```
-
-P=Path to workspace 
-
-cd $P/workspace/layers/poky
-source oe-init-build-env $P/workspace/build
-
-cat > conf/bblayers.conf << EOF
-# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
-# changes incompatibly
-POKY_BBLAYERS_CONF_VERSION = "2"
-BBPATH = "\${TOPDIR}"
-BBFILES ?= ""
-
-BBLAYERS ?= " \\
-       $P/workspace/layers/poky/meta \\
-       $P/workspace/layers/poky/meta-poky \\
-       $P/workspace/layers/poky/meta-yocto-bsp \\
-       $P/workspace/layers/meta-openembedded/meta-oe \\
-       $P/workspace/layers/meta-openembedded/meta-networking \\
-       $P/workspace/layers/meta-openembedded/meta-filesystems \\
-       $P/workspace/layers/meta-openembedded/meta-perl \\
-       $P/workspace/layers/meta-openembedded/meta-python \\
-       $P/workspace/layers/meta-openembedded/meta-webserver \\
-       $P/workspace/layers/meta-openembedded/meta-initramfs \\
-       $P/workspace/layers/meta-openembedded/meta-gnome \\
-       $P/workspace/layers/meta-virtualization \\
-       $P/workspace/layers/meta-cloud-services \\
-       $P/workspace/layers/meta-cloud-services/meta-openstack \\
-       $P/workspace/layers/meta-cloud-services/meta-openstack-aio-deploy \\
-       $P/workspace/layers/meta-cloud-services/meta-openstack-compute-deploy \\
-       $P/workspace/layers/meta-cloud-services/meta-openstack-controller-deploy \\
-       $P/workspace/layers/meta-cloud-services/meta-openstack-qemu \\
-       $P/workspace/layers/meta-cloud-services/meta-openstack-swift-deploy \\
-       $P/workspace/layers/meta-secure-core/meta-signing-key \\
-       $P/workspace/layers/meta-secure-core/meta-efi-secure-boot \\
-       $P/workspace/layers/meta-secure-core/meta-encrypted-storage \\
-       $P/workspace/layers/meta-secure-core/meta-integrity \\
-       $P/workspace/layers/meta-secure-core/meta-tpm2 \\
-       $P/workspace/layers/meta-secure-core/meta \\
-       $P/workspace/layers/meta-security \\
-       $P/workspace/layers/meta-security/meta-security-compliance \\
-       $P/workspace/layers/meta-selinux \\
-       $P/workspace/layers/meta-intel \\
-       $P/workspace/layers/meta-intel-qat \\
-       $P/workspace/layers/meta-rauc \\
-       $P/workspace/layers/meta-iot-cloud \\
-       $P/workspace/layers/meta-stx \\
-       "
-EOF
-       sed -i -e 's/^\(#MACHINE.*\"qemuarm\"\)/MACHINE \?= \"intel-corei7-64\"\n\1/g' conf/local.conf
-       echo 'PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"' >> conf/local.conf
-
-```
-
-Use Case:
----------------------------
-
-
-# Legal Notices
-
-All product names, logos, and brands are property of their respective owners. All company, product and service names used in this software are for identification purposes only. Wind River is a registered trademarks of Wind River Systems, Inc. Linux is a registered trademark of Linus Torvalds.
-
-Disclaimer of Warranty / No Support: Wind River does not provide support and maintenance services for this software, under Wind River’s standard Software Support and Maintenance Agreement or otherwise. Unless required by applicable law, Wind River provides the software (and each contributor provides its contribution) on an “AS IS” BASIS, WITHOUT WARRANTIES OF ANY KIND, either express or implied, including, without limitation, any warranties of TITLE, NONINFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the software and assume any risks associated with your exercise of permissions under the license.
diff --git a/meta-stx/classes/extrausers-config.bbclass b/meta-stx/classes/extrausers-config.bbclass
deleted file mode 100644 (file)
index b4ffe9c..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-# This bbclass creates users based on EXTRA_USER_PARAMS through
-# extrausers bbclass and is intended to take config options for 
-# configuring users uniq environment.
-
-inherit extrausers
-
-
-PACKAGE_INSTALL_append = " ${@['', 'base-passwd shadow'][bool(d.getVar('EXTRA_USERS_PARAMS_CONFIG'))]}"
-
-ROOTFS_POSTPROCESS_COMMAND_append = " set_user_group_config;"
-
-set_user_group_config () {
-
-# FIXME: parse EXTRA_USERS_PARAMS_CONFIG for options
-       
-       EXTRA_USERS_PARAMS=" ${EXTRA_USERS_PARAMS_CONFIG}"
-       set_user_group
-
-       #Extend path variable for sysadmin
-       echo 'PATH=/sbin:/usr/sbin:$PATH' >> ${IMAGE_ROOTFS}/home/sysadmin/.bashrc
-       chown sysadmin:sys_protected ${IMAGE_ROOTFS}/home/sysadmin/.bashrc
-}
diff --git a/meta-stx/classes/openssl10.bbclass b/meta-stx/classes/openssl10.bbclass
deleted file mode 100644 (file)
index 1e92746..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-python __anonymous() {
-   if bb.utils.contains('DEPENDS', 'openssl', True, False, d) or \
-      bb.utils.contains('DEPENDS', 'openssl-native', True, False, d):
-          d.setVar('DEPENDS', d.getVar('DEPENDS').replace('openssl', 'openssl10'))
-          d.setVar('DEPENDS', d.getVar('DEPENDS').replace('openssl-native', 'openssl10-native'))
-}
-
-
-python do_ssl10_mk_symlink() {
-
-    import shutil
-    l = d.getVar("STAGING_INCDIR") + "/openssl"
-
-    if os.path.islink(l):
-        os.unlink(l)
-    elif os.path.isdir(l):
-        shutil.rmtree(l)
-
-    os.symlink("openssl10/openssl",l)
-
-    l = d.getVar("STAGING_LIBDIR")
-    if os.path.islink(l + "/libssl.so"):
-        os.unlink(l + "/libssl.so")
-        os.unlink(l + "/libcrypto.so")
-
-    os.symlink("libssl.so.1.0.2", l + "/libssl.so")
-    os.symlink("libcrypto.so.1.0.2", l + "/libcrypto.so")
-}
-
-addtask ssl10_mk_symlink before do_configure after do_prepare_recipe_sysroot
diff --git a/meta-stx/classes/python-backports-init.bbclass b/meta-stx/classes/python-backports-init.bbclass
deleted file mode 100644 (file)
index 02fb480..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit python-dir
-
-RDEPENDS_${PN} += "python-backports-init"
-
-do_install_prepend() {
-    rm -rf $(find . -path "*/backports/__init__.py" -type f)
-}
diff --git a/meta-stx/classes/stx-anaconda-image.bbclass b/meta-stx/classes/stx-anaconda-image.bbclass
deleted file mode 100644 (file)
index 6114739..0000000
+++ /dev/null
@@ -1,411 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RPM_POSTPROCESS_COMMANDS_append = "wrl_installer;"
-do_rootfs[vardeps] += "INSTALLER_TARGET_BUILD INSTALLER_TARGET_IMAGE"
-
-# Fix system-shutdown hang at ratelimiting
-APPEND_append = " printk.devkmsg=on"
-
-INSTPRODUCT ?= "${DISTRO_NAME}"
-INSTVER     ?= "${DISTRO_VERSION}"
-INSTBUGURL  ?= "http://www.windriver.com/"
-
-# NOTE: Please update anaconda-init when you change INSTALLER_CONFDIR, use "="
-#       but not "?=" since this is not configurable.
-INSTALLER_CONFDIR = "${IMAGE_ROOTFS}/installer-config"
-KICKSTART_FILE ??= ""
-KICKSTART_FILE_EXTRA ??= ""
-WRL_INSTALLER_CONF ?= ""
-
-# Extra packages that will be added in the rpm repo in anaconda installer ISO image
-REPO_EXTRA_PKG = "\
-    xfsprogs-* \
-    glibc-binary-localedata-* \
-"
-
-build_iso_prepend() {
-       install -d ${ISODIR}
-       ln -snf /.discinfo ${ISODIR}/.discinfo
-       ln -snf /.buildstamp ${ISODIR}/.buildstamp
-       ln -snf /Packages ${ISODIR}/Packages
-}
-
-build_iso_append() {
-       implantisomd5 ${IMGDEPLOYDIR}/${IMAGE_NAME}.iso
-}
-
-# Check WRL_INSTALLER_CONF and copy it to
-# ${IMAGE_ROOTFS}/.buildstamp.$prj_name when exists
-wrl_installer_copy_buildstamp() {
-    prj_name=$1
-    buildstamp=$2
-    if [ -f $buildstamp ]; then
-        bbnote "Using $buildstamp as the buildstamp"
-        cp $buildstamp ${IMAGE_ROOTFS}/.buildstamp.$prj_name
-    else
-        bbfatal "Can't find WRL_INSTALLER_CONF: $buildstamp"
-    fi
-}
-
-# Hardlink when possible, otherwise copy.
-# $1: src
-# $2: target
-wrl_installer_hardlinktree() {
-    src_dev="`stat -c %d $1`"
-    if [ -e "$2" ]; then
-        tgt_dev="`stat -c %d $2`"
-    else
-        tgt_dev="`stat -c %d $(dirname $2)`"
-    fi
-    hdlink=""
-    if [ "$src_dev" = "$tgt_dev" ]; then
-        hdlink="--link"
-    fi
-    cp -rvf $hdlink $1 $2
-}
-
-wrl_installer_copy_local_repos() {
-    deploy_dir_rpm=$1
-    target_build="$2"
-    target_image="$3"
-
-    target_image_input_pkglist=$(sed -n 's/^IMAGE_LIST="\(.*\)"/\1/p' ${target_build}/installersupport_${target_image})
-    if [ ! -f ${target_image_input_pkglist} ]; then
-        bberror "The target image pkglist '${target_image_input_pkglist}' doesn't exist!"
-    fi
-
-    target_image_output_pkglist="${IMGDEPLOYDIR}/${IMAGE_NAME}.${target_image}.pkglist"
-    target_image_output_pkglist_link="${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${target_image}.pkglist"
-
-
-    if [ -d "$deploy_dir_rpm" ]; then
-        echo "Copy rpms from target build to installer image."
-        mkdir -p ${IMAGE_ROOTFS}/Packages.$prj_name
-
-        : > ${IMAGE_ROOTFS}/Packages.$prj_name/.treeinfo
-        echo "[general]" >> ${IMAGE_ROOTFS}/Packages.$prj_name/.treeinfo
-        echo "version = ${DISTRO_VERSION}" >> ${IMAGE_ROOTFS}/Packages.$prj_name/.treeinfo
-
-        # Determine the max channel priority
-        channel_priority=5
-        for pt in $installer_target_archs ; do
-            channel_priority=$(expr $channel_priority + 5)
-        done
-
-        : > ${IMAGE_ROOTFS}/Packages.$prj_name/.feedpriority
-        for arch in $installer_target_archs; do
-            if [ -d "$deploy_dir_rpm/"$arch -a ! -d "${IMAGE_ROOTFS}/Packages.$prj_name/"$arch ]; then
-                channel_priority=$(expr $channel_priority - 5)
-                echo "$channel_priority $arch" >> ${IMAGE_ROOTFS}/Packages.$prj_name/.feedpriority
-            fi
-        done
-
-        cd ${deploy_dir_rpm}
-        set -x
-        # Add the packages in target image pkglist
-        cat ${target_image_input_pkglist} > ${target_image_output_pkglist}.tmp
-
-        # Add the extra packages required by anaconda
-        for pkgs in ${REPO_EXTRA_PKG}; do
-            pkg_files=$(find . -type f -name ${pkgs})
-            if [ -z "${pkg_files}" ]; then
-                bbwarn "Package ${pkgs} not found, please check if there is anything wrong or just remove it from the list."
-            else
-                for pkg_file in ${pkg_files}; do
-                    basename ${pkg_file} >> ${target_image_output_pkglist}.tmp
-                done
-            fi
-        done
-
-        cat ${target_image_output_pkglist}.tmp|sort|uniq > ${target_image_output_pkglist}
-        ln -s ${IMAGE_NAME}.${target_image}.pkglist ${target_image_output_pkglist_link}
-        rm -f ${target_image_output_pkglist}.tmp
-
-        for pkg in $(cat ${target_image_output_pkglist}); do
-            pkg_file=$(find . -type f -name ${pkg})
-            if [ -z "${pkg_file}" ]; then
-                bbwarn "Package ${pkg} not found, please check if there is anything wrong or just remove it from the list."
-            else
-                cp --parents -vf ${pkg_file} ${IMAGE_ROOTFS}/Packages.$prj_name/
-            fi
-        done
-        cd -
-
-        createrepo_c --update -q ${IMAGE_ROOTFS}/Packages.$prj_name/
-    fi
-}
-
-# Update .buildstamp and copy rpm packages to IMAGE_ROOTFS
-wrl_installer_copy_pkgs() {
-
-    target_build="$1"
-    target_image="$2"
-    prj_name="$3"
-    if [ -n "$4" ]; then
-        installer_conf="$4"
-    else
-        installer_conf=""
-    fi
-
-    common_grep="-e '^ALL_MULTILIB_PACKAGE_ARCHS=.*' \
-            -e '^MULTILIB_VARIANTS=.*' -e '^PACKAGE_ARCHS=.*'\
-            -e '^PACKAGE_ARCH=.*' -e '^PACKAGE_INSTALL_ATTEMPTONLY=.*' \
-            -e '^DISTRO=.*' -e '^DISTRO_NAME=.*' -e '^DISTRO_VERSION=.*' \
-            "
-
-    if [ -f "$installer_conf" ]; then
-        eval "grep -e \"^PACKAGE_INSTALL=.*\" $common_grep $installer_conf \
-            | sed -e 's/=/=\"/' -e 's/$/\"/' > ${BB_LOGFILE}.distro_vals"
-
-        eval "cat $target_build/installersupport_$target_image | \
-            grep -e '^WORKDIR=.*' >> ${BB_LOGFILE}.distro_vals"
-
-        eval `cat ${BB_LOGFILE}.distro_vals`
-        if [ $? -ne 0 ]; then
-            bbfatal "Something is wrong in $installer_conf, please correct it"
-        fi
-        if [ -z "$PACKAGE_ARCHS" -o -z "$PACKAGE_INSTALL" ]; then
-            bbfatal "PACKAGE_ARCHS or PACKAGE_INSTALL is null, please check $installer_conf"
-        fi
-    else
-        eval "cat $target_build/installersupport_$target_image | \
-            grep $common_grep -e '^PN=.*' -e '^SUMMARY=.*' -e '^WORKDIR=.*'\
-            -e '^DESCRIPTION=.*' -e '^export PACKAGE_INSTALL=.*' > ${BB_LOGFILE}.distro_vals"
-
-        eval `cat ${BB_LOGFILE}.distro_vals`
-    fi
-
-    export installer_default_arch="$PACKAGE_ARCH"
-    # Reverse it for priority
-    export installer_default_archs="`for arch in $PACKAGE_ARCHS; do echo $arch; done | tac | tr - _`"
-    installer_target_archs="$installer_default_archs"
-    if [ -n "$MULTILIB_VARIANTS" ]; then
-        export MULTILIB_VARIANTS
-        mlarchs_reversed="`for mlarch in $ALL_MULTILIB_PACKAGE_ARCHS; do echo $mlarch; \
-            done | tac | tr - _`"
-        for arch in $mlarchs_reversed; do
-            if [ "$arch" != "noarch" -a "$arch" != "all" -a "$arch" != "any" ]; then
-                installer_target_archs="$installer_target_archs $arch"
-            fi
-        done
-    fi
-    export installer_target_archs
-
-    # Save the vars to .buildstamp when no installer_conf
-    if [ ! -f "$installer_conf" ]; then
-        cat >> ${IMAGE_ROOTFS}/.buildstamp.$prj_name <<_EOF
-DISTRO=$DISTRO
-DISTRO_NAME=$DISTRO_NAME
-DISTRO_VERSION=$DISTRO_VERSION
-
-[Rootfs]
-LIST=$PN
-
-[$PN]
-SUMMARY=$SUMMARY
-DESCRIPTION=$DESCRIPTION
-
-PACKAGE_INSTALL=$PACKAGE_INSTALL
-PACKAGE_INSTALL_ATTEMPTONLY=$PACKAGE_INSTALL_ATTEMPTONLY
-ALL_MULTILIB_PACKAGE_ARCHS=$ALL_MULTILIB_PACKAGE_ARCHS
-MULTILIB_VARIANTS=$MULTILIB_VARIANTS
-PACKAGE_ARCHS=$PACKAGE_ARCHS
-PACKAGE_ARCH=$PACKAGE_ARCH
-IMAGE_LINGUAS=${IMAGE_LINGUAS}
-_EOF
-    fi
-
-    if [ -d "$WORKDIR/oe-rootfs-repo/rpm" ]; then
-        # Copy local repos while the image is not initramfs
-        bpn=${BPN}
-        if [ "${bpn##*initramfs}" = "${bpn%%initramfs*}" ]; then
-            wrl_installer_copy_local_repos $WORKDIR/oe-rootfs-repo/rpm $target_build $target_image
-        fi
-        echo "$DISTRO::$prj_name::$DISTRO_NAME::$DISTRO_VERSION" >> ${IMAGE_ROOTFS}/.target_build_list
-    fi
-}
-
-wrl_installer_get_count() {
-    sum=0
-    for i in $*; do
-        sum=$(expr $sum + 1)
-    done
-    echo $sum
-}
-
-wrl_installer[vardepsexclude] = "DATETIME"
-wrl_installer() {
-    cat >${IMAGE_ROOTFS}/.discinfo <<_EOF
-${DATETIME}
-${DISTRO_NAME} ${DISTRO_VERSION}
-${TARGET_ARCH}
-_EOF
-
-    : > ${IMAGE_ROOTFS}/.target_build_list
-    counter=0
-    targetimage_counter=0
-    for target_build in ${INSTALLER_TARGET_BUILD}; do
-        target_build="`readlink -f $target_build`"
-        echo "Installer Target Build: $target_build"
-        counter=$(expr $counter + 1)
-        prj_name="`echo $target_build | sed -e 's#/ *$##g' -e 's#.*/##'`"
-        prj_name="$prj_name-$counter"
-
-           # Generate .buildstamp
-           if [ -n "${WRL_INSTALLER_CONF}" ]; then
-               installer_conf="`echo ${WRL_INSTALLER_CONF} | awk '{print $'"$counter"'}'`"
-               wrl_installer_copy_buildstamp $prj_name $installer_conf
-           else
-               cat >${IMAGE_ROOTFS}/.buildstamp.$prj_name <<_EOF
-[Main]
-Product=${INSTPRODUCT}
-Version=${INSTVER}
-BugURL=${INSTBUGURL}
-IsFinal=True
-UUID=${DATETIME}.${TARGET_ARCH}
-_EOF
-           fi
-
-           if [ -f "$target_build" ]; then
-               filename=$(basename "$target_build")
-               extension="${filename##*.}"
-               bpn=${BPN}
-               # Do not copy image for initramfs
-               if [ "${bpn##*initramfs}" != "${bpn%%initramfs*}" ]; then
-                   continue
-               elif [ "x$extension" = "xext2" -o "x$extension" = "xext3" -o "x$extension" = "xext4" ]; then
-                   echo "Image based target install selected."
-                   mkdir -p "${IMAGE_ROOTFS}/LiveOS.$prj_name"
-                   wrl_installer_hardlinktree "$target_build" "${IMAGE_ROOTFS}/LiveOS.$prj_name/rootfs.img"
-                   echo "::$prj_name::" >> ${IMAGE_ROOTFS}/.target_build_list
-               else
-                   bberror "Unsupported image: $target_build."
-                   bberror "The image must be ext2, ext3 or ext4"
-                   exit 1
-               fi
-           elif [ -d "$target_build" ]; then
-               targetimage_counter=$(expr $targetimage_counter + 1)
-               target_image="`echo ${INSTALLER_TARGET_IMAGE} | awk '{print $'"$targetimage_counter"'}'`"
-               echo "Target Image: $target_image"
-               wrl_installer_copy_pkgs $target_build $target_image $prj_name $installer_conf
-           else
-               bberror "Invalid configuration of INSTALLER_TARGET_BUILD: $target_build."
-               bberror "It must either point to an image (ext2, ext3 or ext4) or to the root of another build directory"
-               exit 1
-           fi
-
-           ks_cfg="${INSTALLER_CONFDIR}/ks.cfg.$prj_name"
-           if [ -n "${KICKSTART_FILE}" ]; then
-               ks_file="`echo ${KICKSTART_FILE} | awk '{print $'"$counter"'}'`"
-               bbnote "Copying kickstart file $ks_file to $ks_cfg ..."
-               mkdir -p ${INSTALLER_CONFDIR}
-               cp $ks_file $ks_cfg
-           fi
-           if [ -n "${KICKSTART_FILE_EXTRA}" ]; then
-               for ks_file in ${KICKSTART_FILE_EXTRA}; do
-                   if [ -f $ks_file ]; then
-                       cp $ks_file ${INSTALLER_CONFDIR}
-                   else
-                       bbwarn "The kickstart file $ks_file in KICKSTART_FILE_EXTRA doesn't exist!"
-                   fi
-               done
-           fi
-    done
-
-    # Setup the symlink if only one target build dir.
-    if [ "$counter" = "1" ]; then
-        prj_name="`awk -F:: '{print $2}' ${IMAGE_ROOTFS}/.target_build_list`"
-        entries=".buildstamp LiveOS Packages installer-config/ks.cfg"
-        for i in $entries; do
-            if [ -e ${IMAGE_ROOTFS}/$i.$prj_name ]; then
-                ln -sf `basename $i.$prj_name` ${IMAGE_ROOTFS}/$i
-            fi
-        done
-    fi
-}
-
-python __anonymous() {
-    if "selinux" in d.getVar("DISTRO_FEATURES", True).split():
-        raise bb.parse.SkipPackage("Unable to build the installer when selinux is enabled.")
-
-    if bb.data.inherits_class('image', d):
-        if d.getVar("DISTRO", True) != "anaconda":
-            raise bb.parse.SkipPackage("Set DISTRO = 'anaconda' in local.conf")
-
-        target_builds = d.getVar('INSTALLER_TARGET_BUILD', True)
-        if not target_builds:
-            errmsg = "No INSTALLER_TARGET_BUILD is found,\n"
-            errmsg += "set INSTALLER_TARGET_BUILD = '<target-build-topdir>' and\n"
-            errmsg += "INSTALLER_TARGET_IMAGE = '<target-image-pn>' to do RPMs\n"
-            errmsg += "install, or\n"
-            errmsg += "set INSTALLER_TARGET_BUILD = '<target-build-image>' to do\n"
-            errmsg += "image copy install"
-            raise bb.parse.SkipPackage(errmsg)
-
-        count = 0
-        for target_build in target_builds.split():
-            if not os.path.exists(target_build):
-                raise bb.parse.SkipPackage("The %s of INSTALLER_TARGET_BUILD does not exist" % target_build)
-
-            if os.path.isdir(target_build):
-                count += 1
-
-        # While do package management install
-        if count > 0:
-            target_images = d.getVar('INSTALLER_TARGET_IMAGE', True)
-            if not target_images:
-                errmsg = "The INSTALLER_TARGET_BUILD is a dir, but not found INSTALLER_TARGET_IMAGE,\n"
-                errmsg += "set INSTALLER_TARGET_IMAGE = '<target-image-pn>' to do RPMs install"
-                raise bb.parse.SkipPackage(errmsg)
-
-            elif count != len(target_images.split()):
-                errmsg = "The INSTALLER_TARGET_BUILD has %s build dirs: %s\n" % (count, target_builds)
-                errmsg += "But INSTALLER_TARGET_IMAGE has %s build images: %s\n" % (len(target_images.split()), target_images)
-                raise bb.parse.SkipPackage(errmsg)
-
-        # The count of INSTALLER_TARGET_BUILD and WRL_INSTALLER_CONF must match when set.
-        wrlinstaller_confs = d.getVar('WRL_INSTALLER_CONF', True)
-        if wrlinstaller_confs:
-            if len(wrlinstaller_confs.split()) != len(target_builds.split()):
-                raise bb.parse.SkipPackage("The count of INSTALLER_TARGET_BUILD and WRL_INSTALLER_CONF not match!")
-            for wrlinstaller_conf in wrlinstaller_confs.split():
-                if not os.path.exists(wrlinstaller_conf):
-                    raise bb.parse.SkipPackage("The installer conf %s in WRL_INSTALLER_CONF doesn't exist!" % wrlinstaller_conf)
-
-        # The count of INSTALLER_TARGET_BUILD and KICKSTART_FILE must match when set.
-        kickstart_files = d.getVar('KICKSTART_FILE', True)
-        if kickstart_files:
-            if len(kickstart_files.split()) != len(target_builds.split()):
-                raise bb.parse.SkipPackage("The count of INSTALLER_TARGET_BUILD and KICKSTART_FILE not match!")
-            for kickstart_file in kickstart_files.split():
-                if not os.path.exists(kickstart_file):
-                    bb.warn("The kickstart file %s in KICKSTART_FILE doesn't exist!" % kickstart_file)
-
-}
-
-python build_syslinux_cfg () {
-    import copy
-    import sys
-
-    workdir = d.getVar('WORKDIR')
-    if not workdir:
-        bb.error("WORKDIR not defined, unable to package")
-        return
-
-    cfile = d.getVar('SYSLINUX_CFG')
-    if not cfile:
-        bb.fatal('Unable to read SYSLINUX_CFG')
-}
diff --git a/meta-stx/classes/stx-postrun.bbclass b/meta-stx/classes/stx-postrun.bbclass
deleted file mode 100644 (file)
index 8590c46..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-# This class is intended to include workarounds and finetuning of the rootfs
-# Most of the stuff in here needs to go else where.
-
-ROOTFS_POSTPROCESS_COMMAND_append = " stx_postprocess_rootfs;"
-# ETHDEV = "enp0s5"
-
-stx_postprocess_rootfs() {
-
-       # Issue: #83 /dev/root does not exist
-       # This workaround is to be removed once initramfs is added
-
-       cat > ${IMAGE_ROOTFS}/etc/udev/rules.d/99-dev-root-symlink.rules << \EOF
-KERNEL=="sda3", SYMLINK+="root"
-EOF
-}
diff --git a/meta-stx/conf/distro/include/stx-features.inc b/meta-stx/conf/distro/include/stx-features.inc
deleted file mode 100644 (file)
index b2a6a6d..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-EXTRA_IMAGE_FEATURES += " empty-root-password"
-EXTRA_IMAGE_FEATURES += " allow-empty-password"
-EXTRA_IMAGE_FEATURES += " allow-root-login"
-
-#Systemd system
-VIRTUAL-RUNTIME_init_manager = "systemd"
-DISTRO_FEATURES_NATIVE_append = "systemd"
-DISTRO_FEATURES_append = " systemd"
-DISTRO_FEATURES_BACKFILL_CONSIDERED_append = "sysvinit"
-
-#Security
-# INITRAMFS_IMAGE = "secure-core-image-initramfs"
-# DISTRO_FEATURES_append = " selinux"
-#DISTRO_FEATURES_NATIVE_append = "ima tpm tpm2 efi-secure-boot luks"
-#DISTRO_FEATURES_append += "ima tpm tpm2 efi-secure-boot luks modsign"
-#MACHINE_FEATURES_NATIVE_append = "efi"
-#MACHINE_FEATURES_append = "efi"
-#INITRAMFS_SCRIPTS = "initramfs-live-boot \
-#                     initramfs-live-install \
-#                    initramfs-live-install-efi \
-#                    "
-
-#SECURE_CORE_IMAGE_EXTRA_INSTALL ?= "\
-#    packagegroup-efi-secure-boot \
-#    packagegroup-tpm \
-#    packagegroup-tpm2 \
-#    packagegroup-ima \
-#    packagegroup-luks \
-#    "
-
-
-# virtualization and cloud stuff
-DISTRO_FEATURES_append = " virtualization"
-DISTRO_FEATURES_append = " kvm"
-DISTRO_FEATURES_append = " openstack"
-PREFERRED_PROVIDER_virtual/containerd = "containerd-opencontainers"
-
-# packagegroup-base-zeroconf depends on libnss-mdns which breaks
-# the dns resolution for StarlingX
-DISTRO_FEATURES_remove = "zeroconf"
-
-#Graphics and misc
-#DISTRO_FEATURES_append = " x11 opengl"
-#EXTRA_IMAGE_FEATURES_append = " x11-base"
-#VIRTUAL-RUNTIME_graphical_init_manager = "lxdm"
-
-PACKAGE_CLASSES = "package_rpm"
-DISTRO_FEATURES_append = " bluez pam largefile opengl"
-
-#misc
-PREFERRED_PROVIDER_virtual/containerd = "containerd-opencontainers"
-PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
-
-VIRTUAL-RUNTIME_syslog = "syslog-ng"
-VIRTUAL-RUNTIME_vim = "vim"
-
-DISTRO_FEATURES_append = " selinux"
-PREFERRED_PROVIDER_virtual/refpolicy ?= "refpolicy-mls"
diff --git a/meta-stx/conf/distro/include/stx-preferred-vers.inc b/meta-stx/conf/distro/include/stx-preferred-vers.inc
deleted file mode 100644 (file)
index d59dc9b..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PREFERRED_VERSION_ceph = "13.2.2"
-PREFERRED_VERSION_dnsmasq = "2.76"
-PREFERRED_VERSION_json-c = "0.11"
-PREFERRED_VERSION_keyutils = "1.6"
-PREFERRED_VERSION_libevent = "2.0.21"
-PREFERRED_VERSION_python-voluptuous = "0.8.9"
-PREFERRED_VERSION_python3-cherrypy = "18.2.0"
-PREFERRED_VERSION_python-cheroot = "7.0.0"
-PREFERRED_VERSION_python3-cheroot = "7.0.0"
-PREFERRED_VERSION_python-cherrypy = "3.2.2"
-PREFERRED_VERSION_pythonkeystoneauth1 = "3.17.1"
-PREFERRED_VERSION_drbd-utils = "8.4.3rc1"
-PREFERRED_VERSION_python-pyyaml = "3.13"
-PREFERRED_VERSION_python-cmd2 = "0.6.8"
-PREFERRED_VERSION_python-expect = "4.6.0"
-PREFERRED_VERSION_python-pika = "0.10.0%"
-PREFERRED_VERSION_python-keyring = "5.3"
-PREFERRED_VERSION_python-barbican = "8.0.%"
-PREFERRED_VERSION_python-keystone = "15.0.%"
-PREFERRED_VERSION_python-flask = "1.0.2"
-PREFERRED_VERSION_python-keystonemiddleware = "5.1.%"
-PREFERRED_VERSION_python-oslo.cache= "1.26.%"
-PREFERRED_VERSION_python-oslo.concurrency= "3.26.%"
-PREFERRED_VERSION_python-oslo.log= "3.38.%"
-PREFERRED_VERSION_python-oslo.middleware = "3.31.%"
-PREFERRED_VERSION_python-oslo.serialization = "2.23.%"
-PREFERRED_VERSION_python-oslo.policy = "1.43.%"
-PREFERRED_VERSION_python-pysaml2 = "4.5.%"
-PREFERRED_VERSION_python-sqlalchemy = "1.1.17"
-PREFERRED_VERSION_python-werkzeug = "0.14.%"
-PREFERRED_VERSION_python-neutronclient = "6.12.%"
-PREFERRED_VERSION_python-oslo.i18n = "3.20.%"
-PREFERRED_VERSION_python-iso8601 = "0.1.12"
-PREFERRED_VERSION_python-six = "1.11.%"
-PREFERRED_VERSION_python-docker = "3.3.0"
-PREFERRED_VERSION_python-pyudev = "0.16.1"
-PREFERRED_VERSION_python-django = "1.11.20+%"
-PREFERRED_VERSION_python-django-babel = "0.6.2+%"
-PREFERRED_VERSION_python-pysnmp = "4.2.5"
-PREFERRED_VERSION_python-dateutil = "2.8.1"
-PREFERRED_VERSION_python-adal = "1.0.2"
-PREFERRED_VERSION_python-osprofiler = "2.3.0+%"
-PREFERRED_VERSION_python-amqp = "2.5.2"
-PREFERRED_VERSION_python-ryu = "4.24+%"
-PREFERRED_VERSION_docker-distribution = "v2.6.2"
-PREFERRED_VERSION_kuberenetes = "1.16.%"
-PREFERRED_VERSION_ruby = "2.0.0-p648"
-PREFERRED_VERSION_ruby-native = "2.0.0-p648"
-PREFERRED_VERSION_puppet = "4.8.2"
-PREFERRED_VERSION_python-eventlet = "0.18.4"
-PREFERRED_VERSION_lldpd = "0.9.0"
diff --git a/meta-stx/conf/distro/poky-stx.conf b/meta-stx/conf/distro/poky-stx.conf
deleted file mode 100644 (file)
index 99da380..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-require conf/distro/poky.conf
-DISTRO = "poky-stx"
-DISTRO_NAME = "Stx (Poky Starlingx Distro)"
-DISTRO_VERSION = "2.7.3"
-DISTRO_CODENAME = "warrior"
-
-MAINTAINER = "zbsarashki <zbsarashki@gmail.com>"
-
-require conf/distro/include/stx-features.inc
-require conf/distro/include/stx-preferred-vers.inc
-
-# For packagegroup-basic
-TASK_BASIC_SSHDAEMON = "openssh-sshd openssh-sftp openssh-sftp-server"
-
-# For iso image
-#KERNEL_FEATURES += "features/overlayfs/overlayfs.scc"
-
-# Disable services by default
-SYSTEMD_AUTO_ENABLE_pn-haproxy = "disable"
-SYSTEMD_AUTO_ENABLE_pn-lighttpd = "disable"
-SYSTEMD_AUTO_ENABLE_pn-postgresql = "disable"
-
-# networking sysv service is required
-SYSTEMD_DISABLED_SYSV_SERVICES_remove = "networking"
-
-# Defines the serial consoles (TTYs) to enable using getty
-SERIAL_CONSOLES = "115200;ttyS0"
-
-# /var/log is mounted as a logical volume for stx,
-# so do not link to /var/volatile/log.
-VOLATILE_LOG_DIR = "no"
-
-# We don't need extra space for iso image
-IMAGE_OVERHEAD_FACTOR = "1.05"
-
-# Add extra users and groups for stx
-SYSADMIN_P = "4SuW8cnXFyxsk"
-
-EXTRA_USERS_PARAMS_CONFIG = "\
-       groupadd -f -g 345 sys_protected; \
-       useradd -m -g sys_protected -G root \
-           -d /home/sysadmin -p ${SYSADMIN_P} \
-           -s /bin/sh sysadmin; \
-       useradd -p '' haproxy; \
-       groupadd haproxy; \
-       usermod -a -G haproxy haproxy; \
-       useradd -p '' patching; \
-       groupadd patching; \
-       usermod -a -G patching patching; \
-       useradd -p '' nfv; \
-       groupadd nfv; \
-       usermod -a -G nfv nfv; \
-       useradd -p '' www; \
-       groupadd www; \
-       usermod -a -G www www; \
-       usermod -a -G sys_protected sysadmin; \
-       usermod -a -G sys_protected sysinv; \
-       usermod -a -G sys_protected www; \
-       usermod -a -G sys_protected nfv; \
-       usermod -a -G sys_protected patching; \
-       usermod -a -G sys_protected haproxy; \
-       usermod -a -G snmpd fm; \
-       usermod -P root root; \
-       \
-       groupadd -r -g 128 nscd; \
-       useradd -M -o -r -d / -s /sbin/nologin -c 'NSCD Daemon' -u 28 -g nscd nscd; \
-       "
-
-# Used by:
-# neutron-init
-# glance-init
-CONTROLLER_IP = "127.0.0.1"
-HELM_TOOL_KIT_VERSION = "0.1.0"
-TIS_PATCH_VER = "7"
-HELM_REPO = "stx-platform"
-STX_REL = "19.12"
-ORAN_REL = "Cherry (3.0)"
-
-# For the stx /etc/build.info
-STX_ID = "3.0"
-STX_BUILD_DATE := "${@time.strftime('%Y-%m-%d %H:%M:%S',time.gmtime())}"
diff --git a/meta-stx/conf/layer.conf b/meta-stx/conf/layer.conf
deleted file mode 100644 (file)
index 480f8ae..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-# We have a conf and classes directory, add to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
-            ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "stx-layer"
-BBFILE_PATTERN_stx-layer := "^${LAYERDIR}/"
-BBFILE_PRIORITY_stx-layer = "5"
-
-LAYERDEPENDS_STX = "\
-       core \
-       dpdk \
-       networking-layer \
-       openembedded-layer \
-       networking-layer \
-       filesystems-layer \
-       perl-layer \
-       meta-python \
-       webserver \
-       virtualization-layer \
-       cloud-services-layer \
-       openstack-layer \
-"
-
-LAYERDEPENDS_STX_ANACONDA = "\
-       core \
-       filesystems-layer \
-       meta-python \
-       networking-layer \
-       openembedded-layer \
-"
-
-LAYERDEPENDS_stx-layer = "${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-anaconda', '${LAYERDEPENDS_STX_ANACONDA}', '${LAYERDEPENDS_STX}', d)}"
-
-# This should only be incremented on significant changes that will
-# cause compatibility issues with other layers
-LAYERVERSION_stx-version = "1"
-LAYERSERIES_COMPAT_stx-layer = "thud warrior"
-
-LAYER_PATH_meta-stx = "${LAYERDIR}"
-
-# Masked recipes:
-BBMASK += "/meta-python2/recipes-core/images/meta-python-ptest-image.bb"
-BBMASK += "/meta-python2/recipes-core/images/meta-python-image-base.bb"
-BBMASK += "/meta-python2/recipes-core/images/meta-python-image.bb"
-BBMASK += "/meta-stak-common/recipes-containers/kubernetes/kubernetes_git.bbappend"
-BBMASK += "/meta-cloud-services/meta-openstack/recipes-devtools/python/python-cephclient_0.1.0.5.bb"
-BBMASK += "/meta-openstack/recipes-devtools/qemu/qemu_2.%.bbappend"
-BBMASK += "/meta-cloud-services/meta-openstack/recipes-kernel/linux/linux-yocto_4.18.bbappend"
-BBMASK += "/meta-selinux/recipes-graphics/mesa/mesa_%.bbappend"
-BBMASK += "/meta-virtualization/recipes-containers/docker-distribution/docker-distribution_git.bb"
diff --git a/meta-stx/recipes-anaconda/iso-codes/iso-codes_%.bbappend b/meta-stx/recipes-anaconda/iso-codes/iso-codes_%.bbappend
deleted file mode 100644 (file)
index a0730ec..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-BRANCH = "main"
-PROTOCOL = "https"
-
-SRC_URI = "git://salsa.debian.org/iso-codes-team/iso-codes.git;protocol=${PROTOCOL};branch=${BRANCH}"
diff --git a/meta-stx/recipes-bsp/grub/grub-efi_2.02.bbappend b/meta-stx/recipes-bsp/grub/grub-efi_2.02.bbappend
deleted file mode 100644 (file)
index e8e0914..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-TRANSFORM_NAME = "s,grub,grub2,"
-EXTRA_OECONF += "--program-transform-name=${TRANSFORM_NAME} \
-                "
diff --git a/meta-stx/recipes-bsp/grub/grub_2.02.bbappend b/meta-stx/recipes-bsp/grub/grub_2.02.bbappend
deleted file mode 100644 (file)
index cfa2eca..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-TRANSFORM_NAME = "s,grub,grub2,"
-EXTRA_OECONF += "--program-transform-name=${TRANSFORM_NAME}"
-
-do_install_append() {
-    for file in ${D}${bindir}/grub2-* ${D}${sbindir}/grub2-*; do
-        ln -sf $(basename ${file}) $(echo ${file}|sed 's/grub2/grub/')
-    done
-
-    sed -i -e 's/ ro / rw /' ${D}${sysconfdir}/grub.d/10_linux
-}
-
-FILES_${PN}-editenv = "${bindir}/grub2-editenv"
-
-pkg_postinst_ontarget_${PN}() {
-       grub-mkconfig -o /boot/grub/grub.cfg
-}
diff --git a/meta-stx/recipes-connectivity/avahi/avahi_%.bbappend b/meta-stx/recipes-connectivity/avahi/avahi_%.bbappend
deleted file mode 100644 (file)
index 90a15a8..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RRECOMMENDS_${PN}_remove_libc-glibc = "libnss-mdns"
-RRECOMMENDS_${PN}-daemon_remove_libc-glibc = "libnss-mdns"
diff --git a/meta-stx/recipes-connectivity/etcd/etcd_git.bb b/meta-stx/recipes-connectivity/etcd/etcd_git.bb
deleted file mode 100644 (file)
index 478f2ab..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "A distributed key-value store for shared config and service discovery"
-DESCRIPTION = " \
-    etcd is a distributed reliable key-value store for the most critical data \
-    of a distributed system, with a focus on being: \
-    \
-    * Simple: well-defined, user-facing API (gRPC) \
-    * Secure: automatic TLS with optional client cert authentication \
-    * Fast: benchmarked 10,000 writes/sec \
-    * Reliable: properly distributed using Raft \
-"
-HOMEPAGE = "https://github.com/coreos/etcd"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI = " \
-    git://github.com/coreos/etcd.git;branch=release-3.3 \
-    "
-
-SRCREV = "94745a4eed0425653b3b4275a208d38babceeaec"
-PV = "3.3.15+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-inherit go goarch systemd useradd
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = " \
-    --system --shell ${sbindir}/nologin --comment 'etcd user' \
-    --home-dir ${localstatedir}/lib --groups etcd --gid etcd etcd \
-    "
-GROUPADD_PARAM_${PN} = "etcd"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-GO_IMPORT = "import"
-
-do_compile() {
-       export GOARCH="${TARGET_GOARCH}"
-
-       # Setup vendor directory so that it can be used in GOPATH.
-       #
-       # Go looks in a src directory under any directory in GOPATH but
-       # uses 'vendor' instead of 'vendor/src'. We can fix this with a symlink.
-       #
-       # We also need to link in the ipallocator directory as that is not under
-       # a src directory.
-       export GOPATH="${B}/src/import/"
-       mkdir -p ${B}/src/import/src/github.com/coreos/
-       ln -s ${S}/src/import ${B}/src/import/src/github.com/coreos/etcd
-
-       # Pass the needed cflags/ldflags so that cgo
-       # can find the needed headers files and libraries
-       export CGO_ENABLED="1"
-       export CFLAGS=""
-       export LDFLAGS=""
-       export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-       export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-       if [ "${TARGET_ARCH}" = "x86_64" ]; then
-               export GOARCH="amd64"
-       elif [ "${TARGET_ARCH}" = "i586" ]; then
-               export GOARCH="386"
-       fi
-
-       ./src/import/build
-}
-
-do_install() {
-       install -d ${D}/${bindir}
-       install -m 0755 ${B}/bin/etcd ${D}/${bindir}/etcd
-       install -m 0755 ${B}/bin/etcdctl ${D}/${bindir}/etcdctl
-
-       install -d ${D}${systemd_system_unitdir}
-       install -m 0644 ${S}/src/import/contrib/systemd/etcd.service ${D}${systemd_system_unitdir}
-
-       # etcd state is in /var/lib/etcd
-       install -d ${D}${sysconfdir}/tmpfiles.d
-       echo "d ${localstatedir}/lib/${BPN} 0755 etcd etcd -" \
-               > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
-
-       # we aren't creating a user, so we need to comment out this line
-       sed -i '/User/s/^/#/' ${D}${systemd_unitdir}/system/etcd.service
-}
-
-deltask compile_ptest_base
-
-RDEPENDS_${PN} = "bash"
-
-# During packaging etcd gets the warning "no GNU hash in elf binary"
-# This issue occurs due to compiling without ldflags, but a
-# solution has yet to be found. For now we ignore this error with
-# the line below.
-#INSANE_SKIP_${PN} = "ldflags"
diff --git a/meta-stx/recipes-connectivity/etcd/etcd_git.bbappend b/meta-stx/recipes-connectivity/etcd/etcd_git.bbappend
deleted file mode 100644 (file)
index cc749ee..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-    file://etcd.service \
-    file://etcd.conf \
-    "
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "etcd.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-do_install_append() {
-       install -m 0644 ${WORKDIR}/etcd.service ${D}${systemd_system_unitdir}
-       install -d ${D}${sysconfdir}/etcd
-       install -m 0644 ${WORKDIR}/etcd.conf ${D}${sysconfdir}/etcd
-}
diff --git a/meta-stx/recipes-connectivity/etcd/files/etcd.conf b/meta-stx/recipes-connectivity/etcd/files/etcd.conf
deleted file mode 100644 (file)
index 687a4a2..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-#[Member]
-#ETCD_CORS=""
-ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
-#ETCD_WAL_DIR=""
-#ETCD_LISTEN_PEER_URLS="http://localhost:2380"
-ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"
-#ETCD_MAX_SNAPSHOTS="5"
-#ETCD_MAX_WALS="5"
-ETCD_NAME="default"
-#ETCD_SNAPSHOT_COUNT="100000"
-#ETCD_HEARTBEAT_INTERVAL="100"
-#ETCD_ELECTION_TIMEOUT="1000"
-#ETCD_QUOTA_BACKEND_BYTES="0"
-#ETCD_MAX_REQUEST_BYTES="1572864"
-#ETCD_GRPC_KEEPALIVE_MIN_TIME="5s"
-#ETCD_GRPC_KEEPALIVE_INTERVAL="2h0m0s"
-#ETCD_GRPC_KEEPALIVE_TIMEOUT="20s"
-#
-#[Clustering]
-#ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380"
-ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"
-#ETCD_DISCOVERY=""
-#ETCD_DISCOVERY_FALLBACK="proxy"
-#ETCD_DISCOVERY_PROXY=""
-#ETCD_DISCOVERY_SRV=""
-#ETCD_INITIAL_CLUSTER="default=http://localhost:2380"
-#ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
-#ETCD_INITIAL_CLUSTER_STATE="new"
-#ETCD_STRICT_RECONFIG_CHECK="true"
-#ETCD_ENABLE_V2="true"
-#
-#[Proxy]
-#ETCD_PROXY="off"
-#ETCD_PROXY_FAILURE_WAIT="5000"
-#ETCD_PROXY_REFRESH_INTERVAL="30000"
-#ETCD_PROXY_DIAL_TIMEOUT="1000"
-#ETCD_PROXY_WRITE_TIMEOUT="5000"
-#ETCD_PROXY_READ_TIMEOUT="0"
-#
-#[Security]
-#ETCD_CERT_FILE=""
-#ETCD_KEY_FILE=""
-#ETCD_CLIENT_CERT_AUTH="false"
-#ETCD_TRUSTED_CA_FILE=""
-#ETCD_AUTO_TLS="false"
-#ETCD_PEER_CERT_FILE=""
-#ETCD_PEER_KEY_FILE=""
-#ETCD_PEER_CLIENT_CERT_AUTH="false"
-#ETCD_PEER_TRUSTED_CA_FILE=""
-#ETCD_PEER_AUTO_TLS="false"
-#
-#[Logging]
-#ETCD_DEBUG="false"
-#ETCD_LOG_PACKAGE_LEVELS=""
-#ETCD_LOG_OUTPUT="default"
-#
-#[Unsafe]
-#ETCD_FORCE_NEW_CLUSTER="false"
-#
-#[Version]
-#ETCD_VERSION="false"
-#ETCD_AUTO_COMPACTION_RETENTION="0"
-#
-#[Profiling]
-#ETCD_ENABLE_PPROF="false"
-#ETCD_METRICS="basic"
-#
-#[Auth]
-#ETCD_AUTH_TOKEN="simple"
diff --git a/meta-stx/recipes-connectivity/haproxy/haproxy.inc b/meta-stx/recipes-connectivity/haproxy/haproxy.inc
deleted file mode 100644 (file)
index 3ce55be..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "TCP/HTTP proxy and load balancer for high availability environments"
-DESCRIPTION = " \
-HAProxy is a TCP/HTTP reverse proxy which is particularly suited for high \
-availability environments. Indeed, it can: \
- - route HTTP requests depending on statically assigned cookies \
- - spread load among several servers while assuring server persistence \
-   through the use of HTTP cookies \
- - switch to backup servers in the event a main server fails \
- - accept connections to special ports dedicated to service monitoring \
- - stop accepting connections without breaking existing ones \
- - add, modify, and delete HTTP headers in both directions \
- - block requests matching particular patterns \
- - report detailed status to authenticated users from a URI \
-   intercepted by the application \
-"
-HOMEPAGE = "http://www.haproxy.org/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2d862e836f92129cdc0ecccc54eed5e0"
-
-DEPENDS = "libpcre openssl zlib"
-
-MAJOR_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
-
-SRC_URI = "https://www.haproxy.org/download/${MAJOR_VER}/src/haproxy-${PV}.tar.gz \
-           file://haproxy.service \
-           file://haproxy.cfg \
-          "
-
-inherit systemd useradd
-
-# create a user for running haproxy
-HAP_USER_HOME = "${libdir}/haproxy"
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --home ${HAP_USER_HOME} --shell /sbin/nologin \
-                       --groups haproxy --gid haproxy haproxy"
-GROUPADD_PARAM_${PN} = "haproxy"
-
-# for haproxy 1.x
-HAP_TARGET = "linux2628"
-
-EXTRA_OEMAKE = " \
-       'CPU=generic' \
-       'TARGET=${HAP_TARGET}' \
-       'USE_GETADDRINFO=1' \
-       'USE_OPENSSL=1' \
-       'USE_PCRE=1' 'USE_PCRE_JIT=1' \
-       'USE_ZLIB=1' \
-       'USE_LINUX_TPROXY=1' \
-       "
-
-EXTRA_OEMAKE_append_x86 = " USE_REGPARM=1"
-EXTRA_OEMAKE_append_x86-64 = " USE_REGPARM=1"
-
-
-do_configure() {
-       :
-}
-
-do_compile() {
-       oe_runmake CC="${CC}" CFLAGS="${CFLAGS}" SBINDIR="${sbindir}" \
-                  PREFIX="${prefix}" \
-                  ZLIB_INC=${STAGING_INCDIR} \
-                  ZLIB_LIB=${STAGING_LIBDIR} \
-                  PCRE_INC=${STAGING_INCDIR} \
-                  PCRE_LIB=${STAGING_LIBDIR} \
-                  SSL_INC=${STAGING_INCDIR} \
-                  SSL_LIB=${STAGING_LIBDIR}
-       oe_runmake -C contrib/halog halog
-       oe_runmake -C contrib/iprange iprange
-}
-
-do_install() {
-       oe_runmake install-bin \
-                  PREFIX="${prefix}" \
-                  SBINDIR="${sbindir}" \
-                  DESTDIR=${D} \
-                  INCLUDEDIR=${includedir}
-
-       install -D -m 0644 ${WORKDIR}/haproxy.service ${D}${systemd_system_unitdir}/haproxy.service
-       install -D -m 0644 ${WORKDIR}/haproxy.cfg ${D}${sysconfdir}/haproxy/haproxy.cfg
-
-       # install ssl folder for certificate
-       install -m 700 -d ${D}/${sysconfdir}/ssl/haproxy
-       chown haproxy:haproxy ${D}/${sysconfdir}/ssl/haproxy
-
-       # install halog and iprange
-       install -D -m 755 contrib/halog/halog ${D}${bindir}/halog
-       install -D -m 755 contrib/iprange/iprange ${D}${bindir}/iprange
-}
-
-FILES_${PN} = " \
-       ${bindir} \
-       ${sbindir} \
-       ${sysconfdir} \
-       ${systemd_system_unitdir} \
-       "
-RDEPENDS_${PN} = "openssl"
-
-SYSTEMD_SERVICE_${PN} = "haproxy.service"
-
-INSANE_SKIP_${PN} += "already-stripped"
diff --git a/meta-stx/recipes-connectivity/haproxy/haproxy_1.7.11.bb b/meta-stx/recipes-connectivity/haproxy/haproxy_1.7.11.bb
deleted file mode 100644 (file)
index 3a7e029..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-include haproxy.inc
-
-SRC_URI += "file://haproxy-${PV}-tpm-support.patch"
-
-SRC_URI[md5sum] = "25be5ad717a71da89a65c3c24250e2eb"
-SRC_URI[sha256sum] = "d564b8e9429d1e8e13cb648bf4694926b472e36da1079df946bb732927b232ea"
diff --git a/meta-stx/recipes-connectivity/libnfsidmap/libnfsidmap_0.25.bb b/meta-stx/recipes-connectivity/libnfsidmap/libnfsidmap_0.25.bb
deleted file mode 100644 (file)
index 5217a9a..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "NFS id mapping library"
-HOMEPAGE = "http://www.citi.umich.edu/projects/nfsv4/linux/"
-SECTION = "libs"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d9c6a2a0ca6017fda7cd905ed2739b37"
-
-SRC_URI = "http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/${BPN}-${PV}.tar.gz \
-           file://fix-ac-prereq.patch \
-           file://Set_nobody_user_group.patch \
-           file://0001-include-sys-types.h-for-getting-u_-typedefs.patch \
-          "
-
-SRC_URI[md5sum] = "2ac4893c92716add1a1447ae01df77ab"
-SRC_URI[sha256sum] = "656d245d84400e1030f8f40a5a27da76370690c4a932baf249110f047fe7efcf"
-
-UPSTREAM_CHECK_URI = "http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/"
-
-inherit autotools
-
-EXTRA_OECONF = "--disable-ldap"
-
-do_install_append () {
-       install -d ${D}${sysconfdir}/
-       install -m 0644 ${WORKDIR}/${BPN}-${PV}/idmapd.conf ${D}${sysconfdir}/idmapd.conf
-}
-
diff --git a/meta-stx/recipes-connectivity/nfs-utils/nfs-utils_%.bbappend b/meta-stx/recipes-connectivity/nfs-utils/nfs-utils_%.bbappend
deleted file mode 100644 (file)
index aee5944..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-do_install_append() {
-       mv ${D}/${sbindir}/sm-notify ${D}/${sbindir}/nfs-utils-client_sm-notify
-
-       # install nfs.conf and enable udp proto
-       install -m 0755 ${S}/nfs.conf ${D}${sysconfdir}
-       sed -i -e 's/#\(\[nfsd\]\)/\1/' -e 's/#\( udp=\).*/\1y/' ${D}${sysconfdir}/nfs.conf
-
-       # add initial exports file
-       echo "# Initial exports for nfs" > ${D}${sysconfdir}/exports
-}
-
-SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta-stx/recipes-connectivity/openssh/openssh_7.%.bbappend b/meta-stx/recipes-connectivity/openssh/openssh_7.%.bbappend
deleted file mode 100644 (file)
index e745d7e..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += "\
-    file://stx/sshd.init \
-    file://stx/sshd-keygen \
-    file://stx/sshd-keygen.service \
-    file://stx/sshd.service \
-    file://stx/sshd.sysconfig \
-"
-
-SYSTEMD_SERVICE_${PN}-sshd = "sshd.service"
-
-do_install_append () {
-    rm -f ${D}${systemd_system_unitdir}/sshd.socket
-    rm -f ${D}${systemd_system_unitdir}/sshd@service.socket
-    rm -f ${D}${systemd_system_unitdir}/sshdgenkeys.service
-
-    install -d ${D}/${sysconfdir}/init.d/
-    install -m 755 ${WORKDIR}/stx/sshd.init ${D}/${sysconfdir}/init.d/sshd
-
-    install -d ${D}/${sysconfdir}/sysconfig/
-    install -m 644 ${WORKDIR}/stx/sshd.sysconfig ${D}/${sysconfdir}/sysconfig/sshd
-
-    install -m 755 ${WORKDIR}/stx/sshd-keygen ${D}/${sbindir}/sshd-keygen
-    install -m644 ${WORKDIR}/stx/sshd.service ${D}/${systemd_system_unitdir}/sshd.service
-    install -m644 ${WORKDIR}/stx/sshd-keygen.service ${D}/${systemd_system_unitdir}/sshd-keygen.service
-
-    install -d ${D}/${sysconfdir}/tmpfiles.d
-    echo "d ${localstatedir}/run/sshd 0755 root root -" >> ${D}/${sysconfdir}/tmpfiles.d/sshd.conf
-
-}
-
-RDEPENDS_${PN} += "bash"
-RDEPENDS_${PN}-sshd += "bash"
-
-# allow both systemd service and sysvinit scripts are installed
-DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
-
-USERADD_PARAM_${PN}-sshd = "-r -d /var/empty/sshd -s /sbin/nologin -g sshd -c 'Privilege-separated SSH' sshd"
-GROUPADD_PARAM_${PN}-sshd = "-r ssh_keys; -r sshd"
diff --git a/meta-stx/recipes-connectivity/openssl/openssl10_1.0.%.bbappend b/meta-stx/recipes-connectivity/openssl/openssl10_1.0.%.bbappend
deleted file mode 100644 (file)
index 7490731..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SYSROOT_DIRS_BLACKLIST = " ${bindir} ${sysconfdir}"
-
-SYSROOT_PREPROCESS_FUNCS += "openssl10_avoid_conflict"
-
-openssl10_avoid_conflict () {
-
-       # For libaries remove statics and symlinks to avoid conflict
-
-       rm ${SYSROOT_DESTDIR}${libdir}/libssl.so
-       rm ${SYSROOT_DESTDIR}${libdir}/libcrypto.so
-       rm ${SYSROOT_DESTDIR}${libdir}/libssl.a
-       rm ${SYSROOT_DESTDIR}${libdir}/libcrypto.a
-       #mv ${SYSROOT_DESTDIR}${libdir}/pkgconfig/libcrypto.pc ${SYSROOT_DESTDIR}${libdir}/pkgconfig/libcrypto10.pc 
-       #mv ${SYSROOT_DESTDIR}${libdir}/pkgconfig/libssl.pc ${SYSROOT_DESTDIR}${libdir}/pkgconfig/libcrypto10.pc 
-       #mv ${SYSROOT_DESTDIR}${libdir}/pkgconfig/openssl.pc ${SYSROOT_DESTDIR}${libdir}/pkgconfig/openssl10.pc 
-       rm -rf ${SYSROOT_DESTDIR}${libdir}/pkgconfig
-       rm -rf ${SYSROOT_DESTDIR}${libdir}/engines 
-       # For headers
-       mkdir -p ${SYSROOT_DESTDIR}${includedir}/openssl10
-       mv ${SYSROOT_DESTDIR}${includedir}/openssl ${SYSROOT_DESTDIR}${includedir}/openssl10
-}
diff --git a/meta-stx/recipes-connectivity/qpid/qpid_0.20.bbappend b/meta-stx/recipes-connectivity/qpid/qpid_0.20.bbappend
deleted file mode 100644 (file)
index ff1dea6..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += "file://fix-compile-through-disable-cflag-werror.patch"
-
-
-EXTRA_OEMAKE += " CPPFLAGS='-std=gnu++98 -Wno-error' LDFLAGS='-std=gnu++98 -Wno-error'"
-TARGET_CC_ARCH += "${LDFLAGS}"
-RDEPENDS_${PN} += " bash"
diff --git a/meta-stx/recipes-containers/docker-distribution/docker-distribution_git.bb b/meta-stx/recipes-containers/docker-distribution/docker-distribution_git.bb
deleted file mode 100644 (file)
index bb56fb8..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-HOMEPAGE = "http://github.com/docker/distribution"
-SUMMARY = "The Docker toolset to pack, ship, store, and deliver content"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
-
-GO_PKG_PATH = "github.com/docker/distribution"
-GO_IMPORT = "import"
-
-SRCREV_distribution="48294d928ced5dd9b378f7fd7c6f5da3ff3f2c89"
-SRC_URI = " \
-       git://github.com/docker/distribution.git;branch=release/2.6;name=distribution;destsuffix=git/src/${GO_PKG_PATH} \
-       file://${BPN}.service \
-       file://config.yml \
-       "
-
-PV = "v2.6.2"
-S = "${WORKDIR}/git/src/${GO_PKG_PATH}"
-
-inherit goarch
-inherit go
-
-# This disables seccomp and apparmor, which are on by default in the
-# go package. 
-EXTRA_OEMAKE="BUILDTAGS=''"
-
-do_compile() {
-       export GOARCH="${TARGET_GOARCH}"
-       export GOPATH="${WORKDIR}/git/"
-       export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
-       # Pass the needed cflags/ldflags so that cgo
-       # can find the needed headers files and libraries
-       export CGO_ENABLED="1"
-       export CFLAGS=""
-       export LDFLAGS=""
-       export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-       export GO_GCFLAGS=""
-       export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-       cd ${S}
-
-       oe_runmake binaries
-}
-
-do_install() {
-       install -d ${D}/${bindir}
-       install ${S}/bin/registry ${D}/${bindir}
-
-       if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-           install -d ${D}${systemd_system_unitdir}
-           install -m 644 ${WORKDIR}/${BPN}.service ${D}/${systemd_system_unitdir}
-       fi
-
-       install -d ${D}/${sysconfdir}/${BPN}/registry/
-       install ${WORKDIR}/config.yml ${D}/${sysconfdir}/${BPN}/registry/config.yml
-
-       # storage for the registry containers
-       install -d ${D}/${localstatedir}/lib/registry/
-}
-
-INSANE_SKIP_${PN} += "ldflags already-stripped"
-
-FILES_${PN} = "\
-       ${bindir}/* \
-       ${systemd_system_unitdir}/${BPN}.service \
-       ${sysconfdir}/${BPN}/* \
-       ${localstatedir}/lib/registry/ \
-       "
-
-SYSTEMD_SERVICE_${BPN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${BPN}.service','',d)}"
-SYSTEMD_AUTO_ENABLE_${BPN} = "disable"
-
-
-SYSROOT_PREPROCESS_FUNCS += "docker_distribution_sysroot_preprocess"
-
-docker_distribution_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${GO_PKG_PATH}
-    cp -r ${S} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${GO_PKG_PATH})
-}
diff --git a/meta-stx/recipes-containers/docker-distribution/docker-distribution_git.bbappend b/meta-stx/recipes-containers/docker-distribution/docker-distribution_git.bbappend
deleted file mode 100644 (file)
index ab01dcf..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PKG_NAME = "github.com/docker/distribution"
-
-SYSROOT_PREPROCESS_FUNCS += "docker_distribution_sysroot_preprocess"
-
-docker_distribution_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${S} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
diff --git a/meta-stx/recipes-containers/docker-forward-journald/docker-forward-journald_git.bb b/meta-stx/recipes-containers/docker-forward-journald/docker-forward-journald_git.bb
deleted file mode 100644 (file)
index 979a69d..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Forward stdin to journald"
-HOMEPAGE = "https://github.com/docker/docker"
-SECTION = "devel"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/forward-journald/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-
-PROTOCOL = "https"
-SRCNAME = "forward-journald"
-SRCREV = "77e02a9774a6ca054e41c27f6f319d701f1cbaea"
-PV = "1.10.3+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/projectatomic/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};"
-
-GO_IMPORT = "forward-journald"
-inherit go goarch
-
-do_compile() {
-        mkdir -p _build/src
-        ln -sfn ${S}/src/forward-journald ./_build/src/${SRCNAME}
-        export GOARCH=${TARGET_GOARCH}
-        export CGO_ENABLED="1"
-        export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-        export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-        export GOPATH="${WORKDIR}/build/_build:${STAGING_DIR_TARGET}/${prefix}/local/go"
-        cd _build/src/${SRCNAME}
-        export GOROOT=${STAGING_DIR_TARGET}/${prefix}/local/go
-        go build -ldflags "-B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n')" -o ${WORKDIR}/build/bin/forward-journald forward-journald
-}
-
-do_install() {
-       install -m 0755 -d ${D}/${bindir}/
-
-       install -m 0755 bin/forward-journald ${D}/${bindir}/
-}
-
-INSANE_SKIP_${PN} = "ldflags"
diff --git a/meta-stx/recipes-containers/docker/docker-ce_git.bbappend b/meta-stx/recipes-containers/docker/docker-ce_git.bbappend
deleted file mode 100644 (file)
index 2c96eee..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-do_install_append () {
-       # remove the symlink and create actual dir
-       rm -f ${D}${sysconfdir}/docker
-       install -d -m 0755 ${D}${sysconfdir}/docker
-}
diff --git a/meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/tmpfiles.d/kubernetes.conf b/meta-stx/recipes-containers/kubernetes/files/contrib/init/systemd/tmpfiles.d/kubernetes.conf
deleted file mode 100644 (file)
index ff7c3a2..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-d /var/run/kubernetes 0755 kube kube -
diff --git a/meta-stx/recipes-containers/kubernetes/files/kubeadm.conf b/meta-stx/recipes-containers/kubernetes/files/kubeadm.conf
deleted file mode 100644 (file)
index ffdd12f..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-# Note: This dropin only works with kubeadm and kubelet v1.11+
-[Service]
-Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf"
-Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"
-# This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating the KUBELET_KUBEADM_ARGS variable dynamically
-EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env
-# This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, the user should use
-# the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. KUBELET_EXTRA_ARGS should be sourced from this file.
-EnvironmentFile=-/etc/sysconfig/kubelet
-ExecStart=
-ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
-ExecStartPre=-/usr/bin/kubelet-cgroup-setup.sh
-ExecStartPost=/bin/bash -c 'echo $MAINPID > /var/run/kubelet.pid;'
-ExecStopPost=/bin/rm -f /var/run/kubelet.pid
-Restart=always
-StartLimitInterval=0
-RestartSec=10
diff --git a/meta-stx/recipes-containers/kubernetes/files/kubernetes-accounting.conf b/meta-stx/recipes-containers/kubernetes/files/kubernetes-accounting.conf
deleted file mode 100644 (file)
index 134a219..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-[Manager]
-DefaultCPUAccounting=yes
-DefaultMemoryAccounting=yes
-
diff --git a/meta-stx/recipes-containers/kubernetes/helm_2.13.1.bb b/meta-stx/recipes-containers/kubernetes/helm_2.13.1.bb
deleted file mode 100644 (file)
index 7d700f7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "The Kubernetes Package Manager"
-HOMEPAGE = "https://github.com/kubernetes/helm/releases "
-SECTION = "devel"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0c7bcb474e766c7d92924a18cd9d3878"
-
-#SRCREV = "618447cbf203d147601b4b9bd7f8c37a5d39fbb4"
-SRCNAME = "helm"
-#PROTOCOL = "https"
-#BRANCH = "release-2.13"
-S = "${WORKDIR}/linux-amd64"
-PV = "2.13.1"
-
-SRC_URI = " \
-       https://get.helm.sh/helm-v2.13.1-linux-amd64.tar.gz \
-       file://helm-upload \
-       file://helm.sudo \
-       "
-# Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
-SRC_URI[md5sum] = "ffbe37fe328d99156d14a950bbd8107c"
-SRC_URI[sha256sum] = "c1967c1dfcd6c921694b80ededdb9bd1beb27cb076864e58957b1568bc98925a"
-
-INSANE_SKIP_${PN} = "ldflags"
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_SYSROOT_STRIP = "1"
-INHIBIT_PACKAGE_DEBUG_SPLIT  = "1"
-
-RDEPENDS_${PN} += " bash"
-
-
-do_configure() {
-       :
-}
-
-do_compile() {
-       :
-}
-
-do_install() {
-       install -m 0755 -d ${D}/${sbindir}/
-       install -m 0750 -d ${D}/${sysconfdir}/sudoers.d
-
-       install -m 0755 ${S}/helm ${D}/${sbindir}/
-       install -m 0755 ${S}/../helm.sudo ${D}/${sysconfdir}/sudoers.d/helm
-       install -m 0755 ${S}/../helm-upload ${D}/${sbindir}/
-}
-
-BBCLASSEXTEND = "native nativesdk"
-
-FILES_${PN} = " \
-       ${sbindir}/helm \
-       ${sbindir}/helm-upload \
-       ${sysconfdir}/sudoers.d \
-       ${sysconfdir}/sudoers.d/helm \
-       "
diff --git a/meta-stx/recipes-containers/kubernetes/kubernetes_git.bbappend b/meta-stx/recipes-containers/kubernetes/kubernetes_git.bbappend
deleted file mode 100644 (file)
index 88d6ad8..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-PV = "1.16.2+git${SRCREV_kubernetes}"
-SRCREV_kubernetes = "c97fe5036ef3df2967d086711e6c0c405941e14b"
-
-SRC_URI = "git://github.com/kubernetes/kubernetes.git;branch=release-1.16;name=kubernetes \
-       file://0001-hack-lib-golang.sh-use-CC-from-environment.patch \
-       file://0001-cross-don-t-build-tests-by-default.patch \
-       file://kubernetes-accounting.conf \
-       file://kubeadm.conf \
-       file://kubelet-cgroup-setup.sh \
-       file://contrib/* \
-       "
-
-INSANE_SKIP_${PN} += "textrel"
-INSANE_SKIP_${PN}-misc += "textrel"
-INSANE_SKIP_kubelet += "textrel"
-
-inherit useradd
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "-r -g kube -d / -s /sbin/nologin -c 'Kubernetes user' kube"
-GROUPADD_PARAM_${PN} = "-r kube"
-
-do_install () {
-       install -d ${D}${bindir}
-       install -d ${D}${systemd_system_unitdir}/
-
-       # Install binaries
-       install -m 755 -D ${S}/src/import/_output/local/bin/${TARGET_GOOS}/${TARGET_GOARCH}/* ${D}/${bindir}
-
-       # kubeadm:
-       install -d -m 0755 ${D}/${sysconfdir}/systemd/system/kubelet.service.d
-       install -m 0644 ${WORKDIR}/kubeadm.conf ${D}/${sysconfdir}/systemd/system/kubelet.service.d
-
-       # kubelete-cgroup-setup.sh
-       install -m 0700 ${WORKDIR}/kubelet-cgroup-setup.sh ${D}/${bindir}
-
-       # install the bash completion
-       install -d -m 0755 ${D}${datadir}/bash-completion/completions/
-       ${D}${bindir}/kubectl completion bash > ${D}${datadir}/bash-completion/completions/kubectl
-
-       # install config files
-       install -d -m 0755 ${D}${sysconfdir}/${BPN}
-       install -m 644 -t ${D}${sysconfdir}/${BPN} ${WORKDIR}/contrib/init/systemd/environ/*
-
-       # install service files
-       install -d -m 0755 ${D}${systemd_system_unitdir}
-       install -m 0644 -t ${D}${systemd_system_unitdir} ${WORKDIR}/contrib/init/systemd/*.service
-
-       # install the place the kubelet defaults to put volumes
-       install -d ${D}${localstatedir}/lib/kubelet
-
-       # install systemd tmpfiles
-       install -d -m 0755 ${D}${sysconfdir}/tmpfiles.d
-       install -p -m 0644 -t ${D}${sysconfdir}/tmpfiles.d ${WORKDIR}/contrib/init/systemd/tmpfiles.d/kubernetes.conf
-
-       # enable CPU and Memory accounting
-       install -d -m 0755 ${D}/${sysconfdir}/systemd/system.conf.d
-       install -m 0644 ${WORKDIR}/kubernetes-accounting.conf ${D}/${sysconfdir}//systemd/system.conf.d/
-}
-
-SYSTEMD_PACKAGES += "${PN} kube-proxy"
-SYSTEMD_SERVICE_kube-proxy = "kube-proxy.service"
-SYSTEMD_SERVICE_${PN} = "\
-       kube-scheduler.service \
-       kube-apiserver.service \
-       kube-controller-manager.service \
-       "
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-SYSTEMD_AUTO_ENABLE_kubelet = "disable"
-SYSTEMD_AUTO_ENABLE_kube-proxy = "disable"
-
-FILES_${PN} += "\
-       ${bindir}/kube-scheduler \
-       ${bindir}/kube-apiserver \
-       ${bindir}/kube-controller-manager \
-       ${bindir}/hyperkube \
-       ${bindir}/kubelet-cgroup-setup.sh \
-       "
-
-FILES_kubectl += "\
-       ${datadir}/bash-completion/completions/kubectl \
-       "
-
-FILES_${PN}-misc = "\
-       ${bindir}/conversion-gen \
-       ${bindir}/openapi-gen \
-       ${bindir}/apiextensions-apiserver \
-       ${bindir}/defaulter-gen \
-       ${bindir}/mounter \
-       ${bindir}/deepcopy-gen \
-       ${bindir}/go-bindata \
-       ${bindir}/go2make \
-       "
-
-RDEPENDS_${PN} += "\
-       bash \
-       kube-proxy \
-       "
diff --git a/meta-stx/recipes-containers/registry-token-server/files/token_server.conf b/meta-stx/recipes-containers/registry-token-server/files/token_server.conf
deleted file mode 100644 (file)
index 4683478..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# This is a puppet managed config file
diff --git a/meta-stx/recipes-containers/registry-token-server/registry-token-server_1.0.0.bb b/meta-stx/recipes-containers/registry-token-server/registry-token-server_1.0.0.bb
deleted file mode 100644 (file)
index f4f6479..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = " Token server for use with Docker registry with Openstack Keystone back end"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
-
-GO_IMPORT = "registry-token-server"
-
-SRC_URI = "file://registry-token-server-1.0.0.tar.gz \
-           file://registry-token-server.service \
-           file://token_server.conf \
-          "
-
-RDEPENDS_${PN}-dev_append = "systemd"
-
-DEPENDS += "\
-        go-logrus \
-        docker-distribution \
-        go-libtrust \
-        go-patricia \
-        go-mux \
-        go-context \
-        go-phercloud \
-        "
-
-inherit go goarch ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
-
-do_compile() {
-        mkdir -p _build/src
-        ln -sfn ${WORKDIR}/${PN}-${PV} ./_build/src/registry-token-server
-  
-        # Pass the needed cflags/ldflags so that cgo
-        # can find the needed headers files and libraries
-        export GOARCH=${TARGET_GOARCH}
-        export CGO_ENABLED="1"
-        export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-        export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-        export GOPATH="${WORKDIR}/build/_build:${STAGING_DIR_TARGET}/${prefix}/local/go"
-        cd _build/src/${GO_IMPORT}
-        #oe_runmake registry-token-server
-        export GOROOT=${STAGING_DIR_TARGET}/${prefix}/local/go
-        go build -o ${WORKDIR}/build/bin/registry-token-server registry-token-server
-}
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "registry-token-server.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-do_install() {
-        install -d ${D}/${sbindir}
-        install -m 0755 bin/registry-token-server ${D}/${sbindir}
-        install -d ${D}/${sysconfdir}/registry-token-server/registry
-        install -m 0644 ${WORKDIR}/token_server.conf ${D}/${sysconfdir}/registry-token-server/registry
-
-        if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-            install -d ${D}${systemd_unitdir}/system
-            install -m 0644 ${WORKDIR}/registry-token-server.service ${D}${systemd_unitdir}/system/
-        fi
-}
-
diff --git a/meta-stx/recipes-core/distributedcloud/distributedcloud-client-dcmanager_git.bb b/meta-stx/recipes-core/distributedcloud/distributedcloud-client-dcmanager_git.bb
deleted file mode 100644 (file)
index fb7e22f..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = " \
-       Client library for Distributed Cloud built on the Distributed Cloud API. \
-       It provides a command-line tool (dcmanager).  \
-       Distributed Cloud provides configuration and management of distributed clouds \
-       "
-
-HOMEPAGE = "https://opendev.org/starlingx"
-SECTION = "network"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://distributedcloud-client/LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCNAME = "distcloud-client"
-SRCREV = "8a8f01dd3701d4793dd8cbc0147e4dca49cd7c03"
-PV = "1.0.0+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
-       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       "
-
-inherit distutils python-dir
-
-DEPENDS += " \
-       python-pbr-native \
-       "
-
-do_configure() {
-       cd ${S}/distributedcloud-client
-       distutils_do_configure
-}
-
-do_compile() {
-       cd ${S}/distributedcloud-client
-       distutils_do_compile
-}
-
-do_install() {
-       cd ${S}/distributedcloud-client
-       distutils_do_install
-}
diff --git a/meta-stx/recipes-core/distributedcloud/distributedcloud_git.bb b/meta-stx/recipes-core/distributedcloud/distributedcloud_git.bb
deleted file mode 100644 (file)
index 21796f1..0000000
+++ /dev/null
@@ -1,258 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "StarlingX distributedcloud packages collection"
-HOMEPAGE = "https://opendev.org/starlingx"
-SECTION = "network"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://distributedcloud/LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCNAME = "distcloud"
-SRCREV = "8329259704a5becd036663fc7de9b7a61f4bc27e"
-PV = "1.0.0+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
-       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       "
-
-# TODO: 
-# 1 - Patch service unit files to create the following directories:
-#      - var/log/dcdbsync 
-#      - var/log/dcmanager
-#      - var/log/dcorch
-# python-jsonschema >= 2.0.0
-# python-keystoneauth1 >= 3.1.0
-# python-pbr >= 1.8
-# python-pecan >= 1.0.0
-# python-routes >= 1.12.3
-
-PACKAGES += "distributedcloud-dcmanager"
-PACKAGES += "distributedcloud-dcorch"
-PACKAGES += "distributedcloud-dcdbsync"
-PACKAGES += "distributedcloud-ocf"
-DESCRIPTION_distributedcloud-dcmanager = "Distributed Cloud Manager"
-DESCRIPTION_distributedcloud-dcorch = "Distributed Cloud Orchestrator"
-DESCRIPTION_distributedcloud-dcdbsync = "DC DCorch DBsync Agent"
-
-DEPENDS += " \
-       python-pbr-native \
-       "
-
-ALL_RDEPENDS = " \
-       python-pycrypto \
-       python-cryptography \
-       python-eventlet \
-       python-setuptools \
-       python-jsonschema \
-       python-keyring \
-       python-keystonemiddleware \
-       python-keystoneauth1 \
-       python-netaddr \
-       python-oslo.concurrency \
-       python-oslo.config \
-       python-oslo.context \
-       python-oslo.db \
-       python-oslo.i18n \
-       python-oslo.log \
-       python-oslo.messaging \
-       python-oslo.middleware \
-       python-oslo.policy \
-       python-oslo.rootwrap \
-       python-oslo.serialization \
-       python-oslo.service \
-       python-oslo.utils \
-       python-oslo.versionedobjects \
-       python-pbr \
-       python-pecan \
-       python-routes \
-       python-sphinx \
-       python-pyopenssl \
-       systemd \
-       python-babel \
-       distributedcloud-ocf \
-       "
-# TODO: 
-# Check dependencies
-#      python-sphinxcontrib-httpdomain
-
-RDEPENDS_distributedcloud-dcmanager  += "  ${ALL_RDEPENDS}"
-RDEPENDS_distributedcloud-dcorch += "  ${ALL_RDEPENDS}"
-RDEPENDS_distributedcloud-dcdbsync+= " ${ALL_RDEPENDS}"
-       
-
-inherit distutils python-dir
-
-do_configure() {
-       cd ${S}/distributedcloud
-       distutils_do_configure
-}
-
-do_compile() {
-       cd ${S}/distributedcloud
-       distutils_do_compile
-}
-
-do_install() {
-       cd ${S}/distributedcloud
-       distutils_do_install
-
-       SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
-
-       # dcmanager
-       install -d -m 0755 ${D}/var/log/dcmanager
-       install -d -m 0755 ${D}/var/cache/dcmanager
-       install -d -m 0755 ${D}/${sysconfdir}/dcmanager
-       install -d -m 0755 ${D}/${sysconfdir}/tempfiles.d
-       install -d -m 0755 ${D}/${datadir}/starlingx/distrbutedcloud-config-files/
-       install -d -m 0755 ${D}/${systemd_system_unitdir}
-       install -d -m 0755 ${D}/opt/dc/ansible
-
-       # Install systemd unit files
-       install -p -D -m 0644 centos/files/dcmanager-api.service ${D}/${systemd_system_unitdir}/
-       install -p -D -m 0644 centos/files/dcmanager-manager.service ${D}/${systemd_system_unitdir}/
-       install -p -D -m 0755 centos/files/dcmanager.conf ${D}/${sysconfdir}/tempfiles.d
-
-       # Install default config files
-       # defer postinst_ontarget
-       install -p -m 0644 dcmanager//config-generator.conf ${D}/${SRCPATH}/dcmanager-config-generator.conf
-
-       # dcorch
-       install -d -m 0755 ${D}/var/log/dcorch
-       install -d -m 0755 ${D}/var/cache/dcorch
-       install -d -m 0755 ${D}/${sysconfdir}/dcorch
-
-       # Install systemd unit files
-       install -p -D -m0644 centos/files/dcorch-api.service ${D}/${systemd_system_unitdir}/
-       install -p -D -m0644 centos/files/dcorch-engine.service ${D}/${systemd_system_unitdir}/
-       install -p -D -m0644 centos/files/dcorch-sysinv-api-proxy.service ${D}/${systemd_system_unitdir}/
-       install -p -D -m0644 centos/files/dcorch-snmp.service ${D}/${systemd_system_unitdir}/
-       install -p -D -m0644 centos/files/dcorch-identity-api-proxy.service ${D}/${systemd_system_unitdir}/
-       install -p -D -m0644 centos/files/dcorch.conf ${D}/${sysconfdir}/tempfiles.d
-
-       # Install ocf scripts
-       install -d -m 0755 ${D}/${libdir}/ocf/resource.d/openstack/ocf
-       install -m 0644 \
-               ocf/dcdbsync-api \
-               ocf/dcmanager-api \
-               ocf/dcmanager-manager \
-               ocf/dcorch-cinder-api-proxy \
-               ocf/dcorch-engine \
-               ocf/dcorch-identity-api-proxy \
-               ocf/dcorch-neutron-api-proxy \
-               ocf/dcorch-nova-api-proxy \
-               ocf/dcorch-patch-api-proxy \
-               ocf/dcorch-snmp \
-               ocf/dcorch-sysinv-api-proxy ${D}/${libdir}/ocf/resource.d/openstack/
-
-       # Install default config files
-       # defer postinst_ontarget
-       install -p -m 0644 dcorch/config-generator.conf ${D}/${SRCPATH}/dcorch-config-generator.conf
-
-       # dc dbsync agent
-       install -d -m 755 ${D}/var/log/dcdbsync
-       install -d -m 755 ${D}/var/cache/dcdbsync
-       install -d -m 755 ${D}/${sysconfdir}/dcdbsync/
-
-       # Install systemd unit files
-       install -p -D -m 644 centos/files/dcdbsync-api.service ${D}/${systemd_system_unitdir}/dcdbsync-api.service
-       # ???? CheckInstall systemd unit files for optional second instance
-       install -p -D -m 644 centos/files/dcdbsync-openstack-api.service ${D}/${systemd_system_unitdir}/dcdbsync-openstack-api.service
-       install -p -D -m 644 centos/files/dcdbsync.conf  ${D}/${sysconfdir}/tmpfiles.d
-
-       # Install default config files
-       # defer postinst_ontarget
-       install -p -m 0644 dcdbsync/config-generator.conf ${D}/${SRCPATH}/dcdbsync-config-generator.conf
-}
-
-
-pkg_postinst_ontarget_distributedcloud-dcmanager() {
-       SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
-       oslo-config-generator --config-file ${SRCPATH}/dcmanager-config-generator.conf \
-               --output-file ${sysconfdir}/dcmanager/dcmanager.conf.sample
-}
-
-pkg_postinst_ontarget_distributedcloud-dcorch() {
-       SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
-       oslo-config-generator --config-file ${SRCPATH}/dcorch-config-generator.conf \
-               --output-file ${sysconfdir}/dcorch/dcorch.conf.sample
-}
-
-
-pkg_postinst_ontarget_distributedcloud-dcdbsync() {
-       SRCPATH=${datadir}/starlingx/distrbutedcloud-config-files/
-       oslo-config-generator --config-file ${SRCPATH}/dcdbsync-config-generator.conf \
-               --output-file ${sysconfdir}/dcdbsync/dcdbsync.conf.sample
-}
-
-FILES_${PN} = " \
-  /var/volatile \
-  /var/log \
-  /var/volatile/log \
-  /etc/tmpfiles.d \
-  "
-
-FILES_distributedcloud-ocf = " \
-       ${libdir}/ocf/resource.d/openstack  \
-       "
-
-FILES_distributedcloud-dcdbsync = " \
-       ${PYTHON_SITEPACKAGES_DIR}/dcdbsync \
-       ${PYTHON_SITEPACKAGES_DIR}/dcdbsync-*.egg.info \
-       /var/cache/dcdbsync \
-       /var/volatile/log/dcdbsync \
-       ${bindir}/dcdbsync-api \
-       ${systemd_system_unitdir}/dcdbsync-api.service \
-       ${systemd_system_unitdir}/dcdbsync-openstack-api.service \
-       ${sysconfdir}/dcdbsync/ \
-       ${datadir}/starlingx/distrbutedcloud-config-files/dcdbsync-config-generator.conf \
-       "
-
-FILES_distributedcloud-dcorch = " \
-       ${PYTHON_SITEPACKAGES_DIR}/dcorch \
-       ${PYTHON_SITEPACKAGES_DIR}/distributedcloud-*.egg-info \
-       ${bindir}/dcorch-api \
-       ${systemd_system_unitdir}/dcorch-api.service \
-       ${bindir}/dcorch-engine \
-       ${systemd_system_unitdir}/dcorch-engine.service \
-       ${bindir}/dcorch-api-proxy \
-       ${systemd_system_unitdir}/dcorch-sysinv-api-proxy.service \
-       ${systemd_system_unitdir}/dcorch-identity-api-proxy.service \
-       ${bindir}/dcorch-manage \
-       ${bindir}/dcorch-snmp \
-       ${systemd_system_unitdir}/dcorch-snmp.service \
-       ${sysconfdir}/tempfiles.d/dcorch.conf \
-       /var/cache/dcorch \
-       ${sysconfdir}/dcorch \
-       ${datadir}/starlingx/distrbutedcloud-config-files/dcorch-config-generator.conf \
-       "
-
-FILES_distributedcloud-dcmanager = " \
-       ${PYTHON_SITEPACKAGES_DIR}/dcmanager \
-       ${PYTHON_SITEPACKAGES_DIR}/distributedcloud-*.egg-info \
-       ${bindir}/dcmanager-api \
-       ${systemd_system_unitdir}/dcmanager-api.service \
-       ${bindir}/dcmanager-manager \
-       ${systemd_system_unitdir}/dcmanager-manager.service \
-       ${bindir}/dcmanager-manage \
-       ${sysconfdir}/tmpfiles.d/dcmanager.conf \
-       /var/cache/dcmanager \
-       ${sysconfdir}/dcmanager \
-       ${sysconfdir}/tempfiles.d/dcmanager.conf \
-       /opt/dc/ansible  \
-       ${datadir}/starlingx/distrbutedcloud-config-files/dcmanager-config-generator.conf \
-       "
diff --git a/meta-stx/recipes-core/images/stx-image-aio-installer.bb b/meta-stx/recipes-core/images/stx-image-aio-installer.bb
deleted file mode 100644 (file)
index 83b5602..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "An image with Anaconda to do installation for StarlingX"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-# Support installation from initrd boot
-do_image_complete[depends] += "core-image-anaconda-initramfs:do_image_complete"
-
-DEPENDS += "isomd5sum-native"
-
-CUSTOMIZE_LOGOS ??= "yocto-compat-logos"
-
-# We override what gets set in core-image.bbclass
-IMAGE_INSTALL = "\
-    packagegroup-core-boot \
-    packagegroup-core-ssh-openssh \
-    ${@['', 'packagegroup-installer-x11-anaconda'][bool(d.getVar('XSERVER', True))]} \
-    python3-anaconda \
-    anaconda-init \
-    kernel-modules \
-    ${CUSTOMIZE_LOGOS} \
-    dhcp-client \
-    ldd \
-    rng-tools \
-    gptfdisk \
-    pxe-installer-initramfs \
-"
-
-IMAGE_LINGUAS = "en-us en-gb"
-
-# Generate live image
-IMAGE_FSTYPES_remove = "wic wic.bmap"
-IMAGE_FSTYPES_append = " iso"
-
-IMAGE_ROOTFS_EXTRA_SPACE =" + 102400"
-
-inherit core-image stx-anaconda-image
-
-DEFAULT_KICKSTART ?= "smallsystem_lowlatency_ks.cfg"
-STX_KICKSTART_DIR ?= "${INSTALLER_TARGET_BUILD}/tmp/deploy/images/${MACHINE}/stx-kickstarts/"
-KICKSTART_FILE ?= "${STX_KICKSTART_DIR}/${DEFAULT_KICKSTART}"
-
-KICKSTART_FILE_EXTRA ?= " \
-    ${STX_KICKSTART_DIR}/smallsystem_ks.cfg \
-    ${STX_KICKSTART_DIR}/smallsystem_lowlatency_ks.cfg \
-    ${STX_KICKSTART_DIR}/controller_ks.cfg \
-    ${STX_KICKSTART_DIR}/net_controller_ks.cfg \
-    ${STX_KICKSTART_DIR}/net_smallsystem_ks.cfg \
-    ${STX_KICKSTART_DIR}/net_smallsystem_lowlatency_ks.cfg \
-    ${STX_KICKSTART_DIR}/net_storage_ks.cfg \
-    ${STX_KICKSTART_DIR}/net_worker_ks.cfg \
-    ${STX_KICKSTART_DIR}/net_worker_lowlatency_ks.cfg \
-"
-
-SYSLINUX_CFG_LIVE = "${LAYER_PATH_meta-stx}/conf/distro/files/syslinux.cfg"
diff --git a/meta-stx/recipes-core/images/stx-image-aio.bb b/meta-stx/recipes-core/images/stx-image-aio.bb
deleted file mode 100644 (file)
index cf0802b..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = " StarlingX Single Server"
-
-LICENSE = "MIT"
-
-CORE_IMAGE_EXTRA_INSTALL = " \
-       packagegroup-basic \
-       packagegroup-core-base-utils  \
-       "
-
-IMAGE_INSTALL_append = " \
-       ${CORE_IMAGE_BASE_INSTALL} \
-       packagegroup-core-full-cmdline \
-       packagegroup-core-lsb \
-       packagegroup-stx-upstream \
-       packagegroup-stx-puppet \
-       packagegroup-stx-fault \
-       packagegroup-stx-metal \
-       packagegroup-stx-nfv \
-       packagegroup-stx-monitoring \
-       packagegroup-stx-ha \
-       packagegroup-stx-config-files \
-       packagegroup-stx-update \
-       packagegroup-stx-integ \
-       packagegroup-stx-config \
-       packagegroup-stx-distributedcloud \
-       packagegroup-stx-utilities \
-       packagegroup-stx-armada-app \
-       starlingx-dashboard \
-       playbookconfig \
-       distributedcloud-client-dcmanager \
-       registry-token-server \
-       rt-tests \
-       "
-
-IMAGE_FEATURES += " \
-       package-management \
-       ssh-server-openssh \
-       "
-
-inherit stx-image-list
-inherit stx-postrun
-inherit extrausers-config
-inherit core-image
-inherit distro_features_check
-inherit openstack-base
-inherit identity
-inherit monitor
-
-# We need docker-ce
-PACKAGE_EXCLUDE += " docker"
diff --git a/meta-stx/recipes-core/init-ifupdown/init-ifupdown_%.bbappend b/meta-stx/recipes-core/init-ifupdown/init-ifupdown_%.bbappend
deleted file mode 100644 (file)
index 9ebe7bd..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-do_install_append() {
-       sed -i -e 's/^\(auto eth0\)/#\1/' ${D}/etc/network/interfaces
-}
-
-RDEPENDS_${PN} += "ifupdown"
diff --git a/meta-stx/recipes-core/initrdscripts/initramfs-module-install_1.0.bbappend b/meta-stx/recipes-core/initrdscripts/initramfs-module-install_1.0.bbappend
deleted file mode 100644 (file)
index a2b1ca7..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-do_install_append () {
-    sed -i -e 's/@STX_ID@/${STX_ID}/' ${D}/init.d/install.sh
-}
-
-RDEPENDS_${PN} += "\
-    util-linux-mount \
-    util-linux-uuidgen \
-    lvm2 \
-"
diff --git a/meta-stx/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bbappend b/meta-stx/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bbappend
deleted file mode 100644 (file)
index 1eefa1a..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/initramfs-module-setup-live:"
diff --git a/meta-stx/recipes-core/packagegroups/packagegroup-stx.bb b/meta-stx/recipes-core/packagegroups/packagegroup-stx.bb
deleted file mode 100644 (file)
index e1d1df6..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "StarlingX stx packages"
-
-PR = "r0"
-
-#
-# packages which content depend on MACHINE_FEATURES need to be MACHINE_ARCH
-#
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-inherit packagegroup
-
-PROVIDES = "${PACKAGES}"
-PACKAGES = " \
-       packagegroup-stx-upstream \
-       packagegroup-stx-puppet \
-       packagegroup-stx-fault \
-       packagegroup-stx-metal \
-       packagegroup-stx-nfv \
-       packagegroup-stx-monitoring \
-       packagegroup-stx-ha \
-       packagegroup-stx-config \
-       packagegroup-stx-config-files \
-       packagegroup-stx-distributedcloud \
-       packagegroup-stx-update \
-       packagegroup-stx-integ \
-       packagegroup-stx-utilities \
-       packagegroup-stx-armada-app \
-       "
-
-RDEPENDS_packagegroup-stx-puppet = "\
-       stx-puppet \
-       puppet-dcdbsync \
-       puppet-dcmanager \
-       puppet-dcorch \
-       puppet-fm \
-       puppet-mtce \
-       puppet-nfv \
-       puppet-patching \
-       puppet-smapi \
-       puppet-sshd \
-       puppet-sysinv \
-       puppet-manifests \
-       "
-
-RDEPENDS_packagegroup-stx-config = " \
-       config-gate-worker \
-       config-gate \
-       controllerconfig \
-       cgts-client \
-       sysinv-agent \
-       sysinv \
-       workerconfig-subfunction \
-       tsconfig \
-       "
-
-RDEPENDS_packagegroup-stx-config-files  = " \
-       audit-config \
-       centos-release-config \
-       dhclient-config \
-       dnsmasq-config \
-       docker-config \
-       initscripts-config \
-       filesystem-scripts \
-       haproxy-config \
-       ioscheduler-config \
-       iptables-config \
-       iscsi-initiator-utils-config \
-       lighttpd-config \
-       logrotate-config \
-       memcached-custom \
-       mlx4-config \
-       net-snmp-config \
-       nfs-utils-config \
-       ntp-config \
-       openldap-config \
-       openssh-config \
-       openvswitch-config \
-       pam-config \
-       rabbitmq-server-config \
-       rsync-config \
-       setup-config \
-       shadow-utils-config \
-       sudo-config \
-       syslog-ng-config \
-       systemd-config \
-       util-linux-config \
-       "
-
-RDEPENDS_packagegroup-stx-fault = " \
-        fm-api \
-        fm-common \
-        fm-doc \
-        fm-mgr \
-        fm-rest-api \
-        python-fmclient \
-        snmp-audittrail \
-        snmp-ext \
-        "
-
-RDEPENDS_packagegroup-stx-ha = " \
-        sm-common-libs \
-        libsm-common \
-        sm \
-        sm-db \
-        sm-api \
-        sm-client \
-        sm-tools \
-       sm-eru \
-        stx-ocf-scripts \
-        "
-
-RDEPENDS_packagegroup-stx-metal = " \
-       inventory \
-       mtce \
-       mtce-pmon \
-       mtce-hwmon \
-       mtce-hostw \
-       mtce-lmon \
-       mtce-compute \
-       mtce-control \
-       mtce-storage \
-       python-inventoryclient \
-       pxe-network-installer \
-       platform-kickstarts \
-       "
-
-RDEPENDS_packagegroup-stx-monitoring = " \
-       collectd-extensions \
-       influxdb-extensions \
-       monitor-tools \
-       vm-topology \
-       "
-
-RDEPENDS_packagegroup-stx-distributedcloud = " \
-       distributedcloud-dcmanager \
-       distributedcloud-dcorch \
-       distributedcloud-dcdbsync \
-       distributedcloud-ocf \
-       "
-
-RDEPENDS_packagegroup-stx-nfv = " \
-       nfv-common \
-       nfv-plugins \
-       nfv-tools \
-       nfv-vim \
-       nfv-client \
-       "
-
-RDEPENDS_packagegroup-stx-upstream = " \
-       barbican \
-       python-neutronclient \
-       python-aodhclient \
-       python-barbican \
-       python-barbicanclient \
-       python-cinderclient \
-       python-glanceclient \
-       python-gnocchiclient \
-       python-django-horizon \
-       python-heatclient \
-       python-ironicclient \
-       python-keystoneauth1 \
-       python-keystoneclient \
-       python-magnumclient \
-       python-muranoclient \
-       python-novaclient \
-       python-openstackclient \
-       python-openstacksdk \
-       python-pankoclient \
-       openstack-ras \
-       "
-
-RDEPENDS_packagegroup-stx-update = " \
-       cgcs-patch \
-       cgcs-patch-agent \
-       cgcs-patch-controller \
-       enable-dev-patch \
-       patch-alarm \
-       "
-
-RDEPENDS_packagegroup-stx-integ = " \
-       dpkg \
-       dtc \
-       ibsh \
-       python-redfishtool \
-       puppet-boolean \
-       puppetlabs-create-resources \
-       puppet-dnsmasq \
-       puppet-drbd \
-       puppet-filemapper \
-       puppet-ldap \
-       puppetlabs-lvm \
-       puppet-network \
-       puppet-nslcd \
-       puppetlabs-postgresql \
-       puppet-puppi \
-       mariadb \
-       drbd-utils \
-       docker-distribution \
-        docker-forward-journald \
-       etcd \
-       kubernetes \
-       ldapscripts \
-       python-3parclient \
-       python-cherrypy \
-       python-lefthandclient \
-       python-setuptools \
-       python-ryu \
-       spectre-meltdown-checker \
-       kvm-timer-advance \
-       ceph \
-       lldpd \
-        lvm2 \
-        tzdata \
-       "
-
-RDEPENDS_packagegroup-stx-utilities = " \
-       build-info \
-       python-cephclient \
-       ceph-manager \
-       stx-ssl \
-       collector \
-       collect-engtools \
-       logmgmt \
-       namespace-utils \
-       nfscheck \
-       stx-extensions \
-       worker-utils \
-       update-motd \
-       platform-util \
-       pci-irq-affinity \
-       "
-
-RDEPENDS_packagegroup-stx-armada-app = "\
-       monitor-helm \
-       monitor-helm-elastic \
-       openstack-helm \
-       openstack-helm-infra \
-       stx-monitor-helm \
-       stx-openstack-helm \
-       stx-platform-helm \
-       "
diff --git a/meta-stx/recipes-core/pxe-installer-initramfs/pxe-installer-initramfs_1.0.bb b/meta-stx/recipes-core/pxe-installer-initramfs/pxe-installer-initramfs_1.0.bb
deleted file mode 100644 (file)
index 1451529..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Provides initramfs used for pxe installer"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-do_install[depends] += "core-image-anaconda-initramfs:do_image_complete"
-
-do_install() {
-    install -d ${D}/boot
-    install -m 0644  ${DEPLOY_DIR_IMAGE}/core-image-anaconda-initramfs-${MACHINE}.cpio.gz ${D}/boot/installer-initrd_1.0
-    ln -s installer-initrd_1.0 ${D}/boot/installer-initrd
-}
-
-FILES_${PN} = "/boot"
diff --git a/meta-stx/recipes-core/stx-ansible-playbooks/files/0006-bringup_helm-wait-after-initialize-helm-to-avoid-tim.patch b/meta-stx/recipes-core/stx-ansible-playbooks/files/0006-bringup_helm-wait-after-initialize-helm-to-avoid-tim.patch
deleted file mode 100644 (file)
index a1e6a3f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From 7841401dd8064e4fc9c6ba3e0b2e19ba51fc29b2 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Wed, 15 Apr 2020 11:05:30 +0800
-Subject: [PATCH] bringup_helm: wait after initialize helm to avoid timeout
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- .../roles/bootstrap/bringup-essential-services/tasks/bringup_helm.yml  | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/tasks/bringup_helm.yml b/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/tasks/bringup_helm.yml
-index 32df992..de09070 100644
---- a/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/tasks/bringup_helm.yml
-+++ b/playbookconfig/src/playbooks/roles/bootstrap/bringup-essential-services/tasks/bringup_helm.yml
-@@ -193,6 +193,9 @@
-       recurse: yes
-   when: inventory_hostname != 'localhost'
-+- name: Wait 10s after Initialize Helm
-+  wait_for: timeout=10
-+
- - name: Generate Helm repo indicies
-   command: helm repo index "{{ source_helm_bind_dir }}/{{ item }}"
-   become_user: www
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-core/stx-ansible-playbooks/playbookconfig.bb b/meta-stx/recipes-core/stx-ansible-playbooks/playbookconfig.bb
deleted file mode 100644 (file)
index a198bfd..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/patches:${THISDIR}/files:"
-DESCRIPTION = " stx-ansible-playbooks"
-
-STABLE = "starlingx/master"
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV = "0ad01cd4cae7d5c85e1022b816ed465b334bb2e5"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-# The patch 0001-Treat-the-failure-as-expected-result-if-resize-using.patch
-# need to be removed if updating to stx 2.0.0 or above.
-SRC_URI = " \
-       git://opendev.org/starlingx/ansible-playbooks.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://0001-stx.3.0-rebase-adjust-path.patch \
-       file://0002-update_sysinv_database-do-not-fail-if-ceph-monitor-a.patch \
-       file://0003-update_sysinv_database-wait-after-provision.patch \
-       file://0004-bringup_flock_services-use-systmd-for-fminit-and-add.patch \
-       file://0005-persist-config-add-retry-for-etcd.patch \
-       file://0006-bringup_helm-wait-after-initialize-helm-to-avoid-tim.patch \
-        "
-
-RDEPENDS_playbookconfig = " \
-       nscd \
-       python \
-       python-netaddr \
-       python-ptyprocess \
-       python-pexpect \
-       python-ansible \
-       sysinv \
-       grub \
-       grubby \
-       dracut \
-       openssl-bin \
-       ipset \
-       "
-
-do_configure () {
-       :
-} 
-
-do_compile() {
-       :
-}
-
-do_install () {
-       cd ${S}/playbookconfig/src
-       oe_runmake -e \
-               DESTDIR=${D}/${datadir}/ansible/stx-ansible
-}
-
-ANSIBLE_SSH_TIMEOUT = "60"
-ANSIBLE_SSH_RETRY = "3"
-
-pkg_postinst_${PN}() {
-       cp $D${sysconfdir}/ansible/ansible.cfg $D${sysconfdir}/ansible/ansible.cfg.orig
-       cp $D${sysconfdir}/ansible/hosts $D${sysconfdir}/ansible/hosts.orig
-       cp $D${datadir}/ansible/stx-ansible/playbooks/ansible.cfg $D${sysconfdir}/ansible
-       cp $D${datadir}/ansible/stx-ansible/playbooks/hosts $D${sysconfdir}/ansible
-
-       sed -i -e 's/#timeout = .*/timeout = ${ANSIBLE_SSH_TIMEOUT}/' \
-              -e 's/#retries = .*/retries = ${ANSIBLE_SSH_RETRY}/' \
-              $D${sysconfdir}/ansible/ansible.cfg
-}
-
-FILES_${PN} = " \
-       ${datadir} \
-       "
diff --git a/meta-stx/recipes-core/stx-config-files/config-files_1.0.0.bb b/meta-stx/recipes-core/stx-config-files/config-files_1.0.0.bb
deleted file mode 100644 (file)
index 82d1092..0000000
+++ /dev/null
@@ -1,753 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-config-files"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV = "d778e862571957ece3c404c0c37d325769772fde"
-SRCNAME = "config-files"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "\
-       file://systemd-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://audit-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://docker-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://filesystem-scripts/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://filesystem-scripts/filesystem-scripts-1.0/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://io-scheduler/centos/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://iptables-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://lighttpd-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://logrotate-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://mlx4-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://ntp-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://openldap-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://openvswitch-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://shadow-utils-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://sudo-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://syslog-ng-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://systemd-config/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       "
-
-SRC_URI = " \
-       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://openssh-config-rm-hmac-ripemd160.patch \
-       file://util-linux-pam-postlogin.patch \
-       file://syslog-ng-config-parse-err.patch \
-       file://syslog-ng-config-systemd-service.patch \
-       file://syslog-ng-conf-replace-match-with-message.patch \
-       file://lighttpd-init-script-chroot.patch \
-       file://nfsserver-remvoe-the-f-option-for-rpc.mountd.patch \
-       file://nfsserver.service-add-dependency-on-rpcbind.service.patch \
-       "
-
-do_configure () {
-       :
-}
-
-do_compile () {
-       :
-}
-
-do_install () {
-       install -m 0755 -d ${D}/${datadir}/starlingx/config-files
-       for f in $(find ./ -name '*\.spec' | cut -d '/' -f2);
-       do 
-               tar -c $f -f - | tar -C ${D}/${datadir}/starlingx/config-files -xf -;
-       done
-       find ${D}/${datadir}/starlingx/config-files -name centos -exec rm -rf {} +
-       chown -R root:root ${D}/${datadir}/starlingx/config-files/
-
-       # For io-scheduler-config
-       mkdir -p  ${D}/${sysconfdir}/udev/rules.d
-       install -m 644 ${S}/io-scheduler/centos/files/60-io-scheduler.rules ${D}/${sysconfdir}/udev/rules.d/60-io-scheduler.rules
-       rm -rf ${D}/${datadir}/starlingx/config-files/io-scheduler
-}
-
-PACKAGES ?= ""
-PACKAGES += "audit-config"
-PACKAGES += "centos-release-config"
-PACKAGES += "dhclient-config"
-PACKAGES += "dnsmasq-config"
-PACKAGES += "docker-config"
-PACKAGES += "initscripts-config"
-PACKAGES += "filesystem-scripts"
-PACKAGES += "haproxy-config"
-PACKAGES += "ioscheduler-config"
-PACKAGES += "iptables-config"
-PACKAGES += "iscsi-initiator-utils-config"
-PACKAGES += "lighttpd-config"
-PACKAGES += "logrotate-config"
-PACKAGES += "memcached-custom"
-PACKAGES += "mlx4-config"
-PACKAGES += "net-snmp-config"
-PACKAGES += "nfs-utils-config"
-PACKAGES += "ntp-config"
-PACKAGES += "openldap-config"
-PACKAGES += "openssh-config"
-PACKAGES += "openvswitch-config"
-PACKAGES += "pam-config"
-PACKAGES += "rabbitmq-server-config"
-PACKAGES += "rsync-config"
-PACKAGES += "setup-config"
-PACKAGES += "shadow-utils-config"
-PACKAGES += "sudo-config"
-PACKAGES += "syslog-ng-config"
-PACKAGES += "systemd-config"
-PACKAGES += "util-linux-config"
-
-FILES_${PN} = ""
-FILES_audit-config = "${datadir}/starlingx/config-files/audit-config/"
-FILES_centos-release-config = "${datadir}/starlingx/config-files/centos-release-config/"
-FILES_dhclient-config = "${datadir}/starlingx/config-files/dhcp-config/"
-FILES_dnsmasq-config = "${datadir}/starlingx/config-files/dnsmasq-config/"
-FILES_docker-config = "${datadir}/starlingx/config-files/docker-config/"
-FILES_initscripts-config = "${datadir}/starlingx/config-files/initscripts-config/"
-FILES_filesystem-scripts= "${datadir}/starlingx/config-files/filesystem-scripts/"
-FILES_haproxy-config= "${datadir}/starlingx/config-files/haproxy-config/"
-FILES_ioscheduler-config= "${sysconfdir}/udev/rules.d/60-io-scheduler.rules"
-FILES_iptables-config= "${datadir}/starlingx/config-files/iptables-config/"
-FILES_iscsi-initiator-utils-config = "${datadir}/starlingx/config-files/iscsi-initiator-utils-config/"
-FILES_lighttpd-config= "${datadir}/starlingx/config-files/lighttpd-config/"
-FILES_logrotate-config= "${datadir}/starlingx/config-files/logrotate-config/"
-FILES_memcached-custom = "${datadir}/starlingx/config-files/memcached-custom/"
-FILES_mlx4-config= "${datadir}/starlingx/config-files/mlx4-config/"
-FILES_net-snmp-config= "${datadir}/starlingx/config-files/net-snmp-config/"
-FILES_nfs-utils-config= "${datadir}/starlingx/config-files/nfs-utils-config/"
-FILES_ntp-config= "${datadir}/starlingx/config-files/ntp-config/"
-FILES_openldap-config= "${datadir}/starlingx/config-files/openldap-config/"
-FILES_openssh-config= "${datadir}/starlingx/config-files/openssh-config/"
-FILES_openvswitch-config= "${datadir}/starlingx/config-files/openvswitch-config/"
-FILES_pam-config= "${datadir}/starlingx/config-files/pam-config/"
-FILES_rabbitmq-server-config= "${datadir}/starlingx/config-files/rabbitmq-server-config/"
-FILES_rsync-config= "${datadir}/starlingx/config-files/rsync-config/"
-FILES_setup-config= "${datadir}/starlingx/config-files/setup-config/"
-FILES_shadow-utils-config= "${datadir}/starlingx/config-files/shadow-utils-config/"
-FILES_sudo-config= "${datadir}/starlingx/config-files/sudo-config/"
-FILES_syslog-ng-config= "${datadir}/starlingx/config-files/syslog-ng-config/"
-FILES_systemd-config= "${datadir}/starlingx/config-files/systemd-config/"
-FILES_util-linux-config= "${datadir}/starlingx/config-files/util-linux-config/"
-
-RDEPENDS_audit-config += " \
-       audit \
-       auditd \
-       audit-python \
-       "
-RDEPENDS_dhclient-config += "dhcp-client"
-RDEPENDS_dnsmasq-config += "dnsmasq"
-RDEPENDS_docker-config += "docker-ce logrotate "
-RDEPENDS_initscripts-config += "initscripts"
-RDEPENDS_filesystem-scripts += ""
-RDEPENDS_haproxy-config += "haproxy"
-RDEPENDS_ioscheduler-config += ""
-RDEPENDS_iptables-config += "iptables"
-RDEPENDS_iscsi-initiator-utils-config += " iscsi-initiator-utils"
-RDEPENDS_lighttpd-config += " \
-       lighttpd \
-       lighttpd-module-proxy \
-       lighttpd-module-setenv \
-       "
-RDEPENDS_logrotate-config += " logrotate cronie"
-RDEPENDS_memcached-custom += "memcached"
-RDEPENDS_mlx4-config += ""
-RDEPENDS_net-snmp-config += " \
-       net-snmp \
-       net-snmp-server-snmpd \
-       net-snmp-server-snmptrapd \
-       "
-RDEPENDS_nfs-utils-config += " nfs-utils"
-RDEPENDS_ntp-config += " ntp"
-RDEPENDS_openldap-config += " \
-       openldap \
-       "
-RRECOMMENDS_openldap-config += " \
-       openldap-slapd \
-       openldap-backend-shell \
-       openldap-backend-passwd \
-       openldap-backend-null \
-       openldap-backend-monitor \
-       openldap-backend-meta \
-       openldap-backend-ldap \
-       openldap-backend-dnssrv \
-       openldap-staticdev \
-       openldap-locale \
-       openldap-overlay-proxycache \
-       openldap-slapd \
-       openldap-slurpd \
-       openldap-bin \
-       "
-
-RDEPENDS_openssh-config += " openssh"
-RDEPENDS_openvswitch-config += " openvswitch"
-RDEPENDS_pam-config += " \
-       libpam-runtime \
-       nss-pam-ldapd \
-       libpwquality \
-       pam-plugin-access \
-       pam-plugin-cracklib \
-       pam-plugin-debug \
-       pam-plugin-deny \
-       pam-plugin-echo \
-       pam-plugin-env \
-       pam-plugin-exec \
-       pam-plugin-faildelay \
-       pam-plugin-filter \
-       pam-plugin-ftp \
-       pam-plugin-group \
-       pam-plugin-issue \
-       pam-plugin-keyinit \
-       pam-plugin-lastlog \
-       pam-plugin-limits \
-       pam-plugin-listfile \
-       pam-plugin-localuser \
-       pam-plugin-loginuid \
-       pam-plugin-mail \
-       pam-plugin-mkhomedir \
-       pam-plugin-motd \
-       pam-plugin-namespace \
-       pam-plugin-nologin \
-       pam-plugin-permit \
-       pam-plugin-pwhistory \
-       pam-plugin-rhosts \
-       pam-plugin-rootok \
-       pam-plugin-securetty \
-       pam-plugin-shells \
-       pam-plugin-stress \
-       pam-plugin-succeed-if \
-       pam-plugin-tally \
-       pam-plugin-tally2 \
-       pam-plugin-time \
-       pam-plugin-timestamp \
-       pam-plugin-umask \
-       pam-plugin-unix \
-       pam-plugin-warn \
-       pam-plugin-wheel \
-       pam-plugin-xauth \
-       "
-RDEPENDS_rabbitmq-server-config += " rabbitmq-server"
-RDEPENDS_rsync-config += " rsync"
-RDEPENDS_setup-config += ""
-RDEPENDS_shadow-utils-config += " shadow"
-RDEPENDS_sudo-config += " sudo"
-RDEPENDS_syslog-ng-config += " syslog-ng"
-RDEPENDS_systemd-config += " systemd"
-RDEPENDS_util-linux-config += " util-linux"
-
-pkg_postinst_ontarget_audit-config() {
-       cp -f ${datadir}/starlingx/config-files/audit-config/files/syslog.conf ${sysconfdir}/audisp/plugins.d/syslog.conf
-       chmod 640 ${sysconfdir}/audisp/plugins.d/syslog.conf
-}
-
-pkg_postinst_centos-release-config() {
-        sed 's/@PLATFORM_RELEASE@/${ORAN_REL}/' $D${datadir}/starlingx/config-files/centos-release-config/files/issue >> $D${sysconfdir}/issue
-        sed 's/@PLATFORM_RELEASE@/${ORAN_REL}/' $D${datadir}/starlingx/config-files/centos-release-config/files/issue.net >> $D${sysconfdir}/issue.net
-        chmod 644 $D${sysconfdir}/issue
-        chmod 644 $D${sysconfdir}/issue.net
-}
-
-pkg_postinst_ontarget_dhclient-config() {
-       SRCPATH=${datadir}/starlingx/config-files/dhcp-config/files
-       install -m 0755 -p ${SRCPATH}/dhclient-enter-hooks ${sysconfdir}/dhcp/dhclient-enter-hooks
-       install -m 0755 -p ${SRCPATH}/dhclient.conf ${sysconfdir}/dhcp/dhclient/dhclient.conf
-       ln -fs ${sysconfdir}/dhcp/dhclient-enter-hooks ${sysconfdir}/dhclient-enter-hooks
-}
-       
-pkg_postinst_ontarget_dnsmasq-config() {
-       install -m 755 ${datadir}/starlingx/config-files/dnsmasq-config/files/init ${sysconfdir}/init.d/dnsmasq
-}
-
-pkg_postinst_ontarget_docker-config() {
-       SRCPATH=${datadir}/starlingx/config-files/docker-config/files
-       install -d -m 0755 ${sysconfdir}/systemd/system/docker.service.d
-
-       install -D -m 644 ${SRCPATH}/docker-pmond.conf ${sysconfdir}/pmon.d/docker.conf
-       install -D -m 644 ${SRCPATH}/docker-stx-override.conf \
-                       ${sysconfdir}/systemd/system/docker.service.d/docker-stx-override.conf 
-       install -D -m 644 ${SRCPATH}/docker.logrotate ${sysconfdir}/logrotate.d/docker.logrotate
-}
-
-pkg_postinst_ontarget_filesystem-scripts() {
-       SRCPATH=${datadir}/starlingx/config-files/filesystem-scripts/filesystem-scripts-1.0
-       install -D -m 755 ${SRCPATH}/uexportfs ${sysconfdir}/init.d/uexportfs
-
-       install -d -m 0755 /usr/lib/ocf/resource.d/platform/
-       install -D -m 755 ${SRCPATH}/nfsserver-mgmt /usr/lib/ocf/resource.d/platform/nfsserver-mgmt
-
-       install -p -D -m 755 ${SRCPATH}/nfs-mount ${bindir}/nfs-mount
-       install -D -m 755 ${SRCPATH}/uexportfs.service ${systemd_system_unitdir}/uexportfs.service
-
-       systemctl enable uexportfs.service
-}
-
-
-pkg_postinst_ontarget_haproxy-config() {
-
-       install -d -m 755 ${sysconfdir}/haproxy/errors/
-       install -m 755 ${datadir}/starlingx/config-files/haproxy-config/files/503.http ${sysconfdir}/haproxy/errors/503.http
-
-       install -m 644 ${datadir}/starlingx/config-files/haproxy-config/files/haproxy.service ${sysconfdir}/systemd/system/
-       install -p -D -m 0755 ${datadir}/starlingx/config-files/haproxy-config/files/haproxy.sh ${sysconfdir}/init.d/haproxy
-
-       /bin/systemctl disable haproxy.service
-       if test -s ${sysconfdir}/logrotate.d/haproxy ; then
-           echo '#See /etc/logrotate.d/syslog for haproxy rules' > ${sysconfdir}/logrotate.d/haproxy
-       fi
-}
-
-pkg_postinst_ontarget_initscripts-config() {
-       install -d  -m 755 ${sysconfdir}/sysconfig
-       install -d  -m 755 ${sysconfdir}/init.d
-       install -d  -m 755 ${systemd_system_unitdir}
-
-       SRCPATH=${datadir}/starlingx/config-files/initscripts-config/files
-       install -m  644 ${SRCPATH}/sysctl.conf ${datadir}/starlingx/stx.sysctl.conf
-       install -m  644 ${SRCPATH}/sysconfig-network.conf ${sysconfdir}/sysconfig/network
-       install -m  755 ${SRCPATH}/mountnfs.sh ${sysconfdir}/init.d/mountnfs
-       install -m  644 ${SRCPATH}/mountnfs.service ${systemd_system_unitdir}/mountnfs.service
-
-
-       cp -f ${datadir}/starlingx/stx.sysctl.conf ${sysconfdir}/sysctl.conf
-       chmod 644 ${sysconfdir}/sysctl.conf
-}
-
-pkg_postinst_ontarget_iscsi-initiator-utils-config() {
-#      %description
-#      package StarlingX configuration files of iscsi-initiator-utils to system folder.
-
-#      install -d  ${libdir}/tmpfiles.d
-#      install -d  ${sysconfdir}/systemd/system
-#      install -d  ${datadir}/starlingx
-
-       SRCPATH=${datadir}/starlingx/config-files/iscsi-initiator-utils-config/files
-       tmpfilesdir=${libdir}/tmpfiles.d
-
-       install -m 0644 ${SRCPATH}/iscsi-cache.volatiles   ${tmpfilesdir}/iscsi-cache.conf
-       install -m 0644 ${SRCPATH}/iscsi-shutdown.service  ${sysconfdir}/systemd/system
-       install -m 0644 ${SRCPATH}/iscsid.conf             ${datadir}/starlingx/stx.iscsid.conf
-
-       cp -f ${datadir}/starlingx/stx.iscsid.conf ${sysconfdir}/iscsi/iscsid.conf
-       chmod 0750 ${sysconfdir}/iscsi
-       chmod 0640 ${sysconfdir}/iscsi/iscsid.conf
-       
-       /bin/systemctl disable iscsi-shutdown.service
-}
-
-pkg_postinst_ontarget_lighttpd-config() {
-#      %description
-#      StarlingX lighttpd configuration file
-
-       CONFDIR=${sysconfdir}/lighttpd
-       ROOTDIR=/www
-       SRCPATH=${datadir}/starlingx/config-files/lighttpd-config/files
-
-       install -d -m 1777 ${ROOTDIR}/tmp
-       install -d ${CONFDIR}/ssl
-       install -d ${ROOTDIR}/pages/dav
-        install -m640 ${SRCPATH}/lighttpd.conf         ${datadir}/starlingx/lighttpd.conf
-       install -m755 ${SRCPATH}/lighttpd.init          ${datadir}/starlingx/lighttpd.init
-       install -m644 ${SRCPATH}/lighttpd-inc.conf      ${CONFDIR}/lighttpd-inc.conf
-       install -m644 ${SRCPATH}/index.html.lighttpd    ${ROOTDIR}/pages/index.html
-
-       install -d ${sysconfdir}/logrotate.d
-       install -m644 ${SRCPATH}/lighttpd.logrotate     ${datadir}/starlingx/lighttpd.logrotate
-       chmod 02770 ${sysconfdir}/lighttpd
-
-       cp --preserve=xattr -f ${datadir}/starlingx/lighttpd.conf  ${sysconfdir}/lighttpd/lighttpd.conf
-       chmod 640 ${sysconfdir}/lighttpd/lighttpd.conf
-       cp --preserve=xattr -f ${datadir}/starlingx/lighttpd.logrotate ${sysconfdir}/logrotate.d/lighttpd
-       chmod 644 ${sysconfdir}/logrotate.d/lighttpd
-
-       # /etc/rc.d/init.d/lighttpd is not a config file, so replace it here if it doesn't match
-       cp --preserve=xattr -f ${datadir}/starlingx/lighttpd.init ${sysconfdir}/rc.d/init.d/lighttpd
-       cp --preserve=xattr -f ${datadir}/starlingx/lighttpd.init ${sysconfdir}/init.d/lighttpd
-       chmod 755 ${sysconfdir}/rc.d/init.d/lighttpd
-       chmod 755 ${sysconfdir}/init.d/lighttpd
-}
-
-pkg_postinst_ontarget_logrotate-config() {
-#      %description
-#      StarlingX logrotate configuration file
-
-       SRCPATH=${datadir}/starlingx/config-files/logrotate-config/files
-
-       install -m 644 ${SRCPATH}/logrotate-cron.d ${sysconfdir}/cron.d/logrotate
-       install -m 644 ${SRCPATH}/logrotate.conf ${datadir}/starlingx/logrotate.conf
-
-       cp -f ${datadir}/starlingx/logrotate.conf ${sysconfdir}/logrotate.conf 
-       chmod 644 ${sysconfdir}/logrotate.conf
-       mv ${sysconfdir}/cron.daily/logrotate ${sysconfdir}/logrotate.cron
-       chmod 700 ${sysconfdir}/logrotate.cron
-}
-
-
-pkg_postinst_ontarget_memcached-custom() {
-#      Summary: package memcached service files to system folder.
-
-       SRCPATH=${datadir}/starlingx/config-files/memcached-custom/files
-       install -m 644 -p ${SRCPATH}/memcached.service ${sysconfdir}/systemd/system/memcached.service
-}
-
-
-pkg_postinst_ontarget_mlx4-config() {
-#      %description
-#      Wind River Mellanox port-type configuration scripts
-       SRCPATH=${datadir}/starlingx/config-files/mlx4-config/files
-
-#      /bin/systemctl disable mlx4-config.service >/dev/null 2>&1
-
-       install -m 755 ${SRCPATH}/mlx4-configure.sh     ${sysconfdir}/init.d/
-       install -m 644 ${SRCPATH}/mlx4-config.service   ${systemd_system_unitdir}/
-       install -m 555 ${SRCPATH}/mlx4_core_goenabled.sh ${sysconfdir}/goenabled.d/
-       install -m 755 ${SRCPATH}/mlx4_core_config.sh   ${bindir}/
-
-       /bin/systemctl enable mlx4-config.service >/dev/null 2>&1
-}
-
-
-pkg_postinst_ontarget_net-snmp-config() {
-#      %description
-#      package StarlingX configuration files of net-snmp to system folder.
-
-       SRCPATH=${datadir}/starlingx/config-files/net-snmp-config/files
-
-       install -d ${datadir}/snmp
-
-       install -m 644 ${SRCPATH}/stx.snmpd.conf    ${datadir}/starlingx/stx.snmpd.conf
-       install -m 755 ${SRCPATH}/stx.snmpd         ${sysconfdir}/rc.d/init.d/snmpd
-       install -m 755 ${SRCPATH}/stx.snmpd         ${sysconfdir}/init.d/snmpd
-       install -m 660 ${SRCPATH}/stx.snmp.conf     ${datadir}/snmp/snmp.conf
-       install -m 644 ${SRCPATH}/snmpd.service     ${sysconfdir}/systemd/system/snmpd.service
-       
-       
-       cp -f ${datadir}/starlingx/stx.snmpd.conf   ${sysconfdir}/snmp/snmpd.conf
-       chmod 640 ${sysconfdir}/snmp/snmpd.conf
-       chmod 640 ${sysconfdir}/snmp/snmptrapd.conf
-       
-       /bin/systemctl disable snmpd.service
-}
-
-
-pkg_postinst_nfs-utils-config() {
-#      %description
-#      package customized configuration and service files of nfs-utils to system folder.
-
-
-       SRCPATH=$D${datadir}/starlingx/config-files/nfs-utils-config/files
-       
-
-       install -m 755 -p -D ${SRCPATH}/nfscommon               $D${sysconfdir}/init.d
-       install -m 644 -p -D ${SRCPATH}/nfscommon.service       $D${systemd_system_unitdir}/
-       install -m 755 -p -D ${SRCPATH}/nfsserver               $D${sysconfdir}/init.d
-       install -m 644 -p -D ${SRCPATH}/nfsserver.service       $D${systemd_system_unitdir}
-       install -m 644 -p -D ${SRCPATH}/nfsmount.conf           $D${datadir}/starlingx/stx.nfsmount.conf
-       
-       cp -f $D${datadir}/starlingx/stx.nfsmount.conf $D${sysconfdir}/nfsmount.conf
-       chmod 644 $D${sysconfdir}/nfsmount.conf
-
-       # enable nfs services by default
-       OPTS=""
-       if [ -n "$D" ]; then
-               OPTS="--root=$D"
-       fi
-       if [ -z "$D" ]; then
-               systemctl daemon-reload
-       fi
-
-       systemctl $OPTS enable nfscommon.service
-       systemctl $OPTS enable nfsserver.service
-
-       if [ -z "$D" ]; then
-               systemctl --no-block restart nfscommon.service
-               systemctl --no-block restart nfsserver.service
-       fi
-}
-
-pkg_postinst_ontarget_ntp-config() {
-#      %description
-#      StarlingX ntp configuration file
-
-       SRCPATH=${datadir}/starlingx/config-files/ntp-config/files
-       install -D -m644 ${SRCPATH}/ntpd.sysconfig ${datadir}/starlingx/ntpd.sysconfig
-       install -D -m644 ${SRCPATH}/ntp.conf ${datadir}/starlingx/ntp.conf
-
-       cp -f ${datadir}/starlingx/ntpd.sysconfig ${sysconfdir}/sysconfig/ntpd
-       cp -f ${datadir}/starlingx/ntp.conf ${sysconfdir}/ntp.conf
-       chmod 644 ${sysconfdir}/sysconfig/ntpd
-       chmod 644 ${sysconfdir}/ntp.conf
-}
-
-
-pkg_postinst_ontarget_openldap-config() {
-#      $description
-#      StarlingX openldap configuration file
-
-       SRCPATH=${datadir}/starlingx/config-files/openldap-config/files
-
-       install -m 755 ${SRCPATH}/initscript ${sysconfdir}/init.d/openldap
-       install -m 600 ${SRCPATH}/slapd.conf ${sysconfdir}/openldap/slapd.conf
-
-       install -m 600 ${SRCPATH}/initial_config.ldif ${sysconfdir}/openldap/initial_config.ldif
-
-       install -m 644 ${SRCPATH}/slapd.service ${sysconfdir}/systemd/system/slapd.service
-       install -m 644 ${SRCPATH}/slapd.sysconfig ${datadir}/starlingx/slapd.sysconfig 
-
-       sed -i -e 's|/var/run|/run|' ${sysconfdir}/systemd/system/slapd.service
-       
-       cp -f ${datadir}/starlingx/slapd.sysconfig ${sysconfdir}/sysconfig/slapd
-       chmod 644 ${systemd_system_unitdir}/slapd
-}
-
-pkg_postinst_openssh-config() {
-#      %description
-#      package StarlingX configuration files of openssh to system folder.
-
-
-       SRCPATH=$D${datadir}/starlingx/config-files/openssh-config/files
-
-       install -m 644 ${SRCPATH}/sshd.service  $D${sysconfdir}/systemd/system/sshd.service
-       install -m 644 ${SRCPATH}/ssh_config    $D${datadir}/starlingx/ssh_config
-       install -m 600 ${SRCPATH}/sshd_config   $D${datadir}/starlingx/sshd_config
-
-       # remove the unsupported and deprecated options
-       sed -i -e 's/^\(GSSAPIAuthentication.*\)/#\1/' \
-              -e 's/^\(GSSAPICleanupCredentials.*\)/#\1/' \
-              -e 's/^\(UsePrivilegeSeparation.*\)/#\1/' \
-              $D${datadir}/starlingx/sshd_config
-
-       sed -i -e 's/\(GSSAPIAuthentication yes\)/#\1/' $D${datadir}/starlingx/ssh_config
-       
-       cp -f $D${datadir}/starlingx/ssh_config  $D${sysconfdir}/ssh/ssh_config
-       cp -f $D${datadir}/starlingx/sshd_config $D${sysconfdir}/ssh/sshd_config
-
-       # enable sshd service by default
-       OPTS=""
-       if [ -n "$D" ]; then
-               OPTS="--root=$D"
-       fi
-       if [ -z "$D" ]; then
-               systemctl daemon-reload
-       fi
-
-       systemctl $OPTS enable sshd.service
-
-       if [ -z "$D" ]; then
-               systemctl --no-block restart sshd.service
-       fi
-
-}
-
-pkg_postinst_ontarget_openvswitch-config() {
-#      %description
-#      StarlingX openvswitch configuration file
-
-       SRCPATH=${datadir}/starlingx/config-files/openvswitch-config/files
-
-       install -m 0644 ${SRCPATH}/ovsdb-server.pmon.conf ${sysconfdir}/openvswitch/ovsdb-server.pmon.conf
-       install -m 0644 ${SRCPATH}/ovs-vswitchd.pmon.conf ${sysconfdir}/openvswitch/ovs-vswitchd.pmon.conf
-       install -m 0640 ${SRCPATH}/etc_logrotate.d_openvswitch ${datadir}/starlingx/etc_logrotate.d_openvswitch
-       
-       cp -f ${datadir}/starlingx/etc_logrotate.d_openvswitch ${sysconfdir}/logrotate.d/openvswitch
-       chmod 644 ${sysconfdir}/logrotate.d/openvswitch
-}
-
-pkg_postinst_ontarget_pam-config() {
-#      %description
-#      package StarlingX configuration files of pam to system folder.
-
-       SRCPATH=${datadir}/starlingx/config-files/pam-config/files
-
-       install  -m 644 ${SRCPATH}/sshd.pam        ${datadir}/starlingx/sshd.pam
-       install  -m 644 ${SRCPATH}/common-account  ${sysconfdir}/pam.d/common-account
-       install  -m 644 ${SRCPATH}/common-auth     ${sysconfdir}/pam.d/common-auth
-       install  -m 644 ${SRCPATH}/common-password ${sysconfdir}/pam.d/common-password
-       install  -m 644 ${SRCPATH}/common-session  ${sysconfdir}/pam.d/common-session
-       install  -m 644 ${SRCPATH}/common-session-noninteractive ${sysconfdir}/pam.d/common-session-noninteractive
-       install  -m 644 ${SRCPATH}/system-auth.pamd ${datadir}/starlingx/stx.system-auth
-       
-       cp -f ${datadir}/starlingx/stx.system-auth ${sysconfdir}/pam.d/system-auth
-       cp -f ${datadir}/starlingx/sshd.pam    ${sysconfdir}/pam.d/sshd
-
-       sed -i -e '/password .*pam_ldap.so/,/session .*revoke/ s/^$/password required pam_deny.so\n/g' \
-               ${sysconfdir}/pam.d/system-auth
-}
-
-pkg_postinst_ontarget_rabbitmq-server-config() {
-#      %description
-#      package StarlingX configuration files of rabbitmq-server to system folder.
-
-       SRCPATH=${datadir}/starlingx/config-files/rabbitmq-server-config/files
-
-       install -d ${libdir}/ocf/resource.d/rabbitmq
-       install -m 0755 ${SRCPATH}/rabbitmq-server.ocf              ${libdir}/ocf/resource.d/rabbitmq/stx.rabbitmq-server
-       install -m 0644 ${SRCPATH}/rabbitmq-server.service.example  ${sysconfdir}/systemd/system/rabbitmq-server.service
-       install -m 0644 ${SRCPATH}/rabbitmq-server.logrotate        ${datadir}/starlingx/stx.rabbitmq-server.logrotate
-
-       sed -i -e 's/notify/simple/' ${sysconfdir}/systemd/system/rabbitmq-server.service
-
-       cp ${datadir}/starlingx/stx.rabbitmq-server.logrotate ${sysconfdir}/logrotate.d/rabbitmq-server
-}
-
-pkg_postinst_ontarget_rsync-config() {
-#      %description
-#      package StarlingX configuration files of rsync to system folder.
-
-       SRCPATH=${datadir}/starlingx/config-files/rsync-config/files
-
-       install -m 644 ${SRCPATH}/rsyncd.conf  ${datadir}/starlingx/stx.rsyncd.conf
-       
-       cp -f ${datadir}/starlingx/stx.rsyncd.conf  ${sysconfdir}/rsyncd.conf
-}
-
-pkg_postinst_ontarget_setup-config() {
-#      %description
-#      package StarlingX configuration files of setup to system folder.
-
-       SRCPATH=${datadir}/starlingx/config-files/setup-config/files
-
-       install -m 644 ${SRCPATH}/motd          ${datadir}/starlingx/stx.motd
-       install -m 644 ${SRCPATH}/prompt.sh     ${sysconfdir}/profile.d/prompt.sh
-       install -m 644 ${SRCPATH}/custom.sh     ${sysconfdir}/profile.d/custom.sh
-
-       cp -f ${datadir}/starlingx/stx.motd    ${sysconfdir}/motd
-       chmod 600   ${sysconfdir}/{exports,fstab}
-}
-
-pkg_postinst_ontarget_shadow-utils-config() {
-#      %description
-#      StarlingX shadow-utils configuration file
-
-       SRCPATH=${datadir}/starlingx/config-files/shadow-utils-config/files
-
-       install -D -m644 ${SRCPATH}/login.defs ${datadir}/starlingx/login.defs
-       install -D -m644 ${SRCPATH}/clear_shadow_locks.service  ${systemd_system_unitdir}/clear_shadow_locks.service
-
-       cp -f ${datadir}/starlingx/login.defs ${sysconfdir}/login.defs
-       chmod 644 ${sysconfdir}/login.defs
-       /bin/systemctl preset clear_shadow_locks.service
-}
-
-pkg_postinst_ontarget_sudo-config() {
-#      %description
-#      StarlingX sudo configuration file
-
-       SYSADMIN_P="4SuW8cnXFyxsk"
-       SRCPATH=${datadir}/starlingx/config-files/sudo-config/files
-
-       install -m 440 ${SRCPATH}/sysadmin.sudo  ${sysconfdir}/sudoers.d/sysadmin
-
-       getent group sys_protected >/dev/null || groupadd -f -g 345 sys_protected
-       getent passwd sysadmin > /dev/null || \
-               useradd -m -g sys_protected -G root  -d /home/sysadmin -p ${SYSADMIN_P} -s /bin/sh sysadmin 2> /dev/null || :
-}
-
-pkg_postinst_syslog-ng-config() {
-#      %description
-#      StarlingX syslog-ng configuration file
-
-       SRCPATH=$D${datadir}/starlingx/config-files/syslog-ng-config/files
-
-       install -D -m644 ${SRCPATH}/syslog-ng.conf $D${datadir}/starlingx/syslog-ng.conf
-
-       # Fix the config version to avoid warning
-       sed -i -e 's/\(@version: \).*/\1 3.19/' $D${datadir}/starlingx/syslog-ng.conf
-
-       # Workaround: comment out the udp source to aviod the service fail to start at boot time
-       sed -i -e 's/\(.*s_udp.*\)/#\1/' $D${datadir}/starlingx/syslog-ng.conf
-
-       install -D -m644 ${SRCPATH}/syslog-ng.logrotate $D${datadir}/starlingx/syslog-ng.logrotate
-       install -D -m644 ${SRCPATH}/remotelogging.conf $D${sysconfdir}/syslog-ng/remotelogging.conf
-       install -D -m700 ${SRCPATH}/fm_event_syslogger $D${sbindir}/fm_event_syslogger
-       install -D -m644 ${SRCPATH}/syslog-ng.service $D${datadir}/starlingx/syslog-ng.service
-
-       cp -f $D${datadir}/starlingx/syslog-ng.conf $D${sysconfdir}/syslog-ng/syslog-ng.conf
-       chmod 644 $D${sysconfdir}/syslog-ng/syslog-ng.conf
-       cp -f $D${datadir}/starlingx/syslog-ng.logrotate $D${sysconfdir}/logrotate.d/syslog
-       chmod 644 $D${sysconfdir}/logrotate.d/syslog
-       cp -f $D${datadir}/starlingx/syslog-ng.service $D${systemd_system_unitdir}/syslog-ng.service
-       chmod 644 $D${systemd_system_unitdir}/syslog-ng.service
-
-       # enable syslog-ng service by default
-       OPTS=""
-       if [ -n "$D" ]; then
-               OPTS="--root=$D"
-       fi
-       if [ -z "$D" ]; then
-               systemctl daemon-reload
-       fi
-
-       systemctl $OPTS enable syslog-ng.service
-
-       if [ -z "$D" ]; then
-               systemctl --no-block restart syslog-ng.service
-       fi
-}
-
-pkg_postinst_ontarget_systemd-config() {
-#      %description
-#      StarlingX systemd configuration file
-
-       SRCPATH=${datadir}/starlingx/config-files/systemd-config/files
-
-       install -m644 ${SRCPATH}/60-persistent-storage.rules ${sysconfdir}/udev/rules.d/60-persistent-storage.rules
-       install -m644 ${SRCPATH}/journald.conf ${datadir}/starlingx/journald.conf
-       install -m644 ${SRCPATH}/systemd.conf.tmpfiles.d ${sysconfdir}/tmpfiles.d/systemd.conf
-       install -m644 ${SRCPATH}/tmp.conf.tmpfiles.d ${sysconfdir}/tmpfiles.d/tmp.conf
-       install -m644 ${SRCPATH}/tmp.mount ${sysconfdir}/systemd/system/tmp.mount
-
-       cp -f ${datadir}/starlingx/journald.conf ${sysconfdir}/systemd/journald.conf
-       chmod 644 ${sysconfdir}/systemd/journald.conf
-}
-
-pkg_postinst_ontarget_util-linux-config() {
-#      %description
-#      package StarlingX configuration files of util-linux to system folder.
-
-       SRCPATH=${datadir}/starlingx/config-files/util-linux-config/files
-
-       install -m 644 ${SRCPATH}/stx.su     ${datadir}/starlingx/stx.su
-       install -m 644 ${SRCPATH}/stx.login  ${datadir}/starlingx/stx.login
-       install -m 644 ${SRCPATH}/stx.postlogin ${datadir}/starlingx/stx.postlogin
-
-       cp -f ${datadir}/starlingx/stx.su ${sysconfdir}/pam.d/su
-       cp -f ${datadir}/starlingx/stx.login  ${sysconfdir}/pam.d/login
-       cp -f ${datadir}/starlingx/stx.postlogin  ${sysconfdir}/pam.d/postlogin
-
-}
-
-pkg_postinst_ontarget_ioscheduler-config() {
-#      %description
-#      CGCS io scheduler configuration and tuning.
-
-       /bin/udevadm control --reload-rules
-       /bin/udevadm trigger --type=devices --subsystem-match=block
-}
-
-pkg_postinst_ontarget_iptables-config() {
-#      %description
-#      StarlingX iptables configuration file
-
-       SRCPATH=${datadir}/starlingx/config-files/iptables-config/files
-       
-       install -m 600 ${SRCPATH}/iptables.rules ${datadir}/starlingx/iptables.rules
-       install -m 600 ${SRCPATH}/ip6tables.rules ${datadir}/starlingx/ip6tables.rules 
-       
-       cp -f S{datadir}/starlingx/iptables.rules ${sysconfdir}/sysconfig/iptables
-       chmod 600 ${sysconfdir}/sysconfig/iptables
-       cp -f ${datadir}/starlingx/ip6tables.rules ${sysconfdir}/sysconfig/ip6tables
-       chmod 600 ${sysconfdir}/sysconfig/ip6tables
-       /bin/systemctl enable iptables.service ip6tables.service >/dev/null 2>&1
-}
diff --git a/meta-stx/recipes-core/stx-config-files/files/nfsserver-remvoe-the-f-option-for-rpc.mountd.patch b/meta-stx/recipes-core/stx-config-files/files/nfsserver-remvoe-the-f-option-for-rpc.mountd.patch
deleted file mode 100644 (file)
index 9a581e6..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 20359d646c6003b6056aea6cbe81d8b393084de1 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Thu, 18 Jun 2020 21:42:03 +0800
-Subject: [PATCH] nfsserver: remvoe the -f option for rpc.mountd
-
-The -f option is not supported any more on newer version of nfs-utils.
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- nfs-utils-config/files/nfsserver | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/nfs-utils-config/files/nfsserver b/nfs-utils-config/files/nfsserver
-index 6449537..58642f1 100644
---- a/nfs-utils-config/files/nfsserver
-+++ b/nfs-utils-config/files/nfsserver
-@@ -46,7 +46,7 @@ test "$NFS_SERVERS" != "" && test "$NFS_SERVERS" -gt 0 && test "$NFS_SERVERS" -l
- #mountd
- start_mountd(){
-       echo -n 'starting mountd: '
--      start-stop-daemon --start --exec "$NFS_MOUNTD" -- "-f /etc/exports $@"
-+      start-stop-daemon --start --exec "$NFS_MOUNTD"
-       echo done
- }
- stop_mountd(){
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-core/stx-config-files/files/nfsserver.service-add-dependency-on-rpcbind.service.patch b/meta-stx/recipes-core/stx-config-files/files/nfsserver.service-add-dependency-on-rpcbind.service.patch
deleted file mode 100644 (file)
index 5cdec2a..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From e95e967943c351d63e733d1263d0b0d83c2fb8dc Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Fri, 19 Jun 2020 10:19:04 +0800
-Subject: [PATCH] nfsserver.service: add dependency on rpcbind.service
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- nfs-utils-config/files/nfsserver.service | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/nfs-utils-config/files/nfsserver.service b/nfs-utils-config/files/nfsserver.service
-index 93bfd6d..1ee3a07 100644
---- a/nfs-utils-config/files/nfsserver.service
-+++ b/nfs-utils-config/files/nfsserver.service
-@@ -1,6 +1,6 @@
- [Unit]
- Description=StarlingX Filesystem Server
--After=network.target nfscommon.service hwclock.service
-+After=network.target nfscommon.service hwclock.service rpcbind.service
- Before=ntpd.service
- [Service]
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-core/stx-config-files/files/openssh-config-rm-hmac-ripemd160.patch b/meta-stx/recipes-core/stx-config-files/files/openssh-config-rm-hmac-ripemd160.patch
deleted file mode 100644 (file)
index 85b2fb9..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/openssh-config/files/sshd_config b/openssh-config/files/sshd_config
-index 0dfc0e2..b767509 100644
---- a/openssh-config/files/sshd_config
-+++ b/openssh-config/files/sshd_config
-@@ -144,5 +144,5 @@ DenyUsers admin secadmin operator
- # TODO (aning): once openssh is updated to 7.5, an explicit exclusion list
- # using "-" should be used for cipher, MAC and kex excluded suites.
- Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com
--MACs hmac-sha1,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha1-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com
-+MACs hmac-sha1,hmac-sha2-256,hmac-sha2-512,umac-64@openssh.com,umac-128@openssh.com,hmac-sha1-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com
- KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256
diff --git a/meta-stx/recipes-core/stx-config-files/files/util-linux-pam-postlogin.patch b/meta-stx/recipes-core/stx-config-files/files/util-linux-pam-postlogin.patch
deleted file mode 100644 (file)
index e34b7b3..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-diff --git a/util-linux-config/files/stx.postlogin b/util-linux-config/files/stx.postlogin
-new file mode 100644
-index 0000000..292bd8a
---- /dev/null
-+++ b/util-linux-config/files/stx.postlogin
-@@ -0,0 +1,3 @@
-+session     [default=1]   pam_lastlog.so nowtmp showfailed
-+session     optional      pam_lastlog.so silent noupdate showfailed
-+
diff --git a/meta-stx/recipes-core/stx-config/cgts-client.inc b/meta-stx/recipes-core/stx-config/cgts-client.inc
deleted file mode 100644 (file)
index cab7052..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " cgts-client"
-
-inherit setuptools distutils python-dir
-DEPENDS += " \
-       python-pbr-native \
-       "
-
-RDEPENDS_cgts-client += " \
-       python-prettytable \
-       bash-completion \
-       python-neutronclient \
-       python-keystoneclient \
-       python-six \
-       python-httplib2 \
-       "
-
-do_configure_append() {
-       cd ${S}/sysinv/cgts-client/cgts-client
-       distutils_do_configure
-} 
-
-do_compile_append() {
-       cd ${S}/sysinv/cgts-client/cgts-client
-       distutils_do_compile
-}
-
-do_install_append() {
-       cd ${S}/sysinv/cgts-client/cgts-client
-       distutils_do_install
-
-       install -d -m 755 ${D}/${sysconfdir}/bash_completion.d
-       install -p -D -m 664 tools/system.bash_completion ${D}/${sysconfdir}/bash_completion.d/system.bash_completion
-}
-
-FILES_cgts-client = " \
-       ${bindir}/system \
-       ${sysconfdir}/bash_completion.d/ \
-       ${PYTHON_SITEPACKAGES_DIR}/sysinv/ \
-       ${PYTHON_SITEPACKAGES_DIR}/cgtsclient/ \
-       ${PYTHON_SITEPACKAGES_DIR}/cgtsclient-*.egg-info \
-       ${PYTHON_SITEPACKAGES_DIR}/sysinv-*.egg-info \
-       "
diff --git a/meta-stx/recipes-core/stx-config/config-gate.inc b/meta-stx/recipes-core/stx-config/config-gate.inc
deleted file mode 100644 (file)
index e4cf2eb..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " config-gate-worker"
-PACKAGES += " config-gate"
-
-RDEPENDS_config-gate-worker += " bash"
-RDEPENDS_config-gate += " bash"
-
-do_install_append() {
-       cd ${S}/config-gate/files
-       oe_runmake -e \
-                 SBINDIR=${D}/${sbindir} SYSTEMDDIR=${D}/${systemd_system_unitdir} \
-                install
-}
-
-FILES_config-gate-worker = " \
-       ${sbindir}/wait_for_worker_config_init.sh \
-       ${systemd_system_unitdir}/worker-config-gate.service \
-       "
-FILES_config-gate = " \
-       ${sbindir}/wait_for_config_init.sh \
-       ${systemd_system_unitdir}/config.service \
-       "
-
-SYSTEMD_PACKAGES += "\
-       config-gate \
-       config-gate-worker \
-       "
-SYSTEMD_SERVICE_config-gate = "config.service"
-SYSTEMD_SERVICE_config-gate-worker = "worker-config-gate.service"
-
-SYSTEMD_AUTO_ENABLE_config-gate = "enable"
-SYSTEMD_AUTO_ENABLE_config-gate-worker = "enable"
diff --git a/meta-stx/recipes-core/stx-config/controllerconfig.inc b/meta-stx/recipes-core/stx-config/controllerconfig.inc
deleted file mode 100644 (file)
index 4690c6f..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " controllerconfig"
-
-RDEPENDS_controllerconfig += " \
-       bash \
-       fm-api \
-       systemd \
-       tsconfig \
-       python-iso8601 \
-       python-keyring \
-       python-netaddr \
-       python-netifaces \
-       python-pyudev \
-       python-six \
-       python-cryptography \
-       python-oslo.utils \
-       python-pysnmp \
-       python-ruamel.yaml \
-       "
-
-do_configure_prepend() {
-       cd ${S}/controllerconfig/controllerconfig
-       distutils_do_configure
-} 
-
-do_compile_prepend() {
-       cd ${S}/controllerconfig/controllerconfig
-       distutils_do_compile
-}
-
-do_install_prepend () {
-       cd ${S}/controllerconfig/controllerconfig
-       distutils_do_install
-
-        install -p -D -m 700 scripts/keyringstaging ${D}/${bindir}
-        install -p -D -m 700 scripts/openstack_update_admin_password ${D}/${bindir}
-        install -p -D -m 700 scripts/install_clone.py ${D}/${bindir}
-        install -p -D -m 700 scripts/finish_install_clone.sh ${D}/${bindir}
-
-       install -d -m 700 ${D}/${sysconfdir}/goenabled.d
-       install -d -m 700 ${D}/${sysconfdir}/init.d
-        install -p -D -m 700 scripts/config_goenabled_check.sh ${D}/${sysconfdir}/goenabled.d
-        install -p -D -m 755 scripts/controller_config ${D}/${sysconfdir}/init.d/controller_config
-
-        ## Install Upgrade scripts
-       install -d -m 755 ${D}/${sysconfdir}/upgrade.d
-        install -p -m 755 upgrade-scripts/16-neutron-move-bindings-off-controller-1.py ${D}/${sysconfdir}/upgrade.d
-        install -p -m 755 upgrade-scripts/20-sysinv-retire-ceph-cache-tier-sp.py ${D}/${sysconfdir}/upgrade.d
-       
-
-        install -p -D -m 664 scripts/controllerconfig.service ${D}/${sysconfdir}/systemd/system/controllerconfig.service
-
-       sed -i -e 's|/usr/local/bin|${bindir}|' \
-               ${D}${libdir}/python2.7/site-packages/controllerconfig/utils.py \
-               ${D}${libdir}/python2.7/site-packages/controllerconfig/upgrades/utils.py \
-               ${D}${sysconfdir}/init.d/controller_config
-}
-
-
-FILES_controllerconfig = " \
-               ${sysconfdir}/goenabled.d/config_goenabled_check.sh  \
-               ${sysconfdir}/upgrade.d/20-sysinv-retire-ceph-cache-tier-sp.py \
-               ${sysconfdir}/upgrade.d/16-neutron-move-bindings-off-controller-1.py \
-               ${sysconfdir}/init.d/controller_config \
-               ${bindir}/keysringstaging \
-               ${bindir}/openstack_update_admin_password \
-               ${bindir}/install_clone.py \
-               ${bindir}/finish_install_clone.sh \
-               ${bindir}/finish_install_clone.sh \
-               ${bindir}/upgrade_controller \
-               ${bindir}/config_region \
-               ${bindir}/config_subcloud \
-               ${bindir}/config_management \
-               ${bindir}/keyringstaging \
-               ${bindir}/tidy_storage_post_restore \
-               ${bindir}/config_controller \
-               ${bindir}/upgrade_controller_simplex \
-               ${sysconfdir}/systemd/system/controllerconfig.service \
-               ${libdir}/python2.7/site-packages/controllerconfig*.egg-info/ \
-               ${libdir}/python2.7/site-packages/controllerconfig/ \
-               "
-
-SYSTEMD_PACKAGES += "controllerconfig"
-SYSTEMD_SERVICE_controllerconfig = "controllerconfig.service"
-SYSTEMD_AUTO_ENABLE_controllerconfig = "enable"
diff --git a/meta-stx/recipes-core/stx-config/files/0001-stx-config-remove-argparse-requirement-from-sysinv.patch b/meta-stx/recipes-core/stx-config/files/0001-stx-config-remove-argparse-requirement-from-sysinv.patch
deleted file mode 100644 (file)
index 8b8a286..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 06a156e04df427f51b42b1093577823c558166ad Mon Sep 17 00:00:00 2001
-From: "Sar Ashki, Babak" <Babak.SarAshki@windriver.com>
-Date: Tue, 25 Feb 2020 13:50:37 -0800
-Subject: [PATCH] stx-config: remove argparse requirement from sysinv.
-
-argparse is part of stdlib
----
- sysinv/sysinv/sysinv/requirements.txt | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/sysinv/sysinv/sysinv/requirements.txt b/sysinv/sysinv/sysinv/requirements.txt
-index fb4ef6a1..12a341c7 100644
---- a/sysinv/sysinv/sysinv/requirements.txt
-+++ b/sysinv/sysinv/sysinv/requirements.txt
-@@ -2,7 +2,6 @@ pbr>=0.5
- SQLAlchemy
- amqplib>=0.6.1
- anyjson>=0.3.3
--argparse
- boto3
- botocore>=1.11.0
- cryptography!=2.0  # BSD/Apache-2.0
--- 
-2.23.0
-
diff --git a/meta-stx/recipes-core/stx-config/storageconfig.inc b/meta-stx/recipes-core/stx-config/storageconfig.inc
deleted file mode 100644 (file)
index 3ad6ea1..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += "storageconfig"
-RDEPENDS_storageconfig += " bash"
-
-do_install_append () {
-       cd ${S}/storageconfig/storageconfig/
-        oe_runmake GOENABLEDDIR=${D}/${sysconfdir}/goenabled.d  INITDDIR=${D}/${sysconfdir}/init.d \
-                               SYSTEMDDIR=${D}/${systemd_system_unitdir} install
-       sed -i -e 's:/usr/local/bin/:/usr/bin/:g' ${D}/${sysconfdir}/init.d/storage_config
-}
-
-FILES_storageconfig = " \
-               ${sysconfdir}/init.d/storage_config \
-               ${sysconfdir}/goenabled.d/config_goenabled_check.sh \
-               ${systemd_system_unitdir}/storageconfig.service \
-               "
-
-SYSTEMD_PACKAGES += "storageconfig"
-SYSTEMD_SERVICE_storageconfig = "storageconfig.service"
-SYSTEMD_AUTO_ENABLE_storageconfig = "enable"
diff --git a/meta-stx/recipes-core/stx-config/stx-config.bb b/meta-stx/recipes-core/stx-config/stx-config.bb
deleted file mode 100644 (file)
index 0f56b06..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-config"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV = "b51e4ef738e0020f11f164fd3f86399872caf3c6"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI = " \
-       git://opendev.org/starlingx/config.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://0001-stx-config-remove-argparse-requirement-from-sysinv.patch \
-       file://0002-cgts-client-handle-exceptions-other-than-CalledProcessErr.patch \
-       file://sriovpf-bring-up.patch \
-       "
-
-DEPENDS = "\
-       puppet \
-       python \
-       python-pbr-native \
-       "
-
-inherit setuptools distutils
-
-# Other packages depend on tsconfig build it first
-require tsconfig.inc
-require config-gate.inc
-require controllerconfig.inc
-require storageconfig.inc
-require cgts-client.inc
-require sysinv.inc
-require sysinv-agent.inc
-require workerconfig.inc
-
-do_configure() {
-       :
-} 
-
-do_compile() {
-       :
-}
-
-do_install() {
-       :
-}
-
-FILES_${PN} = " "
-
-DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
diff --git a/meta-stx/recipes-core/stx-config/sysinv-agent.inc b/meta-stx/recipes-core/stx-config/sysinv-agent.inc
deleted file mode 100644 (file)
index 6539e1d..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " sysinv-agent"
-
-RDEPENDS_sysinv-agent += " python"
-
-
-do_configure_append() {
-       :
-} 
-
-do_compile_append() {
-               :
-}
-
-do_install_append() {
-
-       echo "Installing sysinv..."
-       cd ${S}/sysinv/sysinv-agent
-
-       install -d -m 755 ${D}${sysconfdir}/init.d
-       install -p -D -m 755 ${S}/sysinv/sysinv-agent/sysinv-agent ${D}/${sysconfdir}/init.d/sysinv-agent
-
-       install -d -m 755 ${D}${sysconfdir}/pmon.d
-       install -p -D -m 644 ${S}/sysinv/sysinv-agent/sysinv-agent.conf ${D}/${sysconfdir}/pmon.d/sysinv-agent.conf
-       install -p -D -m 644 ${S}/sysinv/sysinv-agent/sysinv-agent.service ${D}/${systemd_system_unitdir}/sysinv-agent.service
-
-}
-
-FILES_sysinv-agent = " \
-       ${systemd_system_unitdir}/sysinv-agent.service  \
-       ${sysconfdir}/pmon.d/sysinv-agent.conf \
-       ${sysconfdir}/init.d/sysinv-agent \
-       "
-
-SYSTEMD_PACKAGES += "sysinv-agent"
-SYSTEMD_SERVICE_sysinv-agent = "sysinv-agent.service"
-SYSTEMD_AUTO_ENABLE_sysinv-agent = "enable"
diff --git a/meta-stx/recipes-core/stx-config/sysinv.inc b/meta-stx/recipes-core/stx-config/sysinv.inc
deleted file mode 100644 (file)
index 70e4eff..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " sysinv"
-
-RDEPENDS_sysinv += " python"
-RDEPENDS_sysinv += " bash"
-
-inherit setuptools distutils python-dir systemd useradd
-
-USERADD_PACKAGES = "sysinv"
-USERADD_PARAM_sysinv = "-r -g sysinv -u 168 -d /var/lib/sysinv -s /sbin/nologin -c 'sysinv Daemons' sysinv"
-GROUPADD_PARAM_sysinv = "-r -g 168 sysinv"
-
-DEPENDS += " \
-       python-pbr-native \
-       "
-RDEPENDS_sysinv += " \
-       python-anyjson \
-       python-amqp \
-       python-amqplib \
-       python-passlib \
-       python-websockify \
-       python-pyparted \
-       python-boto3 \
-       python-botocore \
-       python-coverage \
-       python-docker \
-       python-eventlet \
-       python-ipaddr \
-       python-keyring \
-       python-kubernetes \
-       python-netaddr \
-       python-pyudev \
-       python-pbr \
-       python-webtest \
-       python-wsme \
-       python-six \
-       python-django \
-       python-mox3 \
-       python-oslo.i18n \
-       python-oslo.config \
-       python-oslo.concurrency \
-       python-oslo.db \
-       python-oslo.log \
-       python-oslo.utils \
-       python-pecan \
-       python2-rpm \
-       python-pyghmi \
-       python-paramiko \
-       tsconfig \
-       resource-agents \
-       gptfdisk \
-       "
-
-do_configure_append() {
-       echo "Configure sysinv..."
-       cd ${S}/sysinv/sysinv/sysinv
-       distutils_do_configure
-} 
-
-do_compile_append() {
-       
-       echo "Building sysinv..."
-       cd ${S}/sysinv/sysinv/sysinv
-       distutils_do_compile
-}
-
-do_install_append() {
-
-       echo "Installing sysinv..."
-       cd ${S}/sysinv/sysinv/sysinv
-       distutils_do_install
-
-       install -d -m 755 ${D}${sysconfdir}/goenabled.d
-       install -p -D -m 755 etc/sysinv/sysinv_goenabled_check.sh ${D}${sysconfdir}/goenabled.d/sysinv_goenabled_check.sh
-       
-       install -d -m 755 ${D}${sysconfdir}/sysinv
-       install -p -D -m 755 etc/sysinv/policy.json ${D}${sysconfdir}/sysinv/policy.json
-       install -p -D -m 640 etc/sysinv/profileSchema.xsd ${D}${sysconfdir}/sysinv/profileSchema.xsd
-       
-       install -p -D -m 644 etc/sysinv/crushmap-storage-model.txt ${D}${sysconfdir}/sysinv/crushmap-storage-model.txt
-       install -p -D -m 644 etc/sysinv/crushmap-controller-model.txt ${D}${sysconfdir}/sysinv/crushmap-controller-model.txt
-       install -p -D -m 644 etc/sysinv/crushmap-aio-sx.txt ${D}${sysconfdir}/sysinv/crushmap-aio-sx.txt
-       
-       install -d -m 755 ${D}${sysconfdir}/motd.d
-       install -p -D -m 755 etc/sysinv/motd-system ${D}${sysconfdir}/motd.d/10-system
-       
-       install -d -m 755 ${D}${sysconfdir}/sysinv/upgrades
-       install -p -D -m 755 etc/sysinv/delete_load.sh ${D}${sysconfdir}/sysinv/upgrades/delete_load.sh
-       
-       install -m 755 -p -D scripts/sysinv-api ${D}/usr/lib/ocf/resource.d/platform/sysinv-api
-       install -m 755 -p -D scripts/sysinv-conductor ${D}/usr/lib/ocf/resource.d/platform/sysinv-conductor
-       
-       install -m 644 -p -D scripts/sysinv-api.service ${D}${systemd_system_unitdir}/sysinv-api.service
-       install -m 644 -p -D scripts/sysinv-conductor.service ${D}${systemd_system_unitdir}/sysinv-conductor.service
-       
-       #install -p -D -m 755 ${D}/usr/bin/sysinv-api ${D}/usr/bin/sysinv-api
-       #install -p -D -m 755 ${D}/usr/bin/sysinv-agent ${D}/usr/bin/sysinv-agent
-       #install -p -D -m 755 ${D}/usr/bin/sysinv-conductor ${D}/usr/bin/sysinv-conductor
-       
-       install -d -m 755 ${D}${bindir}/
-       install -p -D -m 755 sysinv/cmd/partition_info.sh ${D}${bindir}/partition_info.sh
-       install -p -D -m 755 sysinv/cmd/manage-partitions ${D}${bindir}/manage-partitions
-       install -p -D -m 755 sysinv/cmd/query_pci_id ${D}${bindir}/query_pci_id
-
-       sed -i -e 's|/usr/local/bin|${bindir}|' \
-               ${D}${libdir}/python2.7/site-packages/sysinv/common/constants.py \
-               ${D}${libdir}/python2.7/site-packages/sysinv/puppet/common.py
-}
-
-FILES_sysinv = " \
-       ${bindir}/sysinv-agent \
-       ${bindir}/sysinv-utils \
-       ${bindir}/sysinv-conductor \
-       ${bindir}/sysinv-api \
-       ${bindir}/sysinv-helm \
-       ${bindir}/sysinv-dbsync \
-       ${bindir}/sysinv-dnsmasq-lease-update \
-       ${bindir}/sysinv-puppet \
-       ${bindir}/sysinv-rootwrap \
-       ${bindir}/sysinv-upgrade \
-       ${PYTHON_SITEPACKAGES_DIR}/sysinv/ \
-       ${bindir}/manage-partitions \
-       ${bindir}/query_pci_id \
-       ${bindir}/partition_info.sh \
-       ${libdir}/ocf \
-       ${libdir}/ocf/resource.d \
-       ${libdir}/ocf/resource.d/platform \
-       ${libdir}/ocf/resource.d/platform/sysinv-conductor \
-       ${libdir}/ocf/resource.d/platform/sysinv-api \
-       ${sysconfdir}/motd.d \
-       ${sysconfdir}/sysinv \
-       ${sysconfdir}/motd.d/10-system \
-       ${sysconfdir}/sysinv/profileSchema.xsd \
-       ${sysconfdir}/sysinv/crushmap-controller-model.txt \
-       ${sysconfdir}/sysinv/crushmap-storage-model.txt \
-       ${sysconfdir}/sysinv/crushmap-aio-sx.txt \
-       ${sysconfdir}/sysinv/policy.json \
-       ${sysconfdir}/sysinv/upgrades \
-       ${sysconfdir}/sysinv/upgrades/delete_load.sh \
-       ${sysconfdir}/goenabled.d/sysinv_goenabled_check.sh \
-       ${systemd_system_unitdir}/sysinv-api.service \
-       ${systemd_system_unitdir}/sysinv-conductor.service \
-       "
-
-#pkg_postinst_ontarget_sysinv() {
-#}
diff --git a/meta-stx/recipes-core/stx-config/tsconfig.inc b/meta-stx/recipes-core/stx-config/tsconfig.inc
deleted file mode 100644 (file)
index 99bd207..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " tsconfig"
-
-inherit distutils
-
-RDEPENDS_tsconfig_append = " bash"
-
-do_configure_append () {
-       cd ${S}/tsconfig/tsconfig
-       distutils_do_configure
-} 
-
-do_compile_append () {
-       cd ${S}/tsconfig/tsconfig
-       distutils_do_compile
-}
-
-do_install_append () {
-       cd ${S}/tsconfig/tsconfig
-       distutils_do_install
-
-
-       install -m 755 -d ${D}/${bindir}
-       install -m 500 scripts/tsconfig ${D}/${bindir}/
-
-}
-
-FILES_tsconfig = " \
-       ${PYTHON_SITEPACKAGES_DIR}/tsconfig \
-       ${PYTHON_SITEPACKAGES_DIR}/tsconfig*.egg-info \
-       ${bindir}/tsconfig \
-       "
diff --git a/meta-stx/recipes-core/stx-config/workerconfig.inc b/meta-stx/recipes-core/stx-config/workerconfig.inc
deleted file mode 100644 (file)
index 949409c..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " \
-       workerconfig \
-       workerconfig-standalone \
-       workerconfig-subfunction \
-       "
-
-RDEPENDS_workerconfig += "bash"
-RDEPENDS_workerconfig-standalone += "workerconfig"
-RDEPENDS_workerconfig-subfunction += "workerconfig"
-
-systemddir = "${sysconfdir}/systemd/system"
-
-do_install_append () {
-       cd ${S}/workerconfig/workerconfig/
-       oe_runmake GOENABLEDDIR=${D}/${sysconfdir}/goenabled.d  INITDDIR=${D}/${sysconfdir}/init.d \
-               SYSTEMDDIR=${D}/${systemddir} install
-
-       sed -i -e 's|/usr/local/bin|${bindir}|' \
-               ${D}${sysconfdir}/init.d/worker_config
-}
-
-FILES_workerconfig += " \
-       ${sysconfdir}/init.d/worker_config \
-       "
-
-FILES_workerconfig-standalone += " \
-       ${systemddir}/config/workerconfig-standalone.service \
-       ${sysconfdir}/goenabled.d/config_goenabled_check.sh \
-       "
-
-FILES_workerconfig-subfunction += "  \
-       ${sysconfdir}/systemd/system/config/workerconfig-combined.service \
-       "
-
-pkg_postinst_workerconfig-standalone () {
-       if [ ! -e $D${systemddir}/workerconfig.service ]; then
-               cp $D${systemddir}/config/workerconfig-standalone.service $D${systemddir}/workerconfig.service
-       else
-               rm -f $D${systemddir}/workerconfig.service
-               cp $D${systemddir}/config/workerconfig-standalone.service $D${systemddir}/workerconfig.service
-       fi
-
-       # enable workerconfig service by default
-       OPTS=""
-       if [ -n "$D" ]; then
-               OPTS="--root=$D"
-       fi
-       if [ -z "$D" ]; then
-               systemctl daemon-reload
-       fi
-
-       systemctl $OPTS enable workerconfig.service
-
-       if [ -z "$D" ]; then
-               systemctl --no-block restart workerconfig.service
-       fi
-}
-
-
-pkg_postinst_workerconfig-subfunction () {
-       if [ ! -e $D${systemddir}/workerconfig.service ]; then
-               cp $D${systemddir}/config/workerconfig-combined.service $D${systemddir}/workerconfig.service
-       else
-               rm -f $D${systemddir}/workerconfig.service
-               cp $D${systemddir}/config/workerconfig-combined.service $D${systemddir}/workerconfig.service
-       fi
-
-       # enable workerconfig service by default
-       OPTS=""
-       if [ -n "$D" ]; then
-               OPTS="--root=$D"
-       fi
-       if [ -z "$D" ]; then
-               systemctl daemon-reload
-       fi
-
-       systemctl $OPTS enable workerconfig.service
-
-       if [ -z "$D" ]; then
-               systemctl --no-block restart workerconfig.service
-       fi
-}
diff --git a/meta-stx/recipes-core/stx-fault/files/0001-Honor-the-build-system-LDFLAGS.patch b/meta-stx/recipes-core/stx-fault/files/0001-Honor-the-build-system-LDFLAGS.patch
deleted file mode 100644 (file)
index 9765455..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From 78585fade2d47fc0aa98b7e2fb494385466007da Mon Sep 17 00:00:00 2001
-From: babak sarashki <babak.sarashki@windriver.com>
-Date: Thu, 27 Jun 2019 14:36:59 -0700
-Subject: [PATCH 1/2] Honor the build system LDFLAGS
-
----
- fm-common/sources/Makefile | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/fm-common/sources/Makefile b/fm-common/sources/Makefile
-index 7b1ea03..7c7e4c7 100755
---- a/fm-common/sources/Makefile
-+++ b/fm-common/sources/Makefile
-@@ -25,12 +25,13 @@ build: lib fmClientCli
-       $(CXX) $(CCFLAGS) $(INCLUDES) $(EXTRACCFLAGS) -c $< -o $@
- lib: $(OBJS)
--      $(CXX) -Wl,-soname,$(LIBFMCOMMON_SO).$(MAJOR) -o $(LIBFMCOMMON_SO).$(MAJOR).$(MINOR) -shared $(OBJS) $(EXTRAARFLAGS) ${LDLIBS}
-+      $(LDCXXSHARED) $(LDFLAGS) -Wl,-soname,$(LIBFMCOMMON_SO).$(MAJOR) \
-+              -o $(LIBFMCOMMON_SO).$(MAJOR).$(MINOR) $(OBJS) $(EXTRAARFLAGS) ${LDLIBS}
-       ln -sf $(LIBFMCOMMON_SO).$(MAJOR).$(MINOR) $(LIBFMCOMMON_SO).$(MAJOR)
-       ln -sf $(LIBFMCOMMON_SO).$(MAJOR).$(MINOR) $(LIBFMCOMMON_SO)
- fmClientCli: $(CLI_OBJS) lib
--      $(CXX) -o $@ $(CLI_OBJS) -L./ -lfmcommon
-+      $(CXX) $(LDFLAGS) -o $@ $(CLI_OBJS) -L./ -lfmcommon
- clean:
-       @rm -f $(OBJ) *.o *.so fmClientCli
--- 
-2.17.1
-
diff --git a/meta-stx/recipes-core/stx-fault/files/0001-Use-build-systems-LDFLAGS.patch b/meta-stx/recipes-core/stx-fault/files/0001-Use-build-systems-LDFLAGS.patch
deleted file mode 100644 (file)
index bdca16f..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From ee51474dd6756492d1487304ce83b878b8867f6b Mon Sep 17 00:00:00 2001
-From: babak sarashki <babak.sarashki@windriver.com>
-Date: Mon, 8 Jul 2019 21:50:24 -0700
-Subject: [PATCH] Use build systems LDFLAGS
-
----
- snmp-audittrail/sources/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/snmp-audittrail/sources/Makefile b/snmp-audittrail/sources/Makefile
-index 6f7469c..bb55765 100644
---- a/snmp-audittrail/sources/Makefile
-+++ b/snmp-audittrail/sources/Makefile
-@@ -16,7 +16,7 @@ build: lib
-       $(CXX) $(CCFLAGS) $(INCLUDES) -c $< -o $@
- lib: $(OBJS)
--      $(CXX) $(OBJS) $(LDLIBS) -o $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) -shared
-+      $(LDCXXSHARED) $(OBJS) $(LDFLAGS) $(LDLIBS) -o $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) 
-       ln -sf $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) $(LIBCGTSAGENT_SO).$(MAJOR)
-       ln -sf $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) $(LIBCGTSAGENT_SO)
--- 
-2.17.1
-
diff --git a/meta-stx/recipes-core/stx-fault/files/0001-snmp-ext-use-build-systems-LDFLAGS.patch b/meta-stx/recipes-core/stx-fault/files/0001-snmp-ext-use-build-systems-LDFLAGS.patch
deleted file mode 100644 (file)
index 5bb780b..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From e452f7eaf630f7ab5de240c51ddce14c9329d580 Mon Sep 17 00:00:00 2001
-From: babak sarashki <babak.sarashki@windriver.com>
-Date: Mon, 8 Jul 2019 21:56:11 -0700
-Subject: [PATCH] snmp-ext use build systems LDFLAGS
-
----
- snmp-ext/sources/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/snmp-ext/sources/Makefile b/snmp-ext/sources/Makefile
-index 408ea34..c00febe 100644
---- a/snmp-ext/sources/Makefile
-+++ b/snmp-ext/sources/Makefile
-@@ -23,7 +23,7 @@ LIBCGTSAGENT_SO := libcgtsAgentPlugin.so
-       $(CXX) $(CCFLAGS) $(INCLUDES) -c $< -o $@
- lib: $(OBJS)
--      $(CXX) $(OBJS) $(LDLIBS) -o $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) -shared
-+      $(LDCXXSHARED) $(OBJS) $(LDFLAGS) $(LDLIBS) -o $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) 
-       ln -sf $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) $(LIBCGTSAGENT_SO).$(MAJOR)
-       ln -sf $(LIBCGTSAGENT_SO).$(MAJOR).$(MINOR).$(PATCH) $(LIBCGTSAGENT_SO)
--- 
-2.17.1
-
diff --git a/meta-stx/recipes-core/stx-fault/fm-api.inc b/meta-stx/recipes-core/stx-fault/fm-api.inc
deleted file mode 100644 (file)
index a41b7ac..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " fm-api"
-
-do_configure_append () {
-       cd ${S}/fm-api
-       distutils_do_configure
-} 
-
-do_compile_append() {
-       cd ${S}/fm-api
-       distutils_do_compile
-}
-
-do_install_append() {
-       cd ${S}/fm-api
-       distutils_do_install
-
-       # fix the path for binaries
-       sed -i -e 's|/usr/local/bin|${bindir}|' ${D}${libdir}/python2.7/site-packages/fm_api/constants.py
-}
-
-FILES_fm-api_append = " \
-       ${libdir}/python2.7/site-packages/fm_api-1.0.0-py2.7.egg-info/ \
-       ${libdir}/python2.7/site-packages/fm_api \
-       "
diff --git a/meta-stx/recipes-core/stx-fault/fm-common.inc b/meta-stx/recipes-core/stx-fault/fm-common.inc
deleted file mode 100644 (file)
index f0d1304..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " fm-common"
-RDEPENDS_fm-common = " python"
-
-do_configure_append () {
-       cd ${S}/fm-common/sources
-
-       # fix the hardcoded path
-       sed -i -e 's|/usr/local/bin|${bindir}|' fmConstants.h
-
-       distutils_do_configure
-} 
-
-do_compile_append() {
-       cd ${S}/fm-common/sources
-       oe_runmake -e BINDIR=${bindir} \
-                       INCLUDES="-I./ " \
-                       EXTRACCFLAGS=" " \
-                       CCFLAGS="${CXXFLAGS} ${CCSHARED}" \
-                       LIBDIR=${libdir} INCDIR=${includedir} \
-                       CGCS_DOC_DEPLOY=${cgcs_doc_deploy}
-       distutils_do_compile
-}
-
-do_install_append() {
-       cd ${S}/fm-common/sources
-       oe_runmake -e DESTDIR=${D} BINDIR=${bindir} \
-               LIBDIR=${libdir} INCDIR=${includedir} \
-               CGCS_DOC_DEPLOY=${cgcs_doc_deploy} install
-       distutils_do_install
-}
-
-
-FILES_fm-common = " \
-       ${cgcs_doc_deploy}/fmAlarm.h \
-       ${bindir}/fm_db_sync_event_suppression.py \
-       ${bindir}/fmClientCli \
-       ${libdir}/python2.7/site-packages/fm_core*.egg-info \
-       ${libdir}/python2.7/site-packages/fm_core.so \
-       ${libdir}/libfmcommon.so.1.0 \
-       ${libdir}/libfmcommon.so.1 \
-       ${includedir}/fmConfig.h \
-       ${includedir}/fmLog.h \
-       ${includedir}/fmThread.h \
-       ${includedir}/fmDbAPI.h \
-       ${includedir}/fmAPI.h \
-       ${includedir}/fmAlarm.h \
-       "
diff --git a/meta-stx/recipes-core/stx-fault/fm-doc.inc b/meta-stx/recipes-core/stx-fault/fm-doc.inc
deleted file mode 100644 (file)
index 8aafd5e..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += "fm-doc"
-
-do_install_append () {
-       cd ${S}/fm-doc/fm_doc/
-       install -d -m 755 ${D}/${cgcs_doc_deploy}
-       install -d -m 755 ${D}/${sysconfdir}/fm
-       install -m 744 events.yaml ${D}/${sysconfdir}/fm/
-       install -m 644 events.yaml ${D}/${cgcs_doc_deploy}
-       install -m 755 checkEventYaml ${D}/${cgcs_doc_deploy}
-       install -m 644 parseEventYaml.py ${D}/${cgcs_doc_deploy}
-       install -m 644 check_missing_alarms.py ${D}/${cgcs_doc_deploy}
-}
-
-FILES_fm-doc = " \
-       ${sysconfdir}/fm/events.yaml \
-       ${cgcs_doc_deploy}/events.yaml \
-       ${cgcs_doc_deploy}/checkEventYaml \
-       ${cgcs_doc_deploy}/parseEventYaml.py \
-       ${cgcs_doc_deploy}/check_missing_alarms.py \
-       "
diff --git a/meta-stx/recipes-core/stx-fault/fm-mgr.inc b/meta-stx/recipes-core/stx-fault/fm-mgr.inc
deleted file mode 100644 (file)
index 2a14cf3..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " fm-mgr"
-
-###################
-# DEPENDS = " fm-common"
-###################
-
-do_compile_append() {
-       cd ${S}/fm-mgr/sources/
-       oe_runmake -e \
-               LDFLAGS="${LDFLAGS} -L${S}/fm-common/sources" \
-               CCFLAGS="${CXXFLAGS}" \
-               INCLUDES="-I. -I${S}/fm-common/sources" \
-               build
-}
-
-do_install_append () {
-       cd ${S}/fm-mgr/sources/
-       install -d -m0755 ${D}/${systemd_system_unitdir} 
-       oe_runmake -e DESTDIR=${D} BINDIR=${bindir} \
-               LIBDIR=${libdir} UNITDIR=${systemd_system_unitdir} \
-                       SYSCONFDIR=${sysconfdir} \
-                       install
-       rm -rf ${D}/usr/lib/systemd
-
-       # fix the path for init scripts
-       sed -i -e 's|rc.d/||' ${D}/${systemd_system_unitdir}/*.service
-
-       # fix the path for binaries
-       sed -i -e 's|/usr/local/bin/|${bindir}/|' ${D}${sysconfdir}/init.d/fminit
-}
-
-FILES_fm-mgr = "  \
-       ${bindir}/fmManager \
-       ${systemd_system_unitdir}/fminit.service \
-       ${sysconfdir}/init.d/fminit \
-       ${sysconfdir}/logrotate.d/fm.logrotate \
-       "
-
-inherit useradd
-
-USERADD_PACKAGES = "fm-mgr"
-USERADD_PARAM_fm-mgr = "-r -g fm -u 195 -d /var/lib/fm -s /sbin/nologin -c 'fm-mgr' fm"
-GROUPADD_PARAM_fm-mgr = "-r -g 195 fm"
-
-RDEPENDS_fm-mgr += "net-snmp-server-snmpd"
diff --git a/meta-stx/recipes-core/stx-fault/fm-rest-api.inc b/meta-stx/recipes-core/stx-fault/fm-rest-api.inc
deleted file mode 100644 (file)
index ce1e282..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " fm-rest-api"
-
-do_configure_append () {
-       cd ${S}/fm-rest-api/fm
-       distutils_do_configure
-} 
-
-do_compile_append() {
-       cd ${S}/fm-rest-api/fm
-       distutils_do_compile
-}
-
-do_install_append() {
-       cd ${S}/fm-rest-api/fm
-       distutils_do_install
-       install -d -m 755 ${D}/${systemd_system_unitdir}
-       install -p -D -m 644 scripts/fm-api.service ${D}/${systemd_system_unitdir}
-       install -p -D -m 755 scripts/fm-api ${D}/${sysconfdir}/init.d/fm-api
-       install -p -D -m 644 fm-api-pmond.conf ${D}/${sysconfdir}/pmon.d/fm-api.conf
-
-       # fix the path for init scripts
-       sed -i -e 's|rc.d/||' ${D}/${systemd_system_unitdir}/*.service
-}
-
-FILES_fm-rest-api = " \
-       ${systemd_system_unitdir}/fm-api.service \
-       ${sysconfdir}/init.d/fm-api \
-       ${sysconfdir}/pmon.d/fm-api.conf \
-       ${libdir}/python2.7/site-packages/fm \
-       ${libdir}/python2.7/site-packages/fm-1.0.0-py2.7.egg-info \
-       ${bindir}/fm-dbsync \
-       ${bindir}/fm-api \
-       "
-
-#pkg_postinst_ontarget_fm-rest-api() {
-#      /usr/bin/systemctl enable fm-api.service
-#}
diff --git a/meta-stx/recipes-core/stx-fault/python-fmclient.inc b/meta-stx/recipes-core/stx-fault/python-fmclient.inc
deleted file mode 100644 (file)
index 7f6ec26..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " python-fmclient"
-
-do_configure_append () {
-       cd ${S}/python-fmclient/fmclient
-       distutils_do_configure
-} 
-
-do_compile_append() {
-       cd ${S}/python-fmclient/fmclient
-       distutils_do_compile
-}
-
-do_install_append() {
-       cd ${S}/python-fmclient/fmclient
-       distutils_do_install
-       
-       install -d -m 0755 ${D}/${sysconfdir}/bash_completion.d/
-       install -p -D -m 664 tools/fm.bash_completion ${D}/${sysconfdir}/bash_completion.d/fm.bash_completion
-}
-
-FILES_python-fmclient = " \
-       ${bindir}/fm \
-       ${libdir}/python2.7/site-packages/fmclient-*.egg-info/ \
-       ${libdir}/python2.7/site-packages/fmclient/ \
-       ${sysconfdir}/bash_completion.d/fm.bash_completion \
-       "
diff --git a/meta-stx/recipes-core/stx-fault/snmp-audittrail.inc b/meta-stx/recipes-core/stx-fault/snmp-audittrail.inc
deleted file mode 100644 (file)
index 680516d..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " snmp-audittrail"
-
-##################
-# DEPENDS = " fm-common net-snmp"
-##################
-
-do_compile_append() {
-       cd ${S}/snmp-audittrail/sources
-       oe_runmake -e \
-               LDFLAGS="${LDFLAGS} -L${S}/fm-common/sources" \
-               CCFLAGS="${CXXFLAGS} -fPIC" \
-               INCLUDES="-I. -I${S}/fm-common/sources" \
-               build
-}
-
-do_install_append () {
-       cd ${S}/snmp-audittrail/sources
-       oe_runmake -e DESTDIR=${D} LIB_DIR=${libdir} MIBVER=0 PATCH=0 install
-}
-
-FILES_snmp-audittrail = " \
-       ${libdir}/libsnmpAuditPlugin.so.1.0.0 \
-       ${libdir}/libsnmpAuditPlugin.so.1 \
-       "
-
diff --git a/meta-stx/recipes-core/stx-fault/snmp-ext.inc b/meta-stx/recipes-core/stx-fault/snmp-ext.inc
deleted file mode 100644 (file)
index f0a4b98..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " snmp-ext"
-
-####################
-# DEPENDS = " fm-common snmp-audittrail"
-####################
-
-do_compile_append() {
-       cd ${S}/snmp-ext/sources
-       oe_runmake -e PATCH=0 \
-               INCLUDES="-I. -I${S}/fm-common/sources" \
-               LDFLAGS="${LDFLAGS} -L${S}/fm-common/sources" \
-               CCFLAGS="${CXXFLAGS} -fPIC" lib
-}
-
-do_install_append () {
-       cd ${S}/snmp-ext/sources
-       oe_runmake -e DEST_DIR=${D} LIB_DIR=${libdir} MIBVER=0 PATCH=0 install
-}
-
-FILES_snmp-ext_append = " \
-       ${datadir}/snmp/mibs/wrsAlarmMib.mib.txt \
-       ${datadir}/snmp/mibs/wrsEnterpriseReg.mib.txt \
-       ${libdir}/libcgtsAgentPlugin.so.1.0.0 \
-       ${libdir}/libcgtsAgentPlugin.so.1 \
-       "
diff --git a/meta-stx/recipes-core/stx-fault/stx-fault.bb b/meta-stx/recipes-core/stx-fault/stx-fault.bb
deleted file mode 100644 (file)
index 803cf87..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-fault"
-
-INSANE_SKIP_${PN} = "ldflags"
-
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV = "2025f585c5b92890c8cb32c480b0151c7c1cb545"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI = " \
-       git://opendev.org/starlingx/fault.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://0001-Honor-the-build-system-LDFLAGS.patch \
-       file://0001-Use-build-systems-LDFLAGS.patch \
-       file://0001-snmp-ext-use-build-systems-LDFLAGS.patch \
-       "
-
-inherit setuptools
-DEPENDS = " \
-       util-linux \
-       postgresql \
-       python \
-       python-pbr-native \
-       python-six \
-       python-oslo.i18n \
-       python-oslo.utils \
-       python-requests \
-       bash \
-       net-snmp \
-"
-
-RDEPENDS_${PN} += " bash"
-
-cgcs_doc_deploy = "/opt/deploy/cgcs_doc"
-
-require fm-common.inc
-require fm-api.inc
-require fm-doc.inc
-require fm-mgr.inc
-require fm-rest-api.inc
-require python-fmclient.inc
-require snmp-audittrail.inc
-require snmp-ext.inc
-
-do_configure() {
-       :
-}
-
-do_compile() {
-       :
-}
-
-do_install() {
-       :
-}
-
-FILES_${PN} = " "
diff --git a/meta-stx/recipes-core/stx-gui/stx-gui.bb b/meta-stx/recipes-core/stx-gui/stx-gui.bb
deleted file mode 100644 (file)
index 3c914d2..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-gui"
-
-PACKAGES = "starlingx-dashboard"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV = "d1c22e49a95f92e91049b96f44e685f46785977c"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-
-
-SRC_URI = "git://opendev.org/starlingx/gui.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit distutils python-dir
-
-DEPENDS = "\
-       python \
-       python-pbr-native \
-       "
-
-RDEPENDS_starlingx-dashboard += " \
-       python-django-horizon \
-       "
-
-RDEPENDS_starlingx-dashboard_append = " \
-       ${PYTHON_PN}-cephclient \
-       "
-
-do_configure () {
-       cd ${S}/starlingx-dashboard/starlingx-dashboard
-       distutils_do_configure
-}
-
-
-do_compile () {
-       cd ${S}/starlingx-dashboard/starlingx-dashboard
-       distutils_do_compile
-}
-
-
-do_install () {
-       cd ${S}/starlingx-dashboard/starlingx-dashboard
-       distutils_do_install
-
-       install -d -m 0755 ${D}/${datadir}/openstack-dashboard/openstack_dashboard/enabled/
-       install -d -m 0755 ${D}/${datadir}/openstack-dashboard/openstack_dashboard/themes/starlingx/
-       install -d -m 0755 ${D}/${datadir}/openstack-dashboard/openstack_dashboard/local/local_settings.d
-       cp -ra ${D}${PYTHON_SITEPACKAGES_DIR}/starlingx_dashboard/enabled/* \
-                       ${D}/${datadir}/openstack-dashboard/openstack_dashboard/enabled/
-       cp -ra ${D}${PYTHON_SITEPACKAGES_DIR}/starlingx_dashboard/themes/starlingx/* \
-                       ${D}/${datadir}/openstack-dashboard/openstack_dashboard/themes/starlingx/
-       cp -ra ${D}${PYTHON_SITEPACKAGES_DIR}/starlingx_dashboard/local/local_settings.d/* \
-                       ${D}/${datadir}/openstack-dashboard/openstack_dashboard/local/local_settings.d
-       # comment out this line with syntax error
-       sed -i -e 's|^OPENSTACK_NEUTRON_NETWORK|# &|' \
-                       ${D}/${datadir}/openstack-dashboard/openstack_dashboard/local/local_settings.d/_30_stx_local_settings.py
-}
-
-FILES_starlingx-dashboard = " \
-       ${PYTHON_SITEPACKAGES_DIR} \
-       ${datadir}/openstack-dashboard/openstack_dashboard \
-       "
diff --git a/meta-stx/recipes-core/stx-ha/files/0001-Allow-user-to-define-destination-libdir.patch b/meta-stx/recipes-core/stx-ha/files/0001-Allow-user-to-define-destination-libdir.patch
deleted file mode 100644 (file)
index 1e371b2..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-From 128062759147c9a903d14ad7edbe6ead04f95812 Mon Sep 17 00:00:00 2001
-From: "Sar Ashki, Babak" <Babak.SarAshki@windriver.com>
-Date: Fri, 24 Jan 2020 13:10:02 -0800
-Subject: [PATCH 1/2] Allow user to define destination libdir
-
----
- service-mgmt/sm-db/src/Makefile | 17 +++++++++++------
- 1 file changed, 11 insertions(+), 6 deletions(-)
-
-diff --git a/service-mgmt/sm-db/src/Makefile b/service-mgmt/sm-db/src/Makefile
-index a29b1ac..379ea00 100644
---- a/service-mgmt/sm-db/src/Makefile
-+++ b/service-mgmt/sm-db/src/Makefile
-@@ -33,6 +33,10 @@ EXTRACCFLAGS= -D__STDC_FORMAT_MACROS
- LDLIBS= -lsqlite3 -lglib-2.0 -luuid -lrt -lsm_common
- LDFLAGS = -shared -rdynamic
-+LIB_DIR = /usr/lib64
-+BIN_DIR = /usr/bin
-+INC_DIR = /usr/include
-+
- build: libsm_db.so sm_db_build
- .c.o:
-@@ -51,12 +55,13 @@ sm_db_build: ${OBJS}
-       $(CXX) $(INCLUDES) $(CCFLAGS) $(EXTRACCFLAGS) $(OBJS) $(LDLIBS) -o sm_db_build
- install:
--      install -d ${DEST_DIR}/usr/lib64
--      install libsm_db.so.${VER} $(DEST_DIR)/usr/lib64
--      cp -P libsm_db.so libsm_db.so.$(VER_MJR) $(DEST_DIR)/usr/lib64
--      install -d ${DEST_DIR}/usr/include
--      install -m 0644 *.h ${DEST_DIR}/usr/include
--      install -d 755 ${DEST_DIR}/usr/bin
-+      install -d ${DEST_DIR}/${LIB_DIR}
-+      install libsm_db.so.${VER} $(DEST_DIR)/${LIB_DIR}
-+      cp -P libsm_db.so libsm_db.so.$(VER_MJR) $(DEST_DIR)/${LIB_DIR}
-+      install -d ${DEST_DIR}/${INC_DIR}
-+      install -m 0644 *.h ${DEST_DIR}/${INC_DIR}
-+      install -d 755 ${DEST_DIR}/${BIN_DIR}
-+      install -m 0744 sm_db_build ${DEST_DIR}/${BIN_DIR}
- clean:
-       @rm -f *.o *.a *.so *.so.*
--- 
-2.23.0
-
diff --git a/meta-stx/recipes-core/stx-ha/files/0002-Install-sm-eru-sm-eru-dump-and-sm-eru-watchdog.patch b/meta-stx/recipes-core/stx-ha/files/0002-Install-sm-eru-sm-eru-dump-and-sm-eru-watchdog.patch
deleted file mode 100644 (file)
index f020f37..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-From bfde9f6164bd729764ad3f85b0c1aacce01ba4d0 Mon Sep 17 00:00:00 2001
-From: "Sar Ashki, Babak" <Babak.SarAshki@windriver.com>
-Date: Fri, 24 Jan 2020 13:11:25 -0800
-Subject: [PATCH 2/2] Install sm-eru, sm-eru-dump, and sm-eru-watchdog
-
----
- service-mgmt/sm-common/src/Makefile | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/service-mgmt/sm-common/src/Makefile b/service-mgmt/sm-common/src/Makefile
-index 99f736d..7d138f9 100644
---- a/service-mgmt/sm-common/src/Makefile
-+++ b/service-mgmt/sm-common/src/Makefile
-@@ -69,8 +69,11 @@ install:
-       # install of these 3 are in the .spec file so that they can be
-       # renamed with '-' like they are in the bitbake file.
-       #
--      # install -d $(DEST_DIR)$(BIN_DIR)
--      # install sm_watchdog sm_eru sm_eru_dump $(DEST_DIR)$(BIN_DIR)
-+
-+      install -d -m 755 $(DEST_DIR)$(BIN_DIR)
-+      install -p -m 755 sm_eru $(DEST_DIR)$(BIN_DIR)/sm-eru 
-+      install -p -m 755 sm_eru_dump $(DEST_DIR)$(BIN_DIR)/sm-eru-dump
-+      install -p -m 755 sm_watchdog $(DEST_DIR)$(BIN_DIR)/sm-watchdog
-       install -d $(DEST_DIR)$(LIB_DIR)
-       install libsm_common.so.${VER} $(DEST_DIR)$(LIB_DIR)
-       cp -P libsm_common.so libsm_common.so.$(VER_MJR) $(DEST_DIR)$(LIB_DIR)
--- 
-2.23.0
-
diff --git a/meta-stx/recipes-core/stx-ha/files/0003-pragma-ignore-Wunused-result-errors-with-gcc-8.3.patch b/meta-stx/recipes-core/stx-ha/files/0003-pragma-ignore-Wunused-result-errors-with-gcc-8.3.patch
deleted file mode 100644 (file)
index bc28593..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-From b990cc6c5fad7fb0599dbdbb0ea693dca885d1ed Mon Sep 17 00:00:00 2001
-From: "Sar Ashki, Babak" <Babak.SarAshki@windriver.com>
-Date: Fri, 24 Jan 2020 14:16:16 -0800
-Subject: [PATCH] pragma ignore -Wunused-result errors with gcc 8.3
-
----
- service-mgmt/sm/src/sm_node_api.cpp | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/service-mgmt/sm/src/sm_node_api.cpp b/service-mgmt/sm/src/sm_node_api.cpp
-index 179ec77..2866dbe 100644
---- a/service-mgmt/sm/src/sm_node_api.cpp
-+++ b/service-mgmt/sm/src/sm_node_api.cpp
-@@ -829,7 +829,9 @@ static bool sm_node_api_reboot_timeout( SmTimerIdT timer_id, int64_t user_data )
-         return( true );
-     }
-+#pragma GCC diagnostic ignored "-Wunused-result"
-     write( sysrq_handler_fd, "1", 1 );
-+#pragma GCC diagnostic error "-Wunused-result"
-     close( sysrq_handler_fd );
-     // Trigger sysrq command.
-@@ -856,7 +858,9 @@ static bool sm_node_api_reboot_timeout( SmTimerIdT timer_id, int64_t user_data )
-               "************************************" );
-     sleep(5); // wait 5 seconds before a forced reboot.
-+#pragma GCC diagnostic ignored "-Wunused-result"
-     write( sysrq_tigger_fd, "b", 1 ); 
-+#pragma GCC diagnostic error "-Wunused-result"
-     close( sysrq_tigger_fd );
-     return( true );
--- 
-2.23.0
-
diff --git a/meta-stx/recipes-core/stx-ha/files/0004-Cast-size_t-to-int-to-silence-gcc-8.3.patch b/meta-stx/recipes-core/stx-ha/files/0004-Cast-size_t-to-int-to-silence-gcc-8.3.patch
deleted file mode 100644 (file)
index 1557cee..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5d23f7c297943f8ce89ace74f34c6c4ee0e87ee3 Mon Sep 17 00:00:00 2001
-From: "Sar Ashki, Babak" <Babak.SarAshki@windriver.com>
-Date: Fri, 24 Jan 2020 14:33:20 -0800
-Subject: [PATCH] Cast size_t to int to silence gcc 8.3
-
----
- service-mgmt/sm/src/sm_cluster_hbs_info_msg.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/service-mgmt/sm/src/sm_cluster_hbs_info_msg.cpp b/service-mgmt/sm/src/sm_cluster_hbs_info_msg.cpp
-index ca91c18..cfb9034 100644
---- a/service-mgmt/sm/src/sm_cluster_hbs_info_msg.cpp
-+++ b/service-mgmt/sm/src/sm_cluster_hbs_info_msg.cpp
-@@ -182,7 +182,7 @@ void SmClusterHbsInfoMsg::_cluster_hbs_info_msg_received( int selobj, int64_t us
-             }
-             return;
-         }
--        DPRINTFD("msg received %d bytes. buffer size %d", bytes_read, sizeof(msg));
-+        DPRINTFD("msg received %d bytes. buffer size %d", bytes_read, (int)sizeof(msg));
-         if(size_of_msg_header > (unsigned int)bytes_read)
-         {
-             DPRINTFE("size not right, msg size %d, expected not less than %d",
--- 
-2.23.0
-
diff --git a/meta-stx/recipes-core/stx-ha/files/0005-libsm_watchdog_nfs-add-missing-dependency-on-libsm_c.patch b/meta-stx/recipes-core/stx-ha/files/0005-libsm_watchdog_nfs-add-missing-dependency-on-libsm_c.patch
deleted file mode 100644 (file)
index e03617a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 0374eb585bc3e47e914c7f523f904923a447d2f7 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Sat, 27 Jun 2020 10:26:58 +0800
-Subject: [PATCH] libsm_watchdog_nfs: add missing dependency on libsm_common.so
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- service-mgmt/sm-common/src/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/service-mgmt/sm-common/src/Makefile b/service-mgmt/sm-common/src/Makefile
-index 7d138f9..487dfa0 100644
---- a/service-mgmt/sm-common/src/Makefile
-+++ b/service-mgmt/sm-common/src/Makefile
-@@ -53,7 +53,7 @@ libsm_watchdog_nfs.so: libsm_watchdog_nfs.so.$(VER_MJR)
- libsm_watchdog_nfs.so.$(VER_MJR): libsm_watchdog_nfs.so.$(VER)
-       ln -sf $^ $@
--libsm_watchdog_nfs.so.$(VER): libsm_common.so.$(VER)
-+libsm_watchdog_nfs.so.$(VER): libsm_common.so.$(VER) libsm_common.so
-       $(CXX) $(INCLUDES) $(CCFLAGS) $(EXTRACCFLAGS) sm_watchdog_nfs.c ${LDFLAGS} $(LDLIBS) -L./ -lsm_common -Wl,-soname,libsm_watchdog_nfs.so.$(VER_MJR) -o $@
- sm_watchdog: libsm_common.so
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-core/stx-ha/sm-api.inc b/meta-stx/recipes-core/stx-ha/sm-api.inc
deleted file mode 100644 (file)
index 36914ab..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " sm-api"
-
-RDEPENDS_sm-api += " \
-       bash \
-       python-six \
-       chkconfig \
-       mtce-pmon \
-       "
-
-do_configure_append () {
-       cd ${S}/service-mgmt-api/sm-api
-       distutils_do_configure
-} 
-
-do_compile_append () {
-       cd ${S}/service-mgmt-api/sm-api
-       distutils_do_compile
-}
-
-do_install_append () {
-       cd ${S}/service-mgmt-api/sm-api
-       distutils_do_install
-       install -d -m 0755 ${D}/${sysconfdir}/sm
-       install -d -m 0755 ${D}/${sysconfdir}/init.d
-       install -d -m 0755 ${D}/${sysconfdir}/pmon.d
-       install -d -m 0755 ${D}/${sysconfdir}/sm-api
-       install -d -m 0755 ${D}/${systemd_system_unitdir}
-       install -m 644 scripts/sm_api.ini ${D}/${sysconfdir}/sm
-       install -m 755 scripts/sm-api ${D}/${sysconfdir}/init.d
-       install -m 644 scripts/sm-api.service ${D}/${systemd_system_unitdir}
-       install -m 644 scripts/sm-api.conf ${D}/${sysconfdir}/pmon.d
-       install -m 644 etc/sm-api/policy.json ${D}/${sysconfdir}/sm-api
-}
-
-FILES_sm-api = " \
-       ${libdir}/python2.7/site-packages/sm_api*.egg-info/ \
-       ${libdir}/python2.7/site-packages/sm_api/ \
-       ${systemd_system_unitdir}/sm-api.service \
-       ${sysconfdir}/init.d/sm-api \
-       ${sysconfdir}/pmon.d/sm-api.conf \
-       ${sysconfdir}/sm/sm_api.ini \
-       ${sysconfdir}/sm-api/policy.json \
-       ${bindir}/sm-api \
-       "
-
-SYSTEMD_PACKAGES += "sm-api"
-SYSTEMD_SERVICE_sm-api = "sm-api.service"
-SYSTEMD_AUTO_ENABLE_sm-api = "enable"
diff --git a/meta-stx/recipes-core/stx-ha/sm-client.inc b/meta-stx/recipes-core/stx-ha/sm-client.inc
deleted file mode 100644 (file)
index 8d044c3..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " sm-client"
-
-RDEPENDS_sm-client += " \
-       python \
-       python-six \
-       "
-
-do_configure_append () {
-       cd ${S}/service-mgmt-client/sm-client
-       distutils_do_configure
-} 
-
-do_compile_append() {
-       cd ${S}/service-mgmt-client/sm-client
-       distutils_do_compile
-}
-
-do_install_append () {
-       cd ${S}/service-mgmt-client/sm-client
-       distutils_do_install
-       install -d -m 0755 ${D}/${bindir}
-       install -m 755 usr/bin/smc ${D}/${bindir}
-}
-
-FILES_sm-client = " \
-       ${bindir}/smc \
-       ${libdir}/python2.7/site-packages/sm_client*.egg-info/ \
-       ${libdir}/python2.7/site-packages/sm_client/ \
-       "
diff --git a/meta-stx/recipes-core/stx-ha/sm-common.inc b/meta-stx/recipes-core/stx-ha/sm-common.inc
deleted file mode 100644 (file)
index 67f24f8..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " libsm-common"
-PACKAGES += " sm-common-libs"
-PACKAGES += " sm-eru"
-
-RDEPENDS_sm-common-libs += " \
-       bash \
-       sqlite3 \
-       util-linux \
-       systemd \
-       "
-RDEPENDS_sm-eru = " sm-common-libs"
-RDEPENDS_libsm-common = " sm-common-libs"
-
-
-do_configure_prepend () {
-       cd ${S}/service-mgmt/sm-common/src
-       oe_runmake clean
-} 
-
-do_compile_prepend () {
-       cd ${S}/service-mgmt/sm-common/src
-       oe_runmake -e VER=0 VER_MJR=1 \
-               INCLUDES="-I. $(pkg-config --cflags glib-2.0)" \
-               CCFLAGS="${CXXFLAGS} -fPIC" LDFLAGS="${LDFLAGS} -shared -rdynamic" \
-               EXTRACCFLAGS="${LDFLAGS}" 
-       
-}
-
-do_install_prepend () {
-       cd ${S}/service-mgmt/sm-common/src
-       oe_runmake -e DEST_DIR=${D} BIN_DIR=${bindir} UNIT_DIR=${systemd_system_unitdir} \
-                       LIB_DIR=${libdir} INC_DIR=${includedir} VER=0 VER_MJR=1 install
-       cd ${S}/service-mgmt/sm-common/
-       install -d -m 755 ${D}/${systemd_system_unitdir}
-       install -m 644 -p -D scripts/sm-eru.service ${D}/${systemd_system_unitdir}/sm-eru.service
-       install -m 644 -p -D scripts/sm-watchdog.service ${D}/${systemd_system_unitdir}/sm-watchdog.service
-
-       install -m 640 -p -D scripts/sm-eru.conf ${D}/${sysconfdir}/pmon.d/sm-eru.conf
-       install -m 640 -p -D scripts/sm-watchdog.conf ${D}/${sysconfdir}/pmon.d/sm-watchdog.conf
-       install -m 750 -p -D scripts/sm-eru ${D}/${sysconfdir}/init.d/sm-eru
-       install -m 750 -p -D scripts/sm-watchdog ${D}/${sysconfdir}/init.d/sm-watchdog
-}
-
-FILES_libsm-common = " \
-       ${libdir}/libsm_common.so.0 \
-       ${libdir}/libsm_common.so.1 \
-       ${libdir}/libsm_common.so \
-       "
-
-FILES_sm-common-libs = " \
-       var/lib/sm/watchdog/modules/libsm_watchdog_nfs.so.0 \
-       var/lib/sm/watchdog/modules/libsm_watchdog_nfs.so.1 \
-       "
-
-FILES_sm-eru = " \
-       ${bindir}/sm-eru \
-       ${bindir}/sm-eru-dump \
-       ${bindir}/sm-watchdog \
-       ${systemd_system_unitdir}/sm-eru.service \
-       ${systemd_system_unitdir}/sm-watchdog.service \
-       ${sysconfdir}/init.d/sm-eru \
-       ${sysconfdir}/pmon.d/sm-eru.conf \
-       ${sysconfdir}/init.d/sm-watchdog \
-       ${sysconfdir}/pmon.d/sm-watchdog.conf \
-       "
-
-SYSTEMD_PACKAGES += "sm-eru"
-SYSTEMD_SERVICE_sm-eru = "sm-eru.service sm-watchdog.service"
-SYSTEMD_AUTO_ENABLE_sm-eru = "enable"
diff --git a/meta-stx/recipes-core/stx-ha/sm-db.inc b/meta-stx/recipes-core/stx-ha/sm-db.inc
deleted file mode 100644 (file)
index 4027fe3..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " sm-db"
-
-DEPENDS =+ "sqlite3-native"
-
-do_configure_append () {
-       cd ${S}/service-mgmt/sm-db
-       oe_runmake clean
-       rm -rf database/sm.db database/sm.hb.db
-} 
-
-do_compile_append () {
-       cd ${S}/service-mgmt/sm-db
-       sqlite3 database/sm.db < database/create_sm_db.sql
-       sqlite3 database/sm.hb.db < database/create_sm_hb_db.sql
-
-       oe_runmake -e VER=0 VER_MJR=1 \
-               INCLUDES="-I. -I${S}/service-mgmt/sm-common/src " \
-               CCFLAGS="${CXXFLAGS} -fPIC" \
-               LDFLAGS="${LDFLAGS} -shared -rdynamic -L${S}/service-mgmt/sm-common/src " \
-               EXTRACCFLAGS="-D_TEST__AA__BB ${LDFLAGS} -L${S}/service-mgmt/sm-common/src "
-}
-
-do_install_append () {
-       cd ${S}/service-mgmt/sm-db
-       oe_runmake -e DEST_DIR=${D} BIN_DIR=${bindir} UNIT_DIR=${systemd_system_unitdir} \
-                       LIB_DIR=${libdir} INC_DIR=${includedir} VER=0 VER_MJR=1 install
-}
-
-FILES_sm-db = " \
-       ${bindir}/sm_db_build \
-       ${libdir}/libsm_db.so.1 \
-       ${libdir}/libsm_db.so.0 \
-       ${localstatedir}/lib/sm \
-       "
diff --git a/meta-stx/recipes-core/stx-ha/sm-tools.inc b/meta-stx/recipes-core/stx-ha/sm-tools.inc
deleted file mode 100644 (file)
index 9cf5c2c..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " sm-tools"
-
-RDEPENDS_sm-tools += " python"
-
-do_configure_append () {
-       cd ${S}/service-mgmt-tools/sm-tools
-       distutils_do_configure
-} 
-
-do_compile_append() {
-       cd ${S}/service-mgmt-tools/sm-tools
-       distutils_do_compile
-}
-
-do_install_append () {
-       cd ${S}/service-mgmt-tools/sm-tools
-       distutils_do_install
-}
-
-FILES_sm-tools = " \
-       ${bindir}/sm-query \
-       ${bindir}/sm-provision \
-       ${bindir}/sm-restart \
-       ${bindir}/sm-unmanage \
-       ${bindir}/sm-dump \
-       ${bindir}/sm-iface-state \
-       ${bindir}/sm-configure \
-       ${bindir}/sm-manage \
-       ${bindir}/sm-deprovision \
-       ${bindir}/sm-restart-safe \
-       ${libdir}/python2.7/site-packages/sm_tools-*.egg-info/ \
-       ${libdir}/python2.7/site-packages/sm_tools/ \
-       "
diff --git a/meta-stx/recipes-core/stx-ha/sm.inc b/meta-stx/recipes-core/stx-ha/sm.inc
deleted file mode 100644 (file)
index d8488e2..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " sm"
-
-RDEPENDS_sm += " \
-       bash \
-       python \
-       logrotate \
-       time \
-       systemd \
-       chkconfig \
-       mtce-pmon \
-       "
-
-do_configure_append () {
-       cd ${S}/service-mgmt/sm/src
-       oe_runmake clean
-
-       # fix the hardcoded path
-       sed -i -e "s|/usr/local/sbin|${sbindir}|" \
-               ${S}/service-mgmt/sm-common/src/sm_types.h \
-               ${S}/service-mgmt/sm-common/src/sm_watchdog_nfs.c
-}
-
-do_compile_append() {
-       cd ${S}/service-mgmt/sm/src
-       oe_runmake -e -j1 VER=0 VER_MJR=1 \
-               INCLUDES="-I. -I${S}/service-mgmt/sm-common/src \
-                       -I${S}/service-mgmt/sm-db/src $(pkg-config --cflags glib-2.0)" \
-               EXTRACCFLAGS="-I. -I${S}/service-mgmt/sm-common/src \
-                       -I${S}/service-mgmt/sm-db/src $(pkg-config --cflags glib-2.0) \
-                       -L${S}/service-mgmt/sm-common/src -L${S}/service-mgmt/sm-db/src \
-                               $(pkg-config --ldlags glib-2.0)" \
-               CCFLAGS="${CXXFLAGS} -std=c++11" LDFLAGS="${LDFLAGS} -rdynamic"
-}
-
-do_install_append () {
-       cd ${S}/service-mgmt/sm/src
-       oe_runmake -e DEST_DIR=${D} BIN_DIR=${bindir} UNIT_DIR=${systemd_system_unitdir} \
-               LIB_DIR=${libdir} INC_DIR=${includedir} VER=0 VER_MJR=1 install
-       cd ${S}/service-mgmt/sm/scripts
-
-       install -d ${D}/${sysconfdir}/init.d
-       install sm ${D}/${sysconfdir}/init.d/sm
-       install sm.shutdown ${D}/${sysconfdir}/init.d/sm-shutdown
-       install -d -m0755 ${D}/${sysconfdir}/pmon.d
-       install -m 644 sm.conf ${D}/${sysconfdir}/pmon.d/sm.conf
-       install -d ${D}/${sysconfdir}/logrotate.d
-       install -m 644 sm.logrotate ${D}/${sysconfdir}/logrotate.d/sm.logrotate
-       install -d -m 755 ${D}/${sbindir}
-       install sm.notify ${D}/${sbindir}/stx-ha-sm-notify
-       install sm.troubleshoot ${D}/${sbindir}/sm-troubleshoot
-       install sm.notification ${D}/${sbindir}/sm-notification
-       install -d $(D)${systemd_system_unitdir}
-       install -m 644 *.service ${D}/${systemd_system_unitdir}
-}
-
-FILES_sm = " \
-       ${bindir}/sm \
-       ${sysconfdir}/init.d/sm \
-       ${sysconfdir}/init.d/sm-shutdown \
-       ${sysconfdir}/pmon.d/sm.conf \
-       ${sysconfdir}/logrotate.d/sm.logrotate \
-       ${sbindir}/stx-ha-sm-notify \
-       ${sbindir}/sm-troubleshoot \
-       ${sbindir}/sm-notification \
-       ${systemd_system_unitdir}/sm-shutdown.service \
-       ${systemd_system_unitdir}/sm.service \
-       "
-
-pkg_postinst_ontarget_sm_append () {
-       /usr/bin/update-alternatives --install /usr/sbin/sm-notify sm-notify /usr/sbin/stx-ha-sm-notify 5
-}
-
-SYSTEMD_PACKAGES += "sm"
-SYSTEMD_SERVICE_sm = "sm.service sm-shutdown.service"
-SYSTEMD_AUTO_ENABLE_sm = "enable"
diff --git a/meta-stx/recipes-core/stx-ha/stx-ha.bb b/meta-stx/recipes-core/stx-ha/stx-ha.bb
deleted file mode 100644 (file)
index 5917676..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-ha"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCNAME = "ha"
-SRCREV = "a7b7d35b9922a3f2a8462492b7f1958f135a612d"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = " \
-       file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://service-mgmt-api/sm-api/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://service-mgmt-client/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://service-mgmt-client/sm-client/LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2 \
-       file://service-mgmt-tools/sm-tools/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://service-mgmt/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://service-mgmt/sm-common/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://service-mgmt/sm-db/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://service-mgmt/sm/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       "
-
-SRC_URI = "git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://0001-Allow-user-to-define-destination-libdir.patch \
-       file://0002-Install-sm-eru-sm-eru-dump-and-sm-eru-watchdog.patch \
-       file://0003-pragma-ignore-Wunused-result-errors-with-gcc-8.3.patch \
-       file://0004-Cast-size_t-to-int-to-silence-gcc-8.3.patch \
-       file://0005-libsm_watchdog_nfs-add-missing-dependency-on-libsm_c.patch \
-       "
-
-inherit setuptools
-inherit pkgconfig
-inherit systemd
-
-DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
-
-DEPENDS += " \
-       stx-fault \
-       stx-metal \
-       sqlite3 \
-       python \
-       python-pbr-native \
-       glib-2.0 \
-       "
-
-require sm-common.inc
-require sm-db.inc
-require sm.inc
-require sm-api.inc
-require sm-client.inc
-require sm-tools.inc
-require stx-ocf-scripts.inc
-
-LDFLAGS_remove = "-Wl,--as-needed"
-
-do_configure () {
-       :
-} 
-
-do_compile() {
-       :       
-}
-
-do_install () {
-       :
-}
-
-FILES_${PN} = " "
-FILES_${PN}-dev += " \
-       ${localstatedir}/lib/sm/watchdog/modules/libsm_watchdog_nfs.so \
-       "
-
diff --git a/meta-stx/recipes-core/stx-ha/stx-ocf-scripts.inc b/meta-stx/recipes-core/stx-ha/stx-ocf-scripts.inc
deleted file mode 100644 (file)
index 7e49966..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " stx-ocf-scripts"
-
-RDEPENDS_stx-ocf-scripts += " \
-       bash \
-       openstack-ras \
-       "
-
-do_configure_append () {
-       :
-}
-
-do_compile_append() {
-       :
-}
-
-do_install_append () {
-       cd ${S}/stx-ocf-scripts/src/ocf
-
-       install -d -m 755 ${D}/usr/lib/ocf/resource.d/openstack
-       install -p -D -m 755 $(find . -type f) ${D}/usr/lib/ocf/resource.d/openstack/ 
-}
-
-FILES_stx-ocf-scripts = " \
-       ${libdir}/ocf/resource.d/openstack/ \
-       "
diff --git a/meta-stx/recipes-core/stx-integ-kubernetes/cloud-provider-openstack.bb b/meta-stx/recipes-core/stx-integ-kubernetes/cloud-provider-openstack.bb
deleted file mode 100644 (file)
index 8ef02d8..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "cloud-provider-openstack"
-
-STABLE = "starlingx/master"
-PROTOCOL = "https"
-BRANCH = "master"
-SRCREV = "70609a3d55e5b7d2be82667fc35792505f9013c4"
-S = "${WORKDIR}/git"
-PV = "19.05"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI = "git://opendev.org/starlingx/config.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-RDEPENDS_${PN} += " bash"
-
-do_configure () {
-       :
-} 
-
-do_compile() {
-       :
-}
-
-do_install () {
-
-       cd ${S}/filesystem/cloud-provider-openstack/
-       install -d -m755 ${D}/${bindir}
-       install -d -m755 ${D}/${systemd_system_unitdir}
-
-       install -D -m644 files/cloud-provider-openstack.sh ${D}/${bindir}
-       install -D -m644 files/cloud-provider-openstack.service ${D}/${systemd_system_unitdir}
-
-
-}
-
-#pkg_postinst_ontarget_${PN} () {
-#      /usr/bin/systemctl enable cloud-provider-openstack.service
-#}     
-
-FILES_${PN}_append += " \
-               ${systemd_system_unitdir} \
-               "
diff --git a/meta-stx/recipes-core/stx-integ/filesystem/filesystem-scripts.inc b/meta-stx/recipes-core/stx-integ/filesystem/filesystem-scripts.inc
deleted file mode 100644 (file)
index 23ee1c3..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " filesystem-scripts"
-
-RDEPENDS_filesystem-scripts += " bash"
-
-do_configure_append () {
-       :
-} 
-
-do_compile_append () {
-       :
-}
-
-do_install_append () {
-
-       cd ${S}/filesystem/filesystem-scripts/filesystem-scripts-1.0
-       install -d -m755 ${D}/${sysconfdir}/init.d
-       install -d -m755 ${D}/${libdir}/ocf/resource.d/platform
-       install -d -m755 ${D}/${bindir}
-       install -d -m755 ${D}/${systemd_system_unitdir}
-
-       install -D -m644 uexportfs  ${D}/${sysconfdir}/init.d
-       install -D -m644 nfsserver-mgmt ${D}/${libdir}/ocf/resource.d/platform
-       install -D -m644 nfs-mount ${D}/${bindir}
-       install -D -m644 uexportfs.service ${D}/${systemd_system_unitdir}
-
-}
-
-FILES_filesystem-scripts_append = " \
-       ${sysconfdir}/init.d/uexportfs \
-       ${libdir}/ocf/resource.d/platform/nfsserver-mgmt \
-       ${bindir}/nfs-mount \
-       ${systemd_system_unitdir}/uexportfs.service \
-       "
-
-#pkg_postinst_ontarget_filesystem-scripts() {
-#      /usr/bin/systemctl enable uexportfs.service
-#}
diff --git a/meta-stx/recipes-core/stx-integ/filesystem/iscsi-initiator-utils-config.inc b/meta-stx/recipes-core/stx-integ/filesystem/iscsi-initiator-utils-config.inc
deleted file mode 100644 (file)
index 7085048..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " iscsi-initiator-utils-config"
-
-RDEPENDS_iscsi-initiator-utils-config_append += " bash"
-
-do_configure_append () {
-       :
-} 
-
-do_compile_append () {
-       :
-}
-
-do_install_append () {
-
-       cd ${S}/filesystem/iscsi-initiator-utils-config/
-       install -d -m755 ${D}/${libdir}/tempfiles.d
-       install -d -m755 ${D}/${systemd_system_unitdir}
-       install -d -m755 ${D}/${datadir}/starlingx
-
-       install -D -m644 files/iscsi-cache.volatiles ${D}/${libdir}/tempfiles.d
-       install -D -m644 files/iscsi-shutdown.service ${D}/${systemd_system_unitdir}
-       install -m 0644 files/iscsid.conf ${D}/${datadir}/starlingx/stx.iscsid.conf
-}
-
-FILES_iscsi-initiator-utils-config_append = " \
-       ${libdir}/tempfiles.d/iscsi-cache.volatiles \
-       ${systemd_system_unitdir}/iscsi-shutdown.service \
-       ${datadir}/starlingx/stx.iscsid.conf \
-       "
diff --git a/meta-stx/recipes-core/stx-integ/filesystem/nfs-utils-config.inc b/meta-stx/recipes-core/stx-integ/filesystem/nfs-utils-config.inc
deleted file mode 100644 (file)
index 3e6e64d..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " nfs-utils-config"
-
-RDEPENDS_nfs-utils-config_append  += " bash"
-
-do_configure_append () {
-       :
-} 
-
-do_compile_append () {
-       :
-}
-
-do_install_append () {
-
-       cd ${S}/filesystem/nfs-utils-config/
-       install -d -m755 ${D}/${sysconfdir}/init.d
-       install -d -m755 ${D}/${datadir}/starlingx
-       install -d -m755 ${D}/${systemd_system_unitdir}
-
-       install -D -m644 files/nfscommon ${D}/${sysconfdir}/init.d/stx-nfscommon
-       install -D -m644 files/nfscommon.service ${D}/${systemd_system_unitdir}/stx-nfscommon.service
-       install -D -m644 files/nfsserver ${D}/${sysconfdir}/init.d/stx-nfsserver
-       install -D -m644 files/nfsserver.service ${D}/${systemd_system_unitdir}/stx-nfsserver.service
-       install -D -m644 files/nfsmount.conf ${D}/${datadir}/starlingx/stx-nfsmount.conf
-       install -D -m644 files/nfsmount.conf ${D}/${sysconfdir}/stx-nfsmount.conf
-
-}
-
-#pkg_postinst_ontarget_nfs-utils-config () {
-#      systemctl disable rpc-statd.service
-#      systemctl disable rpc-statd-notify.service
-#      systemctl disable nfs-lock.service
-#      systemctl disable nfslock.service
-#
-#      systemctl enable nfscommon.service  >/dev/null 2>&1 || :
-#      systemctl enable nfsserver.service  >/dev/null 2>&1 || :
-#}     
-
-FILES_nfs-utils-config_append = " \
-       ${sysconfdir}/init.d/stx-nfscommon \
-       ${systemd_system_unitdir}/stx-nfscommon.service \
-       ${sysconfdir}/init.d/stx-nfsserver \
-       ${systemd_system_unitdir}/stx-nfsserver.service \
-       ${datadir}/starlingx/stx-nfsmount.conf \
-       ${sysconfdir}/stx-nfsmount.conf \
-       " 
diff --git a/meta-stx/recipes-core/stx-integ/filesystem/nfscheck.inc b/meta-stx/recipes-core/stx-integ/filesystem/nfscheck.inc
deleted file mode 100644 (file)
index 66f0d09..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " nfscheck"
-
-RDEPENDS_nfscheck_append += " bash"
-
-do_configure_append () {
-       :
-} 
-
-do_compile_append () {
-       :
-}
-
-do_install_append () {
-
-       cd ${S}/filesystem/nfscheck/
-       install -d -m755 ${D}/${bindir}
-       install -d -m755 ${D}/${systemd_system_unitdir}
-
-       install -D -m644 files/nfscheck.sh ${D}/${bindir}
-       install -D -m644 files/nfscheck.service ${D}/${systemd_system_unitdir}
-
-
-}
-
-#pkg_postinst_ontarget_nfscheck () {
-#      /bin/systemctl enable nfscheck.service
-#}     
-
-FILES_nfscheck_append = " \
-               ${systemd_system_unitdir}/nfscheck.service \
-               ${bindir}/nfscheck.sh \
-               "
diff --git a/meta-stx/recipes-core/stx-integ/ibsh_0.3e.bbappend b/meta-stx/recipes-core/stx-integ/ibsh_0.3e.bbappend
deleted file mode 100644 (file)
index 782d40c..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCNAME = "integ"
-SRCREV = "0bf4b546df8c7fdec8cfc6cb6f71b9609ee54306"
-
-SRC_URI += "git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=stx-patches;subpath=base/cgcs-users/cgcs-users-1.0"
-
-do_patch_append () {
-    bb.build.exec_func('stx_do_patch', d)
-}
-
-stx_do_patch () {
-       cd ${S}
-       patch -p1 < ${WORKDIR}/stx-patches/ibsh-0.3e.patch
-       patch -p1 < ${WORKDIR}/stx-patches/ibsh-0.3e-cgcs.patch
-       patch -p1 < ${WORKDIR}/stx-patches/ibsh-0.3e-cgcs-copyright.patch
-}
-
-do_install_append() {
-       cp ${WORKDIR}/stx-patches/admin.cmds ${D}/${sysconfdir}/ibsh/cmds/
-       cp ${WORKDIR}/stx-patches/admin.xtns ${D}/${sysconfdir}/ibsh/xtns/
-       cp ${WORKDIR}/stx-patches/operator.cmds ${D}/${sysconfdir}/ibsh/cmds/
-       cp ${WORKDIR}/stx-patches/operator.xtns ${D}/${sysconfdir}/ibsh/xtns/
-       cp ${WORKDIR}/stx-patches/secadmin.cmds ${D}/${sysconfdir}/ibsh/cmds/
-       cp ${WORKDIR}/stx-patches/secadmin.xtns ${D}/${sysconfdir}/ibsh/xtns/
-}
-
diff --git a/meta-stx/recipes-core/stx-integ/logging/logmgmt.inc b/meta-stx/recipes-core/stx-integ/logging/logmgmt.inc
deleted file mode 100644 (file)
index f825336..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " logmgmt"
-
-do_configure_append () {
-       cd ${S}/logging/logmgmt/logmgmt
-       distutils_do_configure
-} 
-
-do_compile_append () {
-       cd ${S}/logging/logmgmt/logmgmt
-       distutils_do_compile
-}
-
-do_install_append () {
-       cd ${S}/logging/logmgmt/logmgmt
-       distutils_do_install
-       cd ${S}/logging/logmgmt/
-       install -d -m 755 ${D}/${bindir}
-       install -p -D -m 700 scripts/bin/logmgmt ${D}/${bindir}/logmgmt
-       install -p -D -m 700 scripts/bin/logmgmt_postrotate ${D}/${bindir}/logmgmt_postrotate
-       install -p -D -m 700 scripts/bin/logmgmt_prerotate ${D}/${bindir}/logmgmt_prerotate
-
-       install -d -m 755 ${D}/${sysconfdir}/init.d
-       install -p -D -m 700 scripts/init.d/logmgmt ${D}/${sysconfdir}/init.d/logmgmt
-
-       install -d -m 755 ${D}/${sysconfdir}/pmon.d/
-       install -p -D -m 644 scripts/pmon.d/logmgmt ${D}/${sysconfdir}/pmon.d/logmgmt
-
-       install -p -D -m 664 scripts/etc/systemd/system/logmgmt.service ${D}/${systemd_system_unitdir}/logmgmt.service
-}
-
-
-#pkg_postinst_ontarget_logmgmt () { 
-#      /usr/bin/systemctl enable logmgmt.service >/dev/null 2>&1
-#}
-
-FILES_logmgmt_append = " \
-       ${bindir}/logmgmt \
-       ${bindir}/logmgmt_postrotate \
-       ${bindir}/logmgmt_prerotate \
-       ${sysconfdir}/init.d/logmgmt \
-       ${sysconfdir}/pmon.d/logmgmt \
-       ${systemd_system_unitdir}/logmgmt.service \
-       ${libdir}/python2.7/site-packages/logmgmt-1.0.0-py2.7.egg-info \
-       ${libdir}/python2.7/site-packages/logmgmt \
-       ${libdir}/python2.7/site-packages/logmgmt-1.0.0-py2.7.egg-info/PKG-INFO \
-       ${libdir}/python2.7/site-packages/logmgmt-1.0.0-py2.7.egg-info/top_level.txt \
-       ${libdir}/python2.7/site-packages/logmgmt-1.0.0-py2.7.egg-info/dependency_links.txt \
-       ${libdir}/python2.7/site-packages/logmgmt-1.0.0-py2.7.egg-info/SOURCES.txt \
-       ${libdir}/python2.7/site-packages/logmgmt/prepostrotate.pyc \
-       ${libdir}/python2.7/site-packages/logmgmt/__init__.pyc \
-       ${libdir}/python2.7/site-packages/logmgmt/logmgmt.pyc \
-       ${libdir}/python2.7/site-packages/logmgmt/__init__.py \
-       ${libdir}/python2.7/site-packages/logmgmt/logmgmt.py \
-       ${libdir}/python2.7/site-packages/logmgmt/prepostrotate.py \
-       "
diff --git a/meta-stx/recipes-core/stx-integ/logging/logrotate-config.inc b/meta-stx/recipes-core/stx-integ/logging/logrotate-config.inc
deleted file mode 100644 (file)
index 94132e3..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " logrotate-config"
-
-RDEPENDS_logrotate-config_append = " bash"
-
-do_configure_append () {
-       :
-} 
-
-do_compile_append () {
-       :
-}
-
-do_install_append () {
-       cd ${S}/logging/logrotate-config/files/
-       install -d ${D}/${datadir}/starlingx
-       mkdir -p ${D}/${sysconfdir}/cron.d
-       install -m 644 logrotate-cron.d ${D}/${sysconfdir}/cron.d/logrotate
-       install -m 644 logrotate.conf ${D}/${datadir}/starlingx/logrotate.conf
-}
-
-FILES_logrotate-config_append = " \
-       ${sysconfdir}/cron.d/logrotate \
-       ${datadir}/starlingx/logrotate.conf \
-       "
diff --git a/meta-stx/recipes-core/stx-integ/spectre-meltdown-checker_git.bb b/meta-stx/recipes-core/stx-integ/spectre-meltdown-checker_git.bb
deleted file mode 100644 (file)
index 29a6380..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = " \
-A shell script to tell if your system is vulnerable against the several \
-\"speculative execution\" CVEs that were made public since 2018. \
-"
-
-SUMMARY = "Spectre and Meltdown Checker"
-HOMEPAGE = "https://github.com/speed47/spectre-meltdown-checker"
-LICENSE = "GPL-3.0"
-LIC_FILES_CHKSUM = "file://spectre-meltdown-checker.sh;beginline=1;endline=5;md5=0113e62a200ec9a5f5ebdd7ad4329133"
-
-SRCREV = "3d21dae16864f8e8262d7a35bd4de300452b274d"
-SRCNAME = "spectre-meltdown-checker"
-BRANCH = "master"
-PROTOCOL = "https"
-PV = "v0.43+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/speed47/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-do_install() {
-       install -d -p -m 0755 ${D}/${sbindir} 
-       install -m 0644 ${S}/${SRCNAME}.sh ${D}/${sbindir}/${SRCNAME}.sh
-}
-
-FILES_${PN} = "${sbindir}/"
diff --git a/meta-stx/recipes-core/stx-integ/stx-collector.inc b/meta-stx/recipes-core/stx-integ/stx-collector.inc
deleted file mode 100644 (file)
index f4b04b4..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " collector"
-
-RDEPENDS_collector = " bash"
-DEPENDS += " ceph"
-
-do_configure_prepend () {
-       :
-} 
-
-do_compile_prepend () {
-       :
-}
-
-do_install_prepend () {
-
-       cd ${S}/tools/collector/scripts
-       install -m 755 -d ${D}/${sysconfdir}/collect.d
-       install -m 755 -d ${D}/${sysconfdir}/collect
-       install -m 755 -d ${D}/${sbindir}
-       install -m 755 -d ${D}/${bindir}
-       install -m 755 -d ${D}/${sbindir}
-       
-       install -m 755 collect ${D}/${sbindir}/collect
-       install -m 755 collect_host ${D}/${sbindir}/collect_host
-       install -m 755 collect_date ${D}/${sbindir}/collect_date
-       install -m 755 collect_utils ${D}/${sbindir}/collect_utils
-       install -m 755 collect_parms ${D}/${sbindir}/collect_parms
-       install -m 755 collect_mask_passwords ${D}/${sbindir}/collect_mask_passwords
-       install -m 755 expect_done ${D}/${sbindir}/expect_done
-       
-       install -m 755 collect_sysinv.sh ${D}/${sysconfdir}/collect.d/collect_sysinv
-       install -m 755 collect_psqldb.sh ${D}/${sysconfdir}/collect.d/collect_psqldb
-       install -m 755 collect_openstack.sh ${D}/${sysconfdir}/collect.d/collect_openstack
-       install -m 755 collect_networking.sh ${D}/${sysconfdir}/collect.d/collect_networking
-       install -m 755 collect_ceph.sh ${D}/${sysconfdir}/collect.d/collect_ceph
-       install -m 755 collect_sm.sh ${D}/${sysconfdir}/collect.d/collect_sm
-       install -m 755 collect_tc.sh ${D}/${sysconfdir}/collect.d/collect_tc
-       install -m 755 collect_nfv_vim.sh ${D}/${sysconfdir}/collect.d/collect_nfv_vim
-       install -m 755 collect_ovs.sh ${D}/${sysconfdir}/collect.d/collect_ovs
-       install -m 755 collect_patching.sh ${D}/${sysconfdir}/collect.d/collect_patching
-       install -m 755 collect_coredump.sh ${D}/${sysconfdir}/collect.d/collect_coredump
-       install -m 755 collect_crash.sh ${D}/${sysconfdir}/collect.d/collect_crash
-       install -m 755 collect_ima.sh ${D}/${sysconfdir}/collect.d/collect_ima
-       install -m 755 collect_fm.sh ${D}/${sysconfdir}/collect.d/collect_fm
-       
-       install -m 755 etc.exclude ${D}/${sysconfdir}/collect/etc.exclude
-       install -m 755 run.exclude ${D}/${sysconfdir}/collect/run.exclude
-       
-#      ln -sf /${sbindir}/collect ${D}//${bindir}/collect
-#      ln -sf /${sbindir}/collect ${D}/%{_sbindir}/collect
-}
-       
-FILES_collector_append += " \
-       ${sbindir}/collect \
-       ${sbindir}/collect_host \
-       ${sbindir}/collect_date \
-       ${sbindir}/collect_utils \
-       ${sbindir}/collect_parms \
-       ${sbindir}/collect_mask_passwords \
-       ${sbindir}/expect_done \
-       ${sysconfdir}/collect.d/collect_sysinv \
-       ${sysconfdir}/collect.d/collect_psqldb \
-       ${sysconfdir}/collect.d/collect_openstack \
-       ${sysconfdir}/collect.d/collect_networking \
-       ${sysconfdir}/collect.d/collect_ceph \
-       ${sysconfdir}/collect.d/collect_sm \
-       ${sysconfdir}/collect.d/collect_tc \
-       ${sysconfdir}/collect.d/collect_nfv_vim \
-       ${sysconfdir}/collect.d/collect_ovs \
-       ${sysconfdir}/collect.d/collect_patching \
-       ${sysconfdir}/collect.d/collect_coredump \
-       ${sysconfdir}/collect.d/collect_crash \
-       ${sysconfdir}/collect.d/collect_ima \
-       ${sysconfdir}/collect.d/collect_fm \
-       ${sysconfdir}/collect/etc.exclude \
-       ${sysconfdir}/collect/run.exclude \
-        "
diff --git a/meta-stx/recipes-core/stx-integ/stx-config-files.inc b/meta-stx/recipes-core/stx-integ/stx-config-files.inc
deleted file mode 100644 (file)
index d20c807..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = " stx-integ-config-files"
-
-require config-files/audit-config.inc
-require config-files/io-scheduler.inc
-require config-files/docker-config.inc
-require config-files/iptables-config.inc
-require config-files/memcached-custom.inc
-require config-files/ntp-config.inc
-require config-files/pam-config.inc
-require config-files/shadow-utils-config.inc
-require config-files/rsync-config.inc
-require config-files/sudo-config.inc
-require config-files/syslog-ng-config.inc
-require config-files/util-linux-config.inc
diff --git a/meta-stx/recipes-core/stx-integ/stx-filesystem.inc b/meta-stx/recipes-core/stx-integ/stx-filesystem.inc
deleted file mode 100644 (file)
index 3a9a270..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-filesystem"
-
-require filesystem/filesystem-scripts.inc
-require filesystem/iscsi-initiator-utils-config.inc
-require filesystem/nfscheck.inc
-require filesystem/nfs-utils-config.inc
diff --git a/meta-stx/recipes-core/stx-integ/stx-integ.bb b/meta-stx/recipes-core/stx-integ/stx-integ.bb
deleted file mode 100644 (file)
index cd2892b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-integ"
-
-STABLE = "starlingx/master"
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCNAME = "integ"
-SRCREV = "0bf4b546df8c7fdec8cfc6cb6f71b9609ee54306"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0 & GPL-2.0"
-LIC_FILES_CHKSUM = " \
-       file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://base/cgcs-users/cgcs-users-1.0/LICENSE;md5=3c7b4ff77c7d469e869911fde629c35c \
-       file://virt/kvm-timer-advance/files/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-       file://tools/storage-topology/storage-topology/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       "
-
-SRC_URI = "git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       "
-inherit distutils setuptools
-
-do_configure () {
-       :
-} 
-
-do_compile() {
-       :
-}
-
-do_install () {
-       
-# kvm-timer-advance
-
-       install -p -D -m 0755 ${S}/virt/kvm-timer-advance/files/setup_kvm_timer_advance.sh \
-                       ${D}/${bindir}/setup_kvm_timer_advance.sh
-       install -p -D -m 444 ${S}/virt/kvm-timer-advance/files/kvm_timer_advance_setup.service \
-                       ${D}/${systemd_system_unitdir}/kvm_timer_advance_setup.service
-
-}
-
-FILES_${PN} = " "
-
-PACKAGES += " kvm-timer-advance"
-DESCRIPTION_kvm-timer-advance = "StarlingX KVM Timer Advance Package"
-
-RDEPENDS_kvm-timer-advance += " \
-       systemd \
-       bash \
-       "
-# RDEPENDS_kvm-timer-advance += " bash"
-FILES_kvm-timer-advance = " \
-       ${bindir}/setup_kvm_timer_advance.sh \
-       ${systemd_system_unitdir}/kvm_timer_advance_setup.service \
-       "
diff --git a/meta-stx/recipes-core/stx-integ/stx-ldap.inc b/meta-stx/recipes-core/stx-integ/stx-ldap.inc
deleted file mode 100644 (file)
index 55d91b4..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DEPENDS += " ldapscripts"
diff --git a/meta-stx/recipes-core/stx-integ/stx-logging.inc b/meta-stx/recipes-core/stx-integ/stx-logging.inc
deleted file mode 100644 (file)
index eda8654..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-logging"
-
-
-require logging/logrotate-config.inc
-require logging/logmgmt.inc
diff --git a/meta-stx/recipes-core/stx-integ/stx-networking.inc b/meta-stx/recipes-core/stx-integ/stx-networking.inc
deleted file mode 100644 (file)
index c05d16b..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-networking"
-
-
-#require networking/lldpd.inc
diff --git a/meta-stx/recipes-core/stx-integ/stx-utilities.inc b/meta-stx/recipes-core/stx-integ/stx-utilities.inc
deleted file mode 100644 (file)
index 655a5f0..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-utilities"
-
-
-require utilities/platform-util.inc
-require utilities/namespace-utils.inc
-#require utilities/buildinfo.inc
diff --git a/meta-stx/recipes-core/stx-integ/utilities/buildinfo.inc b/meta-stx/recipes-core/stx-integ/utilities/buildinfo.inc
deleted file mode 100644 (file)
index 5f01ada..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-
-# Implement this through class ?
diff --git a/meta-stx/recipes-core/stx-integ/utilities/namespace-utils.inc b/meta-stx/recipes-core/stx-integ/utilities/namespace-utils.inc
deleted file mode 100644 (file)
index 3daf0ad..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " namespace-utils"
-
-RDEPENDS_namespace-utils_append = " bash"
-
-do_configure_append() {
-       :
-}
-
-do_compile_append() {
-       cd ${S}/utilities/namespace-utils/namespace-utils
-       ${CC} ${TARGET_CFLAGS} -c -o bashns.o bashns.c
-       ${CC} ${TARGET_LDFLAGS} -o bashns bashns.o
-}
-
-do_install_append() {
-       cd ${S}/utilities/namespace-utils/namespace-utils
-
-       install -d ${D}/${sbindir}
-       install -m 500 bashns  ${D}/${sbindir}
-       install -m 500 umount-in-namespace ${D}/${sbindir}
-}
-
-FILES_namespace-utils_append = "\
-       ${sbindir}/bashns \
-       ${sbindir}/umount-in-namespace \
-       "
diff --git a/meta-stx/recipes-core/stx-integ/utilities/platform-util.inc b/meta-stx/recipes-core/stx-integ/utilities/platform-util.inc
deleted file mode 100644 (file)
index eb2bacc..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " platform-util"
-
-RDEPENDS_platform-util_append = " bash"
-
-do_configure_append() {
-       distutils_do_configure
-}
-
-do_compile_append() {
-       cd ${S}/utilities/platform-util/platform-util
-       distutils_do_compile
-}
-
-do_install_append() {
-       cd ${S}/utilities/platform-util/platform-util
-       distutils_do_install
-
-       install -d ${D}/${bindir}
-       install ${S}/utilities/platform-util/scripts/cgcs_tc_setup.sh ${D}/${bindir}
-       install ${S}/utilities/platform-util/scripts/remotelogging_tc_setup.sh ${D}/${bindir}
-       install ${S}/utilities/platform-util/scripts/connectivity_test ${D}/${bindir}
-
-       install -d ${D}/${sysconfdir}/init.d
-       install ${S}/utilities/platform-util/scripts/log_functions.sh ${D}/${sysconfdir}/init.d
-
-       install -d ${D}/${sbindir}
-       install -m 700 -p -D ${S}/utilities/platform-util/scripts/patch-restart-mtce ${D}/${sbindir}
-       install -m 700 -p -D ${S}/utilities/platform-util/scripts/patch-restart-processes ${D}/${sbindir}
-       install -m 700 -p -D ${S}/utilities/platform-util/scripts/patch-restart-haproxy ${D}/${sbindir}
-
-       install -d ${D}/${systemd_system_unitdir}
-       install -m 644 -p -D ${S}/utilities/platform-util/scripts/opt-platform.mount ${D}/${systemd_system_unitdir} 
-       install -m 644 -p -D ${S}/utilities/platform-util/scripts/opt-platform.service  ${D}/${systemd_system_unitdir}
-}
-
-FILES_platform-util = "\
-       ${libdir}/python2.7/site-packages/platform_util \
-       ${libdir}/python2.7/site-packages/platform_util-1.0.0-py2.7.egg-info \
-       ${bindir}/cgcs_tc_setup.sh  \
-       ${bindir}/remotelogging_tc_setup.sh  \
-       ${bindir}/connectivity_test  \
-       ${bindir}/verify-license \
-       ${sysconfdir}/init.d/log_functions.sh  \
-       ${sbindir}/patch-restart-mtce \
-       ${sbindir}/patch-restart-processes \
-       ${sbindir}/patch-restart-haproxy \
-       ${systemd_system_unitdir}/opt-platform.mount \
-       ${systemd_system_unitdir}/opt-platform.service  \
-       "
diff --git a/meta-stx/recipes-core/stx-metal/files/0004-Use-snprintf-to-avoid-overflowing-amon.tx_buf.patch b/meta-stx/recipes-core/stx-metal/files/0004-Use-snprintf-to-avoid-overflowing-amon.tx_buf.patch
deleted file mode 100644 (file)
index 6afb971..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 3060369f60b2dc9e6d138cabd18d7f206c7bb0f5 Mon Sep 17 00:00:00 2001
-From: babak sarashki <babak.sarashki@windriver.com>
-Date: Thu, 27 Jun 2019 21:40:34 -0700
-Subject: [PATCH] Use snprintf to avoid overflowing amon.tx_buf
-
----
- mtce/src/public/amon.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/mtce/src/public/amon.c b/mtce/src/public/amon.c
-index b9146a2..941f905 100644
---- a/mtce/src/public/amon.c
-+++ b/mtce/src/public/amon.c
-@@ -257,7 +257,8 @@ int  active_monitor_dispatch ( void )
-             }
-             memset ( amon.tx_buf, 0 , AMON_MAX_LEN );
--            sprintf( amon.tx_buf, "%s %8x %d%c", str, magic, seq, '\0' );
-+            if (snprintf( amon.tx_buf, AMON_MAX_LEN,  "%s %8x %d%c", str, magic, seq, '\0' ) < 0)
-+              fprintf(stderr,"%s:%d amon.txbuf overflow detected!\n", __func__, __LINE__);
-             
-             if ( strcmp ( str, amon.name ) )
-             {
--- 
-2.17.1
-
diff --git a/meta-stx/recipes-core/stx-metal/files/0005-Use-LDFLAGS-when-linking-and-pass-flags-down-to-subm.patch b/meta-stx/recipes-core/stx-metal/files/0005-Use-LDFLAGS-when-linking-and-pass-flags-down-to-subm.patch
deleted file mode 100644 (file)
index 91cd83e..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-From 0db72ac0c57a9f15ae6999e4ccf85a9db1e752fd Mon Sep 17 00:00:00 2001
-From: babak sarashki <babak.sarashki@windriver.com>
-Date: Thu, 27 Jun 2019 22:25:15 -0700
-Subject: [PATCH] Use LDFLAGS when linking and pass flags down to submakes
-
----
- mtce/src/Makefile             | 27 +++++++++++++++------------
- mtce/src/alarm/Makefile       |  2 +-
- mtce/src/fsmon/Makefile       |  2 +-
- mtce/src/fsync/Makefile       |  2 +-
- mtce/src/heartbeat/Makefile   |  7 +++++--
- mtce/src/hostw/Makefile       |  2 +-
- mtce/src/hwmon/Makefile       |  2 +-
- mtce/src/lmon/Makefile        |  2 +-
- mtce/src/maintenance/Makefile |  4 ++--
- mtce/src/mtclog/Makefile      |  2 +-
- mtce/src/pmon/Makefile        |  2 +-
- 11 files changed, 30 insertions(+), 24 deletions(-)
-
-diff --git a/mtce/src/Makefile b/mtce/src/Makefile
-index a9ec0e2..8c256f1 100755
---- a/mtce/src/Makefile
-+++ b/mtce/src/Makefile
-@@ -8,18 +8,21 @@ VER=1
- VER_MJR=1
- build:
--      (cd public ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
--      (cd common ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
--      (cd alarm  ; make build VER=$(VER) VER_MJR=$(VER_MJR))
--      (cd heartbeat ; make build VER=$(VER) VER_MJR=$(VER_MJR))
--      (cd maintenance ; make build VER=$(VER) VER_MJR=$(VER_MJR))
--      (cd hwmon  ; make build VER=$(VER) VER_MJR=$(VER_MJR))
--      (cd mtclog ; make build VER=$(VER) VER_MJR=$(VER_MJR))
--      (cd lmon   ; make build VER=$(VER) VER_MJR=$(VER_MJR))
--      (cd pmon   ; make build VER=$(VER) VER_MJR=$(VER_MJR))
--      (cd fsmon  ; make build VER=$(VER) VER_MJR=$(VER_MJR))
--      (cd hostw  ; make build VER=$(VER) VER_MJR=$(VER_MJR))
--      (cd fsync  ; make build VER=$(VER) VER_MJR=$(VER_MJR))
-+      ( \
-+      cd public;\
-+      make -e CCFLAGS="$(CCFLAGS) -fPIC" LDFLAGS="$(LDFLAGS) -shared" INCLUDES="$(INCLUDES)" lib VER=$(VER) VER_MJR=$(VER_MJR) \
-+      )
-+      (cd common ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" lib VER=$(VER) VER_MJR=$(VER_MJR))
-+      (cd alarm  ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
-+      (cd heartbeat ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
-+      (cd maintenance ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
-+      (cd hwmon  ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
-+      (cd mtclog ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
-+      (cd lmon   ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
-+      (cd pmon   ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
-+      (cd fsmon  ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
-+      (cd hostw  ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
-+      (cd fsync  ; make -e LDFLAGS="$(LDFLAGS)" CCFLAGS="$(CCFLAGS)" INCLUDES="$(INCLUDES)" build VER=$(VER) VER_MJR=$(VER_MJR))
- clean:
-       @( cd common ; make clean )
-diff --git a/mtce/src/alarm/Makefile b/mtce/src/alarm/Makefile
-index a27b0fb..cff233c 100755
---- a/mtce/src/alarm/Makefile
-+++ b/mtce/src/alarm/Makefile
-@@ -43,7 +43,7 @@ library:
-        ar rcs libalarm.a alarm.o $(EXTRAARFLAGS)
- process: $(OBJS)
--      $(CXX) $(CCFLAGS) ${OBJS} -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o mtcalarmd
-+      $(CXX) $(CCFLAGS) $(LDFLAGS) ${OBJS} -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o mtcalarmd
- clean_bins:
-       @rm -v -f $(BINS)
-diff --git a/mtce/src/fsmon/Makefile b/mtce/src/fsmon/Makefile
-index b53cce0..33256ab 100644
---- a/mtce/src/fsmon/Makefile
-+++ b/mtce/src/fsmon/Makefile
-@@ -28,7 +28,7 @@ else
- endif
- build: clean static_analysis $(OBJS)
--      $(CXX) $(CCFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o fsmond
-+      $(CXX) $(CCFLAGS) $(LDFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o fsmond
- common:
-       ( cd ../common ; make clean ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
-diff --git a/mtce/src/fsync/Makefile b/mtce/src/fsync/Makefile
-index b041f15..85c1543 100644
---- a/mtce/src/fsync/Makefile
-+++ b/mtce/src/fsync/Makefile
-@@ -16,7 +16,7 @@ all: build
-       $(CC) $(INCLUDES) $(CCFLAGS) $(EXTRACCFLAGS) -c $< -o $@
- build: $(OBJS)
--      $(CC) $(OBJS) $(LDLIBS) -o fsync
-+      $(CC) $(CCFLAGS) $(LDFLAGS) $(OBJS) $(LDLIBS) -o fsync
- clean: 
-       @rm -v -f $(OBJS) fsync
-diff --git a/mtce/src/heartbeat/Makefile b/mtce/src/heartbeat/Makefile
-index a625f20..b8deda7 100755
---- a/mtce/src/heartbeat/Makefile
-+++ b/mtce/src/heartbeat/Makefile
-@@ -33,8 +33,11 @@ endif
- all: static_analysis common agent client
- build: static_analysis $(OBJS)
--      $(CXX) $(CCFLAGS) hbsAlarm.o hbsAgent.o hbsUtil.o hbsCluster.o hbsStubs.o ../common/nodeClass.o -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o hbsAgent
--      $(CXX) $(CCFLAGS) hbsClient.o hbsPmon.o hbsUtil.o -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o hbsClient
-+      $(CXX) $(CCFLAGS) $(LDFLAGS) \
-+              hbsAlarm.o hbsAgent.o hbsUtil.o hbsCluster.o hbsStubs.o ../common/nodeClass.o -L../public -L../alarm \
-+                      $(LDLIBS) $(EXTRALDFLAGS) -o hbsAgent
-+
-+      $(CXX) $(CCFLAGS) $(LDFLAGS) hbsClient.o hbsPmon.o hbsUtil.o -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o hbsClient
- common:
-       ( cd ../common ; make clean ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
-diff --git a/mtce/src/hostw/Makefile b/mtce/src/hostw/Makefile
-index d72708c..af18059 100755
---- a/mtce/src/hostw/Makefile
-+++ b/mtce/src/hostw/Makefile
-@@ -28,7 +28,7 @@ else
- endif
- build: clean static_analysis $(OBJS)
--      $(CXX) $(CCFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o hostwd
-+      $(CXX) $(CCFLAGS) $(LDFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o hostwd
- common:
-       ( cd ../common ; make clean ; make -j1 lib VER=$(VER) VER_MJR=$(VER_MJR))
-diff --git a/mtce/src/hwmon/Makefile b/mtce/src/hwmon/Makefile
-index 6d7cee3..c168c43 100644
---- a/mtce/src/hwmon/Makefile
-+++ b/mtce/src/hwmon/Makefile
-@@ -45,7 +45,7 @@ else
- endif
- build: clean static_analysis $(OBJS)
--      $(CXX) $(CCFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o $(BIN)
-+      $(CXX) $(CCFLAGS) $(LDFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o $(BIN)
- common:
-       ( cd ../common ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
-diff --git a/mtce/src/lmon/Makefile b/mtce/src/lmon/Makefile
-index 9e328a4..a1a8519 100755
---- a/mtce/src/lmon/Makefile
-+++ b/mtce/src/lmon/Makefile
-@@ -29,7 +29,7 @@ else
- endif
- build: clean static_analysis $(OBJS)
--      $(CXX) $(CCFLAGS) $(OBJS) $(LDPATH) $(LDLIBS) $(EXTRALDFLAGS) -o lmond
-+      $(CXX) $(CCFLAGS) $(LDFLAGS) $(OBJS) $(LDPATH) $(LDLIBS) $(EXTRALDFLAGS) -o lmond
- clean:
-       @rm -v -f $(OBJ) lmond *.o *.a
-diff --git a/mtce/src/maintenance/Makefile b/mtce/src/maintenance/Makefile
-index 85c2db6..e6a8892 100755
---- a/mtce/src/maintenance/Makefile
-+++ b/mtce/src/maintenance/Makefile
-@@ -77,10 +77,10 @@ common:
-       ( cd ../common ; make clean ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
- mtcAgent: $(OBJS)
--      $(CXX) $(CONTROL_OBJS) -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o mtcAgent
-+      $(CXX) $(CCFLAGS) $(LDFLAGS) $(CONTROL_OBJS) -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o mtcAgent
- mtcClient: $(OBJS)
--      $(CXX) $(COMPUTE_OBJS) -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o mtcClient
-+      $(CXX) $(CCFLAGS) $(LDFLAGS) $(COMPUTE_OBJS) -L../public -L../alarm $(LDLIBS) $(EXTRALDFLAGS) -o mtcClient
- remove_bins:
-       @rm -v -f $(BINS)
-diff --git a/mtce/src/mtclog/Makefile b/mtce/src/mtclog/Makefile
-index 1d49aa4..fb513d9 100644
---- a/mtce/src/mtclog/Makefile
-+++ b/mtce/src/mtclog/Makefile
-@@ -30,7 +30,7 @@ else
- endif
- build: clean static_analysis $(OBJS)
--      $(CXX) $(CCFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o mtclogd
-+      $(CXX) $(CCFLAGS) $(LDFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o mtclogd
- common:
-       ( cd ../common ; make clean ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
-diff --git a/mtce/src/pmon/Makefile b/mtce/src/pmon/Makefile
-index f75f2be..c34e204 100755
---- a/mtce/src/pmon/Makefile
-+++ b/mtce/src/pmon/Makefile
-@@ -29,7 +29,7 @@ else
- endif
- build: clean static_analysis $(OBJS)
--      $(CXX) $(CCFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o pmond
-+      $(CXX) $(CCFLAGS) $(LDFLAGS) $(OBJS) -L../daemon -L../common $(LDLIBS) $(EXTRALDFLAGS) -o pmond
- common:
-       ( cd ../common ; make clean ; make lib VER=$(VER) VER_MJR=$(VER_MJR))
--- 
-2.17.1
-
diff --git a/meta-stx/recipes-core/stx-metal/files/0006-stx-metal-remove-argparse-requirement-from-inventory.patch b/meta-stx/recipes-core/stx-metal/files/0006-stx-metal-remove-argparse-requirement-from-inventory.patch
deleted file mode 100644 (file)
index eda8033..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-From d42dc102aaca386f314808e771a56b9ecbd29876 Mon Sep 17 00:00:00 2001
-From: "Sar Ashki, Babak" <Babak.SarAshki@windriver.com>
-Date: Tue, 25 Feb 2020 13:58:15 -0800
-Subject: [PATCH] stx-metal: remove argparse requirement from inventory
-
----
- inventory/inventory/requirements.txt | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/inventory/inventory/requirements.txt b/inventory/inventory/requirements.txt
-index 993f224..82170c3 100644
---- a/inventory/inventory/requirements.txt
-+++ b/inventory/inventory/requirements.txt
-@@ -6,7 +6,6 @@ pbr>=2.0 # Apache-2.0
- SQLAlchemy
- amqplib>=0.6.1
- anyjson>=0.3.3
--argparse
- eventlet==0.20.0
- futurist>=1.2.0 # Apache-2.0
- greenlet>=0.3.2 # MIT
--- 
-2.23.0
-
diff --git a/meta-stx/recipes-core/stx-metal/files/0007-mtce-do-not-use-which-to-check-CC.patch b/meta-stx/recipes-core/stx-metal/files/0007-mtce-do-not-use-which-to-check-CC.patch
deleted file mode 100644 (file)
index 746d2b4..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-From 840f382ee691596474966f74bd1be37722bbc91c Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Tue, 9 Jun 2020 20:52:31 +0800
-Subject: [PATCH] mtce: do not use which to check CC
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- mtce-common/src/common/Makefile | 4 +---
- mtce/src/common/Makefile        | 4 +---
- mtce/src/public/Makefile        | 4 +---
- 3 files changed, 3 insertions(+), 9 deletions(-)
-
-diff --git a/mtce-common/src/common/Makefile b/mtce-common/src/common/Makefile
-index e0a5574..d44eef6 100755
---- a/mtce-common/src/common/Makefile
-+++ b/mtce-common/src/common/Makefile
-@@ -54,9 +54,7 @@ CCFLAGS = -g -O2 -Wall -Wextra -Werror -std=c++11
- STATIC_ANALYSIS_TOOL = cppcheck
- STATIC_ANALYSIS_TOOL_EXISTS = $(shell [[ -e `which $(STATIC_ANALYSIS_TOOL)` ]] && echo 1 || echo 0)
--ifeq (,$(shell which ${CC}))
--CC=g++
--endif
-+CC ?= g++
- .cpp.o:
-       $(CXX) $(CCFLAGS) $(INCLUDES) $(EXTRACCFLAGS) -c $< -o $@
-diff --git a/mtce/src/common/Makefile b/mtce/src/common/Makefile
-index 229a1a3..f797724 100755
---- a/mtce/src/common/Makefile
-+++ b/mtce/src/common/Makefile
-@@ -17,9 +17,7 @@ CCFLAGS = -g -O2 -Wall -Wextra -Werror -std=c++11
- STATIC_ANALYSIS_TOOL = cppcheck
- STATIC_ANALYSIS_TOOL_EXISTS = $(shell [[ -e `which $(STATIC_ANALYSIS_TOOL)` ]] && echo 1 || echo 0)
--ifeq (,$(shell which ${CC}))
--CC=g++
--endif
-+CC ?= g++
- .cpp.o:
-       $(CXX) $(CCFLAGS) $(INCLUDES) $(EXTRACCFLAGS) -c $< -o $@
-diff --git a/mtce/src/public/Makefile b/mtce/src/public/Makefile
-index 403638f..7dd80e4 100644
---- a/mtce/src/public/Makefile
-+++ b/mtce/src/public/Makefile
-@@ -13,9 +13,7 @@ LDFLAGS = -shared
- CFLAGS = -fPIC -g -O2 -Wall -Wextra -Werror
- TARGET_LIB = libamon.so
- lib: build
--ifeq (,$(shell which ${CC}))
--CC=gcc
--endif
-+CC ?= gcc
- STATIC_ANALYSIS_TOOL = cppcheck
- STATIC_ANALYSIS_TOOL_EXISTS = $(shell [[ -e `which $(STATIC_ANALYSIS_TOOL)` ]] && echo 1 || echo 0)
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-core/stx-metal/files/0008-stx-warrior-adjust-paths.patch b/meta-stx/recipes-core/stx-metal/files/0008-stx-warrior-adjust-paths.patch
deleted file mode 100644 (file)
index b5e5b94..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-diff --git a/mtce/src/alarm/scripts/mtcalarm.init b/mtce/src/alarm/scripts/mtcalarm.init
-index 57f348f..419da8a 100644
---- a/mtce/src/alarm/scripts/mtcalarm.init
-+++ b/mtce/src/alarm/scripts/mtcalarm.init
-@@ -20,7 +20,7 @@
- . /etc/init.d/functions
- DAEMON_NAME="mtcalarmd"
--DAEMON="/usr/local/bin/${DAEMON_NAME}"
-+DAEMON="/usr/bin/${DAEMON_NAME}"
- PIDFILE="/var/run/${DAEMON_NAME}.pid"
- PLATFORM_CONF="/etc/platform/platform.conf"
-diff --git a/mtce/src/fsmon/scripts/fsmon b/mtce/src/fsmon/scripts/fsmon
-index 6d8abcc..de9da01 100644
---- a/mtce/src/fsmon/scripts/fsmon
-+++ b/mtce/src/fsmon/scripts/fsmon
-@@ -20,7 +20,7 @@
- . /etc/init.d/functions
- DAEMON_NAME="fsmond"
--DAEMON="/usr/local/bin/${DAEMON_NAME}"
-+DAEMON="/usr/bin/${DAEMON_NAME}"
- PIDFILE="/var/run/${DAEMON_NAME}.pid"
- # Linux Standard Base (LSB) Error Codes
-diff --git a/mtce/src/hostw/scripts/hostw b/mtce/src/hostw/scripts/hostw
-index 82a4aaf..4946092 100644
---- a/mtce/src/hostw/scripts/hostw
-+++ b/mtce/src/hostw/scripts/hostw
-@@ -17,12 +17,12 @@
- # Short-Description: host watchdog daemon
- ### END INIT INFO
--# echo "7:3:respawn:/usr/local/bin/hostwd" >> /etc/inittab
-+# echo "7:3:respawn:/usr/bin/hostwd" >> /etc/inittab
- . /etc/init.d/functions
- DAEMON_NAME="hostwd"
--DAEMON="/usr/local/bin/${DAEMON_NAME}"
-+DAEMON="/usr/bin/${DAEMON_NAME}"
- IFACE=""
- if [ ! -e "$DAEMON" ] ; then
-diff --git a/mtce/src/hwmon/scripts/lsb/hwmon b/mtce/src/hwmon/scripts/lsb/hwmon
-index 4596a36..ba459c1 100644
---- a/mtce/src/hwmon/scripts/lsb/hwmon
-+++ b/mtce/src/hwmon/scripts/lsb/hwmon
-@@ -20,7 +20,7 @@
- . /etc/init.d/functions
- DAEMON_NAME="hwmond"
--DAEMON="/usr/local/bin/${DAEMON_NAME}"
-+DAEMON="/usr/bin/${DAEMON_NAME}"
- PIDFILE="/var/run/${DAEMON_NAME}.pid"
- # Linux Standard Base (LSB) Error Codes
-diff --git a/mtce/src/hwmon/scripts/ocf/hwmon b/mtce/src/hwmon/scripts/ocf/hwmon
-index 14f52a2..b71a77f 100644
---- a/mtce/src/hwmon/scripts/ocf/hwmon
-+++ b/mtce/src/hwmon/scripts/ocf/hwmon
-@@ -45,7 +45,7 @@ OCF_RESKEY_state_default="standby"
- : ${OCF_RESKEY_pid=${OCF_RESKEY_pid_default}}
- : ${OCF_RESKEY_state=${OCF_RESKEY_state_default}}
--mydaemon="/usr/local/bin/${OCF_RESKEY_binary}"
-+mydaemon="/usr/bin/${OCF_RESKEY_binary}"
- statusfile="/var/run/${OCF_RESKEY_binary}.info"
- #######################################################################
-@@ -157,9 +157,9 @@ hwmond_validate() {
-         ocf_log info "hwmond:validate"
-    fi
--    check_binary "/usr/local/bin/${OCF_RESKEY_binary}"
--    check_binary "/usr/local/bin/mtcAgent"
--    check_binary "/usr/local/bin/mtcClient"
-+    check_binary "/usr/bin/${OCF_RESKEY_binary}"
-+    check_binary "/usr/bin/mtcAgent"
-+    check_binary "/usr/bin/mtcClient"
-     check_binary sysinv-api
-     check_binary pidof
-diff --git a/mtce/src/lmon/scripts/lmon b/mtce/src/lmon/scripts/lmon
-index 6024e16..21538ee 100644
---- a/mtce/src/lmon/scripts/lmon
-+++ b/mtce/src/lmon/scripts/lmon
-@@ -20,7 +20,7 @@
- . /etc/init.d/functions
- DAEMON_NAME="lmond"
--DAEMON="/usr/local/bin/${DAEMON_NAME}"
-+DAEMON="/usr/bin/${DAEMON_NAME}"
- IFACE=""
- if [ ! -e "$DAEMON" ] ; then
-diff --git a/mtce/src/maintenance/mtcCompMsg.cpp b/mtce/src/maintenance/mtcCompMsg.cpp
-index b5b221e..daaea9b 100755
---- a/mtce/src/maintenance/mtcCompMsg.cpp
-+++ b/mtce/src/maintenance/mtcCompMsg.cpp
-@@ -541,7 +541,7 @@ int mtc_service_command ( mtc_socket_type * sock_ptr, int interface )
-             {
-                 ilog ("Disk wipe in progress (%s)\n", interface_name.c_str());
-                 daemon_log ( NODE_RESET_FILE, "wipedisk command" );
--                rc = system("/usr/local/bin/wipedisk --force");
-+                rc = system("/usr/bin/wipedisk --force");
-                 ilog ("Disk wipe complete - Forcing Reboot ...\n");
-                 rc = system("/usr/bin/systemctl reboot --force");
-                 exit (0);
-diff --git a/mtce/src/pmon/scripts/pmon b/mtce/src/pmon/scripts/pmon
-index bdc3ab7..4cb813e 100644
---- a/mtce/src/pmon/scripts/pmon
-+++ b/mtce/src/pmon/scripts/pmon
-@@ -17,12 +17,12 @@
- # Short-Description: process Monitor daemon 
- ### END INIT INFO
--# echo "7:3:respawn:/usr/local/bin/pmond" >> /etc/inittab
-+# echo "7:3:respawn:/usr/bin/pmond" >> /etc/inittab
- . /etc/init.d/functions
- DAEMON_NAME="pmond"
--DAEMON="/usr/local/bin/${DAEMON_NAME}"
-+DAEMON="/usr/bin/${DAEMON_NAME}"
- IFACE=""
- if [ ! -e "$DAEMON" ] ; then
-diff --git a/mtce/src/scripts/hbsAgent b/mtce/src/scripts/hbsAgent
-index d1a2f4f..e8157f0 100755
---- a/mtce/src/scripts/hbsAgent
-+++ b/mtce/src/scripts/hbsAgent
-@@ -43,7 +43,7 @@ OCF_RESKEY_state_default="active"
- : ${OCF_RESKEY_pid=${OCF_RESKEY_pid_default}}
- : ${OCF_RESKEY_state=${OCF_RESKEY_state_default}}
--mydaemon="/usr/local/bin/${OCF_RESKEY_binary}"
-+mydaemon="/usr/bin/${OCF_RESKEY_binary}"
- statusfile="/var/run/${OCF_RESKEY_binary}.info"
- virtualhostfile="/var/run/virtual.host"
- facterexec="/usr/bin/facter"
-@@ -148,8 +148,8 @@ hbsAgent_validate() {
-         ocf_log info "hbsAgent:validate"  
-     fi
--    check_binary "/usr/local/bin/${OCF_RESKEY_binary}"
--    check_binary "/usr/local/bin/mtcAgent"
-+    check_binary "/usr/bin/${OCF_RESKEY_binary}"
-+    check_binary "/usr/bin/mtcAgent"
-     check_binary pidof
-     if [ ! -f ${OCF_RESKEY_config} ] ; then
-diff --git a/mtce/src/scripts/hbsClient b/mtce/src/scripts/hbsClient
-index 67d7e84..7c412b1 100644
---- a/mtce/src/scripts/hbsClient
-+++ b/mtce/src/scripts/hbsClient
-@@ -20,7 +20,7 @@
- . /etc/init.d/functions
- DAEMON_NAME="hbsClient"
--DAEMON="/usr/local/bin/${DAEMON_NAME}"
-+DAEMON="/usr/bin/${DAEMON_NAME}"
- PIDFILE="/var/run/${DAEMON_NAME}.pid"
- IFACE=""
-diff --git a/mtce/src/scripts/mtcAgent b/mtce/src/scripts/mtcAgent
-index 6e75ace..885bd3d 100755
---- a/mtce/src/scripts/mtcAgent
-+++ b/mtce/src/scripts/mtcAgent
-@@ -45,7 +45,7 @@ OCF_RESKEY_state_default="standby"
- : ${OCF_RESKEY_pid=${OCF_RESKEY_pid_default}}
- : ${OCF_RESKEY_state=${OCF_RESKEY_state_default}}
--mydaemon="/usr/local/bin/${OCF_RESKEY_binary}"
-+mydaemon="/usr/bin/${OCF_RESKEY_binary}"
- statusfile="/var/run/${OCF_RESKEY_binary}.info"
- #######################################################################
-@@ -157,10 +157,10 @@ mtcAgent_validate() {
-         ocf_log info "mtcAgent:validate"
-    fi
--    check_binary "/usr/local/bin/${OCF_RESKEY_binary}"
--    check_binary "/usr/local/bin/hbsAgent"
--    check_binary "/usr/local/bin/mtcClient"
--    check_binary "/usr/local/bin/hbsClient"
-+    check_binary "/usr/bin/${OCF_RESKEY_binary}"
-+    check_binary "/usr/bin/hbsAgent"
-+    check_binary "/usr/bin/mtcClient"
-+    check_binary "/usr/bin/hbsClient"
-     check_binary sysinv-api
-     check_binary pidof
-diff --git a/mtce/src/scripts/mtcClient b/mtce/src/scripts/mtcClient
-index 1113689..de4f407 100644
---- a/mtce/src/scripts/mtcClient
-+++ b/mtce/src/scripts/mtcClient
-@@ -20,7 +20,7 @@
- . /etc/init.d/functions
- DAEMON_NAME="mtcClient"
--DAEMON="/usr/local/bin/${DAEMON_NAME}"
-+DAEMON="/usr/bin/${DAEMON_NAME}"
- PIDFILE="/var/run/${DAEMON_NAME}.pid"
- PLATFORM_CONF="/etc/platform/platform.conf"
-diff --git a/mtce/src/scripts/mtcinit b/mtce/src/scripts/mtcinit
-index 8ff9bbb..4672e2f 100755
---- a/mtce/src/scripts/mtcinit
-+++ b/mtce/src/scripts/mtcinit
-@@ -9,10 +9,10 @@
- . /etc/init.d/functions
- MTCCLIENT_NAME="mtcClient"
--MTCCLIENT="/usr/local/bin/${MTCCLIENT_NAME}"
-+MTCCLIENT="/usr/bin/${MTCCLIENT_NAME}"
- HBSCLIENT_NAME="hbsClient"
--HBSCLIENT="/usr/local/bin/${HBSCLIENT_NAME}"
-+HBSCLIENT="/usr/bin/${HBSCLIENT_NAME}"
- IFACE=""
-diff --git a/mtce/src/scripts/mtclog b/mtce/src/scripts/mtclog
-index 80db22a..f904c4d 100644
---- a/mtce/src/scripts/mtclog
-+++ b/mtce/src/scripts/mtclog
-@@ -22,7 +22,7 @@
- . /etc/init.d/functions
- DAEMON_NAME="mtclogd"
--DAEMON="/usr/local/bin/${DAEMON_NAME}"
-+DAEMON="/usr/bin/${DAEMON_NAME}"
- PIDFILE="/var/run/${DAEMON_NAME}.pid"
- PLATFORM_CONF="/etc/platform/platform.conf"
diff --git a/meta-stx/recipes-core/stx-metal/files/0010-libamon-add-shared-option.patch b/meta-stx/recipes-core/stx-metal/files/0010-libamon-add-shared-option.patch
deleted file mode 100644 (file)
index 185375c..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From d233ae2930996102bbdd16085b29058a4d01179c Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Tue, 9 Jun 2020 22:49:56 +0800
-Subject: [PATCH] libamon: add shared option
-
-The -shared option is set in the parent Makefile, but somehow
-it's lost on CentOS, so add it diretly in the target command.
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- mtce/src/public/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mtce/src/public/Makefile b/mtce/src/public/Makefile
-index 7dd80e4..1967a90 100644
---- a/mtce/src/public/Makefile
-+++ b/mtce/src/public/Makefile
-@@ -37,7 +37,7 @@ ${TARGET_LIB}.${VER_MJR}: ${TARGET_LIB}.${VER}
-       ln -sf $^ $@
- ${TARGET_LIB}.${VER}: $(OBJS)
--      $(CC) ${LDFLAGS} -Wl,-soname,${TARGET_LIB}.${VER_MJR} -o $@ $^
-+      $(CC) ${LDFLAGS} -shared -Wl,-soname,${TARGET_LIB}.${VER_MJR} -o $@ $^
- $(SRCS:.c=.d):%.d:%.c
-       $(CC) $(CFLAGS) -MM $< >$@
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-core/stx-metal/files/0011-kickstarts-adjustment-fnd-fixes-or-poky-stx.patch b/meta-stx/recipes-core/stx-metal/files/0011-kickstarts-adjustment-fnd-fixes-or-poky-stx.patch
deleted file mode 100644 (file)
index d028824..0000000
+++ /dev/null
@@ -1,308 +0,0 @@
-From 0b620c4f4936af27d915b0ec809dd2f214f4daa9 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Wed, 10 Jun 2020 10:36:18 +0800
-Subject: [PATCH] kickstarts: adjustment fnd fixes or poky-stx
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- bsp-files/kickstarts/post_common.cfg               | 87 +++++++++++++++++-----
- .../kickstarts/post_kernel_aio_and_worker.cfg      |  4 +-
- bsp-files/kickstarts/post_kernel_controller.cfg    |  4 +-
- bsp-files/kickstarts/post_kernel_storage.cfg       |  4 +-
- bsp-files/kickstarts/post_usb_controller.cfg       |  3 +-
- bsp-files/kickstarts/pre_common_head.cfg           | 33 +++++++-
- bsp-files/kickstarts/pre_pkglist.cfg               | 19 +----
- bsp-files/kickstarts/pre_pkglist_lowlatency.cfg    | 18 +----
- 8 files changed, 110 insertions(+), 62 deletions(-)
-
-diff --git a/bsp-files/kickstarts/post_common.cfg b/bsp-files/kickstarts/post_common.cfg
-index 48abb74..a166c54 100644
---- a/bsp-files/kickstarts/post_common.cfg
-+++ b/bsp-files/kickstarts/post_common.cfg
-@@ -1,3 +1,55 @@
-+######################################
-+# workarounds or fixes for poky-stx
-+######################################
-+%post --erroronfail
-+
-+# Add extra users and groups
-+SYSADMIN_P="4SuW8cnXFyxsk"
-+groupadd -f -g 345 sys_protected
-+useradd -m -g sys_protected -G root -d /home/sysadmin -p ${SYSADMIN_P} -s /bin/sh sysadmin
-+
-+groupadd -r -g 128 nscd
-+useradd -M -o -r -d / -s /sbin/nologin -c 'NSCD Daemon' -u 28 -g nscd nscd
-+
-+useradd -p '' patching
-+groupadd patching
-+usermod -a -G patching patching
-+
-+useradd -p '' nfv
-+groupadd nfv
-+usermod -a -G nfv nfv
-+
-+usermod -a -G sys_protected sysadmin
-+usermod -a -G sys_protected sysinv
-+usermod -a -G sys_protected www
-+usermod -a -G sys_protected nfv
-+usermod -a -G sys_protected patching
-+usermod -a -G sys_protected haproxy
-+usermod -a -G snmpd fm
-+usermod -P root root
-+
-+# Extend path variable for sysadmin
-+echo 'PATH=/sbin:/usr/sbin:$PATH' >> /home/sysadmin/.bashrc
-+chown sysadmin:sys_protected /home/sysadmin/.bashrc
-+
-+# Avoid duplicate with systemd-fstab-generator
-+sed -i "s|\(^.*/dev/root\)|#\1|" /etc/fstab
-+
-+%end
-+
-+%post --nochroot
-+# installer images for pxe-network-installer
-+mkdir -p /mnt/sysimage/pxeboot/rel-xxxPLATFORM_RELEASExxx
-+cp -P /boot/installer-initrd* /mnt/sysimage/pxeboot/rel-xxxPLATFORM_RELEASExxx/
-+cp /boot/bzImage /mnt/sysimage/pxeboot/rel-xxxPLATFORM_RELEASExxx/installer-bzImage_1.0
-+ln -s installer-bzImage_1.0 /mnt/sysimage/pxeboot/rel-xxxPLATFORM_RELEASExxx/installer-bzImage
-+
-+if [ -f /media/realroot/efi.img ]; then
-+  cp /media/realroot/efi.img /mnt/sysimage/pxeboot/rel-xxxPLATFORM_RELEASExxx/efiboot.img
-+fi
-+
-+%end
-+
- %post --erroronfail
- # Source common functions
-@@ -31,25 +83,26 @@ else
- fi
- . /etc/platform/platform.conf
--# Configure smart package manager channels
--rm -rf /var/lib/smart
--mkdir /var/lib/smart
--/usr/bin/smart channel -y \
--    --add rpmdb type=rpm-sys name="RPM Database"
--/usr/bin/smart channel -y \
--    --add base type=rpm-md name="Base" baseurl=http://controller:${http_port:-8080}/feed/rel-xxxPLATFORM_RELEASExxx
--/usr/bin/smart channel -y \
--    --add updates type=rpm-md name="Patches" baseurl=http://controller:${http_port:-8080}/updates/rel-xxxPLATFORM_RELEASExxx
--
--# Configure smart to use rpm --nolinktos option
--/usr/bin/smart config --set rpm-nolinktos=true
--
--# Configure smart to use rpm --nosignature option
--/usr/bin/smart config --set rpm-check-signatures=false
- # Delete the CentOS yum repo files
- rm -f /etc/yum.repos.d/CentOS-*
-+# Create platform yum repo file
-+mkdir -p /etc/yum.repos.d
-+cat >/etc/yum.repos.d/platform.repo <<EOF
-+[platform-base]
-+name=platform-base
-+baseurl=http://controller:${http_port:-8080}/feed/rel-xxxPLATFORM_RELEASExxx
-+gpgcheck=0
-+enabled=1
-+
-+[platform-updates]
-+name=platform-updates
-+baseurl=http://controller:${http_port:-8080}/updates/rel-xxxPLATFORM_RELEASExxx
-+gpgcheck=0
-+enabled=1
-+EOF
-+
- # Persist the boot device naming as UDEV rules so that if the network device
- # order changes post-install that we will still be able to DHCP from the
- # correct interface to reach the active controller.  For most nodes only the
-@@ -73,7 +126,7 @@ done
- chage -d 0 sysadmin
- # Lock the root password
--passwd -l root
-+#passwd -l root
- # Enable tmpfs mount for /tmp
- # delete /var/tmp so that it can similinked in
-@@ -81,7 +134,7 @@ rm -rf /var/tmp
- systemctl enable tmp.mount
- # Disable automount of /dev/hugepages
--systemctl mask dev-hugepages.mount
-+#systemctl mask dev-hugepages.mount
- # Disable firewall
- systemctl disable firewalld
-diff --git a/bsp-files/kickstarts/post_kernel_aio_and_worker.cfg b/bsp-files/kickstarts/post_kernel_aio_and_worker.cfg
-index f228110..f4037fa 100644
---- a/bsp-files/kickstarts/post_kernel_aio_and_worker.cfg
-+++ b/bsp-files/kickstarts/post_kernel_aio_and_worker.cfg
-@@ -95,9 +95,9 @@ fi
- perl -pi -e 's/(GRUB_CMDLINE_LINUX=.*)\"/\1'"$KERN_OPTS"'\"/g' /etc/default/grub
- if [ -d /sys/firmware/efi ] ; then
--  grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
-+  grub-mkconfig -o /boot/efi/EFI/centos/grub.cfg
- else
--  grub2-mkconfig -o /boot/grub2/grub.cfg
-+  grub-mkconfig -o /boot/grub/grub.cfg
- fi
- %end
-diff --git a/bsp-files/kickstarts/post_kernel_controller.cfg b/bsp-files/kickstarts/post_kernel_controller.cfg
-index a49f835..c076fdc 100644
---- a/bsp-files/kickstarts/post_kernel_controller.cfg
-+++ b/bsp-files/kickstarts/post_kernel_controller.cfg
-@@ -42,9 +42,9 @@ fi
- perl -pi -e 's/(GRUB_CMDLINE_LINUX=.*)\"/\1'"$KERN_OPTS"'\"/g' /etc/default/grub
- if [ -d /sys/firmware/efi ] ; then
--  grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
-+  grub-mkconfig -o /boot/efi/EFI/centos/grub.cfg
- else
--  grub2-mkconfig -o /boot/grub2/grub.cfg
-+  grub-mkconfig -o /boot/grub/grub.cfg
- fi
- %end
-diff --git a/bsp-files/kickstarts/post_kernel_storage.cfg b/bsp-files/kickstarts/post_kernel_storage.cfg
-index 53bff1b..fb8eac4 100644
---- a/bsp-files/kickstarts/post_kernel_storage.cfg
-+++ b/bsp-files/kickstarts/post_kernel_storage.cfg
-@@ -36,9 +36,9 @@ fi
- perl -pi -e 's/(GRUB_CMDLINE_LINUX=.*)\"/\1'"$KERN_OPTS"'\"/g' /etc/default/grub
- if [ -d /sys/firmware/efi ] ; then
--  grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
-+  grub-mkconfig -o /boot/efi/EFI/centos/grub.cfg
- else
--  grub2-mkconfig -o /boot/grub2/grub.cfg
-+  grub-mkconfig -o /boot/grub/grub.cfg
- fi
- %end
-diff --git a/bsp-files/kickstarts/post_usb_controller.cfg b/bsp-files/kickstarts/post_usb_controller.cfg
-index 788aee5..85ac641 100644
---- a/bsp-files/kickstarts/post_usb_controller.cfg
-+++ b/bsp-files/kickstarts/post_usb_controller.cfg
-@@ -61,8 +61,7 @@ fi
- if [ -d $srcdir/Packages ] ; then
-     mkdir -p /mnt/sysimage/www/pages/feed/rel-xxxPLATFORM_RELEASExxx
--    cp -r $srcdir/Packages /mnt/sysimage/www/pages/feed/rel-xxxPLATFORM_RELEASExxx/Packages
--    cp -r $srcdir/repodata /mnt/sysimage/www/pages/feed/rel-xxxPLATFORM_RELEASExxx/repodata
-+    cp -r $srcdir/Packages/* /mnt/sysimage/www/pages/feed/rel-xxxPLATFORM_RELEASExxx/
-     cp $srcdir/*.cfg /mnt/sysimage/www/pages/feed/rel-xxxPLATFORM_RELEASExxx
- fi
-diff --git a/bsp-files/kickstarts/pre_common_head.cfg b/bsp-files/kickstarts/pre_common_head.cfg
-index 88edab4..d3c1ba9 100644
---- a/bsp-files/kickstarts/pre_common_head.cfg
-+++ b/bsp-files/kickstarts/pre_common_head.cfg
-@@ -46,17 +46,46 @@ echo "bootloader --location=mbr $boot_device_arg --timeout=5 --append=\"$append\
- echo "timezone --nontp --utc UTC" >/tmp/timezone-include
- %end
-+##############################################################
-+# pre script for poky-stx
-+##############################################################
-+%pre
-+mkdir -p /run/install/repo
-+cp installer-config/* /run/install/repo/
-+rm -f /run/install/repo/Packages
-+ln -sf /Packages /run/install/repo/Packages
-+%end
-+
-+##############################################################
-+# Main kickstart
-+##############################################################
- #version=DEVEL
- install
- lang en_US.UTF-8
- keyboard us
- %include /tmp/timezone-include
--# set to 'x' so we can use shadow password
--rootpw  --iscrypted x
-+# Root password:
-+rootpw --iscrypted $6$ArDcm/wSNLJLT2OP$QdWX6kMUgBVsiibukLBLtLfRDVz0n49BQ1svT7hPEQJASvKnqkEL5zc5kqUMMzXzLrj80z6YX9DmYTD0Ysxn.1
-+
- selinux --disabled
- authconfig --enableshadow --passalgo=sha512
- firewall --service=ssh
-+# Use text mode install
-+text
-+
-+# Use CDROM installation media
-+cdrom
-+
-+# Run the Setup Agent on first boot
-+firstboot --enable
-+
-+# System services
-+services --enabled="lvm2-monitor.service"
-+
-+# Do not configure the X Window System
-+skipx
-+
- # The following is the partition information you requested
- # Note that any partitions you deleted are not expressed
- # here so unless you clear all partitions first, this is
-diff --git a/bsp-files/kickstarts/pre_pkglist.cfg b/bsp-files/kickstarts/pre_pkglist.cfg
-index 37fe023..16e4dcf 100644
---- a/bsp-files/kickstarts/pre_pkglist.cfg
-+++ b/bsp-files/kickstarts/pre_pkglist.cfg
-@@ -1,21 +1,4 @@
- %packages
--@core
--@base
---kernel-module-igb-uio-rt
---kernel-module-wrs-avp-rt
---kernel-rt
---kernel-rt-kvm
---kernel-rt-tools
---kernel-rt-tools-libs
---kmod-drbd-rt
---kmod-e1000e-rt
---kmod-i40e-rt
---kmod-ixgbe-rt
---kmod-tpm-rt
---mlnx-ofa_kernel
---mlnx-ofa_kernel-rt
---mlnx-ofa_kernel-rt-modules
---qat16-rt
--xxxPACKAGE_LISTxxx
-+#@^stx-image-aio
- %end
-diff --git a/bsp-files/kickstarts/pre_pkglist_lowlatency.cfg b/bsp-files/kickstarts/pre_pkglist_lowlatency.cfg
-index 3af6a39..16e4dcf 100644
---- a/bsp-files/kickstarts/pre_pkglist_lowlatency.cfg
-+++ b/bsp-files/kickstarts/pre_pkglist_lowlatency.cfg
-@@ -1,20 +1,4 @@
- %packages
--@core
--@base
---kernel-module-igb-uio
---kernel-module-wrs-avp
---kernel
---kernel-tools
---kernel-tools-libs
---kmod-drbd
---kmod-e1000e
---kmod-i40e
---kmod-ixgbe
---kmod-tpm
---mlnx-ofa_kernel
---mlnx-ofa_kernel-rt
---mlnx-ofa_kernel-modules
---qat16
--xxxPACKAGE_LISTxxx
-+#@^stx-image-aio
- %end
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-core/stx-metal/files/0012-kickstarts-add-setting-for-debain-style-networking.patch b/meta-stx/recipes-core/stx-metal/files/0012-kickstarts-add-setting-for-debain-style-networking.patch
deleted file mode 100644 (file)
index b76a1f4..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-From 45298bf5951677433417eb1befc990ba7a70301a Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Thu, 18 Jun 2020 09:53:00 +0800
-Subject: [PATCH] kickstarts: add setting for debain style networking
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- bsp-files/kickstarts/post_net_common.cfg         | 6 ++++++
- bsp-files/kickstarts/post_pxeboot_controller.cfg | 6 ++++++
- 2 files changed, 12 insertions(+)
-
-diff --git a/bsp-files/kickstarts/post_net_common.cfg b/bsp-files/kickstarts/post_net_common.cfg
-index 8b854ff..46cdeeb 100755
---- a/bsp-files/kickstarts/post_net_common.cfg
-+++ b/bsp-files/kickstarts/post_net_common.cfg
-@@ -75,6 +75,12 @@ IPV6_AUTOCONF=no
- LINKDELAY=20
- EOF
-+    # For Debian style networking settings
-+    cat << EOF >> /etc/network/interfaces
-+auto $mgmt_dev
-+iface $mgmt_dev inet dhcp
-+EOF
-+
- else
-     # Check whether to use inet or inet6
-diff --git a/bsp-files/kickstarts/post_pxeboot_controller.cfg b/bsp-files/kickstarts/post_pxeboot_controller.cfg
-index 54f7046..2b29a64 100644
---- a/bsp-files/kickstarts/post_pxeboot_controller.cfg
-+++ b/bsp-files/kickstarts/post_pxeboot_controller.cfg
-@@ -64,6 +64,12 @@ ONBOOT=yes
- IPV6_AUTOCONF=no
- EOF
-+# For Debian style networking settings
-+cat << EOF >> /etc/network/interfaces
-+auto $mgmt_dev
-+iface $mgmt_dev inet dhcp
-+EOF
-+
- %end
- %post --erroronfail
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-core/stx-metal/files/0013-kickstarts-add-vlan-setting-for-debain-style-network.patch b/meta-stx/recipes-core/stx-metal/files/0013-kickstarts-add-vlan-setting-for-debain-style-network.patch
deleted file mode 100644 (file)
index 3f5215b..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-From 97228a9287bec2049767d175f97226d90b4be943 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Sun, 22 Nov 2020 22:00:58 +0800
-Subject: [PATCH] kickstarts: add vlan setting for debain style networking
-
-Upstream-Status: Inappropriate [poky-stx specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- bsp-files/kickstarts/post_net_common.cfg | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/bsp-files/kickstarts/post_net_common.cfg b/bsp-files/kickstarts/post_net_common.cfg
-index 46cdeeb..c000348 100755
---- a/bsp-files/kickstarts/post_net_common.cfg
-+++ b/bsp-files/kickstarts/post_net_common.cfg
-@@ -135,6 +135,18 @@ VLAN=yes
- LINKDELAY=20
- EOF
-+    # For Debian style networking settings
-+    cat << EOF >> /etc/network/interfaces
-+auto $mgmt_dev vlan$mgmt_vlan
-+
-+iface $mgmt_dev inet dhcp
-+
-+iface vlan$mgmt_vlan inet dhcp
-+    vlan-raw-device $mgmt_dev
-+    pre-up /sbin/modprobe -q 8021q
-+EOF
-+
-+
-     # Reject DHCPOFFER from DHCP server that doesn't send
-     # wrs-install-uuid option
-     echo "require wrs-install-uuid;" >>/etc/dhcp/dhclient.conf
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-core/stx-metal/inventory.inc b/meta-stx/recipes-core/stx-metal/inventory.inc
deleted file mode 100644 (file)
index f615e27..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " inventory"
-
-#DEPENDS = " \
-#      python \
-#      python-pbr-native \
-#      "
-
-#python-futurist >= 0.11.0
-#python-keystoneauth1 >= 3.1.0
-#python-keystonemiddleware >= 4.12.0
-#python-neutronclient >= 6.3.0
-#python-oslo-concurrency >= 3.8.0
-#python-oslo-config >= 2:4.0.0
-#python-oslo-context >= 2.14.0
-#python-oslo-db >= 4.24.0
-#python-oslo-i18n >= 2.1.0
-#python-oslo-log >= 3.22.0
-#python-oslo-messaging >= 5.24.2
-#python-oslo-middleware >= 3.27.0
-#python-oslo-policy >= 1.23.0
-#python-oslo-rootwrap >= 5.0.0
-#python-oslo-serialization >= 1.10.0
-#python-oslo-service >= 1.10.0
-#python-oslo-utils >= 3.20.0
-#python-oslo-versionedobjects >= 1.17.0
-#python-osprofiler >= 1.4.0
-#python-stevedore >= 1.20.0
-#python-webob >= 1.7.1
-
-RDEPENDS_inventory += " \
-               bash \
-               python-anyjson \
-               python-amqplib \
-               python-pyudev \
-               python-pyparted \
-               python-ipaddr \
-               python-paste \
-               python-eventlet \
-               python-futurist \
-               python-jsonpatch \
-               python-keystoneauth1 \
-               python-keystonemiddleware \
-               python-neutronclient \
-               python-oslo.concurrency \
-               python-oslo.config \
-               python-oslo.context \
-               python-oslo.db \
-               python-oslo.i18n \
-               python-oslo.log \
-               python-oslo.messaging \
-               python-oslo.middleware \
-               python-oslo.policy \
-               python-oslo.rootwrap \
-               python-oslo.serialization \
-               python-oslo.service \
-               python-oslo.utils \
-               python-oslo.versionedobjects \
-               python-osprofiler \
-               python-pbr \
-               python-pecan \
-               python-psutil \
-               python-requests \
-               python-retrying \
-               python-six \
-               python-sqlalchemy \
-               python-stevedore \
-               python-webob \
-               python-wsme \
-               "
-
-
-
-do_configure_prepend () {
-       cd ${S}/inventory/inventory
-       distutils_do_configure
-} 
-
-do_compile_prepend () {
-       cd ${S}/inventory/inventory
-       distutils_do_compile
-}
-
-do_install_prepend () {
-       cd ${S}/inventory/inventory
-       distutils_do_install
-       
-       install -d -m 755 ${D}/${sysconfdir}/goenabled.d
-       install -p -D -m 755 etc/inventory/inventory_goenabled_check.sh ${D}/${sysconfdir}/goenabled.d/inventory_goenabled_check.sh
-
-       install -d -m 755 ${D}/${sysconfdir}/inventory
-       install -p -D -m 755 etc/inventory/policy.json ${D}/${sysconfdir}/inventory/policy.json
-
-       install -d -m 755 ${D}/${sysconfdir}/motd.d
-       install -p -D -m 755 etc/inventory/motd-system ${D}/${sysconfdir}/motd.d/10-system-config
-
-       install -m 755 -p -D scripts/inventory-api ${D}/${libdir}/ocf/resource.d/platform/inventory-api
-       install -m 755 -p -D scripts/inventory-conductor ${D}/${libdir}/ocf/resource.d/platform/inventory-conductor
-
-       install -d -m 0755 ${D}/${systemd_system_unitdir}/
-       install -m 644 -p -D scripts/inventory-api.service ${D}/${systemd_system_unitdir}/
-       install -m 644 -p -D scripts/inventory-conductor.service ${D}/${systemd_system_unitdir}/
-
-       # Install sql migration
-       # install -m 644 inventory/db/sqlalchemy/migrate_repo/migrate.cfg ${D}/${libdir}/inventory/db/sqlalchemy/migrate_repo/migrate.cfg
-
-}
-
-#pkg_postinst_ontarget-inventory () {
-# install default config files
-#cd ${_builddir}/${name}-${version} && oslo-config-generator --config-file inventory/config-generator.conf --output-file ${_builddir}/${name}-${version}/inventory.conf.sample
-#}
-
-FILES_inventory = " \
-       ${systemd_system_unitdir}/inventory-api.service \
-       ${systemd_system_unitdir}/inventory-conductor.service \
-       ${bindir}/inventory-api \
-       ${bindir}/inventory-conductor \
-       ${bindir}/inventory-dnsmasq-lease-update \
-       ${bindir}/inventory-agent \
-       ${bindir}/inventory-dbsync \
-       ${libdir}/ocf/resource.d/platform/inventory-api \
-       ${libdir}/ocf/resource.d/platform/inventory-conductor \
-       ${libdir}/python2.7/site-packages/inventory*.egg-info/ \
-       ${libdir}/python2.7/site-packages/inventory/ \
-       ${sysconfdir}/goenabled.d/inventory_goenabled_check.sh \
-       ${sysconfdir}/motd.d/10-system-config \
-       ${sysconfdir}/inventory/policy.json \
-       "
diff --git a/meta-stx/recipes-core/stx-metal/mtce-common.inc b/meta-stx/recipes-core/stx-metal/mtce-common.inc
deleted file mode 100644 (file)
index eaa9ae9..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " mtce-common"
-
-
-
-RDEPENDS_mtce-common = " \
-       util-linux \
-       bash \
-       systemd \
-       dpkg \
-       time \
-       libevent \
-       expect \
-       json-c \
-       python-rtslib-fb \
-       fm-common \
-       "
-
-do_configure_prepend () {
-       :
-} 
-
-do_compile_prepend () {
-       cd ${S}/mtce-common/src/
-       oe_runmake clean
-       oe_runmake -e build VER=0 VER_MJR=1 \
-               CCFLAGS="${CXXFLAGS} -DBUILDINFO=\"\\\"\$\$(date)\\\"\"" 
-}
-
-do_install_prepend () {
-
-       cd ${S}/mtce-common/src
-
-       install -m 755 -d ${D}/${libdir}
-
-       install -m 644 -p -D daemon/libdaemon.a ${D}/${libdir}
-       install -m 644 -p -D common/libcommon.a ${D}/${libdir}
-       install -m 644 -p -D common/libthreadUtil.a ${D}/${libdir}
-       install -m 644 -p -D common/libbmcUtils.a ${D}/${libdir}
-       install -m 644 -p -D common/libpingUtil.a ${D}/${libdir}
-       install -m 644 -p -D common/libnodeBase.a ${D}/${libdir}
-       install -m 644 -p -D common/libregexUtil.a ${D}/${libdir}
-       install -m 644 -p -D common/libhostUtil.a ${D}/${libdir}
-
-       # mtce-common headers required to bring in nodeBase.h
-       install -m 755 -d ${D}/${includedir}
-       install -m 755 -d ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/fitCodes.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/logMacros.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/returnCodes.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/nodeTimers.h ${D}/${includedir}/mtce-common
-
-       # mtce-common headers required to build mtce-guest
-       install -m 644 -p -D common/hostClass.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/httpUtil.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/jsonUtil.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/msgClass.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/nodeBase.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/nodeEvent.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/nodeMacro.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/nodeUtil.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/timeUtil.h ${D}/${includedir}/mtce-common
-
-       # mtce-daemon headers required to build mtce-guest
-       install -m 755 -d ${D}/${includedir}/mtce-daemon
-       install -m 644 -p -D daemon/daemon_ini.h ${D}/${includedir}/mtce-daemon
-       install -m 644 -p -D daemon/daemon_common.h ${D}/${includedir}/mtce-daemon
-       install -m 644 -p -D daemon/daemon_option.h ${D}/${includedir}/mtce-daemon
-
-       # remaining mtce-common headers required to build mtce
-       install -m 644 -p -D common/alarmUtil.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/hostUtil.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/ipmiUtil.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/redfishUtil.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/bmcUtil.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/nlEvent.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/pingUtil.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/regexUtil.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/threadUtil.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/tokenUtil.h ${D}/${includedir}/mtce-common
-       install -m 644 -p -D common/secretUtil.h ${D}/${includedir}/mtce-common
-}
-
-# Headers, and static devs go into stx-mtce-dev 
-# and stx-mtce-staticdev packages respecitively
-FILES_mtce-common = " "
diff --git a/meta-stx/recipes-core/stx-metal/mtce-compute.inc b/meta-stx/recipes-core/stx-metal/mtce-compute.inc
deleted file mode 100644 (file)
index ac0326c..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " mtce-compute"
-
-RDEPENDS_mtce-compute += " \
-       bash \
-       systemd \
-       qemu \
-       "
-
-do_configure_prepend () {
-       :
-} 
-
-do_compile_prepend () {
-       :
-}
-
-do_install_prepend () {
-       cd ${S}/mtce-compute/src/
-       oe_runmake buildroot=${D} \
-               _sysconfdir=${sysconfdir} _unitdir=${systemd_system_unitdir} _datarootdir=${datadir} \
-               install
-}
-
-FILES_mtce-compute = " \
-       ${datadir}/licenses/mtce-compute-1.0/LICENSE \
-       ${systemd_system_unitdir}/goenabled-worker.service \
-       ${sysconfdir}/goenabled.d/virt-support-goenabled.sh \
-       ${sysconfdir}/init.d/goenabledWorker \
-       "
-
-SYSTEMD_PACKAGES += "mtce-compute"
-SYSTEMD_SERVICE_mtce-compute = "goenabled-worker.service"
-SYSTEMD_AUTO_ENABLE_mtce-compute = "enable"
diff --git a/meta-stx/recipes-core/stx-metal/mtce-control.inc b/meta-stx/recipes-core/stx-metal/mtce-control.inc
deleted file mode 100644 (file)
index dfb67c0..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " mtce-control"
-
-RDEPENDS_mtce-control += " \
-       bash \
-       systemd \
-       lighttpd \
-       qemu \
-       "
-
-do_configure_prepend () {
-       :
-} 
-
-do_compile_prepend () {
-       :
-}
-
-do_install_prepend () {
-       cd ${S}/mtce-control/src/
-       oe_runmake buildroot=${D} \
-               _sysconfdir=${sysconfdir} _unitdir=${systemd_system_unitdir} _datarootdir=${datadir} \
-               install
-       sed -i -e 's|/usr/local/bin/|${bindir}/|' ${D}/${sysconfdir}/init.d/hbsAgent
-}
-
-FILES_mtce-control = " \
-       ${datadir}/licenses/mtce-control-1.0/LICENSE \
-       ${systemd_system_unitdir}/hbsAgent.service \
-       ${sysconfdir}/pmon.d/hbsAgent.conf \
-       ${sysconfdir}/init.d/hbsAgent \
-       ${sysconfdir}/init.d/goenabledControl \
-       "
-
-SYSTEMD_PACKAGES += "mtce-control"
-SYSTEMD_SERVICE_mtce-control = "hbsAgent.service"
-SYSTEMD_AUTO_ENABLE_mtce-control = "enable"
diff --git a/meta-stx/recipes-core/stx-metal/mtce-storage.inc b/meta-stx/recipes-core/stx-metal/mtce-storage.inc
deleted file mode 100644 (file)
index 61fb97f..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " mtce-storage"
-
-RDEPENDS_mtce-storage_append = " \
-       bash \
-       systemd \
-       "
-
-do_configure_prepend () {
-       :
-} 
-
-do_compile_prepend () {
-       :
-}
-
-do_install_prepend () {
-       cd ${S}/mtce-storage/src/
-       oe_runmake buildroot=${D} \
-               _sysconfdir=${sysconfdir} _unitdir=${systemd_system_unitdir} _datarootdir=${datadir} \
-               install
-
-}
-
-pkg_postinst_ontarget_mtce-storage() { 
-       ${base_bindir}/systemctl enable goenabled-storage.service
-}
-
-FILES_mtce-storage = " \
-       ${datadir}/licenses/mtce-storage-1.0/LICENSE \
-       ${systemd_system_unitdir}/goenabled-storage.service \
-       ${sysconfdir}/init.d/goenabledStorage \
-       "
-
-SYSTEMD_PACKAGES += "mtce-storage"
-SYSTEMD_SERVICE_mtce-storage = "goenabled-storage.service"
-SYSTEMD_AUTO_ENABLE_mtce-storage = "enable"
diff --git a/meta-stx/recipes-core/stx-metal/mtce.inc b/meta-stx/recipes-core/stx-metal/mtce.inc
deleted file mode 100644 (file)
index 2ca9ef6..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-MAJOR = "${@d.getVar('PV').split('.')[0]}"
-MINOR = "${@d.getVar('PV').split('.')[1]}"
-
-PACKAGES += " mtce"
-PACKAGES += " mtce-pmon"
-PACKAGES += " mtce-hwmon"
-PACKAGES += " mtce-hostw"
-PACKAGES += " mtce-lmon"
-
-RDEPENDS_mtce-pmon_append = " \
-       bash \
-       systemd \
-       dpkg \
-       fm-common \
-       libevent \
-       json-c \
-       python-rtslib-fb \
-       expect \
-       util-linux \
-       ipmitool \
-       "
-
-RDEPENDS_mtce_append = " \
-       mtce-pmon \
-       python-redfishtool \
-       "
-
-do_configure_prepend () {
-       :
-} 
-
-do_compile_prepend () {
-       # use sed to correct the path of systemctl
-       sed -i -e 's|${bindir}/systemctl|${base_bindir}/systemctl|' ${S}/mtce/src/pmon/pmonHdlr.cpp
-       cd ${S}/mtce/src/
-       oe_runmake -e VER=1 VER_MJR=1 INCLUDES=" -I. -I../alarm -I../heartbeat -I../maintenance \
-                               -I../hostw -I../public -I../smash -I../common -I../hwmon \
-                               -I${S}/mtce-common/src/common \
-                               -I${S}/mtce-common/src/daemon " \
-               CCFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS} -L${S}/mtce-common/src/common \
-               -L${S}/mtce-common/src/daemon " build
-}
-
-do_install_prepend () {
-       cd ${S}/mtce/src/
-       install -m 755 -d ${D}/${bindir}
-       install -m 755 -d ${D}/${sbindir}
-       install -m 755 -d ${D}/${libdir}
-       install -m 755 -d ${D}/${libdir}/ocf/resource.d/platform
-       install -m 755 -d ${D}/${systemd_system_unitdir}
-       
-       install -m 755 -d ${D}/${sysconfdir}
-       install -m 755 -d ${D}/${sysconfdir}/mtc/tmp
-       install -m 755 -d ${D}/${sysconfdir}/bmc/server_profiles.d
-       install -m 755 -d ${D}/${sysconfdir}/init.d
-       install -m 755 -d ${D}/${sysconfdir}/pmon.d
-       install -m 755 -d ${D}/${sysconfdir}/logrotate.d
-       
-       install -m 755 -d ${D}/${sysconfdir}/services.d
-       install -m 750 -d ${D}/${sysconfdir}/services.d/controller
-       install -m 750 -d ${D}/${sysconfdir}/services.d/worker
-       install -m 750 -d ${D}/${sysconfdir}/services.d/storage
-       
-       cd ${S}/mtce/src/
-       install -m 755 -p -D scripts/mtcAgent ${D}/${libdir}/ocf/resource.d/platform
-       install -m 755 -p -D hwmon/scripts/ocf/hwmon ${D}/${libdir}/ocf/resource.d/platform
-       
-       # Config files
-       install -m 644 -p -D scripts/mtc.ini ${D}/${sysconfdir}/mtc.ini
-       install -m 644 -p -D scripts/mtc.conf ${D}/${sysconfdir}/mtc.conf
-       install -m 644 -p -D fsmon/scripts/fsmond.conf ${D}/${sysconfdir}/mtc/fsmond.conf
-       install -m 644 -p -D hwmon/scripts/hwmond.conf ${D}/${sysconfdir}/mtc/hwmond.conf
-       install -m 644 -p -D pmon/scripts/pmond.conf ${D}/${sysconfdir}/mtc/pmond.conf
-       install -m 644 -p -D lmon/scripts/lmond.conf ${D}/${sysconfdir}/mtc/lmond.conf
-       install -m 644 -p -D hostw/scripts/hostwd.conf ${D}/${sysconfdir}/mtc/hostwd.conf
-       
-       install -m 644 -p -D scripts/sensor_hp360_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
-       install -m 644 -p -D scripts/sensor_hp380_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
-       install -m 644 -p -D scripts/sensor_quanta_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
-       
-       
-       # binaries
-       install -m 755 -p -D maintenance/mtcAgent ${D}/${bindir}/mtcAgent
-       install -m 755 -p -D maintenance/mtcClient ${D}/${bindir}/mtcClient
-       install -m 755 -p -D heartbeat/hbsAgent ${D}/${bindir}/hbsAgent
-       install -m 755 -p -D heartbeat/hbsClient ${D}/${bindir}/hbsClient
-       install -m 755 -p -D pmon/pmond ${D}/${bindir}/pmond
-       install -m 755 -p -D lmon/lmond ${D}/${bindir}/lmond
-       install -m 755 -p -D pmon/pmond ${D}/${bindir}/pmond
-       install -m 755 -p -D lmon/lmond ${D}/${bindir}/lmond
-       install -m 755 -p -D hostw/hostwd ${D}/${bindir}/hostwd
-       install -m 755 -p -D fsmon/fsmond ${D}/${bindir}/fsmond
-       install -m 755 -p -D hwmon/hwmond ${D}/${bindir}/hwmond
-       install -m 755 -p -D mtclog/mtclogd ${D}/${bindir}/mtclogd
-       install -m 755 -p -D alarm/mtcalarmd ${D}/${bindir}/mtcalarmd
-       install -m 755 -p -D scripts/wipedisk ${D}/${bindir}/wipedisk
-       install -m 755 -p -D fsync/fsync ${D}/${sbindir}/fsync
-       install -m 700 -p -D pmon/scripts/pmon-restart ${D}/${sbindir}/pmon-restart
-       install -m 700 -p -D pmon/scripts/pmon-start ${D}/${sbindir}/pmon-start
-       install -m 700 -p -D pmon/scripts/pmon-stop ${D}/${sbindir}/pmon-stop
-       
-       # init script files
-       install -m 755 -p -D scripts/mtcClient ${D}/${sysconfdir}/init.d/mtcClient
-       install -m 755 -p -D scripts/hbsClient ${D}/${sysconfdir}/init.d/hbsClient
-       install -m 755 -p -D hwmon/scripts/lsb/hwmon ${D}/${sysconfdir}/init.d/hwmon
-       install -m 755 -p -D fsmon/scripts/fsmon ${D}/${sysconfdir}/init.d/fsmon
-       install -m 755 -p -D scripts/mtclog ${D}/${sysconfdir}/init.d/mtclog
-       install -m 755 -p -D pmon/scripts/pmon ${D}/${sysconfdir}/init.d/pmon
-       install -m 755 -p -D lmon/scripts/lmon ${D}/${sysconfdir}/init.d/lmon
-       install -m 755 -p -D hostw/scripts/hostw ${D}/${sysconfdir}/init.d/hostw
-       install -m 755 -p -D alarm/scripts/mtcalarm.init ${D}/${sysconfdir}/init.d/mtcalarm
-       # install -m 755 -p -D scripts/config ${D}/${sysconfdir}/init.d/config
-       
-       # TODO: Init hack. Should move to proper module
-       install -m 755 -p -D scripts/hwclock.sh ${D}/${sysconfdir}/init.d/hwclock.sh
-       install -m 644 -p -D scripts/hwclock.service ${D}/${systemd_system_unitdir}/hwclock.service
-       
-       
-       # systemd service files
-       install -m 644 -p -D fsmon/scripts/fsmon.service ${D}/${systemd_system_unitdir}/fsmon.service
-       install -m 644 -p -D hwmon/scripts/hwmon.service ${D}/${systemd_system_unitdir}/hwmon.service
-       install -m 644 -p -D pmon/scripts/pmon.service ${D}/${systemd_system_unitdir}/pmon.service
-       install -m 644 -p -D hostw/scripts/hostw.service ${D}/${systemd_system_unitdir}/hostw.service
-       install -m 644 -p -D scripts/mtcClient.service ${D}/${systemd_system_unitdir}/mtcClient.service
-       install -m 644 -p -D scripts/hbsClient.service ${D}/${systemd_system_unitdir}/hbsClient.service
-       install -m 644 -p -D scripts/mtclog.service ${D}/${systemd_system_unitdir}/mtclog.service
-       install -m 644 -p -D scripts/hbsClient.service ${D}/${systemd_system_unitdir}/hbsClient.service
-       install -m 644 -p -D scripts/mtclog.service ${D}/${systemd_system_unitdir}/mtclog.service
-       install -m 644 -p -D scripts/goenabled.service ${D}/${systemd_system_unitdir}/goenabled.service
-       install -m 644 -p -D scripts/runservices.service ${D}/${systemd_system_unitdir}/runservices.service
-       install -m 644 -p -D alarm/scripts/mtcalarm.service ${D}/${systemd_system_unitdir}/mtcalarm.service
-       install -m 644 -p -D lmon/scripts/lmon.service ${D}/${systemd_system_unitdir}/lmon.service
-       
-       # fix the path for init scripts
-       sed -i -e 's|rc.d/||' ${D}/${systemd_system_unitdir}/*.service
-       
-       # go enabled stuff
-       install -m 755 -p -D scripts/goenabled ${D}/${sysconfdir}/init.d/goenabled
-       
-       # start or stop services test script
-       install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/services.d/worker
-       install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/services.d/controller
-       install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/services.d/storage
-       install -m 755 -p -D scripts/runservices ${D}/${sysconfdir}/init.d/runservices
-       
-       
-       # test tools
-       install -m 755 -p -D scripts/dmemchk.sh ${D}/${sbindir}
-       
-       # process monitor config files
-       install -m 644 -p -D scripts/mtcClient.conf ${D}/${sysconfdir}/pmon.d/mtcClient.conf
-       install -m 644 -p -D scripts/hbsClient.conf ${D}/${sysconfdir}/pmon.d/hbsClient.conf
-       install -m 644 -p -D pmon/scripts/acpid.conf ${D}/${sysconfdir}/pmon.d/acpid.conf
-       install -m 644 -p -D pmon/scripts/sshd.conf ${D}/${sysconfdir}/pmon.d/sshd.conf
-       install -m 644 -p -D pmon/scripts/syslog-ng.conf ${D}/${sysconfdir}/pmon.d/syslog-ng.conf
-       install -m 644 -p -D pmon/scripts/nslcd.conf ${D}/${sysconfdir}/pmon.d/nslcd.conf
-       install -m 644 -p -D pmon/scripts/syslog-ng.conf ${D}/${sysconfdir}/pmon.d/syslog-ng.conf
-       install -m 644 -p -D pmon/scripts/nslcd.conf ${D}/${sysconfdir}/pmon.d/nslcd.conf
-       install -m 644 -p -D fsmon/scripts/fsmon.conf ${D}/${sysconfdir}/pmon.d/fsmon.conf
-       install -m 644 -p -D scripts/mtclogd.conf ${D}/${sysconfdir}/pmon.d/mtclogd.conf
-       install -m 644 -p -D alarm/scripts/mtcalarm.pmon.conf ${D}/${sysconfdir}/pmon.d/mtcalarm.conf
-       install -m 644 -p -D lmon/scripts/lmon.pmon.conf ${D}/${sysconfdir}/pmon.d/lmon.conf
-       
-       # log rotation
-       install -m 644 -p -D scripts/mtce.logrotate ${D}/${sysconfdir}/logrotate.d/mtce.logrotate
-       install -m 644 -p -D hostw/scripts/hostw.logrotate ${D}/${sysconfdir}/logrotate.d/hostw.logrotate
-       install -m 644 -p -D pmon/scripts/pmon.logrotate ${D}/${sysconfdir}/logrotate.d/pmon.logrotate
-       install -m 644 -p -D lmon/scripts/lmon.logrotate ${D}/${sysconfdir}/logrotate.d/lmon.logrotate
-       install -m 644 -p -D fsmon/scripts/fsmon.logrotate ${D}/${sysconfdir}/logrotate.d/fsmon.logrotate
-       install -m 644 -p -D hwmon/scripts/hwmon.logrotate ${D}/${sysconfdir}/logrotate.d/hwmon.logrotate
-       install -m 644 -p -D alarm/scripts/mtcalarm.logrotate ${D}/${sysconfdir}/logrotate.d/mtcalarm.logrotate
-       
-       # software development files
-       install -m 644 -p -D heartbeat/mtceHbsCluster.h ${D}/${includedir}/mtceHbsCluster.h
-       install -m 755 -p -D public/libamon.so.${MAJOR} ${D}/${libdir}/
-       cd ${D}/${libdir} ; ln -s libamon.so.${MAJOR} libamon.so.${MAJOR}.${MINOR}
-       cd ${D}/${libdir} ; ln -s libamon.so.${MAJOR} libamon.so
-}
-
-SYSTEMD_PACKAGES += " \
-       mtce \
-       mtce-hostw \
-       mtce-lmon \
-       mtce-pmon \
-       "
-
-SYSTEMD_SERVICE_mtce = " \
-       fsmon.service \
-       goenabled.service \
-       hbsClient.service \
-       mtcClient.service \
-       mtcalarm.service \
-       mtclog.service \
-       "
-SYSTEMD_SERVICE_mtce-hostw = "hostw.service"
-SYSTEMD_SERVICE_mtce-lmon = "lmon.service"
-SYSTEMD_SERVICE_mtce-pmon = "pmon.service"
-
-SYSTEMD_AUTO_ENABLE_mtce = "enable"
-SYSTEMD_AUTO_ENABLE_mtce-hostw = "enable"
-SYSTEMD_AUTO_ENABLE_mtce-lmon = "enable"
-SYSTEMD_AUTO_ENABLE_mtce-pmon = "enable"
-
-FILES_mtce-pmon = " \
-       ${sbindir}/pmon-restart \
-       ${sbindir}/pmon-start \
-       ${sbindir}/pmon-stop \
-       ${bindir}/pmond \
-       ${systemd_system_unitdir}/pmon.service \
-       ${sysconfdir}/mtc/pmond.conf \
-       ${sysconfdir}/init.d/pmon \
-       ${sysconfdir}/logrotate.d/pmon.logrotate \
-       "
-
-FILES_mtce-hwmon = " \
-       ${bindir}/hwmond \
-       ${sysconfdir}/init.d/hwmon \
-       ${libdir}/ocf/resource.d/platform/hwmon \
-       ${sysconfdir}/logrotate.d/hwmon.logrotate \
-       ${systemd_system_unitdir}/hwmon.service \
-       ${sysconfdir}/mtc/hwmond.conf \
-       "
-
-FILES_mtce-hostw = " \
-       ${sysconfdir}/mtc/hostwd.conf \
-       ${sysconfdir}/logrotate.d/hostw.logrotate \
-       ${systemd_system_unitdir}/hostw.service \
-       ${sysconfdir}/init.d/hostw \
-       ${bindir}/hostwd \
-       "
-
-FILES_mtce-lmon= " \
-       ${bindir}/lmond \
-       ${sysconfdir}/mtc/lmond.conf \
-       ${sysconfdir}/logrotate.d/lmon.logrotate \
-       ${sysconfdir}/pmon.d/lmon.conf \
-       ${sysconfdir}/init.d/lmon \
-       ${systemd_system_unitdir}/lmon.service \
-       "
-
-FILES_mtce = " \
-       ${bindir}/mtcAgent \
-       ${bindir}/mtcClient \
-       ${bindir}/fsmond \
-       ${bindir}/hbsAgent \
-       ${bindir}/wipedisk \
-       ${bindir}/hbsClient \
-       ${bindir}/mtcalarmd \
-       ${bindir}/mtclogd \
-       ${sbindir}/fsync \
-       ${sbindir}/dmemchk.sh \
-       ${libdir}/ocf/resource.d/platform/mtcAgent \
-       ${libdir}/libamon${SOLIBS} \
-       ${systemd_system_unitdir}/mtcalarm.service \
-       ${systemd_system_unitdir}/goenabled.service \
-       ${systemd_system_unitdir}/mtclog.service \
-       ${systemd_system_unitdir}/mtcClient.service \
-       ${systemd_system_unitdir}/fsmon.service \
-       ${systemd_system_unitdir}/hbsClient.service \
-       ${systemd_system_unitdir}/hwclock.service \
-       ${systemd_system_unitdir}/runservices.service \
-       ${sysconfdir}/pmon.d/nslcd.conf \
-       ${sysconfdir}/pmon.d/mtclogd.conf \
-       ${sysconfdir}/pmon.d/mtcalarm.conf \
-       ${sysconfdir}/pmon.d/syslog-ng.conf \
-       ${sysconfdir}/pmon.d/acpid.conf \
-       ${sysconfdir}/pmon.d/sshd.conf \
-       ${sysconfdir}/pmon.d/fsmon.conf \
-       ${sysconfdir}/pmon.d/hbsClient.conf \
-       ${sysconfdir}/pmon.d/mtcClient.conf \
-       ${sysconfdir}/init.d/runservices \
-       ${sysconfdir}/init.d/goenabled \
-       ${sysconfdir}/init.d/mtcClient \
-       ${sysconfdir}/init.d/hwclock.sh \
-       ${sysconfdir}/init.d/mtclog \
-       ${sysconfdir}/init.d/mtcalarm \
-       ${sysconfdir}/init.d/hbsClient \
-       ${sysconfdir}/init.d/fsmon \
-       ${sysconfdir}/mtc.conf \
-       ${sysconfdir}/bmc/server_profiles.d/sensor_hp380_v1_ilo_v4.profile \
-       ${sysconfdir}/bmc/server_profiles.d/sensor_hp360_v1_ilo_v4.profile \
-       ${sysconfdir}/bmc/server_profiles.d/sensor_quanta_v1_ilo_v4.profile \
-       ${sysconfdir}/services.d/worker/mtcTest \
-       ${sysconfdir}/services.d/controller/mtcTest \
-       ${sysconfdir}/services.d/storage/mtcTest \
-       ${sysconfdir}/mtc/fsmond.conf \
-       ${sysconfdir}/mtc/tmp/ \
-       ${sysconfdir}/mtc.ini \
-       ${sysconfdir}/logrotate.d/fsmon.logrotate \
-       ${sysconfdir}/logrotate.d/mtcalarm.logrotate \
-       ${sysconfdir}/logrotate.d/mtce.logrotate \
-       "
diff --git a/meta-stx/recipes-core/stx-metal/platform-kickstarts.inc b/meta-stx/recipes-core/stx-metal/platform-kickstarts.inc
deleted file mode 100644 (file)
index 7c59e61..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " \
-       platform-kickstarts \
-       platform-kickstarts-pxeboot \
-       platform-kickstarts-extracfgs \
-       "
-
-feed_dir = "/www/pages/feed/rel-${STX_REL}"
-
-DEPENDS += "perl-native"
-
-inherit deploy
-
-do_compile_prepend () {
-       cd ${S}/bsp-files/
-       ./centos-ks-gen.pl --release ${STX_REL}
-}
-
-do_install_prepend () {
-       cd ${S}/bsp-files/
-       install -d -m 0755 ${D}${feed_dir}
-       install -m 0444 generated/* ${D}${feed_dir}/
-
-       install -d -m 0755 ${D}/pxeboot
-       install -D -m 0444 pxeboot/* ${D}/pxeboot
-
-       install -d -m 0755 ${D}/extra_cfgs
-       install -D -m 0444 extra_cfgs/* ${D}/extra_cfgs
-}
-
-do_deploy () {
-       mkdir -p ${DEPLOYDIR}/stx-kickstarts
-       cp -f ${S}/bsp-files/generated/* ${DEPLOYDIR}/stx-kickstarts
-}
-
-addtask do_deploy after do_compile before do_build
-
-FILES_platform-kickstarts = "${feed_dir}"
-FILES_platform-kickstarts-pxeboot = "/pxeboot"
-FILES_platform-kickstarts-extracfgs = "/extra_cfgs"
diff --git a/meta-stx/recipes-core/stx-metal/pxe-network-installer.inc b/meta-stx/recipes-core/stx-metal/pxe-network-installer.inc
deleted file mode 100644 (file)
index 8658e2c..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " pxe-network-installer"
-
-DEPENDS += " syslinux"
-RDEPENDS_pxe-network-installer += " \
-       bash \
-       syslinux \
-       syslinux-chain \
-       syslinux-misc \
-       syslinux-pxelinux \
-       "
-
-do_configure_prepend () {
-       :
-} 
-
-do_compile_prepend () {
-       :
-}
-
-do_install_prepend () {
-       cd ${S}/installer/pxe-network-installer/pxe-network-installer
-       install -d -m 0755 ${D}/pxeboot
-       install -d -m 0755 ${D}/pxeboot/pxelinux.cfg.files
-       install -d -m 0755 ${D}/pxeboot/rel-${STX_REL}
-       install -d -m 0755 ${D}/pxeboot/EFI
-       install -d -m 0755 ${D}/pxeboot/EFI/poky-stx
-       ln -fs poky-stx ${D}/pxeboot/EFI/centos
-       ln -fs ${libdir}/grub/x86_64-efi ${D}/pxeboot/EFI/poky-stx/
-
-       install -d -m 0755 ${D}/${sbindir}
-       install -m 755 pxeboot-update.sh ${D}/${sbindir}/pxeboot-update-${STX_REL}.sh
-
-       install -m 644 ${S}/bsp-files/kickstarts/post_clone_iso_ks.cfg ${D}/pxeboot/post_clone_iso_ks.cfg
-       install -m 644 default ${D}/pxeboot/pxelinux.cfg.files/default
-       install -m 644 default.static ${D}/pxeboot/pxelinux.cfg.files/default.static
-       install -m 644 centos-pxe-controller-install ${D}/pxeboot/pxelinux.cfg.files/pxe-controller-install-${STX_REL}
-       install -m 644 centos-pxe-worker-install ${D}/pxeboot/pxelinux.cfg.files/pxe-worker-install-${STX_REL}
-       install -m 644 centos-pxe-smallsystem-install ${D}/pxeboot/pxelinux.cfg.files/pxe-smallsystem-install-${STX_REL}
-       install -m 644 centos-pxe-storage-install ${D}/pxeboot/pxelinux.cfg.files/pxe-storage-install-${STX_REL}
-       install -m 644 centos-pxe-worker_lowlatency-install ${D}/pxeboot/pxelinux.cfg.files/pxe-worker_lowlatency-install-${STX_REL}
-       install -m 644 centos-pxe-smallsystem_lowlatency-install ${D}/pxeboot/pxelinux.cfg.files/pxe-smallsystem_lowlatency-install-${STX_REL}
-
-       # UEFI support
-       install -m 644 pxe-grub.cfg ${D}/pxeboot/pxelinux.cfg.files/grub.cfg
-       install -m 644 pxe-grub.cfg.static ${D}/pxeboot/pxelinux.cfg.files/grub.cfg.static
-
-       install -m 644 efi-centos-pxe-controller-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-controller-install-${STX_REL}
-       install -m 644 efi-centos-pxe-worker-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-worker-install-${STX_REL}
-       install -m 644 efi-centos-pxe-smallsystem-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-smallsystem-install-${STX_REL}
-       install -m 644 efi-centos-pxe-storage-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-storage-install-${STX_REL}
-       install -m 644 efi-centos-pxe-worker_lowlatency-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-worker_lowlatency-install-${STX_REL}
-       install -m 644 efi-centos-pxe-smallsystem_lowlatency-install ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-smallsystem_lowlatency-install-${STX_REL}
-
-       sed -i -e "s/xxxSW_VERSIONxxx/${STX_REL}/g" \
-              -e "s/inst.ks/ks/g" \
-              -e "s/\(xxxAPPEND_OPTIONSxxx\)/LABEL=initrd-install \1/" \
-              ${D}/pxeboot/pxelinux.cfg.files/pxe-* ${D}/pxeboot/pxelinux.cfg.files/efi-pxe-*
-       
-       # Copy Titanium grub.cfg. It will be used to create ISO on the Controller.
-       install -m 0644 ${S}/bsp-files/grub.cfg ${D}/pxeboot/EFI/ 
-
-       # UEFI bootloader expect the grub.cfg file to be in /pxeboot/ so create a symlink for it
-       ln -fs pxelinux.cfg/grub.cfg ${D}/pxeboot/grub.cfg
-}
-
-pkg_postinst_pxe-network-installer() {
-       install -m 0644 $D${datadir}/syslinux/menu.c32 $D/pxeboot
-       install -m 0644 $D${datadir}/syslinux/vesamenu.c32 $D/pxeboot
-       install -m 0644 $D${datadir}/syslinux/chain.c32 $D/pxeboot
-       install -m 0644 $D${datadir}/syslinux/ldlinux.c32 $D/pxeboot
-       install -m 0644 $D${datadir}/syslinux/linux.c32 $D/pxeboot
-       install -m 0644 $D${datadir}/syslinux/libutil.c32 $D/pxeboot
-       install -m 0644 $D${datadir}/syslinux/reboot.c32 $D/pxeboot
-       install -m 0644 $D${datadir}/syslinux/pxechn.c32 $D/pxeboot
-       install -m 0644 $D${datadir}/syslinux/pxelinux.0 $D/pxeboot
-}
-
-FILES_pxe-network-installer = " \
-       /pxeboot \
-       ${sbindir}/pxeboot-update-${STX_REL}.sh \
-       "
diff --git a/meta-stx/recipes-core/stx-metal/python-inventoryclient.inc b/meta-stx/recipes-core/stx-metal/python-inventoryclient.inc
deleted file mode 100644 (file)
index 227ef66..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " python-inventoryclient"
-
-
-# python-keystoneauth1 >= 3.1.0
-# python-pbr >= 2.0.0
-# python-six >= 1.9.0
-# python-oslo-i18n >= 2.1.0
-# python-oslo-utils >= 3.20.0
-# python-requests
-# bash-completion
-#
-RDEPENDS_python-inventoryclient_append = " \
-       python \
-       python-pbr \
-       python-six \
-       python-oslo.i18n \
-       python-oslo.utils \
-       python-requests \
-       bash \
-       bash-completion \
-       "
-
-do_configure_prepend () {
-       cd ${S}/python-inventoryclient/inventoryclient
-       distutils_do_configure
-} 
-
-do_compile_prepend () {
-       cd ${S}/python-inventoryclient/inventoryclient
-       distutils_do_compile
-}
-
-do_install_prepend () {
-       cd ${S}/python-inventoryclient/inventoryclient
-       distutils_do_install
-       
-       install -d -m 755 ${D}/${sysconfdir}/bash_completion.d
-       install -p -D -m 664 tools/inventory.bash_completion ${D}/${sysconfdir}/bash_completion.d
-
-}
-
-FILES_python-inventoryclient = " \
-       ${bindir}/inventory \
-       ${sysconfdir}/bash_completion.d/inventory.bash_completion \
-       ${libdir}/python2.7/site-packages/inventoryclient-*.egg-info/ \
-       ${libdir}/python2.7/site-packages/inventoryclient/ \
-       "
diff --git a/meta-stx/recipes-core/stx-metal/stx-metal.bb b/meta-stx/recipes-core/stx-metal/stx-metal.bb
deleted file mode 100644 (file)
index c53fcdf..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-metal"
-
-# STABLE = "starlingx/master"
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV = "be3cf4eeb50eef55910cf9c73ea47c168005ad64"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = " \
-       file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://installer/pxe-network-installer/pxe-network-installer/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://kickstart/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://mtce-common/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://mtce-compute/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://mtce-control/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://mtce-storage/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://mtce/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://inventory/inventory/LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2 \
-       file://python-inventoryclient/inventoryclient/LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2 \
-       "
-
-
-SRC_URI = "git://opendev.org/starlingx/metal.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://0001-mtce-compute-dont-install-empty-directory-unless-nee.patch \
-       file://0002-mtce-control-dont-install-empty-directory-unless-nee.patch \
-       file://0003-mtce-storage-dont-install-empty-directory-unless-nee.patch \
-       file://0004-Use-snprintf-to-avoid-overflowing-amon.tx_buf.patch \
-       file://0005-Use-LDFLAGS-when-linking-and-pass-flags-down-to-subm.patch \
-       file://0006-stx-metal-remove-argparse-requirement-from-inventory.patch \
-       file://0007-mtce-do-not-use-which-to-check-CC.patch \
-       file://0008-stx-warrior-adjust-paths.patch \
-       file://0009-pmon_send_pulse.patch \
-       file://0010-libamon-add-shared-option.patch \
-       file://0011-kickstarts-adjustment-fnd-fixes-or-poky-stx.patch \
-       file://0012-kickstarts-add-setting-for-debain-style-networking.patch \
-       file://0013-kickstarts-add-vlan-setting-for-debain-style-network.patch \
-       "
-
-inherit setuptools systemd
-
-
-DEPENDS = " \
-       python \
-       python-pbr-native \
-       stx-fault \
-       openssl \
-       libevent \
-       json-c \
-       "
-RDEPENDS_${PN}_append = " bash"
-
-require mtce.inc
-require inventory.inc
-require mtce-common.inc
-require mtce-compute.inc
-require mtce-control.inc
-require mtce-storage.inc
-require python-inventoryclient.inc
-require pxe-network-installer.inc
-require platform-kickstarts.inc
-
-do_configure () {
-       :
-} 
-
-do_compile() {
-       :
-}
-
-do_install () {
-       :
-}
-
-pkg_postinst_ontarget_${PN} () {
-# install default config files
-}
-
-FILES_${PN} = " "
-FILES_${PN}-dbg_append += " "
-FILES_${PN}-staticdev_append = " "
-FILES_${PN}-dev_append = " "
-
-DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
diff --git a/meta-stx/recipes-core/stx-monitor-armada-app/monitor-helm-elastic_1.0.bb b/meta-stx/recipes-core/stx-monitor-armada-app/monitor-helm-elastic_1.0.bb
deleted file mode 100644 (file)
index 1f54f1d..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Monitor Helm Elastic charts"
-DESCRIPTION = "Monitor Helm Elastic charts"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-DEPENDS += " \
-    helm-native \
-    stx-openstack-helm \
-"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV_helm-charts-elastic = "2bd7616ceddbdf2eee88965e2028ee37d304c79c"
-SRCREV_monitor-armada-app = "e5ee6b3a07b74479b93fe90eff0662cf81890f73"
-
-SRC_URI = " \
-    git://github.com/elastic/helm-charts;protocol=${PROTOCOL};name=helm-charts-elastic \
-    git://opendev.org/starlingx/monitor-armada-app.git;protocol=${PROTOCOL};branch=${BRANCH};name=monitor-armada-app;destsuffix=monitor-armada-app \
-"
-
-S = "${WORKDIR}/git"
-
-inherit allarch
-
-patch_folder = "${WORKDIR}/monitor-armada-app/monitor-helm-elastic/files"
-helm_folder = "${nonarch_libdir}/helm"
-helmchart_version = "0.1.0"
-
-do_patch () {
-       cd ${S}
-       git am ${patch_folder}/0001-add-makefile.patch
-       git am ${patch_folder}/0002-Add-compatibility-for-k8s-1.16.patch
-       git am ${patch_folder}/0003-use-oss-image.patch
-       git am ${patch_folder}/0004-Update-to-Elastic-7.4.0-Release.patch
-       git am ${patch_folder}/0005-set-initial-masters-to-master-0.patch
-}
-
-do_configure () {
-       :
-}
-
-do_compile () {
-       # initialize helm and build the toolkit
-       # helm init --client-only does not work if there is no networking
-       # The following commands do essentially the same as: helm init
-       export HOME="${B}/${USER}"
-       export helm_home="${B}/${USER}/.helm"
-       rm -rf ${helm_home}
-
-       mkdir -p ${helm_home}
-       mkdir ${helm_home}/repository
-       mkdir ${helm_home}/repository/cache
-       mkdir ${helm_home}/repository/local
-       mkdir ${helm_home}/plugins
-       mkdir ${helm_home}/starters
-       mkdir ${helm_home}/cache
-       mkdir ${helm_home}/cache/archive
-
-       # Stage a repository file that only has a local repo
-       install -m 0644 ${patch_folder}/repositories.yaml \
-               ${helm_home}/repository/repositories.yaml
-
-       # Stage a local repo index that can be updated by the build
-       install -m 0644 ${patch_folder}/index.yaml ${helm_home}/repository/local/index.yaml
-
-       # Host a server for the charts
-       helm serve --repo-path . &
-       sleep 1
-       helm repo rm local
-       helm repo add local http://localhost:8879/charts
-
-       # Create the tgz files
-       rm -rf elasticsearch/Makefile
-       make elasticsearch
-
-       # terminate helm server (the last backgrounded task)
-       kill $!
-       rm -rf ${helm_home}
-}
-
-do_install () {
-       install -d -m 755 ${D}${helm_folder}
-       install -p -D -m 755 ${B}/*.tgz ${D}${helm_folder}
-}
-
-FILES_${PN} = "${helm_folder}"
-
-RDEPENDS_${PN} = " \
-    helm \
-    stx-platform-helm \
-    stx-openstack-helm \
-"
diff --git a/meta-stx/recipes-core/stx-monitor-armada-app/monitor-helm_1.0.bb b/meta-stx/recipes-core/stx-monitor-armada-app/monitor-helm_1.0.bb
deleted file mode 100644 (file)
index 375c006..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Monitor Helm charts"
-DESCRIPTION = "Monitor Helm charts"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-DEPENDS += " \
-    helm-native \
-    monitor-helm-elastic \
-"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV_helm-charts = "92b6289ae93816717a8453cfe62bad51cbdb8ad0"
-SRCREV_monitor-armada-app = "e5ee6b3a07b74479b93fe90eff0662cf81890f73"
-
-SRC_URI = " \
-    git://github.com/helm/charts;protocol=${PROTOCOL};name=helm-charts \
-    git://opendev.org/starlingx/monitor-armada-app.git;protocol=${PROTOCOL};branch=${BRANCH};name=monitor-armada-app;destsuffix=monitor-armada-app \
-"
-
-S = "${WORKDIR}/git"
-
-inherit allarch
-
-patch_folder = "${WORKDIR}/monitor-armada-app/monitor-helm/files"
-helm_folder = "${nonarch_libdir}/helm"
-helmchart_version = "0.1.0"
-
-do_patch () {
-       cd ${S}
-       git am ${patch_folder}/0001-Add-Makefile-for-helm-charts.patch
-       git am ${patch_folder}/0002-kibana-workaround-checksum-for-configmap.yaml.patch
-       git am ${patch_folder}/0003-helm-chart-changes-for-stx-monitor.patch
-       git am ${patch_folder}/0004-ipv6-helm-chart-changes.patch
-       git am ${patch_folder}/0005-decouple-config.patch
-       git am ${patch_folder}/0006-add-system-info.patch
-       git am ${patch_folder}/0007-three-masters.patch
-       git am ${patch_folder}/0008-Update-stx-monitor-for-kubernetes-API-1.16.patch
-       git am ${patch_folder}/0009-add-curator-as-of-2019-10-10.patch
-       git am ${patch_folder}/0010-Update-kube-state-metrics-1.8.0-to-commit-09daf19.patch
-       git am ${patch_folder}/0011-update-init-container-env-to-include-node-name.patch
-       git am ${patch_folder}/0012-Add-imagePullSecrets.patch
-       git am ${patch_folder}/0013-removed-unused-images.patch
-}
-
-do_configure () {
-       :
-}
-
-do_compile () {
-       # initialize helm and build the toolkit
-       # helm init --client-only does not work if there is no networking
-       # The following commands do essentially the same as: helm init
-       export HOME="${B}/${USER}"
-       export helm_home="${B}/${USER}/.helm"
-       rm -rf ${helm_home}
-
-       mkdir -p ${helm_home}
-       mkdir ${helm_home}/repository
-       mkdir ${helm_home}/repository/cache
-       mkdir ${helm_home}/repository/local
-       mkdir ${helm_home}/plugins
-       mkdir ${helm_home}/starters
-       mkdir ${helm_home}/cache
-       mkdir ${helm_home}/cache/archive
-
-       # Stage a repository file that only has a local repo
-       install -m 0644 ${patch_folder}/repositories.yaml ${helm_home}/repository/repositories.yaml
-
-       # Stage a local repo index that can be updated by the build
-       install -m 0644 ${patch_folder}/index.yaml ${helm_home}/repository/local/index.yaml
-
-       # Host a server for the charts
-       helm serve --repo-path . &
-       sleep 1
-       helm repo rm local
-       helm repo add local http://localhost:8879/charts
-
-       # Create the tgz files
-       cd stable
-       make filebeat
-       make metricbeat
-       make kube-state-metrics
-       make kibana
-       make nginx-ingress
-       make logstash
-       make elasticsearch-curator
-
-       # terminate helm server (the last backgrounded task)
-       kill $!
-       rm -rf ${helm_home}
-}
-
-do_install () {
-       install -d -m 755 ${D}${helm_folder}
-       install -p -D -m 755 ${S}/stable/*.tgz ${D}${helm_folder}
-}
-
-FILES_${PN} = "${helm_folder}"
-
-RDEPENDS_${PN} = " \
-    helm \
-    monitor-helm-elastic \
-"
diff --git a/meta-stx/recipes-core/stx-monitor-armada-app/stx-monitor-helm_1.0.bb b/meta-stx/recipes-core/stx-monitor-armada-app/stx-monitor-helm_1.0.bb
deleted file mode 100644 (file)
index 31af03f..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "StarlingX Monitor Application Armada Helm Charts"
-DESCRIPTION = "StarlingX Monitor Application Armada Helm Charts"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-DEPENDS += " \
-    monitor-helm \
-    monitor-helm-elastic \
-"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV = "e5ee6b3a07b74479b93fe90eff0662cf81890f73"
-
-SRC_URI = "git://opendev.org/starlingx/monitor-armada-app.git;protocol=${PROTOCOL};branch=${BRANCH}"
-
-S = "${WORKDIR}/git/stx-monitor-helm/stx-monitor-helm"
-
-inherit allarch
-
-helm_folder = "${nonarch_libdir}/helm"
-armada_folder = "${nonarch_libdir}/armada"
-app_folder = "${nonarch_libdir}/application"
-
-do_configure () {
-       :
-}
-
-do_compile () {
-       :
-}
-
-do_install () {
-       install -d -m 755 ${D}${armada_folder}
-       install -p -D -m 755 ${S}/manifests/*.yaml ${D}${armada_folder}
-       install -d -m 755 ${D}${app_folder}
-       install -p -D -m 755 ${S}/files/metadata.yaml ${D}${app_folder}/monitor_metadata.yaml
-}
-
-FILES_${PN} = " \
-    ${app_folder} \
-    ${armada_folder} \
-"
-
-RDEPENDS_${PN} = " \
-    helm \
-    monitor-helm \
-    monitor-helm-elastic \
-"
diff --git a/meta-stx/recipes-core/stx-monitoring/collectd-extensions.inc b/meta-stx/recipes-core/stx-monitoring/collectd-extensions.inc
deleted file mode 100644 (file)
index 368144d..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " collectd-extensions"
-
-RDEPENDS_collectd-extensions += " \
-       systemd \
-       collectd \
-       fm-api \
-       ntpq \
-       python-influxdb \
-       python-oslo.concurrency \
-       python-httplib2 \
-       tsconfig \
-       "
-
-do_configure_append () {
-       :
-} 
-
-do_compile_append() {
-       :
-}
-
-local_unit_dir = "${sysconfdir}/systemd/system"
-local_plugin_dir = "${sysconfdir}/collectd.d"
-local_python_extensions_dir = "/opt/collectd/extensions/python"
-local_config_extensions_dir = "/opt/collectd/extensions/config"
-
-
-do_install_append() {
-
-       cd ${S}/collectd-extensions/src
-       install -m 755 -d ${D}/${sysconfdir}
-       install -m 755 -d ${D}/${local_unit_dir}
-       install -m 755 -d ${D}/${local_plugin_dir}
-       install -m 755 -d ${D}/${local_config_extensions_dir}
-       install -m 755 -d ${D}/${local_python_extensions_dir}
-
-       # support files ; service and pmon conf
-       install -m 644 collectd.service  ${D}/${local_unit_dir}
-       install -m 600 collectd.conf.pmon  ${D}/${local_config_extensions_dir}
-
-       # collectd python plugin files - notifiers
-       install -m 700  fm_notifier.py ${D}/${local_python_extensions_dir}
-       install -m 700 plugin_common.py ${D}/${local_python_extensions_dir}
-
-       # collectd python plugin files - resource plugins
-       install -m 700 cpu.py  ${D}/${local_python_extensions_dir}
-       install -m 700 memory.py  ${D}/${local_python_extensions_dir}
-       install -m 700 example.py  ${D}/${local_python_extensions_dir}
-       install -m 700 ntpq.py  ${D}/${local_python_extensions_dir}
-       install -m 700 interface.py ${D}/${local_python_extensions_dir}
-       install -m 700 remotels.py  ${D}/${local_python_extensions_dir}
-       install -m 700 ptp.py  ${D}/${local_python_extensions_dir}
-       install -m 700 ovs_interface.py  ${D}/${local_python_extensions_dir}
-
-
-       # collectd plugin conf files into /etc/collectd.d
-       install -m 600 python_plugins.conf  ${D}/${local_plugin_dir}
-       install -m 600 cpu.conf  ${D}/${local_plugin_dir}
-       install -m 600 memory.conf  ${D}/${local_plugin_dir}
-       install -m 600 df.conf  ${D}/${local_plugin_dir}
-       install -m 600 example.conf  ${D}/${local_plugin_dir}
-       install -m 600 ntpq.conf  ${D}/${local_plugin_dir}
-       install -m 600 interface.conf  ${D}/${local_plugin_dir}
-       install -m 600 remotels.conf  ${D}/${local_plugin_dir}
-       install -m 600 ptp.conf  ${D}/${local_plugin_dir}
-       install -m 600 ovs_interface.conf  ${D}/${local_plugin_dir}
-
-}
-
-FILES_collectd-extensions = " \
-       ${local_unit_dir}/collectd.service \
-       ${local_config_extensions_dir}/collectd.conf.pmon \
-       ${local_python_extensions_dir}/fm_notifier.py \
-       ${local_python_extensions_dir}/plugin_common.py \
-       ${local_python_extensions_dir}/cpu.py \
-       ${local_python_extensions_dir}/memory.py \
-       ${local_python_extensions_dir}/example.py \
-       ${local_python_extensions_dir}/ntpq.py \
-       ${local_python_extensions_dir}/interface.py \
-       ${local_python_extensions_dir}/remotels.py \
-       ${local_python_extensions_dir}/ptp.py \
-       ${local_python_extensions_dir}/ovs_interface.py \
-       ${local_plugin_dir}/python_plugins.conf \
-       ${local_plugin_dir}/cpu.conf \
-       ${local_plugin_dir}/memory.conf \
-       ${local_plugin_dir}/df.conf \
-       ${local_plugin_dir}/example.conf \
-       ${local_plugin_dir}/ntpq.conf \
-       ${local_plugin_dir}/interface.conf \
-       ${local_plugin_dir}/remotels.conf \
-       ${local_plugin_dir}/ptp.conf \
-       ${local_plugin_dir}/ovs_interface.conf \
-       "
diff --git a/meta-stx/recipes-core/stx-monitoring/influxdb-extensions.inc b/meta-stx/recipes-core/stx-monitoring/influxdb-extensions.inc
deleted file mode 100644 (file)
index 36e3199..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " influxdb-extensions"
-
-RDEPENDS_influxdb-extensions += " \
-       influxdb \
-       systemd \
-       python-influxdb \
-       "
-
-do_configure_append () {
-       :
-} 
-
-do_compile_append() {
-       :
-}
-
-local_unit_dir = "${sysconfdir}/systemd/system"
-
-do_install_append() {
-
-       cd ${S}/influxdb-extensions/src
-       install -m 755 -d ${D}/${sysconfdir}
-       install -m 755 -d ${D}/${local_unit_dir}
-       install -m 755 -d ${D}/${sysconfdir}/influxdb
-
-       # support files ; service and pmon conf
-       install -m 644 influxdb.service  ${D}/${local_unit_dir}
-       install -m 600 influxdb.conf.pmon  ${D}/${sysconfdir}/influxdb
-}
-
-FILES_influxdb-extensions = " \
-       ${local_unit_dir}/influxdb.service \
-       ${sysconfdir}/influxdb \
-       "
diff --git a/meta-stx/recipes-core/stx-monitoring/monitor-tools.inc b/meta-stx/recipes-core/stx-monitoring/monitor-tools.inc
deleted file mode 100644 (file)
index 64e5f84..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " monitor-tools"
-
-# RDEPENDS_monitor-tools += " initscripts-config"
-
-do_configure_append () {
-       :
-} 
-
-do_compile_append() {
-       :
-}
-
-do_install_append() {
-
-       cd ${S}/monitor-tools/scripts
-       install -m 755 -d ${D}/${bindir}
-       # support files ; service and pmon conf
-       install -m 644 memtop  ${D}/${bindir}
-       install -m 600 schedtop ${D}/${bindir}
-       install -m 600 occtop  ${D}/${bindir}
-}
-
-FILES_monitor-tools  = " \
-       ${bindir}/memtop \
-       ${bindir}/schedtop \
-       ${bindir}/occtop \
-       "
diff --git a/meta-stx/recipes-core/stx-monitoring/stx-monitoring.bb b/meta-stx/recipes-core/stx-monitoring/stx-monitoring.bb
deleted file mode 100644 (file)
index 9ddc760..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-monitoring"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCNAME = "monitoring"
-SRCREV = "8befe1720b02c5e1e3ddf637947643b9b0a0f96f"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = " \
-       file://collectd-extensions/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://influxdb-extensions/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://monitor-tools/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://monitor-tools/scripts/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://vm-topology/vm-topology/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       "
-
-SRC_URI = "git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-DEPENDS += " \
-       python \
-       python-pbr-native \
-       stx-metal \
-       stx-fault \
-       json-c \
-       openssl \
-       libevent \
-       libgcc \
-       "
-
-require collectd-extensions.inc
-require influxdb-extensions.inc
-require monitor-tools.inc
-require vm-topology.inc
-
-do_configure () {
-       :
-} 
-
-do_compile() {
-       :
-}
-
-do_install () {
-       :
-}
-
-pkg_postinst_ontarget_${PN} () {
-}
-
-FILES_${PN} = " "
diff --git a/meta-stx/recipes-core/stx-monitoring/vm-topology.inc b/meta-stx/recipes-core/stx-monitoring/vm-topology.inc
deleted file mode 100644 (file)
index a66bf5c..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " vm-topology"
-
-RDEPENDS_vm-topology += " \
-       python \
-       libvirt \
-       python-keyring \
-       "
-
-DEPENDS += " \
-       python-keyring \
-       libvirt \
-       "
-
-inherit setuptools distutils python-dir
-
-do_configure_append () {
-       cd ${S}/vm-topology/vm-topology
-       distutils_do_configure
-} 
-
-do_compile_append() {
-       cd ${S}/vm-topology/vm-topology
-       distutils_do_compile
-}
-
-do_install_append() {
-       cd ${S}/vm-topology/vm-topology
-       distutils_do_install
-}
-
-FILES_vm-topology  = " \
-       ${bindir}/vm-topology \
-       ${PYTHON_SITEPACKAGES_DIR}/ \
-       "
diff --git a/meta-stx/recipes-core/stx-nfv/files/use-ldflags-mtce-guest.patch b/meta-stx/recipes-core/stx-nfv/files/use-ldflags-mtce-guest.patch
deleted file mode 100644 (file)
index eab5e65..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/mtce-guest/src/Makefile b/mtce-guest/src/Makefile
-index 40dd933..ba6e029 100644
---- a/mtce-guest/src/Makefile
-+++ b/mtce-guest/src/Makefile
-@@ -31,8 +31,8 @@ LDLIBS = $(EXTRALDFLAGS) -lstdc++ -ldaemon -lcommon -lfmcommon -ljson-c -levent
- INCLUDES = -I. -I/usr/include/mtce-common -I/usr/include/mtce-daemon
- build: $(OBJS)
--      $(CXX) $(CCPFLAGS) $(AGENT_OBJS)  $(LDLIBS) -L. -o guestAgent
--      $(CXX) $(CCPFLAGS) $(SERVER_OBJS) $(LDLIBS) -L. -o guestServer
-+      $(CXX) $(CCPFLAGS) $(LDFLAGS) $(AGENT_OBJS)  $(LDLIBS) -L. -o guestAgent
-+      $(CXX) $(CCPFLAGS) $(LDFLAGS) $(SERVER_OBJS) $(LDLIBS) -L. -o guestServer
- .cpp.o:
-       $(CXX) $(INCLUDES) $(CCPFLAGS) $(EXTRACCFLAGS) -c $< -o $@
diff --git a/meta-stx/recipes-core/stx-nfv/mtce-guest.inc b/meta-stx/recipes-core/stx-nfv/mtce-guest.inc
deleted file mode 100644 (file)
index 268f538..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " mtce-guestagent"
-PACKAGES += " mtce-guestserver"
-
-do_configure_prepend () {
-       :
-} 
-
-do_compile_prepend () {
-       cd ${S}/mtce-guest/src/
-       oe_runmake -e MAJOR="1" MINONR="0" \
-               INCLUDES=" -I. -I${STAGING_INCDIR}/mtce-common/ -I${STAGING_INCDIR}/mtce-daemon/ " \
-               CPPFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" build
-}
-
-do_install_prepend () {
-
-       cd ${S}/mtce-guest/src/
-       oe_runmake -e install DESTDIR=${D} PREFIX=${D}/usr/ \
-                      SYSCONFDIR=${D}/${sysconfdir} \
-                           LOCALBINDIR=${D}/${bindir} \
-                           UNITDIR=${D}/${systemd_system_unitdir} 
-
-       rm -rf ${D}/var
-       rm -rf ${D}/var/run
-}
-
-FILES_mtce-guestserver = " \
-       ${sysconfdir}/mtc/tmp \
-       ${sysconfdir}/mtc/guestServer.ini \
-       ${sysconfdir}/pmon.d/guestServer.conf \
-       ${sysconfdir}/logrotate.d/guestServer.logrotate \
-       ${systemd_system_unitdir}/guestServer.service \
-       ${sysconfdir}/init.d/guestServer \
-       ${bindir}/guestServer \
-       "
-
-FILES_mtce-guestagent = " \ 
-       ${sysconfdir}/mtc/tmp \
-       ${sysconfdir}/mtc/guestAgent.ini \
-       ${systemd_system_unitdir}/guestAgent.service \
-       ${sysconfdir}/logrotate.d/guestAgent.logrotate \
-       ${sysconfdir}/init.d/guestAgent \
-       ${libdir}/ocf/resource.d/platform/guestAgent \
-       ${bindir}/guestAgent \
-" 
diff --git a/meta-stx/recipes-core/stx-nfv/nfv-client.inc b/meta-stx/recipes-core/stx-nfv/nfv-client.inc
deleted file mode 100644 (file)
index a559914..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " nfv-client"
-
-inherit setuptools
-
-
-do_configure_prepend () {
-       cd ${S}/nfv/nfv-client
-       distutils_do_configure
-} 
-
-do_compileprepend () {
-       cd ${S}/nfv/nfv-client
-       distutils_do_compile
-}
-
-do_install_prepend () {
-       cd ${S}/nfv/nfv-client
-       distutils_do_install
-       
-       install -d -m 755 ${D}/${sysconfdir}/bash_completion.d
-       install -m 444 scripts/sw-manager.completion ${D}/${sysconfdir}/bash_completion.d/sw-manager
-
-}
-
-FILES_nfv-client = " \
-       ${bindir}/sw-manager \
-       ${sysconfdir}/bash_completion.d/sw-manager \
-       ${libdir}/python2.7/site-packages/nfv_client*egg-info \
-       ${libdir}/python2.7/site-packages/nfv_client \
-       "
diff --git a/meta-stx/recipes-core/stx-nfv/nfv-common.inc b/meta-stx/recipes-core/stx-nfv/nfv-common.inc
deleted file mode 100644 (file)
index 0d6b2c6..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " nfv-common"
-
-inherit setuptools
-
-do_configure_prepend () {
-       cd ${S}/nfv/nfv-common
-       distutils_do_configure
-} 
-
-do_compile_prepend () {
-       cd ${S}/nfv/nfv-common
-       distutils_do_compile
-}
-
-do_install_prepend () {
-       cd ${S}/nfv/nfv-common
-       distutils_do_install
-       
-}
-
-pkg_postinst_ontarget_nfv-common () {
-
-}
-
-FILES_nfv-common_append = " \
-       ${libdir}/python2.7/site-packages/nfv_common \
-       ${libdir}/python2.7/site-packages/windriver_nfv_common_plugins-1.0.0-py2.7.egg-info \
-       "
diff --git a/meta-stx/recipes-core/stx-nfv/nfv-plugins.inc b/meta-stx/recipes-core/stx-nfv/nfv-plugins.inc
deleted file mode 100644 (file)
index a166524..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " nfv-plugins"
-
-inherit setuptools
-
-
-do_configure_append () {
-       cd ${S}/nfv/nfv-plugins
-       distutils_do_configure
-} 
-
-do_compile_append () {
-       cd ${S}/nfv/nfv-plugins
-       distutils_do_compile
-}
-
-do_install_append () {
-       cd ${S}/nfv/nfv-plugins
-       distutils_do_install
-
-       install -d -m 755 ${D}/${sysconfdir}/nfv/
-       install -d -m 755 ${D}/${sysconfdir}/nfv/nfv_plugins/
-       install -d -m 755 ${D}/${sysconfdir}/nfv/nfv_plugins/alarm_handlers/
-
-       install -p -D -m 600 nfv_plugins/alarm_handlers/config.ini \
-                       ${D}/${sysconfdir}/nfv/nfv_plugins/alarm_handlers/config.ini
-
-       install -d -m 755 ${D}/${sysconfdir}/nfv/nfv_plugins/event_log_handlers/
-
-       install -p -D -m 600 nfv_plugins/event_log_handlers/config.ini \
-                       ${D}/${sysconfdir}/nfv/nfv_plugins/event_log_handlers/config.ini
-                       \
-       install -d -m 755 ${D}/${sysconfdir}/nfv/nfv_plugins/nfvi_plugins/
-
-       install -p -D -m 600 nfv_plugins/nfvi_plugins/config.ini \
-                       ${D}/${sysconfdir}/nfv/nfv_plugins/nfvi_plugins/config.ini
-                                       
-       install -d -m 755 ${D}/
-       install -p -D -m 644 scripts/nfvi-plugins.logrotate \
-                       ${D}/${sysconfdir}/logrotate.d/nfvi-plugins.logrotate
-       
-}
-
-FILES_nfv-plugins += " \
-       ${bindir}/nfv-forensic \
-       ${bindir}/nfv-notify \
-       ${libdir}/python2.7/site-packages/windriver_nfv_plugins*egg-info \
-       ${libdir}/python2.7/site-packages/nfv_plugins \
-       ${sysconfdir}/nfv/nfv_plugins/ \
-       ${sysconfdir}/logrotate.d/nfvi-plugins.logrotate \
-       "
-
diff --git a/meta-stx/recipes-core/stx-nfv/nfv-tools.inc b/meta-stx/recipes-core/stx-nfv/nfv-tools.inc
deleted file mode 100644 (file)
index a7f3958..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " nfv-tools"
-inherit setuptools
-
-
-do_configure_append () {
-       cd ${S}/nfv/nfv-tools
-       distutils_do_configure
-} 
-
-do_compile_append () {
-       cd ${S}/nfv/nfv-tools
-       distutils_do_compile
-}
-
-do_install_append () {
-       cd ${S}/nfv/nfv-tools
-       distutils_do_install
-
-}
-
-FILES_nfv-tools = " \
-       ${bindir}/nfv-forensic \
-       ${bindir}/nfv-notify \
-       ${libdir}/python2.7/site-packages/nfv_tools*egg-info \
-       ${libdir}/python2.7/site-packages/nfv_tools \
-       "
diff --git a/meta-stx/recipes-core/stx-nfv/nfv-vim.inc b/meta-stx/recipes-core/stx-nfv/nfv-vim.inc
deleted file mode 100644 (file)
index 922e2b9..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " nfv-vim"
-
-inherit setuptools
-
-do_configure_prepend () {
-       cd ${S}/nfv/nfv-vim
-       sed -i -e 's|@SYSCONFDIR@|${sysconfdir}|g' \
-               scripts/vim \
-               scripts/vim-api \
-               scripts/vim-webserver \
-               nfv_vim/config.ini
-       sed -i -e 's|@PYTHONROOT@|${libdir}/python2.7/site-packages|g' nfv_vim/config.ini
-
-       distutils_do_configure
-} 
-
-do_compile_prepend () {
-       cd ${S}/nfv/nfv-vim
-       distutils_do_compile
-}
-
-do_install_prepend () {
-       cd ${S}/nfv/nfv-vim
-       distutils_do_install
-       install -d -m 755 ${D}/usr/lib/ocf/resource.d/nfv
-       install -p -D -m 755 scripts/vim ${D}/usr/lib/ocf/resource.d/nfv/vim
-       install -p -D -m 755 scripts/vim-api ${D}/usr/lib/ocf/resource.d/nfv/vim-api
-       install -p -D -m 755 scripts/vim-webserver ${D}/usr/lib/ocf/resource.d/nfv/vim-webserver
-       install -d -m 755 ${D}/${sysconfdir}/nfv/
-       install -d -m 755 ${D}/${sysconfdir}/nfv/vim/
-       install -p -D -m 600 nfv_vim/config.ini ${D}/${sysconfdir}/nfv/vim/config.ini
-       install -p -D -m 600 nfv_vim/debug.ini ${D}/${sysconfdir}/nfv/vim/debug.ini
-
-}
-
-#pkg_postinst_ontarget_${PN} () {
-
-FILES_nfv-vim_append = " \
-       ${sysconfdir}/nfv/vim \
-       ${libdir}/ocf/resource.d/nfv/vim \
-       ${libdir}/ocf/resource.d/nfv/vim-api \
-       ${libdir}/ocf/resource.d/nfv/vim-webserver \
-       ${bindir}/nfv-vim-webserver \
-       ${bindir}/nfv-vim-api \
-       ${bindir}/nfv-vim-manage \
-       ${bindir}/nfv-vim \
-       ${libdir}/python2.7/site-packages/nfv_vim \
-       ${libdir}/python2.7/site-packages/nfv_vim*egg-info \
-       "
diff --git a/meta-stx/recipes-core/stx-nfv/nova-api-proxy.inc b/meta-stx/recipes-core/stx-nfv/nova-api-proxy.inc
deleted file mode 100644 (file)
index 8234b8a..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " nova-api-proxy"
-
-inherit setuptools
-
-
-do_configure_append () {
-       cd ${S}/nova-api-proxy/nova-api-proxy
-       distutils_do_configure
-} 
-
-do_compile_append( ) {
-       cd ${S}/nova-api-proxy/nova-api-proxy
-       distutils_do_compile
-}
-
-do_install_append () {
-       cd ${S}/nova-api-proxy/nova-api-proxy
-       distutils_do_install
-
-       install -d -m 755 ${D}/${systemd_system_unitdir}
-       install -p -D -m 644 nova_api_proxy/scripts/api-proxy.service ${D}/${systemd_system_unitdir}/api-proxy.service
-       install -d -m 755 ${D}/${sysconfdir}/rc.d/init.d
-       install -p -D -m 755 nova_api_proxy/scripts/api-proxy ${D}/${sysconfdir}/rc.d/init.d/api-proxy
-
-       install -d -m 755 ${D}/${sysconfdir}/proxy
-       install -p -D -m 700 nova_api_proxy/nova-api-proxy.conf ${D}${sysconfdir}/proxy/nova-api-proxy.conf
-       install -p -D -m 700 nova_api_proxy/api-proxy-paste.ini ${D}${sysconfdir}/proxy/api-proxy-paste.ini
-       
-
-}
-
-
-FILES_nova-api-proxy = " \ 
-       ${bindir}/nova-api-proxy \
-       ${sysconfdir}/proxy/api-proxy-paste.ini \
-       ${sysconfdir}/proxy/api-proxy-paste.conf \
-       ${sysconfdir}/proxy/nova-api-proxy.conf \
-       ${sysconfdir}/rc.d/init.d/api-proxy \
-       ${systemd_system_unitdir}/api-proxy.service \
-       ${libdir}/python2.7/site-packages/nova_api_proxy/ \
-       ${libdir}/python2.7/site-packages/api_proxy*egg-info \
-       "
diff --git a/meta-stx/recipes-core/stx-nfv/stx-nfv.bb b/meta-stx/recipes-core/stx-nfv/stx-nfv.bb
deleted file mode 100644 (file)
index 8b4430a..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-nfv"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV = "aaa932c00e028dcbaf0eed6843c4d3e51f09b2c1"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-
-SRC_URI = "git://opendev.org/starlingx/nfv.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://use-ldflags-mtce-guest.patch \
-       "
-
-DEPENDS += " \
-       python \
-       python-pbr-native \
-       stx-metal \
-       stx-fault \
-       json-c \
-       openssl \
-       libevent \
-       libgcc \
-       "
-
-require mtce-guest.inc
-require nfv-vim.inc
-require nfv-common.inc
-require nfv-client.inc
-require nfv-plugins.inc
-require nfv-tools.inc
-require nova-api-proxy.inc
-
-do_configure () {
-       :
-} 
-
-do_compile() {
-       :
-}
-
-do_install () {
-       :
-}
-
-pkg_postinst_ontarget_${PN} () {
-}
-
-FILES_${PN} = " "
diff --git a/meta-stx/recipes-core/stx-openstack-armada-app/openstack-helm-infra_1.0.bb b/meta-stx/recipes-core/stx-openstack-armada-app/openstack-helm-infra_1.0.bb
deleted file mode 100644 (file)
index 2b7e196..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Openstack-Helm-Infra charts"
-DESCRIPTION = "Openstack-Helm-Infra charts"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-DEPENDS += "helm-native"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV_openstack-helm-infra = "c9d6676bf9a5aceb311dc31dadd07cba6a3d6392"
-SRCREV_openstack-armada-app = "863f4b9733d3d4f4fd490606a94b84cfdaf2df2c"
-
-SRC_URI = " \
-    git://github.com/openstack/openstack-helm-infra;protocol=${PROTOCOL};name=openstack-helm-infra \
-    git://opendev.org/starlingx/openstack-armada-app;protocol=${PROTOCOL};branch=${BRANCH};name=openstack-armada-app;destsuffix=openstack-armada-app \
-"
-
-S = "${WORKDIR}/git"
-
-inherit allarch
-
-patch_folder = "${WORKDIR}/openstack-armada-app/openstack-helm-infra/files"
-helm_folder = "${nonarch_libdir}/helm"
-
-do_patch () {
-       cd ${S}
-       git am ${patch_folder}/0001-Allow-multiple-containers-per-daemonset-pod.patch
-       git am ${patch_folder}/0002-Add-imagePullSecrets-in-service-account.patch
-       git am ${patch_folder}/0003-Set-Min-NGINX-handles.patch
-       git am ${patch_folder}/0004-Partial-revert-of-31e3469d28858d7b5eb6355e88b6f49fd6.patch
-       git am ${patch_folder}/0005-Add-TLS-support-for-Gnocchi-public-endpoint.patch
-       git am ${patch_folder}/0006-Fix-pod-restarts-on-all-workers-when-worker-added-re.patch
-       git am ${patch_folder}/0007-Add-io_thread_pool-for-rabbitmq.patch
-       git am ${patch_folder}/0008-Enable-override-of-rabbitmq-probe-parameters.patch
-}
-
-do_configure () {
-       :
-}
-
-do_compile () {
-       # initialize helm and build the toolkit
-       # helm init --client-only does not work if there is no networking
-       # The following commands do essentially the same as: helm init
-       export HOME="${B}/${USER}"
-       export helm_home="${B}/${USER}/.helm"
-       rm -rf ${helm_home}
-
-       mkdir -p ${helm_home}
-       mkdir ${helm_home}/repository
-       mkdir ${helm_home}/repository/cache
-       mkdir ${helm_home}/repository/local
-       mkdir ${helm_home}/plugins
-       mkdir ${helm_home}/starters
-       mkdir ${helm_home}/cache
-       mkdir ${helm_home}/cache/archive
-
-       # Stage a repository file that only has a local repo
-       install -m 0644 ${patch_folder}/repositories.yaml \
-               ${helm_home}/repository/repositories.yaml
-
-       # Host a server for the charts
-       tmpdir=`mktemp -d ${B}/charts-XXXXXX`
-       helm serve ${tmpdir} --address localhost:8879 --url http://localhost:8879/charts &
-       sleep 1
-       helm repo rm local
-       helm repo add local http://localhost:8879/charts
-
-       # Make the charts. These produce tgz files
-       make helm-toolkit
-       make gnocchi
-       make ingress
-       make libvirt
-       make mariadb
-       make memcached
-       make openvswitch
-       make rabbitmq
-       make ceph-rgw
-
-       # terminate helm server (the last backgrounded task)
-       kill $!
-       rm -rf ${helm_home}
-}
-
-do_install () {
-       install -d -m 755 ${D}${helm_folder}
-       install -p -D -m 755 ${B}/*.tgz ${D}${helm_folder}
-}
-
-FILES_${PN} = "${helm_folder}"
-
-RDEPENDS_${PN} = "helm"
diff --git a/meta-stx/recipes-core/stx-openstack-armada-app/openstack-helm_1.0.bb b/meta-stx/recipes-core/stx-openstack-armada-app/openstack-helm_1.0.bb
deleted file mode 100644 (file)
index a43d9f4..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Openstack Helm charts"
-DESCRIPTION = "Openstack Helm charts"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-DEPENDS += " \
-    helm-native \
-    openstack-helm-infra \
-"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV_openstack-helm = "82c72367c85ca94270f702661c7b984899c1ae38"
-SRCREV_openstack-armada-app = "863f4b9733d3d4f4fd490606a94b84cfdaf2df2c"
-
-SRC_URI = " \
-    git://github.com/openstack/openstack-helm;protocol=${PROTOCOL};name=openstack-helm \
-    git://opendev.org/starlingx/openstack-armada-app;protocol=${PROTOCOL};branch=${BRANCH};name=openstack-armada-app;destsuffix=openstack-armada-app \
-"
-
-S = "${WORKDIR}/git"
-
-inherit allarch
-
-patch_folder = "${WORKDIR}/openstack-armada-app/openstack-helm/files"
-helm_folder = "${nonarch_libdir}/helm"
-toolkit_version = "0.1.0"
-helmchart_version = "0.1.0"
-
-do_patch () {
-       cd ${S}
-       git am ${patch_folder}/0001-Ceilometer-chart-add-the-ability-to-publish-events-t.patch
-       git am ${patch_folder}/0002-Remove-stale-Apache2-service-pids-when-a-POD-starts.patch
-       git am ${patch_folder}/0003-Nova-console-ip-address-search-optionality.patch
-       git am ${patch_folder}/0004-Nova-chart-Support-ephemeral-pool-creation.patch
-       git am ${patch_folder}/0005-Nova-Add-support-for-disabling-Readiness-Liveness-pr.patch
-       git am ${patch_folder}/0006-Add-Placement-Chart.patch
-}
-
-do_configure () {
-       :
-}
-
-do_compile () {
-       # initialize helm and build the toolkit
-       # helm init --client-only does not work if there is no networking
-       # The following commands do essentially the same as: helm init
-       export HOME="${B}/${USER}"
-       export helm_home="${B}/${USER}/.helm"
-       rm -rf ${helm_home}
-
-       mkdir -p ${helm_home}
-       mkdir ${helm_home}/repository
-       mkdir ${helm_home}/repository/cache
-       mkdir ${helm_home}/repository/local
-       mkdir ${helm_home}/plugins
-       mkdir ${helm_home}/starters
-       mkdir ${helm_home}/cache
-       mkdir ${helm_home}/cache/archive
-
-       # Stage a repository file that only has a local repo
-       install -m 0644 ${patch_folder}/repositories.yaml ${helm_home}/repository/repositories.yaml
-
-       # Stage a local repo index that can be updated by the build
-       install -m 0644 ${patch_folder}/index.yaml ${helm_home}/repository/local/index.yaml
-
-       # Stage helm-toolkit in the local repo
-       cp ${RECIPE_SYSROOT}${helm_folder}/helm-toolkit-${toolkit_version}.tgz .
-
-       # Host a server for the charts
-       helm serve --repo-path . &
-       sleep 1
-       helm repo rm local
-       helm repo add local http://localhost:8879/charts
-
-       # Make the charts. These produce a tgz file
-       make aodh
-       make barbican
-       make ceilometer
-       make cinder
-       make glance
-       make heat
-       make horizon
-       make ironic
-       make keystone
-       make magnum
-       make neutron
-       make nova
-       make panko
-       make placement
-
-       # terminate helm server (the last backgrounded task)
-       kill $!
-       rm -rf ${helm_home}
-
-       # Remove the helm-toolkit tarball
-       rm helm-toolkit-${toolkit_version}.tgz
-}
-
-do_install () {
-       install -d -m 755 ${D}${helm_folder}
-       install -p -D -m 755 ${B}/*.tgz ${D}${helm_folder}
-}
-
-FILES_${PN} = "${helm_folder}"
-
-RDEPENDS_${PN} = " \
-    helm \
-    openstack-helm-infra \
-"
diff --git a/meta-stx/recipes-core/stx-openstack-armada-app/stx-openstack-helm_1.0.bb b/meta-stx/recipes-core/stx-openstack-armada-app/stx-openstack-helm_1.0.bb
deleted file mode 100644 (file)
index d4635a8..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "StarlingX Openstack Application Helm charts"
-DESCRIPTION = "StarlingX Openstack Application Helm charts"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-DEPENDS += " \
-    helm-native \
-    openstack-helm \
-    openstack-helm-infra \
-    stx-platform-helm \
-"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV = "863f4b9733d3d4f4fd490606a94b84cfdaf2df2c"
-
-SRC_URI = "git://opendev.org/starlingx/openstack-armada-app;protocol=${PROTOCOL};branch=${BRANCH}"
-
-S = "${WORKDIR}/git/stx-openstack-helm/stx-openstack-helm"
-
-inherit allarch
-
-helm_folder = "${nonarch_libdir}/helm"
-armada_folder = "${nonarch_libdir}/armada"
-app_folder = "${nonarch_libdir}/application"
-toolkit_version = "0.1.0"
-helmchart_version = "0.1.0"
-
-do_configure () {
-       :
-}
-
-do_compile () {
-       # initialize helm and build the toolkit
-       # helm init --client-only does not work if there is no networking
-       # The following commands do essentially the same as: helm init
-       export HOME="${B}/${USER}"
-       export helm_home="${B}/${USER}/.helm"
-       rm -rf ${helm_home}
-
-       mkdir -p ${helm_home}
-       mkdir ${helm_home}/repository
-       mkdir ${helm_home}/repository/cache
-       mkdir ${helm_home}/repository/local
-       mkdir ${helm_home}/plugins
-       mkdir ${helm_home}/starters
-       mkdir ${helm_home}/cache
-       mkdir ${helm_home}/cache/archive
-
-       # Stage a repository file that only has a local repo
-       cp ${S}/files/repositories.yaml ${helm_home}/repository/repositories.yaml
-
-       # Stage a local repo index that can be updated by the build
-       cp ${S}/files/index.yaml ${helm_home}/repository/local/index.yaml
-
-       # Stage helm-toolkit in the local repo
-       cp ${RECIPE_SYSROOT}${helm_folder}/helm-toolkit-${toolkit_version}.tgz .
-
-       # Host a server for the charts
-       helm serve --repo-path . &
-       sleep 1
-       helm repo rm local
-       helm repo add local http://localhost:8879/charts
-
-       # Make the charts. These produce a tgz file
-       cd ${S}/helm-charts
-       make nova-api-proxy
-       make garbd
-       make keystone-api-proxy
-       make fm-rest-api
-       make nginx-ports-control
-       make dcdbsync
-       cd -
-
-       # terminate helm server (the last backgrounded task)
-       kill $!
-       rm -rf ${helm_home}
-
-       # Remove the helm-toolkit tarball
-       rm helm-toolkit-${toolkit_version}.tgz
-}
-
-do_install () {
-       install -d -m 755 ${D}${app_folder}
-       install -p -D -m 755 ${S}/files/metadata.yaml ${D}${app_folder}
-       install -d -m 755 ${D}${helm_folder}
-       install -p -D -m 755 ${S}/helm-charts/*.tgz ${D}${helm_folder}
-       install -d -m 755 ${D}${armada_folder}
-       install -p -D -m 755 ${S}/manifests/*.yaml ${D}${armada_folder}
-}
-
-FILES_${PN} = " \
-    ${app_folder} \
-    ${helm_folder} \
-    ${armada_folder} \
-"
-
-RDEPENDS_${PN} = " \
-    helm \
-    openstack-helm \
-    openstack-helm-infra \
-"
diff --git a/meta-stx/recipes-core/stx-platform-armada-app/stx-platform-helm_1.0.bb b/meta-stx/recipes-core/stx-platform-armada-app/stx-platform-helm_1.0.bb
deleted file mode 100644 (file)
index 88cf8b2..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "StarlingX Platform Helm charts"
-DESCRIPTION = "StarlingX Platform Helm charts"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-DEPENDS += " \
-    helm-native \
-    openstack-helm \
-    openstack-helm-infra \
-"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV_platform-armada-app = "c67d1eeb605ea1da4ebb2a1219a6f54f05e3eb5e"
-SRCREV_helm-charts = "c01426a2500269fbf1a781214a361de0796297d1"
-
-SRC_URI = " \
-    git://opendev.org/starlingx/platform-armada-app.git;protocol=${PROTOCOL};branch=${BRANCH};name=platform-armada-app \
-    git://opendev.org/starlingx/helm-charts.git;protocol=${PROTOCOL};branch=${BRANCH};name=helm-charts;destsuffix=helm-charts \
-"
-
-S = "${WORKDIR}/git/stx-platform-helm/stx-platform-helm"
-
-inherit allarch
-
-toolkit_version = "0.1.0"
-helm_folder = "${RECIPE_SYSROOT}${nonarch_libdir}/helm"
-helm_repo = "stx-platform"
-
-app_name = "platform-integ-apps"
-app_staging = "${B}/staging"
-app_tarball = "${app_name}.tgz"
-app_folder = "/usr/local/share/applications/helm"
-
-do_configure () {
-       :
-}
-
-do_compile () {
-       # initialize helm and build the toolkit
-       # helm init --client-only does not work if there is no networking
-       # The following commands do essentially the same as: helm init
-       export HOME="${B}/${USER}"
-       export helm_home="${B}/${USER}/.helm"
-       rm -rf ${helm_home}
-
-       mkdir  -p ${helm_home}
-       mkdir  ${helm_home}/repository
-       mkdir  ${helm_home}/repository/cache
-       mkdir  ${helm_home}/repository/local
-       mkdir  ${helm_home}/plugins
-       mkdir  ${helm_home}/starters
-       mkdir  ${helm_home}/cache
-       mkdir  ${helm_home}/cache/archive
-
-       # Stage a repository file that only has a local repo
-       cp ${S}/files/repositories.yaml ${helm_home}/repository/repositories.yaml
-
-       # Stage a local repo index that can be updated by the build
-       cp ${S}/files/index.yaml ${helm_home}/repository/local/index.yaml
-
-       # Stage helm-toolkit in the local repo
-       cp ${helm_folder}/helm-toolkit-${toolkit_version}.tgz ${S}/helm-charts/
-
-       # Host a server for the charts
-       helm serve --repo-path . &
-       sleep 1
-       helm repo rm local
-       helm repo add local http://localhost:8879/charts
-
-       # Make the charts. These produce a tgz file
-       cp -rf ${WORKDIR}/helm-charts/node-feature-discovery/node-feature-discovery/helm-charts/node-feature-discovery/ \
-               ${S}/helm-charts/
-       cd ${S}/helm-charts
-       make rbd-provisioner
-       make ceph-pools-audit
-       make node-feature-discovery
-       cd -
-
-       # Terminate helm server (the last backgrounded task)
-       kill $!
-       rm -rf ${helm_home}
-
-       # Create a chart tarball compliant with sysinv kube-app.py
-       # Setup staging
-       mkdir -p ${app_staging}
-       cp ${S}/files/metadata.yaml ${app_staging}
-       cp ${S}/manifests/manifest.yaml ${app_staging}
-
-       mkdir -p ${app_staging}/charts
-       cp ${S}/helm-charts/*.tgz ${app_staging}/charts
-       cd ${app_staging}
-
-       # Populate metadata
-       sed -i 's/@APP_NAME@/${app_name}/g' ${app_staging}/metadata.yaml
-       sed -i 's/@APP_VERSION@/${version}-${tis_patch_ver}/g' ${app_staging}/metadata.yaml
-       sed -i 's/@HELM_REPO@/${helm_repo}/g' ${app_staging}/metadata.yaml
-
-       # package it up
-       find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
-       tar -zcf ${B}/${app_tarball} -C ${app_staging}/ .
-
-       # Cleanup staging
-       rm -fr ${app_staging}
-}
-
-do_install () {
-       install -d -m 755 ${D}/${app_folder}
-       install -p -D -m 755 ${B}/${app_tarball} ${D}/${app_folder}
-       install -d -m 755 ${D}/opt/extracharts
-       install -p -D -m 755 ${S}/helm-charts/node-feature-discovery-*.tgz ${D}/opt/extracharts
-}
-
-FILES_${PN} = " \
-    /opt/extracharts \
-    ${app_folder} \
-"
-
-RDEPENDS_${PN} = " \
-    helm \
-    openstack-helm \
-    openstack-helm-infra \
-"
diff --git a/meta-stx/recipes-core/stx-update/cgcs-patch.inc b/meta-stx/recipes-core/stx-update/cgcs-patch.inc
deleted file mode 100644 (file)
index 60bbc0e..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " cgcs-patch"
-PACKAGES += " cgcs-patch-agent"
-PACKAGES += " cgcs-patch-controller"
-
-inherit setuptools systemd
-
-RDEPENDS_cgcs-patch_append = " \
-       bash \
-       "
-RDEPENDS_cgcs-patch-agent_append = " \
-       bash \
-       python \
-       "
-
-RDEPENDS_cgcs-patch-controller_append = " \
-       bash \
-       python-requests-toolbelt \
-       createrepo-c \
-       "
-
-do_configure_append () {
-       cd ${S}/cgcs-patch/cgcs-patch
-       distutils_do_configure
-} 
-
-do_compile_append () {
-       cd ${S}/cgcs-patch/cgcs-patch
-       distutils_do_compile
-}
-
-do_install_append () {
-       cd ${S}/cgcs-patch/cgcs-patch
-       distutils_do_install
-
-       cd ${S}/cgcs-patch/bin
-
-       install -m 755 -d ${D}/${sbindir}
-       install -m 755 -d ${D}/${sysconfdir}/bash_completion.d
-       install -m 755 -d ${D}/${sysconfdir}/goenabled.d
-       install -m 755 -d ${D}/${sysconfdir}/init.d
-       install -m 755 -d ${D}/${sysconfdir}/logrotate.d
-       install -m 755 -d ${D}/${sysconfdir}/patching
-       install -m 700 -d ${D}/${sysconfdir}/patching/patch-scripts
-       install -m 755 -d ${D}/${sysconfdir}/pmon.d
-       install -m 755 -d ${D}/${systemd_system_unitdir}
-
-       install -m 500 sw-patch-agent  ${D}/${sbindir}/sw-patch-agent
-       install -m 500 sw-patch-controller-daemon ${D}/${sbindir}/sw-patch-controller-daemon
-       install -m 555 sw-patch ${D}/${sbindir}/sw-patch
-       install -m 555 rpm-audit ${D}/${sbindir}/rpm-audit
-       
-       install -m 500 sw-patch-controller-daemon-init.sh ${D}/${sysconfdir}/init.d/sw-patch-controller-daemon
-       install -m 500 sw-patch-agent-init.sh ${D}/${sysconfdir}/init.d/sw-patch-agent
-       
-       install -m 600 patching.conf ${D}/${sysconfdir}/patching/patching.conf
-       
-       install -m 644 policy.json ${D}/${sysconfdir}/patching/policy.json 
-       
-       install -m 444 pmon-sw-patch-controller-daemon.conf ${D}/${sysconfdir}/pmon.d/sw-patch-controller-daemon.conf
-       install -m 444 pmon-sw-patch-agent.conf ${D}/${sysconfdir}/pmon.d/sw-patch-agent.conf 
-       install -m 444 *.service ${D}/${systemd_system_unitdir} 
-       install -m 444 sw-patch.completion ${D}/${sysconfdir}/bash_completion.d/sw-patch 
-       install -m 400 patch-functions ${D}/${sysconfdir}/patching/patch-functions 
-
-       install -D -m 444 patch-tmpdirs.conf ${D}/${sysconfdir}/tempfiles.d/patch-tmpdirs.conf
-
-       install -m 500 run-patch-scripts ${D}/${sbindir}/run-patch-scripts 
-       install -m 500 sw-patch-controller-daemon-restart ${D}/${sbindir}/sw-patch-controller-daemon-restart
-       install -m 500 sw-patch-agent-restart ${D}/${sbindir}/sw-patch-agent-restart
-
-
-       install -m 500 run-patch-scripts ${D}/${sbindir}/run-patch-scripts
-       install -m 500 sw-patch-controller-daemon-restart ${D}/${sbindir}/sw-patch-controller-daemon-restart
-       install -m 500 sw-patch-agent-restart ${D}/${sbindir}/sw-patch-agent-restart 
-       install -m 500 sw-patch-init.sh ${D}/${sysconfdir}/init.d/sw-patch
-       install -m 500 sw-patch-controller-init.sh ${D}/${sysconfdir}/init.d/sw-patch-controller 
-
-       sed -i -e 's/createrepo/createrepo_c/' ${D}/${sysconfdir}/init.d/sw-patch-controller
-
-       install -m 555 patch_check_goenabled.sh ${D}/${sysconfdir}/goenabled.d/patch_check_goenabled.sh 
-       install -m 444 patching.logrotate ${D}/${sysconfdir}/logrotate.d/patching 
-       
-       install -m 500 upgrade-start-pkg-extract ${D}/${sbindir}/upgrade-start-pkg-extract
-
-}
-
-FILES_cgcs-patch = " \
-       ${libdir}/python2.7/site-packages/cgcs_patch \
-       ${libdir}/python2.7/site-packages/cgcs_patch-1.0-py2.7.egg-info \
-       ${libdir}/python2.7/site-packages/cgcs_make_patch \
-       ${libdir}/python2.7/site-packages/cgcs_patch-1.0-py2.7.egg-info/top_level.txt \
-       ${sbindir}/rpm-audit \
-       ${sysconfdir}/patching/policy.json \
-       ${sysconfdir}/patching/patching.conf \
-       ${sysconfdir}/patching/patch-scripts \
-       ${sysconfdir}/init.d/sw-patch \
-       ${systemd_system_unitdir}/sw-patch.service \
-       ${sysconfdir}/goenabled.d/patch_check_goenabled.sh \
-       ${sysconfdir}/logrotate.d/patching \
-       ${sysconfdir}/tempfiles.d/patch-tmpdirs.conf \
-       ${sysconfdir}/patching/patch-functions \
-"
-
-FILES_cgcs-patch-agent = " \
-       ${sbindir}/sw-patch-agent \
-       ${sbindir}/sw-patch-agent-restart \
-       ${sysconfdir}/pmon.d/sw-patch-agent.conf \
-       ${sbindir}/run-patch-scripts \
-       ${sysconfdir}/init.d/sw-patch-agent \
-       ${systemd_system_unitdir}/sw-patch-agent.service \
-       ${sysconfdir}/bash_completion.d/sw-patch \
-       "
-
-FILES_cgcs-patch-controller = " \
-       ${sbindir}/sw-patch-controller-daemon-restart \
-       ${sysconfdir}/init.d/sw-patch-controller-daemon \
-       ${sbindir}/sw-patch-controller-daemon \
-       ${sbindir}/upgrade-start-pkg-extract \
-       ${sysconfdir}/pmon.d/sw-patch-controller-daemon.conf \
-       ${systemd_system_unitdir}/sw-patch-controller-daemon.service \
-       ${sbindir}/sw-patch \
-       ${sysconfdir}/init.d/sw-patch-controller \
-       ${systemd_system_unitdir}/sw-patch-controller.service \
-       "
-
-SYSTEMD_PACKAGES += "cgcs-patch"
-SYSTEMD_SERVICE_cgcs-patch = "sw-patch.service"
-SYSTEMD_AUTO_ENABLE_cgcs-patch = "enable"
-
-SYSTEMD_PACKAGES += "cgcs-patch-agent"
-SYSTEMD_SERVICE_cgcs-patch-agent = "sw-patch-agent.service"
-SYSTEMD_AUTO_ENABLE_cgcs-patch-agent = "enable"
-
-SYSTEMD_PACKAGES += "cgcs-patch-controller"
-SYSTEMD_SERVICE_cgcs-patch-controller = " \
-       sw-patch-controller.service \
-       sw-patch-controller-daemon.service \
-       "
-SYSTEMD_AUTO_ENABLE_cgcs-patch-controller = "enable"
diff --git a/meta-stx/recipes-core/stx-update/enable-dev-patch.inc b/meta-stx/recipes-core/stx-update/enable-dev-patch.inc
deleted file mode 100644 (file)
index f1e0036..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " enable-dev-patch"
-
-do_configure_prepend () {
-       :
-} 
-
-do_compile_prepend () {
-       :
-}
-
-do_install_prepend () {
-       cd ${S}/enable-dev-patch/
-       install -m 755 -d ${D}/${sysconfdir}/pki/wrs
-       install -m 444 enable-dev-patch/dev_certificate_enable.bin ${D}/${sysconfdir}/pki/wrs
-
-}
-
-FILES_enable-dev-patch = " \
-       ${sysconfdir}/pki/wrs/dev_certificate_enable.bin \
-       "
diff --git a/meta-stx/recipes-core/stx-update/files/0002-Cleanup-smartpm-references.patch b/meta-stx/recipes-core/stx-update/files/0002-Cleanup-smartpm-references.patch
deleted file mode 100644 (file)
index ac257a2..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-From aef3694691b14415f59aaea759d95f3ef3f1183b Mon Sep 17 00:00:00 2001
-From: Don Penney <don.penney@windriver.com>
-Date: Wed, 15 Jan 2020 23:42:41 -0500
-Subject: [PATCH] Cleanup smartpm references
-
-As smartpm is no longer used, this commit removes the remaining
-comment reference from the patching code, and deletes the unused
-smart-helper files.
-
-Change-Id: Iac557403e43c1e732eb38393bb2cfeb6fc6c3573
-Story: 2006227
-Task: 38136
-Signed-off-by: Don Penney <don.penney@windriver.com>
-
----
- cgcs-patch/cgcs-patch/cgcs_patch/patch_client.py |   2 +-
- smart-helper/LICENSE                             | 202 -----------------------
- smart-helper/files/etc.rpm.platform              |  11 --
- smart-helper/files/etc.rpm.sysinfo.Dirnames      |   1 -
- 4 files changed, 1 insertion(+), 215 deletions(-)
- delete mode 100644 smart-helper/LICENSE
- delete mode 100644 smart-helper/files/etc.rpm.platform
- delete mode 100644 smart-helper/files/etc.rpm.sysinfo.Dirnames
-
-diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/patch_client.py b/cgcs-patch/cgcs-patch/cgcs_patch/patch_client.py
-index 6d61204..705590c 100644
---- a/cgcs-patch/cgcs-patch/cgcs_patch/patch_client.py
-+++ b/cgcs-patch/cgcs-patch/cgcs_patch/patch_client.py
-@@ -1090,7 +1090,7 @@ def patch_install_local(debug, args):
-     signal.signal(signal.SIGINT, signal.SIG_IGN)
-     # To allow patch installation to occur before configuration, we need
--    # to alias controller to localhost so that the smartpm channels work.
-+    # to alias controller to localhost so that the dnf repos work.
-     # There is a HOSTALIASES feature that would be preferred here, but it
-     # unfortunately requires dnsmasq to be running, which it is not at this point.
-diff --git a/smart-helper/LICENSE b/smart-helper/LICENSE
-deleted file mode 100644
-index d645695..0000000
---- a/smart-helper/LICENSE
-+++ /dev/null
-@@ -1,202 +0,0 @@
--
--                                 Apache License
--                           Version 2.0, January 2004
--                        http://www.apache.org/licenses/
--
--   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
--
--   1. Definitions.
--
--      "License" shall mean the terms and conditions for use, reproduction,
--      and distribution as defined by Sections 1 through 9 of this document.
--
--      "Licensor" shall mean the copyright owner or entity authorized by
--      the copyright owner that is granting the License.
--
--      "Legal Entity" shall mean the union of the acting entity and all
--      other entities that control, are controlled by, or are under common
--      control with that entity. For the purposes of this definition,
--      "control" means (i) the power, direct or indirect, to cause the
--      direction or management of such entity, whether by contract or
--      otherwise, or (ii) ownership of fifty percent (50%) or more of the
--      outstanding shares, or (iii) beneficial ownership of such entity.
--
--      "You" (or "Your") shall mean an individual or Legal Entity
--      exercising permissions granted by this License.
--
--      "Source" form shall mean the preferred form for making modifications,
--      including but not limited to software source code, documentation
--      source, and configuration files.
--
--      "Object" form shall mean any form resulting from mechanical
--      transformation or translation of a Source form, including but
--      not limited to compiled object code, generated documentation,
--      and conversions to other media types.
--
--      "Work" shall mean the work of authorship, whether in Source or
--      Object form, made available under the License, as indicated by a
--      copyright notice that is included in or attached to the work
--      (an example is provided in the Appendix below).
--
--      "Derivative Works" shall mean any work, whether in Source or Object
--      form, that is based on (or derived from) the Work and for which the
--      editorial revisions, annotations, elaborations, or other modifications
--      represent, as a whole, an original work of authorship. For the purposes
--      of this License, Derivative Works shall not include works that remain
--      separable from, or merely link (or bind by name) to the interfaces of,
--      the Work and Derivative Works thereof.
--
--      "Contribution" shall mean any work of authorship, including
--      the original version of the Work and any modifications or additions
--      to that Work or Derivative Works thereof, that is intentionally
--      submitted to Licensor for inclusion in the Work by the copyright owner
--      or by an individual or Legal Entity authorized to submit on behalf of
--      the copyright owner. For the purposes of this definition, "submitted"
--      means any form of electronic, verbal, or written communication sent
--      to the Licensor or its representatives, including but not limited to
--      communication on electronic mailing lists, source code control systems,
--      and issue tracking systems that are managed by, or on behalf of, the
--      Licensor for the purpose of discussing and improving the Work, but
--      excluding communication that is conspicuously marked or otherwise
--      designated in writing by the copyright owner as "Not a Contribution."
--
--      "Contributor" shall mean Licensor and any individual or Legal Entity
--      on behalf of whom a Contribution has been received by Licensor and
--      subsequently incorporated within the Work.
--
--   2. Grant of Copyright License. Subject to the terms and conditions of
--      this License, each Contributor hereby grants to You a perpetual,
--      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
--      copyright license to reproduce, prepare Derivative Works of,
--      publicly display, publicly perform, sublicense, and distribute the
--      Work and such Derivative Works in Source or Object form.
--
--   3. Grant of Patent License. Subject to the terms and conditions of
--      this License, each Contributor hereby grants to You a perpetual,
--      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
--      (except as stated in this section) patent license to make, have made,
--      use, offer to sell, sell, import, and otherwise transfer the Work,
--      where such license applies only to those patent claims licensable
--      by such Contributor that are necessarily infringed by their
--      Contribution(s) alone or by combination of their Contribution(s)
--      with the Work to which such Contribution(s) was submitted. If You
--      institute patent litigation against any entity (including a
--      cross-claim or counterclaim in a lawsuit) alleging that the Work
--      or a Contribution incorporated within the Work constitutes direct
--      or contributory patent infringement, then any patent licenses
--      granted to You under this License for that Work shall terminate
--      as of the date such litigation is filed.
--
--   4. Redistribution. You may reproduce and distribute copies of the
--      Work or Derivative Works thereof in any medium, with or without
--      modifications, and in Source or Object form, provided that You
--      meet the following conditions:
--
--      (a) You must give any other recipients of the Work or
--          Derivative Works a copy of this License; and
--
--      (b) You must cause any modified files to carry prominent notices
--          stating that You changed the files; and
--
--      (c) You must retain, in the Source form of any Derivative Works
--          that You distribute, all copyright, patent, trademark, and
--          attribution notices from the Source form of the Work,
--          excluding those notices that do not pertain to any part of
--          the Derivative Works; and
--
--      (d) If the Work includes a "NOTICE" text file as part of its
--          distribution, then any Derivative Works that You distribute must
--          include a readable copy of the attribution notices contained
--          within such NOTICE file, excluding those notices that do not
--          pertain to any part of the Derivative Works, in at least one
--          of the following places: within a NOTICE text file distributed
--          as part of the Derivative Works; within the Source form or
--          documentation, if provided along with the Derivative Works; or,
--          within a display generated by the Derivative Works, if and
--          wherever such third-party notices normally appear. The contents
--          of the NOTICE file are for informational purposes only and
--          do not modify the License. You may add Your own attribution
--          notices within Derivative Works that You distribute, alongside
--          or as an addendum to the NOTICE text from the Work, provided
--          that such additional attribution notices cannot be construed
--          as modifying the License.
--
--      You may add Your own copyright statement to Your modifications and
--      may provide additional or different license terms and conditions
--      for use, reproduction, or distribution of Your modifications, or
--      for any such Derivative Works as a whole, provided Your use,
--      reproduction, and distribution of the Work otherwise complies with
--      the conditions stated in this License.
--
--   5. Submission of Contributions. Unless You explicitly state otherwise,
--      any Contribution intentionally submitted for inclusion in the Work
--      by You to the Licensor shall be under the terms and conditions of
--      this License, without any additional terms or conditions.
--      Notwithstanding the above, nothing herein shall supersede or modify
--      the terms of any separate license agreement you may have executed
--      with Licensor regarding such Contributions.
--
--   6. Trademarks. This License does not grant permission to use the trade
--      names, trademarks, service marks, or product names of the Licensor,
--      except as required for reasonable and customary use in describing the
--      origin of the Work and reproducing the content of the NOTICE file.
--
--   7. Disclaimer of Warranty. Unless required by applicable law or
--      agreed to in writing, Licensor provides the Work (and each
--      Contributor provides its Contributions) on an "AS IS" BASIS,
--      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
--      implied, including, without limitation, any warranties or conditions
--      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
--      PARTICULAR PURPOSE. You are solely responsible for determining the
--      appropriateness of using or redistributing the Work and assume any
--      risks associated with Your exercise of permissions under this License.
--
--   8. Limitation of Liability. In no event and under no legal theory,
--      whether in tort (including negligence), contract, or otherwise,
--      unless required by applicable law (such as deliberate and grossly
--      negligent acts) or agreed to in writing, shall any Contributor be
--      liable to You for damages, including any direct, indirect, special,
--      incidental, or consequential damages of any character arising as a
--      result of this License or out of the use or inability to use the
--      Work (including but not limited to damages for loss of goodwill,
--      work stoppage, computer failure or malfunction, or any and all
--      other commercial damages or losses), even if such Contributor
--      has been advised of the possibility of such damages.
--
--   9. Accepting Warranty or Additional Liability. While redistributing
--      the Work or Derivative Works thereof, You may choose to offer,
--      and charge a fee for, acceptance of support, warranty, indemnity,
--      or other liability obligations and/or rights consistent with this
--      License. However, in accepting such obligations, You may act only
--      on Your own behalf and on Your sole responsibility, not on behalf
--      of any other Contributor, and only if You agree to indemnify,
--      defend, and hold each Contributor harmless for any liability
--      incurred by, or claims asserted against, such Contributor by reason
--      of your accepting any such warranty or additional liability.
--
--   END OF TERMS AND CONDITIONS
--
--   APPENDIX: How to apply the Apache License to your work.
--
--      To apply the Apache License to your work, attach the following
--      boilerplate notice, with the fields enclosed by brackets "[]"
--      replaced with your own identifying information. (Don't include
--      the brackets!)  The text should be enclosed in the appropriate
--      comment syntax for the file format. We also recommend that a
--      file or class name and description of purpose be included on the
--      same "printed page" as the copyright notice for easier
--      identification within third-party archives.
--
--   Copyright [yyyy] [name of copyright owner]
--
--   Licensed under the Apache License, Version 2.0 (the "License");
--   you may not use this file except in compliance with the License.
--   You may obtain a copy of the License at
--
--       http://www.apache.org/licenses/LICENSE-2.0
--
--   Unless required by applicable law or agreed to in writing, software
--   distributed under the License is distributed on an "AS IS" BASIS,
--   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--   See the License for the specific language governing permissions and
--   limitations under the License.
-diff --git a/smart-helper/files/etc.rpm.platform b/smart-helper/files/etc.rpm.platform
-deleted file mode 100644
-index 5a6282c..0000000
---- a/smart-helper/files/etc.rpm.platform
-+++ /dev/null
-@@ -1,11 +0,0 @@
--x86_64-wrs-linux
--intel_x86_64-.*-linux
--x86_64-.*-linux
--noarch-.*-linux.*
--any-.*-linux.*
--all-.*-linux.*
--lib32_intel_x86_64-.*-linux
--lib32_x86-.*-linux
--noarch-.*-linux.*
--any-.*-linux.*
--all-.*-linux.*
-diff --git a/smart-helper/files/etc.rpm.sysinfo.Dirnames b/smart-helper/files/etc.rpm.sysinfo.Dirnames
-deleted file mode 100644
-index b498fd4..0000000
---- a/smart-helper/files/etc.rpm.sysinfo.Dirnames
-+++ /dev/null
-@@ -1 +0,0 @@
--/
diff --git a/meta-stx/recipes-core/stx-update/files/0006-Migrate-patch-agent-to-use-DNF-for-swmgmt.patch b/meta-stx/recipes-core/stx-update/files/0006-Migrate-patch-agent-to-use-DNF-for-swmgmt.patch
deleted file mode 100644 (file)
index cf5351c..0000000
+++ /dev/null
@@ -1,933 +0,0 @@
-From 1522e384f8a9cb5e7d3e42b37aec11e5674c4436 Mon Sep 17 00:00:00 2001
-From: Don Penney <don.penney@windriver.com>
-Date: Thu, 2 Jan 2020 17:36:21 -0500
-Subject: [PATCH] Migrate patch-agent to use DNF for swmgmt
-
-As the smart package manager is not supported under python3, we're
-migrating the patch-agent to use the python2 DNF libraries in
-preparation for CentOS 8. This impacts how the patch-agent queries the
-repos and manages installed software, but is done without changing how
-the patch-agent and patch-controller exchange information, to ensure
-we don't impact cross-version communication in an upgrade scenario.
-
-Depends-On: https://review.opendev.org/700960
-Change-Id: I00729a487c24ba5c182a9a2a48e2024be9260978
-Story: 2006227
-Task: 37932
-Signed-off-by: Don Penney <don.penney@windriver.com>
-
----
- cgcs-patch/centos/cgcs-patch.spec                  |  17 +-
- cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py    | 625 +++++++--------------
- .../cgcs-patch/cgcs_patch/patch_functions.py       |   7 +-
- .../cgcs_patch/tests/test_patch_agent.py           |   9 +
- cgcs-patch/cgcs-patch/pylint.rc                    |   5 +-
- cgcs-patch/cgcs-patch/test-requirements.txt        |   1 -
- 6 files changed, 242 insertions(+), 422 deletions(-)
-
-diff --git a/cgcs-patch/centos/cgcs-patch.spec b/cgcs-patch/centos/cgcs-patch.spec
-index f834447..4ed3f99 100644
---- a/cgcs-patch/centos/cgcs-patch.spec
-+++ b/cgcs-patch/centos/cgcs-patch.spec
-@@ -1,4 +1,4 @@
--Summary: TIS Platform Patching
-+Summary: StarlingX Platform Patching
- Name: cgcs-patch
- Version: 1.0
- Release: %{tis_patch_ver}%{?_tis_dist}
-@@ -16,11 +16,12 @@ BuildRequires: systemd-units
- BuildRequires: systemd-devel
- Requires: python-devel
- Requires: python-crypto
--Requires: python-smartpm
-+Requires: dnf
-+Requires: python-dnf
- Requires: /bin/bash
- %description
--TIS Platform Patching
-+StarlingX Platform Patching
- %define pythonroot           /usr/lib64/python2.7/site-packages
-@@ -110,10 +111,10 @@ install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
-         %{buildroot}%{_sbindir}/upgrade-start-pkg-extract
- %clean
--rm -rf $RPM_BUILD_ROOT 
-+rm -rf $RPM_BUILD_ROOT
- %package -n cgcs-patch-controller
--Summary: TIS Platform Patching
-+Summary: StarlingX Platform Patching
- Group: base
- Requires: /usr/bin/env
- Requires: /bin/sh
-@@ -123,7 +124,7 @@ Requires(post): /usr/bin/env
- Requires(post): /bin/sh
- %description -n cgcs-patch-controller
--TIS Platform Patching
-+StarlingX Platform Patching
- %post -n cgcs-patch-controller
- /usr/bin/systemctl enable sw-patch-controller.service
-@@ -131,7 +132,7 @@ TIS Platform Patching
- %package -n cgcs-patch-agent
--Summary: TIS Platform Patching
-+Summary: StarlingX Platform Patching
- Group: base
- Requires: /usr/bin/env
- Requires: /bin/sh
-@@ -139,7 +140,7 @@ Requires(post): /usr/bin/env
- Requires(post): /bin/sh
- %description -n cgcs-patch-agent
--TIS Platform Patching
-+StarlingX Platform Patching
- %post -n cgcs-patch-agent
- /usr/bin/systemctl enable sw-patch-agent.service
-diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py b/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py
-index 3abd891..d8bc375 100644
---- a/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py
-+++ b/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py
-@@ -5,22 +5,26 @@ SPDX-License-Identifier: Apache-2.0
- """
--import os
--import time
--import socket
-+import dnf
-+import dnf.callback
-+import dnf.comps
-+import dnf.exceptions
-+import dnf.rpm
-+import dnf.sack
-+import dnf.transaction
- import json
--import select
--import subprocess
-+import libdnf.transaction
-+import os
- import random
- import requests
--import xml.etree.ElementTree as ElementTree
--import rpm
--import sys
--import yaml
-+import select
- import shutil
-+import socket
-+import subprocess
-+import sys
-+import time
- from cgcs_patch.patch_functions import configure_logging
--from cgcs_patch.patch_functions import parse_pkgver
- from cgcs_patch.patch_functions import LOG
- import cgcs_patch.config as cfg
- from cgcs_patch.base import PatchService
-@@ -50,19 +54,13 @@ pa = None
- http_port_real = http_port
--# Smart commands
--smart_cmd = ["/usr/bin/smart"]
--smart_quiet = smart_cmd + ["--quiet"]
--smart_update = smart_quiet + ["update"]
--smart_newer = smart_quiet + ["newer"]
--smart_orphans = smart_quiet + ["query", "--orphans", "--show-format", "$name\n"]
--smart_query = smart_quiet + ["query"]
--smart_query_repos = smart_quiet + ["query", "--channel=base", "--channel=updates"]
--smart_install_cmd = smart_cmd + ["install", "--yes", "--explain"]
--smart_remove_cmd = smart_cmd + ["remove", "--yes", "--explain"]
--smart_query_installed = smart_quiet + ["query", "--installed", "--show-format", "$name $version\n"]
--smart_query_base = smart_quiet + ["query", "--channel=base", "--show-format", "$name $version\n"]
--smart_query_updates = smart_quiet + ["query", "--channel=updates", "--show-format", "$name $version\n"]
-+# DNF commands
-+dnf_cmd = ['/usr/bin/dnf']
-+dnf_quiet = dnf_cmd + ['--quiet']
-+dnf_makecache = dnf_quiet + ['makecache',
-+                             '--disablerepo="*"',
-+                             '--enablerepo', 'platform-base',
-+                             '--enablerepo', 'platform-updates']
- def setflag(fname):
-@@ -123,10 +121,6 @@ class PatchMessageHelloAgent(messages.PatchMessage):
-     def handle(self, sock, addr):
-         # Send response
--        # Run the smart config audit
--        global pa
--        pa.timed_audit_smart_config()
--
-         #
-         # If a user tries to do a host-install on an unlocked node,
-         # without bypassing the lock check (either via in-service
-@@ -289,6 +283,46 @@ class PatchMessageAgentInstallResp(messages.PatchMessage):
-         resp.send(sock)
-+class PatchAgentDnfTransLogCB(dnf.callback.TransactionProgress):
-+    def __init__(self):
-+        dnf.callback.TransactionProgress.__init__(self)
-+
-+        self.log_prefix = 'dnf trans'
-+
-+    def progress(self, package, action, ti_done, ti_total, ts_done, ts_total):
-+        if action in dnf.transaction.ACTIONS:
-+            action_str = dnf.transaction.ACTIONS[action]
-+        elif action == dnf.transaction.TRANS_POST:
-+            action_str = 'Post transaction'
-+        else:
-+            action_str = 'unknown(%d)' % action
-+
-+        if ti_done is not None:
-+            # To reduce the volume of logs, only log 0% and 100%
-+            if ti_done == 0 or ti_done == ti_total:
-+                LOG.info('%s PROGRESS %s: %s %0.1f%% [%s/%s]',
-+                         self.log_prefix, action_str, package,
-+                         (ti_done * 100 / ti_total),
-+                         ts_done, ts_total)
-+        else:
-+            LOG.info('%s PROGRESS %s: %s [%s/%s]',
-+                     self.log_prefix, action_str, package, ts_done, ts_total)
-+
-+    def filelog(self, package, action):
-+        if action in dnf.transaction.FILE_ACTIONS:
-+            msg = '%s: %s' % (dnf.transaction.FILE_ACTIONS[action], package)
-+        else:
-+            msg = '%s: %s' % (package, action)
-+        LOG.info('%s FILELOG %s', self.log_prefix, msg)
-+
-+    def scriptout(self, msgs):
-+        if msgs:
-+            LOG.info("%s SCRIPTOUT :\n%s", self.log_prefix, msgs)
-+
-+    def error(self, message):
-+        LOG.error("%s ERROR: %s", self.log_prefix, message)
-+
-+
- class PatchAgent(PatchService):
-     def __init__(self):
-         PatchService.__init__(self)
-@@ -298,9 +332,14 @@ class PatchAgent(PatchService):
-         self.listener = None
-         self.changes = False
-         self.installed = {}
-+        self.installed_dnf = []
-         self.to_install = {}
-+        self.to_install_dnf = []
-+        self.to_downgrade_dnf = []
-         self.to_remove = []
-+        self.to_remove_dnf = []
-         self.missing_pkgs = []
-+        self.missing_pkgs_dnf = []
-         self.patch_op_counter = 0
-         self.node_is_patched = os.path.exists(node_is_patched_file)
-         self.node_is_patched_timestamp = 0
-@@ -308,6 +347,7 @@ class PatchAgent(PatchService):
-         self.state = constants.PATCH_AGENT_STATE_IDLE
-         self.last_config_audit = 0
-         self.rejection_timestamp = 0
-+        self.dnfb = None
-         # Check state flags
-         if os.path.exists(patch_installing_file):
-@@ -343,289 +383,40 @@ class PatchAgent(PatchService):
-         self.listener.bind(('', self.port))
-         self.listener.listen(2)  # Allow two connections, for two controllers
--    def audit_smart_config(self):
--        LOG.info("Auditing smart configuration")
--
--        # Get the current channel config
--        try:
--            output = subprocess.check_output(smart_cmd +
--                                             ["channel", "--yaml"],
--                                             stderr=subprocess.STDOUT)
--            config = yaml.load(output)
--        except subprocess.CalledProcessError as e:
--            LOG.exception("Failed to query channels")
--            LOG.error("Command output: %s", e.output)
--            return False
--        except Exception:
--            LOG.exception("Failed to query channels")
--            return False
--
--        expected = [{'channel': 'rpmdb',
--                     'type': 'rpm-sys',
--                     'name': 'RPM Database',
--                     'baseurl': None},
--                    {'channel': 'base',
--                     'type': 'rpm-md',
--                     'name': 'Base',
--                     'baseurl': "http://controller:%s/feed/rel-%s" % (http_port_real, SW_VERSION)},
--                    {'channel': 'updates',
--                     'type': 'rpm-md',
--                     'name': 'Patches',
--                     'baseurl': "http://controller:%s/updates/rel-%s" % (http_port_real, SW_VERSION)}]
--
--        updated = False
--
--        for item in expected:
--            channel = item['channel']
--            ch_type = item['type']
--            ch_name = item['name']
--            ch_baseurl = item['baseurl']
--
--            add_channel = False
--
--            if channel in config:
--                # Verify existing channel config
--                if (config[channel].get('type') != ch_type or
--                        config[channel].get('name') != ch_name or
--                        config[channel].get('baseurl') != ch_baseurl):
--                    # Config is invalid
--                    add_channel = True
--                    LOG.warning("Invalid smart config found for %s", channel)
--                    try:
--                        output = subprocess.check_output(smart_cmd +
--                                                         ["channel", "--yes",
--                                                          "--remove", channel],
--                                                         stderr=subprocess.STDOUT)
--                    except subprocess.CalledProcessError as e:
--                        LOG.exception("Failed to configure %s channel", channel)
--                        LOG.error("Command output: %s", e.output)
--                        return False
--            else:
--                # Channel is missing
--                add_channel = True
--                LOG.warning("Channel %s is missing from config", channel)
--
--            if add_channel:
--                LOG.info("Adding channel %s", channel)
--                cmd_args = ["channel", "--yes", "--add", channel,
--                            "type=%s" % ch_type,
--                            "name=%s" % ch_name]
--                if ch_baseurl is not None:
--                    cmd_args += ["baseurl=%s" % ch_baseurl]
--
--                try:
--                    output = subprocess.check_output(smart_cmd + cmd_args,
--                                                     stderr=subprocess.STDOUT)
--                except subprocess.CalledProcessError as e:
--                    LOG.exception("Failed to configure %s channel", channel)
--                    LOG.error("Command output: %s", e.output)
--                    return False
--
--                updated = True
--
--        # Validate the smart config
--        try:
--            output = subprocess.check_output(smart_cmd +
--                                             ["config", "--yaml"],
--                                             stderr=subprocess.STDOUT)
--            config = yaml.load(output)
--        except subprocess.CalledProcessError as e:
--            LOG.exception("Failed to query smart config")
--            LOG.error("Command output: %s", e.output)
--            return False
--        except Exception:
--            LOG.exception("Failed to query smart config")
--            return False
--
--        # Check for the rpm-nolinktos flag
--        nolinktos = 'rpm-nolinktos'
--        if config.get(nolinktos) is not True:
--            # Set the flag
--            LOG.warning("Setting %s option", nolinktos)
--            try:
--                output = subprocess.check_output(smart_cmd +
--                                                 ["config", "--set",
--                                                  "%s=true" % nolinktos],
--                                                 stderr=subprocess.STDOUT)
--            except subprocess.CalledProcessError as e:
--                LOG.exception("Failed to configure %s option", nolinktos)
--                LOG.error("Command output: %s", e.output)
--                return False
--
--            updated = True
--
--        # Check for the rpm-check-signatures flag
--        nosignature = 'rpm-check-signatures'
--        if config.get(nosignature) is not False:
--            # Set the flag
--            LOG.warning("Setting %s option", nosignature)
--            try:
--                output = subprocess.check_output(smart_cmd +
--                                                 ["config", "--set",
--                                                  "%s=false" % nosignature],
--                                                 stderr=subprocess.STDOUT)
--            except subprocess.CalledProcessError as e:
--                LOG.exception("Failed to configure %s option", nosignature)
--                LOG.error("Command output: %s", e.output)
--                return False
--
--            updated = True
--
--        if updated:
--            try:
--                subprocess.check_output(smart_update, stderr=subprocess.STDOUT)
--            except subprocess.CalledProcessError as e:
--                LOG.exception("Failed to update smartpm")
--                LOG.error("Command output: %s", e.output)
--                return False
--
--            # Reset the patch op counter to force a detailed query
--            self.patch_op_counter = 0
--
--        self.last_config_audit = time.time()
--        return True
--
--    def timed_audit_smart_config(self):
--        rc = True
--        if (time.time() - self.last_config_audit) > 1800:
--            # It's been 30 minutes since the last completed audit
--            LOG.info("Kicking timed audit")
--            rc = self.audit_smart_config()
--
--        return rc
--
-     @staticmethod
--    def parse_smart_pkglist(output):
--        pkglist = {}
--        for line in output.splitlines():
--            if line == '':
--                continue
--
--            fields = line.split()
--            pkgname = fields[0]
--            (version, arch) = fields[1].split('@')
--
--            if pkgname not in pkglist:
--                pkglist[pkgname] = {}
--                pkglist[pkgname][arch] = version
--            elif arch not in pkglist[pkgname]:
--                pkglist[pkgname][arch] = version
-+    def pkgobjs_to_list(pkgobjs):
-+        # Transform pkgobj list to format used by patch-controller
-+        output = {}
-+        for pkg in pkgobjs:
-+            if pkg.epoch != 0:
-+                output[pkg.name] = "%s:%s-%s@%s" % (pkg.epoch, pkg.version, pkg.release, pkg.arch)
-             else:
--                stored_ver = pkglist[pkgname][arch]
--
--                # The rpm.labelCompare takes version broken into 3 components
--                # It returns:
--                #     1, if first arg is higher version
--                #     0, if versions are same
--                #     -1, if first arg is lower version
--                rc = rpm.labelCompare(parse_pkgver(version),
--                                      parse_pkgver(stored_ver))
-+                output[pkg.name] = "%s-%s@%s" % (pkg.version, pkg.release, pkg.arch)
--                if rc > 0:
--                    # Update version
--                    pkglist[pkgname][arch] = version
-+        return output
--        return pkglist
-+    def dnf_reset_client(self):
-+        if self.dnfb is not None:
-+            self.dnfb.close()
-+            self.dnfb = None
--    @staticmethod
--    def get_pkg_version(pkglist, pkg, arch):
--        if pkg not in pkglist:
--            return None
--        if arch not in pkglist[pkg]:
--            return None
--        return pkglist[pkg][arch]
--
--    def parse_smart_newer(self, output):
--        # Skip the first two lines, which are headers
--        for line in output.splitlines()[2:]:
--            if line == '':
--                continue
--
--            fields = line.split()
--            pkgname = fields[0]
--            installedver = fields[2]
--            newver = fields[5]
-+        self.dnfb = dnf.Base()
-+        self.dnfb.conf.substitutions['infra'] = 'stock'
--            self.installed[pkgname] = installedver
--            self.to_install[pkgname] = newver
--
--    def parse_smart_orphans(self, output):
--        for pkgname in output.splitlines():
--            if pkgname == '':
--                continue
-+        # Reset default installonlypkgs list
-+        self.dnfb.conf.installonlypkgs = []
--            highest_version = None
-+        self.dnfb.read_all_repos()
--            try:
--                query = subprocess.check_output(smart_query_repos + ["--show-format", '$version\n', pkgname])
--                # The last non-blank version is the highest
--                for version in query.splitlines():
--                    if version == '':
--                        continue
--                    highest_version = version.split('@')[0]
--
--            except subprocess.CalledProcessError:
--                # Package is not in the repo
--                highest_version = None
--
--            if highest_version is None:
--                # Package is to be removed
--                self.to_remove.append(pkgname)
-+        # Ensure only platform repos are enabled for transaction
-+        for repo in self.dnfb.repos.all():
-+            if repo.id == 'platform-base' or repo.id == 'platform-updates':
-+                repo.enable()
-             else:
--                # Rollback to the highest version
--                self.to_install[pkgname] = highest_version
-+                repo.disable()
--            # Get the installed version
--            try:
--                query = subprocess.check_output(smart_query + ["--installed", "--show-format", '$version\n', pkgname])
--                for version in query.splitlines():
--                    if version == '':
--                        continue
--                    self.installed[pkgname] = version.split('@')[0]
--                    break
--            except subprocess.CalledProcessError:
--                LOG.error("Failed to query installed version of %s", pkgname)
--
--            self.changes = True
--
--    def check_groups(self):
--        # Get the groups file
--        mygroup = "updates-%s" % "-".join(subfunctions)
--        self.missing_pkgs = []
--        installed_pkgs = []
--
--        groups_url = "http://controller:%s/updates/rel-%s/comps.xml" % (http_port_real, SW_VERSION)
--        try:
--            req = requests.get(groups_url)
--            if req.status_code != 200:
--                LOG.error("Failed to get groups list from server")
--                return False
--        except requests.ConnectionError:
--            LOG.error("Failed to connect to server")
--            return False
--
--        # Get list of installed packages
--        try:
--            query = subprocess.check_output(["rpm", "-qa", "--queryformat", "%{NAME}\n"])
--            installed_pkgs = query.split()
--        except subprocess.CalledProcessError:
--            LOG.exception("Failed to query RPMs")
--            return False
--
--        root = ElementTree.fromstring(req.text)
--        for child in root:
--            group_id = child.find('id')
--            if group_id is None or group_id.text != mygroup:
--                continue
--
--            pkglist = child.find('packagelist')
--            if pkglist is None:
--                continue
--
--            for pkg in pkglist.findall('packagereq'):
--                if pkg.text not in installed_pkgs and pkg.text not in self.missing_pkgs:
--                    self.missing_pkgs.append(pkg.text)
--                    self.changes = True
-+        # Read repo info
-+        self.dnfb.fill_sack()
-     def query(self):
-         """ Check current patch state """
-@@ -633,14 +424,15 @@ class PatchAgent(PatchService):
-             LOG.info("Failed install_uuid check. Skipping query")
-             return False
--        if not self.audit_smart_config():
--            # Set a state to "unknown"?
--            return False
-+        if self.dnfb is not None:
-+            self.dnfb.close()
-+            self.dnfb = None
-+        # TODO(dpenney): Use python APIs for makecache
-         try:
--            subprocess.check_output(smart_update, stderr=subprocess.STDOUT)
-+            subprocess.check_output(dnf_makecache, stderr=subprocess.STDOUT)
-         except subprocess.CalledProcessError as e:
--            LOG.error("Failed to update smartpm")
-+            LOG.error("Failed to run dnf makecache")
-             LOG.error("Command output: %s", e.output)
-             # Set a state to "unknown"?
-             return False
-@@ -649,78 +441,72 @@ class PatchAgent(PatchService):
-         self.query_id = random.random()
-         self.changes = False
-+        self.installed_dnf = []
-         self.installed = {}
--        self.to_install = {}
-+        self.to_install_dnf = []
-+        self.to_downgrade_dnf = []
-         self.to_remove = []
-+        self.to_remove_dnf = []
-         self.missing_pkgs = []
-+        self.missing_pkgs_dnf = []
--        # Get the repo data
--        pkgs_installed = {}
--        pkgs_base = {}
--        pkgs_updates = {}
--
--        try:
--            output = subprocess.check_output(smart_query_installed)
--            pkgs_installed = self.parse_smart_pkglist(output)
--        except subprocess.CalledProcessError as e:
--            LOG.error("Failed to query installed pkgs: %s", e.output)
--            # Set a state to "unknown"?
--            return False
--
--        try:
--            output = subprocess.check_output(smart_query_base)
--            pkgs_base = self.parse_smart_pkglist(output)
--        except subprocess.CalledProcessError as e:
--            LOG.error("Failed to query base pkgs: %s", e.output)
--            # Set a state to "unknown"?
--            return False
-+        self.dnf_reset_client()
--        try:
--            output = subprocess.check_output(smart_query_updates)
--            pkgs_updates = self.parse_smart_pkglist(output)
--        except subprocess.CalledProcessError as e:
--            LOG.error("Failed to query patched pkgs: %s", e.output)
--            # Set a state to "unknown"?
--            return False
-+        # Get the repo data
-+        pkgs_installed = dnf.sack._rpmdb_sack(self.dnfb).query().installed()  # pylint: disable=protected-access
-+        avail = self.dnfb.sack.query().available().latest()
--        # There are four possible actions:
--        # 1. If installed pkg is not in base or updates, remove it.
--        # 2. If installed pkg version is higher than highest in base
--        #    or updates, downgrade it.
--        # 3. If installed pkg version is lower than highest in updates,
--        #    upgrade it.
--        # 4. If pkg in grouplist is not in installed, install it.
-+        # There are three possible actions:
-+        # 1. If installed pkg is not in a repo, remove it.
-+        # 2. If installed pkg version does not match newest repo version, update it.
-+        # 3. If a package in the grouplist is not installed, install it.
-         for pkg in pkgs_installed:
--            for arch in pkgs_installed[pkg]:
--                installed_version = pkgs_installed[pkg][arch]
--                updates_version = self.get_pkg_version(pkgs_updates, pkg, arch)
--                base_version = self.get_pkg_version(pkgs_base, pkg, arch)
--
--                if updates_version is None and base_version is None:
--                    # Remove it
--                    self.to_remove.append(pkg)
--                    self.changes = True
--                    continue
-+            highest = avail.filter(name=pkg.name, arch=pkg.arch)
-+            if highest:
-+                highest_pkg = highest[0]
--                compare_version = updates_version
--                if compare_version is None:
--                    compare_version = base_version
--
--                # Compare the installed version to what's in the repo
--                rc = rpm.labelCompare(parse_pkgver(installed_version),
--                                      parse_pkgver(compare_version))
--                if rc == 0:
--                    # Versions match, nothing to do.
-+                if pkg.evr_eq(highest_pkg):
-                     continue
-+
-+                if pkg.evr_gt(highest_pkg):
-+                    self.to_downgrade_dnf.append(highest_pkg)
-                 else:
--                    # Install the version from the repo
--                    self.to_install[pkg] = "@".join([compare_version, arch])
--                    self.installed[pkg] = "@".join([installed_version, arch])
--                    self.changes = True
-+                    self.to_install_dnf.append(highest_pkg)
-+            else:
-+                self.to_remove_dnf.append(pkg)
-+                self.to_remove.append(pkg.name)
-+
-+            self.installed_dnf.append(pkg)
-+            self.changes = True
-         # Look for new packages
--        self.check_groups()
-+        self.dnfb.read_comps()
-+        grp_id = 'updates-%s' % '-'.join(subfunctions)
-+        pkggrp = None
-+        for grp in self.dnfb.comps.groups_iter():
-+            if grp.id == grp_id:
-+                pkggrp = grp
-+                break
-+
-+        if pkggrp is None:
-+            LOG.error("Could not find software group: %s", grp_id)
-+
-+        for pkg in pkggrp.packages_iter():
-+            try:
-+                res = pkgs_installed.filter(name=pkg.name)
-+                if len(res) == 0:
-+                    found_pkg = avail.filter(name=pkg.name)
-+                    self.missing_pkgs_dnf.append(found_pkg[0])
-+                    self.missing_pkgs.append(found_pkg[0].name)
-+                    self.changes = True
-+            except dnf.exceptions.PackageNotFoundError:
-+                self.missing_pkgs_dnf.append(pkg)
-+                self.missing_pkgs.append(pkg.name)
-+                self.changes = True
-+
-+        self.installed = self.pkgobjs_to_list(self.installed_dnf)
-+        self.to_install = self.pkgobjs_to_list(self.to_install_dnf + self.to_downgrade_dnf)
-         LOG.info("Patch state query returns %s", self.changes)
-         LOG.info("Installed: %s", self.installed)
-@@ -730,6 +516,35 @@ class PatchAgent(PatchService):
-         return True
-+    def resolve_dnf_transaction(self, undo_failure=True):
-+        LOG.info("Starting to process transaction: undo_failure=%s", undo_failure)
-+        self.dnfb.resolve()
-+        self.dnfb.download_packages(self.dnfb.transaction.install_set)
-+
-+        tid = self.dnfb.do_transaction(display=PatchAgentDnfTransLogCB())
-+
-+        transaction_rc = True
-+        for t in self.dnfb.transaction:
-+            if t.state != libdnf.transaction.TransactionItemState_DONE:
-+                transaction_rc = False
-+                break
-+
-+        self.dnf_reset_client()
-+
-+        if not transaction_rc:
-+            if undo_failure:
-+                LOG.error("Failure occurred... Undoing last transaction (%s)", tid)
-+                old = self.dnfb.history.old((tid,))[0]
-+                mobj = dnf.db.history.MergedTransactionWrapper(old)
-+
-+                self.dnfb._history_undo_operations(mobj, old.tid, True)  # pylint: disable=protected-access
-+
-+                if not self.resolve_dnf_transaction(undo_failure=False):
-+                    LOG.error("Failed to undo transaction")
-+
-+        LOG.info("Transaction complete: undo_failure=%s, success=%s", undo_failure, transaction_rc)
-+        return transaction_rc
-+
-     def handle_install(self, verbose_to_stdout=False, disallow_insvc_patch=False):
-         #
-         # The disallow_insvc_patch parameter is set when we're installing
-@@ -781,64 +596,54 @@ class PatchAgent(PatchService):
-         if verbose_to_stdout:
-             print("Checking for software updates...")
-         self.query()
--        install_set = []
--        for pkg, version in self.to_install.items():
--            install_set.append("%s-%s" % (pkg, version))
--
--        install_set += self.missing_pkgs
-         changed = False
-         rc = True
--        if len(install_set) > 0:
-+        if len(self.to_install_dnf) > 0 or len(self.to_downgrade_dnf) > 0:
-+            LOG.info("Adding pkgs to installation set: %s", self.to_install)
-+            for pkg in self.to_install_dnf:
-+                self.dnfb.package_install(pkg)
-+
-+            for pkg in self.to_downgrade_dnf:
-+                self.dnfb.package_downgrade(pkg)
-+
-+            changed = True
-+
-+        if len(self.missing_pkgs_dnf) > 0:
-+            LOG.info("Adding missing pkgs to installation set: %s", self.missing_pkgs)
-+            for pkg in self.missing_pkgs_dnf:
-+                self.dnfb.package_install(pkg)
-+            changed = True
-+
-+        if len(self.to_remove_dnf) > 0:
-+            LOG.info("Adding pkgs to be removed: %s", self.to_remove)
-+            for pkg in self.to_remove_dnf:
-+                self.dnfb.package_remove(pkg)
-+            changed = True
-+
-+        if changed:
-+            # Run the transaction set
-+            transaction_rc = False
-             try:
--                if verbose_to_stdout:
--                    print("Installing software updates...")
--                LOG.info("Installing: %s", ", ".join(install_set))
--                output = subprocess.check_output(smart_install_cmd + install_set, stderr=subprocess.STDOUT)
--                changed = True
--                for line in output.split('\n'):
--                    LOG.info("INSTALL: %s", line)
--                if verbose_to_stdout:
--                    print("Software updated.")
--            except subprocess.CalledProcessError as e:
--                LOG.exception("Failed to install RPMs")
--                LOG.error("Command output: %s", e.output)
-+                transaction_rc = self.resolve_dnf_transaction()
-+            except dnf.exceptions.DepsolveError:
-+                LOG.error("Failures resolving dependencies in transaction")
-+            except dnf.exceptions.DownloadError:
-+                LOG.error("Failures downloading in transaction")
-+
-+            if not transaction_rc:
-+                LOG.error("Failures occurred during transaction")
-                 rc = False
-                 if verbose_to_stdout:
-                     print("WARNING: Software update failed.")
-+
-         else:
-             if verbose_to_stdout:
-                 print("Nothing to install.")
-             LOG.info("Nothing to install")
--        if rc:
--            self.query()
--            remove_set = self.to_remove
--
--            if len(remove_set) > 0:
--                try:
--                    if verbose_to_stdout:
--                        print("Handling patch removal...")
--                    LOG.info("Removing: %s", ", ".join(remove_set))
--                    output = subprocess.check_output(smart_remove_cmd + remove_set, stderr=subprocess.STDOUT)
--                    changed = True
--                    for line in output.split('\n'):
--                        LOG.info("REMOVE: %s", line)
--                    if verbose_to_stdout:
--                        print("Patch removal complete.")
--                except subprocess.CalledProcessError as e:
--                    LOG.exception("Failed to remove RPMs")
--                    LOG.error("Command output: %s", e.output)
--                    rc = False
--                    if verbose_to_stdout:
--                        print("WARNING: Patch removal failed.")
--            else:
--                if verbose_to_stdout:
--                    print("Nothing to remove.")
--                LOG.info("Nothing to remove")
--
--        if changed:
-+        if changed and rc:
-             # Update the node_is_patched flag
-             setflag(node_is_patched_file)
-@@ -1057,7 +862,7 @@ class PatchAgent(PatchService):
- def main():
-     global pa
--    configure_logging()
-+    configure_logging(dnf_log=True)
-     cfg.read_config()
-diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py b/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py
-index e9017f2..2ee9fce 100644
---- a/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py
-+++ b/cgcs-patch/cgcs-patch/cgcs_patch/patch_functions.py
-@@ -69,7 +69,7 @@ def handle_exception(exc_type, exc_value, exc_traceback):
-     sys.__excepthook__(exc_type, exc_value, exc_traceback)
--def configure_logging(logtofile=True, level=logging.INFO):
-+def configure_logging(logtofile=True, level=logging.INFO, dnf_log=False):
-     if logtofile:
-         my_exec = os.path.basename(sys.argv[0])
-@@ -84,6 +84,11 @@ def configure_logging(logtofile=True, level=logging.INFO):
-         main_log_handler = logging.FileHandler(logfile)
-         main_log_handler.setFormatter(formatter)
-         LOG.addHandler(main_log_handler)
-+
-+        if dnf_log:
-+            dnf_logger = logging.getLogger('dnf')
-+            dnf_logger.addHandler(main_log_handler)
-+
-         try:
-             os.chmod(logfile, 0o640)
-         except Exception:
-diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/tests/test_patch_agent.py b/cgcs-patch/cgcs-patch/cgcs_patch/tests/test_patch_agent.py
-index bd1eef9..7e30fc5 100644
---- a/cgcs-patch/cgcs-patch/cgcs_patch/tests/test_patch_agent.py
-+++ b/cgcs-patch/cgcs-patch/cgcs_patch/tests/test_patch_agent.py
-@@ -10,6 +10,15 @@ import sys
- import testtools
- sys.modules['rpm'] = mock.Mock()
-+sys.modules['dnf'] = mock.Mock()
-+sys.modules['dnf.callback'] = mock.Mock()
-+sys.modules['dnf.comps'] = mock.Mock()
-+sys.modules['dnf.exceptions'] = mock.Mock()
-+sys.modules['dnf.rpm'] = mock.Mock()
-+sys.modules['dnf.sack'] = mock.Mock()
-+sys.modules['dnf.transaction'] = mock.Mock()
-+sys.modules['libdnf'] = mock.Mock()
-+sys.modules['libdnf.transaction'] = mock.Mock()
- import cgcs_patch.patch_agent  # noqa: E402
-diff --git a/cgcs-patch/cgcs-patch/pylint.rc b/cgcs-patch/cgcs-patch/pylint.rc
-index 57a9829..f511718 100644
---- a/cgcs-patch/cgcs-patch/pylint.rc
-+++ b/cgcs-patch/cgcs-patch/pylint.rc
-@@ -45,10 +45,11 @@ symbols=no
- # no Warning level messages displayed, use"--disable=all --enable=classes
- # --disable=W"
- # W0107 unnecessary-pass
-+# W0511 fixme
- # W0603 global-statement
- # W0703 broad-except
- # W1505, deprecated-method
--disable=C, R, W0107, W0603, W0703, W1505
-+disable=C, R, W0107, W0511, W0603, W0703, W1505
- [REPORTS]
-@@ -235,7 +236,7 @@ ignore-mixin-members=yes
- # List of module names for which member attributes should not be checked
- # (useful for modules/projects where namespaces are manipulated during runtime
- # and thus existing member attributes cannot be deduced by static analysis
--ignored-modules=
-+ignored-modules=dnf,libdnf
- # List of classes names for which member attributes should not be checked
- # (useful for classes with attributes dynamically set).
-diff --git a/cgcs-patch/cgcs-patch/test-requirements.txt b/cgcs-patch/cgcs-patch/test-requirements.txt
-index 3f4e581..56e4806 100644
---- a/cgcs-patch/cgcs-patch/test-requirements.txt
-+++ b/cgcs-patch/cgcs-patch/test-requirements.txt
-@@ -8,4 +8,3 @@ coverage!=4.4,>=4.0 # Apache-2.0
- mock>=2.0.0 # BSD
- stestr>=1.0.0 # Apache-2.0
- testtools>=2.2.0 # MIT
--
diff --git a/meta-stx/recipes-core/stx-update/patch-alarm.inc b/meta-stx/recipes-core/stx-update/patch-alarm.inc
deleted file mode 100644 (file)
index 42f364d..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " patch-alarm"
-DESCRIPTION_patch-alarm = "TIS Platform Patching"
-SUMMARY_patch-alarm = "Patch alarm management"
-
-inherit setuptools
-
-RDEPENDS_patch-alarm_append = " \
-       bash \
-       python \
-       "
-
-do_configure_append () {
-       cd ${S}/patch-alarm/patch-alarm
-       distutils_do_configure
-} 
-
-do_compile_append () {
-       cd ${S}/patch-alarm/patch-alarm
-       distutils_do_compile
-}
-
-do_install_append () {
-       cd ${S}/patch-alarm/patch-alarm
-       distutils_do_install
-
-       cd ${S}/patch-alarm/
-
-       install -m 755 -d ${D}/${bindir}
-       install -m 755 -d ${D}/${sysconfdir}/init.d
-
-       install -m 700 scripts/bin/patch-alarm-manager ${D}/${bindir}/
-       install -m 700 scripts/init.d/patch-alarm-manager ${D}/${sysconfdir}/init.d/
-}
-
-FILES_patch-alarm = " \
-       ${libdir}/python2.7/site-packages/patch_alarm \
-       ${libdir}/python2.7/site-packages/patch_alarm*.egg-info \
-       ${bindir}/patch-alarm-manager \
-       ${sysconfdir}/init.d/patch-alarm-manager \
-       "
diff --git a/meta-stx/recipes-core/stx-update/stx-update.bb b/meta-stx/recipes-core/stx-update/stx-update.bb
deleted file mode 100644 (file)
index 9decf52..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-update"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCREV = "2542c5539bab060830009d02cbb257cc8bf4a376"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI = " \
-       git://opendev.org/starlingx/update.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://0001-Remove-use-of-rpmUtils.miscutils-from-cgcs-patch.patch \
-       file://0002-Cleanup-smartpm-references.patch \
-       file://0003-Cleaning-up-pylint-settings-for-cgcs-patch.patch \
-       file://0004-Address-python3-pylint-errors-and-warnings.patch \
-       file://0005-Clean-up-pylint-W1201-logging-not-lazy-in-cgcs-patch.patch \
-       file://0006-Migrate-patch-agent-to-use-DNF-for-swmgmt.patch \
-       file://0007-patch_agent-do-not-do-the-packages_iter-if-pkggrp-is.patch \
-       "
-
-DEPENDS = " \
-       python \
-       python-pbr-native \
-       "
-
-RDEPENDS_${PN} += " python-requests-toolbelt"
-
-require cgcs-patch.inc
-require enable-dev-patch.inc
-require patch-alarm.inc
-
-do_configure () {
-       :
-} 
-
-do_compile() {
-       :
-}
-
-do_install () {
-       :
-}
-
-pkg_postinst_ontarget_${PN} () { 
-}
-
-FILES_${PN} = " "
-
-DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
diff --git a/meta-stx/recipes-core/stx-update/tsconfig.inc b/meta-stx/recipes-core/stx-update/tsconfig.inc
deleted file mode 100644 (file)
index 5277e95..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " tsconfig"
-
-inherit setuptools
-
-RDEPENDS_tsconfig_append = " bash"
-
-do_configure_prepend () {
-       cd ${S}/tsconfig/tsconfig
-       distutils_do_configure
-} 
-
-do_compile_prepend () {
-       cd ${S}/tsconfig/tsconfig
-       distutils_do_compile
-}
-
-do_install_prepend () {
-       cd ${S}/tsconfig/tsconfig
-       distutils_do_install
-
-
-       install -m 755 -d ${D}/${bindir}
-       install -m 500 scripts/tsconfig ${D}/${bindir}/
-
-}
-
-FILES_tsconfig = " \
-       ${libdir}/python2.7/site-packages/tsconfig \
-       ${libdir}/python2.7/site-packages/tsconfig*.egg-info \
-       ${bindir}/tsconfig \
-       "
diff --git a/meta-stx/recipes-core/stx-upstream/openstack-ras_git.bb b/meta-stx/recipes-core/stx-upstream/openstack-ras_git.bb
deleted file mode 100644 (file)
index 03d840c..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Pacemaker High Availability resource agents for OpenStack"
-SUMMARY = "Openstack Resource Agents from Madkiss"
-
-PROTOCOL = "https"
-BRANCH = "master"
-SRCREV = "cc6f677570b4f0e7ba44a91d5dff33164b8b76bc"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI = "git://github.com/starlingx-staging/stx-openstack-ras.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-do_configure() {
-       :
-}
-
-
-do_compile() {
-       :
-}
-
-
-do_install() {
-       make  DESTDIR=${D} install
-       rm -rf ${D}/usr/lib/ocf/resource.d/openstack/ceilometer-agent-central
-       rm -rf ${D}/usr/lib/ocf/resource.d/openstack/ceilometer-alarm-evaluator
-       rm -rf ${D}/usr/lib/ocf/resource.d/openstack/ceilometer-alarm-notifier
-}
-
-FILES_${PN} += " ${libdir}"
diff --git a/meta-stx/recipes-core/stx-utilities/ceph/ceph-manager.inc b/meta-stx/recipes-core/stx-utilities/ceph/ceph-manager.inc
deleted file mode 100644 (file)
index e858d48..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " ceph-manager"
-
-RDEPENDS_ceph-manager += " sysinv"
-DESCRIPTION_ceph-manager = " \
-Handle Ceph API calls and provide status updates via alarms. \
-Handle sysinv RPC calls for long running Ceph API operations: \
-       - cache tiering enable \
-       - cache tiering disable \
-"
-
-do_configure_append() {
-       cd ${S}/ceph/ceph-manager/ceph-manager
-       distutils_do_configure
-}
-do_compile_append() {
-       cd ${S}/ceph/ceph-manager/ceph-manager
-       distutils_do_compile
-}
-
-do_install_append() {
-       cd ${S}/ceph/ceph-manager/ceph-manager
-       distutils_do_install
-
-       install -d -m0755 ${D}/${bindir}
-       install -d -m0755 ${D}/${sysconfdir}/init.d
-       install -d -m0755 ${D}/${sysconfdir}/logrotate.d
-       install -d -m0755 ${D}/${systemd_system_unitdir}
-
-       install -p -m0700 ${S}/ceph/ceph-manager/scripts/init.d/ceph-manager ${D}/${sysconfdir}/init.d
-       install -p -m0700 ${S}/ceph/ceph-manager/scripts/bin/ceph-manager ${D}/${bindir}
-       install -p -m0700 ${S}/ceph/ceph-manager/files/ceph-manager.logrotate ${D}/${sysconfdir}/logrotate.d
-       install -p -m0700 ${S}/ceph/ceph-manager/files/ceph-manager.service ${D}/${systemd_system_unitdir}
-}
-
-FILES_ceph-manager = "  \
-       ${bindir}/ceph-manager \
-       ${sysconfdir}/init.d/ceph-manager \
-       ${sysconfdir}/logrotate.d/ceph-manager.logrotate \
-       ${systemd_system_unitdir}/ceph-manager.service \
-       ${PYTHON_SITEPACKAGES_DIR}/ceph_manager \
-       ${PYTHON_SITEPACKAGES_DIR}/ceph_manager-1.0.0-py2.7.egg-info \
-       "
diff --git a/meta-stx/recipes-core/stx-utilities/ceph/python-cephclient.inc b/meta-stx/recipes-core/stx-utilities/ceph/python-cephclient.inc
deleted file mode 100644 (file)
index 1b204c5..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " python-cephclient"
-
-RDEPENDS_ceph-manager += " \
-       python \
-       python-ipaddress \
-       python-six \
-       python-requests \
-       "
-
-DESCRIPTION_python-cephclient = " \
-A client library in Python for Ceph Mgr RESTful plugin providing REST API \
-access to the cluster over an SSL-secured connection. Python API is compatible \
-with the old Python Ceph client at \
-https://github.com/dmsimard/python-cephclient that no longer works in Ceph \
-mimic because Ceph REST API component was removed. \
-"
-
-do_configure_append() {
-       cd ${S}/ceph/python-cephclient/python-cephclient
-       rm -rf .pytest_cache
-       rm -rf python_cephclient.egg-info
-       rm -f requirements.txt
-       distutils_do_configure
-}
-do_compile_append() {
-       cd ${S}/ceph/python-cephclient/python-cephclient
-       distutils_do_compile
-}
-
-do_install_append() {
-       cd ${S}/ceph/python-cephclient/python-cephclient
-       distutils_do_install
-}
-
-FILES_python-cephclient = "  \
-       ${PYTHON_SITEPACKAGES_DIR}/cephclient \
-       ${PYTHON_SITEPACKAGES_DIR}/python_cephclient-13.2.2.0-py2.7.egg-info \
-       "
-#      /usr/share/licenses/python-cephclient-13.2.2.0
-#      /usr/share/licenses/python-cephclient-13.2.2.0/LICENSE
-
diff --git a/meta-stx/recipes-core/stx-utilities/files/0001-cpumap_functions.sh-fix-perl-experimental-feature-is.patch b/meta-stx/recipes-core/stx-utilities/files/0001-cpumap_functions.sh-fix-perl-experimental-feature-is.patch
deleted file mode 100644 (file)
index 1eb66e5..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From e2dcf93685e6947540119fd5caff0e440857801c Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Thu, 11 Jun 2020 22:41:00 +0800
-Subject: [PATCH] cpumap_functions.sh: fix perl experimental feature issue
-
-An experimental feature added in Perl 5.14 allowed each, keys, push,
-pop, shift, splice, unshift, and values to be called with a scalar
-argument. This experiment is considered unsuccessful, and has been
-removed in 5.23 and later releases. So don't use this feature to
-avoid failure:
-localhost:~# platform_expanded_cpu_list
-Experimental keys on scalar is now forbidden at -e line 13.
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- utilities/worker-utils/worker-utils/cpumap_functions.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/utilities/worker-utils/worker-utils/cpumap_functions.sh b/utilities/worker-utils/worker-utils/cpumap_functions.sh
-index ab961f4..ecbbb05 100644
---- a/utilities/worker-utils/worker-utils/cpumap_functions.sh
-+++ b/utilities/worker-utils/worker-utils/cpumap_functions.sh
-@@ -389,7 +389,7 @@ function topology_to_cpulist {
-     }
- }
- END {
--    @cores = sort { $a <=> $b } keys $T{$socket};
-+    @cores = sort { $a <=> $b } keys %{ $T{$socket} };
-     @sel_cores = splice @cores, $core_start, $num_cores;
-     @lcpus = ();
-     for $C (@sel_cores) {
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-core/stx-utilities/security/stx-ssl.inc b/meta-stx/recipes-core/stx-utilities/security/stx-ssl.inc
deleted file mode 100644 (file)
index de901b9..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " stx-ssl"
-
-DESCRIPTION_stx-ssl = " Wind River Security"
-
-do_install_append() {
-
-       openssl req -new -x509 -sha256 \
-               -keyout ${S}/security/stx-ssl/self-signed-server-cert.pem \
-               -out ${S}/security/stx-ssl/self-signed-server-cert.pem \
-               -days 365 -nodes \
-               -config ${S}/security/stx-ssl/server-csr.conf
-
-       install -p -d -m0755 ${D}/${sysconfdir}/ssl/private/
-       install -m0400 ${S}/security/stx-ssl/self-signed-server-cert.pem \
-               ${D}/${sysconfdir}/ssl/private/self-signed-server-cert.pem 
-
-#      install -p -d -m0755 ${D}/${sbindir}
-#      install -m0700 ${S}/security/stx-ssl/files/tpmdevice-setup ${D}/${sbindir}/tpmdevice-setup
-
-       #install -d -m 0755 ${D}/${datadir}/stx-ssl-${PV}/
-       #install -m644 ${S}/security/stx-ssl/LICENSE ${D}/${datadir}/stx-ssl-${PV}/
-}
-
-FILES_stx-ssl = " \
-       ${sysconfdir}/ssl/private/self-signed-server-cert.pem  \
-       "
-#      ${sbindir}/tpmdevice-setup 
diff --git a/meta-stx/recipes-core/stx-utilities/stx-utilities_git.bb b/meta-stx/recipes-core/stx-utilities/stx-utilities_git.bb
deleted file mode 100644 (file)
index 1b00e0e..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-utilities"
-
-PROTOCOL = "https"
-SRCNAME = "utilities"
-BRANCH = "r/stx.3.0"
-SRCREV = "cbad6b792157d066dd601f0f9ce62dc177d4c848"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = " \
-       file://ceph/ceph-manager/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://ceph/python-cephclient/python-cephclient/LICENSE;md5=41687b590435621fc0676ac02c51154f \
-       file://security/stx-ssl/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://security/tpm2-openssl-engine/tpm2-openssl-engine/LICENSE;md5=e7b3e2a120f5d4c0f6f562a52b6badf4 \
-       file://tools/collector/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://tools/collector/scripts/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://tools/engtools/hostdata-collectors/scripts/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/build-info/build-info-1.0/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/logmgmt/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/logmgmt/logmgmt/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/namespace-utils/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/namespace-utils/namespace-utils/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/nfscheck/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/nfscheck/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/pci-irq-affinity-agent/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/platform-util/platform-util/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/platform-util/scripts/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/stx-extensions/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/update-motd/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/update-motd/files/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://utilities/worker-utils/worker-utils/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       "
-
-
-SRC_URI = " \
-       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://0001-cpumap_functions.sh-fix-perl-experimental-feature-is.patch \
-       "
-
-inherit setuptools distutils python-dir systemd
-DEPENDS = " \
-       python-pip \
-       python-pbr-native \
-       systemd \
-"
-
-require utilities/build-info.inc
-require utilities/logmgmt.inc
-require utilities/namespace-utils.inc
-require utilities/nfscheck.inc
-require utilities/pci-irq-affinity.inc
-require utilities/platform-util.inc
-require utilities/stx-extensions.inc
-require utilities/update-motd.inc
-require utilities/worker-utils.inc
-require ceph/ceph-manager.inc
-require ceph/python-cephclient.inc
-require security/stx-ssl.inc
-# Skip tpm2-openssl-engine2
-require tools/collector.inc
-require tools/collect-engtools.inc
-
-do_configure() {
-       :
-}
-
-do_compile() {
-       :
-}
-
-do_install() {
-       :
-}
-
-FILES_${PN} = " "
-
-DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
diff --git a/meta-stx/recipes-core/stx-utilities/tools/collect-engtools.inc b/meta-stx/recipes-core/stx-utilities/tools/collect-engtools.inc
deleted file mode 100644 (file)
index 002ad36..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " collect-engtools"
-
-RDEPENDS_collect-engtools += " \
-       iperf3 \
-       bash \
-       perl \
-       python \
-       "
-
-SUMMARY_collect-engtools= "Host performance data collection tools package"
-DESCRIPTION_collect-engtools= " \
-This package contains data collection tools to monitor host performance. \
-Tools are general purpose engineering and debugging related. Includes \
-overall memory, cpu occupancy, per-task cpu, per-task scheduling, per-task \
-io. \
-"
-
-
-do_configure_append() {
-       :
-}
-do_compile_append() {
-       :
-}
-
-do_install_append() {
-       cd ${S}/tools/engtools/hostdata-collectors/scripts
-
-       install -d -m0755 ${D}/${bindir}
-       install -m 755 buddyinfo.py ${D}/${bindir}
-       install -m 755 chewmem ${D}/${bindir}
-       install -m 755 ceph.sh ${D}/${bindir}
-       install -m 755 cleanup-engtools.sh ${D}/${bindir}
-       install -m 755 collect-engtools.sh ${D}/${bindir}
-       install -m 755 diskstats.sh ${D}/${bindir}
-       install -m 755 engtools_util.sh ${D}/${bindir}
-       install -m 755 filestats.sh ${D}/${bindir}
-       install -m 755 iostat.sh ${D}/${bindir}
-       install -m 755 linux_benchmark.sh ${D}/${bindir}
-       install -m 755 memstats.sh ${D}/${bindir}
-       install -m 755 netstats.sh ${D}/${bindir}
-       install -m 755 postgres.sh ${D}/${bindir}
-       install -m 755 rabbitmq.sh ${D}/${bindir}
-       install -m 755 remote/rbzip2-engtools.sh ${D}/${bindir}
-       install -m 755 remote/rstart-engtools.sh ${D}/${bindir}
-       install -m 755 remote/rstop-engtools.sh ${D}/${bindir}
-       install -m 755 remote/rsync-engtools-data.sh ${D}/${bindir}
-       install -m 755 slab.sh ${D}/${bindir}
-       install -m 755 ticker.sh ${D}/${bindir}
-       install -m 755 top.sh ${D}/${bindir}
-       install -m 755 vswitch.sh ${D}/${bindir}
-       install -m 755 live_stream.py ${D}/${bindir}
-
-       install -p -d -m0755 ${D}/${sysconfdir}/engtools/
-       install -m0644 -p cfg/engtools.conf ${D}/${sysconfdir}/engtools
-       install -d -m0755 ${D}/${sysconfdir}/init.d
-       install -m0755 init.d/collect-engtools.sh ${D}/${sysconfdir}/init.d
-
-       install -d -m0755 ${D}/${systemd_system_unitdir}
-       install -m0644 -p -D collect-engtools.service ${D}/${systemd_system_unitdir}
-
-       sed -i -e 's/network.service/networking.service/' \
-               ${D}/${systemd_system_unitdir}/collect-engtools.service
-
-       sed -i -e 's|/usr/local/bin/|${bindir}/|' \
-               ${D}/${sysconfdir}/init.d/collect-engtools.sh \
-               ${D}/${bindir}/cleanup-engtools.sh
-}
-
-FILES_collect-engtools = "  \
-       ${bindir}/buddyinfo.py \
-       ${bindir}/chewmem \
-       ${bindir}/ceph.sh \
-       ${bindir}/cleanup-engtools.sh \
-       ${bindir}/collect-engtools.sh \
-       ${bindir}/diskstats.sh \
-       ${bindir}/engtools_util.sh \
-       ${bindir}/filestats.sh \
-       ${bindir}/iostat.sh \
-       ${bindir}/linux_benchmark.sh \
-       ${bindir}/memstats.sh \
-       ${bindir}/netstats.sh \
-       ${bindir}/postgres.sh \
-       ${bindir}/rabbitmq.sh \
-       ${bindir}/rbzip2-engtools.sh \
-       ${bindir}/rstart-engtools.sh \
-       ${bindir}/rstop-engtools.sh \
-       ${bindir}/rsync-engtools-data.sh \
-       ${bindir}/slab.sh \
-       ${bindir}/ticker.sh \
-       ${bindir}/top.sh \
-       ${bindir}/vswitch.sh \
-       ${bindir}/live_stream.py \
-       ${sysconfdir}/engtools/engtools.conf \
-       ${sysconfdir}/init.d/collect-engtools.sh \
-       ${systemd_system_unitdir}/collect-engtools.service \
-       "
-
-SYSTEMD_PACKAGES += "collect-engtools"
-SYSTEMD_SERVICE_collect-engtools = "collect-engtools.service"
-SYSTEMD_AUTO_ENABLE_collect-engtools = "enable"
diff --git a/meta-stx/recipes-core/stx-utilities/tools/collector.inc b/meta-stx/recipes-core/stx-utilities/tools/collector.inc
deleted file mode 100644 (file)
index cd837ca..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " collector"
-
-RDEPENDS_collector += " bash"
-DESCRIPTION_collector= " \
-This packages scripts that implement data and log collection that field \
-support can execute to gather current state and runtime history for off \
-platform analysis and debug. \
-"
-
-do_configure_append() {
-       :
-}
-do_compile_append() {
-       :
-}
-
-do_install_append() {
-       cd ${S}/tools/collector/scripts
-
-       install -m0755 -d ${D}/${sysconfdir}/collect.d
-       install -m0755 -d ${D}/${sysconfdir}/collect
-       install -m0755 -d ${D}/${sbindir}
-       install -m0755 -d ${D}/${bindir}
-       install -m0755 -d ${D}/${sbindir}
-
-       install -m 755 collect ${D}/${sbindir}/collect
-       install -m 755 collect_host ${D}/${sbindir}/collect_host
-       install -m 755 collect_date ${D}/${sbindir}/collect_date
-       install -m 755 collect_utils ${D}/${sbindir}/collect_utils
-       install -m 755 collect_parms ${D}/${sbindir}/collect_parms
-       install -m 755 collect_mask_passwords ${D}/${sbindir}/collect_mask_passwords
-       install -m 755 expect_done ${D}/${sbindir}/expect_done
-
-       install -m 755 collect_sysinv.sh ${D}/${sysconfdir}/collect.d/collect_sysinv
-       install -m 755 collect_psqldb.sh ${D}/${sysconfdir}/collect.d/collect_psqldb
-       install -m 755 collect_openstack.sh ${D}/${sysconfdir}/collect.d/collect_openstack
-       install -m 755 collect_networking.sh ${D}/${sysconfdir}/collect.d/collect_networking
-       install -m 755 collect_ceph.sh ${D}/${sysconfdir}/collect.d/collect_ceph
-       install -m 755 collect_sm.sh ${D}/${sysconfdir}/collect.d/collect_sm
-       install -m 755 collect_tc.sh ${D}/${sysconfdir}/collect.d/collect_tc
-       install -m 755 collect_nfv_vim.sh ${D}/${sysconfdir}/collect.d/collect_nfv_vim
-       install -m 755 collect_ovs.sh ${D}/${sysconfdir}/collect.d/collect_ovs
-       install -m 755 collect_patching.sh ${D}/${sysconfdir}/collect.d/collect_patching
-       install -m 755 collect_coredump.sh ${D}/${sysconfdir}/collect.d/collect_coredump
-       install -m 755 collect_crash.sh ${D}/${sysconfdir}/collect.d/collect_crash
-       install -m 755 collect_ima.sh ${D}/${sysconfdir}/collect.d/collect_ima
-       install -m 755 collect_fm.sh ${D}/${sysconfdir}/collect.d/collect_fm
-       install -m 755 collect_containerization.sh ${D}/${sysconfdir}/collect.d/collect_containerization
-
-       install -m 755 etc.exclude ${D}/${sysconfdir}/collect/etc.exclude
-       install -m 755 run.exclude ${D}/${sysconfdir}/collect/run.exclude
-
-       sed -i -e 's|/usr/local/bin/|${bindir}/|' \
-              -e 's|/usr/local/sbin/|${sbindir}/|' \
-               ${D}/${sysconfdir}/collect.d/collect* \
-               ${D}/${sbindir}/collect*
-
-       ln -sf ${sbindir}/collect ${D}/${bindir}/collect
-}
-
-FILES_collector = "  \
-       ${sbindir}/collect \
-       ${sbindir}/collect_host \
-       ${sbindir}/collect_date \
-       ${sbindir}/collect_utils \
-       ${sbindir}/collect_parms \
-       ${sbindir}/collect_mask_passwords \
-       ${sbindir}/expect_done \
-       ${sysconfdir}/collect.d/collect_sysinv \
-       ${sysconfdir}/collect.d/collect_psqldb \
-       ${sysconfdir}/collect.d/collect_openstack \
-       ${sysconfdir}/collect.d/collect_networking \
-       ${sysconfdir}/collect.d/collect_ceph \
-       ${sysconfdir}/collect.d/collect_sm \
-       ${sysconfdir}/collect.d/collect_tc \
-       ${sysconfdir}/collect.d/collect_nfv_vim \
-       ${sysconfdir}/collect.d/collect_ovs \
-       ${sysconfdir}/collect.d/collect_patching \
-       ${sysconfdir}/collect.d/collect_coredump \
-       ${sysconfdir}/collect.d/collect_crash \
-       ${sysconfdir}/collect.d/collect_ima \
-       ${sysconfdir}/collect.d/collect_fm \
-       ${sysconfdir}/collect.d/collect_containerization \
-       ${sysconfdir}/collect/etc.exclude \
-       ${sysconfdir}/collect/run.exclude \
-       ${bindir}/collect \
-       "
diff --git a/meta-stx/recipes-core/stx-utilities/utilities/build-info.inc b/meta-stx/recipes-core/stx-utilities/utilities/build-info.inc
deleted file mode 100644 (file)
index 38f2fc0..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " build-info"
-
-DESCRIPTION_build-info  = "Build Info"
-SUMMARY_update-motd  = "Build Info"
-
-SRC_URI += "file://build.info"
-
-do_install_append() {
-       install -d ${D}/${sysconfdir}
-       install -m 644 ${WORKDIR}/build.info ${D}/${sysconfdir}
-       sed -i -e "s/@OS@/${DISTRO}/" \
-              -e "s/@STX_RELEASE@/${STX_REL}/" \
-              -e "s/@STX_ID@/${STX_ID}/" \
-              -e "s/@BUILD_DATE@/${STX_BUILD_DATE}/" \
-              ${D}/${sysconfdir}/build.info
-
-}
-
-do_install[vardepsexclude] += "STX_BUILD_DATE"
-
-FILES_build-info = "${sysconfdir}/build.info"
diff --git a/meta-stx/recipes-core/stx-utilities/utilities/logmgmt.inc b/meta-stx/recipes-core/stx-utilities/utilities/logmgmt.inc
deleted file mode 100644 (file)
index 5f01fb7..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " logmgmt"
-
-RDEPENDS_logmgmt += " \
-       systemd \
-       python-daemon \
-       "
-DESCRIPTION_logmgmt = "Management of /var/log filesystem"
-
-do_configure_append() {
-       cd ${S}/utilities/logmgmt/logmgmt/
-       distutils_do_configure
-}
-do_compile_append() {
-       cd ${S}/utilities/logmgmt/logmgmt/
-       distutils_do_compile
-}
-
-do_install_append() {
-       cd ${S}/utilities/logmgmt/logmgmt/
-       distutils_do_install
-
-       cd ${S}/utilities/logmgmt/scripts
-       install -d -m0755 ${D}/${bindir}
-       install -m0700 bin/logmgmt ${D}/${bindir}
-       install -m0700 bin/logmgmt_postrotate ${D}/${bindir}
-       install -m0700 bin/logmgmt_prerotate ${D}/${bindir}
-
-       install -d -m0755 ${D}/${sysconfdir}/init.d
-       install -m0700 init.d/logmgmt ${D}/${sysconfdir}/init.d
-
-       install -d -m0755 ${D}/${sysconfdir}/pmon.d
-       install -m0700 pmon.d/logmgmt ${D}/${sysconfdir}/pmon.d
-
-       install -d -m0755 ${D}/${systemd_system_unitdir}
-       install -m0664 etc/systemd/system/logmgmt.service ${D}/${systemd_system_unitdir}
-}
-
-FILES_logmgmt = "  \
-       ${bindir}/logmgmt \
-       ${bindir}/logmgmt_postrotate \
-       ${bindir}/logmgmt_prerotate \
-       ${sysconfdir}/init.d/logmgmt \
-       ${sysconfdir}/pmon.d/logmgmt \
-       ${systemd_system_unitdir}/logmgmt.service \
-       ${PYTHON_SITEPACKAGES_DIR}/logmgmt/ \
-       ${PYTHON_SITEPACKAGES_DIR}/logmgmt-${PV}-py${PYTHON_BASEVERSION}.egg-info/ \
-       "
-
-SYSTEMD_PACKAGES += "logmgmt"
-SYSTEMD_SERVICE_logmgmt = "logmgmt.service"
-SYSTEMD_AUTO_ENABLE_logmgmt = "enable"
diff --git a/meta-stx/recipes-core/stx-utilities/utilities/namespace-utils.inc b/meta-stx/recipes-core/stx-utilities/utilities/namespace-utils.inc
deleted file mode 100644 (file)
index 30e4a54..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " namespace-utils"
-
-RDEPENDS_namespace-utils += " bash"
-
-DESCRIPTION_namspace-utils = "Titanium Cloud namespace utilities"
-SUMMARY_namespace-utils = "namespace utils"
-
-do_configure_append() {
-       :
-}
-do_compile_append() {
-       cd ${S}/utilities/namespace-utils/namespace-utils
-       $CC ${LDFLAGS} ${CFLAGS} -o bashns bashns.c
-}
-
-do_install_append() {
-       cd ${S}/utilities/namespace-utils/namespace-utils
-
-       install -d -m0755 ${D}/${sbindir}
-       install -m0500 bashns ${D}/${sbindir}
-       install -m0500 umount-in-namespace  ${D}/${sbindir}
-}
-
-FILES_namespace-utils = "  \
-       ${sbindir}/bashns \
-       ${sbindir}/umount-in-namespace \
-       "
diff --git a/meta-stx/recipes-core/stx-utilities/utilities/nfscheck.inc b/meta-stx/recipes-core/stx-utilities/utilities/nfscheck.inc
deleted file mode 100644 (file)
index 944e402..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " nfscheck"
-
-RDEPENDS_nfscheck  += " bash systemd"
-DESCRIPTION_nfscheck = "NFS Audit"
-SUMMARY_nfscheck = "NFS Audit"
-
-do_configure_append() {
-       :
-}
-do_compile_append() {
-       :
-}
-
-do_install_append() {
-       cd ${S}/utilities/nfscheck/files
-
-       install -d -m0755 ${D}/${bindir}
-       install -m0755 nfscheck.sh ${D}/${bindir}
-
-       install -d -m0755 ${D}/${systemd_system_unitdir}
-       install -m0644 nfscheck.service ${D}/${systemd_system_unitdir}
-}
-
-FILES_nfscheck = "  \
-       ${bindir}/nfscheck.sh \
-       ${systemd_system_unitdir}/nfscheck.service \
-       "
-
-SYSTEMD_PACKAGES += "nfscheck"
-SYSTEMD_SERVICE_nfscheck = "nfscheck.service"
-SYSTEMD_AUTO_ENABLE_nfscheck = "enable"
diff --git a/meta-stx/recipes-core/stx-utilities/utilities/pci-irq-affinity.inc b/meta-stx/recipes-core/stx-utilities/utilities/pci-irq-affinity.inc
deleted file mode 100644 (file)
index c21f36c..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " pci-irq-affinity"
-
-RDEPENDS_pci-irq-affinity  += " python-novaclient"
-DESCRIPTION_pci-irq-affinity  = "StarlingX PCI Interrupt Affinity Agent Package"
-SUMMARY_pci-irq-affinity  = "StarlingX PCI Interrupt Affinity Agent Package"
-
-inherit setuptools distutils
-
-do_configure_append() {
-       cd ${S}/utilities/pci-irq-affinity-agent/pci_irq_affinity
-       distutils_do_configure
-}
-do_compile_append() {
-       cd ${S}/utilities/pci-irq-affinity-agent/pci_irq_affinity
-       distutils_do_compile
-}
-
-do_install_append() {
-       cd ${S}/utilities/pci-irq-affinity-agent/pci_irq_affinity
-       distutils_do_install
-
-       cd ${S}/utilities/pci-irq-affinity-agent/files
-
-       install -p -d -m0755 ${D}/${sysconfdir}/init.d
-       install -p -d -m0755 ${D}/${sysconfdir}/pmon.d
-       install -p -d -m0755 ${D}/${sysconfdir}/pci_irq_affinity
-       install -p -d -m0755 ${D}/${systemd_system_unitdir}
-       install -p -d -m0755 ${D}/${bindir}
-
-       install -m0755 pci-irq-affinity-agent ${D}/${sysconfdir}/init.d/pci-irq-affinity-agent
-       install -m0644 pci-irq-affinity-agent.service ${D}/${systemd_system_unitdir}/pci-irq-affinity-agent.service
-
-       install -m0755 nova-sriov ${D}/${bindir}/nova-sriov
-       install -m0755 config.ini ${D}/${sysconfdir}/pci_irq_affinity/config.ini
-}
-
-FILES_pci-irq-affinity = "  \
-       ${bindir}/pci-irq-affinity-agent \
-       ${sysconfdir}/pci_irq_affinity/config.ini \
-       ${bindir}/nova-sriov \
-       ${sysconfdir}/init.d/pci-irq-affinity-agent \
-       ${systemd_system_unitdir}/pci-irq-affinity-agent.service \
-       ${PYTHON_SITEPACKAGES_DIR}/pci_irq_affinity/ \
-       ${PYTHON_SITEPACKAGES_DIR}/pci_irq_affinity_agent-${PV}-py${PYTHON_BASEVERSION}.egg-info/ \
-       "
-
-SYSTEMD_PACKAGES += "pci-irq-affinity"
-SYSTEMD_SERVICE_pci-irq-affinity = "pci-irq-affinity-agent.service"
-SYSTEMD_AUTO_ENABLE_pci-irq-affinity = "enable"
diff --git a/meta-stx/recipes-core/stx-utilities/utilities/platform-util.inc b/meta-stx/recipes-core/stx-utilities/utilities/platform-util.inc
deleted file mode 100644 (file)
index fe8d44c..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " platform-util"
-
-RDEPENDS_platform-util  += " bash"
-DESCRIPTION_platform-util  = "platform-util"
-SUMMARY_platform-util  = "StarlingX Platform utilities installed only on controllers"
-
-inherit setuptools distutils
-
-do_configure_append() {
-       cd ${S}/utilities/platform-util/platform-util
-       distutils_do_configure
-}
-do_compile_append() {
-       cd ${S}/utilities/platform-util/platform-util
-       distutils_do_configure
-}
-
-do_install_append() {
-       cd ${S}/utilities/platform-util/platform-util
-       distutils_do_install
-
-       cd ${S}/utilities/platform-util/scripts
-
-       install -d -m0755 ${D}/${bindir}
-       install -m0755 tc_setup.sh ${D}/${bindir}/tc_setup.sh
-       install -m0755 remotelogging_tc_setup.sh ${D}/${bindir}/remotelogging_tc_setup.sh
-       install -m0755 connectivity_test  ${D}/${bindir}/connectivity_test
-       install -m0755 update-iso.sh ${D}/${bindir}/update-iso.sh
-
-       install -p -d -m0755 ${D}/${sysconfdir}/init.d
-       install -m0755 log_functions.sh ${D}/${sysconfdir}/init.d/log_functions.sh
-
-       install -p -d -m0755 ${D}/${sbindir}
-       install -m0755 patch-restart-mtce  ${D}/${sbindir}/patch-restart-mtce
-       install -m0755 patch-restart-processes ${D}/${sbindir}/patch-restart-processes
-       install -m0755 patch-restart-haproxy ${D}/${sbindir}/patch-restart-haproxy
-
-
-
-       install -p -d -m0755 ${D}/${systemd_system_unitdir}
-
-       install -m0644 opt-platform.mount  ${D}/${systemd_system_unitdir}/opt-platform.mount
-       install -m0644 opt-platform.service ${D}/${systemd_system_unitdir}/opt-platform.service
-
-}
-
-FILES_platform-util = "  \
-       ${bindir}/tc_setup.sh \
-       ${bindir}/verify-license \
-       ${bindir}/remotelogging_tc_setup.sh \
-       ${bindir}/connectivity_test \
-       ${bindir}/update-iso.sh \
-       ${sysconfdir}/init.d/log_functions.sh \
-       ${sbindir}/patch-restart-mtce \
-       ${sbindir}/patch-restart-processes \
-       ${sbindir}/patch-restart-haproxy \
-       ${systemd_system_unitdir}/opt-platform.mount \
-       ${systemd_system_unitdir}/opt-platform.service \
-       ${PYTHON_SITEPACKAGES_DIR}/platform_util/ \
-       ${PYTHON_SITEPACKAGES_DIR}/platform_util-${PV}-py${PYTHON_BASEVERSION}.egg-info/ \
-       "
diff --git a/meta-stx/recipes-core/stx-utilities/utilities/stx-extensions.inc b/meta-stx/recipes-core/stx-utilities/utilities/stx-extensions.inc
deleted file mode 100644 (file)
index 5e80821..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " stx-extensions"
-
-RDEPENDS_stx-extensions  += " systemd"
-DESCRIPTION_stx-extensions  = "TIS Extensions to thirdparty pkgs"
-SUMMARY_stx-extensions  = "TIS Extensions to thirdparty pkgs"
-
-inherit setuptools distutils
-
-do_configure_append() {
-       :
-}
-do_compile_append() {
-       :
-}
-
-do_install_append() {
-       cd ${S}/utilities/stx-extensions/files
-
-       install -p -d -m 0755 ${D}/${sysconfdir}/sysctl.d
-       install -m 0644 coredump-sysctl.conf ${D}/${sysconfdir}/sysctl.d/50-coredump.conf
-
-       # Fix the systemd unitdir and the arguments for kernel.core_pattern
-       sed -i -e 's|${nonarch_libdir}/systemd|${systemd_unitdir}|' \
-              -e 's/%p/%P/' -e 's/%e/%c %h %e/' \
-              ${D}/${sysconfdir}/sysctl.d/50-coredump.conf
-
-       install -p -d -m 0755 ${D}/${sysconfdir}/systemd/coredump.conf.d
-       install -m 0644 coredump.conf ${D}/${sysconfdir}/systemd/coredump.conf.d/coredump.conf
-
-       install -p -d -m 0755 ${D}/${sysconfdir}/modules-load.d
-       install -m 0644 modules-load-vfio.conf ${D}/${sysconfdir}/modules-load.d/vfio.conf
-
-}
-
-FILES_stx-extensions = "  \
-       ${sysconfdir}/sysctl.d/50-coredump.conf \
-       ${sysconfdir}/systemd/coredump.conf.d/coredump.conf \
-       ${sysconfdir}/modules-load.d/vfio.conf \
-       "
diff --git a/meta-stx/recipes-core/stx-utilities/utilities/update-motd.inc b/meta-stx/recipes-core/stx-utilities/utilities/update-motd.inc
deleted file mode 100644 (file)
index ef917a0..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " update-motd"
-
-RDEPENDS_update-motd  += " cronie bash"
-DESCRIPTION_update-motd  = "dynamic MOTD generation"
-SUMMARY_update-motd  = "dynamic MOTD generation"
-
-inherit setuptools distutils
-
-do_configure_append() {
-       :
-}
-do_compile_append() {
-       :
-}
-
-do_install_append() {
-       cd ${S}/utilities/update-motd/files
-
-
-       install -d ${D}/${sbindir}
-       install -m 700 motd-update ${D}/${sbindir}/motd-update
-
-       install -m0755 -d ${D}/${sysconfdir}
-       install -m0755 -d ${D}/${sysconfdir}/motd.d
-
-       install -m 755 motd-header ${D}/${sysconfdir}/motd.d/00-header
-       install -m 755 motd-footer ${D}/${sysconfdir}/motd.d/99-footer
-       install -m 644 motd.head ${D}/${sysconfdir}/motd.d/motd.head
-
-       install -m0755  -d ${D}/${sysconfdir}/cron.d
-       install -m 600 motd-update.cron ${D}/${sysconfdir}/cron.d/motd-update
-       install -m 700 customize-banner ${D}/${sbindir}/customize-banner
-       install -m 700 apply_banner_customization ${D}/${sbindir}/apply_banner_customization
-       install -m 700 install_banner_customization ${D}/${sbindir}/install_banner_customization
-
-}
-
-FILES_update-motd = "  \
-       ${sbindir}/motd-update \
-       ${sysconfdir}/motd.d/00-header \
-       ${sysconfdir}/motd.d/99-footer \
-       ${sysconfdir}/motd.d/motd.head \
-       ${sysconfdir}/cron.d/motd-update \
-       ${sbindir}/customize-banner \
-       ${sbindir}/apply_banner_customization \
-       ${sbindir}/install_banner_customization \
-       "
diff --git a/meta-stx/recipes-core/stx-utilities/utilities/worker-utils.inc b/meta-stx/recipes-core/stx-utilities/utilities/worker-utils.inc
deleted file mode 100644 (file)
index 73053d7..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGES += " worker-utils"
-
-RDEPENDS_worker-utils  += " perl systemd python bash"
-DESCRIPTION_worker-utils  = "Initial worker node resource reservation and misc. utilities"
-SUMMARY_worker-utils  = "dynamic MOTD generation"
-
-inherit setuptools distutils python-dir
-
-do_configure_append() {
-       :
-}
-do_compile_append() {
-       cd ${S}/utilities/worker-utils/worker-utils
-       oe_runmake all
-}
-
-do_install_append() {
-       cd ${S}/utilities/worker-utils/worker-utils
-
-       oe_runmake install \
-               BINDIR=${D}/${bindir} \
-               INITDDIR=${D}/${sysconfdir}/init.d \
-               GOENABLEDDIR=${D}/${sysconfdir}/goenabled.d \
-               PLATFORMCONFDIR=${D}/${sysconfdir}/platform \
-               SYSTEMDDIR=${D}/${systemd_system_unitdir}
-
-       sed -i -e 's|drbdadm|${base_sbindir}/drbdadm|' ${D}/${sysconfdir}/init.d/affine-tasks.sh
-}
-
-FILES_worker-utils = "  \
-       ${sysconfdir}/init.d/affine-platform.sh \
-       ${sysconfdir}/init.d/affine-tasks.sh \
-       ${sysconfdir}/init.d/cpumap_functions.sh \
-       ${sysconfdir}/init.d/task_affinity_functions.sh \
-       ${bindir}/ps-sched.sh \
-       ${bindir}/topology.py \
-       ${bindir}/topology.pyc \
-       ${bindir}/affine-interrupts.sh \
-       ${bindir}/set-cpu-wakeup-latency.sh \
-       ${bindir}/topology \
-       ${sysconfdir}/platform/worker_reserved.conf \
-       ${sysconfdir}/goenabled.d/worker-goenabled.sh \
-       ${systemd_system_unitdir}/affine-platform.sh.service \
-       ${systemd_system_unitdir}/affine-tasks.service \
-       "
-
-SYSTEMD_PACKAGES += "worker-utils"
-SYSTEMD_SERVICE_worker-utils = "\
-       affine-tasks.service \
-       affine-platform.sh.service \
-       "
-SYSTEMD_AUTO_ENABLE_worker-utils = "enable"
diff --git a/meta-stx/recipes-core/systemd/files/0001-systemd-remove-the-log-about-var-run.patch b/meta-stx/recipes-core/systemd/files/0001-systemd-remove-the-log-about-var-run.patch
deleted file mode 100644 (file)
index 89fc4eb..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-From f7c80240b43fbf79ccca366b512874c271771818 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Tue, 5 May 2020 16:00:34 +0800
-Subject: [PATCH] systemd: remove the log about /var/run
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- src/core/dbus-service.c  | 3 ---
- src/core/load-fragment.c | 2 --
- src/tmpfiles/tmpfiles.c  | 2 --
- 3 files changed, 7 deletions(-)
-
-diff --git a/src/core/dbus-service.c b/src/core/dbus-service.c
-index 0eb336c..baf7343 100644
---- a/src/core/dbus-service.c
-+++ b/src/core/dbus-service.c
-@@ -341,9 +341,6 @@ static int bus_service_set_transient_property(
-                                 if (!z)
-                                         return log_oom();
--                                if (!UNIT_WRITE_FLAGS_NOOP(flags))
--                                        log_unit_notice(u, "Transient unit's PIDFile= property references path below legacy directory /var/run, updating %s → %s; please update client accordingly.", n, z);
--
-                                 free_and_replace(n, z);
-                         }
-                 }
-diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c
-index 537bca3..4ffac83 100644
---- a/src/core/load-fragment.c
-+++ b/src/core/load-fragment.c
-@@ -4286,8 +4286,6 @@ int config_parse_pid_file(
-                 if (!z)
-                         return log_oom();
--                log_syntax(unit, LOG_NOTICE, filename, line, 0, "PIDFile= references path below legacy directory /var/run/, updating %s → %s; please update the unit file accordingly.", n, z);
--
-                 free_and_replace(*s, z);
-         } else
-                 free_and_replace(*s, n);
-diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
-index b66765b..bfce982 100644
---- a/src/tmpfiles/tmpfiles.c
-+++ b/src/tmpfiles/tmpfiles.c
-@@ -2479,8 +2479,6 @@ static int patch_var_run(const char *fname, unsigned line, char **path) {
-          * there's no immediate need for action by the user. However, in the interest of making things less confusing
-          * to the user, let's still inform the user that these snippets should really be updated. */
--        log_notice("[%s:%u] Line references path below legacy directory /var/run/, updating %s → %s; please update the tmpfiles.d/ drop-in file accordingly.", fname, line, *path, n);
--
-         free_and_replace(*path, n);
-         return 0;
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-core/systemd/systemd_241.bbappend b/meta-stx/recipes-core/systemd/systemd_241.bbappend
deleted file mode 100644 (file)
index 5244be1..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += " \
-       file://0900-inject-milisec-in-syslog-date.patch \
-       file://0001-systemd-remove-the-log-about-var-run.patch \
-       "
-
-STX_DEFAULT_LOCALE ?= "en_US.UTF-8"
-
-do_install_append () {
-       install -d ${D}${sysconfdir}
-       echo LANG=${STX_DEFAULT_LOCALE} >> ${D}${sysconfdir}/locale.conf
-}
-
-FILES_${PN} += "${sysconfdir}/locale.conf"
-
-PACKAGECONFIG_append = " \
-    coredump \
-"
diff --git a/meta-stx/recipes-core/util-linux/util-linux_%.bbappend b/meta-stx/recipes-core/util-linux/util-linux_%.bbappend
deleted file mode 100644 (file)
index 625a957..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-# Increase su.util-linux update-alternative priortiy
-
-ALTERNATIVE_PRIORITY[su] = "300"
diff --git a/meta-stx/recipes-daemons/lldpd/lldpd_0.9.0.bb b/meta-stx/recipes-daemons/lldpd/lldpd_0.9.0.bb
deleted file mode 100644 (file)
index fa9e92e..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "A 802.1ab implementation (LLDP) to help you locate neighbors of all your equipments"
-SECTION = "net/misc"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/ISC;md5=f3b90e78ea0cffb20bf5cca7947a896d"
-
-DEPENDS = "libbsd libevent json-c"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCNAME = "integ"
-SRCREV = "0bf4b546df8c7fdec8cfc6cb6f71b9609ee54306"
-
-SRC_URI = "\
-    http://media.luffy.cx/files/${BPN}/${BPN}-${PV}.tar.gz \
-    git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=stx-patches;subpath=networking/lldpd \
-    "
-
-SRC_URI[md5sum] = "ed0226129b0c90b3a45c273fe1aba8de"
-SRC_URI[sha256sum] = "300e4a590f7bf21c79d5ff94c2d6a69d0b2c34dbc21e17281496462a04ca80bc"
-
-do_patch_append () {
-    bb.build.exec_func('stx_do_patch', d)
-}
-
-stx_do_patch () {
-       cd ${S}
-       patch -p1 < ${WORKDIR}/stx-patches/lldpd-0.9.0/lldpd-interface-show.patch
-       patch -p1 < ${WORKDIR}/stx-patches/centos/files/lldpd-create-run-dir.patch
-       patch -p1 < ${WORKDIR}/stx-patches/centos/files/lldpd-i40e-disable.patch
-       patch -p1 < ${WORKDIR}/stx-patches/centos/files/lldpd-clear-station.patch
-}
-
-SOURCE1 = "${WORKDIR}/stx-patches/lldpd-0.9.0/lldpd.init"
-SOURCE2 = "${WORKDIR}/stx-patches/lldpd-0.9.0/lldpd.default"
-SOURCE3 = "${WORKDIR}/stx-patches/centos/files/i40e-lldp-configure.sh"
-
-DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
-
-inherit autotools update-rc.d useradd systemd pkgconfig bash-completion
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system -g lldpd --shell /bin/false lldpd"
-GROUPADD_PARAM_${PN} = "--system lldpd"
-
-EXTRA_OECONF += "--without-embedded-libevent \
-                 --disable-oldies \
-                 --with-privsep-user=lldpd \
-                 --with-privsep-group=lldpd \
-                 --with-systemdsystemunitdir=${systemd_system_unitdir} \
-                 --without-sysusersdir \
-"
-
-PACKAGECONFIG ??= "cdp fdp edp sonmp lldpmed dot1 dot3"
-PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxm2"
-PACKAGECONFIG[snmp] = "--with-snmp,--without-snmp,net-snmp"
-PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
-PACKAGECONFIG[seccomp] = "--with-seccomp,--without-seccomp,libseccomp"
-PACKAGECONFIG[cdp] = "--enable-cdp,--disable-cdp"
-PACKAGECONFIG[fdp] = "--enable-fdp,--disable-fdp"
-PACKAGECONFIG[edp] = "--enable-edp,--disable-edp"
-PACKAGECONFIG[sonmp] = "--enable-sonmp,--disable-sonmp"
-PACKAGECONFIG[lldpmed] = "--enable-lldpmed,--disable-lldpmed"
-PACKAGECONFIG[dot1] = "--enable-dot1,--disable-dot1"
-PACKAGECONFIG[dot3] = "--enable-dot3,--disable-dot3"
-PACKAGECONFIG[custom] = "--enable-custom,--disable-custom"
-
-INITSCRIPT_NAME = "lldpd"
-INITSCRIPT_PARAMS = "defaults"
-
-SYSTEMD_SERVICE_${PN} = "lldpd.service"
-
-do_install_append() {
-    install -d -m 0755 ${D}/${sysconfdir}/init.d
-    install -Dm 0755 ${SOURCE1} ${D}${sysconfdir}/init.d/lldpd
-    install -Dm 0644 ${SOURCE2} ${D}${sysconfdir}/default/lldpd
-    install -Dm 0755 ${SOURCE3} ${D}${sysconfdir}/init.d/
-    # Make an empty configuration file
-    touch ${D}${sysconfdir}/lldpd.conf
-}
-
-PACKAGES =+ "${PN}-zsh-completion"
-
-FILES_${PN} += "${libdir}/sysusers.d"
-RDEPENDS_${PN} += "os-release bash"
-
-FILES_${PN}-zsh-completion += "${datadir}/zsh/"
-# FIXME: zsh is broken in meta-oe so this cannot be enabled for now
-#RDEPENDS_${PN}-zsh-completion += "zsh"
diff --git a/meta-stx/recipes-dbs/mysql/mysql-python_1.2.5.bb b/meta-stx/recipes-dbs/mysql/mysql-python_1.2.5.bb
deleted file mode 100644 (file)
index e3ea9c7..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Python interface to MySQL"
-HOMEPAGE = "https://github.com/farcepest/MySQLdb1"
-SECTION = "devel/python"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://GPL-2.0;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "mysql5"
-
-SRCNAME = "MySQL-python"
-
-SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.zip \
-           file://0001-_mysql.c-fix-compilation-with-MariaDB-with-10.3.13.patch \
-"
-SRC_URI[md5sum] = "654f75b302db6ed8dc5a898c625e030c"
-SRC_URI[sha256sum] = "811040b647e5d5686f84db415efd697e6250008b112b6909ba77ac059e140c74"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
diff --git a/meta-stx/recipes-devtools/dnf/dnf_4.1.0.bbappend b/meta-stx/recipes-devtools/dnf/dnf_4.1.0.bbappend
deleted file mode 100644 (file)
index 6992397..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
-
-SRC_URI += "\
-    file://0001-const-add-os-release-and-lsb-release-into-the-search.patch \
-    "
-
-DEPENDS += "\
-    python-native \
-    "
-
-EXTRA_OECMAKE_PY2 = " \
-    -DWITH_MAN=0 \
-    -DPYTHON_INSTALL_DIR=${libdir}/python2.7/site-packages \
-    -DPYTHON_DESIRED:FILEPATH=${STAGING_BINDIR_NATIVE}/python-native/python \
-    "
-
-RDEPENDS_${PN}_class-target += " \
-    python-codecs \
-    python-compression \
-    python-core \
-    python-curses \
-    python-distutils \
-    python-email \
-    python-fcntl \
-    python-iniparse \
-    python-json \
-    python-logging \
-    python-misc \
-    python-netclient \
-    python-pygpgme \
-    python-pyliblzma \
-    python-shell \
-    python-sqlite3 \
-    python-threading \
-    python2-rpm \
-    "
-
-do_configure_append() {
-       rm -rf ${B}/build-py2
-       mkdir -p ${B}/build-py2
-       cd ${B}/build-py2
-
-       cmake \
-         ${OECMAKE_GENERATOR_ARGS} \
-         $oecmake_sitefile \
-         ${OECMAKE_SOURCEPATH} \
-         -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
-         -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \
-         -DCMAKE_INSTALL_SO_NO_EXE=0 \
-         -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
-         -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \
-         ${EXTRA_OECMAKE_PY2} \
-         -Wno-dev
-}
-
-cmake_runcmake_build_py2() {
-       bbnote ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD}
-       eval ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD}
-}
-
-do_compile_append() {
-       cd ${B}/build-py2
-       cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_COMPILE}
-}
-
-do_install_append() {
-       cd ${B}/build-py2
-       DESTDIR='${D}' cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_INSTALL}
-
-       # add a symlink for yum
-       lnr ${D}/${bindir}/dnf-2 ${D}/${bindir}/yum
-}
-
diff --git a/meta-stx/recipes-devtools/erlang/erlang-native_R16B03-1.bbappend b/meta-stx/recipes-devtools/erlang/erlang-native_R16B03-1.bbappend
deleted file mode 100644 (file)
index b8b2ca5..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-# erlang < 20.0 is not compatibel with OpenSSL 1.1.x
-inherit openssl10
-DEPENDS_append = " openssl-native"
-
-SRC_URI += "file://erts-configure.in-avoid-RPATH-warning.patch"
-
-EXTRA_OECONF = '--with-ssl=${STAGING_DIR_NATIVE}/usr --without-krb5 --without-zlib'
diff --git a/meta-stx/recipes-devtools/erlang/erlang_R16B03-1.bbappend b/meta-stx/recipes-devtools/erlang/erlang_R16B03-1.bbappend
deleted file mode 100644 (file)
index b3d75da..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-# erlang < 20.0 is not compatibel with OpenSSL 1.1.x
-inherit openssl10
-
-SRC_URI += " \
-       file://fix-install-ownership.patch \
-       "
-
-EXTRA_OECONF = '--with-ssl=${STAGING_DIR_TARGET}/usr --without-krb5 --without-zlib'
-
-do_configure_prepend () {
-    export erl_xcomp_sysroot="${STAGING_DIR_HOST}/usr"
-    export erl_xcomp_isysroot="${STAGING_DIR_NATIVE}"
-
-    sed -i -e 's/opensslconf.h/opensslconf-64.h/' \
-        ${STAGING_INCDIR}/openssl10/openssl/rc4.h \
-        ${STAGING_INCDIR}/openssl10/openssl/rc2.h
-}
-
-do_install_append () {
-    # Fix the do_package_qa issue
-    chown -R root:root ${D}
-}
diff --git a/meta-stx/recipes-devtools/go/go-phercloud_git.bb b/meta-stx/recipes-devtools/go/go-phercloud_git.bb
deleted file mode 100644 (file)
index b7a64fb..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "an OpenStack SDK for Go"
-HOMEPAGE = "https://github.com/gophercloud/gophercloud"
-SECTION = "devel/go"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dd19699707373c2ca31531a659130416"
-
-SRCNAME = "gophercloud"
-
-PKG_NAME = "github.com/gophercloud/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git"
-
-SRCREV = "aa00757ee3ab58e53520b6cb910ca0543116400a"
-PV = "0.3.0+git${SRCREV}"
-RDEPENDS_${PN} = "bash"
-S = "${WORKDIR}/git"
-
-do_install() {
-       install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-       cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_phercloud_sysroot_preprocess"
-
-go_phercloud_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/meta-stx/recipes-devtools/grubby/grubby_%.bbappend b/meta-stx/recipes-devtools/grubby/grubby_%.bbappend
deleted file mode 100644 (file)
index 2ae3f7c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += " \
-       file://1000-Generic-name-for-Titanium.patch \
-       file://1001-Add-support-for-updating-grub-cfg-with-multiboot-2.patch \
-       file://1002-Install-into-libdir-instead-of-hard-coding.patch \
-       "
-
-FILES_${PN}_append = " ${libdir}"
diff --git a/meta-stx/recipes-devtools/json-c/files/json-c-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch b/meta-stx/recipes-devtools/json-c/files/json-c-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch
deleted file mode 100644 (file)
index c35f10c..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-From 54e03b8693ccac182fd5d05473e01ecb37c281c8 Mon Sep 17 00:00:00 2001
-From: marxin <mliska@suse.cz>
-Date: Mon, 6 Jul 2020 20:09:15 +0800
-Subject: [PATCH] Add FALLTHRU comment to handle GCC7 warnings.
-
-https://github.com/json-c/json-c/commit/014924ba899f659917bb64392bbff7d3c803afc2
-
----
- json_object.c  |  4 +++-
- json_tokener.c |  1 +
- linkhash.c     | 22 +++++++++++-----------
- 3 files changed, 15 insertions(+), 12 deletions(-)
-
-diff --git a/json_object.c b/json_object.c
-index f2b5ce0..5e867d0 100644
---- a/json_object.c
-+++ b/json_object.c
-@@ -545,7 +545,8 @@ int64_t json_object_get_int64(struct json_object *jso)
-   case json_type_boolean:
-     return jso->o.c_boolean;
-   case json_type_string:
--      if (json_parse_int64(jso->o.c_string.str, &cint) == 0) return cint;
-+    if (json_parse_int64(jso->o.c_string.str, &cint) == 0) return cint;
-+    /* FALLTHRU */
-   default:
-     return 0;
-   }
-@@ -606,6 +607,7 @@ double json_object_get_double(struct json_object *jso)
-     return jso->o.c_boolean;
-   case json_type_string:
-     if(sscanf(jso->o.c_string.str, "%lf", &cdouble) == 1) return cdouble;
-+    /* FALLTHRU */
-   default:
-     return 0.0;
-   }
-diff --git a/json_tokener.c b/json_tokener.c
-index 7b3f3ec..54aa4f7 100644
---- a/json_tokener.c
-+++ b/json_tokener.c
-@@ -341,6 +341,7 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
-       tok->err = json_tokener_error_parse_unexpected;
-       goto out;
-       }
-+      /* FALLTHRU */
-       break;
-     case json_tokener_state_finish:
-diff --git a/linkhash.c b/linkhash.c
-index 712c387..74e3b0f 100644
---- a/linkhash.c
-+++ b/linkhash.c
-@@ -376,17 +376,17 @@ static uint32_t hashlittle( const void *key, size_t length, uint32_t initval)
-     /*-------------------------------- last block: affect all 32 bits of (c) */
-     switch(length)                   /* all the case statements fall through */
-     {
--    case 12: c+=((uint32_t)k[11])<<24;
--    case 11: c+=((uint32_t)k[10])<<16;
--    case 10: c+=((uint32_t)k[9])<<8;
--    case 9 : c+=k[8];
--    case 8 : b+=((uint32_t)k[7])<<24;
--    case 7 : b+=((uint32_t)k[6])<<16;
--    case 6 : b+=((uint32_t)k[5])<<8;
--    case 5 : b+=k[4];
--    case 4 : a+=((uint32_t)k[3])<<24;
--    case 3 : a+=((uint32_t)k[2])<<16;
--    case 2 : a+=((uint32_t)k[1])<<8;
-+    case 12: c+=((uint32_t)k[11])<<24; /* FALLTHRU */
-+    case 11: c+=((uint32_t)k[10])<<16; /* FALLTHRU */
-+    case 10: c+=((uint32_t)k[9])<<8; /* FALLTHRU */
-+    case 9 : c+=k[8]; /* FALLTHRU */
-+    case 8 : b+=((uint32_t)k[7])<<24; /* FALLTHRU */
-+    case 7 : b+=((uint32_t)k[6])<<16; /* FALLTHRU */
-+    case 6 : b+=((uint32_t)k[5])<<8; /* FALLTHRU */
-+    case 5 : b+=k[4]; /* FALLTHRU */
-+    case 4 : a+=((uint32_t)k[3])<<24; /* FALLTHRU */
-+    case 3 : a+=((uint32_t)k[2])<<16; /* FALLTHRU */
-+    case 2 : a+=((uint32_t)k[1])<<8; /* FALLTHRU */
-     case 1 : a+=k[0];
-              break;
-     case 0 : return c;
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-devtools/json-c/files/json-c-CVE-2013-6371.patch b/meta-stx/recipes-devtools/json-c/files/json-c-CVE-2013-6371.patch
deleted file mode 100644 (file)
index b59ab25..0000000
+++ /dev/null
@@ -1,865 +0,0 @@
-https://github.com/json-c/json-c/commit/64e36901a0614bf64a19bc3396469c66dcd0b015
-
-* CVE-2013-6371: hash collision denial of service
-* CVE-2013-6370: buffer overflow if size_t is larger than int
-
-diff --git a/Makefile.am b/Makefile.am
-index 24b9bdf..26ced27 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -23,7 +23,8 @@ libjson_cinclude_HEADERS = \
-       json_tokener.h \
-       json_util.h \
-       linkhash.h \
--      printbuf.h
-+      printbuf.h \
-+      random_seed.h
- #libjsonx_includedir = $(libdir)/json-c-@VERSION@
- #
-@@ -41,7 +42,8 @@ libjson_c_la_SOURCES = \
-       json_tokener.c \
-       json_util.c \
-       linkhash.c \
--      printbuf.c
-+      printbuf.c \
-+      random_seed.c
- distclean-local:
-diff --git a/Makefile.am.inc b/Makefile.am.inc
-index fd68a25..fec591b 100644
---- a/Makefile.am.inc
-+++ b/Makefile.am.inc
-@@ -1,2 +1,2 @@
--AM_CFLAGS = -Wall -Werror -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT
-+AM_CFLAGS = -Wall -Werror -Wno-error=deprecated-declarations -Wextra -Wwrite-strings -Wno-unused-parameter -std=gnu99 -D_GNU_SOURCE -D_REENTRANT
-diff --git a/json_object.h b/json_object.h
-index 1005734..200ac40 100644
---- a/json_object.h
-+++ b/json_object.h
-@@ -13,6 +13,14 @@
- #ifndef _json_object_h_
- #define _json_object_h_
-+#ifdef __GNUC__
-+#define THIS_FUNCTION_IS_DEPRECATED(func) func __attribute__ ((deprecated))
-+#elif defined(_MSC_VER)
-+#define THIS_FUNCTION_IS_DEPRECATED(func) __declspec(deprecated) func
-+#else
-+#define THIS_FUNCTION_IS_DEPRECATED(func) func
-+#endif
-+
- #include "json_inttypes.h"
- #ifdef __cplusplus
-@@ -279,8 +287,8 @@ extern void json_object_object_add(struct json_object* obj, const char *key,
-  * @returns the json_object associated with the given field name
-  * @deprecated Please use json_object_object_get_ex
-  */
--extern struct json_object* json_object_object_get(struct json_object* obj,
--                                                const char *key);
-+THIS_FUNCTION_IS_DEPRECATED(extern struct json_object* json_object_object_get(struct json_object* obj,
-+                                                const char *key));
- /** Get the json_object associated with a given object field.  
-  *
-diff --git a/json_tokener.c b/json_tokener.c
-index a1019c0..19de8ef 100644
---- a/json_tokener.c
-+++ b/json_tokener.c
-@@ -81,6 +81,7 @@ static const char* json_tokener_errors[] = {
-   "object value separator ',' expected",
-   "invalid string sequence",
-   "expected comment",
-+  "buffer size overflow"
- };
- const char *json_tokener_error_desc(enum json_tokener_error jerr)
-@@ -243,6 +244,16 @@ struct json_object* json_tokener_parse_ex(struct json_tokener *tok,
-   tok->char_offset = 0;
-   tok->err = json_tokener_success;
-+  /* this interface is presently not 64-bit clean due to the int len argument
-+     and the internal printbuf interface that takes 32-bit int len arguments
-+     so the function limits the maximum string size to INT32_MAX (2GB).
-+     If the function is called with len == -1 then strlen is called to check
-+     the string length is less than INT32_MAX (2GB) */
-+  if ((len < -1) || (len == -1 && strlen(str) > INT32_MAX)) {
-+    tok->err = json_tokener_error_size;
-+    return NULL;
-+  }
-+
-   while (PEEK_CHAR(c, tok)) {
-   redo_char:
-diff --git a/json_tokener.h b/json_tokener.h
-index 5471d97..a72d2bd 100644
---- a/json_tokener.h
-+++ b/json_tokener.h
-@@ -33,7 +33,8 @@ enum json_tokener_error {
-   json_tokener_error_parse_object_key_sep,
-   json_tokener_error_parse_object_value_sep,
-   json_tokener_error_parse_string,
--  json_tokener_error_parse_comment
-+  json_tokener_error_parse_comment,
-+  json_tokener_error_size
- };
- enum json_tokener_state {
-@@ -163,6 +164,11 @@ extern void json_tokener_set_flags(struct json_tokener *tok, int flags);
-  * responsible for calling json_tokener_parse_ex with an appropriate str
-  * parameter starting with the extra characters.
-  *
-+ * This interface is presently not 64-bit clean due to the int len argument
-+ * so the function limits the maximum string size to INT32_MAX (2GB).
-+ * If the function is called with len == -1 then strlen is called to check
-+ * the string length is less than INT32_MAX (2GB)
-+ *
-  * Example:
-  * @code
- json_object *jobj = NULL;
-diff --git a/linkhash.c b/linkhash.c
-index 5043148..712c387 100644
---- a/linkhash.c
-+++ b/linkhash.c
-@@ -17,6 +17,11 @@
- #include <stddef.h>
- #include <limits.h>
-+#ifdef HAVE_ENDIAN_H
-+# include <endian.h>    /* attempt to define endianness */
-+#endif
-+
-+#include "random_seed.h"
- #include "linkhash.h"
- void lh_abort(const char *msg, ...)
-@@ -39,14 +44,378 @@ int lh_ptr_equal(const void *k1, const void *k2)
-       return (k1 == k2);
- }
-+/* 
-+ * hashlittle from lookup3.c, by Bob Jenkins, May 2006, Public Domain.
-+ * http://burtleburtle.net/bob/c/lookup3.c
-+ * minor modifications to make functions static so no symbols are exported
-+ * minor mofifications to compile with -Werror
-+ */
-+
-+/*
-+-------------------------------------------------------------------------------
-+lookup3.c, by Bob Jenkins, May 2006, Public Domain.
-+
-+These are functions for producing 32-bit hashes for hash table lookup.
-+hashword(), hashlittle(), hashlittle2(), hashbig(), mix(), and final() 
-+are externally useful functions.  Routines to test the hash are included 
-+if SELF_TEST is defined.  You can use this free for any purpose.  It's in
-+the public domain.  It has no warranty.
-+
-+You probably want to use hashlittle().  hashlittle() and hashbig()
-+hash byte arrays.  hashlittle() is is faster than hashbig() on
-+little-endian machines.  Intel and AMD are little-endian machines.
-+On second thought, you probably want hashlittle2(), which is identical to
-+hashlittle() except it returns two 32-bit hashes for the price of one.  
-+You could implement hashbig2() if you wanted but I haven't bothered here.
-+
-+If you want to find a hash of, say, exactly 7 integers, do
-+  a = i1;  b = i2;  c = i3;
-+  mix(a,b,c);
-+  a += i4; b += i5; c += i6;
-+  mix(a,b,c);
-+  a += i7;
-+  final(a,b,c);
-+then use c as the hash value.  If you have a variable length array of
-+4-byte integers to hash, use hashword().  If you have a byte array (like
-+a character string), use hashlittle().  If you have several byte arrays, or
-+a mix of things, see the comments above hashlittle().  
-+
-+Why is this so big?  I read 12 bytes at a time into 3 4-byte integers, 
-+then mix those integers.  This is fast (you can do a lot more thorough
-+mixing with 12*3 instructions on 3 integers than you can with 3 instructions
-+on 1 byte), but shoehorning those bytes into integers efficiently is messy.
-+-------------------------------------------------------------------------------
-+*/
-+
-+/*
-+ * My best guess at if you are big-endian or little-endian.  This may
-+ * need adjustment.
-+ */
-+#if (defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && \
-+     __BYTE_ORDER == __LITTLE_ENDIAN) || \
-+    (defined(i386) || defined(__i386__) || defined(__i486__) || \
-+     defined(__i586__) || defined(__i686__) || defined(vax) || defined(MIPSEL))
-+# define HASH_LITTLE_ENDIAN 1
-+# define HASH_BIG_ENDIAN 0
-+#elif (defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && \
-+       __BYTE_ORDER == __BIG_ENDIAN) || \
-+      (defined(sparc) || defined(POWERPC) || defined(mc68000) || defined(sel))
-+# define HASH_LITTLE_ENDIAN 0
-+# define HASH_BIG_ENDIAN 1
-+#else
-+# define HASH_LITTLE_ENDIAN 0
-+# define HASH_BIG_ENDIAN 0
-+#endif
-+
-+#define hashsize(n) ((uint32_t)1<<(n))
-+#define hashmask(n) (hashsize(n)-1)
-+#define rot(x,k) (((x)<<(k)) | ((x)>>(32-(k))))
-+
-+/*
-+-------------------------------------------------------------------------------
-+mix -- mix 3 32-bit values reversibly.
-+
-+This is reversible, so any information in (a,b,c) before mix() is
-+still in (a,b,c) after mix().
-+
-+If four pairs of (a,b,c) inputs are run through mix(), or through
-+mix() in reverse, there are at least 32 bits of the output that
-+are sometimes the same for one pair and different for another pair.
-+This was tested for:
-+* pairs that differed by one bit, by two bits, in any combination
-+  of top bits of (a,b,c), or in any combination of bottom bits of
-+  (a,b,c).
-+* "differ" is defined as +, -, ^, or ~^.  For + and -, I transformed
-+  the output delta to a Gray code (a^(a>>1)) so a string of 1's (as
-+  is commonly produced by subtraction) look like a single 1-bit
-+  difference.
-+* the base values were pseudorandom, all zero but one bit set, or 
-+  all zero plus a counter that starts at zero.
-+
-+Some k values for my "a-=c; a^=rot(c,k); c+=b;" arrangement that
-+satisfy this are
-+    4  6  8 16 19  4
-+    9 15  3 18 27 15
-+   14  9  3  7 17  3
-+Well, "9 15 3 18 27 15" didn't quite get 32 bits diffing
-+for "differ" defined as + with a one-bit base and a two-bit delta.  I
-+used http://burtleburtle.net/bob/hash/avalanche.html to choose 
-+the operations, constants, and arrangements of the variables.
-+
-+This does not achieve avalanche.  There are input bits of (a,b,c)
-+that fail to affect some output bits of (a,b,c), especially of a.  The
-+most thoroughly mixed value is c, but it doesn't really even achieve
-+avalanche in c.
-+
-+This allows some parallelism.  Read-after-writes are good at doubling
-+the number of bits affected, so the goal of mixing pulls in the opposite
-+direction as the goal of parallelism.  I did what I could.  Rotates
-+seem to cost as much as shifts on every machine I could lay my hands
-+on, and rotates are much kinder to the top and bottom bits, so I used
-+rotates.
-+-------------------------------------------------------------------------------
-+*/
-+#define mix(a,b,c) \
-+{ \
-+  a -= c;  a ^= rot(c, 4);  c += b; \
-+  b -= a;  b ^= rot(a, 6);  a += c; \
-+  c -= b;  c ^= rot(b, 8);  b += a; \
-+  a -= c;  a ^= rot(c,16);  c += b; \
-+  b -= a;  b ^= rot(a,19);  a += c; \
-+  c -= b;  c ^= rot(b, 4);  b += a; \
-+}
-+
-+/*
-+-------------------------------------------------------------------------------
-+final -- final mixing of 3 32-bit values (a,b,c) into c
-+
-+Pairs of (a,b,c) values differing in only a few bits will usually
-+produce values of c that look totally different.  This was tested for
-+* pairs that differed by one bit, by two bits, in any combination
-+  of top bits of (a,b,c), or in any combination of bottom bits of
-+  (a,b,c).
-+* "differ" is defined as +, -, ^, or ~^.  For + and -, I transformed
-+  the output delta to a Gray code (a^(a>>1)) so a string of 1's (as
-+  is commonly produced by subtraction) look like a single 1-bit
-+  difference.
-+* the base values were pseudorandom, all zero but one bit set, or 
-+  all zero plus a counter that starts at zero.
-+
-+These constants passed:
-+ 14 11 25 16 4 14 24
-+ 12 14 25 16 4 14 24
-+and these came close:
-+  4  8 15 26 3 22 24
-+ 10  8 15 26 3 22 24
-+ 11  8 15 26 3 22 24
-+-------------------------------------------------------------------------------
-+*/
-+#define final(a,b,c) \
-+{ \
-+  c ^= b; c -= rot(b,14); \
-+  a ^= c; a -= rot(c,11); \
-+  b ^= a; b -= rot(a,25); \
-+  c ^= b; c -= rot(b,16); \
-+  a ^= c; a -= rot(c,4);  \
-+  b ^= a; b -= rot(a,14); \
-+  c ^= b; c -= rot(b,24); \
-+}
-+
-+
-+/*
-+-------------------------------------------------------------------------------
-+hashlittle() -- hash a variable-length key into a 32-bit value
-+  k       : the key (the unaligned variable-length array of bytes)
-+  length  : the length of the key, counting by bytes
-+  initval : can be any 4-byte value
-+Returns a 32-bit value.  Every bit of the key affects every bit of
-+the return value.  Two keys differing by one or two bits will have
-+totally different hash values.
-+
-+The best hash table sizes are powers of 2.  There is no need to do
-+mod a prime (mod is sooo slow!).  If you need less than 32 bits,
-+use a bitmask.  For example, if you need only 10 bits, do
-+  h = (h & hashmask(10));
-+In which case, the hash table should have hashsize(10) elements.
-+
-+If you are hashing n strings (uint8_t **)k, do it like this:
-+  for (i=0, h=0; i<n; ++i) h = hashlittle( k[i], len[i], h);
-+
-+By Bob Jenkins, 2006.  bob_jenkins@burtleburtle.net.  You may use this
-+code any way you wish, private, educational, or commercial.  It's free.
-+
-+Use for hash table lookup, or anything where one collision in 2^^32 is
-+acceptable.  Do NOT use for cryptographic purposes.
-+-------------------------------------------------------------------------------
-+*/
-+
-+static uint32_t hashlittle( const void *key, size_t length, uint32_t initval)
-+{
-+  uint32_t a,b,c;                                          /* internal state */
-+  union { const void *ptr; size_t i; } u;     /* needed for Mac Powerbook G4 */
-+
-+  /* Set up the internal state */
-+  a = b = c = 0xdeadbeef + ((uint32_t)length) + initval;
-+
-+  u.ptr = key;
-+  if (HASH_LITTLE_ENDIAN && ((u.i & 0x3) == 0)) {
-+    const uint32_t *k = (const uint32_t *)key;         /* read 32-bit chunks */
-+
-+    /*------ all but last block: aligned reads and affect 32 bits of (a,b,c) */
-+    while (length > 12)
-+    {
-+      a += k[0];
-+      b += k[1];
-+      c += k[2];
-+      mix(a,b,c);
-+      length -= 12;
-+      k += 3;
-+    }
-+
-+    /*----------------------------- handle the last (probably partial) block */
-+    /* 
-+     * "k[2]&0xffffff" actually reads beyond the end of the string, but
-+     * then masks off the part it's not allowed to read.  Because the
-+     * string is aligned, the masked-off tail is in the same word as the
-+     * rest of the string.  Every machine with memory protection I've seen
-+     * does it on word boundaries, so is OK with this.  But VALGRIND will
-+     * still catch it and complain.  The masking trick does make the hash
-+     * noticably faster for short strings (like English words).
-+     */
-+#ifndef VALGRIND
-+
-+    switch(length)
-+    {
-+    case 12: c+=k[2]; b+=k[1]; a+=k[0]; break;
-+    case 11: c+=k[2]&0xffffff; b+=k[1]; a+=k[0]; break;
-+    case 10: c+=k[2]&0xffff; b+=k[1]; a+=k[0]; break;
-+    case 9 : c+=k[2]&0xff; b+=k[1]; a+=k[0]; break;
-+    case 8 : b+=k[1]; a+=k[0]; break;
-+    case 7 : b+=k[1]&0xffffff; a+=k[0]; break;
-+    case 6 : b+=k[1]&0xffff; a+=k[0]; break;
-+    case 5 : b+=k[1]&0xff; a+=k[0]; break;
-+    case 4 : a+=k[0]; break;
-+    case 3 : a+=k[0]&0xffffff; break;
-+    case 2 : a+=k[0]&0xffff; break;
-+    case 1 : a+=k[0]&0xff; break;
-+    case 0 : return c;              /* zero length strings require no mixing */
-+    }
-+
-+#else /* make valgrind happy */
-+
-+    const uint8_t  *k8 = (const uint8_t *)k;
-+    switch(length)
-+    {
-+    case 12: c+=k[2]; b+=k[1]; a+=k[0]; break;
-+    case 11: c+=((uint32_t)k8[10])<<16;  /* fall through */
-+    case 10: c+=((uint32_t)k8[9])<<8;    /* fall through */
-+    case 9 : c+=k8[8];                   /* fall through */
-+    case 8 : b+=k[1]; a+=k[0]; break;
-+    case 7 : b+=((uint32_t)k8[6])<<16;   /* fall through */
-+    case 6 : b+=((uint32_t)k8[5])<<8;    /* fall through */
-+    case 5 : b+=k8[4];                   /* fall through */
-+    case 4 : a+=k[0]; break;
-+    case 3 : a+=((uint32_t)k8[2])<<16;   /* fall through */
-+    case 2 : a+=((uint32_t)k8[1])<<8;    /* fall through */
-+    case 1 : a+=k8[0]; break;
-+    case 0 : return c;
-+    }
-+
-+#endif /* !valgrind */
-+
-+  } else if (HASH_LITTLE_ENDIAN && ((u.i & 0x1) == 0)) {
-+    const uint16_t *k = (const uint16_t *)key;         /* read 16-bit chunks */
-+    const uint8_t  *k8;
-+
-+    /*--------------- all but last block: aligned reads and different mixing */
-+    while (length > 12)
-+    {
-+      a += k[0] + (((uint32_t)k[1])<<16);
-+      b += k[2] + (((uint32_t)k[3])<<16);
-+      c += k[4] + (((uint32_t)k[5])<<16);
-+      mix(a,b,c);
-+      length -= 12;
-+      k += 6;
-+    }
-+
-+    /*----------------------------- handle the last (probably partial) block */
-+    k8 = (const uint8_t *)k;
-+    switch(length)
-+    {
-+    case 12: c+=k[4]+(((uint32_t)k[5])<<16);
-+             b+=k[2]+(((uint32_t)k[3])<<16);
-+             a+=k[0]+(((uint32_t)k[1])<<16);
-+             break;
-+    case 11: c+=((uint32_t)k8[10])<<16;     /* fall through */
-+    case 10: c+=k[4];
-+             b+=k[2]+(((uint32_t)k[3])<<16);
-+             a+=k[0]+(((uint32_t)k[1])<<16);
-+             break;
-+    case 9 : c+=k8[8];                      /* fall through */
-+    case 8 : b+=k[2]+(((uint32_t)k[3])<<16);
-+             a+=k[0]+(((uint32_t)k[1])<<16);
-+             break;
-+    case 7 : b+=((uint32_t)k8[6])<<16;      /* fall through */
-+    case 6 : b+=k[2];
-+             a+=k[0]+(((uint32_t)k[1])<<16);
-+             break;
-+    case 5 : b+=k8[4];                      /* fall through */
-+    case 4 : a+=k[0]+(((uint32_t)k[1])<<16);
-+             break;
-+    case 3 : a+=((uint32_t)k8[2])<<16;      /* fall through */
-+    case 2 : a+=k[0];
-+             break;
-+    case 1 : a+=k8[0];
-+             break;
-+    case 0 : return c;                     /* zero length requires no mixing */
-+    }
-+
-+  } else {                        /* need to read the key one byte at a time */
-+    const uint8_t *k = (const uint8_t *)key;
-+
-+    /*--------------- all but the last block: affect some 32 bits of (a,b,c) */
-+    while (length > 12)
-+    {
-+      a += k[0];
-+      a += ((uint32_t)k[1])<<8;
-+      a += ((uint32_t)k[2])<<16;
-+      a += ((uint32_t)k[3])<<24;
-+      b += k[4];
-+      b += ((uint32_t)k[5])<<8;
-+      b += ((uint32_t)k[6])<<16;
-+      b += ((uint32_t)k[7])<<24;
-+      c += k[8];
-+      c += ((uint32_t)k[9])<<8;
-+      c += ((uint32_t)k[10])<<16;
-+      c += ((uint32_t)k[11])<<24;
-+      mix(a,b,c);
-+      length -= 12;
-+      k += 12;
-+    }
-+
-+    /*-------------------------------- last block: affect all 32 bits of (c) */
-+    switch(length)                   /* all the case statements fall through */
-+    {
-+    case 12: c+=((uint32_t)k[11])<<24;
-+    case 11: c+=((uint32_t)k[10])<<16;
-+    case 10: c+=((uint32_t)k[9])<<8;
-+    case 9 : c+=k[8];
-+    case 8 : b+=((uint32_t)k[7])<<24;
-+    case 7 : b+=((uint32_t)k[6])<<16;
-+    case 6 : b+=((uint32_t)k[5])<<8;
-+    case 5 : b+=k[4];
-+    case 4 : a+=((uint32_t)k[3])<<24;
-+    case 3 : a+=((uint32_t)k[2])<<16;
-+    case 2 : a+=((uint32_t)k[1])<<8;
-+    case 1 : a+=k[0];
-+             break;
-+    case 0 : return c;
-+    }
-+  }
-+
-+  final(a,b,c);
-+  return c;
-+}
-+
- unsigned long lh_char_hash(const void *k)
- {
--      unsigned int h = 0;
--      const char* data = (const char*)k;
-- 
--      while( *data!=0 ) h = h*129 + (unsigned int)(*data++) + LH_PRIME;
-+      static volatile int random_seed = -1;
-+
-+      if (random_seed == -1) {
-+              int seed;
-+              /* we can't use -1 as it is the unitialized sentinel */
-+              while ((seed = json_c_get_random_seed()) == -1);
-+#if defined __GNUC__
-+              __sync_val_compare_and_swap(&random_seed, -1, seed);
-+#elif defined _MSC_VER
-+              InterlockedCompareExchange(&random_seed, seed, -1);
-+#else
-+#warning "racy random seed initializtion if used by multiple threads"
-+              random_seed = seed; /* potentially racy */
-+#endif
-+      }
--      return h;
-+      return hashlittle((const char*)k, strlen((const char*)k), random_seed); 
- }
- int lh_char_equal(const void *k1, const void *k2)
-diff --git a/linkhash.h b/linkhash.h
-index 378de0b..950d09f 100644
---- a/linkhash.h
-+++ b/linkhash.h
-@@ -246,7 +246,7 @@ extern struct lh_entry* lh_table_lookup_entry(struct lh_table *t, const void *k)
-  * @return a pointer to the found value or NULL if it does not exist.
-  * @deprecated Use lh_table_lookup_ex instead.
-  */
--extern const void* lh_table_lookup(struct lh_table *t, const void *k);
-+THIS_FUNCTION_IS_DEPRECATED(extern const void* lh_table_lookup(struct lh_table *t, const void *k));
- /**
-  * Lookup a record in the table
-diff --git a/random_seed.c b/random_seed.c
-new file mode 100644
-index 0000000..3b520d4
---- /dev/null
-+++ b/random_seed.c
-@@ -0,0 +1,237 @@
-+/*
-+ * random_seed.c
-+ *
-+ * Copyright (c) 2013 Metaparadigm Pte. Ltd.
-+ * Michael Clark <michael@metaparadigm.com>
-+ *
-+ * This library is free software; you can redistribute it and/or modify
-+ * it under the terms of the MIT license. See COPYING for details.
-+ *
-+ */
-+
-+#include <stdio.h>
-+#include "config.h"
-+
-+#define DEBUG_SEED(s)
-+
-+
-+#if defined ENABLE_RDRAND
-+
-+/* cpuid */
-+
-+#if defined __GNUC__ && (defined __i386__ || defined __x86_64__)
-+#define HAS_X86_CPUID 1
-+
-+static void do_cpuid(int regs[], int h)
-+{
-+    __asm__ __volatile__(
-+#if defined __x86_64__
-+                         "pushq %%rbx;\n"
-+#else
-+                         "pushl %%ebx;\n"
-+#endif
-+                         "cpuid;\n"
-+#if defined __x86_64__
-+                         "popq %%rbx;\n"
-+#else
-+                         "popl %%ebx;\n"
-+#endif
-+                         : "=a"(regs[0]), [ebx] "=r"(regs[1]), "=c"(regs[2]), "=d"(regs[3])
-+                         : "a"(h));
-+}
-+
-+#elif defined _MSC_VER
-+
-+#define HAS_X86_CPUID 1
-+#define do_cpuid __cpuid
-+
-+#endif
-+
-+/* has_rdrand */
-+
-+#if HAS_X86_CPUID
-+
-+static int has_rdrand()
-+{
-+    // CPUID.01H:ECX.RDRAND[bit 30] == 1
-+    int regs[4];
-+    do_cpuid(regs, 1);
-+    return (regs[2] & (1 << 30)) != 0;
-+}
-+
-+#endif
-+
-+/* get_rdrand_seed - GCC x86 and X64 */
-+
-+#if defined __GNUC__ && (defined __i386__ || defined __x86_64__)
-+
-+#define HAVE_RDRAND 1
-+
-+static int get_rdrand_seed()
-+{
-+    DEBUG_SEED("get_rdrand_seed");
-+    int _eax;
-+    // rdrand eax
-+    __asm__ __volatile__("1: .byte 0x0F\n"
-+                         "   .byte 0xC7\n"
-+                         "   .byte 0xF0\n"
-+                         "   jnc 1b;\n"
-+                         : "=a" (_eax));
-+    return _eax;
-+}
-+
-+#endif
-+
-+#if defined _MSC_VER
-+
-+#if _MSC_VER >= 1700
-+#define HAVE_RDRAND 1
-+
-+/* get_rdrand_seed - Visual Studio 2012 and above */
-+
-+static int get_rdrand_seed()
-+{
-+    DEBUG_SEED("get_rdrand_seed");
-+    int r;
-+    while (_rdrand32_step(&r) == 0);
-+    return r;
-+}
-+
-+#elif defined _M_IX86
-+#define HAVE_RDRAND 1
-+
-+/* get_rdrand_seed - Visual Studio 2010 and below - x86 only */
-+
-+static int get_rdrand_seed()
-+{
-+      DEBUG_SEED("get_rdrand_seed");
-+      int _eax;
-+retry:
-+      // rdrand eax
-+      __asm _emit 0x0F __asm _emit 0xC7 __asm _emit 0xF0
-+      __asm jnc retry
-+      __asm mov _eax, eax
-+      return _eax;
-+}
-+
-+#endif
-+#endif
-+
-+#endif /* defined ENABLE_RDRAND */
-+
-+
-+/* has_dev_urandom */
-+
-+#if defined (__APPLE__) || defined(__unix__) || defined(__linux__)
-+
-+#include <string.h>
-+#include <fcntl.h>
-+#include <unistd.h>
-+#include <errno.h>
-+#include <stdlib.h>
-+#include <sys/stat.h>
-+
-+#define HAVE_DEV_RANDOM 1
-+
-+static const char *dev_random_file = "/dev/urandom";
-+
-+static int has_dev_urandom()
-+{
-+    struct stat buf;
-+    if (stat(dev_random_file, &buf)) {
-+        return 0;
-+    }
-+    return ((buf.st_mode & S_IFCHR) != 0);
-+}
-+
-+
-+/* get_dev_random_seed */
-+
-+static int get_dev_random_seed()
-+{
-+    DEBUG_SEED("get_dev_random_seed");
-+    
-+    int fd = open(dev_random_file, O_RDONLY);
-+    if (fd < 0) {
-+        fprintf(stderr, "error opening %s: %s", dev_random_file, strerror(errno));
-+        exit(1);
-+    }
-+    
-+    int r;
-+    ssize_t nread = read(fd, &r, sizeof(r));
-+    if (nread != sizeof(r)) {
-+        fprintf(stderr, "error read %s: %s", dev_random_file, strerror(errno));
-+        exit(1);
-+    }
-+    else if (nread != sizeof(r)) {
-+        fprintf(stderr, "error short read %s", dev_random_file);
-+        exit(1);
-+    }
-+    close(fd);
-+    return r;
-+}
-+
-+#endif
-+
-+
-+/* get_cryptgenrandom_seed */
-+
-+#ifdef WIN32
-+
-+#define HAVE_CRYPTGENRANDOM 1
-+
-+#include <windows.h>
-+#pragma comment(lib, "advapi32.lib")
-+
-+static int get_cryptgenrandom_seed()
-+{
-+    DEBUG_SEED("get_cryptgenrandom_seed");
-+    
-+    HCRYPTPROV hProvider = 0;
-+    int r;
-+    
-+    if (!CryptAcquireContextW(&hProvider, 0, 0, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT | CRYPT_SILENT)) {
-+        fprintf(stderr, "error CryptAcquireContextW");
-+        exit(1);
-+    }
-+    
-+    if (!CryptGenRandom(hProvider, sizeof(r), (BYTE*)&r)) {
-+        fprintf(stderr, "error CryptGenRandom");
-+        exit(1);
-+    }
-+    
-+    CryptReleaseContext(hProvider, 0);
-+    
-+    return r;
-+}
-+
-+#endif
-+
-+
-+/* get_time_seed */
-+
-+#include <time.h>
-+
-+static int get_time_seed()
-+{
-+    DEBUG_SEED("get_time_seed");
-+    
-+    return (int)time(NULL) * 433494437;
-+}
-+
-+
-+/* json_c_get_random_seed */
-+
-+int json_c_get_random_seed()
-+{
-+#if HAVE_RDRAND
-+    if (has_rdrand()) return get_rdrand_seed();
-+#endif
-+#if HAVE_DEV_RANDOM
-+    if (has_dev_urandom()) return get_dev_random_seed();
-+#endif
-+#if HAVE_CRYPTGENRANDOM
-+    return get_cryptgenrandom_seed();
-+#endif
-+    return get_time_seed();
-+}
-diff --git a/random_seed.h b/random_seed.h
-new file mode 100644
-index 0000000..7362d67
---- /dev/null
-+++ b/random_seed.h
-@@ -0,0 +1,25 @@
-+/*
-+ * random_seed.h
-+ *
-+ * Copyright (c) 2013 Metaparadigm Pte. Ltd.
-+ * Michael Clark <michael@metaparadigm.com>
-+ *
-+ * This library is free software; you can redistribute it and/or modify
-+ * it under the terms of the MIT license. See COPYING for details.
-+ *
-+ */
-+
-+#ifndef seed_h
-+#define seed_h
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+extern int json_c_get_random_seed();
-+
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+#endif
--- 
-1.9.1
-
---- a/config.h.in      2013-04-03 04:04:18.000000000 +0200
-+++ b/config.h.in      2014-04-10 10:32:09.318409377 +0200
-@@ -3,12 +3,18 @@
- /* Define if .gnu.warning accepts long strings. */
- #undef HAS_GNU_WARNING_LONG
-+/* Enable RDRANR Hardware RNG Hash Seed */
-+#undef ENABLE_RDRAND
-+
- /* Define to 1 if you have the <dlfcn.h> header file. */
- #undef HAVE_DLFCN_H
- /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
- #undef HAVE_DOPRNT
-+/* Define to 1 if you have the <endian.h> header file. */
-+#undef HAVE_ENDIAN_H
-+
- /* Define to 1 if you have the <fcntl.h> header file. */
- #undef HAVE_FCNTL_H
---- a/configure.in     2014-04-10 10:32:56.443006786 +0200
-+++ b/configure.in     2014-04-10 10:34:26.480080755 +0200
-@@ -15,6 +15,20 @@
- )
- AM_CONDITIONAL(ENABLE_OLDNAME_COMPAT, [test "x${enable_oldname_compat}" != "xno"])
-+AC_ARG_ENABLE(rdrand,
-+ AS_HELP_STRING([--enable-rdrand],
-+   [Enable RDRAND Hardware RNG Hash Seed generation on supported x86/x64 platforms.]),
-+ [if test x$enableval = xyes; then
-+  enable_rdrand=yes
-+  AC_DEFINE(ENABLE_RDRAND, 1, [Enable RDRANR Hardware RNG Hash Seed])
-+ fi])
-+
-+if test "x$enable_rdrand" = "xyes"; then
-+  AC_MSG_RESULT([RDRAND Hardware RNG Hash Seed enabled on supported x86/x64 platforms])
-+else
-+  AC_MSG_RESULT([RDRAND Hardware RNG Hash Seed disabled. Use --enable-rdrand to enable])
-+fi
-+
- # Checks for programs.
- # Checks for libraries.
-@@ -23,7 +37,7 @@
- AC_CONFIG_HEADER(config.h)
- AC_CONFIG_HEADER(json_config.h)
- AC_HEADER_STDC
--AC_CHECK_HEADERS(fcntl.h limits.h strings.h syslog.h unistd.h [sys/cdefs.h] [sys/param.h] stdarg.h locale.h)
-+AC_CHECK_HEADERS(fcntl.h limits.h strings.h syslog.h unistd.h [sys/cdefs.h] [sys/param.h] stdarg.h locale.h endian.h)
- AC_CHECK_HEADER(inttypes.h,[AC_DEFINE([JSON_C_HAVE_INTTYPES_H],[1],[Public define for json_inttypes.h])])
- # Checks for typedefs, structures, and compiler characteristics.
diff --git a/meta-stx/recipes-devtools/json-c/json-c_0.11.bb b/meta-stx/recipes-devtools/json-c/json-c_0.11.bb
deleted file mode 100644 (file)
index 7f9485f..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "C bindings for apps which will manipulate JSON data"
-DESCRIPTION = "JSON-C implements a reference counting object model that allows you to easily construct JSON objects in C."
-HOMEPAGE = "https://github.com/json-c/json-c/wiki"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2"
-
-SRC_URI = "\
-    https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \
-    file://json-c-CVE-2013-6371.patch \
-    file://json-c-Add-FALLTHRU-comment-to-handle-GCC7-warnings.patch \
-"
-SRC_URI[md5sum] = "aa02367d2f7a830bf1e3376f77881e98"
-SRC_URI[sha256sum] = "28dfc65145dc0d4df1dfe7701ac173c4e5f9347176c8983edbfac9149494448c"
-
-RPROVIDES_${PN} = "libjson"
-
-PARALLEL_MAKE = ""
-
-inherit autotools
-
-do_configure_prepend() {
-    # Clean up autoconf cruft that should not be in the tarball
-    rm -f ${S}/config.status
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-stx/recipes-devtools/libcomps/libcomps_git.bbappend b/meta-stx/recipes-devtools/libcomps/libcomps_git.bbappend
deleted file mode 100644 (file)
index e68a78b..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DEPENDS += "\
-    python-native \
-    "
-
-EXTRA_OECMAKE_PY2 = " \
-    -DPYTHON_DESIRED=2 \
-    -DPYTHON_INSTALL_DIR=${libdir}/python2.7/site-packages \
-    -DPYTHON_EXECUTABLE=${STAGING_BINDIR_NATIVE}/python-native/python \
-    "
-
-do_configure_append() {
-       rm -rf ${B}/build-py2
-       mkdir -p ${B}/build-py2
-       cd ${B}/build-py2
-
-       cmake \
-         ${OECMAKE_GENERATOR_ARGS} \
-         $oecmake_sitefile \
-         ${OECMAKE_SOURCEPATH} \
-         -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
-         -DCMAKE_INSTALL_SO_NO_EXE=0 \
-         -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
-         -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \
-         ${EXTRA_OECMAKE_PY2} \
-         -Wno-dev
-}
-
-cmake_runcmake_build_py2() {
-       bbnote ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD}
-       eval ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD}
-}
-
-do_compile_append() {
-       cd ${B}/build-py2
-       cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_COMPILE}
-}
-
-do_install_append() {
-       cd ${B}/build-py2
-       DESTDIR='${D}' cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_INSTALL}
-}
-
diff --git a/meta-stx/recipes-devtools/libdnf/libdnf_0.26.0.bbappend b/meta-stx/recipes-devtools/libdnf/libdnf_0.26.0.bbappend
deleted file mode 100644 (file)
index 6b362b3..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DEPENDS += "\
-    python-native \
-    "
-
-EXTRA_OECMAKE_PY2 = " \
-    -DPYTHON_INSTALL_DIR=${libdir}/python2.7/site-packages \
-    -DPYTHON_DESIRED:FILEPATH=${STAGING_BINDIR_NATIVE}/python-native/python \
-    -DWITH_MAN=OFF \
-    ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DWITH_GIR=ON', '-DWITH_GIR=OFF', d)} \
-    -DWITH_TESTS=OFF \
-    "
-
-do_configure_append() {
-       rm -rf ${B}/build-py2
-       mkdir -p ${B}/build-py2
-       cd ${B}/build-py2
-
-       cmake \
-         ${OECMAKE_GENERATOR_ARGS} \
-         $oecmake_sitefile \
-         ${OECMAKE_SOURCEPATH} \
-         -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
-         -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \
-         -DCMAKE_INSTALL_SO_NO_EXE=0 \
-         -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
-         -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \
-         ${EXTRA_OECMAKE_PY2} \
-         -Wno-dev
-}
-
-cmake_runcmake_build_py2() {
-       bbnote ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD}
-       eval ${DESTDIR:+DESTDIR=${DESTDIR} }VERBOSE=1 cmake --build '${B}/build-py2' "$@" -- ${EXTRA_OECMAKE_BUILD}
-}
-
-do_compile_append() {
-       cd ${B}/build-py2
-       cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_COMPILE}
-}
-
-do_install_append() {
-       cd ${B}/build-py2
-       DESTDIR='${D}' cmake_runcmake_build_py2 --target ${OECMAKE_TARGET_INSTALL}
-}
-
diff --git a/meta-stx/recipes-devtools/perl/filter-perl_1.59.bb b/meta-stx/recipes-devtools/perl/filter-perl_1.59.bb
deleted file mode 100644 (file)
index 347c2d6..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "perlfilter - Source Filters"
-DESCRIPTION = "\
-  perlfilter - Source Filters \
-    Modules included: \
-    - Filter::Util::Call - Perl Source Filter Utility Module \
-    - Filter::Util::Exec - exec source filter \
-    - Filter::decrypt - template for a decrypt source filter \
-    - Filter::cpp - cpp source filter \
-    - Filter::exec - exec source filter \
-    - Filter::m4 - M4 source filter \
-    - Filter::sh - sh source filter \
-    - Filter::tee - tee source filter \
-"
-HOMEPAGE = "https://metacpan.org/release/Filter"
-
-SECTION = "libs"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
-
-CPAN_PACKAGE = "Filter"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/R/RU/RURBAN/${CPAN_PACKAGE}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "54e08a158bff1f35e0a93b3993dcf52f"
-SRC_URI[sha256sum] = "b4babfad4e0566a9a61199735f6e622a60d3274122752304f18f623412bf4e5a"
-
-S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
-
-inherit cpan
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-stx/recipes-devtools/perl/libhtml-tagset-perl_3.20.bb b/meta-stx/recipes-devtools/perl/libhtml-tagset-perl_3.20.bb
deleted file mode 100644 (file)
index 6ece5c6..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "HTML Tagset bits."
-HOMEPAGE = "http://search.cpan.org/dist/HTML-Tagset/"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=60;md5=16ddda2d845a5546f615e6b122d1dbad"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/P/PE/PETDANCE/HTML-Tagset-${PV}.tar.gz"
-
-S = "${WORKDIR}/HTML-Tagset-${PV}"
-
-inherit cpan
-
-BBCLASSEXTEND="native"
-
-
-SRC_URI[md5sum] = "d2bfa18fe1904df7f683e96611e87437"
-SRC_URI[sha256sum] = "adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2"
diff --git a/meta-stx/recipes-devtools/perl/libmailtools-perl_2.18.bb b/meta-stx/recipes-devtools/perl/libmailtools-perl_2.18.bb
deleted file mode 100644 (file)
index ec5a963..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "MailTools is a set of Perl modules related to mail applications"
-HOMEPAGE = "http://search.cpan.org/dist/MailTools/"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://lib/Mail/Mailer.pod;beginline=144;md5=93c9027e72612b3555f857c4fc17b953"
-DEPENDS = " \
-       libtest-pod-perl-native \
-       libtimedate-perl-native \
-       "       
-RDEPENDS_${PN} += " \
-       libtest-pod-perl \
-       libtimedate-perl \
-       perl-module-io-handle \
-       perl-module-net-smtp \
-       perl-module-test-more \
-       "
-BBCLASSEXTEND = "native"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MailTools-${PV}.tar.gz"
-SRC_URI[md5sum] = "972468ab5207b90398d77bed4ffc361d"
-SRC_URI[sha256sum] = "dfee9e770257371112f20d978e637759e81bc4f19e97b083585c71ecab37b527"
-
-S = "${WORKDIR}/MailTools-${PV}"
-
-inherit cpan
-
diff --git a/meta-stx/recipes-devtools/perl/libmailtools-perl_2.20.bb b/meta-stx/recipes-devtools/perl/libmailtools-perl_2.20.bb
deleted file mode 100644 (file)
index ac8e890..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "MailTools is a set of Perl modules related to mail applications"
-HOMEPAGE = "http://search.cpan.org/dist/MailTools/"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://lib/Mail/Mailer.pod;beginline=144;md5=641bd171b1aaabba1fc83ac0a98a2d30"
-DEPENDS = " \
-       libtest-pod-perl-native \
-       libtimedate-perl-native \
-       "       
-RDEPENDS_${PN} += " \
-       libtest-pod-perl \
-       libtimedate-perl \
-       perl-module-io-handle \
-       perl-module-net-smtp \
-       perl-module-test-more \
-       "
-BBCLASSEXTEND = "native"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MailTools-${PV}.tar.gz"
-SRC_URI[md5sum] = "53e9d35256c3fd7cef0e4a24b15e9512"
-SRC_URI[sha256sum] = "f55606f7a9cc342ee9d5f996e2b6a4c0047e2ee47cd88c3250ecf0d0c5fb3196"
-
-S = "${WORKDIR}/MailTools-${PV}"
-
-inherit cpan
diff --git a/meta-stx/recipes-devtools/perl/libsocket6-perl_0.23.bb b/meta-stx/recipes-devtools/perl/libsocket6-perl_0.23.bb
deleted file mode 100644 (file)
index 24459e0..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Perl extensions for IPv6"
-HOMEPAGE = "https://metacpan.org/release/Socket6"
-SECTION = "libs"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://README;beginline=31;md5=ad207d410de6d8ca6b4655469baa1ab4"
-
-BBCLASSEXTEND = "native"
-
-CFLAGS += "-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
-BUILD_CFLAGS += "-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/U/UM/UMEMOTO/Socket6-${PV}.tar.gz;name=socket6-perl-${PV}"
-SRC_URI[socket6-perl-0.23.md5sum] = "2c02adb13c449d48d232bb704ddbd492"
-SRC_URI[socket6-perl-0.23.sha256sum] = "eda753f0197e8c3c8d4ab20a634561ce84011fa51aa5ff40d4dbcb326ace0833"
-
-S = "${WORKDIR}/Socket6-${PV}"
-
-do_configure_prepend () {
-       mkdir -p m4
-       autoreconf -Wcross --verbose --install --force || oefatal "autoreconf execution failed."
-       sed -i 's:\./configure\(.[^-]\):./configure --build=${BUILD_SYS} --host=${HOST_SYS} --target=${TARGET_SYS} --prefix=${prefix} --exec_prefix=${exec_prefix} --bindir=${bindir} --sbindir=${sbindir} --libexecdir=${libexecdir} --datadir=${datadir} --sysconfdir=${sysconfdir} --sharedstatedir=${sharedstatedir} --localstatedir=${localstatedir} --libdir=${libdir} --includedir=${includedir} --oldincludedir=${oldincludedir} --infodir=${infodir} --mandir=${mandir}\1:' Makefile.PL
-}
-
-inherit cpan
diff --git a/meta-stx/recipes-devtools/perl/libsocket6-perl_0.28.bb b/meta-stx/recipes-devtools/perl/libsocket6-perl_0.28.bb
deleted file mode 100644 (file)
index 6c55f02..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Perl extensions for IPv6"
-HOMEPAGE = "https://metacpan.org/release/Socket6"
-SECTION = "libs"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://README;beginline=31;md5=aa15b0e3744ac40eaada8738eccd24df"
-
-BBCLASSEXTEND = "native"
-
-CFLAGS += "-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
-BUILD_CFLAGS += "-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/U/UM/UMEMOTO/Socket6-${PV}.tar.gz;name=socket6-perl-${PV} \
-           file://0001-socket6-perl-fix-configure-error.patch \
-"
-SRC_URI[socket6-perl-0.28.md5sum] = "aa8489135a3dbcec6233396e1aeb043b"
-SRC_URI[socket6-perl-0.28.sha256sum] = "bfd49ab99f3197c99285fed4683c4edc06277c1e4453f593e694d7bff0974586"
-
-S = "${WORKDIR}/Socket6-${PV}"
-
-do_configure_prepend () {
-       mkdir -p m4
-       autoreconf -Wcross --verbose --install --force || oefatal "autoreconf execution failed."
-       sed -i 's:\./configure\(.[^-]\):./configure --build=${BUILD_SYS} --host=${HOST_SYS} --target=${TARGET_SYS} --prefix=${prefix} --exec_prefix=${exec_prefix} --bindir=${bindir} --sbindir=${sbindir} --libexecdir=${libexecdir} --datadir=${datadir} --sysconfdir=${sysconfdir} --sharedstatedir=${sharedstatedir} --localstatedir=${localstatedir} --libdir=${libdir} --includedir=${includedir} --oldincludedir=${oldincludedir} --infodir=${infodir} --mandir=${mandir}\1:' Makefile.PL
-}
-
-inherit cpan
diff --git a/meta-stx/recipes-devtools/perl/libtest-pod-perl_1.51.bb b/meta-stx/recipes-devtools/perl/libtest-pod-perl_1.51.bb
deleted file mode 100644 (file)
index 6e801c6..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Test::Pod - check for POD errors in files"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=26;md5=ea81140c3f3b2937c6490fc732471cd0"
-HOMEPAGE = "https://github.com/perl-pod/test-pod/"
-BBCLASSEXTEND = "native"
-RDEPENDS_${PN} += " perl-module-test-more \
-                    perl-module-file-spec \
-                    perl-module-pod-simple \
-                    perl-module-test-builder-tester \
-                    "
-
-SRC_URI ="http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Test-Pod-${PV}.tar.gz;name=test-pod-perl-${PV}"
-SRC_URI[test-pod-perl-1.51.md5sum] = "f806aa84de2f0c0fba48b3a5a8a4aecf"
-SRC_URI[test-pod-perl-1.51.sha256sum] = "c1a1d3cedf4a579e3aad89c36f9878a8542b6656dbe71f1581420f49582d7efb"
-S = "${WORKDIR}/Test-Pod-${PV}"
-
-inherit cpan
-
diff --git a/meta-stx/recipes-devtools/perl/libtest-pod-perl_1.52.bb b/meta-stx/recipes-devtools/perl/libtest-pod-perl_1.52.bb
deleted file mode 100644 (file)
index b6dcdb0..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Test::Pod - check for POD errors in files"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=26;md5=ea81140c3f3b2937c6490fc732471cd0"
-HOMEPAGE = "https://github.com/perl-pod/test-pod/"
-BBCLASSEXTEND = "native"
-RDEPENDS_${PN} += " perl-module-test-more \
-                    perl-module-file-spec \
-                    perl-module-pod-simple \
-                    perl-module-test-builder-tester \
-                    "
-
-SRC_URI ="http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Test-Pod-${PV}.tar.gz;name=test-pod-perl-${PV}"
-SRC_URI[test-pod-perl-1.52.md5sum] = "472dda77746d48e6465bf62e47aeca81"
-SRC_URI[test-pod-perl-1.52.sha256sum] = "60a8dbcc60168bf1daa5cc2350236df9343e9878f4ab9830970a5dde6fe8e5fc"
-S = "${WORKDIR}/Test-Pod-${PV}"
-
-inherit cpan
diff --git a/meta-stx/recipes-devtools/perl/libwww-perl_6.05.bb b/meta-stx/recipes-devtools/perl/libwww-perl_6.05.bb
deleted file mode 100644 (file)
index a69b37b..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "libwww-perl provides a simple and consistent API to the World Wide Web"
-HOMEPAGE = "http://search.cpan.org/dist/libwww-perl/"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://README;beginline=92;endline=98;md5=3da13bc02f8f17ed35ac5d192cae6fe4"
-DEPENDS = "liburi-perl-native libhtml-parser-perl-native libhtml-tagset-perl-native"
-RDEPENDS_${PN} += " \
-       libhtml-parser-perl \
-       libhtml-tagset-perl \
-       liburi-perl \
-       perl-module-digest-md5 \
-       perl-module-net-ftp \
-       "
-BBCLASSEXTEND = "native"
-
-
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-${PV}.tar.gz;name=libwww-perl-${PV}"
-SRC_URI[libwww-perl-6.05.md5sum] = "637d5f1eb61336ca2caa6e026b382f87"
-SRC_URI[libwww-perl-6.05.sha256sum] = "7b25799ff7eec18e8e4e97dc0cad7b2a5b433b50b13feb59d9179173bee78f23"
-
-S = "${WORKDIR}/libwww-perl-${PV}"
-
-inherit cpan
-
diff --git a/meta-stx/recipes-devtools/perl/libwww-perl_6.35.bb b/meta-stx/recipes-devtools/perl/libwww-perl_6.35.bb
deleted file mode 100644 (file)
index cf8df59..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "libwww-perl provides a simple and consistent API to the World Wide Web"
-HOMEPAGE = "https://metacpan.org/release/libwww-perl"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=225d44a95fa3addb1da6d91187ab189f"
-DEPENDS = "liburi-perl-native libhtml-parser-perl-native libhtml-tagset-perl-native"
-RDEPENDS_${PN} += " \
-       libhtml-parser-perl \
-       libhtml-tagset-perl \
-       liburi-perl \
-       perl-module-digest-md5 \
-       perl-module-net-ftp \
-       "
-BBCLASSEXTEND = "native"
-
-
-SRC_URI = "https://cpan.metacpan.org/authors/id/E/ET/ETHER/libwww-perl-${PV}.tar.gz;name=libwww-perl-${PV}"
-SRC_URI[libwww-perl-6.35.md5sum] = "19cd0f55f61359c973caa9301ec405bd"
-SRC_URI[libwww-perl-6.35.sha256sum] = "dda2578d7b32152c4afce834761a61d117de286c705a9f7972c7ac6032ca5953"
-
-S = "${WORKDIR}/libwww-perl-${PV}"
-
-inherit cpan
diff --git a/meta-stx/recipes-devtools/perl/pathtools-perl_3.75.bb b/meta-stx/recipes-devtools/perl/pathtools-perl_3.75.bb
deleted file mode 100644 (file)
index 74d95ec..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Tools for working with directory and file names"
-DESCRIPTION = "\
-  Modules included: \
-    - Cwd - get pathname of current working directory \
-    - File::Spec - portably perform operations on file names \
-    - File::Spec::AmigaOS - File::Spec for AmigaOS \
-    - File::Spec::Cygwin - methods for Cygwin file specs \
-    - File::Spec::Epoc - methods for Epoc file specs \
-    - File::Spec::Functions - portably perform operations on file names \
-    - File::Spec::Mac - File::Spec for Mac OS (Classic) \
-    - File::Spec::OS2 - methods for OS/2 file specs \
-    - File::Spec::Unix - File::Spec for Unix, base for other File::Spec modules \
-    - File::Spec::VMS - methods for VMS file specs \
-    - File::Spec::Win32 - methods for Win32 file specs \
-"
-HOMEPAGE = "https://metacpan.org/release/PathTools"
-
-SECTION = "libs"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
-
-CPAN_PACKAGE = "PathTools" 
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/X/XS/XSAWYERX/${CPAN_PACKAGE}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "8f329058f74468a576442d841c62aa62"
-SRC_URI[sha256sum] = "a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2"
-
-S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " \
-    perl-module-carp \
-    perl-module-file-basename \
-    perl-module-scalar-util \
-    perl-module-test-more \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-stx/recipes-devtools/perl/podlators-perl_4.12.bb b/meta-stx/recipes-devtools/perl/podlators-perl_4.12.bb
deleted file mode 100644 (file)
index 2ab71af..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "format POD source into various output formats"
-DESCRIPTION = "\
-  podlators contains Pod::Man and Pod::Text modules which convert POD input \
-  to *roff source output, suitable for man pages, or plain text. It also \
-  includes several subclasses of Pod::Text for formatted output to terminals \
-  with various capabilities. It is the source package for the Pod::Man and \
-  Pod::Text modules included with Perl. \
-"
-HOMEPAGE = "https://www.eyrie.org/~eagle/software/podlators"
-
-SECTION = "libs"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a25b3c873fe34dc2909a5b1ca2de4048"
-
-CPAN_PACKAGE = "podlators"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/R/RR/RRA/${CPAN_PACKAGE}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "99d5b0c15d2f72c5218dce1a5a9448c5"
-SRC_URI[sha256sum] = "948717da19630a5f003da4406da90fe1cbdec9ae493671c90dfb6d8b3d63b7eb"
-
-S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
-
-inherit cpan
-
-RDEPENDS_${PN} = " \
-    perl-module-encode \
-    perl-module-pod-simple \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-stx/recipes-devtools/perl/scalar-list-utils-perl_1.50.bb b/meta-stx/recipes-devtools/perl/scalar-list-utils-perl_1.50.bb
deleted file mode 100644 (file)
index ec11961..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "A selection of general-utility list subroutines"
-DESCRIPTION = "\
-  List::Util contains a selection of subroutines that people have expressed \
-  would be nice to have in the perl core, but the usage would not really be \
-  high enough to warrant the use of a keyword, and the size so small such \
-  that being individual extensions would be wasteful.\
-"
-HOMEPAGE= "https://metacpan.org/release/Scalar-List-Utils"
-
-SECTION = "libs"
-
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-
-LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=11;md5=963ce28228347875ace682de56eef8e8"
-
-CPAN_PACKAGE = "Scalar-List-Utils"
-
-SRC_URI = "${CPAN_MIRROR}/authors/id/P/PE/PEVANS/${CPAN_PACKAGE}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "136313884d1afa2fb6840695a1034b2c"
-SRC_URI[sha256sum] = "06aab9c693380190e53be09be7daed20c5d6278f71956989c24cca7782013675"
-
-S = "${WORKDIR}/${CPAN_PACKAGE}-${PV}"
-
-inherit cpan
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-stx/recipes-devtools/python/files/python-django-horizon/openstack-dashboard-httpd-2.4.conf b/meta-stx/recipes-devtools/python/files/python-django-horizon/openstack-dashboard-httpd-2.4.conf
deleted file mode 100644 (file)
index daf600c..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-WSGIDaemonProcess dashboard
-WSGIProcessGroup dashboard
-WSGISocketPrefix run/wsgi
-
-WSGIScriptAlias /dashboard /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
-Alias /dashboard/static /usr/share/openstack-dashboard/static
-
-<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
-  Options All
-  AllowOverride All
-  Require all granted
-</Directory>
-
-<Directory /usr/share/openstack-dashboard/static>
-  Options All
-  AllowOverride All
-  Require all granted
-</Directory>
-
diff --git a/meta-stx/recipes-devtools/python/files/python-django-horizon/openstack-dashboard-httpd-logging.conf b/meta-stx/recipes-devtools/python/files/python-django-horizon/openstack-dashboard-httpd-logging.conf
deleted file mode 100644 (file)
index 639779e..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-# if you want logging to a separate file, please update your config 
-# according to the last 4 lines in this snippet, and also take care
-# to introduce a <VirtualHost > directive.
-#
-
-WSGISocketPrefix run/wsgi
-
-<VirtualHost *:80>
-    WSGIScriptAlias /dashboard /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
-    Alias /static /usr/share/openstack-dashboard/static
-
-    WSGIDaemonProcess dashboard
-    WSGIProcessGroup dashboard
-
-    #DocumentRoot %HORIZON_DIR%/.blackhole/
-
-    <Directory />
-        Options FollowSymLinks
-        AllowOverride None
-    </Directory>
-
-    <Directory /usr/share/openstack-dashboard/>
-        Options Indexes FollowSymLinks MultiViews
-        AllowOverride None
-        Order allow,deny
-        allow from all
-    </Directory>
-
-    ErrorLog logs/openstack_dashboard_error.log
-    LogLevel warn
-    CustomLog logs/openstack_dashboard_access.log combined
-</VirtualHost>
diff --git a/meta-stx/recipes-devtools/python/files/python-django-horizon/python-django-horizon-logrotate.conf b/meta-stx/recipes-devtools/python/files/python-django-horizon/python-django-horizon-logrotate.conf
deleted file mode 100644 (file)
index a792a15..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-/var/log/horizon/*.log {
-    weekly
-    rotate 4
-    missingok
-    compress
-    minsize 100k
-}
-
diff --git a/meta-stx/recipes-devtools/python/files/python-django-horizon/python-django-horizon-systemd.conf b/meta-stx/recipes-devtools/python/files/python-django-horizon/python-django-horizon-systemd.conf
deleted file mode 100644 (file)
index 078d5d2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-[Service]
-ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py collectstatic --noinput --clear
-ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py compress --force
diff --git a/meta-stx/recipes-devtools/python/files/python-keystone/keystone.conf b/meta-stx/recipes-devtools/python/files/python-keystone/keystone.conf
deleted file mode 100644 (file)
index 9ae33f0..0000000
+++ /dev/null
@@ -1,3142 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-[DEFAULT]
-
-#
-# From keystone
-#
-
-# Using this feature is *NOT* recommended. Instead, use the `keystone-manage
-# bootstrap` command. The value of this option is treated as a "shared secret"
-# that can be used to bootstrap Keystone through the API. This "token" does not
-# represent a user (it has no identity), and carries no explicit authorization
-# (it effectively bypasses most authorization checks). If set to `None`, the
-# value is ignored and the `admin_token` middleware is effectively disabled.
-# (string value)
-#admin_token = <None>
-
-# The base public endpoint URL for Keystone that is advertised to clients
-# (NOTE: this does NOT affect how Keystone listens for connections). Defaults
-# to the base host URL of the request. For example, if keystone receives a
-# request to `http://server:5000/v3/users`, then this will option will be
-# automatically treated as `http://server:5000`. You should only need to set
-# option if either the value of the base URL contains a path that keystone does
-# not automatically infer (`/prefix/v3`), or if the endpoint should be found on
-# a different host. (uri value)
-#public_endpoint = <None>
-
-# DEPRECATED: The base admin endpoint URL for Keystone that is advertised to
-# clients (NOTE: this does NOT affect how Keystone listens for connections).
-# Defaults to the base host URL of the request. For example, if keystone
-# receives a request to `http://server:35357/v3/users`, then this will option
-# will be automatically treated as `http://server:35357`. You should only need
-# to set option if either the value of the base URL contains a path that
-# keystone does not automatically infer (`/prefix/v3`), or if the endpoint
-# should be found on a different host. (uri value)
-# This option is deprecated for removal since R.
-# Its value may be silently ignored in the future.
-# Reason: With the removal of the 2.0 API keystone does not distinguish between
-# admin and public endpoints.
-#admin_endpoint = <None>
-
-# Maximum depth of the project hierarchy, excluding the project acting as a
-# domain at the top of the hierarchy. WARNING: Setting it to a large value may
-# adversely impact performance. (integer value)
-#max_project_tree_depth = 5
-
-# Limit the sizes of user & project ID/names. (integer value)
-#max_param_size = 64
-
-# Similar to `[DEFAULT] max_param_size`, but provides an exception for token
-# values. With Fernet tokens, this can be set as low as 255. With UUID tokens,
-# this should be set to 32). (integer value)
-#max_token_size = 255
-
-# The maximum number of entities that will be returned in a collection. This
-# global limit may be then overridden for a specific driver, by specifying a
-# list_limit in the appropriate section (for example, `[assignment]`). No limit
-# is set by default. In larger deployments, it is recommended that you set this
-# to a reasonable number to prevent operations like listing all users and
-# projects from placing an unnecessary load on the system. (integer value)
-#list_limit = <None>
-
-# If set to true, strict password length checking is performed for password
-# manipulation. If a password exceeds the maximum length, the operation will
-# fail with an HTTP 403 Forbidden error. If set to false, passwords are
-# automatically truncated to the maximum length. (boolean value)
-#strict_password_check = false
-
-# If set to true, then the server will return information in HTTP responses
-# that may allow an unauthenticated or authenticated user to get more
-# information than normal, such as additional details about why authentication
-# failed. This may be useful for debugging but is insecure. (boolean value)
-#insecure_debug = false
-
-# Default `publisher_id` for outgoing notifications. If left undefined,
-# Keystone will default to using the server's host name. (string value)
-#default_publisher_id = <None>
-
-# Define the notification format for identity service events. A `basic`
-# notification only has information about the resource being operated on. A
-# `cadf` notification has the same information, as well as information about
-# the initiator of the event. The `cadf` option is entirely backwards
-# compatible with the `basic` option, but is fully CADF-compliant, and is
-# recommended for auditing use cases. (string value)
-# Possible values:
-# basic - <No description provided>
-# cadf - <No description provided>
-#notification_format = cadf
-
-# You can reduce the number of notifications keystone emits by explicitly
-# opting out. Keystone will not emit notifications that match the patterns
-# expressed in this list. Values are expected to be in the form of
-# `identity.<resource_type>.<operation>`. By default, all notifications related
-# to authentication are automatically suppressed. This field can be set
-# multiple times in order to opt-out of multiple notification topics. For
-# example, the following suppresses notifications describing user creation or
-# successful authentication events: notification_opt_out=identity.user.create
-# notification_opt_out=identity.authenticate.success (multi valued)
-#notification_opt_out = identity.authenticate.success
-#notification_opt_out = identity.authenticate.pending
-#notification_opt_out = identity.authenticate.failed
-
-#
-# From oslo.log
-#
-
-# If set to true, the logging level will be set to DEBUG instead of the default
-# INFO level. (boolean value)
-# Note: This option can be changed without restarting.
-#debug = false
-
-# The name of a logging configuration file. This file is appended to any
-# existing logging configuration files. For details about logging configuration
-# files, see the Python logging module documentation. Note that when logging
-# configuration files are used then all logging configuration is set in the
-# configuration file and other logging configuration options are ignored (for
-# example, logging_context_format_string). (string value)
-# Note: This option can be changed without restarting.
-# Deprecated group/name - [DEFAULT]/log_config
-#log_config_append = <None>
-
-# Defines the format string for %%(asctime)s in log records. Default:
-# %(default)s . This option is ignored if log_config_append is set. (string
-# value)
-#log_date_format = %Y-%m-%d %H:%M:%S
-
-# (Optional) Name of log file to send logging output to. If no default is set,
-# logging will go to stderr as defined by use_stderr. This option is ignored if
-# log_config_append is set. (string value)
-# Deprecated group/name - [DEFAULT]/logfile
-#log_file = <None>
-
-# (Optional) The base directory used for relative log_file  paths. This option
-# is ignored if log_config_append is set. (string value)
-# Deprecated group/name - [DEFAULT]/logdir
-#log_dir = <None>
-
-# Uses logging handler designed to watch file system. When log file is moved or
-# removed this handler will open a new log file with specified path
-# instantaneously. It makes sense only if log_file option is specified and
-# Linux platform is used. This option is ignored if log_config_append is set.
-# (boolean value)
-#watch_log_file = false
-
-# Use syslog for logging. Existing syslog format is DEPRECATED and will be
-# changed later to honor RFC5424. This option is ignored if log_config_append
-# is set. (boolean value)
-#use_syslog = false
-
-# Enable journald for logging. If running in a systemd environment you may wish
-# to enable journal support. Doing so will use the journal native protocol
-# which includes structured metadata in addition to log messages.This option is
-# ignored if log_config_append is set. (boolean value)
-#use_journal = false
-
-# Syslog facility to receive log lines. This option is ignored if
-# log_config_append is set. (string value)
-#syslog_log_facility = LOG_USER
-
-# Use JSON formatting for logging. This option is ignored if log_config_append
-# is set. (boolean value)
-#use_json = false
-
-# Log output to standard error. This option is ignored if log_config_append is
-# set. (boolean value)
-#use_stderr = false
-
-# Format string to use for log messages with context. (string value)
-#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
-
-# Format string to use for log messages when context is undefined. (string
-# value)
-#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
-
-# Additional data to append to log message when logging level for the message
-# is DEBUG. (string value)
-#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
-
-# Prefix each line of exception output with this format. (string value)
-#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
-
-# Defines the format string for %(user_identity)s that is used in
-# logging_context_format_string. (string value)
-#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
-
-# List of package logging levels in logger=LEVEL pairs. This option is ignored
-# if log_config_append is set. (list value)
-#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO
-
-# Enables or disables publication of error events. (boolean value)
-#publish_errors = false
-
-# The format for an instance that is passed with the log message. (string
-# value)
-#instance_format = "[instance: %(uuid)s] "
-
-# The format for an instance UUID that is passed with the log message. (string
-# value)
-#instance_uuid_format = "[instance: %(uuid)s] "
-
-# Interval, number of seconds, of log rate limiting. (integer value)
-#rate_limit_interval = 0
-
-# Maximum number of logged messages per rate_limit_interval. (integer value)
-#rate_limit_burst = 0
-
-# Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG
-# or empty string. Logs with level greater or equal to rate_limit_except_level
-# are not filtered. An empty string means that all levels are filtered. (string
-# value)
-#rate_limit_except_level = CRITICAL
-
-# Enables or disables fatal status of deprecations. (boolean value)
-#fatal_deprecations = false
-
-#
-# From oslo.messaging
-#
-
-# Size of RPC connection pool. (integer value)
-#rpc_conn_pool_size = 30
-
-# The pool size limit for connections expiration policy (integer value)
-#conn_pool_min_size = 2
-
-# The time-to-live in sec of idle connections in the pool (integer value)
-#conn_pool_ttl = 1200
-
-# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
-# The "host" option should point or resolve to this address. (string value)
-#rpc_zmq_bind_address = *
-
-# MatchMaker driver. (string value)
-# Possible values:
-# redis - <No description provided>
-# sentinel - <No description provided>
-# dummy - <No description provided>
-#rpc_zmq_matchmaker = redis
-
-# Number of ZeroMQ contexts, defaults to 1. (integer value)
-#rpc_zmq_contexts = 1
-
-# Maximum number of ingress messages to locally buffer per topic. Default is
-# unlimited. (integer value)
-#rpc_zmq_topic_backlog = <None>
-
-# Directory for holding IPC sockets. (string value)
-#rpc_zmq_ipc_dir = /var/run/openstack
-
-# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match
-# "host" option, if running Nova. (string value)
-#rpc_zmq_host = localhost
-
-# Number of seconds to wait before all pending messages will be sent after
-# closing a socket. The default value of -1 specifies an infinite linger
-# period. The value of 0 specifies no linger period. Pending messages shall be
-# discarded immediately when the socket is closed. Positive values specify an
-# upper bound for the linger period. (integer value)
-# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
-#zmq_linger = -1
-
-# The default number of seconds that poll should wait. Poll raises timeout
-# exception when timeout expired. (integer value)
-#rpc_poll_timeout = 1
-
-# Expiration timeout in seconds of a name service record about existing target
-# ( < 0 means no timeout). (integer value)
-#zmq_target_expire = 300
-
-# Update period in seconds of a name service record about existing target.
-# (integer value)
-#zmq_target_update = 180
-
-# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean
-# value)
-#use_pub_sub = false
-
-# Use ROUTER remote proxy. (boolean value)
-#use_router_proxy = false
-
-# This option makes direct connections dynamic or static. It makes sense only
-# with use_router_proxy=False which means to use direct connections for direct
-# message types (ignored otherwise). (boolean value)
-#use_dynamic_connections = false
-
-# How many additional connections to a host will be made for failover reasons.
-# This option is actual only in dynamic connections mode. (integer value)
-#zmq_failover_connections = 2
-
-# Minimal port number for random ports range. (port value)
-# Minimum value: 0
-# Maximum value: 65535
-#rpc_zmq_min_port = 49153
-
-# Maximal port number for random ports range. (integer value)
-# Minimum value: 1
-# Maximum value: 65536
-#rpc_zmq_max_port = 65536
-
-# Number of retries to find free port number before fail with ZMQBindError.
-# (integer value)
-#rpc_zmq_bind_port_retries = 100
-
-# Default serialization mechanism for serializing/deserializing
-# outgoing/incoming messages (string value)
-# Possible values:
-# json - <No description provided>
-# msgpack - <No description provided>
-#rpc_zmq_serialization = json
-
-# This option configures round-robin mode in zmq socket. True means not keeping
-# a queue when server side disconnects. False means to keep queue and messages
-# even if server is disconnected, when the server appears we send all
-# accumulated messages to it. (boolean value)
-#zmq_immediate = true
-
-# Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any
-# other negative value) means to skip any overrides and leave it to OS default;
-# 0 and 1 (or any other positive value) mean to disable and enable the option
-# respectively. (integer value)
-#zmq_tcp_keepalive = -1
-
-# The duration between two keepalive transmissions in idle condition. The unit
-# is platform dependent, for example, seconds in Linux, milliseconds in Windows
-# etc. The default value of -1 (or any other negative value and 0) means to
-# skip any overrides and leave it to OS default. (integer value)
-#zmq_tcp_keepalive_idle = -1
-
-# The number of retransmissions to be carried out before declaring that remote
-# end is not available. The default value of -1 (or any other negative value
-# and 0) means to skip any overrides and leave it to OS default. (integer
-# value)
-#zmq_tcp_keepalive_cnt = -1
-
-# The duration between two successive keepalive retransmissions, if
-# acknowledgement to the previous keepalive transmission is not received. The
-# unit is platform dependent, for example, seconds in Linux, milliseconds in
-# Windows etc. The default value of -1 (or any other negative value and 0)
-# means to skip any overrides and leave it to OS default. (integer value)
-#zmq_tcp_keepalive_intvl = -1
-
-# Maximum number of (green) threads to work concurrently. (integer value)
-#rpc_thread_pool_size = 100
-
-# Expiration timeout in seconds of a sent/received message after which it is
-# not tracked anymore by a client/server. (integer value)
-#rpc_message_ttl = 300
-
-# Wait for message acknowledgements from receivers. This mechanism works only
-# via proxy without PUB/SUB. (boolean value)
-#rpc_use_acks = false
-
-# Number of seconds to wait for an ack from a cast/call. After each retry
-# attempt this timeout is multiplied by some specified multiplier. (integer
-# value)
-#rpc_ack_timeout_base = 15
-
-# Number to multiply base ack timeout by after each retry attempt. (integer
-# value)
-#rpc_ack_timeout_multiplier = 2
-
-# Default number of message sending attempts in case of any problems occurred:
-# positive value N means at most N retries, 0 means no retries, None or -1 (or
-# any other negative values) mean to retry forever. This option is used only if
-# acknowledgments are enabled. (integer value)
-#rpc_retry_attempts = 3
-
-# List of publisher hosts SubConsumer can subscribe on. This option has higher
-# priority then the default publishers list taken from the matchmaker. (list
-# value)
-#subscribe_on =
-
-# Size of executor thread pool when executor is threading or eventlet. (integer
-# value)
-# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
-#executor_thread_pool_size = 64
-
-# Seconds to wait for a response from a call. (integer value)
-#rpc_response_timeout = 60
-
-# A URL representing the messaging driver to use and its full configuration.
-# (string value)
-#transport_url = <None>
-
-# DEPRECATED: The messaging driver to use, defaults to rabbit. Other drivers
-# include amqp and zmq. (string value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Replaced by [DEFAULT]/transport_url
-#rpc_backend = rabbit
-
-# The default exchange under which topics are scoped. May be overridden by an
-# exchange name specified in the transport_url option. (string value)
-#control_exchange = keystone
-
-
-[access_rules_config]
-
-#
-# From keystone
-#
-
-# Entry point for the access rules config backend driver in the
-# `keystone.access_rules_config` namespace.  Keystone only provides a `json`
-# driver, so there is no reason to change this unless you are providing a
-# custom entry point. (string value)
-#driver = json
-
-# Toggle for access rules caching. This has no effect unless global caching is
-# enabled. (boolean value)
-#caching = true
-
-# Time to cache access rule data in seconds. This has no effect unless global
-# caching is enabled. (integer value)
-#cache_time = <None>
-
-# Path to access rules configuration. If not present, no access rule
-# configuration will be loaded and application credential access rules will be
-# unavailable. (string value)
-#rules_file = /etc/keystone/access_rules.json
-
-# Toggles permissive mode for access rules. When enabled, application
-# credentials can be created with any access rules regardless of operator's
-# configuration. (boolean value)
-#permissive = false
-
-
-[application_credential]
-
-#
-# From keystone
-#
-
-# Entry point for the application credential backend driver in the
-# `keystone.application_credential` namespace.  Keystone only provides a `sql`
-# driver, so there is no reason to change this unless you are providing a
-# custom entry point. (string value)
-#driver = sql
-
-# Toggle for application credential caching. This has no effect unless global
-# caching is enabled. (boolean value)
-#caching = true
-
-# Time to cache application credential data in seconds. This has no effect
-# unless global caching is enabled. (integer value)
-#cache_time = <None>
-
-# Maximum number of application credentials a user is permitted to create. A
-# value of -1 means unlimited. If a limit is not set, users are permitted to
-# create application credentials at will, which could lead to bloat in the
-# keystone database or open keystone to a DoS attack. (integer value)
-#user_limit = -1
-
-
-[assignment]
-
-#
-# From keystone
-#
-
-# Entry point for the assignment backend driver (where role assignments are
-# stored) in the `keystone.assignment` namespace. Only a SQL driver is supplied
-# by keystone itself. Unless you are writing proprietary drivers for keystone,
-# you do not need to set this option. (string value)
-#driver = sql
-
-# A list of role names which are prohibited from being an implied role. (list
-# value)
-#prohibited_implied_role = admin
-
-
-[auth]
-
-#
-# From keystone
-#
-
-# Allowed authentication methods. Note: You should disable the `external` auth
-# method if you are currently using federation. External auth and federation
-# both use the REMOTE_USER variable. Since both the mapped and external plugin
-# are being invoked to validate attributes in the request environment, it can
-# cause conflicts. (list value)
-#methods = external,password,token,oauth1,mapped,application_credential
-
-# Entry point for the password auth plugin module in the
-# `keystone.auth.password` namespace. You do not need to set this unless you
-# are overriding keystone's own password authentication plugin. (string value)
-#password = <None>
-
-# Entry point for the token auth plugin module in the `keystone.auth.token`
-# namespace. You do not need to set this unless you are overriding keystone's
-# own token authentication plugin. (string value)
-#token = <None>
-
-# Entry point for the external (`REMOTE_USER`) auth plugin module in the
-# `keystone.auth.external` namespace. Supplied drivers are `DefaultDomain` and
-# `Domain`. The default driver is `DefaultDomain`, which assumes that all users
-# identified by the username specified to keystone in the `REMOTE_USER`
-# variable exist within the context of the default domain. The `Domain` option
-# expects an additional environment variable be presented to keystone,
-# `REMOTE_DOMAIN`, containing the domain name of the `REMOTE_USER` (if
-# `REMOTE_DOMAIN` is not set, then the default domain will be used instead).
-# You do not need to set this unless you are taking advantage of "external
-# authentication", where the application server (such as Apache) is handling
-# authentication instead of keystone. (string value)
-#external = <None>
-
-# Entry point for the OAuth 1.0a auth plugin module in the
-# `keystone.auth.oauth1` namespace. You do not need to set this unless you are
-# overriding keystone's own `oauth1` authentication plugin. (string value)
-#oauth1 = <None>
-
-# Entry point for the mapped auth plugin module in the `keystone.auth.mapped`
-# namespace. You do not need to set this unless you are overriding keystone's
-# own `mapped` authentication plugin. (string value)
-#mapped = <None>
-
-# Entry point for the application_credential auth plugin module in the
-# `keystone.auth.application_credential` namespace. You do not need to set this
-# unless you are overriding keystone's own `application_credential`
-# authentication plugin. (string value)
-#application_credential = <None>
-
-
-[cache]
-
-#
-# From oslo.cache
-#
-
-# Prefix for building the configuration dictionary for the cache region. This
-# should not need to be changed unless there is another dogpile.cache region
-# with the same configuration name. (string value)
-#config_prefix = cache.oslo
-
-# Default TTL, in seconds, for any cached item in the dogpile.cache region.
-# This applies to any cached method that doesn't have an explicit cache
-# expiration time defined for it. (integer value)
-#expiration_time = 600
-
-# Cache backend module. For eventlet-based or environments with hundreds of
-# threaded servers, Memcache with pooling (oslo_cache.memcache_pool) is
-# recommended. For environments with less than 100 threaded servers, Memcached
-# (dogpile.cache.memcached) or Redis (dogpile.cache.redis) is recommended. Test
-# environments with a single instance of the server can use the
-# dogpile.cache.memory backend. (string value)
-# Possible values:
-# oslo_cache.memcache_pool - <No description provided>
-# oslo_cache.dict - <No description provided>
-# dogpile.cache.memcached - <No description provided>
-# dogpile.cache.redis - <No description provided>
-# dogpile.cache.memory - <No description provided>
-# dogpile.cache.null - <No description provided>
-#backend = dogpile.cache.null
-
-# Arguments supplied to the backend module. Specify this option once per
-# argument to be passed to the dogpile.cache backend. Example format:
-# "<argname>:<value>". (multi valued)
-#backend_argument =
-
-# Proxy classes to import that will affect the way the dogpile.cache backend
-# functions. See the dogpile.cache documentation on changing-backend-behavior.
-# (list value)
-#proxies =
-
-# Global toggle for caching. (boolean value)
-#enabled = true
-
-# Extra debugging from the cache backend (cache keys, get/set/delete/etc
-# calls). This is only really useful if you need to see the specific cache-
-# backend get/set/delete calls with the keys/values.  Typically this should be
-# left set to false. (boolean value)
-#debug_cache_backend = false
-
-# Memcache servers in the format of "host:port". (dogpile.cache.memcache and
-# oslo_cache.memcache_pool backends only). (list value)
-#memcache_servers = localhost:11211
-
-# Number of seconds memcached server is considered dead before it is tried
-# again. (dogpile.cache.memcache and oslo_cache.memcache_pool backends only).
-# (integer value)
-#memcache_dead_retry = 300
-
-# Timeout in seconds for every call to a server. (dogpile.cache.memcache and
-# oslo_cache.memcache_pool backends only). (integer value)
-#memcache_socket_timeout = 3
-
-# Max total number of open connections to every memcached server.
-# (oslo_cache.memcache_pool backend only). (integer value)
-#memcache_pool_maxsize = 10
-
-# Number of seconds a connection to memcached is held unused in the pool before
-# it is closed. (oslo_cache.memcache_pool backend only). (integer value)
-#memcache_pool_unused_timeout = 60
-
-# Number of seconds that an operation will wait to get a memcache client
-# connection. (integer value)
-#memcache_pool_connection_get_timeout = 10
-
-
-[catalog]
-
-#
-# From keystone
-#
-
-# Absolute path to the file used for the templated catalog backend. This option
-# is only used if the `[catalog] driver` is set to `templated`. (string value)
-#template_file = default_catalog.templates
-
-# Entry point for the catalog driver in the `keystone.catalog` namespace.
-# Keystone provides a `sql` option (which supports basic CRUD operations
-# through SQL), a `templated` option (which loads the catalog from a templated
-# catalog file on disk), and a `endpoint_filter.sql` option (which supports
-# arbitrary service catalogs per project). (string value)
-#driver = sql
-
-# Toggle for catalog caching. This has no effect unless global caching is
-# enabled. In a typical deployment, there is no reason to disable this.
-# (boolean value)
-#caching = true
-
-# Time to cache catalog data (in seconds). This has no effect unless global and
-# catalog caching are both enabled. Catalog data (services, endpoints, etc.)
-# typically does not change frequently, and so a longer duration than the
-# global default may be desirable. (integer value)
-#cache_time = <None>
-
-# Maximum number of entities that will be returned in a catalog collection.
-# There is typically no reason to set this, as it would be unusual for a
-# deployment to have enough services or endpoints to exceed a reasonable limit.
-# (integer value)
-#list_limit = <None>
-
-
-[cors]
-
-#
-# From oslo.middleware
-#
-
-# Indicate whether this resource may be shared with the domain received in the
-# requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing
-# slash. Example: https://horizon.example.com (list value)
-#allowed_origin = <None>
-
-# Indicate that the actual request can include user credentials (boolean value)
-#allow_credentials = true
-
-# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
-# Headers. (list value)
-#expose_headers = X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token,Openstack-Auth-Receipt
-
-# Maximum cache age of CORS preflight requests. (integer value)
-#max_age = 3600
-
-# Indicate which methods can be used during the actual request. (list value)
-#allow_methods = GET,PUT,POST,DELETE,PATCH
-
-# Indicate which header field names may be used during the actual request.
-# (list value)
-#allow_headers = X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token,X-Project-Id,X-Project-Name,X-Project-Domain-Id,X-Project-Domain-Name,X-Domain-Id,X-Domain-Name,Openstack-Auth-Receipt
-
-
-[credential]
-
-#
-# From keystone
-#
-
-# Entry point for the credential backend driver in the `keystone.credential`
-# namespace. Keystone only provides a `sql` driver, so there's no reason to
-# change this unless you are providing a custom entry point. (string value)
-#driver = sql
-
-# Entry point for credential encryption and decryption operations in the
-# `keystone.credential.provider` namespace. Keystone only provides a `fernet`
-# driver, so there's no reason to change this unless you are providing a custom
-# entry point to encrypt and decrypt credentials. (string value)
-#provider = fernet
-
-# Directory containing Fernet keys used to encrypt and decrypt credentials
-# stored in the credential backend. Fernet keys used to encrypt credentials
-# have no relationship to Fernet keys used to encrypt Fernet tokens. Both sets
-# of keys should be managed separately and require different rotation policies.
-# Do not share this repository with the repository used to manage keys for
-# Fernet tokens. (string value)
-#key_repository = /etc/keystone/credential-keys/
-
-
-[database]
-
-#
-# From oslo.db
-#
-
-# If True, SQLite uses synchronous mode. (boolean value)
-#sqlite_synchronous = true
-
-# The back end to use for the database. (string value)
-# Deprecated group/name - [DEFAULT]/db_backend
-#backend = sqlalchemy
-
-# The SQLAlchemy connection string to use to connect to the database. (string
-# value)
-# Deprecated group/name - [DEFAULT]/sql_connection
-# Deprecated group/name - [DATABASE]/sql_connection
-# Deprecated group/name - [sql]/connection
-#connection = <None>
-
-# The SQLAlchemy connection string to use to connect to the slave database.
-# (string value)
-#slave_connection = <None>
-
-# The SQL mode to be used for MySQL sessions. This option, including the
-# default, overrides any server-set SQL mode. To use whatever SQL mode is set
-# by the server configuration, set this to no value. Example: mysql_sql_mode=
-# (string value)
-#mysql_sql_mode = TRADITIONAL
-
-# If True, transparently enables support for handling MySQL Cluster (NDB).
-# (boolean value)
-#mysql_enable_ndb = false
-
-# Connections which have been present in the connection pool longer than this
-# number of seconds will be replaced with a new one the next time they are
-# checked out from the pool. (integer value)
-# Deprecated group/name - [DATABASE]/idle_timeout
-# Deprecated group/name - [database]/idle_timeout
-# Deprecated group/name - [DEFAULT]/sql_idle_timeout
-# Deprecated group/name - [DATABASE]/sql_idle_timeout
-# Deprecated group/name - [sql]/idle_timeout
-#connection_recycle_time = 3600
-
-# Minimum number of SQL connections to keep open in a pool. (integer value)
-# Deprecated group/name - [DEFAULT]/sql_min_pool_size
-# Deprecated group/name - [DATABASE]/sql_min_pool_size
-#min_pool_size = 1
-
-# Maximum number of SQL connections to keep open in a pool. Setting a value of
-# 0 indicates no limit. (integer value)
-# Deprecated group/name - [DEFAULT]/sql_max_pool_size
-# Deprecated group/name - [DATABASE]/sql_max_pool_size
-#max_pool_size = 5
-
-# Maximum number of database connection retries during startup. Set to -1 to
-# specify an infinite retry count. (integer value)
-# Deprecated group/name - [DEFAULT]/sql_max_retries
-# Deprecated group/name - [DATABASE]/sql_max_retries
-#max_retries = 10
-
-# Interval between retries of opening a SQL connection. (integer value)
-# Deprecated group/name - [DEFAULT]/sql_retry_interval
-# Deprecated group/name - [DATABASE]/reconnect_interval
-#retry_interval = 10
-
-# If set, use this value for max_overflow with SQLAlchemy. (integer value)
-# Deprecated group/name - [DEFAULT]/sql_max_overflow
-# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow
-#max_overflow = 50
-
-# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
-# value)
-# Minimum value: 0
-# Maximum value: 100
-# Deprecated group/name - [DEFAULT]/sql_connection_debug
-#connection_debug = 0
-
-# Add Python stack traces to SQL as comment strings. (boolean value)
-# Deprecated group/name - [DEFAULT]/sql_connection_trace
-#connection_trace = false
-
-# If set, use this value for pool_timeout with SQLAlchemy. (integer value)
-# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout
-#pool_timeout = <None>
-
-# Enable the experimental use of database reconnect on connection lost.
-# (boolean value)
-#use_db_reconnect = false
-
-# Seconds between retries of a database transaction. (integer value)
-#db_retry_interval = 1
-
-# If True, increases the interval between retries of a database operation up to
-# db_max_retry_interval. (boolean value)
-#db_inc_retry_interval = true
-
-# If db_inc_retry_interval is set, the maximum seconds between retries of a
-# database operation. (integer value)
-#db_max_retry_interval = 10
-
-# Maximum retries in case of connection error or deadlock error before error is
-# raised. Set to -1 to specify an infinite retry count. (integer value)
-#db_max_retries = 20
-
-
-[domain_config]
-
-#
-# From keystone
-#
-
-# Entry point for the domain-specific configuration driver in the
-# `keystone.resource.domain_config` namespace. Only a `sql` option is provided
-# by keystone, so there is no reason to set this unless you are providing a
-# custom entry point. (string value)
-#driver = sql
-
-# Toggle for caching of the domain-specific configuration backend. This has no
-# effect unless global caching is enabled. There is normally no reason to
-# disable this. (boolean value)
-#caching = true
-
-# Time-to-live (TTL, in seconds) to cache domain-specific configuration data.
-# This has no effect unless `[domain_config] caching` is enabled. (integer
-# value)
-#cache_time = 300
-
-
-[endpoint_filter]
-
-#
-# From keystone
-#
-
-# Entry point for the endpoint filter driver in the `keystone.endpoint_filter`
-# namespace. Only a `sql` option is provided by keystone, so there is no reason
-# to set this unless you are providing a custom entry point. (string value)
-#driver = sql
-
-# This controls keystone's behavior if the configured endpoint filters do not
-# result in any endpoints for a user + project pair (and therefore a
-# potentially empty service catalog). If set to true, keystone will return the
-# entire service catalog. If set to false, keystone will return an empty
-# service catalog. (boolean value)
-#return_all_endpoints_if_no_filter = true
-
-
-[endpoint_policy]
-
-#
-# From keystone
-#
-
-# Entry point for the endpoint policy driver in the `keystone.endpoint_policy`
-# namespace. Only a `sql` driver is provided by keystone, so there is no reason
-# to set this unless you are providing a custom entry point. (string value)
-#driver = sql
-
-
-[eventlet_server]
-
-#
-# From keystone
-#
-
-# DEPRECATED: The IP address of the network interface for the public service to
-# listen on. (unknown value)
-# Deprecated group/name - [DEFAULT]/bind_host
-# Deprecated group/name - [DEFAULT]/public_bind_host
-# This option is deprecated for removal since K.
-# Its value may be silently ignored in the future.
-# Reason: Support for running keystone under eventlet has been removed in the
-# Newton release. These options remain for backwards compatibility because they
-# are used for URL substitutions.
-#public_bind_host = 0.0.0.0
-
-# DEPRECATED: The port number for the public service to listen on. (port value)
-# Minimum value: 0
-# Maximum value: 65535
-# Deprecated group/name - [DEFAULT]/public_port
-# This option is deprecated for removal since K.
-# Its value may be silently ignored in the future.
-# Reason: Support for running keystone under eventlet has been removed in the
-# Newton release. These options remain for backwards compatibility because they
-# are used for URL substitutions.
-#public_port = 5000
-
-# DEPRECATED: The IP address of the network interface for the admin service to
-# listen on. (unknown value)
-# Deprecated group/name - [DEFAULT]/bind_host
-# Deprecated group/name - [DEFAULT]/admin_bind_host
-# This option is deprecated for removal since K.
-# Its value may be silently ignored in the future.
-# Reason: Support for running keystone under eventlet has been removed in the
-# Newton release. These options remain for backwards compatibility because they
-# are used for URL substitutions.
-#admin_bind_host = 0.0.0.0
-
-# DEPRECATED: The port number for the admin service to listen on. (port value)
-# Minimum value: 0
-# Maximum value: 65535
-# Deprecated group/name - [DEFAULT]/admin_port
-# This option is deprecated for removal since K.
-# Its value may be silently ignored in the future.
-# Reason: Support for running keystone under eventlet has been removed in the
-# Newton release. These options remain for backwards compatibility because they
-# are used for URL substitutions.
-#admin_port = 35357
-
-
-[federation]
-
-#
-# From keystone
-#
-
-# Entry point for the federation backend driver in the `keystone.federation`
-# namespace. Keystone only provides a `sql` driver, so there is no reason to
-# set this option unless you are providing a custom entry point. (string value)
-#driver = sql
-
-# Prefix to use when filtering environment variable names for federated
-# assertions. Matched variables are passed into the federated mapping engine.
-# (string value)
-#assertion_prefix =
-
-# Value to be used to obtain the entity ID of the Identity Provider from the
-# environment. For `mod_shib`, this would be `Shib-Identity-Provider`. For
-# `mod_auth_openidc`, this could be `HTTP_OIDC_ISS`. For `mod_auth_mellon`,
-# this could be `MELLON_IDP`. (string value)
-#remote_id_attribute = <None>
-
-# An arbitrary domain name that is reserved to allow federated ephemeral users
-# to have a domain concept. Note that an admin will not be able to create a
-# domain with this name or update an existing domain to this name. You are not
-# advised to change this value unless you really have to. (string value)
-#federated_domain_name = Federated
-
-# A list of trusted dashboard hosts. Before accepting a Single Sign-On request
-# to return a token, the origin host must be a member of this list. This
-# configuration option may be repeated for multiple values. You must set this
-# in order to use web-based SSO flows. For example:
-# trusted_dashboard=https://acme.example.com/auth/websso
-# trusted_dashboard=https://beta.example.com/auth/websso (multi valued)
-#trusted_dashboard =
-
-# Absolute path to an HTML file used as a Single Sign-On callback handler. This
-# page is expected to redirect the user from keystone back to a trusted
-# dashboard host, by form encoding a token in a POST request. Keystone's
-# default value should be sufficient for most deployments. (string value)
-#sso_callback_template = /etc/keystone/sso_callback_template.html
-
-# Toggle for federation caching. This has no effect unless global caching is
-# enabled. There is typically no reason to disable this. (boolean value)
-#caching = true
-
-
-[fernet_receipts]
-
-#
-# From keystone
-#
-
-# Directory containing Fernet receipt keys. This directory must exist before
-# using `keystone-manage fernet_setup` for the first time, must be writable by
-# the user running `keystone-manage fernet_setup` or `keystone-manage
-# fernet_rotate`, and of course must be readable by keystone's server process.
-# The repository may contain keys in one of three states: a single staged key
-# (always index 0) used for receipt validation, a single primary key (always
-# the highest index) used for receipt creation and validation, and any number
-# of secondary keys (all other index values) used for receipt validation. With
-# multiple keystone nodes, each node must share the same key repository
-# contents, with the exception of the staged key (index 0). It is safe to run
-# `keystone-manage fernet_rotate` once on any one node to promote a staged key
-# (index 0) to be the new primary (incremented from the previous highest
-# index), and produce a new staged key (a new key with index 0); the resulting
-# repository can then be atomically replicated to other nodes without any risk
-# of race conditions (for example, it is safe to run `keystone-manage
-# fernet_rotate` on host A, wait any amount of time, create a tarball of the
-# directory on host A, unpack it on host B to a temporary location, and
-# atomically move (`mv`) the directory into place on host B). Running
-# `keystone-manage fernet_rotate` *twice* on a key repository without syncing
-# other nodes will result in receipts that can not be validated by all nodes.
-# (string value)
-#key_repository = /etc/keystone/fernet-keys/
-
-# This controls how many keys are held in rotation by `keystone-manage
-# fernet_rotate` before they are discarded. The default value of 3 means that
-# keystone will maintain one staged key (always index 0), one primary key (the
-# highest numerical index), and one secondary key (every other index).
-# Increasing this value means that additional secondary keys will be kept in
-# the rotation. (integer value)
-# Minimum value: 1
-#max_active_keys = 3
-
-
-[fernet_tokens]
-
-#
-# From keystone
-#
-
-# Directory containing Fernet token keys. This directory must exist before
-# using `keystone-manage fernet_setup` for the first time, must be writable by
-# the user running `keystone-manage fernet_setup` or `keystone-manage
-# fernet_rotate`, and of course must be readable by keystone's server process.
-# The repository may contain keys in one of three states: a single staged key
-# (always index 0) used for token validation, a single primary key (always the
-# highest index) used for token creation and validation, and any number of
-# secondary keys (all other index values) used for token validation. With
-# multiple keystone nodes, each node must share the same key repository
-# contents, with the exception of the staged key (index 0). It is safe to run
-# `keystone-manage fernet_rotate` once on any one node to promote a staged key
-# (index 0) to be the new primary (incremented from the previous highest
-# index), and produce a new staged key (a new key with index 0); the resulting
-# repository can then be atomically replicated to other nodes without any risk
-# of race conditions (for example, it is safe to run `keystone-manage
-# fernet_rotate` on host A, wait any amount of time, create a tarball of the
-# directory on host A, unpack it on host B to a temporary location, and
-# atomically move (`mv`) the directory into place on host B). Running
-# `keystone-manage fernet_rotate` *twice* on a key repository without syncing
-# other nodes will result in tokens that can not be validated by all nodes.
-# (string value)
-#key_repository = /etc/keystone/fernet-keys/
-
-# This controls how many keys are held in rotation by `keystone-manage
-# fernet_rotate` before they are discarded. The default value of 3 means that
-# keystone will maintain one staged key (always index 0), one primary key (the
-# highest numerical index), and one secondary key (every other index).
-# Increasing this value means that additional secondary keys will be kept in
-# the rotation. (integer value)
-# Minimum value: 1
-#max_active_keys = 3
-
-
-[healthcheck]
-
-#
-# From oslo.middleware
-#
-
-# DEPRECATED: The path to respond to healtcheck requests on. (string value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-#path = /healthcheck
-
-# Show more detailed information as part of the response (boolean value)
-#detailed = false
-
-# Additional backends that can perform health checks and report that
-# information back as part of a request. (list value)
-#backends =
-
-# Check the presence of a file to determine if an application is running on a
-# port. Used by DisableByFileHealthcheck plugin. (string value)
-#disable_by_file_path = <None>
-
-# Check the presence of a file based on a port to determine if an application
-# is running on a port. Expects a "port:path" list of strings. Used by
-# DisableByFilesPortsHealthcheck plugin. (list value)
-#disable_by_file_paths =
-
-
-[identity]
-
-#
-# From keystone
-#
-
-# This references the domain to use for all Identity API v2 requests (which are
-# not aware of domains). A domain with this ID can optionally be created for
-# you by `keystone-manage bootstrap`. The domain referenced by this ID cannot
-# be deleted on the v3 API, to prevent accidentally breaking the v2 API. There
-# is nothing special about this domain, other than the fact that it must exist
-# to order to maintain support for your v2 clients. There is typically no
-# reason to change this value. (string value)
-#default_domain_id = default
-
-# A subset (or all) of domains can have their own identity driver, each with
-# their own partial configuration options, stored in either the resource
-# backend or in a file in a domain configuration directory (depending on the
-# setting of `[identity] domain_configurations_from_database`). Only values
-# specific to the domain need to be specified in this manner. This feature is
-# disabled by default, but may be enabled by default in a future release; set
-# to true to enable. (boolean value)
-#domain_specific_drivers_enabled = false
-
-# By default, domain-specific configuration data is read from files in the
-# directory identified by `[identity] domain_config_dir`. Enabling this
-# configuration option allows you to instead manage domain-specific
-# configurations through the API, which are then persisted in the backend
-# (typically, a SQL database), rather than using configuration files on disk.
-# (boolean value)
-#domain_configurations_from_database = false
-
-# Absolute path where keystone should locate domain-specific `[identity]`
-# configuration files. This option has no effect unless `[identity]
-# domain_specific_drivers_enabled` is set to true. There is typically no reason
-# to change this value. (string value)
-#domain_config_dir = /etc/keystone/domains
-
-# Entry point for the identity backend driver in the `keystone.identity`
-# namespace. Keystone provides a `sql` and `ldap` driver. This option is also
-# used as the default driver selection (along with the other configuration
-# variables in this section) in the event that `[identity]
-# domain_specific_drivers_enabled` is enabled, but no applicable domain-
-# specific configuration is defined for the domain in question. Unless your
-# deployment primarily relies on `ldap` AND is not using domain-specific
-# configuration, you should typically leave this set to `sql`. (string value)
-#driver = sql
-
-# Toggle for identity caching. This has no effect unless global caching is
-# enabled. There is typically no reason to disable this. (boolean value)
-#caching = true
-
-# Time to cache identity data (in seconds). This has no effect unless global
-# and identity caching are enabled. (integer value)
-#cache_time = 600
-
-# Maximum allowed length for user passwords. Decrease this value to improve
-# performance. Changing this value does not effect existing passwords. (integer
-# value)
-# Maximum value: 4096
-#max_password_length = 4096
-
-# Maximum number of entities that will be returned in an identity collection.
-# (integer value)
-#list_limit = <None>
-
-# The password hashing algorithm to use for passwords stored within keystone.
-# (string value)
-# Possible values:
-# bcrypt - <No description provided>
-# scrypt - <No description provided>
-# pbkdf2_sha512 - <No description provided>
-#password_hash_algorithm = bcrypt
-
-# This option represents a trade off between security and performance. Higher
-# values lead to slower performance, but higher security. Changing this option
-# will only affect newly created passwords as existing password hashes already
-# have a fixed number of rounds applied, so it is safe to tune this option in a
-# running cluster.  The default for bcrypt is 12, must be between 4 and 31,
-# inclusive.  The default for scrypt is 16, must be within `range(1,32)`.  The
-# default for pbkdf_sha512 is 60000, must be within `range(1,1<<32)`  WARNING:
-# If using scrypt, increasing this value increases BOTH time AND memory
-# requirements to hash a password. (integer value)
-#password_hash_rounds = <None>
-
-# Optional block size to pass to scrypt hash function (the `r` parameter).
-# Useful for tuning scrypt to optimal performance for your CPU architecture.
-# This option is only used when the `password_hash_algorithm` option is set to
-# `scrypt`. Defaults to 8. (integer value)
-#scrypt_block_size = <None>
-
-# Optional parallelism to pass to scrypt hash function (the `p` parameter).
-# This option is only used when the `password_hash_algorithm` option is set to
-# `scrypt`. Defaults to 1. (integer value)
-#scrypt_parallelism = <None>
-
-# Number of bytes to use in scrypt and pbkfd2_sha512 hashing salt.  Default for
-# scrypt is 16 bytes. Default for pbkfd2_sha512 is 16 bytes.  Limited to a
-# maximum of 96 bytes due to the size of the column used to store password
-# hashes. (integer value)
-# Minimum value: 0
-# Maximum value: 96
-#salt_bytesize = <None>
-
-
-[identity_mapping]
-
-#
-# From keystone
-#
-
-# Entry point for the identity mapping backend driver in the
-# `keystone.identity.id_mapping` namespace. Keystone only provides a `sql`
-# driver, so there is no reason to change this unless you are providing a
-# custom entry point. (string value)
-#driver = sql
-
-# Entry point for the public ID generator for user and group entities in the
-# `keystone.identity.id_generator` namespace. The Keystone identity mapper only
-# supports generators that produce 64 bytes or less. Keystone only provides a
-# `sha256` entry point, so there is no reason to change this value unless
-# you're providing a custom entry point. (string value)
-#generator = sha256
-
-# The format of user and group IDs changed in Juno for backends that do not
-# generate UUIDs (for example, LDAP), with keystone providing a hash mapping to
-# the underlying attribute in LDAP. By default this mapping is disabled, which
-# ensures that existing IDs will not change. Even when the mapping is enabled
-# by using domain-specific drivers (`[identity]
-# domain_specific_drivers_enabled`), any users and groups from the default
-# domain being handled by LDAP will still not be mapped to ensure their IDs
-# remain backward compatible. Setting this value to false will enable the new
-# mapping for all backends, including the default LDAP driver. It is only
-# guaranteed to be safe to enable this option if you do not already have
-# assignments for users and groups from the default LDAP domain, and you
-# consider it to be acceptable for Keystone to provide the different IDs to
-# clients than it did previously (existing IDs in the API will suddenly
-# change). Typically this means that the only time you can set this value to
-# false is when configuring a fresh installation, although that is the
-# recommended value. (boolean value)
-#backward_compatible_ids = true
-
-
-[jwt_tokens]
-
-#
-# From keystone
-#
-
-# Directory containing public keys for validating JWS token signatures. This
-# directory must exist in order for keystone's server process to start. It must
-# also be readable by keystone's server process. It must contain at least one
-# public key that corresponds to a private key in `keystone.conf [jwt_tokens]
-# jws_private_key_repository`. This option is only applicable in deployments
-# issuing JWS tokens and setting `keystone.conf [tokens] provider = jws`.
-# (string value)
-#jws_public_key_repository = /etc/keystone/jws-keys/public
-
-# Directory containing private keys for signing JWS tokens. This directory must
-# exist in order for keystone's server process to start. It must also be
-# readable by keystone's server process. It must contain at least one private
-# key that corresponds to a public key in `keystone.conf [jwt_tokens]
-# jws_public_key_repository`. In the event there are multiple private keys in
-# this directory, keystone will use a key named `private.pem` to sign tokens.
-# In the future, keystone may support the ability to sign tokens with multiple
-# private keys. For now, only a key named `private.pem` within this directory
-# is required to issue JWS tokens. This option is only applicable in
-# deployments issuing JWS tokens and setting `keystone.conf [tokens] provider =
-# jws`. (string value)
-#jws_private_key_repository = /etc/keystone/jws-keys/private
-
-
-[ldap]
-
-#
-# From keystone
-#
-
-# URL(s) for connecting to the LDAP server. Multiple LDAP URLs may be specified
-# as a comma separated string. The first URL to successfully bind is used for
-# the connection. (string value)
-#url = ldap://localhost
-
-# The user name of the administrator bind DN to use when querying the LDAP
-# server, if your LDAP server requires it. (string value)
-#user = <None>
-
-# The password of the administrator bind DN to use when querying the LDAP
-# server, if your LDAP server requires it. (string value)
-#password = <None>
-
-# The default LDAP server suffix to use, if a DN is not defined via either
-# `[ldap] user_tree_dn` or `[ldap] group_tree_dn`. (string value)
-#suffix = cn=example,cn=com
-
-# The search scope which defines how deep to search within the search base. A
-# value of `one` (representing `oneLevel` or `singleLevel`) indicates a search
-# of objects immediately below to the base object, but does not include the
-# base object itself. A value of `sub` (representing `subtree` or
-# `wholeSubtree`) indicates a search of both the base object itself and the
-# entire subtree below it. (string value)
-# Possible values:
-# one - <No description provided>
-# sub - <No description provided>
-#query_scope = one
-
-# Defines the maximum number of results per page that keystone should request
-# from the LDAP server when listing objects. A value of zero (`0`) disables
-# paging. (integer value)
-# Minimum value: 0
-#page_size = 0
-
-# The LDAP dereferencing option to use for queries involving aliases. A value
-# of `default` falls back to using default dereferencing behavior configured by
-# your `ldap.conf`. A value of `never` prevents aliases from being dereferenced
-# at all. A value of `searching` dereferences aliases only after name
-# resolution. A value of `finding` dereferences aliases only during name
-# resolution. A value of `always` dereferences aliases in all cases. (string
-# value)
-# Possible values:
-# never - <No description provided>
-# searching - <No description provided>
-# always - <No description provided>
-# finding - <No description provided>
-# default - <No description provided>
-#alias_dereferencing = default
-
-# Sets the LDAP debugging level for LDAP calls. A value of 0 means that
-# debugging is not enabled. This value is a bitmask, consult your LDAP
-# documentation for possible values. (integer value)
-# Minimum value: -1
-#debug_level = <None>
-
-# Sets keystone's referral chasing behavior across directory partitions. If
-# left unset, the system's default behavior will be used. (boolean value)
-#chase_referrals = <None>
-
-# The search base to use for users. Defaults to the `[ldap] suffix` value.
-# (string value)
-#user_tree_dn = <None>
-
-# The LDAP search filter to use for users. (string value)
-#user_filter = <None>
-
-# The LDAP object class to use for users. (string value)
-#user_objectclass = inetOrgPerson
-
-# The LDAP attribute mapped to user IDs in keystone. This must NOT be a
-# multivalued attribute. User IDs are expected to be globally unique across
-# keystone domains and URL-safe. (string value)
-#user_id_attribute = cn
-
-# The LDAP attribute mapped to user names in keystone. User names are expected
-# to be unique only within a keystone domain and are not expected to be URL-
-# safe. (string value)
-#user_name_attribute = sn
-
-# The LDAP attribute mapped to user descriptions in keystone. (string value)
-#user_description_attribute = description
-
-# The LDAP attribute mapped to user emails in keystone. (string value)
-#user_mail_attribute = mail
-
-# The LDAP attribute mapped to user passwords in keystone. (string value)
-#user_pass_attribute = userPassword
-
-# The LDAP attribute mapped to the user enabled attribute in keystone. If
-# setting this option to `userAccountControl`, then you may be interested in
-# setting `[ldap] user_enabled_mask` and `[ldap] user_enabled_default` as well.
-# (string value)
-#user_enabled_attribute = enabled
-
-# Logically negate the boolean value of the enabled attribute obtained from the
-# LDAP server. Some LDAP servers use a boolean lock attribute where "true"
-# means an account is disabled. Setting `[ldap] user_enabled_invert = true`
-# will allow these lock attributes to be used. This option will have no effect
-# if either the `[ldap] user_enabled_mask` or `[ldap] user_enabled_emulation`
-# options are in use. (boolean value)
-#user_enabled_invert = false
-
-# Bitmask integer to select which bit indicates the enabled value if the LDAP
-# server represents "enabled" as a bit on an integer rather than as a discrete
-# boolean. A value of `0` indicates that the mask is not used. If this is not
-# set to `0` the typical value is `2`. This is typically used when `[ldap]
-# user_enabled_attribute = userAccountControl`. Setting this option causes
-# keystone to ignore the value of `[ldap] user_enabled_invert`. (integer value)
-# Minimum value: 0
-#user_enabled_mask = 0
-
-# The default value to enable users. This should match an appropriate integer
-# value if the LDAP server uses non-boolean (bitmask) values to indicate if a
-# user is enabled or disabled. If this is not set to `True`, then the typical
-# value is `512`. This is typically used when `[ldap] user_enabled_attribute =
-# userAccountControl`. (string value)
-#user_enabled_default = True
-
-# List of user attributes to ignore on create and update, or whether a specific
-# user attribute should be filtered for list or show user. (list value)
-#user_attribute_ignore = default_project_id
-
-# The LDAP attribute mapped to a user's default_project_id in keystone. This is
-# most commonly used when keystone has write access to LDAP. (string value)
-#user_default_project_id_attribute = <None>
-
-# If enabled, keystone uses an alternative method to determine if a user is
-# enabled or not by checking if they are a member of the group defined by the
-# `[ldap] user_enabled_emulation_dn` option. Enabling this option causes
-# keystone to ignore the value of `[ldap] user_enabled_invert`. (boolean value)
-#user_enabled_emulation = false
-
-# DN of the group entry to hold enabled users when using enabled emulation.
-# Setting this option has no effect unless `[ldap] user_enabled_emulation` is
-# also enabled. (string value)
-#user_enabled_emulation_dn = <None>
-
-# Use the `[ldap] group_member_attribute` and `[ldap] group_objectclass`
-# settings to determine membership in the emulated enabled group. Enabling this
-# option has no effect unless `[ldap] user_enabled_emulation` is also enabled.
-# (boolean value)
-#user_enabled_emulation_use_group_config = false
-
-# A list of LDAP attribute to keystone user attribute pairs used for mapping
-# additional attributes to users in keystone. The expected format is
-# `<ldap_attr>:<user_attr>`, where `ldap_attr` is the attribute in the LDAP
-# object and `user_attr` is the attribute which should appear in the identity
-# API. (list value)
-#user_additional_attribute_mapping =
-
-# The search base to use for groups. Defaults to the `[ldap] suffix` value.
-# (string value)
-#group_tree_dn = <None>
-
-# The LDAP search filter to use for groups. (string value)
-#group_filter = <None>
-
-# The LDAP object class to use for groups. If setting this option to
-# `posixGroup`, you may also be interested in enabling the `[ldap]
-# group_members_are_ids` option. (string value)
-#group_objectclass = groupOfNames
-
-# The LDAP attribute mapped to group IDs in keystone. This must NOT be a
-# multivalued attribute. Group IDs are expected to be globally unique across
-# keystone domains and URL-safe. (string value)
-#group_id_attribute = cn
-
-# The LDAP attribute mapped to group names in keystone. Group names are
-# expected to be unique only within a keystone domain and are not expected to
-# be URL-safe. (string value)
-#group_name_attribute = ou
-
-# The LDAP attribute used to indicate that a user is a member of the group.
-# (string value)
-#group_member_attribute = member
-
-# Enable this option if the members of the group object class are keystone user
-# IDs rather than LDAP DNs. This is the case when using `posixGroup` as the
-# group object class in Open Directory. (boolean value)
-#group_members_are_ids = false
-
-# The LDAP attribute mapped to group descriptions in keystone. (string value)
-#group_desc_attribute = description
-
-# List of group attributes to ignore on create and update. or whether a
-# specific group attribute should be filtered for list or show group. (list
-# value)
-#group_attribute_ignore =
-
-# A list of LDAP attribute to keystone group attribute pairs used for mapping
-# additional attributes to groups in keystone. The expected format is
-# `<ldap_attr>:<group_attr>`, where `ldap_attr` is the attribute in the LDAP
-# object and `group_attr` is the attribute which should appear in the identity
-# API. (list value)
-#group_additional_attribute_mapping =
-
-# If enabled, group queries will use Active Directory specific filters for
-# nested groups. (boolean value)
-#group_ad_nesting = false
-
-# An absolute path to a CA certificate file to use when communicating with LDAP
-# servers. This option will take precedence over `[ldap] tls_cacertdir`, so
-# there is no reason to set both. (string value)
-#tls_cacertfile = <None>
-
-# An absolute path to a CA certificate directory to use when communicating with
-# LDAP servers. There is no reason to set this option if you've also set
-# `[ldap] tls_cacertfile`. (string value)
-#tls_cacertdir = <None>
-
-# Enable TLS when communicating with LDAP servers. You should also set the
-# `[ldap] tls_cacertfile` and `[ldap] tls_cacertdir` options when using this
-# option. Do not set this option if you are using LDAP over SSL (LDAPS) instead
-# of TLS. (boolean value)
-#use_tls = false
-
-# Specifies which checks to perform against client certificates on incoming TLS
-# sessions. If set to `demand`, then a certificate will always be requested and
-# required from the LDAP server. If set to `allow`, then a certificate will
-# always be requested but not required from the LDAP server. If set to `never`,
-# then a certificate will never be requested. (string value)
-# Possible values:
-# demand - <No description provided>
-# never - <No description provided>
-# allow - <No description provided>
-#tls_req_cert = demand
-
-# The connection timeout to use with the LDAP server. A value of `-1` means
-# that connections will never timeout. (integer value)
-# Minimum value: -1
-#connection_timeout = -1
-
-# Enable LDAP connection pooling for queries to the LDAP server. There is
-# typically no reason to disable this. (boolean value)
-#use_pool = true
-
-# The size of the LDAP connection pool. This option has no effect unless
-# `[ldap] use_pool` is also enabled. (integer value)
-# Minimum value: 1
-#pool_size = 10
-
-# The maximum number of times to attempt reconnecting to the LDAP server before
-# aborting. A value of zero prevents retries. This option has no effect unless
-# `[ldap] use_pool` is also enabled. (integer value)
-# Minimum value: 0
-#pool_retry_max = 3
-
-# The number of seconds to wait before attempting to reconnect to the LDAP
-# server. This option has no effect unless `[ldap] use_pool` is also enabled.
-# (floating point value)
-#pool_retry_delay = 0.1
-
-# The connection timeout to use when pooling LDAP connections. A value of `-1`
-# means that connections will never timeout. This option has no effect unless
-# `[ldap] use_pool` is also enabled. (integer value)
-# Minimum value: -1
-#pool_connection_timeout = -1
-
-# The maximum connection lifetime to the LDAP server in seconds. When this
-# lifetime is exceeded, the connection will be unbound and removed from the
-# connection pool. This option has no effect unless `[ldap] use_pool` is also
-# enabled. (integer value)
-# Minimum value: 1
-#pool_connection_lifetime = 600
-
-# Enable LDAP connection pooling for end user authentication. There is
-# typically no reason to disable this. (boolean value)
-#use_auth_pool = true
-
-# The size of the connection pool to use for end user authentication. This
-# option has no effect unless `[ldap] use_auth_pool` is also enabled. (integer
-# value)
-# Minimum value: 1
-#auth_pool_size = 100
-
-# The maximum end user authentication connection lifetime to the LDAP server in
-# seconds. When this lifetime is exceeded, the connection will be unbound and
-# removed from the connection pool. This option has no effect unless `[ldap]
-# use_auth_pool` is also enabled. (integer value)
-# Minimum value: 1
-#auth_pool_connection_lifetime = 60
-
-
-[matchmaker_redis]
-
-#
-# From oslo.messaging
-#
-
-# DEPRECATED: Host to locate redis. (string value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Replaced by [DEFAULT]/transport_url
-#host = 127.0.0.1
-
-# DEPRECATED: Use this port to connect to redis host. (port value)
-# Minimum value: 0
-# Maximum value: 65535
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Replaced by [DEFAULT]/transport_url
-#port = 6379
-
-# DEPRECATED: Password for Redis server (optional). (string value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Replaced by [DEFAULT]/transport_url
-#password =
-
-# DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode), e.g.,
-# [host:port, host1:port ... ] (list value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Replaced by [DEFAULT]/transport_url
-#sentinel_hosts =
-
-# Redis replica set name. (string value)
-#sentinel_group_name = oslo-messaging-zeromq
-
-# Time in ms to wait between connection attempts. (integer value)
-#wait_timeout = 2000
-
-# Time in ms to wait before the transaction is killed. (integer value)
-#check_timeout = 20000
-
-# Timeout in ms on blocking socket operations. (integer value)
-#socket_timeout = 10000
-
-
-[memcache]
-
-#
-# From keystone
-#
-
-# Number of seconds memcached server is considered dead before it is tried
-# again. This is used by the key value store system. (integer value)
-#dead_retry = 300
-
-# Timeout in seconds for every call to a server. This is used by the key value
-# store system. (integer value)
-#socket_timeout = 3
-
-# Max total number of open connections to every memcached server. This is used
-# by the key value store system. (integer value)
-#pool_maxsize = 10
-
-# Number of seconds a connection to memcached is held unused in the pool before
-# it is closed. This is used by the key value store system. (integer value)
-#pool_unused_timeout = 60
-
-# Number of seconds that an operation will wait to get a memcache client
-# connection. This is used by the key value store system. (integer value)
-#pool_connection_get_timeout = 10
-
-
-[oauth1]
-
-#
-# From keystone
-#
-
-# Entry point for the OAuth backend driver in the `keystone.oauth1` namespace.
-# Typically, there is no reason to set this option unless you are providing a
-# custom entry point. (string value)
-#driver = sql
-
-# Number of seconds for the OAuth Request Token to remain valid after being
-# created. This is the amount of time the user has to authorize the token.
-# Setting this option to zero means that request tokens will last forever.
-# (integer value)
-# Minimum value: 0
-#request_token_duration = 28800
-
-# Number of seconds for the OAuth Access Token to remain valid after being
-# created. This is the amount of time the consumer has to interact with the
-# service provider (which is typically keystone). Setting this option to zero
-# means that access tokens will last forever. (integer value)
-# Minimum value: 0
-#access_token_duration = 86400
-
-
-[oslo_messaging_amqp]
-
-#
-# From oslo.messaging
-#
-
-# Name for the AMQP container. must be globally unique. Defaults to a generated
-# UUID (string value)
-#container_name = <None>
-
-# Timeout for inactive connections (in seconds) (integer value)
-#idle_timeout = 0
-
-# Debug: dump AMQP frames to stdout (boolean value)
-#trace = false
-
-# Attempt to connect via SSL. If no other ssl-related parameters are given, it
-# will use the system's CA-bundle to verify the server's certificate. (boolean
-# value)
-#ssl = false
-
-# CA certificate PEM file used to verify the server's certificate (string
-# value)
-#ssl_ca_file =
-
-# Self-identifying certificate PEM file for client authentication (string
-# value)
-#ssl_cert_file =
-
-# Private key PEM file used to sign ssl_cert_file certificate (optional)
-# (string value)
-#ssl_key_file =
-
-# Password for decrypting ssl_key_file (if encrypted) (string value)
-#ssl_key_password = <None>
-
-# By default SSL checks that the name in the server's certificate matches the
-# hostname in the transport_url. In some configurations it may be preferable to
-# use the virtual hostname instead, for example if the server uses the Server
-# Name Indication TLS extension (rfc6066) to provide a certificate per virtual
-# host. Set ssl_verify_vhost to True if the server's SSL certificate uses the
-# virtual host name instead of the DNS name. (boolean value)
-#ssl_verify_vhost = false
-
-# DEPRECATED: Accept clients using either SSL or plain TCP (boolean value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Not applicable - not a SSL server
-#allow_insecure_clients = false
-
-# Space separated list of acceptable SASL mechanisms (string value)
-#sasl_mechanisms =
-
-# Path to directory that contains the SASL configuration (string value)
-#sasl_config_dir =
-
-# Name of configuration file (without .conf suffix) (string value)
-#sasl_config_name =
-
-# SASL realm to use if no realm present in username (string value)
-#sasl_default_realm =
-
-# DEPRECATED: User name for message broker authentication (string value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Should use configuration option transport_url to provide the
-# username.
-#username =
-
-# DEPRECATED: Password for message broker authentication (string value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Should use configuration option transport_url to provide the
-# password.
-#password =
-
-# Seconds to pause before attempting to re-connect. (integer value)
-# Minimum value: 1
-#connection_retry_interval = 1
-
-# Increase the connection_retry_interval by this many seconds after each
-# unsuccessful failover attempt. (integer value)
-# Minimum value: 0
-#connection_retry_backoff = 2
-
-# Maximum limit for connection_retry_interval + connection_retry_backoff
-# (integer value)
-# Minimum value: 1
-#connection_retry_interval_max = 30
-
-# Time to pause between re-connecting an AMQP 1.0 link that failed due to a
-# recoverable error. (integer value)
-# Minimum value: 1
-#link_retry_delay = 10
-
-# The maximum number of attempts to re-send a reply message which failed due to
-# a recoverable error. (integer value)
-# Minimum value: -1
-#default_reply_retry = 0
-
-# The deadline for an rpc reply message delivery. (integer value)
-# Minimum value: 5
-#default_reply_timeout = 30
-
-# The deadline for an rpc cast or call message delivery. Only used when caller
-# does not provide a timeout expiry. (integer value)
-# Minimum value: 5
-#default_send_timeout = 30
-
-# The deadline for a sent notification message delivery. Only used when caller
-# does not provide a timeout expiry. (integer value)
-# Minimum value: 5
-#default_notify_timeout = 30
-
-# The duration to schedule a purge of idle sender links. Detach link after
-# expiry. (integer value)
-# Minimum value: 1
-#default_sender_link_timeout = 600
-
-# Indicates the addressing mode used by the driver.
-# Permitted values:
-# 'legacy'   - use legacy non-routable addressing
-# 'routable' - use routable addresses
-# 'dynamic'  - use legacy addresses if the message bus does not support routing
-# otherwise use routable addressing (string value)
-#addressing_mode = dynamic
-
-# Enable virtual host support for those message buses that do not natively
-# support virtual hosting (such as qpidd). When set to true the virtual host
-# name will be added to all message bus addresses, effectively creating a
-# private 'subnet' per virtual host. Set to False if the message bus supports
-# virtual hosting using the 'hostname' field in the AMQP 1.0 Open performative
-# as the name of the virtual host. (boolean value)
-#pseudo_vhost = true
-
-# address prefix used when sending to a specific server (string value)
-#server_request_prefix = exclusive
-
-# address prefix used when broadcasting to all servers (string value)
-#broadcast_prefix = broadcast
-
-# address prefix when sending to any server in group (string value)
-#group_request_prefix = unicast
-
-# Address prefix for all generated RPC addresses (string value)
-#rpc_address_prefix = openstack.org/om/rpc
-
-# Address prefix for all generated Notification addresses (string value)
-#notify_address_prefix = openstack.org/om/notify
-
-# Appended to the address prefix when sending a fanout message. Used by the
-# message bus to identify fanout messages. (string value)
-#multicast_address = multicast
-
-# Appended to the address prefix when sending to a particular RPC/Notification
-# server. Used by the message bus to identify messages sent to a single
-# destination. (string value)
-#unicast_address = unicast
-
-# Appended to the address prefix when sending to a group of consumers. Used by
-# the message bus to identify messages that should be delivered in a round-
-# robin fashion across consumers. (string value)
-#anycast_address = anycast
-
-# Exchange name used in notification addresses.
-# Exchange name resolution precedence:
-# Target.exchange if set
-# else default_notification_exchange if set
-# else control_exchange if set
-# else 'notify' (string value)
-#default_notification_exchange = <None>
-
-# Exchange name used in RPC addresses.
-# Exchange name resolution precedence:
-# Target.exchange if set
-# else default_rpc_exchange if set
-# else control_exchange if set
-# else 'rpc' (string value)
-#default_rpc_exchange = <None>
-
-# Window size for incoming RPC Reply messages. (integer value)
-# Minimum value: 1
-#reply_link_credit = 200
-
-# Window size for incoming RPC Request messages (integer value)
-# Minimum value: 1
-#rpc_server_credit = 100
-
-# Window size for incoming Notification messages (integer value)
-# Minimum value: 1
-#notify_server_credit = 100
-
-# Send messages of this type pre-settled.
-# Pre-settled messages will not receive acknowledgement
-# from the peer. Note well: pre-settled messages may be
-# silently discarded if the delivery fails.
-# Permitted values:
-# 'rpc-call' - send RPC Calls pre-settled
-# 'rpc-reply'- send RPC Replies pre-settled
-# 'rpc-cast' - Send RPC Casts pre-settled
-# 'notify'   - Send Notifications pre-settled
-#  (multi valued)
-#pre_settled = rpc-cast
-#pre_settled = rpc-reply
-
-
-[oslo_messaging_kafka]
-
-#
-# From oslo.messaging
-#
-
-# DEPRECATED: Default Kafka broker Host (string value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Replaced by [DEFAULT]/transport_url
-#kafka_default_host = localhost
-
-# DEPRECATED: Default Kafka broker Port (port value)
-# Minimum value: 0
-# Maximum value: 65535
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Replaced by [DEFAULT]/transport_url
-#kafka_default_port = 9092
-
-# Max fetch bytes of Kafka consumer (integer value)
-#kafka_max_fetch_bytes = 1048576
-
-# Default timeout(s) for Kafka consumers (floating point value)
-#kafka_consumer_timeout = 1.0
-
-# Pool Size for Kafka Consumers (integer value)
-#pool_size = 10
-
-# The pool size limit for connections expiration policy (integer value)
-#conn_pool_min_size = 2
-
-# The time-to-live in sec of idle connections in the pool (integer value)
-#conn_pool_ttl = 1200
-
-# Group id for Kafka consumer. Consumers in one group will coordinate message
-# consumption (string value)
-#consumer_group = oslo_messaging_consumer
-
-# Upper bound on the delay for KafkaProducer batching in seconds (floating
-# point value)
-#producer_batch_timeout = 0.0
-
-# Size of batch for the producer async send (integer value)
-#producer_batch_size = 16384
-
-
-[oslo_messaging_notifications]
-
-#
-# From oslo.messaging
-#
-
-# The Drivers(s) to handle sending notifications. Possible values are
-# messaging, messagingv2, routing, log, test, noop (multi valued)
-# Deprecated group/name - [DEFAULT]/notification_driver
-#driver =
-
-# A URL representing the messaging driver to use for notifications. If not set,
-# we fall back to the same configuration used for RPC. (string value)
-# Deprecated group/name - [DEFAULT]/notification_transport_url
-#transport_url = <None>
-
-# AMQP topic used for OpenStack notifications. (list value)
-# Deprecated group/name - [rpc_notifier2]/topics
-# Deprecated group/name - [DEFAULT]/notification_topics
-#topics = notifications
-
-# The maximum number of attempts to re-send a notification message which failed
-# to be delivered due to a recoverable error. 0 - No retry, -1 - indefinite
-# (integer value)
-#retry = -1
-
-
-[oslo_messaging_rabbit]
-
-#
-# From oslo.messaging
-#
-
-# Use durable queues in AMQP. (boolean value)
-# Deprecated group/name - [DEFAULT]/amqp_durable_queues
-# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
-#amqp_durable_queues = false
-
-# Auto-delete queues in AMQP. (boolean value)
-#amqp_auto_delete = false
-
-# Enable SSL (boolean value)
-#ssl = <None>
-
-# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and
-# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some
-# distributions. (string value)
-# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_version
-#ssl_version =
-
-# SSL key file (valid only if SSL enabled). (string value)
-# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_keyfile
-#ssl_key_file =
-
-# SSL cert file (valid only if SSL enabled). (string value)
-# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_certfile
-#ssl_cert_file =
-
-# SSL certification authority file (valid only if SSL enabled). (string value)
-# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_ca_certs
-#ssl_ca_file =
-
-# How long to wait before reconnecting in response to an AMQP consumer cancel
-# notification. (floating point value)
-#kombu_reconnect_delay = 1.0
-
-# EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not
-# be used. This option may not be available in future versions. (string value)
-#kombu_compression = <None>
-
-# How long to wait a missing client before abandoning to send it its replies.
-# This value should not be longer than rpc_response_timeout. (integer value)
-# Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout
-#kombu_missing_consumer_retry_timeout = 60
-
-# Determines how the next RabbitMQ node is chosen in case the one we are
-# currently connected to becomes unavailable. Takes effect only if more than
-# one RabbitMQ node is provided in config. (string value)
-# Possible values:
-# round-robin - <No description provided>
-# shuffle - <No description provided>
-#kombu_failover_strategy = round-robin
-
-# DEPRECATED: The RabbitMQ broker address where a single node is used. (string
-# value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Replaced by [DEFAULT]/transport_url
-#rabbit_host = localhost
-
-# DEPRECATED: The RabbitMQ broker port where a single node is used. (port
-# value)
-# Minimum value: 0
-# Maximum value: 65535
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Replaced by [DEFAULT]/transport_url
-#rabbit_port = 5672
-
-# DEPRECATED: RabbitMQ HA cluster host:port pairs. (list value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Replaced by [DEFAULT]/transport_url
-#rabbit_hosts = $rabbit_host:$rabbit_port
-
-# DEPRECATED: The RabbitMQ userid. (string value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Replaced by [DEFAULT]/transport_url
-#rabbit_userid = guest
-
-# DEPRECATED: The RabbitMQ password. (string value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Replaced by [DEFAULT]/transport_url
-#rabbit_password = guest
-
-# The RabbitMQ login method. (string value)
-# Possible values:
-# PLAIN - <No description provided>
-# AMQPLAIN - <No description provided>
-# RABBIT-CR-DEMO - <No description provided>
-#rabbit_login_method = AMQPLAIN
-
-# DEPRECATED: The RabbitMQ virtual host. (string value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-# Reason: Replaced by [DEFAULT]/transport_url
-#rabbit_virtual_host = /
-
-# How frequently to retry connecting with RabbitMQ. (integer value)
-#rabbit_retry_interval = 1
-
-# How long to backoff for between retries when connecting to RabbitMQ. (integer
-# value)
-#rabbit_retry_backoff = 2
-
-# Maximum interval of RabbitMQ connection retries. Default is 30 seconds.
-# (integer value)
-#rabbit_interval_max = 30
-
-# DEPRECATED: Maximum number of RabbitMQ connection retries. Default is 0
-# (infinite retry count). (integer value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-#rabbit_max_retries = 0
-
-# Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this
-# option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring
-# is no longer controlled by the x-ha-policy argument when declaring a queue.
-# If you just want to make sure that all queues (except those with auto-
-# generated names) are mirrored across all nodes, run: "rabbitmqctl set_policy
-# HA '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value)
-#rabbit_ha_queues = false
-
-# Positive integer representing duration in seconds for queue TTL (x-expires).
-# Queues which are unused for the duration of the TTL are automatically
-# deleted. The parameter affects only reply and fanout queues. (integer value)
-# Minimum value: 1
-#rabbit_transient_queues_ttl = 1800
-
-# Specifies the number of messages to prefetch. Setting to zero allows
-# unlimited messages. (integer value)
-#rabbit_qos_prefetch_count = 0
-
-# Number of seconds after which the Rabbit broker is considered down if
-# heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL (integer
-# value)
-#heartbeat_timeout_threshold = 60
-
-# How often times during the heartbeat_timeout_threshold we check the
-# heartbeat. (integer value)
-#heartbeat_rate = 2
-
-# Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake (boolean value)
-#fake_rabbit = false
-
-# Maximum number of channels to allow (integer value)
-#channel_max = <None>
-
-# The maximum byte size for an AMQP frame (integer value)
-#frame_max = <None>
-
-# How often to send heartbeats for consumer's connections (integer value)
-#heartbeat_interval = 3
-
-# Arguments passed to ssl.wrap_socket (dict value)
-#ssl_options = <None>
-
-# Set socket timeout in seconds for connection's socket (floating point value)
-#socket_timeout = 0.25
-
-# Set TCP_USER_TIMEOUT in seconds for connection's socket (floating point
-# value)
-#tcp_user_timeout = 0.25
-
-# Set delay for reconnection to some host which has connection error (floating
-# point value)
-#host_connection_reconnect_delay = 0.25
-
-# Connection factory implementation (string value)
-# Possible values:
-# new - <No description provided>
-# single - <No description provided>
-# read_write - <No description provided>
-#connection_factory = single
-
-# Maximum number of connections to keep queued. (integer value)
-#pool_max_size = 30
-
-# Maximum number of connections to create above `pool_max_size`. (integer
-# value)
-#pool_max_overflow = 0
-
-# Default number of seconds to wait for a connections to available (integer
-# value)
-#pool_timeout = 30
-
-# Lifetime of a connection (since creation) in seconds or None for no
-# recycling. Expired connections are closed on acquire. (integer value)
-#pool_recycle = 600
-
-# Threshold at which inactive (since release) connections are considered stale
-# in seconds or None for no staleness. Stale connections are closed on acquire.
-# (integer value)
-#pool_stale = 60
-
-# Default serialization mechanism for serializing/deserializing
-# outgoing/incoming messages (string value)
-# Possible values:
-# json - <No description provided>
-# msgpack - <No description provided>
-#default_serializer_type = json
-
-# Persist notification messages. (boolean value)
-#notification_persistence = false
-
-# Exchange name for sending notifications (string value)
-#default_notification_exchange = ${control_exchange}_notification
-
-# Max number of not acknowledged message which RabbitMQ can send to
-# notification listener. (integer value)
-#notification_listener_prefetch_count = 100
-
-# Reconnecting retry count in case of connectivity problem during sending
-# notification, -1 means infinite retry. (integer value)
-#default_notification_retry_attempts = -1
-
-# Reconnecting retry delay in case of connectivity problem during sending
-# notification message (floating point value)
-#notification_retry_delay = 0.25
-
-# Time to live for rpc queues without consumers in seconds. (integer value)
-#rpc_queue_expiration = 60
-
-# Exchange name for sending RPC messages (string value)
-#default_rpc_exchange = ${control_exchange}_rpc
-
-# Exchange name for receiving RPC replies (string value)
-#rpc_reply_exchange = ${control_exchange}_rpc_reply
-
-# Max number of not acknowledged message which RabbitMQ can send to rpc
-# listener. (integer value)
-#rpc_listener_prefetch_count = 100
-
-# Max number of not acknowledged message which RabbitMQ can send to rpc reply
-# listener. (integer value)
-#rpc_reply_listener_prefetch_count = 100
-
-# Reconnecting retry count in case of connectivity problem during sending
-# reply. -1 means infinite retry during rpc_timeout (integer value)
-#rpc_reply_retry_attempts = -1
-
-# Reconnecting retry delay in case of connectivity problem during sending
-# reply. (floating point value)
-#rpc_reply_retry_delay = 0.25
-
-# Reconnecting retry count in case of connectivity problem during sending RPC
-# message, -1 means infinite retry. If actual retry attempts in not 0 the rpc
-# request could be processed more than one time (integer value)
-#default_rpc_retry_attempts = -1
-
-# Reconnecting retry delay in case of connectivity problem during sending RPC
-# message (floating point value)
-#rpc_retry_delay = 0.25
-
-
-[oslo_messaging_zmq]
-
-#
-# From oslo.messaging
-#
-
-# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
-# The "host" option should point or resolve to this address. (string value)
-#rpc_zmq_bind_address = *
-
-# MatchMaker driver. (string value)
-# Possible values:
-# redis - <No description provided>
-# sentinel - <No description provided>
-# dummy - <No description provided>
-#rpc_zmq_matchmaker = redis
-
-# Number of ZeroMQ contexts, defaults to 1. (integer value)
-#rpc_zmq_contexts = 1
-
-# Maximum number of ingress messages to locally buffer per topic. Default is
-# unlimited. (integer value)
-#rpc_zmq_topic_backlog = <None>
-
-# Directory for holding IPC sockets. (string value)
-#rpc_zmq_ipc_dir = /var/run/openstack
-
-# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match
-# "host" option, if running Nova. (string value)
-#rpc_zmq_host = localhost
-
-# Number of seconds to wait before all pending messages will be sent after
-# closing a socket. The default value of -1 specifies an infinite linger
-# period. The value of 0 specifies no linger period. Pending messages shall be
-# discarded immediately when the socket is closed. Positive values specify an
-# upper bound for the linger period. (integer value)
-# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
-#zmq_linger = -1
-
-# The default number of seconds that poll should wait. Poll raises timeout
-# exception when timeout expired. (integer value)
-#rpc_poll_timeout = 1
-
-# Expiration timeout in seconds of a name service record about existing target
-# ( < 0 means no timeout). (integer value)
-#zmq_target_expire = 300
-
-# Update period in seconds of a name service record about existing target.
-# (integer value)
-#zmq_target_update = 180
-
-# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean
-# value)
-#use_pub_sub = false
-
-# Use ROUTER remote proxy. (boolean value)
-#use_router_proxy = false
-
-# This option makes direct connections dynamic or static. It makes sense only
-# with use_router_proxy=False which means to use direct connections for direct
-# message types (ignored otherwise). (boolean value)
-#use_dynamic_connections = false
-
-# How many additional connections to a host will be made for failover reasons.
-# This option is actual only in dynamic connections mode. (integer value)
-#zmq_failover_connections = 2
-
-# Minimal port number for random ports range. (port value)
-# Minimum value: 0
-# Maximum value: 65535
-#rpc_zmq_min_port = 49153
-
-# Maximal port number for random ports range. (integer value)
-# Minimum value: 1
-# Maximum value: 65536
-#rpc_zmq_max_port = 65536
-
-# Number of retries to find free port number before fail with ZMQBindError.
-# (integer value)
-#rpc_zmq_bind_port_retries = 100
-
-# Default serialization mechanism for serializing/deserializing
-# outgoing/incoming messages (string value)
-# Possible values:
-# json - <No description provided>
-# msgpack - <No description provided>
-#rpc_zmq_serialization = json
-
-# This option configures round-robin mode in zmq socket. True means not keeping
-# a queue when server side disconnects. False means to keep queue and messages
-# even if server is disconnected, when the server appears we send all
-# accumulated messages to it. (boolean value)
-#zmq_immediate = true
-
-# Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any
-# other negative value) means to skip any overrides and leave it to OS default;
-# 0 and 1 (or any other positive value) mean to disable and enable the option
-# respectively. (integer value)
-#zmq_tcp_keepalive = -1
-
-# The duration between two keepalive transmissions in idle condition. The unit
-# is platform dependent, for example, seconds in Linux, milliseconds in Windows
-# etc. The default value of -1 (or any other negative value and 0) means to
-# skip any overrides and leave it to OS default. (integer value)
-#zmq_tcp_keepalive_idle = -1
-
-# The number of retransmissions to be carried out before declaring that remote
-# end is not available. The default value of -1 (or any other negative value
-# and 0) means to skip any overrides and leave it to OS default. (integer
-# value)
-#zmq_tcp_keepalive_cnt = -1
-
-# The duration between two successive keepalive retransmissions, if
-# acknowledgement to the previous keepalive transmission is not received. The
-# unit is platform dependent, for example, seconds in Linux, milliseconds in
-# Windows etc. The default value of -1 (or any other negative value and 0)
-# means to skip any overrides and leave it to OS default. (integer value)
-#zmq_tcp_keepalive_intvl = -1
-
-# Maximum number of (green) threads to work concurrently. (integer value)
-#rpc_thread_pool_size = 100
-
-# Expiration timeout in seconds of a sent/received message after which it is
-# not tracked anymore by a client/server. (integer value)
-#rpc_message_ttl = 300
-
-# Wait for message acknowledgements from receivers. This mechanism works only
-# via proxy without PUB/SUB. (boolean value)
-#rpc_use_acks = false
-
-# Number of seconds to wait for an ack from a cast/call. After each retry
-# attempt this timeout is multiplied by some specified multiplier. (integer
-# value)
-#rpc_ack_timeout_base = 15
-
-# Number to multiply base ack timeout by after each retry attempt. (integer
-# value)
-#rpc_ack_timeout_multiplier = 2
-
-# Default number of message sending attempts in case of any problems occurred:
-# positive value N means at most N retries, 0 means no retries, None or -1 (or
-# any other negative values) mean to retry forever. This option is used only if
-# acknowledgments are enabled. (integer value)
-#rpc_retry_attempts = 3
-
-# List of publisher hosts SubConsumer can subscribe on. This option has higher
-# priority then the default publishers list taken from the matchmaker. (list
-# value)
-#subscribe_on =
-
-
-[oslo_middleware]
-
-#
-# From oslo.middleware
-#
-
-# The maximum body size for each  request, in bytes. (integer value)
-# Deprecated group/name - [DEFAULT]/osapi_max_request_body_size
-# Deprecated group/name - [DEFAULT]/max_request_body_size
-#max_request_body_size = 114688
-
-# DEPRECATED: The HTTP Header that will be used to determine what the original
-# request protocol scheme was, even if it was hidden by a SSL termination
-# proxy. (string value)
-# This option is deprecated for removal.
-# Its value may be silently ignored in the future.
-#secure_proxy_ssl_header = X-Forwarded-Proto
-
-# Whether the application is behind a proxy or not. This determines if the
-# middleware should parse the headers or not. (boolean value)
-#enable_proxy_headers_parsing = false
-
-
-[oslo_policy]
-
-#
-# From oslo.policy
-#
-
-# This option controls whether or not to enforce scope when evaluating
-# policies. If ``True``, the scope of the token used in the request is compared
-# to the ``scope_types`` of the policy being enforced. If the scopes do not
-# match, an ``InvalidScope`` exception will be raised. If ``False``, a message
-# will be logged informing operators that policies are being invoked with
-# mismatching scope. (boolean value)
-#enforce_scope = false
-
-# The file that defines policies. (string value)
-#policy_file = policy.json
-
-# Default rule. Enforced when a requested rule is not found. (string value)
-#policy_default_rule = default
-
-# Directories where policy configuration files are stored. They can be relative
-# to any directory in the search path defined by the config_dir option, or
-# absolute paths. The file defined by policy_file must exist for these
-# directories to be searched.  Missing or empty directories are ignored. (multi
-# valued)
-#policy_dirs = policy.d
-
-# Content Type to send and receive data for REST based policy check (string
-# value)
-# Possible values:
-# application/x-www-form-urlencoded - <No description provided>
-# application/json - <No description provided>
-#remote_content_type = application/x-www-form-urlencoded
-
-# server identity verification for REST based policy check (boolean value)
-#remote_ssl_verify_server_crt = false
-
-# Absolute path to ca cert file for REST based policy check (string value)
-#remote_ssl_ca_crt_file = <None>
-
-# Absolute path to client cert for REST based policy check (string value)
-#remote_ssl_client_crt_file = <None>
-
-# Absolute path client key file REST based policy check (string value)
-#remote_ssl_client_key_file = <None>
-
-
-[policy]
-
-#
-# From keystone
-#
-
-# Entry point for the policy backend driver in the `keystone.policy` namespace.
-# Supplied drivers are `rules` (which does not support any CRUD operations for
-# the v3 policy API) and `sql`. Typically, there is no reason to set this
-# option unless you are providing a custom entry point. (string value)
-#driver = sql
-
-# Maximum number of entities that will be returned in a policy collection.
-# (integer value)
-#list_limit = <None>
-
-
-[profiler]
-
-#
-# From osprofiler
-#
-
-#
-# Enables the profiling for all services on this node. Default value is False
-# (fully disable the profiling feature).
-#
-# Possible values:
-#
-# * True: Enables the feature
-# * False: Disables the feature. The profiling cannot be started via this
-# project
-# operations. If the profiling is triggered by another project, this project
-# part
-# will be empty.
-#  (boolean value)
-# Deprecated group/name - [profiler]/profiler_enabled
-#enabled = false
-
-#
-# Enables SQL requests profiling in services. Default value is False (SQL
-# requests won't be traced).
-#
-# Possible values:
-#
-# * True: Enables SQL requests profiling. Each SQL query will be part of the
-# trace and can the be analyzed by how much time was spent for that.
-# * False: Disables SQL requests profiling. The spent time is only shown on a
-# higher level of operations. Single SQL queries cannot be analyzed this
-# way.
-#  (boolean value)
-#trace_sqlalchemy = false
-
-#
-# Secret key(s) to use for encrypting context data for performance profiling.
-# This string value should have the following format:
-# <key1>[,<key2>,...<keyn>],
-# where each key is some random string. A user who triggers the profiling via
-# the REST API has to set one of these keys in the headers of the REST API call
-# to include profiling results of this node for this particular project.
-#
-# Both "enabled" flag and "hmac_keys" config options should be set to enable
-# profiling. Also, to generate correct profiling information across all
-# services
-# at least one key needs to be consistent between OpenStack projects. This
-# ensures it can be used from client side to generate the trace, containing
-# information from all possible resources. (string value)
-#hmac_keys = SECRET_KEY
-
-#
-# Connection string for a notifier backend. Default value is messaging:// which
-# sets the notifier to oslo_messaging.
-#
-# Examples of possible values:
-#
-# * messaging://: use oslo_messaging driver for sending notifications.
-# * mongodb://127.0.0.1:27017 : use mongodb driver for sending notifications.
-# * elasticsearch://127.0.0.1:9200 : use elasticsearch driver for sending
-# notifications.
-#  (string value)
-#connection_string = messaging://
-
-#
-# Document type for notification indexing in elasticsearch.
-#  (string value)
-#es_doc_type = notification
-
-#
-# This parameter is a time value parameter (for example: es_scroll_time=2m),
-# indicating for how long the nodes that participate in the search will
-# maintain
-# relevant resources in order to continue and support it.
-#  (string value)
-#es_scroll_time = 2m
-
-#
-# Elasticsearch splits large requests in batches. This parameter defines
-# maximum size of each batch (for example: es_scroll_size=10000).
-#  (integer value)
-#es_scroll_size = 10000
-
-#
-# Redissentinel provides a timeout option on the connections.
-# This parameter defines that timeout (for example: socket_timeout=0.1).
-#  (floating point value)
-#socket_timeout = 0.1
-
-#
-# Redissentinel uses a service name to identify a master redis service.
-# This parameter defines the name (for example:
-# sentinal_service_name=mymaster).
-#  (string value)
-#sentinel_service_name = mymaster
-
-
-[receipt]
-
-#
-# From keystone
-#
-
-# The amount of time that a receipt should remain valid (in seconds). This
-# value should always be very short, as it represents how long a user has to
-# reattempt auth with the missing auth methods. (integer value)
-# Minimum value: 0
-# Maximum value: 86400
-#expiration = 300
-
-# Entry point for the receipt provider in the `keystone.receipt.provider`
-# namespace. The receipt provider controls the receipt construction and
-# validation operations. Keystone includes just the `fernet` receipt provider
-# for now. `fernet` receipts do not need to be persisted at all, but require
-# that you run `keystone-manage fernet_setup` (also see the `keystone-manage
-# fernet_rotate` command). (string value)
-#provider = fernet
-
-# Toggle for caching receipt creation and validation data. This has no effect
-# unless global caching is enabled, or if cache_on_issue is disabled as we only
-# cache receipts on issue. (boolean value)
-#caching = true
-
-# The number of seconds to cache receipt creation and validation data. This has
-# no effect unless both global and `[receipt] caching` are enabled. (integer
-# value)
-# Minimum value: 0
-#cache_time = 300
-
-# Enable storing issued receipt data to receipt validation cache so that first
-# receipt validation doesn't actually cause full validation cycle. This option
-# has no effect unless global caching and receipt caching are enabled. (boolean
-# value)
-#cache_on_issue = true
-
-
-[resource]
-
-#
-# From keystone
-#
-
-# DEPRECATED: Entry point for the resource driver in the `keystone.resource`
-# namespace. Only a `sql` driver is supplied by keystone. Unless you are
-# writing proprietary drivers for keystone, you do not need to set this option.
-# (string value)
-# This option is deprecated for removal since P.
-# Its value may be silently ignored in the future.
-# Reason: Non-SQL resource cannot be used with SQL Identity and has been unable
-# to be used since Ocata. SQL Resource backend is a requirement as of Pike.
-# Setting this option no longer has an effect on how Keystone operates.
-#driver = sql
-
-# Toggle for resource caching. This has no effect unless global caching is
-# enabled. (boolean value)
-# Deprecated group/name - [assignment]/caching
-#caching = true
-
-# Time to cache resource data in seconds. This has no effect unless global
-# caching is enabled. (integer value)
-# Deprecated group/name - [assignment]/cache_time
-#cache_time = <None>
-
-# Maximum number of entities that will be returned in a resource collection.
-# (integer value)
-# Deprecated group/name - [assignment]/list_limit
-#list_limit = <None>
-
-# Name of the domain that owns the `admin_project_name`. If left unset, then
-# there is no admin project. `[resource] admin_project_name` must also be set
-# to use this option. (string value)
-#admin_project_domain_name = <None>
-
-# This is a special project which represents cloud-level administrator
-# privileges across services. Tokens scoped to this project will contain a true
-# `is_admin_project` attribute to indicate to policy systems that the role
-# assignments on that specific project should apply equally across every
-# project. If left unset, then there is no admin project, and thus no explicit
-# means of cross-project role assignments. `[resource]
-# admin_project_domain_name` must also be set to use this option. (string
-# value)
-#admin_project_name = <None>
-
-# This controls whether the names of projects are restricted from containing
-# URL-reserved characters. If set to `new`, attempts to create or update a
-# project with a URL-unsafe name will fail. If set to `strict`, attempts to
-# scope a token with a URL-unsafe project name will fail, thereby forcing all
-# project names to be updated to be URL-safe. (string value)
-# Possible values:
-# off - <No description provided>
-# new - <No description provided>
-# strict - <No description provided>
-#project_name_url_safe = off
-
-# This controls whether the names of domains are restricted from containing
-# URL-reserved characters. If set to `new`, attempts to create or update a
-# domain with a URL-unsafe name will fail. If set to `strict`, attempts to
-# scope a token with a URL-unsafe domain name will fail, thereby forcing all
-# domain names to be updated to be URL-safe. (string value)
-# Possible values:
-# off - <No description provided>
-# new - <No description provided>
-# strict - <No description provided>
-#domain_name_url_safe = off
-
-
-[revoke]
-
-#
-# From keystone
-#
-
-# Entry point for the token revocation backend driver in the `keystone.revoke`
-# namespace. Keystone only provides a `sql` driver, so there is no reason to
-# set this option unless you are providing a custom entry point. (string value)
-#driver = sql
-
-# The number of seconds after a token has expired before a corresponding
-# revocation event may be purged from the backend. (integer value)
-# Minimum value: 0
-#expiration_buffer = 1800
-
-# Toggle for revocation event caching. This has no effect unless global caching
-# is enabled. (boolean value)
-#caching = true
-
-# Time to cache the revocation list and the revocation events (in seconds).
-# This has no effect unless global and `[revoke] caching` are both enabled.
-# (integer value)
-# Deprecated group/name - [token]/revocation_cache_time
-#cache_time = 3600
-
-
-[role]
-
-#
-# From keystone
-#
-
-# Entry point for the role backend driver in the `keystone.role` namespace.
-# Keystone only provides a `sql` driver, so there's no reason to change this
-# unless you are providing a custom entry point. (string value)
-#driver = <None>
-
-# Toggle for role caching. This has no effect unless global caching is enabled.
-# In a typical deployment, there is no reason to disable this. (boolean value)
-#caching = true
-
-# Time to cache role data, in seconds. This has no effect unless both global
-# caching and `[role] caching` are enabled. (integer value)
-#cache_time = <None>
-
-# Maximum number of entities that will be returned in a role collection. This
-# may be useful to tune if you have a large number of discrete roles in your
-# deployment. (integer value)
-#list_limit = <None>
-
-
-[saml]
-
-#
-# From keystone
-#
-
-# Determines the lifetime for any SAML assertions generated by keystone, using
-# `NotOnOrAfter` attributes. (integer value)
-#assertion_expiration_time = 3600
-
-# Name of, or absolute path to, the binary to be used for XML signing. Although
-# only the XML Security Library (`xmlsec1`) is supported, it may have a non-
-# standard name or path on your system. If keystone cannot find the binary
-# itself, you may need to install the appropriate package, use this option to
-# specify an absolute path, or adjust keystone's PATH environment variable.
-# (string value)
-#xmlsec1_binary = xmlsec1
-
-# Absolute path to the public certificate file to use for SAML signing. The
-# value cannot contain a comma (`,`). (string value)
-#certfile = /etc/keystone/ssl/certs/signing_cert.pem
-
-# Absolute path to the private key file to use for SAML signing. The value
-# cannot contain a comma (`,`). (string value)
-#keyfile = /etc/keystone/ssl/private/signing_key.pem
-
-# This is the unique entity identifier of the identity provider (keystone) to
-# use when generating SAML assertions. This value is required to generate
-# identity provider metadata and must be a URI (a URL is recommended). For
-# example: `https://keystone.example.com/v3/OS-FEDERATION/saml2/idp`. (uri
-# value)
-#idp_entity_id = <None>
-
-# This is the single sign-on (SSO) service location of the identity provider
-# which accepts HTTP POST requests. A value is required to generate identity
-# provider metadata. For example: `https://keystone.example.com/v3/OS-
-# FEDERATION/saml2/sso`. (uri value)
-#idp_sso_endpoint = <None>
-
-# This is the language used by the identity provider's organization. (string
-# value)
-#idp_lang = en
-
-# This is the name of the identity provider's organization. (string value)
-#idp_organization_name = SAML Identity Provider
-
-# This is the name of the identity provider's organization to be displayed.
-# (string value)
-#idp_organization_display_name = OpenStack SAML Identity Provider
-
-# This is the URL of the identity provider's organization. The URL referenced
-# here should be useful to humans. (uri value)
-#idp_organization_url = https://example.com/
-
-# This is the company name of the identity provider's contact person. (string
-# value)
-#idp_contact_company = Example, Inc.
-
-# This is the given name of the identity provider's contact person. (string
-# value)
-#idp_contact_name = SAML Identity Provider Support
-
-# This is the surname of the identity provider's contact person. (string value)
-#idp_contact_surname = Support
-
-# This is the email address of the identity provider's contact person. (string
-# value)
-#idp_contact_email = support@example.com
-
-# This is the telephone number of the identity provider's contact person.
-# (string value)
-#idp_contact_telephone = +1 800 555 0100
-
-# This is the type of contact that best describes the identity provider's
-# contact person. (string value)
-# Possible values:
-# technical - <No description provided>
-# support - <No description provided>
-# administrative - <No description provided>
-# billing - <No description provided>
-# other - <No description provided>
-#idp_contact_type = other
-
-# Absolute path to the identity provider metadata file. This file should be
-# generated with the `keystone-manage saml_idp_metadata` command. There is
-# typically no reason to change this value. (string value)
-#idp_metadata_path = /etc/keystone/saml2_idp_metadata.xml
-
-# The prefix of the RelayState SAML attribute to use when generating enhanced
-# client and proxy (ECP) assertions. In a typical deployment, there is no
-# reason to change this value. (string value)
-#relay_state_prefix = ss:mem:
-
-
-[security_compliance]
-
-#
-# From keystone
-#
-
-# The maximum number of days a user can go without authenticating before being
-# considered "inactive" and automatically disabled (locked). This feature is
-# disabled by default; set any value to enable it. This feature depends on the
-# `sql` backend for the `[identity] driver`. When a user exceeds this threshold
-# and is considered "inactive", the user's `enabled` attribute in the HTTP API
-# may not match the value of the user's `enabled` column in the user table.
-# (integer value)
-# Minimum value: 1
-#disable_user_account_days_inactive = <None>
-
-# The maximum number of times that a user can fail to authenticate before the
-# user account is locked for the number of seconds specified by
-# `[security_compliance] lockout_duration`. This feature is disabled by
-# default. If this feature is enabled and `[security_compliance]
-# lockout_duration` is not set, then users may be locked out indefinitely until
-# the user is explicitly enabled via the API. This feature depends on the `sql`
-# backend for the `[identity] driver`. (integer value)
-# Minimum value: 1
-#lockout_failure_attempts = <None>
-
-# The number of seconds a user account will be locked when the maximum number
-# of failed authentication attempts (as specified by `[security_compliance]
-# lockout_failure_attempts`) is exceeded. Setting this option will have no
-# effect unless you also set `[security_compliance] lockout_failure_attempts`
-# to a non-zero value. This feature depends on the `sql` backend for the
-# `[identity] driver`. (integer value)
-# Minimum value: 1
-#lockout_duration = 1800
-
-# The number of days for which a password will be considered valid before
-# requiring it to be changed. This feature is disabled by default. If enabled,
-# new password changes will have an expiration date, however existing passwords
-# would not be impacted. This feature depends on the `sql` backend for the
-# `[identity] driver`. (integer value)
-# Minimum value: 1
-#password_expires_days = <None>
-
-# This controls the number of previous user password iterations to keep in
-# history, in order to enforce that newly created passwords are unique. The
-# total number which includes the new password should not be greater or equal
-# to this value. Setting the value to zero (the default) disables this feature.
-# Thus, to enable this feature, values must be greater than 0. This feature
-# depends on the `sql` backend for the `[identity] driver`. (integer value)
-# Minimum value: 0
-#unique_last_password_count = 0
-
-# The number of days that a password must be used before the user can change
-# it. This prevents users from changing their passwords immediately in order to
-# wipe out their password history and reuse an old password. This feature does
-# not prevent administrators from manually resetting passwords. It is disabled
-# by default and allows for immediate password changes. This feature depends on
-# the `sql` backend for the `[identity] driver`. Note: If
-# `[security_compliance] password_expires_days` is set, then the value for this
-# option should be less than the `password_expires_days`. (integer value)
-# Minimum value: 0
-#minimum_password_age = 0
-
-# The regular expression used to validate password strength requirements. By
-# default, the regular expression will match any password. The following is an
-# example of a pattern which requires at least 1 letter, 1 digit, and have a
-# minimum length of 7 characters: ^(?=.*\d)(?=.*[a-zA-Z]).{7,}$ This feature
-# depends on the `sql` backend for the `[identity] driver`. (string value)
-#password_regex = <None>
-
-# Describe your password regular expression here in language for humans. If a
-# password fails to match the regular expression, the contents of this
-# configuration variable will be returned to users to explain why their
-# requested password was insufficient. (string value)
-#password_regex_description = <None>
-
-# Enabling this option requires users to change their password when the user is
-# created, or upon administrative reset. Before accessing any services,
-# affected users will have to change their password. To ignore this requirement
-# for specific users, such as service users, set the `options` attribute
-# `ignore_change_password_upon_first_use` to `True` for the desired user via
-# the update user API. This feature is disabled by default. This feature is
-# only applicable with the `sql` backend for the `[identity] driver`. (boolean
-# value)
-#change_password_upon_first_use = false
-
-
-[shadow_users]
-
-#
-# From keystone
-#
-
-# Entry point for the shadow users backend driver in the
-# `keystone.identity.shadow_users` namespace. This driver is used for
-# persisting local user references to externally-managed identities (via
-# federation, LDAP, etc). Keystone only provides a `sql` driver, so there is no
-# reason to change this option unless you are providing a custom entry point.
-# (string value)
-#driver = sql
-
-
-[signing]
-
-#
-# From keystone
-#
-
-# DEPRECATED: Absolute path to the public certificate file to use for signing
-# responses to revocation lists requests. Set this together with `[signing]
-# keyfile`. For non-production environments, you may be interested in using
-# `keystone-manage pki_setup` to generate self-signed certificates. (string
-# value)
-# This option is deprecated for removal since P.
-# Its value may be silently ignored in the future.
-# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
-# Pike. These options remain for backwards compatibility.
-#certfile = /etc/keystone/ssl/certs/signing_cert.pem
-
-# DEPRECATED: Absolute path to the private key file to use for signing
-# responses to revocation lists requests. Set this together with `[signing]
-# certfile`. (string value)
-# This option is deprecated for removal since P.
-# Its value may be silently ignored in the future.
-# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
-# Pike. These options remain for backwards compatibility.
-#keyfile = /etc/keystone/ssl/private/signing_key.pem
-
-# DEPRECATED: Absolute path to the public certificate authority (CA) file to
-# use when creating self-signed certificates with `keystone-manage pki_setup`.
-# Set this together with `[signing] ca_key`. There is no reason to set this
-# option unless you are requesting revocation lists in a non-production
-# environment. Use a `[signing] certfile` issued from a trusted certificate
-# authority instead. (string value)
-# This option is deprecated for removal since P.
-# Its value may be silently ignored in the future.
-# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
-# Pike. These options remain for backwards compatibility.
-#ca_certs = /etc/keystone/ssl/certs/ca.pem
-
-# DEPRECATED: Absolute path to the private certificate authority (CA) key file
-# to use when creating self-signed certificates with `keystone-manage
-# pki_setup`. Set this together with `[signing] ca_certs`. There is no reason
-# to set this option unless you are requesting revocation lists in a non-
-# production environment. Use a `[signing] certfile` issued from a trusted
-# certificate authority instead. (string value)
-# This option is deprecated for removal since P.
-# Its value may be silently ignored in the future.
-# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
-# Pike. These options remain for backwards compatibility.
-#ca_key = /etc/keystone/ssl/private/cakey.pem
-
-# DEPRECATED: Key size (in bits) to use when generating a self-signed token
-# signing certificate. There is no reason to set this option unless you are
-# requesting revocation lists in a non-production environment. Use a `[signing]
-# certfile` issued from a trusted certificate authority instead. (integer
-# value)
-# Minimum value: 1024
-# This option is deprecated for removal since P.
-# Its value may be silently ignored in the future.
-# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
-# Pike. These options remain for backwards compatibility.
-#key_size = 2048
-
-# DEPRECATED: The validity period (in days) to use when generating a self-
-# signed token signing certificate. There is no reason to set this option
-# unless you are requesting revocation lists in a non-production environment.
-# Use a `[signing] certfile` issued from a trusted certificate authority
-# instead. (integer value)
-# This option is deprecated for removal since P.
-# Its value may be silently ignored in the future.
-# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
-# Pike. These options remain for backwards compatibility.
-#valid_days = 3650
-
-# DEPRECATED: The certificate subject to use when generating a self-signed
-# token signing certificate. There is no reason to set this option unless you
-# are requesting revocation lists in a non-production environment. Use a
-# `[signing] certfile` issued from a trusted certificate authority instead.
-# (string value)
-# This option is deprecated for removal since P.
-# Its value may be silently ignored in the future.
-# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in
-# Pike. These options remain for backwards compatibility.
-#cert_subject = /C=US/ST=Unset/L=Unset/O=Unset/CN=www.example.com
-
-
-[token]
-
-#
-# From keystone
-#
-
-# The amount of time that a token should remain valid (in seconds). Drastically
-# reducing this value may break "long-running" operations that involve multiple
-# services to coordinate together, and will force users to authenticate with
-# keystone more frequently. Drastically increasing this value will increase the
-# number of tokens that will be simultaneously valid. Keystone tokens are also
-# bearer tokens, so a shorter duration will also reduce the potential security
-# impact of a compromised token. (integer value)
-# Minimum value: 0
-# Maximum value: 9223372036854775807
-#expiration = 3600
-
-# Entry point for the token provider in the `keystone.token.provider`
-# namespace. The token provider controls the token construction, validation,
-# and revocation operations. Supported upstream providers are `fernet` and
-# `jws`. Neither `fernet` or `jws` tokens require persistence and both require
-# additional setup. If using `fernet`, you're required to run `keystone-manage
-# fernet_setup`, which creates symmetric keys used to encrypt tokens. If using
-# `jws`, you're required to generate an ECDSA keypair using a SHA-256 hash
-# algorithm for signing and validating token, which can be done with `keystone-
-# manage create_jws_keypair`. Note that `fernet` tokens are encrypted and `jws`
-# tokens are only signed. Please be sure to consider this if your deployment
-# has security requirements regarding payload contents used to generate token
-# IDs. (string value)
-#provider = fernet
-
-# Toggle for caching token creation and validation data. This has no effect
-# unless global caching is enabled. (boolean value)
-#caching = true
-
-# The number of seconds to cache token creation and validation data. This has
-# no effect unless both global and `[token] caching` are enabled. (integer
-# value)
-# Minimum value: 0
-# Maximum value: 9223372036854775807
-#cache_time = <None>
-
-# This toggles support for revoking individual tokens by the token identifier
-# and thus various token enumeration operations (such as listing all tokens
-# issued to a specific user). These operations are used to determine the list
-# of tokens to consider revoked. Do not disable this option if you're using the
-# `kvs` `[revoke] driver`. (boolean value)
-#revoke_by_id = true
-
-# This toggles whether scoped tokens may be re-scoped to a new project or
-# domain, thereby preventing users from exchanging a scoped token (including
-# those with a default project scope) for any other token. This forces users to
-# either authenticate for unscoped tokens (and later exchange that unscoped
-# token for tokens with a more specific scope) or to provide their credentials
-# in every request for a scoped token to avoid re-scoping altogether. (boolean
-# value)
-#allow_rescope_scoped_token = true
-
-# DEPRECATED: This controls whether roles should be included with tokens that
-# are not directly assigned to the token's scope, but are instead linked
-# implicitly to other role assignments. (boolean value)
-# This option is deprecated for removal since R.
-# Its value may be silently ignored in the future.
-# Reason: Default roles depend on a chain of implied role assignments. Ex: an
-# admin user will also have the reader and member role. By ensuring that all
-# these roles will always appear on the token validation response, we can
-# improve the simplicity and readability of policy files.
-#infer_roles = true
-
-# DEPRECATED: Enable storing issued token data to token validation cache so
-# that first token validation doesn't actually cause full validation cycle.
-# This option has no effect unless global caching is enabled and will still
-# cache tokens even if `[token] caching = False`. (boolean value)
-# This option is deprecated for removal since S.
-# Its value may be silently ignored in the future.
-# Reason: Keystone already exposes a configuration option for caching tokens.
-# Having a separate configuration option to cache tokens when they are issued
-# is redundant, unnecessarily complicated, and is misleading if token caching
-# is disabled because tokens will still be pre-cached by default when they are
-# issued. The ability to pre-cache tokens when they are issued is going to rely
-# exclusively on the ``keystone.conf [token] caching`` option in the future.
-#cache_on_issue = true
-
-# This controls the number of seconds that a token can be retrieved for beyond
-# the built-in expiry time. This allows long running operations to succeed.
-# Defaults to two days. (integer value)
-#allow_expired_window = 172800
-
-
-[tokenless_auth]
-
-#
-# From keystone
-#
-
-# The list of distinguished names which identify trusted issuers of client
-# certificates allowed to use X.509 tokenless authorization. If the option is
-# absent then no certificates will be allowed. The format for the values of a
-# distinguished name (DN) must be separated by a comma and contain no spaces.
-# Furthermore, because an individual DN may contain commas, this configuration
-# option may be repeated multiple times to represent multiple values. For
-# example, keystone.conf would include two consecutive lines in order to trust
-# two different DNs, such as `trusted_issuer = CN=john,OU=keystone,O=openstack`
-# and `trusted_issuer = CN=mary,OU=eng,O=abc`. (multi valued)
-#trusted_issuer =
-
-# The federated protocol ID used to represent X.509 tokenless authorization.
-# This is used in combination with the value of `[tokenless_auth]
-# issuer_attribute` to find a corresponding federated mapping. In a typical
-# deployment, there is no reason to change this value. (string value)
-#protocol = x509
-
-# The name of the WSGI environment variable used to pass the issuer of the
-# client certificate to keystone. This attribute is used as an identity
-# provider ID for the X.509 tokenless authorization along with the protocol to
-# look up its corresponding mapping. In a typical deployment, there is no
-# reason to change this value. (string value)
-#issuer_attribute = SSL_CLIENT_I_DN
-
-
-[trust]
-
-#
-# From keystone
-#
-
-# Allows authorization to be redelegated from one user to another, effectively
-# chaining trusts together. When disabled, the `remaining_uses` attribute of a
-# trust is constrained to be zero. (boolean value)
-#allow_redelegation = false
-
-# Maximum number of times that authorization can be redelegated from one user
-# to another in a chain of trusts. This number may be reduced further for a
-# specific trust. (integer value)
-#max_redelegation_count = 3
-
-# Entry point for the trust backend driver in the `keystone.trust` namespace.
-# Keystone only provides a `sql` driver, so there is no reason to change this
-# unless you are providing a custom entry point. (string value)
-#driver = sql
-
-
-[unified_limit]
-
-#
-# From keystone
-#
-
-# Entry point for the unified limit backend driver in the
-# `keystone.unified_limit` namespace. Keystone only provides a `sql` driver, so
-# there's no reason to change this unless you are providing a custom entry
-# point. (string value)
-#driver = sql
-
-# Toggle for unified limit caching. This has no effect unless global caching is
-# enabled. In a typical deployment, there is no reason to disable this.
-# (boolean value)
-#caching = true
-
-# Time to cache unified limit data, in seconds. This has no effect unless both
-# global caching and `[unified_limit] caching` are enabled. (integer value)
-#cache_time = <None>
-
-# Maximum number of entities that will be returned in a role collection. This
-# may be useful to tune if you have a large number of unified limits in your
-# deployment. (integer value)
-#list_limit = <None>
-
-# The enforcement model to use when validating limits associated to projects.
-# Enforcement models will behave differently depending on the existing limits,
-# which may result in backwards incompatible changes if a model is switched in
-# a running deployment. (string value)
-# Possible values:
-# flat - <No description provided>
-# strict_two_level - <No description provided>
-#enforcement_model = flat
-
-
-[wsgi]
-
-#
-# From keystone
-#
-
-# If set to true, this enables the oslo debug middleware in Keystone. This
-# Middleware prints a lot of information about the request and the response. It
-# is useful for getting information about the data on the wire (decoded) and
-# passed to the WSGI application pipeline. This middleware has no effect on the
-# "debug" setting in the [DEFAULT] section of the config file or setting
-# Keystone's log-level to "DEBUG"; it is specific to debugging the WSGI data as
-# it enters and leaves Keystone (specific request-related data). This option is
-# used for introspection on the request and response data between the web
-# server (apache, nginx, etc) and Keystone.  This middleware is inserted as the
-# first element in the middleware chain and will show the data closest to the
-# wire.  WARNING: NOT INTENDED FOR USE IN PRODUCTION. THIS MIDDLEWARE CAN AND
-# WILL EMIT SENSITIVE/PRIVILEGED DATA. (boolean value)
-#debug_middleware = false
diff --git a/meta-stx/recipes-devtools/python/files/python-keystone/stx-files/password-rules.conf b/meta-stx/recipes-devtools/python/files/python-keystone/stx-files/password-rules.conf
deleted file mode 100644 (file)
index 6a24880..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-# The password rules captures the [security_compliance]
-# section of the generic Keystone configuration (keystone.conf)
-# This configuration is used to statically define the password
-# rules for password validation in pre-Keystone environments
-#
-# N.B: Only set non-default keys here (default commented configuration
-# items not needed)
-
-[security_compliance]
-
-#
-# From keystone
-#
-
-# This controls the number of previous user password iterations to keep in
-# history, in order to enforce that newly created passwords are unique. Setting
-# the value to one (the default) disables this feature. Thus, to enable this
-# feature, values must be greater than 1. This feature depends on the `sql`
-# backend for the `[identity] driver`. (integer value)
-# Minimum value: 1
-unique_last_password_count = 2
-
-# The regular expression used to validate password strength requirements. By
-# default, the regular expression will match any password. The following is an
-# example of a pattern which requires at least 1 letter, 1 digit, and have a
-# minimum length of 7 characters: ^(?=.*\d)(?=.*[a-zA-Z]).{7,}$ This feature
-# depends on the `sql` backend for the `[identity] driver`. (string value)
-password_regex = ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()<>{}+=_\\\[\]\-?|~`,.;:]).{7,}$
-
-# Describe your password regular expression here in language for humans. If a
-# password fails to match the regular expression, the contents of this
-# configuration variable will be returned to users to explain why their
-# requested password was insufficient. (string value)
-password_regex_description = Password must have a minimum length of 7 characters, and must contain at least 1 upper case, 1 lower case, 1 digit, and 1 special character
diff --git a/meta-stx/recipes-devtools/python/files/python-keystone/wsgi-keystone.conf b/meta-stx/recipes-devtools/python/files/python-keystone/wsgi-keystone.conf
deleted file mode 100644 (file)
index b3a06bb..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-Listen 5000
-Listen 35357
-
-<VirtualHost *:5000>
-    WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
-    WSGIProcessGroup keystone-public
-    WSGIScriptAlias / /usr/bin/keystone-wsgi-public
-    WSGIApplicationGroup %{GLOBAL}
-    WSGIPassAuthorization On
-    ErrorLogFormat "%{cu}t %M"
-    ErrorLog /var/log/apache2/keystone.log
-    CustomLog /var/log/apache2/keystone_access.log combined
-
-    <Directory /usr/bin>
-        Require all granted
-    </Directory>
-</VirtualHost>
-
-<VirtualHost *:35357>
-    WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
-    WSGIProcessGroup keystone-admin
-    WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
-    WSGIApplicationGroup %{GLOBAL}
-    WSGIPassAuthorization On
-    ErrorLogFormat "%{cu}t %M"
-    ErrorLog /var/log/apache2/keystone.log
-    CustomLog /var/log/apache2/keystone_access.log combined
-
-    <Directory /usr/bin>
-        Require all granted
-    </Directory>
-</VirtualHost>
-
-Alias /identity /usr/bin/keystone-wsgi-public
-<Location /identity>
-    SetHandler wsgi-script
-    Options +ExecCGI
-
-    WSGIProcessGroup keystone-public
-    WSGIApplicationGroup %{GLOBAL}
-    WSGIPassAuthorization On
-</Location>
-
-Alias /identity_admin /usr/bin/keystone-wsgi-admin
-<Location /identity_admin>
-    SetHandler wsgi-script
-    Options +ExecCGI
-
-    WSGIProcessGroup keystone-admin
-    WSGIApplicationGroup %{GLOBAL}
-    WSGIPassAuthorization On
-</Location>
diff --git a/meta-stx/recipes-devtools/python/python-3parclient_4.2.3.bb b/meta-stx/recipes-devtools/python/python-3parclient_4.2.3.bb
deleted file mode 100644 (file)
index 547f44e..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "HPE 3PAR HTTP REST Client"
-HOMEPAGE = "https://pythonhosted.org/python-3parclient/"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=c6f4d3b3208673edc0228bbc3ad053cc"
-
-SRC_URI[md5sum] = "845e688b5607a71fc307e8371daf5d40"
-SRC_URI[sha256sum] = "fcd1c5c7d9356f4244a6c0b2b6dd6c64366399642c348b02999ea8fbf79e3a8d"
-
-PYPI_PACKAGE = "python-3parclient"
-inherit setuptools pypi
diff --git a/meta-stx/recipes-devtools/python/python-adal_1.0.2.bb b/meta-stx/recipes-devtools/python/python-adal_1.0.2.bb
deleted file mode 100644 (file)
index c919ddc..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Microsoft Azure Active Directory Authentication Library (ADAL) for Python"
-HOMEPAGE = "https://github.com/AzureAD/azure-activedirectory-library-for-python"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://setup.py;beginline=2;endline=27;md5=43b81fae9d7baa1f0b1c9774a68ca33a"
-
-
-inherit pypi setuptools
-
-PYPI_PACKAGE = "adal"
-
-SRC_URI[md5sum] = "895791621c696fbbb00dee975260f890" 
-SRC_URI[sha256sum] = "4c020807b3f3cfd90f59203077dd5e1f59671833f8c3c5028ec029ed5072f9ce"
-
-RDEPENDS_${PN} += " \
-       ${PYTHON_PN}-requests \
-       ${PYTHON_PN}-dateutil \
-       ${PYTHON_PN}-pyjwt \
-       ${PYTHON_PN}-crypt \
-       ${PYTHON_PN}-datetime \
-       ${PYTHON_PN}-json \
-       ${PYTHON_PN}-logging \
-       ${PYTHON_PN}-netclient \
-       ${PYTHON_PN}-threading \
-       ${PYTHON_PN}-xml \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-alabaster_0.7.12.bb b/meta-stx/recipes-devtools/python/python-alabaster_0.7.12.bb
deleted file mode 100644 (file)
index 5b7f7eb..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = " \
-       Alabaster is a visually (c)lean, responsive, configurable theme for the \
-       Sphinx documentation system. It is Python 2+3 compatible. \
-       "
-HOMEPAGE = "https://alabaster.readthedocs.io/en/latest/"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=da053683d66d543813a727e8a30c96ca"
-
-SRC_URI[md5sum] = "3591827fde96d1dd23970fb05410ed04"
-SRC_URI[sha256sum] = "a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"
-
-PYPI_PACKAGE = "alabaster"
-inherit setuptools pypi
diff --git a/meta-stx/recipes-devtools/python/python-amqp_2.5.2.bb b/meta-stx/recipes-devtools/python/python-amqp_2.5.2.bb
deleted file mode 100644 (file)
index a479667..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Low-level AMQP client for Python"
-HOMEPAGE = "https://pypi.python.org/pypi/amqp/"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9d6ba772ac59c08a25a12ce15bd5f27b"
-
-SRC_URI[md5sum] = "852ecff645c00f124c78915fcc8ea7c0"
-SRC_URI[sha256sum] = "77f1aef9410698d20eaeac5b73a87817365f457a507d82edf292e12cbb83b08d"
-
-PYPI_PACKAGE = "amqp"
-inherit setuptools pypi
-
-RDEPENDS_${PN} += " \
-       python-vine \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-aniso8601_git.bb b/meta-stx/recipes-devtools/python/python-aniso8601_git.bb
deleted file mode 100644 (file)
index 34e5e86..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Another ISO 8601 parser for Python"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=bf2bdb115b4d685026985cc189ca5375"
-
-SRCREV = "b5aad0fbef5664e624986a10bd1362e0ac05214c"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://bitbucket.org/nielsenb/aniso8601.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-ansible_%.bbappend b/meta-stx/recipes-devtools/python/python-ansible_%.bbappend
deleted file mode 100644 (file)
index 5e5058a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-HOMEPAGE = "https://github.com/ansible/ansible/"
-SECTION = "devel/python"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8f0e2cd40e05189ec81232da84bd6e1a"
-
-PV = "2.8.5"
-
-SRCNAME = "ansible"
-
-SRC_URI = "http://releases.ansible.com/ansible/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "86f0c18250895338709243d997005de3"
-SRC_URI[sha256sum] = "8e9403e755ce8ef27b6066cdd7a4c567aa80ebe2fd90d0ff8efa0a725d246986"
-
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-CLEANBROKEN = "1"
-
-ANSIBLE_WHITELIST_MODULES = "  \
-       cloud \
-       clustering \
-       commands \
-       database \
-       files \
-       identity \
-       inventory \
-       messaging \
-       monitoring \
-       net_tools \
-       network \
-       notification \
-       packaging \
-       remote_management \
-       source_control \
-       storage \
-       system \
-       utilities \
-       web_infrastructure \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-aodhclient_git.bb b/meta-stx/recipes-devtools/python/python-aodhclient_git.bb
deleted file mode 100644 (file)
index e10f005..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "client library for Aodh built on the Aodh API"
-HOMEPAGE = "https://launchpad.net/python-aodhclient"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRCREV = "6d03e61986418a3a95635405ae65ae9f28a5c61e"
-SRCNAME = "python-aodhclient"
-BRANCH = "stable/train"
-PROTOCOL = "https"
-PV = "1.2.0+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-       
-inherit setuptools monitor rmargparse
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native\
-        "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-        python-pbr \
-        python-cliff \
-        python-oslo.i18n \
-        python-oslo.serialization \
-        python-oslo.utils \
-        python-keystoneauth1 \
-        python-six \
-        python-osc-lib \
-       python-pyparsing \
-       "
-
-
-do_install_append() {
-       :
-}
-
-FILES_${PN} += " \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-backports-functools-lru-cache_%.bbappend b/meta-stx/recipes-devtools/python/python-backports-functools-lru-cache_%.bbappend
deleted file mode 100644 (file)
index 2ed52d4..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit python-backports-init
diff --git a/meta-stx/recipes-devtools/python/python-backports-init_1.0.bb b/meta-stx/recipes-devtools/python/python-backports-init_1.0.bb
deleted file mode 100644 (file)
index 1848fad..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Helper package to avoid backports/__init__.py conflicts"
-DETAIL = "backports packages in python2 suffer from a flaw in the namespace \
-implementation and can conflict with each other. For OE purposes, at least \
-fix the conflicting install of .../site-packages/backports/__init__.py"
-AUTHOR = "Tim Orling <ticotimo@gmail.com>"
-SECTION = "devel/python"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-SRC_URI = "file://backports/__init__.py"
-
-inherit python-dir
-
-# provide to avoid warnings
-do_compile() {
-    :
-}
-
-do_install() {
-    install -d ${D}${PYTHON_SITEPACKAGES_DIR}/backports
-    install ${WORKDIR}/backports/__init__.py ${D}${PYTHON_SITEPACKAGES_DIR}/backports/
-}
-
-FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/backports/__init__.py"
diff --git a/meta-stx/recipes-devtools/python/python-backports-ssl_%.bbappend b/meta-stx/recipes-devtools/python/python-backports-ssl_%.bbappend
deleted file mode 100644 (file)
index 2ed52d4..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit python-backports-init
diff --git a/meta-stx/recipes-devtools/python/python-barbican_git.bb b/meta-stx/recipes-devtools/python/python-barbican_git.bb
deleted file mode 100644 (file)
index 46aae34..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Barbican is a ReST API designed for the secure storage, provisioning and management of secrets."
-HOMEPAGE = "https://wiki.openstack.org/wiki/Barbican"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fc8be9e7dffe97390d1216b01fd0be01"
-
-PR = "r0"
-SRCNAME = "barbican"
-BARBICAN_MAX_PACKET_SIZE ?= "65535"
-
-SRC_URI = " \
-       git://github.com/openstack/barbican.git;branch=${BRANCH} \
-       file://${BPN}/barbican-fix-path-to-find-configuration-files.patch \
-       file://${BPN}/openstack-barbican-api.service \
-       file://${BPN}/openstack-barbican-worker.service \
-       file://${BPN}/openstack-barbican-keystone-listener.service \
-       file://${BPN}/gunicorn-config.py \
-       "
-
-SRCREV = "4c0ddda941289fba8e5ec4341b5d02d155d46162"
-BRANCH = "stable/stein"
-PV = "8.0.0+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-inherit update-rc.d setuptools identity hosts useradd default_configs monitor systemd
-
-SYSTEMD_SERVICE_${SRCNAME} = " \
-       openstack-barbican-api.service \
-       openstack-barbican-worker.service \
-       openstack-barbican-keystone-listener.service \
-       "
-
-SYSTEMD_AUTO_ENABLE_${SRCNAME} = "disable"
-
-SERVICECREATE_PACKAGES = "${SRCNAME}-setup"
-KEYSTONE_HOST="${CONTROLLER_IP}"
-
-# USERCREATE_PARAM and SERVICECREATE_PARAM contain the list of parameters to be set.
-# If the flag for a parameter in the list is not set here, the default value will be given to that parameter.
-# Parameters not in the list will be set to empty.
-
-USERCREATE_PARAM_${SRCNAME}-setup = "name pass tenant role email"
-SERVICECREATE_PARAM_${SRCNAME}-setup = "name type description region publicurl adminurl internalurl"
-python () {
-    flags = {'type':'keystore',\
-             'description':'Barbican Key Management Service',\
-             'publicurl':"'http://${KEYSTONE_HOST}:9311/v1'",\
-             'adminurl':"'http://${KEYSTONE_HOST}:9312/v1'",\
-             'internalurl':"'http://${KEYSTONE_HOST}:9313/v1'"}
-    d.setVarFlags("SERVICECREATE_PARAM_%s-setup" % d.getVar('SRCNAME',True), flags)
-}
-SERVICECREATE_PACKAGES[vardeps] += "KEYSTONE_HOST"
-
-do_install_append() {
-    TEMPLATE_CONF_DIR=${S}${sysconfdir}/${SRCNAME}
-    BARBICAN_CONF_DIR=${D}${sysconfdir}/${SRCNAME}
-
-    install -d ${BARBICAN_CONF_DIR}
-    cp -r ${TEMPLATE_CONF_DIR}/* ${BARBICAN_CONF_DIR}
-
-    install -d ${D}${localstatedir}/lib/barbican
-
-    # Install the systemd service files
-    install -d ${D}${systemd_system_unitdir}/
-    install -m 644 ${WORKDIR}/${BPN}/*.service ${D}${systemd_system_unitdir}
-
-    # python-gunicorn and gunicorn-config.py are required by openstack-barbican-api.service
-    install -m 644 ${WORKDIR}/${PN}/gunicorn-config.py ${BARBICAN_CONF_DIR}
-
-    # Modify barbican-api-paste.ini for gunicorn
-    echo '[server:main]' >> ${BARBICAN_CONF_DIR}/barbican-api-paste.ini
-    echo 'use = egg:gunicorn#main' >> ${BARBICAN_CONF_DIR}/barbican-api-paste.ini
-
-    sed -e "s:%BARBICAN_CONF_DIR%:${sysconfdir}/${SRCNAME}:g" \
-        -i ${D}/${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/tests/api/test_resources_policy.py
-
-    install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
-    echo "d ${localstatedir}/log/barbican 0750 barbican barbican -" >> ${D}/${sysconfdir}/tmpfiles.d/barbican.conf
-}
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system barbican"
-USERADD_PARAM_${PN}  = "--system --home /var/lib/barbican -g barbican \
-                        --no-create-home --shell /bin/false barbican"
-
-PACKAGES += "${SRCNAME} \
-             ${SRCNAME}-setup "
-
-FILES_${PN} = "${libdir}/* \
-"
-FILES_${SRCNAME} = "${sysconfdir}/${SRCNAME}/* \
-                    ${sysconfdir}/init.d/barbican-api \
-                   ${bindir} \
-                   ${bindir}/* \
-                    ${localstatedir}/* \
-                    ${systemd_system_unitdir} \
-                    ${sysconfdir}/tmpfiles.d/barbican.conf \
-"
-
-ALLOW_EMPTY_${SRCNAME}-setup = "1"
-pkg_postinst_${SRCNAME}-setup () {
-    if [ -z "$D" ]; then
-        chown -R barbican:barbican ${sysconfdir}/${SRCNAME}
-        chown -R barbican:barbican ${localstatedir}/lib/barbican
-    fi
-}
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native \
-        "
-
-RDEPENDS_${SRCNAME} = "${PN} \
-                       ${SRCNAME}-setup \
-                       uwsgi \
-                       python-falcon \
-                       python-oslo.messaging"
-
-RDEPENDS_${PN} += " \
-        python-pip \
-        python-pbr \
-        python-alembic \
-        python-babel \
-        python-eventlet \
-        python-falcon \
-        python-iso8601 \
-        python-jsonschema \
-        python-kombu \
-        python-netaddr \
-        python-pastedeploy \
-        python-paste \
-        python-pycrypto \
-        python-keystoneclient \
-        python-sqlalchemy \
-        python-stevedore \
-        python-webob \
-        python-wsgiref \
-        python-barbicanclient \
-        python-gunicorn \
-       python-castellan \
-       python-ldap3 \
-        "
-
-INITSCRIPT_PACKAGES = "${SRCNAME}"
-INITSCRIPT_NAME_${SRCNAME} = "barbican-api"
-INITSCRIPT_PARAMS_${SRCNAME} = "${OS_DEFAULT_INITSCRIPT_PARAMS}"
-
-MONITOR_SERVICE_PACKAGES = "${SRCNAME}"
-MONITOR_SERVICE_${SRCNAME} = "barbican"
-
-
-FILES_${PN}_append = " ${datadir}/"
diff --git a/meta-stx/recipes-devtools/python/python-beaker_git.bb b/meta-stx/recipes-devtools/python/python-beaker_git.bb
deleted file mode 100644 (file)
index 96b104f..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Beaker is a web session and general caching library that includes WSGI middleware for use in web applications."
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5297e0e46f5be6c86a87e35afe958cc7"
-
-SRCREV = "4a2cb747c16dc58af39b1ae56e1cf14dfeb9c9a7"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/bbangert/beaker;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-castellan_git.bb b/meta-stx/recipes-devtools/python/python-castellan_git.bb
deleted file mode 100644 (file)
index aacd868..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Generic Key Manager interface for OpenStack"
-HOMEPAGE = "https://github.com/openstack/castellan"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRCREV = "8e2929b8779eaa03f15a25da5cf64ef8539a026b"
-SRCNAME = "castellan"
-PROTOCOL = "https"
-BRANCH = "stable/stein"
-S = "${WORKDIR}/git"
-PV = "0.17.0+git${SRCPV}"
-
-SRC_URI = "git://opendev.org/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-        python-pbr \
-        python-babel \
-        python-cryptography \
-        python-barbicanclient \
-        python-oslo.config \
-        python-oslo.context \
-        python-oslo.i18n \
-        python-oslo.log \
-        python-oslo.utils \
-        python-keystoneauth1 \
-        "
diff --git a/meta-stx/recipes-devtools/python/python-cffi_%.bbappend b/meta-stx/recipes-devtools/python/python-cffi_%.bbappend
deleted file mode 100644 (file)
index 835739e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RDEPENDS_${PN}_append = " python-pycparser"
diff --git a/meta-stx/recipes-devtools/python/python-cherrypy_3.2.2.bb b/meta-stx/recipes-devtools/python/python-cherrypy_3.2.2.bb
deleted file mode 100644 (file)
index ca70c30..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-#
-
-SUMMARY = " CherryPy is a pythonic, object-oriented HTTP framework"
-DESCRIPTION = "\
-It allows building web applications in much the same way one would build any \
-other object-oriented program. This design results in less and more readable \
-code being developed faster. It's all just properties and methods. \
-It is now more than ten years old and has proven fast and very stable. \
-It is being used in production by many sites, from the simplest to the most \
-demanding. \
-"
-
-HOMEPAGE = "https://www.cherrypy.org/"
-AUTHOR = "CherryPy Team"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://cherrypy/LICENSE.txt;md5=c187ff3653a0878075713adef2c545c3"
-
-SRC_URI = "https://pypi.python.org/packages/source/C/CherryPy/CherryPy-${PV}.tar.gz"
-SRC_URI[md5sum] = "c1b1e9577f65f9bb88bfd1b15b93b911"
-SRC_URI[sha256sum] = "dc5a88562795c2ee462dac5b37aba1cf4f34f3e27281ec11049227039308b691"
-
-S = "${WORKDIR}/CherryPy-${PV}"
-
-inherit setuptools
-
-FILES_${PN} += "\
-    ${datadir}/cherrypy \
-"
diff --git a/meta-stx/recipes-devtools/python/python-cherrypy_git.bb b/meta-stx/recipes-devtools/python/python-cherrypy_git.bb
deleted file mode 100644 (file)
index d586961..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-#
-
-SUMMARY = " CherryPy is a pythonic, object-oriented HTTP framework"
-DESCRIPTION = "\
-       It allows building web applications in much the same way one would build any other object-oriented program. \
-       This design results in less and more readable code being developed faster. It's all just properties and methods. \
-       It is now more than ten years old and has proven fast and very stable. \
-       It is being used in production by many sites, from the simplest to the most demanding. \
-       "
-
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a8cbc5da4e6892b15a972a0b18622b2b"
-
-SRCREV = "994803e4923e53b7079c79f4e9b502cc1b8d0aa6"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-PV = "18.2.0"
-
-SRC_URI = "git://github.com/cherrypy/cherrypy.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python python-setuptools-scm-native"
-inherit setuptools distutils pkgconfig
-
-RDEPENDS_${PN} += " \
-       python-compression \
-       python-crypt \
-       python-datetime \
-       python-email \
-       python-fcntl \
-       python-html \
-       python-io \
-       python-json \
-       python-logging \
-       python-netclient \
-       python-netserver \
-       python-profile \
-       python-pydoc \
-       python-xml \
-       python-unixadmin \
-       "
-       
-RDEPENDS_${PN} += " \
-       python-cheroot \
-       python-contextlib2 \
-       python-memcached \
-       python-portend \
-       python-pyopenssl \
-       python-routes \
-       python-simplejson \
-       python-six \
-       python-zc-lockfile \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-cinderclient_git.bb b/meta-stx/recipes-devtools/python/python-cinderclient_git.bb
deleted file mode 100644 (file)
index 412b819..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Client for the OpenStack Cinder API"
-HOMEPAGE = "https://opendev.org/openstack/python-cinderclient"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3572962e13e5e739b30b0864365e0795"
-
-SRCREV = "4e17e1d1912f1902a37e4db543e38cdbe3961358"
-SRCNAME = "python-cinderclient"
-BRANCH = "stable/train"
-PROTOCOL = "https"
-PV = "4.1.0+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native\
-        "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-       bash \
-       python-pbr \
-       python-prettytable \
-       python-keystoneauth1 \
-       python-oslo.i18n \
-       python-oslo.utils \
-       python-six \
-       python-osc-lib \
-       python-babel \
-       python-requests \
-       python-simplejson \
-       "
-
-
-do_install_append() {
-       install -d -m 755 ${D}/${sysconfdir}/bash_completion.d
-       install -p -D -m 664 tools/cinder.bash_completion ${D}/${sysconfdir}/bash_completion.d/cinder.bash_completion
-}
-
-FILES_${PN} += " \
-       ${sysconfdir}/bash_completion.d/ \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-cliff_2.14.1.bb b/meta-stx/recipes-devtools/python/python-cliff_2.14.1.bb
deleted file mode 100644 (file)
index bfcd2b7..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Command Line Interface Formulation Framework"
-HOMEPAGE = "https://github.com/dreamhost/cliff"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI[md5sum] = "4c5d43d98970c79b091e25676cce2b10"
-SRC_URI[sha256sum] = "b47387a344898ccb28ca7f386f017ade9eb66dc1713e5c642a0bc09ec606cc67"
-
-inherit setuptools pypi
-
-DEPENDS += "\
-    python-pbr \
-    "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-    python-pbr-native \
-    "
-
-RDEPENDS_${PN} += "python-prettytable \
-            python-cmd2 \
-            python-pbr \
-            python-pyparsing \
-            python-prettytable \
-            python-six \
-            python-stevedore \
-            python-unicodecsv \
-            python-pyyaml \
-"
-
-CLEANBROKEN = "1"
diff --git a/meta-stx/recipes-devtools/python/python-configobj_git.bb b/meta-stx/recipes-devtools/python/python-configobj_git.bb
deleted file mode 100644 (file)
index 2e88509..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "ConfigObj is a simple but powerful config file reader and writer: an ini file round tripper. Its main feature is that it is very easy to use, with a straightforward programmer’s interface and a simple syntax for config files."
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9a851af36881461de16b8fecf59a9e17"
-
-SRCREV = "45fbf1b85b181853caea4d251e6d4c0232735e85"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/DiffSK/configobj;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-configshell_git.bb b/meta-stx/recipes-devtools/python/python-configshell_git.bb
deleted file mode 100644 (file)
index e43ad0e..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = " \
-ConfigShell is a Python library that provides a framework for building simple but nice CLI-based applications running both as single-command tools and interactive shells providing a UNIX filesystem-like navigation interface, as well as full autocompletion support and interactive inline help. It is part of LIO. \
-       "
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRCREV = "020d540850ca36f31af68e9b545a520f1122ea69"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/Datera/configshell.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python python-pyparsing-native"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-construct_git.bb b/meta-stx/recipes-devtools/python/python-construct_git.bb
deleted file mode 100644 (file)
index d0a46f0..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Construct is a powerful declarative and symmetrical parser and builder for binary data"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3fd0f2c25089e629957285e6bc402a20"
-
-SRCREV = "a6a45f09da003b278cc5955486ad17d9144c136b"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/construct/construct.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python python-pbr-native"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-d2to1_git.bb b/meta-stx/recipes-devtools/python/python-d2to1_git.bb
deleted file mode 100644 (file)
index ec80926..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "d2to1 (the ‘d’ is for ‘distutils’) allows using distutils2-like setup.cfg files for a package’s metadata with a distribute/setuptools setup.py script. It works by providing a distutils2-formatted setup.cfg file containing all of a package’s metadata, and a very minimal setup.py which will slurp its arguments from the setup.cfg."
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ec5c9882880dafb7f5a0b8d2642ea581"
-
-SRCREV = "d16d8fdcec77a6d3fcbd10ce23aa8810d8dd3bf2"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/embray/d2to1;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-dateutil.inc b/meta-stx/recipes-devtools/python/python-dateutil.inc
deleted file mode 100644 (file)
index aafb569..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Extensions to the standard Python datetime module"
-DESCRIPTION = "The dateutil module provides powerful extensions to the datetime module available in the Python standard library."
-HOMEPAGE = "https://dateutil.readthedocs.org"
-LICENSE = "BSD-3-Clause & Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e3155c7bdc71f66e02678411d2abf996"
-
-SRC_URI[md5sum] = "f2a1d4b680b297b367a974664ca3a4f6"
-SRC_URI[sha256sum] = "73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"
-
-PYPI_PACKAGE = "python-dateutil"
-inherit pypi
-
-PACKAGES =+ "${PN}-zoneinfo"
-FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo"
-
-DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
-
-RDEPENDS_${PN}_class-target = "\
-    ${PYTHON_PN}-datetime \
-    ${PYTHON_PN}-numbers \
-    ${PYTHON_PN}-six \
-    ${PYTHON_PN}-stringold \
-"
diff --git a/meta-stx/recipes-devtools/python/python-dateutil_2.8.1.bb b/meta-stx/recipes-devtools/python/python-dateutil_2.8.1.bb
deleted file mode 100644 (file)
index dfb2f2b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit setuptools
-require python-dateutil.inc
diff --git a/meta-stx/recipes-devtools/python/python-defusedxml_0.6.0.bb b/meta-stx/recipes-devtools/python/python-defusedxml_0.6.0.bb
deleted file mode 100644 (file)
index e642c1c..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "defusedxml -- defusing XML bombs and other exploits"
-HOMEPAGE = "https://github.com/tiran/defusedxml"
-
-LICENSE = "Python-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=056fea6a4b395a24d0d278bf5c80249e"
-#a5c8025e305fb49e6d405769358851f6
-
-SRC_URI[md5sum] = "a59741f675c4cba649de40a99f732897"
-SRC_URI[sha256sum] = "f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5"
-
-inherit pypi setuptools
diff --git a/meta-stx/recipes-devtools/python/python-django-babel_git.bb b/meta-stx/recipes-devtools/python/python-django-babel_git.bb
deleted file mode 100644 (file)
index 02f2966..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Tools for using Babel with Django"
-HOMEPAGE = "https://github.com/python-babel/django-babel"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5ae97ab65116b8d7890c59de57577b46"
-
-SRCREV = "1da5c0ba7ef3b12810154d9e64b3e847ecbb06cc"
-SRCNAME = "django-babel"
-BRANCH = "master"
-PROTOCOL = "https"
-PV = "0.6.2+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/python-babel/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-       
-inherit setuptools
-
-DEPENDS += " python-pip"
-
-RDEPENDS_${PN}_append = " \
-       python-django \
-       python-babel \
-       "
-
diff --git a/meta-stx/recipes-devtools/python/python-django-debreach_git.bb b/meta-stx/recipes-devtools/python/python-django-debreach_git.bb
deleted file mode 100644 (file)
index 7ef43e3..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Simple database sharding (horizontal partitioning) library for Django applications."
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=04c6b8f6ee56b21d30ecb172b066902c"
-
-
-SRCREV = "b425bb719ea5de583fae7db5b7419e5fed569cb0"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/lpomfrey/django-debreach.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-django-horizon_15.1.0.bb b/meta-stx/recipes-devtools/python/python-django-horizon_15.1.0.bb
deleted file mode 100644 (file)
index a1397e6..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Simple database sharding (horizontal partitioning) library for Django applications."
-HOMEPAGE = "http://horizon.openstack.org/"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-inherit setuptools 
-
-SRC_URI[md5sum] = "21c32ba58806b351ede4eca6804e6d3e"
-SRC_URI[sha256sum] = "25cf663f8f9a0233edbd5ba322acc28805fca684df28290c3e62a79abf6724e9"
-
-S = "${WORKDIR}/horizon-${PV}"
-
-SRC_URI = "https://tarballs.openstack.org/horizon/horizon-${PV}.tar.gz"
-
-DEPENDS += " \
-       python-pip \
-       python-pbr-native \
-       "
-
-
-RDEPENDS_${PN} = " \
-       python-pbr \
-       python-babel \
-       python-django \
-       python-django \
-       python-django-babel \
-       python-django-compressor \
-       python-django-debreach \
-       python-django-pyscss \
-       python-futurist \
-       python-iso8601 \
-       python-keystoneauth1 \
-       python-netaddr \
-       python-oslo.concurrency \
-       python-oslo.config \
-       python-oslo.i18n \
-       python-oslo.policy \
-       python-oslo.serialization \
-       python-oslo.upgradecheck \
-       python-oslo.utils \
-       python-osprofiler \
-       python-pint \
-       python-pymongo \
-       python-pyscss \
-       python-cinderclient \
-       python-glanceclient \
-       python-keystoneclient \
-       python-neutronclient \
-       python-novaclient \
-       python-swiftclient \
-       python-pytz \
-       python-pyyaml \
-       python-requests \
-       python-semantic-version \
-       python-six \
-       python-xstatic \
-       python-xstatic-angular \
-       python-xstatic-angular-bootstrap \
-       python-xstatic-angular-fileupload \
-       python-xstatic-angular-gettext \
-       python-xstatic-angular-lrdragndrop \
-       python-xstatic-angular-schema-form \
-       python-xstatic-bootstrap-datepicker \
-       python-xstatic-bootstrap-scss \
-       python-xstatic-bootswatch \
-       python-xstatic-d3 \
-       python-xstatic-hogan \
-       python-xstatic-font-awesome \
-       python-xstatic-jasmine \
-       python-xstatic-jquery \
-       python-xstatic-jquery-migrate \
-       python-xstatic-jquery.quicksearch \
-       python-xstatic-jquery.tablesorter \
-       python-xstatic-jquery-ui \
-       python-xstatic-jsencrypt \
-       python-xstatic-mdi \
-       python-xstatic-objectpath \
-       python-xstatic-mdi \
-       python-xstatic-objectpath \
-       python-xstatic-rickshaw \
-       python-xstatic-roboto-fontface \
-       python-xstatic-smart-table \
-       python-xstatic-spin \
-       python-xstatic-term.js \
-       python-xstatic-tv4 \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-django-horizon_15.1.0.bbappend b/meta-stx/recipes-devtools/python/python-django-horizon_15.1.0.bbappend
deleted file mode 100644 (file)
index e046661..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/guni_config.py \
-       file://${BPN}/horizon-assets-compress \
-       file://${BPN}/horizon-clearsessions \
-       file://${BPN}/horizon.init \
-       file://${BPN}/horizon-patching-restart \
-       file://${BPN}/openstack-dashboard-httpd-2.4.conf \
-       file://${BPN}/openstack-dashboard-httpd-logging.conf \
-       file://${BPN}/python-django-horizon-logrotate.conf \
-       file://${BPN}/python-django-horizon-systemd.conf \
-       "
-
-do_configure_prepend () {
-       cd ${S}
-
-       # STX remove troublesome files introduced by tox
-       rm -f openstack_dashboard/test/.secret_key_store
-       rm -f openstack_dashboard/test/*.secret_key_store.lock
-       rm -f openstack_dashboard/local/.secret_key_store
-       rm -f openstack_dashboard/local/*.secret_key_store.lock
-       rm -rf horizon.egg-info
-
-       # drop config snippet
-       cp -p ${WORKDIR}/${BPN}/openstack-dashboard-httpd-logging.conf .
-       cp -p ${WORKDIR}/${BPN}/guni_config.py .
-
-       # customize default settings
-       # WAS [PATCH] disable debug, move web root
-       sed -i "/^DEBUG =.*/c\DEBUG = False" openstack_dashboard/local/local_settings.py.example
-       sed -i "/^WEBROOT =.*/c\WEBROOT = '/dashboard/'" openstack_dashboard/local/local_settings.py.example
-       sed -i "/^.*ALLOWED_HOSTS =.*/c\ALLOWED_HOSTS = ['horizon.example.com', 'localhost']" openstack_dashboard/local/local_settings.py.example
-       sed -i "/^.*LOCAL_PATH =.*/c\LOCAL_PATH = '/tmp'" openstack_dashboard/local/local_settings.py.example
-       sed -i "/^.*POLICY_FILES_PATH =.*/c\POLICY_FILES_PATH = '/etc/openstack-dashboard'" openstack_dashboard/local/local_settings.py.example
-
-       sed -i "/^BIN_DIR = .*/c\BIN_DIR = '/usr/bin'" openstack_dashboard/settings.py
-       sed -i "/^COMPRESS_PARSER = .*/a COMPRESS_OFFLINE = True" openstack_dashboard/settings.py
-
-       # set COMPRESS_OFFLINE=True
-       sed -i 's:COMPRESS_OFFLINE.=.False:COMPRESS_OFFLINE = True:' openstack_dashboard/settings.py
-
-       # STX: MANIFEST needs .eslintrc files for angular
-       echo "include .eslintrc"   >> MANIFEST.in
-
-       # MANIFEST needs to include json and pot files under openstack_dashboard
-       echo "recursive-include openstack_dashboard *.json *.pot .eslintrc"   >> MANIFEST.in
-
-       # MANIFEST needs to include pot files  under horizon
-       echo "recursive-include horizon *.pot .eslintrc"   >> MANIFEST.in
-}
-
-do_install_append () {
-       cd ${S}
-
-       # STX
-       install -d -m 755 ${D}/opt/branding
-       mkdir -p ${D}${sysconfdir}/rc.d/init.d
-       install -m 755 -D -p ${WORKDIR}/${BPN}/horizon.init ${D}${sysconfdir}/rc.d/init.d/horizon
-       install -m 755 -D -p ${WORKDIR}/${BPN}/horizon.init ${D}${sysconfdir}/init.d/horizon
-       install -m 755 -D -p ${WORKDIR}/${BPN}/horizon-clearsessions ${D}/${bindir}/horizon-clearsessions
-       install -m 755 -D -p ${WORKDIR}/${BPN}/horizon-patching-restart ${D}/${bindir}/horizon-patching-restart
-       install -m 755 -D -p ${WORKDIR}/${BPN}/horizon-assets-compress ${D}/${bindir}/horizon-assets-compress
-
-       # drop httpd-conf snippet
-       install -m 0644 -D -p ${WORKDIR}/${BPN}/openstack-dashboard-httpd-2.4.conf ${D}${sysconfdir}/httpd/conf.d/openstack-dashboard.conf
-       install -d -m 755 ${D}${datadir}/openstack-dashboard
-       install -d -m 755 ${D}${sysconfdir}/openstack-dashboard
-
-       # create directory for systemd snippet
-       mkdir -p ${D}${systemd_system_unitdir}/httpd.service.d/
-       cp ${WORKDIR}/${BPN}/python-django-horizon-systemd.conf ${D}${systemd_system_unitdir}/httpd.service.d/openstack-dashboard.conf
-
-       # Copy everything to /usr/share
-       mv ${D}${libdir}/python2.7/site-packages/openstack_dashboard \
-          ${D}${datadir}/openstack-dashboard
-       cp manage.py ${D}${datadir}/openstack-dashboard
-
-       # STX
-       cp guni_config.py ${D}${datadir}/openstack-dashboard
-       rm -rf ${D}${libdir}/python2.7/site-packages/openstack_dashboard
-
-       # remove unnecessary .po files
-       find ${D} -name django.po -exec rm '{}' \;
-       find ${D} -name djangojs.po -exec rm '{}' \;
-
-       # Move config to /etc, symlink it back to /usr/share
-       mv ${D}${datadir}/openstack-dashboard/openstack_dashboard/local/local_settings.py.example ${D}${sysconfdir}/openstack-dashboard/local_settings
-
-       mv ${D}${datadir}/openstack-dashboard/openstack_dashboard/conf/*.json ${D}${sysconfdir}/openstack-dashboard
-       cp -a  ${S}/openstack_dashboard/conf/cinder_policy.d ${D}${sysconfdir}/openstack-dashboard
-       cp -a  ${S}/openstack_dashboard/conf/nova_policy.d ${D}${sysconfdir}/openstack-dashboard
-
-       # copy static files to ${datadir}/openstack-dashboard/static
-       mkdir -p ${D}${datadir}/openstack-dashboard/static
-       cp -a openstack_dashboard/static/* ${D}${datadir}/openstack-dashboard/static
-       cp -a horizon/static/* ${D}${datadir}/openstack-dashboard/static
-
-       # create /var/run/openstack-dashboard/ and /var/log/horizon
-       install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
-       echo "d ${localstatedir}/run/openstack-dashboard 0755 root root -" >> ${D}/${sysconfdir}/tmpfiles.d/openstack-dashboard.conf
-       echo "d ${localstatedir}/log/horizon 0755 root root -" >> ${D}/${sysconfdir}/tmpfiles.d/openstack-dashboard.conf
-
-       # place logrotate config:
-       mkdir -p ${D}${sysconfdir}/logrotate.d
-       cp -a ${WORKDIR}/${BPN}/python-django-horizon-logrotate.conf ${D}${sysconfdir}/logrotate.d/openstack-dashboard
-
-       chown -R root:root ${D}
-}
-
-FILES_${PN} += "\
-       ${datadir}/openstack-dashboard \
-       ${systemd_system_unitdir} \
-       ${localstatedir} \
-       /opt \
-       "
-
-RPROVIDES_${PN} = "openstack-dashboard"
diff --git a/meta-stx/recipes-devtools/python/python-django-openstack-auth_git.bbappend b/meta-stx/recipes-devtools/python/python-django-openstack-auth_git.bbappend
deleted file mode 100644 (file)
index ef4bf7a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DEPENDS += "\
-       python-pbr-native \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-django_git.bb b/meta-stx/recipes-devtools/python/python-django_git.bb
deleted file mode 100644 (file)
index 4346361..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "client library for Aodh built on the Aodh API"
-HOMEPAGE = "https://launchpad.net/python-aodhclient"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause & Python-2.0"
-LIC_FILES_CHKSUM = " \
-       file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa\
-       file://LICENSE.python;md5=6b60258130e4ed10d3101517eb5b9385 \
-       "
-
-SRCREV = "1c9cb948d7b0c264d244763b6682ab790a6b90a0"
-SRCNAME = "django"
-BRANCH = "stable/1.11.x"
-PROTOCOL = "https"
-PV = "1.11.20+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/django/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-       
-inherit setuptools
-
-FILES_${PN} += "${datadir}/django/"
diff --git a/meta-stx/recipes-devtools/python/python-django_git.bbappend b/meta-stx/recipes-devtools/python/python-django_git.bbappend
deleted file mode 100644 (file)
index 1536c26..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-do_install_append() {
-    install -d ${D}/${sysconfdir}/bash_completion.d
-    install -m 755 ${S}/extras/django_bash_completion ${D}/${sysconfdir}/bash_completion.d 
-}
-
-PACKAGES =+ "${PN}-bash-completion"
-
-FILES_${PN}-bash-completion = "${sysconfdir}/bash_completion.d/*"
diff --git a/meta-stx/recipes-devtools/python/python-docker_3.3.0.bb b/meta-stx/recipes-devtools/python/python-docker_3.3.0.bb
deleted file mode 100644 (file)
index 820a685..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "A Python library for the Docker Engine API"
-HOMEPAGE = "https://pypi.org/project/docker/3.3.0"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34f3846f940453127309b920eeb89660"
-
-SRC_URI[md5sum] = "660c3c0c3776cb88f34fc549d7c89ed2"
-SRC_URI[sha256sum] = "dc5cc0971a0d36fe94c5ce89bd4adb6c892713500af7b0818708229c3199911a"
-
-inherit setuptools pypi
-
-RDEPENDS_${PN}_append = " \
-       python-docker-pycreds \
-       python-backports-ssl \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-ethtool_git.bb b/meta-stx/recipes-devtools/python/python-ethtool_git.bb
deleted file mode 100644 (file)
index 39e743b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Python bindings for the ethtool kernel interface"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRCREV = "b8b09b69ef6d4f8a6f12a6c441305790060dd829"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/fedora-python/python-ethtool.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " libnl python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-eventlet_%.bbappend b/meta-stx/recipes-devtools/python/python-eventlet_%.bbappend
deleted file mode 100644 (file)
index e4f4cd7..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += " file://eventlet/0001-CGTS-2869-close-connection-on-HTTP-413-Request-Entit.patch"
diff --git a/meta-stx/recipes-devtools/python/python-eventlet_0.18.4.bb b/meta-stx/recipes-devtools/python/python-eventlet_0.18.4.bb
deleted file mode 100644 (file)
index bf32c82..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Highly concurrent networking library"
-HOMEPAGE = "http://pypi.python.org/pypi/eventlet"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=56472ad6de4caf50e05332a34b66e778"
-
-SRC_URI[md5sum] = "8d1c646d8cc10a4958c92fe8a30f3676"
-SRC_URI[sha256sum] = "74ef11d67ee5e85e009b0fced733c907620bca1ab8e6b0489d9f247405ab2685"
-
-inherit setuptools pypi
-
-RDEPENDS_${PN} += " \
-    python-enum34 \
-    python-enum-compat \
-    python-greenlet \
-    "
diff --git a/meta-stx/recipes-devtools/python/python-firewall_git.bb b/meta-stx/recipes-devtools/python/python-firewall_git.bb
deleted file mode 100644 (file)
index a4f1121..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Temporarily allow access to your current IP address into security groups, and automatically closes the hole when quitting. Convenient for SSH-ing into a box from a home or from any off-site location without worrying about leaving SSH open to the world or dealing with VPN."
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7f1e0f09645893c55fb92d53ccea0a57"
-
-SRCREV = "59b63088b8b791cc495d809240f94fddaa87dc55"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/mattrobenolt/firewall;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-futurist_1.8.1.bb b/meta-stx/recipes-devtools/python/python-futurist_1.8.1.bb
deleted file mode 100644 (file)
index c7d671e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Useful additions to futures, from the future"
-HOMEPAGE = "https://pypi.python.org/pypi/futurist"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRC_URI[md5sum] = "3e5a4b8254ded1624ec807cb7ae04ba5"
-SRC_URI[sha256sum] = "499ee57728a987028725f836ac22aa18899702162fa0a0f1bbe2ecd5c8daf1eb"
-
-inherit setuptools pypi
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-        python-pbr \
-        python-six \
-        python-monotonic \
-        python-futures \
-        python-contextlib2 \
-        python-prettytable \
-        "
-
diff --git a/meta-stx/recipes-devtools/python/python-glanceclient_git.bb b/meta-stx/recipes-devtools/python/python-glanceclient_git.bb
deleted file mode 100644 (file)
index 6d7f812..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Client library for Glance built on the OpenStack Images API."
-HOMEPAGE = "https://opendev.org/openstack/python-glanceclient"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
-
-SRCREV = "44a4dbd6ce2642daeaca9f45ac99e2d1b39e805a"
-SRCNAME = "python-glanceclient"
-BRANCH = "stable/train"
-PROTOCOL = "https"
-PV = "2.16.0+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-       
-inherit setuptools monitor rmargparse
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native\
-        "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-       bash \
-        python-pbr \
-        python-prettytable \
-        python-keystoneauth1 \
-       python-warlock \
-        python-six \
-        python-oslo.utils \
-        python-oslo.i18n \
-       python-wrapt \
-       python-pyopenssl \
-       "
-
-
-do_install_append() {
-       install -d -m 755 ${D}/${sysconfdir}/bash_completion.d
-       install -p -D -m 664 tools/glance.bash_completion ${D}/${sysconfdir}/bash_completion.d/glance
-
-}
-
-FILES_${PN} += " \
-       ${sysconfdir}/bash_completion.d/ \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-gnocchiclient_7.0.4.bb b/meta-stx/recipes-devtools/python/python-gnocchiclient_7.0.4.bb
deleted file mode 100644 (file)
index 5e1e933..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "python-gnocchiclient"
-STABLE = "master"
-PROTOCOL = "https"
-BRANCH = "master"
-SRCREV = "64814b9ace54e0151e9c28f4e57b87dafc984241"
-S = "${WORKDIR}/git"
-PV = "7.0.4"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRC_URI = "git://github.com/gnocchixyz/python-gnocchiclient.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-DEPENDS += " \
-       python \
-       python-pbr-native \
-       "
-
-RDEPENDS_${PN}_append = " python-ujson"
-
-inherit setuptools
diff --git a/meta-stx/recipes-devtools/python/python-google-auth_git.bb b/meta-stx/recipes-devtools/python/python-google-auth_git.bb
deleted file mode 100644 (file)
index 72789fd..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "This library simplifies using Google’s various server-to-server authentication mechanisms to access Google APIs."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-
-SRCREV = "1322d896ba725b8d73fd7ac4793601d9f574a839"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/googleapis/google-auth-library-python.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-RDEPENDS_${PN}_append = " python-rsa python-pyasn1-modules"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-gunicorn_git.bb b/meta-stx/recipes-devtools/python/python-gunicorn_git.bb
deleted file mode 100644 (file)
index d3112dc..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "gunicorn 'Green Unicorn' is a WSGI HTTP Server for UNIX"
-DESCRIPTION = "\
-Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX. \
-It's a pre-fork worker model ported from Ruby's Unicorn project. \
-The Gunicorn server is broadly compatible with various web frameworks, \
-simply implemented, light on server resource usage, and fairly speedy. \
-"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=03ccc2b0215ca2a4b1e5f3c5483807f9"
-
-
-SRCREV = "328e509260ae70de6c04c5ba885ee17960b3ced5"
-PROTOCOL = "https"
-BRANCH = "19.x"
-S = "${WORKDIR}/git"
-PV = "19.7.1+git${SRCPV}"
-
-SRC_URI = "git://github.com/benoitc/gunicorn.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-hgtools_6.3.bbappend b/meta-stx/recipes-devtools/python/python-hgtools_6.3.bbappend
deleted file mode 100644 (file)
index c2aa92d..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-BBCLASSEXTEND_append = " native nativesdk"
diff --git a/meta-stx/recipes-devtools/python/python-horizon_git.bbappend b/meta-stx/recipes-devtools/python/python-horizon_git.bbappend
deleted file mode 100644 (file)
index ef4bf7a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DEPENDS += "\
-       python-pbr-native \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-imagesize_1.2.0.bb b/meta-stx/recipes-devtools/python/python-imagesize_1.2.0.bb
deleted file mode 100644 (file)
index ead33f5..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = " \
-       This module analyzes JPEG/JPEG 2000/PNG/GIF/TIFF/SVG image headers and returns image size. \
-       "
-HOMEPAGE = "https://github.com/shibukawa/imagesize_py"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=0c128f0f7e8a02e1b83884c0b5a41cda"
-
-SRC_URI[md5sum] = "3a1e124594183778a8f87e4bcdb6dca9"
-SRC_URI[sha256sum] = "b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"
-
-PYPI_PACKAGE = "imagesize"
-inherit setuptools pypi
diff --git a/meta-stx/recipes-devtools/python/python-importlib-metadata_0.23.bb b/meta-stx/recipes-devtools/python/python-importlib-metadata_0.23.bb
deleted file mode 100644 (file)
index da8b2ab..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Read metadata from Python packages"
-DESCRIPTION = "Read metadata from Python packages"
-HOMEPAGE = "https://pypi.org/project/importlib-metadata/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e"
-
-SRC_URI[md5sum] = "80d677d744995336c9c22d21a85ddeb8"
-SRC_URI[sha256sum] = "aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26"
-
-DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
-
-PYPI_PACKAGE = "importlib_metadata"
-
-inherit pypi setuptools
-
-S = "${WORKDIR}/importlib_metadata-${PV}"
-
-RDEPENDS_${PN} += "\
-    ${PYTHON_PN}-zipp \
-    ${PYTHON_PN}-pathlib2 \
-    python-compression \
-    python-configparser \
-    python-contextlib2 \
-    python-pathlib2 \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-stx/recipes-devtools/python/python-influxdb_git.bb b/meta-stx/recipes-devtools/python/python-influxdb_git.bb
deleted file mode 100644 (file)
index ce49699..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "InfluxDB is an open-source distributed time series database, find more about InfluxDB at https://docs.influxdata.com/influxdb/latest"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=046523829184aac3703a4c60c0ae2104"
-
-SRCREV = "dc83fc6576b6463dcc77a0c101475a2a71ed655a"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/influxdata/influxdb-python.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-iniparse_git.bb b/meta-stx/recipes-devtools/python/python-iniparse_git.bb
deleted file mode 100644 (file)
index d3323de..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Iniparse is a INI parser for Python"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=52f28065af11d69382693b45b5a8eb54"
-
-SRCREV = "0305d08121461776222e515ae21a8405ee68eef4"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/candlepin/python-iniparse.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-
-inherit setuptools distutils
diff --git a/meta-stx/recipes-devtools/python/python-ironicclient_2.7.0.bb b/meta-stx/recipes-devtools/python/python-ironicclient_2.7.0.bb
deleted file mode 100644 (file)
index 33d4683..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "python-ironicclient"
-STABLE = "master"
-PROTOCOL = "https"
-BRANCH = "master"
-PV = "2.7.0"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRC_URI = "https://tarballs.openstack.org/python-ironicclient/python-ironicclient-${PV}.tar.gz"
-SRC_URI[md5sum] = "6b13e133eb0c521a09c377f28fef139e"
-
-DEPENDS += " \
-       python \
-       python-pbr-native \
-       "
-
-inherit setuptools
-
-RDEPENDS_${PN}_append = " \
-       bash \
-       python-dogpile.cache \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-jmespath_git.bb b/meta-stx/recipes-devtools/python/python-jmespath_git.bb
deleted file mode 100644 (file)
index a62033b..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "JMESPath (pronounced “james path”) allows you to declaratively specify how to extract elements from a JSON document."
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2683790f5fabb41a3f75b70558799eb4"
-
-PV = "0.9.4"
-
-SRCREV = "4a4f6dbd98549b2b8fc71bbc19860d317a6abfdb"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/jmespath/jmespath.py;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-jwcrypto_git.bb b/meta-stx/recipes-devtools/python/python-jwcrypto_git.bb
deleted file mode 100644 (file)
index 9eb282f..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "An implementation of the JOSE Working Group documents: RFC 7515 - JSON Web Signature (JWS) RFC 7516 - JSON Web Encryption (JWE) RFC 7517 - JSON Web Key (JWK) RFC 7518 - JSON Web Algorithms (JWA) RFC 7519 - JSON Web Token (JWT) RFC 7520 - Examples of Protecting Content Using JSON Object Signing and Encryption (JOSE)"
-
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e6a600fd5e1d9cbde2d983680233ad02"
-
-SRCREV = "437ea86caef224cf769e30cafe30f1c0b4e0f3e2"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/latchset/jwcrypto.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-
-inherit setuptools distutils
diff --git a/meta-stx/recipes-devtools/python/python-jwt_git.bb b/meta-stx/recipes-devtools/python/python-jwt_git.bb
deleted file mode 100644 (file)
index af74654..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "A messaging framework built on the QPID Proton engine. It provides a callback-based API for message passing. See the User Guide in the docs directory for more detail."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=54830c88a42666c6835a0f834f93a521"
-
-SRCREV = "39f0ee6fd6d71ee335b1229b91ab0bb47bdd71f0"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/GehirnInc/python-jwt;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-keyring_5.3.bbappend b/meta-stx/recipes-devtools/python/python-keyring_5.3.bbappend
deleted file mode 100644 (file)
index ac82982..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += " \
-      file://python-keyring/no_keyring_password.patch \
-      file://python-keyring/lock_keyring_file.patch \
-      file://python-keyring/lock_keyring_file2.patch \
-      file://python-keyring/use_new_lock.patch \
-      file://python-keyring/fix_keyring_lockfile_location.patch \
-      file://python-keyring/use_temporary_file.patch \
-      file://python-keyring/chown_keyringlock_file.patch \
-      file://python-keyring/chmod_keyringlock2.patch \
-      file://python-keyring/keyring_path_change.patch \
-      file://python-keyring/remove-reader-lock.patch \
-      file://python-keyring/remove_others_perms_on_keyringcfg_file.patch \
-"
-
-DEPENDS += " python-hgtools-native"
diff --git a/meta-stx/recipes-devtools/python/python-keystone_git.bb b/meta-stx/recipes-devtools/python/python-keystone_git.bb
deleted file mode 100644 (file)
index 7aee7bf..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Authentication service for OpenStack"
-HOMEPAGE = "http://www.openstack.org"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRCREV = "c78581b4608f3dc10e945d358963000f284f188a"
-SRCNAME = "keystone"
-PROTOCOL = "git"
-BRANCH = "stable/stein"
-S = "${WORKDIR}/git"
-PV = "15.0.0+git${SRCPV}"
-
-
-SRC_URI = " \
-       git://opendev.org/openstack/${SRCNAME}.git;protocol=${PROTOCOL};branch=${BRANCH} \
-       file://${PN}/keystone.conf \
-       file://${PN}/identity.sh \
-       file://${PN}/convert_keystone_backend.py \
-       file://${PN}/wsgi-keystone.conf \
-       file://${PN}/admin-openrc \
-       file://${PN}/keystone-init.service \
-       file://${PN}/stx-files/openstack-keystone.service \
-       file://${PN}/stx-files/keystone-all \
-       file://${PN}/stx-files/keystone-fernet-keys-rotate-active \
-       file://${PN}/stx-files/public.py \
-       file://${PN}/stx-files/password-rules.conf \
-       "
-
-
-inherit setuptools identity hosts default_configs monitor useradd systemd
-
-SERVICE_TOKEN = "password"
-TOKEN_FORMAT ?= "PKI"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system -m -s /bin/false keystone"
-
-LDAP_DN ?= "dc=my-domain,dc=com"
-
-SERVICECREATE_PACKAGES = "${SRCNAME}-setup"
-KEYSTONE_HOST="${CONTROLLER_IP}"
-
-# USERCREATE_PARAM and SERVICECREATE_PARAM contain the list of parameters to be
-# set.  If the flag for a parameter in the list is not set here, the default
-# value will be given to that parameter. Parameters not in the list will be set
-# to empty.
-
-USERCREATE_PARAM_${SRCNAME}-setup = "name pass tenant role email"
-python () {
-    flags = {'name':'${ADMIN_USER}',\
-             'pass':'${ADMIN_PASSWORD}',\
-             'tenant':'${ADMIN_TENANT}',\
-             'role':'${ADMIN_ROLE}',\
-             'email':'${ADMIN_USER_EMAIL}',\
-            }
-    d.setVarFlags("USERCREATE_PARAM_%s-setup" % d.getVar('SRCNAME',True), flags)
-}
-
-SERVICECREATE_PARAM_${SRCNAME}-setup = "name type description region publicurl adminurl internalurl"
-python () {
-    flags = {'type':'identity',\
-             'description':'OpenStack Identity',\
-             'publicurl':"'http://${KEYSTONE_HOST}:8081/keystone/main/v2.0'",\
-             'adminurl':"'http://${KEYSTONE_HOST}:8081/keystone/admin/v2.0'",\
-             'internalurl':"'http://${KEYSTONE_HOST}:8081/keystone/main/v2.0'"}
-    d.setVarFlags("SERVICECREATE_PARAM_%s-setup" % d.getVar('SRCNAME',True), flags)
-}
-
-do_install_append() {
-
-    KEYSTONE_CONF_DIR=${D}${sysconfdir}/keystone
-    KEYSTONE_DATA_DIR=${D}${datadir}/keystone
-    KEYSTONE_PACKAGE_DIR=${D}${PYTHON_SITEPACKAGES_DIR}/keystone
-    APACHE_CONF_DIR=${D}${sysconfdir}/apache2/conf.d/
-
-
-    # Create directories
-    install -m 755 -d ${KEYSTONE_CONF_DIR}
-    install -m 755 -d ${APACHE_CONF_DIR}
-    install -d ${D}${localstatedir}/log/${SRCNAME}
-
-    # Setup the systemd service file
-    install -d ${D}${systemd_system_unitdir}/
-    install -m 644 ${WORKDIR}/${PN}/keystone-init.service ${D}${systemd_system_unitdir}/keystone-init.service
-
-    mv  ${D}/${datadir}/etc/keystone/sso_callback_template.html ${KEYSTONE_CONF_DIR}/
-    rm -rf ${D}/${datadir}
-
-    # Setup the admin-openrc file
-    KS_OPENRC_FILE=${KEYSTONE_CONF_DIR}/admin-openrc
-    install -m 600 ${WORKDIR}/${PN}/admin-openrc ${KS_OPENRC_FILE}
-    sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${KS_OPENRC_FILE}
-    sed -e "s:%ADMIN_USER%:${ADMIN_USER}:g" -i ${KS_OPENRC_FILE}
-    sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${KS_OPENRC_FILE}
-
-    # Install various configuration files. We have to select suitable
-    # permissions as packages such as Apache require read access.
-    #
-    # Apache needs to read the keystone.conf
-    install -m 644 ${WORKDIR}/${PN}/keystone.conf ${KEYSTONE_CONF_DIR}/
-    # Apache needs to read the wsgi-keystone.conf
-    install -m 644 ${WORKDIR}/${PN}/wsgi-keystone.conf ${APACHE_CONF_DIR}/keystone.conf
-    install -m 600 ${S}${sysconfdir}/logging.conf.sample  ${KEYSTONE_CONF_DIR}/logging.conf
-
-    # Copy examples from upstream
-    cp -r ${S}/examples ${KEYSTONE_PACKAGE_DIR}
-
-    # Edit the configuration to allow it to work out of the box
-    KEYSTONE_CONF_FILE=${KEYSTONE_CONF_DIR}/keystone.conf
-    sed "/# admin_endpoint = .*/a \
-        public_endpoint = http://%CONTROLLER_IP%:5000/ " \
-        -i ${KEYSTONE_CONF_FILE}
-
-    sed "/# admin_endpoint = .*/a \
-        admin_endpoint = http://%CONTROLLER_IP%:35357/ " \
-        -i ${KEYSTONE_CONF_FILE}
-    
-    sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${KEYSTONE_CONF_FILE}
-    sed -e "s:%DB_USER%:${DB_USER}:g" -i ${KEYSTONE_CONF_FILE}
-    sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${KEYSTONE_CONF_FILE}
-    sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${KEYSTONE_CONF_FILE}
-    sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${KEYSTONE_CONF_FILE}
-    sed -e "s:%TOKEN_FORMAT%:${TOKEN_FORMAT}:g" -i ${KEYSTONE_CONF_FILE}
-    
-    install -d ${KEYSTONE_PACKAGE_DIR}/tests/tmp
-    if [ -e "${KEYSTONE_PACKAGE_DIR}/tests/test_overrides.conf" ];then
-        sed -e "s:%KEYSTONE_PACKAGE_DIR%:${PYTHON_SITEPACKAGES_DIR}/keystone:g" \
-            -i ${KEYSTONE_PACKAGE_DIR}/tests/test_overrides.conf
-    fi
-
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'OpenLDAP', 'true', 'false', d)};
-    then
-        sed -i -e '/^\[identity\]/a \
-driver = keystone.identity.backends.hybrid_identity.Identity \
-\
-[assignment]\
-driver = keystone.assignment.backends.hybrid_assignment.Assignment\
-' ${D}${sysconfdir}/keystone/keystone.conf
-
-        sed -i -e '/^\[ldap\]/a \
-url = ldap://localhost \
-user = cn=Manager,${LDAP_DN} \
-password = secret \
-suffix = ${LDAP_DN} \
-use_dumb_member = True \
-\
-user_tree_dn = ou=Users,${LDAP_DN} \
-user_attribute_ignore = enabled,email,tenants,default_project_id \
-user_id_attribute = uid \
-user_name_attribute = uid \
-user_mail_attribute = email \
-user_pass_attribute = keystonePassword \
-\
-tenant_tree_dn = ou=Groups,${LDAP_DN} \
-tenant_desc_attribute = description \
-tenant_domain_id_attribute = businessCategory \
-tenant_attribute_ignore = enabled \
-tenant_objectclass = groupOfNames \
-tenant_id_attribute = cn \
-tenant_member_attribute = member \
-tenant_name_attribute = ou \
-\
-role_attribute_ignore = enabled \
-role_objectclass = groupOfNames \
-role_member_attribute = member \
-role_id_attribute = cn \
-role_name_attribute = ou \
-role_tree_dn = ou=Roles,${LDAP_DN} \
-' ${KEYSTONE_CONF_FILE}
-
-        install -m 0755 ${WORKDIR}/${PN}/convert_keystone_backend.py \
-            ${D}${sysconfdir}/keystone/convert_keystone_backend.py
-    fi
-
-    
-    install -m 755 ${WORKDIR}/${PN}/stx-files/keystone-fernet-keys-rotate-active ${D}/${bindir}/keystone-fernet-keys-rotate-active
-    install -m 440 ${WORKDIR}/${PN}/stx-files/password-rules.conf ${KEYSTONE_CONF_DIR}/password-rules.conf
-    install -m 755 -d ${KEYSTONE_DATA_DIR}
-    install -m 755 ${WORKDIR}/${PN}/stx-files/public.py ${KEYSTONE_DATA_DIR}/public.py
-    install -m 644 ${WORKDIR}/${PN}/stx-files/openstack-keystone.service ${D}${systemd_system_unitdir}/openstack-keystone.service
-    install -m 755 ${WORKDIR}/${PN}/stx-files/keystone-all ${D}${bindir}/keystone-all
-    
-}
-
-# By default tokens are expired after 1 day so by default we can set
-# this token flush cronjob to run every 2 days
-KEYSTONE_TOKEN_FLUSH_TIME ??= "0 0 */2 * *"
-
-pkg_postinst_${SRCNAME}-cronjobs () {
-    if [ -z "$D" ]; then
-       # By default keystone expired tokens are not automatic removed out of the
-       # database.  So we create a cronjob for cleaning these expired tokens.
-       echo "${KEYSTONE_TOKEN_FLUSH_TIME} root /usr/bin/keystone-manage token_flush" >> /etc/crontab
-    fi
-}
-
-PACKAGES += " ${SRCNAME}-tests ${SRCNAME} ${SRCNAME}-setup ${SRCNAME}-cronjobs"
-
-SYSTEMD_PACKAGES += "${SRCNAME}-setup"
-SYSTEMD_SERVICE_${SRCNAME}-setup = "keystone-init.service"
-SYSTEMD_SERVICE_${SRCNAME} = "openstack-keystone.service"
-
-SYSTEMD_AUTO_ENABLE_${SRCNAME}-setup = "disable"
-SYSTEMD_AUTO_ENABLE_${SRCNAME} = "disable"
-
-FILES_${SRCNAME}-setup = " \
-    ${systemd_system_unitdir}/keystone-init.service \
-    "
-
-ALLOW_EMPTY_${SRCNAME}-cronjobs = "1"
-
-FILES_${PN} = "${libdir}/* \
-    "
-
-FILES_${SRCNAME}-tests = "${sysconfdir}/${SRCNAME}/run_tests.sh"
-
-FILES_${SRCNAME} = "${bindir}/* \
-    ${sysconfdir}/${SRCNAME}/* \
-    ${localstatedir}/* \
-    ${datadir}/openstack-dashboard/openstack_dashboard/api/keystone-httpd.py \
-    ${sysconfdir}/apache2/conf.d/keystone.conf \
-    ${systemd_system_unitdir}/openstack-keystone.service \
-    ${datadir} \
-    "
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native \
-        "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-        python-babel \
-        python-pbr \
-        python-webob \
-        python-pastedeploy \
-        python-paste \
-        python-routes \
-        python-cryptography \
-        python-six \
-        python-sqlalchemy \
-        python-sqlalchemy-migrate \
-        python-stevedore \
-        python-passlib \
-        python-keystoneclient \
-        python-keystonemiddleware \
-        python-bcrypt \
-        python-scrypt \
-        python-oslo.cache \
-        python-oslo.concurrency \
-        python-oslo.config \
-        python-oslo.context \
-        python-oslo.messaging \
-        python-oslo.db \
-        python-oslo.i18n \
-        python-oslo.log \
-        python-oslo.middleware \
-        python-oslo.policy \
-        python-oslo.serialization \
-        python-oslo.utils \
-        python-oauthlib \
-        python-pysaml2 \
-        python-dogpile.cache \
-        python-jsonschema \
-        python-pycadf \
-        python-msgpack \
-        python-osprofiler \
-       python-flask \
-       python-flask-restful \
-        python-pytz \
-        "
-
-RDEPENDS_${SRCNAME}-tests += " bash"
-
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'OpenLDAP', 'OpenLDAP', '', d)}"
-PACKAGECONFIG[OpenLDAP] = ",,,python-ldap python-keystone-hybrid-backend"
-
-# TODO:
-#    if DISTRO_FEATURE contains "tempest" then add *-tests to the main RDEPENDS
-
-RDEPENDS_${SRCNAME} = " \
-    ${PN} \
-    postgresql \
-    postgresql-client \
-    python-psycopg2 \
-    apache2 \
-    "
-
-RDEPENDS_${SRCNAME}-setup = "postgresql sudo ${SRCNAME}"
-RDEPENDS_${SRCNAME}-cronjobs = "cronie ${SRCNAME}"
-
-MONITOR_SERVICE_PACKAGES = "${SRCNAME}"
-MONITOR_SERVICE_${SRCNAME} = "keystone"
diff --git a/meta-stx/recipes-devtools/python/python-keystoneauth1.inc b/meta-stx/recipes-devtools/python/python-keystoneauth1.inc
deleted file mode 100644 (file)
index ce1c0fd..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Authentication Library for OpenStack Identity"
-HOMEPAGE = "https://pypi.python.org/pypi/keystoneauth1"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=96f840d59b245a1c817fbcb901afc574"
-
-SRC_URI[md5sum] = "0864f3485db8709d1dec0c8fa6073a31"
-SRC_URI[sha256sum] = "db91ccab5cc43dac4a25dc2c090642d7c31f9ceb28df2c685620d7c12335a8cd"
-
-inherit pypi
-
-DEPENDS += " \
-        ${PYTHON_PN}-pbr \
-        "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        ${PYTHON_PN}-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-        ${PYTHON_PN}-pbr \
-        ${PYTHON_PN}-iso8601 \
-        ${PYTHON_PN}-requests \
-        ${PYTHON_PN}-six \
-        ${PYTHON_PN}-stevedore \
-       python2-os-service-types \
-        "
diff --git a/meta-stx/recipes-devtools/python/python-keystoneauth1_3.17.1.bb b/meta-stx/recipes-devtools/python/python-keystoneauth1_3.17.1.bb
deleted file mode 100644 (file)
index 2100f2d..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit setuptools
-require python-keystoneauth1.inc
diff --git a/meta-stx/recipes-devtools/python/python-keystoneclient_git.bbappend b/meta-stx/recipes-devtools/python/python-keystoneclient_git.bbappend
deleted file mode 100644 (file)
index fd8b2a2..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SRC_URI = "\
-       git://github.com/openstack/python-keystoneclient.git;branch=stable/rocky \
-       "
-
-PV = "3.17.0+git${SRCPV}"
-SRCREV = "234ea50d5dfa3c6b71c15d32223a2ddf84c1aa1e"
-DEPENDS += " \
-        python-pip \
-        python-pbr \
-        "
-
-RDEPENDS_${PN}_append = " \
-       python-keystone \
-       keystone-setup \
-       keystone-cronjobs \
-       keystone \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-keystonemiddleware_git.bb b/meta-stx/recipes-devtools/python/python-keystonemiddleware_git.bb
deleted file mode 100644 (file)
index 6161939..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Middleware for Openstack identity API"
-HOMEPAGE = "https://launchpad.net/keystonemiddleware"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4a4d0e932ffae1c0131528d30d419c55"
-
-SRCREV = "83d0612e03471f56be3be2b521cc21974118cebe"
-SRCNAME = "keystonemiddleware"
-BRANCH = "stable/train"
-PROTOCOL = "https"
-PV = "5.1.0"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://git.openstack.org/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-inherit setuptools
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native \
-        "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-        python-keystoneauth1 \
-        python-oslo.cache \
-        python-oslo.config \
-        python-oslo.context \
-        python-oslo.i18n \
-        python-oslo.log \
-        python-oslo.serialization \
-        python-oslo.utils \
-        python-pbr \
-        python-positional \
-        python-pycadf \
-        python-keystoneclient \
-        python-requests \
-        python-six \
-        python-webob \
-        "
diff --git a/meta-stx/recipes-devtools/python/python-kombu_4.6.7.bbappend b/meta-stx/recipes-devtools/python/python-kombu_4.6.7.bbappend
deleted file mode 100644 (file)
index b0a5046..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RDEPENDS_${PN} += "python-importlib-metadata"
diff --git a/meta-stx/recipes-devtools/python/python-kubernetes_8.0.0.bb b/meta-stx/recipes-devtools/python/python-kubernetes_8.0.0.bb
deleted file mode 100644 (file)
index 2063104..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Kubernetes python client"
-HOMEPAGE = "https://pypi.org/project/kubernetes/8.0.0"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ad09685d909e7a9f763d2bb62d4bd6fb"
-
-SRC_URI[md5sum] = "c1d6d0ac57a8a49c5fd383a39ee9ab4b"
-SRC_URI[sha256sum] = "54f8e7bb1dd9a55cf416dff76a63c4ae441764280942d9913f2243676f29d02c"
-
-inherit setuptools pypi
-
-RDEPENDS_${PN}_append = " \
-       ${PYTHON_PN}-adal \
-       ${PYTHON_PN}-google-auth \
-       ${PYTHON_PN}-requests-oauthlib \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-ldap3_git.bb b/meta-stx/recipes-devtools/python/python-ldap3_git.bb
deleted file mode 100644 (file)
index c96e52d..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "ldap3 is a strictly RFC 4510 conforming LDAP V3 pure Python client library. The same codebase runs in Python 2, Python 3, PyPy and PyPy3."
-
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=32be5282b8f7cafe30b89d2980fbc7d0"
-
-SRCREV = "08810e435392a1f1a96d5e65bb444b9cb9e96ae3"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/cannatag/ldap3;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-ldap_3.2.0.bb b/meta-stx/recipes-devtools/python/python-ldap_3.2.0.bb
deleted file mode 100644 (file)
index e73b40e..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-#
-# Copyright (C) 2012 Wind River Systems, Inc.
-#
-SUMMARY = "Provides a wrapper in Python to LDAP"
-DESCRIPTION = "This module provides access to the LDAP \
-(Lightweight Directory Access Protocol) through Python operations \
-instead of C API. The module mainly acts as a wrapper for the \
-OpenLDAP 2.x libraries. Errors will appear as exceptions."
-
-LICENSE = "PSF"
-HOMEPAGE = "http://www.python-ldap.org/"
-DEPENDS = "python openldap cyrus-sasl"
-
-PYPI_PACKAGE = "python-ldap"
-inherit pypi setuptools
-
-LIC_FILES_CHKSUM = "file://LICENCE;md5=36ce9d726d0321b73c1521704d07db1b"
-SRC_URI[md5sum] = "fe22522208dc9b06d16eb70f8553eaab"
-SRC_URI[sha256sum] = "7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e"
-
-do_configure_prepend() {
-    sed -i -e 's:^library_dirs =.*::' setup.cfg
-    sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' setup.cfg
-}
-
-RDEPENDS_${PN} = " \
-    ${PYTHON_PN}-pprint \
-    ${PYTHON_PN}-threading \
-    ${PYTHON_PN}-pyasn1 \
-    ${PYTHON_PN}-pyasn1-modules \
-"
diff --git a/meta-stx/recipes-devtools/python/python-ldappool_git.bb b/meta-stx/recipes-devtools/python/python-ldappool_git.bb
deleted file mode 100644 (file)
index c9f23a8..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "A simple connector pool for python-ldap."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://setup.py;md5=9c24605289b49ad77a51ba7986425158"
-
-
-SRCREV = "f75c1a8a34d4fbe6df7889205b5c6a4db6886c33"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://opendev.org/openstack/ldappool.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python python-pbr-native"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-lefthandclient_2.1.0.bb b/meta-stx/recipes-devtools/python/python-lefthandclient_2.1.0.bb
deleted file mode 100644 (file)
index b4b4865..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "This is a Client library that can talk to the HPE LeftHand/StoreVirtual Storage array. The HPE LeftHand storage array has a REST web service interface as well as runs SSH. This client library implements a simple interface to talk with that REST interface using the python Requests http library and communicates via SSH using Pytohn’s paramiko library."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI[sha256sum] = "efdea5cdd2ecce20f9bb482dd0a6f55bcefc462df42eaef4d85258c04e991b20"
-
-SRCREV = "db9773f0f97c5af04da89fcb7dca2a6ddf8d5e4a"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/hpe-storage/python-lefthandclient.git;rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools distutils
diff --git a/meta-stx/recipes-devtools/python/python-lefthandclient_2.1.0.bbappend b/meta-stx/recipes-devtools/python/python-lefthandclient_2.1.0.bbappend
deleted file mode 100644 (file)
index b9a8642..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RDEPENDS_${PN}_append = " python-paramiko"
diff --git a/meta-stx/recipes-devtools/python/python-linecache2_1.0.0.bbappend b/meta-stx/recipes-devtools/python/python-linecache2_1.0.0.bbappend
deleted file mode 100644 (file)
index f939587..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-BBCLASSEXTEND = "native"
diff --git a/meta-stx/recipes-devtools/python/python-magnumclient_git.bb b/meta-stx/recipes-devtools/python/python-magnumclient_git.bb
deleted file mode 100644 (file)
index 4e37b9b..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Python client for containers service"
-HOMEPAGE = "https://github.com/openstack/python-magnumclient"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
-
-SRCREV = "37e602d160632a386c2960ec8777bfc65642a9a9"
-SRCNAME = "python-magnumclient"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-PV = "2.12.0+git${SRCPV}"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} +=" \
-       python-pbr \
-       python-babel \
-       python-stevedore \
-       python-requests \
-       python-oslo.i18n \
-       python-oslo.serialization \
-       python-oslo.utils \
-       python-os-client-config \
-       python-osc-lib \
-       python-prettytable \
-       python-cryptography \
-       python-decorator \
-       "
-
-inherit setuptools
diff --git a/meta-stx/recipes-devtools/python/python-migrate_git.bb b/meta-stx/recipes-devtools/python/python-migrate_git.bb
deleted file mode 100644 (file)
index 5532d08..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "A simple language agnostic database migration tool"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=123c58ff9658c9062dbe401889464492"
-
-SRCREV = "b53b7168f8ac27e4c557de6e62ad85fe00d99566"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/kofrasa/migrate;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-munch_git.bb b/meta-stx/recipes-devtools/python/python-munch_git.bb
deleted file mode 100644 (file)
index 1109873..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Munch is a dictionary that supports attribute-style access, a la JavaScript."
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f0291cd32b2d6a91d9b19970c94d0a46"
-
-
-SRCREV = "d0fbbce7b8205a243337faed0b61472dfe09706d"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/Infinidat/munch.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-murano-pkg-check_git.bb b/meta-stx/recipes-devtools/python/python-murano-pkg-check_git.bb
deleted file mode 100644 (file)
index 9db8963..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Murano package validator tool"
-
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-
-SRCREV = "18119f5e9d5a9d706c13188e057cb5b242c51f89"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/openstack/murano-pkg-check.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python python-pbr-native"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-muranoclient_git.bb b/meta-stx/recipes-devtools/python/python-muranoclient_git.bb
deleted file mode 100644 (file)
index 81f4065..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "python-muranoclient"
-STABLE = "master"
-PROTOCOL = "https"
-BRANCH = "master"
-SRCREV = "70b4392c7f8524ac25dbf3ab0feb3ac4127c1ecf"
-S = "${WORKDIR}/git"
-PV = "1.1.1"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRC_URI = "git://github.com/openstack/python-muranoclient.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-DEPENDS += " \
-       python \
-       python-pbr-native \
-       "
-
-inherit setuptools
-
-RDEPENDS_${PN}_append = " \
-       bash    \
-       python-pbr \
-       python-prettytable \
-       python-glanceclient \
-       python-keystoneclient \
-       python-iso8601 \
-       python-six \
-       python-babel \
-       python-pyopenssl \
-       python-requests \
-       python-pyyaml \
-       python-yaql \
-       python-osc-lib \
-       python-murano-pkg-check \
-       python-oslo.serialization \
-       python-oslo.utils \
-       python-oslo.log \
-       python-oslo.i18n \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-neutronclient_git.bb b/meta-stx/recipes-devtools/python/python-neutronclient_git.bb
deleted file mode 100644 (file)
index 91beb27..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "CLI and python client library for OpenStack Neutron"
-HOMEPAGE = "https://launchpad.net/neutron"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRCREV = "680b417111dbbda9e318700286c4efd9055f1af3"
-SRCNAME = "python-neutronclient"
-BRANCH = "stable/train"
-PROTOCOL = "https"
-PV = "6.12.0+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-       
-inherit setuptools monitor rmargparse
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native\
-        "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-        python-pbr \
-        python-cliff \
-        python-debtcollector \
-        python-iso8601 \
-        python-netaddr \
-        python-osc-lib \
-        python-oslo.i18n \
-        python-oslo.serialization \
-        python-oslo.utils \
-        python-os-client-config \
-        python-keystoneauth1 \
-        python-keystoneclient \
-        python-requests \
-        python-simplejson \
-        python-six \
-        python-babel \
-        "
-
-
-PACKAGECONFIG ?= "bash-completion"
-PACKAGECONFIG[bash-completion] = ",,bash-completion,bash-completion ${BPN}-bash-completion"
-
-do_install_append() {
-       install -d ${D}/${sysconfdir}/bash_completion.d
-       install -m 664 ${S}/tools/neutron.bash_completion ${D}/${sysconfdir}/bash_completion.d
-}
-
-PACKAGES =+ "${BPN}-bash-completion"
-FILES_${BPN}-bash-completion = "${sysconfdir}/bash_completion.d/*"
-
-MONITOR_CHECKS_${PN} += "\
-       neutron-api-check.sh \
-"
diff --git a/meta-stx/recipes-devtools/python/python-novaclient_git.bb b/meta-stx/recipes-devtools/python/python-novaclient_git.bb
deleted file mode 100644 (file)
index b9fa774..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Client library for OpenStack Compute API"
-HOMEPAGE = "https://github.com/openstack/python-novaclient"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7cdb54622cacc9bc9b2883091e6dd669"
-
-SRC_URI = "git://github.com/openstack/python-novaclient.git;branch=stable/pike"
-
-SRCREV = "62bf8809c660ed0675f301c235b1d434caeaf580"
-SRCNAME = "python-novaclient"
-PROTOCOL = "https"
-BRANCH = "stable/train"
-S = "${WORKDIR}/git"
-PV = "13.0.0+git${SRCPV}"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools python-dir
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native \
-        "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-        python-pbr \
-        python-keystoneauth1 \
-        python-iso8601 \
-        python-oslo.i18n \
-        python-oslo.serialization \
-        python-oslo.utils \
-        python-prettytable \
-        python-simplejson \
-        python-six \
-        python-babel \
-        "
-
-PACKAGECONFIG ?= "bash-completion"
-PACKAGECONFIG[bash-completion] = ",,bash-completion,bash-completion ${BPN}-bash-completion"
-
-do_install_append() {
-       install -d ${D}/${sysconfdir}/bash_completion.d
-       install -m 664 ${S}/tools/nova.bash_completion ${D}/${sysconfdir}/bash_completion.d
-
-       mv ${D}/${bindir}/nova ${D}/${bindir}/nova-${PYTHON_BASEVERSION}
-       ln -s ./nova-${PYTHON_BASEVERSION}  ${D}/${bindir}/nova-2
-       ln -s ./nova-2  ${D}/${bindir}/nova
-
-       if [ -e "${D}/${PYTHON_SITEPACKAGES_DIR}/novaclient/tests/v1_1/test_servers.py" ]; then
-               sed -e "s:%PYTHON_SITEPACKAGES_DIR%:${PYTHON_SITEPACKAGES_DIR}:g" \
-                   -i ${D}/${PYTHON_SITEPACKAGES_DIR}/novaclient/tests/v1_1/test_servers.py
-       fi
-
-}
-
-PACKAGES =+ "${BPN}-bash-completion"
-FILES_${BPN}-bash-completion = "${sysconfdir}/bash_completion.d/*"
diff --git a/meta-stx/recipes-devtools/python/python-openstackclient_git.bbappend b/meta-stx/recipes-devtools/python/python-openstackclient_git.bbappend
deleted file mode 100644 (file)
index 43b226b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-
-PV = "3.19.0+git${SRCPV}"
-SRCREV = "83359fbe4fd7e5850abd45a467bf197c284519b1"
-
-SRC_URI = " \
-        git://github.com/openstack/python-openstackclient.git;branch=stable/stein \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-openstacksdk_%.bbappend b/meta-stx/recipes-devtools/python/python-openstacksdk_%.bbappend
deleted file mode 100644 (file)
index 04b0d82..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RDEPENDS_${PN}_append = " python-munch"
-RDEPENDS_${PN}_append = " python2-os-service-types"
diff --git a/meta-stx/recipes-devtools/python/python-openstacksdk_git.bbappend b/meta-stx/recipes-devtools/python/python-openstacksdk_git.bbappend
deleted file mode 100644 (file)
index 4ace9d7..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RDEPENDS_${PN} += " bash"
-PV = "0.25.0+git${SRCPV}"
-SRCREV="9cd0ef2ac5b8cc90df344f69edc8ac68224f292e"
-
diff --git a/meta-stx/recipes-devtools/python/python-osc-lib_1.12.1.bb b/meta-stx/recipes-devtools/python/python-osc-lib_1.12.1.bb
deleted file mode 100644 (file)
index d6d9cbb..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "OpenStackClient Library"
-HOMEPAGE = "http://opensource.perlig.de/rcssmin/"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRC_URI[md5sum] = "73c8bd90b8325b2595b814f41d06fdb8"
-SRC_URI[sha256sum] = "26d3e32c8c4eff47240c458cddb6b75db52034d643f01de2841ad9e84904d7aa"
-
-inherit setuptools pypi
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-        python-pbr \
-        python-six \
-        python-babel \
-        python-cliff \
-        python-keystoneauth1 \
-        python-os-client-config \
-        python-oslo.i18n \
-        python-oslo.utils \
-        python-simplejson \
-        python-stevedore \
-        "
-
-CLEANBROKEN = "1"
diff --git a/meta-stx/recipes-devtools/python/python-oslo.cache_git.bb b/meta-stx/recipes-devtools/python/python-oslo.cache_git.bb
deleted file mode 100644 (file)
index 03e90f3..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "oslo.config enabled dogpile cache"
-HOMEPAGE = "https://github.com/openstack/oslo.cache"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRCREV = "3b8d9c3f6c87d62e5502cf4a9ae89e4067180c1f"
-SRCNAME = "oslo.cache"
-PROTOCOL = "https"
-BRANCH = "stable/train"
-S = "${WORKDIR}/git"
-PV = "1.26.0+git${SRCPV}"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools rmargparse
-
-DEPENDS += " \
-        python-pbr \
-        python-pip \
-        "
-
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-# RDEPENDS_default:
-RDEPENDS_${PN} += " \
-        python-dogpile.cache \
-        python-six \
-        python-oslo.config \
-        python-oslo.i18n \
-        python-oslo.log \
-        python-oslo.utils \
-        "
diff --git a/meta-stx/recipes-devtools/python/python-oslo.concurrency_git.bb b/meta-stx/recipes-devtools/python/python-oslo.concurrency_git.bb
deleted file mode 100644 (file)
index f15de88..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "oslo.concurrency library"
-HOMEPAGE = "https://github.com/openstack/oslo.concurrency"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
-
-SRCREV = "5b42d276350666410a7d010a5152467ad509d3f9"
-SRCNAME = "oslo.concurrency"
-PROTOCOL = "https"
-BRANCH = "stable/train"
-S = "${WORKDIR}/git"
-PV = "3.26.0+git${SRCPV}"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools rmargparse
-
-DEPENDS += " \
-        python-pbr \
-        python-pip \
-        "
-
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-# RDEPENDS_default:
-RDEPENDS_${PN} += " \
-        python-pbr \
-        python-fasteners \
-        python-oslo.config \
-        python-oslo.i18n \
-        python-oslo.utils \
-        python-six \
-        python-enum34 \
-        "
diff --git a/meta-stx/recipes-devtools/python/python-oslo.config_git.bb b/meta-stx/recipes-devtools/python/python-oslo.config_git.bb
deleted file mode 100644 (file)
index 81199e5..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "API supporting parsing command line arguments and .ini style configuration files."
-HOMEPAGE = "https://pypi.python.org/pypi/oslo.config/5.2.0"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c46f31914956e4579f9b488e71415ac8"
-
-SRCREV = "31c11ab4289efa1a91835f3daa928fe927ac4276"
-SRCNAME = "oslo.config"
-PROTOCOL = "https"
-BRANCH = "stable/queens"
-S = "${WORKDIR}/git"
-PV = "5.2.0+git${SRCPV}"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools rmargparse
-
-DEPENDS += " \
-        python-pbr \
-        python-pip \
-        "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-    python-pbr \
-    python-netaddr \
-    python-six \
-    python-stevedore \
-    python-debtcollector \
-    python-oslo.i18n \
-    python-rfc3986 \
-    python-pyyaml \
-    python-importlib-metadata \
-    "
-       
diff --git a/meta-stx/recipes-devtools/python/python-oslo.context_git.bb b/meta-stx/recipes-devtools/python/python-oslo.context_git.bb
deleted file mode 100644 (file)
index 9b8ac3b..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Oslo Context Library"
-HOMEPAGE = "https://launchpad.net/oslo"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRCREV = "76a07f9022f0fa967707c9f6cb5a4a24aac6b3ef"
-SRCNAME = "oslo.context"
-PROTOCOL = "https"
-BRANCH = "stable/stein"
-S = "${WORKDIR}/git"
-PV = "2.22.1+git${SRCPV}"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native \
-        "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-# RDEPENDS_default: 
-RDEPENDS_${PN} += " \
-        bash \
-        python-pbr \
-        python-debtcollector \
-        python-positional \
-        "
diff --git a/meta-stx/recipes-devtools/python/python-oslo.db_git.bb b/meta-stx/recipes-devtools/python/python-oslo.db_git.bb
deleted file mode 100644 (file)
index 665a359..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Oslo db library"
-HOMEPAGE = "http://launchpad.net/oslo"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
-
-SRCREV = "4de33ebd504a2c3dbddc2492bdb96ae7bca77d66"
-SRCNAME = "oslo.db"
-PROTOCOL = "https"
-BRANCH = "stable/stein"
-S = "${WORKDIR}/git"
-PV = "4.27.0+git${SRCPV}"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-        python-oslo.config \
-       python-oslo.i18n \
-       python-oslo.serialization \
-       python-oslo.utils \
-       python-six \
-        python-alembic \
-       python-sqlalchemy \
-       python-sqlalchemy-migrate \
-       python-stevedore \
-       python-pbr \
-       python-debtcollector \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-oslo.log_git.bb b/meta-stx/recipes-devtools/python/python-oslo.log_git.bb
deleted file mode 100644 (file)
index 0ec652e..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Oslo Log Library"
-HOMEPAGE = "https://launchpad.net/oslo"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
-
-SRCREV = "110191aa505cfefafee1c8579213b2f9c3397b6c"
-SRCNAME = "oslo.log"
-PROTOCOL = "https"
-BRANCH = "stable/train"
-S = "${WORKDIR}/git"
-PV = "3.38.0+git${SRCPV}"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools
-
-DEPENDS += " \
-        python-pip \
-        python-babel \
-        python-pbr-native \
-        "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-# RDEPENDS_default: 
-RDEPENDS_${PN} += " \
-        bash \
-        python-pbr \
-        python-six \
-        python-oslo.config \
-        python-oslo.context \
-        python-oslo.i18n \
-        python-oslo.utils \
-        python-oslo.serialization \
-        python-pyinotify \
-        python-debtcollector \
-        python-dateutil \
-        python-monotonic \
-        "
diff --git a/meta-stx/recipes-devtools/python/python-oslo.middleware_git.bb b/meta-stx/recipes-devtools/python/python-oslo.middleware_git.bb
deleted file mode 100644 (file)
index ae89ed8..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Oslo Middleware Library"
-HOMEPAGE = "https://launchpad.net/oslo"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
-
-SRCREV = "8812bc3fc490f0db4977418eaedf58190a0df394"
-SRCNAME = "oslo.middleware"
-PROTOCOL = "https"
-BRANCH = "stable/train"
-S = "${WORKDIR}/git"
-PV = "3.31.0+git${SRCPV}"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native \
-        "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        python-pbr-native \
-        "
-
-# RDEPENDS_default:
-RDEPENDS_${PN} += " \
-        python-pbr \
-        python-jinja2 \
-        python-oslo.config \
-        python-oslo.context \
-        python-oslo.i18n \
-        python-oslo.utils \
-        python-six \
-        python-stevedore \
-        python-webob \
-        python-debtcollector \
-        python-statsd \
-        "
diff --git a/meta-stx/recipes-devtools/python/python-oslo.policy_git.bb b/meta-stx/recipes-devtools/python/python-oslo.policy_git.bb
deleted file mode 100644 (file)
index 69fd13f..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Oslo policy library"
-HOMEPAGE = "https://github.com/openstack/oslo.policy"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRCREV = "b9fd10e2612f26c93d49c168a0408aba6d20e5bf"
-SRCNAME = "oslo.policy"
-PROTOCOL = "https"
-BRANCH = "stable/train"
-S = "${WORKDIR}/git"
-PV = "1.43.1+git${SRCPV}"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-        python-oslo.config \
-       python-oslo.i18n \
-       python-oslo.serialization \
-       python-oslo.utils \
-       python-six \
-       python-pyyaml \
-       python-requests \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-oslo.serialization_git.bb b/meta-stx/recipes-devtools/python/python-oslo.serialization_git.bb
deleted file mode 100644 (file)
index 370aa9d..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Oslo Serialization API"
-HOMEPAGE = "https://launchpad.net/oslo"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
-
-SRCREV = "576b13ec26baa671da05df56a8d14aba6fa3e826"
-SRCNAME = "oslo.serialization"
-PROTOCOL = "https"
-BRANCH = "stable/train"
-S = "${WORKDIR}/git"
-PV = "2.23.0+git${SRCPV}"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-inherit setuptools
-
-# DEPENDS_default: python-pip
-
-DEPENDS += " \
-        python-pip \
-       python-pbr-native\
-       "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-       python-pbr-native \
-       "
-
-# RDEPENDS_default:
-RDEPENDS_${PN} += " \
-       python-pbr \
-       python-six \
-       python-oslo.utils \
-       python-pytz \
-       python-msgpack \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-oslo.upgradecheck_git.bb b/meta-stx/recipes-devtools/python/python-oslo.upgradecheck_git.bb
deleted file mode 100644 (file)
index 8f62fad..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Common code for writing OpenStack upgrade checks"
-DESCRIPTION = "\
-  This project contains the common code necessary for writing upgrade checks \
-  in OpenStack projects. It includes a module (oslo_upgradecheck.upgradecheck) \
-  for the common code as well as an example (oslo_upgradecheck.__main__) of \
-  integrating that code into a project. \
-"
-HOMEPAGE = "https://github.com/openstack/oslo.upgradecheck"
-SECTION = "devel/python"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-PV = "0.3.1+git${SRCPV}"
-SRCREV = "5f182fe19cdfe0bcf0d51bcf7be05e7a74f0a068"
-
-SRCNAME = "oslo.upgradecheck"
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=master"
-
-S = "${WORKDIR}/git"
-
-inherit setuptools
-
-DEPENDS += " \
-    python-pip \
-    python-pbr-native \
-"
-
-RDEPENDS_${PN} += " \
-    python-oslo.config \
-    python-oslo.i18n \
-"
diff --git a/meta-stx/recipes-devtools/python/python-oslo.utils_git.bbappend b/meta-stx/recipes-devtools/python/python-oslo.utils_git.bbappend
deleted file mode 100644 (file)
index ca53118..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PV = "3.33.0+git${SRCPV}"
-SRCREV = "58fb709f58bd031c5114d9b6fe2e0926175b87b6"
-SRC_URI = "git://github.com/openstack/oslo.utils.git;branch=stable/queens"
-
diff --git a/meta-stx/recipes-devtools/python/python-oslo.versionedobjects_git.bb b/meta-stx/recipes-devtools/python/python-oslo.versionedobjects_git.bb
deleted file mode 100644 (file)
index f71a190..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Oslo versionedobjects library"
-HOMEPAGE = "https://wiki.openstack.org/wiki/Oslo"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRCREV = "c95f0c876840e36f37acb14d5eec5238d85e7dce"
-SRCNAME = "oslo.versionedobjects"
-PROTOCOL = "https"
-BRANCH = "stable/queens"
-S = "${WORKDIR}/git"
-PV = "1.31.2+git${SRCPV}"
-
-SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-        python-six \
-        python-oslo.concurrency \
-        python-oslo.config \
-        python-oslo.context \
-        python-oslo.messaging \
-        python-oslo.serialization \
-        python-oslo.utils \
-        python-oslo.log \
-        python-oslo.i18n \
-        python-webob \
-        python-iso8601 \
-        python-netaddr \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-osprofiler_git.bb b/meta-stx/recipes-devtools/python/python-osprofiler_git.bb
deleted file mode 100644 (file)
index e98ff15..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Library for cross-project profiling library"
-HOMEPAGE = "https://docs.openstack.org/osprofiler/latest/"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5"
-
-SRCREV = "6d68170f72ef303e6564e164aafb1ec53a8b8314"
-SRCNAME = "osprofiler"
-BRANCH = "master"
-PROTOCOL = "https"
-PV = "2.3.0+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://opendev.org/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-       
-inherit setuptools
-
-DEPENDS += " python-pbr-native"
-
-RDEPENDS_${PN}_append = " \
-       python-pbr \
-       python-six \
-       python-oslo.messaging \
-       python-oslo.log \
-       python-oslo.utils \
-       python-webob \
-       python-requests \
-       python-netaddr \
-       python-oslo.concurrency \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-packaging_20.1.bb b/meta-stx/recipes-devtools/python/python-packaging_20.1.bb
deleted file mode 100644 (file)
index 8a90606..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = " \
-       Core utilities for Python packages. \
-       The packaging project includes the following: version handling, specifiers, markers, requirements, tags, utilities. \
-       "
-HOMEPAGE = "https://github.com/pypa/packaging"
-SECTION = "devel/python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91"
-
-SRC_URI[md5sum] = "a02ce566f10c701b4c42e39a4ce59c93"
-SRC_URI[sha256sum] = "e665345f9eef0c621aa0bf2f8d78cf6d21904eef16a93f020240b704a57f1334"
-
-PYPI_PACKAGE = "packaging"
-inherit setuptools pypi
diff --git a/meta-stx/recipes-devtools/python/python-pankoclient_0.5.0.bb b/meta-stx/recipes-devtools/python/python-pankoclient_0.5.0.bb
deleted file mode 100644 (file)
index ab16379..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "python-pankoclient"
-STABLE = "master"
-PROTOCOL = "https"
-BRANCH = "master"
-SRCREV = "572aee9cf6ac618eb5d1ea325f9e59414d387dbf"
-S = "${WORKDIR}/git"
-PV = "0.5.0"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-SRC_URI = "git://github.com/openstack/python-pankoclient.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-DEPENDS += " \
-       python \
-       python-pbr-native \
-       "
-
-inherit setuptools
diff --git a/meta-stx/recipes-devtools/python/python-paramiko_%.bbappend b/meta-stx/recipes-devtools/python/python-paramiko_%.bbappend
deleted file mode 100644 (file)
index af4cca2..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RDEPENDS_${PN}_append = " \
-       python-bcrypt \
-       python-pynacl \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-pecan_%.bbappend b/meta-stx/recipes-devtools/python/python-pecan_%.bbappend
deleted file mode 100644 (file)
index 896da67..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RDEPENDS_${PN}_append = " \
-       ${PYTHON_PN}-singledispatch \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-pika_1.1.0.bb b/meta-stx/recipes-devtools/python/python-pika_1.1.0.bb
deleted file mode 100644 (file)
index e3747a8..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Pika is a pure-Python implementation of the AMQP 0-9-1 protocol including RabbitMQ’s extensions."
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=535836bf0a5de515a7bfee026075701d"
-
-SRC_URI[sha256sum] = "9fa76ba4b65034b878b2b8de90ff8660a59d925b087c5bb88f8fdbb4b64a1dbf"
-
-
-PYPI_PACKAGE = "pika"
-inherit pypi setuptools
diff --git a/meta-stx/recipes-devtools/python/python-pycadf.bbappend_ b/meta-stx/recipes-devtools/python/python-pycadf.bbappend_
deleted file mode 100644 (file)
index a15e846..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-#
-#extract and update etc with contents from python-pycadf-common rpm file
diff --git a/meta-stx/recipes-devtools/python/python-pycurl_7.43.0.3.bb b/meta-stx/recipes-devtools/python/python-pycurl_7.43.0.3.bb
deleted file mode 100644 (file)
index 4da1f3a..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "libcurl python bindings"
-LICENSE = "LGPLv2 | MIT"
-LIC_FILES_CHKSUM = " \
-       file://COPYING-LGPL;md5=4fbd65380cdd255951079008b364516c \
-       file://COPYING-MIT;md5=2df767ed35d8ea83de4a93feb55e7815 \
-       "
-
-SRC_URI[sha256sum] = "6f08330c5cf79fa8ef68b9912b9901db7ffd34b63e225dce74db56bb21deda8e"
-
-
-PYPI_PACKAGE = "pycurl"
-inherit pypi setuptools
-
-export BUILD_SYS
-export HOST_SYS
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-DEPENDS = " curl python"
-
-BBCLASSEXTEND = " native"
diff --git a/meta-stx/recipes-devtools/python/python-pyelftools_0.25.bb b/meta-stx/recipes-devtools/python/python-pyelftools_0.25.bb
deleted file mode 100644 (file)
index 423ee75..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "pyelftools library for parsing and analyzing elf files"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5ce2a2b07fca326bc7c146d10105ccfc"
-
-SRC_URI[sha256sum] = "89c6da6f56280c37a5ff33468591ba9a124e17d71fe42de971818cbff46c1b24"
-
-PYPI_PACKAGE = "pyelftools"
-inherit pypi setuptools
diff --git a/meta-stx/recipes-devtools/python/python-pyghmi_1.5.7.bb b/meta-stx/recipes-devtools/python/python-pyghmi_1.5.7.bb
deleted file mode 100644 (file)
index 8b44780..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "HPE 3PAR HTTP REST Client"
-HOMEPAGE = "https://pythonhosted.org/python-3parclient/"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=d3dfac7b0d23cb44b097e35518879438"
-
-SRC_URI[md5sum] = "b49dd03782fd5eda09cd9210ae979f6a"
-SRC_URI[sha256sum] = "4c2b0be4e3b8a517c1718e39e1eeb3e62f73810bb9910278000716f6074e5a69"
-
-PYPI_PACKAGE = "pyghmi"
-inherit setuptools pypi
-
-DEPENDS += " \
-       python-pbr-native \
-       "
-
-RDEPENDS_${PN}_append = " \
-       python-dateutil \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-pyliblzma_0.5.3.bb b/meta-stx/recipes-devtools/python/python-pyliblzma_0.5.3.bb
deleted file mode 100644 (file)
index 6465d4e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Python bindings for liblzma"
-DESCRIPTION = "\
-PylibLZMA provides a python interface for the liblzma library to read and write data \
-that has been compressed or can be decompressed by Lasse Collin’s xz / lzma utils. \
-"
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=58c39b26c0549f8e1bb4122173f474cd"
-
-SRC_URI[md5sum] = "500f61116ee1ab4063b49c121786863a"
-SRC_URI[sha256sum] = "08d762f36d5e59fb9bb0e22e000c300b21f97e35b713321ee504cfb442667957"
-
-DEPENDS = "xz"
-
-inherit pypi setuptools
-
-PYPI_PACKAGE = "pyliblzma"
-PYPI_PACKAGE_EXT = "tar.bz2"
-
-BBCLASSEXTEND = " native"
diff --git a/meta-stx/recipes-devtools/python/python-pymysql_0.9.3.bb b/meta-stx/recipes-devtools/python/python-pymysql_0.9.3.bb
deleted file mode 100644 (file)
index 56976f9..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Python MySQL client library"
-DESCRIPTION = " This package contains a pure-Python MySQL client library, based on PEP 249." 
-
-SECTION = "devel/python"
-HOMEPAGE = "https://github.com/PyMySQL/PyMySQL"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=528175c84163bb800d23ad835c7fa0fc"
-
-inherit pypi setuptools
-
-PYPI_PACKAGE = "PyMySQL"
-
-SRC_URI[md5sum] = "e5d9183cc0a775ac29f9e0365cca6556"
-SRC_URI[sha256sum] = "d8c059dcd81dedb85a9f034d5e22dcb4442c0b201908bede99e306d65ea7c8e7"
diff --git a/meta-stx/recipes-devtools/python/python-pynacl_git.bb b/meta-stx/recipes-devtools/python/python-pynacl_git.bb
deleted file mode 100644 (file)
index 7ae73cd..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files/python-pynacl:"
-DESCRIPTION = "Python binding to libsodiom"
-
-HOMEPAGE = "https://pypi.org/project/PyNaCl/"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8cc789b082b3d97e1ccc5261f8594d3f"
-
-SRCREV = "4881c878c9a33f4684337f650355bdf7f031d77d"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
-       git://github.com/pyca/pynacl.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/0001-Enable-cross-compile.patch \
-       "
-
-
-inherit setuptools distutils
-
-DEPENDS += " libsodium python-cffi-native libsodium-native"
-RDEPENDS_${PN} = " libsodium"
-
-do_compile_prepend() {
-       export PYNACL_CROSS_BUILD="--build=${BUILD_SYS}"
-       export PYNACL_CROSS_HOST="--host=${HOST_SYS}"
-       export PYNACL_CROSS_TARGET="--target=${TARGET_SYS}"
-       export SODIUM_INSTALL="system"
-}
-
-do_install_prepend() {
-       export SODIUM_INSTALL="system"
-}
diff --git a/meta-stx/recipes-devtools/python/python-pyngus_git.bb b/meta-stx/recipes-devtools/python/python-pyngus_git.bb
deleted file mode 100644 (file)
index 4bbfc4a..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "A messaging framework built on the QPID Proton engine. It provides a callback-based API for message passing. See the User Guide in the docs directory for more detail."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
-
-SRCREV = "5392392046989f1bb84ba938c30e4d48311075f1"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/kgiusti/pyngus;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-pyperf_git.bb b/meta-stx/recipes-devtools/python/python-pyperf_git.bb
deleted file mode 100644 (file)
index 75588be..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "The Python perf module is a toolkit to write, run and analyze benchmarks."
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=78bc2e6e87c8c61272937b879e6dc2f8"
-
-SRCREV = "7febee0242ce8fd01f56bce2ec72ec536a41caed"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/vstinner/pyperf.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-# DEPENDS += " python python-pbr-native"
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-pysaml2_git.bb b/meta-stx/recipes-devtools/python/python-pysaml2_git.bb
deleted file mode 100644 (file)
index f4f0abc..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Python implementation of SAML Version 2 to be used in a WSGI environment"
-HOMEPAGE = "https://github.com/rohe/pysaml2"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=861cc9087857b5bea2e11356c3de95d9"
-
-SRCREV = "c740a3a270037d6fcb42a12112db594705d3878f"
-SRCNAME = "pysaml2"
-PROTOCOL = "git"
-BRANCH = "v4.9.0"
-S = "${WORKDIR}/git"
-PV = "4.5.0+git${SRCPV}"
-
-SRC_URI = "git://github.com/rohe/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools
-
-DEPENDS += " \
-        python-pip \
-        "
-
-RDEPENDS_${PN} += " \
-       python-zopeinterface \
-       python-repoze.who \
-       python-defusedxml \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-redfishtool_git.bb b/meta-stx/recipes-devtools/python/python-redfishtool_git.bb
deleted file mode 100644 (file)
index 6d659ff..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Client side API implementation of the Redfish RESTful API for Data Center Hardware Management."
-HOMEPAGE = "https://github.com/DMTF/Redfishtool"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=cee7a7694b5bf14bc9d3e0fbe78a64af"
-
-
-SRCREV = "2bdcd905e1ad227f40809ec298804d5401047612"
-SRCNAME = "Redfishtool"
-BRANCH = "master"
-PROTOCOL = "https"
-PV = "1.1.0+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
-       git://github.com/DMTF/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/0001-Adapt-redfishtool-to-python2.patch \
-       "
-
-inherit setuptools
-
-RDEPENDS_${PN} += " \
-       python-requests \
-"
-
-do_install_append() {
-       :
-}
-
-FILES_${PN} += " \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-requests-oauthlib_%.bbappend b/meta-stx/recipes-devtools/python/python-requests-oauthlib_%.bbappend
deleted file mode 100644 (file)
index beb02a9..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RDEPENDS_${PN}_append = " \
-       python-oauthlib \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-requests-oauthlib_git.bb b/meta-stx/recipes-devtools/python/python-requests-oauthlib_git.bb
deleted file mode 100644 (file)
index 5aba502..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "This project provides first-class OAuth library support for Requests."
-
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=22d117a849df10d047ed9b792838e863"
-
-SRCREV = "e19ac082682ecf3ed06cdcc5538e3c4bb2aa7762"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-PV = "1.2.0"
-
-SRC_URI = "git://github.com/requests/requests-oauthlib;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-requests-toolbelt_git.bb b/meta-stx/recipes-devtools/python/python-requests-toolbelt_git.bb
deleted file mode 100644 (file)
index 3e137d1..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "requests-toolbelt"
-
-STABLE = "master"
-PROTOCOL = "https"
-BRANCH = "master"
-SRCREV = "1e384626476f7afbff0f649fe41886d0f27473d6"
-S = "${WORKDIR}/git"
-PV = "0.9.1+${SRCPV}"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=71760e0f1dda8cff91b0bc9246caf571"
-
-SRC_URI = "git://github.com/requests/toolbelt.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-DEPENDS = " \
-       python \
-       python-pbr-native \
-       "
-
-inherit setuptools
-
-RDEPENDS_${PN} += " bash"
diff --git a/meta-stx/recipes-devtools/python/python-requests_%.bbappend b/meta-stx/recipes-devtools/python/python-requests_%.bbappend
deleted file mode 100644 (file)
index 775a1c5..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += " file://requests/0001-close-connection-on-HTTP-413-Request-Entit.patch"
diff --git a/meta-stx/recipes-devtools/python/python-ruamel.ordereddict_0.4.9.bb b/meta-stx/recipes-devtools/python/python-ruamel.ordereddict_0.4.9.bb
deleted file mode 100644 (file)
index f9a1fbb..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "The ordereddict module in short"
-HOMEPAGE = "https://pypi.org/project/ruamel.ordereddict/"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=0caf06c5d151e57e100341eb28dcb6f5"
-
-SRC_URI[md5sum] = "d160714193a0ec470cc26f614b1aa0e7"
-SRC_URI[sha256sum] = "7058c470f131487a3039fb9536dda9dd17004a7581bdeeafa836269a36a2b3f6"
-
-inherit setuptools pypi
diff --git a/meta-stx/recipes-devtools/python/python-ruamel.yaml_0.15.9.bb b/meta-stx/recipes-devtools/python/python-ruamel.yaml_0.15.9.bb
deleted file mode 100644 (file)
index db6407d..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "YAML 1.2 loader/dumper package for Python"
-HOMEPAGE = "https://pypi.org/project/ruamel.yaml/"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=84e9d7d823d2abac052e70de2051ca1c"
-
-SRC_URI[md5sum] = "d53315f8ccb93748d00ccca39486ac78"
-SRC_URI[sha256sum] = "350496f6fdd8c2bb17a0fa3fd2ec98431280cf12d72dae498b19ac0119c2bbad"
-
-inherit setuptools pypi python-dir
-
-DEPENDS += " \
-       ${PYTHON_PN}-native \
-       ${PYTHON_PN}-cryptography-native \
-       "
-RDEPENDS_${PN}_append  = " \
-       ${PYTHON_PN}-ruamel.ordereddict \
-       "
-
-do_install_prepend() {
-       export RUAMEL_NO_PIP_INSTALL_CHECK=1
-}
-
diff --git a/meta-stx/recipes-devtools/python/python-ryu_git.bb b/meta-stx/recipes-devtools/python/python-ryu_git.bb
deleted file mode 100644 (file)
index 92c16bf..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Ryu is a component-based software defined networking framework."
-HOMEPAGE = "https://github.com/osrg/ryu"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = " \
-       file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57\
-       "
-
-SRCREV = "1c008060fa3dab51c3a59c1485a7529b13cf0dd1"
-SRCNAME = "ryu"
-BRANCH = "master"
-PROTOCOL = "https"
-PV = "4.24+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/osrg/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools python-dir
-
-DEPENDS += " \
-       python-pip \
-       python-pbr-native \
-       "
-
-RDEPENDS_${PN}_append = " \
-       ${PYTHON_PN}-eventlet \
-       ${PYTHON_PN}-msgpack \
-       ${PYTHON_PN}-netaddr \
-       ${PYTHON_PN}-oslo.config \
-       ${PYTHON_PN}-ovs \
-       ${PYTHON_PN}-routes \
-       ${PYTHON_PN}-six \
-       ${PYTHON_PN}-tinyrpc \
-       ${PYTHON_PN}-webob \
-       "
-
-FILES_${PN}_append = " \
-       ${datadir}/etc/${SRCNAME} \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-saharaclient_git.bb b/meta-stx/recipes-devtools/python/python-saharaclient_git.bb
deleted file mode 100644 (file)
index de24319..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "CLI and python client library for OpenStack Sahara"
-HOMEPAGE = "https://launchpad.net/sahara"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-DEPENDS += " \
-        python-pip \
-        python-pbr \
-        "
-
-# Satisfy setup.py 'setup_requires'
-DEPENDS += " \
-        python-pbr-native \
-"
-
-RDEPENDS_${PN} += " \
-       python-pbr \
-       "
-
-SRCNAME = "saharaclient"
-
-SRC_URI = "git://github.com/openstack/python-saharaclient.git;branch=master"
-
-PV = "2.3.0+git${SRCPV}"
-SRCREV = "3107b452467537f4eef3d9ecfb5e35d110d19662"
-S = "${WORKDIR}/git"
-
-inherit setuptools
-
diff --git a/meta-stx/recipes-devtools/python/python-scss_git.bb b/meta-stx/recipes-devtools/python/python-scss_git.bb
deleted file mode 100644 (file)
index 29a705a..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "A simple language agnostic database migration tool"
-
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e6a600fd5e1d9cbde2d983680233ad02 "
-
-
-SRCREV = "34fe985e6b43caa9f9b9bcd0dc433be4b2a1fdec"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-PV = "0.8.73"
-
-SRC_URI = "git://github.com/klen/python-scss;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-snowballstemmer_2.0.0.bb b/meta-stx/recipes-devtools/python/python-snowballstemmer_2.0.0.bb
deleted file mode 100644 (file)
index a68086c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = " \
-       Snowball is a small string processing language designed for creating stemming algorithms \
-       for use in Information Retrieval. This site describes Snowball, and presents several useful \
-       stemmers which have been implemented using it. \
-       "
-HOMEPAGE = "https://github.com/snowballstem/snowball"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2750797da77c1d784e7626b3f7d7ff3e"
-
-SRC_URI[md5sum] = "c05ec4a897be3c953c8b8b844c4241d4"
-SRC_URI[sha256sum] = "df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52"
-
-PYPI_PACKAGE = "snowballstemmer"
-inherit setuptools pypi
diff --git a/meta-stx/recipes-devtools/python/python-sphinx_%.bbappend b/meta-stx/recipes-devtools/python/python-sphinx_%.bbappend
deleted file mode 100644 (file)
index b973fcd..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit python-dir
-RDEPENDS_${PN}_append = " \
-       ${PYTHON_PN}-pygments \
-       ${PYTHON_PN}-typing \
-       ${PYTHON_PN}-sphinxcontrib-websupport \
-       ${PYTHON_PN}-alabaster \
-       ${PYTHON_PN}-imagesize \
-       ${PYTHON_PN}-snowballstemmer \
-       ${PYTHON_PN}-packaging \
-       "
-
diff --git a/meta-stx/recipes-devtools/python/python-sphinxcontrib-websupport_1.1.0.bb b/meta-stx/recipes-devtools/python/python-sphinxcontrib-websupport_1.1.0.bb
deleted file mode 100644 (file)
index 5447a80..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = " \
-       sphinxcontrib-websupport provides a Python API to easily integrate Sphinx\
-       documentation into your Web application. \
-       "
-HOMEPAGE = "https://www.sphinx-doc.org/en/master/"
-SECTION = "devel/python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=819a10ab58e77e03e61a584de6339f7c"
-
-SRC_URI[md5sum] = "ca6435e7b4eb9408df4f54972361e9d3"
-SRC_URI[sha256sum] = "9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9"
-
-PYPI_PACKAGE = "sphinxcontrib-websupport"
-inherit setuptools pypi
diff --git a/meta-stx/recipes-devtools/python/python-testtools_%.bbappend b/meta-stx/recipes-devtools/python/python-testtools_%.bbappend
deleted file mode 100644 (file)
index 5caea9a..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RDEPENDS_${PN}_append = " \
-       python-mimeparse \
-       python-traceback2 \
-       python-unittest2 \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-traceback2_1.4.0.bbappend b/meta-stx/recipes-devtools/python/python-traceback2_1.4.0.bbappend
deleted file mode 100644 (file)
index f939587..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-BBCLASSEXTEND = "native"
diff --git a/meta-stx/recipes-devtools/python/python-unittest2_%.bbappend b/meta-stx/recipes-devtools/python/python-unittest2_%.bbappend
deleted file mode 100644 (file)
index 0db35be..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-DEPENDS_append = " \
-       ${PYTHON_PN}-traceback2-native \
-       ${PYTHON_PN}-six-native \
-       "
-
-SRC_URI += " \
-       file://python-unittest2/0001-port-unittest2-argparse-is-part-of-stdlib.patch \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-urlgrabber_4.0.0.bb b/meta-stx/recipes-devtools/python/python-urlgrabber_4.0.0.bb
deleted file mode 100644 (file)
index 4d679df..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "A high-level cross-protocol url-grabber."
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=68ad62c64cc6c620126241fd429e68fe"
-
-SRC_URI[sha256sum] = "79c5a01c5dd31906a7f38ef1f500030e137704804d585644693d3e474ed15f39"
-
-DEPENDS += "python-six python-six-native"
-PYPI_PACKAGE = "urlgrabber"
-inherit pypi setuptools
-
-FILES_${PN}_append = " ${datadir}"
diff --git a/meta-stx/recipes-devtools/python/python-urllib3_1.23.bbappend b/meta-stx/recipes-devtools/python/python-urllib3_1.23.bbappend
deleted file mode 100644 (file)
index 5ecad18..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PV="1.21.1"
-
-
-SRC_URI[md5sum] = "ef6c72c79b9c6bcd68c204f9b92abc86"
-SRC_URI[sha256sum] = "b14486978518ca0901a76ba973d7821047409d7f726f22156b24e83fd71382a5"
-
diff --git a/meta-stx/recipes-devtools/python/python-urwid_2.0.1.bb b/meta-stx/recipes-devtools/python/python-urwid_2.0.1.bb
deleted file mode 100644 (file)
index de4a6ac..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Urwid is a console user interface library for Python."
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
-
-SRC_URI[sha256sum] = "644d3e3900867161a2fc9287a9762753d66bd194754679adb26aede559bcccbc"
-
-
-PYPI_PACKAGE = "urwid"
-inherit pypi setuptools
diff --git a/meta-stx/recipes-devtools/python/python-versiontools.inc b/meta-stx/recipes-devtools/python/python-versiontools.inc
deleted file mode 100644 (file)
index 23cccd5..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Smart replacement for plain tuple used in __version__"
-SECTION = "devel/python"
-HOMEPAGE = "https://launchpad.net/versiontools"
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://setup.py;beginline=3;endline=20;md5=02193721a38fd8a05a4ddeb7df8e294d"
-
-inherit pypi
-
-SRC_URI[md5sum] = "602b7db8eea30dd29a1d451997adf251"
-SRC_URI[sha256sum] = "a969332887a18a9c98b0df0ea4d4ca75972f24ca94f06fb87d591377e83414f6"
diff --git a/meta-stx/recipes-devtools/python/python-versiontools_1.9.1.bb b/meta-stx/recipes-devtools/python/python-versiontools_1.9.1.bb
deleted file mode 100644 (file)
index ab1bdd0..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit setuptools
-require python-versiontools.inc
diff --git a/meta-stx/recipes-devtools/python/python-websocket-client_%.bbappend b/meta-stx/recipes-devtools/python/python-websocket-client_%.bbappend
deleted file mode 100644 (file)
index e2401d6..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RDEPENDS_${PN}_append = " \
-       ${PYTHON_PN}-backports-ssl \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-websockify_%.bbappend b/meta-stx/recipes-devtools/python/python-websockify_%.bbappend
deleted file mode 100644 (file)
index 3e390b4..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RDEPENDS_${PN}_append = " \
-       python-numpy \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-webtest_%.bbappend b/meta-stx/recipes-devtools/python/python-webtest_%.bbappend
deleted file mode 100644 (file)
index 570ac5f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RDEPENDS_${PN}_append = " python-waitress"
diff --git a/meta-stx/recipes-devtools/python/python-wsme_%.bbappend b/meta-stx/recipes-devtools/python/python-wsme_%.bbappend
deleted file mode 100644 (file)
index 13d38c9..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-RDEPENDS_${PN}_append = " \
-       ${PYTHON_PN}-simplegeneric \
-       "
diff --git a/meta-stx/recipes-devtools/python/python-yaql_git.bb b/meta-stx/recipes-devtools/python/python-yaql_git.bb
deleted file mode 100644 (file)
index d054f8b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "YAQL (Yet Another Query Language) is an embeddable and extensible query language, that allows performing complex queries against arbitrary objects. It has a vast and comprehensive standard library of frequently used querying functions and can be extend even further with user-specified functions. YAQL is written in python and is distributed via PyPI."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
-
-SRCREV = "7385a31b9dbfc777a514ba28fe507fbf904cc779"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/openstack/yaql.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python python-pbr-native"
-inherit setuptools distutils pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python-zipp_0.6.0.bb b/meta-stx/recipes-devtools/python/python-zipp_0.6.0.bb
deleted file mode 100644 (file)
index 082aa81..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Backport of pathlib-compatible object wrapper for zip files"
-HOMEPAGE = "https://github.com/jaraco/zipp"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e"
-
-SRC_URI[md5sum] = "d4451a749d8a7c3c392a9edd1864a937"
-SRC_URI[sha256sum] = "3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e"
-
-DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
-RDEPENDS_${PN} += "${PYTHON_PN}-more-itertools"
-
-inherit pypi setuptools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-stx/recipes-devtools/python/python3-cheroot_git.bb b/meta-stx/recipes-devtools/python/python3-cheroot_git.bb
deleted file mode 100644 (file)
index 2e5695d..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Cheroot is the high-performance, pure-Python HTTP server used by CherryPy."
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=beeffd9dfcc746ed5a91921f1acc2746"
-
-SRCREV = "c7ca7ff0bcebb53e1bed783280a3bb5db35f900f"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-PV = "7.0.0"
-
-SRC_URI = "git://github.com/cherrypy/cheroot.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " \
-       python3 \
-       python3-setuptools-scm-native \
-       python3-setuptools-scm-git-archive-native \
-       "
-
-RDEPENDS_${PN} += " \
-       python3-email \
-       python3-fcntl \
-       python3-io \
-       python3-logging \
-       python3-unixadmin \
-       python3-pyopenssl \
-       python3-six \
-       "
-
-inherit setuptools3 distutils3 pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python3-cherrypy_git.bb b/meta-stx/recipes-devtools/python/python3-cherrypy_git.bb
deleted file mode 100644 (file)
index 32559b6..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-#
-
-SUMMARY = " CherryPy is a pythonic, object-oriented HTTP framework"
-DESCRIPTION = "\
-       It allows building web applications in much the same way one would build any other object-oriented program. \
-       This design results in less and more readable code being developed faster. It's all just properties and methods. \
-       It is now more than ten years old and has proven fast and very stable. \
-       It is being used in production by many sites, from the simplest to the most demanding. \
-       "
-
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=a8cbc5da4e6892b15a972a0b18622b2b"
-
-SRCREV = "994803e4923e53b7079c79f4e9b502cc1b8d0aa6"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-PV = "18.2.0"
-
-SRC_URI = "git://github.com/cherrypy/cherrypy.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python3 python3-setuptools-scm-native"
-inherit setuptools3 distutils3 pkgconfig
-
-RDEPENDS_${PN} += " \
-       python3-compression \
-       python3-crypt \
-       python3-datetime \
-       python3-email \
-       python3-fcntl \
-       python3-html \
-       python3-io \
-       python3-json \
-       python3-logging \
-       python3-netclient \
-       python3-netserver \
-       python3-profile \
-       python3-pydoc \
-       python3-xml \
-       python3-unixadmin \
-       "
-       
-RDEPENDS_${PN} += " \
-       python3-cheroot \
-       python3-contextlib2 \
-       python3-memcached \
-       python3-portend \
-       python3-pyopenssl \
-       python3-routes \
-       python3-simplejson \
-       python3-six \
-       python3-zc-lockfile \
-       "
diff --git a/meta-stx/recipes-devtools/python/python3-lang_git.bb b/meta-stx/recipes-devtools/python/python3-lang_git.bb
deleted file mode 100644 (file)
index 91604e2..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = " Lang - Python Language Constraints"
-DESCRIPTION = "\
-       Lang is a Python module that allows enforcing programming language constraints. Lang was \
-       built using a Java like mindset, so many of the constraints that are supported are mirrors \
-       of constraints in the Java programming language. \
-       "
-
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
-
-SRCREV = "feb4c638ebc581d9913f440965e83558fd10018c"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git/src"
-
-SRC_URI = "git://github.com/amitassaraf/lang.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python3 python3-setuptools-scm-native"
-inherit setuptools3 distutils3 pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python3-linux-procfs_git.bb b/meta-stx/recipes-devtools/python/python3-linux-procfs_git.bb
deleted file mode 100644 (file)
index 46037ce..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Python classes to extract information from the Linux kernel /proc files"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-
-
-SRCREV = "d170839360edf3fbac4a31c7771c4ec5bb0b6121"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-PV = "0.6.1"
-
-SRC_URI = "git://git.kernel.org/pub/scm/libs/python/python-linux-procfs/python-linux-procfs.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python"
-RDEPENDS_${PN} = "python3-core"
-
-inherit setuptools3 distutils3 pkgconfig
diff --git a/meta-stx/recipes-devtools/python/python3-logutils_0.3.5.bb b/meta-stx/recipes-devtools/python/python3-logutils_0.3.5.bb
deleted file mode 100644 (file)
index d23f58e..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Set of handlers for the Python standard library's logging package"
-HOMEPAGE = "https://pypi.python.org/pypi/logutils"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=44c35f0b8e2a27a2f33a4e4a5c65d014"
-
-SRCREV = "66d55fae0cb3a94bc6a25af8e7c3dff2535a1b02"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-PV = "0.3.5"
-
-# SRC_URI = "hg://bitbucket.org/vinay.sajip/logutils;module=${PN}-${PV};proto=https;rev=8dcaf2a86257"
-SRC_URI = "git://bitbucket.org/vinay.sajip/logutils.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools3 distutils3
diff --git a/meta-stx/recipes-devtools/python/python3-mako_%.bbappend b/meta-stx/recipes-devtools/python/python3-mako_%.bbappend
deleted file mode 100644 (file)
index 3d16413..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-do_install_append() {
-       mv ${D}/${bindir}/mako-render ${D}/${bindir}/mako3-render 
-}
diff --git a/meta-stx/recipes-devtools/python/python3-pecan_git.bb b/meta-stx/recipes-devtools/python/python3-pecan_git.bb
deleted file mode 100644 (file)
index 397888d..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "WSGI object-dispatching web framework"
-
-HOMEPAGE = "https://pypi.python.org/pypi/pecan/"
-SECTION = "devel/python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d846877d24bbb3d7a00a985c90378e8c"
-
-SRCREV = "da15e06d783e2cf569b39ba506e68e4e1e85568d"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/pecan/pecan.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-inherit setuptools3 distutils3
-
-RDEPENDS_${PN} = "python3-mako \
-                 python3-six \
-                 python3-logutils \
-                 python3-webtest  \
-                 "
-
-do_install_append() {
-        mv ${D}/${bindir}/gunicorn_pecan ${D}/${bindir}/gunicorn_pecan3
-        mv ${D}/${bindir}/pecan ${D}/${bindir}/pecan3
-}
diff --git a/meta-stx/recipes-devtools/python/python3-prettytable_0.7.2.bb b/meta-stx/recipes-devtools/python/python3-prettytable_0.7.2.bb
deleted file mode 100644 (file)
index c21bfd8..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-# Update log with the message: adopted from upstream e1f2e1ae5f27d889e3d4bef1b23edcf8a6d804c0
-DESCRIPTION = " \
-       PrettyTable is a simple Python library designed to make it quick and easy to represent tabular data \
-       in visually appealing ASCII tables. It was inspired by the ASCII tables used in the PostgreSQL shell \
-       psql. PrettyTable allows for selection of which columns are to be printed, independent alignment of \
-       columns (left or right justified or centred) and printing of “sub-tables” by specifying a row range.\
-       "
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3e73500ffa52de5071cff65990055282"
-
-SRC_URI[md5sum] = "0c1361104caff8b09f220748f9d69899"
-SRC_URI[sha256sum] = "a53da3b43d7a5c229b5e3ca2892ef982c46b7923b51e98f0db49956531211c4f"
-
-SRCNAME = "prettytable"
-
-SRC_URI = "https://pypi.python.org/packages/source/P/PrettyTable/${SRCNAME}-${PV}.zip"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools3
-do_install_append() {
-    find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "*.txt" -o -name "PKG-INFO" -exec chmod 644 {} +
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-stx/recipes-devtools/python/python3-pymysql_0.9.3.bb b/meta-stx/recipes-devtools/python/python3-pymysql_0.9.3.bb
deleted file mode 100644 (file)
index dfbe060..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "A pure-Python MySQL client library"
-DESCRIPTION = " \
-This package contains a pure-Python MySQL client library, based on PEP 249 \
-Most public APIs are compatible with mysqlclient and MySQLdb.\
-"
-SECTION = "devel/python"
-HOMEPAGE = "https://github.com/PyMySQL/PyMySQL"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=528175c84163bb800d23ad835c7fa0fc"
-
-inherit pypi
-inherit setuptools3
-
-PYPI_PACKAGE = "PyMySQL"
-
-SRC_URI[md5sum] = "e5d9183cc0a775ac29f9e0365cca6556"
-SRC_URI[sha256sum] = "d8c059dcd81dedb85a9f034d5e22dcb4442c0b201908bede99e306d65ea7c8e7"
diff --git a/meta-stx/recipes-devtools/python/python3-redfishtool_git.bb b/meta-stx/recipes-devtools/python/python3-redfishtool_git.bb
deleted file mode 100644 (file)
index f90f508..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Client side API implementation of the Redfish RESTful API for Data Center Hardware Management."
-HOMEPAGE = "https://github.com/DMTF/Redfishtool"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=cee7a7694b5bf14bc9d3e0fbe78a64af"
-
-
-SRCREV = "2bdcd905e1ad227f40809ec298804d5401047612"
-SRCNAME = "Redfishtool"
-BRANCH = "master"
-PROTOCOL = "https"
-PV = "1.1.0+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/DMTF/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools3
-
-RDEPENDS_${PN} += " \
-       python3-requests \
-"
-
-do_install_append() {
-       :
-}
-
-FILES_${PN} += " \
-       "
diff --git a/meta-stx/recipes-devtools/python/python3-versiontools_1.9.1.bb b/meta-stx/recipes-devtools/python/python3-versiontools_1.9.1.bb
deleted file mode 100644 (file)
index 470f242..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit setuptools3
-require python-versiontools.inc
diff --git a/meta-stx/recipes-devtools/python/python3-webtest_2.0.33.bb b/meta-stx/recipes-devtools/python/python3-webtest_2.0.33.bb
deleted file mode 100644 (file)
index 91f465e..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "This wraps any WSGI application and makes it easy to send test requests to that application, without starting up an HTTP server."
-HOMEPAGE = "https://pypi.python.org/pypi/WebTest/"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://license.rst;md5=64f013a9d7a2a8ffc8d016a2d4214bcd"
-
-PYPI_PACKAGE = "WebTest"
-
-RDEPENDS_${PN} += "${PYTHON_PN}-beautifulsoup4"
-
-SRC_URI[md5sum] = "dd0385c725b85ac1e8079f38d2acd7b1"
-SRC_URI[sha256sum] = "41348efe4323a647a239c31cde84e5e440d726ca4f449859264e538d39037fd0"
-inherit setuptools3 pypi
diff --git a/meta-stx/recipes-devtools/python/python3-wsme_git.bb b/meta-stx/recipes-devtools/python/python3-wsme_git.bb
deleted file mode 100644 (file)
index 0c08e6d..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = " Web Services Made Easy (WSME)"
-DESCRIPTION = "\
-       Web Services Made Easy (WSME) simplifies the writing of REST web services by providing simple yet \
-       powerful typing, removing the need to directly manipulate the request and the response objects. \
-       "
-
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5a9126e7f56a0cf3247050de7f10d0f4"
-
-SRCREV = "f36a607124355007d3a830ebe7e53efda777c58a"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git/"
-
-SRC_URI = "git://opendev.org/x/wsme.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-DEPENDS += " python3 python3-pbr-native"
-inherit distutils3 
diff --git a/meta-stx/recipes-devtools/python/python_2.%.bbappend b/meta-stx/recipes-devtools/python/python_2.%.bbappend
deleted file mode 100644 (file)
index 7e41c90..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-
-pkg_postinst_${PN}-core () {
-    # several scritps assume /bin/python is available
-    ln -sf ${bindir}/python $D${base_bindir}/python
-}
-    
-
-
diff --git a/meta-stx/recipes-devtools/rpm/rpm2_4.14.2.bb b/meta-stx/recipes-devtools/rpm/rpm2_4.14.2.bb
deleted file mode 100644 (file)
index be41c8b..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY_python2-rpm = "Python bindings for apps which will manupulate RPM packages"
-DESCRIPTION_python2-rpm = "The python2-rpm package contains a module that permits applications \
-written in the Python programming language to use the interface \
-supplied by the RPM Package Manager libraries."
-
-HOMEPAGE = "http://www.rpm.org"
-
-# libraries are also LGPL - how to express this?
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c0bf017c0fd1920e6158a333acabfd4a"
-
-SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
-           file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \
-           file://0001-Do-not-read-config-files-from-HOME.patch \
-           file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \
-           file://0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch \
-           file://0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch \
-           file://0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch \
-           file://0001-Fix-build-with-musl-C-library.patch \
-           file://0001-Add-a-color-setting-for-mips64_n32-binaries.patch \
-           file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \
-           file://0001-Split-binary-package-building-into-a-separate-functi.patch \
-           file://0002-Run-binary-package-creation-via-thread-pools.patch \
-           file://0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch \
-           file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \
-           file://0001-perl-disable-auto-reqs.patch \
-           file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \
-           "
-
-PE = "1"
-SRCREV = "753f6941dc32e94047b7cfe713ddd604a810b4db"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "nss libarchive db file popt xz bzip2 dbus elfutils python"
-DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native"
-
-inherit autotools gettext pkgconfig pythonnative
-export PYTHON_ABI
-
-# OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe
-EXTRA_AUTORECONF_append = " --exclude=gnu-configize"
-
-EXTRA_OECONF_append = " --without-lua --enable-python"
-EXTRA_OECONF_append_libc-musl = " --disable-nls"
-
-# --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs
-#
-# --localstatedir prevents rpm from writing its database to native sysroot when building images
-#
-# Disable dbus for native, so that rpm doesn't attempt to inhibit shutdown via session dbus even when plugins support is enabled.
-# Also disable plugins by default for native.
-EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --disable-plugins"
-EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --localstatedir=/var --disable-plugins"
-
-BBCLASSEXTEND = "native nativesdk"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils"
-
-ASNEEDED = ""
-
-do_compile_append () {
-       cd python
-       cp -r ../../git/python/* ./
-       python setup.py build
-}
-
-do_install_append () {
-       sed -i -e 's:${HOSTTOOLS_DIR}/::g' \
-           ${D}/${libdir}/rpm/macros
-
-       sed -i -e 's|/usr/bin/python|${USRBINPATH}/env ${PYTHON_PN}|' \
-           ${D}${libdir}/rpm/pythondistdeps.py \
-           ${D}${libdir}/rpm/python-macro-helper
-
-       # remove all contents except python2-rpm
-       rm -r ${D}/var
-       rm -r ${D}/usr/share
-       rm -r ${D}/usr/include
-       rm -r ${D}/usr/lib/librpm*
-       rm -r ${D}/usr/lib/pkgconfig
-       # rm -r ${D}/usr/src
-       rm -r ${D}/usr/lib/rpm
-       rm -r ${D}/usr/lib/rpm-plugins
-       # rm -r ${D}/usr/lib/.debug
-       rm -r ${D}/usr/bin
-
-       cd python
-       python setup.py install \
-               --root=${D} --prefix=/usr \
-               --install-lib=${PYTHON_SITEPACKAGES_DIR}/ --install-data=${datadir}
-}
-
-PACKAGES = "python2-rpm rpm2-dbg"
-PROVIDES = "python2-rpm rpm2-dbg"
-FILES_python2-rpm = " \
-       ${PYTHON_SITEPACKAGES_DIR}/rpm/ \
-       ${PYTHON_SITEPACKAGES_DIR}/rpm-${PV}-py${PYTHON_BASEVERSION}.egg-info \
-       "
-
-# rpm 5.x was packaging the rpm build tools separately
-#RPROVIDES_${PN} += "rpm-build"
-
-RDEPENDS_${PN} = "bash perl python-core"
-RDEPENDS_python2-rpm = "rpm"
-DEPENDS_python2-rpm = "rpm"
diff --git a/meta-stx/recipes-devtools/rsync/rsync_%.bbappend b/meta-stx/recipes-devtools/rsync/rsync_%.bbappend
deleted file mode 100644 (file)
index b2e07ad..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit systemd
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "rsync.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "enable"
-
-do_install_append_class-target() {
-        install -p -D -m 644 ${S}/packaging/systemd/rsync.service ${D}/${systemd_system_unitdir}/rsync.service
-}
-
-FILES_${PN}_append = " ${systemd_system_unitdir}"
-
-       
diff --git a/meta-stx/recipes-devtools/ruby-shadow/ruby-shadow_%.bbappend b/meta-stx/recipes-devtools/ruby-shadow/ruby-shadow_%.bbappend
deleted file mode 100644 (file)
index 4b883fd..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit openssl10
diff --git a/meta-stx/recipes-devtools/ruby/ruby.inc b/meta-stx/recipes-devtools/ruby/ruby.inc
deleted file mode 100644 (file)
index 3acb436..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "An interpreter of object-oriented scripting language"
-DESCRIPTION = "Ruby is an interpreted scripting language for quick \
-and easy object-oriented programming. It has many features to process \
-text files and to do system management tasks (as in Perl). \
-It is simple, straight-forward, and extensible. \
-"
-HOMEPAGE = "http://www.ruby-lang.org/"
-SECTION = "devel/ruby"
-LICENSE = "Ruby | BSD | GPLv2"
-LIC_FILES_CHKSUM = "\
-    file://COPYING;md5=837b32593517ae48b9c3b5c87a5d288c \
-    file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5 \
-    file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-    file://LEGAL;md5=3ce1fae39fe573b818c0af162bce6579 \
-"
-
-DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline libffi libnsl2"
-DEPENDS_class-native = "zlib-native openssl-native libyaml-native readline-native libnsl2"
-
-SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-SRC_URI = " \
-       http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz \
-       file://0002-Obey-LDFLAGS-for-the-link-of-libruby.patch \
-           "
-# file://0002-Obey-LDFLAGS-for-the-link-of-libruby.patch 
-# file://extmk.patch 
-UPSTREAM_CHECK_URI = "https://www.ruby-lang.org/en/downloads/"
-
-inherit autotools ptest
-
-
-# This snippet lets compiled extensions which rely on external libraries,
-# such as zlib, compile properly.  If we don't do this, then when extmk.rb
-# runs, it uses the native libraries instead of the target libraries, and so
-# none of the linking operations succeed -- which makes extconf.rb think
-# that the libraries aren't available and hence that the extension can't be
-# built.
-
-do_configure_prepend() {
-    sed -i "s#%%TARGET_CFLAGS%%#$TARGET_CFLAGS#; s#%%TARGET_LDFLAGS%%#$TARGET_LDFLAGS#" ${S}/common.mk
-    rm -rf ${S}/ruby/
-}
diff --git a/meta-stx/recipes-devtools/ruby/ruby_2.0.0-p648.bb b/meta-stx/recipes-devtools/ruby/ruby_2.0.0-p648.bb
deleted file mode 100644 (file)
index 25972c3..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-require ruby.inc
-inherit openssl10
-
-DEPENDS += " libnsl2"
-
-SRCREV = "1a828cad2d559e2ff55a5f01cc5de217b9c9bc2b"
-
-SRC_URI += " \
-       git://github.com/ruby/spec.git;protocol=https;rev=${SRCREV};destsuffix=spec/rubyspec \
-       file://ruby-CVE-2017-9228.patch \
-       file://ext.socket.extmk.patch \
-       "
-
-SRC_URI[md5sum] = "05db49992d01731fee023cad09bb4e52"
-SRC_URI[sha256sum] = "8690bd6b4949c333b3919755c4e48885dbfed6fd055fe9ef89930bde0d2376f8"
-
-# it's unknown to configure script, but then passed to extconf.rb
-# maybe it's not really needed as we're hardcoding the result with
-# 0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch
-UNKNOWN_CONFIGURE_WHITELIST += "--enable-wide-getaddrinfo"
-
-PACKAGECONFIG ??= ""
-
-PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind"
-#PACKAGECONFIG[gmp] = "--with-gmp=yes, --with-gmp=no, gmp"
-
-EXTRA_AUTORECONF += "--exclude=aclocal"
-
-EXTRA_OECONF ?= " "
-EXTRA_OECONF = "\
-    --disable-install-doc \
-    --disable-rpath \
-    --disable-dtrace \
-    --enable-shared \
-    --enable-load-relative \
-"
-
-EXTRA_OEMAKE = " \
-    LIBRUBYARG='-lruby-static' \
-"
-
-do_configure_prepend() {
-    cd ${S}
-    rm -rf spec/rubyspec
-    cp -rf ${WORKDIR}/spec ${S}
-    cd ${B}
-}
-
-do_install() {
-    oe_runmake 'DESTDIR=${D}' install
-}
-
-do_install_append_class-target () {
-    # Find out rbconfig.rb from .installed.list
-    rbconfig_rb=`grep rbconfig.rb ${B}/.installed.list`
-    # Remove build host directories
-    sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' \
-           -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \
-           -e 's|${DEBUG_PREFIX_MAP}||g' \
-           -e 's:${HOSTTOOLS_DIR}/::g' \
-           -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
-           -e 's:${RECIPE_SYSROOT}::g' \
-           -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
-        ${D}$rbconfig_rb
-
-}
-
-do_install_ptest () {
-    cp -rf ${S}/test ${D}${PTEST_PATH}/
-    cp -r ${S}/include ${D}/${libdir}/ruby/
-    test_case_rb=`grep rubygems/test_case.rb ${B}/.installed.list`
-    sed -i -e 's:../../../test/:../../../ptest/test/:g' ${D}/$test_case_rb
-}
-
-FILES_${PN} += "${datadir}/rubygems"
-
-
-BBCLASSEXTEND = "native nativesdk"
-
-# INSANE_SKIP_${PN} += "ldflags"
diff --git a/meta-stx/recipes-extended/ceph/ceph_13.2.2.bb b/meta-stx/recipes-extended/ceph/ceph_13.2.2.bb
deleted file mode 100644 (file)
index b044d4b..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "User space components of the Ceph file system"
-DESCRIPTION = "\
-Ceph is a massively scalable, open-source, distributed storage system that runs \
-on commodity hardware and delivers object, block and file system storage. \
-"
-HOMEPAGE = "https://ceph.io"
-
-LICENSE = "LGPLv2.1 & GPLv2 & Apache-2.0 & MIT"
-LIC_FILES_CHKSUM = "\
-    file://COPYING-LGPL2.1;md5=fbc093901857fcd118f065f900982c24 \
-    file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-    file://COPYING;md5=92d301c8fccd296f2221a68a8dd53828 \
-"
-
-DEPENDS = "\
-    boost rdma-core bzip2 curl expat \
-    gperf-native keyutils libaio lz4 \
-    nspr nss oath openldap openssl \
-    python python-cython-native rocksdb \
-    snappy udev valgrind xfsprogs zlib \
-"
-
-S = "${WORKDIR}/git"
-BRANCH = "stx/v${PV}"
-SRCREV = "7567060fea1f8d719d317277f1eb01161cf3bfef"
-
-BRANCH_lua = "lua-5.3-ceph"
-SRCREV_lua = "1fce39c6397056db645718b8f5821571d97869a4"
-DESTSUF_lua = "git/src/lua"
-
-BRANCH_ceph-object-corpus = "master"
-SRCREV_ceph-object-corpus = "e32bf8ca3dc6151ebe7f205ba187815bc18e1cef"
-DESTSUF_ceph-object-corpus = "git/ceph-object-corpus"
-
-BRANCH_civetweb = "ceph-mimic"
-SRCREV_civetweb = "ff2881e2cd5869a71ca91083bad5d12cccd22136"
-DESTSUF_civetweb = "git/src/civetweb"
-
-BRANCH_jerasure = "v2-ceph"
-SRCREV_jerasure = "96c76b89d661c163f65a014b8042c9354ccf7f31"
-DESTSUF_jerasure = "git/src/erasure-code/jerasure/jerasure"
-
-BRANCH_gf-complete = "v3-ceph"
-SRCREV_gf-complete = "7e61b44404f0ed410c83cfd3947a52e88ae044e1"
-DESTSUF_gf-complete = "git/src/erasure-code/jerasure/gf-complete"
-
-BRANCH_xxHash = "master"
-SRCREV_xxHash = "1f40c6511fa8dd9d2e337ca8c9bc18b3e87663c9"
-DESTSUF_xxHash = "git/src/xxHash"
-
-# the tag v1.3.2 is not on any branch
-BRANCH_zstd = "nobranch=1"
-SRCREV_zstd = "f4340f46b2387bc8de7d5320c0b83bb1499933ad"
-DESTSUF_zstd = "git/src/zstd"
-
-BRANCH_rocksdb = "ceph-mimic"
-SRCREV_rocksdb = "f4a857da0b720691effc524469f6db895ad00d8e"
-DESTSUF_rocksdb = "git/src/rocksdb"
-
-BRANCH_ceph-erasure-code-corpus = "master"
-SRCREV_ceph-erasure-code-corpus = "2d7d78b9cc52e8a9529d8cc2d2954c7d375d5dd7"
-DESTSUF_ceph-erasure-code-corpus = "git/ceph-erasure-code-corpus"
-
-BRANCH_spdk = "wip-25032-mimic"
-SRCREV_spdk = "f474ce6930f0a44360e1cc4ecd606d2348481c4c"
-DESTSUF_spdk = "git/src/spdk"
-
-BRANCH_isa-l = "master"
-SRCREV_isa-l = "7e1a337433a340bc0974ed0f04301bdaca374af6"
-DESTSUF_isa-l = "git/src/isa-l"
-
-BRANCH_blkin = "master"
-SRCREV_blkin = "f24ceec055ea236a093988237a9821d145f5f7c8"
-DESTSUF_blkin = "git/src/blkin"
-
-BRANCH_rapidjson = "master"
-SRCREV_rapidjson = "f54b0e47a08782a6131cc3d60f94d038fa6e0a51"
-DESTSUF_rapidjson = "git/src/rapidjson"
-
-BRANCH_googletest = "ceph-release-1.7.x"
-SRCREV_googletest = "fdb850479284e2aae047b87df6beae84236d0135"
-DESTSUF_googletest = "git/src/googletest"
-
-BRANCH_crypto = "master"
-SRCREV_crypto = "603529a4e06ac8a1662c13d6b31f122e21830352"
-DESTSUF_crypto = "git/src/crypto/isa-l/isa-l_crypto"
-
-BRANCH_rapidjson-gtest = "ceph-release-1.7.x"
-SRCREV_rapidjson-gtest = "0a439623f75c029912728d80cb7f1b8b48739ca4"
-DESTSUF_rapidjson-gtest = "git/src/rapidjson/thirdparty/gtest"
-
-
-SRC_URI = "\
-    git://github.com/starlingx-staging/stx-ceph.git;branch=${BRANCH} \
-    git://github.com/ceph/lua;name=lua;branch=${BRANCH_lua};destsuffix=${DESTSUF_lua} \
-    git://github.com/ceph/ceph-object-corpus;name=ceph-object-corpus;branch=${BRANCH_ceph-object-corpus};destsuffix=${DESTSUF_ceph-object-corpus} \
-    git://github.com/ceph/civetweb;name=civetweb;branch=${BRANCH_civetweb};destsuffix=${DESTSUF_civetweb} \
-    git://github.com/ceph/jerasure;name=jerasure;branch=${BRANCH_jerasure};destsuffix=${DESTSUF_jerasure} \
-    git://github.com/ceph/gf-complete;name=gf-complete;branch=${BRANCH_gf-complete};destsuffix=${DESTSUF_gf-complete} \
-    git://github.com/ceph/xxHash;name=xxHash;branch=${BRANCH_xxHash};destsuffix=${DESTSUF_xxHash} \
-    git://github.com/facebook/zstd;name=zstd;${BRANCH_zstd};destsuffix=${DESTSUF_zstd} \
-    git://github.com/ceph/rocksdb;name=rocksdb;branch=${BRANCH_rocksdb};destsuffix=${DESTSUF_rocksdb} \
-    git://github.com/ceph/ceph-erasure-code-corpus;name=ceph-erasure-code-corpus;branch=${BRANCH_ceph-erasure-code-corpus};destsuffix=${DESTSUF_ceph-erasure-code-corpus} \
-    git://github.com/ceph/spdk;name=spdk;branch=${BRANCH_spdk};destsuffix=${DESTSUF_spdk} \
-    git://github.com/ceph/isa-l;name=isa-l;branch=${BRANCH_isa-l};destsuffix=${DESTSUF_isa-l} \
-    git://github.com/intel/isa-l_crypto;name=crypto;branch=${BRANCH_crypto};destsuffix=${DESTSUF_crypto} \
-    git://github.com/ceph/blkin;name=blkin;branch=${BRANCH_blkin};destsuffix=${DESTSUF_blkin} \
-    git://github.com/ceph/rapidjson;name=rapidjson;branch=${BRANCH_rapidjson};destsuffix=${DESTSUF_rapidjson} \
-    git://github.com/ceph/googletest;name=googletest;branch=${BRANCH_googletest};destsuffix=${DESTSUF_googletest} \
-    git://github.com/ceph/googletest;name=rapidjson-gtest;branch=${BRANCH_rapidjson-gtest};destsuffix=${DESTSUF_rapidjson-gtest} \
-    \
-    file://0001-Correct-the-path-to-find-version.h-in-rocksdb.patch \
-    file://0002-zstd-fix-error-for-cross-compile.patch \
-    file://0003-ceph-add-pybind-support-in-OE.patch \
-    file://0004-ceph-detect-init-correct-the-installation-for-OE.patch \
-    \
-    file://ceph-init-wrapper.sh \
-    file://ceph-manage-journal.py \
-    file://ceph-preshutdown.sh \
-    file://ceph-radosgw.service \
-    file://ceph.conf \
-    file://ceph.conf.pmon \
-    file://ceph.service \
-    file://ceph.sh \
-    file://mgr-restful-plugin.py \
-    file://mgr-restful-plugin.service \
-    file://starlingx-docker-override.conf \
-"
-
-inherit cmake pythonnative python-dir systemd
-
-DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
-
-SYSTEMD_SERVICE_${PN} = " \
-    ceph-radosgw@.service \
-    ceph-radosgw.target \
-    ceph-mon@.service \
-    ceph-mon.target \
-    ceph-mds@.service \
-    ceph-mds.target \
-    ceph-disk@.service \
-    ceph-osd@.service \
-    ceph-osd.target \
-    ceph.target \
-    ceph-fuse@.service \
-    ceph-fuse.target \
-    ceph-rbd-mirror@.service \
-    ceph-rbd-mirror.target \
-    ceph-volume@.service \
-    ceph-mgr@.service \
-    ceph-mgr.target \
-    rbdmap.service \
-"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-OECMAKE_GENERATOR = "Unix Makefiles"
-
-EXTRA_OECMAKE = "\
-    -DWITH_MANPAGE=OFF \
-    -DWITH_FUSE=OFF \
-    -DWITH_SPDK=OFF \
-    -DWITH_LEVELDB=OFF \
-    -DWITH_LTTNG=OFF \
-    -DWITH_BABELTRACE=OFF \
-    -DWITH_TESTS=OFF \
-    -DDEBUG_GATHER=OFF \
-    -DWITH_PYTHON2=ON \
-    -DWITH_MGR=ON \
-    -DMGR_PYTHON_VERSION=2.7 \
-    -DWITH_MGR_DASHBOARD_FRONTEND=OFF \
-    -DWITH_SYSTEM_BOOST=ON \
-    -DWITH_SYSTEM_ROCKSDB=ON \
-    -DCMAKE_INSTALL_INITCEPH=${sysconfdir}/init.d \
-"
-
-do_configure_prepend () {
-    echo "set( CMAKE_SYSROOT \"${RECIPE_SYSROOT}\" )" >> ${WORKDIR}/toolchain.cmake
-    echo "set( CMAKE_DESTDIR \"${D}\" )" >> ${WORKDIR}/toolchain.cmake
-    echo "set( PYTHON_SITEPACKAGES_DIR \"${PYTHON_SITEPACKAGES_DIR}\" )" >> ${WORKDIR}/toolchain.cmake
-    ln -sf ${STAGING_LIBDIR}/libboost_python27.so ${STAGING_LIBDIR}/libboost_python.so
-    echo ${SRCREV} > ${S}/src/.git_version
-    echo v${PV} >> ${S}/src/.git_version
-}
-
-do_install_append () {
-    mv ${D}${bindir}/ceph-disk ${D}${sbindir}/ceph-disk
-    sed -i -e 's:${WORKDIR}.*python2.7:${bindir}/python:' ${D}${sbindir}/ceph-disk
-    sed -i -e 's:${sbindir}/service:${bindir}/service:' ${D}/${libdir}/python2.7/site-packages/ceph_disk/main.py
-    sed -i -e 's:${WORKDIR}.*python2.7:${bindir}/python:' ${D}${bindir}/ceph
-    sed -i -e 's:${WORKDIR}.*python2.7:${bindir}/python:' ${D}${bindir}/ceph-detect-init
-    find ${D} -name SOURCES.txt | xargs sed -i -e 's:${WORKDIR}::'
-
-    install -d ${D}${systemd_unitdir}
-    mv ${D}${libexecdir}/systemd/system ${D}${systemd_unitdir}
-    mv ${D}${libexecdir}/ceph/ceph-osd-prestart.sh ${D}${libdir}/ceph
-    install -m 0755 ${D}${libexecdir}/ceph/ceph_common.sh ${D}${libdir}/ceph
-
-    install -d ${D}${sysconfdir}/ceph
-    install -m 0644 ${WORKDIR}/ceph.conf ${D}${sysconfdir}/ceph/
-    install -m 0644 ${WORKDIR}/ceph-radosgw.service ${D}${systemd_system_unitdir}/ceph-radosgw@.service
-    install -m 0644 ${WORKDIR}/ceph.service ${D}${systemd_system_unitdir}
-    install -m 0644 ${WORKDIR}/mgr-restful-plugin.service ${D}${systemd_system_unitdir}
-
-    install -m 0700 ${WORKDIR}/ceph-manage-journal.py ${D}${sbindir}/ceph-manage-journal
-    install -Dm 0750 ${WORKDIR}/mgr-restful-plugin.py  ${D}${sysconfdir}/rc.d/init.d/mgr-restful-plugin
-    install -Dm 0750 ${WORKDIR}/mgr-restful-plugin.py  ${D}${sysconfdir}/init.d/mgr-restful-plugin
-    install -m 0750 ${WORKDIR}/ceph.conf.pmon ${D}${sysconfdir}/ceph/
-
-    install -d -m 0750 ${D}${sysconfdir}/services.d/controller
-    install -d -m 0750 ${D}${sysconfdir}/services.d/storage
-    install -d -m 0750 ${D}${sysconfdir}/services.d/worker
-
-    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/controller
-    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/storage
-    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/worker
-
-    install -Dm 0750 ${WORKDIR}/ceph-init-wrapper.sh ${D}${sysconfdir}/rc.d/init.d/ceph-init-wrapper
-    install -Dm 0750 ${WORKDIR}/ceph-init-wrapper.sh ${D}${sysconfdir}/init.d/ceph-init-wrapper
-    sed -i -e 's|/usr/lib64|${libdir}|' ${D}${sysconfdir}/rc.d/init.d/ceph-init-wrapper ${D}${sysconfdir}/init.d/ceph-init-wrapper
-
-    install -m 0700 ${WORKDIR}/ceph-preshutdown.sh ${D}${sbindir}/ceph-preshutdown.sh
-    
-    install -Dm 0644 ${WORKDIR}/starlingx-docker-override.conf ${D}${systemd_system_unitdir}/docker.service.d/starlingx-docker-override.conf
-
-    install -m 0644 -D ${S}/src/etc-rbdmap ${D}${sysconfdir}/ceph/rbdmap 
-    install -m 0644 -D ${S}/etc/sysconfig/ceph ${D}${sysconfdir}/sysconfig/ceph
-    install -m 0644 -D ${S}/src/logrotate.conf ${D}${sysconfdir}/logrotate.d/ceph
-
-    install -m 0644 -D ${S}/COPYING ${D}${docdir}/ceph/COPYING    
-    install -m 0644 -D ${S}/etc/sysctl/90-ceph-osd.conf ${D}${libdir}/sysctl.d/90-ceph-osd.conf
-    install -m 0644 -D ${S}/udev/50-rbd.rules ${D}${libdir}/udev/rules.d/50-rbd.rules
-    install -m 0644 -D ${S}/udev/60-ceph-by-parttypeuuid.rules ${D}${libdir}/udev/rules.d/60-ceph-by-parttypeuuid.rules
-
-    mkdir -p ${D}${localstatedir}/ceph
-    mkdir -p ${D}${localstatedir}/log/ceph
-    mkdir -p ${D}${localstatedir}/lib/ceph/tmp
-    mkdir -p ${D}${localstatedir}/lib/ceph/mon
-    mkdir -p ${D}${localstatedir}/lib/ceph/osd
-    mkdir -p ${D}${localstatedir}/lib/ceph/mds
-    mkdir -p ${D}${localstatedir}/lib/ceph/mgr
-    mkdir -p ${D}${localstatedir}/lib/ceph/radosgw
-    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-osd
-    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-mds
-    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-rgw
-    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-mgr
-    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-rbd
-
-    install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
-    echo "d ${localstatedir}/run/ceph 0755 ceph ceph -" >> ${D}/${sysconfdir}/tmpfiles.d/ceph.conf
-
-    install -m 0750 -D ${S}/src/init-radosgw ${D}${sysconfdir}/rc.d/init.d/ceph-radosgw
-    install -m 0750 -D ${S}/src/init-radosgw ${D}${sysconfdir}/init.d/ceph-radosgw
-    sed -i '/### END INIT INFO/a SYSTEMCTL_SKIP_REDIRECT=1' ${D}${sysconfdir}/rc.d/init.d/ceph-radosgw
-    sed -i '/### END INIT INFO/a SYSTEMCTL_SKIP_REDIRECT=1' ${D}${sysconfdir}/init.d/ceph-radosgw
-    install -m 0750 -D ${S}/src/init-rbdmap ${D}${sysconfdir}/rc.d/init.d/rbdmap
-    install -m 0750 -D ${S}/src/init-rbdmap ${D}${sysconfdir}/init.d/rbdmap
-    install -m 0750 -D ${B}/bin/init-ceph ${D}${sysconfdir}/rc.d/init.d/ceph
-    install -m 0750 -D ${B}/bin/init-ceph ${D}${sysconfdir}/init.d/ceph
-    sed -i -e 's|/usr/lib64|${libdir}|' ${D}${sysconfdir}/init.d/ceph ${D}${sysconfdir}/rc.d/init.d/ceph
-    install -d -m 0750 ${D}${localstatedir}/log/radosgw
-}
-
-PACKAGES += " \
-    ${PN}-python \
-"
-
-FILES_${PN} += "\
-    ${libdir}/rados-classes/*.so.* \
-    ${libdir}/ceph/compressor/*.so \
-    ${libdir}/rados-classes/*.so \
-    ${libdir}/ceph/*.so \
-    ${localstatedir} \
-    ${docdir}/ceph/COPYING \
-    ${libdir}/sysctl.d/90-ceph-osd.conf \
-    ${libdir}/udev/rules.d/50-rbd.rules \
-    ${libdir}/udev/rules.d/60-ceph-by-parttypeuuid.rules \
-    ${systemd_system_unitdir}/mgr-restful-plugin.service \
-    ${systemd_system_unitdir}/ceph-radosgw@.service \
-    ${systemd_system_unitdir}/ceph.service \
-    ${systemd_system_unitdir}/docker.service.d/starlingx-docker-override.conf \
-"
-FILES_${PN}-python = "\
-    ${PYTHON_SITEPACKAGES_DIR}/* \
-"
-
-RDEPENDS_${PN} += "\
-    bash \
-    python \
-    python-misc \
-    python-modules \
-    python-prettytable \
-    rdma-core \
-    xfsprogs-mkfs \
-    ${PN}-python \
-"
-
-COMPATIBLE_HOST = "(x86_64).*"
-
-INSANE_SKIP_${PN}-python += "ldflags"
-INSANE_SKIP_${PN} += "dev-so"
diff --git a/meta-stx/recipes-extended/ceph/ceph_14.1.0.bbappend b/meta-stx/recipes-extended/ceph/ceph_14.1.0.bbappend
deleted file mode 100644 (file)
index 0340565..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:${THISDIR}/files:"
-
-inherit python3native python3-dir
-
-DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
-
-SRC_URI += "\
-       file://0001-ceph-rebase-on-stx.3.0-and-warrior.patch \
-       file://ceph.conf \
-       file://ceph-init-wrapper.sh \
-        file://ceph-preshutdown.sh \
-        file://ceph.service \
-        file://mgr-restful-plugin.py \
-        file://starlingx-docker-override.conf \
-        file://ceph.conf.pmon \
-        file://ceph-manage-journal.py \
-        file://ceph-radosgw.service \
-        file://ceph.sh \
-        file://mgr-restful-plugin.service \
-       file://rados.runtime.decode.error.patch \
-       "
-DEPENDS = "boost rdma-core bzip2 curl expat gperf-native \
-               keyutils libaio lz4 \
-               nspr nss oath openldap openssl \
-               python3 python3-cython-native rocksdb snappy udev \
-               python-cython-native valgrind xfsprogs zlib \
-               rabbitmq-c \
-               "
-RDEPENDS_${PN} += " rdma-core python3-core python3 xfsprogs-mkfs python3-prettytable"
-
-
-EXTRA_OECMAKE = "-DWITH_MANPAGE=OFF \
-                 -DWITH_FUSE=OFF \
-                -DWITH_SPDK=OFF \
-                -DWITH_LEVELDB=OFF \
-                -DWITH_LTTNG=OFF \
-                -DWITH_BABELTRACE=OFF \
-                -DWITH_TESTS=OFF \
-                -DWITH_MGR=ON \
-                -DWITH_PYTHON2=OFF \
-                -DWITH_PYTHON3=ON \
-                -DMGR_PYTHON_VERSION=3 \
-                -DWITH_MGR_DASHBOARD_FRONTEND=OFF \
-                -DWITH_SYSTEM_BOOST=ON \
-                -DWITH_SYSTEM_ROCKSDB=ON \
-                -DWITH_RDMA=OFF \
-                -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \
-                "
-
-# TODO: Should be fixed in either boost package or CMake files. 
-#do_configure_prepend() {
-#      ln -f -s ${WORKDIR}/recipe-sysroot/usr/lib/libboost_python35.so \
-#              ${WORKDIR}/recipe-sysroot/usr/lib/libboost_python.so
-#}
-
-do_install_append () {
-    install -d ${D}${sysconfdir}/ceph
-    install -m 0644 ${WORKDIR}/ceph.conf ${D}${sysconfdir}/ceph/
-    install -m 0644 ${WORKDIR}/ceph-radosgw.service ${D}${systemd_system_unitdir}/ceph-radosgw@.service
-    install -m 0644 ${WORKDIR}/ceph.service ${D}${systemd_system_unitdir}
-    install -m 0644 ${WORKDIR}/mgr-restful-plugin.service ${D}${systemd_system_unitdir}
-
-    install -m 0700 ${WORKDIR}/ceph-manage-journal.py ${D}${sbindir}/ceph-manage-journal
-    install -Dm 0750 ${WORKDIR}/mgr-restful-plugin.py  ${D}${sysconfdir}/rc.d/init.d/mgr-restful-plugin
-    install -Dm 0750 ${WORKDIR}/mgr-restful-plugin.py  ${D}${sysconfdir}/init.d/mgr-restful-plugin
-    install -m 0750 ${WORKDIR}/ceph.conf.pmon ${D}${sysconfdir}/ceph/
-
-    install -d -m 0750 ${D}${sysconfdir}/services.d/controller
-    install -d -m 0750 ${D}${sysconfdir}/services.d/storage
-    install -d -m 0750 ${D}${sysconfdir}/services.d/worker
-
-    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/controller
-    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/storage
-    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/worker
-
-    install -Dm 0750 ${WORKDIR}/ceph-init-wrapper.sh ${D}${sysconfdir}/rc.d/init.d/ceph-init-wrapper
-    install -Dm 0750 ${WORKDIR}/ceph-init-wrapper.sh ${D}${sysconfdir}/init.d/ceph-init-wrapper
-    sed -i -e 's|/usr/lib64|${libdir}|' ${D}${sysconfdir}/rc.d/init.d/ceph-init-wrapper ${D}${sysconfdir}/init.d/ceph-init-wrapper
-
-    install -m 0700 ${WORKDIR}/ceph-preshutdown.sh ${D}${sbindir}/ceph-preshutdown.sh
-    
-    install -Dm 0644 ${WORKDIR}/starlingx-docker-override.conf ${D}${systemd_system_unitdir}/docker.service.d/starlingx-docker-override.conf
-
-    install -m 0644 -D ${S}/src/etc-rbdmap ${D}${sysconfdir}/ceph/rbdmap 
-    install -m 0644 -D ${S}/etc/sysconfig/ceph ${D}${sysconfdir}/sysconfig/ceph
-    install -m 0644 -D ${S}/src/logrotate.conf ${D}${sysconfdir}/logrotate.d/ceph
-
-    install -m 0644 -D ${S}/COPYING ${D}${docdir}/ceph/COPYING    
-    install -m 0644 -D ${S}/etc/sysctl/90-ceph-osd.conf ${D}${libdir}/sysctl.d/90-ceph-osd.conf
-    install -m 0644 -D ${S}/udev/50-rbd.rules ${D}${libdir}/udev/rules.d/50-rbd.rules
-    # install -m 0644 -D ${S}/udev/60-ceph-by-parttypeuuid.rules ${D}${libdir}/udev/rules.d/60-ceph-by-parttypeuuid.rules
-
-    mkdir -p ${D}${localstatedir}/ceph
-    mkdir -p ${D}${localstatedir}/log/ceph
-    mkdir -p ${D}${localstatedir}/lib/ceph/tmp
-    mkdir -p ${D}${localstatedir}/lib/ceph/mon
-    mkdir -p ${D}${localstatedir}/lib/ceph/osd
-    mkdir -p ${D}${localstatedir}/lib/ceph/mds
-    mkdir -p ${D}${localstatedir}/lib/ceph/mgr
-    mkdir -p ${D}${localstatedir}/lib/ceph/radosgw
-    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-osd
-    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-mds
-    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-rgw
-    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-mgr
-    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-rbd
-    mkdir -p ${D}${localstatedir}/lib/ceph/crash/posted
-
-    install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
-    echo "d ${localstatedir}/run/ceph 0755 ceph ceph -" >> ${D}/${sysconfdir}/tmpfiles.d/ceph.conf
-
-    install -m 0755 ${D}${libdir}/ceph/ceph_common.sh ${D}${libexecdir}/ceph
-
-    install -m 0750 -D ${S}/src/init-radosgw ${D}${sysconfdir}/rc.d/init.d/ceph-radosgw
-    install -m 0750 -D ${S}/src/init-radosgw ${D}${sysconfdir}/init.d/ceph-radosgw
-    sed -i '/### END INIT INFO/a SYSTEMCTL_SKIP_REDIRECT=1' ${D}${sysconfdir}/rc.d/init.d/ceph-radosgw
-    sed -i '/### END INIT INFO/a SYSTEMCTL_SKIP_REDIRECT=1' ${D}${sysconfdir}/init.d/ceph-radosgw
-    install -m 0750 -D ${S}/src/init-rbdmap ${D}${sysconfdir}/rc.d/init.d/rbdmap
-    install -m 0750 -D ${S}/src/init-rbdmap ${D}${sysconfdir}/init.d/rbdmap
-    install -m 0750 -D ${B}/bin/init-ceph ${D}${sysconfdir}/rc.d/init.d/ceph
-    install -m 0750 -D ${B}/bin/init-ceph ${D}${sysconfdir}/init.d/ceph
-    install -d -m 0750 ${D}${localstatedir}/log/radosgw 
-
-    sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph
-    # sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-disk
-    # sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-detect-init
-
-    sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-crash
-    sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-volume
-    sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-volume-systemd
-    #sed -i -e '1s:python$:python3:' ${D}${bindir}/ceph-volume
-    #sed -i -e '1s:python$:python3:' ${D}${bindir}/ceph-volume-systemd
-    sed -i -e 's:/sbin/:/bin/:' ${D}${systemd_system_unitdir}/ceph-volume@.service
-}
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-RDEPENDS_${PN} += "\
-        bash \
-"
-
-FILES_${PN} += "\
-        ${localstatedir} \
-       ${docdir}/ceph/COPYING \
-       ${libdir}/sysctl.d/90-ceph-osd.conf \
-       ${libdir}/udev/rules.d/50-rbd.rules \
-       ${libdir}/udev/rules.d/60-ceph-by-parttypeuuid.rules \
-        ${systemd_system_unitdir}/mgr-restful-plugin.service \
-        ${systemd_system_unitdir}/ceph-radosgw@.service \
-        ${systemd_system_unitdir}/ceph.service \
-        ${systemd_system_unitdir}/docker.service.d/starlingx-docker-override.conf \
-       home/root/cluster/ceph-mon_config.sh \
-       home/root/cluster/ceph-mgr_manual.sh \
-       home/root/cluster/ceph-volume_manual.sh \
-"
-# /run/ceph
diff --git a/meta-stx/recipes-extended/ceph/files/ceph.conf b/meta-stx/recipes-extended/ceph/files/ceph.conf
deleted file mode 100644 (file)
index 4057e53..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-[global]
-       # Unique ID for the cluster.
-       fsid = %CLUSTER_UUID%
-       # Public network where the monitor is connected to, i.e, 128.224.0.0/16
-       #public network = 127.0.0.1/24
-       # For version 0.55 and beyond, you must explicitly enable
-       # or disable authentication with "auth" entries in [global].
-       auth_cluster_required = cephx
-       auth_service_required = cephx
-       auth_client_required = cephx
-       osd_journal_size = 1024
-
-       # Uncomment the following line if you are mounting with ext4
-       # filestore xattr use omap = true
-
-       # Number of replicas of objects. Write an object 2 times.
-       # Cluster cannot reach an active + clean state until there's enough OSDs
-       # to handle the number of copies of an object. In this case, it requires
-       # at least 2 OSDs
-       osd_pool_default_size = 2
-
-       # Allow writing one copy in a degraded state.
-       osd_pool_default_min_size = 1
-
-       # Ensure you have a realistic number of placement groups. We recommend
-       # approximately 100 per OSD. E.g., total number of OSDs multiplied by 100
-       # divided by the number of replicas (i.e., osd pool default size). So for
-       # 2 OSDs and osd pool default size = 2, we'd recommend approximately
-       # (100 * 2) / 2 = 100.
-       osd_pool_default_pg_num = 64
-       osd_pool_default_pgp_num = 64
-       osd_crush_chooseleaf_type = 1
-       setuser match path = /var/lib/ceph/$type/$cluster-$id
-
-       # Override Jewel default of 2 reporters. StarlingX has replication factor 2
-       mon_osd_min_down_reporters = 1
-
-       # Use Hammer's report interval default value
-       osd_mon_report_interval_max = 120
-
-    # Configure max PGs per OSD to cover worst-case scenario of all possible
-    # StarlingX deployments i.e. AIO-SX with one OSD. Otherwise using
-    # the default value provided by Ceph Mimic leads to "too many PGs per OSD"
-    # health warning as the pools needed by stx-openstack are being created.
-    mon_max_pg_per_osd = 2048
-    osd_max_pg_per_osd_hard_ratio = 1.2
-
-[osd]
-       osd_mkfs_type = xfs
-       osd_mkfs_options_xfs = "-f"
-       osd_mount_options_xfs = "rw,noatime,inode64,logbufs=8,logbsize=256k"
-
-[mon]
-    mon warn on legacy crush tunables = false
-    # Quiet new warnings on move to Hammer
-    mon pg warn max per osd = 2048
-    mon pg warn max object skew = 0
-    mgr initial modules = restful
diff --git a/meta-stx/recipes-extended/ceph/files/starlingx-docker-override.conf b/meta-stx/recipes-extended/ceph/files/starlingx-docker-override.conf
deleted file mode 100644 (file)
index 3845a85..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-[Service]
-ExecStopPost=/usr/sbin/ceph-preshutdown.sh
-
diff --git a/meta-stx/recipes-extended/cloud-init/cloud-init_0.7.6.bbappend b/meta-stx/recipes-extended/cloud-init/cloud-init_0.7.6.bbappend
deleted file mode 100644 (file)
index 62618fe..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += " \
-       file://cloud-init-interactive-parted.patch \
-       "
diff --git a/meta-stx/recipes-extended/collectd/collectd_%.bbappend b/meta-stx/recipes-extended/collectd/collectd_%.bbappend
deleted file mode 100644 (file)
index 517c19e..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += " \
-    file://collectd-fix-for-LIBPYTHON_LDFLAGS.patch \
-    file://default-plugins-cpu.conf \
-    file://default-plugins-interface.conf \
-    file://default-plugins-load.conf \
-    file://default-plugins-memory.conf \
-    file://default-plugins-syslog.conf \
-    "
-
-PACKAGECONFIG += "python"
-
-PACKAGECONFIG[python] = "--enable-python --with-libpython,--disable-python --with-libpython=no,python"
-
-do_install_append () {
-    install -m 755 -d ${D}${sysconfdir}/collectd.d/
-    install -m 644 ${WORKDIR}/default-plugins-cpu.conf ${D}${sysconfdir}/collectd.d/90-default-plugins-cpu.conf
-    install -m 644 ${WORKDIR}/default-plugins-interface.conf ${D}${sysconfdir}/collectd.d/90-default-plugins-interface.conf
-    install -m 644 ${WORKDIR}/default-plugins-load.conf ${D}${sysconfdir}/collectd.d/90-default-plugins-load.conf
-    install -m 644 ${WORKDIR}/default-plugins-memory.conf ${D}${sysconfdir}/collectd.d/90-default-plugins-memory.conf
-    install -m 644 ${WORKDIR}/default-plugins-syslog.conf ${D}${sysconfdir}/collectd.d/90-default-plugins-syslog.conf
-}
diff --git a/meta-stx/recipes-extended/ibsh/ibsh_0.3e.bb b/meta-stx/recipes-extended/ibsh/ibsh_0.3e.bb
deleted file mode 100644 (file)
index b6965d6..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "ibsh Iron Bar Shell"
-DESCRIPTION = "CGCS add default users types"
-SECTION = "base/shell"
-HOMEPAGE = "https://sourceforge.net/projects/ibsh/"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
-                    file://COPYRIGHT;md5=e5ef2fe07fcba90ea59f9f1a61f7526b \
-"
-
-SRC_URI[md5sum] = "41ea08a03c6bd805dff1a5ff25ea1d5b"
-SRC_URI[sha256sum] = "4c40d0841527c76fc75ccc27d32b575543d02d661973fc3561004efb6033206d"
-SRC_URI = "https://downloads.sourceforge.net/project/ibsh/ibsh/ibsh-0.3e/ibsh-0.3e.tar.gz"
-
-do_install() {
-       cd ${S}
-       install -d -m0755 ${D}/${base_bindir}
-       install -d -m0755 ${D}/${sysconfdir}/ibsh/cmds/
-       install -d -m0755 ${D}/${sysconfdir}/ibsh/xtns/
-       install -m0755 ibsh ${D}/${base_bindir}
-       install -m0644 globals.cmds ${D}/${sysconfdir}/ibsh
-       install -m0644 globals.xtns ${D}/${sysconfdir}/ibsh
-}
diff --git a/meta-stx/recipes-extended/libpwquality/libpwquality_1.4.0.bbappend b/meta-stx/recipes-extended/libpwquality/libpwquality_1.4.0.bbappend
deleted file mode 100644 (file)
index 205640c..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-do_install_append() {
-       install -d ${D}/${baselib}/security/
-       ln -fs ${libdir}/security/pam_pwquality.so ${D}/${baselib}/security/
-}
-
-FILES_${PN} += "/${baselib}/security/"
-INSANE_SKIP_${PN} += "dev-so"
diff --git a/meta-stx/recipes-extended/lsb/lsbinitscripts_9.79.bbappend b/meta-stx/recipes-extended/lsb/lsbinitscripts_9.79.bbappend
deleted file mode 100644 (file)
index 50da7ee..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += "file://service-redirect-to-restart-for-reload.patch"
-
-DEPENDS += "\
-    gettext-native \
-    glib-2.0 \
-    popt \
-"
-
-unset do_configure[noexec]
-unset do_compile[noexec]
-
-do_install_append() {
-       install -m 0755 -d ${D}/${sysconfdir}/profile.d/
-       install -m 0644 ${S}/lang.sh  ${D}${sysconfdir}/profile.d/lang.sh
-       install -m 0755 -d ${D}/${base_sbindir}
-       install -m 0755 ${S}/src/consoletype ${D}/${base_sbindir}
-
-       install -m 0755 -d ${D}/${bindir}
-       install -m 0755 ${S}/service ${D}/${bindir}
-       sed -i -e 's|${bindir}|${base_bindir}|' ${D}/${bindir}/service
-}
-
-FILES_${PN}_append = "${sysconfdir}/profile.d/lang.sh"
diff --git a/meta-stx/recipes-extended/postgresql/postgresql_%.bbappend b/meta-stx/recipes-extended/postgresql/postgresql_%.bbappend
deleted file mode 100644 (file)
index 284b22a..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-COMPUTE_IP="127.0.0.1"
-CONTROLLER_IP="127.0.0.1"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/postgresql:"
-
-SRC_URI += " \
-    file://postgresql.service.update \
-    "
-
-do_install_append() {
-       install -d ${D}${systemd_unitdir}/system
-       install -m 0755 ${WORKDIR}/postgresql.service.update ${D}${systemd_unitdir}/system/postgresql.service
-}
-
-FILES_${PN} += "${systemd_unitdir}/system/postgresql.service"
diff --git a/meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-0007-rabbitmq-script-wrapper-allow-to-run-as-root.patch b/meta-stx/recipes-extended/rabbitmq/files/rabbitmq-server-0007-rabbitmq-script-wrapper-allow-to-run-as-root.patch
deleted file mode 100644 (file)
index 7a9a439..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-From 460a27eb4530d9d7f7eceaf42b1f1b13af96d952 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Thu, 11 Jun 2020 10:29:09 +0800
-Subject: [PATCH] rabbitmq-script-wrapper: allow to run as root
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- scripts/rabbitmq-script-wrapper | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/scripts/rabbitmq-script-wrapper b/scripts/rabbitmq-script-wrapper
-index 9623f01..b2a4520 100644
---- a/scripts/rabbitmq-script-wrapper
-+++ b/scripts/rabbitmq-script-wrapper
-@@ -15,9 +15,14 @@
- ##  Copyright (c) 2007-2015 Pivotal Software, Inc.  All rights reserved.
- ##
-+SED_OPT="-E"
-+if [ $(uname -s) = "Linux" ]; then
-+    SED_OPT="-r"
-+fi
-+
- for arg in "$@" ; do
-     # Wrap each arg in single quotes and wrap single quotes in double quotes, so that they're passed through cleanly.
--    arg=`printf %s "$arg" | sed -e "s#'#'\"'\"'#g"`
-+    arg=`printf %s "$arg" | sed $SED_OPT -e "s/'/'\"'\"'/g"`
-     CMDLINE="${CMDLINE} '${arg}'"
- done
-@@ -30,14 +35,16 @@ if [ `id -u` = `id -u rabbitmq` -a "$SCRIPT" = "rabbitmq-server" ] ; then
-     RABBITMQ_SCRIPTS_DIR=$(dirname "$RABBITMQ_ENV")
-     . "$RABBITMQ_ENV"
--    exec /usr/lib/rabbitmq/bin/rabbitmq-server "$@" @STDOUT_STDERR_REDIRECTION@
-+    exec /usr/lib/rabbitmq/bin/rabbitmq-server "$@"
- elif [ `id -u` = `id -u rabbitmq` -o "$SCRIPT" = "rabbitmq-plugins" ] ; then
-     if [ -f $PWD/.erlang.cookie ] ; then
-         export HOME=.
-     fi
-     exec /usr/lib/rabbitmq/bin/${SCRIPT} "$@"
- elif [ `id -u` = 0 ] ; then
--    @SU_RABBITMQ_SH_C@ "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}"
-+    # WRS. Allow to run as root
-+    export HOME=${HOME:-/root}
-+    /bin/sh -c "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}"
- else
-     /usr/lib/rabbitmq/bin/${SCRIPT}
-     echo
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb b/meta-stx/recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb
deleted file mode 100644 (file)
index d8659e0..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "High-performance AMQP-compliant message broker written in Erlang."
-HOMEPAGE = "http://www.rabbitmq.com/"
-SECTION = "network"
-
-LICENSE = "MPL-1.1"
-LIC_FILES_CHKSUM = "file://LICENSE-MPL-RabbitMQ;md5=ce8293a7cc187353c90cb24a8ecee4ce"
-
-SRC_URI = " \
-    http://www.rabbitmq.com/releases/rabbitmq-server/v${PV}/${PN}-${PV}.tar.xz \
-    file://rabbitmq-server-0001-Remove-excessive-sd_notify-code.patch \
-    file://rabbitmq-server-0002-Add-systemd-notification-support.patch \
-    file://rabbitmq-server-0003-Revert-Distinct-exit-codes-for-CLI-utilities.patch \
-    file://rabbitmq-server-0004-Allow-guest-login-from-non-loopback-connections.patch \
-    file://rabbitmq-server-0005-Avoid-RPC-roundtrips-in-list-commands.patch \
-    file://rabbitmq-server-0006-rabbit_prelaunch-must-use-RABBITMQ_SERVER_ERL_ARGS.patch \
-    file://rabbitmq-server-0007-rabbitmq-script-wrapper-allow-to-run-as-root.patch \
-    file://rabbitmq-common-0001-Avoid-RPC-roundtrips-while-listing-items.patch;patchdir=deps/rabbit_common \
-    file://rabbitmq-common-0002-Use-proto_dist-from-command-line.patch;patchdir=deps/rabbit_common \
-    file://rabbitmq-server-fails-with-home-not-set.patch \
-    file://rabbitmq-server.logrotate \
-    file://rabbitmq-server.tmpfiles \
-"
-
-SRC_URI[md5sum] = "e9f96b5763a89a246f53250e46c2796b"
-SRC_URI[sha256sum] = "9550433ca8aaf5130bf5235bb978c44d3c4694cbd09d97114b3859f4895788ec"
-
-DEPENDS = " \
-    coreutils-native\
-    erlang-ssl \
-    erlang-ssl-dev \
-    erlang-native \
-    libxslt \
-    libxslt-native \
-    python-simplejson \
-    rsync-native \
-    unzip-native \
-    xmlto-native \
-    zip-native \
-"
-
-# ../../../../../recipe-sysroot/usr/lib/erlang/lib/ssl-5.3.3/src/
-do_compile() {
-    export SOCKJS_ERLC_OPTS="-Dpre17_type_specs"
-    rm -rf deps/rabbit_common/include/ssl
-    mkdir ${S}/deps/rabbit_common/include/ssl
-    cp -r ${RECIPE_SYSROOT}/${libdir}/erlang/lib/ssl-5.3.3/src ${S}/deps/rabbit_common/include/ssl
-    oe_runmake
-}
-
-do_install() {
-    RABBIT_LIB_DIR=${libdir}/rabbitmq
-
-    oe_runmake install \
-               DESTDIR=${D} \
-               PREFIX=${prefix} \
-               RMQ_ROOTDIR=${RABBIT_LIB_DIR}
-
-    oe_runmake install-man \
-               DESTDIR=${D} \
-               PREFIX=${prefix} \
-               RMQ_ROOTDIR=${RABBIT_LIB_DIR}
-
-    mkdir -p ${D}${localstatedir}/lib/rabbitmq/mnesia
-    mkdir -p ${D}${localstatedir}/log/rabbitmq
-
-    # Copy all necessary lib files etc.
-    install -p -D -m 0644 ${S}/docs/rabbitmq-server.service.example ${D}${systemd_system_unitdir}/rabbitmq-server.service
-    install -p -D -m 0755 ${S}/scripts/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmqctl
-    install -p -D -m 0755 ${S}/scripts/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmq-server
-    install -p -D -m 0755 ${S}/scripts/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmq-plugins
-
-    # Make necessary symlinks
-    mkdir -p ${D}${RABBIT_LIB_DIR}/bin
-    for app in rabbitmq-defaults rabbitmq-env rabbitmq-plugins rabbitmq-server rabbitmqctl; do
-        ln -s ${RABBIT_LIB_DIR}/lib/rabbitmq_server-${PV}/sbin/${app} ${D}${RABBIT_LIB_DIR}/bin/${app}
-    done
-
-    install -p -D -m 0755 ${S}/scripts/rabbitmq-server.ocf ${D}${exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server
-    install -p -D -m 0755 ${S}/scripts/rabbitmq-server-ha.ocf ${D}${exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha
-
-    install -p -D -m 0644 ${WORKDIR}/rabbitmq-server.logrotate ${D}${sysconfdir}/logrotate.d/rabbitmq-server
-
-    install -p -D -m 0644 ${S}/docs/rabbitmq.config.example ${D}${sysconfdir}/rabbitmq/rabbitmq.config
-
-    rm -rf ${D}${RABBIT_LIB_DIR}/lib/rabbitmq_server-${PV}/{LICENSE,LICENSE-*,INSTALL}
-
-    install -p -D -m 0644 ${WORKDIR}/rabbitmq-server.tmpfiles ${D}${prefix}/lib/tmpfiles.d/${BPN}.conf
-}
-
-inherit useradd systemd openssl10
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system rabbitmq"
-USERADD_PARAM_${PN}  = " \
-    --system --create-home \
-    --home ${localstatedir}/lib/rabbitmq \
-    -g rabbitmq rabbitmq \
-"
-
-SYSTEMD_SERVICE_${PN} = "rabbitmq-server.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-FILES_${PN} += " \
-    ${RABBIT_LIB_DIR}/* \
-    ${exec_prefix}/lib/* \
-    ${localstatedir} \
-"
-
-FILES_${PN}-doc += "LICENSE* INSTALL"
-
-RDEPENDS_${PN} = " \
-    erlang \
-    erlang-modules \
-"
-
-INSANE_SKIP_${PN} = "unsafe-references-in-scripts"
diff --git a/meta-stx/recipes-extended/registry-token-server/files/registry-token-server-1.0.0.tar.gz b/meta-stx/recipes-extended/registry-token-server/files/registry-token-server-1.0.0.tar.gz
deleted file mode 100644 (file)
index ba20c20..0000000
Binary files a/meta-stx/recipes-extended/registry-token-server/files/registry-token-server-1.0.0.tar.gz and /dev/null differ
diff --git a/meta-stx/recipes-extended/registry-token-server/files/registry-token-server.service b/meta-stx/recipes-extended/registry-token-server/files/registry-token-server.service
deleted file mode 100644 (file)
index 477e85d..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=v2 Registry token server for Docker
-
-[Service]
-Type=simple
-EnvironmentFile=/etc/docker-distribution/registry/token_server.conf
-ExecStart=/usr/bin/registry-token-server -addr=${REGISTRY_TOKEN_SERVER_ADDR} \
-    -issuer=${REGISTRY_TOKEN_SERVER_ISSUER} \
-    -endpoint=${REGISTRY_TOKEN_SERVER_KS_ENDPOINT} \
-    -tlscert=${REGISTRY_TOKEN_SERVER_TLSCERT} \
-    -tlskey=${REGISTRY_TOKEN_SERVER_TLSKEY} \
-    -realm=${REGISTRY_TOKEN_SERVER_REALM} \
-    -key=${REGISTRY_TOKEN_SERVER_KEY}
-Restart=on-failure
-ExecStartPost=/bin/bash -c 'echo $MAINPID > /var/run/registry-token-server.pid'
-ExecStopPost=/bin/rm -f /var/run/registry-token-server.pid
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-stx/recipes-extended/registry-token-server/files/token-server-certificate.pem b/meta-stx/recipes-extended/registry-token-server/files/token-server-certificate.pem
deleted file mode 100644 (file)
index c40df59..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDADCCAegCCQCSevkS4h7LQjANBgkqhkiG9w0BAQsFADBCMQswCQYDVQQGEwJY
-WDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5MRwwGgYDVQQKDBNEZWZhdWx0IENvbXBh
-bnkgTHRkMB4XDTE4MDkyMTE0MTYwOFoXDTE5MDkyMTE0MTYwOFowQjELMAkGA1UE
-BhMCWFgxFTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoGA1UECgwTRGVmYXVsdCBD
-b21wYW55IEx0ZDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKtCbNJ/
-aPEMkZFEtMKRomOh9NgeOv0jYFY5i23fXghtTgdXu9//H3Huz5/KDJ+XEUp2DZgK
-YQ2UHVR+cqj2sFjCllfAVrzmv9FFR0CQpQxqKcxChefVwsMh6XsqF+GzbqzFOx67
-bT39Xb5+spAmDHctFl3nrmyA1wM6e+OXcktC0chILeN+UEyq5Xeng6/BpVnI2UaY
-J1OpfuUrffddy5t0oeuKGZ/xG2g9sL6GMGBeVslOmLg4CBOwq3knUGoOTFYSjHVx
-rU/p4YgUotIUvb4GBsXqbiI7M2NakItTR6mxfcYiKkxfjadQlptFyGucI84mMYx8
-vO3o6TFLfcTYqZ8CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAHXZR0U0pyMkYIeO5
-Y/n0H9Onj/PtCJHBbYzMHZGMPlX2IbW+JAeE/0XNIYGHtAtFwlb825Tkg2p7wpa8
-8HmOBqkTyn2ywDdmPqdfjCiMu/Ge6tkLjqkmYWv2l/d4+qEMR4dUh9g8SrrtUdZg
-DP7H22B+0knQ7s04JuiJ27hqi4nPOzdwdJNpz5Przgce8vN1ihk8194pR/uoNrjP
-td3Po+DwmxFKigoKPQCHgQuD63mAFor4vVnht+IkNbB3/lQyXP6Qv7DnWVW9WDBL
-nKxgXhRwyy5mYebYmwA//JX41O/Kdp1Q6oWgv4zSLd8M9FIMtESG8k4gSl0XfUBa
-Y24p0Q==
------END CERTIFICATE-----
diff --git a/meta-stx/recipes-extended/registry-token-server/files/token-server-private-key.pem b/meta-stx/recipes-extended/registry-token-server/files/token-server-private-key.pem
deleted file mode 100644 (file)
index 4332eb3..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAq0Js0n9o8QyRkUS0wpGiY6H02B46/SNgVjmLbd9eCG1OB1e7
-3/8fce7Pn8oMn5cRSnYNmAphDZQdVH5yqPawWMKWV8BWvOa/0UVHQJClDGopzEKF
-59XCwyHpeyoX4bNurMU7HrttPf1dvn6ykCYMdy0WXeeubIDXAzp745dyS0LRyEgt
-435QTKrld6eDr8GlWcjZRpgnU6l+5St9913Lm3Sh64oZn/EbaD2wvoYwYF5WyU6Y
-uDgIE7CreSdQag5MVhKMdXGtT+nhiBSi0hS9vgYGxepuIjszY1qQi1NHqbF9xiIq
-TF+Np1CWm0XIa5wjziYxjHy87ejpMUt9xNipnwIDAQABAoIBAFHCIV+QkdHZ9TiL
-u1vT2NmFvPTb4b9tfxVK3YRziVmujPy2Zqu2CRYEMzyOYd5iaU/J8g1ujwzDdAkd
-YLHHK0MEim+UFBSUeGh4kV6CbzjxCclIzNJz20n6y5MP8ly+o4x5kBLI2YsphPJn
-W+mzMGpIrQ/hhgSosX0KE5EAgQDqOfJSlhZvSgSO5UF9nXvEn7Y9Zc8GK0XQdcwB
-Pr8iFhuhEJmmb4LrCm+3Me/fhLxFjUAOAcLSkFnqfxo2vAuRqk99OOLxFEfPYZB8
-kLkKlQ+PwhkG3pjPg6w/rOmBHqW/ZEpd87972JWeHscXYpb/cLLVmcJbZI/claos
-YOHS7CECgYEA4XKo7GzuqSkLskfaZM2pyNhHbxphqyNfk8GmW5NJnKavpmY8YiXh
-7hNXXf4HCkcHvHMn4JUCHgHVavDNhNnrHNrQAzO3KwuUrrFiBP+yP1tRyQ4BP395
-KIBSUyeEOo9vM7d3yerI8WHboio5gaoqEfeNS1dakZ6ZiOpoP94CIxECgYEAwnfW
-Drdcqkpj794gYDlXH4D279f7+qmq11eI4C0zkZzTFkExl8BGfqpy49kruaTm0e4t
-L1B23TYfKC0ei4BQskyNCHUnl/eic/JHe9gJRd6BAZi2REfV0LI4ytYGgniCu50H
-EJVvTVMXS/+wWcjZr037oV6/WiB9Wzr7Z1oFoa8CgYBlmqdG5lEpK7Z5wqhKheXe
-/pozGFCsMGUC0mOHIfoq/3RqKelM0oXgJhdZ5QKHPzvdUojGTmGF5I2qhJwbI5sy
-her5hnUmkTGRCaCDYDmVFDLnycgGNg0Ek9CGaWjOe5ZCWI1EEuw83T1++Eiyh14u
-esLTEatftXq8megh4IxWAQKBgQCTNfox27ZnJrcuXn0tulpse8jy2RJjt0qfhyET
-asRN52SXxTRQhvoWattcBgsmlmEw69cCqSvB23WMiVNFERaFUpO0olMdpBUzJmXc
-pzal0IDh/4OCfsqqGDALxCbbX3S/p2gwsp617z+EhYMvBG9dWHAywTGjfVLH3Ady
-PmBi+wKBgQCWJS/PmTpyO8LU4MYZk91mJmjHAsPlgi/9n8yEqdmins+X698IsoCr
-s2FN8rol8+UP8c3m9o4kp62ouoby2QzAZw0y3UGWcxOb3ZpoozatKodsoETSLLoL
-T//wVn2Z2MsS9tLOBLZzsZiYlHyYxTUm7UTOdxdjbSLWVdLbCpKEhg==
------END RSA PRIVATE KEY-----
diff --git a/meta-stx/recipes-extended/registry-token-server/files/token_server.conf b/meta-stx/recipes-extended/registry-token-server/files/token_server.conf
deleted file mode 100644 (file)
index 10ef684..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-# This is a puppet managed config file
diff --git a/meta-stx/recipes-extended/registry-token-server/registry-token-server_git.bb b/meta-stx/recipes-extended/registry-token-server/registry-token-server_git.bb
deleted file mode 100644 (file)
index 5258735..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "StarlingX distributedcloud packages collection"
-HOMEPAGE = "https://opendev.org/starlingx"
-SECTION = "network"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/registry-token-server/registry-token-server/src/LICENSE;md5=d2794c0df5b907fdace235a619d80314"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCNAME = "containers"
-SRCREV = "1a4b803e946b488c1f3adb25ab0614d1b0c3c9b8"
-PV = "1.0.0+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-GO_IMPORT = "registry-token-server"
-
-RDEPENDS_${PN}-dev_append = " \
-       systemd \
-       "
-
-DEPENDS += "\
-        go-logrus \
-        docker-distribution \
-        go-libtrust \
-        go-patricia \
-        go-mux \
-        go-context \
-        go-phercloud \
-        "
-
-RDEPENDS_${PN} = " \
-       docker-distribution \
-       docker-ce \
-       "
-
-inherit go goarch ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
-
-do_compile() {
-        mkdir -p _build/src
-        ln -sfn ${S}/src/registry-token-server/registry-token-server/src/ ./_build/src/registry-token-server
-  
-        # Pass the needed cflags/ldflags so that cgo
-        # can find the needed headers files and libraries
-        export GOARCH=${TARGET_GOARCH}
-        export CGO_ENABLED="1"
-        export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-        export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-        export GOPATH="${WORKDIR}/build/_build:${STAGING_DIR_TARGET}/${prefix}/local/go"
-        cd _build/src/${GO_IMPORT}
-        #oe_runmake registry-token-server
-        export GOROOT=${STAGING_DIR_TARGET}/${prefix}/local/go
-        go build -o ${WORKDIR}/build/bin/registry-token-server registry-token-server
-}
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "registry-token-server.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_install() {
-       SRCPATH="${S}/src/registry-token-server/registry-token-server/centos/files"
-        install -d ${D}/${bindir}
-        install -m 0755 bin/registry-token-server ${D}/${bindir}
-        install -d -m 0755 ${D}/${sysconfdir}/registry-token-server/registry
-        install -m 0644 ${SRCPATH}//token_server.conf ${D}/${sysconfdir}/registry-token-server/registry
-
-        if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-            install -d ${D}${systemd_unitdir}/system
-            install -m 0644 ${SRCPATH}/registry-token-server.service ${D}${systemd_unitdir}/system/
-        fi
-}
-
diff --git a/meta-stx/recipes-extended/rpcbind/rpcbind_%.bbappend b/meta-stx/recipes-extended/rpcbind/rpcbind_%.bbappend
deleted file mode 100644 (file)
index a0f0523..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-USERADD_PARAM_${PN} = "-r -g rpc -u 32 -d /var/lib/rpcbind -s /sbin/nologin -c 'Rpcbind Daemons' rpc"
-GROUPADD_PARAM_${PN} = "-r -g 32 rpc"
diff --git a/meta-stx/recipes-extended/sudo/sudo_%.bbappend b/meta-stx/recipes-extended/sudo/sudo_%.bbappend
deleted file mode 100644 (file)
index 627a3bd..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-DEPENDS += " \
-       openldap \
-       libgcrypt \
-       "
-
-SRC_URI += " \
-       file://sudo-1.6.7p5-strip.patch \
-       file://sudo-1.7.2p1-envdebug.patch \
-       file://sudo-1.8.23-sudoldapconfman.patch \
-       file://sudo-1.8.23-legacy-group-processing.patch \
-       file://sudo-1.8.23-ldapsearchuidfix.patch \
-       file://sudo-1.8.6p7-logsudouser.patch \
-       file://sudo-1.8.23-nowaitopt.patch \
-       file://sudo-1.8.23-fix-double-quote-parsing-for-Defaults-values.patch \
-       "
-
-EXTRA_OECONF += " \
-       --with-pam-login \
-       --with-editor=${base_bindir}/vi \
-       --with-env-editor \
-       --with-ignore-dot \
-       --with-tty-tickets \
-       --with-ldap \
-       --with-ldap-conf-file="${sysconfdir}/sudo-ldap.conf" \
-       --with-passprompt="[sudo] password for %Zp: " \
-       --with-sssd \
-       "
-
-do_install_append () {
-       install -m755 -d ${D}/${sysconfdir}/openldap/schema
-       install -m644 ${S}/doc/schema.OpenLDAP  ${D}/${sysconfdir}/openldap/schema/sudo.schema
-}
-
-# This means sudo package only owns files
-# to avoid install conflict with openldap on
-# /etc/openldap. Sure there is a better way.
-DIRFILES = "1"
diff --git a/meta-stx/recipes-extended/uswgi/uwsgi_git.bbappend b/meta-stx/recipes-extended/uswgi/uwsgi_git.bbappend
deleted file mode 100644 (file)
index aeaf623..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += "file://0001-pragma-ignore-cast-type-errors-with-gcc-8.3.patch"
diff --git a/meta-stx/recipes-graphics/mesa/mesa_%.bbappend b/meta-stx/recipes-graphics/mesa/mesa_%.bbappend
deleted file mode 100644 (file)
index eb77f09..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit selinux
-DEPENDS += " libselinux"
-RDEPENDS_${PN}_append = " libselinux"
diff --git a/meta-stx/recipes-httpd/apache2/apache2_%.bbappend b/meta-stx/recipes-httpd/apache2/apache2_%.bbappend
deleted file mode 100644 (file)
index 4ac56c2..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-
-APACHE_PORT_NUM ?= "81"
-
-do_install_append () {
-       sed -i -e 's/80/${APACHE_PORT_NUM}/' ${D}/${sysconfdir}/${BPN}/httpd.conf
-}
-
-inherit useradd
-
-USERADD_PACKAGES = "${PN}"
-
-USERADD_PARAM_${PN} = "-c 'Apache' -u 48 -g apache -s /sbin/nologin -r -d /usr/share/httpd apache"
-GROUPADD_PARAM_${PN} = "-g 48 -r apache"
-
-# since we switch keystone from apache to gunicorn, disable it as default
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
diff --git a/meta-stx/recipes-httpd/lighttpd/lighttpd_%.bbappend b/meta-stx/recipes-httpd/lighttpd/lighttpd_%.bbappend
deleted file mode 100644 (file)
index 38c1558..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-do_install_append () {
-       # remove the symlinks
-       rm ${D}/www/logs
-       rm ${D}/www/var
-
-       # use tmpfile to create dirs
-       install -d ${D}${sysconfdir}/tmpfiles.d/
-       echo "d /www/var 0755 www root -" > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
-       echo "d /www/var/log 0755 www root -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
-}
diff --git a/meta-stx/recipes-kernel/linux/kernel-devsrc.bbappend b/meta-stx/recipes-kernel/linux/kernel-devsrc.bbappend
deleted file mode 100644 (file)
index 516f95b..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-
-do_install() {
-    kerneldir=${D}${KERNEL_SRC_PATH}
-    install -d $kerneldir
-
-    install -d ${D}${KERNEL_BUILD_ROOT}${KERNEL_VERSION}
-    (
-        cd ${D}${KERNEL_BUILD_ROOT}${KERNEL_VERSION}
-        rm -f source build
-        ln -s ${KERNEL_SRC_PATH} source
-        ln -s ${KERNEL_SRC_PATH} build
-    )
-
-    #
-    # Copy the staging dir source (and module build support) into the devsrc structure.
-    # We can keep this copy simple and take everything, since a we'll clean up any build
-    # artifacts afterwards, and the extra i/o is not significant
-    #
-    cd ${B}
-    find . -type d -name '.git*' -prune -o -path '.debug' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir
-    cd ${S}
-    find . -type d -name '.git*' -prune -o -type d -name '.kernel-meta' -prune -o -type f -print0 | cpio --null -pdlu $kerneldir
-
-    # Explicitly set KBUILD_OUTPUT to ensure that the image directory is cleaned and not
-    # The main build artifacts. We clean the directory to avoid QA errors on mismatched
-    # architecture (since scripts and helpers are native format).
-    KBUILD_OUTPUT="$kerneldir"
-    oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean _mrproper_scripts
-
-    # Clean objtool
-    oe_runmake -C $kerneldir/tools/objtool CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean
-
-    cd $kerneldir
-    ln -sf System.map-* System.map
-
-    # make clean generates an absolute path symlink called "source"
-    # in $kerneldir points to $kerneldir, which doesn't make any
-    # sense, so remove it.
-    if [ -L $kerneldir/source ]; then
-        bbnote "Removing $kerneldir/source symlink"
-        rm -f $kerneldir/source
-    fi
-
-    # As of Linux kernel version 3.0.1, the clean target removes
-    # arch/powerpc/lib/crtsavres.o which is present in
-    # KBUILD_LDFLAGS_MODULE, making it required to build external modules.
-    if [ ${ARCH} = "powerpc" ]; then
-            mkdir -p $kerneldir/arch/powerpc/lib/
-            cp ${B}/arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o
-    fi
-
-    chown -R root:root ${D}
-}
-
-INSANE_SKIP_${PN} = "arch"
diff --git a/meta-stx/recipes-kernel/linux/linux-yocto-rt_%.bbappend b/meta-stx/recipes-kernel/linux/linux-yocto-rt_%.bbappend
deleted file mode 100644 (file)
index af9927d..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-require linux-yocto-stx.inc
diff --git a/meta-stx/recipes-kernel/linux/linux-yocto-stx.inc b/meta-stx/recipes-kernel/linux/linux-yocto-stx.inc
deleted file mode 100644 (file)
index 8c1786c..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_append:= ":${THISDIR}/linux:"
-
-SRC_URI_append_poky-stx = " file://stx-kconfig.cfg"
-SRC_URI_append_anaconda = " file://stx-anaconda-kconfig.cfg"
-
-KERNEL_EXTRA_FEATURES_append = " \
-    features/xfs/xfs.scc \
-    features/iommu/iommu.scc \
-    features/vfio/vfio.scc \
-    features/x2apic \
-    cfg/debug/sched/debug-sched.scc \
-    "
diff --git a/meta-stx/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-stx/recipes-kernel/linux/linux-yocto_%.bbappend
deleted file mode 100644 (file)
index af9927d..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-require linux-yocto-stx.inc
diff --git a/meta-stx/recipes-networking/ipset/ipset_6.38.bb b/meta-stx/recipes-networking/ipset/ipset_6.38.bb
deleted file mode 100644 (file)
index 180db2f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Manage Linux IP sets"
-DESCRIPTION = " \
-IP sets are a framework inside the Linux kernel since version 2.4.x, which can  \
-be administered by the ipset utility. Depending on the type, currently an IP \
-set may store IP addresses, (TCP/UDP) port numbers or IP addresses with MAC \
-addresses in a way, which ensures lightning speed when matching an entry \
-against a set. \
-\
-If you want to: \
- - store multiple IP addresses or port numbers and match against the collection \
-   by iptables at one swoop; \
- - dynamically update iptables rules against IP addresses or ports without \
-   performance penalty; \
- - express complex IP address and ports based rulesets with one single iptables \
-   rule and benefit from the speed of IP sets \
-then ipset may be the proper tool for you. \
-"
-
-HOMEPAGE = "http://ipset.netfilter.org"
-
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-SECTION = "network"
-
-DEPENDS = "libtool libmnl"
-
-SRC_URI = "http://ftp.netfilter.org/pub/ipset/${BP}.tar.bz2"
-
-SRC_URI[md5sum] = "0e5d9c85f6b78e7dff0c996e2900574b"
-SRC_URI[sha256sum] = "ceef625ba31fe0aaa422926c7231a819de0b07644c02c17ebdd3022a29e3e244"
-
-inherit autotools pkgconfig module-base
-
-EXTRA_OECONF += "-with-kbuild=${KBUILD_OUTPUT} --with-ksource=${STAGING_KERNEL_DIR}"
-
-RDEPENDS_${PN} = "kernel-module-ip-set"
-RRECOMMENDS_${PN} = "\
-    kernel-module-ip-set-bitmap-ip \
-    kernel-module-ip-set-bitmap-ipmac \
-    kernel-module-ip-set-bitmap-port \
-    kernel-module-ip-set-hash-ip \
-    kernel-module-ip-set-hash-ipmac \
-    kernel-module-ip-set-hash-ipmark \
-    kernel-module-ip-set-hash-ipport \
-    kernel-module-ip-set-hash-ipportip \
-    kernel-module-ip-set-hash-ipportnet \
-    kernel-module-ip-set-hash-mac \
-    kernel-module-ip-set-hash-net \
-    kernel-module-ip-set-hash-netiface \
-    kernel-module-ip-set-hash-netnet \
-    kernel-module-ip-set-hash-netport \
-    kernel-module-ip-set-hash-netportnet \
-    kernel-module-ip-set-list-set \
-"
diff --git a/meta-stx/recipes-networking/net-snmp/net-snmp_%.bbappend b/meta-stx/recipes-networking/net-snmp/net-snmp_%.bbappend
deleted file mode 100644 (file)
index ffb63f2..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit useradd
-
-USERADD_PACKAGES = "net-snmp-server-snmpd"
-USERADD_PARAM_net-snmp-server-snmpd = "-r -g snmpd -d /usr/share/snmp -s /sbin/nologin -c 'net-snmp' snmpd"
-GROUPADD_PARAM_net-snmp-server-snmpd = "-r snmpd"
-
-SYSTEMD_AUTO_ENABLE_${PN}-server-snmpd = "disable"
-SYSTEMD_AUTO_ENABLE_${PN}-server-snmptrapd = "disable"
diff --git a/meta-stx/recipes-networking/openvswitch/openvswitch_%.bbappend b/meta-stx/recipes-networking/openvswitch/openvswitch_%.bbappend
deleted file mode 100644 (file)
index 39edd6f..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-RDEPENDS_${PN} += " \
-               python-pyelftools \
-               firewalld \
-               logrotate \
-               hwdata \
-               "
-
-PACKAGECONFIG = "libcap-ng ssl dpdk"
-PACKAGECONFIG[ssl] = "--enable-ssl,--disable-ssl,openssl,"
-PACKAGECONFIG[dpdk] = "--with-dpdk=${STAGING_DIR_TARGET}${DPDK_INSTALL_DIR}/share/${TARGET_ARCH}-native-linuxapp-gcc,,dpdk,"
-
-
-SRC_URI += " \
-       "
-
-EXTRA_OECONF += " \
-               "
-do_configure_append () {
-       :
-}
-
-do_compile_append () {
-       :
-}
-
-do_install_append () {
-       cd ${S}
-       install -d -p -m0755 ${D}/${base_libdir}/udev/rules.d
-       install -d -m0755 ${D}/${systemd_system_unitdir}
-       install -p -m0644 rhel/usr_lib_udev_rules.d_91-vfio.rules ${D}/${base_libdir}/udev/rules.d/91-vfio.rules
-
-       install -p -m0644 \
-               rhel/usr_lib_systemd_system_ovs-delete-transient-ports.service \
-               ${D}/${systemd_system_unitdir}/ovs-delete-transient-ports.service 
-
-       install -p -m0644 \
-               rhel/usr_lib_systemd_system_ovn-controller.service \
-               ${D}/${systemd_system_unitdir}/ovn-controller.service \
-
-       install -p -m0644 \
-               rhel/usr_lib_systemd_system_ovn-controller-vtep.service \
-               ${D}/${systemd_system_unitdir}/ovn-controller-vtep.service \
-
-       install -p -m0644 \
-               rhel/usr_lib_systemd_system_ovn-northd.service \
-               ${D}/${systemd_system_unitdir}/ovn-northd.service \
-
-##############
-# TODO: Do we need to use sysv? 
-#              
-#      install -m 0755 rhel/etc_init.d_openvswitch \
-#        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init
-#
-# TODO: Is this the best solution?
-#      install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/
-#      install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \
-#              $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
-#      install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \
-#              $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
-# TODO: warrior builds openvswitch with python3.
-#      install -d -m 0755 $RPM_BUILD_ROOT%{python2_sitelib}
-#      cp -a $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/* \
-#              $RPM_BUILD_ROOT%{python2_sitelib}
-#
-# TODO: who needs this script?
-#      install -p -D -m 0755 \
-#              rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
-#              $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs-systemd-reload
-###########
-
-       install -d -p -m0755 ${D}/${sysconfdir}/logrotate.d
-       install -p -D -m 0644 rhel/etc_logrotate.d_openvswitch \
-               ${D}/${sysconfdir}/logrotate.d/openvswitch
-
-
-       install -d -p -m 0755 ${D}/${sharedstatedir}/openvswitch
-       install -d -p  -m 0755 ${D}/${libdir}/firewalld/services/
-       install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-central-firewall-service.xml \
-               ${D}/${libdir}/firewalld/services/ovn-central-firewall-service.xml
-
-       install -d -p -m 0755 ${D}/${libdir}/ocf/resource.d/ovn
-       ln -s ${datadir}/openvswitch/scripts/ovndb-servers.ocf  ${D}/${libdir}/ocf/resource.d/ovn/ovndb-servers
-
-       if ${@bb.utils.contains('PACKAGECONFIG', 'dpdk', 'true', 'false', d)}; then
-               install -m 0755 ${STAGING_DATADIR}/dpdk/usertools/dpdk-pmdinfo.py ${D}${datadir}/openvswitch/scripts/dpdk-pmdinfo.py
-               install -m 0755 ${STAGING_DATADIR}/dpdk/usertools/dpdk-devbind.py ${D}${datadir}/openvswitch/scripts/dpdk-devbind.py
-       fi
-      
-}
-
-
-FILES_${PN}_append = " \
-       ${libdir}/      \
-       ${base_libdir}/ \
-       "
diff --git a/meta-stx/recipes-networking/vlan/vlan_2.0.5.bb b/meta-stx/recipes-networking/vlan/vlan_2.0.5.bb
deleted file mode 100644 (file)
index 478c28d..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "ifupdown integration for vlan configuration"
-HOMEPAGE = "https://salsa.debian.org/debian/vlan"
-SECTION = "misc"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://debian/copyright;;md5=a99f1f04fc1d4f5d723231f8937bdc2b"
-
-SRC_URI = "https://deb.debian.org/debian/pool/main/v/vlan/vlan_2.0.5.tar.xz"
-
-SRC_URI[md5sum] = "e6994250748fa3ee6d99f3ac292b7eb9"
-SRC_URI[sha256sum] = "ccf261839b79247be8dae93074e1c5fcbce3807787a0ff7aed4e1f7a9095c465"
-
-do_install () {
-    install -d ${D}${base_sbindir}
-    install -m 0755 ${S}/vconfig ${D}${base_sbindir}/
-
-    install -d ${D}${sysconfdir}
-    cp -av --no-preserve=ownership ${S}/debian/network ${D}${sysconfdir}
-}
diff --git a/meta-stx/recipes-rt/rt-tests/rt-tests_%.bbappend b/meta-stx/recipes-rt/rt-tests/rt-tests_%.bbappend
deleted file mode 100644 (file)
index 8049d8d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PACKAGECONFIG ?= "numa"
-PACKAGECONFIG[numa] = ",,numactl,numactl"
-
-EXTRA_OEMAKE = "\
-    ${@bb.utils.contains('PACKAGECONFIG', 'numa', 'NUMA=1', 'NUMA=0', d)} \
-    PYLIB=${libdir}/python2.7/site-packages \
-"
-
-FILES_${PN} += "\
-    ${libdir}/python2.7/site-packages \
-"
-
-RDEPENDS_${PN} += "python"
diff --git a/meta-stx/recipes-security/gssproxy/gssproxy_0.7.0.bb b/meta-stx/recipes-security/gssproxy/gssproxy_0.7.0.bb
deleted file mode 100644 (file)
index ed26073..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "provides a daemon to manage access to GSSAPI credentials"
-HOMEPAGE = "https://pagure.io/gssproxy"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a9ac3d0a983ebc781f7aa7173499e2e5"
-
-DEPENDS += "popt ding-libs keyutils libverto krb5 libxslt-native libxml2-native \
-            libselinux libpthread-stubs gettext-native \
-            "
-RDEPENDS_${PN} += "libinih popt libverto-libevent libverto-tevent keyutils \
-                   libgssapi-krb5 libgssrpc libk5crypto libkadm5clnt-mit \
-                   libkadm5srv-mit libkdb5 libkrad libkrb5 libkrb5support \
-                   libxslt libxslt-bin libxml2-utils libxml2 \
-                   "
-
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI = "https://releases.pagure.org/gssproxy/gssproxy-${PV}.tar.gz \
-      file://Properly-renew-expired-credentials.patch;striplevel=2 \
-      file://Change-impersonator-check-code.patch;striplevel=2 \
-      file://Allow-connection-to-self-when-impersonator-set.patch;striplevel=2 \
-      file://Make-proc-file-failure-loud-but-nonfatal.patch;striplevel=2 \
-      file://Turn-on-Wextra.patch;striplevel=2 \
-      file://Fix-unused-variables.patch;striplevel=2 \
-      file://Fix-mismatched-sign-comparisons.patch;striplevel=2 \
-      file://Fix-error-checking-on-get_impersonator_fallback.patch;striplevel=2 \
-      file://Remove-gpm_release_ctx-to-fix-double-unlock.patch;striplevel=2 \
-      file://Appease-gcc-7-s-fallthrough-detection.patch;striplevel=2 \
-      file://Fix-memory-leak.patch;striplevel=2 \
-      file://Fix-most-memory-leaks.patch;striplevel=2 \
-      file://Fix-segfault-when-no-config-files-are-present.patch;striplevel=2 \
-      file://Update-systemd-file.patch;striplevel=2 \
-      file://Fix-error-handling-in-gp_config_from_dir.patch;striplevel=2 \
-      file://Do-not-call-gpm_grab_sock-twice.patch;striplevel=2 \
-      file://Only-empty-FILE-ccaches-when-storing-remote-creds.patch;striplevel=2 \
-      file://Handle-outdated-encrypted-ccaches.patch;striplevel=2 \
-      file://Separate-cred-and-ccache-manipulation-in-gpp_store_r.patch;striplevel=2 \
-      file://Properly-locate-credentials-in-collection-caches-in-.patch;striplevel=2 \
-      file://Properly-initialize-ccaches-before-storing-into-them.patch;striplevel=2 \
-      file://Include-header-for-writev.patch;striplevel=2 \
-      file://Tolerate-NULL-pointers-in-gp_same.patch;striplevel=2 \
-      file://Add-Client-ID-to-debug-messages.patch;striplevel=2 \
-      file://client-Switch-to-non-blocking-sockets.patch;striplevel=2 \
-      file://server-Add-detailed-request-logging.patch;striplevel=2 \
-      file://Fix-potential-free-of-non-heap-address.patch;striplevel=2 \
-      file://Prevent-uninitialized-read-in-error-path-of-XDR-cont.patch;striplevel=2 \
-      file://Simplify-setting-NONBLOCK-on-socket.patch;striplevel=2 \
-      file://Fix-handling-of-non-EPOLLIN-EPOLLOUT-events.patch;striplevel=2 \
-      file://Fix-error-handling-in-gpm_send_buffer-gpm_recv_buffe.patch;striplevel=2 \
-      file://Emit-debug-on-queue-errors.patch;striplevel=2 \
-      file://Conditionally-reload-kernel-interface-on-SIGHUP.patch;striplevel=2 \
-      file://Don-t-leak-mech_type-when-CONTINUE_NEEDED-from-init_.patch;striplevel=2 \
-      file://Always-use-the-encype-we-selected.patch;striplevel=2 \
-      file://Clarify-debug-and-debug_level-in-man-pages.patch;striplevel=2 \
-      file://Always-choose-highest-requested-debug-level.patch;striplevel=2 \
-      "
-
-SRC_URI[md5sum] = "1837acb5766ffbc6fcc70ecaa72e285f"
-
-inherit autotools systemd pkgconfig
-
-SYSTEMD_SERVICE_${PN} = "gssproxy.service"
-
-EXTRA_OECONF="--with-pubconf-path=${sysconfdir}/gssproxy \
-              --with-initscript=systemd --disable-static \
-              --disable-rpath --with-gpp-default-behavior=REMOTE_FIRST \
-              --with-systemdunitdir=${systemd_system_unitdir} \
-              --with-manpages=no \
-              "
-
-CFLAGS += "-fPIE -fstack-protector-all"
-LDFLAGS += "-fPIE -pie -Wl,-z,now"
-
diff --git a/meta-stx/recipes-security/gssproxy/gssproxy_0.7.0.bbappend b/meta-stx/recipes-security/gssproxy/gssproxy_0.7.0.bbappend
deleted file mode 100644 (file)
index fa2d4d1..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-do_install_append () {
-       cp ${B}/examples/24-nfs-server.conf \
-               ${B}/examples/99-nfs-client.conf \
-               ${B}/examples/gssproxy.conf ${D}/etc/gssproxy
-}
diff --git a/meta-stx/recipes-security/krb5/krb5_%.bbappend b/meta-stx/recipes-security/krb5/krb5_%.bbappend
deleted file mode 100644 (file)
index 8e63fa3..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI_append = "file://soname_majversion.diff \
-                 "
-DEPENDS += "libverto"
-
-PACKAGES_remove = "libverto"
-
-RDEPENDS_${PN} += "\
-        libverto \
-"
-RDEPENDS_krb5-admin-server += "\
-        libverto \
-"
-RDEPENDS_krb5-kdc += "\
-        libverto \
-"
diff --git a/meta-stx/recipes-security/libtomcrypt/libtomcrypt_1.18.2.bb b/meta-stx/recipes-security/libtomcrypt/libtomcrypt_1.18.2.bb
deleted file mode 100644 (file)
index 5688fff..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "A comprehensive, portable cryptographic toolkit"
-DESCRIPTION = " \
-  A comprehensive, modular and portable cryptographic toolkit that provides \
-  developers with a vast array of well known published block ciphers, one-way \
-  hash functions, chaining modes, pseudo-random number generators, public key \
-  cryptography and a plethora of other routines. Designed from the ground up to \
-  be very simple to use. It has a modular and standard API that allows new ciphers, \
-  hashes and PRNGs to be added or removed without change to the overall end application. \
-  It features easy to use functions and a complete user manual which has many source \
-  snippet examples. \
-"
-HOMEPAGE = "https://github.com/libtom/libtomcrypt"
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=71baacc459522324ef3e2b9e052e8180"
-
-DEPENDS = "libtool-cross"
-
-SRC_URI = "https://github.com/libtom/libtomcrypt/releases/download/v${PV}/crypt-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "e8d22351b7c95bef423c1cd02dcf836d"
-SRC_URI[sha256sum] = "96ad4c3b8336050993c5bc2cf6c057484f2b0f9f763448151567fbab5e767b84"
-
-EXTRA_OEMAKE = " \
-       LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool \
-       LIBPATH=${libdir} \
-       INCPATH=${includedir} \
-       -f makefile.shared \
-       "
-
-do_compile() {
-       oe_runmake library
-}
-
-do_install() {
-       oe_runmake install DESTDIR=${D}
-}
diff --git a/meta-stx/recipes-support/boost/boost_1.69.0.bbappend b/meta-stx/recipes-support/boost/boost_1.69.0.bbappend
deleted file mode 100644 (file)
index ae528be..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DEP_PYTHON = "\
-    python \
-    python-native \
-    python-numpy-native \
-    python3 \
-    python3-native \
-    python3-numpy-native \
-"
-
-PACKAGECONFIG = "locale python"
-PACKAGECONFIG[python] = ",,${DEP_PYTHON}"
-
-BJAM_OPTS += "${@bb.utils.contains('BOOST_LIBS', 'python', 'python=${PYTHON_BASEVERSION},2.7', '', d)}"
-
-do_configure_append () {
-    if ${@bb.utils.contains('BOOST_LIBS', 'python', 'true', 'false', d)}; then
-        echo "using python : 2.7 : ${STAGING_BINDIR_NATIVE}/python-native/python : ${STAGING_INCDIR}/python2.7 : ${STAGING_LIBDIR}/python2.7 ;" >> ${WORKDIR}/user-config.jam
-        sed -i -e 's|${STAGING_DIR_HOST}${bindir}/python3|${STAGING_BINDIR_NATIVE}/python3-native/python3|' ${WORKDIR}/user-config.jam
-    fi
-}
-
-PACKAGES += "${PN}-python3"
-
-FILES_${PN}-python = " \
-    ${libdir}/libboost_python2*.so.* \
-    ${libdir}/libboost_numpy2*.so.* \
-"
-FILES_${PN}-python3 = " \
-    ${libdir}/libboost_python3*.so.* \
-    ${libdir}/libboost_numpy3*.so.* \
-"
diff --git a/meta-stx/recipes-support/cluster-glue/cluster-glue_1.0.12.bb b/meta-stx/recipes-support/cluster-glue/cluster-glue_1.0.12.bb
deleted file mode 100644 (file)
index 33d4951..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Cluster Glue is a set of libraries, tools and utilities suitable for \
-the Heartbeat/Pacemaker cluster stack. In essence, Glue is everything that \
-is not the cluster messaging layer (Heartbeat), nor the cluster resource manager \
-(Pacemaker), nor a Resource Agent."
-HOMEPAGE = "http://clusterlabs.org/"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
-                    file://COPYING.LIB;md5=243b725d71bb5df4a1e5920b344b86ad \
-"
-
-DEPENDS = "libxml2 libtool glib-2.0 bzip2 util-linux net-snmp openhpi"
-
-SRC_URI = " \
-    http://hg.linux-ha.org/glue/archive/glue-${PV}.tar.bz2 \
-    file://0001-don-t-compile-doc-and-Error-Fix.patch \
-    file://0001-ribcl.py.in-Warning-Fix.patch \
-    file://volatiles \
-    file://tmpfiles \
-"
-SRC_URI_append_libc-uclibc = " file://kill-stack-protector.patch"
-
-SRC_URI[md5sum] = "ec620466d6f23affa3b074b72bca7870"
-SRC_URI[sha256sum] = "feba102fa1e24b6be2005089ebe362b82d6567af60005cf371679b1b44ec503f"
-
-inherit autotools useradd pkgconfig systemd
-
-SYSTEMD_SERVICE_${PN} = "logd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-HA_USER = "hacluster"
-HA_GROUP = "haclient"
-
-S = "${WORKDIR}/Reusable-Cluster-Components-glue--glue-${PV}"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir},--without-systemdsystemunitdir,systemd"
-
-EXTRA_OECONF = "--with-daemon-user=${HA_USER} \
-                --with-daemon-group=${HA_GROUP} \
-                --disable-fatal-warnings \
-               "
-
-CACHED_CONFIGUREVARS="ac_cv_path_XML2CONFIG=0"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--home-dir=${localstatedir}/lib/heartbeat/cores/${HA_USER} \
-                       -g ${HA_GROUP} -r -s ${sbindir}/nologin -c 'cluster user' ${HA_USER} \
-                      "
-GROUPADD_PARAM_${PN} = "-r ${HA_GROUP}"
-
-do_configure_prepend() {
-    ln -sf ${PKG_CONFIG_SYSROOT_DIR}/usr/include/libxml2/libxml ${PKG_CONFIG_SYSROOT_DIR}/usr/include/libxml
-}
-
-do_install_append() {
-       install -d ${D}${sysconfdir}/default/volatiles
-       install -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/04_cluster-glue
-       install -d ${D}${sysconfdir}/tmpfiles.d
-       install -m 0644 ${WORKDIR}/tmpfiles ${D}${sysconfdir}/tmpfiles.d/${PN}.conf
-}
-
-pkg_postinst_${PN} () {
-       if [ -z "$D" ]; then
-               if type systemd-tmpfiles >/dev/null; then
-                       systemd-tmpfiles --create
-               elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
-                       ${sysconfdir}/init.d/populate-volatile.sh update
-               fi
-       fi
-}
-
-PACKAGES += "\
-        ${PN}-plugin-test \
-        ${PN}-plugin-test-dbg \
-        ${PN}-plugin-test-staticdev \
-        ${PN}-plugin-stonith2 \
-        ${PN}-plugin-stonith2-dbg \
-        ${PN}-plugin-stonith2-staticdev \
-        ${PN}-plugin-stonith2-ribcl \
-        ${PN}-plugin-stonith-external \
-        ${PN}-plugin-raexec \
-        ${PN}-plugin-raexec-dbg \
-        ${PN}-plugin-raexec-staticdev \
-        ${PN}-plugin-interfacemgr \
-        ${PN}-plugin-interfacemgr-dbg \
-        ${PN}-plugin-interfacemgr-staticdev \
-        ${PN}-lrmtest \
-         ${PN}-plugin-compress \
-         ${PN}-plugin-compress-dbg \
-         ${PN}-plugin-compress-staticdev \
-        "
-
-FILES_${PN} = "${sysconfdir} /var ${libdir}/lib*.so.* ${sbindir} ${datadir}/cluster-glue/*sh ${datadir}/cluster-glue/*pl\
-       ${libdir}/heartbeat/transient-test.sh \
-       ${libdir}/heartbeat/logtest \
-       ${libdir}/heartbeat/ipctransientserver \
-       ${libdir}/heartbeat/base64_md5_test \
-       ${libdir}/heartbeat/ipctest \
-       ${libdir}/heartbeat/ipctransientclient \
-       ${libdir}/heartbeat/ha_logd \
-       ${libdir}/heartbeat/lrmd \
-       ${systemd_unitdir} \
-       "
-
-FILES_${PN}-dbg += "${libdir}/heartbeat/.debug/ \
-                   "
-FILES_${PN}-plugin-compress = "${libdir}/heartbeat/plugins/compress/*.so"
-FILES_${PN}-plugin-compress-staticdev = "${libdir}/heartbeat/plugins/compress/*.*a"
-FILES_${PN}-plugin-compress-dbg = "${libdir}/heartbeat/plugins/compress/.debug/"
-
-FILES_${PN}-plugin-test = "${libdir}/heartbeat/plugins/test/test.so"
-FILES_${PN}-plugin-test-staticdev = "${libdir}/heartbeat/plugins/test/test.*a"
-FILES_${PN}-plugin-test-dbg = "${libdir}/heartbeat/plugins/test/.debug/"
-FILES_${PN}-plugin-stonith2 = " \
-       ${libdir}/stonith/plugins/xen0-ha-dom0-stonith-helper \
-       ${libdir}/stonith/plugins/stonith2/*.so \
-       "
-FILES_${PN}-plugin-stonith2-ribcl = "${libdir}/stonith/plugins/stonith2/ribcl.py"
-
-FILES_${PN}-plugin-stonith2-dbg = "${libdir}/stonith/plugins/stonith2/.debug/"
-FILES_${PN}-plugin-stonith2-staticdev = "${libdir}/stonith/plugins/stonith2/*.*a"
-
-FILES_${PN}-plugin-stonith-external = "${libdir}/stonith/plugins/external/"
-FILES_${PN}-plugin-raexec = "${libdir}/heartbeat/plugins/RAExec/*.so"
-FILES_${PN}-plugin-raexec-staticdev = "${libdir}/heartbeat/plugins/RAExec/*.*a"
-FILES_${PN}-plugin-raexec-dbg = "${libdir}/heartbeat/plugins/RAExec/.debug/"
-
-FILES_${PN}-plugin-interfacemgr = "${libdir}/heartbeat/plugins/InterfaceMgr/generic.so"
-FILES_${PN}-plugin-interfacemgr-staticdev = "${libdir}/heartbeat/plugins/InterfaceMgr/generic.*a"
-FILES_${PN}-plugin-interfacemgr-dbg = "${libdir}/heartbeat/plugins/InterfaceMgr/.debug/"
-
-FILES_${PN}-lrmtest = "${datadir}/cluster-glue/lrmtest/"
-
-RDEPENDS_${PN} += "perl"
-RDEPENDS_${PN}-plugin-stonith2 += "bash"
-RDEPENDS_${PN}-plugin-stonith-external += "bash python perl"
-RDEPENDS_${PN}-plugin-stonith2-ribcl += "python"
diff --git a/meta-stx/recipes-support/deltarpm/deltarpm_git.bb b/meta-stx/recipes-support/deltarpm/deltarpm_git.bb
deleted file mode 100644 (file)
index e3ff1a2..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Makedeltarpm creates a deltarpm from two rpms. The deltarpm can \
-               later be used to recreate the new rpm from either filesystem data \
-               or the old rpm. Use the -v option to make makedeltarpm more verbose \
-               about its work (use it twice to make it even more verbose).\
-               "
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=574af071cf0d60a71cb781844bbe2d76"
-
-SRCREV = "c5e0ca7482e2cfea5e4d902ffe488e0a71ed3e67"
-# SRCREV = "8660d976f5d2b73adf1088d67341be9c3646f2f2"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/rpm-software-management/deltarpm.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-               file://0001-Makefile-patch-fix-build-errors.patch \
-               "
-
-DEPENDS += " python perl bzip2 rpm zlib python xz zstd"
-
-do_compile_append () {
-       cd ${S}
-       oe_runmake -e DESTDIR=${D} bindir=${bindir} mandir=${mandir} python
-
-}
-
-do_install () {
-       cd ${S}
-       oe_runmake -e DESTDIR=${D} bindir=${bindir} mandir=${mandir} install
-}
-
-FILES_${PN}_append += " \
-       /usr/lib/python2.7/site-packages/deltarpm.py \
-       /usr/lib/python2.7/site-packages/_deltarpmmodule.so \
-       "
diff --git a/meta-stx/recipes-support/dnsmasq/dnsmasq_2.76.bb b/meta-stx/recipes-support/dnsmasq/dnsmasq_2.76.bb
deleted file mode 100644 (file)
index 62d05a2..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Lightweight, easy to configure DNS forwarder and DHCP server"
-DESCRIPTION = "\
-Dnsmasq is lightweight, easy to configure DNS forwarder and DHCP server. \
-It is designed to provide DNS and, optionally, DHCP, to a small network. \
-It can serve the names of local machines which are not in the global \
-DNS. The DHCP server integrates with the DNS server and allows machines \
-with DHCP-allocated addresses to appear in the DNS with names configured \
-either in each host or in a central configuration file. Dnsmasq supports \
-static and dynamic DHCP leases and BOOTP for network booting of diskless \
-machines. \
-"
-HOMEPAGE = "http://www.thekelleys.org.uk/dnsmasq"
-SECTION = "net"
-
-# GPLv3 was added in version 2.41 as license option
-LICENSE = "GPLv2 | GPLv3"
-LIC_FILES_CHKSUM = "\
-    file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
-    file://COPYING-v3;md5=d32239bcb673463ab874e80d47fae504 \
-"
-
-SRC_URI = " \
-    http://www.thekelleys.org.uk/${BPN}/${BP}.tar.gz \
-    file://init \
-    file://dnsmasq-resolvconf.service \
-    file://lua.patch \
-    \
-    file://stx/dnsmasq-2.76-dns-sleep-resume.patch \
-    file://stx/dnsmasq-2.76-fix-dhcp-option-arrangements.patch \
-    file://stx/dnsmasq-2.76-pftables.patch \
-    file://stx/dnsmasq-2.76-fix-crash-dns-resume.patch \
-    file://stx/dnsmasq-2.76-warning-fixes.patch \
-    file://stx/dnsmasq-2.76-label-warning.patch \
-    file://stx/dnsmasq-2.76-label-man.patch \
-    file://stx/dnsmasq-2.76-coverity.patch \
-    file://stx/dnsmasq-2.76-dhcp-script-log.patch \
-    file://stx/dnsmasq-2.76-file_offset32.patch \
-    file://stx/dnsmasq-2.76-CVE-2017-14491.patch \
-    file://stx/dnsmasq-2.76-CVE-2017-14492.patch \
-    file://stx/dnsmasq-2.76-CVE-2017-14493.patch \
-    file://stx/dnsmasq-2.76-CVE-2017-14494.patch \
-    file://stx/dnsmasq-2.76-CVE-2017-14496.patch \
-    file://stx/dnsmasq-2.76-CVE-2017-14495.patch \
-    file://stx/dnsmasq-2.76-gita3303e196.patch \
-    file://stx/dnsmasq-2.76-underflow.patch \
-    file://stx/dnsmasq-2.76-misc-cleanups.patch \
-    file://stx/dnsmasq-2.76-CVE-2017-14491-2.patch \
-    file://stx/dnsmasq-2.76-inotify.patch \
-    file://stx/dnsmasq-update-ipv6-leases-from-config.patch \
-    file://stx/close-tftp-sockets-immediately.patch \
-    file://stx/dnsmasq.service \
-"
-SRC_URI[md5sum] = "6610f8233ca89b15a1bb47c788ffb84f"
-SRC_URI[sha256sum] = "777c4762d2fee3738a0380401f2d087b47faa41db2317c60660d69ad10a76c32"
-
-inherit pkgconfig update-rc.d systemd
-
-INITSCRIPT_NAME = "dnsmasq"
-INITSCRIPT_PARAMS = "defaults"
-
-PACKAGECONFIG ?= "dbus idn"
-PACKAGECONFIG[dbus] = ",,dbus"
-PACKAGECONFIG[idn] = ",,libidn"
-PACKAGECONFIG[conntrack] = ",,libnetfilter-conntrack"
-PACKAGECONFIG[lua] = ",,lua"
-PACKAGECONFIG[resolvconf] = ",,,resolvconf"
-
-EXTRA_OEMAKE = "\
-    'COPTS=${@bb.utils.contains('PACKAGECONFIG', 'dbus', '-DHAVE_DBUS', '', d)} \
-           ${@bb.utils.contains('PACKAGECONFIG', 'idn', '-DHAVE_IDN', '', d)} \
-           ${@bb.utils.contains('PACKAGECONFIG', 'conntrack', '-DHAVE_CONNTRACK', '', d)} \
-           ${@bb.utils.contains('PACKAGECONFIG', 'lua', '-DHAVE_LUASCRIPT', '', d)}' \
-    'CFLAGS=${CFLAGS}' \
-    'LDFLAGS=${LDFLAGS}' \
-"
-
-SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'resolvconf', 'file://dnsmasq.resolvconf file://99_dnsmasq file://dnsmasq-resolvconf-helper', '', d)}"
-
-do_compile_append() {
-    # build dhcp_release
-    cd ${S}/contrib/lease-tools
-    oe_runmake
-}
-
-do_install () {
-    oe_runmake "PREFIX=${D}${prefix}" \
-               "BINDIR=${D}${bindir}" \
-               "MANDIR=${D}${mandir}" \
-               install
-
-    install -d ${D}${sysconfdir}/
-    install -d ${D}${sysconfdir}/init.d
-    install -d ${D}${sysconfdir}/dnsmasq.d
-
-    install -m 644 ${S}/dnsmasq.conf.example ${D}${sysconfdir}/dnsmasq.conf
-    cat << EOF >> ${D}${sysconfdir}/dnsmasq.conf
-
-# Include all files in /etc/dnsmasq.d except RPM backup files
-conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig
-EOF
-
-    install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/dnsmasq
-
-    install -d ${D}${systemd_system_unitdir}
-
-    if [ "${@bb.utils.filter('PACKAGECONFIG', 'resolvconf', d)}" ]; then
-        install -m 0644 ${WORKDIR}/dnsmasq-resolvconf.service ${D}${systemd_system_unitdir}/dnsmasq.service
-    else
-        install -m 0644 ${WORKDIR}/stx/dnsmasq.service ${D}${systemd_system_unitdir}/dnsmasq.service
-    fi
-
-    install -m 0755 ${S}/contrib/lease-tools/dhcp_release ${D}${bindir}
-    install -m 0755 ${S}/contrib/lease-tools/dhcp_release6 ${D}${bindir}
-    install -m 0755 ${S}/contrib/lease-tools/dhcp_lease_time ${D}${bindir}
-
-    if [ "${@bb.utils.filter('PACKAGECONFIG', 'dbus', d)}" ]; then
-        install -d ${D}${sysconfdir}/dbus-1/system.d
-        install -m 644 dbus/dnsmasq.conf ${D}${sysconfdir}/dbus-1/system.d/
-    fi
-    if [ "${@bb.utils.filter('PACKAGECONFIG', 'resolvconf', d)}" ]; then
-        install -d ${D}${sysconfdir}/resolvconf/update.d/
-        install -m 0755 ${WORKDIR}/dnsmasq.resolvconf ${D}${sysconfdir}/resolvconf/update.d/dnsmasq
-
-        install -d ${D}${sysconfdir}/default/volatiles
-        install -m 0644 ${WORKDIR}/99_dnsmasq ${D}${sysconfdir}/default/volatiles
-        install -m 0755 ${WORKDIR}/dnsmasq-resolvconf-helper ${D}${bindir}
-    fi
-}
-
-CONFFILES_${PN} = "${sysconfdir}/dnsmasq.conf"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "dnsmasq.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
diff --git a/meta-stx/recipes-support/drbd/drbd-utils_8.4.3.bb b/meta-stx/recipes-support/drbd/drbd-utils_8.4.3.bb
deleted file mode 100644 (file)
index e04c8f6..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Distributed block device driver for Linux"
-
-DESCRIPTION = " DRBD, developed by LINBIT, is a software that allows RAID 1 functionality over \
-       TCP/IP and RDMA for GNU/Linux. DRBD is a block device which is designed to build high \
-       availability clusters and software defined storage by providing a virtual shared device \
-       which keeps disks in nodes synchronised using TCP/IP or RDMA. This simulates RAID 1 but \
-       avoids the use of uncommon hardware (shared SCSI buses or Fibre Channel)."
-HOMEPAGE = "http://www.drbd.org/"
-SECTION = "admin"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018"
-
-# SRCREV = "89a294209144b68adb3ee85a73221f964d3ee515"
-SRCREV = "136c0e42691aed4a4607c79969de87cb8410285c"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-PV = "8.4.3rc1"
-
-SRC_URI = "git://github.com/LINBIT/drbd-8.4.git;name="git";protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-
-# https://www.linbit.com/downloads/drbd/8.4/archive/
-
-inherit autotools
-
-DEPENDS += " \
-       linux-libc-headers \
-       glibc \
-       "
-# UPSTREAM_CHECK_URI = "https://github.com/LINBIT/drbd-utils/releases"
-
-inherit autotools-brokensep
-
-RDEPENDS_${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy"
-
-do_install_append() {
-       rm -rf ${D}/var/lock
-}
diff --git a/meta-stx/recipes-support/drbd/drbd-utils_8.4.3.bbappend b/meta-stx/recipes-support/drbd/drbd-utils_8.4.3.bbappend
deleted file mode 100644 (file)
index 5cce906..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_append := ":${THISDIR}/${PN}:"
-
-
-SRC_URI += " \
-       file://0001-skip_wait_con_int_on_simplex.patch \
-       file://0002-drbd-conditional-crm-dependency.patch \
-       file://0003-drbd_report_condition.patch \
-       file://0004-drbdadm-ipaddr-change.patch \
-       file://0005-drbd_reconnect_standby_standalone.patch \
-       file://0006-avoid-kernel-userspace-version-check.patch \
-       file://0007-Update-OCF-to-attempt-connect-in-certain-states.patch \
-       file://0008-Increase-short-cmd-timeout-to-15-secs.patch \
-       file://0009-Check-for-mounted-device-before-demoting-Primary-DRB.patch \
-       file://0010-Include-sysmacros-for-major-minor-macros.patch \
-       file://0011-Disable-documentation.patch \
-       file://drbd.service \
-       "
-
-EXTRA_OECONF = " \
-               --with-utils                    \
-                --with-initdir=/etc/init.d     \
-               --without-km                    \
-                --with-pacemaker               \
-                --with-rgmanager               \
-                --with-bashcompletion          \
-               --with-udev                     \
-               --with-heartbeat                \
-                --with-distro debian           \
-               "
-
-FILES_${PN} = "\
-       /var/lib/drbd \
-       /run \
-       ${base_sbindir}/drbdsetup \
-       ${base_sbindir}/drbdadm \
-       ${base_sbindir}/drbdmeta \
-       ${nonarch_base_libdir}/drbd/drbdsetup-83 \
-       ${nonarch_base_libdir}/drbd/drbdadm-83 \
-       ${sysconfdir}/init.d/drbd \
-       ${sysconfdir}/drbd.conf \
-       ${sysconfdir}/xen \
-       ${sysconfdir}/drbd.d \
-       ${sbindir}/drbd-overview \
-       ${libdir}/drbd/outdate-peer.sh \
-       ${libdir}/drbd/snapshot-resync-target-lvm.sh \
-       ${libdir}/drbd/unsnapshot-resync-target-lvm.sh \
-       ${libdir}/drbd/notify-out-of-sync.sh \
-       ${libdir}/drbd/notify-split-brain.sh \
-       ${libdir}/drbd/notify-emergency-reboot.sh \
-       ${libdir}/drbd/notify-emergency-shutdown.sh \
-       ${libdir}/drbd/notify-io-error.sh \
-       ${libdir}/drbd/notify-pri-lost-after-sb.sh \
-       ${libdir}/drbd/notify-pri-lost.sh \
-       ${libdir}/drbd/notify-pri-on-incon-degr.sh \
-       ${libdir}/drbd/notify.sh \
-       ${libdir}/drbd/rhcs_fence \
-       ${sysconfdir}/udev/rules.d/65-drbd.rules \
-       ${libdir}/drbd/crm-fence-peer.sh \
-       ${libdir}/drbd/crm-unfence-peer.sh \
-       ${libdir}/drbd/stonith_admin-fence-peer.sh \
-       ${libdir}/ocf/resource.d/linbit/drbd \
-       ${datadir}/cluster/drbd.sh.drbd-utils \
-       ${datadir}/cluster/drbd.metadata \
-       ${sysconfdir}/ha.d/resource.d/drbddisk \
-       ${sysconfdir}/ha.d/resource.d/drbdupper \
-       ${sysconfdir}/bash_completion.d/drbdadm* \
-       ${systemd_system_unitdir}/drbd.service \
-       "
-
-inherit update-alternatives
-ALTERNATIVE_PRIORITY = "80"
-ALTERNATIVE_${PN} = "drbd.sh"
-ALTERNATIVE_LINK_NAME[drbd.sh] = "${datadir}/cluster/drbd.sh"
-
-do_install_append() {
-       mv ${D}${datadir}/cluster/drbd.sh ${D}${datadir}/cluster/drbd.sh.drbd-utils
-       install -d -m 755 ${D}/${systemd_system_unitdir}
-       install -p -D -m 644 ${WORKDIR}/drbd.service ${D}/${systemd_system_unitdir}
-}
-
-#inherit systemd
-#SYSTEMD_PACKAGES += "${PN}"
-#SYSTEMD_SERVICE_${PN} = "drbd.service"
-
-pkg_postinst_ontarget_drbd-utils() {
-       ${base_bindir}/systemctl enable drbd.service
-}
diff --git a/meta-stx/recipes-support/eventlog/eventlog_git.bb b/meta-stx/recipes-support/eventlog/eventlog_git.bb
deleted file mode 100644 (file)
index 11b7e82..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "syslog replacement"
-DESCRIPTION = " \
-       The EventLog library aims to be a replacement of the simple syslog() API \
-       provided on UNIX systems. The major difference between EventLog and syslog \
-       is that EventLog tries to add structure to messages. \
-        \
-       Where you had a simple non-structrured string in syslog() you have a \
-       combination of description and tag/value pairs. \
-        \
-       EventLog provides an interface to build, format and output an event record. \
-       The exact format and output method can be customized by the administrator \
-       via a configuration file \
-         "
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b8ba8e77bcda9a53fac0fe39fe957767"
-
-SRCREV = "a5c19163ba131f79452c6dfe4e31c2b4ce4be741"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/balabit/eventlog.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit autotools pkgconfig
diff --git a/meta-stx/recipes-support/facter/facter_2.5.0.bbappend b/meta-stx/recipes-support/facter/facter_2.5.0.bbappend
deleted file mode 100644 (file)
index 0e5f9ec..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_append := ":${THISDIR}/files:"
-
-inherit openssl10
-DEPENDS_append = " openssl"
-
-SRC_URI += " \
-       file://0001-ps.patch \
-       file://0002-personality.patch \
-       file://0003-centos_remove-net-commands-that-can-timeout.patch;striplevel=2 \
-       file://0004-centos_fix-ipv6-regex.patch \
-       file://0005-Hardcode-ipaddress-fact-to-localhost.patch \
-       file://0006-facter-updates-for-poky-stx.patch \
-       "
diff --git a/meta-stx/recipes-support/hardlink/hardlink_0.3.0.bb b/meta-stx/recipes-support/hardlink/hardlink_0.3.0.bb
deleted file mode 100644 (file)
index 00cd204..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Hardlink is a tool which replaces multiple copies of a file with hardlinks"
-
-HOMEPAGE = "https://jak-linux.org/projects/hardlink"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://hardlink.1;md5=c7a9a3326f28fa218d9af0251a5e1ae4"
-
-SRC_URI = "https://jak-linux.org/projects/hardlink/hardlink_0.3.0.tar.xz"
-SRC_URI[md5sum] = "72f1a460adb6874c151deab766e434ad"
-SRC_URI[sha256sum] = "e8c93dfcb24aeb44a75281ed73757cb862cc63b225d565db1c270af9dbb7300f"
-
-DEPENDS = " attr"
-inherit pkgconfig
-
-do_install() {
-       cd ${S}
-       oe_runmake -e DESTDIR=${D} BINDIR=${bindir} MANDIR=${datadir} install
-}
-
-FILES_${PN}-doc = "${datadir}/"
diff --git a/meta-stx/recipes-support/hiera/hiera_%.bbappend b/meta-stx/recipes-support/hiera/hiera_%.bbappend
deleted file mode 100644 (file)
index 940866e..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit openssl10
-DEPENDS_append = " openssl"
diff --git a/meta-stx/recipes-support/ldapscripts/ldapscripts_2.0.8.bb b/meta-stx/recipes-support/ldapscripts/ldapscripts_2.0.8.bb
deleted file mode 100644 (file)
index fcd5958..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = " \
-The ldapscripts are originally designed to be used within Samba 3.x's \
-smb.conf file. They allow to manipulate POSIX entries for users, groups \
-and machines in an LDAP directory. They are written in shell and need ldap \
-client commands to work correctly (ldapadd, ldapdelete, ldapmodify, \
-ldapsearch). Other scripts also are provided as simple tools to (manually) \
-query your LDAP directory : ldapfinger, ldapid, lsldap (...). \
- \
-They are designed to be used under GNU/Linux or FreeBSD (any other \
-recent UNIX-like should also work) and require several binaries that should \
-come with your OS (uuencode, getent/pw, date, grep, sed, cut...). \
- \
-Latest version available on http://contribs.martymac.org \
-"
-
-SUMMARY = "Shell scripts to manage POSIX accounts in LDAP"
-
-SECTION = "base"
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-
-PROTOCOL = "https"
-BRANCH = "r/stx.3.0"
-SRCNAME = "integ"
-SRCREV = "0bf4b546df8c7fdec8cfc6cb6f71b9609ee54306"
-
-SRC_URI = " \
-       https://downloads.sourceforge.net/project/ldapscripts/ldapscripts/ldapscripts-2.0.8/ldapscripts-2.0.8.tgz \
-       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH};destsuffix=stx-patches;subpath=ldap/ldapscripts/files \
-       "
-SRC_URI[md5sum] = "99a7222215eaea2c8bc790d0437f22ea"
-SRC_URI[sha256sum] = "7db3848501f257a10417c9bcfc0b70b76d0a8093eb993f2354925e156c3419ff"
-
-do_patch_append () {
-    bb.build.exec_func('stx_do_patch', d)
-}
-
-stx_do_patch () {
-       cd ${S}
-       patch -p1 < ${WORKDIR}/stx-patches/sudo-support.patch
-       patch -p1 < ${WORKDIR}/stx-patches/sudo-delete-support.patch
-       patch -p1 < ${WORKDIR}/stx-patches/log_timestamp.patch
-       patch -p1 < ${WORKDIR}/stx-patches/ldap-user-setup-support.patch
-       patch -p1 < ${WORKDIR}/stx-patches/allow-anonymous-bind-for-ldap-search.patch
-}
-
-SOURCE1 = "${WORKDIR}/stx-patches/ldapscripts.conf.cgcs"
-SOURCE2 = "${WORKDIR}/stx-patches/ldapadduser.template.cgcs"
-SOURCE3 = "${WORKDIR}/stx-patches/ldapaddgroup.template.cgcs"
-SOURCE4 = "${WORKDIR}/stx-patches/ldapmoduser.template.cgcs"
-SOURCE5 = "${WORKDIR}/stx-patches/ldapaddsudo.template.cgcs"
-SOURCE6 = "${WORKDIR}/stx-patches/ldapmodsudo.template.cgcs"
-SOURCE7 = "${WORKDIR}/stx-patches/ldapscripts.passwd"
-
-do_configure () {
-       cd ${S}
-       oe_runmake -e configure
-}
-
-do_compile () {
-       :
-}
-
-do_install () {
-       cd ${S}
-       oe_runmake -e DESTDIR=${D} SBINDIR=${sbindir} \
-               MANDIR=${mandir} ETCDIR=${sysconfdir}/ldapscripts \
-               LIBDIR=${libdir} install
-
-       rm -Rf ${D}${mandir}/*
-       rm -f ${D}${sbindir}/*machine*
-       rm -f ${D}${sysconfdir}//ldapscripts/ldapaddmachine.template.sample
-       install -m 644 ${SOURCE1} ${D}${sysconfdir}/ldapscripts/ldapscripts.conf
-       install -m 644 ${SOURCE2} ${D}${sysconfdir}/ldapscripts/ldapadduser.template.cgcs
-       install -m 644 ${SOURCE3} ${D}${sysconfdir}/ldapscripts/ldapaddgroup.template.cgcs
-       install -m 644 ${SOURCE4} ${D}${sysconfdir}/ldapscripts/ldapmoduser.template.cgcs
-       install -m 644 ${SOURCE5} ${D}${sysconfdir}/ldapscripts/ldapaddsudo.template.cgcs
-       install -m 644 ${SOURCE6} ${D}${sysconfdir}/ldapscripts/ldapmodsudo.template.cgcs
-       install -m 600 ${SOURCE7} ${D}${sysconfdir}/ldapscripts/ldapscripts.passwd
-}
-
-FILES_${PN}_append = " ${libdir}/runtime \
-                       ${sysconfdir} \
-"
diff --git a/meta-stx/recipes-support/libevent/libevent/libevent-ipv6-client-socket.patch b/meta-stx/recipes-support/libevent/libevent/libevent-ipv6-client-socket.patch
deleted file mode 100644 (file)
index d11e942..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
----
- http.c |   25 ++++++++++++++++++-------
- 1 file changed, 18 insertions(+), 7 deletions(-)
-
---- a/http.c
-+++ b/http.c
-@@ -1325,6 +1325,9 @@ evhttp_error_cb(struct bufferevent *bufe
-       struct evhttp_connection *evcon = arg;
-       struct evhttp_request *req = TAILQ_FIRST(&evcon->requests);
-+      if (evcon->fd == -1)
-+              evcon->fd = bufferevent_getfd(bufev);
-+
-       switch (evcon->state) {
-       case EVCON_CONNECTING:
-               if (what & BEV_EVENT_TIMEOUT) {
-@@ -1390,6 +1393,9 @@ evhttp_connection_cb(struct bufferevent
-       int error;
-       ev_socklen_t errsz = sizeof(error);
-+      if (evcon->fd == -1)
-+              evcon->fd = bufferevent_getfd(bufev);
-+      
-       if (!(what & BEV_EVENT_CONNECTED)) {
-               /* some operating systems return ECONNREFUSED immediately
-                * when connecting to a local address.  the cleanup is going
-@@ -2189,16 +2195,21 @@ evhttp_connection_connect(struct evhttp_
-       EVUTIL_ASSERT(!(evcon->flags & EVHTTP_CON_INCOMING));
-       evcon->flags |= EVHTTP_CON_OUTGOING;
--      evcon->fd = bind_socket(
--              evcon->bind_address, evcon->bind_port, 0 /*reuse*/);
--      if (evcon->fd == -1) {
--              event_debug(("%s: failed to bind to \"%s\"",
--                      __func__, evcon->bind_address));
--              return (-1);
-+      if (evcon->bind_address || evcon->bind_port) {
-+              evcon->fd = bind_socket(
-+                      evcon->bind_address, evcon->bind_port, 0 /*reuse*/);
-+              if (evcon->fd == -1) {
-+                      event_debug(("%s: failed to bind to \"%s\"",
-+                              __func__, evcon->bind_address));
-+                      return (-1);
-+              }
-+
-+              bufferevent_setfd(evcon->bufev, evcon->fd);
-+      } else {
-+              bufferevent_setfd(evcon->bufev, -1);
-       }
-       /* Set up a callback for successful connection setup */
--      bufferevent_setfd(evcon->bufev, evcon->fd);
-       bufferevent_setcb(evcon->bufev,
-           NULL /* evhttp_read_cb */,
-           NULL /* evhttp_write_cb */,
diff --git a/meta-stx/recipes-support/libevent/libevent_2.0.21.bb b/meta-stx/recipes-support/libevent/libevent_2.0.21.bb
deleted file mode 100644 (file)
index af7344e..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "An asynchronous event notification library"
-HOMEPAGE = "http://libevent.org/"
-BUGTRACKER = "https://github.com/libevent/libevent/issues"
-SECTION = "libs"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=45c5316ff684bcfe2f9f86d8b1279559"
-
-SRC_URI = " \
-    https://github.com/downloads/libevent/libevent/${BP}-stable.tar.gz \
-    file://libevent-obsolete_automake_macros.patch \
-    file://libevent-disable_tests.patch \
-    file://libevent-ipv6-client-socket.patch \
-"
-
-SRC_URI[md5sum] = "b2405cc9ebf264aa47ff615d9de527a2"
-SRC_URI[sha256sum] = "22a530a8a5ba1cb9c080cba033206b17dacd21437762155c6d30ee6469f574f5"
-
-S = "${WORKDIR}/${BP}-stable"
-
-inherit openssl10
-
-PACKAGECONFIG ??= "openssl"
-PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl10"
-
-inherit autotools
-
-# Needed for Debian packaging
-LEAD_SONAME = "libevent-2.0.so"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-stx/recipes-support/libtommath/libtommath_1.1.0.bb b/meta-stx/recipes-support/libtommath/libtommath_1.1.0.bb
deleted file mode 100644 (file)
index 1764fb9..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "A portable number theoretic multiple-precision integer library"
-DESCRIPTION = " \
-  A free open source portable number theoretic multiple-precision integer \
-  library written entirely in C. (phew!). The library is designed to provide \
-  a simple to work with API that provides fairly efficient routines that \
-  build out of the box without configuration. \
-"
-HOMEPAGE = "https://github.com/libtom/libtommath"
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=23e7e0a32e53a2b1d35f5fd9ef053402"
-
-DEPENDS = "libtool-cross"
-
-SRC_URI = "https://github.com/libtom/libtommath/releases/download/v${PV}/ltm-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "b2da4488c9024976d36870132f4b8a42"
-SRC_URI[sha256sum] = "90466c88783d1fe9f5c2364a69f5479f10d73ed616011be6196f35f7f1537ead"
-
-EXTRA_OEMAKE = " \
-       LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool \
-       LIBPATH=${libdir} \
-       INCPATH=${includedir} \
-       -f makefile.shared \
-       "
-
-do_install() {
-       oe_runmake install DESTDIR=${D}
-}
diff --git a/meta-stx/recipes-support/libtpms/libtpms_git.bb b/meta-stx/recipes-support/libtpms/libtpms_git.bb
deleted file mode 100644 (file)
index 5d3642b..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "\
-               "
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e73f0786a936da3814896df06ad225a9"
-
-SRCREV = "f74b7104c0124db56c123ed171f378e82bd207c2"
-PROTOCOL = "https"
-BRANCH = "stable-0.6.0"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/stefanberger/libtpms.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-DEPENDS += " tpm2-tss tpm2-tools tpm2-abrmd openssh openssl"
-
-inherit autotools
-
-EXTRA_OECONF += "--with-openssl --with-tpm2"
diff --git a/meta-stx/recipes-support/libverto/libverto_0.2.5.bb b/meta-stx/recipes-support/libverto/libverto_0.2.5.bb
deleted file mode 100644 (file)
index 41e5e1b..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Event loop abstraction for Libraries"
-DESCRIPTION = "Libverto exists to isolate libraries from the particular event loop \
-chosen by an application. Libverto provides an asynchronous \
-programming interface independent of any particular event loop and \
-allows applications to attach this interface to whatever event loop \
-they select."
-HOMEPAGE = "http://fedorahosted.net/libverto"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bc8917ab981cfa6161dc29319a4038d9"
-
-
-DEPENDS += "libevent libtevent"
-
-# fedorahosted tarball cannot be fetched completely, so switch to use other source
-# SRC_URI = "http://fedorahosted.org/releases/l/i/${PN}/${PN}-${PV}.tar.gz"
-SRC_URI = "https://github.com/latchset/libverto/releases/download/0.2.5/${PN}-${PV}.tar.gz \
-          "
-SRC_URI[md5sum] = "144fb8f00759ef8ad71c472333847f03"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= "libevent tevent"
-PACKAGECONFIG[glib] = "--with-glib,--without-glib,glib-2.0"
-PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev"
-PACKAGECONFIG[libevent] = "--with-libevent,--without-libevent,libevent"
-PACKAGECONFIG[tevent] = "--with-tevent,--without-tevent,libtevent"
-
-PACKAGES =+ "${PN}-libevent ${PN}-tevent"
-
-FILES_${PN}-libevent = "${libdir}/libverto-libevent${SOLIBS}"
-FILES_${PN}-tevent = "${libdir}/libverto-tevent${SOLIBS}"
-
-RPROVIDES_${PN}-libevent += "${PN}-module-base"
-RPROVIDES_${PN}-tevent += "${PN}-module-base"
-
diff --git a/meta-stx/recipes-support/memcached/memcached_%.bbappend b/meta-stx/recipes-support/memcached/memcached_%.bbappend
deleted file mode 100644 (file)
index c39fdf0..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += "file://memcached.sysconfig"
-
-inherit useradd
-
-USERADD_PACKAGES = "${PN}"
-
-USERADD_PARAM_${PN} = "-r -g memcached -d /run/memcached -s /sbin/nologin -c 'Memcached daemon' memcached"
-GROUPADD_PARAM_${PN} = "-r memcached"
-
-do_install_append () {
-    install -d ${D}${sysconfdir}/sysconfig
-    install -m 0644 ${WORKDIR}/memcached.sysconfig ${D}${sysconfdir}/sysconfig/memcached
-}
diff --git a/meta-stx/recipes-support/mod-wsgi/mod-wsgi_git.bbappend b/meta-stx/recipes-support/mod-wsgi/mod-wsgi_git.bbappend
deleted file mode 100644 (file)
index 7e6b28c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-do_install_append() {
-       sed -i -e 's|${libdir}|${libexecdir}|' ${D}/etc/apache2/modules.d/wsgi.load
-}
diff --git a/meta-stx/recipes-support/nss-pam-ldapd/nss-pam-ldapd_%.bbappend b/meta-stx/recipes-support/nss-pam-ldapd/nss-pam-ldapd_%.bbappend
deleted file mode 100644 (file)
index 6ad9aeb..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit useradd
-
-USERADD_PACKAGES = "${PN}"
-
-USERADD_PARAM_${PN} = "-r -g ldap -c 'LDAP Client User' -u 65 -d / -s /sbin/nologin nslcd"
diff --git a/meta-stx/recipes-support/openldap/openldap_%.bbappend b/meta-stx/recipes-support/openldap/openldap_%.bbappend
deleted file mode 100644 (file)
index 762a493..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += " \
-       file://rootdn-should-not-bypass-ppolicy.patch \
-       file://0021-openldap-and-stx-source-and-config-files.patch \
-       file://stx-slapd.service \
-       "
-
-inherit pkgconfig useradd
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "-r -g ldap -u 55 -d / -s /sbin/nologin -c 'OpenLDAP server' ldap"
-GROUPADD_PARAM_${PN} = "-r -g 55 ldap"
-
-PACKAGECONFIG_CONFARGS_remove = "--with-tls=gnutls "
-DEPENDS += " \
-       openssl \
-       glibc \
-       mariadb \
-       mariadb-native \
-       libtirpc \
-       "
-
-RDEPENDS_${PN}_append = " bash"
-
-# Do not remove libtool la files slapd.conf uses ppolicy.la 
-REMOVE_LIBTOOL_LA = "0"
-
-
-# Defaults:
-#      --enable-bdb=no
-#      --enable-hdb=no
-#      --enable-bdb=no
-#      --enable-monitor=mod 
-######
-# Stx :
-#      --enable-wrappers=yes
-#      --enable-moznss-compatibility=yes
-
-#################
-# TODO:
-#      mysql_config: native command missing
-
-EXTRA_OECONF += " \
-               --enable-syslog \
-               --enable-proctitle \
-               --enable-ipv6 \
-               --enable-local \
-               --enable-slapd \
-               --enable-dynacl \
-               --enable-aci \
-               --enable-cleartext \
-               --enable-crypt \
-               --enable-lmpasswd \
-               --enable-modules \
-               --enable-rewrite \
-               --enable-rlookups \
-               --disable-slp \
-               --enable-wrappers=no \
-               --enable-backends=mod \
-               --enable-bdb=yes \
-               --enable-hdb=yes \
-               --enable-mdb=yes \
-               --enable-monitor=yes \
-               --disable-ndb \
-               --enable-overlays=mod \
-               --disable-static \
-               --enable-shared \
-               --with-cyrus-sasl \
-               --without-fetch \
-               --with-tls=openssl \
-               "
-#      --enable-moznss-compatibility=no 
-# NEW:
-# --enable-lmpasswd 
-# --enable-slapi
-# --enable-wrappers
-# --enable-moznss-compatibility=yes
-
-do_configure_append () {
-   cd ${S}
-   ln -f -s ${S}/contrib/slapd-modules/smbk5pwd/smbk5pwd.c servers/slapd/overlays
-   ln -f -s ${S}/contrib/slapd-modules/allop/allop.c servers/slapd/overlays
-   ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/sha2.c servers/slapd/overlays
-   ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/sha2.h servers/slapd/overlays
-   ln -f -s ${S}/contrib/slapd-modules/passwd/sha2/slapd-sha2.c servers/slapd/overlays
-}
-
-
-# If liblmdb is needed, then patch the Makefile
-#do_compile_append () {
-#   cd ${S}/ltb-project-openldap-ppolicy-check-password-1.1
-#   oe_runmake
-#}
-
-do_install_append () {
-       
-       # For this we need to build ltb-project-openldap
-       #install -m 755 check_password.so.%{check_password_version} %{buildroot}%{_libdir}/openldap/
-
-       cd ${S}/stx-sources
-       install -m 0755 -d ${D}/var/run/openldap
-       install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
-       install -m 0755 ${S}/stx-sources/slapd.tmpfiles ${D}/${sysconfdir}/tmpfiles.d/slapd.conf 
-       install -m 0755 ${S}/stx-sources/openldap.tmpfiles ${D}/${sysconfdir}/tmpfiles.d/openldap.conf 
-       install -m 0755 ${S}/stx-sources/ldap.conf ${D}/${sysconfdir}/tmpfiles.d/ldap.conf 
-
-       # The database directory MUST exist prior to running slapd AND
-       # should only be accessible by the slapd and slap tools.
-       # Mode 700 recommended.
-       echo "d /var/lib/openldap-data 0700 ldap ldap -" >> ${D}/${sysconfdir}/tmpfiles.d/slapd.conf
-
-       install -m 0644 libexec-functions ${D}/${libexecdir}/openldap/functions
-       install -m 0755 libexec-convert-config.sh ${D}/${libexecdir}/openldap/convert-config.sh
-       install -m 0755 libexec-check-config.sh ${D}/${libexecdir}/openldap/check-config.sh
-       install -m 0755 libexec-upgrade-db.sh ${D}/${libexecdir}/openldap/upgrade-db.sh
-
-       install -m 0755 libexec-create-certdb.sh ${D}/${libexecdir}/openldap/create-certdb.sh
-       install -m 0755 libexec-generate-server-cert.sh ${D}/${libexecdir}/openldap/generate-server-cert.sh
-       install -m 0755 libexec-update-ppolicy-schema.sh ${D}/${libexecdir}/openldap/update-ppolicy-schema.sh
-
-       install -m 0644  ${S}/../stx-slapd.service ${D}/${systemd_system_unitdir}/stx-slapd.service
-       install -m 0755 -d ${D}/${sysconfdir}/sysconfig
-       install -m 0644 slapd.sysconfig ${D}/${sysconfdir}/sysconfig/slapd
-       install -m 0755 -d ${D}/${datadir}/openldap-servers
-       install -m 0644 slapd.ldif ${D}/${datadir}/openldap-servers/slapd.ldif
-       install -m 0750 -d ${D}/${sysconfdir}/openldap/slapd.d
-       rm -rf ${D}/var/run
-
-       #cd ${S}/
-       #oe_runmake -e -C servers/slapd/overlays  DESTDIR=${D} install
-       sed -i -e 's:\(/sbin/runuser\):/usr\1:g' ${D}/usr/libexec/openldap/functions
-
-}
-
-#pkg_postinst_ontarget_libldap-2.4_append () {
-#      cp /usr/share/starlingx/slapd.service ${systemd_system_unitdir}/slapd.service
-#      chmod 644 ${systemd_system_unitdir}/slapd.service
-#      cp ${datadir}/starlingx/slapd.sysconfig ${sysconfdir}/sysconfig/slapd
-#      systemctl daemon-reload
-#      chmod 755 /etc/openldap
-#      chmod 755 /etc/openldap/slapd.d
-#}
-
-FILES_${PN}_append = " \
-       ${datadir}/openldap-servers/ \
-       ${libexecdir}/openldap/ \
-       ${sysconfdir}/sysconfig \
-       ${sysconfdir}/tmpfiles.d \
-       ${systemd_system_unitdir}/stx-slapd.service \
-       "
-
-# *.la are openldap modules, so re-define
-# to remove the *.la from -dev package
-FILES_${PN}-dev = " \
-       ${includedir} \
-       ${FILES_SOLIBSDEV} \
-       ${libdir}/*.la \
-       ${libexecdir}/openldap/*${SOLIBSDEV} \
-       "
diff --git a/meta-stx/recipes-support/os-service-types/python2-os-service-types_1.3.0.bb b/meta-stx/recipes-support/os-service-types/python2-os-service-types_1.3.0.bb
deleted file mode 100644 (file)
index 60042f5..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "A library to handle official service types for OpenStack and their historical aliases."
-HOMEPAGE = "https://opendev.org/openstack/os-service-types"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
-
-STABLE = "master"
-PROTOCOL = "https"
-BRANCH = "master"
-SRCREV = "2e5b38088a43539621de82aa2d0c1b366c2638a9"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://opendev.org/openstack/os-service-types.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}"
-
-inherit setuptools 
-
-DEPENDS += " \
-        python-pip \
-        python-pbr-native \
-        "
-
-RDEPENDS_${PN} += " \
-        python-lxml \
-        python-requests \
-        python-cython \
-        "
diff --git a/meta-stx/recipes-support/puppet/files/puppet-network/puppet-network-poky-stx.rb-add-vlan-support.patch b/meta-stx/recipes-support/puppet/files/puppet-network/puppet-network-poky-stx.rb-add-vlan-support.patch
deleted file mode 100644 (file)
index 69bb58f..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-From c08ad0a7c950cf35a3f178fe8b84beb227bfe5ca Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Fri, 13 Nov 2020 17:45:42 +0800
-Subject: [PATCH] poky-stx.rb: add vlan support for poky-stx
-
-Upstream-Status: Inappropriate [poky-stx specific]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- lib/puppet/provider/network_config/poky-stx.rb | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/lib/puppet/provider/network_config/poky-stx.rb b/lib/puppet/provider/network_config/poky-stx.rb
-index 17fa34c..9b0506a 100644
---- a/lib/puppet/provider/network_config/poky-stx.rb
-+++ b/lib/puppet/provider/network_config/poky-stx.rb
-@@ -45,7 +45,7 @@ Puppet::Type.type(:network_config).provide(:pokystx) do
-
-     # These fields are going to get rearranged to resolve issue 16
-     # https://github.com/adrienthebo/puppet-network/issues/16
--    attr_accessor :ipaddress, :netmask, :family, :method, :mtu
-+    attr_accessor :ipaddress, :netmask, :family, :method, :mtu, :mode
-
-     # Options hash
-     attr_reader :options
-@@ -66,6 +66,7 @@ Puppet::Type.type(:network_config).provide(:pokystx) do
-         :family    => @family,
-         :method    => @method,
-         :mtu       => @mtu,
-+        :mode      => @mode,
-         :options   => squeeze_options
-       }
-
-@@ -185,6 +186,7 @@ Puppet::Type.type(:network_config).provide(:pokystx) do
-           #Instance[name].name   = name
-           Instance[name].family = family
-           Instance[name].method = method
-+          Instance[name].mode   = :raw
-
-         else
-           # If we match on a string with a leading iface, but it isn't in the
-@@ -219,6 +221,7 @@ Puppet::Type.type(:network_config).provide(:pokystx) do
-             when 'address'; Instance[name].ipaddress    = val
-             when 'netmask'; Instance[name].netmask      = val
-             when 'mtu';     Instance[name].mtu          = val
-+            when 'vlan-raw-device'; Instance[name].mode = :vlan
-             else            Instance[name].options[key] << val
-             end
-           else
-@@ -260,6 +263,11 @@ Puppet::Type.type(:network_config).provide(:pokystx) do
-         stanza << %{iface #{provider.name} #{provider.family} #{provider.method}}
-       end
-
-+      if provider.options['VLAN'] and  provider.options['VLAN'] == 'yes'
-+        raw_device = provider.options['PHYSDEV']
-+        stanza << "    vlan-raw-device #{raw_device}"
-+      end
-+
-       [
-         [:ipaddress, 'address'],
-         [:netmask,   'netmask'],
---
-2.7.4
diff --git a/meta-stx/recipes-support/puppet/files/puppet/4.8.2/puppet.conf b/meta-stx/recipes-support/puppet/files/puppet/4.8.2/puppet.conf
deleted file mode 100644 (file)
index 63d5e5a..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-[main]
-logdir=/var/log/puppet
-vardir=/var/lib/puppet
-ssldir=/var/lib/puppet/ssl
-rundir=/var/run/puppet
-factpath=$vardir/lib/facter
-
-[agent]
-server=puppet-server
diff --git a/meta-stx/recipes-support/puppet/files/stx-puppet/0010-puppet-manifest-apply-workaround-to-ignore-known-err.patch b/meta-stx/recipes-support/puppet/files/stx-puppet/0010-puppet-manifest-apply-workaround-to-ignore-known-err.patch
deleted file mode 100644 (file)
index 53f75ce..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From 1735d6504b319c2d05ffbd2ae8ff6a4515982aed Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Sun, 19 Apr 2020 21:38:59 +0800
-Subject: [PATCH] puppet-manifest-apply: workaround to ignore known errors
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- puppet-manifests/src/bin/puppet-manifest-apply.sh | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/puppet-manifests/src/bin/puppet-manifest-apply.sh b/puppet-manifests/src/bin/puppet-manifest-apply.sh
-index 18eec2c..3ac6cfc 100755
---- a/puppet-manifests/src/bin/puppet-manifest-apply.sh
-+++ b/puppet-manifests/src/bin/puppet-manifest-apply.sh
-@@ -89,6 +89,8 @@ function finish {
- }
- trap finish EXIT
-+# Pattern for know errors, will be ignored when checking errors
-+KNOWN_ERRORS="Error.*remount /scratch"
- # Set Keystone endpoint type to internal to prevent SSL cert failures during config
- export OS_ENDPOINT_TYPE=internalURL
-@@ -105,7 +107,7 @@ if [ $? -ne 0 ]; then
-     echo "See ${LOGFILE} for details"
-     exit 1
- else
--    grep -qE '^(.......)?Error|^....-..-..T..:..:..([.]...)?(.......)?.Error' ${LOGFILE}
-+    grep -E -v "${KNOWN_ERRORS}" ${LOGFILE} | grep -qE '^(.......)?Error|^....-..-..T..:..:..([.]...)?(.......)?.Error'
-     if [ $? -eq 0 ]; then
-         echo "[ERROR]"
-         echo "Errors found. See ${LOGFILE} for details"
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-support/puppet/files/stx-puppet/0011-puppet-manifest-kubernetes.pp-add-re-tries-for-docker-login.patch b/meta-stx/recipes-support/puppet/files/stx-puppet/0011-puppet-manifest-kubernetes.pp-add-re-tries-for-docker-login.patch
deleted file mode 100644 (file)
index 0c5f162..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-From 3d8cce4420f84bac979e9b10384fddb4d7c810d9 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Wed, 18 Nov 2020 09:45:54 +0800
-Subject: [PATCH] kubernetes.pp: add re-tries for docker login
-
-Upstream-Status: Inappropriate [workaround]
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- puppet-manifests/src/modules/platform/manifests/kubernetes.pp | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/puppet-manifests/src/modules/platform/manifests/kubernetes.pp b/puppet-manifests/src/modules/platform/manifests/kubernetes.pp
-index 3fa1c8a..af69373 100644
---- a/puppet-manifests/src/modules/platform/manifests/kubernetes.pp
-+++ b/puppet-manifests/src/modules/platform/manifests/kubernetes.pp
-@@ -269,6 +269,8 @@ class platform::kubernetes::master::init
-     -> exec { 'login local registry':
-       command   => "docker login registry.local:9001 -u ${::platform::dockerdistribution::params::registry_username} -p ${::platform::dockerdistribution::params::registry_password}", # lint:ignore:140chars
-       logoutput => true,
-+      tries     => 3,
-+      try_sleep => 1,
-     }
-     -> exec { 'kubeadm to pre pull images':
-@@ -384,6 +386,8 @@ class platform::kubernetes::worker::init
-       exec { 'login local registry':
-         command   => "docker login registry.local:9001 -u ${::platform::dockerdistribution::params::registry_username} -p ${::platform::dockerdistribution::params::registry_password}", # lint:ignore:140chars
-         logoutput => true,
-+        tries     => 3,
-+        try_sleep => 1,
-       }
-       -> exec { 'load k8s pause image':
--- 
-2.7.4
-
diff --git a/meta-stx/recipes-support/puppet/puppet-barbican_git.bb b/meta-stx/recipes-support/puppet/puppet-barbican_git.bb
deleted file mode 100644 (file)
index 51b73f9..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Puppet module for OpenStack Barbican"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fce88ac1cd1315adf28a52502c9f7f6b"
-
-RDEPENDS_${PN} += " \
-       puppetlabs-inifile \
-       "
-
-PV = "11.3.0"
-SRCREV = "8241a1d13be6c3ee6344fa46dcfc045439044e76"
-PROTOCOL = "https"
-BRANCH = "stable/pike"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/openstack/puppet-barbican.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppet-barbican/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppet-barbican-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/barbican
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/barbican
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-barbican_git.bbappend b/meta-stx/recipes-support/puppet/puppet-barbican_git.bbappend
deleted file mode 100644 (file)
index d81808b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/puppet-barbican-fix-the-pkg-and-service-names-for-poky-stx.patch \
-       file://${BPN}/puppet-barbican-do-not-fail-for-poky-stx.patch \
-       "
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppet-boolean_git.bb b/meta-stx/recipes-support/puppet/puppet-boolean_git.bb
deleted file mode 100644 (file)
index 05221ad..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Logical Resource Management (LVM) features for Puppet."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8cbd44f4ffbc81632df22fdd4ae87811"
-
-PV = "1.0.1"
-SRCREV = "22b726dd78b0a60a224cc7054aebbf28e9306f62"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/adrienthebo/puppet-boolean;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       "
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
-
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/boolean
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/boolean/
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-ceph_git.bb b/meta-stx/recipes-support/puppet/puppet-ceph_git.bb
deleted file mode 100644 (file)
index 66def5e..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Community Developed Ceph Module."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5ccf641e613489e66aa98271dbe798"
-
-PV = "2.4.1"
-SRCREV = "ebea4b703d002d64d0b623cc51d42890b187ab97"
-PROTOCOL = "https"
-BRANCH = "stable/jewel"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/openstack/puppet-ceph.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppet-ceph/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppet-ceph-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/ceph
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/ceph
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-ceph_git.bbappend b/meta-stx/recipes-support/puppet/puppet-ceph_git.bbappend
deleted file mode 100644 (file)
index 0088901..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/0001-Roll-up-TIS-patches.patch \
-       file://${BPN}/0002-Newton-rebase-fixes.patch \
-       file://${BPN}/0003-Ceph-Jewel-rebase.patch \
-       file://${BPN}/0004-US92424-Add-OSD-support-for-persistent-naming.patch \
-       file://${BPN}/0005-Remove-puppetlabs-apt-as-ceph-requirement.patch \
-       file://${BPN}/0006-ceph-disk-prepare-invalid-data-disk-value.patch \
-       file://${BPN}/0007-Add-StarlingX-specific-restart-command-for-Ceph-moni.patch \
-       file://${BPN}/0008-ceph-mimic-prepare-activate-osd.patch \
-       file://${BPN}/0009-fix-ceph-osd-disk-partition-for-nvme-disks.patch \
-       file://${BPN}/0010-wipe-unprepared-disks.patch \
-       file://${BPN}/0011-puppet-ceph-changes-for-poky-stx.patch \
-       "
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppet-certmonger_git.bb b/meta-stx/recipes-support/puppet/puppet-certmonger_git.bb
deleted file mode 100644 (file)
index 9bb7674..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Deprecated: Use saltedsignal/puppet-certmonger instead."
-DESCRIPTION = " \
-       This puppet module allows you to request and manage certificates using certmonger. \
-       "
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5e8f921d6b978d3605270db1f39e199f"
-
-PV = "1.1.1"
-SRCREV = "1157a7e552d87696e80ed4ab54bf0608a1c5ffff"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/earsdown/puppet-certmonger.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppet-certmonger/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppet-certmonger-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/certmonger
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/certmonger
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-certmonger_git.bbappend b/meta-stx/recipes-support/puppet/puppet-certmonger_git.bbappend
deleted file mode 100644 (file)
index 2d22d75..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += "file://${PN}/0001-puppet-certmonger-adjust-path-to-poky-rootfs.patch"
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppet-collectd_git.bb b/meta-stx/recipes-support/puppet/puppet-collectd_git.bb
deleted file mode 100644 (file)
index 773098c..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Puppet module for configuring collectd and plugins."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=03ff50a0bc4a15eb462d4129e89f9656"
-
-PV = "5.1.0"
-SRCREV = "f5a44db033c7cea9990c405519f70d18fc2b05c0"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/voxpupuli/puppet-collectd;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
-
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/collectd
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/collectd
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-dnsmasq_git.bb b/meta-stx/recipes-support/puppet/puppet-dnsmasq_git.bb
deleted file mode 100644 (file)
index 103fa2a..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "puppet module for dnsmasq"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://README.md;md5=71e3bfa9ffc5e93324727bbffae917f5"
-
-PV = "1.1.0"
-STABLE = "master"
-PROTOCOL = "https"
-BRANCH = "master"
-SRCREV = "cff07e90890662972c97684a2baee964f68ff3ed"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/netmanagers/puppet-dnsmasq;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       file://${PN}/metadata.json.patch \
-       "
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
-
-do_install_append () {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/dnsmasq
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/dnsmasq/
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-dnsmasq_git.bbappend b/meta-stx/recipes-support/puppet/puppet-dnsmasq_git.bbappend
deleted file mode 100644 (file)
index d699ce5..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/0001-puppet-dnsmasq-Kilo-quilt-patches.patch;striplevel=5 \
-       file://${BPN}/0002-Fixing-mismatched-permission-on-dnsmasq-conf.patch;striplevel=5 \
-       file://${BPN}/0003-Support-management-of-tftp_max-option.patch;striplevel=5 \
-       file://${BPN}/0004-Enable-clear-DNS-cache-on-reload.patch;striplevel=5 \
-       file://${BPN}/0005-puppet-dnsmasq-updates-for-poky-stx.patch;striplevel=5 \
-       "
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppet-drbd_git.bb b/meta-stx/recipes-support/puppet/puppet-drbd_git.bb
deleted file mode 100644 (file)
index ad70d04..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "puppet-drbd"
-
-PV = "0.3.1"
-SRCREV = "496b3ba9cd74a2d12636f9e90a718739a5451169"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6089b6bd1f0d807edb8bdfd76da0b038 "
-
-SRC_URI = " \
-       git://github.com/voxpupuli/puppet-drbd;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       "
-inherit ruby 
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/drbd
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/drbd
-}
-
-FILES_${PN} += "${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-drbd_git.bbappend b/meta-stx/recipes-support/puppet/puppet-drbd_git.bbappend
deleted file mode 100644 (file)
index b076d02..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${PN}/0001-TIS-Patches.patch \
-       file://${PN}/0002-Disable-timeout-for-mkfs-command.patch \
-       file://${PN}/0003-drbd-parallel-to-serial-synchronization.patch \
-       file://${PN}/0004-US-96914-reuse-existing-drbd-cinder-resource.patch \
-       file://${PN}/0005-Add-PausedSync-states-to-acceptable-cstate.patch \
-       file://${PN}/0006-CGTS-7164-Add-resource-options-cpu-mask-to-affine-drbd-kernel-threads.patch \
-       file://${PN}/0007-Add-disk-by-path-test.patch \
-       file://${PN}/0008-CGTS-7953-support-for-new-drbd-resources.patch \
-       file://${PN}/0009-drbd-slow-before-swact.patch \
-       "
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppet-etcd_git.bb b/meta-stx/recipes-support/puppet/puppet-etcd_git.bb
deleted file mode 100644 (file)
index d2849c9..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Installs and configures etcd"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-
-PV = "1.11.0"
-SRCREV = "f43e1292a9554766f799cd5a14b67cc19ce5b00e"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/cristifalcas/puppet-etcd;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppet-etcd/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppet-etcd-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/etcd
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/etcd
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-etcd_git.bbappend b/meta-stx/recipes-support/puppet/puppet-etcd_git.bbappend
deleted file mode 100644 (file)
index bdaed2f..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/puppet-etcd-changes-for-poky-stx.patch \
-       "
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppet-filemapper_git.bb b/meta-stx/recipes-support/puppet/puppet-filemapper_git.bb
deleted file mode 100644 (file)
index 38afafa..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "A Puppet module to map files to resources and back."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b43880e14353cbc12cf3981fb93a0944"
-
-PV = "1.1.3"
-SRCREV = "9b53310278e76827bbe12a36cc6470d77071abb2"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
-       git://github.com/adrienthebo/puppet-filemapper;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       file://${PN}/metadata.json.patch \
-       " 
-
-inherit ruby 
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_BUILD_GEMS = "adrien-filemapper.gemspec"
-RUBY_INSTALL_GEMS = "adrien-filemapper-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/filemapper
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/filemapper
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-horizon_git.bb b/meta-stx/recipes-support/puppet/puppet-horizon_git.bb
deleted file mode 100644 (file)
index 8e39f4c..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Intended managing the entirety of horizon."
-DESCRIPTION = " \
-       The horizon module is a thorough attempt to make Puppet capable of \
-       managing the entirety of horizon. Horizon is a fairly classic django \
-       application, which results in a fairly simply Puppet module.\
-       "
-
-# HOMEPAGE = "https://github.com/openstack/puppet-horizon"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=12a15a9ebddda7d856c783f745e5ee47"
-
-PV = "11.5.0"
-SRCREV = "d75706e38fdf63f9c3174a526a7d07799390dfeb"
-PROTOCOL = "https"
-BRANCH = "stable/pike"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/openstack/puppet-horizon.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppet-horizon-${PV}.gem"
-
-do_install_append() { 
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/horizon
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/horizon
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-horizon_git.bbappend b/meta-stx/recipes-support/puppet/puppet-horizon_git.bbappend
deleted file mode 100644 (file)
index 2100667..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/0001-Update-memcached-dependency.patch \
-       file://${BPN}/0002-puppet-horizon-changes-for-poky-stx.patch \
-       "
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppet-keystone_git.bb b/meta-stx/recipes-support/puppet/puppet-keystone_git.bb
deleted file mode 100644 (file)
index 59bba4b..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Puppet module for OpenStack Keystone"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=12a15a9ebddda7d856c783f745e5ee47"
-
-PV = "11.3.0"
-SRCREV = "305c91cac00f720ad6461b442e71b52b12f9ae57"
-PROTOCOL = "https"
-BRANCH = "stable/pike"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/openstack/puppet-keystone.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppet-keystone/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppet-keystone-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/keystone
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/keystone
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-keystone_git.bbappend b/meta-stx/recipes-support/puppet/puppet-keystone_git.bbappend
deleted file mode 100644 (file)
index 51a45f7..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${PN}/0001-pike-rebase-squash-titanium-patches.patch \
-       file://${PN}/0002-remove-the-Keystone-admin-app.patch \
-       file://${PN}/0003-remove-eventlet_bindhost-from-Keystoneconf.patch \
-       file://${PN}/0004-escape-special-characters-in-bootstrap.patch \
-       file://${PN}/0005-Add-support-for-fernet-receipts.patch \
-       file://${PN}/0007-puppet-keystone-specify-full-path-to-openrc.patch \
-       file://${PN}/0008-params.pp-fix-the-service-name-of-openstack-keystone.patch \
-       "
-
-do_install_append () {
-       # fix the name of python-memcached
-       sed -i -e 's/python-memcache\b/python-memcached/' ${D}/${datadir}/puppet/modules/keystone/manifests/params.pp
-}
-
-RDEPENDS_${PN} += " \
-       python-memcached \
-       python-ldappool \
-       "
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppet-kmod_git.bb b/meta-stx/recipes-support/puppet/puppet-kmod_git.bb
deleted file mode 100644 (file)
index dae253e..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Manage Linux kernel modules with Puppet"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5ccf641e613489e66aa98271dbe798"
-
-PV = "2.1.0"
-SRCREV = "0d69a96e8d0d3a08da0d5f476c733134df4fb9ee"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/camptocamp/puppet-kmod;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       file://${PN}/persistent-module-load-poky.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_BUILD_GEMS = "camptocamp-kmod.gemspec"
-RUBY_INSTALL_GEMS = "camptocamp-kmod-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/kmod
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/kmod
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-ldap_git.bb b/meta-stx/recipes-support/puppet/puppet-ldap_git.bb
deleted file mode 100644 (file)
index b99b031..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "OpenLDAP module for Puppet."
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://metadata.json;md5=4244fe391bee02e9ee7259aa7f8dda8b"
-
-PV = "0.2.4"
-SRCREV = "480f13af6d17d1d3fcf0dc7b4bd04b49fa4099e1"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
-       git://github.com/torian/puppet-ldap;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppet-ldap/Add-gemspec.patch \
-       "
-inherit ruby 
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/ldap
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/ldap
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-ldap_git.bbappend b/meta-stx/recipes-support/puppet/puppet-ldap_git.bbappend
deleted file mode 100644 (file)
index 1060e41..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/0001-puppet-ldap-add-os-poky-stx.patch \
-       file://${BPN}/0002-puppet-ldap-poky-stx-fix-pkg-name.patch \
-       "
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppet-memcached_git.bb b/meta-stx/recipes-support/puppet/puppet-memcached_git.bb
deleted file mode 100644 (file)
index cbe4713..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Intended managing the entirety of horizon."
-DESCRIPTION = " \
-       The horizon module is a thorough attempt to make Puppet capable of \
-       managing the entirety of horizon. Horizon is a fairly classic django \
-       application, which results in a fairly simply Puppet module.\
-       "
-
-HOMEPAGE = "https://github.com/saz/puppet-memcached.git"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1322039bbc8e3ff4e74252ec65303861"
-
-PV = "3.0.2"
-SRCREV = "c2a0b543dc28f34ab68e905ede3173b00246ddca"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
-       git://github.com/saz/puppet-memcached.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppet-memcached/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppet-memcached-${PV}.gem"
-
-do_install_append() { 
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/memcached
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/memcached
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-network_git.bb b/meta-stx/recipes-support/puppet/puppet-network_git.bb
deleted file mode 100644 (file)
index d9e5240..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "A Puppet module to manage non volatile network and route configuration."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b43880e14353cbc12cf3981fb93a0944"
-
-
-PV = "0.5.0"
-SRCREV = "7deacd5fdc22c0543455878a8d1872f2f5417c1d"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
-       git://github.com/voxpupuli/puppet-network;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppet-network/Add-gemspec.patch \
-       file://puppet-network/metadata.json.patch \
-       " 
-
-inherit ruby 
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
-
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/network
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/network
-       # Remove broken symlinks for now
-       rm -f ${D}/${libdir}/ruby/gems/2.5.0/gems/puppet-network-0.5.0/spec/fixtures/modules/network/manifests
-       rm -f ${D}/${libdir}/ruby/gems/2.5.0/gems/puppet-network-0.5.0/spec/fixtures/modules/network/templates
-       rm -f ${D}/${libdir}/ruby/gems/2.5.0/gems/puppet-network-0.5.0/spec/fixtures/modules/network/files
-       rm -f ${D}/${libdir}/ruby/gems/2.5.0/gems/puppet-network-0.5.0/spec/fixtures/modules/network/lib
-       rm -f ${D}/${datadir}/puppet/modules/network/spec/fixtures/modules/network/files
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-network_git.bbappend b/meta-stx/recipes-support/puppet/puppet-network_git.bbappend
deleted file mode 100644 (file)
index 18ab1a4..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/puppet-network-Kilo-quilt-changes.patch;striplevel=5 \
-       file://${BPN}/puppet-network-support-ipv6.patch;striplevel=5 \
-       file://${BPN}/Don-t-write-absent-to-redhat-route-files-and-test-fo.patch;striplevel=5 \
-       file://${BPN}/fix-absent-options.patch;striplevel=5 \
-       file://${BPN}/permit-inservice-update-of-static-routes.patch;striplevel=5 \
-       file://${BPN}/ipv6-static-route-support.patch;striplevel=5 \
-       file://${BPN}/route-options-support.patch;striplevel=5 \
-       file://${BPN}/0001-Stx-uses-puppet-boolean-instead-of-adrien-boolean.patch \
-       file://${BPN}/puppet-network-updates-for-poky-stx.patch \
-       file://${BPN}/puppet-network-config-poky-provider.patch \
-       file://${BPN}/puppet-network-poky-stx.rb-add-vlan-support.patch \
-       " 
-
-inherit openssl10
-
-do_configure_append() {
-       rm -f spec/fixtures/modules/network/files
-}
-
-RDEPENDS_${PN} += "\
-       vlan \
-"
diff --git a/meta-stx/recipes-support/puppet/puppet-nslcd_git.bb b/meta-stx/recipes-support/puppet/puppet-nslcd_git.bb
deleted file mode 100644 (file)
index ba81276..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "A Puppet module to manage the nslcd daemon which provides authentication via LDAP"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://Modulefile;md5=674f57ad12dfafcf6c3943f34d459ded"
-
-PV = "0.0.1"
-SRCREV = "b8c19b1ada89865f2e50758e054583798ad8011a"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
-       git://github.com/jlyheden/puppet-nslcd;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       file://${PN}/metadata.json.patch \
-       " 
-
-inherit ruby 
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/nslcd
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/nslcd
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-nslcd_git.bbappend b/meta-stx/recipes-support/puppet/puppet-nslcd_git.bbappend
deleted file mode 100644 (file)
index 0c15937..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/puppet-nslcd-updates-for-poky-stx.patch \
-       "
-
-RDEPENDS_${PN} += "nss-pam-ldapd"
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppet-nssdb_git.bb b/meta-stx/recipes-support/puppet/puppet-nssdb_git.bb
deleted file mode 100644 (file)
index ca8bbc2..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "NSS database Puppet Module"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0409d65ae3bec182108fd45c64bd0ef2"
-
-PV = "1.0.1"
-SRCREV = "2e163a21fb80d828afede2d4be6214f1171c4887"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/rcritten/puppet-nssdb.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       file://${PN}/metadata.json.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppet-nssdb-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/nssdb
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/nssdb
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-openstacklib_git.bb b/meta-stx/recipes-support/puppet/puppet-openstacklib_git.bb
deleted file mode 100644 (file)
index 3867d92..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Puppet OpenStack Libraries."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=12a15a9ebddda7d856c783f745e5ee47"
-
-PV = "11.3.0"
-SRCREV = "79a799f5d78667b5eee81e71782e8591f2e62ecc"
-PROTOCOL = "https"
-BRANCH = "stable/pike"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/openstack/puppet-openstacklib.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppet-openstacklib/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppet-openstacklib-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/openstacklib
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/openstacklib
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-openstacklib_git.bbappend b/meta-stx/recipes-support/puppet/puppet-openstacklib_git.bbappend
deleted file mode 100644 (file)
index c96f9b6..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/0001-Roll-up-TIS-patches.patch \
-       file://${BPN}/0002-puppet-openstacklib-updates-for-poky-stx.patch \
-       "
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppet-oslo_git.bb b/meta-stx/recipes-support/puppet/puppet-oslo_git.bb
deleted file mode 100644 (file)
index 6a0ec5a..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "The oslo module is a part of OpenStack intended to provide continuous integration testing and code review."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86e96afa80a52eedda5dccc1af36b4f2"
-
-PV = "11.3.0"
-SRCREV = "5ad200e9d8af200a8f50f86a2db4cf3f36ab2a4c"
-PROTOCOL = "https"
-BRANCH = "stable/pike"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/openstack/puppet-oslo.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppet-oslo/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppet-oslo-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/oslo
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/oslo
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-oslo_git.bbappend b/meta-stx/recipes-support/puppet/puppet-oslo_git.bbappend
deleted file mode 100644 (file)
index 4553bb1..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://puppet-oslo/0001-Remove-log_dir-from-conf-files.patch \
-       file://puppet-oslo/0002-add-psycopg2-drivername-to-postgresql-settings.patch \
-       "
-
-do_install_append () {
-       # fix the name of python-memcached
-       sed -i -e 's/python-memcache\b/python-memcached/' ${D}/${datadir}/puppet/modules/oslo/manifests/params.pp
-}
-
-RDEPENDS_${PN} += "python-memcached"
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppet-puppi_git.bb b/meta-stx/recipes-support/puppet/puppet-puppi_git.bb
deleted file mode 100644 (file)
index 8057900..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Installs and configures Puppi."
-DESCRIPTION = " \
-       This module provides the Puppi libraries required by Example42 modules and, if explicitely included, the \
-       puppi command, its working environment, the defines and procedures to deploy applications.\
-       "
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a300b604c66de62cf6e923cca89c9d83"
-
-PV = "2.2.3"
-SRCREV = "c1c47f4edfd761d1bbde32a75da0c3fa7cc93a81"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
-       git://github.com/example42/puppi;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       " 
-
-inherit ruby 
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/puppi
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/puppi
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-puppi_git.bbappend b/meta-stx/recipes-support/puppet/puppet-puppi_git.bbappend
deleted file mode 100644 (file)
index ff545ef..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/puppet-puppi-updates-for-poky-stx.patch \
-       file://${BPN}/puppet-puppi-adjust-path.patch \
-       "
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppet-staging_git.bb b/meta-stx/recipes-support/puppet/puppet-staging_git.bb
deleted file mode 100644 (file)
index 98a81f7..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Manages staging directory, along with download/extraction of compressed files."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=cdbf8d74b765504fbdf8e154bb4458a1"
-
-PV = "1.0.4"
-SRCREV = "bc434a71e19aae54223d57c274e2e1a7f9546d5e"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
-       git://github.com/nanliu/puppet-staging;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppet-staging/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_BUILD_GEMS = "nanliu-staging.gemspec"
-RUBY_INSTALL_GEMS = "nanliu-staging-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/staging
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/staging
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-sysctl_git.bb b/meta-stx/recipes-support/puppet/puppet-sysctl_git.bb
deleted file mode 100644 (file)
index cfea440..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "This modules allows you to configure sysctl."
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://README.md;md5=b5335702ab6b120493cf88faaf9be346"
-
-PV = "0.0.11"
-SRCREV = "65ffe839a4ce785bc3901452488197a0ef158cd8"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/duritong/puppet-sysctl;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_BUILD_GEMS = "duritong-sysctl.gemspec"
-RUBY_INSTALL_GEMS = "duritong-sysctl-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/sysctl
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/sysctl
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-vlan_git.bb b/meta-stx/recipes-support/puppet/puppet-vlan_git.bb
deleted file mode 100644 (file)
index b3c422e..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Puppet module for OpenStack Barbican"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f05b73a1f91c0e30dece85ed11819aca"
-
-PV = "0.1.0"
-SRCREV = "c937de75c28e63fba8d8738ad6a5f2ede517e53d"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/derekhiggins/puppet-vlan.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       file://${PN}/metadata.json.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/vlan
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/vlan
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppet-vswitch_%.bbappend b/meta-stx/recipes-support/puppet/puppet-vswitch_%.bbappend
deleted file mode 100644 (file)
index e4cec84..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/vswitch
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/vswitch
-}
-
-FILES_${PN} += " ${datadir}"
-
-inherit openssl10
-RDEPENDS_${PN}_append = " perl"
diff --git a/meta-stx/recipes-support/puppet/puppet_4.8.2.bb b/meta-stx/recipes-support/puppet/puppet_4.8.2.bb
deleted file mode 100644 (file)
index 677faba..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Open source Puppet is a configuration management system"
-HOMEPAGE = "https://puppetlabs.com/puppet/puppet-open-source"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7c9045ec00cc0d6b6e0e09ee811da4a0"
-
-SRC_URI = " \
-    https://downloads.puppetlabs.com/puppet/puppet-${PV}.tar.gz \
-    file://${BPN}/${PV}/add_puppet_gemspec.patch \
-    file://${BPN}/${PV}/puppet-updates-for-poky-stx.patch \
-    file://${BPN}/${PV}/puppet-poky-dnf.patch \
-    file://${BPN}/${PV}/puppet.conf \
-    file://${BPN}/${PV}/puppet.init \
-    file://${BPN}/${PV}/puppet.service \
-"
-SRC_URI[md5sum] = "095ef8bddd94dd1ee0562a3c816ab05f"
-SRC_URI[sha256sum] = "fc71ca0be64b4b1282e0064b8fbf115c547cb87ca6b209da56e1b9569567404a"
-
-inherit ruby update-rc.d systemd
-inherit openssl10
-
-DEPENDS += " \
-        ruby \
-        facter \
-       libffi \
-"
-
-RDEPENDS_${PN} += " \
-        ruby \
-        facter \
-        ruby-shadow \
-        bash \
-"
-
-RUBY_INSTALL_GEMS = "puppet-${PV}.gem"
-
-INITSCRIPT_NAME = "${BPN}"
-INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ."
-
-SYSTEMD_AUTO_ENABLE = "enable"
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-
-do_install_append() {
-    install -d ${D}${sysconfdir}/puppet
-    install -d ${D}${sysconfdir}/puppet/manifests
-    install -d ${D}${sysconfdir}/puppet/modules
-
-    install -m 655 ${S}/conf/auth.conf ${D}${sysconfdir}/puppet/
-    install -m 655 ${S}/conf/fileserver.conf ${D}${sysconfdir}/puppet/
-    install -m 655 ${S}/conf/environment.conf ${D}${sysconfdir}/puppet/
-    install -m 655 ${WORKDIR}/${BPN}/${PV}/puppet.conf ${D}${sysconfdir}/puppet/
-
-    install -d ${D}${systemd_unitdir}/system
-    install -m 0644 ${WORKDIR}/${BPN}/${PV}/puppet.service ${D}${systemd_unitdir}/system
-
-    install -d ${D}${sysconfdir}/init.d
-    install -m 0755 ${WORKDIR}/${BPN}/${PV}/puppet.init ${D}${sysconfdir}/init.d/puppet
-
-    # Install puppet environment and moudlepath
-
-    install -m 0755 -d ${D}/${sysconfdir}/puppetlabs/code/environments/production
-    echo "modulepath = /usr/share/puppet/modules:/usr/share/openstack-puppet/modules" >  \
-       ${D}/${sysconfdir}/puppetlabs/code/environments/production/environment.conf
-}
diff --git a/meta-stx/recipes-support/puppet/puppet_5.4.0.bbappend b/meta-stx/recipes-support/puppet/puppet_5.4.0.bbappend
deleted file mode 100644 (file)
index 42c3a23..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/puppet-updates-for-poky-stx.patch \
-       file://${BPN}/puppet-poky-yum.patch \
-       "
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-apache_git.bb b/meta-stx/recipes-support/puppet/puppetlabs-apache_git.bb
deleted file mode 100644 (file)
index 23294a6..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Installs, configures, and manages Apache virtual hosts, web services, and modules."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-PV = "1.10.0"
-SRCREV = "410309f5facd0df7d836ea66c27ca9514031b6e3"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/puppetlabs/puppetlabs-apache.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppetlabs-apache-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/apache
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/apache
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-apache_git.bbappend b/meta-stx/recipes-support/puppet/puppetlabs-apache_git.bbappend
deleted file mode 100644 (file)
index eef009d..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/puppetlabs-apache-updates-for-poky-stx.patch \
-       "
-#SRC_URI += " \
-#      file://${BPN}/0001-maint-Fix-conditional-in-vhost-ssl-template.patch \
-#      file://${BPN}/0002-maint-Fix-the-vhost-ssl-template-correctly-this-time.patch \
-#      "
-
-RDEPENDS_${PN} += " \
-       apache2 \
-       mod-wsgi \
-       "
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-concat_git.bb b/meta-stx/recipes-support/puppet/puppetlabs-concat_git.bb
deleted file mode 100644 (file)
index 8fea71b..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Construct files from multiple fragments."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-PV = "2.2.0"
-SRCREV = "fdf4a84534ccb1b9ae8ffb654c7e160a31e294ee"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/puppetlabs/puppetlabs-concat.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-    file://puppetlabs-concat/Add-gemspec.patch \
-    "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppetlabs-concat-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/concat
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/concat
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-create-resources_git.bb b/meta-stx/recipes-support/puppet/puppetlabs-create-resources_git.bb
deleted file mode 100644 (file)
index a20bcb2..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Function to dynamically create resources from hashes."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6089b6bd1f0d807edb8bdfd76da0b038 "
-
-PV = "0.0.1"
-STABLE = "master"
-PROTOCOL = "https"
-BRANCH = "master"
-SRCREV = "4639819a7f3a4fa9310d2ba583c63e467df7e2c3"
-S = "${WORKDIR}/git"
-
-
-SRC_URI = " \
-       git://github.com/puppetlabs/puppetlabs-create_resources.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       file://${PN}/metadata.json.patch \
-       "
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
-
-do_install_append () {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/create_resources
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/create_resources
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-firewall_git.bb b/meta-stx/recipes-support/puppet/puppetlabs-firewall_git.bb
deleted file mode 100644 (file)
index 627707e..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Manages Firewalls such as iptables"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-PV = "1.8.2"
-SRCREV = "23016934d23c5c2f3f3edbc2ec8279f8faac2457"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/puppetlabs/puppetlabs-firewall;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppetlabs-firewall/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppetlabs-firewall-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/firewall
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/firewall
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-firewall_git.bbappend b/meta-stx/recipes-support/puppet/puppetlabs-firewall_git.bbappend
deleted file mode 100644 (file)
index 895a495..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += " \
-       file://${BPN}/puppet-firewall-updates-for-poky-stx.patch \
-       file://${BPN}/puppet-firewall-random-fully-support.patch \
-       "
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-haproxy_git.bb b/meta-stx/recipes-support/puppet/puppetlabs-haproxy_git.bb
deleted file mode 100644 (file)
index 2b31c89..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Configures HAProxy servers and manages the configuration of backend member servers."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-PV = "1.5.0"
-SRCREV = "3ac513c0ceb3bcfe35dd2936875189ccfc991a34"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/puppetlabs/puppetlabs-haproxy;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppetlabs-haproxy/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppetlabs-haproxy-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/haproxy
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/haproxy
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-haproxy_git.bbappend b/meta-stx/recipes-support/puppet/puppetlabs-haproxy_git.bbappend
deleted file mode 100644 (file)
index d44a8ad..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://puppetlabs-haproxy/0001-Roll-up-TIS-patches.patch \
-       file://puppetlabs-haproxy/0002-disable-config-validation-prechecks.patch \
-       file://puppetlabs-haproxy/0003-Fix-global_options-log-default-value.patch \
-       file://puppetlabs-haproxy/0004-Stop-invalid-warning-message \
-       "
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-inifile.bb b/meta-stx/recipes-support/puppet/puppetlabs-inifile.bb
deleted file mode 100644 (file)
index 4115dfc..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Resource types for managing settings in INI files"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-PV = "1.6.0"
-SRCREV = "88bf9868b532ddf556bdb617f67eda9de0b8dc0f"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/puppetlabs/puppetlabs-inifile;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppetlabs-inifile/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppetlabs-inifile-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/inifile
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/inifile
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-lvm_git.bb b/meta-stx/recipes-support/puppet/puppetlabs-lvm_git.bb
deleted file mode 100644 (file)
index 02c7d7c..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Provides Puppet types and providers to manage Logical Resource Management (LVM) features."
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-
-PV = "0.5.0"
-SRCREV = "d0283da637ae24550fb4ba109a48ef8d5d8c8b84"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/puppetlabs/puppetlabs-lvm;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       "
-
-inherit ruby 
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
-
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/lvm
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/lvm/
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-lvm_git.bbappend b/meta-stx/recipes-support/puppet/puppetlabs-lvm_git.bbappend
deleted file mode 100644 (file)
index 7c5b27b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${PN}/0001-puppet-lvm-kilo-quilt-changes.patch;striplevel=5 \
-       file://${PN}/0002-UEFI-pvcreate-fix.patch;striplevel=5 \
-       file://${PN}/0003-US94222-Persistent-Dev-Naming.patch;striplevel=5 \
-       file://${PN}/0004-extendind-nuke_fs_on_resize_failure-functionality.patch;striplevel=5 \
-       file://${PN}/Fix-the-logical-statement-for-nuke_fs_on_resize.patch;striplevel=5 \
-       "
-RDEPENDS_${PN} += " \
-       lvm2 \
-       lvm2-scripts \
-       lvm2-udevrules \
-       "
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-mysql_git.bb b/meta-stx/recipes-support/puppet/puppetlabs-mysql_git.bb
deleted file mode 100644 (file)
index cb8668c..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "The mysql module installs, configures, and manages the MySQL service."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-PV = "3.11.0"
-SRCREV = "920dd76214d87d9b26f0db105886ee89ac266c4e"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/puppetlabs/puppetlabs-mysql.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-    file://puppetlabs-mysql/Add-gemspec.patch \
-    "
-#   file://puppetlabs-mysql/0001-Fix-ruby-path.patch
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppetlabs-mysql-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/mysql
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/mysql
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-mysql_git.bbappend b/meta-stx/recipes-support/puppet/puppetlabs-mysql_git.bbappend
deleted file mode 100644 (file)
index d18958c..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/0001-Stx-uses-nanliu-staging-module.patch \
-       file://${BPN}/0002-puppet-mysql-changes-for-poky-stx.patch \
-       file://${BPN}/0003-puppet-mysqltuner-adjust-path.patch \
-       "
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-postgresql_git.bb b/meta-stx/recipes-support/puppet/puppetlabs-postgresql_git.bb
deleted file mode 100644 (file)
index d8ca7de..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "A Puppet module for managing PostgreSQL databases."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-PV = "4.8.0"
-SRCREV = "d022a56b28b2174456fc0f6adc51a4b54493afad"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
-       git://github.com/puppetlabs/puppetlabs-postgresql;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       "
-
-inherit ruby 
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       "
-
-RUBY_INSTALL_GEMS = "${PN}-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/postgresql
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/postgresql
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-postgresql_git.bbappend b/meta-stx/recipes-support/puppet/puppetlabs-postgresql_git.bbappend
deleted file mode 100644 (file)
index 26466d6..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SRC_URI += " \
-       file://${BPN}/0001-Roll-up-TIS-patches.patch \
-       file://${BPN}/0002-remove-puppetlabs-apt-as-a-requirement.patch \
-       file://${BPN}/0003-puppetlabs-postgresql-account-for-naming-diffs.patch \
-       file://${BPN}/0004-poky-postgresql-updates.patch \
-       file://${BPN}/0005-puppetlabs-postgresql-poky.patch \
-       file://${BPN}/0006-adjust_path-remove-refs-to-local-bin.patch \
-       file://${BPN}/postgresql.service \
-       "
-
-#      file://${PN}/0004-postgresql-service-restart-with-systemctl.patch 
-
-RDEPENDS_${PN}_append = " \
-       postgresql \
-       postgresql-contrib \
-       postgresql-client \
-       postgresql-timezone \
-       postgresql-plperl \
-       postgresql-plpython \
-       "
-#postgresql-dev
-#postgresql-pltcl
-#postgresql-setup
-
-
-do_install_append() {
-       install -d -m0755 ${D}/usr/lib/systemd/system
-       install -m0644 ${WORKDIR}/${PN}/postgresql.service ${D}/usr/lib/systemd/system
-}
-
-FILES_${PN}_append = " /usr/lib/systemd/system/postgresql.service"
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-rabbitmq_git.bb b/meta-stx/recipes-support/puppet/puppetlabs-rabbitmq_git.bb
deleted file mode 100644 (file)
index 422e1a8..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-SUMMARY = "Installs, configures, and manages RabbitMQ."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-PV = "5.6.0"
-SRCREV = "5ac45dedd9b409c9efac654724bc74867cb9233b"
-PROTOCOL = "https"
-BRANCH = "master"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/puppetlabs/puppetlabs-rabbitmq;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${PN}/Add-gemspec.patch \
-       "
-
-inherit ruby
-
-DEPENDS += " \
-       ruby \
-       facter \
-       "
-
-RDEPENDS_${PN} += " \
-       ruby \
-       facter \
-       puppet \
-       perl \
-       "
-
-RUBY_INSTALL_GEMS = "puppetlabs-rabbitmq-${PV}.gem"
-
-do_install_append() {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/rabbitmq
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/rabbitmq
-}
-
-FILES_${PN} += " ${datadir}"
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-rabbitmq_git.bbappend b/meta-stx/recipes-support/puppet/puppetlabs-rabbitmq_git.bbappend
deleted file mode 100644 (file)
index a45bf1c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += " \
-       file://${BPN}/0001-Roll-up-TIS-patches.patch \
-       file://${BPN}/0002-Changed-cipher-specification-to-openssl-format.patch \
-       file://${BPN}/0004-Partially-revert-upstream-commit-f7c3a4a637d59f3065d.patch \
-       file://${BPN}/0005-Remove-the-rabbitmq_nodename-fact.patch \
-       file://${BPN}/0007-init.pp-do-not-check-the-apt-resource.patch \
-       file://${BPN}/0008-puppet-rabbitmq-poky.patch \
-       file://${BPN}/0009-remove-apt-requirement.patch \
-       "
-
-inherit openssl10
-
-DEPENDS_append = " puppet-staging"
diff --git a/meta-stx/recipes-support/puppet/puppetlabs-stdlib_git.bbappend b/meta-stx/recipes-support/puppet/puppetlabs-stdlib_git.bbappend
deleted file mode 100644 (file)
index 7003fce..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRCREV = "b89d5f388ca701e38a0e0337408f5ccb7e68565f"
-PROTOCOL = "https"
-BRANCH = "master"
-PV = "4.18.0"
-
-SRC_URI = " \
-       git://github.com/puppetlabs/puppetlabs-stdlib.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://puppetlabs-stdlib/Add-gemspec.patch \
-       file://puppetlabs-stdlib/0001-Filter-password-in-logs.patch \
-       "
-
-S = "${WORKDIR}/git"
-
-RUBY_INSTALL_GEMS = "puppetlabs-stdlib-${PV}.gem"
-
-do_install_append () {
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/stdlib
-       tar -C ${S} -cf - --exclude "patches" --exclude "*.gem*" . | tar --no-same-owner -xf - -C ${D}/${datadir}/puppet/modules/stdlib
-}
-
-FILES_${PN} += " ${datadir}"
-
-RDEPENDS_${PN}_append = " perl"
diff --git a/meta-stx/recipes-support/puppet/stx-puppet_git.bb b/meta-stx/recipes-support/puppet/stx-puppet_git.bb
deleted file mode 100644 (file)
index 840cce1..0000000
+++ /dev/null
@@ -1,273 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "stx-puppet modules"
-
-STABLE = "starlingx/master"
-PROTOCOL = "https"
-SRCNAME = "stx-puppet"
-BRANCH = "r/stx.3.0"
-SRCREV = "678fe78b72b70e213eae32b1932afe97cc8c16b4"
-S = "${WORKDIR}/git"
-PV = "1.0.0"
-
-LICENSE = "Apache-2.0"
-
-LIC_FILES_CHKSUM = " \
-       file://modules/puppet-dcdbsync/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
-       file://modules/puppet-dcmanager/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
-       file://modules/puppet-dcorch/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
-       file://modules/puppet-fm/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
-       file://modules/puppet-mtce/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://modules/puppet-nfv/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://modules/puppet-patching/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://modules/puppet-smapi/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://modules/puppet-sshd/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       file://modules/puppet-sysinv/src/LICENSE;md5=0e5ccf641e613489e66aa98271dbe798 \
-       file://puppet-manifests/src/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-       "
-
-#      file://${BPN}/use-cast-operator.patch 
-SRC_URI = " \
-       git://opendev.org/starlingx/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \
-       file://${BPN}/0001-puppet-manifest-apply-rebase-adjust-path.patch \
-       file://${BPN}/0002-puppet-manifests-port-Adjust-path-default-bindir.patch \
-       file://${BPN}/0003-puppet-dcmanager-updates-for-poky-stx.patch \
-       file://${BPN}/0004-puppet-dcorch-updates-for-poky-stx.patch \
-       file://${BPN}/0005-puppet-sysinv-updates-for-poky-stx.patch \
-       file://${BPN}/0006-puppet-manifest-apply-do-not-treat-warnings-as-block.patch \
-       file://${BPN}/0007-puppet-manifests-etcd-override-typo-and-journalctl.patch \
-       file://${BPN}/0008-puppet-manifests-keystone-include-platform-client.patch \
-       file://${BPN}/0009-puppet-manifests-lvm-remove-lvmetad.patch \
-       file://${BPN}/0010-puppet-manifest-apply-workaround-to-ignore-known-err.patch \
-       file://${BPN}/0011-puppet-manifest-kubernetes.pp-add-re-tries-for-docker-login.patch \
-       file://${BPN}/get-boot-device-from-cmdline.patch \
-       file://${BPN}/poky-specific-apply-network-config-script.patch \
-       file://${BPN}/apply_network_config_poky.sh \
-       "
-
-RDEPENDS_${PN} += " \
-       bash puppet \
-       e2fsprogs-resize2fs \
-       hiera \
-       kpartx \
-       multipath-tools \
-       multipath-tools-libs \
-       ntpdate \
-       puppet-staging \
-       puppet-oslo \
-       puppetlabs-apache \
-       puppetlabs-mysql \
-       "
-
-# WRS puppet modules
-RDEPENDS_puppet-manifests += " \
-       puppet-dcorch \
-       puppet-dcmanager \
-       puppet-mtce \
-       puppet-nfv \
-       puppet-patching \
-       puppet-sysinv \
-       puppet-sshd \
-       puppet-smapi \
-       puppet-fm \
-       puppet-dcdbsync \
-       "
-# Openstack puppet modules
-RDEPENDS_puppet-manifests += " \
-       puppet-barbican \
-       puppet-ceph \
-       puppet-horizon \
-       puppet-keystone \
-       puppet-openstacklib \
-       puppet-vswitch \
-       puppet-memcached \
-       "
-
-# Puppetlabs puppet modules 
-RDEPENDS_puppet-manifests += " \
-        puppetlabs-concat \
-        puppetlabs-create-resources \
-        puppet-drbd \
-        puppetlabs-firewall \
-        puppetlabs-haproxy \
-        puppetlabs-inifile \
-        puppetlabs-lvm \
-        puppetlabs-postgresql \
-        puppetlabs-rabbitmq \
-        puppetlabs-stdlib \
-        puppet-sysctl \
-        puppet-etcd \
-       "
-
-# 3rd party puppet modules
-RDEPENDS_puppet-manifests += " \
-        puppet-boolean \
-        puppet-certmonger \
-        puppet-dnsmasq \
-        puppet-filemapper \
-        puppet-kmod \
-        puppet-ldap \
-        puppet-network \
-        puppet-nslcd \
-        puppet-nssdb \
-        puppet-puppi \
-        puppet-vlan \
-        puppet-collectd \
-       "
-
-
-RDEPENDS_puppet-mtce += " puppet"
-RDEPENDS_puppet-dcdbsync += " puppet" 
-RDEPENDS_puppet-dcmanager += " puppet"
-RDEPENDS_puppet-dcorch += " puppet"
-RDEPENDS_puppet-fm += " puppet"
-RDEPENDS_puppet-nfv += " puppet"
-RDEPENDS_puppet-patching += " puppet"
-RDEPENDS_puppet-smapi += " puppet"
-RDEPENDS_puppet-sshd += " puppet"
-RDEPENDS_puppet-sysinv += " puppet"
-
-PACKAGES += " puppet-dcdbsync"
-PACKAGES += " puppet-dcmanager"
-PACKAGES += " puppet-dcorch"
-PACKAGES += " puppet-fm"
-PACKAGES += " puppet-mtce"
-PACKAGES += " puppet-nfv"
-PACKAGES += " puppet-patching"
-PACKAGES += " puppet-smapi"
-PACKAGES += " puppet-sshd"
-PACKAGES += " puppet-sysinv"
-PACKAGES += " puppet-manifests"
-
-do_install() {
-
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/dcdbsync
-       cp -R ${S}/modules/puppet-dcdbsync/src/dcdbsync ${D}/${datadir}/puppet/modules
-
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/dcmanager
-       cp -R ${S}/modules/puppet-dcmanager/src/dcmanager ${D}/${datadir}/puppet/modules
-
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/dcorch
-       cp -R ${S}/modules/puppet-dcorch/src/dcorch/ ${D}/${datadir}/puppet/modules/
-
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/fm
-       cp -R ${S}/modules/puppet-fm/src/fm ${D}/${datadir}/puppet/modules
-
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/mtce
-       cp -R ${S}/modules/puppet-mtce/src/mtce ${D}/${datadir}/puppet/modules
-
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/nfv
-       cp -R ${S}/modules/puppet-nfv/src/nfv ${D}/${datadir}/puppet/modules
-
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/patching
-       cp -R ${S}/modules/puppet-patching/src/patching ${D}/${datadir}/puppet/modules
-
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/smapi
-       cp -R ${S}/modules/puppet-smapi/src/smapi ${D}/${datadir}/puppet/modules
-
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/sshd
-       cp -R ${S}/modules/puppet-sshd/src/sshd ${D}/${datadir}/puppet/modules
-
-       install -d -m 0755 ${D}/${datadir}/puppet/modules/sysinv
-       cp -R ${S}/modules/puppet-sysinv/src/sysinv ${D}/${datadir}/puppet/modules
-
-       cd ${S}/puppet-manifests/src
-       oe_runmake BINDIR=${D}/${bindir} \
-               CONFIGDIR=${D}/${sysconfdir}/puppet/ \
-               MODULEDIR=${D}/${datadir}/puppet/modules -f Makefile install
-
-       # fix the path for systemctl
-       sed -i -e 's|${bindir}/systemctl|${base_bindir}/systemctl|' ${D}/${datadir}/puppet/modules/platform/manifests/*.pp
-       sed -i -e 's|${bindir}|${bindir}:${base_bindir}|' ${D}/${datadir}/puppet/modules/sysinv/manifests/api.pp
-
-       # fix the path for mount and awk
-       sed -i -e 's|${bindir}|${bindir}:${base_bindir}|' ${D}/${datadir}/puppet/modules/platform/manifests/filesystem.pp
-
-       # fix the path for slapd.conf
-       sed -i -e '/\/usr\/lib64\/openldap/d' ${D}/${datadir}/puppet/modules/platform/manifests/ldap.pp
-
-       # fix the libdir for collectd
-       sed -i -e 's|/usr/lib64|${libdir}|' ${D}/${datadir}/puppet/modules/platform/templates/collectd.conf.erb
-
-       install -m 0755 ${WORKDIR}/${PN}/apply_network_config_poky.sh  ${D}/${bindir}/apply_network_config_poky.sh
-}
-
-FILES_puppet-sysinv += " \
-       ${datadir}/puppet/modules/sysinv \
-       "
-
-FILES_puppet-sshd += " \
-       ${datadir}/puppet/modules/sshd \
-       "
-
-FILES_puppet-smapi += " \
-       ${datadir}/puppet/modules/smapi \
-       "
-FILES_puppet-patching += " \
-       ${datadir}/puppet/modules/patching \
-       "
-
-FILES_puppet-nfv += " \
-       ${datadir}/puppet/modules/nfv \
-       "
-
-FILES_puppet-mtce = "\
-       ${datadir}/puppet/modules/mtce \
-       "
-
-FILES_puppet-manifests = "\
-       ${sysconfdir}/puppet/hiera.yaml \
-       ${sysconfdir}/puppet/hieradata \
-       ${sysconfdir}/puppet/hieradata/worker.yaml \
-       ${sysconfdir}/puppet/hieradata/storage.yaml \
-       ${sysconfdir}/puppet/hieradata/global.yaml \
-       ${sysconfdir}/puppet/hieradata/controller.yaml \
-       ${sysconfdir}/puppet/manifests/worker.pp \
-       ${sysconfdir}/puppet/manifests/ansible_bootstrap.pp \
-       ${sysconfdir}/puppet/manifests/bootstrap.pp \
-       ${sysconfdir}/puppet/manifests/runtime.pp \
-       ${sysconfdir}/puppet/manifests/storage.pp \
-       ${sysconfdir}/puppet/manifests/upgrade.pp \
-       ${sysconfdir}/puppet/manifests/controller.pp \
-       ${datadir}/puppet/modules/openstack/manifests \
-       ${datadir}/puppet/modules/openstack/templates \
-       ${datadir}/puppet/modules/platform/manifests \
-       ${datadir}/puppet/modules/platform/templates \
-       ${datadir}/puppet/modules/platform/files \
-       ${datadir}/puppet/modules/platform/lib/facter \
-       ${datadir}/puppet/modules/platform/lib/puppet \
-       ${bindir}/puppet-manifest-apply.sh \
-       ${bindir}/apply_network_config.sh \
-       ${bindir}/apply_network_config_poky.sh \
-       "
-FILES_puppet-fm += " \
-       ${datadir}/puppet/modules/fm \
-       "
-
-FILES_puppet-dcorch += " \
-       ${datadir}/puppet/modules/dcorch \
-       "
-
-FILES_puppet-dcmanager += " \
-       ${datadir}/puppet/modules/dcmanager \
-       "
-
-FILES_puppet-dcdbsync += " \
-       ${datadir}/puppet/modules/dcdbsync \
-       "
-
-inherit openssl10
diff --git a/meta-stx/recipes-support/qpid-proton/qpid-proton_0.28.0.bb b/meta-stx/recipes-support/qpid-proton/qpid-proton_0.28.0.bb
deleted file mode 100644 (file)
index 9587e43..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Qpid Proton is a high-performance, lightweight messaging library."
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b26578452df1dcf3b9a63978282b72d0"
-
-SRC_URI = "http://archive.apache.org/dist/qpid/proton/0.28.0/qpid-proton-0.28.0.tar.gz \
-           file://fix-missing-libary-for-cpp-binding.patch \
-          "
-
-SRC_URI[sha256sum] = "224e599a4e965a016087b6ce683e55ca918493e12cdd6d91dac1c17d64a7dafe"
-
-DEPENDS= "openssl swig-native python"
-
-inherit cmake pkgconfig
-
-EXTRA_OECMAKE = "-DCMAKE_INSTALL_PREFIX=/usr -DSYSINSTALL_BINDINGS=ON -DPYTHON_EXECUTABLE=`which python`"
-BBCLASSEXTEND =+ " native"
-
-PACKAGES =+ "\
-         ${PN}-cpp \
-         python-${PN} \
-         "
-
-#FILES_qpid-proton-c = "${libdir}/libqpid-proton.so.*" 
-#FILES_qpid-proton-c += "{libdir}/libqpid-proton-core.so.*" 
-#FILES_qpid-proton-c += "${libdir}/libbqpid-proton-proactor.so.*" 
-
-FILES_qpid-proton-cpp = "${libdir}/libqpid-proton-cpp.so.*" 
-FILES_python-${PN} = "${libdir}/python*" 
-
-RPROVIDES_${PN} = "qpid-proton-c"
-
-do_install_append() {
-         rm -fr ${D}/usr/share
-}
diff --git a/meta-stx/recipes-support/ruby-shadow/ruby-shadow_git.bbappend b/meta-stx/recipes-support/ruby-shadow/ruby-shadow_git.bbappend
deleted file mode 100644 (file)
index 9e0da34..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DEPENDS += " libxcrypt"
diff --git a/meta-stx/recipes-support/sshpass/sshpass.inc b/meta-stx/recipes-support/sshpass/sshpass.inc
deleted file mode 100644 (file)
index 608ccce..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "Non-interactive ssh password auth"
-HOMEPAGE = "http://sshpass.sourceforge.net/"
-SECTION = "console/network"
-LICENSE = "GPLv2"
-
-# SRC_URI = "${SOURCEFORGE_MIRROR}/sshpass/sshpass-${PV}.tar.gz"
-SRC_URI = "https://fossies.org/linux/privat/sshpass-${PV}.tar.gz"
-
-INC_PR = "r0"
-
-inherit autotools
diff --git a/meta-stx/recipes-support/sshpass/sshpass_1.06.bb b/meta-stx/recipes-support/sshpass/sshpass_1.06.bb
deleted file mode 100644 (file)
index 1b0b201..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-PR = "${INC_PR}.0"
-
-require sshpass.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI[md5sum] = "f59695e3b9761fb51be7d795819421f9"
-SRC_URI[sha256sum] = "c6324fcee608b99a58f9870157dfa754837f8c48be3df0f5e2f3accf145dee60"
-
diff --git a/meta-stx/recipes-support/syslog-ng/syslog-ng_%.bbappend b/meta-stx/recipes-support/syslog-ng/syslog-ng_%.bbappend
deleted file mode 100644 (file)
index 2caca32..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-do_install_append () {
-    rm -rf ${D}${systemd_unitdir}/system/multi-user.target.wants
-}
-
-SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta-stx/recipes-upstream/python/python-boto3.inc b/meta-stx/recipes-upstream/python/python-boto3.inc
deleted file mode 100644 (file)
index 81d8e11..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-DESCRIPTION = "The AWS SDK for Python"
-HOMEPAGE = "https://aws.amazon.com/sdk-for-python/"
-AUTHOR = "Amazon Web Services"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
-
-SRC_URI[md5sum] = "a18e37ff05d0dd0a59e43e7bcfd79469"
-SRC_URI[sha256sum] = "b9c930982891229fe32c670c940835e4d5afcb52f60a5e512de8e5cba409900b"
-
-RDEPENDS_${PN} = "\
-    ${PYTHON_PN}-botocore \
-    ${PYTHON_PN}-jmespath \
-    ${PYTHON_PN}-s3transfer \
-"
-
-inherit pypi
diff --git a/meta-stx/recipes-upstream/python/python-boto3_1.10.25.bb b/meta-stx/recipes-upstream/python/python-boto3_1.10.25.bb
deleted file mode 100644 (file)
index d777f82..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-## Copyright (C) 2019 Wind River Systems, Inc.
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-inherit setuptools
-require python-boto3.inc