diff --git a/ovirt-engine-dwh-4.4.7.3.tar.gz b/ovirt-engine-dwh-4.4.7.3.tar.gz new file mode 100644 index 0000000..7dc6dc0 Binary files /dev/null and b/ovirt-engine-dwh-4.4.7.3.tar.gz differ diff --git a/ovirt-engine-dwh.spec b/ovirt-engine-dwh.spec new file mode 100644 index 0000000..d409a49 --- /dev/null +++ b/ovirt-engine-dwh.spec @@ -0,0 +1,276 @@ +%global ovirt_install_systemd 1 +%global ovirt_install_systemv 0 +%global commons_collections apache-commons-collections +%global dom4j dom4j + +%if 0 +%global dom4j eap7-dom4j +%global ovirt_install_systemd 0 +%global ovirt_install_systemv 1 +%global commons_collections commons-collections +%global dom4j dom4j +%endif + +%global product_name Data warehouse package for oVirt Virtualization Suite +%global product_description oVirt virtualization manager data warehouse +%global engine_gid 108 +%global engine_group ovirt +%global engine_uid 108 +%global engine_user ovirt +%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 make_common_opts \\\ + -j1 \\\ + BUILD_VALIDATION=0 \\\ + PACKAGE_NAME=%{name} \\\ + RPM_VERSION=%{version} \\\ + RPM_RELEASE=%{release} \\\ + LOCALSTATE_DIR=%{_localstatedir} \\\ + PREFIX=%{_prefix} \\\ + SYSCONF_DIR=%{_sysconfdir} \\\ + BIN_DIR=%{_bindir} \\\ + DATAROOT_DIR=%{_datadir} \\\ + MAN_DIR=%{_mandir} \\\ + DOC_DIR=%{_docdir} \\\ + PYTHON=%{__python3} \\\ + PYTHON_DIR=%{python3_sitelib} \\\ + JAVA_DIR=%{_javadir} \\\ + PKG_USER=%{engine_user} \\\ + PKG_GROUP=%{engine_group} \\\ + %{?EXTRA_BUILD_FLAGS:EXTRA_BUILD_FLAGS="%{EXTRA_BUILD_FLAGS}"} + +Name: ovirt-engine-dwh +Version: 4.4.7.3 +Release: 1%{?release_suffix}%{?dist} +License: LGPLv2 and ASL 2.0 +Summary: %{product_name} +Group: Virtualization/Management +URL: http://www.ovirt.org +BuildArch: noarch +Source: http://resources.ovirt.org/pub/src/ovirt-engine-dwh/ovirt-engine-dwh-4.4.7.3.tar.gz + +BuildRequires: java-1.8.0-openjdk-devel +BuildRequires: %{commons_collections} +BuildRequires: %{dom4j} +BuildRequires: ant +BuildRequires: jpackage-utils +BuildRequires: javapackages-tools +BuildRequires: make + +BuildRequires: python3 +BuildRequires: python3-devel + +%if %{ovirt_install_systemd} +BuildRequires: systemd +%endif + +Requires: %{commons_collections} +Requires: %{dom4j} +Requires: %{name}-setup >= %{version}-%{release} +Requires: %{name}-grafana-integration-setup >= %{version}-%{release} +Requires: java-11-openjdk-headless +Requires: jpackage-utils +Requires: javapackages-tools +Requires: logrotate +Requires: postgresql-jdbc + +Requires: postgresql-server >= 12.0 +Requires: postgresql-contrib >= 12.0 + +%description +The %{product_description} package provides +the ETL process and DB scripts to create a historic database API. +Enables SQL BI reports creation for management and monitoring. + +%if %{ovirt_install_systemd} +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%endif + +%package setup +Summary: %{product_name} setup +Group: Virtualization/Management +Requires: ovirt-engine-setup-plugin-ovirt-engine-common >= 4.4.0 +Requires: %{name}-grafana-integration-setup = %{version}-%{release} +BuildRequires: python3 +BuildRequires: python3-devel +Requires: python%{python3_pkgversion}-ovirt-setup-lib +Requires: %{name} >= 3.6.0 + +Requires: postgresql-server >= 12.0 +Requires: postgresql-contrib >= 12.0 + +%description setup +%{product_description} setup package. + +%package grafana-integration-setup +Summary: %{product_name} Grafana integration setup +Group: Virtualization/Management +Requires: ovirt-engine-setup-plugin-ovirt-engine-common >= 4.4.7 +Requires: %{name}-setup = %{version}-%{release} +Requires: grafana >= 7.3 +Requires: grafana-postgres >= 7.3 +Requires: httpd +Requires: mod_ssl +BuildRequires: python3 +BuildRequires: python3-devel +Requires: python3-ovirt-setup-lib +Requires: python3-jinja2 + +Requires: postgresql-server >= 12.0 +Requires: postgresql-contrib >= 12.0 + +%description grafana-integration-setup +%{product_description} Grafana integration setup package. + +%prep +javac -version +echo %{_javadir} +echo $JAVA_HOME +echo $JRE_HOME +echo $CLASSPATH +echo $PATH +export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.11.9-6.oe1.aarch64 +export JRE_HOME=/usr/lib/jvm/jre-11-openjdk-11.0.11.9-6.oe1.aarch64 +export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH +export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH +javac -version +echo $JAVA_HOME +echo $JRE_HOME +echo $CLASSPATH +echo $PATH +%setup -c -q + +%build +make %{make_common_opts} + +%install +rm -fr "%{buildroot}" + +make %{make_common_opts} install DESTDIR=%{buildroot} + +%py_byte_compile %{__python3} %{buildroot}/%{_datadir}/* + +# +# /var creation +# +install -dm 755 "%{buildroot}/%{_localstatedir}/lib/ovirt-engine-dwh" +install -dm 700 "%{buildroot}/%{_localstatedir}/log/ovirt-engine-dwh" + +# +# Move jars to destribution location +# +install -dm 755 "%{buildroot}%{_javadir}/ovirt-engine-dwh" +while read lib_path; do + java_path="%{_javadir}/ovirt-engine-dwh/$(basename "${lib_path}")" + mv "%{buildroot}/${lib_path}" "%{buildroot}/${java_path}" + ln -s "${java_path}" "%{buildroot}${lib_path}" +done << __EOF__ +%{_datadir}/ovirt-engine-dwh/lib/advancedPersistentLookupLib.jar +%{_datadir}/ovirt-engine-dwh/lib/etltermination.jar +%{_datadir}/ovirt-engine-dwh/lib/historyETL.jar +%{_datadir}/ovirt-engine-dwh/lib/routines.jar +__EOF__ + +# Needed for compatibility if package is different than the directory structure +%if "%{name}" != "ovirt-engine-dwh" +ln -s "ovirt-engine-dwh" "%{buildroot}%{_javadir}/ovirt-engine-dwh/../%{name}" +%endif + +# +# Register services +# +%if %{ovirt_install_systemd} +install -dm 755 "%{buildroot}%{_unitdir}" +cp "%{buildroot}%{_datadir}/ovirt-engine-dwh/services/ovirt-engine-dwhd/ovirt-engine-dwhd.systemd" "%{buildroot}%{_unitdir}/ovirt-engine-dwhd.service" +%endif + +%if %{ovirt_install_systemv} +install -dm 755 "%{buildroot}%{_sysconfdir}/cron.hourly" +cp "%{buildroot}%{_datadir}/ovirt-engine-dwh/services/ovirt-engine-dwhd/ovirt_engine_dwh_watchdog.cron" "%{buildroot}%{_sysconfdir}/cron.hourly" +install -dm 755 "%{buildroot}%{_initddir}" +cp "%{buildroot}%{_datadir}/ovirt-engine-dwh/services/ovirt-engine-dwhd/ovirt-engine-dwhd.sysv" "%{buildroot}%{_initddir}/ovirt-engine-dwhd" +%endif + +# backward compatibly (pre-3.4.0) +# perserve old configuration +install -d "%{buildroot}%{_sysconfdir}/ovirt-engine/ovirt-engine-dwh" +touch "%{buildroot}%{_sysconfdir}/ovirt-engine/ovirt-engine-dwh/Default.properties" + +# +# Package customization +# + +%pre +%ovirt_create_user_engine + +%post +%if %{ovirt_install_systemv} +chkconfig --add ovirt-engine-dwhd +%endif +%if %{ovirt_install_systemd} +%systemd_post ovirt-engine-dwhd.service +%endif + +%preun +%if %{ovirt_install_systemv} +if [ "$1" -eq 0 ]; then + service ovirt-engine-dwhd stop > /dev/null 2>&1 || true + chkconfig --del ovirt-engine-dwhd +fi +%endif +%if %{ovirt_install_systemd} +%systemd_preun ovirt-engine-dwhd.service +%endif + +%postun +%if %{ovirt_install_systemd} +%systemd_postun ovirt-engine-dwhd.service +%endif + +%files + +%ghost %config(noreplace) %{_sysconfdir}/ovirt-engine/ovirt-engine-dwh/Default.properties +%config(noreplace) %{_sysconfdir}/logrotate.d/ovirt-engine-dwhd +%dir %attr(-, %{engine_user}, %{engine_group}) %{_localstatedir}/lib/ovirt-engine-dwh/ +%dir %attr(-, %{engine_user}, %{engine_group}) %{_localstatedir}/log/ovirt-engine-dwh/ +%dir %{_sysconfdir}/ovirt-engine-dwh +%{_bindir}/dwh-vacuum +%{_datadir}/ovirt-engine-dwh/ +%{_datadir}/ovirt-engine-dwh/bin/dwh-prolog.sh +%{_datadir}/ovirt-engine-dwh/bin/dwh-vacuum.sh +%{_datadir}/ovirt-engine-dwh/bin/generate-pgpass.sh +%{_javadir}/ovirt-engine-dwh/ +%{_sysconfdir}/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/ +%{_localstatedir}/lib/ovirt-engine-dwh/backups/ + +%if "%{name}" != "ovirt-engine-dwh" +%{_javadir}/%{name} +%endif + +%if %{ovirt_install_systemd} +%{_unitdir}/ovirt-engine-dwhd.service +%endif +%if %{ovirt_install_systemv} +%config %{_sysconfdir}/cron.hourly/ovirt_engine_dwh_watchdog.cron +%{_initddir}/ovirt-engine-dwhd +%endif + +%files setup +%{_datadir}/ovirt-engine/setup/ovirt_engine_setup/dwh/ +%{_datadir}/ovirt-engine/setup/plugins/*/ovirt-engine-dwh/ + +%files grafana-integration-setup +%{_datadir}/ovirt-engine/setup/ovirt_engine_setup/grafana_dwh/ +%{_datadir}/ovirt-engine/setup/plugins/*/ovirt-engine-grafana-dwh/ +%{_sysconfdir}/grafana/conf/ + +%changelog +* Thu Sep 9 2021 shenhongyi - 4.4.7.3-1 +- Package init