Compiling oVirt Software Packages
- Store the following compiled software packages in the /root/ovirt_rpm directory, which can be directly used as local sources.
- The compilation takes a long time. Therefore, you can back up the /root/ovirt_rpm directory after the compilation is complete and skip the compilation in subsequent deployments.
- The compilation dependencies of some packages are updated in the local source in real time. If a dependency fails to be installed and a message is displayed indicating that the package is not found, run the following command to update the Yum cache and reinstall it.
1yum makecache
- Cancel environment variables to accelerate RPM package compilation.
1unset GOMP_CPU_AFFINITY
- Create a Maven cache directory.
1mkdir ~/.m2 - Add the Maven source.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
echo " <?xmlversion=\"1.0\"?> <settings xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd\"> <mirrors> <mirror> <id>huaweicloud</id> <name>huawei cloud repo</name> <url>https://mirrors.huaweicloud.com/repository/maven/</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors> </settings>" > /root/.m2/settings.xml
If a proxy is required for Internet access, add the <proxies> tag under the <settings> tag:
<proxies> <proxy> <active>true</active> <protocol>http</protocol> <username>Proxy_username</username> <password>Proxy_password</password> <host>Proxy_address</host> <port>Proxy_port</port> </proxy> <proxy> <active>true</active> <protocol>https</protocol> <username>Proxy_username</username> <password>Proxy_password</password> <host>Proxy_address</host> <port>Proxy_port</port> </proxy> </proxies> - Create a cache directory.
1 2 3 4
mkdir /root/ovirt_build mkdir /root/ovirt_rpm mkdir -p /root/rpmbuild/SOURCES cd /root/ovirt_build
- Install the base software.
1yum install tar git vim rpm-build createrepo_c java-11-openjdk -y
- Compile ovirt-jboss-modules-maven-plugin.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# Download the source code. git clone https://gitee.com/src-openeuler/ovirt-jboss-modules-maven-plugin.git -b openEuler-20.03-LTS-SP1 # Copy the source code to the build directory. cp ovirt-jboss-modules-maven-plugin/* ~/rpmbuild/SOURCES # Install the dependency. yum-builddep -y ovirt-jboss-modules-maven-plugin/ovirt-jboss-modules-maven-plugin.spec # Build the RPM package. rpmbuild -bb ovirt-jboss-modules-maven-plugin/ovirt-jboss-modules-maven-plugin.spec # Copy the built files to the cache directory. cp /root/rpmbuild/RPMS/noarch/ovirt-jboss-modules-maven-plugin-2.0.2-*.noarch.rpm ../ovirt_rpm # Clear build residues. rm -f ~/rpmbuild/SOURCES/* # Refresh the local source content. createrepo_c ../ovirt_rpm yum-config-manager --enable ovirt-local yum makecache
- Compile oVirt-engine.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
git clone https://gitee.com/src-openeuler/ovirt-engine.git -b openEuler-20.03-LTS-SP1 cp ovirt-engine/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-engine/ovirt-engine.spec rpmbuild -bb ovirt-engine/ovirt-engine.spec cp /root/rpmbuild/RPMS/noarch/ovirt-engine-vmconsole-proxy-helper-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-setup-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-health-check-bundler-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-websocket-proxy-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-tools-backup-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-setup-plugin-imageio-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-setup-plugin-vmconsole-proxy-helper-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/python3-ovirt-engine-lib-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-setup-plugin-websocket-proxy-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-setup-plugin-cinderlib-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-setup-base-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-setup-plugin-ovirt-engine-common-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-tools-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-setup-plugin-ovirt-engine-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-dbscripts-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-restapi-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-backend-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-4.4.4.1-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-engine-webadmin-portal-4.4.4.1-*.noarch.rpm ../ovirt_rpm rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile ovirt-ansible-collection.
1 2 3 4 5 6 7
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-ansible-collection.git cp ovirt-ansible-collection/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-ansible-collection/ovirt-ansible-collection.spec rpmbuild -bb ovirt-ansible-collection/ovirt-ansible-collection.spec cp /root/rpmbuild/RPMS/noarch/ovirt-ansible-collection-1.5.3-*.noarch.rpm ../ovirt_rpm/ rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile ovirt-dependencies.
1 2 3 4 5 6 7
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-dependencies.git cp ovirt-dependencies/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-dependencies/ovirt-dependencies.spec rpmbuild -bb ovirt-dependencies/ovirt-dependencies.spec cp /root/rpmbuild/RPMS/noarch/ovirt-dependencies-4.4.2-*.noarch.rpm ../ovirt_rpm/ rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile ovirt-engine-nodejs-modules.
1 2 3 4 5 6 7 8
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-engine-nodejs-modules.git cp ovirt-engine-nodejs-modules/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-engine-nodejs-modules/ovirt-engine-nodejs-modules.spec rpmbuild -bb ovirt-engine-nodejs-modules/ovirt-engine-nodejs-modules.spec cp /root/rpmbuild/RPMS/noarch/ovirt-engine-nodejs-modules-2.0.53-*.noarch.rpm ../ovirt_rpm/ rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm yum makecache
- Compile ovirt-engine-ui-extensions.
1 2 3 4 5 6 7
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-engine-ui-extensions.git cp ovirt-engine-ui-extensions/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-engine-ui-extensions/ovirt-engine-ui-extensions.spec rpmbuild -bb ovirt-engine-ui-extensions/ovirt-engine-ui-extensions.spec cp /root/rpmbuild/RPMS/noarch/ovirt-engine-ui-extensions-1.2.6-*.noarch.rpm ../ovirt_rpm rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile ovirt-engine-wildfly.
1 2 3 4 5 6 7
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-engine-wildfly.git cp ovirt-engine-wildfly/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-engine-wildfly/ovirt-engine-wildfly.spec rpmbuild -bb ovirt-engine-wildfly/ovirt-engine-wildfly.spec cp /root/rpmbuild/RPMS/aarch64/ovirt-engine-wildfly-19.1.0-*.aarch64.rpm ../ovirt_rpm rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile ovirt-engine-wildfly-overlay.
1 2 3 4 5 6 7
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-engine-wildfly-overlay.git cp ovirt-engine-wildfly-overlay/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-engine-wildfly-overlay/ovirt-engine-wildfly-overlay.spec rpmbuild -bb ovirt-engine-wildfly-overlay/ovirt-engine-wildfly-overlay.spec cp /root/rpmbuild/RPMS/noarch/ovirt-engine-wildfly-overlay-19.1.0-*.noarch.rpm ../ovirt_rpm rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile ovirt-imageio.
1 2 3 4 5 6 7 8 9
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-imageio.git cp ovirt-imageio/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-imageio/ovirt-imageio.spec rpmbuild -bb ovirt-imageio/ovirt-imageio.spec cp /root/rpmbuild/RPMS/aarch64/ovirt-imageio-daemon-2.1.1-*.aarch64.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/aarch64/ovirt-imageio-client-2.1.1-*.aarch64.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/aarch64/ovirt-imageio-common-2.1.1-*.aarch64.rpm ../ovirt_rpm rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile ovirt-provider-ovn.
1 2 3 4 5 6 7 8
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-provider-ovn.git cp ovirt-provider-ovn/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-provider-ovn/ovirt-provider-ovn.spec rpmbuild -bb ovirt-provider-ovn/ovirt-provider-ovn.spec cp /root/rpmbuild/RPMS/noarch/ovirt-provider-ovn-driver-1.2.29-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/ovirt-provider-ovn-1.2.29-*.noarch.rpm ../ovirt_rpm rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile ovirt-cockpit-sso.
1 2 3 4 5 6 7
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-cockpit-sso.git cp ovirt-cockpit-sso/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-cockpit-sso/ovirt-cockpit-sso.spec rpmbuild -bb ovirt-cockpit-sso/ovirt-cockpit-sso.spec cp /root/rpmbuild/RPMS/noarch/ovirt-cockpit-sso-0.1.4-*.noarch.rpm ../ovirt_rpm/ rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile ovirt-engine-metrics.
1 2 3 4 5 6 7
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-engine-metrics.git cp ovirt-engine-metrics/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-engine-metrics/ovirt-engine-metrics.spec rpmbuild -bb ovirt-engine-metrics/ovirt-engine-metrics.spec cp /root/rpmbuild/RPMS/noarch/ovirt-engine-metrics-1.3.6.4-*.noarch.rpm ../ovirt_rpm/ rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile ovirt-engine-dwh.
1 2 3 4 5 6 7 8 9
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-engine-dwh.git cp ovirt-engine-dwh/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-engine-dwh/ovirt-engine-dwh.spec rpmbuild -bb ovirt-engine-dwh/ovirt-engine-dwh.spec cp /root/rpmbuild/RPMS/noarch/ovirt-engine-dwh-grafana-integration-setup-4.4.4.1-*.noarch.rpm ../ovirt_rpm/ cp /root/rpmbuild/RPMS/noarch/ovirt-engine-dwh-setup-4.4.4.1-*.noarch.rpm ../ovirt_rpm/ cp /root/rpmbuild/RPMS/noarch/ovirt-engine-dwh-4.4.4.1-*.noarch.rpm ../ovirt_rpm/ rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile collectd.
1 2 3 4 5 6 7 8 9
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/collectd.git cp collectd/* ~/rpmbuild/SOURCES yum-builddep -y collectd/collectd.spec rpmbuild -bb collectd/collectd.spec --nocheck cp /root/rpmbuild/RPMS/aarch64/collectd-*.rpm ../ovirt_rpm/ cp /root/rpmbuild/RPMS/aarch64/libcollectdclient-*.rpm ../ovirt_rpm/ cp /root/rpmbuild/RPMS/aarch64/perl-Collectd-*.rpm ../ovirt_rpm/ rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile oVirt-host.
1 2 3 4 5 6 7 8
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-host.git cp ovirt-host/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-host/ovirt-host.spec rpmbuild -bb ovirt-host/ovirt-host.spec cp /root/rpmbuild/RPMS/aarch64/ovirt-host-dependencies-4.4.1-*.aarch64.rpm ../ovirt_rpm/ cp /root/rpmbuild/RPMS/aarch64/ovirt-host-4.4.1-*.aarch64.rpm ../ovirt_rpm/ rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile cockpit-ovirt.
1 2 3 4 5 6 7
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/cockpit-ovirt.git cp cockpit-ovirt/* ~/rpmbuild/SOURCES yum-builddep -y cockpit-ovirt/cockpit-ovirt.spec rpmbuild -bb cockpit-ovirt/cockpit-ovirt.spec cp /root/rpmbuild/RPMS/noarch/cockpit-ovirt-dashboard-0.15.0-*.noarch.rpm ../ovirt_rpm rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile FreeIPA.
1 2 3 4 5 6 7 8 9 10 11 12 13 14
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/freeipa.git cp freeipa/* ~/rpmbuild/SOURCES yum-builddep -y freeipa/freeipa.spec --nobest rpmbuild -bb freeipa/freeipa.spec cp /root/rpmbuild/RPMS/noarch/freeipa-python-compat-4.9.3-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/aarch64/freeipa-client-samba-4.9.3-*.aarch64.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/freeipa-client-common-4.9.3-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/aarch64/freeipa-client-epn-4.9.3-*.aarch64.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/aarch64/freeipa-client-4.9.3-*.aarch64.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/python3-ipalib-4.9.3-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/python3-ipaclient-4.9.3-*.noarch.rpm ../ovirt_rpm cp /root/rpmbuild/RPMS/noarch/freeipa-common-4.9.3-*.noarch.rpm ../ovirt_rpm rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile ovirt-hosted-engine-setup.
1 2 3 4 5 6 7
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-hosted-engine-setup.git cp ovirt-hosted-engine-setup/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-hosted-engine-setup/ovirt-hosted-engine-setup.spec rpmbuild -bb ovirt-hosted-engine-setup/ovirt-hosted-engine-setup.spec cp /root/rpmbuild/RPMS/noarch/ovirt-hosted-engine-setup-2.5.0-*.noarch.rpm ../ovirt_rpm rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile certmonger.
1 2 3 4 5 6 7
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/certmonger.git cp certmonger/* ~/rpmbuild/SOURCES yum-builddep -y certmonger/certmonger.spec rpmbuild -bb certmonger/certmonger.spec --nocheck cp /root/rpmbuild/RPMS/aarch64/certmonger-0.79.11-*.aarch64.rpm ../ovirt_rpm rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile vdsm-jsonrpc-java.
1 2 3 4 5 6 7
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/vdsm-jsonrpc-java.git cp vdsm-jsonrpc-java/* ~/rpmbuild/SOURCES yum-builddep -y vdsm-jsonrpc-java/vdsm-jsonrpc-java.spec rpmbuild -bb vdsm-jsonrpc-java/vdsm-jsonrpc-java.spec cp /root/rpmbuild/RPMS/noarch/vdsm-jsonrpc-java-1.5.5-*.noarch.rpm ../ovirt_rpm rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Compile VDSM.
1 2 3 4 5 6 7 8 9
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/vdsm.git cp vdsm/* ~/rpmbuild/SOURCES yum-builddep -y vdsm/vdsm.spec rpmbuild -bb vdsm/vdsm.spec cp -f /root/rpmbuild/RPMS/noarch/vdsm-*.rpm ../ovirt_rpm cp -f /root/rpmbuild/RPMS/aarch64/vdsm-*.rpm ../ovirt_rpm rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm yum makecache
- Compile ovirt-hosted-engine-ha.
1 2 3 4 5 6 7
git clone -b openEuler-20.03-LTS-SP1 https://gitee.com/src-openeuler/ovirt-hosted-engine-ha.git cp ovirt-hosted-engine-ha/* ~/rpmbuild/SOURCES yum-builddep -y ovirt-hosted-engine-ha/ovirt-hosted-engine-ha.spec rpmbuild -bb ovirt-hosted-engine-ha/ovirt-hosted-engine-ha.spec cp /root/rpmbuild/RPMS/noarch/ovirt-hosted-engine-ha-2.4.5-*.noarch.rpm ../ovirt_rpm rm -f ~/rpmbuild/SOURCES/* createrepo_c ../ovirt_rpm
- Copy the oVirt software package to all nodes where oVirt is deployed.
Copy the /root/ovirt_rpm directory to the /root directory on all nodes where oVirt is deployed.
Run the following commands on all nodes where oVirt is deployed to clear the cache and re-create a cache:1 2
yum-config-manager --enable ovirt-local yum clean all && yum makecache