# CUSTOMIZATION-BEGIN
#
# ovirt_build_extra_flags
# ovirt_build_ut
%if "master"!="" && 0%{!?ovirt_build_minimal:1}
%global ovirt_build_minimal 1
%endif
%if 0%{?ovirt_build_user_agent:1}
%global _ovirt_build_user_agent %{ovirt_build_user_agent}
%else
%global _ovirt_build_user_agent gecko1_8,safari
%endif
%if 0%{?ovirt_build_quick}
%global _ovirt_build_ut 0
%global ovirt_build_gwt 0
%endif
%if 0%{?ovirt_build_minimal}
%global _ovirt_build_ut 0
%global ovirt_build_all_user_agents 0
%global ovirt_build_locales 0
%global _ovirt_build_extra_flags -D gwt.userAgent=%{_ovirt_build_user_agent}
%endif
%if 0%{?ovirt_build_draft}
%global _ovirt_build_ut 0
%global ovirt_build_all_user_agents 0
%global ovirt_build_locales 0
%global _ovirt_build_extra_flags -D gwt.userAgent=%{_ovirt_build_user_agent} -P gwtdraft
%endif
%if 0%{!?ovirt_build_ut:1}
%if 0%{?_ovirt_build_ut:1}
%global ovirt_build_ut %{_ovirt_build_ut}
%else
%global ovirt_build_ut 1
%endif
%endif
%if 0%{!?ovirt_build_gwt:1}
%global ovirt_build_gwt 1
%endif
%if 0%{!?ovirt_build_locales:1}
%global ovirt_build_locales 1
%endif
%if 0%{!?ovirt_build_all_user_agents:1}
%global ovirt_build_all_user_agents 1
%endif
# Limit GWT resources to pass the build in CBS
%global ovirt_build_extra_flags_rpm -Dgwt.compiler.localWorkers=2
# Set "rhv_build 1" to perform RHV Manager build
%global rhv_build 0
#
# CUSTOMIZATION-END
#
# Do not repack .jar files, as it takes a long time and doesn't have a
# real benefit:
%global __jar_repack 0
%if %{rhv_build}
#
# unsign all provided jars
# see rhbz#1019637
#
%global _jarsign_opts --unsign=/usr/share/ovirt-engine
%endif
#
# rpm does not support override
# nor modify of variables
#
%if %{?ovirt_build_extra_flags_rpm:1}%{?_ovirt_build_extra_flags:1}%{?ovirt_build_extra_flags:1}0
%global EXTRA_BUILD_FLAGS %{ovirt_build_extra_flags_rpm} %{?_ovirt_build_extra_flags:%{_ovirt_build_extra_flags}}%{?ovirt_build_extra_flags: %{ovirt_build_extra_flags}}
%endif
#
# Supported distributions:
# Fedora >= 30
# EL >= 7
#
%global ovirt_product_name oVirt Engine
%global ovirt_product_name_short oVirt Engine
%global ovirt_product_group Virtualization/Management
%global ovirt_user_description oVirt Manager
%global engine_cache %{_localstatedir}/cache/%{engine_name}
%global engine_data %{_datadir}/%{engine_name}
%global engine_doc %{_docdir}/%{engine_name}
%global engine_ear %{engine_data}/engine.ear
%global engine_etc %{_sysconfdir}/%{engine_name}
%global engine_java %{_javadir}/%{engine_name}
%global engine_jboss_modules %{engine_data}/modules
%global engine_log %{_localstatedir}/log/%{engine_name}
%global engine_name ovirt-engine
%global engine_pki %{_sysconfdir}/pki/%{engine_name}
%global engine_restapi_war %{engine_data}/restapi.war
%global engine_apidoc_war %{engine_data}/apidoc.war
%global engine_run %{_localstatedir}/run/%{engine_name}
%global engine_state %{_localstatedir}/lib/%{engine_name}
%global engine_tmp %{_localstatedir}/tmp/%{engine_name}
%global engine_backup_default_dir %{_localstatedir}/lib/%{engine_name}-backup
%global engine_backup_log_default_dir %{_localstatedir}/log/%{engine_name}-backup
%global engine_rpm_state_dir %{_localstatedir}/lib/rpm-state/%{name}
%global engine_setup_rpm_state_flag_file %{engine_rpm_state_dir}/need-engine-setup
%global engine_gid 108
%global engine_group ovirt
%global engine_uid 108
%global engine_user ovirt
%global vdsm_description Node Virtualization Manager
%global vdsm_gid 36
%global vdsm_group kvm
%global vdsm_uid 36
%global vdsm_user vdsm
# Minimal required OpenJDK version
%global openjdk_version 11.0.11
%if 0%{?rhel} || 0%{?fedora} >= 31
%global openstack_java_version 3.2.9
%else
# Needed only until we build for Fedora 30
%global openstack_java_version 3.2.7
%endif
# Macro to create an user:
#
# %1 user name
# %2 user id
# %3 primary group name
# %4 primary group id
# %5 description
# %6 home directory
#
%global _ovirt_create_user() \
getent group %3 >/dev/null || groupadd -r -g %4 %3; \
getent passwd %1 >/dev/null || useradd -r -u %2 -g %3 -c %5 -s /sbin/nologin -d %6 %1
%global ovirt_create_user_engine \
%_ovirt_create_user %{engine_user} %{engine_uid} %{engine_group} %{engine_gid} "%%{ovirt_user_description}" %{engine_state}
%global ovirt_create_user_vdsm \
%_ovirt_create_user %{vdsm_user} %{vdsm_uid} %{vdsm_group} %{vdsm_gid} "%%{vdsm_description}" /var/lib/vdsm
%if %{rhv_build}
%global wildfly_overlay_modules ""
%define extra_common_opts \\\
JBOSS_HOME=/opt/rh/eap7/root/usr/share/wildfly
%else
%global wildfly_overlay_modules "/usr/share/ovirt-engine-wildfly-overlay/modules"
%endif
%global make_common_opts \\\
-j1 \\\
BUILD_GWT=%{ovirt_build_gwt} \\\
BUILD_ALL_USER_AGENTS=%{ovirt_build_all_user_agents} \\\
BUILD_LOCALES=%{ovirt_build_locales} \\\
BUILD_UT=%{ovirt_build_ut} \\\
BUILD_VALIDATION=0 \\\
BUILD_ENV_VALIDATION=0 \\\
PACKAGE_NAME=%{name} \\\
RPM_VERSION=%{version} \\\
RPM_RELEASE=%{release} \\\
DISPLAY_VERSION=%{version}-%{release} \\\
ENGINE_NAME=%{engine_name} \\\
LOCALSTATE_DIR=%{_localstatedir} \\\
PREFIX=%{_prefix} \\\
SYSCONF_DIR=%{_sysconfdir} \\\
BIN_DIR=%{_bindir} \\\
PID_DIR=%{_localstatedir}/run \\\
DATAROOT_DIR=%{_datadir} \\\
MAN_DIR=%{_mandir} \\\
DOC_DIR=%{_docdir} \\\
PYTHON_DIR=%{python3_sitelib} \\\
PYTHON=%{__python3} \\\
PY_VERSION=3 \\\
JAVA_DIR=%{_javadir} \\\
MAVENPOM_DIR=%{_mavenpomdir} \\\
PKG_SYSCONF_DIR=%{engine_etc} \\\
PKG_DOC_DIR=%{engine_doc} \\\
PKG_EAR_DIR=%{engine_ear} \\\
PKG_PKI_DIR=%{engine_pki} \\\
PKG_JBOSS_MODULES=%{engine_jboss_modules} \\\
PKG_CACHE_DIR=%{engine_cache} \\\
PKG_LOG_DIR=%{engine_log} \\\
PKG_BACKUP_DEFAULT_DIR=%{engine_backup_default_dir} \\\
PKG_BACKUP_LOG_DEFAULT_DIR=%{engine_backup_log_default_dir} \\\
PKG_TMP_DIR=%{engine_tmp} \\\
PKG_STATE_DIR=%{engine_state} \\\
PKG_USER=%{engine_user} \\\
PKG_GROUP=%{engine_group} \\\
POSTGRESQL_SYSTEMD_SERVICE=postgresql.service \\\
WILDFLY_OVERLAY_MODULES=%{wildfly_overlay_modules} \\\
%{?EXTRA_BUILD_FLAGS:EXTRA_BUILD_FLAGS="%{EXTRA_BUILD_FLAGS}"} \\\
%{?extra_common_opts}
%if %{rhv_build}
%global extra_backend_requires Requires: rhvm-branding-rhv >= 4.3.0
%global extra_setup_requires Requires: rhvm-setup-plugins >= 4.5.0-0.1
%global spice_version 8.0
%endif
Name: ovirt-engine
Version: 4.5.5
Release: 0.master.20230731104523.git07e865d6%{?dist}
Summary: Management server for Open Virtualization
Group: %{ovirt_product_group}
License: ASL 2.0
%if !%{rhv_build}
URL: http://www.ovirt.org
%else
URL: http://www.redhat.com/products/virtualization
%endif
Source0: http://resources.ovirt.org/pub/ovirt-master-snapshot/src/ovirt-engine/ovirt-engine-4.5.5_master.tar.gz
BuildArch: noarch
ExcludeArch: s390x ppc64le
%if %{rhv_build}
BuildRequires: perl
%endif
BuildRequires: java-11-openjdk-devel >= %{openjdk_version}
BuildRequires: javapackages-tools
BuildRequires: make
BuildRequires: maven >= 3.6.0
BuildRequires: python3-devel
BuildRequires: python3-distro
BuildRequires: systemd
BuildRequires: unzip
BuildRequires: javapackages-local
BuildRequires: ovirt-engine-build-dependencies >= 4.5.3
Requires(pre): shadow-utils
%if %{rhv_build}
Requires: eap7-wildfly >= 7.4.2
Requires: rhvm = %{version}-%{release}
# RHV 4.4 SP1 requires RHEL 8.6 EUS and it's not supported on RHEL 8.7+
Requires: redhat-release >= 8.6, redhat-release < 8.7
Conflicts: redhat-release >= 8.7
%else
# There is no way how to prevent WildFly not being upgraded, so we need to
# fix engine to work with current and new WildFly version and only afterwards
# bump the requirement (otherwise we would need to pass wildfly,
# wildfly-overlay and ovirt-engine through the change queue at once)
Requires: ovirt-engine-wildfly-overlay >= 24
%endif
Requires: %{name}-backend = %{version}-%{release}
Requires: %{name}-dbscripts = %{version}-%{release}
Requires: %{name}-restapi = %{version}-%{release}
Requires: %{name}-tools = %{version}-%{release}
Requires: %{name}-webadmin-portal = %{version}-%{release}
Requires: %{name}-websocket-proxy >= %{version}-%{release}
Requires: %{name}-vmconsole-proxy-helper >= %{version}-%{release}
Requires: %{name}-ui-extensions >= 1.0.4
# From ovirt-engine-4.5.0 ansible-core and ansible-runner are required,
# ansible-runner-service is obsoleted
Requires: ansible-core >= 2.13.0
Requires: ansible-runner >= 2.1.3
%if 0%{?rhel} < 9
Obsoletes: ansible-runner-service < 1.1.0
Obsoletes: python3-ansible-runner < 2.0.0
%endif
Requires: apache-commons-compress
Requires: java-11-openjdk-headless >= %{openjdk_version}
Requires: javapackages-tools
Requires: ovirt-imageio-daemon >= 2.0.10-1
Requires: slf4j >= 1.7.0
Requires: ws-commons-util
Requires: xmlrpc-client
Requires: ovirt-ansible-collection >= 3.0.0
Requires: ovirt-web-ui
Requires: ovirt-cockpit-sso
%if 0%{?rhel} < 9
# ovirt-engine-api-explorer has never been built for el9
Obsoletes: ovirt-engine-api-explorer
%endif
%if 0%{?rhel} < 9
# fapolicyd should be installed but does not have to be running
# needed for OpenScap DISA STIG compliance
#
# TODO: remove condition when fapolicyd-1.1 is available on CS9
Requires: fapolicyd >= 1.1
%else
Requires: fapolicyd
%endif
Requires: scap-security-guide >= 0.1.60-4
# Metrics stuff
Requires: collectd >= 5.12.0-7
Requires: collectd-postgresql >= 5.12.0-7
Requires: collectd-disk >= 5.12.0-7
Requires: collectd-write_http >= 5.12.0-7
%if 0%{?rhel}
# collectd-write_syslog is available only on EL
Requires: collectd-write_syslog >= 5.12.0-7
%endif
# Requirements for ovirt-engine-metrics
Requires: rsyslog
Requires: rsyslog-elasticsearch
Requires: rsyslog-mmjsonparse
Requires: rsyslog-mmnormalize
Requires: libfastjson
Requires: liblognorm
Requires: libestr
Requires: postgresql-jdbc >= 42.2.27
Requires: postgresql-server >= 12.0
Requires: postgresql-contrib >= 12.0
Requires: openstack-java-cinder-client >= %{openstack_java_version}
Requires: openstack-java-cinder-model >= %{openstack_java_version}
Requires: openstack-java-client >= %{openstack_java_version}
Requires: openstack-java-glance-client >= %{openstack_java_version}
Requires: openstack-java-glance-model >= %{openstack_java_version}
Requires: openstack-java-keystone-client >= %{openstack_java_version}
Requires: openstack-java-keystone-model >= %{openstack_java_version}
Requires: openstack-java-quantum-client >= %{openstack_java_version}
Requires: openstack-java-quantum-model >= %{openstack_java_version}
Requires: openstack-java-resteasy-connector >= %{openstack_java_version}
Requires: python3-dnf-plugin-versionlock
Requires: apache-sshd >= 2.9.2
Requires: ed25519-java >= 0.3.0
Requires: slf4j-jdk14 >= 1.7.0
Requires: jcl-over-slf4j >= 1.7.0
Requires: snmp4j >= 3.6.4
Requires: ovirt-dependencies >= 4.5.2
# cinderlib integration
# https://bugzilla.redhat.com/1955375
Requires: ceph-common
Requires: python3-cinderlib
%{?extra_main_requires}
# We can't require exactly the same version and release of the
# setup package because it needs to be updated independently as part
# of the update process implemented in the engine-upgrade script:
Requires: %{name}-setup >= %{version}-%{release}
# We can drop these conflicts when
# we drop Requires: mod_ssl
Conflicts: freeipa-server
Conflicts: ipa-server
Conflicts: python2-ipaserver
Conflicts: python3-ipaserver
# Userportal is retired
%if 0%{?rhel} < 9
# ovirt-engine-userportal has never been built for el9
Obsoletes: %{name}-userportal
%endif
# OVS/OVN stuff
Requires: python3-pyOpenSSL
Requires: ovirt-provider-ovn >= 1.2.1
# JavaScript and CSS "private" libraries bundled in branding (for CVE scanning purposes)
# https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/
# https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/#_private_libraries
# https://docs.fedoraproject.org/en-US/packaging-guidelines/JavaScript/#_bundling_of_other_libraries
Provides: bundled(js-jquery) = 3.6.0
Provides: bundled(js-jquery-ui) = 1.13.1
Provides: bundled(js-bootstrap) = 3.4.1
Provides: bundled(js-patternfly) = 3.59.3
Provides: bundled(js-patternfly-next) = 2.26.1
# logger-log4j is replaced by internal ovirt-engine implementation
%if 0%{?rhel} < 9
# logger-log4j has never been built for el9
Obsoletes: ovirt-engine-extension-logger-log4j
%endif
%description
%{ovirt_product_name} is a feature-rich server virtualization management
system that provides advanced capabilities for managing the Open
virtualization infrastructure for Servers and Desktops.
%if %{rhv_build}
%package -n rhvm
Summary: Red Hat Virtualization Manager
Group: %{ovirt_product_group}
Requires: ovirt-engine = %{version}-%{release}
Requires: ovirt-log-collector >= 4.3.0
Requires: rhv-log-collector-analyzer
# misc packages
Requires: spice-client-win-x64 >= %{spice_version}
Requires: spice-client-win-x86 >= %{spice_version}
%description -n rhvm
Red Hat Virtualization is a feature-rich server virtualization management
system that provides advanced capabilities for managing Red Hat
virtualization infrastructure for Servers and Desktops.
%endif
%package -n python%{python3_pkgversion}-%{name}-lib
Summary: %{ovirt_product_name_short} library
Group: %{ovirt_product_group}
Requires: python3-cryptography
Requires: python3-dateutil
Requires: python3-daemon >= 2.1.2
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}-lib}
%description -n python%{python3_pkgversion}-%{name}-lib
%{ovirt_product_name_short} library for python3
%package backend
Summary: Engine core of %{ovirt_product_name_short}
Group: %{ovirt_product_group}
License: ASL 2.0 and LGPLv3 and GPLv3
Requires: %{name} = %{version}-%{release}
Requires: %{name}-extensions-api >= 1.0.1
Requires: aopalliance >= 1.0
Requires: curl
Requires: ebay-cors-filter
Requires: httpd
Requires: java-11-openjdk-headless >= %{openjdk_version}
Requires: logrotate
Requires: mailcap
Requires: mod_ssl
Requires: novnc >= 1.0.0
Requires: python3-%{name}-lib >= %{version}-%{release}
Requires: openssh
Requires: vdsm-jsonrpc-java >= 1.7.2, vdsm-jsonrpc-java < 1.8.0
Requires: java-client-kubevirt >= 0.5.0
Requires: openssl
Requires: ovirt-engine-extension-aaa-jdbc >= 1.2.0
Requires: python3-jinja2
%{?extra_backend_requires}
Requires(pre): shadow-utils
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%pre backend
%ovirt_create_user_engine
%post backend
%systemd_post ovirt-engine.service
%preun backend
%systemd_preun ovirt-engine.service
%postun backend
%systemd_postun ovirt-engine.service
%description backend
The backend engine of %{ovirt_product_name_short}
%package restapi
Summary: RESTful API for %{ovirt_product_name_short}
Group: %{ovirt_product_group}
Requires: %{name} = %{version}-%{release}
%description restapi
The RESTful API for %{ovirt_product_name_short}
%package setup-base
Summary: %{ovirt_product_name_short} suite base setup components.
Group: %{ovirt_product_group}
Requires: python3-%{name}-lib >= %{version}-%{release}
Requires: python3-ovirt-setup-lib >= 1.1.1
Requires: bind-utils
Requires: iproute
Requires: python3-libxml2
Requires: logrotate
Requires: python3-otopi >= 1.10.3
Requires: python3-paramiko
Requires: python3-distro
Requires(pre): shadow-utils
Conflicts: %{name}-dwh < 4.4.0
Conflicts: %{name}-dwh-setup < 4.5.6
Conflicts: %{name}-keycloak-setup < 15.0.2-6
%description setup-base
%{ovirt_product_name_short} suite base setup components.
%pre setup-base
%ovirt_create_user_engine
%package setup
Summary: Setup and upgrade scripts for %{ovirt_product_name_short}
Group: %{ovirt_product_group}
Requires: %{name}-setup-plugin-ovirt-engine = %{version}-%{release}
%{?extra_setup_requires}
%if %{rhv_build}
# RHV 4.4 SP1 requires RHEL 8.6 EUS and it's not supported on RHEL 8.7+
Requires: redhat-release >= 8.6, redhat-release < 8.7
Conflicts: redhat-release >= 8.7
%endif
%description setup
Setup and upgrade scripts for %{ovirt_product_name_short}
%post setup
# If this is an update, tell the users they need to run engine-setup
if [ $1 -gt 1 -a -e "%{_sysconfdir}/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf" ]; then
touch %{engine_setup_rpm_state_flag_file}
echo "Updating ovirt-engine-setup. To update the engine, you need to run: engine-setup"
fi
%posttrans setup
if [ -e %{engine_setup_rpm_state_flag_file} -a -e "%{_sysconfdir}/ovirt-engine-setup.conf.d/20-setup-ovirt-post.conf" ]; then
echo "Updated ovirt-engine-setup. To update the engine, you need to run: engine-setup"
fi
rm -f %{engine_setup_rpm_state_flag_file}
%package setup-plugin-ovirt-engine
Summary: Setup and upgrade specific plugins for %{ovirt_product_name_short}
Group: %{ovirt_product_group}
Requires: %{name} >= 4.4.0
Requires: %{name}-setup-plugin-ovirt-engine-common = %{version}-%{release}
Requires: %{name}-setup-plugin-vmconsole-proxy-helper = %{version}-%{release}
Requires: %{name}-setup-plugin-cinderlib = %{version}-%{release}
Requires: %{name}-setup-plugin-imageio = %{version}-%{release}
Requires: %{name}-dwh-setup >= 4.4.1.2
%if !%{rhv_build}
Requires: ovirt-engine-keycloak-setup
%endif
Requires: ovirt-engine-extension-aaa-jdbc >= 1.2.0
Requires: openssh
Requires: glibc-langpack-en
Requires: postgresql-server >= 12.0
Requires: postgresql-contrib >= 12.0
Conflicts: %{name} < 4.4.0
# See rhbz# 1676461
Requires: ovirt-vmconsole >= 1.0.7
# OVS/OVN stuff, for firewalld service files
%if 0%{?rhel} >= 9
# OVS 2.17 and OVN 2022 are the lowest supported versions on EL9
Requires: ovirt-openvswitch-ovn-central >= 2.17
%else
Requires: ovirt-openvswitch-ovn-central >= 2.15
%endif
Requires: ovirt-provider-ovn >= 1.2.35
%description setup-plugin-ovirt-engine
Setup and upgrade specific plugins for %{ovirt_product_name_short}
%pre setup-plugin-ovirt-engine
%ovirt_create_user_vdsm
%package setup-plugin-ovirt-engine-common
Summary: Setup and upgrade common plugins for %{ovirt_product_name_short}
Group: %{ovirt_product_group}
Requires: %{name}-setup-base = %{version}-%{release}
Requires: python3-libselinux
Requires: policycoreutils-python-utils
Requires: python3-psycopg2
Requires(pre): shadow-utils
Requires: java-11-openjdk-headless >= %{openjdk_version}
Requires: python3-pwquality
Requires: python3-cryptography
Requires: python3-dnf
# We can drop these conflicts when
# we drop Requires: mod_ssl
# conflict here so we can avoid upgrade
# of setup at this environment, this
# will produce early error.
Conflicts: ipa-server
Conflicts: freeipa-server
%description setup-plugin-ovirt-engine-common
Setup and upgrade common plugins for %{ovirt_product_name_short}
%package dbscripts
Summary: Database scripts for %{ovirt_product_name_short}
Group: %{ovirt_product_group}
Requires: %{name} = %{version}-%{release}
%description dbscripts
Database scripts for %{ovirt_product_name_short}
%package webadmin-portal
Summary: Web Admin Portal of %{ovirt_product_name_short}
Group: %{ovirt_product_group}
Requires: %{name} = %{version}-%{release}
# Bundled JavaScript and CSS libraries use MIT license.
License: ASL 2.0 and GPLv2+ with exceptions and MIT
%description webadmin-portal
The web administration interface to %{ovirt_product_name_short}
%package tools
Summary: %{ovirt_product_name_short} Tools
Group: %{ovirt_product_group}
Requires: %{name} = %{version}-%{release}
Requires: python3-%{name}-lib >= %{version}-%{release}
Requires: %{name}-tools-backup = %{version}-%{release}
Requires: ovirt-engine-metrics >= 1.3.4.1
Requires: java-11-openjdk-headless >= %{openjdk_version}
Requires: logrotate
Requires: python3-dateutil
Requires: python3-psycopg2
Requires: python3-six
Requires(pre): shadow-utils
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%description tools
%{ovirt_product_name_short} Tools
%pre tools
%ovirt_create_user_engine
%post tools
%systemd_post ovirt-engine-notifier.service
%systemd_post ovirt-fence-kdump-listener.service
%postun tools
%systemd_postun ovirt-engine-notifier.service
%systemd_postun ovirt-fence-kdump-listener.service
%preun tools
%systemd_preun ovirt-engine-notifier.service
%systemd_preun ovirt-fence-kdump-listener.service
%package tools-backup
Summary: %{ovirt_product_name_short} Tools (engine-backup)
Group: %{ovirt_product_group}
Requires: %{name}-setup-plugin-ovirt-engine-common >= %{version}-%{release}
Requires: tar
Requires: bzip2
Requires: xz
Requires: python3-otopi >= 1.10.3
Requires: python3-distro
Requires: postgresql >= 12.0
Requires: sqlite
%description tools-backup
%{ovirt_product_name_short} Tools (engine-backup)
%package websocket-proxy
Summary: %{ovirt_product_name_short} Websocket Proxy
Group: %{ovirt_product_group}
Requires: python3-%{name}-lib >= %{version}-%{release}
Requires: python3-numpy
Requires: python3-dateutil
Requires: python3-websockify
Requires: python3-websocket-client
Requires: %{name}-setup-plugin-websocket-proxy >= %{version}-%{release}
Requires(pre): shadow-utils
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%description websocket-proxy
%{ovirt_product_name_short} Websocket Proxy
%pre websocket-proxy
%ovirt_create_user_engine
%post websocket-proxy
%systemd_post ovirt-websocket-proxy.service
%postun websocket-proxy
%systemd_postun ovirt-websocket-proxy.service
%preun websocket-proxy
%systemd_preun ovirt-websocket-proxy.service
%package setup-plugin-websocket-proxy
Summary: Setup and upgrade specific plugins for websocket-proxy
Requires: %{name}-setup-plugin-ovirt-engine-common = %{version}-%{release}
Requires: python3-six
%description setup-plugin-websocket-proxy
Setup and upgrade specific plugins for websocket-proxy
%package vmconsole-proxy-helper
Summary: %{ovirt_product_name_short} VMconsole Proxy Helper
Group: %{ovirt_product_group}
Requires: python3-%{name}-lib >= %{version}-%{release}
Requires: %{name}-setup-plugin-vmconsole-proxy-helper >= %{version}-%{release}
Requires: ovirt-vmconsole-proxy
%description vmconsole-proxy-helper
%{ovirt_product_name_short} VMconsole Proxy helper, to integrate
with ovirt-vmconsole-proxy package
%package setup-plugin-vmconsole-proxy-helper
Summary: Setup and upgrade specific plugins for vmconsole-proxy-helper
Requires: %{name}-setup-plugin-ovirt-engine = %{version}-%{release}
Requires: %{name}-setup-plugin-ovirt-engine-common = %{version}-%{release}
Requires: openssh
%description setup-plugin-vmconsole-proxy-helper
Setup and upgrade specific plugins for vmconsole-proxy-helper
%package health-check-bundler
Summary: %{ovirt_product_name_short} health check bundler.
Group: %{ovirt_product_group}
Requires: %{name}-setup-base = %{version}-%{release}
Requires: makeself >= 2.2
%description health-check-bundler
A utility for creating a bundle script that runs a health check.
%package setup-plugin-cinderlib
Summary: Setup and upgrade specific plugins for cinderlib integration database
Requires: %{name}-setup-plugin-ovirt-engine = %{version}-%{release}
Requires: %{name}-setup-plugin-ovirt-engine-common = %{version}-%{release}
Requires: openssh
%description setup-plugin-cinderlib
Setup and upgrade specific plugins for cinderlib integration database
%package setup-plugin-imageio
Summary: Setup imageio service.
Requires: %{name}-setup-plugin-ovirt-engine = %{version}-%{release}
Requires: %{name}-setup-plugin-ovirt-engine-common = %{version}-%{release}
# For --show-config, needed during upgrade.
Requires: ovirt-imageio-daemon >= 2.0.10-1
%description setup-plugin-imageio
Setup imageio service.
%prep
%setup -c -q
%build
# Set the location of the JDK that will be used for compilation:
export JAVA_HOME="${JAVA_HOME:=/usr/lib/jvm/java-11-openjdk}"
make %{make_common_opts}
%install
rm -fr "%{buildroot}"
make %{make_common_opts} install DESTDIR="%{buildroot}"
# Compile python files
%py_byte_compile %{__python3} %{buildroot}%{_libexecdir}/
%py_byte_compile %{__python3} %{buildroot}%{engine_data}/
%{__python3} -m compileall -f -q -d "%{python3_sitelib}" "%{buildroot}%{python3_sitelib}"
%{__python3} -O -m compileall -f -q -d "%{python3_sitelib}" "%{buildroot}%{python3_sitelib}"
#
# /var creation
#
install -dm 750 "%{buildroot}/%{engine_state}"
install -dm 700 "%{buildroot}/%{engine_state}/.ssh"
install -dm 755 "%{buildroot}/%{engine_state}"/{content,setup/answers,ansible-runner}
# see also relevant %%dir line to set permissions
install -dm 700 "%{buildroot}/%{engine_log}"
install -dm 700 "%{buildroot}/%{engine_log}"/{ova,host-deploy,setup,notifier,dump,ansible,db-manual,brick-setup,cinderlib}
install -dm 755 "%{buildroot}/%{engine_cache}"
install -dm 755 "%{buildroot}/%{engine_run}/notifier"
#
# Create oVirt SSH configuration as empty file. It will be used internally by internal Ansible execution.
#
touch "%{buildroot}/%{engine_state}/.ssh/config"
#
# Force TLS/SSL for selected applications.
#
for war in \
"%{buildroot}%{engine_ear}"/{webadmin,enginesso,welcome}.war \
"%{buildroot}%{engine_restapi_war}" \
; do
sed -i \
-e 's#NONE#CONFIDENTIAL#' \
-e 's#false#true#' \
"${war}/WEB-INF/web.xml"
done
#
# Move jars to destribution location
#
install -dm 755 "%{buildroot}%{engine_java}"
while read lib_path; do
java_path="%{engine_java}/$(basename "${lib_path}")"
if ! [ -e "%{buildroot}/${java_path}" ] && [ -f "%{buildroot}/${lib_path}" ]; then
cp "%{buildroot}/${lib_path}" "%{buildroot}/${java_path}"
fi
rm -f "%{buildroot}/${lib_path}"
ln -s "${java_path}" "%{buildroot}${lib_path}"
done << __EOF__
%{engine_data}/logutils/logutils.jar
%{engine_ear}/bll.jar
%{engine_ear}/lib/vdsbroker.jar
%{engine_ear}/lib/scheduler.jar
%{engine_jboss_modules}/common/org/ovirt/engine/api/interface-common-jaxrs/main/interface-common-jaxrs.jar
%{engine_jboss_modules}/common/org/ovirt/engine/api/restapi-definition/main/restapi-definition.jar
%{engine_jboss_modules}/common/org/ovirt/engine/api/restapi-jaxrs/main/restapi-jaxrs.jar
%{engine_jboss_modules}/common/org/ovirt/engine/api/restapi-types/main/restapi-types.jar
%{engine_jboss_modules}/common/org/ovirt/engine/core/aaa/main/aaa.jar
%{engine_jboss_modules}/common/org/ovirt/engine/core/branding/main/branding.jar
%{engine_jboss_modules}/common/org/ovirt/engine/core/common/main/common.jar
%{engine_jboss_modules}/common/org/ovirt/engine/core/compat/main/compat.jar
%{engine_jboss_modules}/common/org/ovirt/engine/core/dal/main/dal.jar
%{engine_jboss_modules}/common/org/ovirt/engine/core/extensions-tool/main/extensions-tool.jar
%{engine_jboss_modules}/common/org/ovirt/engine/core/sso-client-registration-tool/main/sso-client-registration-tool.jar
%{engine_jboss_modules}/common/org/ovirt/engine/core/extensions-manager/main/extensions-manager.jar
%{engine_jboss_modules}/common/org/ovirt/engine/core/searchbackend/main/searchbackend.jar
%{engine_jboss_modules}/common/org/ovirt/engine/core/tools/main/tools.jar
%{engine_jboss_modules}/common/org/ovirt/engine/core/utils/main/utils.jar
%{engine_jboss_modules}/common/org/ovirt/engine/core/uutils/main/uutils.jar
%{engine_jboss_modules}/common/org/ovirt/engine/extension/aaa/builtin/main/builtin.jar
%{engine_ear}/docs.war/WEB-INF/lib/branding.jar
%{engine_ear}/enginesso.war/WEB-INF/lib/branding.jar
%{engine_ear}/webadmin.war/WEB-INF/lib/branding.jar
%{engine_ear}/welcome.war/WEB-INF/lib/branding.jar
__EOF__
# Needed for compatibility if package is different than the directory structure
%if "%{name}" != "%{engine_name}"
ln -s "%{engine_name}" "%{buildroot}%{engine_java}/../%{name}"
%endif
#
# Link dependencies to system provided
#
while read dst src; do
[ -z "${dst}" ] && continue
[ -z "${src}" ] && src="$(basename "${dst}")"
dst="%{engine_jboss_modules}/${dst}"
src="%{_javadir}/${src}"
rm -f "%{buildroot}${dst}"
ln -s "${src}" "%{buildroot}${dst}"
done << __EOF__
common/com/woorea/openstack/sdk/main/cinder-client.jar openstack-java-sdk/cinder-client.jar
common/com/woorea/openstack/sdk/main/cinder-model.jar openstack-java-sdk/cinder-model.jar
common/com/woorea/openstack/sdk/main/glance-client.jar openstack-java-sdk/glance-client.jar
common/com/woorea/openstack/sdk/main/glance-model.jar openstack-java-sdk/glance-model.jar
common/com/woorea/openstack/sdk/main/keystone-client.jar openstack-java-sdk/keystone-client.jar
common/com/woorea/openstack/sdk/main/keystone-model.jar openstack-java-sdk/keystone-model.jar
common/com/woorea/openstack/sdk/main/openstack-client.jar openstack-java-sdk/openstack-client.jar
common/com/woorea/openstack/sdk/main/quantum-client.jar openstack-java-sdk/quantum-client.jar
common/com/woorea/openstack/sdk/main/quantum-model.jar openstack-java-sdk/quantum-model.jar
common/com/woorea/openstack/sdk/main/resteasy-connector.jar openstack-java-sdk/resteasy-connector.jar
common/net/i2p/crypto/eddsa/main/eddsa.jar
common/org/aopalliance/main/aopalliance.jar
common/org/apache/commons/compress/main/commons-compress.jar
common/org/apache/sshd/main/sshd-core.jar apache-sshd/sshd-core.jar
common/org/apache/sshd/main/sshd-common.jar apache-sshd/sshd-common.jar
common/org/apache/ws/commons/main/ws-commons-util.jar
common/org/apache/xmlrpc/main/xmlrpc-client.jar
common/org/apache/xmlrpc/main/xmlrpc-common.jar
common/org/ebaysf/web/cors-filter/main/cors-filter.jar ebay-cors-filter/cors-filter.jar
common/org/ovirt/engine/api/ovirt-engine-extensions-api/main/ovirt-engine-extensions-api.jar ovirt-engine-extensions-api/ovirt-engine-extensions-api.jar
common/org/ovirt/java-client-kubevirt/main/java-client-kubevirt.jar java-client-kubevirt/java-client-kubevirt.jar
common/org/ovirt/vdsm-jsonrpc-java/main/vdsm-jsonrpc-java-client.jar vdsm-jsonrpc-java/vdsm-jsonrpc-java-client.jar
common/org/postgresql/main/postgresql.jar postgresql-jdbc.jar
common/org/snmp4j/main/snmp4j.jar snmp4j.jar
tools/org/slf4j/main/slf4j-api.jar slf4j/slf4j-api.jar
tools/org/slf4j/main/slf4j-jdk14.jar slf4j/slf4j-jdk14.jar
tools/org/slf4j/jcl-over-slf4j/main/jcl-over-slf4j.jar slf4j/jcl-over-slf4j.jar
common/org/springframework/main/spring-aop.jar ovirt-dependencies/spring-aop.jar
common/org/springframework/main/spring-asm.jar ovirt-dependencies/spring-asm.jar
common/org/springframework/main/spring-beans.jar ovirt-dependencies/spring-beans.jar
common/org/springframework/main/spring-context.jar ovirt-dependencies/spring-context.jar
common/org/springframework/main/spring-core.jar ovirt-dependencies/spring-core.jar
common/org/springframework/main/spring-expression.jar ovirt-dependencies/spring-expression.jar
common/org/springframework/main/spring-instrument.jar ovirt-dependencies/spring-instrument.jar
common/org/springframework/main/spring-jdbc.jar ovirt-dependencies/spring-jdbc.jar
common/org/springframework/main/spring-tx.jar ovirt-dependencies/spring-tx.jar
__EOF__
while read dst src; do
[ -z "${dst}" ] && continue
[ -z "${src}" ] && src="$(basename "${dst}")"
dst="%{engine_jboss_modules}/${dst}"
src="%{_jnidir}/${src}"
rm -f "%{buildroot}${dst}"
ln -s "${src}" "%{buildroot}${dst}"
done << __EOF__
../engine.ear/webadmin.war/WEB-INF/lib/gwt-servlet.jar ovirt-dependencies/gwt-servlet.jar
__EOF__
#
# Register services
#
install -dm 755 "%{buildroot}%{_unitdir}"
for service in ovirt-engine ovirt-engine-notifier ovirt-fence-kdump-listener ovirt-websocket-proxy; do
cp "%{buildroot}%{engine_data}/services/${service}/${service}.systemd" "%{buildroot}%{_unitdir}/${service}.service"
done
#
# Package customization
#
install -d "%{buildroot}%{_sysconfdir}/ovirt-engine-setup.conf.d"
cat > "%{buildroot}%{_sysconfdir}/ovirt-engine-setup.conf.d/10-packaging.conf" << __EOF__
[environment:default]
OVESETUP_APACHE/configureRootRedirectionDefault=bool:True
OVESETUP_CONFIG/validFirewallManagers=str:firewalld
__EOF__
%if %{rhv_build}
# just add to the list
cat >> "%{buildroot}%{_sysconfdir}/ovirt-engine-setup.conf.d/10-packaging.conf" << __EOF__
OVESETUP_CONFIG/jbossHome=str:/opt/rh/eap7/root/usr/share/wildfly
OVESETUP_CONFIG/pkiRenewalDocUrl=str:https://access.redhat.com/solutions/1572983
__EOF__
# Disable automatic keycloak integration in RHV.
# Manual integration of RHV with Red Hat Single Sign On, aka RHSSO, is documented at
# "Installing and Configuring Red Hat Single Sign-On" in:
# https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.4/html/administration_guide
cat >> "%{buildroot}%{_sysconfdir}/ovirt-engine-setup.conf.d/10-packaging.conf" << __EOF__
OVESETUP_CONFIG/keycloakSupported=bool:False
__EOF__
cat > "%{buildroot}%{_sysconfdir}/ovirt-engine-setup.conf.d/10-packaging-wsp.conf" << __EOF__
[environment:default]
__EOF__
%else
cat > "%{buildroot}%{_sysconfdir}/ovirt-engine-setup.conf.d/10-packaging-jboss.conf" << __EOF__
[environment:default]
OVESETUP_CONFIG/jbossHome=str:/usr/share/ovirt-engine-wildfly
OVESETUP_RPMDISTRO/jbossPackages=str:ovirt-engine-wildfly,ovirt-engine-wildfly-overlay
__EOF__
%endif
mkdir -p %{buildroot}/%{engine_rpm_state_dir}
%if %{rhv_build}
ln -s /usr/share/spice "%{buildroot}%{engine_data}/files/spice"
#
# unsign ear
# see rhbz#1019637
# copied from redhat-rpm-config::brp-jboss-sign-jars::unsign_jarfile
#
rm -f "%{buildroot}%{engine_ear}/META-INF"/*.{DSA,RSA,SF}
perl -i -pe 'BEGIN{undef $/;} s/Name: [^\n]+\n( [^\n]+\n)*([^\s]+-Digest: [^\n]+\n(\s)?)+(Magic: [^\n]+\n)?\n//mgs' "%{buildroot}%{engine_ear}/META-INF/MANIFEST.MF"
perl -i -pe 's/^SHA1-Digest: [^\n]+\n//g' "%{buildroot}%{engine_ear}/META-INF/MANIFEST.MF"
%endif
echo "Install complete"
%preun
if [ "$1" -eq 0 ]; then
#
# backup pki dir into the backup dir with current date
#
if [ -d "%{engine_pki}" ]; then
dest="%{engine_pki}/../%{engine_name}-backups/%{engine_name}-$(date +"%%Y%%m%%d%%H%%M%%S")"
mkdir -p "${dest}"
cp -pR "%{engine_pki}" "${dest}"
fi
fi
%postun
if [ "$1" -eq 0 ]; then
rm -rf "%{engine_cache}"
rm -rf "%{engine_pki}"
if [ -f "%{_sysconfdir}/yum/pluginconf.d/versionlock.list" ]; then
sed -i '/%{name}/d' "%{_sysconfdir}/yum/pluginconf.d/versionlock.list"
fi
if [ -f "%{_sysconfdir}/dnf/plugins/versionlock.list" ]; then
sed -i '/%{name}/d' "%{_sysconfdir}/dnf/plugins/versionlock.list"
fi
fi
%pre
%ovirt_create_user_engine
%files
%dir %attr(-, %{engine_user}, %{engine_group}) %{engine_cache}
# see also relevant install command to set permissions
%dir %attr(700, %{engine_user}, %{engine_group}) %{engine_log}
%dir %attr(-, %{engine_user}, %{engine_group}) %{engine_log}/dump
%dir %{engine_data}
%dir %{engine_data}/bin
%dir %{engine_data}/brands
%dir %{engine_data}/conf
%dir %{engine_data}/cinderlib
%dir %{engine_data}/engine.ear
%dir %{engine_data}/extensions.d
%dir %{engine_data}/services
%dir %attr(-, %{engine_user}, %{engine_group}) %{engine_data}/ansible-runner-service-project
%dir %{engine_etc}
%dir %{engine_etc}/ansible
%dir %{engine_etc}/branding
%dir %{engine_etc}/cinderlib/
%dir %{engine_etc}/extensions.d
%dir %{engine_java}
%license LICENSE
%{engine_data}/brands/ovirt.brand/
%{engine_etc}/branding/00-ovirt.brand
%{engine_etc}/engine.conf.d/
%{engine_etc}/cinderlib/README
%{engine_etc}/timezones/
%config %{engine_data}/cinderlib/logger.conf
%config %attr(0700,%{engine_user},%{engine_group}) %{engine_etc}/cinderlib/ssh_known_hosts
%{engine_data}/cinderlib/cinderlib-client.*
%{engine_data}/cinderlib/config.*
%{engine_data}/cinderlib/__pycache__/cinderlib-client.*
%{engine_data}/cinderlib/__pycache__/config.*
#
# ATTENTION:
# Needed for compatibility if package is different
# than the directory structure
#
%if "%{name}" != "%{engine_name}"
%{_javadir}/%{name}
%endif
%{_datadir}/maven-metadata/ovirt-engine-base.xml
%{_mavenpomdir}/ovirt-engine/root.pom
%{_mavenpomdir}/ovirt-engine/logutils.pom
%{_mavenpomdir}/ovirt-engine/branding.pom
%{_mavenpomdir}/ovirt-engine/common.pom
%{_mavenpomdir}/ovirt-engine/compat.pom
%{_mavenpomdir}/ovirt-engine/extensions-manager.pom
%{_mavenpomdir}/ovirt-engine/utils.pom
%{_mavenpomdir}/ovirt-engine/uutils.pom
%{_javadir}/ovirt-engine/branding.jar
%{_javadir}/ovirt-engine/common.jar
%{_javadir}/ovirt-engine/compat.jar
%{_javadir}/ovirt-engine/extensions-manager.jar
%{_javadir}/ovirt-engine/logutils.jar
%{_javadir}/ovirt-engine/utils.jar
%{_javadir}/ovirt-engine/uutils.jar
%if %{rhv_build}
%files -n rhvm
%license LICENSE
%endif
%files -n python%{python3_pkgversion}-%{name}-lib
%license LICENSE
%{engine_data}/bin/java-home
%{python3_sitelib}/ovirt_engine/
%files backend
%license LICENSE
%license backend/manager/modules/services/src/main/webapp/gpl-3.0.txt
%license backend/manager/modules/services/src/main/webapp/lgpl-3.0.txt
%attr(-, %{engine_user}, %{engine_group}) %{engine_log}/cinderlib
%attr(-, %{engine_user}, %{engine_group}) %{engine_log}/brick-setup
%attr(-, %{engine_user}, %{engine_group}) %{engine_log}/host-deploy
%attr(-, %{engine_user}, %{engine_group}) %{engine_log}/ansible
%attr(-, %{engine_user}, %{engine_group}) %{engine_log}/db-manual
%attr(-, %{engine_user}, %{engine_group}) %{engine_log}/ova
%attr(-, %{engine_user}, %{engine_group}) %{engine_state}/ansible-runner
%attr(-, %{engine_user}, %{engine_group}) %{engine_state}/content
%attr(700, %{engine_user}, %{engine_group}) %{engine_state}/.ssh/
%attr(600, %{engine_user}, %{engine_group}) %{engine_state}/.ssh/config
%config %{_sysconfdir}/logrotate.d/ovirt-engine
%dir %attr(-, %{engine_user}, %{engine_group}) %{engine_state}
%dir %{engine_data}/bin
%dir %{engine_data}/gwt-symbols
%dir %{engine_data}/ui-plugins
%dir %{engine_ear}
%{engine_data}/conf/osinfo-defaults.properties
%{engine_data}/conf/timezones-defaults.properties
%{engine_data}/conf/sysprep/
%{engine_data}/files/
%{engine_data}/icons/
%{engine_data}/logutils/
%{engine_doc}/AuditLogMessages.properties
%{engine_doc}/mibs/
%{engine_ear}/META-INF
%{engine_ear}/bll.jar
%{engine_ear}/docs.war/
%{engine_ear}/enginesso.war/
%{engine_ear}/lib
%{engine_ear}/root.war/
%{engine_ear}/services.war/
%{engine_ear}/welcome.war/
%{engine_etc}/osinfo.conf.d/
%{engine_jboss_modules}/
%{_datadir}/maven-metadata/ovirt-engine-backend.xml
%{_mavenpomdir}/ovirt-engine/backend.pom
%{_mavenpomdir}/ovirt-engine/manager.pom
%{_mavenpomdir}/ovirt-engine/manager-modules.pom
%{_mavenpomdir}/ovirt-engine/aaa.pom
%{_mavenpomdir}/ovirt-engine/bll.pom
%{_mavenpomdir}/ovirt-engine/builtin.pom
%{_mavenpomdir}/ovirt-engine/dal.pom
%{_mavenpomdir}/ovirt-engine/scheduler.pom
%{_mavenpomdir}/ovirt-engine/searchbackend.pom
%{_mavenpomdir}/ovirt-engine/vdsbroker.pom
%{_javadir}/ovirt-engine/aaa.jar
%{_javadir}/ovirt-engine/bll.jar
%{_javadir}/ovirt-engine/builtin.jar
%{_javadir}/ovirt-engine/dal.jar
%{_javadir}/ovirt-engine/scheduler.jar
%{_javadir}/ovirt-engine/searchbackend.jar
%{_javadir}/ovirt-engine/vdsbroker.jar
%{engine_data}/services/ovirt-engine
%{_unitdir}/ovirt-engine.service
#
# PKI
#
# Most directories are owned by the engine user because
# it needs to create files inside
#
%config(noreplace) %{engine_pki}/cacert.template.in
%config(noreplace) %{engine_pki}/cert.template.in
%config(noreplace) %{engine_pki}/openssl.conf
%dir %attr(-, %{engine_user}, %{engine_group}) %{engine_pki}
%dir %attr(-, %{engine_user}, %{engine_group}) %{engine_pki}/certs
%dir %attr(-, %{engine_user}, %{engine_group}) %{engine_pki}/certs-qemu
%dir %attr(-, %{engine_user}, %{engine_group}) %{engine_pki}/private
%dir %attr(-, %{engine_user}, %{engine_group}) %{engine_pki}/requests
%dir %attr(-, %{engine_user}, %{engine_group}) %{engine_pki}/requests-qemu
%dir %{engine_pki}/keys
%{engine_data}/bin/pki-common.sh
%{engine_data}/bin/pki-create-ca.sh
%{engine_data}/bin/pki-enroll-openssh-cert.sh
%{engine_data}/bin/pki-enroll-pkcs12.sh
%{engine_data}/bin/pki-enroll-request.sh
%{engine_data}/bin/pki-pkcs12-extract.sh
#
# engine-host-update.py tool
#
%{engine_data}/bin/engine-host-update.*
%{engine_data}/bin/__pycache__/engine-host-update.*
%files setup-base
%license LICENSE
%config %{_sysconfdir}/logrotate.d/ovirt-engine-setup
%dir %{engine_data}/firewalld
%dir %{engine_data}/setup
%dir %{engine_data}/setup/bin/
%dir %{engine_data}/setup/ovirt_engine_setup
%dir %{engine_data}/setup/plugins
%dir %{engine_data}/setup/plugins/ovirt-engine-common
%dir %{engine_data}/setup/plugins/ovirt-engine-remove
%dir %{engine_data}/setup/plugins/ovirt-engine-setup
%dir %{engine_log}/setup
%{_bindir}/engine-cleanup
%{_bindir}/engine-setup
%{_mandir}/man8/engine-cleanup.*
%{_mandir}/man8/engine-setup.*
%{_mandir}/man8/engine-upgrade-check.*
%{engine_data}/conf/iptables.default.in
%{engine_data}/setup/bin/ovirt-engine-remove
%{engine_data}/setup/bin/ovirt-engine-rename
%{engine_data}/setup/bin/ovirt-engine-setup
%{engine_data}/setup/bin/ovirt-engine-setup.env
%{engine_data}/setup/ovirt_engine_setup/*.py*
%{engine_data}/setup/ovirt_engine_setup/__pycache__/
%{engine_data}/setup/plugins/*/base/
%{engine_state}/backups/
%{engine_state}/setup/
%files setup
%license LICENSE
%dir %{engine_rpm_state_dir}
%files setup-plugin-ovirt-engine
%license LICENSE
%config %{_sysconfdir}/ovirt-engine-setup.conf.d/10-packaging.conf
%{_bindir}/engine-upgrade-check
%{engine_data}/conf/ovirt-engine-proxy.conf.v2.in
%{engine_data}/conf/fapolicyd-55-allow-ovirt.rules.in
%{engine_data}/conf/ovirt-engine-root-redirect.conf.in
%{engine_data}/firewalld/ovirt-engine/
%{engine_data}/setup/bin/ovirt-engine-upgrade-check
%{engine_data}/setup/dbutils/
%{engine_data}/setup/plugins/*/ovirt-engine/
%files setup-plugin-ovirt-engine-common
%license LICENSE
%{engine_data}/setup/bin/ovirt-engine-provisiondb
%{engine_data}/setup/ovirt_engine_setup/engine_common/
%{engine_data}/setup/ovirt_engine_setup/provisiondb/
%{engine_data}/setup/plugins/*/ovirt-engine-common/
%{engine_data}/firewalld/ovirt-common/
%{engine_data}/setup/ovirt_engine_setup/engine/
%config %{_sysconfdir}/httpd/conf.d/ovirt-disable-http-trace.conf
%if !%{rhv_build}
%config %{_sysconfdir}/ovirt-engine-setup.conf.d/10-packaging-jboss.conf
%config %{engine_etc}/engine.conf.d/20-setup-jboss-overlay.conf
%endif
%files setup-plugin-websocket-proxy
%license LICENSE
%if %{rhv_build}
%config %{_sysconfdir}/ovirt-engine-setup.conf.d/10-packaging-wsp.conf
%endif
%{engine_data}/firewalld/websocket-proxy/
%{engine_data}/setup/ovirt_engine_setup/websocket_proxy/
%{engine_data}/setup/plugins/*/websocket_proxy/
%files setup-plugin-vmconsole-proxy-helper
%license LICENSE
%{engine_data}/conf/ovirt-vmconsole-proxy.conf
%{engine_data}/firewalld/vmconsole-proxy/
%{engine_data}/setup/ovirt_engine_setup/vmconsole_proxy_helper/
%{engine_data}/setup/plugins/*/vmconsole_proxy_helper/
%files setup-plugin-cinderlib
%license LICENSE
%{engine_data}/setup/ovirt_engine_setup/cinderlib/
%{engine_data}/setup/plugins/*/cinderlib
%files setup-plugin-imageio
%license LICENSE
%{engine_data}/firewalld/ovirt-imageio/
%{engine_data}/setup/ovirt_engine_setup/ovirt_imageio/
%{engine_data}/setup/plugins/ovirt-engine-setup/ovirt_imageio/
%files dbscripts
%license LICENSE
%{engine_data}/dbscripts/
%files restapi
%license LICENSE
%{engine_restapi_war}/
%{engine_apidoc_war}/
%{_datadir}/maven-metadata/ovirt-engine-restapi.xml
%{_mavenpomdir}/ovirt-engine/restapi-parent.pom
%{_mavenpomdir}/ovirt-engine/interface.pom
%{_mavenpomdir}/ovirt-engine/common-parent.pom
%{_mavenpomdir}/ovirt-engine/interface-common-jaxrs.pom
%{_mavenpomdir}/ovirt-engine/restapi-definition.pom
%{_mavenpomdir}/ovirt-engine/restapi-jaxrs.pom
%{_mavenpomdir}/ovirt-engine/restapi-types.pom
%{_javadir}/ovirt-engine/interface-common-jaxrs.jar
%{_javadir}/ovirt-engine/restapi-definition.jar
%{_javadir}/ovirt-engine/restapi-jaxrs.jar
%{_javadir}/ovirt-engine/restapi-types.jar
%files webadmin-portal
%license LICENSE
%license frontend/webadmin/modules/gwt-extension/src/main/java/org/ovirt/engine/ui/uioverrides/java/util/LICENSE
%config %{engine_etc}/usbfilter.txt
%{engine_ear}/webadmin.war
%{engine_data}/gwt-symbols/webadmin/
%files websocket-proxy
%license LICENSE
%{engine_data}/services/ovirt-websocket-proxy
%{engine_etc}/ovirt-websocket-proxy.conf.d/
%{_unitdir}/ovirt-websocket-proxy.service
%files vmconsole-proxy-helper
%license LICENSE
%{_libexecdir}/ovirt-vmconsole-proxy-helper/
%{engine_data}/conf/ovirt-vmconsole-proxy-helper.conf
%{engine_etc}/ovirt-vmconsole-proxy-helper.conf.d/
%files tools
%license LICENSE
%config %{_sysconfdir}/logrotate.d/ovirt-engine-notifier
%config(noreplace) %{engine_etc}/engine-config/engine-config.conf
%dir %attr(-, %{engine_user}, %{engine_group}) %{engine_log}/notifier
%dir %attr(-, %{engine_user}, %{engine_group}) %{engine_run}/notifier
%dir %{engine_etc}/engine-config
%dir %{engine_etc}/notifier
%{_bindir}/engine-config
%{_bindir}/ovirt-engine-extensions-tool
%{_bindir}/ovirt-register-sso-client-tool
%{_bindir}/engine-vacuum
%{_mandir}/man8/engine-config.*
%{engine_data}/ansible-runner-service-project/project/ansible.cfg
%{engine_data}/ansible-runner-service-project/project/create-brick.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-fetch-he-config.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-host-deploy.yml
%{engine_data}/ansible-runner-service-project/project/replace-gluster.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-host-enroll-certificate.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-host-fix-encrypted-migrations.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-host-reconfigure-ovn.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-host-remove.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-host-upgrade.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-host-check-upgrade.yml
%{engine_data}/ansible-runner-service-project/project/ovirt_host_upgrade_vars.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-host-remove-yum-conf.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-host-yum-conf.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-ova-export.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-ova-external-data.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-ova-import.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-ova-query.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-image-measure.yml
%{engine_data}/ansible-runner-service-project/project/ovirt-vnc-sasl.yml
%{engine_data}/ansible-runner-service-project/project/roles/
%{engine_data}/bin/engine-config.sh
%{engine_data}/bin/engine-prolog.sh
%{engine_data}/bin/engine-vacuum.sh
%{engine_data}/bin/generate-pgpass.sh
%{engine_data}/bin/ovirt-engine-extensions-tool.sh
%{engine_data}/bin/ovirt-register-sso-client-tool.sh
%{engine_data}/bin/vdsm_to_network_name_map
%{engine_data}/bin/ovirt-engine-crypto-tool.sh
%{engine_data}/bin/ovirt-engine-role.sh
%{engine_data}/conf/extensions-tool-logging.properties
%{engine_data}/conf/ovirt-register-sso-client-tool-logging.properties
%{engine_data}/conf/jaas.conf
%{engine_data}/conf/notifier-logging.properties
%{engine_data}/conf/tools-logging.properties
%{engine_data}/services/ovirt-engine-notifier
%{engine_data}/services/ovirt-fence-kdump-listener/
%{engine_etc}/ansible/ovirt-host-deploy-post-tasks.yml.example
%{engine_etc}/engine-config/engine-config.*properties
%{engine_etc}/notifier/notifier.conf.d/
%{engine_etc}/ovirt-fence-kdump-listener.conf.d/
%{_datadir}/maven-metadata/ovirt-engine-tools.xml
%{_mavenpomdir}/ovirt-engine/extensions-tool.pom
%{_mavenpomdir}/ovirt-engine/sso-client-registration-tool.pom
%{_mavenpomdir}/ovirt-engine/tools.pom
%{_javadir}/ovirt-engine/extensions-tool.jar
%{_javadir}/ovirt-engine/sso-client-registration-tool.jar
%{_javadir}/ovirt-engine/tools.jar
%{_unitdir}/ovirt-engine-notifier.service
%{_unitdir}/ovirt-fence-kdump-listener.service
%files tools-backup
%license LICENSE
%{_bindir}/engine-backup
%{_mandir}/man8/engine-backup.*
%{engine_data}/bin/engine-backup.sh
%{engine_data}/bin/engine-migrate-he.*
%{engine_data}/bin/__pycache__/engine-migrate-he.*
%{engine_backup_default_dir}
%{engine_backup_log_default_dir}
%files health-check-bundler
%{engine_data}/setup/bin/bundle-ovirt-engine-health
%{engine_data}/setup/bin/ovirt-engine-health
%changelog
* Wed Nov 30 2022 Martin Perina - 4.5.4
- Bump version to 4.5.4
* Fri Sep 30 2022 Martin Perina - 4.5.3.1
- Bump version to 4.5.3.1
* Thu Sep 15 2022 Martin Perina - 4.5.3
- Bump version to 4.5.3
* Tue Aug 09 2022 Martin Perina - 4.5.2.2
- Bump version to 4.5.2.2
* Wed Aug 03 2022 Martin Perina - 4.5.2.1
- Bump version to 4.5.2.1
* Mon Jul 25 2022 Sandro Bonazzola - 4.5.2
- Bump version to 4.5.2
* Thu Jun 16 2022 Michal Skrivanek - 4.5.1.2
- Bump version to 4.5.1.2
* Thu Jun 09 2022 Lev Veyde - 4.5.1.1
- Bump version to 4.5.1.1
* Wed Jun 01 2022 Martin Perina - 4.5.1
- Bump version to 4.5.1
* Fri Apr 08 2022 Sandro Bonazzola - 4.5.0.2
- Bump version to 4.5.0.2
* Mon Mar 28 2022 Sandro Bonazzola - 4.5.0.1
- Bump version to 4.5.0.1
* Fri Mar 11 2022 Sandro Bonazzola - 4.5.0
- Bump version to 4.5.0
* Tue Aug 10 2021 Lev Veyde - 4.4.8.4
- Bump version to 4.4.8.4
* Tue Aug 03 2021 Lev Veyde - 4.4.8.3
- Bump version to 4.4.8.3
* Wed Jul 28 2021 Lev Veyde - 4.4.8.2
- Bump version to 4.4.8.2
* Wed Jul 21 2021 Lev Veyde - 4.4.8.1
- Bump version to 4.4.8.1
* Wed Jul 14 2021 Sandro Bonazzola - 4.4.8
- Bump version to 4.4.8
* Wed Jun 30 2021 Sandro Bonazzola - 4.4.7.6
- Bump version to 4.4.7.6
* Wed Jun 23 2021 Lev Veyde - 4.4.7.5
- Bump version to 4.4.7.5
* Thu Jun 17 2021 Sandro Bonazzola - 4.4.7.4
- Bump version to 4.4.7.4
* Thu Jun 10 2021 Martin Perinae - 4.4.7.3
- Bump version to 4.4.7.3
* Tue Jun 08 2021 Lev Veyde - 4.4.7.2
- Bump version to 4.4.7.2
* Thu Jun 03 2021 Sandro Bonazzola - 4.4.7.1
- Bump version to 4.4.7.1
* Tue May 25 2021 Lev Veyde - 4.4.7
- Bump version to 4.4.7
* Wed Apr 28 2021 Lev Veyde - 4.4.6.6
- Bump version to 4.4.6.6
* Mon Apr 19 2021 Lev Veyde - 4.4.6.5
- Bump version to 4.4.6.5
* Tue Apr 13 2021 Lev Veyde - 4.4.6.4
- Bump version to 4.4.6.4
* Wed Apr 07 2021 Lev Veyde - 4.4.6.3
- Bump version to 4.4.6.3
* Wed Mar 31 2021 Lev Veyde - 4.4.6.2
- Bump version to 4.4.6.2
* Wed Mar 24 2021 Lev Veyde - 4.4.6.1
- Bump version to 4.4.6.1
* Thu Mar 18 2021 Sandro Bonazzola - 4.4.6
- Bump version to 4.4.6
* Tue Mar 02 2021 Sandro Bonazzola - 4.4.5.8
- Bump version to 4.4.5.8
* Wed Feb 24 2021 Lev Veyde - 4.4.5.7
- Bump version to 4.4.5.7
* Wed Feb 17 2021 Lev Veyde - 4.4.5.6
- Bump version to 4.4.5.6
* Wed Feb 10 2021 Lev Veyde - 4.4.5.5
- Bump version to 4.4.5.5
* Wed Feb 03 2021 Lev Veyde - 4.4.5.4
- Bump version to 4.4.5.4
* Wed Jan 27 2021 Lev Veyde - 4.4.5.3
- Bump version to 4.4.5.3
* Tue Jan 19 2021 Martin Perina - 4.4.5.2
- Bump version to 4.4.5.2
* Tue Jan 19 2021 Lev Veyde - 4.4.5.1
- Bump version to 4.4.5.1
* Mon Jan 11 2021 Lev Veyde - 4.4.5
- Bump version to 4.4.5
* Tue Dec 15 2020 Sandro Bonazzola - 4.4.4.5
- Bump version to 4.4.4.5
* Wed Dec 09 2020 Lev Veyde - 4.4.4.4
- Bump version to 4.4.4.4
* Tue Dec 01 2020 Lev Veyde - 4.4.4.3
- Bump version to 4.4.4.3
* Wed Nov 25 2020 Sandro Bonazzola - 4.4.4.2
- Bump version to 4.4.4.2
* Wed Nov 18 2020 Sandro Bonazzola - 4.4.4.1
- Bump version to 4.4.4.1
* Wed Nov 11 2020 Sandro Bonazzola - 4.4.4
- Bump version to 4.4.4
* Mon Nov 09 2020 Sandro Bonazzola - 4.4.3.11
- Bump version to 4.4.3.11
* Mon Nov 02 2020 Lev Veyde - 4.4.3.10
- Bump version to 4.4.3.10
* Mon Oct 26 2020 Lev Veyde - 4.4.3.9
- Bump version to 4.4.3.9
* Wed Oct 21 2020 Lev Veyde - 4.4.3.8
- Bump version to 4.4.3.8
* Tue Oct 13 2020 Lev Veyde - 4.4.3.7
- Bump version to 4.4.3.7
* Tue Oct 06 2020 Lev Veyde - 4.4.3.6
- Bump version to 4.4.3.6
* Wed Sep 30 2020 Lev Veyde - 4.4.3.5
- Bump version to 4.4.3.5
* Tue Sep 22 2020 Lev Veyde - 4.4.3.4
- Bump version to 4.4.3.4
* Tue Sep 15 2020 Lev Veyde - 4.4.3.3
- Bump version to 4.4.3.3
* Wed Sep 09 2020 Lev Veyde - 4.4.3.2
- Bump version to 4.4.3.2
* Tue Sep 01 2020 Lev Veyde - 4.4.3.1
- Bump version to 4.4.3.1
* Wed Aug 26 2020 Sandro Bonazzola - 4.4.3
- Bump version to 4.4.3
* Wed Aug 12 2020 Sandro Bonazzola - 4.4.2.2
- Bump version to 4.4.2.2
* Tue Aug 04 2020 Lev Veyde - 4.4.2.1
- Bump version to 4.4.2.1
* Tue Jul 28 2020 Lev Veyde - 4.4.2
- Bump version to 4.4.2
* Mon Jul 06 2020 Sandro Bonazzola - 4.4.1.8
- Bump version to 4.4.1.8
* Fri Jul 03 2020 Sandro Bonazzola - 4.4.1.7
- Bump version to 4.4.1.7
* Thu Jul 02 2020 Sandro Bonazzola - 4.4.1.6
- Bump version to 4.4.1.6
* Mon Jun 29 2020 Sandro Bonazzola - 4.4.1.5
- Bump version to 4.4.1.5
* Tue Jun 16 2020 Sandro Bonazzola - 4.4.1.4
- Bump version to 4.4.1.4
* Mon Jun 08 2020 Sandro Bonazzola - 4.4.1.3
- Bump version to 4.4.1.3
* Tue Jun 02 2020 Lev Veyde - 4.4.1.2
- Bump version to 4.4.1.2
* Tue May 26 2020 Lev Veyde - 4.4.1.1
- Bump version to 4.4.1.1
* Tue May 19 2020 Lev Veyde - 4.4.1
- Bump version to 4.4.1
* Thu May 14 2020 Lev Veyde - 4.4.0.3
- Bump version to 4.4.0.3
* Wed May 13 2020 Lev Veyde - 4.4.0.2
- Bump version to 4.4.0.2
* Tue May 12 2020 Lev Veyde - 4.4.0.1
- Bump version to 4.4.0.1
* Thu Apr 23 2020 Lev Veyde - 4.4.0
- Bump version to 4.4.0
* Mon Mar 11 2019 Sandro Bonazzola - 4.3.2.1
- Bump version to 4.3.2.1
* Mon Mar 04 2019 Sandro Bonazzola - 4.3.2
- Bump version to 4.3.2
* Tue Feb 19 2019 Sandro Bonazzola - 4.3.1.1
- Bump version to 4.3.1.1
* Mon Feb 18 2019 Sandro Bonazzola - 4.3.1
- Bump version to 4.3.1
* Wed Jan 30 2019 Sandro Bonazzola - 4.3.0.4
- Bump version to 4.3.0.4
* Wed Jan 30 2019 Sandro Bonazzola - 4.3.0.3
- Bump version to 4.3.0.3
* Mon Jan 28 2019 Sandro Bonazzola - 4.3.0.2
- Bump version to 4.3.0.2
* Wed Jan 23 2019 Sandro Bonazzola - 4.3.0.1
- Bump version to 4.3.0.1
* Mon Jan 21 2019 Sandro Bonazzola - 4.3.0
- Bump version to 4.3.0
* Mon Jan 07 2019 Sandro Bonazzola - 4.2.8.2
- Bump version to 4.2.8.2
* Mon Dec 10 2018 Sandro Bonazzola - 4.2.8.1
- Bump version to 4.2.8.1
* Mon Nov 26 2018 Sandro Bonazzola - 4.2.8
- Bump version to 4.2.8
* Tue Oct 16 2018 Sandro Bonazzola - 4.2.7.3
- Bump version to 4.2.7.3
* Mon Oct 01 2018 Sandro Bonazzola - 4.2.7.2
- Bump version to 4.2.7.2
* Fri Sep 21 2018 Martin Perina - 4.2.7.1
- Bump version to 4.2.7.1
* Mon Sep 17 2018 Sandro Bonazzola - 4.2.7
- Bump version to 4.2.7
* Fri Aug 24 2018 Sandro Bonazzola - 4.2.6.4
- Bump version to 4.2.6.4
* Tue Aug 14 2018 Sandro Bonazzola - 4.2.6.3
- Bump version to 4.2.6.3
* Sun Aug 12 2018 - Yedidyah Bar David - 4.2.6.2
- Bump version to 4.2.6.2
* Fri Aug 10 2018 Sandro Bonazzola - 4.2.6.1
- Bump version to 4.2.6.1
* Wed Aug 01 2018 Sandro Bonazzola - 4.2.6
- Bump version to 4.2.6
* Wed Jul 18 2018 Lev Veyde - 4.2.5.2
- Bump version to 4.2.5.2
* Thu Jul 05 2018 Lev Veyde - 4.2.5.1
- Bump version to 4.2.5.1
* Wed Jun 27 2018 Lev Veyde - 4.2.5
- Bump version to 4.2.5
* Mon Jun 18 2018 Lev Veyde - 4.2.4.5
- Bump version to 4.2.4.5
* Thu Jun 14 2018 Martin Perina - 4.2.4.4
- Bump version to 4.2.4.4
* Tue Jun 12 2018 Lev Veyde - 4.2.4.3
- Bump version to 4.2.4.3
* Tue Jun 05 2018 Lev Veyde - 4.2.4.2
- Bump version to 4.2.4.2
* Tue May 29 2018 Lev Veyde - 4.2.4.1
- Bump version to 4.2.4.1
* Wed May 23 2018 Sandro Bonazzola - 4.2.4
- Bump version to 4.2.4
* Wed Apr 25 2018 Lev Veyde - 4.2.3.3
- Bump version to 4.2.3.3
* Tue Apr 17 2018 Lev Veyde - 4.2.3.2
- Bump version to 4.2.3.2
* Mon Apr 16 2018 Lev Veyde - 4.2.3.1
- Bump version to 4.2.3.1
* Mon Apr 09 2018 Lev Veyde - 4.2.3
- Bump version to 4.2.3
* Thu Mar 29 2018 Lev Veyde - 4.2.2.6
- Bump version to 4.2.2.6
* Tue Mar 20 2018 Lev Veyde - 4.2.2.5
- Bump version to 4.2.2.5
* Thu Mar 15 2018 Lev Veyde - 4.2.2.4
- Bump version to 4.2.2.4
* Mon Mar 12 2018 Lev Veyde - 4.2.2.3
- Bump version to 4.2.2.3
* Wed Feb 28 2018 Lev Veyde - 4.2.2.2
- Bump version to 4.2.2.2
* Mon Feb 19 2018 Lev Veyde - 4.2.2.1
- Bump version to 4.2.2.1
* Tue Feb 13 2018 Lev Veyde - 4.2.2
- Bump version to 4.2.2
* Mon Jan 29 2018 Sandro Bonazzola - 4.2.1.4
- Bump version to 4.2.1.4
* Mon Jan 22 2018 Lev Veyde - 4.2.1.3
- Bump version to 4.2.1.3
* Tue Jan 16 2018 Lev Veyde - 4.2.1.2
- Bump version to 4.2.1.2
* Tue Jan 09 2018 Lev Veyde - 4.2.1.1
- Bump version to 4.2.1.1
* Thu Jan 04 2018 Lev Veyde - 4.2.1
- Bump version to 4.2.1
* Mon Dec 11 2017 Sandro Bonazzola - 4.2.0.2
- Bump version to 4.2.0.2
* Mon Dec 11 2017 Sandro Bonazzola - 4.2.0.1
- Bump version to 4.2.0.1
* Mon Nov 27 2017 Sandro Bonazzola - 4.2.0
- Bump version to 4.2.0
* Wed May 25 2016 Sandro Bonazzola - 4.1.0
- Add dependency for ovirt-engine-dashboard.
- Bump version to 4.1.0
* Wed Aug 5 2015 Sandro Bonazzola - 4.0.0
- Bump version to 4.0.0
- Dropped Fedora < 22 and EL < 7 support
* Thu Jul 10 2014 Sandro Bonazzola - 3.6.0
- Update dependencies and removed legacy provides / requires
* Thu Jan 17 2013 Juan Hernandez - 3.3.0-1
- Bump version to 3.3.0
* Fri Nov 02 2012 Juan Hernandez - 3.2.0-1
- Bump version to 3.2.0
* Mon May 07 2012 Keith Robertson - 3.1.0-3
- Removed image uploader, iso uploader, and log collector from this
git repo. The are now in their own respective ovirt.org git
repos. BZ#803240.
* Wed Apr 04 2012 Stephen Gordon - 3.1.0-2
- The ovirt-engine spec file did not previously contain a BuildRequires
statement for the maven package. As a result in mock environments the
build failed with an error when attempting to call the 'mvn' binary -
BZ#807761.
* Wed Jan 04 2012 Ronen Angluste - 3.1.0-1
- Adjust code for Jboss AS 7.1
* Sun Dec 11 2011 Ronen Angluster - 3.1.0-1
- Moved all hard coded paths to macros
* Wed Oct 26 2011 Ronen Angluster - 3.1.0-1
- Initial build
- Cloned from RHEVM spec file